From nobody Mon Dec 1 22:06:10 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 C299030EF69 for ; Thu, 27 Nov 2025 07:35:46 +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=1764228948; cv=none; b=qlGVs9zMRgy0Xg44hpWMnW/i9X4wAMZYvuGt95QDTL+kRTxsANBPUkHPhwAnFEBTm+RUGaGo5MK0l+JoA9RdQHP6Dlhvs1obrQj2Gcvx1KoVTZNCZs2J6DTKi+6EiLABX8CMosj2aXqkziGpsOl5aAh8t+ast/buiGapLo2LWM4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764228948; c=relaxed/simple; bh=VAQT0LKqi93k2ex6EIEn7ry/hIYSY47+X+BGI4Y+xHw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=QgefOT6/8wwxVhhlWrEpE+9co82lFUZIzDqCV3jgs9/SOQ9sNXvQpON/NazKl3Z9l+H+DupQkEJ2FKlze1Olm0uHi+qF4R54UapBbSRDtKEAce+ok/+88cXYp2fDFFLbTL+0L45WumJ5Uz6I5fLpKwR3bnC0eX3WgB6iC6WT8fg= 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=XezIBG9d; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i89laIdY; 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="XezIBG9d"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i89laIdY" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AR5CpEj1234811 for ; Thu, 27 Nov 2025 07:35:46 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=lO+6/peemys2XSn+Gg8STvP5a+BQOzlHPDO acrun3nY=; b=XezIBG9ddmEGkM7vDo/fB97Dxi2xQ5qsVesHAOlMCp0wz17vowC H8vcKW8KftIYAv6KHQXcYZkTl+uSHAaIwZUi7toO9hBysbpHE8z/BPq0Cu/egvEt g5PbXkFBikiDIrjKnEyAyKGcoKl0ktheUWSggOa1VCAgOZ91Q6OnGVFNsUkeaZsr qDUVH1IzoUVb5geZAjNcuFOglUEE6i0/G82CckfcYPKT8whAG294sZiWz4ytFoW1 KuWvUu7rATpP8YROoDslU7smktVX5EUJxjF7oojMVPjgnWy2m4QyA1Dxl+dcd93z nxcv3lolvamRK6b0319Ue49XxcHHRxQQThg== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4anwd43mer-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 27 Nov 2025 07:35:45 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-341cd35b0f3so1369126a91.0 for ; Wed, 26 Nov 2025 23:35:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1764228945; x=1764833745; 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=lO+6/peemys2XSn+Gg8STvP5a+BQOzlHPDOacrun3nY=; b=i89laIdYnD3lP14+dLY3cRJ9EZ/xJEitFccm9AoXJb+b61BqIUXUHttdVXvG/3walS bVn+1U8BHHpPUPyUYjuzbQ09V3XvID0fqA7hupRZ0mtqLeVeyzMjb8NU2BY7SIhhUm80 LiVQ0299banfvy/B8b11pyAmEd1xA+eSKb7zyA6jhf0UUAdCLaBGtl9178RVTxY6nwks CmlX/o5nMaC6UsBag35VY0t5ymvvRY46M3nvC7O8Tb8+jb01ht5B6KkZ9luP9vb6nmGf xJ5mqyl7oq4KuATYAC8lG6KO1W2hzNIjClnftGo93+DhI4xuOccVHGut21/QzBuRHLXp 6Tfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764228945; x=1764833745; 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=lO+6/peemys2XSn+Gg8STvP5a+BQOzlHPDOacrun3nY=; b=E1cFEMiihRJvkCf3S79py0AaJ7tIPubnx033CuqUE/+Q428cWqJcpQ+GklGLk50eui 89TRqH25UytdLOwKg0AXZaFcUooAdPVPNFXJA2e0uoqPudbvpx09Cv3Y24Hl+Hsaii5q pUXh4dIGrV8cuQcUqPo0eeGwJoCt8w1aQPl6667L5AdQYRp8DjEhOTwr3ejTaj1yfEJT ay1Qy1y3AcyoF42QNPnar6sDpNsQM5U39y0PdaMVHN+9G6wOkggBM5gcuYF6+yz/meAv 12A12vO15xepaS2w55Eby01LrjwcTEvmzZcWgrdJnqZCTu1hUWTNM5UA3NA2yasjHz4b pZjA== X-Forwarded-Encrypted: i=1; AJvYcCXaXfoDB8VaBY9nxJDYUGKXqV6dibB+uYcbSkemThIDgAbgPuX+QaMYHS2orcdD+mv6Fv5BQesecY/35rc=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1uQoPlHQY+pA5c5R/RHFlhiYRFdMZOnYaBwDVl78WdELX4E1U kDl6qO8NCKlS6Vq8L2QfmlmWN2Gq6q5oYO48PR1EOG2F04OeMBdqvtReGz8/CMB2B9SkEl6CpW8 7C7sOQw7zCdQb3cVwpR1s0KtZRP4o3QDocDdAGMeg+eZ+tTtXs+KGrbSEptQHBLL6JAg= X-Gm-Gg: ASbGnctt56nHvA471R5jvI/2V94NeFvcLxpFDpC8x4s6Ag4V5wPv1kRtcz2zyYYFHyj 4N9c8OVznbTQVd7zv4WCSQ2N568ivXBL0VdGtC0RIOI8LEiI8OpTfRCm97vb9f3kymo51KQ1AJU Xw5CWK93kKQJAQnHNn9ZszLOc/gia9b9x6h9BCZorlQwjSvMhkAE1Wxua2VDntIpy/bxzeBWEMu VhjPqRVaYVfNz58xE2Eapn78SMLwmXWku+GXRCWl+cVi2Jo6fNEy1R8hek96Bar5R9bSOdYn8V0 rQlG+BumfMrRex0SmmepRau+WcNZSOI+wYJgwFfu9YaFlTCK8uWYoLrgBnUTbAvnNZ3qZjNX5ie iVS6PDCO6fmTJ0yoKFpRXF0NzVIaSAlWnef88/EtzCkA6bNc= X-Received: by 2002:a17:90b:3a84:b0:340:c094:fbff with SMTP id 98e67ed59e1d1-347298aa082mr24838731a91.10.1764228945136; Wed, 26 Nov 2025 23:35:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IEAXzlrCv5f8x4ZabgTa2ME2EOQu4Cn9Vsq7gaRrVn0HzvtJB3DlM5GkaW/CEgLGt4sKGXFjg== X-Received: by 2002:a17:90b:3a84:b0:340:c094:fbff with SMTP id 98e67ed59e1d1-347298aa082mr24838706a91.10.1764228944656; Wed, 26 Nov 2025 23:35:44 -0800 (PST) Received: from hu-kriskura-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3477b1cbdc0sm909568a91.2.2025.11.26.23.35.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Nov 2025 23:35:44 -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 v6] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Date: Thu, 27 Nov 2025 13:05:37 +0530 Message-Id: <20251127073537.1218832-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-Proofpoint-ORIG-GUID: aooSQjQtl0tOEet3rpQE-IeFWJ6lXVqX X-Authority-Analysis: v=2.4 cv=feqgCkQF c=1 sm=1 tr=0 ts=6927ff51 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=QAzQKOYyiUK49Y4y4FoA:9 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: aooSQjQtl0tOEet3rpQE-IeFWJ6lXVqX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTI3MDA1MyBTYWx0ZWRfXwxyn+nRWW+kZ s2oSE0ZMl3fgr98M593VsZedy3dAJRXdWYN+VYKXo9mVC5iRjx3GepAlwxpWoov4X5I3INtV2eE 2Q1sDp1Ypib3K5Sm3DPqgXaY+z+7cTk1Nm8H6YMlbiGxhZXhirQk/8vG9tjYzpuStS7iTkNJfdz yqtgq5qW2rQHXLefCJRmmoPL5kvAzs8nl93jw9iRpgaSYfwXfMKwP2R3VndC2b/JSRnoiomzWKg I4BQYdM9PCLNYGcJcPqEDi3d4ikE6RC0Yv9P5pRIcmnX/kkU6mBawayrvpeBBxoNjIJvapW9kPZ z1EYsKgjl5bTaZU7i8c7WGyYuECeN/UmXWN+6bgtNVRnDO8/NTECvwQiUvUJoRHIXHCCJt+E/JU plDRQZKxJsmwtf2nVUGbwzeW8zQ7hg== 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-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511270053 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 v6: - Renamed remote endpoints in controller node Link to v5: https://lore.kernel.org/all/20251125110420.2192971-1-krishna.kurapati@oss.q= ualcomm.com/ 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..f4a8f853e0ca 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 <&usb_0_dwc3_hs>; + }; + }; + 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 <&usb_0_dwc3_ss>; + }; + }; + }; + }; +}; + &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 +&usb_0_dwc3_hs { + remote-endpoint =3D <&usb0_con_hs_ep>; +}; + +&usb_0_dwc3_ss { + 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..bf869c5b5ee0 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>; + + usb_0_dwc3_hs: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_0_dwc3_ss: endpoint { + }; + }; + }; }; =20 usb_1: usb@a800000 { --=20 2.34.1