Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort
@ 2026-10-15  9:54 Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali Balaji Kalkonda
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Balaji Kalkonda @ 2026-10-15  9:54 UTC (permalink / raw)
  To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kuogee Hsieh, Yongxing Mou,
	Yuanjie Yang, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Mahadevan P, Mukesh Savaliya
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Balaji Kalkonda

This series adds DisplayPort support for the Qualcomm Kaanapali SoC
and enables it on the MTP board.

Kaanapali has a single DisplayPort controller based on the SM8750
generation DP block, routed through the combo USB/DP QMP PHY. The
series:

 - Documents the new "qcom,kaanapali-dp" compatible in the DP controller
   and Kaanapali MDSS bindings.
 - Adds the Kaanapali descriptor to the DP driver.
 - Describes the DisplayPort controller node in kaanapali.dtsi, including
   its OPP table, clocks, and power domain, and wires it to the DPU and
   the USB/DP QMP PHY.
 - Enables USB-C audio support on the MTP board (WCD939x USBSS Type-C mux)
   as a prerequisite for exercising DP alt mode over the same Type-C port.
 - Enables the DisplayPort controller on MTP and advertises the supported
   link frequencies for DisplayPort over USB-C.

Signed-off-by: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>
---
Changes in v2:
- Updated the DP controller binding patch subject from "Add Kaanapali" to
  "Document Kaanapali" and rewrote its commit message to describe the
  standalone compatible and SoC-specific resource counts (Sashiko AI).
- Updated the Kaanapali DP node to use the MMCX power domain (Dmitry,
  Sashiko AI).
- Added the missing second DP stream support in the Kaanapali DP node
  (Dmitry).
- Expanded the Kaanapali DP node commit message to document USB/DP PHY
  mode switching for DisplayPort altmode (Dmitry).
- Extended the MTP USB headset and Type-C commit message to document the
  WCD9395 USBSS mux I2C bus frequency of 100 kHz (Dmitry, Konrad,
  Mukesh).
- Removed an unnecessary line break from the DP node clock parent list
  (Dmitry).
- Link to v1: https://patch.msgid.link/20261005-kaanapali_dp-v1-0-6faeac3a6d59@oss.qualcomm.com

---
Balaji Kalkonda (5):
      dt-bindings: display/msm: dp-controller: Document Kaanapali
      drm/msm/dp: Add DisplayPort controller for Kaanapali
      arm64: dts: qcom: kaanapali: Add DisplayPort controller
      arm64: dts: qcom: kaanapali-mtp: Enable USB headset and Type-C accessory mode
      arm64: dts: qcom: kaanapali-mtp: Enable DisplayPort over USB

 .../bindings/display/msm/dp-controller.yaml        | 19 +++++
 .../bindings/display/msm/qcom,kaanapali-mdss.yaml  |  6 ++
 arch/arm64/boot/dts/qcom/kaanapali-mtp.dts         | 61 +++++++++++++++
 arch/arm64/boot/dts/qcom/kaanapali.dtsi            | 91 +++++++++++++++++++++-
 drivers/gpu/drm/msm/dp/dp_display.c                |  6 ++
 5 files changed, 181 insertions(+), 2 deletions(-)
---
base-commit: d419d682257d813f6cb7a28e42b35d0edf4ad038
change-id: 20261005-kaanapali_dp-f6d6839731fb

