Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Vasanth Ananthan and committed by
Kukjin Kim
c47d244a d36bb0f0

+70
+14
Documentation/devicetree/bindings/ata/exynos-sata-phy.txt
··· 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 + };
+17
Documentation/devicetree/bindings/ata/exynos-sata.txt
··· 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 + };
+15
arch/arm/boot/dts/exynos5250-smdk5250.dts
··· 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 73 i2c@12C80000 { 59 74 status = "disabled"; 60 75 };
+18
arch/arm/boot/dts/exynos5250.dtsi
··· 104 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 118 i2c@12C60000 { 108 119 compatible = "samsung,s3c2440-i2c"; 109 120 reg = <0x12C60000 0x100>; ··· 177 166 interrupts = <0 63 0>; 178 167 #address-cells = <1>; 179 168 #size-cells = <0>; 169 + }; 170 + 171 + i2c@121D0000 { 172 + compatible = "samsung,exynos5-sata-phy-i2c"; 173 + reg = <0x121D0000 0x100>; 174 + #address-cells = <1>; 175 + #size-cells = <0>; 180 176 }; 181 177 182 178 spi_0: spi@12d20000 {
+6
arch/arm/mach-exynos/mach-exynos5-dt.c
··· 64 64 "exynos4210-spi.1", NULL), 65 65 OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS5_PA_SPI2, 66 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 73 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL), 68 74 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL), 69 75 OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),