* [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
@ 2017-05-06 12:10 ` Linus Walleij
2017-05-06 12:10 ` [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge Linus Walleij
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Linus Walleij @ 2017-05-06 12:10 UTC (permalink / raw)
To: Tejun Heo, Bartlomiej Zolnierkiewicz, linux-ide
Cc: openwrt-devel, devicetree, John Feng-Hsin Chiang,
Paulius Zaleckas, Greentime Hu, Janos Laube, linux-arm-kernel
This adds device tree bindings for the Faraday Technology
FTIDE010 found in the Storlink/Storm/Cortina Systems Gemini SoC.
I am not 100% sure that this part if from Faraday Technology but
a lot points in that direction:
- A later IDE interface called FTIDE020 exist and share some
properties.
- The SATA bridge has the same Built In Self Test (BIST) that the
Faraday FTSATA100 seems to have, and it has version number 0100
in the device ID register, so this is very likely a FTSATA100
bundled with the FTIDE010.
Cc: devicetree@vger.kernel.org
Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Greentime: I think this may be interesting to you since the
FTIDE020 will need the same bindings so we can probably
just reuse them and maybe make the parser a library if you
want to upstream the FTIDE020.
Faraday people: I do not have it from a source that this
hardware is really FTIDE010 but I would be VERY surprised
if it is not. U-Boot has an FTIDE020 IDE controller
synthesized in the Andestech platform, and it has a similar
yet different register layout, featuring similar timing
set-ups:
http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.h
http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.c
---
.../devicetree/bindings/ata/faraday,ftide010.txt | 63 ++++++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/faraday,ftide010.txt
diff --git a/Documentation/devicetree/bindings/ata/faraday,ftide010.txt b/Documentation/devicetree/bindings/ata/faraday,ftide010.txt
new file mode 100644
index 000000000000..5048408c07c5
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/faraday,ftide010.txt
@@ -0,0 +1,63 @@
+* Faraday Technology FTIDE010 PATA controller
+
+This controller is the first Faraday IDE interface block, used in the
+StorLink SL2312 and SL3516, later known as the Cortina Systems Gemini
+platform. The controller can do PIO modes 0 through 4, Multi-word DMA
+(MWDM)modes 0 through 2 and Ultra DMA modes 0 through 6.
+
+On the Gemini platform, this PATA block is accompanied by a PATA to
+SATA bridge in order to support SATA. This is why a phandle to that
+controller is compulsory on that platform.
+
+The timing properties are unique per-SoC, not per-board.
+
+Required properties:
+- compatible: should be one of
+ "cortina,gemini-pata", "faraday,ftide010"
+ "faraday,ftide010"
+- interrupts: interrupt for the block
+- reg: registers and size for the block
+
+ The unit of the below required timings is two clock periods of the ATA
+ reference clock which is 30 nanoseconds per unit at 66MHz and 20 nanoseconds
+ per unit at 50 MHz.
+
+- faraday,pio-active-time: array of 5 elements for T2 timing for Mode 0,
+ 1, 2, 3 and 4. Range 0..15.
+- faraday,pio-recovery-time: array of 5 elements for T2l timing for Mode 0,
+ 1, 2, 3 and 4. Range 0..15.
+- faraday,mdma-50-active-time: array of 4 elements for Td timing for multi
+ word DMA, Mode 0, 1, and 2 at 50 MHz. Range 0..15.
+- faraday,mdma-50-recovery-time: array of 4 elements for Tk timing for
+ multi word DMA, Mode 0, 1 and 2 at 50 MHz. Range 0..15.
+- faraday,mdma-66-active-time: array of 4 elements for Td timing for multi
+ word DMA, Mode 0, 1 and 2 at 50 MHz. Range 0..15.
+- faraday,mdma-66-recovery-time: array of 4 elements for Tk timing for
+ multi word DMA, Mode 0, 1 and 2 at 50 MHz. Range 0..15.
+- faraday,udma-50-setup-time: array of 4 elements for Tvds timing for ultra
+ DMA, Mode 0, 1, 2, 3, 4 and 5 at 50 MHz. Range 0..7.
+- faraday,udma-50-hold-time: array of 4 elements for Tdvh timing for
+ multi word DMA, Mode 0, 1, 2, 3, 4 and 5 at 50 MHz, Range 0..7.
+- faraday,udma-66-setup-time: array of 4 elements for Tvds timing for multi
+ word DMA, Mode 0, 1, 2, 3, 4, 5 and 6 at 50 MHz. Range 0..7.
+- faraday,udma-66-hold-time: array of 4 elements for Tdvh timing for
+ multi word DMA, Mode 0, 1, 2, 3, 4, 5 and 6 at 50 MHz. Range 0..7.
+
+Optional properties:
+- clocks: a SoC clock running the peripheral.
+- clock-names: should be set to "PCLK" for the peripheral clock.
+
+Required properties for "cortina,gemini-pata" compatible:
+- sata: a phande to the Gemini PATA to SATA bridge, see
+ cortina,gemini-sata-bridge.txt for details.
+
+Example:
+
+ata@63000000 {
+ compatible = "cortina,gemini-pata", "faraday,ftide010";
+ reg = <0x63000000 0x100>;
+ interrupts = <4 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&gcc GEMINI_CLK_GATE_IDE>;
+ clock-names = "PCLK";
+ sata = <&sata>;
+};
--
2.9.3
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
2017-05-06 12:10 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Linus Walleij
@ 2017-05-06 12:10 ` Linus Walleij
2017-05-08 10:49 ` Bartlomiej Zolnierkiewicz
[not found] ` <20170506121053.11554-2-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-05-07 16:39 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Hans Ulli Kroll
` (2 subsequent siblings)
3 siblings, 2 replies; 15+ messages in thread
From: Linus Walleij @ 2017-05-06 12:10 UTC (permalink / raw)
To: Tejun Heo, Bartlomiej Zolnierkiewicz, linux-ide
Cc: Janos Laube, Paulius Zaleckas, openwrt-devel, linux-arm-kernel,
Hans Ulli Kroll, Florian Fainelli, Linus Walleij, devicetree,
John Feng-Hsin Chiang, Greentime Hu
This adds device tree bindings for the Cortina Systems Gemini
PATA to SATA bridge.
Cc: devicetree@vger.kernel.org
Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
.../bindings/ata/cortina,gemini-sata-bridge.txt | 55 ++++++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
diff --git a/Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt b/Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
new file mode 100644
index 000000000000..9fe92818b2fb
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
@@ -0,0 +1,55 @@
+* Cortina Systems Gemini SATA Bridge
+
+The Gemini SATA bridge in a SoC-internal PATA to SATA bridge that
+takes two Faraday Technology FTIDE010 PATA controllers and bridges
+them in different configurations to two SATA ports.
+
+Required properties:
+- compatible: should be
+ "cortina,gemini-sata-bridge"
+- reg: registers and size for the block
+- resets: phandles to the reset lines for both SATA bridges
+- reset-names: must be "sata0", "sata1"
+- clocks: phandles to the compulsory peripheral clocks
+- clock-names: must be "SATA0_PCLK", "SATA1_PCLK"
+- syscon: a phandle to the global Gemini system controller
+- cortina,gemini-ata-muxmode: tell the desired multiplexing mode for
+ the ATA controller and SATA bridges. Values 0..3:
+ Mode 0: ata0 master <-> sata0
+ ata1 master <-> sata1
+ ata0 slave interface brought out on IDE pads
+ Mode 1: ata0 master <-> sata0
+ ata1 master <-> sata1
+ ata1 slave interface brought out on IDE pads
+ Mode 2: ata1 master <-> sata1
+ ata1 slave <-> sata0
+ ata0 master and slave interfaces brought out
+ on IDE pads
+ Mode 3: ata0 master <-> sata0
+ ata1 slave <-> sata1
+ ata1 master and slave interfaces brought out
+ on IDE pads
+
+Optional boolean properties:
+- cortina,gemini-enable-ide-pins: enables the PATA to IDE connection.
+ The muxmode setting decides whether ATA0 or ATA1 is brought out,
+ and whether master, slave or both interfaces get brought out.
+- cortina,gemini-enable-sata-bridge: enables the PATA to SATA bridge
+ inside the Gemnini SoC. The Muxmode decides what PATA blocks will
+ be muxed out and how.
+
+Example:
+
+sata: sata@46000000 {
+ compatible = "cortina,gemini-sata-bridge";
+ reg = <0x46000000 0x100>;
+ resets = <&rcon 26>, <&rcon 27>;
+ reset-names = "sata0", "sata1";
+ clocks = <&gcc GEMINI_CLK_GATE_SATA0>,
+ <&gcc GEMINI_CLK_GATE_SATA1>;
+ clock-names = "SATA0_PCLK", "SATA1_PCLK";
+ syscon = <&syscon>;
+ cortina,gemini-ata-muxmode = <3>;
+ cortina,gemini-enable-ide-pins;
+ cortina,gemini-enable-sata-bridge;
+};
--
2.9.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
2017-05-06 12:10 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Linus Walleij
2017-05-06 12:10 ` [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge Linus Walleij
@ 2017-05-07 16:39 ` Hans Ulli Kroll
2017-05-08 10:47 ` Bartlomiej Zolnierkiewicz
[not found] ` <20170506121053.11554-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
3 siblings, 0 replies; 15+ messages in thread
From: Hans Ulli Kroll @ 2017-05-07 16:39 UTC (permalink / raw)
To: Linus Walleij
Cc: openwrt-devel, devicetree, John Feng-Hsin Chiang,
Paulius Zaleckas, Bartlomiej Zolnierkiewicz, linux-ide,
Greentime Hu, Tejun Heo, Janos Laube, linux-arm-kernel
Hi Linus
On Sat, 6 May 2017, Linus Walleij wrote:
> This adds device tree bindings for the Faraday Technology
> FTIDE010 found in the Storlink/Storm/Cortina Systems Gemini SoC.
>
> I am not 100% sure that this part if from Faraday Technology but
> a lot points in that direction:
>
> - A later IDE interface called FTIDE020 exist and share some
> properties.
>
> - The SATA bridge has the same Built In Self Test (BIST) that the
> Faraday FTSATA100 seems to have, and it has version number 0100
> in the device ID register, so this is very likely a FTSATA100
> bundled with the FTIDE010.
>
> Cc: devicetree@vger.kernel.org
> Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
> Cc: Greentime Hu <green.hu@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
nice work !
you can add my
Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
on the whole patch set.
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
2017-05-06 12:10 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Linus Walleij
2017-05-06 12:10 ` [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge Linus Walleij
2017-05-07 16:39 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Hans Ulli Kroll
@ 2017-05-08 10:47 ` Bartlomiej Zolnierkiewicz
2017-05-08 20:26 ` Linus Walleij
[not found] ` <20170506121053.11554-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
3 siblings, 1 reply; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2017-05-08 10:47 UTC (permalink / raw)
To: Linus Walleij
Cc: Tejun Heo, linux-ide, Janos Laube, Paulius Zaleckas,
openwrt-devel, linux-arm-kernel, Hans Ulli Kroll,
Florian Fainelli, devicetree, John Feng-Hsin Chiang, Greentime Hu
Hi,
On Saturday, May 06, 2017 02:10:50 PM Linus Walleij wrote:
> This adds device tree bindings for the Faraday Technology
> FTIDE010 found in the Storlink/Storm/Cortina Systems Gemini SoC.
>
> I am not 100% sure that this part if from Faraday Technology but
> a lot points in that direction:
>
> - A later IDE interface called FTIDE020 exist and share some
> properties.
>
> - The SATA bridge has the same Built In Self Test (BIST) that the
> Faraday FTSATA100 seems to have, and it has version number 0100
> in the device ID register, so this is very likely a FTSATA100
> bundled with the FTIDE010.
>
> Cc: devicetree@vger.kernel.org
> Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
> Cc: Greentime Hu <green.hu@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> Greentime: I think this may be interesting to you since the
> FTIDE020 will need the same bindings so we can probably
> just reuse them and maybe make the parser a library if you
> want to upstream the FTIDE020.
>
> Faraday people: I do not have it from a source that this
> hardware is really FTIDE010 but I would be VERY surprised
> if it is not. U-Boot has an FTIDE020 IDE controller
> synthesized in the Andestech platform, and it has a similar
> yet different register layout, featuring similar timing
> set-ups:
> http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.h
> http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.c
> ---
> .../devicetree/bindings/ata/faraday,ftide010.txt | 63 ++++++++++++++++++++++
> 1 file changed, 63 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/faraday,ftide010.txt
>
> diff --git a/Documentation/devicetree/bindings/ata/faraday,ftide010.txt b/Documentation/devicetree/bindings/ata/faraday,ftide010.txt
> new file mode 100644
> index 000000000000..5048408c07c5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/faraday,ftide010.txt
> @@ -0,0 +1,63 @@
> +* Faraday Technology FTIDE010 PATA controller
> +
> +This controller is the first Faraday IDE interface block, used in the
> +StorLink SL2312 and SL3516, later known as the Cortina Systems Gemini
> +platform. The controller can do PIO modes 0 through 4, Multi-word DMA
> +(MWDM)modes 0 through 2 and Ultra DMA modes 0 through 6.
> +
> +On the Gemini platform, this PATA block is accompanied by a PATA to
> +SATA bridge in order to support SATA. This is why a phandle to that
> +controller is compulsory on that platform.
> +
> +The timing properties are unique per-SoC, not per-board.
> +
> +Required properties:
> +- compatible: should be one of
> + "cortina,gemini-pata", "faraday,ftide010"
> + "faraday,ftide010"
> +- interrupts: interrupt for the block
> +- reg: registers and size for the block
> +
> + The unit of the below required timings is two clock periods of the ATA
> + reference clock which is 30 nanoseconds per unit at 66MHz and 20 nanoseconds
> + per unit at 50 MHz.
> +
> +- faraday,pio-active-time: array of 5 elements for T2 timing for Mode 0,
> + 1, 2, 3 and 4. Range 0..15.
> +- faraday,pio-recovery-time: array of 5 elements for T2l timing for Mode 0,
> + 1, 2, 3 and 4. Range 0..15.
> +- faraday,mdma-50-active-time: array of 4 elements for Td timing for multi
> + word DMA, Mode 0, 1, and 2 at 50 MHz. Range 0..15.
> +- faraday,mdma-50-recovery-time: array of 4 elements for Tk timing for
> + multi word DMA, Mode 0, 1 and 2 at 50 MHz. Range 0..15.
> +- faraday,mdma-66-active-time: array of 4 elements for Td timing for multi
> + word DMA, Mode 0, 1 and 2 at 50 MHz. Range 0..15.
at 66 MHZ?
> +- faraday,mdma-66-recovery-time: array of 4 elements for Tk timing for
at 66 MHZ?
> + multi word DMA, Mode 0, 1 and 2 at 50 MHz. Range 0..15.
> +- faraday,udma-50-setup-time: array of 4 elements for Tvds timing for ultra
> + DMA, Mode 0, 1, 2, 3, 4 and 5 at 50 MHz. Range 0..7.
> +- faraday,udma-50-hold-time: array of 4 elements for Tdvh timing for
> + multi word DMA, Mode 0, 1, 2, 3, 4 and 5 at 50 MHz, Range 0..7.
> +- faraday,udma-66-setup-time: array of 4 elements for Tvds timing for multi
> + word DMA, Mode 0, 1, 2, 3, 4, 5 and 6 at 50 MHz. Range 0..7.
at 66 MHZ?
> +- faraday,udma-66-hold-time: array of 4 elements for Tdvh timing for
> + multi word DMA, Mode 0, 1, 2, 3, 4, 5 and 6 at 50 MHz. Range 0..7.
at 66 MHZ?
Also for all current drivers we just put timing values (or a logic
to calculate them from the standard ATA timings) into the driver
itself and not device tree (as they are based on values are dictated
by ATA standard and should not change for a given controller type).
> +Optional properties:
> +- clocks: a SoC clock running the peripheral.
> +- clock-names: should be set to "PCLK" for the peripheral clock.
> +
> +Required properties for "cortina,gemini-pata" compatible:
> +- sata: a phande to the Gemini PATA to SATA bridge, see
> + cortina,gemini-sata-bridge.txt for details.
> +
> +Example:
> +
> +ata@63000000 {
> + compatible = "cortina,gemini-pata", "faraday,ftide010";
> + reg = <0x63000000 0x100>;
> + interrupts = <4 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&gcc GEMINI_CLK_GATE_IDE>;
> + clock-names = "PCLK";
> + sata = <&sata>;
> +};
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
2017-05-06 12:10 ` [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge Linus Walleij
@ 2017-05-08 10:49 ` Bartlomiej Zolnierkiewicz
2017-05-08 20:33 ` Linus Walleij
[not found] ` <20170506121053.11554-2-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
1 sibling, 1 reply; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2017-05-08 10:49 UTC (permalink / raw)
To: Linus Walleij
Cc: Tejun Heo, linux-ide, Janos Laube, Paulius Zaleckas,
openwrt-devel, linux-arm-kernel, Hans Ulli Kroll,
Florian Fainelli, devicetree, John Feng-Hsin Chiang, Greentime Hu
On Saturday, May 06, 2017 02:10:51 PM Linus Walleij wrote:
> This adds device tree bindings for the Cortina Systems Gemini
> PATA to SATA bridge.
>
> Cc: devicetree@vger.kernel.org
> Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
> Cc: Greentime Hu <green.hu@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> .../bindings/ata/cortina,gemini-sata-bridge.txt | 55 ++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
>
> diff --git a/Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt b/Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
> new file mode 100644
> index 000000000000..9fe92818b2fb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
> @@ -0,0 +1,55 @@
> +* Cortina Systems Gemini SATA Bridge
> +
> +The Gemini SATA bridge in a SoC-internal PATA to SATA bridge that
> +takes two Faraday Technology FTIDE010 PATA controllers and bridges
> +them in different configurations to two SATA ports.
> +
> +Required properties:
> +- compatible: should be
> + "cortina,gemini-sata-bridge"
> +- reg: registers and size for the block
> +- resets: phandles to the reset lines for both SATA bridges
> +- reset-names: must be "sata0", "sata1"
> +- clocks: phandles to the compulsory peripheral clocks
> +- clock-names: must be "SATA0_PCLK", "SATA1_PCLK"
> +- syscon: a phandle to the global Gemini system controller
> +- cortina,gemini-ata-muxmode: tell the desired multiplexing mode for
> + the ATA controller and SATA bridges. Values 0..3:
> + Mode 0: ata0 master <-> sata0
> + ata1 master <-> sata1
> + ata0 slave interface brought out on IDE pads
> + Mode 1: ata0 master <-> sata0
> + ata1 master <-> sata1
> + ata1 slave interface brought out on IDE pads
> + Mode 2: ata1 master <-> sata1
> + ata1 slave <-> sata0
> + ata0 master and slave interfaces brought out
> + on IDE pads
> + Mode 3: ata0 master <-> sata0
> + ata1 slave <-> sata1
ata0 slave?
> + ata1 master and slave interfaces brought out
> + on IDE pads
> +
> +Optional boolean properties:
> +- cortina,gemini-enable-ide-pins: enables the PATA to IDE connection.
> + The muxmode setting decides whether ATA0 or ATA1 is brought out,
> + and whether master, slave or both interfaces get brought out.
> +- cortina,gemini-enable-sata-bridge: enables the PATA to SATA bridge
> + inside the Gemnini SoC. The Muxmode decides what PATA blocks will
> + be muxed out and how.
> +
> +Example:
> +
> +sata: sata@46000000 {
> + compatible = "cortina,gemini-sata-bridge";
> + reg = <0x46000000 0x100>;
> + resets = <&rcon 26>, <&rcon 27>;
> + reset-names = "sata0", "sata1";
> + clocks = <&gcc GEMINI_CLK_GATE_SATA0>,
> + <&gcc GEMINI_CLK_GATE_SATA1>;
> + clock-names = "SATA0_PCLK", "SATA1_PCLK";
> + syscon = <&syscon>;
> + cortina,gemini-ata-muxmode = <3>;
> + cortina,gemini-enable-ide-pins;
> + cortina,gemini-enable-sata-bridge;
> +};
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
2017-05-08 10:47 ` Bartlomiej Zolnierkiewicz
@ 2017-05-08 20:26 ` Linus Walleij
2017-05-10 13:59 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 15+ messages in thread
From: Linus Walleij @ 2017-05-08 20:26 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz
Cc: Tejun Heo, linux-ide-u79uwXL29TY76Z2rM5mHXA, Janos Laube,
Paulius Zaleckas, openwrt-devel-p3rKhJxN3npAfugRpC6u6w,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Hans Ulli Kroll, Florian Fainelli,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
John Feng-Hsin Chiang, Greentime Hu
On Mon, May 8, 2017 at 12:47 PM, Bartlomiej Zolnierkiewicz
<b.zolnierkie-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
> Also for all current drivers we just put timing values (or a logic
> to calculate them from the standard ATA timings) into the driver
> itself and not device tree (as they are based on values are dictated
> by ATA standard and should not change for a given controller type).
I had it like that at first (and I can of course switch it back). But I
came to think this is better.
I was looking at these values from the point that it depends a bit
on the silicon where it is synthesized. So the vendor tree has
things like this:
#ifndef SL2312_FPGA_IDE
static unsigned char PIO_TIMING[5] = { 0xaa, 0xa3, 0xa1, 0x33, 0x31 };
static unsigned char TIMING_MDMA_50M[3] = { 0x66, 0x22, 0x21 };
static unsigned char TIMING_MDMA_66M[3] = { 0x88, 0x32, 0x31 };
static unsigned char TIMING_UDMA_50M[6] = { 0x33, 0x31, 0x21, 0x21,
0x11, 0x91 };
static unsigned char TIMING_UDMA_66M[7] = { 0x44, 0x42, 0x31, 0x21,
0x11, 0x91, 0x91};
#else
static unsigned char PIO_TIMING[5] = { 0x88, 0x82, 0x81, 0x32, 0x21 };
static unsigned char TIMING_MDMA_50M[3] = { 0x33, 0x11, 0x11 };
static unsigned char TIMING_MDMA_66M[3] = { 0x33, 0x11, 0x11 };
static unsigned char TIMING_UDMA_50M[6] = { 0x22, 0x11, 0x11, 0x11 };
static unsigned char TIMING_UDMA_66M[7] = { 0x22, 0x11, 0x11, 0x11 };
#endif
(From D-Link DIR-685 source release from Storlink/Cortina board support.)
So depending on whether they use an FPGA or an ASIC the values are
different, no matter what frequency (50 or 66 MHz) is used. So it is not
derived from frequency.
So I think it makes most sense to have it in the device tree as we don't
know what designs are out there.
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
2017-05-08 10:49 ` Bartlomiej Zolnierkiewicz
@ 2017-05-08 20:33 ` Linus Walleij
2017-05-08 21:16 ` Tom Psyborg
0 siblings, 1 reply; 15+ messages in thread
From: Linus Walleij @ 2017-05-08 20:33 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz
Cc: Tejun Heo, linux-ide, Janos Laube, Paulius Zaleckas,
openwrt-devel, linux-arm-kernel@lists.infradead.org,
Hans Ulli Kroll, Florian Fainelli, devicetree@vger.kernel.org,
John Feng-Hsin Chiang, Greentime Hu
On Mon, May 8, 2017 at 12:49 PM, Bartlomiej Zolnierkiewicz
<b.zolnierkie@samsung.com> wrote:
> On Saturday, May 06, 2017 02:10:51 PM Linus Walleij wrote:
>> + Mode 3: ata0 master <-> sata0
>> + ata1 slave <-> sata1
>
> ata0 slave?
>
>> + ata1 master and slave interfaces brought out
>> + on IDE pads
Of course. Thanks for reading close, much appreciated!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
2017-05-08 20:33 ` Linus Walleij
@ 2017-05-08 21:16 ` Tom Psyborg
2017-05-08 22:52 ` [OpenWrt-Devel] " Florian Fainelli
0 siblings, 1 reply; 15+ messages in thread
From: Tom Psyborg @ 2017-05-08 21:16 UTC (permalink / raw)
To: Linus Walleij
Cc: openwrt-devel, devicetree@vger.kernel.org, John Feng-Hsin Chiang,
Paulius Zaleckas, Bartlomiej Zolnierkiewicz, linux-ide,
Greentime Hu, Tejun Heo, Janos Laube,
linux-arm-kernel@lists.infradead.org
[-- Attachment #1.1: Type: text/plain, Size: 758 bytes --]
Is it ever going to be added so this endless spam can end?
On 8 May 2017 at 22:33, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Mon, May 8, 2017 at 12:49 PM, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@samsung.com> wrote:
> > On Saturday, May 06, 2017 02:10:51 PM Linus Walleij wrote:
>
> >> + Mode 3: ata0 master <-> sata0
> >> + ata1 slave <-> sata1
> >
> > ata0 slave?
> >
> >> + ata1 master and slave interfaces brought out
> >> + on IDE pads
>
> Of course. Thanks for reading close, much appreciated!
>
> Yours,
> Linus Walleij
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
[-- Attachment #1.2: Type: text/html, Size: 1441 bytes --]
[-- Attachment #2: Type: text/plain, Size: 172 bytes --]
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [OpenWrt-Devel] [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
2017-05-08 21:16 ` Tom Psyborg
@ 2017-05-08 22:52 ` Florian Fainelli
2017-05-09 6:39 ` Linus Walleij
0 siblings, 1 reply; 15+ messages in thread
From: Florian Fainelli @ 2017-05-08 22:52 UTC (permalink / raw)
To: Tom Psyborg, Linus Walleij
Cc: openwrt-devel, devicetree@vger.kernel.org, John Feng-Hsin Chiang,
Paulius Zaleckas, Bartlomiej Zolnierkiewicz, linux-ide,
Greentime Hu, Tejun Heo, Janos Laube,
linux-arm-kernel@lists.infradead.org
On 05/08/2017 02:16 PM, Tom Psyborg wrote:
> Is it ever going to be added so this endless spam can end?
It's the first iteration of the (S)ATA patchset, and if you are not
interested, just ignore the thread.
Linus is doing everyone a great favor here by making sure that this
platform gets properly supported upstream such that the cost of
maintaining in OpenWrt/LEDE/anywhere else comes down to almost zero.
Almost forgot: please don't top post.
>
>
> On 8 May 2017 at 22:33, Linus Walleij <linus.walleij@linaro.org
> <mailto:linus.walleij@linaro.org>> wrote:
>
> On Mon, May 8, 2017 at 12:49 PM, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@samsung.com <mailto:b.zolnierkie@samsung.com>> wrote:
> > On Saturday, May 06, 2017 02:10:51 PM Linus Walleij wrote:
>
> >> + Mode 3: ata0 master <-> sata0
> >> + ata1 slave <-> sata1
> >
> > ata0 slave?
> >
> >> + ata1 master and slave interfaces brought out
> >> + on IDE pads
>
> Of course. Thanks for reading close, much appreciated!
>
> Yours,
> Linus Walleij
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org <mailto:openwrt-devel@lists.openwrt.org>
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> <https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel>
>
>
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
--
Florian
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [OpenWrt-Devel] [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
2017-05-08 22:52 ` [OpenWrt-Devel] " Florian Fainelli
@ 2017-05-09 6:39 ` Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2017-05-09 6:39 UTC (permalink / raw)
To: Florian Fainelli
Cc: Tom Psyborg, openwrt-devel, devicetree@vger.kernel.org,
John Feng-Hsin Chiang, Paulius Zaleckas,
Bartlomiej Zolnierkiewicz, linux-ide, Greentime Hu, Tejun Heo,
Janos Laube, linux-arm-kernel@lists.infradead.org
On Tue, May 9, 2017 at 12:52 AM, Florian Fainelli <f.fainelli@gmail.com> wrote:
> On 05/08/2017 02:16 PM, Tom Psyborg wrote:
>> Is it ever going to be added so this endless spam can end?
>
> It's the first iteration of the (S)ATA patchset, and if you are not
> interested, just ignore the thread.
I mailed with Tom and it turns out he thinks openwrt-devel is getting
spammed with these submissions.
It's true in a sense: the patches are targeted for upstream and not
for the openwrt repo.
It's no big deal, I don't want to unnecessarily increase traffic on
openwrt-devel if it is annoying to some.
> Linus is doing everyone a great favor here by making sure that this
> platform gets properly supported upstream such that the cost of
> maintaining in OpenWrt/LEDE/anywhere else comes down to almost zero.
I am porting to D-Link DIR-685 and DNS-313 as part of the
process, so we have two new high-volume routers/NAS boxes
as part of the process. I don't know how to fix the OpenWRT
install and builds for these in the end though.
It is actually probably an even bigger win though.
We have learnt that Faraday Technology is sprinkling silicon blocks
all over any silicon foundries close to Taiwan. Their stuff appear
to be in a lot of cheap routers, NAS etc. They use the number of
successful deployments of the IP block as a selling point. I guess
these guys are commonly called in to consult when kickstarting
silicon design, simply.
It turns out that this and other silicon vendors such as Grain Media,
Andestech, Moschip etc are using the same silicon blocks, so
a bunch of out-of-tree code is actually just duplicate implementations
of Faraday drivers... we already merged Gemini and MoxaArt in
the upstream kernel so we have a common interrupt chip, timer,
PCI driver, and now this IDE/ATA driver (not the FTIDE200 yet though).
So there is maybe not as much unique silicon
in the world as we have come to think, we need to pay attention
to how register maps look on different things.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
2017-05-08 20:26 ` Linus Walleij
@ 2017-05-10 13:59 ` Bartlomiej Zolnierkiewicz
2017-05-10 15:48 ` Linus Walleij
0 siblings, 1 reply; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2017-05-10 13:59 UTC (permalink / raw)
To: Linus Walleij
Cc: Tejun Heo, linux-ide, Janos Laube, Paulius Zaleckas,
openwrt-devel, linux-arm-kernel@lists.infradead.org,
Hans Ulli Kroll, Florian Fainelli, devicetree@vger.kernel.org,
John Feng-Hsin Chiang, Greentime Hu
On Monday, May 08, 2017 10:26:49 PM Linus Walleij wrote:
> On Mon, May 8, 2017 at 12:47 PM, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@samsung.com> wrote:
>
> > Also for all current drivers we just put timing values (or a logic
> > to calculate them from the standard ATA timings) into the driver
> > itself and not device tree (as they are based on values are dictated
> > by ATA standard and should not change for a given controller type).
>
> I had it like that at first (and I can of course switch it back). But I
> came to think this is better.
>
> I was looking at these values from the point that it depends a bit
> on the silicon where it is synthesized. So the vendor tree has
> things like this:
>
> #ifndef SL2312_FPGA_IDE
> static unsigned char PIO_TIMING[5] = { 0xaa, 0xa3, 0xa1, 0x33, 0x31 };
> static unsigned char TIMING_MDMA_50M[3] = { 0x66, 0x22, 0x21 };
> static unsigned char TIMING_MDMA_66M[3] = { 0x88, 0x32, 0x31 };
> static unsigned char TIMING_UDMA_50M[6] = { 0x33, 0x31, 0x21, 0x21,
> 0x11, 0x91 };
> static unsigned char TIMING_UDMA_66M[7] = { 0x44, 0x42, 0x31, 0x21,
> 0x11, 0x91, 0x91};
> #else
> static unsigned char PIO_TIMING[5] = { 0x88, 0x82, 0x81, 0x32, 0x21 };
> static unsigned char TIMING_MDMA_50M[3] = { 0x33, 0x11, 0x11 };
> static unsigned char TIMING_MDMA_66M[3] = { 0x33, 0x11, 0x11 };
> static unsigned char TIMING_UDMA_50M[6] = { 0x22, 0x11, 0x11, 0x11 };
> static unsigned char TIMING_UDMA_66M[7] = { 0x22, 0x11, 0x11, 0x11 };
> #endif
>
> (From D-Link DIR-685 source release from Storlink/Cortina board support.)
>
> So depending on whether they use an FPGA or an ASIC the values are
> different, no matter what frequency (50 or 66 MHz) is used. So it is not
> derived from frequency.
>
> So I think it makes most sense to have it in the device tree as we don't
> know what designs are out there.
I still would prefer to keep timing values private to the driver and just
select the controller type (FPGA/ASIC) using the device tree.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
2017-05-10 13:59 ` Bartlomiej Zolnierkiewicz
@ 2017-05-10 15:48 ` Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2017-05-10 15:48 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz
Cc: Tejun Heo, linux-ide-u79uwXL29TY76Z2rM5mHXA, Janos Laube,
Paulius Zaleckas, openwrt-devel-p3rKhJxN3npAfugRpC6u6w,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Hans Ulli Kroll, Florian Fainelli,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
John Feng-Hsin Chiang, Greentime Hu
On Wed, May 10, 2017 at 3:59 PM, Bartlomiej Zolnierkiewicz
<b.zolnierkie-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
> On Monday, May 08, 2017 10:26:49 PM Linus Walleij wrote:
>> On Mon, May 8, 2017 at 12:47 PM, Bartlomiej Zolnierkiewicz
>> <b.zolnierkie-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
>> So depending on whether they use an FPGA or an ASIC the values are
>> different, no matter what frequency (50 or 66 MHz) is used. So it is not
>> derived from frequency.
>>
>> So I think it makes most sense to have it in the device tree as we don't
>> know what designs are out there.
>
> I still would prefer to keep timing values private to the driver and just
> select the controller type (FPGA/ASIC) using the device tree.
OK I'll revert to static timings in the driver, no problem.
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
[not found] ` <20170506121053.11554-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
@ 2017-05-12 15:24 ` Rob Herring
0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2017-05-12 15:24 UTC (permalink / raw)
To: Linus Walleij
Cc: Tejun Heo, Bartlomiej Zolnierkiewicz,
linux-ide-u79uwXL29TY76Z2rM5mHXA, Janos Laube, Paulius Zaleckas,
openwrt-devel-p3rKhJxN3npAfugRpC6u6w,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
Hans Ulli Kroll, Florian Fainelli,
devicetree-u79uwXL29TY76Z2rM5mHXA, John Feng-Hsin Chiang,
Greentime Hu
On Sat, May 06, 2017 at 02:10:50PM +0200, Linus Walleij wrote:
> This adds device tree bindings for the Faraday Technology
> FTIDE010 found in the Storlink/Storm/Cortina Systems Gemini SoC.
>
> I am not 100% sure that this part if from Faraday Technology but
s/if/is/
> a lot points in that direction:
>
> - A later IDE interface called FTIDE020 exist and share some
> properties.
>
> - The SATA bridge has the same Built In Self Test (BIST) that the
> Faraday FTSATA100 seems to have, and it has version number 0100
> in the device ID register, so this is very likely a FTSATA100
> bundled with the FTIDE010.
>
> Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: John Feng-Hsin Chiang <john453-w0jeGXs5+AWXmMXjJBpWqg@public.gmane.org>
> Cc: Greentime Hu <green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> ---
> Greentime: I think this may be interesting to you since the
> FTIDE020 will need the same bindings so we can probably
> just reuse them and maybe make the parser a library if you
> want to upstream the FTIDE020.
>
> Faraday people: I do not have it from a source that this
> hardware is really FTIDE010 but I would be VERY surprised
> if it is not. U-Boot has an FTIDE020 IDE controller
> synthesized in the Andestech platform, and it has a similar
> yet different register layout, featuring similar timing
> set-ups:
> http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.h
> http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.c
> ---
> .../devicetree/bindings/ata/faraday,ftide010.txt | 63 ++++++++++++++++++++++
> 1 file changed, 63 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/faraday,ftide010.txt
Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge
[not found] ` <20170506121053.11554-2-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
@ 2017-05-12 15:30 ` Rob Herring
0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2017-05-12 15:30 UTC (permalink / raw)
To: Linus Walleij
Cc: Tejun Heo, Bartlomiej Zolnierkiewicz,
linux-ide-u79uwXL29TY76Z2rM5mHXA, Janos Laube, Paulius Zaleckas,
openwrt-devel-p3rKhJxN3npAfugRpC6u6w,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
Hans Ulli Kroll, Florian Fainelli,
devicetree-u79uwXL29TY76Z2rM5mHXA, John Feng-Hsin Chiang,
Greentime Hu
On Sat, May 06, 2017 at 02:10:51PM +0200, Linus Walleij wrote:
> This adds device tree bindings for the Cortina Systems Gemini
> PATA to SATA bridge.
>
> Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: John Feng-Hsin Chiang <john453-w0jeGXs5+AWXmMXjJBpWqg@public.gmane.org>
> Cc: Greentime Hu <green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> ---
> .../bindings/ata/cortina,gemini-sata-bridge.txt | 55 ++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/cortina,gemini-sata-bridge.txt
Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010
@ 2017-05-19 23:05 Linus Walleij
0 siblings, 0 replies; 15+ messages in thread
From: Linus Walleij @ 2017-05-19 23:05 UTC (permalink / raw)
To: Tejun Heo, Bartlomiej Zolnierkiewicz, linux-ide
Cc: Janos Laube, Paulius Zaleckas, linux-arm-kernel, Hans Ulli Kroll,
Florian Fainelli, Linus Walleij, devicetree,
John Feng-Hsin Chiang, Greentime Hu
This adds device tree bindings for the Faraday Technology
FTIDE010 found in the Storlink/Storm/Cortina Systems Gemini SoC.
I am not 100% sure that this part is from Faraday Technology but
a lot points in that direction:
- A later IDE interface called FTIDE020 exist and share some
properties.
- The SATA bridge has the same Built In Self Test (BIST) that the
Faraday FTSATA100 seems to have, and it has version number 0100
in the device ID register, so this is very likely a FTSATA100
bundled with the FTIDE010.
Cc: devicetree@vger.kernel.org
Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v1->v2:
- Cut the timings defintions from the device tree. Hard-code
it in the driver instead, keeping the nice layout and
configurability by making it easy to tweak the timings
in the code.
- Fix up some confused references to 50 MHz in 66 MHz
properties.
Greentime: I think this may be interesting to you since the
FTIDE020 will need the same bindings so we can probably
just reuse them and maybe make the parser a library if you
want to upstream the FTIDE020.
Faraday people: I do not have it from a source that this
hardware is really FTIDE010 but I would be VERY surprised
if it is not. U-Boot has an FTIDE020 IDE controller
synthesized in the Andestech platform, and it has a similar
yet different register layout, featuring similar timing
set-ups:
http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.h
http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/block/ftide020.c
---
.../devicetree/bindings/ata/faraday,ftide010.txt | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/faraday,ftide010.txt
diff --git a/Documentation/devicetree/bindings/ata/faraday,ftide010.txt b/Documentation/devicetree/bindings/ata/faraday,ftide010.txt
new file mode 100644
index 000000000000..a0c64a29104d
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/faraday,ftide010.txt
@@ -0,0 +1,38 @@
+* Faraday Technology FTIDE010 PATA controller
+
+This controller is the first Faraday IDE interface block, used in the
+StorLink SL2312 and SL3516, later known as the Cortina Systems Gemini
+platform. The controller can do PIO modes 0 through 4, Multi-word DMA
+(MWDM)modes 0 through 2 and Ultra DMA modes 0 through 6.
+
+On the Gemini platform, this PATA block is accompanied by a PATA to
+SATA bridge in order to support SATA. This is why a phandle to that
+controller is compulsory on that platform.
+
+The timing properties are unique per-SoC, not per-board.
+
+Required properties:
+- compatible: should be one of
+ "cortina,gemini-pata", "faraday,ftide010"
+ "faraday,ftide010"
+- interrupts: interrupt for the block
+- reg: registers and size for the block
+
+Optional properties:
+- clocks: a SoC clock running the peripheral.
+- clock-names: should be set to "PCLK" for the peripheral clock.
+
+Required properties for "cortina,gemini-pata" compatible:
+- sata: a phande to the Gemini PATA to SATA bridge, see
+ cortina,gemini-sata-bridge.txt for details.
+
+Example:
+
+ata@63000000 {
+ compatible = "cortina,gemini-pata", "faraday,ftide010";
+ reg = <0x63000000 0x100>;
+ interrupts = <4 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&gcc GEMINI_CLK_GATE_IDE>;
+ clock-names = "PCLK";
+ sata = <&sata>;
+};
--
2.9.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2017-05-19 23:05 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20170506121118epcas2p1b2a2d1a8005a37582a73c0e7be4b1a1b@epcas2p1.samsung.com>
2017-05-06 12:10 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Linus Walleij
2017-05-06 12:10 ` [PATCH 2/4] ata: Add DT bindings for the Gemini SATA bridge Linus Walleij
2017-05-08 10:49 ` Bartlomiej Zolnierkiewicz
2017-05-08 20:33 ` Linus Walleij
2017-05-08 21:16 ` Tom Psyborg
2017-05-08 22:52 ` [OpenWrt-Devel] " Florian Fainelli
2017-05-09 6:39 ` Linus Walleij
[not found] ` <20170506121053.11554-2-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-05-12 15:30 ` Rob Herring
2017-05-07 16:39 ` [PATCH 1/4] ata: Add DT bindings for Faraday Technology FTIDE010 Hans Ulli Kroll
2017-05-08 10:47 ` Bartlomiej Zolnierkiewicz
2017-05-08 20:26 ` Linus Walleij
2017-05-10 13:59 ` Bartlomiej Zolnierkiewicz
2017-05-10 15:48 ` Linus Walleij
[not found] ` <20170506121053.11554-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-05-12 15:24 ` Rob Herring
2017-05-19 23:05 Linus Walleij
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).