Best regards,
--  
Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali
  2026-10-15  9:54 [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort Balaji Kalkonda
@ 2026-10-15  9:54 ` Balaji Kalkonda
  2026-10-15 10:04   ` sashiko-bot
  2026-10-15  9:54 ` [PATCH v2 2/5] drm/msm/dp: Add DisplayPort controller for Kaanapali Balaji Kalkonda
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Balaji Kalkonda @ 2026-10-15  9:54 UTC (permalink / raw)
  To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kuogee Hsieh, Yongxing Mou,
	Yuanjie Yang, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Mahadevan P, Mukesh Savaliya
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Balaji Kalkonda

Document the DisplayPort controller on Qualcomm Kaanapali.

Kaanapali uses its own DP compatible string and has a resource
layout with five register ranges and six clocks. Add SoC-specific
constraints for those resource counts.

Signed-off-by: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>
---
 .../bindings/display/msm/dp-controller.yaml           | 19 +++++++++++++++++++
 .../bindings/display/msm/qcom,kaanapali-mdss.yaml     |  6 ++++++
 2 files changed, 25 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 094a6383bb77..0240e3c1a6d9 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -19,6 +19,7 @@ properties:
     oneOf:
       - enum:
           - qcom,glymur-dp
+          - qcom,kaanapali-dp
           - qcom,sa8775p-dp
           - qcom,sc7180-dp
           - qcom,sc7280-dp
@@ -290,6 +291,24 @@ allOf:
           minItems: 6
           maxItems: 6
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,kaanapali-dp
+    then:
+      properties:
+        reg:
+          minItems: 5
+          maxItems: 5
+        clocks:
+          minItems: 6
+          maxItems: 6
+        clock-names:
+          minItems: 6
+          maxItems: 6
+
   - if:
       properties:
         compatible:
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml
index 9f935defd6b1..83e3596ba0ed 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml
@@ -48,6 +48,12 @@ patternProperties:
       compatible:
         const: qcom,kaanapali-dpu
 
+  "^displayport-controller@[0-9a-f]+$":
+    type: object
+    properties:
+      compatible:
+        const: qcom,kaanapali-dp
+
   "^dsi@[0-9a-f]+$":
     type: object
     additionalProperties: true

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/5] drm/msm/dp: Add DisplayPort controller for Kaanapali
  2026-10-15  9:54 [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali Balaji Kalkonda
@ 2026-10-15  9:54 ` Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 3/5] arm64: dts: qcom: kaanapali: Add DisplayPort controller Balaji Kalkonda
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Balaji Kalkonda @ 2026-10-15  9:54 UTC (permalink / raw)
  To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kuogee Hsieh, Yongxing Mou,
	Yuanjie Yang, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Mahadevan P, Mukesh Savaliya
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Balaji Kalkonda

The Qualcomm Kaanapali platform comes with a DisplayPort controller
with a different base offset than the previous SM8650 SoC, add support
for this in the DisplayPort driver.

Signed-off-by: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 9299ce616fdb..348eb6967abf 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -158,6 +158,11 @@ static const struct msm_dp_desc msm_dp_desc_sm8650[] = {
 	{}
 };
 
