On Wed, Jun 26, 2024 at 06:07:49PM GMT, Krishna chaitanya chundru wrote: > qps615 is a driver for Qualcomm PCIe switch driver which controls > power & configuration of the hardware. > Add a bindings document for the driver. > > Signed-off-by: Krishna chaitanya chundru <quic_krichai@xxxxxxxxxxx> > --- > .../devicetree/bindings/pci/qcom,qps615.yaml | 73 ++++++++++++++++++++++ > 1 file changed, 73 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pci/qcom,qps615.yaml b/Documentation/devicetree/bindings/pci/qcom,qps615.yaml > new file mode 100644 > index 000000000000..f090683f9e2f > --- /dev/null > +++ b/Documentation/devicetree/bindings/pci/qcom,qps615.yaml > @@ -0,0 +1,73 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pci/qcom,pcie-qps615.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm QPS615 PCIe switch > + > +maintainers: > + - Krishna chaitanya chundru <quic_krichai@xxxxxxxxxxx> > + > +description: | > + Qualcomm QPS615 PCIe switch has one upstream and three downstream > + ports. One of the downstream ports is used as endpoint device of > + Ethernet MAC. Other two downstream ports are supposed to connect > + to external device. Hopefully this isn't the only possible use of QPS615, so I'd suggest that you omit the rbg3gen2-specific integration details from this binding. In other words, describe the QPS615, not the QPS615 in rb3gen2. > + > + The power controlled by the GPIO's, if we enable the GPIO's the > + power to the switch will be on. > + > + The QPS615 PCIe switch is configured through I2C interface before > + PCIe link is established. > + > +properties: > + compatible: > + enum: > + - pci1179,0623 > + > + reg: > + maxItems: 1 > + > + vdd-supply: > + description: | '|' means "preserve formatting", but there's nothing here to preserve, please drop it. > + Phandle to the vdd input voltage which are fixed regulators which > + in are mapped to the GPIO's. The binding for a regulator consumer should not document how the providing regulator is implemented. Only thing to describe here it which "supply pin" this refers to, which turns this into "vdd input" or "vdd pin supply" (if that's what the datasheet call this pin on the QPS615) and as such you can drop the description because the name of the property already states that. > + > + switch-i2c-cntrl: I'd prefer you call it "i2c-adapter" or perhaps "i2c-bus", because it's not "the switch controller". > + description: | > + phandle to i2c controller which is used to configure the PCIe > + switch. "Reference to the i2c adapter/bus used to configure the QPS615" But I wonder if this somehow should be described on the particular i2c bus and be referenced from here instead. It's not obvious how to describe these components that sits on two different busses - although I believe this binding refers to the "configuration interface" sitting on the i2c bus, abut it's described on the PCIe bus as it relates to power sequencing. > + > +required: > + - compatible > + - reg > + - vdd-supply > + - switch-i2c-cntrl > + > +additionalProperties: false > + > +examples: > + - | > + pcie { > + #address-cells = <3>; > + #size-cells = <2>; > + > + pcie@0 { > + device_type = "pci"; > + reg = <0x0 0x0 0x0 0x0 0x0>; > + #address-cells = <3>; > + #size-cells = <2>; > + ranges; > + > + bus-range = <0x01 0xff>; > + > + qps615@0 { > + compatible = "pci1179,0623"; > + reg = <0x10000 0x0 0x0 0x0 0x0>; > + > + vdd-supply = <&vdd>; > + switch-i2c-cntrl = <&foo>; Indentation looks off here. Regards, Bjorn > + }; > + }; > + }; > > -- > 2.42.0 >