From 23a7c31e4a1c2e0acfa91c6360636e4ac6d8dd40 Mon Sep 17 00:00:00 2001 From: Shawn Guo Date: Tue, 24 Jun 2014 11:19:27 +0100 Subject: dt-bindings: ata: create bindings for imx sata controller To: Tejun Heo ,linux-ide@vger.kernel.org The Freescale i.MX SATA controller mostly conforms to the AHCI interface, but there are some special extensions at integration level like clocks settings and hardware parameters. Let's create a separate bindings doc for imx sata controller, so that more imx specific properties can be added later without messing up the generic ahci-platform bindings. Signed-off-by: Shawn Guo Signed-off-by: Russell King Signed-off-by: Tejun Heo --- .../devicetree/bindings/ata/ahci-platform.txt | 6 ----- Documentation/devicetree/bindings/ata/imx-sata.txt | 26 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 Documentation/devicetree/bindings/ata/imx-sata.txt (limited to 'Documentation') diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index c96d8dcf98fd..549ceb8cb93b 100644 --- a/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt @@ -6,8 +6,6 @@ Each SATA controller should have its own node. Required properties: - compatible : compatible string, one of: - "allwinner,sun4i-a10-ahci" - - "fsl,imx53-ahci" - - "fsl,imx6q-ahci" - "hisilicon,hisi-ahci" - "ibm,476gtr-ahci" - "marvell,armada-380-ahci" @@ -22,10 +20,6 @@ Optional properties: - clocks : a list of phandle + clock specifier pairs - target-supply : regulator for SATA target power -"fsl,imx53-ahci", "fsl,imx6q-ahci" required properties: -- clocks : must contain the sata, sata_ref and ahb clocks -- clock-names : must contain "ahb" for the ahb clock - Examples: sata@ffe08000 { compatible = "snps,spear-ahci"; diff --git a/Documentation/devicetree/bindings/ata/imx-sata.txt b/Documentation/devicetree/bindings/ata/imx-sata.txt new file mode 100644 index 000000000000..aeb99dd986b0 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/imx-sata.txt @@ -0,0 +1,26 @@ +* Freescale i.MX AHCI SATA Controller + +The Freescale i.MX SATA controller mostly conforms to the AHCI interface +with some special extensions at integration level. + +Required properties: +- compatible : should be one of the following: + - "fsl,imx53-ahci" for i.MX53 SATA controller + - "fsl,imx6q-ahci" for i.MX6Q SATA controller +- interrupts : interrupt mapping for SATA IRQ +- reg : registers mapping +- clocks : list of clock specifiers, must contain an entry for each + required entry in clock-names +- clock-names : should include "sata", "sata_ref" and "ahb" entries + +Examples: + +sata@02200000 { + compatible = "fsl,imx6q-ahci"; + reg = <0x02200000 0x4000>; + interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX6QDL_CLK_SATA>, + <&clks IMX6QDL_CLK_SATA_REF_100M>, + <&clks IMX6QDL_CLK_AHB>; + clock-names = "sata", "sata_ref", "ahb"; +}; -- cgit v1.2.3 From dcb1b29b0826c70a94f6fb8dcb1aef7fc66d118a Mon Sep 17 00:00:00 2001 From: Russell King Date: Tue, 24 Jun 2014 11:19:42 +0100 Subject: dt-bindings: ata: add ahci_imx electrical properties Add the documentation for the electrical properties for the iMX SATA controller. There are many values for these, and listing them would be error prone. Refer readers to the device documentation and driver source code for these details. Signed-off-by: Russell King Reviewed-by: Shawn Guo Signed-off-by: Tejun Heo --- Documentation/devicetree/bindings/ata/imx-sata.txt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Documentation') diff --git a/Documentation/devicetree/bindings/ata/imx-sata.txt b/Documentation/devicetree/bindings/ata/imx-sata.txt index aeb99dd986b0..a13f0f603776 100644 --- a/Documentation/devicetree/bindings/ata/imx-sata.txt +++ b/Documentation/devicetree/bindings/ata/imx-sata.txt @@ -13,6 +13,14 @@ Required properties: required entry in clock-names - clock-names : should include "sata", "sata_ref" and "ahb" entries +Optional properties: +- fsl,transmit-level-mV : transmit voltage level, in millivolts. +- fsl,transmit-boost-mdB : transmit boost level, in milli-decibels +- fsl,transmit-atten-16ths : transmit attenuation, in 16ths +- fsl,receive-eq-mdB : receive equalisation, in milli-decibels + Please refer to the technical documentation or the driver source code + for the list of legal values for these options. + Examples: sata@02200000 { -- cgit v1.2.3 From 1fc1263bd4d227e51345cd2bedd10ab85ae9871c Mon Sep 17 00:00:00 2001 From: Russell King Date: Tue, 24 Jun 2014 11:19:53 +0100 Subject: dt-bindings: ata: document ability to disable spread-spectrum clock Add documentation of the fsl,no-spread-spectrum option. Signed-off-by: Russell King Reviewed-by: Shawn Guo Signed-off-by: Tejun Heo --- Documentation/devicetree/bindings/ata/imx-sata.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Documentation') diff --git a/Documentation/devicetree/bindings/ata/imx-sata.txt b/Documentation/devicetree/bindings/ata/imx-sata.txt index a13f0f603776..fa511db18408 100644 --- a/Documentation/devicetree/bindings/ata/imx-sata.txt +++ b/Documentation/devicetree/bindings/ata/imx-sata.txt @@ -20,6 +20,8 @@ Optional properties: - fsl,receive-eq-mdB : receive equalisation, in milli-decibels Please refer to the technical documentation or the driver source code for the list of legal values for these options. +- fsl,no-spread-spectrum : disable spread-spectrum clocking on the SATA + link. Examples: -- cgit v1.2.3 From 4e6d1bbcc2c60e739ecae24314460c4395aafeac Mon Sep 17 00:00:00 2001 From: Mikko Perttunen Date: Fri, 18 Jul 2014 10:11:40 +0300 Subject: of: Add NVIDIA Tegra SATA controller binding This patch adds device tree binding documentation for the SATA controller found on NVIDIA Tegra SoCs. Signed-off-by: Mikko Perttunen Acked-by: Hans de Goede Signed-off-by: Tejun Heo --- .../devicetree/bindings/ata/tegra-sata.txt | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Documentation/devicetree/bindings/ata/tegra-sata.txt (limited to 'Documentation') diff --git a/Documentation/devicetree/bindings/ata/tegra-sata.txt b/Documentation/devicetree/bindings/ata/tegra-sata.txt new file mode 100644 index 000000000000..946f2072570b --- /dev/null +++ b/Documentation/devicetree/bindings/ata/tegra-sata.txt @@ -0,0 +1,30 @@ +Tegra124 SoC SATA AHCI controller + +Required properties : +- compatible : "nvidia,tegra124-ahci". +- reg : Should contain 2 entries: + - AHCI register set (SATA BAR5) + - SATA register set +- interrupts : Defines the interrupt used by SATA +- clocks : Must contain an entry for each entry in clock-names. + See ../clocks/clock-bindings.txt for details. +- clock-names : Must include the following entries: + - sata + - sata-oob + - cml1 + - pll_e +- resets : Must contain an entry for each entry in reset-names. + See ../reset/reset.txt for details. +- reset-names : Must include the following entries: + - sata + - sata-oob + - sata-cold +- phys : Must contain an entry for each entry in phy-names. + See ../phy/phy-bindings.txt for details. +- phy-names : Must include the following entries: + - sata-phy : XUSB PADCTL SATA PHY +- hvdd-supply : Defines the SATA HVDD regulator +- vddio-supply : Defines the SATA VDDIO regulator +- avdd-supply : Defines the SATA AVDD regulator +- target-5v-supply : Defines the SATA 5V power regulator +- target-12v-supply : Defines the SATA 12V power regulator -- cgit v1.2.3 From af64dce4cb3a848ece2431e1a18feebdcf57f444 Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Mon, 21 Jul 2014 09:28:36 +0100 Subject: ahci: st: Provide DT bindings for ST's SATA implementation Cc: devicetree@vger.kernel.org Cc: Srinivas Kandagatla Acked-by: Alexandre Torgue Signed-off-by: Lee Jones Signed-off-by: Tejun Heo --- Documentation/devicetree/bindings/ata/ahci-st.txt | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Documentation/devicetree/bindings/ata/ahci-st.txt (limited to 'Documentation') diff --git a/Documentation/devicetree/bindings/ata/ahci-st.txt b/Documentation/devicetree/bindings/ata/ahci-st.txt new file mode 100644 index 000000000000..0574a77a0b9f --- /dev/null +++ b/Documentation/devicetree/bindings/ata/ahci-st.txt @@ -0,0 +1,31 @@ +STMicroelectronics STi SATA controller + +This binding describes a SATA device. + +Required properties: + - compatible : Must be "st,sti-ahci" + - reg : Physical base addresses and length of register sets + - interrupts : Interrupt associated with the SATA device + - interrupt-names : Associated name must be; "hostc" + - resets : The power-down and soft-reset lines of SATA IP + - reset-names : Associated names must be; "pwr-dwn" and "sw-rst" + - clocks : The phandle for the clock + - clock-names : Associated name must be; "ahci_clk" + - phys : The phandle for the PHY device + - phy-names : Associated name must be; "ahci_phy" + +Example: + + sata0: sata@fe380000 { + compatible = "st,sti-ahci"; + reg = <0xfe380000 0x1000>; + interrupts = ; + interrupt-names = "hostc"; + phys = <&miphy365x_phy MIPHY_PORT_0 MIPHY_TYPE_SATA>; + phy-names = "ahci_phy"; + resets = <&powerdown STIH416_SATA0_POWERDOWN>, + <&softreset STIH416_SATA0_SOFTRESET>; + reset-names = "pwr-dwn", "sw-rst"; + clocks = <&clk_s_a0_ls CLK_ICN_REG>; + clock-names = "ahci_clk"; + }; -- cgit v1.2.3 From 724f24ee651c59aa3f42a8ea2d441cfac5015013 Mon Sep 17 00:00:00 2001 From: Antoine Ténart Date: Wed, 30 Jul 2014 20:13:59 +0200 Subject: Documentation: bindings: document the sub-nodes AHCI bindings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The libahci now allows to use multiple PHYs and to represent each port as a sub-node. Add these bindings to the documentation. Signed-off-by: Antoine Ténart Signed-off-by: Tejun Heo --- .../devicetree/bindings/ata/ahci-platform.txt | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'Documentation') diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index 549ceb8cb93b..4ab09f2202d4 100644 --- a/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt @@ -3,6 +3,10 @@ SATA nodes are defined to describe on-chip Serial ATA controllers. Each SATA controller should have its own node. +It is possible, but not required, to represent each port as a sub-node. +It allows to enable each port independently when dealing with multiple +PHYs. + Required properties: - compatible : compatible string, one of: - "allwinner,sun4i-a10-ahci" @@ -12,13 +16,30 @@ Required properties: - "snps,dwc-ahci" - "snps,exynos5440-ahci" - "snps,spear-ahci" + - "generic-ahci" - interrupts : - reg : +Please note that when using "generic-ahci" you must also specify a SoC specific +compatible: + compatible = "manufacturer,soc-model-ahci", "generic-ahci"; + Optional properties: - dma-coherent : Present if dma operations are coherent - clocks : a list of phandle + clock specifier pairs - target-supply : regulator for SATA target power +- phys : reference to the SATA PHY node +- phy-names : must be "sata-phy" + +Required properties when using sub-nodes: +- #address-cells : number of cells to encode an address +- #size-cells : number of cells representing the size of an address + + +Sub-nodes required properties: +- reg : the port number +- phys : reference to the SATA PHY node + Examples: sata@ffe08000 { @@ -34,3 +55,23 @@ Examples: clocks = <&pll6 0>, <&ahb_gates 25>; target-supply = <®_ahci_5v>; }; + +With sub-nodes: + sata@f7e90000 { + compatible = "marvell,berlin2q-achi", "generic-ahci"; + reg = <0xe90000 0x1000>; + interrupts = ; + clocks = <&chip CLKID_SATA>; + #address-cells = <1>; + #size-cells = <0>; + + sata0: sata-port@0 { + reg = <0>; + phys = <&sata_phy 0>; + }; + + sata1: sata-port@1 { + reg = <1>; + phys = <&sata_phy 1>; + }; + }; -- cgit v1.2.3