From nobody Mon Jun 29 15:59:55 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4206C4167D for ; Tue, 8 Feb 2022 11:38:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1358662AbiBHLgd (ORCPT ); Tue, 8 Feb 2022 06:36:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40806 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1357472AbiBHLWs (ORCPT ); Tue, 8 Feb 2022 06:22:48 -0500 Received: from APC01-HK2-obe.outbound.protection.outlook.com (mail-eopbgr1300094.outbound.protection.outlook.com [40.107.130.94]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E458C03FEC9; Tue, 8 Feb 2022 03:22:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GqdxFlCfSXMxOaiH30ddkrfRQaIdzxUM+ojgLGnmkFlijhEbJI3kCxBfhEJ8hIU9oQTi5gPY4fPs0Zr48yfRUg1xq9BVPlssXQTKyU7hF5z346mOv7BTvB2gl3mpRdYblL8mynxi70fA5MPP7L1a9uUdKXheps6w0FygSFzt+5I07K7dVSX2XD4nstZUqeafNUimrXBqMywZGrUDNvSl4lq9NZfBe3hinG61U9Wa93OnKdHlLrxslMK7w83iKrEAtzk7hv6yUAabcyG26ntdV10AOm8K+2Ya16D015gCFqyYbb5FdE4J0cNXormGsJeIXK8GeEkP8Mr99Jm5HhFsOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=uekJxh1tQ7952yJtKrgo3y5Evjjxfb7/STpLoY/VKOE=; b=g9gywf9TfdXCHbbWZmFl/18yo5R6UDc6y/4ig8oK2lB9nUX/11jaYBahwcvgt1Tyu1FVf9qEhGbEZj2sKO60D4deZTrVIaT89TXKmkrqwqY6Ik864fJpEt7Id0r/m5bIfY14f0D6hLefWTdE/3FewJ96IWohPYRoGpsuWDsQCdujw/pNJ/OHE2Xx0E6ZFA5E2rSV0BATG+tR5hU7zy74U3rDZQfSWOQGOcLimYQO/pBkUJsFKpVjW1mrNNc+nVXNKFsatqW9decVk/5ji6IwHdvDf7kjkW8vV5XP8R5aAMxhK1KsTunOzH+oNLEpm2+uKhTvf1NX4f6cFv3KiaRHmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quantacorp.onmicrosoft.com; s=selector2-quantacorp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uekJxh1tQ7952yJtKrgo3y5Evjjxfb7/STpLoY/VKOE=; b=soKrtgKChQI1WdFIz0CXLelP1dVMWy6gMIqv/EqtwlIJiMLu6wE2v0+/gSHMTPTcNeDlsr//kH5jzzT9lfrJkYLEKIw/hhYoU6iHXuy+WEKt5/2QpZ7ERSSlh9T7UFU/y4aN3rC1amPkwVtkFOOtCROrNIbgWekzN0dy8lcbVAs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=quantatw.com; Received: from HK0PR04MB3282.apcprd04.prod.outlook.com (2603:1096:203:89::17) by TY2PR04MB3805.apcprd04.prod.outlook.com (2603:1096:404:f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.14; Tue, 8 Feb 2022 11:22:42 +0000 Received: from HK0PR04MB3282.apcprd04.prod.outlook.com ([fe80::8160:1a0:97e1:9e53]) by HK0PR04MB3282.apcprd04.prod.outlook.com ([fe80::8160:1a0:97e1:9e53%3]) with mapi id 15.20.4951.019; Tue, 8 Feb 2022 11:22:42 +0000 From: Potin Lai To: Guenter Roeck , Heikki Krogerus , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Patrick Williams , Potin Lai Subject: [PATCH v2 1/2] usb: typec: tcpm: add interface for passing supported_pd_rev from tcpc_dev Date: Tue, 8 Feb 2022 19:22:25 +0800 Message-Id: <20220208112226.9108-2-potin.lai@quantatw.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220208112226.9108-1-potin.lai@quantatw.com> References: <20220208082026.4855-1-potin.lai@quantatw.com> <20220208112226.9108-1-potin.lai@quantatw.com> X-ClientProxiedBy: HK2PR02CA0143.apcprd02.prod.outlook.com (2603:1096:202:16::27) To HK0PR04MB3282.apcprd04.prod.outlook.com (2603:1096:203:89::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6fb8e16f-bb1f-4cde-008e-08d9eaf5520f X-MS-TrafficTypeDiagnostic: TY2PR04MB3805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EPD4MKOA2OxqtQDSpCB1+/EQmZjt4C9HC1KQpAFrIMkxfz3Fvi5bun2s7gtb5C3YGQAEK/bJKCNG8bU2i4jo7tuTyOB3D9cCKJVlRC0RzGm+S1gxGrzY81eqvu5UX8VnUWKMx+i6mekf9f4jKxJPxHBP0LqQHzS5X9WSoEU4gh0cNCjq+HK4MD7KyduzuKKVrc3BlTmB+DsyMKHTzitbOkAtQluHZWgkArcoX40UMYiwdydQHcJ6VfY25bEJqh6iI7EpuPlD2HS1h/utstQa8GLZPNtHGStGEGmfeMU44B3msTz8UZd2e2YjNN5xTkFQA+Mxil4jD1W7nV4l13zUVlKgHo2bFJYirFoAggh+LKCUyvtpo6nkFhyDzh5O2rDWv9jc5daO0CpTSgE5QFHl3mwf8IvDWVa1NCCzQKuGSWK4IIH1eK68QEjMqimFQawrMou9EvaZftyUHuoACvHzf7JBZgj7lrjrePrRs1oW8M9du47DzrxZwxMd/MjfXn/uUpQ83l3cPwyzJBfRkSyE4dE6zTouZk2ZJwqBLvkhK2KaH9BKsVXkgnF2c8uuZ5TWuUneq5c7jDFFpT9uZWD3WAy+RF3fPFwHYn3X+QMl79AWP1c02BRWzEeZlDLCpOfxWFTyozFkoPL1RJW5rHz/cVkUFZA0iWvte6AfioefFauE2Mei1Up9oZdU6SVAFRkOZpjeeB6zHjVL10YBkxy5Uw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HK0PR04MB3282.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(26005)(1076003)(6486002)(38350700002)(38100700002)(2906002)(186003)(44832011)(107886003)(86362001)(2616005)(36756003)(8676002)(8936002)(52116002)(5660300002)(66476007)(66556008)(66946007)(54906003)(110136005)(6506007)(6512007)(6666004)(4326008)(508600001)(316002)(83380400001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZNLbUzXMvwiOZEDMS08T8x7lz/LukVueJWdtftiKb/SZoXuCf8brDU+XPW/z?= =?us-ascii?Q?ad0GIxG6lRspEeyQAXwFJtbEP4oErFjg6GHYLThhfqKHBwG/UmfrcQeTcOiw?= =?us-ascii?Q?tI2YRj/u+IHBH3LMkBJnwH373btTR00/mEixzuDePU7Bz5SX47fkJODkwmmj?= =?us-ascii?Q?ikB3fzc5qjUXIS3Hxoqlb4/wQWwl6PH6uVtNy8F3T2hnuecXcMh598LzvOCn?= =?us-ascii?Q?w72OIBRvPsnYtDcbj+tNejWr1yXMe94HLmuhHTS8uxJ97Tn3gx/bh2gnUOUc?= =?us-ascii?Q?/FsDlBiHwPxfasLcp3hlsF+hcJ0ZTO2fobEQ5PvdvWBm2es0Bp5HxpJJha1A?= =?us-ascii?Q?Ka/Bkc0+TiK1zjsc2CK5yVp8FDyQLWgGgwtOnrzz8WJqMb7tdjUSPMivSvdT?= =?us-ascii?Q?Yk9snNQ1AmC6ojog10nZlII2UY6IlOzZrvIU8IptxKb3bdCojujQcbcGxdgo?= =?us-ascii?Q?zZFgd8Vp6Pum0mvNnBybTLnn5N5b+3vjny1liiqEXr+uwcfB5tuhYiERMaOq?= =?us-ascii?Q?SGOWjhSO5VgSMH9kr7cy1wTvMofLQvdTkVCLSCP1YMZQt2plVpJT5LyPBAK2?= =?us-ascii?Q?TGnrqzxNGTTg32ZuP344uUK3Sl6awn/eP3+QP5LgUH+JDQWGWe836QUER3tD?= =?us-ascii?Q?j+JP5ApYitAsvtN+UbB8+NCy3GUg3RAHR8R+sRuC/fZRcD+SNp8hYj58Duto?= =?us-ascii?Q?uhu0SUVCuQYF900L4KMIpqYw0SjnuBwMqP4uIQrxPgeDo70kVnrrwnlkcjlR?= =?us-ascii?Q?CADz+eVSmekuFyLBB3vPisLVuLzfsGq3/vyhHpzSvI+XWiWquJB+wy+GDYDB?= =?us-ascii?Q?UVMQIAum6P7Rl8cIoC2Hb8vDejW+SZGZobYkxDAhocsJolYlMHZvj5jrQv2/?= =?us-ascii?Q?xL+Ho9ZNBJy0h7o9NO4uCbjAmki200GBsOOJ1fhrKcNu4/08rOygmCRAKL/8?= =?us-ascii?Q?U+UEtet4DclMicx9yy8rfTwC2NxVGUpPxWYAhKUoXTVGgHrYUXiZ1TcW6vqX?= =?us-ascii?Q?7ZmE/2OotC7ompWFnm9fKMkLTvo2R+ifEIoGc7UTxdBPrfXVIAKP4GowaJU3?= =?us-ascii?Q?tEyGci9lxFr+JeF5hqAiyFTcpckl52WCXrctPUZzEa+bT4ICZ0usKM/0d3kf?= =?us-ascii?Q?DXopdUvBnb/3Dm4mLXSDi/Hu+/eO/4+H9NjQth9G1XcKbsHFhZUTJaVLmrCi?= =?us-ascii?Q?UrAmchRqkbQTVmQvR4bJsDSdNAINNiZ4J623rM+fc0EUg0mJYAx2Zm5q+f7D?= =?us-ascii?Q?OEaRSghMDHVbRIBEHrJ9WKi+GwDjFpaua8eEO9WM9NlSsY/Q96gajLp+SGR9?= =?us-ascii?Q?Z6WewJtQvP+9l8UjqwPkr6cDjxdD8DOT4CSNNUAMVuO8kOhyoRskYULaucp9?= =?us-ascii?Q?TcEImzr/rZmF+5vvhred9F0323LeNZ8h2BzI9oZ5GBwvFZsgHl8MMwvq/55A?= =?us-ascii?Q?cM5D34OixoaRONfidcHOZiDF2iFPeZyGCOLnabkAkJgmQCYIklbi0Ysjoi3r?= =?us-ascii?Q?o5HzDRSZm6wsxQsA0mDbnuoTVGc3AI+GVUimkRIN4cSgO37i1M/XVigm99qY?= =?us-ascii?Q?LipJtSZOsof+61PiNyoss87sDhDybpG4HATDdd+1spzR/xpYlCrD6DlUudyA?= =?us-ascii?Q?COF5F40HkwHkjJ3is4uvYoc=3D?= X-OriginatorOrg: quantatw.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6fb8e16f-bb1f-4cde-008e-08d9eaf5520f X-MS-Exchange-CrossTenant-AuthSource: HK0PR04MB3282.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Feb 2022 11:22:41.6112 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 179b0327-07fc-4973-ac73-8de7313561b2 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FkV0pvcNaJwGx3rFbDpABC0RB7YE/KkLIvO9V8p6Qb8+mV4rEm4VdbPQTrIaXqAYGbVGyOBgBOtbQol9+uBw2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR04MB3805 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Current TCPM allways assume using PD_MAX_REV for negotiation, but for some USB controller only support PD 2.0, adding an interface for passing supported_pd_rev from tcpc_dev. Signed-off-by: Potin Lai Reported-by: kernel test robot --- drivers/usb/typec/tcpm/tcpm.c | 14 ++++++++++++-- include/linux/usb/tcpm.h | 4 ++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index 59d4fa2443f2..22e7d226826e 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c @@ -571,6 +571,16 @@ static bool tcpm_port_is_disconnected(struct tcpm_port= *port) port->cc2 =3D=3D TYPEC_CC_OPEN))); } =20 +static u32 tcpm_pd_supported_rev(struct tcpm_port *port) +{ + u32 rev =3D PD_MAX_REV; + + if (port->tcpc->supported_pd_rev) + rev =3D port->tcpc->supported_pd_rev(port->tcpc); + + return min(rev, PD_MAX_REV); +} + /* * Logging */ @@ -3932,7 +3942,7 @@ static void run_state_machine(struct tcpm_port *port) typec_set_pwr_opmode(port->typec_port, opmode); port->pwr_opmode =3D TYPEC_PWR_MODE_USB; port->caps_count =3D 0; - port->negotiated_rev =3D PD_MAX_REV; + port->negotiated_rev =3D tcpm_pd_supported_rev(port); port->message_id =3D 0; port->rx_msgid =3D -1; port->explicit_contract =3D false; @@ -4167,7 +4177,7 @@ static void run_state_machine(struct tcpm_port *port) port->cc2 : port->cc1); typec_set_pwr_opmode(port->typec_port, opmode); port->pwr_opmode =3D TYPEC_PWR_MODE_USB; - port->negotiated_rev =3D PD_MAX_REV; + port->negotiated_rev =3D tcpm_pd_supported_rev(port); port->message_id =3D 0; port->rx_msgid =3D -1; port->explicit_contract =3D false; diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h index bffc8d3e14ad..36282b2a9d9c 100644 --- a/include/linux/usb/tcpm.h +++ b/include/linux/usb/tcpm.h @@ -114,6 +114,9 @@ enum tcpm_transmit_type { * Optional; The USB Communications Capable bit indicates if = port * partner is capable of communication over the USB data lines * (e.g. D+/- or SS Tx/Rx). Called to notify the status of th= e bit. + * @supported_pd_rev: + * Optional; TCPM call this function to get supported PD reve= sion + * from lower level driver. */ struct tcpc_dev { struct fwnode_handle *fwnode; @@ -148,6 +151,7 @@ struct tcpc_dev { bool pps_active, u32 requested_vbus_voltage); bool (*is_vbus_vsafe0v)(struct tcpc_dev *dev); void (*set_partner_usb_comm_capable)(struct tcpc_dev *dev, bool enable); + u32 (*supported_pd_rev)(struct tcpc_dev *dev); }; =20 struct tcpm_port; --=20 2.17.1 From nobody Mon Jun 29 15:59:55 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3E7CC3525C for ; Tue, 8 Feb 2022 11:38:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1358793AbiBHLgk (ORCPT ); Tue, 8 Feb 2022 06:36:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40812 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240375AbiBHLWt (ORCPT ); Tue, 8 Feb 2022 06:22:49 -0500 Received: from APC01-HK2-obe.outbound.protection.outlook.com (mail-eopbgr1300094.outbound.protection.outlook.com [40.107.130.94]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02C13C03FEC0; Tue, 8 Feb 2022 03:22:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jYEfZhs2INsqVuhmNJK/pL5iC0fj1PrnOqiak2qpRd1ZYw7L0PRqB9vQ4Yb0Wndk2III659F05JUVgLrDJSz+jOzLdQ8UMkYv5qp6751MIUjZPMIHDKsfSPT9Awr4oBxXfFhVCsq4SYAHkU3bJr9DgxTeh7XOiv9cZ1uAdUFOGgNo+epXbnl9MhJeeuEDGZigRKp+ZwmAZiaEMKyibSdFLXukkUXL+mhd9YJiR318HmwxNprb2U4NJdcaDnu1H6cu7soascHZL8cxpiWi9n4XkWt3UvtVfZT/QYyDex2th6HMB/xZ7PUjeL+zGyQ3A/BInaT9vSOqTjtxTi7aIl4jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=kgkJPhZdxaN4k8YfU7okIPfT6UEZXl2XOC5ZCMGyn84=; b=YzetKVzSEQSZP3gFpPIocojhFkWcVMBCB0ElHhWsKbxEGBVB0ijoT4QoMYLRx2iJozgj+OmiNWg/en5KKmFwAfiPO7yHBMl2Cz/79QYUEEkhgAFGL1yQPaAydFNDokq9Xbe2heoekFeHv6ermNcwFM3wnsJcfK5FLmW1XLnbUlS7+7uWE/+hy6XSa2ERt/s5LwCK++zcQltjytIfH9KDA/ZhuY3bHp0wPOFxgRQZ0iFGJEZV1OysJVyoEkR9zSDlepcmqfl5tGaiYOuxztq88JsqJDaXbztY3ImAplLZYkPpm6VIv+4Luk3gIerocVCRKiDbIwnLlw3GksV2y7z/nA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quantacorp.onmicrosoft.com; s=selector2-quantacorp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kgkJPhZdxaN4k8YfU7okIPfT6UEZXl2XOC5ZCMGyn84=; b=kRQ5PCabRjZQTGyDnL+Zj5Co9As5k2hj1mkcBnacqDEaN+V5WXXJOMUN+bH8mYXUBnsAV3gmx8jDLjzZK/Ai8HJfK51riJ8mlu/wo2s5KxU8YUSU5tgkhabQ5KkZzVfXSwAzEK6p6hJkkpSmPkJLW+wQ2GADu5giEndbSAwN4+4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=quantatw.com; Received: from HK0PR04MB3282.apcprd04.prod.outlook.com (2603:1096:203:89::17) by TY2PR04MB3805.apcprd04.prod.outlook.com (2603:1096:404:f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.14; Tue, 8 Feb 2022 11:22:43 +0000 Received: from HK0PR04MB3282.apcprd04.prod.outlook.com ([fe80::8160:1a0:97e1:9e53]) by HK0PR04MB3282.apcprd04.prod.outlook.com ([fe80::8160:1a0:97e1:9e53%3]) with mapi id 15.20.4951.019; Tue, 8 Feb 2022 11:22:42 +0000 From: Potin Lai To: Guenter Roeck , Heikki Krogerus , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Patrick Williams , Potin Lai Subject: [PATCH v2 2/2] usb: typec: fusb302: add support of supported_pd_rev Date: Tue, 8 Feb 2022 19:22:26 +0800 Message-Id: <20220208112226.9108-3-potin.lai@quantatw.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220208112226.9108-1-potin.lai@quantatw.com> References: <20220208082026.4855-1-potin.lai@quantatw.com> <20220208112226.9108-1-potin.lai@quantatw.com> X-ClientProxiedBy: HK2PR02CA0143.apcprd02.prod.outlook.com (2603:1096:202:16::27) To HK0PR04MB3282.apcprd04.prod.outlook.com (2603:1096:203:89::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1c5831e7-589a-4a3d-4a91-08d9eaf5525b X-MS-TrafficTypeDiagnostic: TY2PR04MB3805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3044; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 241EjccOd12q0/+gVlYuphEIGGOXzu6qmECMVarDmxlyt3CfieqNjVno4ncxwVVNz43Sc3JeLDF6gQxKrE7QBbTOLu6gF+3qlmEkM9w7K75TmroM7cQNkeHBey00hjbBvnvl6SIOmYl5XRLXaNJDuo6DVqZmLg46RwdyIxbB45o/G4X3Uzd089cTc2pFtaoArpWo66JK2yjnD/0WDHsbwwWoV/5XmO9IHdYE8F7RfXLEZPN16S8PPew5MYUX28QXJoYz0XGXu3BPoDXR+kvRDf7OYjy4uvCNBHRDF1X7m0KMZAQi6hoj4bqV6wVXxZYTCzDCXsQiahGpk73XP6zNq80jXKvbSLmH4RHurD/OkQ84T7eFEDiztcOEkk/Qmlo7bJrWAzZ0kUaIXvzBsx0vhthiyTpYwDDInyuFA1LbxZMsf2O9CynC2AF966ZGmOeGuDujoWYjyyeuNi2sItCSozGA0ADa0nk0Q2jO7naXeM/kAA/4mPSuH9UuHN+tQqMRK6vxlNG5hiNw4bQk6renYjhxugQGHzxm3J2lI4CPLy9TjjTICpawcGx+UR4AXl5GkCGkmK8zZzwjS2DFVGrWJQrDKur3B2Tg82xLpMtJIvlsYzhIuZMO/pFBthMu4yQG842eHua9sxGixkKz8rjrZ7swDzk0fkdr/MCNhK1P4rdKboL1gB9NalVK4aMKCDC4s27hNjsL0Rb2EtGuY5DHkQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HK0PR04MB3282.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(26005)(1076003)(6486002)(38350700002)(38100700002)(2906002)(186003)(44832011)(107886003)(86362001)(2616005)(36756003)(8676002)(8936002)(52116002)(5660300002)(66476007)(66556008)(66946007)(54906003)(110136005)(6506007)(6512007)(6666004)(4326008)(508600001)(316002)(83380400001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ChB2UqIjI5Stlq8LtDQKYbToKXgfFs8MudiehoKi5OoOH3aGS2h3CPdc3LxH?= =?us-ascii?Q?7doDwUqmEgWuQfowkMgAB5qn+L5oJsC6uQDnbEU2DMQgRPImZdha/hwmrvSP?= =?us-ascii?Q?REZXi1TBky7AEcjitK3SNPze8dd6I5f5aF17MQ2LXYddMFQVC40sRC5qqi7E?= =?us-ascii?Q?Wpp+RDuBh85jIoMI9Xs8Zl8qC+6IsvdVpQ74JvZyysKkbA3FkIhTkaxtz+tv?= =?us-ascii?Q?EdgxmnuDkaLvkAl8YmKj1PrafmUItEECzSZZBTsWtgM7dBSe/Iy5LHdRC7c/?= =?us-ascii?Q?Hh8bg0KW3DBcq4td/SdMPj1ZgzeZ7GFhd5W8C3KvJE94zg1MTG5YRt0vPu0G?= =?us-ascii?Q?U7nZ6+t7BwaGHDlLmKtrdNb0i4XP9P3tqPbiyU9Fnda4N0Ri4ymeEZNUkdb/?= =?us-ascii?Q?oxO/5J3XIm8uLUlDkXs6wvzhzbqW1q/A30VM7HXb8fjaLGroApAb4KccAjUF?= =?us-ascii?Q?feRyWAb+bsfdmxs8bXl8JlwzRokxtg8JXwl2N2UJzyjMsE0fB0yJz9J1mYGA?= =?us-ascii?Q?vI6Z3NrHgJRgpitiO1EkfmyK5u4w5ZlKeVjJunA61UU6h6XY1v9hlO/OV9qp?= =?us-ascii?Q?qOP80wraa7IXx3I4ETuKA3O4CYFL3I/bDiD6rTm01zenhu25E5Ynf1PpcBlY?= =?us-ascii?Q?UGVmNLdW4K0R/GpFoaOhQHJJQDibZogcekaD+FYEI2h2MzObUXec5TEjlKRp?= =?us-ascii?Q?O3DdOiPsUoKLVLZAzXkkTefoHXIStsEOc69oAGv9XLIUECZp9LPGb60O6ipV?= =?us-ascii?Q?BbyU0nzhf2TCyGapiXPIDOl74t/hTdHZ44aKrKm8O76RW4yS3DGjlru+qiIl?= =?us-ascii?Q?haPs2vL/4U7hLceeAje4o0ERmzGlqSi3A7Aho2ewNsQlsk7FHHNPUaVOoHdq?= =?us-ascii?Q?11iXsIoOjQ6oZJ+8C5249v/mnFIbTBvqG44yuzLDjgOrEOhwsl1PtPLhhjqd?= =?us-ascii?Q?6aEu4pprTkucESzblt3A7J8bUgFCuVXYJlZvXFNmHNMhsFGQHuzeWIGkk0So?= =?us-ascii?Q?CnOiGpwa5VkbbhLVw1m8SlweMN8OiuLNrEEwlyhOTYDrt8mNxpIOhZPTPE8l?= =?us-ascii?Q?k/NvKIKMUgznqI2q8I/pFp9DfVSTB4VDSs+wsjJfWjH2/AonhhGX/UnPtv6n?= =?us-ascii?Q?5tKhwBN8vCVxKlQKVTiZV0Glc39oxJ4fs4Xv6I/cbHUe6fHyCDlnJrPvdfEy?= =?us-ascii?Q?tK4rZoeOGUENcTnn53U3rHzVKD/LGyk0eOnvo5mibKQ6sXqUT+HbsKIiWFP8?= =?us-ascii?Q?B55gDGR8GpBzhNgogZoIFbsqGRMn5TdGBzGZXx5YPdaraR5YPbYfzNVTnZMU?= =?us-ascii?Q?mkNEEWt+hS8q0ThxASr541g415HpqN9hdi3br5zpOlLSqDPuAY01DyXmF8x/?= =?us-ascii?Q?xTSpfsbMJ5AuqDRXwUL700jduZCpFJ+z3ZjG6BiMa438M+n1UlCYiGpE3r3U?= =?us-ascii?Q?qagvH00/oJdpvJ22e3G1UPWudzSBWU1e1JGnoFp1Gp5qY7CrXoBKetknU93+?= =?us-ascii?Q?7345xPgJn4w5dKPOwC+EJGlznxEM46jj82OkbtNubP0JtiVnl97KgLcbCbPW?= =?us-ascii?Q?DPDhjLvDH3ifn9cD5+Mp3IBSUaiTMyzWQuGJOC0BNm9Y9rzD+ISW39PpYMh+?= =?us-ascii?Q?hrx2N6dgAvGNBJYvuoBxoC8=3D?= X-OriginatorOrg: quantatw.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c5831e7-589a-4a3d-4a91-08d9eaf5525b X-MS-Exchange-CrossTenant-AuthSource: HK0PR04MB3282.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Feb 2022 11:22:42.1893 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 179b0327-07fc-4973-ac73-8de7313561b2 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: C66qSUlGvPWrkEWJqAd8wH+JUMb0eSVjjhdkbewDPdsdscFFGcofUfJ+QijW0w1JhT2u4/lt0182tl6bqDVJeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR04MB3805 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for passing supported PD rev to TCPM. If "supported-pd-rev" property exist, then return supported_pd_rev as defined value in DTS, otherwise return PD_MAX_REV Example of DTS: fusb302: typec-portc@22 { compatible =3D "fcs,fusb302"; reg =3D <0x22>; ... supported-pd-rev=3D<1>; // PD_REV20 ... }; Signed-off-by: Potin Lai --- drivers/usb/typec/tcpm/fusb302.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb= 302.c index 72f9001b0792..8cff92d58b96 100644 --- a/drivers/usb/typec/tcpm/fusb302.c +++ b/drivers/usb/typec/tcpm/fusb302.c @@ -109,6 +109,9 @@ struct fusb302_chip { enum typec_cc_status cc2; u32 snk_pdo[PDO_MAX_OBJECTS]; =20 + /* supported pd rev */ + u32 supported_pd_rev; + #ifdef CONFIG_DEBUG_FS struct dentry *dentry; /* lock for log buffer access */ @@ -1056,6 +1059,13 @@ static int tcpm_pd_transmit(struct tcpc_dev *dev, en= um tcpm_transmit_type type, return ret; } =20 +static u32 tcpm_supported_pd_rev(struct tcpc_dev *dev) +{ + struct fusb302_chip *chip =3D container_of(dev, struct fusb302_chip, + tcpc_dev); + return chip->supported_pd_rev; +} + static enum typec_cc_status fusb302_bc_lvl_to_cc(u8 bc_lvl) { if (bc_lvl =3D=3D FUSB_REG_STATUS0_BC_LVL_1230_MAX) @@ -1129,6 +1139,7 @@ static void init_tcpc_dev(struct tcpc_dev *fusb302_tc= pc_dev) fusb302_tcpc_dev->set_roles =3D tcpm_set_roles; fusb302_tcpc_dev->start_toggling =3D tcpm_start_toggling; fusb302_tcpc_dev->pd_transmit =3D tcpm_pd_transmit; + fusb302_tcpc_dev->supported_pd_rev =3D tcpm_supported_pd_rev; } =20 static const char * const cc_polarity_name[] =3D { @@ -1683,6 +1694,7 @@ static int fusb302_probe(struct i2c_client *client, struct fusb302_chip *chip; struct i2c_adapter *adapter =3D client->adapter; struct device *dev =3D &client->dev; + struct device_node *np =3D dev->of_node; const char *name; int ret =3D 0; =20 @@ -1756,6 +1768,14 @@ static int fusb302_probe(struct i2c_client *client, dev_err(dev, "cannot request IRQ for GPIO Int_N, ret=3D%d", ret); goto tcpm_unregister_port; } + + if (of_property_read_u32(np, "supported-pd-rev", + &chip->supported_pd_rev) < 0) { + chip->supported_pd_rev =3D PD_MAX_REV; + } else if (chip->supported_pd_rev > PD_MAX_REV) { + chip->supported_pd_rev =3D PD_MAX_REV; + } + enable_irq_wake(chip->gpio_int_n_irq); i2c_set_clientdata(client, chip); =20 --=20 2.17.1