diff mbox series

[1/5] dt-bindings: platform: Add Huawei Matebook E Go EC

Message ID 20241227171353.404432-2-mitltlatltl@gmail.com
State New
Headers show
Series [1/5] dt-bindings: platform: Add Huawei Matebook E Go EC | expand

Commit Message

Pengyu Luo Dec. 27, 2024, 5:13 p.m. UTC
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
diff mbox series

Patch

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>;
+                        };
+                    };
+                };
+            };
+        };