diff options
author | Stephen Warren <swarren@nvidia.com> | 2012-01-11 18:09:57 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-02-06 21:21:21 -0500 |
commit | 797acf705bf440c736b71cc958f46a174ec87d10 (patch) | |
tree | 7ea633ba0c49122f76838d6799b30211de36fd98 | |
parent | c404af0a16ea55bd8d0634e4cc23e0396799d836 (diff) |
ARM: dt: tegra: Enable audio on WM8903 boards, disable others
Add complete bindings to instantiate and configure the codec and
top-level audio complex on all currently supported boards using the
Tegra+WM8903 audio driver.
On those boards, disable the I2S2 controller since it isn't used.
On boards not using the WM8903 codec, disable all the audio devices;
they can be re-enabled once the relevant codec and ASoC machine drivers
have been ported to device-tree.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/boot/dts/tegra-harmony.dts | 41 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-paz00.dts | 12 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-seaboard.dts | 40 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-trimslice.dts | 12 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-ventana.dts | 42 |
5 files changed, 137 insertions, 10 deletions
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts index 80afa1b70b80..9a52615c13b8 100644 --- a/arch/arm/boot/dts/tegra-harmony.dts +++ b/arch/arm/boot/dts/tegra-harmony.dts | |||
@@ -13,16 +13,18 @@ | |||
13 | i2c@7000c000 { | 13 | i2c@7000c000 { |
14 | clock-frequency = <400000>; | 14 | clock-frequency = <400000>; |
15 | 15 | ||
16 | codec: wm8903@1a { | 16 | wm8903: wm8903@1a { |
17 | compatible = "wlf,wm8903"; | 17 | compatible = "wlf,wm8903"; |
18 | reg = <0x1a>; | 18 | reg = <0x1a>; |
19 | interrupts = < 347 >; | 19 | interrupt-parent = <&gpio>; |
20 | interrupts = < 187 0x04 >; | ||
20 | 21 | ||
21 | gpio-controller; | 22 | gpio-controller; |
22 | #gpio-cells = <2>; | 23 | #gpio-cells = <2>; |
23 | 24 | ||
24 | /* 0x8000 = Not configured */ | 25 | micdet-cfg = <0>; |
25 | gpio-cfg = < 0x8000 0x8000 0 0x8000 0x8000 >; | 26 | micdet-delay = <100>; |
27 | gpio-cfg = < 0xffffffff 0xffffffff 0 0xffffffff 0xffffffff >; | ||
26 | }; | 28 | }; |
27 | }; | 29 | }; |
28 | 30 | ||
@@ -38,13 +40,32 @@ | |||
38 | clock-frequency = <400000>; | 40 | clock-frequency = <400000>; |
39 | }; | 41 | }; |
40 | 42 | ||
41 | sound { | 43 | i2s@70002a00 { |
42 | compatible = "nvidia,harmony-sound", "nvidia,tegra-wm8903"; | 44 | status = "disable"; |
45 | }; | ||
43 | 46 | ||
44 | spkr-en-gpios = <&codec 2 0>; | 47 | sound { |
45 | hp-det-gpios = <&gpio 178 0>; | 48 | compatible = "nvidia,tegra-audio-wm8903-harmony", |
46 | int-mic-en-gpios = <&gpio 184 0>; | 49 | "nvidia,tegra-audio-wm8903"; |
47 | ext-mic-en-gpios = <&gpio 185 0>; | 50 | nvidia,model = "NVIDIA Tegra Harmony"; |
51 | |||
52 | nvidia,audio-routing = | ||
53 | "Headphone Jack", "HPOUTR", | ||
54 | "Headphone Jack", "HPOUTL", | ||
55 | "Int Spk", "ROP", | ||
56 | "Int Spk", "RON", | ||
57 | "Int Spk", "LOP", | ||
58 | "Int Spk", "LON", | ||
59 | "Mic Jack", "MICBIAS", | ||
60 | "IN1L", "Mic Jack"; | ||
61 | |||
62 | nvidia,i2s-controller = <&tegra_i2s1>; | ||
63 | nvidia,audio-codec = <&wm8903>; | ||
64 | |||
65 | nvidia,spkr-en-gpios = <&wm8903 2 0>; | ||
66 | nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ | ||
67 | nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */ | ||
68 | nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */ | ||
48 | }; | 69 | }; |
49 | 70 | ||
50 | serial@70006000 { | 71 | serial@70006000 { |
diff --git a/arch/arm/boot/dts/tegra-paz00.dts b/arch/arm/boot/dts/tegra-paz00.dts index 1a1d7023b69b..4d1bcdc2d432 100644 --- a/arch/arm/boot/dts/tegra-paz00.dts +++ b/arch/arm/boot/dts/tegra-paz00.dts | |||
@@ -37,6 +37,18 @@ | |||
37 | clock-frequency = <400000>; | 37 | clock-frequency = <400000>; |
38 | }; | 38 | }; |
39 | 39 | ||
40 | i2s@70002800 { | ||
41 | status = "disable"; | ||
42 | }; | ||
43 | |||
44 | i2s@70002a00 { | ||
45 | status = "disable"; | ||
46 | }; | ||
47 | |||
48 | das@70000c00 { | ||
49 | status = "disable"; | ||
50 | }; | ||
51 | |||
40 | serial@70006000 { | 52 | serial@70006000 { |
41 | clock-frequency = <216000000>; | 53 | clock-frequency = <216000000>; |
42 | }; | 54 | }; |
diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts index 7ccf67e228fc..876d5c92ce36 100644 --- a/arch/arm/boot/dts/tegra-seaboard.dts +++ b/arch/arm/boot/dts/tegra-seaboard.dts | |||
@@ -13,6 +13,20 @@ | |||
13 | 13 | ||
14 | i2c@7000c000 { | 14 | i2c@7000c000 { |
15 | clock-frequency = <400000>; | 15 | clock-frequency = <400000>; |
16 | |||
17 | wm8903: wm8903@1a { | ||
18 | compatible = "wlf,wm8903"; | ||
19 | reg = <0x1a>; | ||
20 | interrupt-parent = <&gpio>; | ||
21 | interrupts = < 187 0x04 >; | ||
22 | |||
23 | gpio-controller; | ||
24 | #gpio-cells = <2>; | ||
25 | |||
26 | micdet-cfg = <0>; | ||
27 | micdet-delay = <100>; | ||
28 | gpio-cfg = < 0xffffffff 0xffffffff 0 0xffffffff 0xffffffff >; | ||
29 | }; | ||
16 | }; | 30 | }; |
17 | 31 | ||
18 | i2c@7000c400 { | 32 | i2c@7000c400 { |
@@ -32,6 +46,32 @@ | |||
32 | }; | 46 | }; |
33 | }; | 47 | }; |
34 | 48 | ||
49 | i2s@70002a00 { | ||
50 | status = "disable"; | ||
51 | }; | ||
52 | |||
53 | sound { | ||
54 | compatible = "nvidia,tegra-audio-wm8903-seaboard", | ||
55 | "nvidia,tegra-audio-wm8903"; | ||
56 | nvidia,model = "NVIDIA Tegra Seaboard"; | ||
57 | |||
58 | nvidia,audio-routing = | ||
59 | "Headphone Jack", "HPOUTR", | ||
60 | "Headphone Jack", "HPOUTL", | ||
61 | "Int Spk", "ROP", | ||
62 | "Int Spk", "RON", | ||
63 | "Int Spk", "LOP", | ||
64 | "Int Spk", "LON", | ||
65 | "Mic Jack", "MICBIAS", | ||
66 | "IN1R", "Mic Jack"; | ||
67 | |||
68 | nvidia,i2s-controller = <&tegra_i2s1>; | ||
69 | nvidia,audio-codec = <&wm8903>; | ||
70 | |||
71 | nvidia,spkr-en-gpios = <&wm8903 2 0>; | ||
72 | nvidia,hp-det-gpios = <&gpio 185 0>; /* gpio PX1 */ | ||
73 | }; | ||
74 | |||
35 | serial@70006000 { | 75 | serial@70006000 { |
36 | status = "disable"; | 76 | status = "disable"; |
37 | }; | 77 | }; |
diff --git a/arch/arm/boot/dts/tegra-trimslice.dts b/arch/arm/boot/dts/tegra-trimslice.dts index 3b3ee7db99f3..252476867b54 100644 --- a/arch/arm/boot/dts/tegra-trimslice.dts +++ b/arch/arm/boot/dts/tegra-trimslice.dts | |||
@@ -26,6 +26,18 @@ | |||
26 | status = "disable"; | 26 | status = "disable"; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | i2s@70002800 { | ||
30 | status = "disable"; | ||
31 | }; | ||
32 | |||
33 | i2s@70002a00 { | ||
34 | status = "disable"; | ||
35 | }; | ||
36 | |||
37 | das@70000c00 { | ||
38 | status = "disable"; | ||
39 | }; | ||
40 | |||
29 | serial@70006000 { | 41 | serial@70006000 { |
30 | clock-frequency = < 216000000 >; | 42 | clock-frequency = < 216000000 >; |
31 | }; | 43 | }; |
diff --git a/arch/arm/boot/dts/tegra-ventana.dts b/arch/arm/boot/dts/tegra-ventana.dts index c7d3b87f29df..2dcff8728e90 100644 --- a/arch/arm/boot/dts/tegra-ventana.dts +++ b/arch/arm/boot/dts/tegra-ventana.dts | |||
@@ -12,6 +12,20 @@ | |||
12 | 12 | ||
13 | i2c@7000c000 { | 13 | i2c@7000c000 { |
14 | clock-frequency = <400000>; | 14 | clock-frequency = <400000>; |
15 | |||
16 | wm8903: wm8903@1a { | ||
17 | compatible = "wlf,wm8903"; | ||
18 | reg = <0x1a>; | ||
19 | interrupt-parent = <&gpio>; | ||
20 | interrupts = < 187 0x04 >; | ||
21 | |||
22 | gpio-controller; | ||
23 | #gpio-cells = <2>; | ||
24 | |||
25 | micdet-cfg = <0>; | ||
26 | micdet-delay = <100>; | ||
27 | gpio-cfg = < 0xffffffff 0xffffffff 0 0xffffffff 0xffffffff >; | ||
28 | }; | ||
15 | }; | 29 | }; |
16 | 30 | ||
17 | i2c@7000c400 { | 31 | i2c@7000c400 { |
@@ -26,6 +40,34 @@ | |||
26 | clock-frequency = <400000>; | 40 | clock-frequency = <400000>; |
27 | }; | 41 | }; |
28 | 42 | ||
43 | i2s@70002a00 { | ||
44 | status = "disable"; | ||
45 | }; | ||
46 | |||
47 | sound { | ||
48 | compatible = "nvidia,tegra-audio-wm8903-ventana", | ||
49 | "nvidia,tegra-audio-wm8903"; | ||
50 | nvidia,model = "NVIDIA Tegra Ventana"; | ||
51 | |||
52 | nvidia,audio-routing = | ||
53 | "Headphone Jack", "HPOUTR", | ||
54 | "Headphone Jack", "HPOUTL", | ||
55 | "Int Spk", "ROP", | ||
56 | "Int Spk", "RON", | ||
57 | "Int Spk", "LOP", | ||
58 | "Int Spk", "LON", | ||
59 | "Mic Jack", "MICBIAS", | ||
60 | "IN1L", "Mic Jack"; | ||
61 | |||
62 | nvidia,i2s-controller = <&tegra_i2s1>; | ||
63 | nvidia,audio-codec = <&wm8903>; | ||
64 | |||
65 | nvidia,spkr-en-gpios = <&wm8903 2 0>; | ||
66 | nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ | ||
67 | nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */ | ||
68 | nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */ | ||
69 | }; | ||
70 | |||
29 | serial@70006000 { | 71 | serial@70006000 { |
30 | status = "disable"; | 72 | status = "disable"; |
31 | }; | 73 | }; |