# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/ata/cortina,gemini-sata-bridge.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Cortina Systems Gemini SATA Bridge maintainers: - Linus Walleij description: | 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. properties: compatible: const: cortina,gemini-sata-bridge reg: maxItems: 1 resets: maxItems: 2 description: phandles to the reset lines for both SATA bridges reset-names: items: - const: sata0 - const: sata1 clocks: maxItems: 2 description: phandles to the compulsory peripheral clocks clock-names: items: - const: SATA0_PCLK - const: SATA1_PCLK syscon: $ref: /schemas/types.yaml#/definitions/phandle description: a phandle to the global Gemini system controller cortina,gemini-ata-muxmode: $ref: /schemas/types.yaml#/definitions/uint32 enum: - 0 - 1 - 2 - 3 description: | Tell the desired multiplexing mode for the ATA controller and SATA bridges. 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 ata0 slave <-> sata1 ata1 master and slave interfaces brought out on IDE pads cortina,gemini-enable-ide-pins: type: boolean description: 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: type: boolean description: Enables the PATA to SATA bridge inside the Gemnini SoC. The Muxmode decides what PATA blocks will be muxed out and how. required: - clocks - clock-names - cortina,gemini-ata-muxmode - resets - reset-names - compatible - reg - syscon additionalProperties: false examples: - | #include 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; };