blob: 21a90975593ba5da09cc7bff5030168132ca0da2 [file] [log] [blame]
# 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 <linus.walleij@linaro.org>
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:
minItems: 2
maxItems: 2
description: phandles to the reset lines for both SATA bridges
reset-names:
items:
- const: sata0
- const: sata1
clocks:
minItems: 2
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 <dt-bindings/clock/cortina,gemini-clock.h>
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;
};