Commit 36bd9fad authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Bjorn Andersson

arm64: dts: qcom: sc8180x-flex5g: Wire up USB Type-C

Following the SC8180X Primus reference design, add pmic_glink and USB
Type-C wiring for battery manager, external display and orientation
switching.
Signed-off-by: default avatarBjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230612221456.1887533-4-quic_bjorande@quicinc.comSigned-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent ab590fa6
......@@ -45,6 +45,84 @@ lid-switch {
};
};
pmic-glink {
compatible = "qcom,sc8180x-pmic-glink", "qcom,pmic-glink";
#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>;
pmic_glink_con0_hs: endpoint {
remote-endpoint = <&usb_prim_role_switch>;
};
};
port@1 {
reg = <1>;
pmic_glink_con0_ss: endpoint {
remote-endpoint = <&usb_prim_qmpphy_out>;
};
};
port@2 {
reg = <2>;
pmic_glink_con0_sbu: endpoint {
remote-endpoint = <&usbprim_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>;
pmic_glink_con1_hs: endpoint {
remote-endpoint = <&usb_sec_role_switch>;
};
};
port@1 {
reg = <1>;
pmic_glink_con1_ss: endpoint {
remote-endpoint = <&usb_sec_qmpphy_out>;
};
};
port@2 {
reg = <2>;
pmic_glink_con1_sbu: endpoint {
remote-endpoint = <&usbsec_sbu_mux>;
};
};
};
};
};
reserved-memory {
rmtfs_mem: rmtfs-region@85500000 {
compatible = "qcom,rmtfs-mem";
......@@ -100,6 +178,44 @@ vreg_s4a_1p8: pm8150-s4-regulator {
vin-supply = <&vph_pwr>;
};
usbprim-sbu-mux {
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
enable-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
select-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usbprim_sbu_default>;
mode-switch;
orientation-switch;
port {
usbprim_sbu_mux: endpoint {
remote-endpoint = <&pmic_glink_con0_sbu>;
};
};
};
usbsec-sbu-mux {
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
enable-gpios = <&tlmm 188 GPIO_ACTIVE_LOW>;
select-gpios = <&tlmm 187 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usbsec_sbu_default>;
mode-switch;
orientation-switch;
port {
usbsec_sbu_mux: endpoint {
remote-endpoint = <&pmic_glink_con1_sbu>;
};
};
};
};
&apps_rsc {
......@@ -283,6 +399,24 @@ &mdss {
status = "okay";
};
&mdss_dp0 {
status = "okay";
};
&mdss_dp0_out {
data-lanes = <0 1>;
remote-endpoint = <&usb_prim_qmpphy_dp_in>;
};
&mdss_dp1 {
status = "okay";
};
&mdss_dp1_out {
data-lanes = <0 1>;
remote-endpoint = <&usb_sec_qmpphy_dp_in>;
};
&mdss_edp {
data-lanes = <0 1 2 3>;
......@@ -417,6 +551,8 @@ &usb_prim_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l5e_0p88>;
orientation-switch;
status = "okay";
};
......@@ -428,6 +564,18 @@ &usb_prim_dwc3 {
dr_mode = "host";
};
&usb_prim_qmpphy_dp_in {
remote-endpoint = <&mdss_dp0_out>;
};
&usb_prim_qmpphy_out {
remote-endpoint = <&pmic_glink_con0_ss>;
};
&usb_prim_role_switch {
remote-endpoint = <&pmic_glink_con0_hs>;
};
&usb_sec_hsphy {
vdda-pll-supply = <&vreg_l5e_0p88>;
vdda18-supply = <&vreg_l12a_1p8>;
......@@ -440,9 +588,23 @@ &usb_sec_qmpphy {
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l5e_0p88>;
orientation-switch;
status = "okay";
};
&usb_sec_qmpphy_dp_in {
remote-endpoint = <&mdss_dp1_out>;
};
&usb_sec_qmpphy_out {
remote-endpoint = <&pmic_glink_con1_ss>;
};
&usb_sec_role_switch {
remote-endpoint = <&pmic_glink_con1_hs>;
};
&usb_sec {
status = "okay";
};
......@@ -555,6 +717,40 @@ wake-n-pins {
};
};
usbprim_sbu_default: usbprim-sbu-state {
oe-n-pins {
pins = "gpio152";
function = "gpio";
bias-disable;
drive-strength = <16>;
output-high;
};
sel-pins {
pins = "gpio100";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
};
usbsec_sbu_default: usbsec-sbu-state {
oe-n-pins {
pins = "gpio188";
function = "gpio";
bias-disable;
drive-strength = <16>;
output-high;
};
sel-pins {
pins = "gpio187";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
};
uart13_state: uart13-state {
cts-pins {
pins = "gpio43";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment