aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasanth Ananthan <vasanthananthan@gmail.com>2012-11-20 07:02:11 -0500
committerKukjin Kim <kgene.kim@samsung.com>2012-11-20 07:02:17 -0500
commitc47d244a646d08e2161b7fa22c5512e7988762ae (patch)
tree1ba9836448fc41d08e40b30a5d9e3f553bfe5bde
parentd36bb0f0401b60f5484700da84a4cf760cd82fe3 (diff)
ARM: EXYNOS: DT Support for SATA and SATA PHY
This patch adds Device Nodes for SATA and SATA PHY device. Signed-off-by: Vasanth Ananthan <vasanth.a@samsung.com> [kgene.kim@samsung.com: removed address definitions as per comments] Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--Documentation/devicetree/bindings/ata/exynos-sata-phy.txt14
-rw-r--r--Documentation/devicetree/bindings/ata/exynos-sata.txt17
-rw-r--r--arch/arm/boot/dts/exynos5250-smdk5250.dts15
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi18
-rw-r--r--arch/arm/mach-exynos/mach-exynos5-dt.c6
5 files changed, 70 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt b/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt
new file mode 100644
index 000000000000..37824fac688e
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt
@@ -0,0 +1,14 @@
1* Samsung SATA PHY Controller
2
3SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
4Each SATA PHY controller should have its own node.
5
6Required properties:
7- compatible : compatible list, contains "samsung,exynos5-sata-phy"
8- reg : <registers mapping>
9
10Example:
11 sata@ffe07000 {
12 compatible = "samsung,exynos5-sata-phy";
13 reg = <0xffe07000 0x1000>;
14 };
diff --git a/Documentation/devicetree/bindings/ata/exynos-sata.txt b/Documentation/devicetree/bindings/ata/exynos-sata.txt
new file mode 100644
index 000000000000..0849f1025e34
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/exynos-sata.txt
@@ -0,0 +1,17 @@
1* Samsung AHCI SATA Controller
2
3SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node.
5
6Required properties:
7- compatible : compatible list, contains "samsung,exynos5-sata"
8- interrupts : <interrupt mapping for SATA IRQ>
9- reg : <registers mapping>
10- samsung,sata-freq : <frequency in MHz>
11
12Example:
13 sata@ffe08000 {
14 compatible = "samsung,exynos5-sata";
15 reg = <0xffe08000 0x1000>;
16 interrupts = <115>;
17 };
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 21d4ccdb0a5a..3f8c2ab1d038 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -55,6 +55,21 @@
55 }; 55 };
56 }; 56 };
57 57
58 i2c@121D0000 {
59 samsung,i2c-sda-delay = <100>;
60 samsung,i2c-max-bus-freq = <40000>;
61 samsung,i2c-slave-addr = <0x38>;
62
63 sata-phy {
64 compatible = "samsung,sata-phy";
65 reg = <0x38>;
66 };
67 };
68
69 sata@122F0000 {
70 samsung,sata-freq = <66>;
71 };
72
58 i2c@12C80000 { 73 i2c@12C80000 {
59 status = "disabled"; 74 status = "disabled";
60 }; 75 };
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 670dfdb01a09..e913525a4814 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -104,6 +104,17 @@
104 interrupts = <0 54 0>; 104 interrupts = <0 54 0>;
105 }; 105 };
106 106
107 sata@122F0000 {
108 compatible = "samsung,exynos5-sata-ahci";
109 reg = <0x122F0000 0x1ff>;
110 interrupts = <0 115 0>;
111 };
112
113 sata-phy@12170000 {
114 compatible = "samsung,exynos5-sata-phy";
115 reg = <0x12170000 0x1ff>;
116 };
117
107 i2c@12C60000 { 118 i2c@12C60000 {
108 compatible = "samsung,s3c2440-i2c"; 119 compatible = "samsung,s3c2440-i2c";
109 reg = <0x12C60000 0x100>; 120 reg = <0x12C60000 0x100>;
@@ -168,6 +179,13 @@
168 #size-cells = <0>; 179 #size-cells = <0>;
169 }; 180 };
170 181
182 i2c@121D0000 {
183 compatible = "samsung,exynos5-sata-phy-i2c";
184 reg = <0x121D0000 0x100>;
185 #address-cells = <1>;
186 #size-cells = <0>;
187 };
188
171 spi_0: spi@12d20000 { 189 spi_0: spi@12d20000 {
172 compatible = "samsung,exynos4210-spi"; 190 compatible = "samsung,exynos4210-spi";
173 reg = <0x12d20000 0x100>; 191 reg = <0x12d20000 0x100>;
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 4c0f3369abdf..a88c19f5efcc 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -64,6 +64,12 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
64 "exynos4210-spi.1", NULL), 64 "exynos4210-spi.1", NULL),
65 OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS5_PA_SPI2, 65 OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS5_PA_SPI2,
66 "exynos4210-spi.2", NULL), 66 "exynos4210-spi.2", NULL),
67 OF_DEV_AUXDATA("samsung,exynos5-sata-ahci", 0x122F0000,
68 "exynos5-sata", NULL),
69 OF_DEV_AUXDATA("samsung,exynos5-sata-phy", 0x12170000,
70 "exynos5-sata-phy", NULL),
71 OF_DEV_AUXDATA("samsung,exynos5-sata-phy-i2c", 0x121D0000,
72 "exynos5-sata-phy-i2c", NULL),
67 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL), 73 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
68 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL), 74 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
69 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL), 75 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),