On Wed, Jun 26, 2024 at 06:07:49PM +0530, 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. > + > + 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. > + As a PCI device and implementing a PCI bus, you need to reference pci-pci-bridge.yaml. And you'll need to fix your example when you add that. > +properties: > + compatible: > + enum: > + - pci1179,0623 > + > + reg: > + maxItems: 1 > + > + vdd-supply: > + description: | > + Phandle to the vdd input voltage which are fixed regulators which > + in are mapped to the GPIO's. > + > + switch-i2c-cntrl: > + description: | > + phandle to i2c controller which is used to configure the PCIe > + switch. There's a somewhat standard property for this purpose: i2c-bus > + > +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>; Unless there's a h/w limitation, you don't need this. > + > + qps615@0 { > + compatible = "pci1179,0623"; > + reg = <0x10000 0x0 0x0 0x0 0x0>; > + > + vdd-supply = <&vdd>; > + switch-i2c-cntrl = <&foo>; > + }; > + }; > + }; > > -- > 2.42.0 >