dt-bindings: ata: Convert Allwinner AHCI controller to a schema
The Allwinner SoCs have a AHCI controllers that is supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime@cerno.tech> [robh: 'maxItems: 1' for resets] Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
committed by
Rob Herring
parent
2609a1271d
commit
fe96df93f8
@@ -9,8 +9,6 @@ PHYs.
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : compatible string, one of:
|
- compatible : compatible string, one of:
|
||||||
- "allwinner,sun4i-a10-ahci"
|
|
||||||
- "allwinner,sun8i-r40-ahci"
|
|
||||||
- "brcm,iproc-ahci"
|
- "brcm,iproc-ahci"
|
||||||
- "hisilicon,hisi-ahci"
|
- "hisilicon,hisi-ahci"
|
||||||
- "cavium,octeon-7130-ahci"
|
- "cavium,octeon-7130-ahci"
|
||||||
@@ -45,8 +43,6 @@ Required properties when using sub-nodes:
|
|||||||
- #address-cells : number of cells to encode an address
|
- #address-cells : number of cells to encode an address
|
||||||
- #size-cells : number of cells representing the size of an address
|
- #size-cells : number of cells representing the size of an address
|
||||||
|
|
||||||
For allwinner,sun8i-r40-ahci, the reset property must be present.
|
|
||||||
|
|
||||||
Sub-nodes required properties:
|
Sub-nodes required properties:
|
||||||
- reg : the port number
|
- reg : the port number
|
||||||
And at least one of the following properties:
|
And at least one of the following properties:
|
||||||
@@ -60,14 +56,6 @@ Examples:
|
|||||||
interrupts = <115>;
|
interrupts = <115>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ahci: sata@1c18000 {
|
|
||||||
compatible = "allwinner,sun4i-a10-ahci";
|
|
||||||
reg = <0x01c18000 0x1000>;
|
|
||||||
interrupts = <56>;
|
|
||||||
clocks = <&pll6 0>, <&ahb_gates 25>;
|
|
||||||
target-supply = <®_ahci_5v>;
|
|
||||||
};
|
|
||||||
|
|
||||||
With sub-nodes:
|
With sub-nodes:
|
||||||
sata@f7e90000 {
|
sata@f7e90000 {
|
||||||
compatible = "marvell,berlin2q-achi", "generic-ahci";
|
compatible = "marvell,berlin2q-achi", "generic-ahci";
|
||||||
|
@@ -0,0 +1,47 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/ata/allwinner,sun4i-a10-ahci.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Allwinner A10 AHCI SATA Controller bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
- Maxime Ripard <mripard@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: allwinner,sun4i-a10-ahci
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AHCI Bus Clock
|
||||||
|
- description: AHCI Module Clock
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
target-supply:
|
||||||
|
description: Regulator for SATA target power
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
ahci: sata@1c18000 {
|
||||||
|
compatible = "allwinner,sun4i-a10-ahci";
|
||||||
|
reg = <0x01c18000 0x1000>;
|
||||||
|
interrupts = <56>;
|
||||||
|
clocks = <&pll6 0>, <&ahb_gates 25>;
|
||||||
|
target-supply = <®_ahci_5v>;
|
||||||
|
};
|
@@ -0,0 +1,67 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/ata/allwinner,sun8i-r40-ahci.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Allwinner R40 AHCI SATA Controller bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
- Maxime Ripard <mripard@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: allwinner,sun8i-r40-ahci
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AHCI Bus Clock
|
||||||
|
- description: AHCI Module Clock
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
const: ahci
|
||||||
|
|
||||||
|
ahci-supply:
|
||||||
|
description: Regulator for the AHCI controller
|
||||||
|
|
||||||
|
phy-supply:
|
||||||
|
description: Regulator for the SATA PHY power
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- interrupts
|
||||||
|
- resets
|
||||||
|
- reset-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/clock/sun8i-r40-ccu.h>
|
||||||
|
#include <dt-bindings/reset/sun8i-r40-ccu.h>
|
||||||
|
|
||||||
|
ahci: sata@1c18000 {
|
||||||
|
compatible = "allwinner,sun8i-r40-ahci";
|
||||||
|
reg = <0x01c18000 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>;
|
||||||
|
resets = <&ccu RST_BUS_SATA>;
|
||||||
|
reset-names = "ahci";
|
||||||
|
ahci-supply = <®_dldo4>;
|
||||||
|
phy-supply = <®_eldo3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
Reference in New Issue
Block a user