Message ID | 20241227171353.404432-2-mitltlatltl@gmail.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | platform: arm64: Huawei Matebook E Go embedded controller | expand |
On Sat, 28 Dec 2024 01:13:49 +0800, Pengyu Luo wrote: > Add binding for the EC found in the Huawei Matebook E Go (sc8280xp) and > Huawei Matebook E Go LTE (sc8180x) 2in1 tablet. > > Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> > --- > .../bindings/platform/huawei,gaokun-ec.yaml | 116 ++++++++++++++++++ > 1 file changed, 116 insertions(+) > create mode 100644 Documentation/devicetree/bindings/platform/huawei,gaokun-ec.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Error: Documentation/devicetree/bindings/platform/huawei,gaokun-ec.example.dts:26.61-62 syntax error FATAL ERROR: Unable to parse input tree make[2]: *** [scripts/Makefile.dtbs:131: Documentation/devicetree/bindings/platform/huawei,gaokun-ec.example.dtb] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1506: dt_binding_check] Error 2 make: *** [Makefile:251: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241227171353.404432-2-mitltlatltl@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. 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 after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 27/12/2024 18:13, Pengyu Luo wrote: > + > +description: > + Different from other Qualcomm Snapdragon sc8180x sc8280xp based machines, > + the Huawei Matebook E Go tablets use embedded controllers while others > + use something called pmic glink which handles battery, UCSI, USB Type-C DP > + alt mode. Huawei one handles even more, like charging thresholds, FN lock, > + lid status, HPD events for the USB Type-C DP alt mode, etc. > + > +properties: > + compatible: > + items: > + - enum: > + - huawei,sc8180x-gaokun-ec > + - huawei,sc8280xp-gaokun-ec sc8180x and sc8280xp are not products of Huawei, so you cannot combine them. Use compatibles matching exactly your device, because I doubt any of us has actual schematics or datasheet of that device. > + - const: huawei,gaokun-ec How did you get the name? > + > + reg: > + const: 0x38 > + > + interrupts: > + maxItems: 1 > + > + connector: > + $ref: /schemas/connector/usb-connector.yaml# > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + i2c15 { i2c > + clock-frequency = <400000>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c15_default>; Drop all three above and test your bindings. This cannot work and test will tell you what is missing. > + > + embedded-controller@38 { > + compatible = "huawei,sc8280xp-gaokun-ec", ""huawei,gaokun-ec"; > + reg = <0x38>; > + > + interrupts-extended = <&tlmm 107 IRQ_TYPE_LEVEL_LOW>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + connector@0 { Test your bindings - you do not have node connector@0. Best regards, Krzysztof
On Sat, Dec 28, 2024 at 5:54 PM Krzysztof Kozlowski <krzk@kernel.org> wrote: > On 27/12/2024 18:13, Pengyu Luo wrote: > > + > > +description: > > + Different from other Qualcomm Snapdragon sc8180x sc8280xp based machines, > > + the Huawei Matebook E Go tablets use embedded controllers while others > > + use something called pmic glink which handles battery, UCSI, USB Type-C DP > > + alt mode. Huawei one handles even more, like charging thresholds, FN lock, > > + lid status, HPD events for the USB Type-C DP alt mode, etc. > > + > > +properties: > > + compatible: > > + items: > > + - enum: > > + - huawei,sc8180x-gaokun-ec > > + - huawei,sc8280xp-gaokun-ec > > sc8180x and sc8280xp are not products of Huawei, so you cannot combine > them. Use compatibles matching exactly your device, because I doubt any > of us has actual schematics or datasheet of that device. > > > + - const: huawei,gaokun-ec > > How did you get the name? > From website of Huawei([1]), please search for 'gaokun' here, we can know this series is called gaokun. Many files from windows indicate more, someone fetch drivers from microsoft server([2]), in one of driver archive 'OemXAudioExt_HWVE.cab', there are two files, "algorithm_GaoKunGen2.xml" "algorithm_GaoKunGen3.xml". And `Gaokun Gen3` print can be found on motherboard(someone have the motherboard, I can ask for it later). So can I use? - enum: - huawei,gaokun-gen2 - huawei,gaokun-gen3 Some backgroud: There are 3 variants, Huawei released first 2 at the same time. Huawei Matebook E Go LTE(sc8180x), codename should be gaokun2. Huawei Matebook E Go(sc8280xp@3.0GHz), codename is gaokun3. Huawei Matebook E Go 2023(sc8280xp@2.69GHz). > > + > > + reg: > > + const: 0x38 > > + > > + interrupts: > > + maxItems: 1 > > + > > + connector: > > + $ref: /schemas/connector/usb-connector.yaml# > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + i2c15 { > > i2c > Agree > > + clock-frequency = <400000>; > > + > > + pinctrl-names = "default"; > > + pinctrl-0 = <&i2c15_default>; > > Drop all three above and test your bindings. This cannot work and test > will tell you what is missing. > Agree > > + > > + embedded-controller@38 { > > + compatible = "huawei,sc8280xp-gaokun-ec", ""huawei,gaokun-ec"; > > + reg = <0x38>; > > + > > + interrupts-extended = <&tlmm 107 IRQ_TYPE_LEVEL_LOW>; > > + > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + connector@0 { > > Test your bindings - you do not have node connector@0. > I have rewritten it locally. So I will add the following and do some fixes in v2. patternProperties: '^connector@[01]$': $ref: /schemas/connector/usb-connector.yaml# properties: reg: maxItems: 1 > > > Best regards, > Krzysztof Thanks, Pengyu [1] https://consumer.huawei.com/en/support/content/en-us15945089 [2] https://github.com/matebook-e-go/uup-drivers-sc8280xp/releases
On 28/12/2024 11:50, Pengyu Luo wrote: > On Sat, Dec 28, 2024 at 5:54 PM Krzysztof Kozlowski <krzk@kernel.org> wrote: >> On 27/12/2024 18:13, Pengyu Luo wrote: >>> + >>> +description: >>> + Different from other Qualcomm Snapdragon sc8180x sc8280xp based machines, >>> + the Huawei Matebook E Go tablets use embedded controllers while others >>> + use something called pmic glink which handles battery, UCSI, USB Type-C DP >>> + alt mode. Huawei one handles even more, like charging thresholds, FN lock, >>> + lid status, HPD events for the USB Type-C DP alt mode, etc. >>> + >>> +properties: >>> + compatible: >>> + items: >>> + - enum: >>> + - huawei,sc8180x-gaokun-ec >>> + - huawei,sc8280xp-gaokun-ec >> >> sc8180x and sc8280xp are not products of Huawei, so you cannot combine >> them. Use compatibles matching exactly your device, because I doubt any >> of us has actual schematics or datasheet of that device. >> >>> + - const: huawei,gaokun-ec >> >> How did you get the name? >> > > From website of Huawei([1]), please search for 'gaokun' here, we can know Then please explain this in commit msg or bindings description (what is gaokun). > this series is called gaokun. Many files from windows indicate more, > someone fetch drivers from microsoft server([2]), in one of driver archive > 'OemXAudioExt_HWVE.cab', there are two files, "algorithm_GaoKunGen2.xml" > "algorithm_GaoKunGen3.xml". And `Gaokun Gen3` print can be found on > motherboard(someone have the motherboard, I can ask for it later). > > So can I use? > - enum: > - huawei,gaokun-gen2 > - huawei,gaokun-gen3 The internal name? > > Some backgroud: > There are 3 variants, Huawei released first 2 at the same time. > Huawei Matebook E Go LTE(sc8180x), codename should be gaokun2. > Huawei Matebook E Go(sc8280xp@3.0GHz), codename is gaokun3. > Huawei Matebook E Go 2023(sc8280xp@2.69GHz). Well, I believe it is still not good choice because we have absolutely zero insights what is actually there, what else is called gaokun etc. Especially "gen2" and "gen3" - how can anyone, outside of Huawei, figure out which is gen3? Why do people try to decode some vendor naming scheme instead of using well recognized, public and available naming: the device name? Best regards, Krzysztof
On Sun, Dec 29, 2024 at 5:50 PM Krzysztof Kozlowski <krzk@kernel.org> wrote: > On 28/12/2024 11:50, Pengyu Luo wrote: > > On Sat, Dec 28, 2024 at 5:54 PM Krzysztof Kozlowski <krzk@kernel.org> wrote: > >> On 27/12/2024 18:13, Pengyu Luo wrote: > >>> + > >>> +description: > >>> + Different from other Qualcomm Snapdragon sc8180x sc8280xp based machines, > >>> + the Huawei Matebook E Go tablets use embedded controllers while others > >>> + use something called pmic glink which handles battery, UCSI, USB Type-C DP > >>> + alt mode. Huawei one handles even more, like charging thresholds, FN lock, > >>> + lid status, HPD events for the USB Type-C DP alt mode, etc. > >>> + > >>> +properties: > >>> + compatible: > >>> + items: > >>> + - enum: > >>> + - huawei,sc8180x-gaokun-ec > >>> + - huawei,sc8280xp-gaokun-ec > >> > >> sc8180x and sc8280xp are not products of Huawei, so you cannot combine > >> them. Use compatibles matching exactly your device, because I doubt any > >> of us has actual schematics or datasheet of that device. > >> > >>> + - const: huawei,gaokun-ec > >> > >> How did you get the name? > >> > > > > From website of Huawei([1]), please search for 'gaokun' here, we can know > > Then please explain this in commit msg or bindings description (what is > gaokun). > I will add it in v2. > > this series is called gaokun. Many files from windows indicate more, > > someone fetch drivers from microsoft server([2]), in one of driver archive > > 'OemXAudioExt_HWVE.cab', there are two files, "algorithm_GaoKunGen2.xml" > > "algorithm_GaoKunGen3.xml". And `Gaokun Gen3` print can be found on > > motherboard(someone have the motherboard, I can ask for it later). > > > > So can I use? > > - enum: > > - huawei,gaokun-gen2 > > - huawei,gaokun-gen3 > > The internal name? > > > > > Some backgroud: > > There are 3 variants, Huawei released first 2 at the same time. > > Huawei Matebook E Go LTE(sc8180x), codename should be gaokun2. > > Huawei Matebook E Go(sc8280xp@3.0GHz), codename is gaokun3. > > Huawei Matebook E Go 2023(sc8280xp@2.69GHz). > > Well, I believe it is still not good choice because we have absolutely > zero insights what is actually there, what else is called gaokun etc. > Especially "gen2" and "gen3" - how can anyone, outside of Huawei, figure > out which is gen3? > > Why do people try to decode some vendor naming scheme instead of using > well recognized, public and available naming: the device name? > Check the motherboard, https://postimg.cc/V5r4KCgx (Credit to Tianyu Gao <gty0622@gmail.com>) Gen3 must be sc8280xp based variants. There are many clues showing that sc8180x based variant is Gen2. I don't want to decode anything, but as you also review Documentation/devicetree/bindings/arm/qcom.yaml, most of them are suggest to use a codename, the retailer name is so long and confused. Best wishes, Pengyu
diff --git a/Documentation/devicetree/bindings/platform/huawei,gaokun-ec.yaml b/Documentation/devicetree/bindings/platform/huawei,gaokun-ec.yaml new file mode 100644 index 000000000..f5488b57b --- /dev/null +++ b/Documentation/devicetree/bindings/platform/huawei,gaokun-ec.yaml @@ -0,0 +1,116 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/platform/huawei,gaokun-ec.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Huawei Matebook E Go Embedded Controller + +maintainers: + - Pengyu Luo <mitltlatltl@gmail.com> + +description: + Different from other Qualcomm Snapdragon sc8180x sc8280xp based machines, + the Huawei Matebook E Go tablets use embedded controllers while others + use something called pmic glink which handles battery, UCSI, USB Type-C DP + alt mode. Huawei one handles even more, like charging thresholds, FN lock, + lid status, HPD events for the USB Type-C DP alt mode, etc. + +properties: + compatible: + items: + - enum: + - huawei,sc8180x-gaokun-ec + - huawei,sc8280xp-gaokun-ec + - const: huawei,gaokun-ec + + reg: + const: 0x38 + + interrupts: + maxItems: 1 + + connector: + $ref: /schemas/connector/usb-connector.yaml# + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + i2c15 { + clock-frequency = <400000>; + + pinctrl-names = "default"; + pinctrl-0 = <&i2c15_default>; + + embedded-controller@38 { + compatible = "huawei,sc8280xp-gaokun-ec", ""huawei,gaokun-ec"; + reg = <0x38>; + + interrupts-extended = <&tlmm 107 IRQ_TYPE_LEVEL_LOW>; + + #address-cells = <1>; + #size-cells = <0>; + + connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ucsi0_ss_in: endpoint { + remote-endpoint = <&usb_0_qmpphy_out>; + }; + }; + + port@1 { + reg = <1>; + + ucsi0_sbu: endpoint { + remote-endpoint = <&usb0_sbu_mux>; + }; + }; + }; + }; + + connector@1 { + compatible = "usb-c-connector"; + reg = <1>; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ucsi1_ss_in: endpoint { + remote-endpoint = <&usb_1_qmpphy_out>; + }; + }; + + port@1 { + reg = <1>; + + ucsi1_sbu: endpoint { + remote-endpoint = <&usb1_sbu_mux>; + }; + }; + }; + }; + };
Add binding for the EC found in the Huawei Matebook E Go (sc8280xp) and Huawei Matebook E Go LTE (sc8180x) 2in1 tablet. Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> --- .../bindings/platform/huawei,gaokun-ec.yaml | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 Documentation/devicetree/bindings/platform/huawei,gaokun-ec.yaml