From nobody Mon Apr 6 14:12:00 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010030.outbound.protection.outlook.com [52.101.69.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 761A03750DC; Thu, 19 Mar 2026 09:47:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.30 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773913627; cv=fail; b=sWD29pM+hllAsMceD1QR7MLuC3p0vARO1ot/bsiJITCcLL/LY8gBvilC6Rwt6Wpwe+WBPT/JCZzJEKJE302OSNAc1ejWYevG18yE8XMebF0TAz/CeW1ip0IJGXjlNJATNkpVFyUy9G+CFaGgIcBDmTBxBVHbWcAQTC4TAkO8Fic= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773913627; c=relaxed/simple; bh=Yxval7MrNCuIXs1lDfi5nqgh6oU2AJNYoQRmTDGKiWQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ZkADIURNO17sOn51qOeIuc3UpZ3uXZzYrmUF+OdTBg4ScZ4qIr9hdOZAqDH7A/qZNx5j7uSBE58NWAPX/FW4GIyc8XQ3IDRBvneQiRXJTqcV03UEP5fnP3kO00GbmoB8PzJPhjw/FWHOQwsEc4KyFIsErRkB11k6Za4oifKoSRc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=f/SZs0iL; arc=fail smtp.client-ip=52.101.69.30 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="f/SZs0iL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XoHwTIBFei6Bfk7tFYN61EjXEs4VDDVuOdt/JziUkS0Q6J4WBBYlmpm2OQg9sj4NX72+GfkSqhrbSbHGytV+HIBmr52CzTxRCdg1nbA5u33dH3syR62nFMKXCFp5mcmQJYul1nJ+QwoGA1Evf7XvuJTgeVDIHlX3W2ur7cqn4KDxiAs+1aXTv6G7aa2tSTYO0agBgCUeaYlNrtMFTH9v7QLlbi4RzN/z8fWiMl7vWKZAeeL1p+Yy/V+UerhxU8GgdUwTgww9y4aJHbMylpfqJQn0vQyB08uNu9NxsQN9W4TkD0qohNldOD2hxAAGCqzqPtXXTuPpBCzsYFNRBbD5bA== 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=+jekD139htjxMzkZUhVBXpARN7EOrHdEjFYlYO++i6E=; b=sGo2oy9CT7/GqQM8d41tDGOTiYnCLTZlQHlTfyaqaxe4LYFt9THOFk8dMDpmyHLxZcuXF/E+6VKiOFHpnwDzKdcMwKVw2JZJ2oDKRFLOQUuC6Y9fqI5+eqPtYjUHDCdpMnZtGw5cy0asKNF7TQdIOxNK00LH3zQGyKDS5IQoD+Zsq3mKRWybG8/Um/bZCTVr+l3GRQrnuZPXU4De9A7NAiaU/vi5zwvftRO6kONtuTXgpQ9TdSgfx28GczLLCRP+JabWK2Uz9WCAcn9jrtFEdCmXZoJ237cJoUCK4XSOkWtpVk0rcodA92vovw+LUHKA3m40OVDUAqt+Uq1goFDUPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+jekD139htjxMzkZUhVBXpARN7EOrHdEjFYlYO++i6E=; b=f/SZs0iLnhT+SA0NNEhSN/S0kbWnoy36DEBq/oY3enXyKheXH54ZxnyQmFEsacwriUX+OEf/te9s5CXOyIXWJgWlrz9fyqNd+acFJgnRqsRSOn49w9LW8BAvNn1e7oQhW/a1rK3m2yq1yZL4SGAU45FIXUGdAw6hVqjypUm22BzkoPPYn7tRhDFKGFB1T2Yxel1d/ueMiVExEFLILnXYDTBNs6Y5EpWQBpXl4Xw4FXajIfs45FAU++1KlWuCIHn1MoX/LSh74wws1jREKJ/ovDic+ebNcNv/WuRl74CVClKw23No8oU/GT4hRhHyvrpRcmjBlRyTj9tZOvnlZ+2RqA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) by GV1PR04MB10453.eurprd04.prod.outlook.com (2603:10a6:150:1d2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Thu, 19 Mar 2026 09:46:59 +0000 Received: from DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce]) by DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce%5]) with mapi id 15.20.9723.018; Thu, 19 Mar 2026 09:46:51 +0000 From: Xu Yang Date: Thu, 19 Mar 2026 17:48:48 +0800 Subject: [PATCH v4 1/2] dt-bindings: usb: nxp,ptn5110: add optional orientation-gpios property Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260319-support-setting-orientation-use-gpio-v4-1-ab6dfa8610c2@nxp.com> References: <20260319-support-setting-orientation-use-gpio-v4-0-ab6dfa8610c2@nxp.com> In-Reply-To: <20260319-support-setting-orientation-use-gpio-v4-0-ab6dfa8610c2@nxp.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Li Jun , Badhri Jagan Sridharan , Heikki Krogerus Cc: linux-usb@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773913749; l=1456; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=Yxval7MrNCuIXs1lDfi5nqgh6oU2AJNYoQRmTDGKiWQ=; b=DAHmRHfAeIMONUB2DYmNUhzJVLdhcB+h0D/24qvTjLlHdQoyvqHrDHdl9knrMI4HkJCiAvNyC K2DzFcKjKyDDajHIfMsaZP92rHfMSBBZKB5NfmMwtlaycYqBA8Ye2uQ X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: MA5PR01CA0214.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1f3::10) To DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8822:EE_|GV1PR04MB10453:EE_ X-MS-Office365-Filtering-Correlation-Id: 28439a83-841a-4c4a-d77e-08de859c724f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|52116014|19092799006|366016|38350700014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: sSwsFDP9LNkF1Imzr6u8KGG/TdvXl6FhYPC7prufIXURIf9d+d4y4E08V+48b2DFcXsWLwYsKYfxA3oeeN5ZM4MQuA2Aaenv04UPaopstjun8M1ptXDnnJyNTF/jZU7Ny5TLTxsgvY5klkswbhTEtDUeLrGJvjWEF99yYczQwlCeDLJo/RGSBGNrHCEOy+IHzgtXMkemvHFEpxd98AF/76HksfgzP5axTJQGTeFOviycvnG9SPL7pjCksbAPKKSgMcjSm+JqdWYUU9iHb1SSSQIzJ2S8KM5AXMxMpnZ6HGBfkhBnmPBp+Wl/7yQtFZF/ju93CdvsXz3ztGI0ZGtHC0qUd13mh0UOGs3fidfGwkw+MXTe8bJoZhK5lAOkMY+B0QNFVJxRYqo6XBS1GeFEHBHYm6Vt00eAEqLMWkuSlB/7zxVEpDPcT9N3b8T4Dc+NwIDSs3gj0SV7FKUu4UDOR+pIC8NHTBw4N0Kj2RPi3g7yly3mSpbpseJOMcHXaciD1qs8tuKg9SxKfOTrpEld+hHq5oleCHEM0U9Z9lr0BZFzmwpxa1SoStxhH63UVO1pZeeSijGlwcl8IAMpki47KuI8Z6McBOD/R++jAgRcbUoUWmvV1/wQbZYQ7OKeNFet8csVGsZGxQL3Kc7CaGzGjIfj+TQT/Y4N/LsIIXe/R9MFqQ18wUBZD9uQvOf7/b9wliwTDApinGsvirPBORfGU8wDZURB9tYl4DdLqRFSctHDiSkaxWcFsd7trGQ8bm6luLDXtOvGdhoe0jK3/GMLUBHnR7AETucun055YMtxcRI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8822.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(52116014)(19092799006)(366016)(38350700014)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TWhZQWxVOFlZNENVL1U4Zzg0TXl0SnlRT2pERGtxRE04Z0RnbXdBTnl1Wmhk?= =?utf-8?B?SW9hcTlsOGJkdHVMd0JTQXkzZFRGTVBBSHhXL2xBSjhJUmNVK0JxV3hWaUlU?= =?utf-8?B?NGJpMG90NnBJdzlkUkFQcENZK1B5ekJFN1lFazdKbk04SWpDYnRFTG1PNWNQ?= =?utf-8?B?SGs4MjUyVU9wNERjVHJmNUw2cWJKL1doK29uZzU0dHNiNmVPcGUrd2JKRkRV?= =?utf-8?B?Ym5ib3N0WURBai9yQzZMb1c2QXZDZzBaRHI5MEtlcndLMXNZeEV5Y01xblZR?= =?utf-8?B?MGJta0ZzQjRiSUVRbC9OZURjb04xQktNWEJ4MndIb1hyU29CSTczdytyUEdI?= =?utf-8?B?Q3hPTlhjNkhmRGpZS0ZOUTBZYTBaQ2JQUFpXVXdzQTRVdkIzcjZrdk1xMlpU?= =?utf-8?B?YnMxUkJrZWRPc2Z0VTdWckJ6b2xQZEtpWUhFNVZKaExtVXRBTS9yUUpUVU5W?= =?utf-8?B?bUJndnU3YlAzZzIyQUhYdlNUQU5SMnNUOXV2cWs3czd4d0NHNW4xK3pnL0tl?= =?utf-8?B?L1h3MDVrM0Y1LzJXWVloTUphektaRU9VMXBranJSU2pNTUJNOUJHN0NQb2t6?= =?utf-8?B?czFaTHFkUTh6WXVPMDJBYXhFQWY1aE9yV1NqcWIzN3NDUDZtMjhRaXJYQUI3?= =?utf-8?B?NWdyaUtySytGNXRRek1SYnJzZXhSbGQ0YWVwVnVVaHJoa1hpQmVyNXZJanpl?= =?utf-8?B?OUw2YzdXcDVlcExPOXozclo4NFFJbXpQblpYNXlDUWN6Mk5rNHlwMUFuUVBX?= =?utf-8?B?NFdVMTBraCtqMXdRNU5DL2RXdU1ZVDNTR3VSRmFGSXJtWWtwa3l2OVZGbWty?= =?utf-8?B?WGMzMHNiblBvN1RPRzMwUDlzVmY3TjZIME0ySHdBVDRBSVdaQVBxbXdQZ2RE?= =?utf-8?B?TTE2VXRhejVmb3pSNW5FN0ZLWmJQQ0dseXp6ck53LzhEeVk3b05IS2o5WDdh?= =?utf-8?B?YTNDOHNqYnJ5RGxUVnhCcisyTGlIS0QyKzVpcWdVSVIzbGF4Nmw2RUVMcUs2?= =?utf-8?B?d0k2SWJPNS9oWDJjUk9LRXc0NlI0NUxVLzI0QnNHK2wwV0pHVkVTUDlPSWQ4?= =?utf-8?B?YTQwWmZBODk4Z2dmTFBPaVh6NmJVTUpLNjE3MTgxemJRNGMyUXVJMUl2VXEy?= =?utf-8?B?ZnJsUExPSmdHQ0JUNFJ5aWkvWFJFejFnNVI5QU5wTkFmL1huYjh1L0ExU3Z5?= =?utf-8?B?UnYwK2N3WXhnMnd3cWtNbXlKcGtuR3hwWjVSSUx0UU5xREFrbSs0NmxJZUJU?= =?utf-8?B?RXgyOUlBNjd1MGhkdGZYeUQ2NzUyOHRwaXVrbUpNb3N4RmhJL3ZtaE5VdEFK?= =?utf-8?B?dkhaOTk1UkNxZTlkTlRYbFZoam1DaTFmVmc4NzRzVlE5ZXA2TmlUclRxangr?= =?utf-8?B?UkhLVWRRdGtubExtV1BJM2VPdUtOYVNxdnZwaHloUC9Mck5kU1pSUUYwR2xD?= =?utf-8?B?eWozTENiRnNrbzFJbzVReGZxOGRJOVlsWmJqZ0xrdnFpQkFoVnAzVGV6WkdP?= =?utf-8?B?ZGNkM0ZYbzJ4aVh3UEVyMXd6Qm0xUjNXWlY3cFpWMEhNSk1jU1VHMWF2NDhu?= =?utf-8?B?bWQ4aU1XU1BQVmN3YVJBTG01bVlrRzZIVXpWMHp1dktRT2ExakhOUWtsalRC?= =?utf-8?B?NERxWS9pN2NLRjVHY3VlYXpQd21HbG1WcWYzV3pKb28rU1I4bXNsSG5Pckta?= =?utf-8?B?QXl6aDl0NnJXVlhqVGpueXR0SVdyTGtJMU9hN1lmUjg3c0NRT3NBTFlFZ1VI?= =?utf-8?B?aERsdjl1bENzQTJrU1Nhemcxci9MdzFzb0FIbWZxckJQb0g0aGxGdG52L0hj?= =?utf-8?B?OEhnTjAwcGVaYmgrbGdmQURxNjVHeDFxNE1xWG5DTmVwa3FvYlRuMHdRSm1S?= =?utf-8?B?OUlieXN3ZVl6WEN2dkM4QW5BdkpnUVVndjBvZjdocUYyaW1mNkwxQTRmMFQw?= =?utf-8?B?ODJUOTZTRGVhV3BjTmkzWmZvM0MvZkNJVndUOWkvWCtLOWNNOTlmbGNqdXFJ?= =?utf-8?B?YlcvL01CY1l1TlY0cXlJbmNNWFNrYWpTOXFvVy9FcjlSOHROZHJodlFqeTBy?= =?utf-8?B?Sk1LL053YVM3aUROUTJ4TzIwWlYzaUxoaGZLbDl4dXk3YUVtVWlzbXg5UGJw?= =?utf-8?B?REJicjVOblJCZy9YSERSWGNlVzYrK3FySjgyMGl6c2RFQWVqTW0xTHF5WnZZ?= =?utf-8?B?ZVlud1Zod1NLZTY5ZTFSTVk4NGFBZHNaYTk5dmw2T25YVHpNVEdJNVZacDJY?= =?utf-8?B?Tk10R2g3cVRIaHZyNXJJbzJHRUxQSTBwTkxMRVZFMUtnNFBLSHM3cW9rYjRy?= =?utf-8?B?OXJLZlRFWGNSTGMzbkZZTThnbzJ0YUUwek5lMEw2UmRLbVJDTGNmUT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28439a83-841a-4c4a-d77e-08de859c724f X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8822.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 09:46:51.4158 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3S8OUFzCaJgjDaKs/EJuX/uCx8pkxtATW4KwRNziTswbGzPHMdXp2V6uzmBYjnOh0SPTp8+Ikw54GjbHbqPotw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10453 The Type-C chip know the cable orientation and then normally will set the switch channel to correctly configure the data path. Some chips itself support to output the control signal by indicating the capability in bit[0] of STANDARD_OUTPUT_CAPABILITIES register and do it in CONFIG_STANDARD_OUTPUT register. For PTN5110 which doesn't present this capability currently there is no way to achieve the orientation setting. Add an optional "orientation-gpios" property to achieve the same purpose. Acked-by: Rob Herring (Arm) Signed-off-by: Xu Yang --- Changes in v4: - no changes Changes in v3: - add Rob's ack tag Changes in v2: - use property name "orientation-gpios" - remove the "if" condition and modify commit message --- Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml b/Docum= entation/devicetree/bindings/usb/nxp,ptn5110.yaml index 65a8632b4d9e..581e5916eadd 100644 --- a/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml +++ b/Documentation/devicetree/bindings/usb/nxp,ptn5110.yaml @@ -26,6 +26,10 @@ properties: $ref: /schemas/connector/usb-connector.yaml# unevaluatedProperties: false =20 + orientation-gpios: + maxItems: 1 + description: Optional orientation select control + required: - compatible - reg --=20 2.34.1 From nobody Mon Apr 6 14:12:00 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010030.outbound.protection.outlook.com [52.101.69.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 3221D376492; Thu, 19 Mar 2026 09:47:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.30 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773913629; cv=fail; b=ctw6SlLVIAcN0KR7AwV02oLjkQ01ExRPk3ZEPSCMJqN3mKDFcxd9aL5c77IzlpvLCqH30ZSfLlWdgp33yq7a9Y4V1Bbwl7d0yAoHXSqIgqMDLiCAE8k+IEbAYkzlw6qyIXPKn8sgnRz2FClpBxN/JVP0sN78ALnsB0Lgdw7CgUw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773913629; c=relaxed/simple; bh=9O5536/fuDH6atmd0pDfBr7JMQaBdFHNOuF7WeroLCI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=TVUDMuKDPycXirNtRe2h7Lq91LoEoo8RcGHzpm7t8SqF+FlfP7k8T/mlZl7SEb351EyoUF/nggmudFYxE9p+tn0qnHY70+93TvinDujoxepK2yOHsxSfBbSYiwaGuAHVvrs/pKIZwqvLLYhhOJIkGchjKVq25I9Y4tdNBDxYyoE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=kdjUtSaE; arc=fail smtp.client-ip=52.101.69.30 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="kdjUtSaE" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TmoKvRKqjeH8jFuqysRRTeFx7z8jXSa3e8t9yHPqkpuX2GJvUXnVz9WEm+4XUiRtV22jekUOxwD/Nf+Efofluy/EjsyuOEb1dy5c87AP2FfUnxHtMjU1MmOZfX3IJxqPCi8ODbYyD0dKfZRdVO6A1JkRubAX5OU7VBiHBs0v0T/Ei9japBEWZWIK3DKBS0xMDEGKYMFitNqbOOkBwDCVZ8wIQJG3N0toP0mQGlRnBuQLvRkxlFP28xxmwxtVkfaRVACpVVQW4Z56vhvmihXPPpBOMP1bDFzHURSVzTBHXXsgJ6DT+3mBZxxRrJMNMhcd4p2cMcg3wMGiNl99KxF17Q== 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=jNzCP2JxuB2mLh1lsWyKZJTH1zuprYCdaG9e2a/4C8s=; b=KNqljs7Y4Ycoayv2vwpJG8JHJ2iHKL9EMdDhFrPvrfKUxFmTt3zTt2VqjvAFSPyPTYCg1wnq/fhr/J/xk4Eww4eBGAKpnnDuTEPtAcUr0SPutzxLC+yYBKze1YvEqDMW/ildnVGqxoFLSebpTcwK89ldto0KpiZbSbP/U3NoOgklSthWgZSEiobh2gf2P6q/ItumyA6G9PSQhBO2xRDpqTje/Doz9HPiR1sG7ylRXUWHUkwuEZdLH1CMOevfErEg8+3tYbFaiWhnDm0Y8xS/golsQya82XkBOl6kqmDpRUGRJud4QK591GPavl9nKyVPY0P9sBI+72A8FBnxu75H+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jNzCP2JxuB2mLh1lsWyKZJTH1zuprYCdaG9e2a/4C8s=; b=kdjUtSaEc0QzM9z7MCd6uPvyMq87STUNwe8U5cKEWroT+4WY5gMHrXhrXmfRW7zJhhEnKYWUfO5Mspgi7fFDhIMC9HQaviX6lcrwCEYOkjggsi269PdQCcH6Z5Uwj5xSS/b2fuOPD1aUvUEIDJarjPIrUHqts8VdSXdERaPAi9MVHQ1tN7ZKSipJcm4TiXTNS+Vj/q28juRexGVvnvH2An0GfiqWHf5kDmhtStsL8VIGzw7rGVLupogQRae/OWqpyuyxdVHuoYurncPSRWzmPWCLvVAqDwQaI4Y5Nbz8fO8JTaigErTOhyMSzpD3Rwzs7rDX9wEl9kU901G8ILU1Mw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) by GV1PR04MB10453.eurprd04.prod.outlook.com (2603:10a6:150:1d2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Thu, 19 Mar 2026 09:47:03 +0000 Received: from DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce]) by DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce%5]) with mapi id 15.20.9723.018; Thu, 19 Mar 2026 09:46:55 +0000 From: Xu Yang Date: Thu, 19 Mar 2026 17:48:49 +0800 Subject: [PATCH v4 2/2] usb: typec: tcpci: support setting orientation via GPIO Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260319-support-setting-orientation-use-gpio-v4-2-ab6dfa8610c2@nxp.com> References: <20260319-support-setting-orientation-use-gpio-v4-0-ab6dfa8610c2@nxp.com> In-Reply-To: <20260319-support-setting-orientation-use-gpio-v4-0-ab6dfa8610c2@nxp.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Li Jun , Badhri Jagan Sridharan , Heikki Krogerus Cc: linux-usb@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773913749; l=2652; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=9O5536/fuDH6atmd0pDfBr7JMQaBdFHNOuF7WeroLCI=; b=XNmXWDRNddAVh3KArv39qpkpsUY4WDaxX8UzanMtHUTHeeC0CxRG/GCLb/8fyKkwmA1NV79Ne 4BmaYOT0jHXDwdjAO5pdg4uh0us54qEvtvK+OJC0KZEjft2ho2BEQCI X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: MA5PR01CA0214.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1f3::10) To DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8822:EE_|GV1PR04MB10453:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ffeb9bf-cfd3-43cd-49e0-08de859c74cb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|52116014|19092799006|366016|38350700014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: DNIBaDXtOSvLOtHUK9xTZI9GybL60792Rv/pEbxseOKJWYDnf1S21V9f3f8wG5scWJ3hsciOfM0InaC6pKwUcVaMF/1Fh2baGsMKHqIQY5rIbR+EBQEkzccHR/36/8hqHhoIzcBrEgmRFDFiVPG97rSPGA1XnZgPcKa8JmCtqUsO6WBIuKXPeXjmvT5anBxelCp/s1WbSKMxHFhxuNh9dpeRZYYp2OWvuYMvEJC6xPHpIItyVSs1gDkRbR90oV9xmRa8nFpCbux5udjx5eIYarhouWvp+BvJslUT4Yqdj3y36zFud6dXQc3XS9r2LOcJ5UpJzAU5TR+i/wgofFsjSFlY4vYGsPg2ARhKhRHsiEkXvvSBz8mhF62uEy/ACj4esa96uJ+3ar9nSjEadpF9ApEUmIJdLTqqk+OWjj5Leg3fb5hEc4dxYcU7g9j0dFGD6Lj4BB//IDeU6v3F8Ph6ETGPxNMYiizh1Ono3TqDh1DXtfuxxCcOgvIhDvfh6VN5LwzXRi4Y1aJ5rJMzZCcSqDQcD/k1J+zOZqr90hsjBVvc4+rK9xfoyFSvT2urvF2hueoldW3pwqeDwTt9MtSitwEPOHIBf1xD3V5vB1Py+c0p1UcFk44Fp6diZvZEFnoIbW5qzjq3xeMoPJcVkjI+GV3Jv4fbyghgbE+8g4eTpAEaNbEO3ewkDDWDXAhbKAHmNqZOdSPYvkJndgdF7sL0/o2oIXtAPL+dikhECwe7eo7NnOLFQdg2FNHxBsV6VrUv2O05yWTrMzXEd6fkJ9FgUPsAiwZ643Y/epoNVpIZ+o4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8822.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(52116014)(19092799006)(366016)(38350700014)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TW04VGVmTzArdW0zNC9sNGM2NFhsQ1N0S2syQjZzcWkyb2RKamluTEd3NElq?= =?utf-8?B?SkN1ZnFNUmpYVFYxc3BoUWpuSnRueW5vc1JZMFNsS1YvUlNTU0Y1bEh3Z2NW?= =?utf-8?B?WEdwaGRqMUdzLzFYWXVLV1lWbitySkxTMGJMWmI5UVA5VkdlMzdLb2ZCTkFP?= =?utf-8?B?eVJkeHVWME5VbTlIclR3QWIyZllwMDR4UjFya1pMeWQyd0QvUStxcjZ2ajF4?= =?utf-8?B?MkI4QndpUHBKMVFLeFUwaHpxd2toQkRycnlDMUU2Z2xJR1VKVHBPQkFxdThp?= =?utf-8?B?Nzl4bmZYbEFSUDlpdWF5WXNhRHJqVC9rSjM5NlpuR2hZZlZnQVFiZHBUcGNM?= =?utf-8?B?U1RsaExtdmlRTTdzLzA5c0d0c3FFek0yNUhkNkJ2M3lWOW9tWkErdGZiYUhp?= =?utf-8?B?VXZ4WW14Nm5qWENqTDg3RGdlVG9NVFJic29sUmlMWmNQZ3AzSjhlcmZlZUlo?= =?utf-8?B?SzZ3WXhGaGkyMDQvYlpPTnZMVCtHVXZka3dDcXAwTnp2aE5JUXVIcXdyZDV5?= =?utf-8?B?NW1CRERCR2NnSmJzUjAwOGd5cVJOTWZ2RnVrSE5FZkdWa1Zacklpd0c3V2ls?= =?utf-8?B?SE13TWRBSHFDUmhGM0RSWk5oNDg3bmNaeXdKVzJ4WWxROVhUbnhMYVVrSGtj?= =?utf-8?B?bkpUY1ZJcWNVRG5Va2wrUjMwTWpSVWNjc0pYR3RhaTBLMHovRS9ldTdvVy85?= =?utf-8?B?aEZwdDV3ckliWWE5RGNGeURiWHNiNW9QMlVEWGNVMHhSbGduS2YxalNsODBj?= =?utf-8?B?clliaGtkaStTM2hEb0Nta0o2N1hrSTJibDRDQXlBL3dtU0xmMy9QOHZJYWc1?= =?utf-8?B?YnZxWkJydGZtUUU0MnhLWEFXNkcrbC80cy96RHJVTXo2OUV2aWJWUjZPYUth?= =?utf-8?B?Rk9ZVzM3V3VuL0ljangxU1dIVmk4SHZMSjRoYTNmb0V0SnY1THgxQ3p5dGx0?= =?utf-8?B?aFJEVXIybXZ0RUR2eU1ZKzhzeUVxcDJXRWlMV0Q5d2Vpd3J4ZjRxanRYQjVK?= =?utf-8?B?NlByMzBwWFo5cEZUK3IyM3hVTlViM0tzWWZDSVpMN2lxNWNhbjh2TFNUbURk?= =?utf-8?B?VHFLUjY2MzBuZndweGVLbzBOMlU4cTZhY0Y4aUdOMmhMOThGVDhQUDY1U3gr?= =?utf-8?B?MmJxZDhkN3V4R2E3czhJS3h1ZkpMU0J4QWllbjF5VEZ0Y1hPMEMwblJhUVZY?= =?utf-8?B?QTV4OVBHMUp6dmNCY3ROSWZ6ZERyMEF4TlFxT0lyRVRhcnNwdTBic2JYdWdE?= =?utf-8?B?RHh3NE80Q2dzRStjZW5MOVNpbWlWNzhlemQrZ3V6YzYxbEZac2Y0ejYrTHpm?= =?utf-8?B?Y3ZvRDk1Q0Z6N0VQYWVXTG45SWNDelpId1dxRlZNZU1WVUY1V0lQU0RiL1lG?= =?utf-8?B?M1U3dnZjb1pKdXdHZWZFSVN4bDhBeTJWaEhZc3krNUo3OFZJUTcySDRWTS9W?= =?utf-8?B?bGtva2hKYzJjWEdWc3VIcHNSUEFnaFFGL1RFTWFoV1p3VE52QWszaGJHNEVp?= =?utf-8?B?MTRtcDFRbDJKTHllYlgwUGpLL1Z0TnhzdGNxblpNZ20vR2N3dkZuRGordkgx?= =?utf-8?B?T0hITGpoaEs4MWI5aTBWNmJGWm9rV0I3VTNacXZZN3FnbmdXYkYxaElmVVY1?= =?utf-8?B?TEIvcjJuUVNCVzZ4NkZMTTI2TFZoK1kxQWZSSTZrbDFkcmtjenlDREE2dlc4?= =?utf-8?B?Y3d0ckt6UENIM0pUVXdWWkMxdUdjVnNXdGVKOG13MmxOTjEwUkliTW9ZRm5T?= =?utf-8?B?K1htRDNoUmk1VEJpNEhacU5qMlFpVHBSclIwS2gzdGNNSSt1ay9zWnJ2QmVK?= =?utf-8?B?WEhXc1FDNzRRR3ZmcENBS2YrVVRYdjcrSzh6bUdNRjkvL3VHSmJDUkJIbmdi?= =?utf-8?B?U3RTZEtIMzlkUlMwakRNQjF0YjRqVm5iMzFYSXVzeVBsSzJ0ZTYrc2c5aUQ3?= =?utf-8?B?TXZvaTc3L1Z6a3A1WGhVVlJZVXRjdXVCN3NWb1htdzFISWNnYVg5eHFncjVI?= =?utf-8?B?RzEzQ25nZnNDd3hPQUpGaDNWbm4yMGQ5WVB2VlFDQmRMaHN4ZEQ5OHRtZ3ZW?= =?utf-8?B?QVlScDhCeEZsY1d5NmJTNXBoSVNiem85YWdCNGFzSlZQdnVFelRQTkFCS0ht?= =?utf-8?B?OVFUbWtmQnNxRG9SN3VmV0hEUmNmUFdOd1lwbmRFWnYxQ3J0YmJHSDJrRXpu?= =?utf-8?B?L0svUTkvemtCRjdzTUJkVjdRMDJZU0l3MkcrM291OGwyWHBYOGROTXFKc2Vw?= =?utf-8?B?NkxRNTNDSDhZQTRrY1JuTUFxelZiUUM1RjBmNDNtZm9xMHI4dXczTFIvOEpp?= =?utf-8?B?MVVHaDdNL1pNSEdWdzJWSkNqcEI1TWx2WUVpb0RENGlxQkYrQUJUQT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ffeb9bf-cfd3-43cd-49e0-08de859c74cb X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8822.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 09:46:55.5425 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DKETK+ifeb6heoTN8F5OHaUXLRmL1GrxKivlDZERPDmXOj2EkgjIZ9q/75hX4VM5weCcVEDTFThnI156nDK0hw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10453 If the chip indicates its "Connection Orientation" standard output control in STANDARD_OUTPUT_CAPABILITIES register, it can do the thing by programming CONFIG_STANDARD_OUTPUT register. Due to the optional feature, the chip which not present this capability currently doesn't have a way to correctly set the data path. This add the support to set orientation via a simple GPIO. Signed-off-by: Xu Yang Reviewed-by: Heikki Krogerus --- Changes in v4: - simplify gpiod_set_value_cansleep() Changes in v3: - use "err =3D !!orient_gpio" Changes in v2: - return early in tcpci_set_orientation() if using gpio method --- drivers/usb/typec/tcpm/tcpci.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c index 8b7e6eb92ca2..0148b8f50412 100644 --- a/drivers/usb/typec/tcpm/tcpci.c +++ b/drivers/usb/typec/tcpm/tcpci.c @@ -7,6 +7,7 @@ =20 #include #include +#include #include #include #include @@ -42,6 +43,7 @@ struct tcpci { =20 struct tcpc_dev tcpc; struct tcpci_data *data; + struct gpio_desc *orientation_gpio; }; =20 struct tcpci_chip { @@ -316,6 +318,10 @@ static int tcpci_set_orientation(struct tcpc_dev *tcpc, struct tcpci *tcpci =3D tcpc_to_tcpci(tcpc); unsigned int reg; =20 + if (tcpci->orientation_gpio) + return gpiod_set_value_cansleep(tcpci->orientation_gpio, + orientation !=3D TYPEC_ORIENTATION_NORMAL); + switch (orientation) { case TYPEC_ORIENTATION_NONE: /* We can't put a single output into high impedance */ @@ -903,6 +909,7 @@ EXPORT_SYMBOL_GPL(tcpci_unregister_port); static int tcpci_probe(struct i2c_client *client) { struct tcpci_chip *chip; + struct gpio_desc *orient_gpio =3D NULL; int err; u16 val =3D 0; =20 @@ -931,12 +938,23 @@ static int tcpci_probe(struct i2c_client *client) if (err < 0) return err; =20 + if (err =3D=3D 0) { + orient_gpio =3D devm_gpiod_get_optional(&client->dev, "orientation", + GPIOD_OUT_LOW); + if (IS_ERR(orient_gpio)) + return dev_err_probe(&client->dev, PTR_ERR(orient_gpio), + "unable to acquire orientation gpio\n"); + err =3D !!orient_gpio; + } + chip->data.set_orientation =3D err; =20 chip->tcpci =3D tcpci_register_port(&client->dev, &chip->data); if (IS_ERR(chip->tcpci)) return PTR_ERR(chip->tcpci); =20 + chip->tcpci->orientation_gpio =3D orient_gpio; + err =3D devm_request_threaded_irq(&client->dev, client->irq, NULL, _tcpci_irq, IRQF_SHARED | IRQF_ONESHOT, --=20 2.34.1