ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Subsystems (2)
PATCH v2 1/1 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.
---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.
Changes since v1:
- GIC_SPI, IRQ_TYPE_NONE used in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.
--- arch/arm/boot/dts/exynos5410-odroidxu.dts | 69 +++++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 9 ++++ arch/arm/boot/dts/exynos5410.dtsi | 59 ++++++++++++++++++++++++++ 3 files changed, 137 insertions(+)
arch/arm/boot/dts/exynos5410-odroidxu.dts +69 -0
@@ -15,6 +15,7 @@ #include <dt-bindings/clock/maxim,max77802.h> #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/sound/samsung-i2s.h> #include "exynos54xx-odroidxu-leds.dtsi" / {
@@ -56,6 +57,61 @@ compatible = "samsung,secure-firmware"; reg = <0x02073000 0x1000>; }; + + sound: sound { + compatible = "simple-audio-card"; + + simple-audio-card,name = "Odroid-XU"; + simple-audio-card,widgets = + "Headphone", "Headphone Jack", + "Speakers", "Speakers"; + simple-audio-card,routing = + "Headphone Jack", "HPL", + "Headphone Jack", "HPR", + "Headphone Jack", "MICBIAS", + "IN1", "Headphone Jack", + "Speakers", "SPKL", + "Speakers", "SPKR"; + + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&link0_codec>; + simple-audio-card,frame-master = <&link0_codec>; + + simple-audio-card,cpu { + sound-dai = <&audi2s0 0>; + system-clock-frequency = <19200000>; + }; + + link0_codec: simple-audio-card,codec { + sound-dai = <&max98090>; + clocks = <&audi2s0 CLK_I2S_CDCLK>; + }; + }; +}; + +&audi2s0 { + status = "okay"; +}; + +&clock { + clocks = <&fin_pll>; + assigned-clocks = <&clock CLK_FOUT_EPLL>; + assigned-clock-rates = <192000000>; +}; + +&clock_audss { + assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, + <&clock_audss EXYNOS_MOUT_I2S>, + <&clock_audss EXYNOS_DOUT_SRP>, + <&clock_audss EXYNOS_DOUT_AUD_BUS>; + + assigned-clock-parents = <&clock CLK_FOUT_EPLL>, + <&clock_audss EXYNOS_MOUT_AUDSS>; + + assigned-clock-rates = <0>, + <0>, + <96000000>, + <19200000>; }; &cpu0_thermal {
@@ -439,6 +495,19 @@ }; }; +&i2c_1 { + status = "okay"; + max98090: max98090 at 10 { + compatible = "maxim,max98090"; + reg = <0x10>; + interrupt-parent = <&gpj3>; + interrupts = <0 IRQ_TYPE_NONE>; + clocks = <&audi2s0 CLK_I2S_CDCLK>; + clock-names = "mclk"; + #sound-dai-cells = <0>; + }; +}; + &mmc_0 { status = "okay"; mmc-pwrseq = <&emmc_pwrseq>;
arch/arm/boot/dts/exynos5410-pinctrl.dtsi +9 -0
@@ -613,4 +613,13 @@ interrupt-controller; #interrupt-cells = <2>; }; + + audi2s0_bus: audi2s0-bus { + samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", + "gpz-4"; + samsung,pin-function = <2>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + };
arch/arm/boot/dts/exynos5410.dtsi +59 -0
77 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 9 lines · Sylwester Nawrocki
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 <[email protected]>---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.
Quoted 5 lines
Changes since v1:
-GIC_SPI,IRQ_TYPE_NONEused in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.
And here is a pull request containing clk dependency patches:
The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc:
Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.git tags/clk-v4.9-exynos54x0-dt
for you to fetch changes up to 58d6506f327e3d192998ba03632f546da221b8d8:
clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks (2016-09-09
10:13:02 +0200)
----------------------------------------------------------------
Adition of clock index definitions for exynos5420 SoC DRAM controller and exynos5410 SoC sound subsystem (EPLL, PDMA) related clocks.
----------------------------------------------------------------
Chanwoo Choi (1):
clk: samsung: Add clock IDs for the CMU_CDREX (DRAM Express Controller)
Sylwester Nawrocki (1):
clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks
include/dt-bindings/clock/exynos5410.h | 3 +++ include/dt-bindings/clock/exynos5420.h | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-)
--
Thanks,
Sylwester
PATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 22 lines · Sylwester Nawrocki
Quoted 9 lines · Sylwester Nawrocki
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 <[email protected]>---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.Quoted 5 lines
Changes since v1:
-GIC_SPI,IRQ_TYPE_NONEused in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.And here is a pull request containing clk dependency patches:
The following changes since commit
29b4817d4018df78086157ea3a55c1d9424a7cfc:Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
Quoted 9 lines
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.gittags/clk-v4.9-exynos54x0-dtfor you to fetch changes up to
58d6506f327e3d192998ba03632f546da221b8d8:clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks (2016-09-09
10:13:02 +0200)
Pulled and applied, thanks!
Krzysztof
Krzysztof Kozlowski
maintainerPATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 27 lines · Krzysztof Kozlowski
Quoted 26 lines · Sylwester Nawrocki
Quoted 9 lines · Sylwester Nawrocki
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 <[email protected]>---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.Quoted 5 lines
Changes since v1:
-GIC_SPI,IRQ_TYPE_NONEused in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.And here is a pull request containing clk dependency patches:
The following changes since commit
29b4817d4018df78086157ea3a55c1d9424a7cfc:Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.gittags/clk-v4.9-exynos54x0-dt
Quoted 8 lines
Quoted 5 lines
for you to fetch changes up to
58d6506f327e3d192998ba03632f546da221b8d8:clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks (2016-09-09
10:13:02 +0200)Pulled and applied, thanks!
This does not boot...
http://www.krzk.eu/builders/boot-odroid-xu-exynos/builds/216
http://www.krzk.eu/builders/boot-odroid-xu-multi_v7/builds/195
I am going to send pull request this weekend (or Monday) so probably this won't be included. If by any chance you prepare a fix soon, then it will save me from rebasing the branch.
Best regards,
Krzysztof
PATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 36 lines · Krzysztof Kozlowski
Quoted 27 lines · Krzysztof Kozlowski
Quoted 27 lines · Sylwester Nawrocki
Quoted 26 lines
Quoted 26 lines · Sylwester Nawrocki
Quoted 9 lines
Quoted 9 lines
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 <[email protected]>---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.Quoted 5 lines
Quoted 5 lines
Changes since v1:
-GIC_SPI,IRQ_TYPE_NONEused in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.And here is a pull request containing clk dependency patches:
The following changes since commit
29b4817d4018df78086157ea3a55c1d9424a7cfc:Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.gittags/clk-v4.9-exynos54x0-dtQuoted 7 lines
Quoted 7 lines
Quoted 5 lines
Quoted 5 lines
for you to fetch changes up to
58d6506f327e3d192998ba03632f546da221b8d8:clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks (2016-09-09
10:13:02 +0200)Pulled and applied, thanks!
Quoted 7 lines
This does not boot...
http://www.krzk.eu/builders/boot-odroid-xu-exynos/builds/216
http://www.krzk.eu/builders/boot-odroid-xu-multi_v7/builds/195I am going to send pull request this weekend (or Monday) so probably this won't be included. If by any chance you prepare a fix soon, then it will save me from rebasing the branch.
Oops, indeed, I didn't test with just that part of clk changes applied. The only resolution here I can see is to pull my whole clk branch, it has already been pulled to the upstream clk tree.
The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc:
Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.git tags/clk-v4.9-samsung
for you to fetch changes up to be95d2c7d918b2b7b973378a1e92bdc6559c21f9:
clk: samsung: Add support for EPLL on exynos5410 (2016-09-09 17:35:13 +0200)
----------------------------------------------------------------
In addition to a few clean up and code consolidation patches this includes:
- addition of sound subsystem related clocks for Exynos5410 SoC (EPLL, PDMA) and support for "samsung,exynos5410-audss-clock" compatible in the clk-exynos-audss driver,
- addition of DRAM controller related clocks for exynos5420,
- MAINTAINERS update adding Chanwoo Choi as the Samsung SoC clock drivers co-maintainer.
----------------------------------------------------------------
Chanwoo Choi (5):
clk: samsung: Add clock IDs for the CMU_CDREX (DRAM Express Controller)
MAINTAINERS: Add myself as Samsung SoC clock drivers co-maintainer
clk: samsung: exynos5260: Move struct samsung_cmu_info to init section
clk: samsung: exynos5410: Use samsung_cmu_register_one() to simplify code
clk: samsung: exynos5420: Add clocks for CMU_CDREX domain
Sylwester Nawrocki (7):
clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks
clk: samsung: exynos5410: Expose the peripheral DMA gate clocks
clk: samsung: Use common registration function for pll2550x
clk: samsung: clk-exynos-audss: controller variant handling rework
clk: samsung: clk-exynos-audss: Add exynos5410 compatible
clk: samsung: clk-exynos-audss: Whitespace and debug trace cleanup
clk: samsung: Add support for EPLL on exynos5410
.../devicetree/bindings/clock/clk-exynos-audss.txt | 4 +- .../devicetree/bindings/clock/exynos5410-clock.txt | 21 +- MAINTAINERS | 3 + drivers/clk/samsung/clk-exynos-audss.c | 84 +++-- drivers/clk/samsung/clk-exynos5260.c | 350 ++++++++++----------- drivers/clk/samsung/clk-exynos5410.c | 61 ++-- drivers/clk/samsung/clk-exynos5420.c | 37 +++ drivers/clk/samsung/clk-exynos5440.c | 9 +- drivers/clk/samsung/clk-pll.c | 154 ++++++--- drivers/clk/samsung/clk-pll.h | 2 + include/dt-bindings/clock/exynos5410.h | 3 + include/dt-bindings/clock/exynos5420.h | 11 +- include/dt-bindings/clock/exynos5440.h | 2 + 13 files changed, 453 insertions(+), 288 deletions(-)
--
Thanks,
Sylwester
Krzysztof Kozlowski
maintainerPATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 41 lines · Sylwester Nawrocki
Quoted 40 lines · Krzysztof Kozlowski
Quoted 27 lines · Krzysztof Kozlowski
Quoted 27 lines · Sylwester Nawrocki
Quoted 26 lines
Quoted 26 lines · Sylwester Nawrocki
Quoted 9 lines
Quoted 9 lines
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 <[email protected]>---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.Quoted 5 lines
Quoted 5 lines
Changes since v1:
-GIC_SPI,IRQ_TYPE_NONEused in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.And here is a pull request containing clk dependency patches:
The following changes since commit
29b4817d4018df78086157ea3a55c1d9424a7cfc:Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.gittags/clk-v4.9-exynos54x0-dtQuoted 7 lines
Quoted 7 lines
Quoted 5 lines
Quoted 5 lines
for you to fetch changes up to
58d6506f327e3d192998ba03632f546da221b8d8:clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks (2016-09-09
10:13:02 +0200)Pulled and applied, thanks!
This does not boot...
http://www.krzk.eu/builders/boot-odroid-xu-exynos/builds/216
http://www.krzk.eu/builders/boot-odroid-xu-multi_v7/builds/195
Quoted 7 lines
Quoted 3 lines
I am going to send pull request this weekend (or Monday) so probably this won't be included. If by any chance you prepare a fix soon, then it will save me from rebasing the branch.
Oops, indeed, I didn't test with just that part of clk changes applied. The only resolution here I can see is to pull my whole clk branch, it has already been pulled to the upstream clk tree.
Hmmmm, why the clock implementation is needed? Usually it should work without it. The driver will just handle ENODEV or DEFER... Maybe there is similar issue to the serial: e51e4d8a185d ("serial: samsung: Fix ERR pointer dereference on deferred probe")?
Anyway, the patch will wait till next window opens. I hope it will work then. :)
Best regards,
Krzysztof
Quoted 58 lines
The following changes since commit
29b4817d4018df78086157ea3a55c1d9424a7cfc:Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.gittags/clk-v4.9-samsungfor you to fetch changes up to
be95d2c7d918b2b7b973378a1e92bdc6559c21f9:clk: samsung: Add support for EPLL on exynos5410 (2016-09-09 17:35:13 +0200)
----------------------------------------------------------------
In addition to a few clean up and code consolidation patches this includes:
- addition of sound subsystem related clocks for Exynos5410 SoC (EPLL, PDMA) and support for "samsung,exynos5410-audss-clock" compatible in the clk-exynos-audss driver,
- addition of DRAM controller related clocks for exynos5420,
-MAINTAINERSupdate adding Chanwoo Choi as the Samsung SoC clock drivers co-maintainer.----------------------------------------------------------------
Chanwoo Choi (5):
clk: samsung: Add clock IDs for theCMU_CDREX(DRAM Express Controller)
MAINTAINERS: Add myself as Samsung SoC clock drivers co-maintainer
clk: samsung: exynos5260: Move structsamsung_cmu_infoto init section
clk: samsung: exynos5410: Usesamsung_cmu_register_one()to simplify code
clk: samsung: exynos5420: Add clocks forCMU_CDREXdomainSylwester Nawrocki (7):
clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks
clk: samsung: exynos5410: Expose the peripheral DMA gate clocks
clk: samsung: Use common registration function for pll2550x
clk: samsung: clk-exynos-audss: controller variant handling rework
clk: samsung: clk-exynos-audss: Add exynos5410 compatible
clk: samsung: clk-exynos-audss: Whitespace and debug trace cleanup
clk: samsung: Add support for EPLL on exynos5410.../devicetree/bindings/clock/clk-exynos-audss.txt | 4 +- .../devicetree/bindings/clock/exynos5410-clock.txt | 21 +- MAINTAINERS | 3 + drivers/clk/samsung/clk-exynos-audss.c | 84 +++-- drivers/clk/samsung/clk-exynos5260.c | 350 ++++++++++----------- drivers/clk/samsung/clk-exynos5410.c | 61 ++-- drivers/clk/samsung/clk-exynos5420.c | 37 +++ drivers/clk/samsung/clk-exynos5440.c | 9 +- drivers/clk/samsung/clk-pll.c | 154 ++++++--- drivers/clk/samsung/clk-pll.h | 2 + include/dt-bindings/clock/exynos5410.h | 3 + include/dt-bindings/clock/exynos5420.h | 11 +- include/dt-bindings/clock/exynos5440.h | 2 + 13 files changed, 453 insertions(+), 288 deletions(-)--
Thanks,
Sylwester
Krzysztof Kozlowski
maintainerPATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 50 lines · Krzysztof Kozlowski
Quoted 41 lines · Sylwester Nawrocki
Quoted 40 lines · Krzysztof Kozlowski
Quoted 27 lines · Krzysztof Kozlowski
Quoted 27 lines · Sylwester Nawrocki
Quoted 26 lines
Quoted 26 lines · Sylwester Nawrocki
Quoted 9 lines
Quoted 9 lines
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 <[email protected]>---
This patch depends on a patch adding clock ID macro definitions. I'm going to provide a topic branch containing required changes.Quoted 5 lines
Quoted 5 lines
Changes since v1:
-GIC_SPI,IRQ_TYPE_NONEused in the PDMA and max98080 interrupt specifiers,
- assigned-clock-* properties moved to respective controller nodes.And here is a pull request containing clk dependency patches:
The following changes since commit
29b4817d4018df78086157ea3a55c1d9424a7cfc:Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)
are available in the git repository at:
git://linuxtv.org/snawrocki/samsung.gittags/clk-v4.9-exynos54x0-dtQuoted 7 lines
Quoted 7 lines
Quoted 5 lines
Quoted 5 lines
for you to fetch changes up to
58d6506f327e3d192998ba03632f546da221b8d8:clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks (2016-09-09
10:13:02 +0200)Pulled and applied, thanks!
This does not boot...
http://www.krzk.eu/builders/boot-odroid-xu-exynos/builds/216
http://www.krzk.eu/builders/boot-odroid-xu-multi_v7/builds/195Quoted 7 lines
Quoted 3 lines
I am going to send pull request this weekend (or Monday) so probably this won't be included. If by any chance you prepare a fix soon, then it will save me from rebasing the branch.
Oops, indeed, I didn't test with just that part of clk changes applied. The only resolution here I can see is to pull my whole clk branch, it has already been pulled to the upstream clk tree.
Quoted 8 lines
Hmmmm, why the clock implementation is needed? Usually it should work without it. The driver will just handle ENODEV or DEFER... Maybe there is similar issue to the serial:
e51e4d8a185d("serial: samsung: Fix ERR pointer dereference on deferred probe")?Anyway, the patch will wait till next window opens. I hope it will work then. :)
I re-applied the patch. However I do not have Odroid XU board anymore (Samsung R&D Institute Poland was kind enough to provide XU and U3 boards to me this year... but I had to give it back :( ) so I cannot verify that it works... If it does not, then Sylwester you owe me another bottle of good whisky!
Best regards,
Krzysztof
PATCH v2 1/1 ARM: dts: exynos: Add entries for sound support on Odroid-XU board
Quoted 5 lines · Krzysztof Kozlowski
I re-applied the patch. However I do not have Odroid XU board anymore (Samsung R&D Institute Poland was kind enough to provide XU and U3 boards to me this year... but I had to give it back :( ) so I cannot verify that it works... If it does not, then Sylwester you owe me another bottle of good whisky!
I verified your for-next branch on Odroid-XU and it boots and sound works. I'm sorry, you're out of luck this time:)
I'm considering setting up some basic boot tests with -next also on Odroid-XU here.
--
Thanks,
Sylwester