From patchwork Fri Sep 6 11:01:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Potthuri, Sai Krishna" X-Patchwork-Id: 13793942 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C6CE1CD5BDD for ; Fri, 6 Sep 2024 11:02:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=vaC5VeP8ZmVJcsX0tRXm1Bczc4yYOrosDIsWgb61Bd4=; b=eFnc1ztC3EnkS6NKt98zPbcOuS 7a6GA8Tm581MVU+v+7AGOP9telK/KnSdc6GEEuTZcPvJD/DujrS0ACzW80UhXg4uR7jAv8nOV6+/p BGIKIYJGwd7gNJWTdxnmXsS5+VgptSrVe7rsrEo7NColgbIYy2a4mqEtxrsgpee4kt0CTPwvqggFj dUMwxzos76l2ZbmtTAa7VFqkGnAXHod3Gx/06aX44KARr2PYeckz3YDx7lsw4nw6kVsZ9EG9REII2 sx2k5rIdFWLWJ1kEvafI/t84SKDSKDMK43cIZ5ocsg50JeS8eFXhnyHguw5QqoJPnvL9XuYcMTMyE PER6Ac5A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1smWji-0000000Bsjm-3293; Fri, 06 Sep 2024 11:02:42 +0000 Received: from mail-bn8nam04on20624.outbound.protection.outlook.com ([2a01:111:f403:2408::624] helo=NAM04-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1smWib-0000000BsH3-27YN for linux-arm-kernel@lists.infradead.org; Fri, 06 Sep 2024 11:01:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i4nTFDUK6+oa4q0nhwU0rjfLnoo39+n/UfvFJDu+tiW/jMV5j63BtuA+jbcDz1BOTissIxJm32SrwFfFZrwL/qWqIT/9WBWEPyzeBCFCSXN7AQibQ9MwaYRP2zCUgAx4B/81cA4BSWgDtXMjntb2gCwA7clGCgQSA9d6Dagnt8lj5GrZv7rmGXKJ7Tb/2HHVYxzrGmuUvVJk+tjzCKsJAY+fyiLGCBgmFtIvC4ZXkQ7IVwtvbTvPnlFtE27/Cj696mN0c/N9TzwQks5OYz++7mHjgsj3YXo8/C0Cvv+7Bp1pZeYjKXPZcKYNb+JWMJLh+wpvE2GjopiMASJC/Y97dA== 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=vaC5VeP8ZmVJcsX0tRXm1Bczc4yYOrosDIsWgb61Bd4=; b=ipx0/eIOx1vGgBgckQRQVUxAi7y9iR03lM51G8ElznBeg5Jcg1knBsKrcRR9zndgFP/ANtq5svPCiF8XwNHdwCL/5SJ10hzqEJ1NFKYl6eDy+ynpVx7PpotzyB+EdTOwrNB+7fvgkxS6qvD4MRwmcrCt16PMyjuhvpK4GsgSHm8XSgUaGUwBafR5JJfgVnwaPbPRirO1UnU3XwxxoHdP+xxvCtBQeU9DXzNz5p+uIto8CfOSFcyJEsWCcRkQ3bHudyKLyQMLOha+Q/iN3/OjeJr8wEg3ngmQ7QYXmkeg5La5mZRYOjSABNnznPeIsldU5fUFjGsKleYYektuhn7WGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vaC5VeP8ZmVJcsX0tRXm1Bczc4yYOrosDIsWgb61Bd4=; b=5fkfU0SaPY6W/JANquu5PVEkJ095L8k0iD/u/BvMzDBBJu8vO2HMP+SHnxeObpE9LLjMHnsIhTYR5JzqjqNEJ+//d6P+HPvjc57nMqMKt3Iblre9/P7yac6IMNyCgkYl1uOdwT5n45m7UImaeoZrF8ho/7qLkwMbyz0XnoinDIs= Received: from BN8PR15CA0047.namprd15.prod.outlook.com (2603:10b6:408:80::24) by CYYPR12MB8730.namprd12.prod.outlook.com (2603:10b6:930:c1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Fri, 6 Sep 2024 11:01:24 +0000 Received: from BN2PEPF00004FBB.namprd04.prod.outlook.com (2603:10b6:408:80:cafe::25) by BN8PR15CA0047.outlook.office365.com (2603:10b6:408:80::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend Transport; Fri, 6 Sep 2024 11:01:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BN2PEPF00004FBB.mail.protection.outlook.com (10.167.243.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Fri, 6 Sep 2024 11:01:23 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 6 Sep 2024 06:01:22 -0500 Received: from xhdlakshmis40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 6 Sep 2024 06:01:19 -0500 From: Sai Krishna Potthuri To: Linus Walleij , Michal Simek , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jay Buddhabhatti , Praveen Teja Kundanala , Greg Kroah-Hartman CC: , , , , , , Sai Krishna Potthuri Subject: [PATCH v5 1/3] dt-bindings: pinctrl: Add support for Xilinx Versal platform Date: Fri, 6 Sep 2024 16:31:11 +0530 Message-ID: <20240906110113.3154327-2-sai.krishna.potthuri@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240906110113.3154327-1-sai.krishna.potthuri@amd.com> References: <20240906110113.3154327-1-sai.krishna.potthuri@amd.com> MIME-Version: 1.0 Received-SPF: None (SATLEXMB04.amd.com: sai.krishna.potthuri@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBB:EE_|CYYPR12MB8730:EE_ X-MS-Office365-Filtering-Correlation-Id: ba67295d-28ce-4825-b3be-08dcce633f4b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014; X-Microsoft-Antispam-Message-Info: ZRXfoR+WBxWhOjLpqu42fo3OLUESDTH5FjCDUSBk0uDMKubbXx0AxYGDgjxI5Cgwy8oA2FKymbj0IXnVKoB0ACCpotcPWYHsGe4HjVyeqPI8wwVDQ78UZiCBhMsbUibgjDVrYJ5wjcUNa33LpftmRmCK1nqDcuNci7V5mfyQkYaBBehpNoQ0wWpwPwotywFDOUbnSs/cOwFYSsfGldDDs0DgOV/5vyLsBSsbF6mQxsqSGS5Krs0yCsl0HCyVW6CdWrURqH7KGbaFepZJ3oIV5TbBL27CEyJcD9qVu04zFghgGULJVpYocsAendzcWYFNlC15mGhOs8qetFzvzE+3BtlWx2OCpd9Kade1t2a6MH9WcPAqHqHm6m96NqD3mnc9GyeTFZItLiAmIb619gnQkUqYxK2IOR+0Ytu86cU27xWtRKkegaybR7ZtgQ7wFLGl8/n+mWwE+crwb+I7gZHvUUmhNzzbJ2WoC9u0tVq0/JrBKnNPAEECPQU8IlGSP6jhw5Dr/w5shJ8WNId/es+RBJmdZqAnxcdoHF4ffUd9K38RXu5LJy0mH08au+KKQMaELHaSDoR3RTZWrzQPc1a5wUWc/dcViP01UYktl4U5F7RyZYuBvftCXkHft245LpegZledJlHbR/3atC3Ed2LBJeBYY9OppMSzjaB/AHoNLVmKNO1yTFd386YhGR91OT6M4aqZJoUKJ49BObPxxgbXoouxAYZFCS2mdFbfwOgYVn3nO6NS3ygv31EW/adALR7CgYvHavCf/LDIDLTlfs76ATDGIeGn91rxEUVvGsNeCkwsC2Q0Vz7UA7Oc3S62c1RxUt6xVown9qJ5p2y2EYTeVPnQMeqzhq71fJ9Cu0uS73Ovo2ELc6TJZyYZNNuiDhjMQRs6Sb8/BRYJeZ24x4uGty/WzKjaMvFK5sPMJIOShp9fkgygVMB18kMpdGKFoREXgxCi9bH6GkfRvzTT8NWUzAReboDWEGF3ILQYWr+mV3BQm/VDZNcQ7J184k7nngGILbjvtM213frNkqOsEUmF8nWW1Rd+dZvRTS9LBoOFmhHcizyYu0+8OOQHEL0ZGv9VtJRhkVwCC2HFK8X0l9UV4bVi4t07SZ96Ft5enkBEm8R722zj6tw0wqFuwlJ9LTpoHCtmYunFCyJIHm5MhIp0dd/HrpicX4zrIWN+Z4Jxot1fOhH49uryBpY/oac+SUfTe+6vxEKcdwwzFKDJ0VPAXBr4VPh9vmmXbTY1qORvsYBg4wgm8d9zVp6a6ZQXdhMOpGkrReyw7k0xMmJ0VgcSV+RI42+ImcykkbTNDxhXXFMOyyUdc7P2bGu8SDHY7WUhQ3gh4Exx2iblM4AD+Qxyfr6xNjYndOtyKTpVAIEfBT2xw4BsZQTsH1fsdJJOZgGiGCmaF8O+f9InFv036FAXiQ== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 11:01:23.7996 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ba67295d-28ce-4825-b3be-08dcce633f4b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF00004FBB.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8730 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240906_040133_660078_060453AA X-CRM114-Status: GOOD ( 14.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add Xilinx Versal compatible string and corresponding groups, function and pins properties to support pin controller features on Versal platform. Signed-off-by: Sai Krishna Potthuri Reviewed-by: Rob Herring (Arm) --- .../bindings/pinctrl/xlnx,versal-pinctrl.yaml | 278 ++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/xlnx,versal-pinctrl.yaml diff --git a/Documentation/devicetree/bindings/pinctrl/xlnx,versal-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/xlnx,versal-pinctrl.yaml new file mode 100644 index 000000000000..55ece6a8be5e --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/xlnx,versal-pinctrl.yaml @@ -0,0 +1,278 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/xlnx,versal-pinctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Xilinx Versal Pinctrl + +maintainers: + - Sai Krishna Potthuri + +description: | + Please refer to pinctrl-bindings.txt in this directory for details of the + common pinctrl bindings used by client devices, including the meaning of the + phrase "pin configuration node". + + Versal's pin configuration nodes act as a container for an arbitrary number of + subnodes. Each of these subnodes represents some desired configuration for a + pin, a group, or a list of pins or groups. This configuration can include the + mux function to select on those pin(s)/group(s), and various pin configuration + parameters, such as pull-up, slew rate, etc. + + Each configuration node can consist of multiple nodes describing the pinmux and + pinconf options. Those nodes can be pinmux nodes or pinconf nodes. + +properties: + compatible: + const: xlnx,versal-pinctrl + +patternProperties: + '^(.*-)?(default|gpio-grp)$': + type: object + patternProperties: + '^mux': + type: object + description: + Pinctrl node's client devices use subnodes for pin muxes, + which in turn use below standard properties. + $ref: pinmux-node.yaml# + + properties: + pins: + description: + List of pins to select (either this or "groups" must be specified) + $ref: "#/$defs/pins/properties/pins" + + groups: + description: + List of groups to select (either this or "pins" must be + specified), available groups for this subnode. + anyOf: + - pattern: '^((LPD|PMC)_)MIO([0-9]|[1-6][0-9]|7[0-7])$' + - $ref: "#/$defs/pins/properties/groups" + + function: + description: + Specify the alternative function to be configured for the + given pin groups. + enum: [spi0, spi0_ss, spi1, spi1_ss, can0, can1, i2c0, i2c1, i2c_pmc, ttc0_clk, + ttc0_wav, ttc1_clk, ttc1_wav, ttc2_clk, ttc2_wav, ttc3_clk, ttc3_wav, wwdt0, + wwdt1, sysmon_i2c0, sysmon_i2c0_alrt, uart0, uart0_ctrl, uart1, uart1_ctrl, + gpio0, gpio1, gpio2, emio0, gem0, gem1, trace0, trace0_clk, mdio0, mdio1, gem_tsu0, + pcie0, smap0, usb0, sd0, sd0_pc, sd0_cd, sd0_wp, sd1, sd1_pc, sd1_wp, sd1_cd, + ospi0, ospi0_ss, qspi0, qspi0_fbclk, qspi0_ss, test_clk, test_scan, tamper_trigger] + + required: + - function + + oneOf: + - required: [ groups ] + - required: [ pins ] + + additionalProperties: false + + '^conf': + type: object + description: + Pinctrl node's client devices use subnodes for pin configurations, + which in turn use the standard properties below. + allOf: + - $ref: pincfg-node.yaml# + - $ref: "#/$defs/pins" + + additionalProperties: false + +allOf: + - $ref: pinctrl.yaml# + +required: + - compatible + +additionalProperties: false + +$defs: + pins: + properties: + groups: + description: + List of pin groups to select in this subnode. + items: + enum: [spi0_0_grp, spi0_1_grp, spi0_2_grp, spi0_3_grp, spi0_4_grp, spi0_5_grp, + spi0_ss_0_grp, spi0_ss_1_grp, spi0_ss_2_grp, spi0_ss_3_grp, spi0_ss_4_grp, + spi0_ss_5_grp, spi0_ss_6_grp, spi0_ss_7_grp, spi0_ss_8_grp, spi0_ss_9_grp, + spi0_ss_10_grp, spi0_ss_11_grp, spi0_ss_12_grp, spi0_ss_13_grp, spi0_ss_14_grp, + spi0_ss_15_grp, spi0_ss_16_grp, spi0_ss_17_grp, spi1_0_grp, spi1_1_grp, + spi1_2_grp, spi1_3_grp, spi1_4_grp, spi1_5_grp, spi1_ss_0_grp, spi1_ss_1_grp, + spi1_ss_2_grp, spi1_ss_3_grp, spi1_ss_4_grp, spi1_ss_5_grp, spi1_ss_6_grp, + spi1_ss_7_grp, spi1_ss_8_grp, spi1_ss_9_grp, spi1_ss_10_grp, spi1_ss_11_grp, + spi1_ss_12_grp, spi1_ss_13_grp, spi1_ss_14_grp, spi1_ss_15_grp, spi1_ss_16_grp + spi1_ss_17_grp, can0_0_grp, can0_1_grp, can0_2_grp, can0_3_grp, can0_4_grp, + can0_5_grp, can0_6_grp, can0_7_grp, can0_8_grp, can0_9_grp, can0_10_grp, + can0_11_grp, can0_12_grp, can0_13_grp, can0_14_grp, can0_15_grp, can0_16_grp, + can0_17_grp, can1_0_grp, can1_1_grp, can1_2_grp, can1_3_grp, can1_4_grp, + can1_5_grp, can1_6_grp, can1_7_grp, can1_8_grp, can1_9_grp, can1_10_grp, + can1_11_grp, can1_12_grp, can1_13_grp, can1_14_grp, can1_15_grp, can1_16_grp, + can1_17_grp, can1_18_grp, i2c0_0_grp, i2c0_1_grp, i2c0_2_grp, i2c0_3_grp, + i2c0_4_grp, i2c0_5_grp, i2c0_6_grp, i2c0_7_grp, i2c0_8_grp, i2c0_9_grp, + i2c0_10_grp, i2c0_11_grp, i2c0_12_grp, i2c0_13_grp, i2c0_14_grp, i2c0_15_grp, + i2c0_16_grp, i2c0_17_grp, i2c1_0_grp, i2c1_1_grp, i2c1_2_grp, i2c1_3_grp, + i2c1_4_grp, i2c1_5_grp, i2c1_6_grp, i2c1_7_grp, i2c1_8_grp, i2c1_9_grp, + i2c1_10_grp, i2c1_11_grp, i2c1_12_grp, i2c1_13_grp, i2c1_14_grp, i2c1_15_grp, + i2c1_16_grp, i2c1_17_grp, i2c1_18_grp, i2c_pmc_0_grp, i2c_pmc_1_grp, + i2c_pmc_2_grp, i2c_pmc_3_grp, i2c_pmc_4_grp, i2c_pmc_5_grp, i2c_pmc_6_grp, + i2c_pmc_7_grp, i2c_pmc_8_grp, i2c_pmc_9_grp, i2c_pmc_10_grp, i2c_pmc_11_grp, + i2c_pmc_12_grp, ttc0_clk_0_grp, ttc0_clk_1_grp, ttc0_clk_2_grp, ttc0_clk_3_grp, + ttc0_clk_4_grp, ttc0_clk_5_grp, ttc0_clk_6_grp, ttc0_clk_7_grp, ttc0_clk_8_grp, + ttc0_wav_0_grp, ttc0_wav_1_grp, ttc0_wav_2_grp, ttc0_wav_3_grp, ttc0_wav_4_grp, + ttc0_wav_5_grp, ttc0_wav_6_grp, ttc0_wav_7_grp, ttc0_wav_8_grp, ttc1_clk_0_grp, + ttc1_clk_1_grp, ttc1_clk_2_grp, ttc1_clk_3_grp, ttc1_clk_4_grp, ttc1_clk_5_grp, + ttc1_clk_6_grp, ttc1_clk_7_grp, ttc1_clk_8_grp, ttc1_wav_0_grp, ttc1_wav_1_grp, + ttc1_wav_2_grp, ttc1_wav_3_grp, ttc1_wav_4_grp, ttc1_wav_5_grp, ttc1_wav_6_grp, + ttc1_wav_7_grp, ttc1_wav_8_grp, ttc2_clk_0_grp, ttc2_clk_1_grp, ttc2_clk_2_grp, + ttc2_clk_3_grp, ttc2_clk_4_grp, ttc2_clk_5_grp, ttc2_clk_6_grp, ttc2_clk_7_grp, + ttc2_clk_8_grp, ttc2_wav_0_grp, ttc2_wav_1_grp, ttc2_wav_2_grp, ttc2_wav_3_grp, + ttc2_wav_4_grp, ttc2_wav_5_grp, ttc2_wav_6_grp, ttc2_wav_7_grp, ttc2_wav_8_grp, + ttc3_clk_0_grp, ttc3_clk_1_grp, ttc3_clk_2_grp, ttc3_clk_3_grp, ttc3_clk_4_grp, + ttc3_clk_5_grp, ttc3_clk_6_grp, ttc3_clk_7_grp, ttc3_clk_8_grp, ttc3_wav_0_grp, + ttc3_wav_1_grp, ttc3_wav_2_grp, ttc3_wav_3_grp, ttc3_wav_4_grp, ttc3_wav_5_grp, + ttc3_wav_6_grp, ttc3_wav_7_grp, ttc3_wav_8_grp, wwdt0_0_grp, wwdt0_1_grp, + wwdt0_2_grp, wwdt0_3_grp, wwdt0_4_grp, wwdt0_5_grp, wwdt1_0_grp, wwdt1_1_grp, + wwdt1_2_grp, wwdt1_3_grp, wwdt1_4_grp, wwdt1_5_grp, sysmon_i2c0_0_grp, + sysmon_i2c0_1_grp, sysmon_i2c0_2_grp, sysmon_i2c0_3_grp, sysmon_i2c0_4_grp, + sysmon_i2c0_5_grp, sysmon_i2c0_6_grp, sysmon_i2c0_7_grp, sysmon_i2c0_8_grp, + sysmon_i2c0_9_grp, sysmon_i2c0_10_grp, sysmon_i2c0_11_grp, sysmon_i2c0_12_grp, + sysmon_i2c0_13_grp, sysmon_i2c0_14_grp, sysmon_i2c0_15_grp, + sysmon_i2c0_16_grp, sysmon_i2c0_17_grp, sysmon_i2c0_alrt_0_grp, + sysmon_i2c0_alrt_1_grp, sysmon_i2c0_alrt_2_grp, sysmon_i2c0_alrt_3_grp, + sysmon_i2c0_alrt_4_grp, sysmon_i2c0_alrt_5_grp, sysmon_i2c0_alrt_6_grp, + sysmon_i2c0_alrt_7_grp, sysmon_i2c0_alrt_8_grp, sysmon_i2c0_alrt_9_grp, + sysmon_i2c0_alrt_10_grp, sysmon_i2c0_alrt_11_grp, sysmon_i2c0_alrt_12_grp, + sysmon_i2c0_alrt_13_grp, sysmon_i2c0_alrt_14_grp, sysmon_i2c0_alrt_15_grp, + sysmon_i2c0_alrt_16_grp, sysmon_i2c0_alrt_17_grp, uart0_0_grp, uart0_1_grp, + uart0_2_grp, uart0_3_grp, uart0_4_grp, uart0_5_grp, uart0_6_grp, uart0_7_grp, + uart0_8_grp, uart0_ctrl_0_grp, uart0_ctrl_1_grp, uart0_ctrl_2_grp, + uart0_ctrl_3_grp, uart0_ctrl_4_grp, uart0_ctrl_5_grp, uart0_ctrl_6_grp, + uart0_ctrl_7_grp, uart0_ctrl_8_grp, uart1_0_grp, uart1_1_grp, uart1_2_grp, + uart1_3_grp, uart1_4_grp, uart1_5_grp, uart1_6_grp, uart1_7_grp, uart1_8_grp, + uart1_ctrl_0_grp, uart1_ctrl_1_grp, uart1_ctrl_2_grp, uart1_ctrl_3_grp, + uart1_ctrl_4_grp, uart1_ctrl_5_grp, uart1_ctrl_6_grp, uart1_ctrl_7_grp, + uart1_ctrl_8_grp, gpio0_0_grp, gpio0_1_grp, gpio0_2_grp, gpio0_3_grp, + gpio0_4_grp, gpio0_5_grp, gpio0_6_grp, gpio0_7_grp, gpio0_8_grp, gpio0_9_grp, + gpio0_10_grp, gpio0_11_grp, gpio0_12_grp, gpio0_13_grp, gpio0_14_grp, + gpio0_15_grp, gpio0_16_grp, gpio0_17_grp, gpio0_18_grp, gpio0_19_grp, + gpio0_20_grp, gpio0_21_grp, gpio0_22_grp, gpio0_23_grp, gpio0_24_grp, + gpio0_25_grp, gpio1_0_grp, gpio1_1_grp, gpio1_2_grp, gpio1_3_grp, gpio1_4_grp, + gpio1_5_grp, gpio1_6_grp, gpio1_7_grp, gpio1_8_grp, gpio1_9_grp, + gpio1_10_grp, gpio1_11_grp, gpio1_12_grp, gpio1_13_grp, gpio1_14_grp, + gpio1_15_grp, gpio1_16_grp, gpio1_17_grp, gpio1_18_grp, gpio1_19_grp, + gpio1_20_grp, gpio1_21_grp, gpio1_22_grp, gpio1_23_grp, gpio1_24_grp, + gpio1_25_grp, gpio2_0_grp, gpio2_1_grp, gpio2_2_grp, gpio2_3_grp, gpio2_4_grp, + gpio2_5_grp, gpio2_6_grp, gpio2_7_grp, gpio2_8_grp, gpio2_9_grp, gpio2_10_grp, + gpio2_11_grp, gpio2_12_grp, gpio2_13_grp, gpio2_14_grp, gpio2_15_grp, + gpio2_16_grp, gpio2_17_grp, gpio2_18_grp, gpio2_19_grp, gpio2_20_grp, + gpio2_21_grp, gpio2_22_grp, gpio2_23_grp, gpio2_24_grp, gpio2_25_grp, + emio0_0_grp, emio0_1_grp, emio0_2_grp, emio0_3_grp, emio0_4_grp, emio0_5_grp, + emio0_6_grp, emio0_7_grp, emio0_8_grp, emio0_9_grp, emio0_10_grp, + emio0_11_grp, emio0_12_grp, emio0_13_grp, emio0_14_grp, emio0_15_grp, + emio0_16_grp, emio0_17_grp, emio0_18_grp, emio0_19_grp, emio0_20_grp, + emio0_21_grp, emio0_22_grp, emio0_23_grp, emio0_24_grp, emio0_25_grp, + emio0_26_grp, emio0_27_grp, emio0_28_grp, emio0_29_grp, emio0_30_grp, + emio0_31_grp, emio0_32_grp, emio0_33_grp, emio0_34_grp, emio0_35_grp, + emio0_36_grp, emio0_37_grp, emio0_38_grp, emio0_39_grp, emio0_40_grp, + emio0_41_grp, emio0_42_grp, emio0_43_grp, emio0_44_grp, emio0_45_grp, + emio0_46_grp, emio0_47_grp, emio0_48_grp, emio0_49_grp, emio0_50_grp, + emio0_51_grp, emio0_52_grp, emio0_53_grp, emio0_54_grp, emio0_55_grp, + emio0_56_grp, emio0_57_grp, emio0_58_grp, emio0_59_grp, emio0_60_grp, + emio0_61_grp, emio0_62_grp, emio0_63_grp, emio0_64_grp, emio0_65_grp, + emio0_66_grp, emio0_67_grp, emio0_68_grp, emio0_69_grp, emio0_70_grp, + emio0_71_grp, emio0_72_grp, emio0_73_grp, emio0_74_grp, emio0_75_grp, + emio0_76_grp, emio0_77_grp, gem0_0_grp, gem0_1_grp, gem1_0_grp, gem1_1_grp, + trace0_0_grp, trace0_1_grp, trace0_2_grp, trace0_clk_0_grp, trace0_clk_1_grp, + trace0_clk_2_grp, mdio0_0_grp, mdio0_1_grp, mdio1_0_grp, mdio1_1_grp, + gem_tsu0_0_grp, gem_tsu0_1_grp, gem_tsu0_2_grp, gem_tsu0_3_grp, pcie0_0_grp, + pcie0_1_grp, pcie0_2_grp, smap0_0_grp, usb0_0_grp, sd0_0_grp, sd0_1_grp, + sd0_2_grp, sd0_3_grp, sd0_4_grp, sd0_5_grp, sd0_6_grp, sd0_7_grp, sd0_8_grp, + sd0_9_grp, sd0_10_grp, sd0_11_grp, sd0_12_grp, sd0_13_grp, sd0_14_grp, + sd0_15_grp, sd0_16_grp, sd0_17_grp, sd0_18_grp, sd0_19_grp, sd0_20_grp, + sd0_21_grp, sd0_pc_0_grp, sd0_pc_1_grp, sd0_cd_0_grp, sd0_cd_1_grp, + sd0_wp_0_grp, sd0_wp_1_grp, sd1_0_grp, sd1_1_grp, sd1_2_grp, sd1_3_grp, + sd1_4_grp, sd1_5_grp, sd1_6_grp, sd1_7_grp, sd1_8_grp, sd1_9_grp, sd1_10_grp, + sd1_11_grp, sd1_12_grp, sd1_13_grp, sd1_14_grp, sd1_15_grp, sd1_16_grp, + sd1_17_grp, sd1_18_grp, sd1_19_grp, sd1_20_grp, sd1_21_grp, sd1_pc_0_grp, + sd1_pc_1_grp, sd1_cd_0_grp, sd1_cd_1_grp, sd1_wp_0_grp, sd1_wp_1_grp, + ospi0_0_grp, ospi0_ss_0_grp, qspi0_0_grp, qspi0_fbclk_0_grp, qspi0_ss_0_grp, + test_clk_0_grp, test_scan_0_grp, tamper_trigger_0_grp] + minItems: 1 + maxItems: 78 + + pins: + description: + List of pin names to select in this subnode. + items: + pattern: '^((LPD|PMC)_)MIO([0-9]|[1-6][0-9]|7[0-7])$' + minItems: 1 + maxItems: 78 + + bias-pull-up: true + bias-pull-down: true + bias-disable: true + input-schmitt-enable: true + input-schmitt-disable: true + bias-high-impedance: true + low-power-enable: true + low-power-disable: true + + slew-rate: + enum: [0, 1] + + output-enable: + description: + This will internally disable the tri-state for MIO pins. + + drive-strength: + description: + Selects the drive strength for MIO pins, in mA. + enum: [2, 4, 8, 12] + + power-source: + enum: [0, 1] + + oneOf: + - required: [ groups ] + - required: [ pins ] + + additionalProperties: false + +examples: + - | + #include + pinctrl { + compatible = "xlnx,versal-pinctrl"; + + uart0-default { + mux { + groups = "uart0_4_grp", "uart0_5_grp"; + function = "uart0"; + }; + + conf { + groups = "uart0_4_grp"; + slew-rate = ; + power-source = ; + }; + + conf-rx { + pins = "PMC_MIO42"; + bias-pull-up; + }; + + conf-tx { + pins = "PMC_MIO43"; + bias-disable; + input-schmitt-disable; + }; + }; + }; + +... From patchwork Fri Sep 6 11:01:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Potthuri, Sai Krishna" X-Patchwork-Id: 13793943 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C2DECCD5BDD for ; Fri, 6 Sep 2024 11:03:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6hi06G0MBKfeWgajsyOAfkXMObi0dFqrI9CNnzqdLpE=; b=L3as/1Mic832eIVCl9Pu7GZgqV K8p0jQekCDb9f8mUevniwfr3kfpBxPyS1RktubHHi88lZyYVCrryFN6v+rnXxVojH2KflSZRTUCk7 V975R8q9jqxKE7MVcgvrtHp0qCzaRtgRqGXXpAt1bPyhO4yoqEar7WQ3ci7UAPzqqVI5K60PeZWmU JlHv3wc1Kd8pZMntpzDJ0arPcSm6SjhpAGTnpIeZYKaWCS/6kqDxMRROa8FEzTMZATnlCATkeUzVj gRWKx2ECxuUpydKc4Il+6vWPWXlvUUqpTWB6U3I7YBXph2512MWYnA8wIeRZPN/gzhIVGHoYb7hGi mqXcpREw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1smWkg-0000000Bsus-0bcy; Fri, 06 Sep 2024 11:03:42 +0000 Received: from mail-dm6nam10on20603.outbound.protection.outlook.com ([2a01:111:f400:7e88::603] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1smWie-0000000BsHh-3NMy for linux-arm-kernel@lists.infradead.org; Fri, 06 Sep 2024 11:01:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WiEIop+Ih3SwQVCEniiA2KY+7L/mwAmQEhNi1nhdxngeli7BwwaqPGQ6SQUnIrd8rs6WjrnR5X38U2jsDRvnWaU9A+kkTuNQqPRnLR6rhO96e9BKuMOOWpzO3xzGKXJcHB6MgD/qYsBescw39c2vCpOuCf8rq6z6pY86FBrXdsK6WhRPRR2hbIGVCN+Hij+RfT074NrIwyPKt9PzvFqZ6zkJxb/Xu9L8J+ZOeerGYuGp3J89ZUBXVzDnSfUDWzgyanhbOeBlPqw2k52dF/TYPRYawp67kx7sZaWOi6t73aSLkcqAsKZZFClpZB5fDKUBxw30Whz5WuOxgNh+Ra91Vw== 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=6hi06G0MBKfeWgajsyOAfkXMObi0dFqrI9CNnzqdLpE=; b=dpcUQq0k8uoQZdyvUsR9P4ZXie3ZgY83cFmaT9gitui0epgrL00fU6j2E/njP+lSutk+PbvSr8Y4lHU57tQqXuC5dmBV0Oy1VN7/EcQ59muKuwwQuNsVGwtKrVf2+3RQe8CsKAhvw5uHZ5UOzCLHvD9dLBdnH0t1sUKB+NbSu9gvYpGGNyR2Mil1JOFCVSHtWcHEZjYoPsWUPbNoAz1BnRpxnypAzTAsMyT8JEFHlaIHpFyklf7apz7Iu+gCg4ghH9OH155y9as9cAmchUDYNjLpnugWVDvgmbaJWymkebYGL8B6sCv2g3pw8BbCVZf1a4oxTFpGQ4CPkcySbl0f/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6hi06G0MBKfeWgajsyOAfkXMObi0dFqrI9CNnzqdLpE=; b=quSSEhD41tZzpqk24DJ5RPGl0daK21krnzOz5UdQ52SBPGXBCtz9COTPemap+8AEBsYVKY5MZwaciHCtvrIHEYFi7x02mlPlV5JW2apo3FzeY2B4smJRrvKC9H3BtcmoAQVHb9jKYQZKIoOdi6uHUa9oiVtaZL6EO2qXn8MmNuU= Received: from MW4PR03CA0212.namprd03.prod.outlook.com (2603:10b6:303:b9::7) by SJ2PR12MB9161.namprd12.prod.outlook.com (2603:10b6:a03:566::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Fri, 6 Sep 2024 11:01:29 +0000 Received: from CO1PEPF000044F8.namprd21.prod.outlook.com (2603:10b6:303:b9:cafe::74) by MW4PR03CA0212.outlook.office365.com (2603:10b6:303:b9::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.16 via Frontend Transport; Fri, 6 Sep 2024 11:01:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7962.2 via Frontend Transport; Fri, 6 Sep 2024 11:01:28 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 6 Sep 2024 06:01:27 -0500 Received: from xhdlakshmis40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 6 Sep 2024 06:01:23 -0500 From: Sai Krishna Potthuri To: Linus Walleij , Michal Simek , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jay Buddhabhatti , Praveen Teja Kundanala , Greg Kroah-Hartman CC: , , , , , , Sai Krishna Potthuri Subject: [PATCH v5 2/3] firmware: xilinx: Add Pinctrl Get Attribute ID Date: Fri, 6 Sep 2024 16:31:12 +0530 Message-ID: <20240906110113.3154327-3-sai.krishna.potthuri@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240906110113.3154327-1-sai.krishna.potthuri@amd.com> References: <20240906110113.3154327-1-sai.krishna.potthuri@amd.com> MIME-Version: 1.0 Received-SPF: None (SATLEXMB03.amd.com: sai.krishna.potthuri@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|SJ2PR12MB9161:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ff70d05-a146-41b6-6d79-08dcce634231 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|36860700013|376014|1800799024; X-Microsoft-Antispam-Message-Info: NXyPqWCu+AVA/iRA/ZcWF/lT5jZiMxYAR8DkBRvDnYKSr4ItopTURX5kPzgcUmwL9i2y6G4FtS/kd8C/4kZhRj3CNZpJNgjbXh1YuRCmdbkoD1inxNciQ836eF7CkB1Fjf5/ZiaQOcJynZ8XlrYD7NRD1kloeyAaw21+imuuKjy0ELn7qtPCxHCibXIeUQ6F+QUgnEdA0gB1XkKS66gEM2Ehtt/NZMdkIRjifTbB6JJN+aPX4BkC2zdv81R6jdQ0FIEPcsJUz/7ZTnXEjzLllftojGtFw+F6n6UjwX2NvV8Sc796Dyj0IS/EYnfSZCD0C/pbdf1HfEqe/ZKK5k14ST7H2C7ctM69xefkKTvayioOhbGVuV3EgdBWDeaQJJ3JCIwRLJpyHka/jFhniLbdaBnfk1wBcxvH73nzGXsQtKZPXqoasx/wDOxCTt1kTR5HoaxQxuN+KxakCG2fzFuZocEZDVpU8V/qQZgR0NjnkAyaq0wwmk0iYIAsjNFCLch9rS0BG9VLS9eZjt8QWtzsFAtcFW4QkQL2jDvSx1G4cB0W8RKM1fPmiYKnfxCielalgAi9bAFs9BhvvrjW2ax0vshG1IQYB1FzHgILR9qVUXFinYbrV+IgCZu9Gk+cRd3dWaMQA0QAl33dAkTllFECciPH631RZf8eY0mAvuag1xjTKK2vH5NUdg14iHvzdOU68sO4u9anqaYATVpnxa9Ws447WXD3QyG4sZRJ/kI1CINrpDjoxAT4bBXq1j0KMlwT5cbdtCu/wkvQ8SdzBPhD6DaqdLBOptg4JEQOgJFjhTbP+TM5ATS1UDpgY5wW6TBgba3ihlNyQJ1+QlrFPH5nheLHfhg4A1T2vLJ4mDeK3iyquOjQ3X5moG2/cF1XYDTG5/gFeSEFvIoZtwl9tRxIyYJZA51/eiJenGoA0D3SvudgHiGcKWg+68CQKqdzpiZNrIkP5G1RBlcSNQmYotRjeNDe7ResGV8dXFELwquRZAtkDO+xlLEA1F74gQDpBbAGAPhMivz7NX5tv7XJbbLlPJxiYmEU10OW/lGEuyXWYn9J8HztUxSOQzvwX7WRLDbn/f3RLVCl3k02/J4DGmmevEMtn43fjlanx2H6KAaw56R7frk7BtMhv5HmZzkeuggexR9BDv3c1NMgh5kDSxhgoL3WC3kul6WIoJepsIsDOgDz6+fpM/7kzc4THqnf5OBkLzNfvsdzB5aVcxB9l9FPnaqmuqz764CvaCrZjj+XcGXhl71cz+L0BvshtkbVEZU4c2AtASFj5NEryFwLdMGXxNLGY6BQE5h7qxKpSwyG4u0qKSJtlb6hDF8I/QW1TSFvqOCKi3/a8nOs6IhNGKByqbK8JpgxMMwCAOr5UM0IJknVw8R9Uss1RDhgo1kR6575Pi8cjoc6pdMGvMp7hriAwVECmOqn1GVApB+na3R8FlwCtoybAH6EP3I0mVcQOm0W X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 11:01:28.5668 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ff70d05-a146-41b6-6d79-08dcce634231 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044F8.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9161 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240906_040136_898690_8B0129DF X-CRM114-Status: UNSURE ( 9.88 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add Pinctrl Get Attribute ID to the query ids list. Signed-off-by: Sai Krishna Potthuri --- include/linux/firmware/xlnx-zynqmp.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h index d7d07afc0532..3b4ce4ec5d3f 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -238,6 +238,7 @@ enum pm_query_id { PM_QID_PINCTRL_GET_PIN_GROUPS = 11, PM_QID_CLOCK_GET_NUM_CLOCKS = 12, PM_QID_CLOCK_GET_MAX_DIVISOR = 13, + PM_QID_PINCTRL_GET_ATTRIBUTES = 15, }; enum rpu_oper_mode { From patchwork Fri Sep 6 11:01:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Potthuri, Sai Krishna" X-Patchwork-Id: 13793944 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CAECBCD5BDD for ; Fri, 6 Sep 2024 11:04:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/mgQnQujlDRhyvJfjgDxSZYbzQSOlQeubMM4Tmo472w=; b=AdBV/Z3e1cRoQ7GNbJ6cz7eJSO DRNTn1JIDG+PBse8cULEwOPhFepEgTdFjK9qJW4+/ySVhS9ze3N3xbh2NzuRtU1Qor+VYlD2hYbfk mUqlckJXoemKqkA+lTzcYlVLGGiYjGfCVPbh9LfyY1faK+VCk4J4We6GOSjgENgv1Nb3RqVurue04 1MBhEQur1vWhMNkxtcQnp54zlyEtpZZbmsjCgx/mz2aUipU6h/Vrvj8Cb+g9JWUXFrf51QzTMpRVm Hfft6aM1nkq35lP0yPrJdAzeka/r+O/VpFi771ORCyg84tFfKnZAM7e/3khYN48F7VjEOl+hNW/zO 4ImtY5jw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1smWlg-0000000BtIm-0PmM; Fri, 06 Sep 2024 11:04:44 +0000 Received: from mail-bn8nam12on2061c.outbound.protection.outlook.com ([2a01:111:f403:2418::61c] helo=NAM12-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1smWig-0000000BsJ6-3qDG for linux-arm-kernel@lists.infradead.org; Fri, 06 Sep 2024 11:01:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SXxCpK789tl4l8o37IcxVMqxhMI41x/mX2eYaUIZbm9Dz2+1N5UVpjazbByQ61TwAnnkTXBKxjkzkB72nJCF2uSUnp5NVc1hgdtPjjts13D99ZE+H6TrfFgJPknCyr4zbKU035BsPKxeXhjjKyaqg2e9aVD5HxQHhhgmTCVz0mwq1/u6AeLSTqBLkbVLr8dq8dElXMmd9NBW6jIORCtLKZoaC27Wf0DSoF5f3QftrTqw9+nbo7kPYLRHPJoIvLyIcqnsbTOjPYnl+z4CC/LK26u7A9G2VTvGDeln5PHvESCY5KWBPbiVyS7FOPp9pr65IceI1Cilwm0SSQvWO6J+MQ== 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=/mgQnQujlDRhyvJfjgDxSZYbzQSOlQeubMM4Tmo472w=; b=AEOvqrn68UucUHz9mIEKhvvXQfXfb3IP1If5Cpcfxq79qdLvW3qOQAsdHK6a3fZfOyQ+n2kEfecpzyDPGfFf0wC5Fmq4hQ6nqS/3IfIQD2JADAY7vcQT6mq7OST+xpANSl3PKxCZNiuuS7GooSF5sqB8TOV7/0ZQZvLpq6bOpJIzhy3L3tN4eNVAhEffoFKxz5SWVj1d7QPPJRrkb4L6wpDkmzJByq4H/1lVSd0gcIBe1jVp/W0rq9SVyWTQVR8d38TmFktEE0ketbTWSwP6YWy4kxY/FLqXYwpxU1AAlaSkMcnPcjaR9eAFYUwrakRcbX6HjPPLdHNFjBJR4syamw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/mgQnQujlDRhyvJfjgDxSZYbzQSOlQeubMM4Tmo472w=; b=SB5A8/frAk9THHGqexSUk5krI2UuTc4Muam8jjSnE8+kFf6U0fl/RGLnTbgKzn7IzMaf+AprygDhttNnc0DtIIYvgSkdC1SlX2FmNtCqEqgCmRSex9xdXrpi4h8xqA0iK0KEN51eizuRGdgfs/VsR4cX6wo9h3kaXaywaAjh5/o= Received: from SN1PR12CA0070.namprd12.prod.outlook.com (2603:10b6:802:20::41) by SA1PR12MB6970.namprd12.prod.outlook.com (2603:10b6:806:24d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Fri, 6 Sep 2024 11:01:32 +0000 Received: from SN1PEPF00026368.namprd02.prod.outlook.com (2603:10b6:802:20:cafe::94) by SN1PR12CA0070.outlook.office365.com (2603:10b6:802:20::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend Transport; Fri, 6 Sep 2024 11:01:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C Received: from SATLEXMB03.amd.com (165.204.84.17) by SN1PEPF00026368.mail.protection.outlook.com (10.167.241.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Fri, 6 Sep 2024 11:01:32 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 6 Sep 2024 06:01:31 -0500 Received: from xhdlakshmis40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 6 Sep 2024 06:01:27 -0500 From: Sai Krishna Potthuri To: Linus Walleij , Michal Simek , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jay Buddhabhatti , Praveen Teja Kundanala , Greg Kroah-Hartman CC: , , , , , , Sai Krishna Potthuri Subject: [PATCH v5 3/3] pinctrl: pinctrl-zynqmp: Add support for Versal platform Date: Fri, 6 Sep 2024 16:31:13 +0530 Message-ID: <20240906110113.3154327-4-sai.krishna.potthuri@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240906110113.3154327-1-sai.krishna.potthuri@amd.com> References: <20240906110113.3154327-1-sai.krishna.potthuri@amd.com> MIME-Version: 1.0 Received-SPF: None (SATLEXMB03.amd.com: sai.krishna.potthuri@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026368:EE_|SA1PR12MB6970:EE_ X-MS-Office365-Filtering-Correlation-Id: 998cedd7-d3c3-4923-fec9-08dcce634495 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|82310400026|1800799024|376014|36860700013; X-Microsoft-Antispam-Message-Info: AKZWO2hPWlQL+gt9xAVj3VmekdKDmoof1CK9JLD4K2V+P2xaXlFIzwt382ytZk4LcMNOtLn+2Ef7eYB47pqTJnb8edMDNsHNj55gQ3lBnw3NOkNivQoNVyC7WBXv1EzBnPsPXS6FrCfdhs/hKXOgPMbGqXHPS47qW4/qUKh3ES6IxwHm/TSOOnUuWMiUghxKj9JHRnwgI9eQMAcKGqf9AarJnrowuoOSxX9iXUK1SFMyxTAQBQknKAPRqavl5RhuPczsoAuPU8NdaDlqX65PWl6BcebQc8w3g6od1BFBfp+yGz3BWx3JtMUguEZ4JmoD5mYtLErKn4cFjjmIjIODhQhfrvCQDHlk8f+axv8ihF3zANKFOGwYxh6rk1wceOcR60YxZelxNVQfA+nFuK6yR7eAU+zgPOAIToLs5hey2oFQZg0fVTJoyG9ZA42Vn8miyWZFZ0L5A6yrYEKhef8WdrXF5wF2fAur3MOuxi4+Bn3RI/K/n9QwKSVWG80jlN1hMr2/7NnkYEbZ9ZG411ub5mnCDr5vH4PH6HNuUOzCpY97WhHL/aHWyBjfOQT85QTI+kWP25ANh8RvhzmebF7Driq8wC/asMN5/l+XMzy/fhDzddEDA9xbDGqebThB/vCrqEvdPuiIp8sGjDXKl2mEdYGoIPqoSMveCt+OjrPTxzzyHU8qiFbD9UwtwfuTk31HqteVwR7wIa8AvgdYx1xkjsWaZMJCl+8KtnTkJa3Riszt6OtnVVfdwPHhfG8Xwg/Zt9lO/HEgxnVIvq826tBu1dMgog7pKN/mpJXNQUmS3hGew4HoW9IpwI98mF60Lf2iSHb4gsYT4wXQI/WIaRSzSOk9NKuu1OH0YGFfeIfhTEli2J46QLT97eLbXUihV3c8Qrb2L6xpGEBWaWDdcvPFp9HnomFpNvmhRMH7fB59WlZnlm6AEOqfW3545lxZg+2Burd8yF0EehCnkHfQ9n2PgnZ1DpmOTpMZHNE3Gc7IkSAxMfUqEoEzgpVo4pHlZqm+xSU52rtflb+yBaHS6khOP7hV5JOJiLOqt7RW726Tcyb9PmM+ytjpwgBK5kiEOHeGb0TOj2kaa0EnAWX8rSRx0GytIgOMMHLDVFeAjiocFpp10Ov8elDKobhOuaCSNi1CqQQxhpmmCqwaZRsKBenLGgY5mLk070UC2acajO5QQgENp1oraYNqqLjTN7Zg/TOf7xwdIvMFiAHL5EctGJtMWfeZkrFCyiRS34C0XsHagr3GjsJlcqwKbD6silqAFKz8vk1B1vIxX9RTe0bZxT9OElirzkRqaB8X1mH5RIeeGWzdhJ7mBtAVXqgjQ1fVXsq6p8wUCGtWoaNAoVYiIcXoYvRzZzauTP61l2IuQUcawoU0xPk+b+v8jl6NkAfPWFe/DZp/M3GK1fzedIOFYaQdii2zq5/vT/0e8F0hAOpdeVvoB/l1padrcITQuhTdnhKH X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(82310400026)(1800799024)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 11:01:32.6126 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 998cedd7-d3c3-4923-fec9-08dcce634495 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026368.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6970 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240906_040138_971419_EE7048D7 X-CRM114-Status: GOOD ( 22.23 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add Pinctrl support for Xilinx Versal platform. Driver checks for firmware support to retrieve the Pin information, if it is supported then proceed further otherwise it returns error saying operation not supported. Latest Xilinx Platform Management Firmware must be used to make use of the Pinctrl driver for Versal platform. Signed-off-by: Sai Krishna Potthuri --- drivers/pinctrl/pinctrl-zynqmp.c | 97 ++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/pinctrl-zynqmp.c b/drivers/pinctrl/pinctrl-zynqmp.c index 3c6d56fdb8c9..2b9f8db49a15 100644 --- a/drivers/pinctrl/pinctrl-zynqmp.c +++ b/drivers/pinctrl/pinctrl-zynqmp.c @@ -10,6 +10,7 @@ #include +#include #include #include #include @@ -44,6 +45,12 @@ #define DRIVE_STRENGTH_8MA 8 #define DRIVE_STRENGTH_12MA 12 +#define VERSAL_LPD_PIN_PREFIX "LPD_MIO" +#define VERSAL_PMC_PIN_PREFIX "PMC_MIO" + +#define VERSAL_PINCTRL_ATTR_NODETYPE_MASK GENMASK(19, 14) +#define VERSAL_PINCTRL_NODETYPE_LPD_MIO BIT(0) + /** * struct zynqmp_pmux_function - a pinmux function * @name: Name of the pin mux function @@ -93,6 +100,8 @@ struct zynqmp_pctrl_group { }; static struct pinctrl_desc zynqmp_desc; +static u32 family_code; +static u32 sub_family_code; static int zynqmp_pctrl_get_groups_count(struct pinctrl_dev *pctldev) { @@ -596,8 +605,12 @@ static int zynqmp_pinctrl_prepare_func_groups(struct device *dev, u32 fid, if (!groups[resp[i]].name) return -ENOMEM; - for (pin = 0; pin < groups[resp[i]].npins; pin++) - __set_bit(groups[resp[i]].pins[pin], used_pins); + for (pin = 0; pin < groups[resp[i]].npins; pin++) { + if (family_code == ZYNQMP_FAMILY_CODE) + __set_bit(groups[resp[i]].pins[pin], used_pins); + else + __set_bit((u8)groups[resp[i]].pins[pin] - 1, used_pins); + } } } done: @@ -873,6 +886,70 @@ static int zynqmp_pinctrl_prepare_pin_desc(struct device *dev, return 0; } +static int versal_pinctrl_get_attributes(u32 pin_idx, u32 *response) +{ + struct zynqmp_pm_query_data qdata = {0}; + u32 payload[PAYLOAD_ARG_CNT]; + int ret; + + qdata.qid = PM_QID_PINCTRL_GET_ATTRIBUTES; + qdata.arg1 = pin_idx; + + ret = zynqmp_pm_query_data(qdata, payload); + if (ret) + return ret; + + memcpy(response, &payload[1], sizeof(*response)); + + return 0; +} + +static int versal_pinctrl_prepare_pin_desc(struct device *dev, + const struct pinctrl_pin_desc **zynqmp_pins, + unsigned int *npins) +{ + u32 lpd_mio_pins = 0, attr, nodetype; + struct pinctrl_pin_desc *pins, *pin; + int ret, i; + + ret = zynqmp_pm_is_function_supported(PM_QUERY_DATA, PM_QID_PINCTRL_GET_ATTRIBUTES); + if (ret) + return ret; + + ret = zynqmp_pinctrl_get_num_pins(npins); + if (ret) + return ret; + + pins = devm_kzalloc(dev, sizeof(*pins) * *npins, GFP_KERNEL); + if (!pins) + return -ENOMEM; + + for (i = 0; i < *npins; i++) { + ret = versal_pinctrl_get_attributes(i, &attr); + if (ret) + return ret; + + pin = &pins[i]; + pin->number = attr; + nodetype = FIELD_GET(VERSAL_PINCTRL_ATTR_NODETYPE_MASK, attr); + if (nodetype == VERSAL_PINCTRL_NODETYPE_LPD_MIO) { + pin->name = devm_kasprintf(dev, GFP_KERNEL, "%s%d", + VERSAL_LPD_PIN_PREFIX, i); + lpd_mio_pins++; + } else { + pin->name = devm_kasprintf(dev, GFP_KERNEL, "%s%d", + VERSAL_PMC_PIN_PREFIX, i - lpd_mio_pins); + } + + if (!pin->name) + return -ENOMEM; + } + + *zynqmp_pins = pins; + + return 0; +} + static int zynqmp_pinctrl_probe(struct platform_device *pdev) { struct zynqmp_pinctrl *pctrl; @@ -882,9 +959,18 @@ static int zynqmp_pinctrl_probe(struct platform_device *pdev) if (!pctrl) return -ENOMEM; - ret = zynqmp_pinctrl_prepare_pin_desc(&pdev->dev, - &zynqmp_desc.pins, - &zynqmp_desc.npins); + ret = zynqmp_pm_get_family_info(&family_code, &sub_family_code); + if (ret < 0) + return ret; + + if (family_code == ZYNQMP_FAMILY_CODE) { + ret = zynqmp_pinctrl_prepare_pin_desc(&pdev->dev, &zynqmp_desc.pins, + &zynqmp_desc.npins); + } else { + ret = versal_pinctrl_prepare_pin_desc(&pdev->dev, &zynqmp_desc.pins, + &zynqmp_desc.npins); + } + if (ret) { dev_err(&pdev->dev, "pin desc prepare fail with %d\n", ret); return ret; @@ -907,6 +993,7 @@ static int zynqmp_pinctrl_probe(struct platform_device *pdev) static const struct of_device_id zynqmp_pinctrl_of_match[] = { { .compatible = "xlnx,zynqmp-pinctrl" }, + { .compatible = "xlnx,versal-pinctrl" }, { } }; MODULE_DEVICE_TABLE(of, zynqmp_pinctrl_of_match);