+static const struct msm_dp_desc msm_dp_desc_kaanapali[] = {
+	{ .io_start = 0x09ad2000, .id = MSM_DP_CONTROLLER_0, .wide_bus_supported = true },
+	{}
+};
+
 static const struct msm_dp_desc msm_dp_desc_x1e80100[] = {
 	{ .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_supported = true },
 	{ .io_start = 0x0ae98000, .id = MSM_DP_CONTROLLER_1, .wide_bus_supported = true },
@@ -168,6 +173,7 @@ static const struct msm_dp_desc msm_dp_desc_x1e80100[] = {
 
 static const struct of_device_id msm_dp_dt_match[] = {
 	{ .compatible = "qcom,glymur-dp", .data = &msm_dp_desc_glymur },
+	{ .compatible = "qcom,kaanapali-dp", .data = &msm_dp_desc_kaanapali },
 	{ .compatible = "qcom,sa8775p-dp", .data = &msm_dp_desc_sa8775p },
 	{ .compatible = "qcom,sc7180-dp", .data = &msm_dp_desc_sc7180 },
 	{ .compatible = "qcom,sc7280-dp", .data = &msm_dp_desc_sc7280 },

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/5] arm64: dts: qcom: kaanapali: Add DisplayPort controller
  2026-10-15  9:54 [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 2/5] drm/msm/dp: Add DisplayPort controller for Kaanapali Balaji Kalkonda
@ 2026-10-15  9:54 ` Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 4/5] arm64: dts: qcom: kaanapali-mtp: Enable USB headset and Type-C accessory mode Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 5/5] arm64: dts: qcom: kaanapali-mtp: Enable DisplayPort over USB Balaji Kalkonda
  4 siblings, 0 replies; 7+ messages in thread
From: Balaji Kalkonda @ 2026-10-15  9:54 UTC (permalink / raw)
  To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kuogee Hsieh, Yongxing Mou,
	Yuanjie Yang, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Mahadevan P, Mukesh Savaliya
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Balaji Kalkonda

Add the DisplayPort controller node, including its OPP table,
controller clocks and power domain.

Connect the controller to the DPU and USB/DP QMP PHY, and enable
mode switching on the PHY for DisplayPort altmode.

Signed-off-by: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kaanapali.dtsi | 91 ++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index e48a179d0722..de856c595936 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -3565,6 +3565,7 @@ usb_dp_qmpphy: phy@88e8000 {
 			#clock-cells = <1>;
 			#phy-cells = <1>;
 
+			mode-switch;
 			orientation-switch;
 
 			status = "disabled";
@@ -3592,6 +3593,7 @@ port@2 {
 					reg = <2>;
 
 					usb_dp_qmpphy_dp_in: endpoint {
+						remote-endpoint = <&mdss_dp0_out>;
 					};
 				};
 			};
@@ -3699,6 +3701,7 @@ port@2 {
 						reg = <2>;
 
 						dpu_intf0_out: endpoint {
+							remote-endpoint = <&mdss_dp0_in>;
 						};
 					};
 				};
@@ -3851,6 +3854,90 @@ mdss_dsi0_phy: phy@9ac1000 {
 
 				status = "disabled";
 			};
+
+			mdss_dp0: displayport-controller@9ad2000 {
+				compatible = "qcom,kaanapali-dp";
+				reg = <0x0 0x09ad2000 0x0 0x10c>,
+				      <0x0 0x09ad2200 0x0 0xc8>,
+				      <0x0 0x09ad3000 0x0 0x78>,
+				      <0x0 0x09ad4000 0x0 0xa0>,
+				      <0x0 0x09ad5000 0x0 0xa0>;
+
+				interrupts-extended = <&mdss 12>;
+
+				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+					 <&dispcc DISP_CC_MDSS_DPTX0_AUX_CLK>,
+					 <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK>,
+					 <&dispcc DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
+					 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK>,
+					 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL1_CLK>;
+
+				clock-names = "core_iface",
+					      "core_aux",
+					      "ctrl_link",
+					      "ctrl_link_iface",
+					      "stream_pixel",
+					      "stream_1_pixel";
+
+				assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
+						  <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>,
+						  <&dispcc DISP_CC_MDSS_DPTX0_PIXEL1_CLK_SRC>;
+				assigned-clock-parents = <&usb_dp_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+							 <&usb_dp_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
+							 <&usb_dp_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
+
+				operating-points-v2 = <&dp_opp_table>;
+
+				power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+				phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>;
+				phy-names = "dp";
+
+				#sound-dai-cells = <0>;
+
+				status = "disabled";
+
+				dp_opp_table: opp-table {
+					compatible = "operating-points-v2";
+
+					opp-270000000 {
+						opp-hz = /bits/ 64 <270000000>;
+						required-opps = <&rpmhpd_opp_low_svs>;
+					};
+
+					opp-540000000 {
+						opp-hz = /bits/ 64 <540000000>;
+						required-opps = <&rpmhpd_opp_svs_l1>;
+					};
+
+					opp-810000000 {
+						opp-hz = /bits/ 64 <810000000>;
+						required-opps = <&rpmhpd_opp_nom>;
+					};
+				};
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					port@0 {
+						reg = <0>;
+
+						mdss_dp0_in: endpoint {
+							remote-endpoint = <&dpu_intf0_out>;
+						};
+					};
+
+					port@1 {
+						reg = <1>;
+
+						mdss_dp0_out: endpoint {
+							data-lanes = <0 1 2 3>;
+							remote-endpoint = <&usb_dp_qmpphy_dp_in>;
+						};
+					};
+				};
+			};
 		};
 
 		dispcc: clock-controller@9ba2000 {
@@ -3860,8 +3947,8 @@ dispcc: clock-controller@9ba2000 {
 				 <&bi_tcxo_ao_div2>,
 				 <&gcc GCC_DISP_AHB_CLK>,
 				 <&sleep_clk>,
-				 <0>,
-				 <0>,
+				 <&usb_dp_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+				 <&usb_dp_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
 				 <0>,
 				 <0>,
 				 <0>,

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 4/5] arm64: dts: qcom: kaanapali-mtp: Enable USB headset and Type-C accessory mode
  2026-10-15  9:54 [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort Balaji Kalkonda
                   ` (2 preceding siblings ...)
  2026-10-15  9:54 ` [PATCH v2 3/5] arm64: dts: qcom: kaanapali: Add DisplayPort controller Balaji Kalkonda
@ 2026-10-15  9:54 ` Balaji Kalkonda
  2026-10-15  9:54 ` [PATCH v2 5/5] arm64: dts: qcom: kaanapali-mtp: Enable DisplayPort over USB Balaji Kalkonda
  4 siblings, 0 replies; 7+ messages in thread
From: Balaji Kalkonda @ 2026-10-15  9:54 UTC (permalink / raw)
  To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kuogee Hsieh, Yongxing Mou,
	Yuanjie Yang, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Mahadevan P, Mukesh Savaliya
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Balaji Kalkonda

MTP does not have audio jack connected and relies on USB mux (WCD9395).
Add necessary nodes for proper audio headset support along with USB
Type-C accessory mode and orientation.

Set the I2C bus clock frequency to 100 kHz for the WCD9395 USBSS mux.

Signed-off-by: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 53 ++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
index 9eb02fd09dab..22eeacd7aecd 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -200,6 +200,7 @@ port@2 {
 					reg = <2>;
 
 					pmic_glink_sbu: endpoint {
+						remote-endpoint = <&wcd_usbss_sbu_mux>;
 					};
 				};
 			};
@@ -232,6 +233,15 @@ wcd939x: audio-codec {
 		vdd-px-supply = <&vreg_l1g_1p2>;
 
 		#sound-dai-cells = <1>;
+
+		mode-switch;
+		orientation-switch;
+
+		port {
+			wcd_codec_headset_in: endpoint {
+				remote-endpoint = <&wcd_usbss_headset_out>;
+			};
+		};
 	};
 
 	wcn7850-pmu {
@@ -916,6 +926,44 @@ &gpu_zap_shader {
 	firmware-name = "qcom/kaanapali/gen80200_zap.mbn";
 };
 
+&i2c3 {
+	clock-frequency = <100000>;
+
+	status = "okay";
+
+	wcd_usbss: typec-mux@e {
+		compatible = "qcom,wcd9395-usbss", "qcom,wcd9390-usbss";
+		reg = <0xe>;
+
+		vdd-supply = <&vreg_l15b_1p8>;
+		reset-gpios = <&tlmm 162 GPIO_ACTIVE_HIGH>;
+
+		mode-switch;
+		orientation-switch;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				wcd_usbss_sbu_mux: endpoint {
+					remote-endpoint = <&pmic_glink_sbu>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				wcd_usbss_headset_out: endpoint {
+					remote-endpoint = <&wcd_codec_headset_in>;
+				};
+			};
+		};
+	};
+};
+
 &lpass_vamacro {
 	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
 	pinctrl-names = "default";
@@ -1113,6 +1161,11 @@ &pon_resin {
 	status = "okay";
 };
 
+&qup_i2c3_data_clk {
+	/* Use internal I2C pull-up */
+	bias-pull-up = <2200>;
+};
+
 &remoteproc_adsp {
 	firmware-name = "qcom/kaanapali/adsp.mbn",
 			"qcom/kaanapali/adsp_dtb.mbn";

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 5/5] arm64: dts: qcom: kaanapali-mtp: Enable DisplayPort over USB
  2026-10-15  9:54 [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort Balaji Kalkonda
                   ` (3 preceding siblings ...)
  2026-10-15  9:54 ` [PATCH v2 4/5] arm64: dts: qcom: kaanapali-mtp: Enable USB headset and Type-C accessory mode Balaji Kalkonda
@ 2026-10-15  9:54 ` Balaji Kalkonda
  4 siblings, 0 replies; 7+ messages in thread
From: Balaji Kalkonda @ 2026-10-15  9:54 UTC (permalink / raw)
  To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kuogee Hsieh, Yongxing Mou,
	Yuanjie Yang, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Mahadevan P, Mukesh Savaliya
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
	Balaji Kalkonda

Hook up DisplayPort parts over Type-C USB on MTP.

Signed-off-by: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
index 22eeacd7aecd..3bf7baa2bc82 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -1017,6 +1017,14 @@ &mdss_dsi0_phy {
 	status = "okay";
 };
 
+&mdss_dp0 {
+	status = "okay";
+};
+
+&mdss_dp0_out {
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
 &pcie0 {
 	pinctrl-0 = <&pcie0_default_state>;
 	pinctrl-names = "default";

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali
  2026-10-15  9:54 ` [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali Balaji Kalkonda
@ 2026-10-15 10:04   ` sashiko-bot
  0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-10-15 10:04 UTC (permalink / raw)
  To: Balaji Kalkonda; +Cc: dri-devel, devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] dt-bindings: qcom,kaanapali-dp omitted from existing conditional blocks
- [Medium] dt-bindings: missing additionalProperties in patternProperties
--

commit 98068de5d2fca0abb41ef1fecd6b1707d8f24f5d
Author: Balaji Kalkonda <balaji.kalkonda@oss.qualcomm.com>

dt-bindings: display/msm: dp-controller: Document Kaanapali

This commit adds device tree binding documentation for the DisplayPort
controller on Qualcomm Kaanapali. It introduces a new compatible string
and adds constraints for its five register ranges and six clocks.

> diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> index 094a6383bb779..0240e3c1a6d9d 100644
> --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> @@ -19,6 +19,7 @@ properties:
>      oneOf:
>        - enum:
>            - qcom,glymur-dp
> +          - qcom,kaanapali-dp
>            - qcom,sa8775p-dp
>            - qcom,sc7180-dp
>            - qcom,sc7280-dp

[Severity: Medium]
Does this inadvertently restrict Kaanapali from declaring an aux-bus?

Because qcom,kaanapali-dp is omitted from the existing aux-bus conditional
block, it falls into the else clause which forces aux-bus: false:

      if:
        properties:
          compatible:
            contains:
              enum:
                - qcom,glymur-dp
                - qcom,sa8775p-dp
                - qcom,x1e80100-dp
      then:
        $ref: /schemas/sound/dai-common.yaml#
        oneOf:
          - required:
              - aux-bus
          - required:
              - "#sound-dai-cells"
      else:
        $ref: /schemas/sound/dai-common.yaml#
        properties:
          aux-bus: false

This incorrectly restricts valid device trees that declare an aux-bus.

[ ... ]

> @@ -290,6 +291,24 @@ allOf:
>            minItems: 6
>            maxItems: 6
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,kaanapali-dp
> +    then:
> +      properties:
> +        reg:
> +          minItems: 5
> +          maxItems: 5
> +        clocks:
> +          minItems: 6
> +          maxItems: 6
> +        clock-names:
> +          minItems: 6
> +          maxItems: 6
> +

[Severity: Medium]
Could this conditional block be merged with the existing block that has
identical constraints?

The constraints specified here (5 reg items, 6 clocks) exactly match the
existing block for 2-stream MST platforms (qcom,sc8180x-dp, qcom,sdm845-dp,
qcom,sm8350-dp). Reusing the existing block would avoid duplicating schema
constraints.

> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml
> index 9f935defd6b12..83e3596ba0ed9 100644
> --- a/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml
> @@ -48,6 +48,12 @@ patternProperties:
>        compatible:
>          const: qcom,kaanapali-dpu
>  
> +  "^displayport-controller@[0-9a-f]+$":
> +    type: object
> +    properties:
> +      compatible:
> +        const: qcom,kaanapali-dp
> +

[Severity: Medium]
Does this object definition need additionalProperties: true or
unevaluatedProperties: false?

The dtschema meta-schema requires one of these properties for object nodes
to dictate how unlisted properties are handled. Without it, make
dt_binding_check reports a meta-schema validation error.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261015-kaanapali_dp-v2-0-c15cb83d9140@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-15 10:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15  9:54 [PATCH v2 0/5] arm64: dts: qcom: kaanapali: Enable DisplayPort Balaji Kalkonda
2026-10-15  9:54 ` [PATCH v2 1/5] dt-bindings: display/msm: dp-controller: Document Kaanapali Balaji Kalkonda
2026-10-15 10:04   ` sashiko-bot
2026-10-15  9:54 ` [PATCH v2 2/5] drm/msm/dp: Add DisplayPort controller for Kaanapali Balaji Kalkonda
2026-10-15  9:54 ` [PATCH v2 3/5] arm64: dts: qcom: kaanapali: Add DisplayPort controller Balaji Kalkonda
2026-10-15  9:54 ` [PATCH v2 4/5] arm64: dts: qcom: kaanapali-mtp: Enable USB headset and Type-C accessory mode Balaji Kalkonda
2026-10-15  9:54 ` [PATCH v2 5/5] arm64: dts: qcom: kaanapali-mtp: Enable DisplayPort over USB Balaji Kalkonda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox