faraday,ftide010.yaml 2.0 KB

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