From nobody Mon Sep 28 12:35:07 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013035.outbound.protection.outlook.com [40.107.159.35]) (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 11E493537F8; Fri, 21 Aug 2026 16:23:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329413; cv=fail; b=mM+ec/+7pqGyKFrUxo4hm4zHY9l4M4ZPoNy4JxeUT35T7smUHVPHfJHaK6xDSQ4cVSVm5MUiWlIuFO1+NNXu5IvuN5pq5Tvx0cgtHVD9qklwTFQvE5qnuzAJto5Fz94PutRPrse7winE6+EUfob2kT1lNULoDJ+Q5Wgwfxyx7wk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329413; c=relaxed/simple; bh=PFTnaWa9skVrnM8KGVDW43X0ffby2OkpV7ipY4P6Twg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=dYNNZikWJYLIs1B1FtLfPelvSmr0Ga8eG3ydFEEVyruXfn2NKQTMoT/TRPTgX6l0k6jj2V4cAGKvlDyvHex3wVt5KNeHt9fk622qdYulFYWLcbVOaEIl46DZ/uTlJnkxuGZ7ziwYTc8SJe1REZ+Hy65lrnNM8FWGfkdmrouRqfs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=A811sl3Q; arc=fail smtp.client-ip=40.107.159.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="A811sl3Q" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AMGcMMu8NtOCN2PLv6dJRLDmFcw5H5BXouRAC9MbyCnGYmt9fI7KnBMJNcTo7aOLrc9IQjTgnYmbU4NBnhn1W6oYbSLFA7cpuycTO0HSBao2j8gG+tA4K6TtkV1ygs2BFtk8GN1N7BLNdM1OEUYmA8o2LovaMkGHCpf6DjBM59mL79wl4V1jBuRWEtmQWF4s8leW05RGcePckovYIQDg6Y+pqiZC4DsLPI0QLsEIPEYWduYN/+KzDvWfZcRVQbDe782xtQeuDxCD3/ypmYlTXCHr3jibmWOocZ7FpOy4tyfySCW0wSbkcdtZpnV5Z7QHaTV2x2wNbx2QBbkpUhSHvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qkNg7jjP5mA0oof1d2UsKe6h/yXFDlK4lanzZ9wSFqs=; b=CgVui3o8WhtrrWmJhlbmA8X2WQ7LhkcdZPakOcT1wVoqAUXTiTff/eO933v0Fx42bdYeaMnBsx97yRbuk/IDm1n38nqOKeGPwkSLviAV+GItZFtOq276wnCXSjwRTvqc5ARt5Haa/gn850BgeuH+VOgD0D0LZFDUg2TLuz14892pF7jAE7Z1t/AWtYvV80M8sm6OfRG6nCEId64xhwksmvW6nfAVZRMERk/pEtqIPlks6wAilWEez9Kua0FjPKSRNNuYl84KG491NeEVCIhzUUewW6NM1r++MyPW4SNvz6iq42pT/XYE2guhuAo7c7IrAH/0CROjSDzn+zbewaUNtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qkNg7jjP5mA0oof1d2UsKe6h/yXFDlK4lanzZ9wSFqs=; b=A811sl3QzUpEObx1pRMecb1a9S9OnJjiI5L/jc5qrmQUQUSOlhu67YO0YScEFbiEdYo1HOvX7oGJESaw/2d6/xO1S0AwpvqRm7TwYG6DexhlfRaxqVBYhsIiHWk3FaUaFSza9vf9wbcNIgygaAG0M49cLK2syCrvzJkCJzXvLCyBhmKMR1SKuCcFl6QwF7ACA/9ExKHJWGk5VOmP/wt1yOwcBd12V8PcESJFrrYTveSLMh0Z/WC9HZNmbFGyDdN8kgP/TfcUPxmnsDKcmd75tJ+pI+21fOLCqLWG0sjWMfpiZRR9Qttc7KWj4oM4r/d7OeTRiU2eBo+RrstOa1ZCPA== Received: from AS4P250CA0013.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5df::15) by GV1PR10MB7980.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:81::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:26 +0000 Received: from AMS0EPF00000190.eurprd05.prod.outlook.com (2603:10a6:20b:5df:cafe::73) by AS4P250CA0013.outlook.office365.com (2603:10a6:20b:5df::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:26 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000190.mail.protection.outlook.com (10.167.16.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:26 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:01 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:25 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:12 +0200 Subject: [PATCH 01/16] dt-bindings: usb: st,tcpp: Document TCPP USB-C PD protection chip Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-1-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000190:EE_|GV1PR10MB7980:EE_ X-MS-Office365-Filtering-Correlation-Id: 313408da-6dd7-40ed-cd70-08deffa08755 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|23010399003|1800799024|36860700016|82310400026|10067099003|11063799006|56012099006|3023799007|13003099007|22082099003|18002099003|921020; X-Microsoft-Antispam-Message-Info: 8cN9ijTmDysFU7KkX7XRr/ZJwhLNIy9Kxq/jZ6USNfZLCh9hdyrbfLnSXsruZq7mHLUW6w58jLF2bEd0PjtOSRezsgZD22iT+QFDnb8uWWBSBS/7gdNetcomMVnBWBBFLhNNhIXgSLrLJtWj4k6/cwKqzEU/LloFQDhK2FG48K7S9amdclPKMbNKDw50tkvLXFKz5BqDm9zp2Yp1kYQA/r9sB5VPVWJ9CTsnpcZxWLFOi0UUS04a/377ltEXhge6hA4C2EWKgI7ct8DkziFFiM4skXQOxdSfzClgKyyw+KSs18jh9YBac4QDqC0yRS7amvF5WlohPWrJyvDfvhSdZ6o+5Js0xnLBe/ePmOveRc3o7qajk10cCFari9Vz3/1q2dJg9qxxXJy7K4QAyuiYaJ35UgWgfIgHBK1uY8j4WCbur+ufuhcQe9du5gCOn5cu0WXg3O8WHqg6I+ujfez++pMDfc9/MfsCwZR4rpWwsRIoF+Y26N9kRwqVvu8xmp5si/QS7nkeAniyYZ8aNpokv0Hc3wZ3x1C65Ua7p+Zrdk2vHK2Ztj+rYtX3TKVhmQlyDLTg8r20xIvnbdUmt4kNI9995iBawrUEr8zkzoIqttJlFYCbEz08L3zI3Z3nrX6bap/EfaHOAI2NYNztDSzAiOHJuaJVED8IlsBXcw+Iyi74baW8zSv0302yHUEbjDImacVhpbVeDxhkoaqeZVeyxA== X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(23010399003)(1800799024)(36860700016)(82310400026)(10067099003)(11063799006)(56012099006)(3023799007)(13003099007)(22082099003)(18002099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R1RzGQctv1GymduJT6Kk4hR1qGJln+p3vlF6Rxu/W2nVN2tx2tRL+J05VbGlKTzLCbrHkhaE1mi0xoXliRY1HhUJF4ove1xYGJNnZHxPwZfGIiULH1VVVJ7JczE6fpm822VajKkhVPd7NyUILdM7KuPZqJIX3toYQTrHTLPfWR2Obbw7NVvW7jJ/r2GGzDaW2sqX+qAVVfrjeKgxx02SWvoT4JkTmiW/dVQ5mhy0dAPL+qpx5IdsoFw4zo2g14ZnkhNPbqGvNx2vxdZtg/VTZF6dYC5PEgSMt/WPvUS/r/z5S6Y9jqICpH5ovWNM7Bh8LOibAVKdSiNmRD9YawTjtfx3KwtHMlHimexuEhNZQYoYLjBI/LBvQ1bQIRu+25USQHxXPXlvNhKqySmoV9Kxl0rOQv5+L0I/CgVFQiJ/BoJNBD96yfKaWr7RGHYneZFU X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:26.2648 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 313408da-6dd7-40ed-cd70-08deffa08755 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000190.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB7980 From: Christian Bruel Add binding documentation for the STMicroelectronics TCPP Type-C port controller. TCPP03 is a companion chip to interface and to protect UCB-C DRP port. It has been developed to be used with STM32 family embedding the UCPD controller. Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- Documentation/devicetree/bindings/usb/st,tcpp.yaml | 63 ++++++++++++++++++= ++++ 1 file changed, 63 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/st,tcpp.yaml b/Documenta= tion/devicetree/bindings/usb/st,tcpp.yaml new file mode 100644 index 000000000000..3224969359c6 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/st,tcpp.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/st,tcpp.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: STMicroelectronics TCPP03 USB-C PD protection chip for DRP + +maintainers: + - Christian Bruel + - Fabrice Gasnier + +description: + TCPP03 is a companion chip to interface and to protect USB-C DRP port. + It has been developed to be used with STM32 family embedding UCPD contro= ller. + Access from I2C interface with 2 read registers SR1/SR2 and 1 CR registe= r. + +properties: + compatible: + const: st,tcpp03 + + reg: + description: I2C address + maxItems: 1 + + interrupts: + maxItems: 1 + + enable-gpios: + description: + GPIO pin connected to the TCPP_EN signal of the UCPD + maxItems: 1 + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + #include + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&i2c1_pins_a>; + pinctrl-1 =3D <&i2c1_sleep_pins_a>; + clock-frequency =3D <400000>; + + typec@34 { + compatible =3D "st,tcpp03"; + reg =3D <0x34>; + enable-gpios =3D <&gpiog 2 GPIO_ACTIVE_HIGH>; + interrupt-parent =3D <&gpiog>; + interrupts =3D <1 IRQ_TYPE_EDGE_FALLING>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&tcpp_flgn_pins_a>; + }; + }; --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013005.outbound.protection.outlook.com [52.101.72.5]) (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 4174536B908; Fri, 21 Aug 2026 16:23:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.5 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329418; cv=fail; b=misI6X7xbSJEtSlObxHCeMyfvTGdckFrysuHnyycjx4yperEi4SdKxch9nsswQ9/NtkP4+uoVgq+jTTLvmEZG1Z8Jkuvkof6Rco42g1cN/85S1e/uUHRodAgUJcutB4OjlgK0wMmLzCEcGXRRGZJCqzWRwZJJmoMqFLW44QLl7c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329418; c=relaxed/simple; bh=MmVmh97LLDVc2cUq/2jcQk4npfQ5dznSsUsG8LbYzP4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=lQnlUWnwQI6E+vN0HtT34RG4/4EK/RIcRMONW0Sw4O2MpsYmH/HhJmp5AAp7EVxQB4yi2rWUzJZpY50H8Mo3fzV+o9s5Dtv8ieowAdSZnhWETgNxE4hl92f4WK0Mc4kdLi6sQuuzbl9lj7YJs5O3Wk4+DfeNWJhIP5LXUSj4Bk4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=MUsRXjQI; arc=fail smtp.client-ip=52.101.72.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="MUsRXjQI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JtnWEolCCIAxuuem/W0MoMlALmVJrPwej6wJXsoMmO0xz6/834GM0OuAnxc7zHe7l3Pno4Itvfq+7PCSAxPLfRgCZocXCznzduXPPen7UrlzT2DqQzW6PfJdAVXuwMws9yfgA4CkN3BiRo5uSWUwcCTnfP7CK7dPDBsIZjxCknhCpMGNxSeuBnnc0ui/cFgja1IYLWbJP5BL4oQ3GlkVLqcBDX4eKZlUcKaWVfBwC55sw/8pwk1z70pW7ZP+Cafin3o6Xh8rYm7KCd8+D+y9MxFQ1iBjtPHPc6q7ORbyOOBZ8/y09HNyTN3niRPTjv8xsnxIiHMoIPmHRnCr1n8doA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZUoxYuiZNjOupmLqRwZh4SEi9dIAImexQpr0ZE4ikGA=; b=YOS6U6B3kEoF2usQyGqzUmIH8cAXkiVFA/CcjGG/5R2Hl3Xef16d6mETMIHqx3xO5dlVyrEK11G++Y4X9Pe1K2d3xhhfsXVVg289Sv4qpPVYXnrXDAx24okulNBX93ZFv4sjW9mvOU6Dp/Xnj/UyuRhdd1PHImZxQJhUNMJebgnHp/fCiwwY+EKzWanGQrt+k/SarocUbIl7hkNXKJePCMRMNH2H8Gkaf6poNZtE5g40WuoVnwuNArVHSGzpHtDfkOWVe0aUT2Ep9XIIUmrFwxH7aM7FfsRENJvCq204/r0rHLj4h0FcqYjfTPJvev6I4125JZKs90Vvt1q5Ij2vPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZUoxYuiZNjOupmLqRwZh4SEi9dIAImexQpr0ZE4ikGA=; b=MUsRXjQIfHCwEDLjt0j26LCrfPyR0KT3CIhmZyYYKwTUJvCv48/qCS1CCjOFHA/6CrP7KFfdUhEq5hZ3KsHl0MSLzKhZ0otflTLn8aXTuZkMZ2LPDlp7hwh4GKshJWZ6OZ5R5A3T76q2t3CdqX/hYX+9btE8++L7JCAOcekIOfOnsN5ekzgJuN3GNko2W5av7DyY8SgneLbTZuJ1FYrbzyNEGgf3ZRJocZzLHjTY7qmzMnrh0ggro7KpuF+s7w6tV5Z07NQTyHnb/6w8j5mDT591Egk7JnMyYjA2h9Dwug9QbRz41abdBxRzcMUbnCLOMJDd+wCl43SJCm7mDruB6w== Received: from AM9P192CA0020.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::25) by VE1PR10MB3935.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:160::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:27 +0000 Received: from DB1PEPF000509F5.eurprd02.prod.outlook.com (2603:10a6:20b:21d:cafe::4f) by AM9P192CA0020.outlook.office365.com (2603:10a6:20b:21d::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.10 via Frontend Transport; Fri, 21 Aug 2026 16:23:27 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F5.mail.protection.outlook.com (10.167.242.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:27 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:26 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:26 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:13 +0200 Subject: [PATCH 02/16] usb: typec: tcpm: Add STM32 tcpp driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-2-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F5:EE_|VE1PR10MB3935:EE_ X-MS-Office365-Filtering-Correlation-Id: 562f05f8-e51a-4463-9ed7-08deffa087ce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|7416014|376014|82310400026|1800799024|36860700016|18002099003|22082099003|18092099006|56012099006|10067099003|11063799006|921020; X-Microsoft-Antispam-Message-Info: 14PJ7E10fiBUq/bbQweFXY9nZ/694lDrGCOrBqItEo+NDrPFxJHQTFo6TyNG2IlgDK5ANP8UOFtzUbU6QOdGvWQSBoNMdpIJ14bu5ia9GrCuiL7SwJjirybar6/ccih5BlmIyZh+y0doH7XYdbL9nkP+96RSMuDJbTUljA9j+KHWTvHXVsJzoEyb/e9uMIa/ArtNjFxpCN+jH0AWGmTCF4EAfntgGyKqKDifdQ8Jqfe9aQRT2I0BbRnS4CR89IaUKDmAgLiYRCMixe3gL0amrR8ipdS4kwqviYXD6F7yp/NxIiX7BZLKRlVHs2H6W2YccE9uF2PYTsyLUDUl+72UfjgWlCYfNCydC6rz6nP+Q7bG94YoIE6zSPDh5ibrdhykjPml4CC58yjic88+HOGBLc8SZWP1io+xpqKp+A0vxV3oILwCkmEycB6FKkJA7ygTCqCdgdlRDrQSFlfC7IMbEhSNKryjYUdhQxtp7KVR3n0rs8pUl6xSOB+xZBrqV+la3P/u8DPEriVjze/ObuJguI/HK97j8OBjRqHw+kLF51ceVbc5eueb7frqPC8IEy3xmFRewBpUh7oDIWJt68lqqb5AWyqgjeu49h+ke3Kz+r9RyMDIcGKG6M0W2AZjRyUoaQKeq945ipL5QgPdvF/KaQUS3jz/IILbnk5hSse7ELXTRUBBqpQYFum+P8LWvMa6FwGS0e8SuMvJBru0dKQjxhFXAY+gKQwBzRqC+mXN0C19CZFyoi4cmoWWx+oswqd5 X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(7416014)(376014)(82310400026)(1800799024)(36860700016)(18002099003)(22082099003)(18092099006)(56012099006)(10067099003)(11063799006)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: r04fbd58UFeuyrWVC7Ye8jdia96Q89kDwzCyXumq6IAzqMs/+yfwz/ioEgm1PaSDxHuHHww5yBrORThoJEb0NoXdKOsdov7+JmShXZLX6oarvcfH/mTaNcPzlyzqOuFEakZXeGa8d3xjqJM0hJThb3DJyDogctkbBOrBMKIAOKTzj4U49Rg6N1lL2kz0nfJJ/+/jN5yyERo4OI6JofF0lGD01y3iG8fcyBLFuHjUzP5qi8BuuSkGBpvABNNIYl/oEzlSGGzbnmg+zReCIwipF2YGbWxH6hJTETqglQNJHenicIYHiF494ujlLA/y83GDHJ2761pBcGQ38BcSUfSXg0b8Wcuw7+ZYQeldgmIfYoXvMMTQmBRMRt18Hs5BGmKV+/sLDDRzo3qBOlvIU0TycEXetHxYUcaubq9Tk8CUqxpsU40wdFTs1Dx+j8Sv0G9d X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:27.0324 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 562f05f8-e51a-4463-9ed7-08deffa087ce X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F5.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR10MB3935 From: Christian Bruel Add support for the STMicroelectronics TCPP02 and TCPP03 USB-C PD protection for dual role power (DRP). It can be used with the STM32 family embedding UCPD controller. Purpose is to be used by the UCPD driver and tcpm framework to notify Vbus changes. To control the provider gate, the TCPP must be put in normal PM mode. In this mode, only failures may be reported by the IRQ line. So add a delayed work, to poll for VBUS status bits via I2C. Start to poll when necessary: upon attach / detach, or when switching on / off provider or consumer gates. Also provide HW protection (mainly ESD) and drive Vbus and Vconn. Isolate CC lines while in low power (hibernate mode) so the main STM32 controller can be put in standby mode safely. Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- drivers/usb/typec/tcpm/Kconfig | 10 + drivers/usb/typec/tcpm/Makefile | 1 + drivers/usb/typec/tcpm/st_tcpp.c | 418 +++++++++++++++++++++++++++++++++++= ++++ drivers/usb/typec/tcpm/st_tcpp.h | 21 ++ 4 files changed, 450 insertions(+) diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig index 00baa7503d45..c24d98200a57 100644 --- a/drivers/usb/typec/tcpm/Kconfig +++ b/drivers/usb/typec/tcpm/Kconfig @@ -65,6 +65,16 @@ config TYPEC_FUSB302 Type-C Port Controller Manager to provide USB PD and USB Type-C functionalities. =20 +config TYPEC_ST_TCPP + tristate "STMicroelectronics TCCP USB-C Protection for UCPD DRP" + depends on I2C + help + Say Y or M here if your system has STM TCPP03 or TCPP02 Type-C + PD protection + + If you choose to build this driver as a dynamically linked + module, the module will be called st_tcpp.ko. + config TYPEC_WCOVE tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver" depends on ACPI diff --git a/drivers/usb/typec/tcpm/Makefile b/drivers/usb/typec/tcpm/Makef= ile index 7a8cad0c0bdb..0ee6ff598f75 100644 --- a/drivers/usb/typec/tcpm/Makefile +++ b/drivers/usb/typec/tcpm/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_TCPM) +=3D tcpm.o obj-$(CONFIG_TYPEC_FUSB302) +=3D fusb302.o +obj-$(CONFIG_TYPEC_ST_TCPP) +=3D st_tcpp.o obj-$(CONFIG_TYPEC_WCOVE) +=3D typec_wcove.o typec_wcove-y :=3D wcove.o obj-$(CONFIG_TYPEC_TCPCI) +=3D tcpci.o diff --git a/drivers/usb/typec/tcpm/st_tcpp.c b/drivers/usb/typec/tcpm/st_t= cpp.c new file mode 100644 index 000000000000..975d20a1ec71 --- /dev/null +++ b/drivers/usb/typec/tcpm/st_tcpp.c @@ -0,0 +1,418 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * STMicroelectronics USB-C PD protection TCPP02/03 driver + * + * Copyright (C) 2026 STMicroelectronics + */ + +#include +#include +#include +#include +#include +#include +#include "st_tcpp.h" + +struct st_tcpp { + struct device *dev; + struct regmap *regmap; + struct gpio_desc *enable_gpio; + struct workqueue_struct *wq; + struct delayed_work vbus_work; + unsigned long delay; + bool vbus; + tcpp_vbus_cb_t vbus_cb; + /* lock for sharing states with stm32_ucpd */ + struct mutex lock; + void *vbus_cb_data; +}; + +#define TCPP_CR0 0 +#define TCPP_SR1 1 +#define TCPP_SR2 2 + +/* writing register CR0 */ +#define TCPP_VCONN GENMASK(1, 0) +#define TCPP_V1 BIT(0) +#define TCPP_V2 BIT(1) +#define TCPP_GD GENMASK(3, 2) +#define TCPP_GDP BIT(2) /* Provider Gate */ +#define TCPP_GDP_OPEN 0 +#define TCPP_GDP_CLOSED 1 +#define TCPP_GDC BIT(3) /* Consumer Gate */ +#define TCPP_GDC_OPEN 1 +#define TCPP_GDC_CLOSED 0 + +#define TCPP_PM GENMASK(5, 4) +#define PM_HIBERNATE 0 +#define PM_NORMAL 1 +#define PM_LP 2 +#define TCPP_VBUSD BIT(6) + +/* reading register SR1 */ +#define TCPP_VBUS_OK BIT(5) + +#define VBUS_POLL_INTERVAL_MS 10 + +int tcpp_register_vbus_notifier(struct device *dev, tcpp_vbus_cb_t cb, voi= d *data) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + + tcpp->vbus_cb =3D cb; + tcpp->vbus_cb_data =3D data; + + return 0; +} +EXPORT_SYMBOL_GPL(tcpp_register_vbus_notifier); + +void tcpp_unregister_vbus_notifier(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + + tcpp->vbus_cb =3D NULL; + tcpp->vbus_cb_data =3D NULL; +} +EXPORT_SYMBOL_GPL(tcpp_unregister_vbus_notifier); + +static int tcpp_update_cr0_bits(struct st_tcpp *tcpp, u32 msk, u32 val) +{ + u32 sr1; + int ret; + + ret =3D regmap_read(tcpp->regmap, TCPP_SR1, &sr1); + if (ret) + dev_err(tcpp->dev, "%s: Unable to read SR1: %d\n", __func__, ret); + + sr1 &=3D ~msk; + sr1 |=3D val; + + ret =3D regmap_write(tcpp->regmap, TCPP_CR0, sr1); + if (ret) + dev_err(tcpp->dev, "%s: Unable to update CR0: %d\n", __func__, ret); + + return ret; +} + +static int tcpp_set_pm(struct st_tcpp *tcpp, int pm) +{ + dev_dbg(tcpp->dev, "%s: set %s mode\n", __func__, + pm =3D=3D PM_NORMAL ? "NORMAL" : + pm =3D=3D PM_LP ? "LP" : + pm =3D=3D PM_HIBERNATE ? "HIBERNATE" : "NA"); + + return tcpp_update_cr0_bits(tcpp, TCPP_PM, FIELD_PREP(TCPP_PM, pm)); +} + +int tcpp_init(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + int ret; + + mutex_lock(&tcpp->lock); + gpiod_set_value_cansleep(tcpp->enable_gpio, true); + + ret =3D tcpp_set_pm(tcpp, PM_LP); + if (ret) { + gpiod_set_value_cansleep(tcpp->enable_gpio, false); + goto err; + } + + enable_irq(client->irq); + +err: + mutex_unlock(&tcpp->lock); + + return ret; +} +EXPORT_SYMBOL(tcpp_init); + +void tcpp_deinit(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + + disable_irq(client->irq); + /* vbus_work may take the lock : cancel it without holding the mutex */ + cancel_delayed_work_sync(&tcpp->vbus_work); + + mutex_lock(&tcpp->lock); + tcpp_set_pm(tcpp, PM_HIBERNATE); + gpiod_set_value_cansleep(tcpp->enable_gpio, false); + tcpp->vbus =3D false; + + mutex_unlock(&tcpp->lock); +} +EXPORT_SYMBOL(tcpp_deinit); + +int tcpp_get_vbus(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + u32 sr2; + int ret; + + mutex_lock(&tcpp->lock); + ret =3D regmap_read(tcpp->regmap, TCPP_SR2, &sr2); + if (ret) { + dev_err(tcpp->dev, "Unable to get SR2: %d\n", ret); + goto err; + } + + ret =3D !!(sr2 & TCPP_VBUS_OK); + +err: + mutex_unlock(&tcpp->lock); + + return ret; +} +EXPORT_SYMBOL(tcpp_get_vbus); + +int tcpp_set_vbus(struct device *dev, bool on, bool charge) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + bool gdp, gdc; + int ret; + + dev_dbg(dev, "provider: %s, consumer: %s\n", str_enable_disable(on), + str_enable_disable(charge)); + + if (on) { + /* Set to normal mode to allow provider gate control via i2c */ + ret =3D tcpp_set_pm(tcpp, PM_NORMAL); + if (ret) + return ret; + } + + gdp =3D on ? TCPP_GDP_CLOSED : TCPP_GDP_OPEN; + gdc =3D charge ? TCPP_GDC_CLOSED : TCPP_GDC_OPEN; + + ret =3D tcpp_update_cr0_bits(tcpp, TCPP_GD, + FIELD_PREP(TCPP_GDP, gdp) | FIELD_PREP(TCPP_GDC, gdc)); + if (ret) + return ret; + + /* Already done (switched ON or OFF) */ + if ((on || charge) =3D=3D tcpp->vbus) + return 0; + + /* + * Not getting IRQ on Vbus change in NORMAL mode (only failures). + * Need to check Vbus state change to notify the tcpm state machine, + * e.g. either vbus has been en(dis)abled as provider or consumer, + * and vbus is in the expected en(dis)abled state (read it by i2c). + */ + if (on) + tcpp->delay =3D jiffies + msecs_to_jiffies(PD_T_SRC_TURN_ON); + else + tcpp->delay =3D jiffies + msecs_to_jiffies(PD_T_SAFE_0V); + + mod_delayed_work(tcpp->wq, &tcpp->vbus_work, 0); + + return 0; +} +EXPORT_SYMBOL(tcpp_set_vbus); + +int tcpp_set_vconn(struct device *dev, bool on, enum typec_cc_polarity pol= arity) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + u32 vconn =3D 0; + int ret; + + if (on) { + /* Set to normal mode to allow Vconn control via i2c */ + ret =3D tcpp_set_pm(tcpp, PM_NORMAL); + if (ret) + return ret; + + if (polarity =3D=3D TYPEC_POLARITY_CC1) + vconn =3D TCPP_V2; + else + vconn =3D TCPP_V1; + } + + dev_dbg(dev, "%s: set vconn 0x%x\n", __func__, vconn); + + return tcpp_update_cr0_bits(tcpp, TCPP_VCONN, vconn); +} +EXPORT_SYMBOL(tcpp_set_vconn); + +int tcpp_attach(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + int ret; + + mutex_lock(&tcpp->lock); + ret =3D tcpp_set_pm(tcpp, PM_NORMAL); + mutex_unlock(&tcpp->lock); + + return ret; +} +EXPORT_SYMBOL(tcpp_attach); + +int tcpp_detach(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + int ret; + + mutex_lock(&tcpp->lock); + ret =3D tcpp_set_pm(tcpp, PM_LP); + mutex_unlock(&tcpp->lock); + if (ret) + return ret; + + /* Already OFF ? No need to poll. */ + if (!tcpp->vbus) + return 0; + + /* + * Earlier in NORMAL mode, don't get IRQ on vbus change (only failures), + * Check Vbus upon detach, to notify Vbus off. + */ + tcpp->delay =3D jiffies + msecs_to_jiffies(PD_T_SAFE_0V); + mod_delayed_work(tcpp->wq, &tcpp->vbus_work, 0); + + return ret; +} +EXPORT_SYMBOL(tcpp_detach); + +static void tcpp_vbus_poll_work(struct work_struct *work) +{ + struct st_tcpp *tcpp =3D container_of(work, struct st_tcpp, vbus_work.wor= k); + bool vbus_on =3D !!tcpp_get_vbus(tcpp->dev); + + dev_dbg(tcpp->dev, "%s vbus: %s\n", __func__, str_on_off(vbus_on)); + + if (tcpp->vbus !=3D vbus_on) { + mutex_lock(&tcpp->lock); + if (tcpp->vbus_cb) + tcpp->vbus_cb(tcpp->vbus_cb_data, vbus_on); + mutex_unlock(&tcpp->lock); + tcpp->vbus =3D vbus_on; + return; + } + + if (time_is_after_jiffies(tcpp->delay)) + mod_delayed_work(tcpp->wq, &tcpp->vbus_work, + msecs_to_jiffies(VBUS_POLL_INTERVAL_MS)); +} + +static irqreturn_t tcpp_irq_thread(int irq, void *data) +{ + struct st_tcpp *tcpp =3D data; + + mod_delayed_work(tcpp->wq, &tcpp->vbus_work, 0); + + return IRQ_HANDLED; +} + +static const struct regmap_config tcpp_regmap =3D { + .reg_bits =3D 8, + .val_bits =3D 8, +}; + +static int tcpp_i2c_probe(struct i2c_client *client) +{ + struct device *dev =3D &client->dev; + struct st_tcpp *tcpp; + int ret; + + if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) + return -ENODEV; + + tcpp =3D devm_kzalloc(dev, sizeof(*tcpp), GFP_KERNEL); + if (!tcpp) + return -ENOMEM; + + i2c_set_clientdata(client, tcpp); + + tcpp->dev =3D dev; + tcpp->regmap =3D devm_regmap_init_i2c(client, &tcpp_regmap); + + mutex_init(&tcpp->lock); + + tcpp->enable_gpio =3D devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); + if (IS_ERR(tcpp->enable_gpio)) + return dev_err_probe(dev, PTR_ERR(tcpp->enable_gpio), + "Failed to request TCPP enable GPIO\n"); + + irq_set_status_flags(client->irq, IRQ_NOAUTOEN); + ret =3D devm_request_threaded_irq(dev, client->irq, NULL, tcpp_irq_thread, + IRQF_ONESHOT, "tcpp", tcpp); + if (ret) + return dev_err_probe(dev, ret, "Failed to request IRQ\n"); + + tcpp->wq =3D alloc_ordered_workqueue(dev_name(tcpp->dev), 0); + if (!tcpp->wq) + return -ENOMEM; + + INIT_DELAYED_WORK(&tcpp->vbus_work, tcpp_vbus_poll_work); + + return 0; +} + +static void tcpp_remove(struct i2c_client *client) +{ + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + + cancel_delayed_work_sync(&tcpp->vbus_work); + destroy_workqueue(tcpp->wq); +} + +static int tcpp_suspend(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + struct st_tcpp *tcpp =3D i2c_get_clientdata(client); + + flush_workqueue(tcpp->wq); + disable_irq(client->irq); + + return 0; +} + +static int tcpp_resume(struct device *dev) +{ + struct i2c_client *client =3D to_i2c_client(dev); + + enable_irq(client->irq); + + return 0; +} + +static const struct dev_pm_ops tcpp_pm_ops =3D { + SYSTEM_SLEEP_PM_OPS(tcpp_suspend, tcpp_resume) +}; + +static const struct i2c_device_id tcpp_id[] =3D { + { "tcpp", 0 }, + {} +}; +MODULE_DEVICE_TABLE(i2c, tcpp_id); + +static const struct of_device_id stm_tcpp_match_table[] =3D { + { .compatible =3D "st,tcpp03" }, + {}, +}; +MODULE_DEVICE_TABLE(of, stm_tcpp_match_table); + +static struct i2c_driver tcpp_driver =3D { + .driver =3D { + .name =3D "tcpp", + .pm =3D &tcpp_pm_ops, + .of_match_table =3D stm_tcpp_match_table, + }, + .probe =3D tcpp_i2c_probe, + .remove =3D tcpp_remove, + .id_table =3D tcpp_id, +}; +module_i2c_driver(tcpp_driver); + +MODULE_DESCRIPTION("TCPP02/03 USB Type-C PD protection driver"); +MODULE_AUTHOR("Christian Bruel "); +MODULE_LICENSE("GPL"); diff --git a/drivers/usb/typec/tcpm/st_tcpp.h b/drivers/usb/typec/tcpm/st_t= cpp.h new file mode 100644 index 000000000000..9284410af581 --- /dev/null +++ b/drivers/usb/typec/tcpm/st_tcpp.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (C) 2026 STMicroelectronics + */ + +#ifndef __ST_TCPP_H__ +#define __ST_TCPP_H__ + +typedef void (*tcpp_vbus_cb_t)(void *data, bool vbus_present); + +int tcpp_init(struct device *tcpp); +void tcpp_deinit(struct device *tcpp); +int tcpp_get_vbus(struct device *tcpp); +int tcpp_set_vbus(struct device *tcpp, bool on, bool charge); +int tcpp_set_vconn(struct device *dev, bool on, enum typec_cc_polarity pol= arity); +int tcpp_attach(struct device *tcpp); +int tcpp_detach(struct device *tcpp); +int tcpp_register_vbus_notifier(struct device *dev, tcpp_vbus_cb_t cb, voi= d *data); +void tcpp_unregister_vbus_notifier(struct device *dev); + +#endif --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010003.outbound.protection.outlook.com [52.101.84.3]) (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 B9DF14D8DBF; Fri, 21 Aug 2026 16:23:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329416; cv=fail; b=OA3mheQ2wYdmgNyuYvr/OIAvedXIOeD/g+iyrvtO1SBdM96fp5OGOFNQlwuV56BjFXKjgUZQ+Hz52njGpNE0uuAtuKwV4VD+GZHFP0V/NtfXZ4cZQ+NO8+6qimoSurr92mOr42MhGaiRSLIYGoSRsh+ZHrBFvp5PfPaN9bQn+HY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329416; c=relaxed/simple; bh=OefkLFegZdmJBSUs4K8UfD9eZ7CNoSRb1btkt5Lv0EU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=HvIdsB+qWJhzIXqv2c2J5dKfuSwzNl8isj37RoGWA2m+Ph9m5AZMASb07McUHTKVVbHLzESrOUKsOztzdbTA6ndJMqq/j14zpHUN0pPwyW4fWyg4/k65+qrCrr+7NXR+PPgmKq3RNoybgHB9SZ3olYqMisLKezQoYLf29VZz16I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=lnOrqxn5; arc=fail smtp.client-ip=52.101.84.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="lnOrqxn5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rxY1IhDCapHQjmrs8GmUWWkYXuo+15K1s8VXFunCRydoFmuOv3Zjdny8hNw9oK0JrdX3d7T9TZlwRM26d2Q3Ze+1Lg9RAWUWYGFK7HhQnZC3J493qq6OvWkjPhUU3tTECgyNOXlvz58cu2QZEO87uE87BAUlyGqtAtdTSw2C5IUFXexbDk0gBwaS99gisu6LhyB2SfybJcWev6N82+c0dA8UdckGofgruviHBVlZ2e3JsQumgv9WkZ0/NcgoZKDnOyNbrfZxWoZfFu8NUfQ0dh9Yra1Z8Dm+yGlZL41471PzsemHu9qusjtlrxTDbpdws7g0rRrY73xM/vLgy0JmVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4n2WO+OmiGTPpbURTDlLMo61fM4nwTSSJxwEpkn99Zc=; b=wrlWM3eDrJSa1+5VoKVu/ii965psKblap+4eMUVM3eXCbNP2O68V6Vpt8srRzPfaRSQP2TJ4AtE/U04AYstQV0I5hDK3YDxB62tswyPxPnBQ0NUHZF+Bp03oHNakXx+u4h0/46HpL3/pI6/T79H2XoqUaRXcgkggkuI8k5rmigIoIa6JsyvsYi2wznAjqkJkPsBJsb5j39yb7LZ/q5iFZcQYvmjMH7t4Nlp1ARU1K1hMAUOofqvZgdUUHc5Prb+18IWGaRcELn9e2BySYYufyTlEoZxghOmWxORIcslUzB9Q5wwwF+hNe9jTNLlfHDNN0HDuzG5/ARtHHWp2PCuLBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4n2WO+OmiGTPpbURTDlLMo61fM4nwTSSJxwEpkn99Zc=; b=lnOrqxn5lXy+kxe9BTBCX3l6tooor5lDQ4UwSf7TQmNTJ3ouHUTZ/N29G5PckcH0uKSsFKd3c0h8FEvU1SYPh1QteVLjVj4VuajJfZ/ESurTSWQUOkxkFz3eeb6PuiSBVZ1gitpbuxa2VNl7KAGs3ibmK2M7nfIEUF+11HnV2hZPvdMcUhHH82AmnJ+zr1uJbbTvZk4mAjknvhPTxwaZ8sgfaurMvRQOHUZmAVOXRSI5tkSP9PmdvHDy1BdToKk5Dqy4zqzgsKht7i3jG+MoE/cPN11k+56LsrwTulWMkmrfEPkZbvDKzE2gGAndVE6tMEV7hxGAid/c1fPRoHm3Fg== Received: from AS4P189CA0038.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5dd::10) by DB8PR10MB3813.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:169::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:28 +0000 Received: from AMS0EPF00000192.eurprd05.prod.outlook.com (2603:10a6:20b:5dd:cafe::1d) by AS4P189CA0038.outlook.office365.com (2603:10a6:20b:5dd::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:28 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000192.mail.protection.outlook.com (10.167.16.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:27 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:03 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:26 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:14 +0200 Subject: [PATCH 03/16] dt-bindings: usb: st,stm32-ucpd: Document STM32 UCPD controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-3-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000192:EE_|DB8PR10MB3813:EE_ X-MS-Office365-Filtering-Correlation-Id: 7251fab6-c7a8-4bc5-11ab-08deffa08837 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|36860700016|82310400026|1800799024|10067099003|56012099006|11063799006|3023799007|18002099003|22082099003|13003099007|921020; X-Microsoft-Antispam-Message-Info: X2cyMarq31fraXiPTFsTGxt8Hacime0izmnP8wF3+ts2UQUvUTahJB3wZzDuMBuP628e61W1KnWuci9AM3O/mOxRr+5d47Eh8+poZW9oboGfAEAd6PooWzbg05dhm8F6QbrdP02/fumD9f6qedV9G3Pko86UvE10g+NgyV4FbAFby4127XWisTPGKtMTCoSLAzOtOJ9RUZ7FnKrLn3a0fbKGcWIb6pkc56YmGxRjiLoS4HI8dXcf2IoSfc95bePWLQojBWJbYP7HvqxKn5TKyZqqxjm5XxQYuiYBQOQGZNyyoXq0XILPtDEL0idpJM+BHD+qqLgrjeNzdCFsljsBLZetbnww42kvgrRGGcPZZB1Q5aMTyfCNri4nJLAHciGWxHGeWOM0QYeTvwBcUCjoVIQEcF3Zn3d7ACQl0b7K5eu59w5albCZZJuBz05krG7v16tqbdHJlyrg1LYDFdFyjBnWqEZcrAw//5sHtfV5lKaNAceI2qHTJNCpCPYaQn1w0e0SvTJddq8g82zvxdZT4lob5R+kJihkAQagG3wzGy6xm6GOgt7YP4/nZVlvXX1gMsuDctJECX76Yo+IOJn7/hUyPFviM0Y4SZXjB9hDJ4o2BiRItJx6IFbtCdcWCAYQcutN6Cr81BE/HnPNBjQKr9Gov/UD0lWnR92dk4D/eRuVjwh0ABVqRxYQIahST9y8 X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(36860700016)(82310400026)(1800799024)(10067099003)(56012099006)(11063799006)(3023799007)(18002099003)(22082099003)(13003099007)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oqxDwLKNGna4lnBuqWjOCP6mrUZ/dGwg1eTZTej62x9KjHGWZZHimZC9o92mirYpLmm8KEww9qyQkLFElthAx23iFzLquO77sAd59uBZEkV6matUBE/bIYuQqAm6bmrrveUUXj6wM9Z53V8jZ7AxegbxHitLXis+zWjLeApkF/qMOMxgxceKQe9DZpzw+dKaoaaSxHR7IAVyUcN6Fe0elgVrjH6S9A3SfELNz4j/1y5+KIBq0ydMdh9j9DSyr489g0c7DFAo7h+b+bl8ncfcHudHIavuj5ZraRmCuEpc+smnHbulEwZhOimxppdcVjbt20Q1CFNbXGLodQ3dNretWTJ4jNuj+i4GmpT2+6vOnowGpQkgSRZrq6OP5dh1SwUQuJ/sZavJRyew29mSA5LUaktkXYorfenlguiOpYi45BRrjBJ62VjDBCvLHB+M9s3d X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:27.7494 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7251fab6-c7a8-4bc5-11ab-08deffa08837 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000192.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3813 From: Christian Bruel Add support for the UCPD controller found in STM32MP25 platforms. Document the compatible "st,stm32-ucpd". This controller handles USB Type-C CC line management and USB PD. VBUS monitoring relies on external TCPP03 companion chip Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- .../devicetree/bindings/usb/st,stm32-ucpd.yaml | 134 +++++++++++++++++= ++++ 1 file changed, 134 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/st,stm32-ucpd.yaml b/Doc= umentation/devicetree/bindings/usb/st,stm32-ucpd.yaml new file mode 100644 index 000000000000..d9b8253654a7 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/st,stm32-ucpd.yaml @@ -0,0 +1,134 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/st,stm32-ucpd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: STM32 UCPD (USB Type-C and Power Delivery) + +maintainers: + - Christian Bruel + - Fabrice Gasnier + +description: + STMicroelectronics USB Type-C and Power Delivery Port Controller + +properties: + compatible: + const: st,stm32mp25-ucpd + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + interrupt-names: + const: ucpd + + clocks: + items: + - description: APB Bus clock + - description: RCC kernel clock + + clock-names: + items: + - const: apb + - const: ker + + resets: + maxItems: 1 + + reset-names: + const: ucpd + + nvmem-cells: + maxItems: 6 + description: Phandles to the trim values provided by otp + + nvmem-cell-names: + maxItems: 6 + + st,tcpp: + $ref: /schemas/types.yaml#/definitions/phandle + description: + phandle to Type-C Port Protection companion chip. + Refer to ./st,tcpp.yaml + + access-controllers: + maxItems: 1 + + power-domains: + maxItems: 1 + + ucpd-supply: + description: phandle to the UCPD regulator supply. + + vconn-cc1-gpios: + description: Vconn on CC1 gate enable GPIO. + + vconn-cc2-gpios: + description: Vconn on CC2 gate enable GPIO. + + vconn-supply: + description: phandle to the regulator supplying Vconn gates. + + connector: + type: object + $ref: ../connector/usb-connector.yaml# + unevaluatedProperties: false + description: USB Type-C connector properties. + +required: + - clocks + - clock-names + - compatible + - connector + - interrupts + - interrupt-names + - resets + - reset-names + - reg + - st,tcpp + +additionalProperties: false + +examples: + - | + #include + #include + #include + #include + + typec@480a0000 { + compatible =3D "st,stm32mp25-ucpd"; + reg =3D <0x480a0000 0x400>; + interrupts-extended =3D <&exti1 46 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names =3D "ucpd"; + clocks =3D <&rcc CK_BUS_USBTC>, <&rcc CK_KER_USBTC>; + clock-names =3D "apb", "ker"; + resets =3D <&rcc USBTC_R>; + reset-names =3D "ucpd"; + access-controllers =3D <&rifsc 69>; + power-domains =3D <&d1_pd>; + ucpd-supply =3D <&scmi_vdd33ucpd>; + vconn-cc1-gpios =3D <&gpiof 5 GPIO_ACTIVE_HIGH>; + vconn-cc2-gpios =3D <&gpioc 3 GPIO_ACTIVE_HIGH>; + vconn-supply =3D <&vconn>; + st,tcpp =3D <&tcpp03>; + + connector { + compatible =3D "usb-c-connector"; + label =3D "USB-C"; + power-role =3D "dual"; + try-power-role =3D "sink"; + data-role =3D "dual"; + typec-power-opmode =3D "default"; + pd-disable; + port { + endpoint { + remote-endpoint =3D <&dwc3_ep>; + }; + }; + }; + }; --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013021.outbound.protection.outlook.com [52.101.83.21]) (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 AB0E136EA99; Fri, 21 Aug 2026 16:23:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329421; cv=fail; b=freH5RPeobgKO2fLJ8FuhvzeQrCoEAl8TN2+X73+cW0mcGZKGnhq8lf6I4ERAFxWZPxoY78P1oUdMxNqzYdtr8qvXQmLNN2mpTOzpQimifSLg606YaGWTsjcD+COlAsEZ2Lyd8+67Aos9I88b2QnjSzrRFsZu8Eggdxl/c9l2Qo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329421; c=relaxed/simple; bh=Fww8C6P3qBAjDYiho67rTKXgllHYR+174kqjYGvGCVU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=J2znBv7UrzhTrfnEkMO3uHTurqeygw2iFKGjpCrK17KtObqu5GynqX/ZapKGZnndEew3JHSwS4aq+Gn8z1xpMSbTN5HxHeen72xHNRp99DTSs5gUqqpBeVdpX3IU0VGhGOeqY33wLBx4RjREZDpwgwWA6YsBUCTFgcyvQnawL+k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=gO1h7tYx; arc=fail smtp.client-ip=52.101.83.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="gO1h7tYx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wmGzMG6owokfOOk74ZIZElWlrt6RCbIIuZOmVZxZVZP4aptnQpP0+LxJXbz/k9ic5+fkChFLI9qsdltR3bZAOqzvZGRIIIZPVfx4Sj92P588p1ohGndbcnYLMJPpBY9Jy7eIsLfza9zq9GRCiSHutd6PfNwgNA4HDzHjU+0lUQPwnuzKpZIU1/xWxDpCIPh7doqsOCgkyrA20hhUr8Kbs4ClHTTqG6pNVGdcvrZCYCcPrL8I0aVYswn5SOdNdMZ/f7IZ9pqiN4mc/aRx4ZuwIfOlNS1BjlvuxEj/ffTKTOyZN/sBMLqYnwlaqWbD+h/AKjB42IX+goIgZYjAekdkjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hOhSer9+VFTgvvO2pzkIukL9IOFB6OsB8iEbNSuH6D4=; b=ruKjoy3h2WLCUZ9Q+YJAzbzvEnKmfAuENqf3XYV4IQHa9BJP5NcdNKTBMcQk+EXB8uLTnYDMIia9WvySqt+Tlj0oMYyJ5gvtlcMRWoP0QUjFMDglP+F+bQdNN20njvTjI39r0KaCJqnmYGYli1NSV/iDwE3fwkQ+yaAaxV5yRL9GlCQjhRMpPOGgBPqjdhYfPIvMEUCabdNtaOwNv6kGe/OHao8rLH0wIS5N1LFKZNSt0WSZTUVO7mvQ6k0Fqx0bkuwA4oHj2xpJDNVMDs4/m4tYcd/cUEJC6skLO7yfZ6e+gydhAF+WaQtEhODzs79HVpifemg5nW28L4HisK3RgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hOhSer9+VFTgvvO2pzkIukL9IOFB6OsB8iEbNSuH6D4=; b=gO1h7tYxdLScnS5eE5eK2p0M9+dmdnChNdr2VNyh68BK3Oof3mnnhGk+hibXUBgqyxYYR+991H+rNJI0qaV14aqF3yFwPc7iBWJXUvPUhUuZFHF6X5WvwM34svyaHAX0+w0+DntyWEaU1HKkfdDoMju8/rmTmFQAX2wz38b94sF4Jsx9DiT+f109tPgAdYGx5sA/cIhUkStSfOmWvvIIPiHvPG8a7RocRmF9q3VMBr9uKjvq96nvWjxREsO89R7wj31XSN8QYoC6dyMt8/eqCgMypnZJUXyE/mDGQ359N5MRNjBrWzh6dDNzf2W3OyIukNAwtzn6NSroDTnawkv3fQ== Received: from DU7PR01CA0046.eurprd01.prod.exchangelabs.com (2603:10a6:10:50e::29) by AM8PR10MB4067.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:1eb::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.11; Fri, 21 Aug 2026 16:23:28 +0000 Received: from DB1PEPF000509F7.eurprd02.prod.outlook.com (2603:10a6:10:50e:cafe::2c) by DU7PR01CA0046.outlook.office365.com (2603:10a6:10:50e::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:28 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F7.mail.protection.outlook.com (10.167.242.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:28 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:28 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:27 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:15 +0200 Subject: [PATCH 04/16] usb: typec: tcpm: Add STM32 UCPD driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-4-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F7:EE_|AM8PR10MB4067:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e99fcfa-50e4-4474-e805-08deffa088bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|7416014|23010399003|36860700016|1800799024|6133799003|921020|18002099003|22082099003|3023799007|56012099006|5023799004|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: fxPBG+Y60WOxhlHjuJhj3odP7KztvdfwTvmK5LsJb4q6wQRx16K37psUL2dlySoFGeyuzQRw3Jn5AOIbscEvJlf9zumsn/76lqnlUT4q21f9MbMZSdHsWmf/usCcV3E5o7IO905PM1kGhJE7TsdOtIwS3EqrjGvNcl+OC+JLgbavjbqaVKUcHu+BRcil/jH4NJkx+K/GR/Q6d95jmLMsSYz+jzB0a/ufaIN2U8Rfum8KS9WGMIGRvtHzN6n2bjC8zojbx/maEdvyK1DJfLdXmnRLF31hZqPv8Kxaq8/Yk1dgmc3eOT2Q8joveuYPuMhstlSs3TO/PUHZFJOwXHH/Q6Efn7f14QbxovGVcrw6bcNW9hBQakYJkFF35oiA6ZKRg8/f5MMdiP5m7twt4Y9QSixYappqb2ziZv9HfOmsw/gHz15BKuExDl7gj8wSxPjaohm+OIL9bEFkrOa6cj67QqDDIflSLUzJhGcdRi8fDygqLvBNFaRDkdhB7tESv826b6U+hi9EUjXRRQdAh20veI2ixV3hrtcIbvZS8OR/QuHWYrsaY+CBjRqqDxkQY3W+VAEkGmszU0zhd1iyrH+CarSG4F0k0SJYQuA+KiWowlz0NeAX6IBJzPWNHjuB+rph+Ze28q2eQWX30kOpJwuUif5+mkEEVkUcY7Pjc7OBEqTKfpdxRVw2pj/evybHe+4q78VU6RQOUpzckoDpx4fcSPEURTYhlO3KidkgoDfC2TPq3QKAjWvm2Rk3O2TULvjp X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(23010399003)(36860700016)(1800799024)(6133799003)(921020)(18002099003)(22082099003)(3023799007)(56012099006)(5023799004)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dM8brh6LcvFl/2M7J/DdYtrp+lgbFR0uVCXM/2d9N7T31apfQAdwehYXc1NuuOb2VTmiRuVqWy2LgmEXJF/zAKutZXAqhfYh3GKoeEich9HNzkY8tvqvRISrbyVJ4ouX6vL42g0pEUlRq1Or7QGNRjdsZ/J5n0+7G8RqsCnTE9Wvy2mj1LN6Fdx/N/7Tb4F8cL0pQKnXAL4AUEuyoXoxlCK8BzaM4fPZofvf8s+lyqoXBUA5BN5l3PC/h+w7cgMgxf2/c7o3LVsWltOTDdIpV+Uvd+ydO/zAtuAe15DLUPwHBYxubgguWbOe5QQKeh8iCaUlVBC2WsnSF0P7RLYsup2+Z6JMd2IqdyCiRImyI+e9WekYL5j21SvC7fef06xLy4JCsdvoO4dOakd5T++F9pfziWWm0+324FEisng93mkeePAy9X8qcPVj7odAcOv5 X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:28.5975 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e99fcfa-50e4-4474-e805-08deffa088bc X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F7.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR10MB4067 From: Christian Bruel Add support for the STM32 UCPD controller providing USB Type=E2=80=91C Configuration Channel (CC) management and USB Power Delivery (PD) protocol handling. The driver integrates with the TCPM (Type-C Port Manager) framework. On this platform, VBUS monitoring is handled by an external TCPP03 Note the driver doesn't allow PD, so the role can only be set at plug time. The UCPD can be a wakeup source, in such a case, keep the hardware enabled. Else, keep track of the vbus state as provider and as consumer, to be restored after low power. Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- drivers/usb/typec/tcpm/Kconfig | 12 + drivers/usb/typec/tcpm/Makefile | 1 + drivers/usb/typec/tcpm/stm32_ucpd.c | 818 ++++++++++++++++++++++++++++++++= ++++ 3 files changed, 831 insertions(+) diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig index c24d98200a57..371381d24ee2 100644 --- a/drivers/usb/typec/tcpm/Kconfig +++ b/drivers/usb/typec/tcpm/Kconfig @@ -75,6 +75,18 @@ config TYPEC_ST_TCPP If you choose to build this driver as a dynamically linked module, the module will be called st_tcpp.ko. =20 +config TYPEC_UCPD_STM32 + tristate "USB-C UCPD Interface for STM32" + select TYPEC_ST_TCPP + help + This driver provides both USB PD and Type-C functionalities. + Only supports Type-C functionality in Peripheral mode. + Say Y or M here if your system has Type-C UCPD controller on + STM32 MP23/MP25 SoCs. + + If you choose to build this driver as a dynamically linked + module, the module will be called stm32_ucpd.ko. + config TYPEC_WCOVE tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver" depends on ACPI diff --git a/drivers/usb/typec/tcpm/Makefile b/drivers/usb/typec/tcpm/Makef= ile index 0ee6ff598f75..b1a6681622b0 100644 --- a/drivers/usb/typec/tcpm/Makefile +++ b/drivers/usb/typec/tcpm/Makefile @@ -2,6 +2,7 @@ obj-$(CONFIG_TYPEC_TCPM) +=3D tcpm.o obj-$(CONFIG_TYPEC_FUSB302) +=3D fusb302.o obj-$(CONFIG_TYPEC_ST_TCPP) +=3D st_tcpp.o +obj-$(CONFIG_TYPEC_UCPD_STM32) +=3D stm32_ucpd.o obj-$(CONFIG_TYPEC_WCOVE) +=3D typec_wcove.o typec_wcove-y :=3D wcove.o obj-$(CONFIG_TYPEC_TCPCI) +=3D tcpci.o diff --git a/drivers/usb/typec/tcpm/stm32_ucpd.c b/drivers/usb/typec/tcpm/s= tm32_ucpd.c new file mode 100644 index 000000000000..b5c9dc417814 --- /dev/null +++ b/drivers/usb/typec/tcpm/stm32_ucpd.c @@ -0,0 +1,818 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * STMicroelectronics USB-C PD driver + * + * Copyright (C) 2026 STMicroelectronics + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "st_tcpp.h" + +#define UCPD_CFGR1 0 +#define UCPD_EN BIT(31) +#define UCPD_RXORDSETEN GENMASK(28, 20) +#define UCPD_PSC_UCPDCLK GENMASK(19, 17) +#define UCPD_TRANSWIN GENMASK(15, 11) +#define UCPD_IFRGAP GENMASK(10, 6) +#define UCPD_HBITCLKDIV GENMASK(5, 0) + +#define UCPD_CFGR2 0x4 +#define UCPD_WUPEN BIT(3) + +#define UCPD_CFGR3 0x8 +#define TRIM_CC1_RD GENMASK(3, 0) +#define TRIM_CC1_RP GENMASK(12, 9) +#define TRIM_CC2_RD GENMASK(19, 16) +#define TRIM_CC2_RP GENMASK(28, 25) + +#define UCPD_CR 0xc +#define UCPD_PHYRXEN BIT(5) +#define UCPD_ANASUBMODE GENMASK(8, 7) +#define UCPD_ANAMODE BIT(9) +#define UCPD_CCENABLE GENMASK(11, 10) +#define UCPD_RDCH BIT(18) +#define UCPD_CC1TCDIS BIT(20) +#define UCPD_CC2TCDIS BIT(21) + +#define UCPD_IMR 0x10 +#define UCPD_TXISIE BIT(0) +#define TXMSGDISCIE BIT(1) +#define TXMSGSENTIE BIT(2) +#define TXMSGABTIE BIT(3) +#define HRSTDISCIE BIT(4) +#define HRSTSENTIE BIT(5) +#define TXUNDIE BIT(6) +#define RXNEIE BIT(8) +#define RXORDDETIE BIT(9) +#define RXHRSTDETIE BIT(10) +#define RXOVRIE BIT(11) +#define RXMSGENDIE BIT(12) +#define TYPECEVT1IE BIT(14) +#define TYPECEVT2IE BIT(15) + +#define UCPD_SR 0x14 +#define TYPECEVT1 BIT(14) +#define TYPECEVT2 BIT(15) +#define TYPEC_VSTATE_CC1 GENMASK(17, 16) +#define TYPEC_VSTATE_CC2 GENMASK(19, 18) + +#define UCPD_ICR 0x18 +#define TYPECEVT1CF BIT(14) +#define TYPECEVT2CF BIT(15) + +struct stm32_ucpd { + void __iomem *base; + struct device *dev; + struct device *tcpp_dev; + struct tcpm_port *tcpm_port; + struct tcpc_dev tcpc_dev; + struct reset_control *reset; + struct clk_bulk_data *clks; + int num_clks; + struct regulator *vdd; + struct regulator *vconn; + int ucpd_irq; + int cc1_status; + int cc2_status; + enum typec_cc_status cc; + enum typec_cc_polarity polarity; + bool vbus_on; + bool charge_on; + bool vconn_on; + bool vconn_restore; + struct gpio_desc *vconn_cc1_gpio; + struct gpio_desc *vconn_cc2_gpio; + struct workqueue_struct *wq; + struct delayed_work cc_work; + struct { + u8 cc1_rd; + u8 cc2_rd; + u8 cc1_3a; + u8 cc2_3a; + u8 cc1_1a5; + u8 cc2_1a5; + } trim; +}; + +/* + * +-----------+---------------------+----------+----------+----------+---= --------+----------+ + * | ANAMODE | ANASUBMODE[1:0] | Notes | CCx=3D00 | CCx=3D01 = | CCx=3D10 | CCx=3D11 | + * +-----------+---------------------+----------+----------+----------+---= --------+----------+ + * | 0: Source | 00: Disabled | Disabled | Disabled | N/A | N/= A | N/A | + * | | 01: Default USB Rp | - | vRa[Def] | vRd[Def] | vO= PEN[Def]| N/A | + * | | 10: 1.5A Rp | - | vRa[1.5] | vRd[1.5] | vO= PEN[1.5]| N/A | + * | | 11: 3.0A Rp | - | vRa[3.0] | vRd[3.0] | vO= PEN[3.0]| N/A | + * | 1: Sink | xx | - | vRa | vRd-USB | vR= d-1.5 | vRd-3.0 | + * +-----------+---------------------+----------+----------+----------+---= --------+----------+ + */ +static enum typec_cc_status ucpd_ccrd_to_tcpm(struct stm32_ucpd *ucpd, u32= cc) +{ + u32 cr =3D readl(ucpd->base + UCPD_CR); + bool is_src =3D !FIELD_GET(UCPD_ANAMODE, cr); + + if (is_src) { + switch (cc) { + case 0: + return TYPEC_CC_RA; + case 1: + return TYPEC_CC_RD; + case 2: + return TYPEC_CC_OPEN; + default: + dev_err(ucpd->dev, "cc mode %d\n", cc); + return TYPEC_CC_OPEN; + } + } + + switch (cc) { + case 0: + return TYPEC_CC_OPEN; + case 1: + return TYPEC_CC_RP_DEF; + case 2: + return TYPEC_CC_RP_1_5; + case 3: + return TYPEC_CC_RP_3_0; + default: + dev_err(ucpd->dev, "cc mode %d\n", cc); + return TYPEC_CC_OPEN; + } +} + +static void ucpd_cc_work(struct work_struct *work) +{ + struct stm32_ucpd *ucpd =3D container_of(work, struct stm32_ucpd, cc_work= .work); + u32 sr =3D readl(ucpd->base + UCPD_SR); + enum typec_cc_status cc1, cc2; + + cc1 =3D ucpd_ccrd_to_tcpm(ucpd, FIELD_GET(TYPEC_VSTATE_CC1, sr)); + cc2 =3D ucpd_ccrd_to_tcpm(ucpd, FIELD_GET(TYPEC_VSTATE_CC2, sr)); + + if (cc1 !=3D ucpd->cc1_status || cc2 !=3D ucpd->cc2_status) { + ucpd->cc1_status =3D cc1; + ucpd->cc2_status =3D cc2; + tcpm_cc_change(ucpd->tcpm_port); + } +} + +static void ucpd_set_trim(struct stm32_ucpd *ucpd) +{ + u32 val =3D FIELD_PREP(TRIM_CC1_RD, ucpd->trim.cc1_rd) | + FIELD_PREP(TRIM_CC2_RD, ucpd->trim.cc2_rd) | + FIELD_PREP(TRIM_CC1_RP, ucpd->trim.cc1_3a) | + FIELD_PREP(TRIM_CC2_RP, ucpd->trim.cc2_3a); + + writel(val, ucpd->base + UCPD_CFGR3); +} + +static int stm32_ucpd_init(struct tcpc_dev *dev) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + u32 val; + + ucpd_set_trim(ucpd); + + val =3D readl(ucpd->base + UCPD_CFGR1); + val &=3D ~UCPD_EN; + writel(val, ucpd->base + UCPD_CFGR1); + + val =3D TYPECEVT1IE | TYPECEVT2IE; + writel(val, ucpd->base + UCPD_IMR); + + /* Enable wakeup when UCPD_EN =3D 0. It will be disabled if not needed up= on suspend */ + val =3D readl(ucpd->base + UCPD_CFGR2); + writel(val | UCPD_WUPEN, ucpd->base + UCPD_CFGR2); + enable_irq_wake(ucpd->ucpd_irq); + + val =3D readl(ucpd->base + UCPD_CFGR1); + val |=3D UCPD_EN; + writel(val, ucpd->base + UCPD_CFGR1); + + return tcpp_init(ucpd->tcpp_dev); +} + +/* + * stm32_ucpd_deinit() should be called with IRQ disabled, to avoid undesi= red IRQ when + * disconnecting TCPP protection + */ +static void stm32_ucpd_deinit(struct tcpc_dev *dev) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + + /* + * Place the UCPD lines into a safe state: switch OFF vbus gates and isol= ate CC lines. + * It avoids a device that may be plugged into the Type-C port to pull-up= the CC lines + * at 5v and damage them (this must be avoided in case our vdd supply get= s turned off + * upon reboot/reset). + */ + tcpp_deinit(ucpd->tcpp_dev); + + /* Can now disable UCPD (clear UCPD_EN), other register bits will be rese= t */ + writel(0, ucpd->base + UCPD_CFGR1); + disable_irq_wake(ucpd->ucpd_irq); +} + +static int stm32_ucpd_get_vbus(struct tcpc_dev *dev) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + + return tcpp_get_vbus(ucpd->tcpp_dev); +} + +static int stm32_ucpd_set_vbus(struct tcpc_dev *dev, bool on, bool charge) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + int ret; + + dev_dbg(ucpd->dev, "%s: %s %s\n", __func__, str_on_off(on), str_on_off(ch= arge)); + + ret =3D tcpp_set_vbus(ucpd->tcpp_dev, on, charge); + if (!ret) { + ucpd->vbus_on =3D on; + ucpd->charge_on =3D charge; + } + + return ret; +} + +static u32 stm32_ucpd_to_anasubmode(enum typec_cc_status cc) +{ + switch (cc) { + case TYPEC_CC_RP_DEF: + return FIELD_PREP(UCPD_ANASUBMODE, 1); + case TYPEC_CC_RP_1_5: + return FIELD_PREP(UCPD_ANASUBMODE, 2); + case TYPEC_CC_RP_3_0: + return FIELD_PREP(UCPD_ANASUBMODE, 3); + default: + return 0; + } +} + +static int stm32_ucpd_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + u32 val; + + switch (cc) { + case TYPEC_CC_OPEN: + val =3D readl(ucpd->base + UCPD_CR); + val =3D (val & ~UCPD_CCENABLE) | UCPD_ANAMODE; + break; + case TYPEC_CC_RD: + val =3D readl(ucpd->base + UCPD_CR); + val |=3D (UCPD_ANAMODE | UCPD_CCENABLE); + break; + case TYPEC_CC_RP_DEF: + case TYPEC_CC_RP_1_5: + case TYPEC_CC_RP_3_0: + val =3D readl(ucpd->base + UCPD_CR); + val &=3D ~(UCPD_ANAMODE | UCPD_ANASUBMODE); + val |=3D stm32_ucpd_to_anasubmode(cc) | UCPD_CCENABLE; + break; + default: + dev_err(ucpd->dev, "%s: Unsupported cc status %d\n", __func__, cc); + + return -EOPNOTSUPP; + } + + writel(val, ucpd->base + UCPD_CR); + ucpd->cc =3D cc; + + return 0; +} + +static int stm32_ucpd_get_cc(struct tcpc_dev *dev, enum typec_cc_status *c= c1, + enum typec_cc_status *cc2) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + u32 sr =3D readl(ucpd->base + UCPD_SR); + + *cc1 =3D ucpd_ccrd_to_tcpm(ucpd, FIELD_GET(TYPEC_VSTATE_CC1, sr)); + *cc2 =3D ucpd_ccrd_to_tcpm(ucpd, FIELD_GET(TYPEC_VSTATE_CC2, sr)); + + dev_dbg(ucpd->dev, "%s: cc1=3D0x%x cc2=3D0x%x\n", __func__, *cc1, *cc2); + + return 0; +} + +static int stm32_ucpd_set_polarity(struct tcpc_dev *dev, enum typec_cc_pol= arity polarity) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + + ucpd->polarity =3D polarity; + dev_dbg(ucpd->dev, "%s: polarity %d\n", __func__, polarity); + + return 0; +} + +static int stm32_ucpd_set_vconn_gpio(struct stm32_ucpd *ucpd, bool on) +{ + bool cc1_on =3D on && ucpd->polarity =3D=3D TYPEC_POLARITY_CC2; + bool cc2_on =3D on && ucpd->polarity =3D=3D TYPEC_POLARITY_CC1; + int ret; + + /* + * Enable regulator before turning cc1/cc2 gate on. Check vconn_on, to + * ensure regulator enable / disable balance. + */ + if (on && !ucpd->vconn_on && ucpd->vconn) { + ret =3D regulator_enable(ucpd->vconn); + if (ret) { + dev_err(ucpd->dev, "vconn enable failed %d\n", ret); + return ret; + } + } + + if (ucpd->vconn_cc1_gpio) { + ret =3D gpiod_set_value_cansleep(ucpd->vconn_cc1_gpio, cc1_on); + if (ret) { + dev_err(ucpd->dev, "vconn-cc1 %s failed: %d\n", str_enable_disable(cc1_= on), + ret); + goto undo_vconn; + } + dev_dbg(ucpd->dev, "vconn-cc1 %s\n", str_enabled_disabled(cc1_on)); + } + + if (ucpd->vconn_cc2_gpio) { + ret =3D gpiod_set_value_cansleep(ucpd->vconn_cc2_gpio, cc2_on); + if (ret) { + dev_err(ucpd->dev, "vconn-cc2 %s failed: %d\n", str_enable_disable(cc2_= on), + ret); + goto undo_vconn; + } + dev_dbg(ucpd->dev, "vconn-cc2 %s\n", str_enabled_disabled(cc2_on)); + } + + /* Disable in the reverse order */ + if (!on && ucpd->vconn_on && ucpd->vconn) { + ret =3D regulator_disable(ucpd->vconn); + if (ret) { + dev_err(ucpd->dev, "vconn disable failed %d\n", ret); + return ret; + } + } + + return 0; + +undo_vconn: + if (on && !ucpd->vconn_on && ucpd->vconn) + regulator_disable(ucpd->vconn); + + return ret; +} + +static int stm32_ucpd_set_vconn(struct tcpc_dev *dev, bool on) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + int ret; + + dev_dbg(ucpd->dev, "%s: %s\n", __func__, str_on_off(on)); + + if (!on) { + /* Disable optional gate for CC1/CC2 Vconn before tcpp */ + ret =3D stm32_ucpd_set_vconn_gpio(ucpd, on); + if (ret) + return ret; + } + + ret =3D tcpp_set_vconn(ucpd->tcpp_dev, on, ucpd->polarity); + if (ret) { + dev_err(ucpd->dev, "tcpp_set_vconn failed: %d\n", ret); + return ret; + } + + if (on) { + /* Enable optional gate for CC1/CC2 Vconn after tcpp */ + ret =3D stm32_ucpd_set_vconn_gpio(ucpd, on); + if (ret) + return ret; + } + + ucpd->vconn_on =3D on; + + return 0; +} + +static int stm32_ucpd_set_pd_rx(struct tcpc_dev *dev, bool on) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + + dev_dbg(ucpd->dev, "%s power delivery reception\n", str_enable_disable(on= )); + + if (on) + return -EOPNOTSUPP; + else + return 0; +} + +static int stm32_ucpd_set_roles(struct tcpc_dev *dev, bool attached, + enum typec_role pwr, enum typec_data_role data) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + int ret; + + dev_dbg(ucpd->dev, "%s: Set role pwr %s data %s\n", __func__, + pwr =3D=3D TYPEC_SINK ? "sink" : "source", + data =3D=3D TYPEC_DEVICE ? "device" : "host"); + + if (attached) { + dev_dbg(ucpd->dev, "attached\n"); + ret =3D tcpp_attach(ucpd->tcpp_dev); + } else { + dev_dbg(ucpd->dev, "detached\n"); + ret =3D tcpp_detach(ucpd->tcpp_dev); + } + + return ret; +} + +static int stm32_ucpd_pd_transmit(struct tcpc_dev *dev, enum tcpm_transmit= _type type, + const struct pd_message *msg, unsigned int negotiated_rev) +{ + struct stm32_ucpd *ucpd =3D container_of(dev, struct stm32_ucpd, tcpc_dev= ); + + dev_dbg(ucpd->dev, "%s regociated %d\n", __func__, negotiated_rev); + + return -EOPNOTSUPP; +} + +static void init_tcpc_dev(struct tcpc_dev *tcpc_dev) +{ + tcpc_dev->init =3D stm32_ucpd_init; + tcpc_dev->get_vbus =3D stm32_ucpd_get_vbus; + tcpc_dev->set_cc =3D stm32_ucpd_set_cc; + tcpc_dev->get_cc =3D stm32_ucpd_get_cc; + tcpc_dev->set_polarity =3D stm32_ucpd_set_polarity; + tcpc_dev->set_vconn =3D stm32_ucpd_set_vconn; + tcpc_dev->set_vbus =3D stm32_ucpd_set_vbus; + tcpc_dev->set_pd_rx =3D stm32_ucpd_set_pd_rx; + tcpc_dev->set_roles =3D stm32_ucpd_set_roles; + tcpc_dev->pd_transmit =3D stm32_ucpd_pd_transmit; +} + +static int stm32_ucpd_read_trim(struct device *dev, const char *name, u8 *= val) +{ + struct nvmem_cell *cell; + size_t len; + void *buf; + + cell =3D devm_nvmem_cell_get(dev, name); + if (IS_ERR(cell)) { + dev_err(dev, "cannot get cell %s\n", name); + return PTR_ERR(cell); + } + + buf =3D nvmem_cell_read(cell, &len); + if (IS_ERR(buf)) { + dev_err(dev, "cannot read %s\n", name); + return PTR_ERR(buf); + } + + *val =3D *(u8 *)buf; + kfree(buf); + + return 0; +} + +struct trim_desc { + const char *name; + u8 *value; +}; + +static int stm32_ucpd_get_trim_values(struct stm32_ucpd *ucpd) +{ + struct trim_desc desc[] =3D { + { "trim_1a5_cc1", &ucpd->trim.cc1_1a5 }, + { "trim_3a_cc1", &ucpd->trim.cc1_3a }, + { "trim_3a_cc2", &ucpd->trim.cc2_3a }, + { "trim_1a5_cc2", &ucpd->trim.cc2_1a5 }, + { "trim_rd_cc1", &ucpd->trim.cc1_rd }, + { "trim_rd_cc2", &ucpd->trim.cc2_rd }, + }; + int i; + + for (i =3D 0; i < ARRAY_SIZE(desc); i++) { + int ret =3D stm32_ucpd_read_trim(ucpd->dev, desc[i].name, desc[i].value); + + if (ret) + return ret; + } + + return 0; +} + +static irqreturn_t ucpd_irq_handler(int irq, void *data) +{ + struct stm32_ucpd *ucpd =3D data; + enum typec_cc_status cc1 =3D ucpd->cc1_status; + enum typec_cc_status cc2 =3D ucpd->cc2_status; + u32 sr, handled =3D 0; + + sr =3D readl(ucpd->base + UCPD_SR); + + if (sr & TYPECEVT1) { + cc1 =3D ucpd_ccrd_to_tcpm(ucpd, FIELD_GET(TYPEC_VSTATE_CC1, sr)); + handled |=3D TYPECEVT1CF; + } + + if (sr & TYPECEVT2) { + cc2 =3D ucpd_ccrd_to_tcpm(ucpd, FIELD_GET(TYPEC_VSTATE_CC2, sr)); + handled |=3D TYPECEVT2CF; + } + + if (!handled) { + dev_err(ucpd->dev, "unexpected IRQ, SR %#x\n", sr); + + return IRQ_NONE; + } + + if (cc1 =3D=3D ucpd->cc1_status && cc2 =3D=3D ucpd->cc2_status) + goto irq_handled; + + /* + * For the first transition from unattached (cached CC_OPEN), + * notify the TCPM framework and rely on its own attach debounce. + * Debounce subsequent CC changes locally. + */ + if (ucpd->cc1_status !=3D TYPEC_CC_OPEN || ucpd->cc2_status !=3D TYPEC_CC= _OPEN) { + mod_delayed_work(ucpd->wq, &ucpd->cc_work, msecs_to_jiffies(PD_T_PD_DEBO= UNCE)); + } else { + if (cc1 !=3D TYPEC_CC_OPEN) + ucpd->cc1_status =3D cc1; + if (cc2 !=3D TYPEC_CC_OPEN) + ucpd->cc2_status =3D cc2; + tcpm_cc_change(ucpd->tcpm_port); + } + +irq_handled: + writel(handled, ucpd->base + UCPD_ICR); + + return IRQ_HANDLED; +} + +static void ucpd_vbus_changed(void *data, bool vbus_present) +{ + struct stm32_ucpd *ucpd =3D data; + + dev_dbg(ucpd->dev, "VBUS change: %d\n", vbus_present); + + tcpm_vbus_change(ucpd->tcpm_port); +} + +static int stm32_ucpd_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct i2c_client *tcpp_client; + struct device_node *tcpp_np; + struct stm32_ucpd *ucpd; + int ret; + + ucpd =3D devm_kzalloc(dev, sizeof(*ucpd), GFP_KERNEL); + if (!ucpd) + return -ENOMEM; + + ucpd->dev =3D dev; + platform_set_drvdata(pdev, ucpd); + + ucpd->vdd =3D devm_regulator_get(&pdev->dev, "ucpd"); + if (IS_ERR(ucpd->vdd)) + return dev_err_probe(&pdev->dev, PTR_ERR(ucpd->vdd), "vdd get failed\n"); + + ucpd->vconn =3D devm_regulator_get_optional(&pdev->dev, "vconn"); + if (IS_ERR(ucpd->vconn)) { + if (PTR_ERR(ucpd->vconn) !=3D -ENODEV) + return dev_err_probe(&pdev->dev, PTR_ERR(ucpd->vconn), + "vconn get failed\n"); + ucpd->vconn =3D NULL; + } + + ucpd->base =3D devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(ucpd->base)) + return PTR_ERR(ucpd->base); + + ucpd->num_clks =3D devm_clk_bulk_get_all(dev, &ucpd->clks); + if (ucpd->num_clks <=3D 0) + return ucpd->num_clks ? : -ENOENT; + + ucpd->reset =3D devm_reset_control_get_exclusive(dev, "ucpd"); + if (IS_ERR(ucpd->reset)) + return dev_err_probe(dev, PTR_ERR(ucpd->reset), "Failed to get UCPD rese= t\n"); + + ret =3D stm32_ucpd_get_trim_values(ucpd); + if (ret) + return dev_err_probe(dev, ret, "Failed to get trim values\n"); + + ucpd->vconn_cc1_gpio =3D devm_gpiod_get_optional(dev, "vconn-cc1", GPIOD_= OUT_LOW); + if (IS_ERR(ucpd->vconn_cc1_gpio)) + return dev_err_probe(dev, PTR_ERR(ucpd->vconn_cc1_gpio), "vconn-cc1 get = failed\n"); + + ucpd->vconn_cc2_gpio =3D devm_gpiod_get_optional(dev, "vconn-cc2", GPIOD_= OUT_LOW); + if (IS_ERR(ucpd->vconn_cc2_gpio)) + return dev_err_probe(dev, PTR_ERR(ucpd->vconn_cc2_gpio), "vconn-cc2 get = failed\n"); + + ucpd->ucpd_irq =3D platform_get_irq_byname(pdev, "ucpd"); + if (ucpd->ucpd_irq < 0) + return ucpd->ucpd_irq; + + ucpd->tcpc_dev.fwnode =3D device_get_named_child_node(dev, "connector"); + if (IS_ERR(ucpd->tcpc_dev.fwnode)) + return dev_err_probe(dev, PTR_ERR(ucpd->tcpc_dev.fwnode), "connector not= found"); + + tcpp_np =3D of_parse_phandle(dev->of_node, "st,tcpp", 0); + if (!tcpp_np) + return -EINVAL; + + tcpp_client =3D of_find_i2c_device_by_node(tcpp_np); + of_node_put(tcpp_np); + + /* tcpp driver must be probed so tcpp_init() can be called from tcpm_regi= ster_port() */ + if (!tcpp_client || !tcpp_client->dev.driver) + return -EPROBE_DEFER; + + ucpd->tcpp_dev =3D &tcpp_client->dev; + + /* No irq until tcpm_port is ready */ + irq_set_status_flags(ucpd->ucpd_irq, IRQ_NOAUTOEN); + ret =3D devm_request_threaded_irq(dev, ucpd->ucpd_irq, NULL, ucpd_irq_han= dler, IRQF_ONESHOT, + dev_name(dev), ucpd); + if (ret) { + dev_err_probe(dev, ret, "failed to get irq\n"); + goto put_tcpp; + } + + init_tcpc_dev(&ucpd->tcpc_dev); + + ret =3D regulator_enable(ucpd->vdd); + if (ret) { + dev_err_probe(dev, ret, "failed to enable regulator\n"); + goto put_tcpp; + } + + ret =3D clk_bulk_prepare_enable(ucpd->num_clks, ucpd->clks); + if (ret) { + dev_err_probe(dev, ret, "failed to enable clocks\n"); + goto disable_regulator; + } + + ret =3D reset_control_deassert(ucpd->reset); + if (ret) { + dev_err_probe(dev, ret, "failed to deassert reset\n"); + goto disable_clks; + } + + ret =3D devm_pm_runtime_get_noresume(dev); + if (ret) { + dev_err_probe(dev, ret, "Failed to get runtime PM noresume\n"); + goto disable_clks; + } + + ret =3D devm_pm_runtime_set_active_enabled(dev); + if (ret < 0) { + dev_err_probe(dev, ret, "Failed to activate and enable runtime PM\n"); + goto disable_clks; + } + + ucpd->wq =3D create_singlethread_workqueue(dev_name(ucpd->dev)); + if (!ucpd->wq) { + ret =3D -ENOMEM; + goto disable_clks; + } + + INIT_DELAYED_WORK(&ucpd->cc_work, ucpd_cc_work); + + ucpd->tcpm_port =3D tcpm_register_port(dev, &ucpd->tcpc_dev); + if (IS_ERR(ucpd->tcpm_port)) { + ret =3D dev_err_probe(dev, PTR_ERR(ucpd->tcpm_port), "failed to register= tcpm\n"); + goto destroy_wq; + } + + tcpp_register_vbus_notifier(ucpd->tcpp_dev, ucpd_vbus_changed, ucpd); + + device_set_wakeup_capable(dev, true); + + enable_irq(ucpd->ucpd_irq); + + return 0; + +destroy_wq: + destroy_workqueue(ucpd->wq); + +disable_clks: + clk_bulk_disable_unprepare(ucpd->num_clks, ucpd->clks); + +disable_regulator: + regulator_disable(ucpd->vdd); + +put_tcpp: + put_device(ucpd->tcpp_dev); + + return ret; +}; + +static void stm32_ucpd_remove(struct platform_device *pdev) +{ + struct stm32_ucpd *ucpd =3D platform_get_drvdata(pdev); + + disable_irq(ucpd->ucpd_irq); + cancel_delayed_work_sync(&ucpd->cc_work); + tcpp_unregister_vbus_notifier(ucpd->tcpp_dev); + tcpm_unregister_port(ucpd->tcpm_port); + stm32_ucpd_deinit(&ucpd->tcpc_dev); + destroy_workqueue(ucpd->wq); + clk_bulk_disable_unprepare(ucpd->num_clks, ucpd->clks); + regulator_disable(ucpd->vdd); + put_device(ucpd->tcpp_dev); +}; + +static void stm32_ucpd_shutdown(struct platform_device *pdev) +{ + struct stm32_ucpd *ucpd =3D platform_get_drvdata(pdev); + + disable_irq(ucpd->ucpd_irq); + stm32_ucpd_set_vconn(&ucpd->tcpc_dev, false); + stm32_ucpd_deinit(&ucpd->tcpc_dev); +} + +static int stm32_ucpd_suspend(struct device *dev) +{ + struct stm32_ucpd *ucpd =3D dev_get_drvdata(dev); + + /* Already enabled for wakeup: just return */ + if (device_may_wakeup(dev)) + return 0; + + disable_irq(ucpd->ucpd_irq); + cancel_delayed_work_sync(&ucpd->cc_work); + /* backup vconn_on flag */ + ucpd->vconn_restore =3D ucpd->vconn_on; + stm32_ucpd_set_vconn(&ucpd->tcpc_dev, false); + stm32_ucpd_deinit(&ucpd->tcpc_dev); + clk_bulk_disable_unprepare(ucpd->num_clks, ucpd->clks); + regulator_disable(ucpd->vdd); + + return 0; +} + +static int stm32_ucpd_resume(struct device *dev) +{ + struct stm32_ucpd *ucpd =3D dev_get_drvdata(dev); + int ret; + + /* Kept active: just return */ + if (device_may_wakeup(dev)) + return 0; + + ret =3D regulator_enable(ucpd->vdd); + if (ret) + return ret; + + ret =3D clk_bulk_prepare_enable(ucpd->num_clks, ucpd->clks); + if (ret) { + regulator_disable(ucpd->vdd); + return ret; + } + + stm32_ucpd_init(&ucpd->tcpc_dev); + stm32_ucpd_set_cc(&ucpd->tcpc_dev, ucpd->cc); + stm32_ucpd_set_vconn(&ucpd->tcpc_dev, ucpd->vconn_restore); + tcpp_set_vbus(ucpd->tcpp_dev, ucpd->vbus_on, ucpd->charge_on); + enable_irq(ucpd->ucpd_irq); + + return 0; +} + +static const struct dev_pm_ops stm32_ucpd_pm_ops =3D { + SYSTEM_SLEEP_PM_OPS(stm32_ucpd_suspend, stm32_ucpd_resume) +}; + +static const struct of_device_id stm32_ucpd_of_match[] =3D { + { .compatible =3D "st,stm32mp25-ucpd" }, + {}, +}; +MODULE_DEVICE_TABLE(of, stm32_ucpd_of_match); + +static struct platform_driver stm32_ucpd_driver =3D { + .probe =3D stm32_ucpd_probe, + .remove =3D stm32_ucpd_remove, + .shutdown =3D stm32_ucpd_shutdown, + .driver =3D { + .name =3D "stm32-ucpd", + .pm =3D &stm32_ucpd_pm_ops, + .of_match_table =3D stm32_ucpd_of_match, + }, +}; +module_platform_driver(stm32_ucpd_driver); + +MODULE_DESCRIPTION("USB Type-C Power Delivery"); +MODULE_AUTHOR("Christian Bruel "); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013043.outbound.protection.outlook.com [40.107.162.43]) (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 E2F804A33E6; Fri, 21 Aug 2026 16:23:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329416; cv=fail; b=C74qWDoZnhagn5ZUDoXrP9QFxcgYDof8LhCRXYRS+aeVQSvggGdBdNAhUgosTbZKP7PV7abBTJDaX2QpzgYUWfuMoe2jXqhtgbS3YP8P2JpMsmV7Q3b4st3yE9PxM303JXY6ZYVRz7Q/IAA/wYfvCxg22zrQEYXk7MfLVzBP1UI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329416; c=relaxed/simple; bh=YHzSQzP55bIOsS1skaLg7fSSP2j33hJV8WQitj/awdI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=XCrnpFG+JD7ADQ551UhULSZEPpxUJDKMUu59qxtbMr4VAIhZRm2fXL8bUPYhYGdtiA+dIpJrrsZEWlbMAJ9uFNih8SYGTJedjWPfnbi+PZm9rZppO4CDkXrBfaPGbBur82nSMkb7TdhTooXJkUdapjfisoZnpNlsj51reb0kYEQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=nEfhUi9C; arc=fail smtp.client-ip=40.107.162.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="nEfhUi9C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nWyDRiAtbvgqT4mDvjMVD3rvUK41gL9CG130L1mpLb7Fpoc4Azb30VaGwm2SR8PJauSGP4Cxibxenfr35RGsAD5E6u+D9VA7kuNS3MhG+T4hRGS7XvJ1dhCi1HHH3SPKpXcoguW/Q/xPwwGnWeXhJ1Bxen9tIxvGtbbvgZehwJmuW9a0En3ersJyFclEzAg/1fcChpEEZrBtD9BUNxOwx/1aDYVqQkxchIjrFa+2jn+TFU+eNcq0P6vhnY84GvPoRsIt/VabNw4LMcBDg1OLI5HQjlIsoNZ5BWyCpsgIKxGsPHiEenU9p3qXBtw7NVz6LJT9qAzZ5mH4tQO4/o/94g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FjzGhaNgi/XVKHfD75F04MwKQn0HIDsMA3K+USqyY30=; b=taGEGEnES53eNqI5z0g4LM4PxM95DBq68wjIHfMJpil3oIjnpp64FSubwLNObWXGJt5jQNl8E1/suEeCtZmkoi/z3cN+9eE2bsc966JMup1+ilXTqL9ETvdnLRpR24yDJepbtYazLLkP7r+jcLFEo/QcJF2vQGmDM68Sarz2IVDngCvSus2UAuMnaCeII94Vn1NkelkAoIwuX7YjbgyK9SJregrBYHcVlBjPq8QYyRjq6BQI/QGdsvRmsjaJMGp4MhVOshVOVXsrArSvZsttV1uNe9mU3WjZvqQJQrMVG3O0wB3RIgdmlDjcp6EPOcH/ze6MNADN0jQoyvapO7BgpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FjzGhaNgi/XVKHfD75F04MwKQn0HIDsMA3K+USqyY30=; b=nEfhUi9CLxY8ZfZ7V18TjT1mDt5xJopJQlUz4/QZ3friOACD8g3MtavZNcwkw8lHMKeYLiz04eGY5n66zWab50KyX0KhSU++L+ZjfqM/LrmfFUK6hon1WdhwVrDRaZbDnWLE9ErOb/MI0+Mdrq78nhaV70mvh/3pqP/fXbiKP4ZYbuQ+fUGH2ZgGbMPEtPh+hV71XEBmDEgBnv2c/1TfvPBaYTuZ44TkVE8GP/bwA92gp0qQiEVLddu+Wh+j68b9MeciKDzQL1ls9+PsTX+q6OeD5ZzwQ3P5rVrzMFuKj2iXRCxpU9WUAGwOKwkid9BSmz/n5DPIk0U4a1/xO06lJw== Received: from AS4P190CA0017.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d0::7) by PA4PR10MB5539.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:260::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:29 +0000 Received: from AMS0EPF00000197.eurprd05.prod.outlook.com (2603:10a6:20b:5d0:cafe::8) by AS4P190CA0017.outlook.office365.com (2603:10a6:20b:5d0::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:29 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000197.mail.protection.outlook.com (10.167.16.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:29 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:04 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:28 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:16 +0200 Subject: [PATCH 05/16] dt-bindings: usb: add FUSB340 switch binding Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-5-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000197:EE_|PA4PR10MB5539:EE_ X-MS-Office365-Filtering-Correlation-Id: f2762d91-5921-4894-6eed-08deffa08918 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|36860700016|23010399003|1800799024|82310400026|56012099006|3023799007|10067099003|11063799006|18002099003|22082099003|921020|13003099007; X-Microsoft-Antispam-Message-Info: U/AxqyMmI6cL5PgQTo9MUDEticBAJrG0AWX1GpsMGjdOEAp5bXdEmrmULarwqbkFbTZmYlRvi2IL2gAzvmkPH6D/FPGqA0f1ksMsLxRP0smBsP/4n1NcwRo8s/HoXZNxHBQPCAYv70PPTo4Zyy7noydzxzr9ROp0gWMGCl4GAf2L6YN65owYV7ZeO2U6YpBsWqFgvE1ezsx9vgDTaw4dgECQS2XwcO1P3cG1MRQAqfBHGjjUBoLiK2WW4o21Qu6x2nkY9EEyu0gercPl2ETpvbjpibVCjuOPEk4Q+7nItiYhGaM/7fUgElUr4Y8L744zBWV3TKgZ/WvW0K1/KcYdGIehFdRXrYRE4ZYave5agc1xNa7eRkTmp3Af3oVv+GhgzSW69R0QqtZX8zNyafJpgn7Oq52VdNMfkVmZxqY5pwskiHeFPXvU6ijIekyLU9kpRq4i9vitgbg1PYb7Os0Kg0ijqtA/cIBtBwZJ49YfeiCnKp8gxT7qctpFYGxgJOFwfnZTK7fq2k3ZAUY3oGAeXDNecFFJh2mWiS027balkjVCQvmknKSHHxBqTR5di7PBjt744n+0wusld79bXzpvI+Bh8Rdcrows7K5SFxvBMVBlk88VlfDwLWxpK8U3XAKxU3F81HPBfqOkWxKWEVPlneJIiCVnv1FatcOv/mmi1A3rLS/yhqItUBP5EHaZshuH X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700016)(23010399003)(1800799024)(82310400026)(56012099006)(3023799007)(10067099003)(11063799006)(18002099003)(22082099003)(921020)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7JJhSqdzhEoc+oOCv9MlSGBF7lAa6buVG/OGyFK2MUvToEYt1NXMB3dKBlxF7p3/uxluovgvJouQeRz5v3osnEQH3k6WWG3/rn5JEcXkXlXUPVD7P5+A7757TkYCfHicti22VH0RCTBqroygljv+NYY+J7PWakM8dmzXN2HLuCh6eUOLApMJ3sQgOK4OFnO6nC8n8WaYSdRrdjhUi8ZVPZSUg3OyEuIq8HeT/YA70ydiyPIdq83RIBnEwY3tRo/qxiLvI0OZeRFlVpaACnzHB1nMRrvoDVoFQmNcEuT3BCKoT6cIBVA5VH3Bghxtee1WFPTG/UOt/i0KVVWU+wdFpzT1hn4kJlH1xaWEZ2mo++yK9uWz7SmnYhqJwMn38lIY3B3LQ/gRBlnN8S4khgxN8Hjqgw2TE9UB4fSw8i5O1B4/Egy0JoLO8Byf1mil2F/u X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:29.2238 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f2762d91-5921-4894-6eed-08deffa08918 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000197.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR10MB5539 Document the ON Semiconductor FUSB340 SuperSpeed switch as a USB switch binding with enable-gpios and select-gpios controls. The switch can be used in Type-C applications where a reversible cable requires a switch. Assisted-by: GitHub-Copilot:GPT-5.4-mini Signed-off-by: Fabrice Gasnier --- .../devicetree/bindings/usb/onnn,fusb340.yaml | 73 ++++++++++++++++++= ++++ 1 file changed, 73 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/onnn,fusb340.yaml b/Docu= mentation/devicetree/bindings/usb/onnn,fusb340.yaml new file mode 100644 index 000000000000..b1991bd465ad --- /dev/null +++ b/Documentation/devicetree/bindings/usb/onnn,fusb340.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/onnn,fusb340.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ON Semiconductor FUSB340 SuperSpeed switch + +maintainers: + - Fabrice Gasnier + +description: + The FUSB340 is a 2:1 USB 3.1 SuperSpeed data switch with enable and sele= ct + GPIO control signals. The switch can be used in Type-C applications wher= e a + reversible cable requires a switch. + +properties: + compatible: + const: onnn,fusb340 + + enable-gpios: + description: Switch enable GPIO + + select-gpios: + description: Switch path select GPIO + + mode-switch: true + orientation-switch: true + +required: + - compatible + - enable-gpios + - select-gpios + - mode-switch + - orientation-switch + +allOf: + - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + + usb-switch { + compatible =3D "onnn,fusb340"; + enable-gpios =3D <&gpioh 2 GPIO_ACTIVE_LOW>; + select-gpios =3D <&gpioh 3 GPIO_ACTIVE_HIGH>; + mode-switch; + orientation-switch; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + usb_con_ss: endpoint { + remote-endpoint =3D <&typec_con_ss>; + }; + }; + + port@1 { + reg =3D <1>; + usb_phy_ss: endpoint { + remote-endpoint =3D <&usb_phy_ss>; + }; + }; + }; + }; +... --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013046.outbound.protection.outlook.com [40.107.162.46]) (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 128EF4CA29B; Fri, 21 Aug 2026 16:23:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329420; cv=fail; b=ZrW2BuYaPoYEfv7w219bHLnHncf0lLrJrFylYxGZPoLt/exqDDPLb9ucLnXEfndlcBBcMeUmSYY/LMtpC+vJVCGrPjvulmdazwXY4PH3li30O+8R2sR5A77sAzEy+fJ59psgnVb4T+z/r/P135HVwUz8zUuyLsmS011urA1sgs4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329420; c=relaxed/simple; bh=wuEtphK4neb1r3my+cJ8QlNHL0MUM2HCdoH2yStWciE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=rFnyVqaoqQRD1OoRhb0ATSoA6dXp000ni1IHziuxB3AgbSJqxkKE3Y5nCfodA2vZpCkLavJcdjN2nkQNB6dBsCuhAsaaWecC2thk+isL7vRB9YN23iuY5wCKWKO8iXKCTWsUWXR6psIsVM6MXpXzQvkraHC8LkwGVeQXgo+zIeo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=ailA5GaB; arc=fail smtp.client-ip=40.107.162.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="ailA5GaB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mZ4UJJSf3Hi3ph+uUVqXs2dC/IARrBxCj+C8IV2QzwSzHzkxgNiXhEMUaCXBh1NcXeiwviRPy4bG9dUEnhK0LV8hTAD6W1a3y6EjFkMMkuw3sZsuMx297HRgH7aBgabWeST6KO8tySI3svyiZpn+FIoHsogjgM12pwmDNgQwX/1TBvO5f9YQ+2byWka38Utg0ucHpTWdJmrxjCrBAvPCAE9/zDjDM0xwRU+z854awC11uA1mLY2gwJDC75nLnT8rpsVBcznzUaK+Td/Fg8fTx7sV5Jr+TH+GNkZNmPn5monw1m5wQ5ZtxAAieES7C4N4c/+PMCOXx+KGo5qZyibb4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bJvF+ajMT5Rj8G8rE7i3yyhW6dDFZy1jd0sfOzELSPo=; b=DldFKDjwQmG4jrIvwo7gRtsiSTC8cOAkn6uLubAvnV6zI7Z9PLs3Mzg03nHXhJQ1DlsY3XwuU/qUCwaQ7F5pm9sy/c1qQezOBSI5VxYSvuTCqAV5JOBhHNqMQ2htDCYABfuhsJIzESkAZuelFFUz47a8mxYswjCcFtmjoSL5L7oV9ubvmhv9VPGDMko0aXCooBGH50lDdLZtbhIvQMd/qby2Lcx103Vasxc7wG6izbrGO8PH5k2gMJWyS9awMfEZtDY5jTHKAggf73Q1j0prAHlQfudJUHYIq1Ls/oPLc+KR2WdDmPU3UT8r5Sa8LWeb01PJNP+waSOYtDwQKIftlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bJvF+ajMT5Rj8G8rE7i3yyhW6dDFZy1jd0sfOzELSPo=; b=ailA5GaBBxkw37l+JNjzrCaBYkJuu2l3hkenXT9z9rgSUCaY9HbGaVFj6En8KlSYMLFXoKyzmR34ulVZ6uGlLIsIoViGwq4Hp4PykV++YbdJ3zcYHY3IQjf49TSCUE8E39D2kJsGVSq3mbBBQVMfZhbnu0MUNX+gfHrh2W43NjvUrtTYYOY3zyx05auPkFp8lD4yjNhpdrfp7MWtFpy47e3cr6up6Epz2ZMEBJShmvXx3ukmnKCbCxTl+A25bROAz+7Ur3pLlCYd4VQ2qIu62g1WHOxrzLN9vXu9hYGd1tSuy3PmqTlhx/ZlffqK8Rh0KZa13Y+DZMCC03dFUKr8eg== Received: from AS9PR05CA0218.eurprd05.prod.outlook.com (2603:10a6:20b:494::7) by PAVPR10MB7418.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:300::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:30 +0000 Received: from DB1PEPF000509F2.eurprd02.prod.outlook.com (2603:10a6:20b:494:cafe::15) by AS9PR05CA0218.outlook.office365.com (2603:10a6:20b:494::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.10 via Frontend Transport; Fri, 21 Aug 2026 16:23:30 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F2.mail.protection.outlook.com (10.167.242.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:30 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:29 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:29 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:17 +0200 Subject: [PATCH 06/16] usb: typec: add FUSB340 SuperSpeed switch driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-6-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F2:EE_|PAVPR10MB7418:EE_ X-MS-Office365-Filtering-Correlation-Id: 57437884-ec89-4457-c378-08deffa089b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|23010399003|36860700016|11063799006|56012099006|18002099003|10067099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: M35I/ykL8KA+qr1yOuwaDmwiqSQAfR2ibqedX+6UiuR0SU2pc9ir3dd41wmbxJtliCjJP0hzUuDa8ULQegCcGHCRza2YifejudHEAzlUbpQgH8VRk00KJWSKYMhaJ6e6lvEfSHxT6s2XTdshC1lKry9YBExAL5iy7QwX4lb6L2fsDrDjZL3Q69tBTjWaYixVUs0GhE5CedQA1PMA7S7lCN4S14PWC291yUHlQL+INK9EwFJ5RxJFtYdggN+dp7e40ZXyBo7VnlziyTRUugneVj+dgu2ygC2bQS3DbxBA6Czlbgy8Bqyjpeu5VqMpihMlv4ZdXQfGeuzng+2R/F6U5AjoLEW0WGlyuw2D1H23dlnBh6Dws/1m92KBlAkuMB0S1sA2G2GqNg0bB2J0+l4o72r4vytByejnm5Ril9RdhAnREBKIOGQv/ZFLvu828TYUwSghozQwENIg758CS4YGlyxDa/+GZY/VXd7KA/PgZ2olSDCAo6f+KFORhpUtYq6zK9kyNQXDkHO4MjmrW9NcQDoGicNdAtz6WgP6Jd1oyIW4wytROiQFS2clkvaKPXaNX2wK8jg3f2hzGdSz6lfZGR0HCddlJTa8QicZGbhI+k2PNl4aXqgHOef4Ve5vblu7oVLSHALx1rx2HPkzsBbdjODwZvoTh7dhvvUIa0xpU75scJzsW7wQ46R7RpW2/a7UQc+CvDPY+p4BGP03QkJ5VsAxJKqV2lEFLHQrD9/FNYcBDMpg6ja+UPCpVC2bLzXr X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(1800799024)(23010399003)(36860700016)(11063799006)(56012099006)(18002099003)(10067099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gHOwT3q/45BAcOYBt2tZPdtMClaSEJ/f66RSTFSZd2/Ve+XaZInRYYkKQvBCyIBpY8kSLWnWmw7CVnLMgYTmUXBoiCM3LpQ+y6JOpe2qwt2pYLYADx2fgmyr32AEbJNjviKJPCalg2Yo2wV3VMJ1gk+/BoLT0at0Kl/iS7isPA+KbvTslXDuhKNBuX4wcivmN+jDQ02YRd/VoNqijLN921oRB/MI13ogG9gml5+eNxTYHI+QpbuVNk+e0MYsQxugp0j0haRoqKLRYUOegchq7VIOsy50k+XpbreG4wxDZbk8xHY4E3Q2m2UXvogVKDMEnR1yps2IVrkpdb9Vua0og8v3++NceMVrMi2SlUpwKnyFrfycMxPr7p1Vl3NXOa+7yosW842Ig3mHJBzrRXHmF86JSjuLnXqf48JSL/fHFUsPQmwi/Qc4tvvBh0yFF3it X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:30.2162 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57437884-ec89-4457-c378-08deffa089b4 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F2.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR10MB7418 Add a platform driver for the ON Semiconductor FUSB340 SuperSpeed switch. The driver uses enable-gpios and select-gpios to control the switch and registers Type-C switch and mux providers for Type-C applications where a reversible cable requires a switch. Assisted-by: GitHub-Copilot:GPT-5.4-mini Signed-off-by: Fabrice Gasnier --- drivers/usb/typec/mux/Kconfig | 8 ++ drivers/usb/typec/mux/Makefile | 1 + drivers/usb/typec/mux/fusb340.c | 169 ++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 178 insertions(+) diff --git a/drivers/usb/typec/mux/Kconfig b/drivers/usb/typec/mux/Kconfig index 6dd8f961b593..6a1da48a2a8f 100644 --- a/drivers/usb/typec/mux/Kconfig +++ b/drivers/usb/typec/mux/Kconfig @@ -12,6 +12,14 @@ config TYPEC_MUX_FSA4480 common USB Type-C connector. If compiled as a module, the module will be named fsa4480. =20 +config TYPEC_MUX_FUSB340 + tristate "ON Semi FUSB340 SuperSpeed switch driver" + help + Driver for the ON Semiconductor FUSB340 SuperSpeed switch, which + provides support for routing SuperSpeed pairs in Type-C applications + where a reversible cable requires a switch. + If compiled as a module, the module will be named fusb340. + config TYPEC_MUX_GPIO_SBU tristate "Generic GPIO based SBU mux for USB Type-C applications" help diff --git a/drivers/usb/typec/mux/Makefile b/drivers/usb/typec/mux/Makefile index b4f599eb5053..ef8d2b05ff7f 100644 --- a/drivers/usb/typec/mux/Makefile +++ b/drivers/usb/typec/mux/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 =20 obj-$(CONFIG_TYPEC_MUX_FSA4480) +=3D fsa4480.o +obj-$(CONFIG_TYPEC_MUX_FUSB340) +=3D fusb340.o obj-$(CONFIG_TYPEC_MUX_GPIO_SBU) +=3D gpio-sbu-mux.o obj-$(CONFIG_TYPEC_MUX_PI3USB30532) +=3D pi3usb30532.o obj-$(CONFIG_TYPEC_MUX_INTEL_PMC) +=3D intel_pmc_mux.o diff --git a/drivers/usb/typec/mux/fusb340.c b/drivers/usb/typec/mux/fusb34= 0.c new file mode 100644 index 000000000000..0f0e45743784 --- /dev/null +++ b/drivers/usb/typec/mux/fusb340.c @@ -0,0 +1,169 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * ON Semiconductor FUSB340 SuperSpeed switch driver + * + * Copyright (C) 2026 STMicroelectronics + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct fusb340 { + struct gpio_desc *enable_gpio; + struct gpio_desc *select_gpio; + struct mutex lock; /* serialize orientation and mode updates */ + struct typec_switch_dev *sw; + struct typec_mux_dev *mux; + enum typec_orientation orientation; + unsigned long mode; +}; + +static void fusb340_update_locked(struct fusb340 *fusb) +{ + bool enable =3D fusb->mode =3D=3D TYPEC_STATE_USB && + fusb->orientation !=3D TYPEC_ORIENTATION_NONE; + bool select =3D fusb->orientation =3D=3D TYPEC_ORIENTATION_REVERSE; + + gpiod_set_value_cansleep(fusb->enable_gpio, enable); + gpiod_set_value_cansleep(fusb->select_gpio, select); +} + +static int fusb340_switch_set(struct typec_switch_dev *sw, + enum typec_orientation orientation) +{ + struct fusb340 *fusb =3D typec_switch_get_drvdata(sw); + + mutex_lock(&fusb->lock); + + if (fusb->orientation !=3D orientation) { + fusb->orientation =3D orientation; + fusb340_update_locked(fusb); + } + + mutex_unlock(&fusb->lock); + + return 0; +} + +static int fusb340_mux_set(struct typec_mux_dev *mux, + struct typec_mux_state *state) +{ + struct fusb340 *fusb =3D typec_mux_get_drvdata(mux); + int ret =3D 0; + + mutex_lock(&fusb->lock); + + if (state->mode !=3D TYPEC_STATE_SAFE && state->mode !=3D TYPEC_STATE_USB= ) { + ret =3D -EOPNOTSUPP; + goto out_unlock; + } + + if (fusb->mode !=3D state->mode) { + fusb->mode =3D state->mode; + fusb340_update_locked(fusb); + } + +out_unlock: + mutex_unlock(&fusb->lock); + + return ret; +} + +static int fusb340_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct typec_switch_desc sw_desc =3D { }; + struct typec_mux_desc mux_desc =3D { }; + struct fusb340 *fusb; + int ret; + + fusb =3D devm_kzalloc(dev, sizeof(*fusb), GFP_KERNEL); + if (!fusb) + return -ENOMEM; + + fusb->orientation =3D TYPEC_ORIENTATION_NONE; + fusb->mode =3D TYPEC_STATE_SAFE; + + fusb->enable_gpio =3D devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); + if (IS_ERR(fusb->enable_gpio)) + return dev_err_probe(dev, PTR_ERR(fusb->enable_gpio), + "failed to get enable gpio\n"); + + fusb->select_gpio =3D devm_gpiod_get(dev, "select", GPIOD_OUT_LOW); + if (IS_ERR(fusb->select_gpio)) + return dev_err_probe(dev, PTR_ERR(fusb->select_gpio), + "failed to get select gpio\n"); + + mutex_init(&fusb->lock); + + sw_desc.drvdata =3D fusb; + sw_desc.fwnode =3D dev_fwnode(dev); + sw_desc.set =3D fusb340_switch_set; + + fusb->sw =3D typec_switch_register(dev, &sw_desc); + if (IS_ERR(fusb->sw)) { + ret =3D dev_err_probe(dev, PTR_ERR(fusb->sw), + "failed to register typec switch\n"); + goto err_mutex_destroy; + } + + mux_desc.drvdata =3D fusb; + mux_desc.fwnode =3D dev_fwnode(dev); + mux_desc.set =3D fusb340_mux_set; + + fusb->mux =3D typec_mux_register(dev, &mux_desc); + if (IS_ERR(fusb->mux)) { + ret =3D dev_err_probe(dev, PTR_ERR(fusb->mux), + "failed to register typec mux\n"); + goto err_unregister_switch; + } + + platform_set_drvdata(pdev, fusb); + + return 0; + +err_unregister_switch: + typec_switch_unregister(fusb->sw); +err_mutex_destroy: + mutex_destroy(&fusb->lock); + return ret; +} + +static void fusb340_remove(struct platform_device *pdev) +{ + struct fusb340 *fusb =3D platform_get_drvdata(pdev); + + gpiod_set_value_cansleep(fusb->enable_gpio, 0); + gpiod_set_value_cansleep(fusb->select_gpio, 0); + + typec_mux_unregister(fusb->mux); + typec_switch_unregister(fusb->sw); + mutex_destroy(&fusb->lock); +} + +static const struct of_device_id fusb340_of_match[] =3D { + { .compatible =3D "onnn,fusb340" }, + { } +}; +MODULE_DEVICE_TABLE(of, fusb340_of_match); + +static struct platform_driver fusb340_driver =3D { + .probe =3D fusb340_probe, + .remove =3D fusb340_remove, + .driver =3D { + .name =3D "fusb340", + .of_match_table =3D fusb340_of_match, + }, +}; +module_platform_driver(fusb340_driver); + +MODULE_DESCRIPTION("ON Semiconductor FUSB340 SuperSpeed switch driver"); +MODULE_AUTHOR("Fabrice Gasnier "); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011032.outbound.protection.outlook.com [52.101.70.32]) (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 52F674D90DF; Fri, 21 Aug 2026 16:23:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329420; cv=fail; b=INiJiU83feRGPv6eKQccL1ldP1LG7uUt2005/aJAN6oH8E8yMs0BPMMqxlEx8ETPtcyPEBvtya7WNVGtuCEsNd6f0RkDbWrs/5CbrP3TYRLNCXVq8LnukH1GB/aAq1W+XMxw3H5Cbf2PXhH8VzPF1fFTlMWDQzw9z23Eu5DRIHY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329420; c=relaxed/simple; bh=jIqQNYxVOsuaWFbRBUWZhXJ2fDuUS5zaM0rLnbvuVUs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=WJthNoivucpJDwmIR5y9glbhgdIQTnoRIIyOZH60H5vQnKvDD7jb0L9aC1Nh07icrAkmX1h4ITksIzV0EhDo0ZUWTZZw1ANJ369ucIggIipkDJ6KNFga2LVcYoSu3OSId5xTPJeumQGWexhJYd7nJUW4xBMwsJSYw5G+dGLbBwY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=g0+kb3k2; arc=fail smtp.client-ip=52.101.70.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="g0+kb3k2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YQYtvOAFkMo25t6EyhWVnYsyBdckR7IWiN/toYTwIcn7kon+GaA+lnpX0r+a4pNY4lMtJ2h2HkWhQNg8MVoGkH5nFafGEUcTd81qt5A0YbARksDtPVAfuKT8T2cCdZVOeonTsWDBfznFUzDCCJ2eVkW7lMT9qCYkye+K/VsnGUvzSRPzCPfyRLPzAvUNA6fLvLw79n/hLMIpnNj/AFOSvWodCAb+Z27FmsiDwX5/8elt+9jw3ploq4jEo8gv67StL5xiMoBPeKErrgRfSy2K1cr05ZADxEycilZgcNsok7blt4INkm3MjY5N9ytDe6zsJnRYsk+Qw64q9PCMTutdAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bGJHE9Gp/IOSpQbUyxhMRCtrRoqngS7YQIEjV6X8pUQ=; b=Q2H7bR2oIsl3yY2oscHu7iWvPGDgKQe5FgsqAxr9Djfe/eVXZy1P/B5dK1F82z/TjQWIttCBfPvInR+VKpd6c2pjYv5RquOMSDxaLORG9LhlSZvNtHq9msrj9Sj1pEIthCwkgT1oWQhpt7TZdS8igPpMBNFlhlSbn113rikQ+tqK5W5hJtCtPxzbKY7VuYmN1TywSBa6gTwSz63qRCupmRBnw729xzxFDuOBOYpHcNP4cp6k8X73Wh2m7cFaPKBMXrIYYhUqv/6rWFvN2GvA213iujAi7buMpP3hhNAUDozGWJGgxIMxisO6ZTYmYxbVs8nSTWWWd0q7/cr+e+26hw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bGJHE9Gp/IOSpQbUyxhMRCtrRoqngS7YQIEjV6X8pUQ=; b=g0+kb3k2HUtt9tSIia9sCEffMaxilyfTbCyrv+axIRSO1EX6UOwrVzgY20onJWIF2KVr46Gf8IDk64cLLImAYk7SSG/Wfssf+dQqNqDg60tP3GqBvjZkH4ejia6jB0iZtGarifPlNj44KbTZlR0HuU2z2Cf5A0hbTwm81yLJyDHdfeOhirr8yEtj7OY1pbM99cm0It5/tmujrXlxog3923GOFXyNKVcwlLMwUbuCW9IQzSjHIP7PtyfZXuTHxlLsHjqmLVoeoY+FF4a9n4KXctuJzSFA96HaGkY1us6asiHBXn0NujjCecjni/uDLFbcW59V8bPJ1IDcDo5OC9fm6A== Received: from AS4P190CA0021.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d0::6) by DU0PR10MB6228.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:3ef::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:31 +0000 Received: from AMS0EPF00000197.eurprd05.prod.outlook.com (2603:10a6:20b:5d0:cafe::9) by AS4P190CA0021.outlook.office365.com (2603:10a6:20b:5d0::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:31 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000197.mail.protection.outlook.com (10.167.16.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:31 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:06 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:29 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:18 +0200 Subject: [PATCH 07/16] dt-bindings: nvmem: st,stm32-romem: align patternProperties regex on nvmem-deprecated-cells.yaml Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-7-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , , Thomas Bourgoin X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000197:EE_|DU0PR10MB6228:EE_ X-MS-Office365-Filtering-Correlation-Id: 623d2469-4bdb-42af-9e7f-08deffa08a2a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|36860700016|23010399003|1800799024|82310400026|56012099006|10067099003|11063799006|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: LfmjsHuPWhtfFsLIz8SBbIlUSQ85AReGZaEj2bXLQGpdbrKmcq+RUtmu2YDthOP6A0aDrsRCRe7q9rPxH+81AlRzckX3q5yUu0WMX/bFce+gpG87jBUV/oWhGp7Pw9+6YYqKsxuYmv+J1WRgwJogSwgo0F51bFfNUx3hokb8fd6yjdZJHWD3sgXnMVknqALX5WteBvNhJQJl8C221CEUJbVKwzZVYyZA1iNDF3T8QOF4fc6fE/ShcWHvzyk0CNmPxwz+HtRcpCWsnqzptBuClGkEu0m4szIytVsnEQ+dSehXFZnLIjegma6d4TAeWPwa6NdiFnM32tT37oUxXC1edW6GEVG0NIolvksDea3dgFVuOsyt3aU8p8Js4qNOCcRRpgxrKC62bvDjaOCO4rOEEMfOMhNP7+/xy6pUROzvS7mn673awds4lt3Omq4zOVmQt5d7VISL4IXJBCb2ZfJ22LbT1PdduIZL6hHtsGnqVCvTRPoFszsfcEIX9IU3nSREIdEbxHp13gBEb/VDDSTGi0JCkrJyMgFoKJydWNwxQSUJ6Oh55KRNDL+Lrb1zz/sNbzA3sOpqwqpd3NiiWlK2l10uZgPr8197yOEzjZzWmfn9VP0dKjXPd9IU0s2ZoL67NHn63b4KNuKqrU6PJzwh+DHHz33rpOmi9YaAb0RIeAO8fSG/DwvLx6OMZrNWnd/sZAyX8A5suwRSr9f5fxxu/LIajpLT/XyiZw/trnxZ/mdxSs3WFYhAhqBcM/iusjFj X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700016)(23010399003)(1800799024)(82310400026)(56012099006)(10067099003)(11063799006)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LcEV0YroSdxgwuMxFtxHSy5B+qqSSlyD6oU/yehzGMbH2NgXsz3ZrFVzQOpg5x8nOy8IVOxA8RYyF1bJVFTcnr98tzAAiwtBgKqxGiynzRUdWKuQ+sg8VAno4N2mCzPjnT1Eo0oE4W++0Ge2f/lS5Sk1RLSnJcpRRPiE9WykzklUDT3HcJVK0Kq35c+l+5eGvu+TfSTtYFB/fCD02MTjDcrU5HpeZq+i7j52GgqTEuIvQw6UO3XjGLo106QlNPESO9PXvKGuRhVBzjUZWtFmrqwl3SpTUGRSzatnRcWfVIsukxpYW9uBfSwcso/ehYJPn0YvMRe4UDUKty2RDG22xAnkk+26JOc57IHIQpg2lrNrrxBxokuVzBaHGrLu68b42ywUsC3ySs9S+ETNsfY+zHS9FmDAxML3Os7KQCPFgPg0kBKKl5zYyF405nu0Ahoe X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:31.0158 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 623d2469-4bdb-42af-9e7f-08deffa08a2a X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000197.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB6228 Align the regex with the one used in nvmem-deprecated-cells.yaml ("@[0-9a-f]+(,[0-7])?$") so both patternProperties definitions apply to the same set of node names. The patternProperties key only matched node names of the form "name@address" ("^.*@[0-9a-f]+$"). It did not match nodes using the extra unit-address index used to disambiguate cells sharing the same reg, e.g. "trim_rd_cc1@1e8,4", causing dtbs_check failures such as: efuse@44000000 (st,stm32mp25-bsec): Unevaluated properties are not allowed ('trim_rd_cc1@1e8,4', ...) Signed-off-by: Thomas Bourgoin Signed-off-by: Fabrice Gasnier --- Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/= Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml index ab4cdc4e3614..a9988b1d63f5 100644 --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml @@ -31,7 +31,7 @@ properties: maxItems: 1 =20 patternProperties: - "@[0-9a-f]+$": + "@[0-9a-f]+(,[0-7])?$": type: object $ref: layouts/fixed-cell.yaml unevaluatedProperties: false --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012018.outbound.protection.outlook.com [52.101.66.18]) (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 B54784D90AF; Fri, 21 Aug 2026 16:23:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329419; cv=fail; b=J0pkgvDK12oa8u0T1FDMc5PYc/kygNfmQcsOdJgHnBAL7EUYDTexNbqCnqBotbiTSXq+x1tRUzrMiSyLyo/wYSR5Jtl5L0PFv6rkgsQMP/9Ei9wLjrsz99RXXAgWi2KiZ8J2E0hURsGF+yKTVsS08qs81Ivz74IzFMMUV+ATogM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329419; c=relaxed/simple; bh=mTD4g/Zeuunvc8cRIhqipA7es0kWfrsKUOa5gKKNIh8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=mBo5JG5BXyXpdN2rwpIdlZEeUbjCK3752dOzCvuR6r6BIoIWhcBOjJJOKNnf4B2Pa70h1tIWXsEG8NikVCn8/tWLf094kjY4AlXkToLTJo74X1cb9+lUeMPfNJmmGqFY3HkyCe3vsACAjXMRjrffyTV3mEVwL252OFpuOXSLHDg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=jfHu6QLr; arc=fail smtp.client-ip=52.101.66.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="jfHu6QLr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jtuMxAcgPnoKRWSepnMCy6aBuCOvJH91gDCNYkxV1S3A1Jh3WNRsaE4Wb9mY830KdsKbMmOxwZ3LRp/s+M75EDs3C4PFVWPi2BKWGLqFmFw33wypH++/hbIh4EeHB/my4fqY4mjbpSmyJefbsN0h/ZQYPvc1gmMSzTiJCpsg/muu+OI5B6tMMT1gLwTBCpZhpTx5nfWc+bJNSbpvxBWUWGESzJyGt46/gz5PiGQuvyVGBRGcVWN8Rplw7JodD//zVXFHjEYqOH6i0Xo2mqh+xZHaMVZ94mm2Xeuiw43aEN7Uqy06skD/NoTUxq3qkZVADhh8Jf/HLHirBX8JZp5sLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PjMNO7EktUvxGYtBKqvD7tirdylGJwh6hg7Nw0uiV3A=; b=K3rkZ7u5Zv5iuDK8j8GlW1mrtTfi4XCubHftmuS0f5uUje4tfK5De/otHsW3ZxcA4LcIpN2jao4YtKSubmMoZw0Snc4QPgF7iXip2f2BZfdaEBKtifDBi3Nh60k5pQ3rGw9t4Wl8VryZzcej8v3OP2miONyZkTtJiBF92jr2h8GVo5Lox2fhlmMr5V7fUiSMVTmTo2NrudaOGlShqxriqQ+9qUHAe0yV5w2OwVJZQM6PRbnCOI8q11G1mEquIwchaNS+gFpiiUEt2TnSUtRdsmKlawnruyyvrLl1eCBi8DwzfGE1hLGHyzMQZWK9wElPXC6Fak5ekgmomeSsU/02OQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PjMNO7EktUvxGYtBKqvD7tirdylGJwh6hg7Nw0uiV3A=; b=jfHu6QLrKrAXN5E8DuC7sKXUbhM/lWwS8ipjFQaP9JYOK6J+tWJNb8Y2ShhTcKff1UZgIPH39w8PFM96D/Yf5Cm/K3MledjetULe7psUBfR56SpryB7Jsg9dgUFnefs5joEnB1CbF2Zo9zsjpfl41Arn9QGKQPLJqTTK/v6XR6GhChaW5D5p93KW4Fp+ySdTQJOy81We9aB4CGCG9GI/1FA/u0msLydeWyzNNWLOCDTQki870lzv84uPyH3djayx9IPFdLa28tekbgPtC+nChi6t9qQke9LAR+/8/OITIgQOmH4FrKsdtPtZgVQyhLfT4IBetwfo7Sz4lzv/iaAcaQ== Received: from AM9P192CA0020.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::25) by DU0PR10MB7215.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:449::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.17; Fri, 21 Aug 2026 16:23:31 +0000 Received: from DB1PEPF000509F5.eurprd02.prod.outlook.com (2603:10a6:20b:21d:cafe::4f) by AM9P192CA0020.outlook.office365.com (2603:10a6:20b:21d::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.10 via Frontend Transport; Fri, 21 Aug 2026 16:23:31 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F5.mail.protection.outlook.com (10.167.242.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:31 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:31 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:30 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:19 +0200 Subject: [PATCH 08/16] arm64: dts: st: Add ucpd node on stm32mp251 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-8-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , , Thomas Bourgoin X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F5:EE_|DU0PR10MB7215:EE_ X-MS-Office365-Filtering-Correlation-Id: ecddbb8a-899d-419e-a1b3-08deffa08a7a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|7416014|36860700016|23010399003|921020|6133799003|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: NeHnumGhKI/sTZGQCuyVKxjcPg/q7HsBlnYInV+u9yprPH4mkGpGmNSVV/Xb5c/sL+YU5GJdzB3+OVYEfysCyRngYdiKz/+vXOdmsMbihzR83iJ5nSB3gpAFcqheI/BBJAQTqt4w2AhpJEqhFA7x+5y7wm3byH5Zc0MXpgiSd2MlRp8L8F5QPFZIbopV+KS8AK4z1HuBpFLMhdGNCG70T5af+LHeaPpD+vO0R1JBYSZkVKhTnz2Pi1vi2En9B8V/ih3DzTewtUjxuNI7fEXKi+ytcgsEy/MRTTYBVK5RtYMbVNr+5EBfJgQRGXkNDjzhE35ummxZUZcotnZ7IirVknIPuM6/HoOLihwkd66i10mcf7lsydxi8jKV5/nr5HWMvdLZwBIZleP/MQMQaWusieNE8foADLEIzXkNYWgGv/7961eJ8rF2cgeek6Ht+MhYpNWtMoUNnnetdO3bCmGM4P9T9N8UvYK2FX0beUx7eB10lr4/7tVOJETCj+ZqyjNQgB9UanW0CDoxcunuXqzxjkzGLvVpcUkAVar5Gu46IUi/QCjl03LXL+qtqHLGwHNIC4K93R357m6LFW3Rj48hIfhAiiCih7vijwaxj7rtrvm1t+hA1qm4T9TfSYedzBKFSQdEEw2nTMqPTCDdt2D5N+CoX7jawymmNpCeFFqTmeSgz4cdYa7nvLI/QPvz2VyLQ/OMDdG3NkYhYENlIS7Y6mNxtoS47ivPIjhvjfVc44Zg/8OumUbwKJxV5uRAMSfQ X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(7416014)(36860700016)(23010399003)(921020)(6133799003)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: owwSP0kfYwxHEqARu2MRXGG0owlIU8bTlDPHbv3CucvCvKt6/Re0cqFS2ENqbd9K+RJngMT0YHNl8xKzA77vGl3Qx0XZ4apsasJ7VEHOQ/NJ5ipgUtNQSeMcJq9SynziiSwekfnQDgoGLz/R00gW1zuFHUaJ95PgeM0Hbvid3VoEl2y5riZb8ctXMsRrMgRaRsU/tkR09dVdo/3SHXUwlRLmL2q9aTAYzelCVA1k5JH3vEjcobuYR7C6MSSFJSAjtl4jucAinBej58YKwTdvScy1OOwoj2GQSPjzSPTh0SG/CM5gV4hBa0Q/gqUC707coSCxtWf9edjJiMvPCSNFE6WdZ9N/VqsZ/Iw/9Uu2Cq+poN7WUAdqpZeSDRdm96sZGSC01poXNsHz/YFuiURv6KVx0RAiBzALTRhnG5Q2WBY4ce4NzpMGVMovCeeoHFED X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:31.5158 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ecddbb8a-899d-419e-a1b3-08deffa08a7a X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F5.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB7215 Describe UCPD bindings and nvmem cells to access trim values. This provides the PD and CC USB-C cable signaling functions. Co-developed-by: Christian Bruel Signed-off-by: Christian Bruel Co-developed-by: Thomas Bourgoin Signed-off-by: Thomas Bourgoin Signed-off-by: Fabrice Gasnier --- arch/arm64/boot/dts/st/stm32mp251.dtsi | 51 ++++++++++++++++++++++++++++++= ++++ 1 file changed, 51 insertions(+) diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/s= t/stm32mp251.dtsi index 9dc7a05fce99..be54dd56713b 100644 --- a/arch/arm64/boot/dts/st/stm32mp251.dtsi +++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi @@ -1637,6 +1637,27 @@ dcmipp: dcmipp@48030000 { status =3D "disabled"; }; =20 + ucpd: typec@480a0000 { + compatible =3D "st,stm32mp25-ucpd"; + reg =3D <0x480a0000 0x400>; + interrupts-extended =3D <&exti1 46 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names =3D "ucpd"; + clocks =3D <&rcc CK_BUS_USBTC>, <&rcc CK_KER_USBTC>; + clock-names =3D "apb", "ker"; + resets =3D <&rcc USBTC_R>; + reset-names =3D "ucpd"; + nvmem-cells =3D <&ucpd_trim_rd_cc1 &ucpd_trim_rd_cc2 + &ucpd_trim_3a_cc1 &ucpd_trim_3a_cc2 + &ucpd_trim_1a5_cc1 &ucpd_trim_1a5_cc2>; + nvmem-cell-names =3D "trim_rd_cc1", "trim_rd_cc2", + "trim_3a_cc1", "trim_3a_cc2", + "trim_1a5_cc1", "trim_1a5_cc2"; + ucpd-supply =3D <&scmi_vdd33ucpd>; + access-controllers =3D <&rifsc 69>; + power-domains =3D <&CLUSTER_PD>; + status =3D "disabled"; + }; + combophy: phy@480c0000 { compatible =3D "st,stm32mp25-combophy"; reg =3D <0x480c0000 0x1000>; @@ -1818,10 +1839,40 @@ part-number-otp@24 { reg =3D <0x24 0x4>; }; =20 + ucpd_trim_3a_cc1: trim_3a_cc1@1bd,1 { + reg =3D <0x1bd 0x1>; + bits =3D <1 4>; + }; + + ucpd_trim_3a_cc2: trim_3a_cc2@1bf,1 { + reg =3D <0x1bf 0x1>; + bits =3D <1 4>; + }; + package-otp@1e8 { reg =3D <0x1e8 0x1>; bits =3D <0 3>; }; + + ucpd_trim_rd_cc1: trim_rd_cc1@1e8,4 { + reg =3D <0x1e8 0x1>; + bits =3D <4 4>; + }; + + ucpd_trim_1a5_cc1: trim_1a5_cc1@1e9,0 { + reg =3D <0x1e9 0x1>; + bits =3D <0 4>; + }; + + ucpd_trim_rd_cc2: trim_rd_cc2@1e9,4 { + reg =3D <0x1e9 0x1>; + bits =3D <4 4>; + }; + + ucpd_trim_1a5_cc2: trim_1a5_cc2@1ea,0 { + reg =3D <0x1ea 0x1>; + bits =3D <0 4>; + }; }; =20 hdp: pinctrl@44090000 { --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013051.outbound.protection.outlook.com [52.101.83.51]) (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 BFDC04DA526; Fri, 21 Aug 2026 16:23:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329421; cv=fail; b=dsjFXgmQXp/b2KcgHaZ9MBzPfar6dErJXRVZ/UR8nXEa9GwGud5Io9w9fnwpLEPnBKugtOBtfltjvlAmhR1DDBI/WJ//wuq0HfYVLqoxu4G5/UqNkPnAk7xkFFQhft3E33+Z5nLmhhEPfQxS3PBBeq16c4LOix1w38IxPH/UqN4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329421; c=relaxed/simple; bh=/E0+UroYiw6JxJnLiyfdl7cyn3xEZkbUbBpPibPfWFA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=P6HpjXyHFkQB/GGgD/o92b0pxIwXQ0CMBWlxFaPS4PCR2XfvSOPmocC5T9ceG48vfzhoFkO6SDDC9HtBMSS+cmb0r3wenxpuC/7S4SqolDoJwTeL6lpJfq51yuUjVbEhOpkabzdHkWEx7KFN42GZvX2iPBPrGRPHUjwTl/z9VDo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=eyKIifRm; arc=fail smtp.client-ip=52.101.83.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="eyKIifRm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zcf1YP3Nl/JpkaXa9s/lXG1/RDCmI9MwwpFF6vaYb2ZE2iTxbatqz6rImdE8wmI0q/JbQBFtzexVmDTsD9tFhLAm/VsJrCpc4RyImg8qZp2xWSqZDvtppQbRJ5RkISgTRjvdfV/zimmLzwlIyWVX0utVWJeg0DORhy9st9U7K7SlfzhbzCCkkZvML2KR0pWOrrVc5cKggq9N40ncy8jjhYuOB++4vo8JuZG3rEVjjLtinQThjHvJzNq1t8euKtnU8S0rVMLC5Mra6AE3QuKE/CiN7LAHaFktJfoS86g1iBP929p9a1WV2xfxspqjSI8Jueah1H3sz/5WEdfds7NJMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7RWcDdkNBu6aL19Rf6Bam6cHci+5r68YmL6/KrCap4A=; b=XUFSSfuUNNL/ra0xTXj51pobARYh34AwbT9/rsHeXdur8LfGvhvB5ed9CAIJLwyIpE9ODgMkS/c8HzVfEQykuwzWxUFulcefJolgaAJ5D5yp1jfn2HehuDqNRM9lifOruix7hiSjI10OLLGt2NNLSsmPz3mOLBlYs8+KTGuLATF+sBrRyjeQSZHwrA+duzm5RQaJxIc4DvPsevuRImUXKDBMYfq+7U0w/O1OKlcgH0RJZpxOGjV5cFS2MnWp+MJrXXUv+DE4M+zXFwrVWZAvOkeMFdW7GsUgZC4jlXChLv0/dz4e0D4Hob+ltGgTkh2IZ1GYZviFaq0lNzqLQPfiKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7RWcDdkNBu6aL19Rf6Bam6cHci+5r68YmL6/KrCap4A=; b=eyKIifRm1EYC1UlQFgFytU6GfH+XeexRrH7OR8HRfndBhpkqfFzLmQVtwI1v22i/QAOZUY+WiljtrrXEBGHDkCKpXmN/SNT/tRTClofOuuynGXxcRXU2uMCNNz1N3lQgDiacCGhbmfYah5jPldceV8RlVPrP5YY3SPASDsex01gbD7iuqkVzqoePk9FnIhdQ3yY++6OBapIuX9vKBhHdMarTYLSJwJSxjZFJ7DFei3rBWDk4igbc+Qn5x7qs7fFQc9geY1Y5N6kqSUpb6hafxMi95IKfLCWCuDRTi9sd73zhpVRKhBQ5gX3XCEZhY4KsYAPcaDy0w491leyOlvddtw== Received: from AS4P250CA0007.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5df::11) by VI0PR10MB8668.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:232::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.11; Fri, 21 Aug 2026 16:23:32 +0000 Received: from AMS0EPF00000190.eurprd05.prod.outlook.com (2603:10a6:20b:5df:cafe::31) by AS4P250CA0007.outlook.office365.com (2603:10a6:20b:5df::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:32 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000190.mail.protection.outlook.com (10.167.16.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:32 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:07 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:31 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:20 +0200 Subject: [PATCH 09/16] arm64: dts: st: add i2c1 pinctrl entries for stm32mp25 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-9-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000190:EE_|VI0PR10MB8668:EE_ X-MS-Office365-Filtering-Correlation-Id: 8aa92479-6165-40df-c0a4-08deffa08ad3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|82310400026|36860700016|376014|7416014|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: tmwzAYaCeTxp9g3ath4jyYrkh4IYDPdur5wtI12Cno9OpjZYXyeDJgWiLecOc++W2tA1fPdqlDCNdKoIpJ5pzlsEBrR5QMBLAB09esgtLIBPYJ22rtrFVTkBWbOMPfnDTCyO4z12XnaqeqXVIR/RGEeR+HZuPgx6dyscF8oegDHj7ABcH/LyhyCJagBqQDMGGcE4l0FobaFDIGDMXvyIlWVwsOR2ejlf/hS8wetNI4MGg73bR0iLuNB834wrivHVHeCQWFgCkqXWIzgMbzGt/byt+V8aCZ6iGeYYLOgfVZ6+7GbqDSkxqM4WoIEIEfn4aJebU5X0P9nHnOZ78MRFrlQZqcVIs2on8Y1LTlRRPc+uezWuAaPL3NWIMQsPbHnI73SQWo+V3QSKlT76wQAZQB9JxLZqsWhZzA/oypJSlBr3XNajl79A97xysFLAm+LXrj5Pa5TCBR0mps/sW6wyP1bcGzD+iaPQB9GxsevJvSFDWASwGGe0Hu3L05P5YhBw8pqz7s415L8T5DEG09wlO0oTUi4yipL3If7U14lRbHyI7OomNfmwdG3MydhBGdkdqkG/fpCGXQKcNqSE72dbn6dsoQ6YEd55JoTMpc3GfeEPh7tCzOEOGYtK0NXDRPnRPO8nRKWn983HHGXeQQI8GwTQW2aP24GEwe3BZ1iBX1tdRV1cPhCAws7Y68cJL2g9Z5Qcc2U2/je0R74qvkLhWloX5rASpnMOfd4YRqE4DwoyRf/TbbAJLUGRl/g1wbJg X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(82310400026)(36860700016)(376014)(7416014)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WjA7qiuRAh+n1cz3RM6CooyYl4aeSt5TXn8awctxNzDXzvK3QNlvCI9+sGmF9Wacv8EN92CueMQrdADFVAe1t1Uw1L3lQM4yWcl0CnQPhZXtA1a2Vk6rxJkW/OK5XGALJmUsqWnM1fYf4zw9CTpUWhUIQ6SWUMsa4NwJLV4Df39UcF+bLdKjYPQOWZemnTUjJZ4k5tEsaMTMr05xfWaxXjNKM2zZxhOn6hfe2S7hQfOKJY4Xx6D8egIx87NHE1NwDzFZgyHgvgBZP6JSgvuX3rs0PLSR9+MFUSXt1u4O6VhVfQjODFr8V5gEKD2oZ+3ZkRCL+8KGhOzKl1mtlRN9hMUWVuPinY9q3OYT5XlNOVQoluGfqtbGUTrOefXDQ1f6xWOifT4IXyBODpa30ow9rN8NiriB4iLlbUzPCv8uZFNor+cmqX5SkIefIYr5xyE9 X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:32.1016 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8aa92479-6165-40df-c0a4-08deffa08ad3 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000190.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR10MB8668 From: Christian Bruel Add pinctrl entries related to TCPP03 I2C in stm32mp25-pinctrl.dtsi Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi b/arch/arm64/boo= t/dts/st/stm32mp25-pinctrl.dtsi index 456ece7f8ebc..f97ce299d6aa 100644 --- a/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi +++ b/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi @@ -203,6 +203,25 @@ pins { }; }; =20 + /omit-if-no-ref/ + i2c1_pins_a: i2c1-0 { + pins { + pinmux =3D , /* I2C1_SCL */ + ; /* I2C1_SDA */ + bias-disable; + drive-open-drain; + slew-rate =3D <0>; + }; + }; + + /omit-if-no-ref/ + i2c1_sleep_pins_a: i2c1-sleep-0 { + pins { + pinmux =3D , /* I2C1_SCL */ + ; /* I2C1_SDA */ + }; + }; + /omit-if-no-ref/ i2c2_pins_a: i2c2-0 { pins { --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013057.outbound.protection.outlook.com [52.101.72.57]) (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 BF8134D90B4; Fri, 21 Aug 2026 16:23:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329422; cv=fail; b=VzBal3Zze6kP7EgyrhbZ0ELE9p/xTlsANfG9+/XI47GVpjiD+tkt1Bx74jmWBrLDFr7l3782GeH7eiVz7BV3V3TXCsYvFFxkQKv+fusSB99BfFlddVD7Kj1ZDH6hpXHO0rch2XEsQYbEI8vNsLMRLdhO/Tc8lbvAZwAVwrSoW/U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329422; c=relaxed/simple; bh=btAQUAjg4YFWuofVBMxKT0aquIHvtRPP5Zh3nR8gWIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=LYwTxgEYyqvmrDBTOD83V703lNvX09Ypf3j1jBisic2UOLnN8dBbFxkCPA76ecAHiNF8/MGs8cZdkqafQ1BsiZ7Ig7XYS0BEp6rGGvPpEAEif5q0f8G+45MSaM5+G/nGwz90dhmHxhIYScEFqWJkxLrgE91D439RVG9rM8pb230= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=BAhN0Alx; arc=fail smtp.client-ip=52.101.72.57 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="BAhN0Alx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cHYMFEzkmV4qQzoDYtoPUXyUUzVBt4ulvtcOa2UBMm3jyNqMclGWXJ7APHSN6zZGzCCAQLwoiJknGIxwJcBoKNKB4afrnUYbtKpu9/PHVBnj3FqA8uVp1vXR5NEpIbL8OuLvq4S5otYX6j826FDy4n0OYbkuKh66fPVLN8pmgGc+AvLz/VYYcHHNuZ9fvpOnyutOh255AstfZrHIEggbrCM0Oe+G0dFSn5IuIibkYvN2xzPBEF2i6VK0TAKZ3ZAreD1vu7YmL39CPVOKkb8j7bUMNWvSbstFhsQB1gY29NNpqtnFgq2sRLWq+sRoZ873kzd+2EvoEfmFjs81O6kDQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Q0DlCBjrdcADEXb4al8UUYd6WZ5E6onWIqiEyimnlQY=; b=S8r6N0ZcrSXhnEtzVRl7tw7P18bK5OWWS5wk4O3Q+BVIxjLq+8htaFJgjL71PTPBdaPm3t81pq0AdG1FlyuCc1wjVXGxAwoEHIQNKp5VkiVjmr0B76CNkq//Yiw689I/hEI75ACVfc+/uFZoxuNOrUnBEFx7LY8YzZIpGHtNGApruiIji3OC45mjRi0LJK0RFjQvFcIcQMOh7bmy7zGt+59z2lDPa/+QUQ6lfMmXiX2jjEk0WZCAJnPwJl3iIsH3/WmQAo8ChhLj9/St9VoC0LGX7PFfuFOwezAMTBz+rKRpKpEJ+EcCabwqAAPX2urk0icNCP6CUpC6Fw/wD3Dtvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q0DlCBjrdcADEXb4al8UUYd6WZ5E6onWIqiEyimnlQY=; b=BAhN0AlxXe0058T22T/KV5SP8sw0eDx4lENnu6jltNfVvhSQI6JwP+3RbW7NA0Tp6DDJLZVFmFeayYdq0Sdes0ULGldKoqJdTTa/ZPr/C6+PRZtS/waGggX2BRLRtu0L29BvYEx/DKAtW+YK4mLCjNcp+NLfbnRBlaPUdzLK78XtmIyeun6MGZrSCpfW/yIKHkvlSBBvXrsutZkEp4Q/X/UORujcFYC36LuyusM9NmBl3Nh/axQDeYYvI5oPyRN2Df/w7T2q0m8w10J9R9ebjCNbcVFjVBNSwKG/hjpMmwvGX8kDjmnsEld1ueQQUyp3RlX5E2ONPyFsVSN8fpdwpw== Received: from AM0PR10CA0045.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::25) by VI0PR10MB9054.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:239::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:33 +0000 Received: from DB1PEPF000509F8.eurprd02.prod.outlook.com (2603:10a6:20b:150:cafe::1d) by AM0PR10CA0045.outlook.office365.com (2603:10a6:20b:150::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.10 via Frontend Transport; Fri, 21 Aug 2026 16:23:33 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F8.mail.protection.outlook.com (10.167.242.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:32 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:32 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:32 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:21 +0200 Subject: [PATCH 10/16] arm64: dts: st: add tcpp pinctrl entries for stm32mp25 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-10-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F8:EE_|VI0PR10MB9054:EE_ X-MS-Office365-Filtering-Correlation-Id: dcc9babf-604e-46e5-f510-08deffa08b5a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|82310400026|376014|7416014|36860700016|1800799024|10067099003|11063799006|56012099006|921020|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: +aJ50Vpq/HlMoGxl1vK+AZaaFI1EfsL2KbssdBPsPCo+Vg0OXzgq/iJkf4jfOnqPBBpQRFj4d56IE8V2FHjG0woCu14/BIfh2T0gk7RCFFEuCUYhReYLOg7Gu9GO8bR6L9szKuN2NY90+Nh9eX8FBLLMuv2x1FJP1H9IQ9FTmo9YR/C2mG1VQ7P+E/zeo8YDZh3nnI/3NYn8R8gqhF7Vtf1sEUkRjEWDjIPMH54tC9GYFNwQ1raNZaHoDavDgpff5UcK8pk/hewsqclBp1ibu8d+kvhF+qSPqVr/Rtuh7GkiPCmqiuxAKETvRpV7wQkd/iyEKQJUp1Zu6mubHhUWVrJgR1uU9MmTHtdkid+zljt5s3zbyuqfSRSjUNpOK3Dg+fViSyUDdao8o80tp0V+uLferZMDQs/SF/HcXb0KmClhDOeboKPQ7EzAmWtmnx6Ut5KSL3ExcUXlugeJhtxq/CsMktMcFb50sVT12YKPu19S2FkBH5/yTc6spsEqTkcMRceo13RfmqN39T9TwONwsVb4x+II8Zz809ve3DX6pWReJFSSBnLeA0E898ZAMVmMHiXElSXtxN+GvLMeZDgoVOtH74DaqCfCG0FRaI+XD5A1WJpMOSaQDVjXHwpI7tjmn0axrMOYWJI3gwjmdk6yTsB8k2Dj4Urc81lKT5wAHYftq/hEZsSdRr4sXUvQ5r3i1UvhYC+T8kzU6rffRtc1jzTd0xGbX0/PDx5ks01+73og/aoGg401UprkoYmPwDcn X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(82310400026)(376014)(7416014)(36860700016)(1800799024)(10067099003)(11063799006)(56012099006)(921020)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sUwTZd37R7lUaLZMPAwdAcb2/ANmVcF2kemY0mrXrFh0WYxOAYh6iXIfqwP2Xg+XQty+rDqMZPnymO/G0nWujZaLLzlqHO3KqzeIt8bYQ+fLK8N39vacz9/bwKcH8hkZhxSjuu3VUL+VJGKky2XFT9EY2dLm/bQayTj4vYva0M3L0cWDqVtCB/WnXBtWJzMhES3U+8+OK5ngS3bIXPfD8OTtqUpzioFaUoT0DSNBum9xTaj8kB0xIGUDVbWUEUqWensKt4sxIa+2nBKpaBt7dbwzHqhYROs9p7nWRQNkfSx2nWC2iPq4zB/M2OVoaro0VFWUx6Bo7gY1w+kvMAQEzkj6BFuCmC/THWc0B+EjGdN4RH3auW9r2ilT1e+x0HnKehCmU0/6II6XiSUBpaZiqjYMzrwCTOCGoU0Mcs4VjcjVpPGLn6XVSHu5HQoXXWEC X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:32.9773 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dcc9babf-604e-46e5-f510-08deffa08b5a X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F8.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR10MB9054 From: Christian Bruel Add pinctrl entries related to TCPP03 GPIO in stm32mp25-pinctrl.dtsi Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi b/arch/arm64/boo= t/dts/st/stm32mp25-pinctrl.dtsi index f97ce299d6aa..85d94973bc4a 100644 --- a/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi +++ b/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi @@ -474,6 +474,14 @@ pins1 { }; }; =20 + /omit-if-no-ref/ + tcpp_flgn_pins_a: tcpp-flgn-0 { + pins { + pinmux =3D ; + bias-pull-up; + }; + }; + /omit-if-no-ref/ tim10_counter_pins_a: tim10-counter-0 { pins { --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011031.outbound.protection.outlook.com [40.107.130.31]) (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 613E54D991D; Fri, 21 Aug 2026 16:23:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329421; cv=fail; b=KzMX7VO0syny1cu337ZlYSO1f4u6Py+GxhkGUcO/TmCTVy+GUFBs13cPyRqC6y6oP6RW5q/7t5GrXhYJVc+IDu23O5q0x0pVH7WtCJeiVSNIU7yKmQDLZR9WsbRmeBOiMRbWXwudm1fXmCXwquFVuakc6fuutg/VhacFFRU89lQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329421; c=relaxed/simple; bh=IJGIv26UXk8g1Hg88br9BHr+pxRyRPAhGm71DJ9X+jM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=DVu1qkoGKay68fAEykzWlIa+Ncu11K+/+fyTEVoe7sD8I8jIgllocGQAd6/TBKU1IVBLUHlYaul0cQE1spOIqqXmWTgqH+oNuadnuFW5FPC+2ocuTVFx9zr++PnX2HJymeHR0Yt1ABeY6PCTBXlB57n7j7p9jrsGu4cwT2G4x8A= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=lx0HOFwg; arc=fail smtp.client-ip=40.107.130.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="lx0HOFwg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WXm8xwo9/TwjV1m7e/2KOfQIAwcFe+EkS+rXkNT3nY1Ukeujrxy0doQ8g8bPRwVkcrYpR7zVPytGJfdFGwltLI+cJEBBSijgWBWylfSdeuxfe/Y9nUZN2EQ5gWyAH497gXmvtU0VPWOFzfwXXzXb2Vc2HOHzqC1D/amS/nznbkkgrqXgbIal8VZGvvEWHVPgjq0E26T/ejjdztBXHXU0Vsc6HWm/lmGVtzYBabBewKiD/fcONkFvtqzRyYnhjQFzD8ssPHSRIm2EWaI/kyuKzguWj//YLyku6/4ShxBKUCDa4euX6jAkwL/tXlEtB231G1tk4opr64ZWa/6NIPP7vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uu8it0TD2v7Ji7C6YAX/nz2wYtFjHHKK0TXZxQ0olB0=; b=e256d/cl0/WeDVe7Unb2sr3vwcT4CKSXSiEvYg/LF2o0nmC55tQdACj1zN0gfE8R49Sbn2dvjZlnVdRvtguvJmKQRLDa/ak1+zvy175wOEqtFHRyUvQQwO+skNKeyXDbaOY6kDjKGs+UIaRLoPnJpHdk0vetOhAxTPbJLOzbJXR7nKQ3hjGLljntqDd8dUNckZH43KRG2ysPIGlSfBGVvriJCMM97L0tjr2aPOZvTwhQPvD4/iseywL/js/+D0Kwmd7ZRFfEGiFSFvjBkGuf634QhcFtfGjeukYznEbDWN4QYsKjvgC/a7xpcM/q9qzIO8yeMW3sNAX/e4BgAiR9jQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uu8it0TD2v7Ji7C6YAX/nz2wYtFjHHKK0TXZxQ0olB0=; b=lx0HOFwgK0eKjDK9kWs6HEn93RvcKCVvU8AR1jRXiRHAd3e63HZbwZVFaJayyZQcJRqweVf7y1FAWT61dwabBumk3hePTu0Shpul5HNv+OuiMFxf1t+hzNs7rppfTwQJvMP41Qbc5ypRNB+9Jq3T+iWcXPJ82hjbhZf972+ur2AEozG2XVl1mT71QuA7um7ce3/UDx27zrIfeeqq8OxMHsX0WuY3cfCvN60DmMG/QnvS07UeBLf9u2yXrZO4rum/qjYNWHYUMCbAdoXvIVzbKtxpLlL3mlgzqvK72Qa7ARpHEBVkg3jS1q9Qyo/99AcsH1mmgqlJCjgsiCQXAKyXeQ== Received: from AS4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::14) by AS8PR10MB5927.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:529::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.11; Fri, 21 Aug 2026 16:23:33 +0000 Received: from AMS0EPF00000191.eurprd05.prod.outlook.com (2603:10a6:20b:5de:cafe::9) by AS4P190CA0008.outlook.office365.com (2603:10a6:20b:5de::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.10 via Frontend Transport; Fri, 21 Aug 2026 16:23:33 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000191.mail.protection.outlook.com (10.167.16.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:33 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:09 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:32 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:22 +0200 Subject: [PATCH 11/16] dt-bindings: usb: dwc3: stm32: refer to dwc3-common Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-11-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000191:EE_|AS8PR10MB5927:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b52bd11-4b44-4cf3-ad05-08deffa08bbb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|23010399003|1800799024|36860700016|82310400026|10067099003|11063799006|56012099006|22082099003|18002099003|921020; X-Microsoft-Antispam-Message-Info: 8407csrIuotfheYxyomqe27lNYyN9pP7VyXIlzTRhVPR3pqCFwiIsdQyLXqf2f8pj4nmhrj+TU54rxSAqPN4+2MQJYCXrYDNlF7GLSpy7Ty8E5hFMUru/zkM7hmkp+Qgt1Ytu95s1jv29DtsChxJoVB8ibweku6AQN6H4U3M5ged7Y/yU8xFMXDguiaJPSrlNspafjc5d96xStvzqIRvw7jpF0sK+cBeW8D5Rl7SdaggVCPLzBC62Yn1DE9P/KjArQKedqmYZB4hzSOJyAb8Ybt+bCp/mX557HqtqmQwUaD6F1Csm3jON32/HahNHqjZnYzqcFDxfWEi8J67uJ9BtXXEPty7sNsA0YUSdsP+mbZRbZNSu+tlaLK+sTMeEOPS9enTl46JOh1whHwOBwl2+lvmuCrgVwwT9X1FjwsrP698Vs2ZnwJdwXH9Kxu6SQKLAEof2OdPZ6Q97ZTf7vFI2ztzKSdZhVJcFRVCUL2zJu++CJxZ9idllnxDbpHdwz5oPJk16iuGTnuodSC3tXDqLPpdgDMR2L8m9AqwGpV8vvR23Cl7QRv2IwlZFpU7aXmZrrcgSq8Bn0lq81BiY+zImrauSZVTQGJdgi0tCxdrl22IdDCXxruGfWfMAAY4ag77fltplCcsjEl5ZOMNklmHx2sYfEG2aJ3V49fKpw18qaKYYvSqE6XEjZwT/CRy3pChxrhd+RoGlz6z4zdtJSUFMaEyhHOS/C8t72iQIi6qYY3prBjZUNmwtNqQTlHf9TtZ X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(23010399003)(1800799024)(36860700016)(82310400026)(10067099003)(11063799006)(56012099006)(22082099003)(18002099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rt6hekd3gPsI9upO6a+hkB8sa1a35yl+m4xEQylau2bzhmFg0F78lmLZjs0bDE7JulVQoJZPZQcOPFGVmcKbiHiG9ysFvEgN2tBz1Uubjy4heYnqmIjemwq8LwrMuzhG4i9KywmsQotdTVF7LhZK0B7XQ1keMpgtgvIRILACIxT2wo0wSBcJR+uys19nEqIj35i+grK3RkOOW19Ipf3bF5eZp7l1GxJ9w+SScK8TzbfofewMDLNHhFBB6EWgeX2wqf3lys9Vp/6uKms3qVdwSw1PVDL9HkHTM0h2D6UIaqgJxmxH3CMh5xEq9yy4JjkXNWX9QPBCEORbzB6e5nnpFt6E8UpVsDDGnP6sUz9EH97dnx420KayZIPCq5oq79MfG3n7z1xNQR0xv8wUk3PI0vw5PEzhbdS4oG0y9QVl7VyxzCSk/QtwHJdScDMU24bH X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:33.6533 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1b52bd11-4b44-4cf3-ad05-08deffa08bbb X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000191.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB5927 Add reference to the dwc3-common bindings, used on stm32mp25. This is a temporary update, as it depends on Marek's series [1]. This should be dropped in later series revision. It's a precursor to validate further DT addition on USB and Type-C, with usb-role-switch properties. [1] https://lore.kernel.org/linux-phy/20260816213849.1044073-6-marex@nablad= ev.com/ Signed-off-by: Fabrice Gasnier --- Documentation/devicetree/bindings/usb/st,stm32mp25-dwc3.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/st,stm32mp25-dwc3.yaml b= /Documentation/devicetree/bindings/usb/st,stm32mp25-dwc3.yaml index e377efef4350..161c5c287925 100644 --- a/Documentation/devicetree/bindings/usb/st,stm32mp25-dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/st,stm32mp25-dwc3.yaml @@ -14,6 +14,9 @@ maintainers: - Fabrice Gasnier - Marek Vasut =20 +allOf: + - $ref: snps,dwc3-common.yaml# + properties: compatible: const: st,stm32mp25-dwc3 --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013019.outbound.protection.outlook.com [52.101.83.19]) (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 37BE74D90C3; Fri, 21 Aug 2026 16:23:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329425; cv=fail; b=stbb/BbdMdIL2VZ93i2XfDx1tCQr64xPqq7twW1RikwgcjmrG3ngawIZD7QOtC2HL1al1djKqvy5lQaA8jGNg4ateg2ePfalUxvLAl/5aOyZBnpdoxM6zbqMmNXbo79JumPWbh3PeJwRxTKQzf4Kx0L42cWMPmBf1IvBPBN91qw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329425; c=relaxed/simple; bh=KixLaK2yVgQ5c+3mcF/RIUgLPv1dpS3/Kmk+OSkJ/38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=pveyT3671bGJAALDXQ5fmdUTsIbm2ykdGDF4W8Np6tY6gegMv9eXD3fxS5Nkj1iHjFD9UjqXEWN6OFDoCHdnU+Wa3bT08T66Vjlt57bxj9DT/XQxavU6KlKs/Xd0oRK8jhJnfhnqOj5+eeVv46A982HEbG6zYIj3ORjqA/gQsgU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=joo6P6s9; arc=fail smtp.client-ip=52.101.83.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="joo6P6s9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=K8AuoJFDUruHF56v8YToRdI7ATADUM9xQbtuMcaqjS0bKhNoE1YvIWK/FxTTy835eWOSCpKr4FtBzdimH0e/zfe2wtIUEKZmBtMULoL2IShZsbc173+WrBxNeE7cq/8PnfTaW4EVY5ZTPiaCkmVes+GiMEyrS4bNaZe58XM+NAlAQWouNAc+ohPpHu7PVtkbEvqaUtzX/0MM+gQ6GOoRMismpTWT3HABUDNWDZ2YYJqF8MCKwgTPVEhiQ64CWkJviqBiDKNPMiuOTA8m2iGnQsvCrG1SI4lte5l1BPintAXAuPoy+OkIz0N237YV8LjwZyx0dSdY8U2vk5PR14lVNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+AQN/LmEjkXl9+Kd6JfWcg0tzy6nTxkHPIhw9kTWg+8=; b=aKo/BM1h5Our8wr4++A4Ni8VOKlxxiSC2IKIJfKVKm0PXY30cG7uMLnyjpI3ipWMsvqXsRagUeO81ye4xy9VQ/9TZP+OaBofziten9F/tG6i1koQU6kydLji49B+3rX2dKEPC1vRZVtdBBL7o6ZNaFBP09X2ZJorvRgCumuR7SfFroS+MFp4F9/f8W1ipX2LyAmWEIMpzslarZnemVO3MWmZjcddl3Q0b+JuTnXjG5gyUVpHMLVjO99wSIGLZg620NKh1grhAKo8q1hGRsVdRSD3HorunNqMN1fSyMyheJsk8/VNSr+6tDQ61eq3QHKpeXJbrYclIi3r4wWjv5KoyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+AQN/LmEjkXl9+Kd6JfWcg0tzy6nTxkHPIhw9kTWg+8=; b=joo6P6s9Xg/9zOXXoxxfzWhlpgN2BVnG+FpWTyjfqS0v+NNdikU6fWOysMY7YaLONZ5pVE0YTugjL4RHTaPrdZIANLiWg2qH8Y2tRrKlvRUZqyERxQ2RCwAOJoLzyp47VJqTAeRPwtlu///NN4CXRauzCt/wMsM8Oc6Uoo/N+uCy9adIXMyE/P9xomxyb4srkKl/oQE76g8vaIImt2DImMpihhVTt8pivC57ITTLtj3MtEMMz0LpSXrgNy15xzIxCQgJwff7ki8fuKO96Xkg1WtBw5RWOHKw3n+dnrX/cYYGe6qVv/Eb13cSxTQtXrGbKqSB5py5JMSDiI2nXPEaOQ== Received: from DU7PR01CA0025.eurprd01.prod.exchangelabs.com (2603:10a6:10:50e::15) by VI1PR10MB3248.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:136::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:34 +0000 Received: from DB1PEPF000509F7.eurprd02.prod.outlook.com (2603:10a6:10:50e:cafe::22) by DU7PR01CA0025.outlook.office365.com (2603:10a6:10:50e::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:34 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F7.mail.protection.outlook.com (10.167.242.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:34 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:34 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:33 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:23 +0200 Subject: [PATCH 12/16] dt-bindings: phy: stm32: adapt usb2phy as syscon child on stm32mp25 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-12-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F7:EE_|VI1PR10MB3248:EE_ X-MS-Office365-Filtering-Correlation-Id: a88b99a2-f8b3-41d7-fff8-08deffa08c48 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|36860700016|23010399003|1800799024|82310400026|6133799003|56012099006|3023799007|10067099003|11063799006|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: ip4HFVx7OOPQNepAD+1punN4kDp6E5BDRb0O96WszxEw9ACW6UfTJ7jJwPfdN1kjjgey/0oXphYs3aMztWydTg/zjFkC0W8KAe4mCKILJJwooBCcODx4Xl8W4czDEcuLZ14Ki+Y+lHRYE5mUzg8gfThBVwZUjqxCPXLyfODZqiyyf2I4pmvcv4Cti6FCoFnQBAZOtWVyo7YQDxCNfYKZvi7syvBdTfU3lWgWpDH9uilGyFt9O6aHm2zhEqXwqJs7CFhthSJs205NhSzkxhCezsDPhNpVQKAHVP9wKZ+pbDAK6KEUvrmlC6EknhCPEzR563pn604XNb5lzWoTUyqVNPCnfEGNMXwm4g/zGCYR8TAFbBgtzUwYIwICM/kd27wvM/eTdigAudJ4sFreTMTsoesrOgqh66uKXM+rnZUELRIrum9rFz5KOxlurfcQbGdeOs4UtmcwroySy75SCnaKtOLIglkQpm+LoOPRNswMKtJNIzoR1h5dG+qTPYFnYYMvdtpksin98GCZa1fc8C0p4zh7aDeGQakjuQVLq/phH8rUztjZIMCYrZGn2Nl2+xGNydFUc6h9OzWyu7BP995U5rXBFvF+DNVC5+TmodV0beFoLcVZ4nOChS7RbDsr15EwWHshxdNORw5wWJOMly1pKnwYKe/6IUOcaP4RHWFoTaCBLYHLkywpIL/az4i/1MM8aXMOKN8WW5Jj5TfYOJ5EJ7NDy4Yg4mCUWICucnuhzzPw3oL5ft9uWob2pC38cpMI X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700016)(23010399003)(1800799024)(82310400026)(6133799003)(56012099006)(3023799007)(10067099003)(11063799006)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: d2IYHxjI3oQTUATc4aYwB69kISYCiT62rBt2rK6N1xLYsKtiTQvJVPScRx3tk/YbBG/uLGAQakDtRXHe4qEBUFlsLpwMvJgfD9KkzoV+/wr4NAEt33Qr7G3kfaWfKCWRWE6ymzftBdiWygde3pFtz9e9GDwvl3Ipa6zdC+rD9CKma00Ud1nonnkt6gGSXQoat8f/u/lypLTwWqGonUm1BxXXZsyVC3aGZk28pQnURvY6mN7oQDomBfrr+62K5684UhhMS3RiqJWuTNnzAZUX8ttJ5Ymo3c/sJPzR7Q2gujqoK2D5C1vO+7rX/CBapoq7XJeGZq1xU8WPTJ7yIbDsquBKd2dHPGSq8VNwHaD38KbLyY71fRlkQk2O2nFw8Cm0xxtiydfVsRWEQvGhhUCFqvZ4KAfWRgGY3WpYLdrdTgWgTh9mGQMoxwQbr5Rogwco X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:34.5475 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a88b99a2-f8b3-41d7-fff8-08deffa08c48 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F7.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB3248 Adapt stm32-usb2phy since transition to syscon child node on stm32mp25. This is a temporary update, as it depends on Marek's series [1]. This should be dropped in later series revision. It's a precursor to validate further DT addition on USB and Type-C. Allow usb2phy to be a child node with reg and unit address. It replaces the st,syscfg phandle. Also adapt the example, e.g. stm32mp25-usb2phy1 address, clock and reset. [1] https://lore.kernel.org/linux-phy/20260816213849.1044073-2-marex@nablad= ev.com/ Signed-off-by: Fabrice Gasnier --- .../devicetree/bindings/phy/st,stm32-usb2phy.yaml | 20 +++++++---------= ---- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/st,stm32-usb2phy.yaml b/= Documentation/devicetree/bindings/phy/st,stm32-usb2phy.yaml index ab6c943af9a2..3e8f57a46db3 100644 --- a/Documentation/devicetree/bindings/phy/st,stm32-usb2phy.yaml +++ b/Documentation/devicetree/bindings/phy/st,stm32-usb2phy.yaml @@ -23,6 +23,8 @@ properties: - st,stm32mp25-usb2phy1 - st,stm32mp25-usb2phy2 =20 + reg: true + "#phy-cells": const: 0 =20 @@ -35,24 +37,16 @@ properties: vdd33-supply: description: Phandle to regulator providing 3V3 power supply to the US= B2 HS PHY =20 - st,syscfg: - $ref: /schemas/types.yaml#/definitions/phandle-array - description: Phandle to system configuration controller. - items: - - items: - - description: phandle to syscfg - - description: USB2PHY control offset within syscfg - "#clock-cells": const: 1 =20 required: - compatible + - reg - "#clock-cells" - "#phy-cells" - clocks - resets - - st,syscfg - vdd33-supply =20 additionalProperties: false @@ -62,12 +56,12 @@ examples: #include #include =20 - usb2_phy2: usb-phy { + usb2_phy2: phy@2400 { compatible =3D "st,stm32mp25-usb2phy1"; + reg =3D <0x2400 0x24>; #clock-cells =3D <1>; #phy-cells =3D <0>; - clocks =3D <&rcc CK_KER_USB2PHY2>; - resets =3D <&rcc USB2PHY2_R>; - st,syscfg =3D <&syscfg 0x2800>; + clocks =3D <&rcc CK_KER_USB2PHY1>; + resets =3D <&rcc USB2PHY1_R>; vdd33-supply =3D <&vdd33usb>; }; --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11011030.outbound.protection.outlook.com [52.101.65.30]) (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 37A134D2EFC; Fri, 21 Aug 2026 16:23:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.30 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329424; cv=fail; b=DfL0tvSS/AQQqRLzf0gX/1iWFDCj2MoSRyiGaVauwFITWAvCgDKUY4fPeKMRe9yIhG8Xm/XiJ1r4nZTQExQfLMJqmyKIjTqniyWt5RzcN5FCubmkscHx4dz6FTB4TmH9l9f4zUJy6VXopGf9ZvCyKBQ9SnVRiPaXNBSoDbAkucM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329424; c=relaxed/simple; bh=Q8oOF7SNNv19Het2w25XWe2NvvZAb/iedut/HX4t6NQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=WfgFh+fhVaW/A9VEI4AtF8eabr82E3UwJNIony49NwwAxXC2yL4/UZ3nGI0r2BuSOKuSrWxHxjpIEPWtYaOF6dFb2pkwO/QUd6pR6Pfksr48wE1LmLHlO7sl0gA8sUhEnVClnu8XZ0hY+cCdy9g0ZUhXma22CtqXIGq8OaYNzk8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=CvdLTvSX; arc=fail smtp.client-ip=52.101.65.30 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="CvdLTvSX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bO6MPeFi7SgZ+oxA116j4CZMUbUD5y5D/nUpmP8TBTL0SCXF9O+GC3Ie2J/WgiRs+Nej0H8rr+VLhONtqJSGtJxzDqXJjdHjbfP8PQb32ni+zKH2vwNEtoG2MGC5hF+X1uCYH+sLqCvGeEz3zyfDziMjGwZbmt453Qb0T/hmOIWRFTl1iyUfC9fI/4sM6e6alFNEJ+pf0MZPCfF0I/oCFJa68WgOgiGjFbX5mZS6r2gUpvDQX/lB343C97INYG8V2F+xbY7wMM4Bah5DP/vyzzfIryuJtsAn6r0srpA3o7C7zldGRQ44j4MkLc5ZD5Mr26o4+/6VS7bUOyQLsZHc+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6MU8GM1wsNJfE8HrvUQ/mh7Wq67SibJX7NyjBKMAqrE=; b=lTE+K7IGecszpKi0WJFMjquBYLslr3b0nFNA7MtetxuMlZcF9zqEuuzEitCwuuz67RC64bGh6tL65A8WZ7wjyUzUhJRU6Cxs9Z/sZ7TsoGg/mNv3X/Ype+IxK/0dYpBwfOk6E6AJaCaaMdaj7XZbfyOMHsne6aZiRRO2dyRkheiCB7grYHURhakScVbykl0JWlPjiDAaARMA6cnyBqk+42/eb808EjjhF9YQt4RzvvA/XCpvLWISeLGUCWYfIweAQ9hpn3P3Zvz14qGwVe7IDekq2l0tSwdAHN/CMIXf1KMhsZ0BPuvTW0hxEvH9RQz3NUBZJXTebkIqYqlUtXK6Ig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6MU8GM1wsNJfE8HrvUQ/mh7Wq67SibJX7NyjBKMAqrE=; b=CvdLTvSXYUuS4h9ByOgLKNBdBMFX9r0PZq+u3cgtWK+ii+scifcEP4a55HeWvNAYDrhGEQBGgdeKF1g+cP0mxL4FrqUwun0B5ZWAxyBYVfkxx9wkzzUa1ZlD2W3OOAUlCm7xiPIROxQzzsrdm/mU3nWcJuOt+ErzzmDmEdyCosBVHszLoAlpRxFAenz66mcjLiJNplj4A04YMb4/xtMPZrdWrtEX+dfgmNqf02r0OIcFb7hLbO8bYzAIJcfG9IqP/8Bu8uvWPdMhTVpcW7+bYgQmGQKBskygcFFqZXw6PZBFw0s97ojUE2yASLspFc0ZuWZmDX1MHK4xhZNi54MujQ== Received: from AM0PR10CA0007.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::17) by PA4PR10MB7964.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:272::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.11; Fri, 21 Aug 2026 16:23:35 +0000 Received: from AMS0EPF00000193.eurprd05.prod.outlook.com (2603:10a6:208:17c:cafe::59) by AM0PR10CA0007.outlook.office365.com (2603:10a6:208:17c::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:35 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000193.mail.protection.outlook.com (10.167.16.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:35 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:10 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:34 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:24 +0200 Subject: [PATCH 13/16] dt-bindings: arm: stm32mp2: allow child nodes since simple-mfd transition Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-13-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000193:EE_|PA4PR10MB7964:EE_ X-MS-Office365-Filtering-Correlation-Id: e4900913-24d9-4dc1-ed2a-08deffa08cdc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|7416014|376014|1800799024|82310400026|36860700016|22082099003|18002099003|56012099006|13003099007|11063799006|10067099003|921020; X-Microsoft-Antispam-Message-Info: YHDbeaYOd4SbJ8JmbNuhiO/pUKSpUuKsoWFjSdXDbGaB0QG7FWEPqdx1alX0zPJ5Yr4adRRT5LrW8oZzPHeLw6Yy/9eLgSzXprzRPMFhevpH8+AdcS1c8/SoAu2LKofzgYraKwepQSynPcrIsOxIDSCXucQGXZxplxnrKbkjj9JPQsoz2bZ625MrpSV0eXBVNDP07GG1OS0baGPhrSLqaEjD+kuiB/zT23hsn7FtcVM3D4RuB4SFJF61MCG7qqdT1wPYAHOYAoTPTLdYkhQdfpaDWs3Cp2bBHV6OspXaAGmxorxeAKBPAK+cnaAt1C1i95guKl+lM7kAjG5flVHl93gZP4pwg2XO3wN9iuTt9vSP4EI7mR9Gze+7Yzc0gIpQdXx4AjLkN6EF/61Futv9GgHa5DK6HD+oZDgPINfORV5+u6BOCVhwKD52oYxEwLBBy/d07q/nXezYznOomj3JZ6jMrJdM53V2c3RbW6FYwVkocUjjij99o1hN3WUgpHQoZPLHy5iKVJH8CojZaKx3sDqBnJg/RJ43eQKEWxNdN7WwGjIlqe+cdNr2gnrEc61vIIFmUeMeKNludj70w9Ysf/DYGADtbmQ9a6swdg5mtGlCWljhyfF4dqhaMP3fI3pXlgQNjlYpEqfXIgn+tBp8JId+P5MdDp7wQa9xlRgBB71q9hM6eqgYFBTsYi7/5OJODaWk9g+PWs8nat5wZ4Zt3wz+D4dnJY1eQdIWM8D2YPPOgJVTVZq3voCNT3oMDwi1 X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(7416014)(376014)(1800799024)(82310400026)(36860700016)(22082099003)(18002099003)(56012099006)(13003099007)(11063799006)(10067099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ReBNezAASiMmYMvmc8YDmTi8c7z89BE2RI8HTYJarIsXnyfBTUIf+k5+03MAyeT0aj1rAmsiOCSYLPrU9SiqAmjb685bugjuNQlhKWslMxlz4WF9L84iweZBJC/YlhHaXhCSNi9aLODtszLiWQG105VDQPsMqvd0AXTFFmZP4WvO0tz/LloZyvWirhOfraEf1lC4rksgkukgPypZ8RrCSRxWXldpmwYhDMNaXlz9Rs49qM/GyzFxOe6ye+Nz0TJxlCiU3ibXL4jnsLx5fueGUSPdLl/oNlnIb7++CGa6k/Jdrp9jG4ZURzXyj5Jioy67MgegUpXhgaqdFLhliN/AWB+ATC+8O0zZDyUA/70oE/Q1mqE6hYIzj+h+bvtTn2eL0I46Twvdv8PZYcIa0XQJWzweRcoviDal+F6YbVm4yvgyJFVclAsbN0xYbIkm+0ZF X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:35.5429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e4900913-24d9-4dc1-ed2a-08deffa08cdc X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000193.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR10MB7964 Adapt stm32-syscon on stm32mp2, since transition to simple-mfd, to support usb2phy child nodes, that has a unit address. This is a temporary update, as it depends on Marek's series [1]. This should be dropped in later series revision. It's a precursor to validate further DT addition on USB and Type-C. [1] https://lore.kernel.org/linux-phy/20260816213849.1044073-8-marex@nablad= ev.com/ Signed-off-by: Fabrice Gasnier --- .../devicetree/bindings/arm/stm32/st,stm32-syscon.yaml | 10 ++++++= ++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.ya= ml b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml index ef640443dd23..964e1a5a43a3 100644 --- a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml +++ b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml @@ -40,6 +40,16 @@ properties: "#clock-cells": const: 0 =20 + "#address-cells": + const: 1 + + "#size-cells": + const: 1 + +patternProperties: + "@[0-9a-f]+$": + type: object + required: - compatible - reg --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012001.outbound.protection.outlook.com [52.101.66.1]) (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 770174DB575; Fri, 21 Aug 2026 16:23:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329425; cv=fail; b=NKCe65AL3BDbhFTSxJOjmhcnmSiUXraMZTOvjpNkshloO5Hdp3lK2jk80aKoKw9zLMT0FAg963yRX1I5jFNPBCMRcx019xSUA/zWCQFOE9l2d5tijc9x9V3AsnkUOrWV8UjkZVXtyEnZSLBujS6ygYP3r4192zNJjWVnBkvLDsM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329425; c=relaxed/simple; bh=aj0YZtT24s8cuNQYQXlcykNyht6Rjr0BazpVqYF+Mgo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=rvXeCYDEqwB/Kswjfoq0yTbTD01p6zj+E70e4Os7cCNYDlCnqnWHbqb7OZqb1QrR7Fc5Z3ontiiCmaBTfes0t3jrHVALykSlGS7KrqmXgXQsYrIJ1M6TtMQbeqheDM43b7DIyWpqMLAfi/pkMUUxX1TxnER9n2zopGz11xfhfq8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=TKI0rAaT; arc=fail smtp.client-ip=52.101.66.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="TKI0rAaT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vt1NlrIix1Cvb/J8mI3Q3JKmii16qxL0XVO2Ka/6DdhnxS7PdOx2ih/X12kwgSWBPH1aKzm38DBLEWAXl9LKngYbtVGqPubYM5tyq5LVNqLhJkr3JCSJp0lMYz6xCufgdM0FXN5Mcq7AMuBq/Ae/1Yytch02Um1Eh6r2ZybJBOZrZ2EuAMfeaOH+32q68ti6GggTWjPjg8415ExnZp2aUo8W9Y/StK0zQPqlEcofj8ypckcdJRQIfme1aCz8yUXFlAP1sfV/uM0xxrN7CRZ4y5Y53tqOT242OqExrbuox3b72WhWOcYt9eOZR6cQvRUGSpcUP7snn8WdU25qkUaLEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hP7hhIf7wFwZnKEm8l5Z20gDmziBB27NVhkYA3BI8wM=; b=w35AnygJT6OEjIYEeWSHnTJj0mT6o2P1dazGY5RsL1UvgeGA9TFiAkPkmNfTe2p71E+yWy15KTiYcuYSfFY6tKEFKrvElyd5rSxfpCnRxH2ZSaKS7eEyazMcOodPwpJAPK7NUutjv6mA8FiarM3eJVuEbGtt794axiH/FsT3OwUBXUXuiaHRtzuHRd43ZX1iHikYrOtH+VVc75U7otiNGUtAfMbUrESn0kHRp4MJRZG9M5QFcIalqmx0lNd4s9u3Xxa+Lw5/LPgxYTiEH2/X5ajjn48eTIvb1wzXS1fav04vHtRNiEvs8o4r3mgG1emdMSgWN+DElzLqJXlVcxsl0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hP7hhIf7wFwZnKEm8l5Z20gDmziBB27NVhkYA3BI8wM=; b=TKI0rAaTcwHVkzScvf3nW+zzPVgTCIr9JXO6M4AEXV73UcWY9ilOHDbElu1JSDC+lzY1wBf/GflIKY6g46LKaTf10shQSB0KUzHaACDO2FccqbGk+Tq82PXPpYRKGMByEXfTlef2v5CT9ebTguFfbsjDo4TX0ZDxWhfxPnqNOU8tQA4mc2aoGWC+XeKHH4IegBTlCiuPl3a26ErC6FJ8yWBOgvYoP2XjClPZ08nlHF1IPOzt27YucE/eVYLQQ+N8ccETsnWVO6T2ihdw9FeUAAtd4bPH6o7Xa4q81HRM95AjSMZq7GWAqePldcooKgU1/zfN8Not1UwLpyxh2hzjXg== Received: from DU2PR04CA0360.eurprd04.prod.outlook.com (2603:10a6:10:2b4::28) by AS4PR10MB5870.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:515::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:37 +0000 Received: from DB1PEPF000509F3.eurprd02.prod.outlook.com (2603:10a6:10:2b4:cafe::a2) by DU2PR04CA0360.outlook.office365.com (2603:10a6:10:2b4::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:36 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F3.mail.protection.outlook.com (10.167.242.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:36 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:35 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:35 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:25 +0200 Subject: [PATCH 14/16] arm64: dts: st: enable usb on stm32mp257f-ev1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-14-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F3:EE_|AS4PR10MB5870:EE_ X-MS-Office365-Filtering-Correlation-Id: d8b9ef1e-23d5-4b36-d067-08deffa08d7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|7416014|376014|23010399003|1800799024|82310400026|921020|10067099003|11063799006|5023799004|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: kTsksAgAkvLgdkFAf7Qd+qZ7PwpNRghzOJVogq4/QTTOHLj76fmG5zxxAcoxq5N7aDUZolhJTrtGo1rYov6Tk9v6CFR60JM5wKZQpLTsP0vDxMlxekt280dW2gfZ+ayRlTN4TT3OjsAPq1zi+yOem/98R6YLH246Xths/KULq/KAkmaMVLYJVGenPw7yvOgNcYYROkVqEv4Dpm+zSwcMwXWPl9u6ecs0Rz7O4QJSpyPmCCv1qCOLGfnTPQOFd5ULKm5CK5R8Nz2bNL+qmauKusO5vHRn8EFAUp2Hc7ghhNLhlohzwgRZ3RM2BGeTFN8dQnjYP1fJKUNhJmKh0ByiE2EbkXv3dKBBARP8C6KP5b+w/InRbocZCTzzQd2yM+uEJ35bEvN1M/ZBQJmuTICumlIRj3KgqfUIvYs7aZrmqRWYHLajqN305Gnk0WNlpv3nXfQ7BvsuBxfba7q7zPC5X7Nqvan5IhZfTlUd/j464D1CdBk+Y4bIvtS/ClO0mV4lXUM+fteM3/4Lu2VQao7XAcOEvYkR0METdFTzuuBjXbIapjoOZ9hC6JBN6ZXlfGpqAEog9h4WLwZD9tOaH9VlRwmEdxZi/iioZJXMJi88jlrEDGiyHRPo05/Nu+V4l2o1Ze+WSlR7Xilm+C6jLX4JGAvxPTxck8ICWxyF3vVy8vYaWyYet/cB+Z3oxa3XDtaIlKxoT09OR/Su7vROcnWNAHsOlXxSoSuSTniBlMlv2nxHuw2awHSBLbWFwL0lrUWO X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(7416014)(376014)(23010399003)(1800799024)(82310400026)(921020)(10067099003)(11063799006)(5023799004)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: P+EAQV0LoafwRoUKmj7RFlW0mhjZI9Cyae00JCs2oShtpSv8FmqFnn3uI8N7WuJS+Rs2X26Jz5cbLkSdfPDliDpR82X3agb7+jU4ENGDjjk2StVD/zwefGDbm+xR18Tw6VL3AFm+i5b5bMpZDZxJu3lrSFTfwQALHEqoHhEg+QA0xJOpOg93+wVVjcGbnCw6S4awlefKlRb3eSiy4FQpDTUnIp2N/9F1pTfiBXK7Om3Za7S5754H9uCsVVLdAMDQ7ZsL+3TXXtoUT3C6OtJVOsAZcwPyOnuefXM6wifdt8TdZ6iQeLlWihdPWEAhiqYEO3nAXK8LtQMW3BbqpNv92W9/rKQbEH+n0DbUJUaBFt/nMEPQk42+lDkGWbHw11eTBBXZ29gxvsGQs6fCBxOSFf8bdtbBsQAKu2bI+YyexgldLWh3wqnZWtVLXe3cjM0f X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:36.5558 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d8b9ef1e-23d5-4b36-d067-08deffa08d7c X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F3.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5870 STM32MP257F-EV1 board uses two USB controllers: - USB Host port, with external onboard HUB providing to connectors - USB Dual role Type-C port Both are capable of to operate in High-Speed mode. The Type-C port management is done through integrated UCPD controller and external TCPP03 I2C protection chip on I2C1. Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 79 ++++++++++++++++++++++++++= ++++ 1 file changed, 79 insertions(+) diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts b/arch/arm64/boot/d= ts/st/stm32mp257f-ev1.dts index 14e033f365e3..6c2bfbf77aac 100644 --- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts +++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts @@ -253,6 +253,28 @@ phy0_eth2: ethernet-phy@1 { }; }; =20 +&i2c1 { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&i2c1_pins_a>; + pinctrl-1 =3D <&i2c1_sleep_pins_a>; + clock-frequency =3D <400000>; + status =3D "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + tcpp: typec@34 { + compatible =3D "st,tcpp03"; + reg =3D <0x34>; + enable-gpios =3D <&gpiog 2 GPIO_ACTIVE_HIGH>; + interrupt-parent =3D <&gpiog>; + interrupts =3D <1 IRQ_TYPE_EDGE_BOTH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&tcpp_flgn_pins_a>; + status =3D "okay"; + }; +}; + &i2c2 { pinctrl-names =3D "default", "sleep"; pinctrl-0 =3D <&i2c2_pins_a>; @@ -516,6 +538,27 @@ timer@11 { }; }; =20 +&ucpd { + st,tcpp =3D <&tcpp>; + status =3D "okay"; + + connector { + compatible =3D "usb-c-connector"; + label =3D "USB-C"; + data-role =3D "dual"; + power-role =3D "dual"; + try-power-role =3D "sink"; + typec-power-opmode =3D "1.5A"; + pd-disable; + self-powered; + port { + typec_ep: endpoint { + remote-endpoint =3D <&dwc3_ep>; + }; + }; + }; +}; + &usart2 { pinctrl-names =3D "default", "idle", "sleep"; pinctrl-0 =3D <&usart2_pins_a>; @@ -534,3 +577,39 @@ &usart6 { uart-has-rtscts; status =3D "disabled"; }; + +&usb2_phy1 { + vdd33-supply =3D <&scmi_vdd3v3_usb>; + status =3D "okay"; +}; + +&usb2_phy2 { + vdd33-supply =3D <&scmi_vdd3v3_usb>; + status =3D "okay"; +}; + +&usb3dr { + maximum-speed =3D "high-speed"; + phys =3D <&usb2_phy2>; + phy-names =3D "usb2-phy"; + usb-role-switch; + status =3D "okay"; + port { + dwc3_ep: endpoint { + remote-endpoint =3D <&typec_ep>; + }; + }; +}; + +&usbh_ehci { + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + /* onboard HUB */ + hub@1 { + compatible =3D "usb424,2514"; + reg =3D <1>; + vdd-supply =3D <&scmi_v3v3>; + vdda-supply =3D <&scmi_v3v3>; + }; +}; --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010059.outbound.protection.outlook.com [52.101.84.59]) (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 02A3B4DBD8A; Fri, 21 Aug 2026 16:23:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329431; cv=fail; b=KoBh5frfRXfaFlGalzn76SBwTylg6mQd1JCT8kgOyJBg8lCE/RTmM51CyLovsVWayHiMt7939Lrm5/aRh3lWnK/wNG3uehD2irtEqOF/OHGJr59FgWoXTNSQXjXN6eqfGG0sxb51LU9KdnoTLoQDlIEPLfE6SZfPD3h/wXPQjNA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329431; c=relaxed/simple; bh=qoQYbbmmMlAxP66LsT1aaSjRen4Nkni7wezF73fFr1g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=uP2+wd4qd9NbNlG+ghNSs2NnxOztEIUrkt588aDtjdHxiWO1bCnAJnFLgLgEpEZScqmUCQhvfVwzREa+BnjxFRTw7mL0+kCmpFw+wE8qe/e0Bd1YyQNo5lqTCZ9IsK+BFWVn4NlMk8mPrIoj++u8ruA4xd5krCrM4n8sLxAWgWY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=MUw+WPjD; arc=fail smtp.client-ip=52.101.84.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="MUw+WPjD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HaCccs/YSx60eHbN30sQVV6j+vyEmdeZcIin9lS/P4GHs2rXUqtkuu1Q5wtP10jHRL2jrt7yA5hecNhtBDhdHM1Y1MQbe28Y2BnXrJ+pUsscmClVZCRnhsOWLZwMKSBfgGbdXC5+9cIW4TWzacRThzPQLFBrve7kFO9Ja0BpYJBpVPZ4KQp1O4xLZ69mtilTZoLRAGIa41T/NJWQZWPFb6Rd1UH525YuQmuHLdM9iOaGnLXhRJxej+bTrLW3hP5o5oJNEIFzhYT/3kLjIr7HJENM+FSLrEzKkN2A4zsg/dM0uhzmTiBvqLGsN1A4jEpDgIUDWXdjbYRwQj+j4y7A9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cCHaMS8/2vBYsSQKE9oSrF/R2Iimd6I93ZbaBZMrt4w=; b=AzEXoUVFFQlB40mP7Lo35UX/GJl8L5JWi1xMo9wX1wUh4QlFekePk7CyT5FmgvtqMMpBWSUK8SFAyXZdzgtwoTMWWl9qpbMXrd8uMNiLasodBGyjEkXuWYKYdAIbHQ9RyuV6isw7xdzizORjFVgqFwRCiBAo3jwWsyizWPnz6AjQC8N91prsaVy0EHcQfjpMtBj6MwsJiC2X3yN8h3SClAFkCiKbM3ZQBRsKmgpgufecOwhfGZNWt/w2wDsRQGKcWzhV5rL8S+D/Ri+ed58YP9NZbB3GHytPHqFyFXQrMg+D535hUf8QVWZJpAruo6gNanZDZkIquuVH/rG2OYkqGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cCHaMS8/2vBYsSQKE9oSrF/R2Iimd6I93ZbaBZMrt4w=; b=MUw+WPjDg4M7CbCL4ymQU6spwN7eaa8EnOqLG+hWfO5gAffYErg1LQlLXmMbpSOa8qdz0k1PcmIeQ8lCBSlCcW2TFHM5maVHsVKMXUXNmNaNwRYTeC9N+AWRV760XHjbMoeZFEyxSUPc2mkBINOUPeyQ7RYq7i7gQ+ZjQywD7aGC0bPaNcYToYFm8pADYLwugS8qgAUwecJAFPv2OrWs6ayHjFp/DTdCUWJlDXlvO0D09TyaGA7ot39s0J8zkjTOpx9gi6NcA5eRd6P1O/cgQWsrf8kE3Ou+WE8c8Ilv0Mn2GX/NQGnT17vLZ8NiBxK94lwuhsC/cVFccC/ilBvguw== Received: from DU2PR04CA0353.eurprd04.prod.outlook.com (2603:10a6:10:2b4::13) by PAWPR10MB7368.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:2ea::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 16:23:38 +0000 Received: from DB1PEPF000509F3.eurprd02.prod.outlook.com (2603:10a6:10:2b4:cafe::80) by DU2PR04CA0353.outlook.office365.com (2603:10a6:10:2b4::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.10 via Frontend Transport; Fri, 21 Aug 2026 16:23:37 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by DB1PEPF000509F3.mail.protection.outlook.com (10.167.242.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:37 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:28:36 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:36 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:26 +0200 Subject: [PATCH 15/16] arm64: dts: st: enable usb on stm32mp257f-dk Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-15-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509F3:EE_|PAWPR10MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: 23341e32-9a82-4115-1d84-08deffa08de8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|36860700016|23010399003|921020|56012099006|10067099003|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: wlptRUwKSAvcoJzOTNhsKzuJRb7YzXPPpRCO8rMcdrMZcrERodYxbE7qE5w4vsG3AIIj/YuEqRmOkN4lT/8309OMxJLGsUcby9Q60j6/zX208GULd1JRVYkXCgc+RuTjQkJPf8CvGgXbPuYq8jV1pg5Sv3xbrmnhtwT/TevPGpcjtDg+KN9fuso4gQOy/Pb73OL3laZ7UyVDkn7LgchpMIpzffKEfm1Ra07j6+ymWla3AFu9eLXHtVu1iVULcY2q7SjpTMX/aiVged44kwoh0JT88YVd6xvYAi63s4s1E4v1fVxaVQl7tRAh0AOX8grcgI08Hx9ZAT5p/utVXRY3PyMZ/9G74Be+C7jAxrAJTLjPP6DQfdlFthbmpV7y9s6DxzNHriHlCSUYj783UoSJ7vcuvI9emXx8yADnQndiqpSJp7aCAC+akUe/KT3Fo5gQhwBWa4/Zxd6MKUjvd+Fv9CBSFrGno2HAjwU7vEFmGVKhH2lfjtULBFTSN2u0D7qzoyPkeWxJzKMruMIj3CdsPpWlG6NrWbi4KpQ2/heReVN3D4Stqh6sFgWGz6e2mDUnELENdN3rUIcgKAud3xEHRuurY1iSBhqixElGs/sFkqxF47sbPhFzKcLN4Q/5m6fLk2G0O0C85ffGpMsA5NWnb3SHoDCyokND0XP97zq+MSUkX7dNlx6pLBGnHe/r31B9veh0/gDPH4h+4Eg+gAuskRY8HWuiL1gJgKrG2VN03fIhF4c3+11n68d1i0yjF2jY X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(1800799024)(36860700016)(23010399003)(921020)(56012099006)(10067099003)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hLC9x9NqP0cTUK+B5/V8Dbj52dPxdm7jptaUnDMvoo3PzVakxj328f1OUnOZQ+bJjyBs46gyYnw2VNWvO+bQyE3YtBoKAvaZasRyNt0NidZJRQd9Nx88UsvrMoknXcG7YLhCFcC0CGbgJYhA1x6eS1m7BxNsve/E9rdUPLAdMAWqxMOWG2w8rBucD+X6g5cXvnvDZeGppBhTTInUINYx5oEchAqmaxe4qDymlsVLt3FbDQBNFVRp6X8M5SMwRmV+46UHzFrUqnKZhzj/eB2RdIXyZwiK/+nFtgzOSeEBiUVeTVb8uqnTqrzIQe5x+RfZwYJMi4rU2uaf6sI6NEO8us35O860KflmVgADOCVJzb8z6g2d701u9lQ4owgxxFvSkNsAGNPy8Y0WO6pov5iQPgEZdR/PcHwaARFW2b1nQ5AWG2irLFMgQAnlgE1FJ6oD X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:37.2619 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23341e32-9a82-4115-1d84-08deffa08de8 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F3.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7368 STM32MP257F-DK board uses two USB controllers: - USB 2.0 High-Speed Host, with external onboard HUB providing two connectors. - USB 3.0 Super-Speed dual role Type-C port The Type-C port management is done through integrated UCPD controller and external TCPP03 I2C protection chip on I2C1. FUSB340 SuperSpeed switch is used to reverse Super-Speed lines, depending on the orientation. Signed-off-by: Christian Bruel Signed-off-by: Fabrice Gasnier --- arch/arm64/boot/dts/st/stm32mp257f-dk.dts | 111 ++++++++++++++++++++++++++= ++++ 1 file changed, 111 insertions(+) diff --git a/arch/arm64/boot/dts/st/stm32mp257f-dk.dts b/arch/arm64/boot/dt= s/st/stm32mp257f-dk.dts index 8daf3dfd5133..fdb21c4c48b9 100644 --- a/arch/arm64/boot/dts/st/stm32mp257f-dk.dts +++ b/arch/arm64/boot/dts/st/stm32mp257f-dk.dts @@ -27,6 +27,20 @@ chosen { stdout-path =3D "serial0:115200n8"; }; =20 + fusb340: usb-switch { + compatible =3D "onnn,fusb340"; + enable-gpios =3D <&gpioh 2 GPIO_ACTIVE_LOW>; + select-gpios =3D <&gpioh 3 GPIO_ACTIVE_HIGH>; + mode-switch; + orientation-switch; + + port { + fusb340_con_ss: endpoint { + remote-endpoint =3D <&typec_ss>; + }; + }; + }; + gpio-keys { compatible =3D "gpio-keys"; =20 @@ -138,6 +152,11 @@ &arm_wdt { status =3D "okay"; }; =20 +&combophy { + st,ssc-on; + status =3D "okay"; +}; + ðernet1 { pinctrl-0 =3D <ð1_rgmii_pins_b>; pinctrl-1 =3D <ð1_rgmii_sleep_pins_b>; @@ -160,6 +179,28 @@ phy1_eth1: ethernet-phy@1 { }; }; =20 +&i2c1 { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&i2c1_pins_a>; + pinctrl-1 =3D <&i2c1_sleep_pins_a>; + clock-frequency =3D <400000>; + status =3D "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + tcpp: typec@34 { + compatible =3D "st,tcpp03"; + reg =3D <0x34>; + enable-gpios =3D <&gpioa 3 GPIO_ACTIVE_HIGH>; + interrupt-parent =3D <&gpiog>; + interrupts =3D <1 IRQ_TYPE_EDGE_BOTH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&tcpp_flgn_pins_a>; + status =3D "okay"; + }; +}; + &i2c2 { pinctrl-names =3D "default", "sleep"; pinctrl-0 =3D <&i2c2_pins_b>; @@ -279,6 +320,44 @@ &sdmmc1 { status =3D "okay"; }; =20 +&ucpd { + vconn-cc1-gpios =3D <&gpiof 5 GPIO_ACTIVE_HIGH>; + vconn-cc2-gpios =3D <&gpioc 3 GPIO_ACTIVE_HIGH>; + vconn-supply =3D <&scmi_v5v_vconn>; + st,tcpp =3D <&tcpp>; + status =3D "okay"; + + connector { + compatible =3D "usb-c-connector"; + label =3D "USB-C"; + data-role =3D "dual"; + power-role =3D "dual"; + try-power-role =3D "sink"; + typec-power-opmode =3D "1.5A"; + pd-disable; + self-powered; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + typec_ep: endpoint { + remote-endpoint =3D <&dwc3_ep>; + }; + }; + + port@1 { + reg =3D <1>; + typec_ss: endpoint { + remote-endpoint =3D <&fusb340_con_ss>; + }; + }; + }; + }; +}; + &usart2 { pinctrl-names =3D "default", "idle", "sleep"; pinctrl-0 =3D <&usart2_pins_a>; @@ -288,3 +367,35 @@ &usart2 { /delete-property/dma-names; status =3D "okay"; }; + +&usb2_phy1 { + vdd33-supply =3D <&scmi_vdd3v3_usb>; + status =3D "okay"; +}; + +&usb2_phy2 { + vdd33-supply =3D <&scmi_vdd3v3_usb>; + status =3D "okay"; +}; + +&usb3dr { + usb-role-switch; + status =3D "okay"; + port { + dwc3_ep: endpoint { + remote-endpoint =3D <&typec_ep>; + }; + }; +}; + +&usbh_ehci { + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + /* onboard HUB */ + hub@1 { + compatible =3D "usb424,2422"; + reg =3D <1>; + vdd-supply =3D <&scmi_v3v3>; + }; +}; --=20 2.43.0 From nobody Mon Sep 28 12:35:07 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013017.outbound.protection.outlook.com [40.107.162.17]) (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 B468F4E3793; Fri, 21 Aug 2026 16:23:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329426; cv=fail; b=oNM6z4cBHJ9rOSA1eg1xuaKX+neEPd7mIQNIDOrSy/1rAL1I2OxenET4VJotuBTPl1Oj7XLT4unCd2PHHW1I1nJ8RSXopkmpOkDWk1ZlEMBkQo2sHkqcXvJr5VomH3Dj1jsujreAK5YQ3hV6MyamNdgR6rBg7t2Y4/j8Rf6dEhk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787329426; c=relaxed/simple; bh=I2CHTXAdhPgqYqHj9MHhlAHpvVTn9A7GZ234SP7ckQw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=iD6DY/HdU8+JFIWkNO4l+fmys6fPMA5EaiOYeQIecsVty0c9ckVC9GjxCHxFT7FgetnHEsTlc0MYl2cF/PT1Vpgz8HSPig3YOOnG/M273RYAEHg8MEQT7ZCyyvXvTCzaTq6lF/yQZPUUFWbSgE91KOZ3kTKbNMgSnLjYV1bUTVA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=lsl5tkCL; arc=fail smtp.client-ip=40.107.162.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="lsl5tkCL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HUyXJX/kr3MLscH71g4IfTttUXxmoXl9/Xneb1Ft1QfeQpcc9vcZ2rWuUhAF0LlIf7vn9uEZkReC5Dq6I//EbCkDiNzV03e9cjH/vL5yxLzafpvxlwL1tkp034k+WKotI7cfG/ZeXLMf2wiGFhDUb1E94UZEZUTNxbFvLD8lqf3rFGTAyG4qaqeWklVCUQb6wPOk9nalBxHYVH40oxDWfLnfcw7IMwFtMtXl9NJcqFMoRo4KYfYifAlEjnB3OUTT7MdZTTthlYKqu34RxRodCXlp0YfkXbhMEA16bhTaW8Op2yz/O33YV/qzDZ7y3N+oAaFEeiG6M22Q6NDxg0ANZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GLv4gkUchbBPnSx/vd8Xv3gGrKa0K6lddwH3mvZHRWo=; b=tt5NU7ATOIPJ/7kK+N3tDaR9gAqzQzh7f3Yh1GlExAkJv4kd8Vqo8gBtYtEe2N9LCJDcwenRXuYegiOwkNEZ/RA2LpMZJybVTHALr9bpFy1kw91W2as+MUvq5iqwpsimgEgU/XQGWCGqAHcPiMgpAxGar3usyWmPu5r2SE8pG6fvLgQaFe7pJ+CFPyp1VfXyGZ+nyYKLOToAS4XYua8Vz5qhWWTv9nF+98uKnzt0/FWXahu+vMjw+q3IAMFDrR3HmKx7utWAAaYNzqqBCNN6hUb+IdyQKb99yjWn67i73iNhn8ikS8q987BPPABlDldUtXbJ7KKkE8JTYuW4urHWhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GLv4gkUchbBPnSx/vd8Xv3gGrKa0K6lddwH3mvZHRWo=; b=lsl5tkCLpPjK9+xBPzyBlOzpB5lLiTeR9M2KmMbTGUejsizqJA2+0yWf3jUH25Ng6BBiQzDDQaVoyr9f7ItoP8znI/rTaendXpUlBlavxKYk5ZO3h46SwL6KGrpXQEr6Tj1vizkYVNeFCNTdfxukrmMNypG28DS6usJxKeIl4rNP3b2D9MalEvsi/9xYEa4TLffrRWQb9WOQKMQbOevBAFpJL6796pNQ3NyOvwf2TwvE7+NMCJ7U7grOU2aRsyCLztJGve2GxxVt+3xCjgOy6tfhB44HGmuI08rIuUyUwDJsiraupliIFMIXQSGmor/SwDMjh3KnvYPAsX0ZSU5fvQ== Received: from AS4P195CA0036.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:65a::29) by AS4PR10MB5371.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.8; Fri, 21 Aug 2026 16:23:38 +0000 Received: from AMS0EPF00000196.eurprd05.prod.outlook.com (2603:10a6:20b:65a:cafe::87) by AS4P195CA0036.outlook.office365.com (2603:10a6:20b:65a::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.11 via Frontend Transport; Fri, 21 Aug 2026 16:23:38 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF00000196.mail.protection.outlook.com (10.167.16.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Fri, 21 Aug 2026 16:23:37 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:29:13 +0200 Received: from localhost (10.48.86.251) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 21 Aug 2026 18:23:37 +0200 From: Fabrice Gasnier Date: Fri, 21 Aug 2026 18:23:27 +0200 Subject: [PATCH 16/16] arm64: configs: enable usb and its dependencies used on stm32mp25 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-16-c5e27cbc0795@foss.st.com> References: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> In-Reply-To: <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Christian Bruel , Fabrice Gasnier , Heikki Krogerus , Alexandre Torgue , Philipp Zabel , "Liam Girdwood" , Mark Brown , "Srinivas Kandagatla" , Marek Vasut , Vinod Koul , Neil Armstrong , Pankaj Dev , Marek Vasut CC: , , , , , X-Mailer: b4 0.16.0 X-ClientProxiedBy: STKCAS1NODE1.st.com (10.75.128.134) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000196:EE_|AS4PR10MB5371:EE_ X-MS-Office365-Filtering-Correlation-Id: e4b04264-eb5e-4ec3-95e8-08deffa08e3a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700016|1800799024|7416014|23010399003|82310400026|30052699003|11063799006|56012099006|10067099003|921020|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: WG2AoKgN/8yMwxY3+RAoYeM4VDXoHzLEeZosK30fsjjRDYSjPjwIqPuGXPbA5x+lKEZhsZiLNbMg8th61va8PZ5JLbbovmn3AVyC0QK4QT353g7EieCQ/lumw2qFJAnLoYXHE00RPDvEbzwcbcafgenKWjJxgMcb7zf9764m7yk0shLgXjn547V5+GqVX4PTUiFlvNDzovUJsX6+9Ak9Y33F1VXZ9q52AQCv/sV1aJdZjtxN3OVp/Jyu7yinEWxDyWvbFY82FBT/rm7d+gBaACYxX6BGldRqNt7q42DkqMOPmqr5TtRjEuj1h8sAVwcM8nYk9UTVjZWaSREtEhmqswQHBO+9nGwlmLNGck2W06S8KoJsC4CCxBZ2nM55s8YluBkNdzaYf2TBApg2lsN+HOqLVtSQc/0FGcLLtDSWQ+j/ak1KnXhSdbvVm5X8MSygbssiIT+l/SF+AWXZSm+ZOYpUaDTvShObrlu7hmiseBWK8XxUNybTPltBpR/nvbI1FkPMaJPTCkcrAXUVbvNKL+p+DJY+Hiz08ltRcvLOihiuOPDHSrELK68EdUxHAX1aYgTMJ115BCp9M2n1MFxC4AmVtXDzZ3JH9m0UvhNz3pSAJGjIjLWGOcbmUm5Nkl9UA+LE6L+hjAInMo2wHCw+sjFACw8yN+QIvmJaBSumKj5qj+C9r0CZn84NYGhbK80EAIgZksiA1vJxtgkDv1lDUdL0s69buxRFyTfeINEjxgaNChvrDOUbJR+MNH4rwsjq X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700016)(1800799024)(7416014)(23010399003)(82310400026)(30052699003)(11063799006)(56012099006)(10067099003)(921020)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: B8jNc+p6Id/eMlxb2eai2jDcPEF6LA7wY94YJ7eyxH38PgX8KxDd8aorSugMCNvOU0JVUtrtGjSJvcgG8LrNIzH2cXLlHQtxwaAxi9R058T7YFuDO93m+DLxyeEIddooPY+6mG+UUIPnIvZBU9UOA3gBl7v9sE4jLTdnVKqsy+QJZmAUiMJCk8DGtTxbOJUzFntba1UeFgGpIy1Apn4qfZreB0MPDFfuwlp4qCrRCzVbRtgg3VX5SRoe3mMoDAqUpk1WVZFqM0uojg50PQaN5op4Z8C5N8DK4DhvyluLN7IT96OoXzanzsI0hnV4bm1v8ZVmXUwYlKKIwJayUthqPXgjObyAjjANH9TPFxE6ahi7W4EyI9oTFpS4eO7NP92kS+xZqngWxu4TzIB1s8WvZgsMRT/qkYV/GA5p5BzxIPfENQIHdsmkxrrV0MQCAYpZ X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 16:23:37.8099 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e4b04264-eb5e-4ec3-95e8-08deffa08e3a X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5371 Enable USB drivers used on stm32mp25 reference design boards. In addition to the USB HighSpeed and SuperSpeed PHY drivers, enable the USB Type-C related drivers used on those boards e.g. UCPD, external TCPP i2c protection chip and FUSB340 SuperSpeed mux. Signed-off-by: Fabrice Gasnier --- arch/arm64/configs/defconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 654a102cb5bc..b9aceadf31ad 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -633,6 +633,7 @@ CONFIG_I2C_RK3X=3Dy CONFIG_I2C_RZV2M=3Dm CONFIG_I2C_S3C2410=3Dy CONFIG_I2C_SH_MOBILE=3Dy +CONFIG_I2C_STM32F7=3Dm CONFIG_I2C_TEGRA=3Dy CONFIG_I2C_UNIPHIER_F=3Dy CONFIG_I2C_XILINX=3Dm @@ -1251,6 +1252,7 @@ CONFIG_TYPEC_RT1711H=3Dm CONFIG_TYPEC_MT6360=3Dm CONFIG_TYPEC_TCPCI_MAXIM=3Dm CONFIG_TYPEC_FUSB302=3Dm +CONFIG_TYPEC_UCPD_STM32=3Dm CONFIG_TYPEC_QCOM_PMIC=3Dm CONFIG_TYPEC_UCSI=3Dm CONFIG_UCSI_CCG=3Dm @@ -1258,6 +1260,7 @@ CONFIG_UCSI_PMIC_GLINK=3Dm CONFIG_TYPEC_TPS6598X=3Dm CONFIG_TYPEC_HD3SS3220=3Dm CONFIG_TYPEC_MUX_FSA4480=3Dm +CONFIG_TYPEC_MUX_FUSB340=3Dm CONFIG_TYPEC_MUX_GPIO_SBU=3Dm CONFIG_TYPEC_MUX_IT5205=3Dm CONFIG_TYPEC_MUX_NB7VPQ904M=3Dm @@ -1795,6 +1798,8 @@ CONFIG_PHY_ROCKCHIP_USBDP=3Dm CONFIG_PHY_SAMSUNG_UFS=3Dy CONFIG_PHY_UNIPHIER_USB2=3Dy CONFIG_PHY_UNIPHIER_USB3=3Dy +CONFIG_PHY_STM32_COMBOPHY=3Dm +CONFIG_PHY_STM32_USB2PHY=3Dy CONFIG_PHY_TEGRA_XUSB=3Dy CONFIG_PHY_AM654_SERDES=3Dm CONFIG_PHY_J721E_WIZ=3Dm @@ -1831,6 +1836,7 @@ CONFIG_NVMEM_ROCKCHIP_EFUSE=3Dy CONFIG_NVMEM_ROCKCHIP_OTP=3Dy CONFIG_NVMEM_SNVS_LPGPR=3Dy CONFIG_NVMEM_SPMI_SDAM=3Dm +CONFIG_NVMEM_STM32_ROMEM=3Dm CONFIG_NVMEM_SUNXI_SID=3Dy CONFIG_NVMEM_UNIPHIER_EFUSE=3Dy CONFIG_NVMEM_ZYNQMP=3Dm --=20 2.43.0