12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 22eb4d8dcSEmmanuel Vadot%YAML 1.2 32eb4d8dcSEmmanuel Vadot--- 42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml# 52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 62eb4d8dcSEmmanuel Vadot 72eb4d8dcSEmmanuel Vadottitle: Tegra AHCI SATA Controller 82eb4d8dcSEmmanuel Vadot 92eb4d8dcSEmmanuel Vadotmaintainers: 102eb4d8dcSEmmanuel Vadot - Thierry Reding <thierry.reding@gmail.com> 112eb4d8dcSEmmanuel Vadot - Jonathan Hunter <jonathanh@nvidia.com> 122eb4d8dcSEmmanuel Vadot 132eb4d8dcSEmmanuel Vadotproperties: 142eb4d8dcSEmmanuel Vadot compatible: 152eb4d8dcSEmmanuel Vadot enum: 162eb4d8dcSEmmanuel Vadot - nvidia,tegra124-ahci 172eb4d8dcSEmmanuel Vadot - nvidia,tegra132-ahci 182eb4d8dcSEmmanuel Vadot - nvidia,tegra210-ahci 192eb4d8dcSEmmanuel Vadot - nvidia,tegra186-ahci 202eb4d8dcSEmmanuel Vadot 212eb4d8dcSEmmanuel Vadot reg: 222eb4d8dcSEmmanuel Vadot minItems: 2 232eb4d8dcSEmmanuel Vadot items: 242eb4d8dcSEmmanuel Vadot - description: AHCI registers 252eb4d8dcSEmmanuel Vadot - description: SATA configuration and IPFS registers 262eb4d8dcSEmmanuel Vadot - description: SATA AUX registers 272eb4d8dcSEmmanuel Vadot 282eb4d8dcSEmmanuel Vadot interrupts: 292eb4d8dcSEmmanuel Vadot maxItems: 1 302eb4d8dcSEmmanuel Vadot 312eb4d8dcSEmmanuel Vadot clock-names: 322eb4d8dcSEmmanuel Vadot items: 332eb4d8dcSEmmanuel Vadot - const: sata 342eb4d8dcSEmmanuel Vadot - const: sata-oob 352eb4d8dcSEmmanuel Vadot 362eb4d8dcSEmmanuel Vadot clocks: 372eb4d8dcSEmmanuel Vadot maxItems: 2 382eb4d8dcSEmmanuel Vadot 392eb4d8dcSEmmanuel Vadot reset-names: 402eb4d8dcSEmmanuel Vadot minItems: 2 412eb4d8dcSEmmanuel Vadot items: 422eb4d8dcSEmmanuel Vadot - const: sata 432eb4d8dcSEmmanuel Vadot - const: sata-cold 442eb4d8dcSEmmanuel Vadot - const: sata-oob 452eb4d8dcSEmmanuel Vadot 462eb4d8dcSEmmanuel Vadot resets: 472eb4d8dcSEmmanuel Vadot minItems: 2 482eb4d8dcSEmmanuel Vadot maxItems: 3 492eb4d8dcSEmmanuel Vadot 502eb4d8dcSEmmanuel Vadot iommus: 512eb4d8dcSEmmanuel Vadot maxItems: 1 522eb4d8dcSEmmanuel Vadot 532eb4d8dcSEmmanuel Vadot interconnect-names: 542eb4d8dcSEmmanuel Vadot items: 552eb4d8dcSEmmanuel Vadot - const: dma-mem 562eb4d8dcSEmmanuel Vadot - const: write 572eb4d8dcSEmmanuel Vadot 582eb4d8dcSEmmanuel Vadot interconnects: 592eb4d8dcSEmmanuel Vadot maxItems: 2 602eb4d8dcSEmmanuel Vadot 612eb4d8dcSEmmanuel Vadot power-domains: 622eb4d8dcSEmmanuel Vadot items: 632eb4d8dcSEmmanuel Vadot - description: SAX power-domain 642eb4d8dcSEmmanuel Vadot 652eb4d8dcSEmmanuel Vadot phy-names: 662eb4d8dcSEmmanuel Vadot items: 672eb4d8dcSEmmanuel Vadot - const: sata-0 682eb4d8dcSEmmanuel Vadot 692eb4d8dcSEmmanuel Vadot phys: 702eb4d8dcSEmmanuel Vadot maxItems: 1 712eb4d8dcSEmmanuel Vadot 722eb4d8dcSEmmanuel Vadot hvdd-supply: 732eb4d8dcSEmmanuel Vadot description: SATA HVDD regulator supply. 742eb4d8dcSEmmanuel Vadot 752eb4d8dcSEmmanuel Vadot vddio-supply: 762eb4d8dcSEmmanuel Vadot description: SATA VDDIO regulator supply. 772eb4d8dcSEmmanuel Vadot 782eb4d8dcSEmmanuel Vadot avdd-supply: 792eb4d8dcSEmmanuel Vadot description: SATA AVDD regulator supply. 802eb4d8dcSEmmanuel Vadot 812eb4d8dcSEmmanuel Vadot target-5v-supply: 822eb4d8dcSEmmanuel Vadot description: SATA 5V power regulator supply. 832eb4d8dcSEmmanuel Vadot 842eb4d8dcSEmmanuel Vadot target-12v-supply: 852eb4d8dcSEmmanuel Vadot description: SATA 12V power regulator supply. 862eb4d8dcSEmmanuel Vadot 872eb4d8dcSEmmanuel Vadotrequired: 882eb4d8dcSEmmanuel Vadot - compatible 892eb4d8dcSEmmanuel Vadot - reg 902eb4d8dcSEmmanuel Vadot - interrupts 912eb4d8dcSEmmanuel Vadot - clock-names 922eb4d8dcSEmmanuel Vadot - clocks 932eb4d8dcSEmmanuel Vadot - reset-names 942eb4d8dcSEmmanuel Vadot - resets 952eb4d8dcSEmmanuel Vadot 962eb4d8dcSEmmanuel VadotallOf: 972eb4d8dcSEmmanuel Vadot - if: 982eb4d8dcSEmmanuel Vadot properties: 992eb4d8dcSEmmanuel Vadot compatible: 1002eb4d8dcSEmmanuel Vadot contains: 1012eb4d8dcSEmmanuel Vadot enum: 1022eb4d8dcSEmmanuel Vadot - nvidia,tegra124-ahci 1032eb4d8dcSEmmanuel Vadot - nvidia,tegra132-ahci 1042eb4d8dcSEmmanuel Vadot then: 1052eb4d8dcSEmmanuel Vadot properties: 1062eb4d8dcSEmmanuel Vadot reg: 1072eb4d8dcSEmmanuel Vadot maxItems: 2 1082eb4d8dcSEmmanuel Vadot reset-names: 1092eb4d8dcSEmmanuel Vadot minItems: 3 1102eb4d8dcSEmmanuel Vadot resets: 1112eb4d8dcSEmmanuel Vadot minItems: 3 1122eb4d8dcSEmmanuel Vadot required: 1132eb4d8dcSEmmanuel Vadot - phys 1142eb4d8dcSEmmanuel Vadot - phy-names 1152eb4d8dcSEmmanuel Vadot - hvdd-supply 1162eb4d8dcSEmmanuel Vadot - vddio-supply 1172eb4d8dcSEmmanuel Vadot - avdd-supply 1182eb4d8dcSEmmanuel Vadot 1192eb4d8dcSEmmanuel Vadot - if: 1202eb4d8dcSEmmanuel Vadot properties: 1212eb4d8dcSEmmanuel Vadot compatible: 1222eb4d8dcSEmmanuel Vadot contains: 1232eb4d8dcSEmmanuel Vadot enum: 1242eb4d8dcSEmmanuel Vadot - nvidia,tegra210-ahci 1252eb4d8dcSEmmanuel Vadot then: 1262eb4d8dcSEmmanuel Vadot properties: 1272eb4d8dcSEmmanuel Vadot reg: 1282eb4d8dcSEmmanuel Vadot minItems: 3 1292eb4d8dcSEmmanuel Vadot reset-names: 1302eb4d8dcSEmmanuel Vadot minItems: 3 1312eb4d8dcSEmmanuel Vadot resets: 1322eb4d8dcSEmmanuel Vadot minItems: 3 1332eb4d8dcSEmmanuel Vadot 1342eb4d8dcSEmmanuel Vadot - if: 1352eb4d8dcSEmmanuel Vadot properties: 1362eb4d8dcSEmmanuel Vadot compatible: 1372eb4d8dcSEmmanuel Vadot contains: 1382eb4d8dcSEmmanuel Vadot enum: 1392eb4d8dcSEmmanuel Vadot - nvidia,tegra186-ahci 1402eb4d8dcSEmmanuel Vadot then: 1412eb4d8dcSEmmanuel Vadot properties: 1422eb4d8dcSEmmanuel Vadot reg: 1432eb4d8dcSEmmanuel Vadot minItems: 3 1442eb4d8dcSEmmanuel Vadot reset-names: 1452eb4d8dcSEmmanuel Vadot maxItems: 2 1462eb4d8dcSEmmanuel Vadot resets: 1472eb4d8dcSEmmanuel Vadot maxItems: 2 1482eb4d8dcSEmmanuel Vadot required: 1492eb4d8dcSEmmanuel Vadot - iommus 1502eb4d8dcSEmmanuel Vadot - interconnect-names 1512eb4d8dcSEmmanuel Vadot - interconnects 1522eb4d8dcSEmmanuel Vadot - power-domains 1532eb4d8dcSEmmanuel Vadot 154*84943d6fSEmmanuel VadotadditionalProperties: false 1552eb4d8dcSEmmanuel Vadot 1562eb4d8dcSEmmanuel Vadotexamples: 1572eb4d8dcSEmmanuel Vadot - | 1582eb4d8dcSEmmanuel Vadot #include <dt-bindings/clock/tegra210-car.h> 1592eb4d8dcSEmmanuel Vadot #include <dt-bindings/reset/tegra210-car.h> 1602eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1612eb4d8dcSEmmanuel Vadot 1622eb4d8dcSEmmanuel Vadot sata@70020000 { 1632eb4d8dcSEmmanuel Vadot compatible = "nvidia,tegra210-ahci"; 1642eb4d8dcSEmmanuel Vadot reg = <0x70027000 0x00002000>, /* AHCI */ 1652eb4d8dcSEmmanuel Vadot <0x70020000 0x00007000>, /* SATA */ 1662eb4d8dcSEmmanuel Vadot <0x70001100 0x00010000>; /* SATA AUX */ 1672eb4d8dcSEmmanuel Vadot interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1682eb4d8dcSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_SATA>, 1692eb4d8dcSEmmanuel Vadot <&tegra_car TEGRA210_CLK_SATA_OOB>; 1702eb4d8dcSEmmanuel Vadot clock-names = "sata", "sata-oob"; 1712eb4d8dcSEmmanuel Vadot resets = <&tegra_car 124>, 1722eb4d8dcSEmmanuel Vadot <&tegra_car 129>, 1732eb4d8dcSEmmanuel Vadot <&tegra_car 123>; 1742eb4d8dcSEmmanuel Vadot reset-names = "sata", "sata-cold", "sata-oob"; 1752eb4d8dcSEmmanuel Vadot }; 176