Re: [PATCH RFC 1/7] dt: bindings: add qcom,qps615.yaml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux