mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
arm64: dts: qcom: gaokun3: Add Embedded Controller node
The Embedded Controller in the Huawei Matebook E Go is accessible on &i2c15 and provides battery and adapter status, port orientation status, as well as HPD event notifications for two USB Type-C port, etc. Add the EC to the device tree and describe the relationship among the type-c connectors, role switches, orientation switches and the QMP combo PHY. Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250214180656.28599-4-mitltlatltl@gmail.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
7636f090d0
commit
0b6d8f9d2d
|
|
@ -28,6 +28,7 @@ / {
|
|||
|
||||
aliases {
|
||||
i2c4 = &i2c4;
|
||||
i2c15 = &i2c15;
|
||||
serial1 = &uart2;
|
||||
};
|
||||
|
||||
|
|
@ -216,6 +217,40 @@ map1 {
|
|||
};
|
||||
};
|
||||
|
||||
usb0-sbu-mux {
|
||||
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
|
||||
|
||||
select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pinctrl-0 = <&usb0_sbu_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
orientation-switch;
|
||||
|
||||
port {
|
||||
usb0_sbu_mux: endpoint {
|
||||
remote-endpoint = <&ucsi0_sbu>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb1-sbu-mux {
|
||||
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
|
||||
|
||||
select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pinctrl-0 = <&usb1_sbu_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
orientation-switch;
|
||||
|
||||
port {
|
||||
usb1_sbu_mux: endpoint {
|
||||
remote-endpoint = <&ucsi1_sbu>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wcn6855-pmu {
|
||||
compatible = "qcom,wcn6855-pmu";
|
||||
|
||||
|
|
@ -584,6 +619,97 @@ touchscreen@4f {
|
|||
|
||||
};
|
||||
|
||||
&i2c15 {
|
||||
clock-frequency = <400000>;
|
||||
|
||||
pinctrl-0 = <&i2c15_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
|
||||
embedded-controller@38 {
|
||||
compatible = "huawei,gaokun3-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_hs_in: endpoint {
|
||||
remote-endpoint = <&usb_0_dwc3_hs>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
ucsi0_ss_in: endpoint {
|
||||
remote-endpoint = <&usb_0_qmpphy_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
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_hs_in: endpoint {
|
||||
remote-endpoint = <&usb_1_dwc3_hs>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
ucsi1_ss_in: endpoint {
|
||||
remote-endpoint = <&usb_1_qmpphy_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
ucsi1_sbu: endpoint {
|
||||
remote-endpoint = <&usb1_sbu_mux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdss0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -1004,6 +1130,10 @@ &usb_0_dwc3 {
|
|||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&usb_0_dwc3_hs {
|
||||
remote-endpoint = <&ucsi0_hs_in>;
|
||||
};
|
||||
|
||||
&usb_0_hsphy {
|
||||
vdda-pll-supply = <&vreg_l9d>;
|
||||
vdda18-supply = <&vreg_l1c>;
|
||||
|
|
@ -1025,6 +1155,10 @@ &usb_0_qmpphy_dp_in {
|
|||
remote-endpoint = <&mdss0_dp0_out>;
|
||||
};
|
||||
|
||||
&usb_0_qmpphy_out {
|
||||
remote-endpoint = <&ucsi0_ss_in>;
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -1033,6 +1167,10 @@ &usb_1_dwc3 {
|
|||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&usb_1_dwc3_hs {
|
||||
remote-endpoint = <&ucsi1_hs_in>;
|
||||
};
|
||||
|
||||
&usb_1_hsphy {
|
||||
vdda-pll-supply = <&vreg_l4b>;
|
||||
vdda18-supply = <&vreg_l1c>;
|
||||
|
|
@ -1054,6 +1192,10 @@ &usb_1_qmpphy_dp_in {
|
|||
remote-endpoint = <&mdss0_dp1_out>;
|
||||
};
|
||||
|
||||
&usb_1_qmpphy_out {
|
||||
remote-endpoint = <&ucsi1_ss_in>;
|
||||
};
|
||||
|
||||
&usb_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -1177,6 +1319,13 @@ i2c4_default: i2c4-default-state {
|
|||
bias-disable;
|
||||
};
|
||||
|
||||
i2c15_default: i2c15-default-state {
|
||||
pins = "gpio36", "gpio37";
|
||||
function = "qup15";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mode_pin_active: mode-pin-state {
|
||||
pins = "gpio26";
|
||||
function = "gpio";
|
||||
|
|
@ -1301,6 +1450,20 @@ tx-pins {
|
|||
};
|
||||
};
|
||||
|
||||
usb0_sbu_default: usb0-sbu-state {
|
||||
pins = "gpio164";
|
||||
function = "gpio";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
usb1_sbu_default: usb1-sbu-state {
|
||||
pins = "gpio47";
|
||||
function = "gpio";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
wcd_default: wcd-default-state {
|
||||
reset-pins {
|
||||
pins = "gpio106";
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user