From: Stephen Boyd <swboyd@chromium.org>
To: chrome-platform@lists.linux.dev
Cc: linux-kernel@vger.kernel.org, patches@lists.linux.dev,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
Douglas Anderson <dianders@chromium.org>,
Pin-yen Lin <treapking@chromium.org>,
cros-qcom-dts-watchers@chromium.org,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>
Subject: [PATCH 22/22] arm64: dts: qcom: sc7180-trogdor: Wire up USB and DP to usb-c-connectors
Date: Fri, 9 Feb 2024 23:09:33 -0800 [thread overview]
Message-ID: <20240210070934.2549994-23-swboyd@chromium.org> (raw)
In-Reply-To: <20240210070934.2549994-1-swboyd@chromium.org>
Fully describe the USB type-c and DP topology on sc7180 Trogdor devices.
Most Trogdor devices have two USB type-c ports (i.e. usb-c-connector
nodes), but quackingstick only has one. Also, clamshell devices such as
Lazor have a USB webcam connected to the USB hub, while detachable
devices such as Wormdingler don't have a webcam, or a USB type-a
connector. Instead they have the pogo pins for the detachable keyboard.
Fully describing the topology like this will let us expose information
about what devices are connected to which physical USB connector (type-A
or type-C) and which port is connected to an external display for DP.
Cc: <cros-qcom-dts-watchers@chromium.org>
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: <linux-arm-msm@vger.kernel.org>
Cc: <devicetree@vger.kernel.org>
Cc: Pin-yen Lin <treapking@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
---
.../dts/qcom/sc7180-trogdor-clamshell.dtsi | 21 +++
.../boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 47 +++++
.../dts/qcom/sc7180-trogdor-detachable.dtsi | 13 ++
.../dts/qcom/sc7180-trogdor-homestar.dtsi | 47 +++++
.../dts/qcom/sc7180-trogdor-kingoftown.dts | 55 ++++++
.../boot/dts/qcom/sc7180-trogdor-lazor.dtsi | 55 ++++++
.../boot/dts/qcom/sc7180-trogdor-pazquel.dtsi | 55 ++++++
.../boot/dts/qcom/sc7180-trogdor-pompom.dtsi | 44 +++++
.../qcom/sc7180-trogdor-quackingstick.dtsi | 31 ++++
.../dts/qcom/sc7180-trogdor-wormdingler.dtsi | 47 +++++
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 175 ++++++++++++++++++
11 files changed, 590 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi
index bcf3df463f80..96137202fc64 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi
@@ -7,3 +7,24 @@
/* This file must be included after sc7180-trogdor.dtsi */
#include <arm/cros-ec-keyboard.dtsi>
+
+/ {
+ usb-a-connector {
+ compatible = "usb-a-connector";
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb_a0_hs: endpoint@0 {
+ reg = <0>;
+ /* Remote endpoint filled in by board */
+ };
+
+ usb_a0_ss: endpoint@1 {
+ reg = <1>;
+ /* Remote endpoint filled in by board */
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
index 6e6a4643c4dd..4cf5b1e20b27 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
@@ -135,6 +135,17 @@ skin-temp-thermistor@1 {
};
};
+&pogo_pins {
+ keyboard@4 {
+ compatible = "usb18d1,504c";
+ reg = <4>;
+ };
+};
+
+&pogo_pins_in {
+ remote-endpoint = <&usb_hub_dfp4_hs>;
+};
+
&pp1800_uf_cam {
status = "okay";
};
@@ -176,6 +187,42 @@ &sound_multimedia0_codec {
sound-dai = <&adau7002>;
};
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp1_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp1_ss>;
+};
+
+&usb_c1_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c1_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
+&usb_hub_dfp1_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp1_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c1_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c1_ss_rxtx>;
+};
+
+&usb_hub_dfp4_hs {
+ remote-endpoint = <&pogo_pins_in>;
+};
+
/* PINCTRL - modifications to sc7180-trogdor.dtsi */
&en_pp3300_dx_edp {
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi
index ab0f30288871..b24a0213a477 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi
@@ -5,6 +5,19 @@
* Copyright 2024 Google LLC.
*/
+/ {
+ pogo_pins: pogo-pin-connector {
+ compatible = "google,pogo-pin-connector";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ /* Detachable keyboard populated for each board */
+ port {
+ pogo_pins_in: endpoint {
+ };
+ };
+ };
+};
+
&cros_ec {
keyboard-controller {
compatible = "google,cros-ec-keyb-switches";
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
index a86a6c5c3f67..9e32c984ab32 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
@@ -162,6 +162,17 @@ skin-temp-thermistor@1 {
};
};
+&pogo_pins {
+ keyboard@3 {
+ compatible = "usb18d1,5052";
+ reg = <3>;
+ };
+};
+
+&pogo_pins_in {
+ remote-endpoint = <&usb_hub_dfp3_hs>;
+};
+
&pp1800_uf_cam {
status = "okay";
};
@@ -190,6 +201,42 @@ &sound_multimedia1_codec {
sound-dai = <&max98360a>, <&max98360a_1>, <&max98360a_2>, <&max98360a_3> ;
};
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
+&usb_c1_hs {
+ remote-endpoint = <&usb_hub_dfp4_hs>;
+};
+
+&usb_c1_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp4_ss>;
+};
+
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp3_hs {
+ remote-endpoint = <&pogo_pins_in>;
+};
+
+&usb_hub_dfp4_hs {
+ remote-endpoint = <&usb_c1_hs>;
+};
+
+&usb_hub_dfp4_ss {
+ remote-endpoint = <&usb_c1_ss_rxtx>;
+};
+
&wifi {
qcom,ath10k-calibration-variant = "GO_HOMESTAR";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts b/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts
index 655bea928e52..476c0a2f30da 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts
@@ -78,6 +78,61 @@ &pp3300_dx_edp {
gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
};
+&usb_a0_hs {
+ remote-endpoint = <&usb_hub_dfp3_hs>;
+};
+
+&usb_a0_ss {
+ remote-endpoint = <&usb_hub_dfp3_ss>;
+};
+
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp1_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp1_ss>;
+};
+
+&usb_c1_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c1_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
+&usb_hub_2_x {
+ camera@4 {
+ compatible = "usb4f2,b75a";
+ reg = <4>;
+ };
+};
+
+&usb_hub_dfp1_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp1_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c1_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c1_ss_rxtx>;
+};
+
+&usb_hub_dfp3_hs {
+ remote-endpoint = <&usb_a0_hs>;
+};
+
+&usb_hub_dfp3_ss {
+ remote-endpoint = <&usb_a0_ss>;
+};
+
&wifi {
qcom,ath10k-calibration-variant = "GO_KINGOFTOWN";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
index c3fd6760de7a..2603607ebd80 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
@@ -68,6 +68,61 @@ &trackpad {
interrupts = <58 IRQ_TYPE_EDGE_FALLING>;
};
+&usb_hub_2_x {
+ camera@1 {
+ compatible = "usb408,a092";
+ reg = <1>;
+ };
+};
+
+&usb_a0_hs {
+ remote-endpoint = <&usb_hub_dfp3_hs>;
+};
+
+&usb_a0_ss {
+ remote-endpoint = <&usb_hub_dfp3_ss>;
+};
+
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
+&usb_c1_hs {
+ remote-endpoint = <&usb_hub_dfp4_hs>;
+};
+
+&usb_c1_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp4_ss>;
+};
+
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp3_hs {
+ remote-endpoint = <&usb_a0_hs>;
+};
+
+&usb_hub_dfp3_ss {
+ remote-endpoint = <&usb_a0_ss>;
+};
+
+&usb_hub_dfp4_hs {
+ remote-endpoint = <&usb_c1_hs>;
+};
+
+&usb_hub_dfp4_ss {
+ remote-endpoint = <&usb_c1_ss_rxtx>;
+};
+
&wifi {
qcom,ath10k-calibration-variant = "GO_LAZOR";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi
index 60ccd3abddfc..dee06c64b59a 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi
@@ -83,6 +83,61 @@ &pp3300_dx_edp {
gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
};
+&usb_a0_hs {
+ remote-endpoint = <&usb_hub_dfp3_hs>;
+};
+
+&usb_a0_ss {
+ remote-endpoint = <&usb_hub_dfp3_ss>;
+};
+
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp1_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp1_ss>;
+};
+
+&usb_c1_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c1_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
+&usb_hub_2_x {
+ camera@4 {
+ compatible = "usb5c8,b03";
+ reg = <4>;
+ };
+};
+
+&usb_hub_dfp1_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp1_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c1_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c1_ss_rxtx>;
+};
+
+&usb_hub_dfp3_hs {
+ remote-endpoint = <&usb_a0_hs>;
+};
+
+&usb_hub_dfp3_ss {
+ remote-endpoint = <&usb_a0_ss>;
+};
+
/* PINCTRL - modifications to sc7180-trogdor.dtsi */
&en_pp3300_dx_edp {
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
index 43b2583f0f26..88ffa2331cd2 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
@@ -180,10 +180,54 @@ &sound {
dmic-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
};
+&usb_a0_hs {
+ remote-endpoint = <&usb_hub_dfp4_hs>;
+};
+
+&usb_a0_ss {
+ remote-endpoint = <&usb_hub_dfp4_ss>;
+};
+
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp3_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp3_ss>;
+};
+
&usb_c1 {
status = "disabled";
};
+&usb_hub_2_x {
+ camera@1 {
+ compatible = "usb4f2,b718";
+ reg = <1>;
+ };
+
+ camera@2 {
+ compatible = "usb13d3,56e9";
+ reg = <2>;
+ };
+};
+
+&usb_hub_dfp3_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp3_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp4_hs {
+ remote-endpoint = <&usb_a0_hs>;
+};
+
+&usb_hub_dfp4_ss {
+ remote-endpoint = <&usb_a0_ss>;
+};
+
&wifi {
qcom,ath10k-calibration-variant = "GO_POMPOM";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi
index 00229b1515e6..d0d9871b74cb 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi
@@ -104,6 +104,17 @@ &sdhc_2 {
status = "okay";
};
+&pogo_pins {
+ keyboard@1 {
+ compatible = "usb18d1,505b";
+ reg = <1>;
+ };
+};
+
+&pogo_pins_in {
+ remote-endpoint = <&usb_hub_dfp1_hs>;
+};
+
&pp1800_uf_cam {
status = "okay";
};
@@ -128,11 +139,31 @@ pp3300_disp_on: &pp3300_dx_edp {
gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
};
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
/* This board only has 1 USB Type-C port. */
&usb_c1 {
status = "disabled";
};
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp1_hs {
+ remote-endpoint = <&pogo_pins_in>;
+};
+
/* PINCTRL - modifications to sc7180-trogdor.dtsi */
/*
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi
index 1d9fc61b6550..409d332fbc13 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi
@@ -180,6 +180,17 @@ skin-temp-thermistor@1 {
};
};
+&pogo_pins {
+ keyboard@3 {
+ compatible = "usb18d1,5057";
+ reg = <3>;
+ };
+};
+
+&pogo_pins_in {
+ remote-endpoint = <&usb_hub_dfp3_hs>;
+};
+
&pp1800_uf_cam {
status = "okay";
};
@@ -196,6 +207,42 @@ &pp2800_wf_cam {
status = "okay";
};
+&usb_c0_hs {
+ remote-endpoint = <&usb_hub_dfp2_hs>;
+};
+
+&usb_c0_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp2_ss>;
+};
+
+&usb_c1_hs {
+ remote-endpoint = <&usb_hub_dfp4_hs>;
+};
+
+&usb_c1_ss_rxtx {
+ remote-endpoint = <&usb_hub_dfp3_ss>;
+};
+
+&usb_hub_dfp2_hs {
+ remote-endpoint = <&usb_c0_hs>;
+};
+
+&usb_hub_dfp2_ss {
+ remote-endpoint = <&usb_c0_ss_rxtx>;
+};
+
+&usb_hub_dfp4_hs {
+ remote-endpoint = <&usb_c1_hs>;
+};
+
+&usb_hub_dfp3_ss {
+ remote-endpoint = <&usb_c1_ss_rxtx>;
+};
+
+&usb_hub_dfp3_hs {
+ remote-endpoint = <&pogo_pins_in>;
+};
+
&wifi {
qcom,ath10k-calibration-variant = "GO_WORMDINGLER";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index 46aaeba28604..ee08a4ecade9 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -650,6 +650,12 @@ cros_ec: ec@0 {
pinctrl-0 = <&ap_ec_int_l>;
spi-max-frequency = <3000000>;
+ cros_ec_gpio: gpio {
+ compatible = "google,cros-ec-gpio";
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
cros_ec_pwm: pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
@@ -662,6 +668,65 @@ i2c_tunnel: i2c-tunnel {
#size-cells = <0>;
};
+ typec-switch {
+ compatible = "google,cros-ec-typec-switch";
+ no-hpd;
+ mode-switch;
+ mux-gpios = <&cros_ec_gpio 42 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dp_ml0_ml1: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&mdss_dp_out>;
+ data-lanes = <0 1>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb_c0_ss_rxtx: endpoint@0 {
+ reg = <0>;
+ /* Endpoint filled in by board */
+ };
+
+ usb_c1_ss_rxtx: endpoint@1 {
+ reg = <1>;
+ /* Endpoint filled in by board */
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cros_typec_c0_ss: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&usb_c0_ss>;
+ data-lanes = <0 1 2 3>;
+ };
+
+ cros_typec_c1_ss: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&usb_c1_ss>;
+ data-lanes = <0 1 2 3>;
+ };
+ };
+ };
+
+ };
+
typec {
compatible = "google,cros-ec-typec";
#address-cells = <1>;
@@ -674,6 +739,25 @@ usb_c0: connector@0 {
power-role = "dual";
data-role = "host";
try-power-role = "source";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ usb_c0_hs: endpoint {
+ /* Endpoint filled in by board */
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ usb_c0_ss: endpoint {
+ remote-endpoint = <&cros_typec_c0_ss>;
+ };
+ };
+ };
};
usb_c1: connector@1 {
@@ -683,6 +767,25 @@ usb_c1: connector@1 {
power-role = "dual";
data-role = "host";
try-power-role = "source";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ usb_c1_hs: endpoint {
+ /* Endpoint filled in by board */
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ usb_c1_ss: endpoint {
+ remote-endpoint = <&cros_typec_c1_ss>;
+ };
+ };
+ };
};
};
};
@@ -794,6 +897,7 @@ &mdss_dp {
&mdss_dp_out {
data-lanes = <0 1>;
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
+ remote-endpoint = <&dp_ml0_ml1>;
};
&mdss_dsi0 {
@@ -965,6 +1069,41 @@ usb_hub_2_x: hub@1 {
reg = <1>;
vdd-supply = <&pp3300_hub>;
peer-hub = <&usb_hub_3_x>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb_hub_2_x_ports: ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ usb_hub_dfp1_hs: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+ port@2 {
+ reg = <2>;
+ usb_hub_dfp2_hs: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ usb_hub_dfp3_hs: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ usb_hub_dfp4_hs: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+ };
};
/* 3.x hub on port 2 */
@@ -973,6 +1112,42 @@ usb_hub_3_x: hub@2 {
reg = <2>;
vdd-supply = <&pp3300_hub>;
peer-hub = <&usb_hub_2_x>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb_hub_3_x_ports: ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ usb_hub_dfp1_ss: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ usb_hub_dfp2_ss: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ usb_hub_dfp3_ss: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ usb_hub_dfp4_ss: endpoint {
+ /* Remote endpoint filled in by board */
+ };
+ };
+ };
};
};
--
https://chromeos.dev
prev parent reply other threads:[~2024-02-10 7:10 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-10 7:09 [PATCH 00/22] platform/chrome: Add DT USB/DP muxing/topology to Trogdor Stephen Boyd
2024-02-10 7:09 ` [PATCH 01/22] dt-bindings: gpio: Add binding for ChromeOS EC GPIO controller Stephen Boyd
2024-02-11 13:26 ` Krzysztof Kozlowski
2024-02-15 0:44 ` Stephen Boyd
2024-02-15 14:06 ` Rob Herring
2024-02-15 22:00 ` Stephen Boyd
2024-02-10 7:09 ` [PATCH 02/22] gpio: Add ChromeOS EC GPIO driver Stephen Boyd
2024-02-13 17:57 ` Linus Walleij
2024-02-10 7:09 ` [PATCH 03/22] dt-bindings: usb: Add downstream facing ports to realtek binding Stephen Boyd
2024-02-10 11:29 ` Rob Herring
2024-02-10 7:09 ` [PATCH 04/22] usb: core: Set connect_type of ports based on DT node Stephen Boyd
2024-02-14 0:03 ` Doug Anderson
2024-02-14 23:51 ` Stephen Boyd
2024-02-10 7:09 ` [PATCH 05/22] drm/atomic-helper: Introduce lane remapping support to bridges Stephen Boyd
2024-02-10 7:09 ` [PATCH 06/22] drm/bridge: Verify lane assignment is going to work during atomic_check Stephen Boyd
2024-02-10 7:09 ` [PATCH 07/22] device property: Add remote endpoint to devcon matcher Stephen Boyd
2024-02-10 7:09 ` [PATCH 08/22] platform/chrome: cros_ec_typec: Purge blocking switch devlinks Stephen Boyd
2024-02-10 7:09 ` [PATCH 09/22] platform/chrome: cros_typec_switch: Use read_poll_timeout helper Stephen Boyd
2024-02-10 7:09 ` [PATCH 10/22] platform/chrome: cros_typec_switch: Move port creation code to sub-function Stephen Boyd
2024-02-10 7:09 ` [PATCH 11/22] platform/chrome: cros_typec_switch: Use fwnode instead of ACPI APIs Stephen Boyd
2024-02-10 7:09 ` [PATCH 12/22] platform/chrome: cros_typec_switch: Use dev_err_probe() Stephen Boyd
2024-02-10 7:09 ` [PATCH 13/22] dt-bindings: chrome: Add google,cros-ec-typec-switch binding Stephen Boyd
2024-02-11 13:34 ` Krzysztof Kozlowski
2024-02-15 1:52 ` Stephen Boyd
2024-02-15 8:34 ` Krzysztof Kozlowski
2024-02-11 13:35 ` Krzysztof Kozlowski
2024-02-10 7:09 ` [PATCH 14/22] platform/chrome: cros_typec_switch: Add support for signaling HPD to drm_bridge Stephen Boyd
2024-02-10 14:10 ` Dmitry Baryshkov
2024-02-11 8:52 ` Stephen Boyd
2024-02-11 9:00 ` Dmitry Baryshkov
2024-02-10 7:09 ` [PATCH 15/22] platform/chrome: cros_typec_switch: Support DP muxing via DRM lane assignment Stephen Boyd
2024-02-10 7:09 ` [PATCH 16/22] platform/chrome: cros_typec_switch: Support orientation-switch Stephen Boyd
2024-02-10 7:09 ` [PATCH 17/22] platform/chrome: cros_typec_switch: Handle lack of HPD information Stephen Boyd
2024-02-10 7:09 ` [PATCH 18/22] dt-bindings: chrome: Add binding for ChromeOS Pogo pin connector Stephen Boyd
2024-02-11 13:39 ` Krzysztof Kozlowski
2024-02-15 0:07 ` Stephen Boyd
2024-02-15 8:39 ` Krzysztof Kozlowski
2024-02-14 1:17 ` Doug Anderson
2024-02-15 0:10 ` Stephen Boyd
2024-02-10 7:09 ` [PATCH 19/22] arm64: dts: qcom: sc7180: quackingstick: Disable instead of delete usb_c1 Stephen Boyd
2024-02-10 11:51 ` Dmitry Baryshkov
2024-02-13 23:24 ` Doug Anderson
2024-02-10 7:09 ` [PATCH 20/22] arm64: dts: qcom: sc7180: pazquel: Add missing comment header Stephen Boyd
2024-02-10 11:51 ` Dmitry Baryshkov
2024-02-13 23:24 ` Doug Anderson
2024-02-10 7:09 ` [PATCH 21/22] arm64: dts: qcom: sc7180-trogdor: Make clamshell/detachable fragments Stephen Boyd
2024-02-10 11:53 ` Dmitry Baryshkov
2024-02-13 23:34 ` Doug Anderson
2024-02-15 0:35 ` Stephen Boyd
2024-02-15 0:39 ` Doug Anderson
2024-02-10 7:09 ` Stephen Boyd [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240210070934.2549994-23-swboyd@chromium.org \
--to=swboyd@chromium.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=chrome-platform@lists.linux.dev \
--cc=conor+dt@kernel.org \
--cc=cros-qcom-dts-watchers@chromium.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=robh+dt@kernel.org \
--cc=treapking@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox