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