[alsa-devel] [PATCH 0/2] ARM: Exynos: Enable I2S platform support for Exynos5
This patch set enables device tree based platform support for the three I2S controllers on Samsung's Exynos5 SoC's.
Padmavathi Venna (2): ARM: dts: Add nodes for i2s controllers for Samsung Exynos5 platforms ARM: EXYNOS: Enable platform support for I2S controllers
arch/arm/boot/dts/exynos5250-smdk5250.dts | 15 +++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | 28 ++++++++++++++++++++++++++++ arch/arm/mach-exynos/mach-exynos5-dt.c | 6 ++++++ 3 files changed, 49 insertions(+), 0 deletions(-)
Add device nodes for the three instances of i2s controllers in Exynos5 platforms. Enable instance i2s 0 for exynos5250 board and disable all other i2s instances.
Signed-off-by: Padmavathi Venna padma.v@samsung.com --- arch/arm/boot/dts/exynos5250-smdk5250.dts | 15 +++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi | 28 ++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts index 8a5e348..615d1c4 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts @@ -109,4 +109,19 @@ spi_2: spi@12d40000 { status = "disabled"; }; + + i2s_0: i2s@03830000 { + gpios = <&gpz 0 2 0 0>, <&gpz 1 2 0 0>, <&gpz 2 2 0 0>, + <&gpz 3 2 0 0>, <&gpz 4 2 0 0>, <&gpz 5 2 0 0>, + <&gpz 6 2 0 0>; + idma-addr = <0x03000000>; + }; + + i2s_1: i2s@12D60000 { + status = "disabled"; + }; + + i2s_2: i2s@12D70000 { + status = "disabled"; + }; }; diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index a3a2eb2..6ff78ba 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -27,6 +27,9 @@ spi0 = &spi_0; spi1 = &spi_1; spi2 = &spi_2; + i2s0 = &i2s_0; + i2s1 = &i2s_1; + i2s2 = &i2s_2; };
gic:interrupt-controller@10481000 { @@ -182,6 +185,31 @@ #size-cells = <0>; };
+ i2s_0: i2s@03830000 { + compatible = "samsung,samsung-i2s"; + reg = <0x03830000 0x100>; + tx-dma-channel-secondary = <&pdma0 8>; + tx-dma-channel = <&pdma0 10>; + rx-dma-channel = <&pdma0 9>; + supports-6ch; + supports-rstclr; + supports-secdai; + }; + + i2s_1: i2s@12D60000 { + compatible = "samsung,samsung-i2s"; + reg = <0x12D60000 0x100>; + tx-dma-channel = <&pdma1 12>; + rx-dma-channel = <&pdma1 11>; + }; + + i2s_2: i2s@12D70000 { + compatible = "samsung,samsung-i2s"; + reg = <0x12D70000 0x100>; + tx-dma-channel = <&pdma0 12>; + rx-dma-channel = <&pdma0 11>; + }; + amba { #address-cells = <1>; #size-cells = <1>;
Add AUXDATA entries for i2s controller driver so as to set the device name for clock lookups
Signed-off-by: Padmavathi Venna padma.v@samsung.com --- arch/arm/mach-exynos/mach-exynos5-dt.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index c334eea..cf5a0f5 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c @@ -56,6 +56,12 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = { OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL), OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL), OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL), + OF_DEV_AUXDATA("samsung,samsung-i2s", EXYNOS_PA_I2S0, + "samsung-i2s.0", NULL), + OF_DEV_AUXDATA("samsung,samsung-i2s", EXYNOS5_PA_I2S1, + "samsung-i2s.1", NULL), + OF_DEV_AUXDATA("samsung,samsung-i2s", EXYNOS5_PA_I2S2, + "samsung-i2s.2", NULL), {}, };
participants (1)
-
Padmavathi Venna