Commit ba712fd5 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Bjorn Andersson

arm64: dts: qcom: sm8150-hdk: enable DisplayPort and USB-C altmode

Enable the USB-C related functionality for the USB-C port on this board.
This includes OTG, PowerDelivery and DP AltMode. Also enable the
DisplayPort itself.
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20231215174152.315403-8-dmitry.baryshkov@linaro.orgSigned-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 10da1b9a
......@@ -7,6 +7,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/usb/pd.h>
#include "sm8150.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
......@@ -374,6 +375,10 @@ &gmu {
status = "okay";
};
&gpi_dma0 {
status = "okay";
};
&gpi_dma1 {
status = "okay";
};
......@@ -382,6 +387,29 @@ &gpu {
status = "okay";
};
&i2c4 {
clock-frequency = <100000>;
status = "okay";
typec-mux@42 {
compatible = "fcs,fsa4480";
reg = <0x42>;
interrupts-extended = <&tlmm 152 IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&vreg_bob>;
mode-switch;
orientation-switch;
port {
fsa4480_sbu_mux: endpoint {
remote-endpoint = <&pm8150b_typec_sbu_out>;
};
};
};
};
&i2c9 {
status = "okay";
clock-frequency = <400000>;
......@@ -436,6 +464,15 @@ &mdss {
status = "okay";
};
&mdss_dp {
status = "okay";
};
&mdss_dp_out {
data-lanes = <0 1>;
remote-endpoint = <&usb_1_qmpphy_dp_in>;
};
&mdss_dsi0 {
status = "okay";
vdda-supply = <&vreg_l3c_1p2>;
......@@ -483,6 +520,65 @@ &mdss_dsi1_phy {
status = "okay";
};
&pm8150b_vbus {
regulator-min-microamp = <500000>;
regulator-max-microamp = <3000000>;
status = "okay";
};
&pm8150b_typec {
status = "okay";
vdd-pdphy-supply = <&vreg_l2a_3p1>;
connector {
compatible = "usb-c-connector";
power-role = "source";
data-role = "dual";
self-powered;
source-pdos = <PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
PDO_FIXED_DATA_SWAP)>;
altmodes {
displayport {
svid = /bits/ 16 <0xff01>;
vdo = <0x00001c46>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pm8150b_role_switch_in: endpoint {
remote-endpoint = <&usb_1_dwc3_hs>;
};
};
port@1 {
reg = <1>;
pm8150b_typec_mux_in: endpoint {
remote-endpoint = <&usb_1_qmpphy_out>;
};
};
port@2 {
reg = <2>;
pm8150b_typec_sbu_out: endpoint {
remote-endpoint = <&fsa4480_sbu_mux>;
};
};
};
};
};
&pon_pwrkey {
status = "okay";
};
......@@ -493,6 +589,10 @@ &pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
......@@ -568,6 +668,19 @@ &usb_1_qmpphy {
status = "okay";
vdda-phy-supply = <&vreg_l3c_1p2>;
vdda-pll-supply = <&vreg_l18a_0p8>;
orientation-switch;
};
&usb_1_qmpphy_dp_in {
remote-endpoint = <&mdss_dp_out>;
};
&usb_1_qmpphy_out {
remote-endpoint = <&pm8150b_typec_mux_in>;
};
&usb_1_qmpphy_usb_ss_in {
remote-endpoint = <&usb_1_dwc3_ss>;
};
&usb_2_qmpphy {
......@@ -585,7 +698,16 @@ &usb_2 {
};
&usb_1_dwc3 {
dr_mode = "peripheral";
dr_mode = "otg";
usb-role-switch;
};
&usb_1_dwc3_hs {
remote-endpoint = <&pm8150b_role_switch_in>;
};
&usb_1_dwc3_ss {
remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
};
&usb_2_dwc3 {
......
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