On Fri, 10 Jun 2022 11:17:40 +0300, Serge Semin wrote: > In order to create a more sophisticated AHCI controller DT bindings let's > divide the already available generic AHCI platform YAML schema into the > platform part and a set of the common AHCI properties. The former part > will be used to evaluate the AHCI DT nodes mainly compatible with the > generic AHCI controller while the later schema will be used for more > thorough AHCI DT nodes description. For instance such YAML schemas design > will be useful for our DW AHCI SATA controller derivative with four clock > sources, two reset lines, one system controller reference and specific > max Rx/Tx DMA xfers size constraints. > > Note the phys and target-supply property requirement is preserved in the > generic AHCI platform bindings because some platforms can lack of the > explicitly specified PHYs or target device power regulators. > > Also note the SATA/AHCI ports properties have been moved to the > $defs-paragraph of the schemas. It's done in order to create the > extendable properties hierarchy such that particular AHCI-controller > could add vendor-specific port properties. > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > --- > > Folks, I don't really see why the phys/target-supply requirement has been > added to the generic AHCI DT schema in the first place. Probably just to > imply some meaning for the sub-nodes definition. Anyway in one of the > further patches I am adding the DW AHCI SATA controller DT bindings which > won't require having these properties specified in the sub-nodes, but will > describe additional port-specific properties. That's why I get to keep the > constraints in the ahci-platform.yaml schema instead of moving them to the > common schema. > > Changelog v2: > - This is a new patch created after rebasing v1 onto the 5.18-rc3 kernel. > > Changelog v3: > - Replace Jens's email address with Damien's one in the list of the > schema maintainers. (@Damien) > > Changelog v4: > - Drop clocks, clock-names, resets, reset-names and power-domains > properties from the common schema. (@Rob) > - Create sata/ahci-port properties definition hierarchy so the sub-schemas > would inherit and extend the ports properties of the super-schema. (@Rob) > --- > .../devicetree/bindings/ata/ahci-common.yaml | 100 ++++++++++++++++++ > .../bindings/ata/ahci-platform.yaml | 72 ++----------- > .../devicetree/bindings/ata/sata-common.yaml | 8 +- > 3 files changed, 115 insertions(+), 65 deletions(-) > create mode 100644 Documentation/devicetree/bindings/ata/ahci-common.yaml > Reviewed-by: Rob Herring <robh@xxxxxxxxxx>