[PATCH 2/6] ARM: EXYNOS5: DT Support for SATA and SATA PHY
From: Vasanth Ananthan <hidden>
Date: 2012-10-09 11:48:48
Also in:
linux-ide, linux-samsung-soc
Subsystem:
arm port, the rest · Maintainers:
Russell King, Linus Torvalds
This patch adds Device Nodes for SATA and SATA PHY device. Signed-off-by: Vasanth Ananthan <redacted> --- arch/arm/boot/dts/exynos5250-smdk5250.dts | 11 +++++++++++ arch/arm/boot/dts/exynos5250.dtsi | 20 ++++++++++++++++++++ arch/arm/mach-exynos/include/mach/map.h | 7 +++++++ arch/arm/mach-exynos/mach-exynos5-dt.c | 6 ++++++ 4 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 8a5e348..bb262ce 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts@@ -48,6 +48,17 @@ }; }; + i2c at 121D0000 { + samsung,i2c-sda-delay = <100>; + samsung,i2c-max-bus-freq = <40000>; + samsung,i2c-slave-addr = <0x38>; + + sataphy at 70 { + compatible = "samsung,i2c-phy"; + reg = <0x38>; + }; + }; + i2c at 12C80000 { status = "disabled"; };
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 004aaa8..5a47a8f 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi@@ -88,6 +88,18 @@ interrupts = <0 54 0>; }; + sata at 122F0000 { + compatible = "samsung,exynos-sata-ahci"; + reg = <0x122F0000 0x1ff>; + interrupts = <0 115 0>; + }; + + sata-phy at 12170000 { + compatible = "samsung,exynos-sata-phy"; + reg = <0x12170000 0x1ff>; + }; + + i2c at 12C60000 { compatible = "samsung,s3c2440-i2c"; reg = <0x12C60000 0x100>;
@@ -152,6 +164,13 @@ #size-cells = <0>; }; + i2c at 121D0000 { + compatible = "samsung,s3c2440-sataphy-i2c"; + reg = <0x121D0000 0x100>; + #address-cells = <1>; + #size-cells = <0>; + }; + spi_0: spi at 12d20000 { compatible = "samsung,exynos4210-spi"; reg = <0x12d20000 0x100>;
@@ -460,4 +479,5 @@ #gpio-cells = <4>; }; }; + };
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index c72b675..6827190 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h@@ -177,9 +177,16 @@ #define EXYNOS4_PA_HSOTG 0x12480000 #define EXYNOS4_PA_USB_HSPHY 0x125B0000 +#ifdef CONFIG_ARCH_EXYNOS4 #define EXYNOS4_PA_SATA 0x12560000 #define EXYNOS4_PA_SATAPHY 0x125D0000 #define EXYNOS4_PA_SATAPHY_CTRL 0x126B0000 +#endif +#ifdef CONFIG_ARCH_EXYNOS5 +#define EXYNOS5_PA_SATA_PHY_CTRL 0x12170000 +#define EXYNOS5_PA_SATA_PHY_I2C 0x121D0000 +#define EXYNOS5_PA_SATA_BASE 0x122F0000 +#endif #define EXYNOS4_PA_SROMC 0x12570000 #define EXYNOS5_PA_SROMC 0x12250000
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index ef770bc..c931c6c 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c@@ -47,6 +47,12 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = { "s3c2440-i2c.0", NULL), OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(1), "s3c2440-i2c.1", NULL), + OF_DEV_AUXDATA("samsung,exynos-sata-ahci", EXYNOS5_PA_SATA_BASE, + "sata_exynos", NULL), + OF_DEV_AUXDATA("samsung,exynos-sata-phy", EXYNOS5_PA_SATA_PHY_CTRL, + "sata_phy_exynos", NULL), + OF_DEV_AUXDATA("samsung,s3c2440-sataphy-i2c", EXYNOS5_PA_SATA_PHY_I2C, + "sata-phy-i2c", NULL), OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS5_PA_SPI0, "exynos4210-spi.0", NULL), OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS5_PA_SPI1,
--
1.7.5.4