1*3d6a17fcSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*3d6a17fcSKrzysztof Kozlowski%YAML 1.2 3*3d6a17fcSKrzysztof Kozlowski--- 4*3d6a17fcSKrzysztof Kozlowski$id: http://devicetree.org/schemas/embedded-controller/huawei,gaokun3-ec.yaml# 5*3d6a17fcSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3d6a17fcSKrzysztof Kozlowski 7*3d6a17fcSKrzysztof Kozlowskititle: Huawei Matebook E Go Embedded Controller 8*3d6a17fcSKrzysztof Kozlowski 9*3d6a17fcSKrzysztof Kozlowskimaintainers: 10*3d6a17fcSKrzysztof Kozlowski - Pengyu Luo <mitltlatltl@gmail.com> 11*3d6a17fcSKrzysztof Kozlowski 12*3d6a17fcSKrzysztof Kozlowskidescription: 13*3d6a17fcSKrzysztof Kozlowski Different from other Qualcomm Snapdragon sc8180x and sc8280xp-based 14*3d6a17fcSKrzysztof Kozlowski machines, the Huawei Matebook E Go tablets use embedded controllers 15*3d6a17fcSKrzysztof Kozlowski while others use a system called PMIC GLink which handles battery, 16*3d6a17fcSKrzysztof Kozlowski UCSI, USB Type-C DP Alt Mode. In addition, Huawei's implementation 17*3d6a17fcSKrzysztof Kozlowski also handles additional features, such as charging thresholds, FN 18*3d6a17fcSKrzysztof Kozlowski lock, smart charging, tablet lid status, thermal sensors, and more. 19*3d6a17fcSKrzysztof Kozlowski 20*3d6a17fcSKrzysztof Kozlowskiproperties: 21*3d6a17fcSKrzysztof Kozlowski compatible: 22*3d6a17fcSKrzysztof Kozlowski enum: 23*3d6a17fcSKrzysztof Kozlowski - huawei,gaokun3-ec 24*3d6a17fcSKrzysztof Kozlowski 25*3d6a17fcSKrzysztof Kozlowski reg: 26*3d6a17fcSKrzysztof Kozlowski const: 0x38 27*3d6a17fcSKrzysztof Kozlowski 28*3d6a17fcSKrzysztof Kozlowski '#address-cells': 29*3d6a17fcSKrzysztof Kozlowski const: 1 30*3d6a17fcSKrzysztof Kozlowski 31*3d6a17fcSKrzysztof Kozlowski '#size-cells': 32*3d6a17fcSKrzysztof Kozlowski const: 0 33*3d6a17fcSKrzysztof Kozlowski 34*3d6a17fcSKrzysztof Kozlowski interrupts: 35*3d6a17fcSKrzysztof Kozlowski maxItems: 1 36*3d6a17fcSKrzysztof Kozlowski 37*3d6a17fcSKrzysztof KozlowskipatternProperties: 38*3d6a17fcSKrzysztof Kozlowski '^connector@[01]$': 39*3d6a17fcSKrzysztof Kozlowski $ref: /schemas/connector/usb-connector.yaml# 40*3d6a17fcSKrzysztof Kozlowski 41*3d6a17fcSKrzysztof Kozlowski properties: 42*3d6a17fcSKrzysztof Kozlowski reg: 43*3d6a17fcSKrzysztof Kozlowski maxItems: 1 44*3d6a17fcSKrzysztof Kozlowski 45*3d6a17fcSKrzysztof Kozlowskirequired: 46*3d6a17fcSKrzysztof Kozlowski - compatible 47*3d6a17fcSKrzysztof Kozlowski - reg 48*3d6a17fcSKrzysztof Kozlowski - interrupts 49*3d6a17fcSKrzysztof Kozlowski 50*3d6a17fcSKrzysztof KozlowskiadditionalProperties: false 51*3d6a17fcSKrzysztof Kozlowski 52*3d6a17fcSKrzysztof Kozlowskiexamples: 53*3d6a17fcSKrzysztof Kozlowski - | 54*3d6a17fcSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 55*3d6a17fcSKrzysztof Kozlowski i2c { 56*3d6a17fcSKrzysztof Kozlowski #address-cells = <1>; 57*3d6a17fcSKrzysztof Kozlowski #size-cells = <0>; 58*3d6a17fcSKrzysztof Kozlowski 59*3d6a17fcSKrzysztof Kozlowski embedded-controller@38 { 60*3d6a17fcSKrzysztof Kozlowski compatible = "huawei,gaokun3-ec"; 61*3d6a17fcSKrzysztof Kozlowski reg = <0x38>; 62*3d6a17fcSKrzysztof Kozlowski 63*3d6a17fcSKrzysztof Kozlowski interrupts-extended = <&tlmm 107 IRQ_TYPE_LEVEL_LOW>; 64*3d6a17fcSKrzysztof Kozlowski 65*3d6a17fcSKrzysztof Kozlowski #address-cells = <1>; 66*3d6a17fcSKrzysztof Kozlowski #size-cells = <0>; 67*3d6a17fcSKrzysztof Kozlowski 68*3d6a17fcSKrzysztof Kozlowski connector@0 { 69*3d6a17fcSKrzysztof Kozlowski compatible = "usb-c-connector"; 70*3d6a17fcSKrzysztof Kozlowski reg = <0>; 71*3d6a17fcSKrzysztof Kozlowski power-role = "dual"; 72*3d6a17fcSKrzysztof Kozlowski data-role = "dual"; 73*3d6a17fcSKrzysztof Kozlowski 74*3d6a17fcSKrzysztof Kozlowski ports { 75*3d6a17fcSKrzysztof Kozlowski #address-cells = <1>; 76*3d6a17fcSKrzysztof Kozlowski #size-cells = <0>; 77*3d6a17fcSKrzysztof Kozlowski 78*3d6a17fcSKrzysztof Kozlowski port@0 { 79*3d6a17fcSKrzysztof Kozlowski reg = <0>; 80*3d6a17fcSKrzysztof Kozlowski 81*3d6a17fcSKrzysztof Kozlowski ucsi0_ss_in: endpoint { 82*3d6a17fcSKrzysztof Kozlowski remote-endpoint = <&usb_0_qmpphy_out>; 83*3d6a17fcSKrzysztof Kozlowski }; 84*3d6a17fcSKrzysztof Kozlowski }; 85*3d6a17fcSKrzysztof Kozlowski 86*3d6a17fcSKrzysztof Kozlowski port@1 { 87*3d6a17fcSKrzysztof Kozlowski reg = <1>; 88*3d6a17fcSKrzysztof Kozlowski 89*3d6a17fcSKrzysztof Kozlowski ucsi0_sbu: endpoint { 90*3d6a17fcSKrzysztof Kozlowski remote-endpoint = <&usb0_sbu_mux>; 91*3d6a17fcSKrzysztof Kozlowski }; 92*3d6a17fcSKrzysztof Kozlowski }; 93*3d6a17fcSKrzysztof Kozlowski }; 94*3d6a17fcSKrzysztof Kozlowski }; 95*3d6a17fcSKrzysztof Kozlowski 96*3d6a17fcSKrzysztof Kozlowski connector@1 { 97*3d6a17fcSKrzysztof Kozlowski compatible = "usb-c-connector"; 98*3d6a17fcSKrzysztof Kozlowski reg = <1>; 99*3d6a17fcSKrzysztof Kozlowski power-role = "dual"; 100*3d6a17fcSKrzysztof Kozlowski data-role = "dual"; 101*3d6a17fcSKrzysztof Kozlowski 102*3d6a17fcSKrzysztof Kozlowski ports { 103*3d6a17fcSKrzysztof Kozlowski #address-cells = <1>; 104*3d6a17fcSKrzysztof Kozlowski #size-cells = <0>; 105*3d6a17fcSKrzysztof Kozlowski 106*3d6a17fcSKrzysztof Kozlowski port@0 { 107*3d6a17fcSKrzysztof Kozlowski reg = <0>; 108*3d6a17fcSKrzysztof Kozlowski 109*3d6a17fcSKrzysztof Kozlowski ucsi1_ss_in: endpoint { 110*3d6a17fcSKrzysztof Kozlowski remote-endpoint = <&usb_1_qmpphy_out>; 111*3d6a17fcSKrzysztof Kozlowski }; 112*3d6a17fcSKrzysztof Kozlowski }; 113*3d6a17fcSKrzysztof Kozlowski 114*3d6a17fcSKrzysztof Kozlowski port@1 { 115*3d6a17fcSKrzysztof Kozlowski reg = <1>; 116*3d6a17fcSKrzysztof Kozlowski 117*3d6a17fcSKrzysztof Kozlowski ucsi1_sbu: endpoint { 118*3d6a17fcSKrzysztof Kozlowski remote-endpoint = <&usb1_sbu_mux>; 119*3d6a17fcSKrzysztof Kozlowski }; 120*3d6a17fcSKrzysztof Kozlowski }; 121*3d6a17fcSKrzysztof Kozlowski }; 122*3d6a17fcSKrzysztof Kozlowski }; 123*3d6a17fcSKrzysztof Kozlowski }; 124*3d6a17fcSKrzysztof Kozlowski }; 125