From nobody Tue Dec 2 00:03:22 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 6069D26C3B0 for ; Tue, 25 Nov 2025 11:04:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764068673; cv=none; b=g17kpskbpsm6YdwMvJo7YBCwejNQ8NhrMOcKp5pnHDuFDo3HljHb0Ba+jKAZFIE+CmulGYYEWMEmnI++Copp1CyKLb6rVzurUqMyOR2kQAuSV4Q/ioIAivna9yu1Stow+Wp/PYtOdRMLM2Ts+mWd2UZKnFLWjbhaf39LEZKJIug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764068673; c=relaxed/simple; bh=C81a/S3qeVxwX6KustEahqnVYvCWUXx6O6Bf1Z6iLNY=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=VilVOGFBY2dt/8iTThRpjcbZKs/pGHsUYeIAz9W/8A+Cp3Oe/LLkbiemIcUSgoH0KLOQsImg8jgqszzRhEFiMxXwIIR/hSRK4VP5i4I+s8QLtMCsU+eJu3h7Doq5kfXJRzPF3l81Neh8Cnn/ys6MbLyuxCZooyQK5zLbwZNEjtw= 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=NQC8kSvC; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=byvYEyg7; arc=none smtp.client-ip=205.220.168.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="NQC8kSvC"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="byvYEyg7" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AP9xENw2650414 for ; Tue, 25 Nov 2025 11:04:30 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=bmZbL0K9SXCLEqNMiJE9LPy8YU2GVu0eUFh /6bJOQSo=; b=NQC8kSvC75nSPKwdBeTy3SZexncii4PXqifsXLnjsRLZymCDV+/ OC4eNm5K65EAjsBQcSTDLp5HwIOhdM9BL8UrXNBf7gVbvzf98pNCbja6P1wYn1i4 Wb7XObbfLq/uEq3mjtzYeBbccj/7rq/YMrO/SiDrTUE3jMnqNp24TCZ9BKTgty9l hHybtX+cnj8DNUPTOUHHCtlEwsEmadPhtKcb+rQjlCwvCiD0cW3+fdBdEPBQuYy1 p7wWk6R9Yv3ic8zh+i33/sAtPEO1TE2m2+/QmWbMA25OGt8bgRyYrwc9fwwZyWpm zOumqn90MUUcm2I2lrQ5UnSaGVZlrADTFPg== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4anaabr5jh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 25 Nov 2025 11:04:30 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-7bf5cdef41dso11390519b3a.0 for ; Tue, 25 Nov 2025 03:04:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1764068670; x=1764673470; 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; bh=bmZbL0K9SXCLEqNMiJE9LPy8YU2GVu0eUFh/6bJOQSo=; b=byvYEyg75emCeRX0oI+8Z/EoAm7u/1F+pLigAV+lVoi1ucsnS/CPADg7eliGZtgP0C BHg7OeK4Ywuu9EbPAev6ngH0eeMGrA46VKEHuVgTDUqRksUSskvDOalV3q9qe+0wzoKF E2FkBoul+XDFFqw9l9Yfaiz5rapUOha+uPqGE+S3UEkkN6OAVdrkTFgqxym4Eo5FXMCS mDaimmDCz1JRJ9UW7lBPQaAiMqxK/bFsxSVIjgVUvjmjTWTU6TUQKQqsm/reRgiBrpeN 4hHU42YofTaoNJ2KjQ4K9rxc4IyOmgWUV5/6O3RJiSSA1Mv3sxf9arLWedlXtSR+FpOE 2UbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764068670; x=1764673470; 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; bh=bmZbL0K9SXCLEqNMiJE9LPy8YU2GVu0eUFh/6bJOQSo=; b=fKiqsEXKJ/Lp3SFB7B8qkDMKzTyzgz8q5kPXXSCCLpgCa9428a+qbvNAJr4t4ydxQe Yo0gDIdgK3ij2r7taK/LDZYbF/dTZVP2Pr7AHz+etdapWAI6oNxLLj/vmo9MQeQXI4Jm a9XQhc7rEDxhjSc3sJckBG7hRllhAts0TngabFx+mry3r5bev+apCRCqpNwZjnGTL4oD t8q6vA0VluMKkGZBYeCV6YDihAJ6K1UJ8DURvm4K05VChoNmIuF51rpK4kh+x4aY2Z0N GkBl6QKk3b1X2pRTVN7+KOvTr3lVmh+KSxnTLZQyb/fTFhqu/769G75icCo6Mo+HHMJo O3+w== X-Forwarded-Encrypted: i=1; AJvYcCV2wWRqLqEZwQw6hNa98u4/53gEjoaEbpTIN8374A2/uS+MUsUM8Ap4wQ0uXU65zzQd717DN42qMI7miQo=@vger.kernel.org X-Gm-Message-State: AOJu0Yx79howanalSDZWErLNR1+t2lQ613Ue9A7Fq60Djetssl6Qpco+ cQfj6agBrgzxOnrWx37mNndmfIzXi/fJGFKVhFzdaqAqO4VSrO/cvF5N04AnWpLKsoJw6WEJ6wk s9HNjQbibG86yS8gTqZKI0eF1WTBVqdbyCuWwYpCURfisqnq1qI387k5iLaY3UWN6ySA= X-Gm-Gg: ASbGncvPFqWH1wD6sffCLzGxtu/VD7i3bui3rhyZKb1BFBMMkM7s/+4tjK4+MLyoixy 6R5ThItlYwERJydQmpkeV9BKen92SY6OsXwyePkcGVUz0jpB8STtRwL1ersmWfYtfV30N0K3pN1 N+R7qqcC2fsOuU885l1Uk5ljg/RDE8Y51gEWE886lyaJ26rp09o+3grcswYY3+xeWar6+2lCZdx 7ukjC0uH1rtmqgsrOaQKeleaCQabFGXZoeJ3G9uauWiTKAGprYFx1eSy+8XIVoHUZxeu7IQcSZy niX9dVjW10nFXU9EVPuBbAsp+S5cYFAOZ0aVbTCNQ9klhoFhoNadiz60Ds18fyY7kM+YIgCf3s5 qGAVrVkHkBOyNs7qOSmh0xoMyr9MUekBSuESpQswxEN5CgKM= X-Received: by 2002:a05:6a20:6a09:b0:34f:99ce:4c31 with SMTP id adf61e73a8af0-36150f2bcaemr16472997637.46.1764068669891; Tue, 25 Nov 2025 03:04:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IG3EgxkznJ2A0mFcbO/HmImQrEPdXFN7U30098LSRHBrbhyt6jlvdhm0VqwSSni0qCbeEcI2A== X-Received: by 2002:a05:6a20:6a09:b0:34f:99ce:4c31 with SMTP id adf61e73a8af0-36150f2bcaemr16472963637.46.1764068669393; Tue, 25 Nov 2025 03:04:29 -0800 (PST) Received: from hu-kriskura-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-bd75def6314sm15893495a12.7.2025.11.25.03.04.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 03:04:28 -0800 (PST) From: Krishna Kurapati To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krishna Kurapati Subject: [PATCH v5] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Date: Tue, 25 Nov 2025 16:34:20 +0530 Message-Id: <20251125110420.2192971-1-krishna.kurapati@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Vd36/Vp9 c=1 sm=1 tr=0 ts=69258d3e cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=7f_fPzOtc9ZKcCOMuPUA:9 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-ORIG-GUID: uDGmsLjNcENh73eZXX_NflnIkXjm2s9S X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTI1MDA4OSBTYWx0ZWRfX/DxO7ET/TDTx QIaGcAf8UrLPMIrkn6u+b0DEtlEHS7Z2WWU57bhlXaMk8AExpxB9q8WRCPsNhpRj292CHWI7/oI eW0GRp7gsgs6pBDtD7gWJFBFPgYaKrNDkuOSftDwjRH6kMbXbKWDoZHQQDL69XCSGAF3TPRh8Ai 4ZQFgDL1OLsR9lJS8ZFrlHkc3ku3MD7i1bEXka+LlYXmdQnUj165DogXiNCgx6pXnCVlrmuz5Ev EWSOamOSxDyoGTRRd65k4NdMmf4lxRKUmC/vhnLcHzHTCzXOgS/FA6NHw2XmlAkgzwDY1xSHfUw kOz2tMOvgLS04Jh6fWgboCOU+BgAALVA4/cO/va34Z8ukT6sNpMNHNZ3AerI5+kV+m+z+mDjucD 1RLNKvFAwTva4syzTlaYVTf93HkCOg== X-Proofpoint-GUID: uDGmsLjNcENh73eZXX_NflnIkXjm2s9S X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-25_02,2025-11-24_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 impostorscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511250089 Content-Type: text/plain; charset="utf-8" Enable OTG support for primary USB controller on EVK Platform. Add HD3SS3220 Type-C port controller present between Type-C port and SoC that provides role switch notifications to controller. Signed-off-by: Krishna Kurapati --- Changes in v5: - Re-organised pmic gpio node to maintain alphanumeric order Link to v4: https://lore.kernel.org/all/20251102165126.2799143-1-krishna.kurapati@oss.q= ualcomm.com/ Changes in v4: - Moved remote endpoints to SoC file. - Renamed vbus regulator name. - Moved usb-role-swich property to SoC file. Link to v3: https://lore.kernel.org/all/20251024182138.2744861-1-krishna.kurapati@oss.q= ualcomm.com/ Changes in v3: - Moved "usb-role-switch" to lemans dtsi file - Moved vbus supply to connector node Link to v2: https://lore.kernel.org/all/20251008180036.1770735-1-krishna.kurapati@oss.q= ualcomm.com/ Changes in v2: - Removed redundant property of dr_mode setting. - Added power-role property in connector node. Link to v1: https://lore.kernel.org/all/20251002172946.589061-1-krishna.kurapati@oss.qu= alcomm.com/ arch/arm64/boot/dts/qcom/lemans-evk.dts | 108 +++++++++++++++++++++++- arch/arm64/boot/dts/qcom/lemans.dtsi | 20 +++++ 2 files changed, 126 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/= qcom/lemans-evk.dts index b40fa203e4a2..3d73fc2a893e 100644 --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts @@ -38,6 +38,35 @@ chosen { stdout-path =3D "serial0:115200n8"; }; =20 + connector-0 { + compatible =3D "usb-c-connector"; + label =3D "USB0-Type-C"; + data-role =3D "dual"; + power-role =3D "dual"; + + vbus-supply =3D <&vbus_supply_regulator_0>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb0_con_hs_ep: endpoint { + remote-endpoint =3D <&usb3_0_hs_ep>; + }; + }; + port@1 { + reg =3D <1>; + + usb0_con_ss_ep: endpoint { + remote-endpoint =3D <&hd3ss3220_in_ep>; + }; + }; + }; + }; + edp0-connector { compatible =3D "dp-connector"; label =3D "EDP0"; @@ -102,6 +131,15 @@ platform { }; }; =20 + vbus_supply_regulator_0: regulator-vbus-supply-0 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vbus_supply_0"; + gpio =3D <&expander1 2 GPIO_ACTIVE_HIGH>; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + enable-active-high; + }; + vmmc_sdc: regulator-vmmc-sdc { compatible =3D "regulator-fixed"; =20 @@ -454,6 +492,43 @@ &gpi_dma2 { status =3D "okay"; }; =20 +&i2c11 { + status =3D "okay"; + + hd3ss3220@67 { + compatible =3D "ti,hd3ss3220"; + reg =3D <0x67>; + + interrupts-extended =3D <&pmm8654au_2_gpios 5 IRQ_TYPE_EDGE_FALLING>; + + id-gpios =3D <&tlmm 50 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&usb_id>, <&usb0_intr_state>; + pinctrl-names =3D "default"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + hd3ss3220_in_ep: endpoint { + remote-endpoint =3D <&usb0_con_ss_ep>; + }; + }; + + port@1 { + reg =3D <1>; + + hd3ss3220_out_ep: endpoint { + remote-endpoint =3D <&usb3_0_ss_ep>; + }; + }; + }; + }; +}; + &i2c18 { status =3D "okay"; =20 @@ -607,6 +682,16 @@ &pmm8654au_0_pon_resin { status =3D "okay"; }; =20 +&pmm8654au_2_gpios { + usb0_intr_state: usb0-intr-state { + pins =3D "gpio5"; + function =3D "normal"; + input-enable; + bias-pull-up; + power-source =3D <0>; + }; +}; + &qup_i2c19_default { drive-strength =3D <2>; bias-pull-up; @@ -746,11 +831,24 @@ wake-pins { }; }; =20 + qup_i2c11_default: qup-i2c11-state { + pins =3D "gpio48", "gpio49"; + function =3D "qup1_se4"; + drive-strength =3D <2>; + bias-pull-up; + }; + sd_cd: sd-cd-state { pins =3D "gpio36"; function =3D "gpio"; bias-pull-up; }; + + usb_id: usb-id-state { + pins =3D "gpio50"; + function =3D "gpio"; + bias-pull-up; + }; }; =20 &uart10 { @@ -779,11 +877,17 @@ &ufs_mem_phy { }; =20 &usb_0 { - dr_mode =3D "peripheral"; - status =3D "okay"; }; =20 +&usb3_0_hs_ep { + remote-endpoint =3D <&usb0_con_hs_ep>; +}; + +&usb3_0_ss_ep { + remote-endpoint =3D <&hd3ss3220_out_ep>; +}; + &usb_0_hsphy { vdda-pll-supply =3D <&vreg_l7a>; vdda18-supply =3D <&vreg_l6c>; diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qco= m/lemans.dtsi index 0b154d57ba24..5fa4a43a7350 100644 --- a/arch/arm64/boot/dts/qcom/lemans.dtsi +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi @@ -4026,7 +4026,27 @@ usb_0: usb@a600000 { snps,dis-u1-entry-quirk; snps,dis-u2-entry-quirk; =20 + usb-role-switch; status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb3_0_hs_ep: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb3_0_ss_ep: endpoint { + }; + }; + }; }; =20 usb_1: usb@a800000 { --=20 2.34.1