mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 22:14:36 -04:00
arm64: dts: qcom: x1e80100-qcp: Add FSUSB42 USB switches
Unlike most X1E boards, the QCP does not have Parade PS8830 retimers on the three USB-C ports. Instead, there are FSUSB42 USB switches for each port that handle orientation switching for the SBU lines. The overall setup is similar to the gpio-sbu-mux defined for sc8280xp-crd and the ThinkPad X13s. Co-developed-by: Abel Vesa <abel.vesa@linaro.org> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20241212-x1e80100-qcp-dp-v1-2-37cb362a0dfe@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
7ec7e32728
commit
a07aea2174
@@ -84,6 +84,14 @@ pmic_glink_ss0_ss_in: endpoint {
|
||||
remote-endpoint = <&usb_1_ss0_qmpphy_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
pmic_glink_ss0_sbu: endpoint {
|
||||
remote-endpoint = <&usb_1_ss0_sbu_mux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -112,6 +120,14 @@ pmic_glink_ss1_ss_in: endpoint {
|
||||
remote-endpoint = <&usb_1_ss1_qmpphy_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
pmic_glink_ss1_sbu: endpoint {
|
||||
remote-endpoint = <&usb_1_ss1_sbu_mux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -140,6 +156,14 @@ pmic_glink_ss2_ss_in: endpoint {
|
||||
remote-endpoint = <&usb_1_ss2_qmpphy_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
pmic_glink_ss2_sbu: endpoint {
|
||||
remote-endpoint = <&usb_1_ss2_sbu_mux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -256,6 +280,63 @@ vreg_nvme: regulator-nvme {
|
||||
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
usb-1-ss0-sbu-mux {
|
||||
compatible = "onnn,fsusb42", "gpio-sbu-mux";
|
||||
|
||||
enable-gpios = <&tlmm 168 GPIO_ACTIVE_LOW>;
|
||||
select-gpios = <&tlmm 167 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pinctrl-0 = <&usb_1_ss0_sbu_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
mode-switch;
|
||||
orientation-switch;
|
||||
|
||||
port {
|
||||
usb_1_ss0_sbu_mux: endpoint {
|
||||
remote-endpoint = <&pmic_glink_ss0_sbu>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb-1-ss1-sbu-mux {
|
||||
compatible = "onnn,fsusb42", "gpio-sbu-mux";
|
||||
|
||||
enable-gpios = <&tlmm 179 GPIO_ACTIVE_LOW>;
|
||||
select-gpios = <&tlmm 178 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pinctrl-0 = <&usb_1_ss1_sbu_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
mode-switch;
|
||||
orientation-switch;
|
||||
|
||||
port {
|
||||
usb_1_ss1_sbu_mux: endpoint {
|
||||
remote-endpoint = <&pmic_glink_ss1_sbu>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb-1-ss2-sbu-mux {
|
||||
compatible = "onnn,fsusb42", "gpio-sbu-mux";
|
||||
|
||||
enable-gpios = <&tlmm 171 GPIO_ACTIVE_LOW>;
|
||||
select-gpios = <&tlmm 170 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pinctrl-0 = <&usb_1_ss2_sbu_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
mode-switch;
|
||||
orientation-switch;
|
||||
|
||||
port {
|
||||
usb_1_ss2_sbu_mux: endpoint {
|
||||
remote-endpoint = <&pmic_glink_ss2_sbu>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
@@ -950,6 +1031,79 @@ sdc2_card_det_n: sdc2-card-det-state {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
|
||||
mode-pins {
|
||||
pins = "gpio166";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
output-high;
|
||||
};
|
||||
|
||||
oe-n-pins {
|
||||
pins = "gpio168";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
sel-pins {
|
||||
pins = "gpio167";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
usb_1_ss1_sbu_default: usb-1-ss1-sbu-state {
|
||||
mode-pins {
|
||||
pins = "gpio177";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
output-high;
|
||||
};
|
||||
|
||||
oe-n-pins {
|
||||
pins = "gpio179";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
sel-pins {
|
||||
pins = "gpio178";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
usb_1_ss2_sbu_default: usb-1-ss2-sbu-state {
|
||||
mode-pins {
|
||||
pins = "gpio169";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
output-high;
|
||||
};
|
||||
|
||||
oe-n-pins {
|
||||
pins = "gpio171";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
sel-pins {
|
||||
pins = "gpio170";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
wcd_default: wcd-reset-n-active-state {
|
||||
pins = "gpio191";
|
||||
function = "gpio";
|
||||
|
||||
Reference in New Issue
Block a user