Commit d8f64797 authored by Stephen Warren's avatar Stephen Warren

ARM: tegra: add missing clock documentation to DT bindings

Many of the Tegra DT binding documents say nothing about the clocks or
clock-names properties, yet those are present and required in DT files.
This patch simply updates the documentation file to match the implicit
definition of the binding, based on real-world DT content.

All Tegra bindings that mention clocks are updated to have consistent
wording and formatting of the clock-related properties.
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Acked-By: default avatarTerje Bergstrom <tbergstrom@nvidia.com>
parent e9827d9b
...@@ -9,6 +9,7 @@ Required properties: ...@@ -9,6 +9,7 @@ Required properties:
- compatible : Should contain "nvidia,tegra<chip>-pmc". - compatible : Should contain "nvidia,tegra<chip>-pmc".
- reg : Offset and length of the register set for the device - reg : Offset and length of the register set for the device
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
"pclk" (The Tegra clock of that name), "pclk" (The Tegra clock of that name),
"clk32k_in" (The 32KHz clock input to Tegra). "clk32k_in" (The 32KHz clock input to Tegra).
......
...@@ -5,6 +5,8 @@ Required properties: ...@@ -5,6 +5,8 @@ Required properties:
- reg: Should contain DMA registers location and length. This shuld include - reg: Should contain DMA registers location and length. This shuld include
all of the per-channel registers. all of the per-channel registers.
- interrupts: Should contain all of the per-channel DMA interrupts. - interrupts: Should contain all of the per-channel DMA interrupts.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Examples: Examples:
...@@ -27,4 +29,5 @@ apbdma: dma@6000a000 { ...@@ -27,4 +29,5 @@ apbdma: dma@6000a000 {
0 149 0x04 0 149 0x04
0 150 0x04 0 150 0x04
0 151 0x04 >; 0 151 0x04 >;
clocks = <&tegra_car 34>;
}; };
...@@ -9,6 +9,8 @@ Required properties: ...@@ -9,6 +9,8 @@ Required properties:
- #size-cells: The number of cells used to represent the size of an address - #size-cells: The number of cells used to represent the size of an address
range in the host1x address space. Should be 1. range in the host1x address space. Should be 1.
- ranges: The mapping of the host1x address space to the CPU address space. - ranges: The mapping of the host1x address space to the CPU address space.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
The host1x top-level node defines a number of children, each representing one The host1x top-level node defines a number of children, each representing one
of the following host1x client modules: of the following host1x client modules:
...@@ -19,6 +21,8 @@ of the following host1x client modules: ...@@ -19,6 +21,8 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-mpe" - compatible: "nvidia,tegra<chip>-mpe"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- vi: video input - vi: video input
...@@ -26,6 +30,8 @@ of the following host1x client modules: ...@@ -26,6 +30,8 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-vi" - compatible: "nvidia,tegra<chip>-vi"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- epp: encoder pre-processor - epp: encoder pre-processor
...@@ -33,6 +39,8 @@ of the following host1x client modules: ...@@ -33,6 +39,8 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-epp" - compatible: "nvidia,tegra<chip>-epp"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- isp: image signal processor - isp: image signal processor
...@@ -40,6 +48,8 @@ of the following host1x client modules: ...@@ -40,6 +48,8 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-isp" - compatible: "nvidia,tegra<chip>-isp"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- gr2d: 2D graphics engine - gr2d: 2D graphics engine
...@@ -47,12 +57,21 @@ of the following host1x client modules: ...@@ -47,12 +57,21 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-gr2d" - compatible: "nvidia,tegra<chip>-gr2d"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- gr3d: 3D graphics engine - gr3d: 3D graphics engine
Required properties: Required properties:
- compatible: "nvidia,tegra<chip>-gr3d" - compatible: "nvidia,tegra<chip>-gr3d"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- clocks: Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
(This property may be omitted if the only clock in the list is "3d")
- 3d
This MUST be the first entry.
- 3d2 (Only required on SoCs with two 3D clocks)
- dc: display controller - dc: display controller
...@@ -60,6 +79,12 @@ of the following host1x client modules: ...@@ -60,6 +79,12 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-dc" - compatible: "nvidia,tegra<chip>-dc"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
- dc
This MUST be the first entry.
- parent
Each display controller node has a child node, named "rgb", that represents Each display controller node has a child node, named "rgb", that represents
the RGB output associated with the controller. It can take the following the RGB output associated with the controller. It can take the following
...@@ -76,6 +101,12 @@ of the following host1x client modules: ...@@ -76,6 +101,12 @@ of the following host1x client modules:
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- vdd-supply: regulator for supply voltage - vdd-supply: regulator for supply voltage
- pll-supply: regulator for PLL - pll-supply: regulator for PLL
- clocks: Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
- hdmi
This MUST be the first entry.
- parent
Optional properties: Optional properties:
- nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
...@@ -88,12 +119,20 @@ of the following host1x client modules: ...@@ -88,12 +119,20 @@ of the following host1x client modules:
- compatible: "nvidia,tegra<chip>-tvo" - compatible: "nvidia,tegra<chip>-tvo"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller. - interrupts: The interrupt outputs from the controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- dsi: display serial interface - dsi: display serial interface
Required properties: Required properties:
- compatible: "nvidia,tegra<chip>-dsi" - compatible: "nvidia,tegra<chip>-dsi"
- reg: Physical base address and length of the controller's registers. - reg: Physical base address and length of the controller's registers.
- clocks: Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
- dsi
This MUST be the first entry.
- parent
Example: Example:
...@@ -105,6 +144,7 @@ Example: ...@@ -105,6 +144,7 @@ Example:
reg = <0x50000000 0x00024000>; reg = <0x50000000 0x00024000>;
interrupts = <0 65 0x04 /* mpcore syncpt */ interrupts = <0 65 0x04 /* mpcore syncpt */
0 67 0x04>; /* mpcore general */ 0 67 0x04>; /* mpcore general */
clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -115,41 +155,50 @@ Example: ...@@ -115,41 +155,50 @@ Example:
compatible = "nvidia,tegra20-mpe"; compatible = "nvidia,tegra20-mpe";
reg = <0x54040000 0x00040000>; reg = <0x54040000 0x00040000>;
interrupts = <0 68 0x04>; interrupts = <0 68 0x04>;
clocks = <&tegra_car TEGRA20_CLK_MPE>;
}; };
vi { vi {
compatible = "nvidia,tegra20-vi"; compatible = "nvidia,tegra20-vi";
reg = <0x54080000 0x00040000>; reg = <0x54080000 0x00040000>;
interrupts = <0 69 0x04>; interrupts = <0 69 0x04>;
clocks = <&tegra_car TEGRA20_CLK_VI>;
}; };
epp { epp {
compatible = "nvidia,tegra20-epp"; compatible = "nvidia,tegra20-epp";
reg = <0x540c0000 0x00040000>; reg = <0x540c0000 0x00040000>;
interrupts = <0 70 0x04>; interrupts = <0 70 0x04>;
clocks = <&tegra_car TEGRA20_CLK_EPP>;
}; };
isp { isp {
compatible = "nvidia,tegra20-isp"; compatible = "nvidia,tegra20-isp";
reg = <0x54100000 0x00040000>; reg = <0x54100000 0x00040000>;
interrupts = <0 71 0x04>; interrupts = <0 71 0x04>;
clocks = <&tegra_car TEGRA20_CLK_ISP>;
}; };
gr2d { gr2d {
compatible = "nvidia,tegra20-gr2d"; compatible = "nvidia,tegra20-gr2d";
reg = <0x54140000 0x00040000>; reg = <0x54140000 0x00040000>;
interrupts = <0 72 0x04>; interrupts = <0 72 0x04>;
clocks = <&tegra_car TEGRA20_CLK_GR2D>;
}; };
gr3d { gr3d {
compatible = "nvidia,tegra20-gr3d"; compatible = "nvidia,tegra20-gr3d";
reg = <0x54180000 0x00040000>; reg = <0x54180000 0x00040000>;
clocks = <&tegra_car TEGRA20_CLK_GR3D>;
}; };
dc@54200000 { dc@54200000 {
compatible = "nvidia,tegra20-dc"; compatible = "nvidia,tegra20-dc";
reg = <0x54200000 0x00040000>; reg = <0x54200000 0x00040000>;
interrupts = <0 73 0x04>; interrupts = <0 73 0x04>;
clocks = <&tegra_car TEGRA20_CLK_DISP1>,
<&tegra_car TEGRA20_CLK_PLL_P>;
clock-names = "disp1", "parent";
rgb { rgb {
status = "disabled"; status = "disabled";
...@@ -160,6 +209,9 @@ Example: ...@@ -160,6 +209,9 @@ Example:
compatible = "nvidia,tegra20-dc"; compatible = "nvidia,tegra20-dc";
reg = <0x54240000 0x00040000>; reg = <0x54240000 0x00040000>;
interrupts = <0 74 0x04>; interrupts = <0 74 0x04>;
clocks = <&tegra_car TEGRA20_CLK_DISP2>,
<&tegra_car TEGRA20_CLK_PLL_P>;
clock-names = "disp2", "parent";
rgb { rgb {
status = "disabled"; status = "disabled";
...@@ -170,6 +222,9 @@ Example: ...@@ -170,6 +222,9 @@ Example:
compatible = "nvidia,tegra20-hdmi"; compatible = "nvidia,tegra20-hdmi";
reg = <0x54280000 0x00040000>; reg = <0x54280000 0x00040000>;
interrupts = <0 75 0x04>; interrupts = <0 75 0x04>;
clocks = <&tegra_car TEGRA20_CLK_HDMI>,
<&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
clock-names = "hdmi", "parent";
status = "disabled"; status = "disabled";
}; };
...@@ -177,12 +232,16 @@ Example: ...@@ -177,12 +232,16 @@ Example:
compatible = "nvidia,tegra20-tvo"; compatible = "nvidia,tegra20-tvo";
reg = <0x542c0000 0x00040000>; reg = <0x542c0000 0x00040000>;
interrupts = <0 76 0x04>; interrupts = <0 76 0x04>;
clocks = <&tegra_car TEGRA20_CLK_TVO>;
status = "disabled"; status = "disabled";
}; };
dsi { dsi {
compatible = "nvidia,tegra20-dsi"; compatible = "nvidia,tegra20-dsi";
reg = <0x54300000 0x00040000>; reg = <0x54300000 0x00040000>;
clocks = <&tegra_car TEGRA20_CLK_DSI>,
<&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
clock-names = "dsi", "parent";
status = "disabled"; status = "disabled";
}; };
}; };
......
...@@ -39,12 +39,14 @@ Required properties: ...@@ -39,12 +39,14 @@ Required properties:
- interrupts: Should contain I2C controller interrupts. - interrupts: Should contain I2C controller interrupts.
- address-cells: Address cells for I2C device address. - address-cells: Address cells for I2C device address.
- size-cells: Size of the I2C device address. - size-cells: Size of the I2C device address.
- clocks: Clock ID as per - clocks: Must contain an entry for each entry in clock-names.
Documentation/devicetree/bindings/clock/tegra<chip-id>.txt See ../clocks/clock-bindings.txt for details.
for I2C controller. - clock-names: Must include the following entries:
- clock-names: Name of the clock: Tegra20/Tegra30:
Tegra20/Tegra30 I2C controller: "div-clk and "fast-clk". - div-clk
Tegra114 I2C controller: "div-clk". - fast-clk
Tegra114:
- div-clk
Example: Example:
......
...@@ -13,6 +13,8 @@ Required properties: ...@@ -13,6 +13,8 @@ Required properties:
array of pin numbers which is used as column. array of pin numbers which is used as column.
- linux,keymap: The keymap for keys as described in the binding document - linux,keymap: The keymap for keys as described in the binding document
devicetree/bindings/input/matrix-keymap.txt. devicetree/bindings/input/matrix-keymap.txt.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Optional properties, in addition to those specified by the shared Optional properties, in addition to those specified by the shared
matrix-keyboard bindings: matrix-keyboard bindings:
...@@ -31,6 +33,7 @@ keyboard: keyboard { ...@@ -31,6 +33,7 @@ keyboard: keyboard {
compatible = "nvidia,tegra20-kbc"; compatible = "nvidia,tegra20-kbc";
reg = <0x7000e200 0x100>; reg = <0x7000e200 0x100>;
interrupts = <0 85 0x04>; interrupts = <0 85 0x04>;
clocks = <&tegra_car 36>;
nvidia,ghost-filter; nvidia,ghost-filter;
nvidia,debounce-delay-ms = <640>; nvidia,debounce-delay-ms = <640>;
nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */ nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */
......
...@@ -8,6 +8,8 @@ by mmc.txt and the properties used by the sdhci-tegra driver. ...@@ -8,6 +8,8 @@ by mmc.txt and the properties used by the sdhci-tegra driver.
Required properties: Required properties:
- compatible : Should be "nvidia,<chip>-sdhci" - compatible : Should be "nvidia,<chip>-sdhci"
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Optional properties: Optional properties:
- power-gpios : Specify GPIOs for power control - power-gpios : Specify GPIOs for power control
...@@ -18,6 +20,7 @@ sdhci@c8000200 { ...@@ -18,6 +20,7 @@ sdhci@c8000200 {
compatible = "nvidia,tegra20-sdhci"; compatible = "nvidia,tegra20-sdhci";
reg = <0xc8000200 0x200>; reg = <0xc8000200 0x200>;
interrupts = <47>; interrupts = <47>;
clocks = <&tegra_car 14>;
cd-gpios = <&gpio 69 0>; /* gpio PI5 */ cd-gpios = <&gpio 69 0>; /* gpio PI5 */
wp-gpios = <&gpio 57 0>; /* gpio PH1 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
power-gpios = <&gpio 155 0>; /* gpio PT3 */ power-gpios = <&gpio 155 0>; /* gpio PT3 */
......
...@@ -7,3 +7,11 @@ Required properties: ...@@ -7,3 +7,11 @@ Required properties:
- clock-frequency : the frequency of the i2c bus - clock-frequency : the frequency of the i2c bus
- gpios : the gpio used for ec request - gpios : the gpio used for ec request
- slave-addr: the i2c address of the slave controller - slave-addr: the i2c address of the slave controller
- clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries:
Tegra20/Tegra30:
- div-clk
- fast-clk
Tegra114:
- div-clk
...@@ -42,14 +42,14 @@ Required properties: ...@@ -42,14 +42,14 @@ Required properties:
- 0xc2000000: prefetchable memory region - 0xc2000000: prefetchable memory region
Please refer to the standard PCI bus binding document for a more detailed Please refer to the standard PCI bus binding document for a more detailed
explanation. explanation.
- clocks: List of clock inputs of the controller. Must contain an entry for - clocks: Must contain an entry for each entry in clock-names.
each entry in the clock-names property. See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries: - clock-names: Must include the following entries:
"pex": The Tegra clock of that name - pex
"afi": The Tegra clock of that name - afi
"pcie_xclk": The Tegra clock of that name - pcie_xclk
"pll_e": The Tegra clock of that name - pll_e
"cml": The Tegra clock of that name (not required for Tegra20) - cml (not required for Tegra20)
Root ports are defined as subnodes of the PCIe controller node. Root ports are defined as subnodes of the PCIe controller node.
......
...@@ -7,6 +7,8 @@ Required properties: ...@@ -7,6 +7,8 @@ Required properties:
- reg: physical base address and length of the controller's registers - reg: physical base address and length of the controller's registers
- #pwm-cells: should be 2. See pwm.txt in this directory for a description of - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
the cells format. the cells format.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Example: Example:
...@@ -14,4 +16,5 @@ Example: ...@@ -14,4 +16,5 @@ Example:
compatible = "nvidia,tegra20-pwm"; compatible = "nvidia,tegra20-pwm";
reg = <0x7000a000 0x100>; reg = <0x7000a000 0x100>;
#pwm-cells = <2>; #pwm-cells = <2>;
clocks = <&tegra_car 17>;
}; };
...@@ -9,6 +9,8 @@ Required properties: ...@@ -9,6 +9,8 @@ Required properties:
- compatible : should be "nvidia,tegra20-rtc". - compatible : should be "nvidia,tegra20-rtc".
- reg : Specifies base physical address and size of the registers. - reg : Specifies base physical address and size of the registers.
- interrupts : A single interrupt specifier. - interrupts : A single interrupt specifier.
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Example: Example:
...@@ -16,4 +18,5 @@ timer { ...@@ -16,4 +18,5 @@ timer {
compatible = "nvidia,tegra20-rtc"; compatible = "nvidia,tegra20-rtc";
reg = <0x7000e000 0x100>; reg = <0x7000e000 0x100>;
interrupts = <0 2 0x04>; interrupts = <0 2 0x04>;
clocks = <&tegra_car 4>;
}; };
...@@ -6,6 +6,8 @@ Required properties: ...@@ -6,6 +6,8 @@ Required properties:
- interrupts: Should contain UART controller interrupts. - interrupts: Should contain UART controller interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this UART controller. request selector for this UART controller.
- clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Optional properties: Optional properties:
- nvidia,enable-modem-interrupt: Enable modem interrupts. Should be enable - nvidia,enable-modem-interrupt: Enable modem interrupts. Should be enable
...@@ -20,5 +22,6 @@ serial@70006000 { ...@@ -20,5 +22,6 @@ serial@70006000 {
interrupts = <0 36 0x04>; interrupts = <0 36 0x04>;
nvidia,dma-request-selector = <&apbdma 8>; nvidia,dma-request-selector = <&apbdma 8>;
nvidia,enable-modem-interrupt; nvidia,enable-modem-interrupt;
clocks = <&tegra_car 6>;
status = "disabled"; status = "disabled";
}; };
...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex ...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex
Required properties: Required properties:
- compatible : "nvidia,tegra-audio-alc5632" - compatible : "nvidia,tegra-audio-alc5632"
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
"pll_a" (The Tegra clock of that name), - pll_a
"pll_a_out0" (The Tegra clock of that name), - pll_a_out0
"mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
- nvidia,model : The user-visible name of this sound complex. - nvidia,model : The user-visible name of this sound complex.
- nvidia,audio-routing : A list of the connections between audio components. - nvidia,audio-routing : A list of the connections between audio components.
Each entry is a pair of strings, the first being the connection's sink, Each entry is a pair of strings, the first being the connection's sink,
......
...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex, with RT5640 CODEC ...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex, with RT5640 CODEC
Required properties: Required properties:
- compatible : "nvidia,tegra-audio-rt5640" - compatible : "nvidia,tegra-audio-rt5640"
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
"pll_a" (The Tegra clock of that name), - pll_a
"pll_a_out0" (The Tegra clock of that name), - pll_a_out0
"mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
- nvidia,model : The user-visible name of this sound complex. - nvidia,model : The user-visible name of this sound complex.
- nvidia,audio-routing : A list of the connections between audio components. - nvidia,audio-routing : A list of the connections between audio components.
Each entry is a pair of strings, the first being the connection's sink, Each entry is a pair of strings, the first being the connection's sink,
......
...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex ...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex
Required properties: Required properties:
- compatible : "nvidia,tegra-audio-wm8753" - compatible : "nvidia,tegra-audio-wm8753"
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
"pll_a" (The Tegra clock of that name), - pll_a
"pll_a_out0" (The Tegra clock of that name), - pll_a_out0
"mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
- nvidia,model : The user-visible name of this sound complex. - nvidia,model : The user-visible name of this sound complex.
- nvidia,audio-routing : A list of the connections between audio components. - nvidia,audio-routing : A list of the connections between audio components.
Each entry is a pair of strings, the first being the connection's sink, Each entry is a pair of strings, the first being the connection's sink,
......
...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex ...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex
Required properties: Required properties:
- compatible : "nvidia,tegra-audio-wm8903" - compatible : "nvidia,tegra-audio-wm8903"
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
"pll_a" (The Tegra clock of that name), - pll_a
"pll_a_out0" (The Tegra clock of that name), - pll_a_out0
"mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
- nvidia,model : The user-visible name of this sound complex. - nvidia,model : The user-visible name of this sound complex.
- nvidia,audio-routing : A list of the connections between audio components. - nvidia,audio-routing : A list of the connections between audio components.
Each entry is a pair of strings, the first being the connection's sink, Each entry is a pair of strings, the first being the connection's sink,
......
...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex ...@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex
Required properties: Required properties:
- compatible : "nvidia,tegra-audio-wm9712" - compatible : "nvidia,tegra-audio-wm9712"
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
"pll_a" (The Tegra clock of that name), - pll_a
"pll_a_out0" (The Tegra clock of that name), - pll_a_out0
"mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
- nvidia,model : The user-visible name of this sound complex. - nvidia,model : The user-visible name of this sound complex.
- nvidia,audio-routing : A list of the connections between audio components. - nvidia,audio-routing : A list of the connections between audio components.
Each entry is a pair of strings, the first being the connection's sink, Each entry is a pair of strings, the first being the connection's sink,
......
...@@ -4,12 +4,15 @@ Required properties: ...@@ -4,12 +4,15 @@ Required properties:
- compatible : "nvidia,tegra20-ac97" - compatible : "nvidia,tegra20-ac97"
- reg : Should contain AC97 controller registers location and length - reg : Should contain AC97 controller registers location and length
- interrupts : Should contain AC97 interrupt - interrupts : Should contain AC97 interrupt
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for the AC97 controller request selector for the AC97 controller
- nvidia,codec-reset-gpio : The Tegra GPIO controller's phandle and the number - nvidia,codec-reset-gpio : The Tegra GPIO controller's phandle and the number
of the GPIO used to reset the external AC97 codec of the GPIO used to reset the external AC97 codec
- nvidia,codec-sync-gpio : The Tegra GPIO controller's phandle and the number - nvidia,codec-sync-gpio : The Tegra GPIO controller's phandle and the number
of the GPIO corresponding with the AC97 DAP _FS line of the GPIO corresponding with the AC97 DAP _FS line
Example: Example:
ac97@70002000 { ac97@70002000 {
...@@ -19,4 +22,5 @@ ac97@70002000 { ...@@ -19,4 +22,5 @@ ac97@70002000 {
nvidia,dma-request-selector = <&apbdma 12>; nvidia,dma-request-selector = <&apbdma 12>;
nvidia,codec-reset-gpio = <&gpio 170 0>; nvidia,codec-reset-gpio = <&gpio 170 0>;
nvidia,codec-sync-gpio = <&gpio 120 0>; nvidia,codec-sync-gpio = <&gpio 120 0>;
clocks = <&tegra_car 3>;
}; };
...@@ -4,6 +4,8 @@ Required properties: ...@@ -4,6 +4,8 @@ Required properties:
- compatible : "nvidia,tegra20-i2s" - compatible : "nvidia,tegra20-i2s"
- reg : Should contain I2S registers location and length - reg : Should contain I2S registers location and length
- interrupts : Should contain I2S interrupt - interrupts : Should contain I2S interrupt
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this I2S controller request selector for this I2S controller
...@@ -14,4 +16,5 @@ i2s@70002800 { ...@@ -14,4 +16,5 @@ i2s@70002800 {
reg = <0x70002800 0x200>; reg = <0x70002800 0x200>;
interrupts = < 45 >; interrupts = < 45 >;
nvidia,dma-request-selector = < &apbdma 2 >; nvidia,dma-request-selector = < &apbdma 2 >;
clocks = <&tegra_car 11>;
}; };
...@@ -12,11 +12,24 @@ Required properties: ...@@ -12,11 +12,24 @@ Required properties:
If a single entry is present, the request selectors for the channels are If a single entry is present, the request selectors for the channels are
assumed to be contiguous, and increment from this value. assumed to be contiguous, and increment from this value.
If multiple values are given, one value must be given per channel. If multiple values are given, one value must be given per channel.
- clocks : Must contain an entry for each required entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
- Tegra30: Requires d_audio, apbif, i2s0, i2s1, i2s2, i2s3, i2s4, dam0, Tegra30 and later:
dam1, dam2, spdif_in. - d_audio
- Tegra114: Additionally requires amx, adx. - apbif
- i2s0
- i2s1
- i2s2
- i2s3
- i2s4
- dam0
- dam1
- dam2
- spdif_in
Tegra114 and later additionally require:
- amx
- adx
- ranges : The bus address mapping for the configlink register bus. - ranges : The bus address mapping for the configlink register bus.
Can be empty since the mapping is 1:1. Can be empty since the mapping is 1:1.
- #address-cells : For the configlink bus. Should be <1>; - #address-cells : For the configlink bus. Should be <1>;
......
...@@ -3,13 +3,16 @@ NVIDIA Tegra30 I2S controller ...@@ -3,13 +3,16 @@ NVIDIA Tegra30 I2S controller
Required properties: Required properties:
- compatible : "nvidia,tegra30-i2s" - compatible : "nvidia,tegra30-i2s"
- reg : Should contain I2S registers location and length - reg : Should contain I2S registers location and length
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback) - nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback)
first, tx (capture) second. See nvidia,tegra30-ahub.txt for values. first, tx (capture) second. See nvidia,tegra30-ahub.txt for values.
Example: Example:
i2s@70002800 { i2s@70080300 {
compatible = "nvidia,tegra30-i2s"; compatible = "nvidia,tegra30-i2s";
reg = <0x70080300 0x100>; reg = <0x70080300 0x100>;
nvidia,ahub-cif-ids = <4 4>; nvidia,ahub-cif-ids = <4 4>;
clocks = <&tegra_car 11>;
}; };
...@@ -6,8 +6,10 @@ Required properties: ...@@ -6,8 +6,10 @@ Required properties:
- interrupts: Should contain SPI interrupts. - interrupts: Should contain SPI interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this SPI controller. request selector for this SPI controller.
- This is also require clock named "spi" as per binding document - clocks : Must contain an entry for each entry in clock-names.
Documentation/devicetree/bindings/clock/clock-bindings.txt See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries:
- spi
Recommended properties: Recommended properties:
- spi-max-frequency: Definition as per - spi-max-frequency: Definition as per
...@@ -22,5 +24,7 @@ spi@7000d600 { ...@@ -22,5 +24,7 @@ spi@7000d600 {
spi-max-frequency = <25000000>; spi-max-frequency = <25000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&tegra_car 44>;
clock-names = "spi";
status = "disabled"; status = "disabled";
}; };
...@@ -6,6 +6,8 @@ Required properties: ...@@ -6,6 +6,8 @@ Required properties:
- interrupts: Should contain SFLASH interrupts. - interrupts: Should contain SFLASH interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this SFLASH controller. request selector for this SFLASH controller.
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Recommended properties: Recommended properties:
- spi-max-frequency: Definition as per - spi-max-frequency: Definition as per
...@@ -21,6 +23,6 @@ spi@7000c380 { ...@@ -21,6 +23,6 @@ spi@7000c380 {
spi-max-frequency = <25000000>; spi-max-frequency = <25000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&tegra_car 43>;
status = "disabled"; status = "disabled";
}; };
...@@ -6,6 +6,8 @@ Required properties: ...@@ -6,6 +6,8 @@ Required properties:
- interrupts: Should contain SLINK interrupts. - interrupts: Should contain SLINK interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this SLINK controller. request selector for this SLINK controller.
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Recommended properties: Recommended properties:
- spi-max-frequency: Definition as per - spi-max-frequency: Definition as per
...@@ -21,6 +23,6 @@ spi@7000d600 { ...@@ -21,6 +23,6 @@ spi@7000d600 {
spi-max-frequency = <25000000>; spi-max-frequency = <25000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&tegra_car 44>;
status = "disabled"; status = "disabled";
}; };
...@@ -8,6 +8,8 @@ Required properties: ...@@ -8,6 +8,8 @@ Required properties:
- compatible : should be "nvidia,tegra20-timer". - compatible : should be "nvidia,tegra20-timer".
- reg : Specifies base physical address and size of the registers. - reg : Specifies base physical address and size of the registers.
- interrupts : A list of 4 interrupts; one per timer channel. - interrupts : A list of 4 interrupts; one per timer channel.
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Example: Example:
...@@ -18,4 +20,5 @@ timer { ...@@ -18,4 +20,5 @@ timer {
0 1 0x04 0 1 0x04
0 41 0x04 0 41 0x04
0 42 0x04>; 0 42 0x04>;
clocks = <&tegra_car 132>;
}; };
...@@ -10,6 +10,8 @@ Required properties: ...@@ -10,6 +10,8 @@ Required properties:
- reg : Specifies base physical address and size of the registers. - reg : Specifies base physical address and size of the registers.
- interrupts : A list of 6 interrupts; one per each of timer channels 1 - interrupts : A list of 6 interrupts; one per each of timer channels 1
through 5, and one for the shared interrupt for the remaining channels. through 5, and one for the shared interrupt for the remaining channels.
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
timer { timer {
compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer"; compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
...@@ -20,4 +22,5 @@ timer { ...@@ -20,4 +22,5 @@ timer {
0 42 0x04 0 42 0x04
0 121 0x04 0 121 0x04
0 122 0x04>; 0 122 0x04>;
clocks = <&tegra_car 214>;
}; };
...@@ -8,7 +8,8 @@ and additions : ...@@ -8,7 +8,8 @@ and additions :
Required properties : Required properties :
- compatible : Should be "nvidia,tegra20-ehci". - compatible : Should be "nvidia,tegra20-ehci".
- nvidia,phy : phandle of the PHY that the controller is connected to. - nvidia,phy : phandle of the PHY that the controller is connected to.
- clocks : Contains a single entry which defines the USB controller's clock. - clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Optional properties: Optional properties:
- nvidia,needs-double-reset : boolean is to be set for some of the Tegra20 - nvidia,needs-double-reset : boolean is to be set for some of the Tegra20
......
...@@ -75,7 +75,7 @@ dc@54200000 { ...@@ -75,7 +75,7 @@ dc@54200000 {
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&tegra_car TEGRA20_CLK_DISP1>, clocks = <&tegra_car TEGRA20_CLK_DISP1>,
<&tegra_car TEGRA20_CLK_PLL_P>; <&tegra_car TEGRA20_CLK_PLL_P>;
clock-names = "disp1", "parent"; clock-names = "dc", "parent";
rgb { rgb {
status = "disabled"; status = "disabled";
...@@ -88,7 +88,7 @@ dc@54240000 { ...@@ -88,7 +88,7 @@ dc@54240000 {
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&tegra_car TEGRA20_CLK_DISP2>, clocks = <&tegra_car TEGRA20_CLK_DISP2>,
<&tegra_car TEGRA20_CLK_PLL_P>; <&tegra_car TEGRA20_CLK_PLL_P>;
clock-names = "disp2", "parent"; clock-names = "dc", "parent";
rgb { rgb {
status = "disabled"; status = "disabled";
......
...@@ -147,7 +147,7 @@ dc@54200000 { ...@@ -147,7 +147,7 @@ dc@54200000 {
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&tegra_car TEGRA30_CLK_DISP1>, clocks = <&tegra_car TEGRA30_CLK_DISP1>,
<&tegra_car TEGRA30_CLK_PLL_P>; <&tegra_car TEGRA30_CLK_PLL_P>;
clock-names = "disp1", "parent"; clock-names = "dc", "parent";
rgb { rgb {
status = "disabled"; status = "disabled";
...@@ -160,7 +160,7 @@ dc@54240000 { ...@@ -160,7 +160,7 @@ dc@54240000 {
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&tegra_car TEGRA30_CLK_DISP2>, clocks = <&tegra_car TEGRA30_CLK_DISP2>,
<&tegra_car TEGRA30_CLK_PLL_P>; <&tegra_car TEGRA30_CLK_PLL_P>;
clock-names = "disp2", "parent"; clock-names = "dc", "parent";
rgb { rgb {
status = "disabled"; status = "disabled";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment