From nobody Mon Dec 1 22:07:32 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 E84602FD67B for ; Fri, 28 Nov 2025 10:25:16 +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=1764325518; cv=none; b=FEhRzGcuFMrLYzSRR2+EeQBfWdJuwnTMjoB2V6HwmnFG2PHvNB2LUrkexaBN9dhoiYTHGmQBhwyY0aZ51SiCwDoW2vGg+cwCIL/eFIF18tjRvikhCcqlRogocTUBTuZs1LWT3PRmvHhCkHDRPd+OPszYvFLAbrLA+24CTLB+v8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764325518; c=relaxed/simple; bh=fZgWizBnPPlVTWS2nuOlSWwPJtzT5jETR+QI+4Hy6j0=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=HR8vnJ5gZ47yfExiQ/ReokwKOsX+JW/s57uqa5zsYs9SMYULb+ldvvRFVkCRZ7gPbRbg8iqAqWmUIbdhOh1WlS9XFNKLsFOgvL8tYYOv7/opCICl4jWOn8HizKpHPnu375asp9wmXuCKNx3UE061CWK4H5dJi8jJUCzLMxxldCk= 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=RTdSCiuT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Gf7YO2SN; 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="RTdSCiuT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Gf7YO2SN" 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 5AS8O5Zu3476490 for ; Fri, 28 Nov 2025 10:25:16 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=vxrCpTObh+sq8TpBfdVpWIOw/J1PvdPRar/ 7svAe1Ms=; b=RTdSCiuT+ZrAtcmrWHLcsKkF3kxC1NSMTWNaQipQelKqJ048qfq IIsxoZuAOpKGfHBWhWFqDO5X22iGtkWvcGNcUiAXtngk9yT/b841WQGC/a7ZAhJ1 v2hB7pYiV066lNyfM9sByg3YhyWddc/TdvZISK/NZggvej1xdRiW1yp8/pk49Q93 txWZEMc84OS2vn6btJ5wyHTFZXtjInHU7yJygLU4SuxvcQeCqkPhCCC0A+DZolCa nx1pZpZM788eeh/JtEbzvSzdxQjJWc31+74219xGsyhK5CrrmfvV9ZsxOmdnb197 9rN1nFusoEx2fpJVKWSsBS2bvJMfdTktTBw== 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 4aptpua1yv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 28 Nov 2025 10:25:16 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-7b80de683efso2589189b3a.3 for ; Fri, 28 Nov 2025 02:25:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1764325515; x=1764930315; 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=vxrCpTObh+sq8TpBfdVpWIOw/J1PvdPRar/7svAe1Ms=; b=Gf7YO2SNE+2JhUrtSvdBctpSj1n0Bondl4blivTcKCoVca3sXiRBkU310BXbgQYubB QXm6PvsAjiCTwvmvSQKem+9i7Kwr++htykhVwda/rB730u3ysIdiVS6kJ1noSi/ElOF4 eXO6IQBArtBFyj6zl0KlsN9aq5zy4O7q4rG3C+Ohtwjvgi1fwUT8csMesqyw1dkMzzyT P7CdernAu/qOrUrirh0wRLllQ4v68WZ084Rl5KoD6H+4RP0gmSb523E276y9NZO/wVEx nFIPPztrmFiHkJQgVxQhkiNljQPvUAw7Dh5nUq3XznEeM/0F+qsXywbLlYZSU5J0M1W+ 4kzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764325515; x=1764930315; 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=vxrCpTObh+sq8TpBfdVpWIOw/J1PvdPRar/7svAe1Ms=; b=FZBX7sj30XJ4d/VlMJE/BxLOfcAWKDDkMmfbGaEVc3JoMXgAvtrx+L2xd/4RWLBGld CZDE169zvPxqf00al2mBWTPwNxIKvMMRg52O1gb4Jg2SGmsB6VaO6cmobavRgKfosAGi ltKduZCJs7gBpAxS6lYf6Z/kLT8+2s1xASXOETXIcEPQ1OeyYF9zGKkv9m8A8aJL3FIz SzHYOl98+iozAeslV3oWLskE1F/DxTrmfO4QNEOYcTg2L8vgunjI+/QOMnNa3I74DZoj C6ztG/moiZPDYRwejZ/A1y27nY8sL6H+GHL+4QH099jkBhxUhBrb8d0btMTFxe7dnYTM N6bg== X-Forwarded-Encrypted: i=1; AJvYcCWodnOrueKdO/J9RMzvXX2SpYsVqSeFtRvsB+9UdHuzVaOisKWku7kezmlJqN/Sre1YTFNXrgyBNkVA70o=@vger.kernel.org X-Gm-Message-State: AOJu0Yze/asE358IxaVW6pJr0ptI5tVOJpuoNmcm/uW5V/orE0reCP8Z td4/Xn7tLc94AeOgM/gbbB1t4/V3OUKFXkY//VTibuiOSj0mxnReBpgKZxyO+ZWOShMC9VagpEn WmAsGosPgqcjUdpMhErKwUk9dvtZFBtAfFRuIQy6O0znrlDF26gtrZ1ydrw2kfkG4mQQ= X-Gm-Gg: ASbGncu2vGqAPq005nJJzpT9Q3s/dOm0iN6l+AkfFdDaHlio/SaaKn2YFGWvzb7pBk+ t6uQmzqtOqe60Vnd0E2CNEbZhqyLrrlTA4YRRMLZmCT7jMr1U2r8DYHpuJoeh4oI+lQlGNYlK9F LKhkFQUO5EqAD2v4+GT2AaH30r9xpJ0RB955hfZfGQMovPFFNEd/mPjAvkokF7Ze4Gwvr538Lo1 JA2cgDaaFHNdXA/zIzYwKiqBtTSyz6Aw79CGha+tgZXCePNnC/O8fnLTD3BtEftQaPcVVFdPzOz wJ0QgziiHKD2Epnn+lCN/MK5AoYwp4AG3XpvPPiJDwb1HKPtpuz/RdLLKWnnc0czvqczQ8N1KzB kCfYDmeFDc1Qn773NkGUuGyYBSer701Jt3hIzBdpNxZpC8pI= X-Received: by 2002:aa7:989d:0:b0:7aa:ac12:2c33 with SMTP id d2e1a72fcca58-7c58c2a7354mr21421319b3a.1.1764325515318; Fri, 28 Nov 2025 02:25:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IElceZ+5sXf28FIfmwcALeTyEwrEaZoHYrPc4zex0f3/yT0I2F4BVk4hndXZaNhkmXYfAWmIA== X-Received: by 2002:aa7:989d:0:b0:7aa:ac12:2c33 with SMTP id d2e1a72fcca58-7c58c2a7354mr21421293b3a.1.1764325514750; Fri, 28 Nov 2025 02:25:14 -0800 (PST) Received: from hu-kriskura-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7d1520a03a3sm4621255b3a.29.2025.11.28.02.25.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 02:25:14 -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 v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Date: Fri, 28 Nov 2025 15:55:07 +0530 Message-Id: <20251128102507.3206169-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-GUID: WfUQxqpalD9mqWEhjFbPID1SNVN6CK9O X-Proofpoint-ORIG-GUID: WfUQxqpalD9mqWEhjFbPID1SNVN6CK9O X-Authority-Analysis: v=2.4 cv=WIZyn3sR c=1 sm=1 tr=0 ts=6929788c 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=QAzQKOYyiUK49Y4y4FoA:9 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTI4MDA3NSBTYWx0ZWRfXzjgixwIK8qFl QZJkv0hHgV/vSPMVEKIwqLrnSdBmsN96f3DslDjebW1B6j/Uy5KBYjVkEC/515pLOm1QYv+wXVX 9/ALjZVJwFLGSM3UOkx9ojr6vIfaqG6MDDRzFVTWttUcJFXyqDm/3F+q/AORKEbfYKkEto23NWz j9pwKZ1kFuZ3e+zhnQvjT1BUtx7gluv0OWsrMLWni/Ue7D8QZPdkqndq6uPY80iHiZZ/PCFCo14 xX8Ulm+EkdCWHXXuAQgJdwy+fjNN/B4Gjk21qFwuigBjJCuqmccDgn7CEfXIykuq954noAwntgt x/QpHaFseiq1gEjaeF6p+R7GBbzzL0d+i9Mvapy+Np0/qflrpk713mkdib/QoKqleUr/tsR2fYe vvTYwm/AzJV6to/eR0ZaZDEpTOCz1A== 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-28_03,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 suspectscore=0 impostorscore=0 malwarescore=0 spamscore=0 priorityscore=1501 bulkscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511280075 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 Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- Changes in v7: - Renamed hd3ss3220@67 to usb-typec@67 - Compile tested since its only node name change Link to v6: https://lore.kernel.org/all/20251127073537.1218832-1-krishna.kurapati@oss.q= ualcomm.com/ 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..2536ebe36edb 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"; + + usb-typec@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