# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Tegra AHCI SATA Controller maintainers: - Thierry Reding <thierry.reding@gmail.com> - Jonathan Hunter <jonathanh@nvidia.com> properties: compatible: enum: - nvidia,tegra124-ahci - nvidia,tegra132-ahci - nvidia,tegra210-ahci - nvidia,tegra186-ahci reg: minItems: 2 items: - description: AHCI registers - description: SATA configuration and IPFS registers - description: SATA AUX registers interrupts: maxItems: 1 clock-names: items: - const: sata - const: sata-oob clocks: maxItems: 2 reset-names: minItems: 2 items: - const: sata - const: sata-cold - const: sata-oob resets: minItems: 2 maxItems: 3 iommus: maxItems: 1 interconnect-names: items: - const: dma-mem - const: write interconnects: maxItems: 2 power-domains: items: - description: SAX power-domain phy-names: items: - const: sata-0 phys: maxItems: 1 hvdd-supply: description: SATA HVDD regulator supply. vddio-supply: description: SATA VDDIO regulator supply. avdd-supply: description: SATA AVDD regulator supply. target-5v-supply: description: SATA 5V power regulator supply. target-12v-supply: description: SATA 12V power regulator supply. required: - compatible - reg - interrupts - clock-names - clocks - reset-names - resets allOf: - if: properties: compatible: contains: enum: - nvidia,tegra124-ahci - nvidia,tegra132-ahci then: properties: reg: maxItems: 2 reset-names: minItems: 3 resets: minItems: 3 required: - phys - phy-names - hvdd-supply - vddio-supply - avdd-supply - if: properties: compatible: contains: enum: - nvidia,tegra210-ahci then: properties: reg: minItems: 3 reset-names: minItems: 3 resets: minItems: 3 - if: properties: compatible: contains: enum: - nvidia,tegra186-ahci then: properties: reg: minItems: 3 reset-names: maxItems: 2 resets: maxItems: 2 required: - iommus - interconnect-names - interconnects - power-domains additionalProperties: true examples: - | #include <dt-bindings/clock/tegra210-car.h> #include <dt-bindings/reset/tegra210-car.h> #include <dt-bindings/interrupt-controller/arm-gic.h> sata@70020000 { compatible = "nvidia,tegra210-ahci"; reg = <0x70027000 0x00002000>, /* AHCI */ <0x70020000 0x00007000>, /* SATA */ <0x70001100 0x00010000>; /* SATA AUX */ interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; clocks = <&tegra_car TEGRA210_CLK_SATA>, <&tegra_car TEGRA210_CLK_SATA_OOB>; clock-names = "sata", "sata-oob"; resets = <&tegra_car 124>, <&tegra_car 129>, <&tegra_car 123>; reset-names = "sata", "sata-cold", "sata-oob"; };