1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Tegra AHCI SATA Controller 8 9maintainers: 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jonathan Hunter <jonathanh@nvidia.com> 12 13properties: 14 compatible: 15 enum: 16 - nvidia,tegra124-ahci 17 - nvidia,tegra132-ahci 18 - nvidia,tegra210-ahci 19 - nvidia,tegra186-ahci 20 21 reg: 22 minItems: 2 23 items: 24 - description: AHCI registers 25 - description: SATA configuration and IPFS registers 26 - description: SATA AUX registers 27 28 interrupts: 29 maxItems: 1 30 31 clock-names: 32 items: 33 - const: sata 34 - const: sata-oob 35 36 clocks: 37 maxItems: 2 38 39 reset-names: 40 minItems: 2 41 items: 42 - const: sata 43 - const: sata-cold 44 - const: sata-oob 45 46 resets: 47 minItems: 2 48 maxItems: 3 49 50 iommus: 51 maxItems: 1 52 53 interconnect-names: 54 items: 55 - const: dma-mem 56 - const: write 57 58 interconnects: 59 maxItems: 2 60 61 power-domains: 62 items: 63 - description: SAX power-domain 64 65 phy-names: 66 items: 67 - const: sata-0 68 69 phys: 70 maxItems: 1 71 72 hvdd-supply: 73 description: SATA HVDD regulator supply. 74 75 vddio-supply: 76 description: SATA VDDIO regulator supply. 77 78 avdd-supply: 79 description: SATA AVDD regulator supply. 80 81 target-5v-supply: 82 description: SATA 5V power regulator supply. 83 84 target-12v-supply: 85 description: SATA 12V power regulator supply. 86 87required: 88 - compatible 89 - reg 90 - interrupts 91 - clock-names 92 - clocks 93 - reset-names 94 - resets 95 96allOf: 97 - if: 98 properties: 99 compatible: 100 contains: 101 enum: 102 - nvidia,tegra124-ahci 103 - nvidia,tegra132-ahci 104 then: 105 properties: 106 reg: 107 maxItems: 2 108 reset-names: 109 minItems: 3 110 resets: 111 minItems: 3 112 required: 113 - phys 114 - phy-names 115 - hvdd-supply 116 - vddio-supply 117 - avdd-supply 118 119 - if: 120 properties: 121 compatible: 122 contains: 123 enum: 124 - nvidia,tegra210-ahci 125 then: 126 properties: 127 reg: 128 minItems: 3 129 reset-names: 130 minItems: 3 131 resets: 132 minItems: 3 133 134 - if: 135 properties: 136 compatible: 137 contains: 138 enum: 139 - nvidia,tegra186-ahci 140 then: 141 properties: 142 reg: 143 minItems: 3 144 reset-names: 145 maxItems: 2 146 resets: 147 maxItems: 2 148 required: 149 - iommus 150 - interconnect-names 151 - interconnects 152 - power-domains 153 154additionalProperties: false 155 156examples: 157 - | 158 #include <dt-bindings/clock/tegra210-car.h> 159 #include <dt-bindings/reset/tegra210-car.h> 160 #include <dt-bindings/interrupt-controller/arm-gic.h> 161 162 sata@70020000 { 163 compatible = "nvidia,tegra210-ahci"; 164 reg = <0x70027000 0x00002000>, /* AHCI */ 165 <0x70020000 0x00007000>, /* SATA */ 166 <0x70001100 0x00010000>; /* SATA AUX */ 167 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 168 clocks = <&tegra_car TEGRA210_CLK_SATA>, 169 <&tegra_car TEGRA210_CLK_SATA_OOB>; 170 clock-names = "sata", "sata-oob"; 171 resets = <&tegra_car 124>, 172 <&tegra_car 129>, 173 <&tegra_car 123>; 174 reset-names = "sata", "sata-cold", "sata-oob"; 175 }; 176