From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 927D3472070 for ; Mon, 12 Oct 2026 09:48:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791798527; cv=none; b=sGfNs5sjKNbptygtbryBGOmFw6ry1kKkLoK3mfEViD05dyEDCy7HZ+UHwEbR+nJVwzIL2T3p2qSTZtk2FpsxXPrki70scXBH4LrUTg7X189MzIEV/n3jgrgu9RXt/+S84Zri3n9pVXO5/2q8jswAt1NIEx8m9d6/5bWLZtRMrJg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791798527; c=relaxed/simple; bh=4BbMmfzMF5lvVMk7GGQMOWA3sAGRqyPhsZM4uh38LGE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=btasbPceTvo5eDx2+AG+TaUe0c68Y3Lx9YOsFz93mMm9pBTu3Iye+9/0nNQQi3qEhRYtW+yTNZYRsYtLS1+6wdVcOSICSSyKD4z/DvnZD5SvIUodvDZxjPANe53ljGhvTJ4g6yxRgaofsmog4nTtgSvEH9hVvmhpB4xgzjhcAvM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lhrToNRo; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KlwoNERF; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lhrToNRo"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KlwoNERF" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 69C8Klxf2181462 for ; Mon, 12 Oct 2026 09:48:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=0l/sfOavHqjSmoYSJ+2Y03gzAvSOn7dx3/F A1a4dFX0=; b=lhrToNRoF8mTAQ7OYp1iwu2KQB7yvvDwK++iJDWgTmR8HIZt7Y/ vUWPCispdOmiefkbx5NuRsDJLZ41IksnLhDh2yx7iW1K7F6OxVYd9cO+eAgsPWVb CWqY32QTGEnrt46XkwwnKYBg75vk7ioubo31c9awIcP5UikEXZobmAwh6fs2Btj3 XTRNA93b8C6FZ7z/Wan3QTJKBz7rfFPlWyCKJL/fDfnDSTuadzQ1DuFKDbn2r2Xj 8pHwZm/5yh/IJ3AkAnvmYNgbTlQ/P94svT+tqyZirOzwd+PdBaKeqUwJUd+WO6iI fFi56ndxFADvlz4r8NedvY013MZ9qRRK1OA== Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4h8sd1s4py-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 12 Oct 2026 09:48:44 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-3515266f6eeso3345104eec.0 for ; Mon, 12 Oct 2026 02:48:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1791798523; x=1792403323; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=0l/sfOavHqjSmoYSJ+2Y03gzAvSOn7dx3/FA1a4dFX0=; b=KlwoNERFgiOcPotjWI7reB5pvFeMwlmV01HF4EPxrh6SZsg/kxIRCcaUymWKqACF1Y 97LusDgLKq9zvpv8TU6PVCfb+FShVpdfJVjc4Mx2URPBIltN9yf6l9T8pHyfphJWG7xr jKkCf1iZTNukvJHSLGTvcA1qDjRatcUzf7fQFav7+d8k0YC8xcKl2o/omLJj2FrlVY5Q 2KTEBnEehvi2Zalpzg0t0tnNsb8ke/+7KQQ1yQSdDBlrYmSIxy33Zvvj/p1oeP2CWt18 LGMR7VJ7BsmoL+WI8nC7ilUUgZvkjOUJMzKG05Ykzbm69fZ2//lN5Bj/dbbZGGvFMIyD p1iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791798523; x=1792403323; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=0l/sfOavHqjSmoYSJ+2Y03gzAvSOn7dx3/FA1a4dFX0=; b=qlGYo0KHluM1YUL8EnHYD0abmPV3kTaG56TMetJ8uuPkG2tC8fcti7olRq4c+/5fz1 W8PbXkLXUNBbeEqQrV3zS0DSmshnfmj7YYSUei6gZQHmIor8Ys7WaMYobeopJGE7PPV2 pb3EbvLOxEGpPCiZ6snjUPUW8mYJOYyq50VJ2rSvdu30VcX5aLa54vwupB90DzSwe8wg JWYVkKDPMk7tPQG+9fQcNK3KAiggvkOPELbTc+cAcUw+LpBW47so2Eg6Iv4NRs3AATiq uZB8Xm1cS087ZogKRbJCOKkVUQzO0bQ9vF6IgR4O5SWdC9uJh/u6u0oq5UKvt4GaCCxO x+Wg== X-Forwarded-Encrypted: i=1; AKwUvBx7piEK1rPsW+prkz8QqmYLUeFnkMwLUc8HKBPQJKmOJ/nfB2/uB/D0Icc0H4jR6+dvRMJb+BhLDDZs@vger.kernel.org X-Gm-Message-State: AFq9FYJHeTGzM4XnM5W0z21eYKiEMjfNegGrXzW/MrZgLsMZZ0kjFQAA Z3Kxij5MmStJfar9B4qKPWqZW8QaRHPYTMIkR0TqOCVNuB0w/Op0rPdw89X9AvbYkbRP1yOUhWN KX+9/+VYRYdLKrIUz+qzRVt+TDCb+gyC6uLnP95YM28O08/+kM8cAXKEugWDnvaSN X-Gm-Gg: AYBFou2zjlxVAeJPTfS6Qej8ddFmUAskWyAKe+nWF9X7wMLMqnY9TSkzyrRP3iNMlT2 0jpBO6Efr0Lb6dACI8yQsoGmzdQ7nBleN6bbydSsT4/J0H+foEgonoVQTaNBtBsneLIVwVjLzCR 3Acebqn+qLbod+yuz7YZeB1UF85qHPf0jUUosG2YtXiUDCwbfCXTcQb64SteES+qMnIGNsWs8W8 83lgDaP61BxK/wzpe8szQ/6eukhyu3VCDvJJJ8Is+c60so4NeMxA/KyQgDyqgbPpXB3Wb2spUFN +ukwQIKBmzUlxbMaM5NUw9ANH/QIIcec8hzLHioN9EWZV0K90MU1I/zlKtd81rrfEWejwhOTj9X /+7hqsgE1PHYqxoogzyJ9cJ0A0nQ= X-Received: by 2002:a05:7022:5f0b:b0:167:4198:2cb3 with SMTP id a92af1059eb24-16a5f5de930mr12895124c88.18.1791798523239; Mon, 12 Oct 2026 02:48:43 -0700 (PDT) X-Received: by 2002:a05:7022:5f0b:b0:167:4198:2cb3 with SMTP id a92af1059eb24-16a5f5de930mr12895076c88.18.1791798522473; Mon, 12 Oct 2026 02:48:42 -0700 (PDT) Received: from hu-akakum-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-169a5866477sm27603289c88.22.2026.10.12.02.48.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2026 02:48:41 -0700 (PDT) From: Akash Kumar To: Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio , Rob Herring , Dmitry Baryshkov , Krzysztof Kozlowski , Conor Dooley Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v3] arm64: dts: qcom: shikra: Add CYPD6129/CYPD6229 Type-C controller support Date: Mon, 12 Oct 2026 15:15:00 +0530 Message-ID: <20261012094835.647882-1-akash.kumar@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-ORIG-GUID: 9XqJTNR3Swo-dI4TUNORzLTi6csrMC9Q X-Proofpoint-Spam-Info: AW1haW4tMjYxMDEyMDAzOCBTYWx0ZWRfXyG0lrkISnAWY 0EAcLRRmLr+VLf7vZ7GvB7CMTedKrWjXZVRlvlaMmxa5H/WHoVOsdwr1hxNSEp0VFAsrH8pKNR3 Szc1BgDgZmGqezRjj4ZUVhu9o9xsXZI= X-Authority-Analysis: v=2.4 cv=QtHLTlyd c=1 sm=1 tr=0 ts=6accacfc cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=660iZSQnnn4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Ma0iw96SZgBQPb5D2AYA:9 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-GUID: 9XqJTNR3Swo-dI4TUNORzLTi6csrMC9Q X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMDEyMDAzOCBTYWx0ZWRfX9T6uBUVF+cLn Y9WMDsJVslHiEOqF+BcZixMAXM10RZLXU9XBjRHlYdxCExXoISmtsSHlOpKFnayQUDyyaLQENRX 4/uic9hPTfGMU7pib0ZF/NWgYIuy6dScT6sWIlQhN00xhPExra/rT9qBFZ5KyAJh7solEUqGCYO 1qtJJslFY5YSFP3QVger61qwoFA+fccmw8Mhwg6n0OcA5FGHeEGfNeOrKRBKZzIG6kY2w5Ne7uf 96Ybbg1dSF7KYPzJg7IyKO8HBjJOHd+wtS1bpF+hSpr6uUPBKAoqWzL8dn0OTAKyORZmgjzENl4 KlPLTvw1tLSWDmVUD1hSB/umCj2Y8KDYhJDbJC/3p0IrHbS0+knSzsX36vPbeVv1xSHWdy0dn8w b0gpjj8FlN5LPuF7n4aTeAm652NUKQevGrI+V3nNSQC2lCFYapqf1Q/pCztxDI6zcMi0yvjh2/u WQ6Z5OrmmP0Fcn6gAPg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-10-12_03,2026-10-09_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 impostorscore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2610080000 definitions=main-2610120038 This series adds support for the Cypress cypd6129/cypd6229 dual Type-C PD controllers used on the Shikra CQM/CQS/IQS platforms to handle usb-role-switch, and wires up the corresponding DT nodes. Signed-off-by: Akash Kumar --- Patch v3 adds the Shikra board-specific Device Tree changes required to connect the CYPD6129/CYPD6229 Type-C PD controllers to the USB controllers. On the CQM and CQS platforms, enable the CYPD6129 controller on I2C3, configure its GPIO136 interrupt, and connect its Type-C connector to USB2. Both USB controllers are configured in OTG mode to allow role switching. On the IQS platform, enable the CYPD6229 controller with the CYPD6129 fallback compatible, configure its GPIO50 interrupt, and describe both Type-C connectors. The first connector is connected to USB2, while the second connector is connected to USB1, including its SuperSpeed path. The changes also add the required pinctrl configuration, wakeup-source property, I2C alias, VBUS boost GPIO hog, and USB endpoint remote-endpoint connections. Link to v2: Link: https://lore.kernel.org/all/20260820145036.2035641-1-akash.kumar@oss.qualcomm.com/ Link to v1: https://lore.kernel.org/all/20260820145036.2035641-1-akash.kumar@oss.qualcomm.com/ Link to Driver and DT-binding change: https://lore.kernel.org/all/20261012091658.635441-1-akash.kumar@oss.qualcomm.com/ base commit Link: https://lore.kernel.org/all/20260912-usb-shikra-v7-v9-0-c7b507a0ec27@oss.qualcomm.com/ commit e77b5e2b5816bfb8fab930156a320550ee5a0ffe --- arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 57 ++++++++++ arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 57 ++++++++++ arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts | 109 ++++++++++++++++++++ 3 files changed, 223 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts index 2d26435b257a..508c24a2ce99 100644 --- a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts +++ b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts @@ -14,6 +14,7 @@ / { chassis-type = "embedded"; aliases { + i2c3 = &i2c3; mmc0 = &sdhc_1; serial0 = &uart0; }; @@ -23,6 +24,43 @@ chosen { }; }; +&i2c3 { + status = "okay"; + + typec@40 { + compatible = "cypress,cypd6129"; + reg = <0x40>; + interrupts-extended = <&tlmm 136 IRQ_TYPE_LEVEL_LOW>; + pinctrl-0 = <&usb0_intr_state>; + pinctrl-names = "default"; + wakeup-source; + + #address-cells = <1>; + #size-cells = <0>; + + ccg_typec_con0: connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + label = "USB-C"; + data-role = "dual"; + power-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ucsi_ccg_port: endpoint { + remote-endpoint = <&usb_2_dwc3_hs>; + }; + }; + }; + }; + }; +}; + &pm4125_hs_in { remote-endpoint = <&usb_1_dwc3_hs>; }; @@ -66,6 +104,15 @@ &sdhc_1 { status = "okay"; }; +&tlmm { + usb0_intr_state: usb0-intr-state { + pins = "gpio136"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; +}; + &usb_1 { dr_mode = "otg"; }; @@ -82,6 +129,16 @@ &usb_1_hsphy { status = "okay"; }; +&usb_2 { + dr_mode = "otg"; + + port { + usb_2_dwc3_hs: endpoint { + remote-endpoint = <&ucsi_ccg_port>; + }; + }; +}; + &usb_2_hsphy { vdd-supply = <&pm4125_l12>; vdda-pll-supply = <&pm4125_l13>; diff --git a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts index fcafd8aa6384..eaa79b2960a9 100644 --- a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts +++ b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts @@ -14,6 +14,7 @@ / { chassis-type = "embedded"; aliases { + i2c3 = &i2c3; mmc0 = &sdhc_1; serial0 = &uart0; }; @@ -23,6 +24,43 @@ chosen { }; }; +&i2c3 { + status = "okay"; + + typec@40 { + compatible = "cypress,cypd6129"; + reg = <0x40>; + interrupts-extended = <&tlmm 136 IRQ_TYPE_LEVEL_LOW>; + pinctrl-0 = <&usb0_intr_state>; + pinctrl-names = "default"; + wakeup-source; + + #address-cells = <1>; + #size-cells = <0>; + + ccg_typec_con0: connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + label = "USB-C"; + data-role = "dual"; + power-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ucsi_ccg_port: endpoint { + remote-endpoint = <&usb_2_dwc3_hs>; + }; + }; + }; + }; + }; +}; + &pm4125_hs_in { remote-endpoint = <&usb_1_dwc3_hs>; }; @@ -66,6 +104,15 @@ &sdhc_1 { status = "okay"; }; +&tlmm { + usb0_intr_state: usb0-intr-state { + pins = "gpio136"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; +}; + &usb_1 { dr_mode = "otg"; }; @@ -82,6 +129,16 @@ &usb_1_hsphy { status = "okay"; }; +&usb_2 { + dr_mode = "otg"; + + port { + usb_2_dwc3_hs: endpoint { + remote-endpoint = <&ucsi_ccg_port>; + }; + }; +}; + &usb_2_hsphy { vdd-supply = <&pm4125_l12>; vdda-pll-supply = <&pm4125_l13>; diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts index 779b9582c011..f7dc3026d028 100644 --- a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts +++ b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts @@ -14,6 +14,7 @@ / { chassis-type = "embedded"; aliases { + i2c3 = &i2c3; mmc0 = &sdhc_1; serial0 = &uart0; }; @@ -23,6 +24,72 @@ chosen { }; }; +&i2c3 { + status = "okay"; + + typec@40 { + compatible = "cypress,cypd6229", "cypress,cypd6129"; + reg = <0x40>; + interrupts-extended = <&tlmm 50 IRQ_TYPE_LEVEL_LOW>; + pinctrl-0 = <&usb0_intr_state>; + pinctrl-names = "default"; + wakeup-source; + + #address-cells = <1>; + #size-cells = <0>; + + ccg_typec_con0: connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + label = "USB2-Type-C"; + data-role = "dual"; + power-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ucsi_ccg_port0_hs: endpoint { + remote-endpoint = <&usb_2_dwc3_hs>; + }; + }; + }; + }; + + ccg_typec_con1: connector@1 { + compatible = "usb-c-connector"; + reg = <1>; + label = "USB3-Type-C"; + data-role = "dual"; + power-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ucsi_ccg_port_1_hs: endpoint { + remote-endpoint = <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg = <1>; + + ucsi_ccg_port_1_ss: endpoint { + remote-endpoint = <&usb_qmpphy_out>; + }; + }; + }; + }; + }; +}; + &remoteproc_cdsp { firmware-name = "qcom/shikra/cdsp.mbn"; @@ -58,6 +125,32 @@ &sdhc_1 { status = "okay"; }; +&tlmm { + vbus_boost_5v: vbus-boost-5v-hog { + gpio-hog; + gpios = <79 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "vbus-boost-5v"; + }; + + usb0_intr_state: usb0-intr-state { + pins = "gpio50"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; +}; + +&usb_1 { + dr_mode = "otg"; + + status = "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint = <&ucsi_ccg_port_1_hs>; +}; + &usb_1_hsphy { vdd-supply = <&pm8150_l4>; vdda-pll-supply = <&pm8150_l12>; @@ -66,6 +159,18 @@ &usb_1_hsphy { status = "okay"; }; +&usb_2 { + dr_mode = "otg"; + + status = "okay"; + + port { + usb_2_dwc3_hs: endpoint { + remote-endpoint = <&ucsi_ccg_port0_hs>; + }; + }; +}; + &usb_2_hsphy { vdd-supply = <&pm8150_l4>; vdda-pll-supply = <&pm8150_l12>; @@ -80,3 +185,7 @@ &usb_qmpphy { status = "okay"; }; + +&usb_qmpphy_out { + remote-endpoint = <&ucsi_ccg_port_1_ss>; +}; -- 2.43.0