diff options
| author | Vasanth Ananthan <vasanthananthan@gmail.com> | 2012-11-20 07:02:11 -0500 |
|---|---|---|
| committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-11-20 07:02:17 -0500 |
| commit | c47d244a646d08e2161b7fa22c5512e7988762ae (patch) | |
| tree | 1ba9836448fc41d08e40b30a5d9e3f553bfe5bde | |
| parent | d36bb0f0401b60f5484700da84a4cf760cd82fe3 (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.txt | 14 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/ata/exynos-sata.txt | 17 | ||||
| -rw-r--r-- | arch/arm/boot/dts/exynos5250-smdk5250.dts | 15 | ||||
| -rw-r--r-- | arch/arm/boot/dts/exynos5250.dtsi | 18 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 6 |
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 | |||
| 3 | SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers. | ||
| 4 | Each SATA PHY controller should have its own node. | ||
| 5 | |||
| 6 | Required properties: | ||
| 7 | - compatible : compatible list, contains "samsung,exynos5-sata-phy" | ||
| 8 | - reg : <registers mapping> | ||
| 9 | |||
| 10 | Example: | ||
| 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 | |||
| 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | ||
| 4 | Each SATA controller should have its own node. | ||
| 5 | |||
| 6 | Required 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 | |||
| 12 | Example: | ||
| 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), |
