diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2016-09-16 07:22:00 -0400 |
---|---|---|
committer | Krzysztof Kozlowski <krzk@kernel.org> | 2016-10-17 11:46:17 -0400 |
commit | ad3b5ef7ee99530620cece4aeee2aa291d034905 (patch) | |
tree | 07ba45fcb953bd64dd0eabbac863a74749dfc87e | |
parent | 69d7fbb0faf41821d89b4172f5271727f6900fec (diff) |
ARM: dts: exynos: Add entries for sound support on Odroid-XU board
This patch adds device nodes for the AUDSS clock controller,
peripheral DMA 0/1 controllers and the Audio Subsystem I2S controller.
These entries are required for sound support on Odroid-XU board.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-rw-r--r-- | arch/arm/boot/dts/exynos5410-odroidxu.dts | 69 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 9 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5410.dtsi | 59 |
3 files changed, 137 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts index 3c271cb4b2be..c4de1353e5df 100644 --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <dt-bindings/clock/maxim,max77802.h> | 15 | #include <dt-bindings/clock/maxim,max77802.h> |
16 | #include <dt-bindings/gpio/gpio.h> | 16 | #include <dt-bindings/gpio/gpio.h> |
17 | #include <dt-bindings/interrupt-controller/irq.h> | 17 | #include <dt-bindings/interrupt-controller/irq.h> |
18 | #include <dt-bindings/sound/samsung-i2s.h> | ||
18 | #include "exynos54xx-odroidxu-leds.dtsi" | 19 | #include "exynos54xx-odroidxu-leds.dtsi" |
19 | 20 | ||
20 | / { | 21 | / { |
@@ -57,6 +58,61 @@ | |||
57 | compatible = "samsung,secure-firmware"; | 58 | compatible = "samsung,secure-firmware"; |
58 | reg = <0x02073000 0x1000>; | 59 | reg = <0x02073000 0x1000>; |
59 | }; | 60 | }; |
61 | |||
62 | sound: sound { | ||
63 | compatible = "simple-audio-card"; | ||
64 | |||
65 | simple-audio-card,name = "Odroid-XU"; | ||
66 | simple-audio-card,widgets = | ||
67 | "Headphone", "Headphone Jack", | ||
68 | "Speakers", "Speakers"; | ||
69 | simple-audio-card,routing = | ||
70 | "Headphone Jack", "HPL", | ||
71 | "Headphone Jack", "HPR", | ||
72 | "Headphone Jack", "MICBIAS", | ||
73 | "IN1", "Headphone Jack", | ||
74 | "Speakers", "SPKL", | ||
75 | "Speakers", "SPKR"; | ||
76 | |||
77 | simple-audio-card,format = "i2s"; | ||
78 | simple-audio-card,bitclock-master = <&link0_codec>; | ||
79 | simple-audio-card,frame-master = <&link0_codec>; | ||
80 | |||
81 | simple-audio-card,cpu { | ||
82 | sound-dai = <&audi2s0 0>; | ||
83 | system-clock-frequency = <19200000>; | ||
84 | }; | ||
85 | |||
86 | link0_codec: simple-audio-card,codec { | ||
87 | sound-dai = <&max98090>; | ||
88 | clocks = <&audi2s0 CLK_I2S_CDCLK>; | ||
89 | }; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | &audi2s0 { | ||
94 | status = "okay"; | ||
95 | }; | ||
96 | |||
97 | &clock { | ||
98 | clocks = <&fin_pll>; | ||
99 | assigned-clocks = <&clock CLK_FOUT_EPLL>; | ||
100 | assigned-clock-rates = <192000000>; | ||
101 | }; | ||
102 | |||
103 | &clock_audss { | ||
104 | assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, | ||
105 | <&clock_audss EXYNOS_MOUT_I2S>, | ||
106 | <&clock_audss EXYNOS_DOUT_SRP>, | ||
107 | <&clock_audss EXYNOS_DOUT_AUD_BUS>; | ||
108 | |||
109 | assigned-clock-parents = <&clock CLK_FOUT_EPLL>, | ||
110 | <&clock_audss EXYNOS_MOUT_AUDSS>; | ||
111 | |||
112 | assigned-clock-rates = <0>, | ||
113 | <0>, | ||
114 | <96000000>, | ||
115 | <19200000>; | ||
60 | }; | 116 | }; |
61 | 117 | ||
62 | &cpu0_thermal { | 118 | &cpu0_thermal { |
@@ -440,6 +496,19 @@ | |||
440 | }; | 496 | }; |
441 | }; | 497 | }; |
442 | 498 | ||
499 | &i2c_1 { | ||
500 | status = "okay"; | ||
501 | max98090: max98090@10 { | ||
502 | compatible = "maxim,max98090"; | ||
503 | reg = <0x10>; | ||
504 | interrupt-parent = <&gpj3>; | ||
505 | interrupts = <0 IRQ_TYPE_NONE>; | ||
506 | clocks = <&audi2s0 CLK_I2S_CDCLK>; | ||
507 | clock-names = "mclk"; | ||
508 | #sound-dai-cells = <0>; | ||
509 | }; | ||
510 | }; | ||
511 | |||
443 | &mmc_0 { | 512 | &mmc_0 { |
444 | status = "okay"; | 513 | status = "okay"; |
445 | mmc-pwrseq = <&emmc_pwrseq>; | 514 | mmc-pwrseq = <&emmc_pwrseq>; |
diff --git a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi index a083d23fdee3..ff46a1c27182 100644 --- a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi | |||
@@ -615,4 +615,13 @@ | |||
615 | interrupt-controller; | 615 | interrupt-controller; |
616 | #interrupt-cells = <2>; | 616 | #interrupt-cells = <2>; |
617 | }; | 617 | }; |
618 | |||
619 | audi2s0_bus: audi2s0-bus { | ||
620 | samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", | ||
621 | "gpz-4"; | ||
622 | samsung,pin-function = <2>; | ||
623 | samsung,pin-pud = <0>; | ||
624 | samsung,pin-drv = <0>; | ||
625 | }; | ||
626 | |||
618 | }; | 627 | }; |
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi index 137f48464f8b..9a91685d8890 100644 --- a/arch/arm/boot/dts/exynos5410.dtsi +++ b/arch/arm/boot/dts/exynos5410.dtsi | |||
@@ -16,6 +16,7 @@ | |||
16 | #include "exynos54xx.dtsi" | 16 | #include "exynos54xx.dtsi" |
17 | #include "exynos-syscon-restart.dtsi" | 17 | #include "exynos-syscon-restart.dtsi" |
18 | #include <dt-bindings/clock/exynos5410.h> | 18 | #include <dt-bindings/clock/exynos5410.h> |
19 | #include <dt-bindings/clock/exynos-audss-clk.h> | ||
19 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 20 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
20 | 21 | ||
21 | / { | 22 | / { |
@@ -82,6 +83,14 @@ | |||
82 | #clock-cells = <1>; | 83 | #clock-cells = <1>; |
83 | }; | 84 | }; |
84 | 85 | ||
86 | clock_audss: audss-clock-controller@3810000 { | ||
87 | compatible = "samsung,exynos5410-audss-clock"; | ||
88 | reg = <0x03810000 0x0C>; | ||
89 | #clock-cells = <1>; | ||
90 | clocks = <&fin_pll>, <&clock CLK_FOUT_EPLL>; | ||
91 | clock-names = "pll_ref", "pll_in"; | ||
92 | }; | ||
93 | |||
85 | tmu_cpu0: tmu@10060000 { | 94 | tmu_cpu0: tmu@10060000 { |
86 | compatible = "samsung,exynos5420-tmu"; | 95 | compatible = "samsung,exynos5420-tmu"; |
87 | reg = <0x10060000 0x100>; | 96 | reg = <0x10060000 0x100>; |
@@ -183,6 +192,56 @@ | |||
183 | reg = <0x03860000 0x1000>; | 192 | reg = <0x03860000 0x1000>; |
184 | interrupts = <0 47 0>; | 193 | interrupts = <0 47 0>; |
185 | }; | 194 | }; |
195 | |||
196 | amba { | ||
197 | #address-cells = <1>; | ||
198 | #size-cells = <1>; | ||
199 | compatible = "simple-bus"; | ||
200 | interrupt-parent = <&gic>; | ||
201 | ranges; | ||
202 | |||
203 | pdma0: pdma@12680000 { | ||
204 | compatible = "arm,pl330", "arm,primecell"; | ||
205 | reg = <0x121A0000 0x1000>; | ||
206 | interrupts = <GIC_SPI 34 IRQ_TYPE_NONE>; | ||
207 | clocks = <&clock CLK_PDMA0>; | ||
208 | clock-names = "apb_pclk"; | ||
209 | #dma-cells = <1>; | ||
210 | #dma-channels = <8>; | ||
211 | #dma-requests = <32>; | ||
212 | }; | ||
213 | |||
214 | pdma1: pdma@12690000 { | ||
215 | compatible = "arm,pl330", "arm,primecell"; | ||
216 | reg = <0x121B0000 0x1000>; | ||
217 | interrupts = <GIC_SPI 35 IRQ_TYPE_NONE>; | ||
218 | clocks = <&clock CLK_PDMA1>; | ||
219 | clock-names = "apb_pclk"; | ||
220 | #dma-cells = <1>; | ||
221 | #dma-channels = <8>; | ||
222 | #dma-requests = <32>; | ||
223 | }; | ||
224 | }; | ||
225 | |||
226 | audi2s0: i2s@03830000 { | ||
227 | compatible = "samsung,exynos5420-i2s"; | ||
228 | reg = <0x03830000 0x100>; | ||
229 | dmas = <&pdma0 10 | ||
230 | &pdma0 9 | ||
231 | &pdma0 8>; | ||
232 | dma-names = "tx", "rx", "tx-sec"; | ||
233 | clocks = <&clock_audss EXYNOS_I2S_BUS>, | ||
234 | <&clock_audss EXYNOS_I2S_BUS>, | ||
235 | <&clock_audss EXYNOS_SCLK_I2S>; | ||
236 | clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; | ||
237 | #clock-cells = <1>; | ||
238 | clock-output-names = "i2s_cdclk0"; | ||
239 | #sound-dai-cells = <1>; | ||
240 | samsung,idma-addr = <0x03000000>; | ||
241 | pinctrl-names = "default"; | ||
242 | pinctrl-0 = <&audi2s0_bus>; | ||
243 | status = "disabled"; | ||
244 | }; | ||
186 | }; | 245 | }; |
187 | 246 | ||
188 | thermal-zones { | 247 | thermal-zones { |