1f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2f126890aSEmmanuel Vadot%YAML 1.2 3f126890aSEmmanuel Vadot--- 4f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/ata/rockchip,dwc-ahci.yaml# 5f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6f126890aSEmmanuel Vadot 7f126890aSEmmanuel Vadottitle: Synopsys DWC AHCI SATA controller for Rockchip devices 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadotmaintainers: 10f126890aSEmmanuel Vadot - Serge Semin <fancer.lancer@gmail.com> 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadotdescription: 13f126890aSEmmanuel Vadot This document defines device tree bindings for the Synopsys DWC 14f126890aSEmmanuel Vadot implementation of the AHCI SATA controller found in Rockchip 15f126890aSEmmanuel Vadot devices. 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadotselect: 18f126890aSEmmanuel Vadot properties: 19f126890aSEmmanuel Vadot compatible: 20f126890aSEmmanuel Vadot contains: 21f126890aSEmmanuel Vadot enum: 22f126890aSEmmanuel Vadot - rockchip,rk3568-dwc-ahci 23f126890aSEmmanuel Vadot - rockchip,rk3588-dwc-ahci 24f126890aSEmmanuel Vadot required: 25f126890aSEmmanuel Vadot - compatible 26f126890aSEmmanuel Vadot 27f126890aSEmmanuel Vadotproperties: 28f126890aSEmmanuel Vadot compatible: 29f126890aSEmmanuel Vadot items: 30f126890aSEmmanuel Vadot - enum: 31f126890aSEmmanuel Vadot - rockchip,rk3568-dwc-ahci 32f126890aSEmmanuel Vadot - rockchip,rk3588-dwc-ahci 33f126890aSEmmanuel Vadot - const: snps,dwc-ahci 34f126890aSEmmanuel Vadot 35f126890aSEmmanuel Vadot ports-implemented: 36f126890aSEmmanuel Vadot const: 1 37f126890aSEmmanuel Vadot 38*0e8011faSEmmanuel Vadot power-domains: 39*0e8011faSEmmanuel Vadot maxItems: 1 40*0e8011faSEmmanuel Vadot 41f126890aSEmmanuel Vadot sata-port@0: 42f126890aSEmmanuel Vadot $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port 43f126890aSEmmanuel Vadot 44f126890aSEmmanuel Vadot properties: 45f126890aSEmmanuel Vadot reg: 46f126890aSEmmanuel Vadot const: 0 47f126890aSEmmanuel Vadot 48f126890aSEmmanuel Vadot unevaluatedProperties: false 49f126890aSEmmanuel Vadot 50f126890aSEmmanuel VadotpatternProperties: 51f126890aSEmmanuel Vadot "^sata-port@[1-9a-e]$": false 52f126890aSEmmanuel Vadot 53f126890aSEmmanuel Vadotrequired: 54f126890aSEmmanuel Vadot - compatible 55f126890aSEmmanuel Vadot - reg 56f126890aSEmmanuel Vadot - interrupts 57f126890aSEmmanuel Vadot - clocks 58f126890aSEmmanuel Vadot - clock-names 59f126890aSEmmanuel Vadot - ports-implemented 60f126890aSEmmanuel Vadot 61f126890aSEmmanuel VadotallOf: 62f126890aSEmmanuel Vadot - $ref: snps,dwc-ahci-common.yaml# 63f126890aSEmmanuel Vadot - if: 64f126890aSEmmanuel Vadot properties: 65f126890aSEmmanuel Vadot compatible: 66f126890aSEmmanuel Vadot contains: 67f126890aSEmmanuel Vadot enum: 68f126890aSEmmanuel Vadot - rockchip,rk3588-dwc-ahci 69f126890aSEmmanuel Vadot then: 70f126890aSEmmanuel Vadot properties: 71f126890aSEmmanuel Vadot clocks: 72f126890aSEmmanuel Vadot maxItems: 5 73f126890aSEmmanuel Vadot clock-names: 74f126890aSEmmanuel Vadot items: 75f126890aSEmmanuel Vadot - const: sata 76f126890aSEmmanuel Vadot - const: pmalive 77f126890aSEmmanuel Vadot - const: rxoob 78f126890aSEmmanuel Vadot - const: ref 79f126890aSEmmanuel Vadot - const: asic 80f126890aSEmmanuel Vadot - if: 81f126890aSEmmanuel Vadot properties: 82f126890aSEmmanuel Vadot compatible: 83f126890aSEmmanuel Vadot contains: 84f126890aSEmmanuel Vadot enum: 85f126890aSEmmanuel Vadot - rockchip,rk3568-dwc-ahci 86f126890aSEmmanuel Vadot then: 87f126890aSEmmanuel Vadot properties: 88f126890aSEmmanuel Vadot clocks: 89f126890aSEmmanuel Vadot maxItems: 3 90f126890aSEmmanuel Vadot clock-names: 91f126890aSEmmanuel Vadot items: 92f126890aSEmmanuel Vadot - const: sata 93f126890aSEmmanuel Vadot - const: pmalive 94f126890aSEmmanuel Vadot - const: rxoob 95f126890aSEmmanuel Vadot 96f126890aSEmmanuel VadotunevaluatedProperties: false 97f126890aSEmmanuel Vadot 98f126890aSEmmanuel Vadotexamples: 99f126890aSEmmanuel Vadot - | 100f126890aSEmmanuel Vadot #include <dt-bindings/clock/rockchip,rk3588-cru.h> 101f126890aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 102f126890aSEmmanuel Vadot #include <dt-bindings/ata/ahci.h> 103f126890aSEmmanuel Vadot #include <dt-bindings/phy/phy.h> 104f126890aSEmmanuel Vadot 105f126890aSEmmanuel Vadot sata@fe210000 { 106f126890aSEmmanuel Vadot compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci"; 107f126890aSEmmanuel Vadot reg = <0xfe210000 0x1000>; 108f126890aSEmmanuel Vadot clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>, 109f126890aSEmmanuel Vadot <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>, 110f126890aSEmmanuel Vadot <&cru CLK_PIPEPHY0_PIPE_ASIC_G>; 111f126890aSEmmanuel Vadot clock-names = "sata", "pmalive", "rxoob", "ref", "asic"; 112f126890aSEmmanuel Vadot interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH 0>; 113f126890aSEmmanuel Vadot ports-implemented = <0x1>; 114f126890aSEmmanuel Vadot #address-cells = <1>; 115f126890aSEmmanuel Vadot #size-cells = <0>; 116f126890aSEmmanuel Vadot 117f126890aSEmmanuel Vadot sata-port@0 { 118f126890aSEmmanuel Vadot reg = <0>; 119f126890aSEmmanuel Vadot hba-port-cap = <HBA_PORT_FBSCP>; 120f126890aSEmmanuel Vadot phys = <&combphy0_ps PHY_TYPE_SATA>; 121f126890aSEmmanuel Vadot phy-names = "sata-phy"; 122f126890aSEmmanuel Vadot snps,rx-ts-max = <32>; 123f126890aSEmmanuel Vadot snps,tx-ts-max = <32>; 124f126890aSEmmanuel Vadot }; 125f126890aSEmmanuel Vadot }; 126f126890aSEmmanuel Vadot 127f126890aSEmmanuel Vadot... 128