diff options
author | Arnd Bergmann <arnd@arndb.de> | 2013-04-09 11:53:08 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-04-09 11:53:08 -0400 |
commit | 535409d9b37292257e22654e7b5246b913e51985 (patch) | |
tree | ba433752e8ddfe6a79eb4299f343d5ae91600f8b /Documentation/devicetree | |
parent | f8da810cbb823c9781d703319ac4303568008fae (diff) | |
parent | 1071b2df22aa45ffeaf34dfccc889d92586ca645 (diff) |
Merge tag 'tegra-for-3.10-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt2
From Stephen Warren <swarren@wwwdotorg.org>:
ARM: tegra: device tree changes
This branch contains the majority of the device tree changes for Tegra.
Highlights include:
* Many changes for Tegra114, and the Dalmore board, to enable pinctrl,
SDHCI/MMC, PWM, DMA, I2C, KBC, SPI, battery, regulators.
* Adding or enabling suspend wakeup sources on many boards, and adding
suspend timing parameters, to support the system suspend patches.
* Adding clocks to the audio-related nodes, so that in 3.11, the audio
driver can pull these clocks from device tree rather than hard-coding
clock names.
* Some small DT fixes/cleanup.
This branch is based on the previous clk pull request.
* tag 'tegra-for-3.10-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (25 commits)
clk: tegra: Fix cdev1 and cdev2 IDs
ARM: dts: tegra: add the PM configurations of PMC
ARM: tegra: add non-removable and keep-power-in-suspend property for MMC
ARM: tegra: whistler: add wakeup source for KBC
ARM: tegra: add power gpio keys to DT
ARM: tegra: keep power on to SD slot on Dalmore
ARM: tegra: add clocks property to AC'97 sound nodes
ARM: tegra: add clocks property to sound nodes
ARM: tegra: dalmore: add fixed regulator node
ARM: tegra: dalmore: add TPS65090 node
ARM: tegra: dalmore: add cpu regulator node
ARM: tegra: Add sbs-battery node to Dalmore
ARM: tegra: add DT binding for i2c-tegra
ARM: tegra: add SPI nodes to Tegra114 DT
ARM: tegra: add KBC nodes to Tegra114 DT
ARM: tegra: add aliases and DMA requestor for serial nodes of Tegra114
ARM: tegra: add I2C nodes to Tegra114 DT
ARM: tegra: add APB DMA nodes to Tegra114 DT
ARM: tegra: add PWM nodes to Tegra114 DT
ARM: tegra: fix the status of PWM DT nodes
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'Documentation/devicetree')
6 files changed, 99 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt new file mode 100644 index 000000000000..ef77cc7a0e46 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver. | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be: | ||
5 | "nvidia,tegra114-i2c" | ||
6 | "nvidia,tegra30-i2c" | ||
7 | "nvidia,tegra20-i2c" | ||
8 | "nvidia,tegra20-i2c-dvc" | ||
9 | Details of compatible are as follows: | ||
10 | nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C | ||
11 | controller. This only support master mode of I2C communication. Register | ||
12 | interface/offset and interrupts handling are different than generic I2C | ||
13 | controller. Driver of DVC I2C controller is only compatible with | ||
14 | "nvidia,tegra20-i2c-dvc". | ||
15 | nvidia,tegra20-i2c: Tegra20 has 4 generic I2C controller. This can support | ||
16 | master and slave mode of I2C communication. The i2c-tegra driver only | ||
17 | support master mode of I2C communication. Driver of I2C controller is | ||
18 | only compatible with "nvidia,tegra20-i2c". | ||
19 | nvidia,tegra30-i2c: Tegra30 has 5 generic I2C controller. This controller is | ||
20 | very much similar to Tegra20 I2C controller with additional feature: | ||
21 | Continue Transfer Support. This feature helps to implement M_NO_START | ||
22 | as per I2C core API transfer flags. Driver of I2C controller is | ||
23 | compatible with "nvidia,tegra30-i2c" to enable the continue transfer | ||
24 | support. This is also compatible with "nvidia,tegra20-i2c" without | ||
25 | continue transfer support. | ||
26 | nvidia,tegra114-i2c: Tegra114 has 5 generic I2C controller. This controller is | ||
27 | very much similar to Tegra30 I2C controller with some hardware | ||
28 | modification: | ||
29 | - Tegra30/Tegra20 I2C controller has 2 clock source called div-clk and | ||
30 | fast-clk. Tegra114 has only one clock source called as div-clk and | ||
31 | hence clock mechanism is changed in I2C controller. | ||
32 | - Tegra30/Tegra20 I2C controller has enabled per packet transfer by | ||
33 | default and there is no way to disable it. Tegra114 has this | ||
34 | interrupt disable by default and SW need to enable explicitly. | ||
35 | Due to above changes, Tegra114 I2C driver makes incompatible with | ||
36 | previous hardware driver. Hence, tegra114 I2C controller is compatible | ||
37 | with "nvidia,tegra114-i2c". | ||
38 | - reg: Should contain I2C controller registers physical address and length. | ||
39 | - interrupts: Should contain I2C controller interrupts. | ||
40 | - address-cells: Address cells for I2C device address. | ||
41 | - size-cells: Size of the I2C device address. | ||
42 | - clocks: Clock ID as per | ||
43 | Documentation/devicetree/bindings/clock/tegra<chip-id>.txt | ||
44 | for I2C controller. | ||
45 | - clock-names: Name of the clock: | ||
46 | Tegra20/Tegra30 I2C controller: "div-clk and "fast-clk". | ||
47 | Tegra114 I2C controller: "div-clk". | ||
48 | |||
49 | Example: | ||
50 | |||
51 | i2c@7000c000 { | ||
52 | compatible = "nvidia,tegra20-i2c"; | ||
53 | reg = <0x7000c000 0x100>; | ||
54 | interrupts = <0 38 0x04>; | ||
55 | #address-cells = <1>; | ||
56 | #size-cells = <0>; | ||
57 | clocks = <&tegra_car 12>, <&tegra_car 124>; | ||
58 | clock-names = "div-clk", "fast-clk"; | ||
59 | status = "disabled"; | ||
60 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt index b77a97c9101e..05ffecb57103 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt | |||
@@ -2,6 +2,11 @@ NVIDIA Tegra audio complex | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "nvidia,tegra-audio-alc5632" | 4 | - compatible : "nvidia,tegra-audio-alc5632" |
5 | - clocks : Must contain an entry for each entry in clock-names. | ||
6 | - clock-names : Must include the following entries: | ||
7 | "pll_a" (The Tegra clock of that name), | ||
8 | "pll_a_out0" (The Tegra clock of that name), | ||
9 | "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) | ||
5 | - nvidia,model : The user-visible name of this sound complex. | 10 | - nvidia,model : The user-visible name of this sound complex. |
6 | - nvidia,audio-routing : A list of the connections between audio components. | 11 | - nvidia,audio-routing : A list of the connections between audio components. |
7 | Each entry is a pair of strings, the first being the connection's sink, | 12 | Each entry is a pair of strings, the first being the connection's sink, |
@@ -56,4 +61,7 @@ sound { | |||
56 | 61 | ||
57 | nvidia,i2s-controller = <&tegra_i2s1>; | 62 | nvidia,i2s-controller = <&tegra_i2s1>; |
58 | nvidia,audio-codec = <&alc5632>; | 63 | nvidia,audio-codec = <&alc5632>; |
64 | |||
65 | clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>; | ||
66 | clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
59 | }; | 67 | }; |
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-trimslice.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-trimslice.txt index 04b14cfb1f16..ef1fe7358279 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-trimslice.txt +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-trimslice.txt | |||
@@ -2,6 +2,11 @@ NVIDIA Tegra audio complex for TrimSlice | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "nvidia,tegra-audio-trimslice" | 4 | - compatible : "nvidia,tegra-audio-trimslice" |
5 | - clocks : Must contain an entry for each entry in clock-names. | ||
6 | - clock-names : Must include the following entries: | ||
7 | "pll_a" (The Tegra clock of that name), | ||
8 | "pll_a_out0" (The Tegra clock of that name), | ||
9 | "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) | ||
5 | - nvidia,i2s-controller : The phandle of the Tegra I2S1 controller | 10 | - nvidia,i2s-controller : The phandle of the Tegra I2S1 controller |
6 | - nvidia,audio-codec : The phandle of the WM8903 audio codec | 11 | - nvidia,audio-codec : The phandle of the WM8903 audio codec |
7 | 12 | ||
@@ -11,4 +16,6 @@ sound { | |||
11 | compatible = "nvidia,tegra-audio-trimslice"; | 16 | compatible = "nvidia,tegra-audio-trimslice"; |
12 | nvidia,i2s-controller = <&tegra_i2s1>; | 17 | nvidia,i2s-controller = <&tegra_i2s1>; |
13 | nvidia,audio-codec = <&codec>; | 18 | nvidia,audio-codec = <&codec>; |
19 | clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>; | ||
20 | clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
14 | }; | 21 | }; |
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt index c4dd39ce6165..d14510613a7f 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt | |||
@@ -2,6 +2,11 @@ NVIDIA Tegra audio complex | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "nvidia,tegra-audio-wm8753" | 4 | - compatible : "nvidia,tegra-audio-wm8753" |
5 | - clocks : Must contain an entry for each entry in clock-names. | ||
6 | - clock-names : Must include the following entries: | ||
7 | "pll_a" (The Tegra clock of that name), | ||
8 | "pll_a_out0" (The Tegra clock of that name), | ||
9 | "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) | ||
5 | - nvidia,model : The user-visible name of this sound complex. | 10 | - nvidia,model : The user-visible name of this sound complex. |
6 | - nvidia,audio-routing : A list of the connections between audio components. | 11 | - nvidia,audio-routing : A list of the connections between audio components. |
7 | Each entry is a pair of strings, the first being the connection's sink, | 12 | Each entry is a pair of strings, the first being the connection's sink, |
@@ -50,5 +55,8 @@ sound { | |||
50 | 55 | ||
51 | nvidia,i2s-controller = <&i2s1>; | 56 | nvidia,i2s-controller = <&i2s1>; |
52 | nvidia,audio-codec = <&wm8753>; | 57 | nvidia,audio-codec = <&wm8753>; |
58 | |||
59 | clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>; | ||
60 | clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
53 | }; | 61 | }; |
54 | 62 | ||
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt index d5b0da8bf1d8..3bf722deb722 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt | |||
@@ -2,6 +2,11 @@ NVIDIA Tegra audio complex | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "nvidia,tegra-audio-wm8903" | 4 | - compatible : "nvidia,tegra-audio-wm8903" |
5 | - clocks : Must contain an entry for each entry in clock-names. | ||
6 | - clock-names : Must include the following entries: | ||
7 | "pll_a" (The Tegra clock of that name), | ||
8 | "pll_a_out0" (The Tegra clock of that name), | ||
9 | "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) | ||
5 | - nvidia,model : The user-visible name of this sound complex. | 10 | - nvidia,model : The user-visible name of this sound complex. |
6 | - nvidia,audio-routing : A list of the connections between audio components. | 11 | - nvidia,audio-routing : A list of the connections between audio components. |
7 | Each entry is a pair of strings, the first being the connection's sink, | 12 | Each entry is a pair of strings, the first being the connection's sink, |
@@ -67,5 +72,8 @@ sound { | |||
67 | nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ | 72 | nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ |
68 | nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */ | 73 | nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */ |
69 | nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */ | 74 | nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */ |
75 | |||
76 | clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>; | ||
77 | clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
70 | }; | 78 | }; |
71 | 79 | ||
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt index be35d34e8b26..ad589b163639 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt | |||
@@ -2,6 +2,11 @@ NVIDIA Tegra audio complex | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "nvidia,tegra-audio-wm9712" | 4 | - compatible : "nvidia,tegra-audio-wm9712" |
5 | - clocks : Must contain an entry for each entry in clock-names. | ||
6 | - clock-names : Must include the following entries: | ||
7 | "pll_a" (The Tegra clock of that name), | ||
8 | "pll_a_out0" (The Tegra clock of that name), | ||
9 | "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) | ||
5 | - nvidia,model : The user-visible name of this sound complex. | 10 | - nvidia,model : The user-visible name of this sound complex. |
6 | - nvidia,audio-routing : A list of the connections between audio components. | 11 | - nvidia,audio-routing : A list of the connections between audio components. |
7 | Each entry is a pair of strings, the first being the connection's sink, | 12 | Each entry is a pair of strings, the first being the connection's sink, |
@@ -48,4 +53,7 @@ sound { | |||
48 | "Mic", "MIC1"; | 53 | "Mic", "MIC1"; |
49 | 54 | ||
50 | nvidia,ac97-controller = <&ac97>; | 55 | nvidia,ac97-controller = <&ac97>; |
56 | |||
57 | clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>; | ||
58 | clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
51 | }; | 59 | }; |