1*7ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7ef62cebSEmmanuel Vadot%YAML 1.2 3*7ef62cebSEmmanuel Vadot--- 4*7ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/ata/baikal,bt1-ahci.yaml# 5*7ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7ef62cebSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Baikal-T1 SoC AHCI SATA controller 8*7ef62cebSEmmanuel Vadot 9*7ef62cebSEmmanuel Vadotmaintainers: 10*7ef62cebSEmmanuel Vadot - Serge Semin <fancer.lancer@gmail.com> 11*7ef62cebSEmmanuel Vadot 12*7ef62cebSEmmanuel Vadotdescription: 13*7ef62cebSEmmanuel Vadot AHCI SATA controller embedded into the Baikal-T1 SoC is based on the 14*7ef62cebSEmmanuel Vadot DWC AHCI SATA v4.10a IP-core. 15*7ef62cebSEmmanuel Vadot 16*7ef62cebSEmmanuel VadotallOf: 17*7ef62cebSEmmanuel Vadot - $ref: snps,dwc-ahci-common.yaml# 18*7ef62cebSEmmanuel Vadot 19*7ef62cebSEmmanuel Vadotproperties: 20*7ef62cebSEmmanuel Vadot compatible: 21*7ef62cebSEmmanuel Vadot const: baikal,bt1-ahci 22*7ef62cebSEmmanuel Vadot 23*7ef62cebSEmmanuel Vadot clocks: 24*7ef62cebSEmmanuel Vadot items: 25*7ef62cebSEmmanuel Vadot - description: Peripheral APB bus clock 26*7ef62cebSEmmanuel Vadot - description: Application AXI BIU clock 27*7ef62cebSEmmanuel Vadot - description: SATA Ports reference clock 28*7ef62cebSEmmanuel Vadot 29*7ef62cebSEmmanuel Vadot clock-names: 30*7ef62cebSEmmanuel Vadot items: 31*7ef62cebSEmmanuel Vadot - const: pclk 32*7ef62cebSEmmanuel Vadot - const: aclk 33*7ef62cebSEmmanuel Vadot - const: ref 34*7ef62cebSEmmanuel Vadot 35*7ef62cebSEmmanuel Vadot resets: 36*7ef62cebSEmmanuel Vadot items: 37*7ef62cebSEmmanuel Vadot - description: Application AXI BIU domain reset 38*7ef62cebSEmmanuel Vadot - description: SATA Ports clock domain reset 39*7ef62cebSEmmanuel Vadot 40*7ef62cebSEmmanuel Vadot reset-names: 41*7ef62cebSEmmanuel Vadot items: 42*7ef62cebSEmmanuel Vadot - const: arst 43*7ef62cebSEmmanuel Vadot - const: ref 44*7ef62cebSEmmanuel Vadot 45*7ef62cebSEmmanuel Vadot ports-implemented: 46*7ef62cebSEmmanuel Vadot maximum: 0x3 47*7ef62cebSEmmanuel Vadot 48*7ef62cebSEmmanuel VadotpatternProperties: 49*7ef62cebSEmmanuel Vadot "^sata-port@[0-1]$": 50*7ef62cebSEmmanuel Vadot $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port 51*7ef62cebSEmmanuel Vadot 52*7ef62cebSEmmanuel Vadot properties: 53*7ef62cebSEmmanuel Vadot reg: 54*7ef62cebSEmmanuel Vadot minimum: 0 55*7ef62cebSEmmanuel Vadot maximum: 1 56*7ef62cebSEmmanuel Vadot 57*7ef62cebSEmmanuel Vadot snps,tx-ts-max: 58*7ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 59*7ef62cebSEmmanuel Vadot description: 60*7ef62cebSEmmanuel Vadot Due to having AXI3 bus interface utilized the maximum Tx DMA 61*7ef62cebSEmmanuel Vadot transaction size can't exceed 16 beats (AxLEN[3:0]). 62*7ef62cebSEmmanuel Vadot enum: [ 1, 2, 4, 8, 16 ] 63*7ef62cebSEmmanuel Vadot 64*7ef62cebSEmmanuel Vadot snps,rx-ts-max: 65*7ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 66*7ef62cebSEmmanuel Vadot description: 67*7ef62cebSEmmanuel Vadot Due to having AXI3 bus interface utilized the maximum Rx DMA 68*7ef62cebSEmmanuel Vadot transaction size can't exceed 16 beats (AxLEN[3:0]). 69*7ef62cebSEmmanuel Vadot enum: [ 1, 2, 4, 8, 16 ] 70*7ef62cebSEmmanuel Vadot 71*7ef62cebSEmmanuel Vadot unevaluatedProperties: false 72*7ef62cebSEmmanuel Vadot 73*7ef62cebSEmmanuel Vadotrequired: 74*7ef62cebSEmmanuel Vadot - compatible 75*7ef62cebSEmmanuel Vadot - reg 76*7ef62cebSEmmanuel Vadot - interrupts 77*7ef62cebSEmmanuel Vadot - clocks 78*7ef62cebSEmmanuel Vadot - clock-names 79*7ef62cebSEmmanuel Vadot - resets 80*7ef62cebSEmmanuel Vadot 81*7ef62cebSEmmanuel VadotunevaluatedProperties: false 82*7ef62cebSEmmanuel Vadot 83*7ef62cebSEmmanuel Vadotexamples: 84*7ef62cebSEmmanuel Vadot - | 85*7ef62cebSEmmanuel Vadot sata@1f050000 { 86*7ef62cebSEmmanuel Vadot compatible = "baikal,bt1-ahci"; 87*7ef62cebSEmmanuel Vadot reg = <0x1f050000 0x2000>; 88*7ef62cebSEmmanuel Vadot #address-cells = <1>; 89*7ef62cebSEmmanuel Vadot #size-cells = <0>; 90*7ef62cebSEmmanuel Vadot 91*7ef62cebSEmmanuel Vadot interrupts = <0 64 4>; 92*7ef62cebSEmmanuel Vadot 93*7ef62cebSEmmanuel Vadot clocks = <&ccu_sys 1>, <&ccu_axi 2>, <&sata_ref_clk>; 94*7ef62cebSEmmanuel Vadot clock-names = "pclk", "aclk", "ref"; 95*7ef62cebSEmmanuel Vadot 96*7ef62cebSEmmanuel Vadot resets = <&ccu_axi 2>, <&ccu_sys 0>; 97*7ef62cebSEmmanuel Vadot reset-names = "arst", "ref"; 98*7ef62cebSEmmanuel Vadot 99*7ef62cebSEmmanuel Vadot ports-implemented = <0x3>; 100*7ef62cebSEmmanuel Vadot 101*7ef62cebSEmmanuel Vadot sata-port@0 { 102*7ef62cebSEmmanuel Vadot reg = <0>; 103*7ef62cebSEmmanuel Vadot 104*7ef62cebSEmmanuel Vadot snps,tx-ts-max = <4>; 105*7ef62cebSEmmanuel Vadot snps,rx-ts-max = <4>; 106*7ef62cebSEmmanuel Vadot }; 107*7ef62cebSEmmanuel Vadot 108*7ef62cebSEmmanuel Vadot sata-port@1 { 109*7ef62cebSEmmanuel Vadot reg = <1>; 110*7ef62cebSEmmanuel Vadot 111*7ef62cebSEmmanuel Vadot snps,tx-ts-max = <4>; 112*7ef62cebSEmmanuel Vadot snps,rx-ts-max = <4>; 113*7ef62cebSEmmanuel Vadot }; 114*7ef62cebSEmmanuel Vadot }; 115*7ef62cebSEmmanuel Vadot... 116