108 lines
2.9 KiB
YAML
108 lines
2.9 KiB
YAML
|
# 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:
|
||
|
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 <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;
|
||
|
};
|