xref: /freebsd/sys/contrib/device-tree/Bindings/ata/faraday,ftide010.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/ata/faraday,ftide010.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Faraday Technology FTIDE010 PATA controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Linus Walleij <linus.walleij@linaro.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription: |
13c66ec88fSEmmanuel Vadot  This controller is the first Faraday IDE interface block, used in the
14c66ec88fSEmmanuel Vadot  StorLink SL3512 and SL3516, later known as the Cortina Systems Gemini
15c66ec88fSEmmanuel Vadot  platform. The controller can do PIO modes 0 through 4, Multi-word DMA
16c66ec88fSEmmanuel Vadot  (MWDM) modes 0 through 2 and Ultra DMA modes 0 through 6.
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot  On the Gemini platform, this PATA block is accompanied by a PATA to
19c66ec88fSEmmanuel Vadot  SATA bridge in order to support SATA. This is why a phandle to that
20c66ec88fSEmmanuel Vadot  controller is compulsory on that platform.
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot  The timing properties are unique per-SoC, not per-board.
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadotproperties:
25c66ec88fSEmmanuel Vadot  compatible:
26c66ec88fSEmmanuel Vadot    oneOf:
27c66ec88fSEmmanuel Vadot      - const: faraday,ftide010
28c66ec88fSEmmanuel Vadot      - items:
29c66ec88fSEmmanuel Vadot          - const: cortina,gemini-pata
30c66ec88fSEmmanuel Vadot          - const: faraday,ftide010
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot  reg:
33c66ec88fSEmmanuel Vadot    maxItems: 1
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  interrupts:
36c66ec88fSEmmanuel Vadot    maxItems: 1
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  clocks:
39c66ec88fSEmmanuel Vadot    minItems: 1
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-names:
42c66ec88fSEmmanuel Vadot    const: PCLK
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  sata:
45c66ec88fSEmmanuel Vadot    description:
46c66ec88fSEmmanuel Vadot      phandle to the Gemini PATA to SATA bridge, if available
47c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadotrequired:
50c66ec88fSEmmanuel Vadot  - compatible
51c66ec88fSEmmanuel Vadot  - reg
52c66ec88fSEmmanuel Vadot  - interrupts
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel VadotallOf:
55c66ec88fSEmmanuel Vadot  - $ref: pata-common.yaml#
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot  - if:
58c66ec88fSEmmanuel Vadot      properties:
59c66ec88fSEmmanuel Vadot        compatible:
60c66ec88fSEmmanuel Vadot          contains:
61c66ec88fSEmmanuel Vadot            const: cortina,gemini-pata
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot    then:
64c66ec88fSEmmanuel Vadot      required:
65c66ec88fSEmmanuel Vadot        - sata
66c66ec88fSEmmanuel Vadot
67*6be33864SEmmanuel VadotunevaluatedProperties: false
68*6be33864SEmmanuel Vadot
69c66ec88fSEmmanuel Vadotexamples:
70c66ec88fSEmmanuel Vadot  - |
71c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
72c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/cortina,gemini-clock.h>
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot    ide@63000000 {
75c66ec88fSEmmanuel Vadot      compatible = "cortina,gemini-pata", "faraday,ftide010";
76c66ec88fSEmmanuel Vadot      reg = <0x63000000 0x100>;
77c66ec88fSEmmanuel Vadot      interrupts = <4 IRQ_TYPE_EDGE_RISING>;
78c66ec88fSEmmanuel Vadot      clocks = <&gcc GEMINI_CLK_GATE_IDE>;
79c66ec88fSEmmanuel Vadot      clock-names = "PCLK";
80c66ec88fSEmmanuel Vadot      sata = <&sata>;
81c66ec88fSEmmanuel Vadot      #address-cells = <1>;
82c66ec88fSEmmanuel Vadot      #size-cells = <0>;
83c66ec88fSEmmanuel Vadot      ide-port@0 {
84c66ec88fSEmmanuel Vadot        reg = <0>;
85c66ec88fSEmmanuel Vadot      };
86c66ec88fSEmmanuel Vadot      ide-port@1 {
87c66ec88fSEmmanuel Vadot        reg = <1>;
88c66ec88fSEmmanuel Vadot      };
89c66ec88fSEmmanuel Vadot    };
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot...
92