Message ID | 20220810030500.2793882-2-bjorn.andersson@linaro.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | power: supply: Lenovo Yoga C630 EC | expand |
On 10/08/2022 06:04, Bjorn Andersson wrote: > Add binding for the Embedded Controller found in the Qualcomm > Snapdragon-based Lenovo Yoga C630. Thank you for your patch. There is something to discuss/improve. > + > +description: > + The Qualcomm Snapdragon-based Lenovo Yoga C630 has an Embedded Controller > + (EC) which handles things such as battery and USB Type-C. This binding > + describes the interface, on an I2C bus, to this EC. > + > +properties: > + compatible: > + const: lenovo,yoga-c630-ec > + > + reg: > + const: 0x70 > + > + '#address-cells': > + const: 1 Just to clarify: the EC have physically two USB connectors? > + > + '#size-cells': > + const: 0 > + > + interrupts: > + maxItems: 1 > + > +patternProperties: > + '^connector@\d$': > + $ref: /schemas/connector/usb-connector.yaml# unevaluatedProperties:false inside connector (on its level) > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - |+ > + #include <dt-bindings/interrupt-controller/irq.h> > + i2c1 { > + clock-frequency = <400000>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + embedded-controller@70 { > + compatible = "lenovo,yoga-c630-ec"; > + reg = <0x70>; > + > + interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + connector@0 { > + compatible = "usb-c-connector"; > + reg = <0>; > + power-role = "source"; > + data-role = "host"; > + }; > + > + connector@1 { > + compatible = "usb-c-connector"; > + reg = <1>; > + power-role = "source"; > + data-role = "host"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + port@1 { > + reg = <1>; > + lenovo_ec_dp_in: endpoint { > + remote-endpoint = <&mdss_dp_out>; You have inconsistent indentation. Use 4-spaces for entire DTS example. Best regards, Krzysztof
On Tue, 09 Aug 2022 22:04:59 -0500, Bjorn Andersson wrote: > Add binding for the Embedded Controller found in the Qualcomm > Snapdragon-based Lenovo Yoga C630. > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > .../power/supply/lenovo,yoga-c630-ec.yaml | 88 +++++++++++++++++++ > 1 file changed, 88 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.example.dtb: embedded-controller@70: connector@1:ports: 'port@0' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.example.dtb: connector@1: ports: 'port@0' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/connector/usb-connector.yaml doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On Wed 10 Aug 06:35 PDT 2022, Krzysztof Kozlowski wrote: > On 10/08/2022 06:04, Bjorn Andersson wrote: > > Add binding for the Embedded Controller found in the Qualcomm > > Snapdragon-based Lenovo Yoga C630. > > Thank you for your patch. There is something to discuss/improve. > > > + > > +description: > > + The Qualcomm Snapdragon-based Lenovo Yoga C630 has an Embedded Controller > > + (EC) which handles things such as battery and USB Type-C. This binding > > + describes the interface, on an I2C bus, to this EC. > > + > > +properties: > > + compatible: > > + const: lenovo,yoga-c630-ec > > + > > + reg: > > + const: 0x70 > > + > > + '#address-cells': > > + const: 1 > > Just to clarify: the EC have physically two USB connectors? > Correct, while it's only possible to do Displayport on the second connector, the EC is involved in both the connectors - based on the events received from it. > > + > > + '#size-cells': > > + const: 0 > > + > > + interrupts: > > + maxItems: 1 > > + > > +patternProperties: > > + '^connector@\d$': > > + $ref: /schemas/connector/usb-connector.yaml# > > unevaluatedProperties:false inside connector (on its level) > Okay, will update accordingly. > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + > > +additionalProperties: false > > + > > +examples: > > + - |+ > > + #include <dt-bindings/interrupt-controller/irq.h> > > + i2c1 { > > + clock-frequency = <400000>; > > + > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + embedded-controller@70 { > > + compatible = "lenovo,yoga-c630-ec"; > > + reg = <0x70>; > > + > > + interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>; > > + > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + connector@0 { > > + compatible = "usb-c-connector"; > > + reg = <0>; > > + power-role = "source"; > > + data-role = "host"; > > + }; > > + > > + connector@1 { > > + compatible = "usb-c-connector"; > > + reg = <1>; > > + power-role = "source"; > > + data-role = "host"; > > + > > + ports { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + port@1 { > > + reg = <1>; > > + lenovo_ec_dp_in: endpoint { > > + remote-endpoint = <&mdss_dp_out>; > > You have inconsistent indentation. Use 4-spaces for entire DTS example. > Odd, will fix. Thanks, Bjorn > Best regards, > Krzysztof
diff --git a/Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.yaml b/Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.yaml new file mode 100644 index 000000000000..2dceb57a56b1 --- /dev/null +++ b/Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.yaml @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/supply/lenovo,yoga-c630-ec.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Lenovo Yoga C630 Embedded Controller. + +maintainers: + - Bjorn Andersson <bjorn.andersson@linaro.org> + +description: + The Qualcomm Snapdragon-based Lenovo Yoga C630 has an Embedded Controller + (EC) which handles things such as battery and USB Type-C. This binding + describes the interface, on an I2C bus, to this EC. + +properties: + compatible: + const: lenovo,yoga-c630-ec + + reg: + const: 0x70 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + interrupts: + maxItems: 1 + +patternProperties: + '^connector@\d$': + $ref: /schemas/connector/usb-connector.yaml# + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - |+ + #include <dt-bindings/interrupt-controller/irq.h> + i2c1 { + clock-frequency = <400000>; + + #address-cells = <1>; + #size-cells = <0>; + + embedded-controller@70 { + compatible = "lenovo,yoga-c630-ec"; + reg = <0x70>; + + interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>; + + #address-cells = <1>; + #size-cells = <0>; + + connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + power-role = "source"; + data-role = "host"; + }; + + connector@1 { + compatible = "usb-c-connector"; + reg = <1>; + power-role = "source"; + data-role = "host"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@1 { + reg = <1>; + lenovo_ec_dp_in: endpoint { + remote-endpoint = <&mdss_dp_out>; + }; + }; + }; + }; + }; + }; +...
Add binding for the Embedded Controller found in the Qualcomm Snapdragon-based Lenovo Yoga C630. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- .../power/supply/lenovo,yoga-c630-ec.yaml | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/supply/lenovo,yoga-c630-ec.yaml