Re: [PATCH 02/21] dt-bindings: ata: Convert AHCI-bindings to DT schema

Rob Herring
2022-03-28T19:32:24Z

On Wed, Mar 23, 2022 at 7:16 PM Serge Semin
<Sergey.Semin@baikalelectronics.ru> wrote:
>
> Currently the DT bindings of Generic AHCI Controllers are described by
> means of the legacy text file. Since such format is deprecated in favor of
> the DT schema. Let's convert the Generic AHCI Controllers bindings file
> then to the corresponding yaml files. There will be two of them: a DT
> schema with a set of properties applied to all AHCI-compatible devices,
> and a DT schema validating an AHCI-controller on a generic platform. So if
> a controller conforms to the Serial ATA AHCI interface specification with
> just peculiar platform environment settings like clock sources, PHYs,
> power regulators or resets, then the generic AHCI bindings should work for
> it. Otherwise a dedicated DT-schema needs to be created.
>
> So a common AHCI SATA controller DT-node is supposed to be equipped with
> at least compatible, reg and interrupts properties. It can optionally
> contain clocks, resets, {ahci,target,phy}-supply and phys phandles. In
> addition the property "ports-implemented" can be specified in order to
> define the number of implemented SATA ports. An AHCI SATA controller
> DT-node can also have a set of sub-nodes representing its ports, for each
> of which an individual power source and PHY phandle can be specified.
>
> Note we have omitted the next compatible strings
> "marvell,armada-380-ahci", "marvell,armada-3700-ahci", "snps,dwc-ahci",
> "snps,spear-ahci" since the corresponding controllers are handled by the
> dedicated drivers now, thus are supposed to have their own DT-schema
> defined. dma-coherent has also been discarded since it's a generic
> property and is evaluated by the dt-schema parser.
>
> Also note that if there is the "reg-names" property specified for a AHCI
> DT-node then it is supposed to at least have the "ahci" sub-string as an
> indicator of the AHCI-compatible registers space.
>
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
> .../devicetree/bindings/ata/ahci-common.yaml | 110 ++++++++++++++++++
> .../devicetree/bindings/ata/ahci-platform.txt | 79 -------------
> .../devicetree/bindings/ata/generic-ahci.yaml | 89 ++++++++++++++
> 3 files changed, 199 insertions(+), 79 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/ata/ahci-common.yaml
> delete mode 100644 Documentation/devicetree/bindings/ata/ahci-platform.txt
> create mode 100644 Documentation/devicetree/bindings/ata/generic-ahci.yaml

This has already been converted and is in Linus' tree now for v5.18.

Rob