arm64: dts: qcom: c630: Add Embedded Controller node

The Embedded Controller in the Lenovo Yoga C630 is accessible on &i2c1
and provides battery and adapter status, as well as altmode
notifications for the second USB Type-C port.

Add a definition for the EC.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240614-yoga-ec-driver-v7-6-9f0b9b40ae76@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Bjorn Andersson 2024-06-14 02:43:43 +03:00
parent 1ef3a30f4d
commit 060a1ebd91

View File

@ -370,6 +370,66 @@
&i2c1 {
status = "okay";
clock-frequency = <400000>;
embedded-controller@70 {
compatible = "lenovo,yoga-c630-ec";
reg = <0x70>;
interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&ec_int_state>;
#address-cells = <1>;
#size-cells = <0>;
connector@0 {
compatible = "usb-c-connector";
reg = <0>;
power-role = "dual";
data-role = "host";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ucsi0_hs_in: endpoint {
remote-endpoint = <&usb_1_dwc3_hs>;
};
};
port@1 {
reg = <1>;
ucsi0_ss_in: endpoint {
remote-endpoint = <&usb_1_qmpphy_out>;
};
};
port@2 {
reg = <2>;
ucsi0_sbu: endpoint {
};
};
};
};
connector@1 {
compatible = "usb-c-connector";
reg = <1>;
power-role = "dual";
data-role = "host";
/*
* connected to the onboard USB hub, orientation is
* handled by the controller
*/
};
};
};
&i2c3 {
@ -695,6 +755,13 @@
bias-disable;
};
ec_int_state: ec-int-state {
pins = "gpio20";
function = "gpio";
bias-disable;
};
};
&uart6 {
@ -742,6 +809,10 @@
dr_mode = "host";
};
&usb_1_dwc3_hs {
remote-endpoint = <&ucsi0_hs_in>;
};
&usb_1_hsphy {
status = "okay";
@ -762,6 +833,10 @@
vdda-pll-supply = <&vdda_usb1_ss_core>;
};
&usb_1_qmpphy_out {
remote-endpoint = <&ucsi0_ss_in>;
};
&usb_2 {
status = "okay";
};