162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/ata/sata_highbank.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Calxeda AHCI SATA Controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  The Calxeda SATA controller mostly conforms to the AHCI interface
1162306a36Sopenharmony_ci  with some special extensions to add functionality, to map GPIOs for
1262306a36Sopenharmony_ci  activity LEDs and for mapping the ComboPHYs.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cimaintainers:
1562306a36Sopenharmony_ci  - Andre Przywara <andre.przywara@arm.com>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    const: calxeda,hb-ahci
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  reg:
2262306a36Sopenharmony_ci    maxItems: 1
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  interrupts:
2562306a36Sopenharmony_ci    maxItems: 1
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  dma-coherent: true
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  calxeda,pre-clocks:
3062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3162306a36Sopenharmony_ci    description: |
3262306a36Sopenharmony_ci      Indicates the number of additional clock cycles to transmit before
3362306a36Sopenharmony_ci      sending an SGPIO pattern.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  calxeda,post-clocks:
3662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3762306a36Sopenharmony_ci    description: |
3862306a36Sopenharmony_ci      Indicates the number of additional clock cycles to transmit after
3962306a36Sopenharmony_ci      sending an SGPIO pattern.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  calxeda,led-order:
4262306a36Sopenharmony_ci    description: Maps port numbers to offsets within the SGPIO bitstream.
4362306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
4462306a36Sopenharmony_ci    minItems: 1
4562306a36Sopenharmony_ci    maxItems: 8
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  calxeda,port-phys:
4862306a36Sopenharmony_ci    description: |
4962306a36Sopenharmony_ci      phandle-combophy and lane assignment, which maps each SATA port to a
5062306a36Sopenharmony_ci      combophy and a lane within that combophy
5162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle-array
5262306a36Sopenharmony_ci    minItems: 1
5362306a36Sopenharmony_ci    maxItems: 8
5462306a36Sopenharmony_ci    items:
5562306a36Sopenharmony_ci      maxItems: 2
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci  calxeda,tx-atten:
5862306a36Sopenharmony_ci    description: |
5962306a36Sopenharmony_ci      Contains TX attenuation override codes, one per port.
6062306a36Sopenharmony_ci      The upper 24 bits of each entry are always 0 and thus ignored.
6162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
6262306a36Sopenharmony_ci    minItems: 1
6362306a36Sopenharmony_ci    maxItems: 8
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci  calxeda,sgpio-gpio:
6662306a36Sopenharmony_ci    maxItems: 3
6762306a36Sopenharmony_ci    description: |
6862306a36Sopenharmony_ci      phandle-gpio bank, bit offset, and default on or off, which indicates
6962306a36Sopenharmony_ci      that the driver supports SGPIO indicator lights using the indicated
7062306a36Sopenharmony_ci      GPIOs.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_cirequired:
7362306a36Sopenharmony_ci  - compatible
7462306a36Sopenharmony_ci  - reg
7562306a36Sopenharmony_ci  - interrupts
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciadditionalProperties: false
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciexamples:
8062306a36Sopenharmony_ci  - |
8162306a36Sopenharmony_ci    sata@ffe08000 {
8262306a36Sopenharmony_ci        compatible = "calxeda,hb-ahci";
8362306a36Sopenharmony_ci        reg = <0xffe08000 0x1000>;
8462306a36Sopenharmony_ci        interrupts = <115>;
8562306a36Sopenharmony_ci        dma-coherent;
8662306a36Sopenharmony_ci        calxeda,port-phys = <&combophy5 0>, <&combophy0 0>, <&combophy0 1>,
8762306a36Sopenharmony_ci                             <&combophy0 2>, <&combophy0 3>;
8862306a36Sopenharmony_ci        calxeda,sgpio-gpio =<&gpioh 5 1>, <&gpioh 6 1>, <&gpioh 7 1>;
8962306a36Sopenharmony_ci        calxeda,led-order = <4 0 1 2 3>;
9062306a36Sopenharmony_ci        calxeda,tx-atten = <0xff 22 0xff 0xff 23>;
9162306a36Sopenharmony_ci        calxeda,pre-clocks = <10>;
9262306a36Sopenharmony_ci        calxeda,post-clocks = <0>;
9362306a36Sopenharmony_ci    };
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci...
96