From nobody Mon Jun 8 10:56:40 2026 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010033.outbound.protection.outlook.com [52.101.201.33]) (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 827CB3E2AD6; Fri, 29 May 2026 14:12:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.33 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780063973; cv=fail; b=c+Djvxec9Zsx/ZNSzri14xM3EWbLTfatFI0yqa4kQpaqKYpJQKgWl530FukRRF6Gqwi1nZVjcvL1tYPaAtgjd/AcjnQcG80oqBiEX3QlMFtUXtoVKBtu6W3ENVrLYRIa3LUROapeiWGg1+8UHdq2HERvyMVHz598nVJLe13JcZY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780063973; c=relaxed/simple; bh=G/D65kUAgkuBNJFE2bt9xyMRe95SCV2FpSjWgx0iLCM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CiN733g1oKHs5iZ6QEAMi0dUWLM+oHfw628ObLN9no/PBxAE8MAp2qZrOZNsgII3bsqvGYqpVFKHjdGXeadJN6mTep+XLoZkjqYmaSD4RkqWFSsURVqhLjVJDabpARGWJEn1lGMx/m/3rM5x5mnRY9KSv3UCM7F6EYcobN7daRg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Yta+wS72; arc=fail smtp.client-ip=52.101.201.33 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Yta+wS72" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TI7Ug/vB91esKiDu47GX0xZX0Mb4WXhS4YrJQdLBvcB5Y5krZvSauL2zlHe7780rf7jqExxWdeRGWht7WDobTZBrIKBhB6Fi2xfEdO7eLRK8Nhi6RiDVY+x3thrFcwvuL5f0hQflWAifV0FhmoovVdMM8wP+fnNgpkS9uutd/PdWfKxvaHIlSioCWxSZvFtw7wYHmyBGMRKxDXDvUNZ7JKT64B2cfzsGLKBrJUB2k7Dr7MWzVHuRBS2YQDcsvLGJ20xiqPtmEjAY5qiTiW4VNB4ymUMgqphKEMK5CsNGNNybeHFn7gpK/Um+2aXHAvLnNpwQBy3dYCBYPNYxXAgUiA== 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=L0ZhqOptSUJtq+T+LVGfCr64LQq3BQRjYFVINIBn0po=; b=wgyVBaf4RGhd52dQq5WmPqtKCE/FCpWqtrPhJF8SyQ2Vo206MDvWVsZuD4cnebFmOz55dR10QFWz6Qhi2mCXYJgiIIxf4Bmia54qTK8AMlu8bMFoiAepm7VWhz1hWbIlqeEZNcYmRWN41WYHln7QaM75oQ0vL/5knJg2AGKWbg6E/oZ0alUtPn/SEqHEossZmmiOhIVPVkuySGmavkZ1lqolWX7Z2sIyMgFCW6D/yQeuMnPY6W5UltkLPuMlChbaPXObGkrNBhYNQA/OVpPgXg3YByJfg9RHMF4ng0pd4srpP0YjW5O4Qi4mhLqn5MkrgnehZlv1E9idvfhKuy1KlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.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=L0ZhqOptSUJtq+T+LVGfCr64LQq3BQRjYFVINIBn0po=; b=Yta+wS72Z2ba4RahB7vOXMQ+lFfRfDM5V7EDneEGk0JcOIbuQ1S644piqoa543giAMjnFtAuV8QEZ0FgH/XL8FCWRDujbmf5PJLEMLh3BjWUCQvZHc49alkBfZkwk7BZTzMDUbd+P7nEBLAHDLcsjeTRZ9Bd8fYiqUSFuhLDpnY= Received: from DSSP221CA0008.NAMP221.PROD.OUTLOOK.COM (2603:10b6:8:3d5::14) by CY8PR12MB7585.namprd12.prod.outlook.com (2603:10b6:930:98::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Fri, 29 May 2026 14:12:41 +0000 Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com (2603:10b6:8:3d5:cafe::81) by DSSP221CA0008.outlook.office365.com (2603:10b6:8:3d5::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.13 via Frontend Transport; Fri, 29 May 2026 14:12:41 +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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Fri, 29 May 2026 14:12:41 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 29 May 2026 09:12:32 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 29 May 2026 09:12:31 -0500 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41 via Frontend Transport; Fri, 29 May 2026 09:12:30 -0500 From: Michal Simek To: , , , CC: Rob Herring , Conor Dooley , Krzysztof Kozlowski , Michael Turquette , Stephen Boyd , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/ZYNQ ARCHITECTURE" , "open list:COMMON CLK FRAMEWORK" Subject: [PATCH v2 1/3] dt-bindings: clock: Move xlnx,zynqmp-clk to its own schema Date: Fri, 29 May 2026 16:12:07 +0200 Message-ID: <8e9163806c6f6858cca9afcbdf63599ced3422fe.1780063921.git.michal.simek@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5508; i=michal.simek@amd.com; h=from:subject:message-id; bh=G/D65kUAgkuBNJFE2bt9xyMRe95SCV2FpSjWgx0iLCM=; b=owGbwMvMwCG2mv3fB7+vgl8ZT6slMWRJzjsxz+v1P6aSj+rCTx1e/p+W1+jzN9b9sF1LTOWhN 8d53/vu7ChlYRDjYJAVU2SZzqTjsObbtaViyyPzYeawMoEMYeDiFICJvNFi+F9xv3XvzW83HXIP /Pz39ITDYZnGtq3T3boYTl3lvxO1Kd6IkWH71M/P6jfaB3efeRIzU37L4SMf0n/8qhDnt53t3yO d8YYBAA== X-Developer-Key: i=michal.simek@amd.com; a=openpgp; fpr=67350C9BF5CCEE9B5364356A377C7F21FE3D1F91 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|CY8PR12MB7585:EE_ X-MS-Office365-Filtering-Correlation-Id: b89a9caa-6231-4223-d303-08debd8c588b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|82310400026|7416014|36860700016|13003099007|18002099003|22082099003|3023799007|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: 4bu4eu77VLAzmnhTAYgQKrytCgqo2aBC6Wx3pc9hohJc7WOknwBWwuMRPxUmBFy5KsLydsMcQ1uJSxMb/V/sQoykBazTg+Yi4AQdiO2NWOohKMwEwX+tDaUvbNtDnBClYqTxSx5ktFYy8c2vc7jeIwzOH9P3P7RZz9R9Rr6i4T/6dhJlYxHYYjX6oc+w8VjY2py8KuMljBD2TTtv308pECj9nZ1O46tEBpmTF4xWYfwDTu7oTtQTZiL5UQP79FJeGVzIoZOsnao5x9IHbLIfP1OqOZB/pk7yO81ynSUQ+i9ty/Im3WmUn5BkWkH8ZeUL/z6vmvsfZERNOUtZOvCql7QFbv2Il8ZHyVP+S7H7y9PoIUxH7uy8CFhmqPDhSRJ8/ugyQtKb3Si4ANWXmEgo7uSULhpFs1HWhhQJLhjR5JhEeLkgR7JmODN4lkX71cKXvUmzC/BLIdW5nj8QzrZ7Igu/NlqgomuWP48cylBW/9p1is+lV6MFLc8oUNiD1bcK1qYQRWAkx4mKsxBy0y6EfuDs98xnOY7fL9aunTsmjw2raHvpTkB51i7HgKpjtprFXVV//SiSbrV/kz9UqgcHf8eohTi+GbR/ry32nWWXXnT+pML7NRnEs+e0LAaoseqpgoDAYzVr6pRoVHdRIbn7bVeU4fRvQwWlMVkO3yId+AkWTDJtQHVf/LT1jkDCfwHn X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(7416014)(36860700016)(13003099007)(18002099003)(22082099003)(3023799007)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LYTJDYLviwmJAJb0M78Kju/s0wLygose1EYw4hYG3Gb3uxNA7GW6qNeib4goPBhSZB2CHRjR/FB3MS/0+nOztYkycLysFIAsLZqzh8bHPgCiNMg0nCX37NDqYfBjyZl6m6GVAttEyNaHkTHYFrb+4DanXvQr4uboivB1aKoL9dvlNbV/Akz3e43GHXoEvH6kxGdJ2kBj7xTUAoCCwRoiRe4U4RLO+9w1PQkG0ABo4trN58fP+HQu11DsyPzxdlqyfaq033mHu+6OGWRty0KY0MGK2HrrpJXhR4rIUdq4KQ2JjiMJH4PziB+8ulXw/eqRFQoACseDe7UFK/SqsDyGL/1x2VQtoZdH+N9TcfUjwpek20ZZxIx2a6cb5mc1qXmJbhhz43j1l1A+wab/6p+OHIAfL5bMjYHNdn3b5cOBEvHiH2JMX0FConsqZSXUQobo X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 14:12:41.0778 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b89a9caa-6231-4223-d303-08debd8c588b 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE38.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7585 Content-Type: text/plain; charset="utf-8" The ZynqMP clock controller binding shares only #clock-cells with the Versal bindings. Move it to a dedicated xlnx,zynqmp-clk.yaml schema. Suggested-by: Rob Herring Signed-off-by: Michal Simek --- Changes in v2: - New patch in series - Split zynqmp-clk from versal-clk .../bindings/clock/xlnx,versal-clk.yaml | 50 +------------- .../bindings/clock/xlnx,zynqmp-clk.yaml | 68 +++++++++++++++++++ 2 files changed, 71 insertions(+), 47 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk= .yaml diff --git a/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml b= /Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml index bef109d163a8..12d060c39bfc 100644 --- a/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml +++ b/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml @@ -17,9 +17,7 @@ description: | properties: compatible: oneOf: - - enum: - - xlnx,versal-clk - - xlnx,zynqmp-clk + - const: xlnx,versal-clk - items: - enum: - xlnx,versal-net-clk @@ -32,11 +30,11 @@ properties: description: List of clock specifiers which are external input clocks to the given clock controller. minItems: 2 - maxItems: 8 + maxItems: 3 =20 clock-names: minItems: 2 - maxItems: 8 + maxItems: 3 =20 required: - compatible @@ -87,39 +85,6 @@ allOf: - const: pl_alt_ref - const: alt_ref =20 - - if: - properties: - compatible: - contains: - enum: - - xlnx,zynqmp-clk - - then: - properties: - clocks: - minItems: 5 - items: - - description: PS reference clock - - description: reference clock for video system - - description: alternative PS reference clock - - description: auxiliary reference clock - - description: transceiver reference clock - - description: (E)MIO clock source (Optional clock) - - description: GEM emio clock (Optional clock) - - description: Watchdog external clock (Optional clock) - - clock-names: - minItems: 5 - items: - - const: pss_ref_clk - - const: video_clk - - const: pss_alt_ref_clk - - const: aux_ref_clk - - const: gt_crx_ref_clk - - pattern: "^mio_clk[00-77]+.*$" - - pattern: "gem[0-3]+_emio_clk.*$" - - pattern: "swdt[0-1]+_ext_clk.*$" - examples: - | firmware { @@ -134,13 +99,4 @@ examples: }; }; }; - - clock-controller { - #clock-cells =3D <1>; - compatible =3D "xlnx,zynqmp-clk"; - clocks =3D <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, - <&aux_ref_clk>, <>_crx_ref_clk>; - clock-names =3D "pss_ref_clk", "video_clk", "pss_alt_ref_clk", - "aux_ref_clk", "gt_crx_ref_clk"; - }; ... diff --git a/Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.yaml b= /Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.yaml new file mode 100644 index 000000000000..6ed1efcb31bc --- /dev/null +++ b/Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/xlnx,zynqmp-clk.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Xilinx ZynqMP clock controller + +maintainers: + - Michal Simek + +description: + The clock controller is a hardware block of Xilinx ZynqMP clock tree. It + reads required input clock frequencies from the devicetree and acts as c= lock + provider for all clock consumers of PS clocks. + +properties: + compatible: + const: xlnx,zynqmp-clk + + "#clock-cells": + const: 1 + + clocks: + description: List of clock specifiers which are external input + clocks to the given clock controller. + minItems: 5 + items: + - description: PS reference clock + - description: reference clock for video system + - description: alternative PS reference clock + - description: auxiliary reference clock + - description: transceiver reference clock + - description: (E)MIO clock source (Optional clock) + - description: GEM emio clock (Optional clock) + - description: Watchdog external clock (Optional clock) + + clock-names: + minItems: 5 + items: + - const: pss_ref_clk + - const: video_clk + - const: pss_alt_ref_clk + - const: aux_ref_clk + - const: gt_crx_ref_clk + - pattern: "^mio_clk[00-77]+.*$" + - pattern: "gem[0-3]+_emio_clk.*$" + - pattern: "swdt[0-1]+_ext_clk.*$" + +required: + - compatible + - "#clock-cells" + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + clock-controller { + #clock-cells =3D <1>; + compatible =3D "xlnx,zynqmp-clk"; + clocks =3D <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, + <&aux_ref_clk>, <>_crx_ref_clk>; + clock-names =3D "pss_ref_clk", "video_clk", "pss_alt_ref_clk", + "aux_ref_clk", "gt_crx_ref_clk"; + }; +... --=20 2.43.0 From nobody Mon Jun 8 10:56:40 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010003.outbound.protection.outlook.com [52.101.61.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6905E3D7A03; Fri, 29 May 2026 14:12:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780063972; cv=fail; b=qIylQl2EAOBptOF4l0C04W7duia4tvb1DnQl0hcGTtLVpoY6t5Tl5WpF2F5tXD6Wj3Ds5Pg8/n5a6+qQAiUFesuYYUFZXavgeSKZ+IbQKbmNCbxzwXm2kj7T3OIRSy68TfjI+FjmQrFk46Wth+p1d1jogUffebG7b+XWg04pQtY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780063972; c=relaxed/simple; bh=DIa3FVrqnHTrAnYNNYU+dcTfW0XIOclzylRVZWLteZI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=u7rL/Gz/cVcVTpxignIJFBP/DqcJqvgwmXnbuVew0/s13FREUI85OZIoOdXXlvVaRTVNTcWi6Pjoubin04xk2l9jP67ySGlb+FtMoJOZYjzByH/MCh5aoHFD7b49wfR45FJcfebuUYD1nvV9oY8k2Y+uzhWxuRUeBL3JyFfH4FM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=IbRRZiSu; arc=fail smtp.client-ip=52.101.61.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="IbRRZiSu" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aaN2bEbnhoTAV7ZgTH6XOY47uv/gbcEZBU8WXaEB4basxHSoQIaUl/Yv/pnHzQJGPDVN8wSvKis+WpRBvE1fmRTY//OXehSb0tZaf6XpvUkYuTS487d83gzmlOz+1784QSCIKUPFIJatKIkiuoRT8GYe24pX+gAE1bfOiWS3L/opBsYP9g/ZZY+//A01SpEwG/m/8IPZySG+6KQWMmaO1JAo7vGDeOjOt9lilDmZY8W97OleeVi4jnaUmAn81ztWWnhvoO3xhUA5uljLyr0ek+49zntO//rKUxzP6eX1rsJ6m74a0jsXfG8iuYqww1pN+Fhuo/1uObUwCrh1TlkC3A== 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=WWfuwA/n8f49ktMmb7nBbcrQNIEMU7zH1jlNCe5zkQA=; b=JsUBVocWGqTJp49hEOlVT2Fqlh6oqZJX1x95V/UCSRx0syNJxl+W/Piggf71gGADjoh+Znv6zynT/QSmjtajYLveI3QhrBBqkBmEidKUFW+CIwGaRFxmV+mGd+1kTfrDN5kwWBXaFnOc4LL4Ee9OK4fYU+sKM1SITvEgF1quE8CSUEsKbRRD42uZEOnhJsT5psDdoL21C2wYigDwqoctm6tvXaRHRrXSr98albjHTvyJ8qM5P2d4ICSznj2U8AT7dlElUEqkyVYAYOEv3L/lPG4E0eL+E5Qxhyc0ptKJMMeCCYo0noMir44Gv2Ri/4Pyq7Yl3Th2G64muVZTN1TAjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.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=WWfuwA/n8f49ktMmb7nBbcrQNIEMU7zH1jlNCe5zkQA=; b=IbRRZiSuTfGs5vgL1+8bwPJB3QOscLvSIOCOqoQ/vYaZBIq3LmD5e1mNuz2GHoapuFFlzHMYMA9ieP703AIhdZXQLYQK1ewb4skfSSBBn0UZ/Vf3E/cjKtJT5u2MHzFwa6hDx6lobygQqjA/oOdsPjhpD9rBFFaK5N86NXeQLis= Received: from SJ0PR03CA0040.namprd03.prod.outlook.com (2603:10b6:a03:33e::15) by IA0PR12MB7775.namprd12.prod.outlook.com (2603:10b6:208:431::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Fri, 29 May 2026 14:12:42 +0000 Received: from BY1PEPF0001AE1D.namprd04.prod.outlook.com (2603:10b6:a03:33e:cafe::a7) by SJ0PR03CA0040.outlook.office365.com (2603:10b6:a03:33e::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.12 via Frontend Transport; Fri, 29 May 2026 14:12:41 +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=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by BY1PEPF0001AE1D.mail.protection.outlook.com (10.167.242.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Fri, 29 May 2026 14:12:41 +0000 Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 29 May 2026 09:12:35 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb09.amd.com (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 29 May 2026 07:12:34 -0700 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41 via Frontend Transport; Fri, 29 May 2026 09:12:33 -0500 From: Michal Simek To: , , , CC: Conor Dooley , Krzysztof Kozlowski , Michael Turquette , "Rob Herring" , Stephen Boyd , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "open list:COMMON CLK FRAMEWORK" Subject: [PATCH v2 2/3] dt-bindings: clock: versal-clk: Fix Versal NET clock validation Date: Fri, 29 May 2026 16:12:08 +0200 Message-ID: <0b450e97e83b7ea662dbfae54b97d894534407e1.1780063921.git.michal.simek@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3310; i=michal.simek@amd.com; h=from:subject:message-id; bh=DIa3FVrqnHTrAnYNNYU+dcTfW0XIOclzylRVZWLteZI=; b=owGbwMvMwCG2mv3fB7+vgl8ZT6slMWRJzjtpKGJ+Mb8+Uf2Kqpe0O8uvOW0Kdrdd0o+3zNgcf 4pDX/xNRykLgxgHg6yYIst0Jh2HNd+uLRVbHpkPM4eVCWQIAxenAEyE/TLDPyXLQJ/5uypazx0/ 89i3hvfRphDZrbPVGpkrb38/lhaTdZHhv19ZsMn2F8ynt577/vVboFjeltK+8Cyr3L9xET8tlzw 4ywoA X-Developer-Key: i=michal.simek@amd.com; a=openpgp; fpr=67350C9BF5CCEE9B5364356A377C7F21FE3D1F91 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY1PEPF0001AE1D:EE_|IA0PR12MB7775:EE_ X-MS-Office365-Filtering-Correlation-Id: e3c33c1d-1ed1-4545-9e31-08debd8c58cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700016|1800799024|18002099003|22082099003|56012099006|6133799003|3023799007|11063799006; X-Microsoft-Antispam-Message-Info: tuzq4msX6bO2GMvMsJFYymW0qgeALFZkrf1CLnWfej3FGENzx5MYb5FlrT+dPuBqT8m7jryjiGbbqSmPUDvo+RMIyuwCyoqxHCPv7QMitCu9EeCWaY5XSZNqU1XNfnXbIGxBrQT2CrAvbizdkgvyGPnhZNIP0y3giE2WKuQPSkGx/mnN89Tv+S9B+4l207+4l3k3IUJZ03nup6ObpOZ2+PeDxcuANB+z4nEYIeaulYGtP60zGm1DEdjicSO1/tgz8VaHaioEDDV7kzZat02U8kVDQ+JKfCzlVLybTP5amdbSH7mpfZyMGJ2Ai/RW5dZSBuCTs5v0EjcwKqD0Hjl/VnJ81LVTi5LXnvCDJlfBMr4w4c5JFepxawqcGfu4bowxsmuEMO+Q9LEw627YohVpBppQi1gFlBmaSr+8TuEmmQAVVn7rocX2YydhGU5q41Un+RlMw+CRXRIBLOBHvOOT+pNzPNhJ9Afaer3I5HY7g84JFdwdUwXK36EZ9K18eTPqHB7T01bM578u0w0VDuLjTAjWMmE+e/xieFov0iPuKkk+Sk5zED1nHrpQog2oRiRD/MgukEpy/jgdMzqZYdgZl98fexTo8ND8AK6iQTA0DQ9lVZJaLSvgTNE6T30tHwvNO11HsBYIG+10eUX4reMDsK7ubxAZns+gu1KfBngWa4dkB46DW00DisstqKSMZayaCw1Da3nlhuXL+pSPi/JOgtd7PJe1KNlzmjglcRFKoX8= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(1800799024)(18002099003)(22082099003)(56012099006)(6133799003)(3023799007)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Jy3lBbOmgDsLf8ZoVn/UfkLVHOIFJ2BhF1ygVDSzAyUDvj9oT76c5osVuqqsACnSNGNHtDsuPa3FRjUu30Kv3803uG7FAu2cUFaA0T2PwlawLTcz1EyYFdanbf+TeFwRAehKNRl5XgreNSYml5QnpcPvPSYnyOAAvWzLB5K0iyFC53GIag7I9EnRN6HP2BtOLjax9PhSbvs9p7gmFJh21HZ1jnNvYsTTCc25FWjHtEJqPIZeQjNo1Dgwb+/oaLPbgocdPN3x2yzqCnWi8yPc/kNZi8v+VuId3Gsf44syC24g+rMfNsbdSq8w4vLxgebflDnM0zL373TKokaow0EnG7GE/BejfoeV284Bw95oIK+NeAyHJYTOv2cylRRc0Wevp4I2FI0IG0aIA0cYY+qJme9GS0fjB+1yVqOlbzhO1xPOwQkYBiR1A9y8nLikMdx5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 14:12:41.4982 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e3c33c1d-1ed1-4545-9e31-08debd8c58cc 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=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BY1PEPF0001AE1D.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7775 Content-Type: text/plain; charset="utf-8" The Versal NET clock controller compatible is specified as: compatible =3D "xlnx,versal-net-clk", "xlnx,versal-clk"; with xlnx,versal-clk listed as fallback. The original binding had two separate if/then blocks - one matching xlnx,versal-clk (2 clocks) and another matching xlnx,versal-net-clk (3 clocks). Since both compatible strings are present, both conditions matched simultaneously and JSON Schema applied the more restrictive 2-clock constraint, causing false "too long" validation errors for Versal NET. Define clock-names at the top-level and use if/then only to constrain the clock count (2 for Versal, 3 for Versal NET). Add a dedicated example for the Versal NET 3-clock configuration. Signed-off-by: Michal Simek Acked-by: Conor Dooley --- Changes in v2: - Update logic without ZynqMP part in this file and have if/else only around min/maxItems .../bindings/clock/xlnx,versal-clk.yaml | 51 ++++++++----------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml b= /Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml index 12d060c39bfc..a1b8043958be 100644 --- a/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml +++ b/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml @@ -30,11 +30,17 @@ properties: description: List of clock specifiers which are external input clocks to the given clock controller. minItems: 2 - maxItems: 3 + items: + - description: reference clock + - description: alternate reference clock for programmable logic + - description: alternate reference clock =20 clock-names: minItems: 2 - maxItems: 3 + items: + - const: ref + - const: pl_alt_ref + - const: alt_ref =20 required: - compatible @@ -50,40 +56,19 @@ allOf: compatible: contains: enum: - - xlnx,versal-clk - + - xlnx,versal-net-clk then: properties: clocks: - items: - - description: reference clock - - description: alternate reference clock for programmable logic - + minItems: 3 clock-names: - items: - - const: ref - - const: pl_alt_ref - - - if: - properties: - compatible: - contains: - enum: - - xlnx,versal-net-clk - - then: + minItems: 3 + else: properties: clocks: - items: - - description: reference clock - - description: alternate reference clock for programmable logic - - description: alternate reference clock - + maxItems: 2 clock-names: - items: - - const: ref - - const: pl_alt_ref - - const: alt_ref + maxItems: 2 =20 examples: - | @@ -99,4 +84,12 @@ examples: }; }; }; + + - | + clock-controller { + #clock-cells =3D <1>; + compatible =3D "xlnx,versal-net-clk", "xlnx,versal-clk"; + clocks =3D <&ref>, <&pl_alt_ref>, <&alt_ref>; + clock-names =3D "ref", "pl_alt_ref", "alt_ref"; + }; ... --=20 2.43.0 From nobody Mon Jun 8 10:56:40 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012009.outbound.protection.outlook.com [40.107.200.9]) (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 14C463E172E; Fri, 29 May 2026 14:12:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780063977; cv=fail; b=C0Yey+YOPfEfFFR49+P5rmBY/R8stWlYwNywxAujEFh3RWxHH1KX9qtebA/zQ2VejMYH+8mR/r3qXK8PxYUKynIArgJANXpOnJCNjx4J6cRQh5LSFU1yLOYJnuSMAHzMpu/1dGhqL7R3mdNFwikymT3ScWnrIXyjOcYtVkB1IS0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780063977; c=relaxed/simple; bh=qYKsqVnI91ndM/Eszt/1ZhayTUtmV4oX8bJEODfio2g=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PoO6mveZP0H1OusbsvOqYq/nTq2nLUbhtCE9IIfGf9Zcc/ZZIccpns2ePeyCDr3tsYqddAHFjORgLzf9cH+Udpkp5U8xJyjFQ8f4GMagLGZ7XA0EgburCYkCTmaktqou/7O02YK/o2nLcb8/FKHFi0+twav3Y1Di0tYqxoZ0+A0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=bmciQk2e; arc=fail smtp.client-ip=40.107.200.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="bmciQk2e" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=INPt6Pw+HtElDpET+NI7lO29n1CzEf1222Y0r8ajlf1I5CKBAlvgHM3P6T0loULtmfJ36lUfjH6ysLqSXrSJ2o26HTOVJBqaXc537OvPnRJOsbPHsIynMuZeivYFGwebHGQMiNC8fElquyNvmFXhuCiIPnZotwLacP927U8kG9kGPysE+tL2FMtD+l3uvL6UmWAE5H+bBoVGZxBcSNap6d/CmCLwiJd3+rg8cLAev0h73rpA2dqz/CRWufrFkgfAYhnS9l5GUwLT0gtdq8onlkZ776Zxr3Jq0Ly/2Jd1npAeiVdkmafVfU9nz5UBNoL6oq1MwP7YfbnqQbjZd91vNA== 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=cIhwqvNfFUPGkGKDGdQA0xxsDsEozIRSBlJe9cqjGkc=; b=Gyh0iM/ikpZ/l8d/tVrc1aPoMPYte1fXnnf6cJYBzUdT5boPFlOjPy0tgP3bzxMkdRX8UOcd4QTwje5YIqfMfkr+ovKu5z2NxX5t3QSbDmi2cA3vBpslOhPABDnlqLC4AFiLqulxAvlWZrOwSUWcLyQ5+UT4ngeBOs8Mo5HOxD0rzL1r/1Z8ZDOjSAAi9b61PHpReq/JJ57SvJb9BtfB4mezHxvKysEYh/IOBPc1kkKwmk9XRoUQzqDFM2w2t3FHi4znZ33ppdIgooYyzkwyBcjUA4t4P/cNe5yxhk5R6UUviNzBbt//NABoGwhDu8TVsKgodSpDaLSeOpv4J7jnsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.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=cIhwqvNfFUPGkGKDGdQA0xxsDsEozIRSBlJe9cqjGkc=; b=bmciQk2eediL5fQS2HMKJzDF6vLsnwzbPcUqFhFuKsDSMhHPFXZ39f0OG8a4yBuaMVb1r36hYr8NUGteJjzV3u/1wGf315jal2qW3J2LkicgCy8hCMPfKmzSmPvdMOKjMXbOZzO48Cx1XQGTTiy6XOiirsjoBvEDLppSF6QPNgk= Received: from DSSP221CA0005.NAMP221.PROD.OUTLOOK.COM (2603:10b6:8:3d5::10) by DM6PR12MB4106.namprd12.prod.outlook.com (2603:10b6:5:221::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.17; Fri, 29 May 2026 14:12:46 +0000 Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com (2603:10b6:8:3d5:cafe::a6) by DSSP221CA0005.outlook.office365.com (2603:10b6:8:3d5::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.14 via Frontend Transport; Fri, 29 May 2026 14:12:45 +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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Fri, 29 May 2026 14:12:45 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 29 May 2026 09:12:37 -0500 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41 via Frontend Transport; Fri, 29 May 2026 09:12:37 -0500 From: Michal Simek To: , , , CC: Conor Dooley , Krzysztof Kozlowski , Rob Herring , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/ZYNQ ARCHITECTURE" Subject: [PATCH v2 3/3] arm64: zynqmp: Switch Versal NET to firmware clock interface Date: Fri, 29 May 2026 16:12:09 +0200 Message-ID: <60222042a1c46d28b9c00a8128d270937f97d997.1780063921.git.michal.simek@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=28724; i=michal.simek@amd.com; h=from:subject:message-id; bh=qYKsqVnI91ndM/Eszt/1ZhayTUtmV4oX8bJEODfio2g=; b=owGbwMvMwCG2mv3fB7+vgl8ZT6slMWRJzjvJHaF9QYJlWWmwVtPnLX/fmhXduO98rz3kZ7SqW Phtzb7XHaUsDGIcDLJiiizTmXQc1ny7tlRseWQ+zBxWJpAhDFycAjCRj08Y/nufd3WJ2zYt88Ot Jzwxt89enq7wzmS1lsUWHeWE/BkXttQwMiyJXGajPfksk/J2ST6byd0v7qp5yxtsWfAyc/6JqVH +c/kB X-Developer-Key: i=michal.simek@amd.com; a=openpgp; fpr=67350C9BF5CCEE9B5364356A377C7F21FE3D1F91 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|DM6PR12MB4106:EE_ X-MS-Office365-Filtering-Correlation-Id: a7c44b0b-c08d-4aa4-a58f-08debd8c5b52 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|376014|1800799024|82310400026|18002099003|56012099006|22082099003|5023799004|3023799007|11063799006; X-Microsoft-Antispam-Message-Info: SWeXdk+l+LNzNXBy+BnoA13w7HwzyDAA8q6rBkNceL1Wo4yR/iYLVJj3BU1QrjVSAWioXy77gex1yRVqj5ToBu/820HFbAyvH31Tl0ppVJU1niq5v67H5p8rlKNLS9z0H4ho3pGAA/jyvyN3Ttvtp+M4a3ZVGBNWdseBehzzYr0wpZ3TJMKZ72Tjki5o5IWTN7BqulZm9YBreUb2P9QUAR00PzbIQyUOCBSN2+2bV7+XwUlBrHuKT2eXz+Gu2Lqhp4EhwtcU0wGdfKUSnVdT2WirZwr0ebyBrsX7DyO2VFDMqLn+L7iWpzWqamFTSqJCb3nEeye3UAItgEdYGVGI5GaGWUR/jcFSH1MXcHoHHlXKkM8VGjvZbGF2gJV6FLfUwgpe8/O4W+uDsqKS4+sGFcoSa3qVaaRHgpQBzoWQAHzS8My5WEUj9OxF2uMNTQQXD6EG4gNvF/qZxjcWK1RL9Q178xIz0El5sVxN22VUiVHGXoob8R5tjbBnXRw9UQ1Yzo6Pqc2u2YqgohMe1+T010I7M7LnIgIT4Shi23XyGgs1ki9PlgXoHXDCU7ytCG6qlqBWth68mVLGUlW2Ui62lDLF4IQGKYNftkEzb+WYlfCjfsksw/KPf3W+uHTZSN4iGyhFAd3c3p5dvYbfWXaW3IRuWdehi70f3WnxvDJQi3/mq1E1dxTh8XMlQy6PNNh9e2ALeVBLG+4Jpbsrk4F7LnCD8PbfgNhfijgjWl0qJh8= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(1800799024)(82310400026)(18002099003)(56012099006)(22082099003)(5023799004)(3023799007)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oRVUBAjJk/nwZhJya9YWU6rlwm55JATjPqMts6Fl03XDbemG4olgbYY+/KO25/7opnyWOfdDYt6A1QprlJjitIX4Rw4IGgyABxFyXMSTAHUmUAIw1p3Ke5SWcAAOZFcaAVynU5Z2Qsm0sMeaGjZ9ltTgGCaszZ7K2W/vIsktscMl5nGG7yj0EvehU16+NTxj3ECmeOoVKbIuszdX6aJWvL9YA2EcNeNp6V/dgYR5Qm+b+TCRbItpKLdWUJ1k7VuXvhviXJSL3OQnfjPegO/9xyhXComY6dhIkXVFRm1S0a0IDu+tYdxW0Ddi0riP40it3AVqdkou00wxldxU1ae0PgbTGhDBdRoLDtHwIVouDYFMoi/9wV/lNWSUGHpsIfelA9wXgHfCUxuPz+m3jWCOy/Opjp7jebVDIM6fUphZW/1zyCSSDtEYcfhJiQk+XJfZ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2026 14:12:45.7513 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a7c44b0b-c08d-4aa4-a58f-08debd8c5b52 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE38.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4106 Content-Type: text/plain; charset="utf-8" Switch Versal NET from using fixed clocks (versal-net-clk.dtsi) to the firmware-based CCF clock interface (versal-net-clk-ccf.dtsi). This enables proper clock management through the platform firmware instead of relying on static fixed-clock definitions. Add DT macro headers for Versal NET and base Versal clocks, power domains and resets that are required by the CCF clock dtsi. Signed-off-by: Michal Simek --- Changes in v2: - use clock- node name for fixed clocks - Reuse existing versal-net-clk.dtsi file .../arm64/boot/dts/xilinx/versal-net-clk.dtsi | 345 +++++++++++++----- arch/arm64/boot/dts/xilinx/xlnx-versal-clk.h | 123 +++++++ .../boot/dts/xilinx/xlnx-versal-net-clk.h | 78 ++++ .../boot/dts/xilinx/xlnx-versal-net-power.h | 38 ++ .../boot/dts/xilinx/xlnx-versal-net-resets.h | 53 +++ .../arm64/boot/dts/xilinx/xlnx-versal-power.h | 54 +++ .../boot/dts/xilinx/xlnx-versal-resets.h | 105 ++++++ 7 files changed, 697 insertions(+), 99 deletions(-) create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-clk.h create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-net-clk.h create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-net-power.h create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-net-resets.h create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-power.h create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-resets.h diff --git a/arch/arm64/boot/dts/xilinx/versal-net-clk.dtsi b/arch/arm64/bo= ot/dts/xilinx/versal-net-clk.dtsi index b7a8a1a512cb..dead487539cd 100644 --- a/arch/arm64/boot/dts/xilinx/versal-net-clk.dtsi +++ b/arch/arm64/boot/dts/xilinx/versal-net-clk.dtsi @@ -1,231 +1,378 @@ // SPDX-License-Identifier: GPL-2.0 /* - * dts file for Xilinx Versal NET fixed clock + * dts file for Xilinx Versal with PM * - * (C) Copyright 2022, Xilinx, Inc. - * (C) Copyright 2022 - 2025, Advanced Micro Devices, Inc. + * Copyright (C) 2022, Xilinx, Inc. + * Copyright (C) 2022 - 2025, Advanced Micro Devices, Inc. * * Michal Simek */ =20 +#include "xlnx-versal-net-clk.h" +#include "xlnx-versal-net-power.h" +#include "xlnx-versal-net-resets.h" + / { - clk60: clk60 { + ref_clk: clock-33333333 { + bootph-all; compatible =3D "fixed-clock"; #clock-cells =3D <0>; - clock-frequency =3D <60000000>; + clock-frequency =3D <33333333>; + clock-output-names =3D "ref_clk"; }; =20 - clk100: clk100 { + rtc_clk: clock-32768 { + bootph-all; compatible =3D "fixed-clock"; #clock-cells =3D <0>; - clock-frequency =3D <100000000>; + clock-frequency =3D <32768>; + clock-output-names =3D "rtc_clk"; }; =20 - clk125: clk125 { - compatible =3D "fixed-clock"; + can0_clk: can0-clk { #clock-cells =3D <0>; - clock-frequency =3D <125000000>; + compatible =3D "fixed-factor-clock"; + clocks =3D <&versal_net_clk CAN0_REF_2X>; + clock-div =3D <2>; + clock-mult =3D <1>; + clock-output-names =3D "can0_clk"; }; =20 - clk150: clk150 { - compatible =3D "fixed-clock"; + can1_clk: can1-clk { #clock-cells =3D <0>; - clock-frequency =3D <150000000>; + compatible =3D "fixed-factor-clock"; + clocks =3D <&versal_net_clk CAN1_REF_2X>; + clock-div =3D <2>; + clock-mult =3D <1>; + clock-output-names =3D "can1_clk"; }; =20 - clk160: clk160 { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <160000000>; + firmware { + versal_net_firmware: versal-net-firmware { + compatible =3D "xlnx,versal-net-firmware", "xlnx,versal-firmware"; + bootph-all; + method =3D "smc"; + #power-domain-cells =3D <1>; + + versal_net_reset: reset-controller { + compatible =3D "xlnx,versal-net-reset"; + #reset-cells =3D <1>; + }; + + versal_net_clk: clock-controller { + bootph-all; + #clock-cells =3D <1>; + compatible =3D "xlnx,versal-net-clk", "xlnx,versal-clk"; + clocks =3D <&ref_clk>, <&ref_clk>, <&ref_clk>; + clock-names =3D "ref", "pl_alt_ref", "alt_ref"; + }; + + versal_net_power: power-management { /* untested */ + compatible =3D "xlnx,zynqmp-power"; + interrupt-parent =3D <&gic>; + interrupts =3D <0 57 4>; + mboxes =3D <&ipi_mailbox_pmu1 0>, + <&ipi_mailbox_pmu1 1>; + mbox-names =3D "tx", "rx"; + }; + }; }; =20 - clk200: clk200 { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <200000000>; + zynqmp-ipi { + compatible =3D "xlnx,zynqmp-ipi-mailbox"; + interrupt-parent =3D <&gic>; + interrupts =3D <0 57 4>; + xlnx,ipi-id =3D <2>; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + ipi_mailbox_pmu1: mailbox@eb3f0440 { + compatible =3D "xlnx,zynqmp-ipi-dest-mailbox"; + reg =3D <0 0xeb3f0440 0 0x20>, + <0 0xeb3f0460 0 0x20>, + <0 0xeb3f0280 0 0x20>, + <0 0xeb3f02a0 0 0x20>; + reg-names =3D "local_request_region", "local_response_region", + "remote_request_region", "remote_response_region"; + #mbox-cells =3D <1>; + xlnx,ipi-id =3D <1>; + }; }; +}; =20 - clk250: clk250 { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <250000000>; - }; +&cpu0 { + clocks =3D <&versal_net_clk ACPU_0>; +}; =20 - clk300: clk300 { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <300000000>; - }; +&cpu100 { + clocks =3D <&versal_net_clk ACPU_0>; +}; =20 - clk450: clk450 { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <450000000>; - }; +&cpu200 { + clocks =3D <&versal_net_clk ACPU_0>; +}; =20 - clk1200: clk1200 { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <1200000000>; - }; +&cpu300 { + clocks =3D <&versal_net_clk ACPU_0>; +}; =20 - firmware { - versal_net_firmware: versal-net-firmware { - compatible =3D "xlnx,versal-net-firmware", "xlnx,versal-firmware"; - bootph-all; - method =3D "smc"; - }; - }; +&cpu10000 { + clocks =3D <&versal_net_clk ACPU_1>; }; =20 -&adma0 { - clocks =3D <&clk450>, <&clk450>; +&cpu10100 { + clocks =3D <&versal_net_clk ACPU_1>; }; =20 -&adma1 { - clocks =3D <&clk450>, <&clk450>; +&cpu10200 { + clocks =3D <&versal_net_clk ACPU_1>; }; =20 -&adma2 { - clocks =3D <&clk450>, <&clk450>; +&cpu10300 { + clocks =3D <&versal_net_clk ACPU_1>; }; =20 -&adma3 { - clocks =3D <&clk450>, <&clk450>; +&cpu20000 { + clocks =3D <&versal_net_clk ACPU_2>; }; =20 -&adma4 { - clocks =3D <&clk450>, <&clk450>; +&cpu20100 { + clocks =3D <&versal_net_clk ACPU_2>; }; =20 -&adma5 { - clocks =3D <&clk450>, <&clk450>; +&cpu20200 { + clocks =3D <&versal_net_clk ACPU_2>; }; =20 -&adma6 { - clocks =3D <&clk450>, <&clk450>; +&cpu20300 { + clocks =3D <&versal_net_clk ACPU_2>; }; =20 -&adma7 { - clocks =3D <&clk450>, <&clk450>; +&cpu30000 { + clocks =3D <&versal_net_clk ACPU_3>; +}; + +&cpu30100 { + clocks =3D <&versal_net_clk ACPU_3>; +}; + +&cpu30200 { + clocks =3D <&versal_net_clk ACPU_3>; +}; + +&cpu30300 { + clocks =3D <&versal_net_clk ACPU_3>; }; =20 &can0 { - clocks =3D <&clk160>, <&clk160>; + clocks =3D <&can0_clk>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_CAN_FD_0>; }; =20 &can1 { - clocks =3D <&clk160>, <&clk160>; + clocks =3D <&can1_clk>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_CAN_FD_1>; }; =20 &gem0 { - clocks =3D <&clk125>, <&clk125>, <&clk125>, <&clk125>, <&clk250>; + clocks =3D <&versal_net_clk LPD_LSBUS>, + <&versal_net_clk GEM0_REF>, <&versal_net_clk GEM0_TX>, + <&versal_net_clk GEM0_RX>, <&versal_net_clk GEM_TSU>; + power-domains =3D <&versal_net_firmware PM_DEV_GEM_0>; }; =20 &gem1 { - clocks =3D <&clk125>, <&clk125>, <&clk125>, <&clk125>, <&clk250>; + clocks =3D <&versal_net_clk LPD_LSBUS>, + <&versal_net_clk GEM1_REF>, <&versal_net_clk GEM1_TX>, + <&versal_net_clk GEM1_RX>, <&versal_net_clk GEM_TSU>; + power-domains =3D <&versal_net_firmware PM_DEV_GEM_1>; }; =20 &gpio0 { - clocks =3D <&clk100>; + clocks =3D <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_GPIO>; }; =20 &gpio1 { - clocks =3D <&clk100>; + clocks =3D <&versal_net_clk PMC_LSBUS_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_GPIO_PMC>; }; =20 &i2c0 { - clocks =3D <&clk100>; + clocks =3D <&versal_net_clk I3C0_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_I2C_0>; }; =20 &i2c1 { - clocks =3D <&clk100>; + clocks =3D <&versal_net_clk I3C1_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_I2C_1>; }; =20 &i3c0 { - clocks =3D <&clk100>; + clocks =3D <&versal_net_clk I3C0_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_I2C_0>; }; =20 &i3c1 { - clocks =3D <&clk100>; + clocks =3D <&versal_net_clk I3C1_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_I2C_1>; }; =20 -&ospi { - clocks =3D <&clk200>; +&adma0 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_0>; }; =20 -&qspi { - clocks =3D <&clk300>, <&clk300>; +&adma1 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_1>; }; =20 -&rtc { - /* Nothing */ +&adma2 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_2>; }; =20 -&sdhci0 { - clocks =3D <&clk200>, <&clk200>, <&clk1200>; +&adma3 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_3>; }; =20 -&sdhci1 { - clocks =3D <&clk200>, <&clk200>, <&clk1200>; +&adma4 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_4>; +}; + +&adma5 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_5>; +}; + +&adma6 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_6>; +}; + +&adma7 { + clocks =3D <&versal_net_clk ADMA>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_ADMA_7>; +}; + +&qspi { + clocks =3D <&versal_net_clk QSPI_REF>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_QSPI>; +}; + +&ospi { + clocks =3D <&versal_net_clk OSPI_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_OSPI>; +}; + +&rtc { + clocks =3D <&rtc_clk>; + clock-names =3D "rtc"; + power-domains =3D <&versal_net_firmware PM_DEV_RTC>; }; =20 &serial0 { - clocks =3D <&clk100>, <&clk100>; + clocks =3D <&versal_net_clk UART0_REF>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_UART_0>; }; =20 &serial1 { - clocks =3D <&clk100>, <&clk100>; + clocks =3D <&versal_net_clk UART1_REF>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_UART_1>; +}; + +&sdhci0 { + clocks =3D <&versal_net_clk SDIO0_REF>, <&versal_net_clk LPD_LSBUS>, + <&versal_net_clk SD_DLL_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_SDIO_0>; +}; + +&sdhci1 { + clocks =3D <&versal_net_clk SDIO1_REF>, <&versal_net_clk LPD_LSBUS>, + <&versal_net_clk SD_DLL_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_SDIO_1>; }; =20 &spi0 { - clocks =3D <&clk200>, <&clk200>; + clocks =3D <&versal_net_clk SPI0_REF>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_SPI_0>; }; =20 &spi1 { - clocks =3D <&clk200>, <&clk200>; + clocks =3D <&versal_net_clk SPI1_REF>, <&versal_net_clk LPD_LSBUS>; + power-domains =3D <&versal_net_firmware PM_DEV_SPI_1>; }; =20 &ttc0 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk TTC0>; + power-domains =3D <&versal_net_firmware PM_DEV_TTC_0>; +}; + +&ttc1 { + clocks =3D <&versal_net_clk TTC1>; + power-domains =3D <&versal_net_firmware PM_DEV_TTC_1>; +}; + +&ttc2 { + clocks =3D <&versal_net_clk TTC2>; + power-domains =3D <&versal_net_firmware PM_DEV_TTC_2>; +}; + +&ttc3 { + clocks =3D <&versal_net_clk TTC3>; + power-domains =3D <&versal_net_firmware PM_DEV_TTC_3>; }; =20 &usb0 { - clocks =3D <&clk60>, <&clk60>; + clocks =3D <&versal_net_clk USB0_BUS_REF>, <&versal_net_clk USB0_BUS_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_USB_0>; + resets =3D <&versal_net_reset VERSAL_RST_USB_0>; }; =20 &dwc3_0 { - clocks =3D <&clk60>; + clocks =3D <&versal_net_clk USB0_BUS_REF>; }; =20 &usb1 { - clocks =3D <&clk60>, <&clk60>; + clocks =3D <&versal_net_clk USB1_BUS_REF>, <&versal_net_clk USB1_BUS_REF>; + power-domains =3D <&versal_net_firmware PM_DEV_USB_1>; + resets =3D <&versal_net_reset VERSAL_RST_USB_1>; }; =20 &dwc3_1 { - clocks =3D <&clk60>; + clocks =3D <&versal_net_clk USB1_BUS_REF>; }; =20 &wwdt0 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk FPD_WWDT0>; + power-domains =3D <&versal_net_firmware PM_DEV_FPD_SWDT_0>; }; =20 &wwdt1 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk FPD_WWDT1>; + power-domains =3D <&versal_net_firmware PM_DEV_FPD_SWDT_1>; }; =20 &wwdt2 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk FPD_WWDT2>; + power-domains =3D <&versal_net_firmware PM_DEV_FPD_SWDT_2>; }; =20 &wwdt3 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk FPD_WWDT3>; + power-domains =3D <&versal_net_firmware PM_DEV_FPD_SWDT_3>; }; =20 &lpd_wwdt0 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk LPD_WWDT0>; + power-domains =3D <&versal_net_firmware PM_DEV_LPD_SWDT_0>; }; =20 &lpd_wwdt1 { - clocks =3D <&clk150>; + clocks =3D <&versal_net_clk LPD_WWDT1>; + power-domains =3D <&versal_net_firmware PM_DEV_LPD_SWDT_1>; }; diff --git a/arch/arm64/boot/dts/xilinx/xlnx-versal-clk.h b/arch/arm64/boot= /dts/xilinx/xlnx-versal-clk.h new file mode 100644 index 000000000000..264d634d226e --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/xlnx-versal-clk.h @@ -0,0 +1,123 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2019 Xilinx Inc. + * + */ + +#ifndef _DT_BINDINGS_CLK_VERSAL_H +#define _DT_BINDINGS_CLK_VERSAL_H + +#define PMC_PLL 1 +#define APU_PLL 2 +#define RPU_PLL 3 +#define CPM_PLL 4 +#define NOC_PLL 5 +#define PLL_MAX 6 +#define PMC_PRESRC 7 +#define PMC_POSTCLK 8 +#define PMC_PLL_OUT 9 +#define PPLL 10 +#define NOC_PRESRC 11 +#define NOC_POSTCLK 12 +#define NOC_PLL_OUT 13 +#define NPLL 14 +#define APU_PRESRC 15 +#define APU_POSTCLK 16 +#define APU_PLL_OUT 17 +#define APLL 18 +#define RPU_PRESRC 19 +#define RPU_POSTCLK 20 +#define RPU_PLL_OUT 21 +#define RPLL 22 +#define CPM_PRESRC 23 +#define CPM_POSTCLK 24 +#define CPM_PLL_OUT 25 +#define CPLL 26 +#define PPLL_TO_XPD 27 +#define NPLL_TO_XPD 28 +#define APLL_TO_XPD 29 +#define RPLL_TO_XPD 30 +#define EFUSE_REF 31 +#define SYSMON_REF 32 +#define IRO_SUSPEND_REF 33 +#define USB_SUSPEND 34 +#define SWITCH_TIMEOUT 35 +#define RCLK_PMC 36 +#define RCLK_LPD 37 +#define WDT 38 +#define TTC0 39 +#define TTC1 40 +#define TTC2 41 +#define TTC3 42 +#define GEM_TSU 43 +#define GEM_TSU_LB 44 +#define MUXED_IRO_DIV2 45 +#define MUXED_IRO_DIV4 46 +#define PSM_REF 47 +#define GEM0_RX 48 +#define GEM0_TX 49 +#define GEM1_RX 50 +#define GEM1_TX 51 +#define CPM_CORE_REF 52 +#define CPM_LSBUS_REF 53 +#define CPM_DBG_REF 54 +#define CPM_AUX0_REF 55 +#define CPM_AUX1_REF 56 +#define QSPI_REF 57 +#define OSPI_REF 58 +#define SDIO0_REF 59 +#define SDIO1_REF 60 +#define PMC_LSBUS_REF 61 +#define I2C_REF 62 +#define TEST_PATTERN_REF 63 +#define DFT_OSC_REF 64 +#define PMC_PL0_REF 65 +#define PMC_PL1_REF 66 +#define PMC_PL2_REF 67 +#define PMC_PL3_REF 68 +#define CFU_REF 69 +#define SPARE_REF 70 +#define NPI_REF 71 +#define HSM0_REF 72 +#define HSM1_REF 73 +#define SD_DLL_REF 74 +#define FPD_TOP_SWITCH 75 +#define FPD_LSBUS 76 +#define ACPU 77 +#define DBG_TRACE 78 +#define DBG_FPD 79 +#define LPD_TOP_SWITCH 80 +#define ADMA 81 +#define LPD_LSBUS 82 +#define CPU_R5 83 +#define CPU_R5_CORE 84 +#define CPU_R5_OCM 85 +#define CPU_R5_OCM2 86 +#define IOU_SWITCH 87 +#define GEM0_REF 88 +#define GEM1_REF 89 +#define GEM_TSU_REF 90 +#define USB0_BUS_REF 91 +#define UART0_REF 92 +#define UART1_REF 93 +#define SPI0_REF 94 +#define SPI1_REF 95 +#define CAN0_REF 96 +#define CAN1_REF 97 +#define I2C0_REF 98 +#define I2C1_REF 99 +#define DBG_LPD 100 +#define TIMESTAMP_REF 101 +#define DBG_TSTMP 102 +#define CPM_TOPSW_REF 103 +#define USB3_DUAL_REF 104 +#define OUTCLK_MAX 105 +#define REF_CLK 106 +#define PL_ALT_REF_CLK 107 +#define MUXED_IRO 108 +#define PL_EXT 109 +#define PL_LB 110 +#define MIO_50_OR_51 111 +#define MIO_24_OR_25 112 + +#endif diff --git a/arch/arm64/boot/dts/xilinx/xlnx-versal-net-clk.h b/arch/arm64/= boot/dts/xilinx/xlnx-versal-net-clk.h new file mode 100644 index 000000000000..f894d044c6f9 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/xlnx-versal-net-clk.h @@ -0,0 +1,78 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2022, Xilinx Inc. + * Copyright (C) 2022 - 2024, Advanced Micro Devices, Inc. + */ + +#ifndef _DT_BINDINGS_CLK_VERSAL_NET_H +#define _DT_BINDINGS_CLK_VERSAL_NET_H + +#include "xlnx-versal-clk.h" + +#define GEM0_REF_RX 0xA9 +#define GEM0_REF_TX 0xA8 +#define GEM1_REF_RX 0xA2 +#define GEM1_REF_TX 0xA1 +#define CAN0_REF_2X 0x9E +#define CAN1_REF_2X 0xAC +#define FPD_WWDT0 0xB5 +#define FPD_WWDT1 0xB6 +#define FPD_WWDT2 0xB7 +#define FPD_WWDT3 0xB8 +#define LPD_WWDT0 0xB9 +#define LPD_WWDT1 0xBA +#define ACPU_0 0x98 +#define ACPU_1 0x9B +#define ACPU_2 0x9A +#define ACPU_3 0x99 +#define I3C0_REF 0x9D +#define I3C1_REF 0x9F +#define USB1_BUS_REF 0xAE +#define LPD_WWDT 0xAD + +/* Remove Versal specific node IDs */ +#undef APU_PLL +#undef RPU_PLL +#undef CPM_PLL +#undef APU_PRESRC +#undef APU_POSTCLK +#undef APU_PLL_OUT +#undef APLL +#undef RPU_PRESRC +#undef RPU_POSTCLK +#undef RPU_PLL_OUT +#undef RPLL +#undef CPM_PRESRC +#undef CPM_POSTCLK +#undef CPM_PLL_OUT +#undef CPLL +#undef APLL_TO_XPD +#undef RPLL_TO_XPD +#undef RCLK_PMC +#undef RCLK_LPD +#undef WDT +#undef MUXED_IRO_DIV2 +#undef MUXED_IRO_DIV4 +#undef PSM_REF +#undef CPM_CORE_REF +#undef CPM_LSBUS_REF +#undef CPM_DBG_REF +#undef CPM_AUX0_REF +#undef CPM_AUX1_REF +#undef CPU_R5 +#undef CPU_R5_CORE +#undef CPU_R5_OCM +#undef CPU_R5_OCM2 +#undef CAN0_REF +#undef CAN1_REF +#undef I2C0_REF +#undef I2C1_REF +#undef CPM_TOPSW_REF +#undef USB3_DUAL_REF +#undef MUXED_IRO +#undef PL_EXT +#undef PL_LB +#undef MIO_50_OR_51 +#undef MIO_24_OR_25 + +#endif diff --git a/arch/arm64/boot/dts/xilinx/xlnx-versal-net-power.h b/arch/arm6= 4/boot/dts/xilinx/xlnx-versal-net-power.h new file mode 100644 index 000000000000..34f99695655d --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/xlnx-versal-net-power.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2022, Xilinx, Inc. + * Copyright (C) 2022, Advanced Micro Devices, Inc. + */ + +#ifndef _DT_BINDINGS_VERSAL_NET_POWER_H +#define _DT_BINDINGS_VERSAL_NET_POWER_H + +#include "xlnx-versal-power.h" + +#define PM_DEV_USB_1 (0x182240D7U) +#define PM_DEV_FPD_SWDT_0 (0x182240DBU) +#define PM_DEV_FPD_SWDT_1 (0x182240DCU) +#define PM_DEV_FPD_SWDT_2 (0x182240DDU) +#define PM_DEV_FPD_SWDT_3 (0x182240DEU) +#define PM_DEV_TCM_A_0A (0x183180CBU) +#define PM_DEV_TCM_A_0B (0x183180CCU) +#define PM_DEV_TCM_A_0C (0x183180CDU) +#define PM_DEV_RPU_A_0 (0x181100BFU) +#define PM_DEV_LPD_SWDT_0 (0x182240D9U) +#define PM_DEV_LPD_SWDT_1 (0x182240DAU) + +/* Remove Versal specific node IDs */ +#undef PM_DEV_RPU0_0 +#undef PM_DEV_RPU0_1 +#undef PM_DEV_OCM_0 +#undef PM_DEV_OCM_1 +#undef PM_DEV_OCM_2 +#undef PM_DEV_OCM_3 +#undef PM_DEV_TCM_0_A +#undef PM_DEV_TCM_1_A +#undef PM_DEV_TCM_0_B +#undef PM_DEV_TCM_1_B +#undef PM_DEV_SWDT_FPD +#undef PM_DEV_AI + +#endif diff --git a/arch/arm64/boot/dts/xilinx/xlnx-versal-net-resets.h b/arch/arm= 64/boot/dts/xilinx/xlnx-versal-net-resets.h new file mode 100644 index 000000000000..b26ad78f6dc8 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/xlnx-versal-net-resets.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2022, Xilinx, Inc. + * Copyright (C) 2022, Advanced Micro Devices, Inc. + */ + +#ifndef _DT_BINDINGS_VERSAL_NET_RESETS_H +#define _DT_BINDINGS_VERSAL_NET_RESETS_H + +#include "xlnx-versal-resets.h" + +#define VERSAL_RST_USB_1 (0xC1040C6U) + +/* Remove Versal specific reset IDs */ +#undef VERSAL_RST_ACPU_0_POR +#undef VERSAL_RST_ACPU_1_POR +#undef VERSAL_RST_OCM2_POR +#undef VERSAL_RST_APU +#undef VERSAL_RST_ACPU_0 +#undef VERSAL_RST_ACPU_1 +#undef VERSAL_RST_ACPU_L2 +#undef VERSAL_RST_RPU_ISLAND +#undef VERSAL_RST_RPU_AMBA +#undef VERSAL_RST_R5_0 +#undef VERSAL_RST_R5_1 +#undef VERSAL_RST_OCM2_RST +#undef VERSAL_RST_I2C_PMC +#undef VERSAL_RST_I2C_0 +#undef VERSAL_RST_I2C_1 +#undef VERSAL_RST_SWDT_FPD +#undef VERSAL_RST_SWDT_LPD +#undef VERSAL_RST_USB +#undef VERSAL_RST_DPC +#undef VERSAL_RST_DBG_TRACE +#undef VERSAL_RST_DBG_TSTMP +#undef VERSAL_RST_RPU0_DBG +#undef VERSAL_RST_RPU1_DBG +#undef VERSAL_RST_HSDP +#undef VERSAL_RST_CPMDBG +#undef VERSAL_RST_PCIE_CFG +#undef VERSAL_RST_PCIE_CORE0 +#undef VERSAL_RST_PCIE_CORE1 +#undef VERSAL_RST_PCIE_DMA +#undef VERSAL_RST_L2_0 +#undef VERSAL_RST_L2_1 +#undef VERSAL_RST_ADDR_REMAP +#undef VERSAL_RST_CPI0 +#undef VERSAL_RST_CPI1 +#undef VERSAL_RST_XRAM +#undef VERSAL_RST_AIE_ARRAY +#undef VERSAL_RST_AIE_SHIM + +#endif diff --git a/arch/arm64/boot/dts/xilinx/xlnx-versal-power.h b/arch/arm64/bo= ot/dts/xilinx/xlnx-versal-power.h new file mode 100644 index 000000000000..7db3969a4277 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/xlnx-versal-power.h @@ -0,0 +1,54 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2019 - 2021 Xilinx, Inc. + */ + +#ifndef _DT_BINDINGS_VERSAL_POWER_H +#define _DT_BINDINGS_VERSAL_POWER_H + +#define PM_DEV_RPU0_0 (0x18110005U) +#define PM_DEV_RPU0_1 (0x18110006U) +#define PM_DEV_OCM_0 (0x18314007U) +#define PM_DEV_OCM_1 (0x18314008U) +#define PM_DEV_OCM_2 (0x18314009U) +#define PM_DEV_OCM_3 (0x1831400aU) +#define PM_DEV_TCM_0_A (0x1831800bU) +#define PM_DEV_TCM_0_B (0x1831800cU) +#define PM_DEV_TCM_1_A (0x1831800dU) +#define PM_DEV_TCM_1_B (0x1831800eU) +#define PM_DEV_USB_0 (0x18224018U) +#define PM_DEV_GEM_0 (0x18224019U) +#define PM_DEV_GEM_1 (0x1822401aU) +#define PM_DEV_SPI_0 (0x1822401bU) +#define PM_DEV_SPI_1 (0x1822401cU) +#define PM_DEV_I2C_0 (0x1822401dU) +#define PM_DEV_I2C_1 (0x1822401eU) +#define PM_DEV_CAN_FD_0 (0x1822401fU) +#define PM_DEV_CAN_FD_1 (0x18224020U) +#define PM_DEV_UART_0 (0x18224021U) +#define PM_DEV_UART_1 (0x18224022U) +#define PM_DEV_GPIO (0x18224023U) +#define PM_DEV_TTC_0 (0x18224024U) +#define PM_DEV_TTC_1 (0x18224025U) +#define PM_DEV_TTC_2 (0x18224026U) +#define PM_DEV_TTC_3 (0x18224027U) +#define PM_DEV_SWDT_LPD (0x18224028U) +#define PM_DEV_SWDT_FPD (0x18224029U) +#define PM_DEV_OSPI (0x1822402aU) +#define PM_DEV_QSPI (0x1822402bU) +#define PM_DEV_GPIO_PMC (0x1822402cU) +#define PM_DEV_I2C_PMC (0x1822402dU) +#define PM_DEV_SDIO_0 (0x1822402eU) +#define PM_DEV_SDIO_1 (0x1822402fU) +#define PM_DEV_RTC (0x18224034U) +#define PM_DEV_ADMA_0 (0x18224035U) +#define PM_DEV_ADMA_1 (0x18224036U) +#define PM_DEV_ADMA_2 (0x18224037U) +#define PM_DEV_ADMA_3 (0x18224038U) +#define PM_DEV_ADMA_4 (0x18224039U) +#define PM_DEV_ADMA_5 (0x1822403aU) +#define PM_DEV_ADMA_6 (0x1822403bU) +#define PM_DEV_ADMA_7 (0x1822403cU) +#define PM_DEV_AI (0x18224072U) + +#endif diff --git a/arch/arm64/boot/dts/xilinx/xlnx-versal-resets.h b/arch/arm64/b= oot/dts/xilinx/xlnx-versal-resets.h new file mode 100644 index 000000000000..895424e9b0e5 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/xlnx-versal-resets.h @@ -0,0 +1,105 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2020 Xilinx, Inc. + */ + +#ifndef _DT_BINDINGS_VERSAL_RESETS_H +#define _DT_BINDINGS_VERSAL_RESETS_H + +#define VERSAL_RST_PMC_POR (0xc30c001U) +#define VERSAL_RST_PMC (0xc410002U) +#define VERSAL_RST_PS_POR (0xc30c003U) +#define VERSAL_RST_PL_POR (0xc30c004U) +#define VERSAL_RST_NOC_POR (0xc30c005U) +#define VERSAL_RST_FPD_POR (0xc30c006U) +#define VERSAL_RST_ACPU_0_POR (0xc30c007U) +#define VERSAL_RST_ACPU_1_POR (0xc30c008U) +#define VERSAL_RST_OCM2_POR (0xc30c009U) +#define VERSAL_RST_PS_SRST (0xc41000aU) +#define VERSAL_RST_PL_SRST (0xc41000bU) +#define VERSAL_RST_NOC (0xc41000cU) +#define VERSAL_RST_NPI (0xc41000dU) +#define VERSAL_RST_SYS_RST_1 (0xc41000eU) +#define VERSAL_RST_SYS_RST_2 (0xc41000fU) +#define VERSAL_RST_SYS_RST_3 (0xc410010U) +#define VERSAL_RST_FPD (0xc410011U) +#define VERSAL_RST_PL0 (0xc410012U) +#define VERSAL_RST_PL1 (0xc410013U) +#define VERSAL_RST_PL2 (0xc410014U) +#define VERSAL_RST_PL3 (0xc410015U) +#define VERSAL_RST_APU (0xc410016U) +#define VERSAL_RST_ACPU_0 (0xc410017U) +#define VERSAL_RST_ACPU_1 (0xc410018U) +#define VERSAL_RST_ACPU_L2 (0xc410019U) +#define VERSAL_RST_ACPU_GIC (0xc41001aU) +#define VERSAL_RST_RPU_ISLAND (0xc41001bU) +#define VERSAL_RST_RPU_AMBA (0xc41001cU) +#define VERSAL_RST_R5_0 (0xc41001dU) +#define VERSAL_RST_R5_1 (0xc41001eU) +#define VERSAL_RST_SYSMON_PMC_SEQ_RST (0xc41001fU) +#define VERSAL_RST_SYSMON_PMC_CFG_RST (0xc410020U) +#define VERSAL_RST_SYSMON_FPD_CFG_RST (0xc410021U) +#define VERSAL_RST_SYSMON_FPD_SEQ_RST (0xc410022U) +#define VERSAL_RST_SYSMON_LPD (0xc410023U) +#define VERSAL_RST_PDMA_RST1 (0xc410024U) +#define VERSAL_RST_PDMA_RST0 (0xc410025U) +#define VERSAL_RST_ADMA (0xc410026U) +#define VERSAL_RST_TIMESTAMP (0xc410027U) +#define VERSAL_RST_OCM (0xc410028U) +#define VERSAL_RST_OCM2_RST (0xc410029U) +#define VERSAL_RST_IPI (0xc41002aU) +#define VERSAL_RST_SBI (0xc41002bU) +#define VERSAL_RST_LPD (0xc41002cU) +#define VERSAL_RST_QSPI (0xc10402dU) +#define VERSAL_RST_OSPI (0xc10402eU) +#define VERSAL_RST_SDIO_0 (0xc10402fU) +#define VERSAL_RST_SDIO_1 (0xc104030U) +#define VERSAL_RST_I2C_PMC (0xc104031U) +#define VERSAL_RST_GPIO_PMC (0xc104032U) +#define VERSAL_RST_GEM_0 (0xc104033U) +#define VERSAL_RST_GEM_1 (0xc104034U) +#define VERSAL_RST_SPARE (0xc104035U) +#define VERSAL_RST_USB_0 (0xc104036U) +#define VERSAL_RST_UART_0 (0xc104037U) +#define VERSAL_RST_UART_1 (0xc104038U) +#define VERSAL_RST_SPI_0 (0xc104039U) +#define VERSAL_RST_SPI_1 (0xc10403aU) +#define VERSAL_RST_CAN_FD_0 (0xc10403bU) +#define VERSAL_RST_CAN_FD_1 (0xc10403cU) +#define VERSAL_RST_I2C_0 (0xc10403dU) +#define VERSAL_RST_I2C_1 (0xc10403eU) +#define VERSAL_RST_GPIO_LPD (0xc10403fU) +#define VERSAL_RST_TTC_0 (0xc104040U) +#define VERSAL_RST_TTC_1 (0xc104041U) +#define VERSAL_RST_TTC_2 (0xc104042U) +#define VERSAL_RST_TTC_3 (0xc104043U) +#define VERSAL_RST_SWDT_FPD (0xc104044U) +#define VERSAL_RST_SWDT_LPD (0xc104045U) +#define VERSAL_RST_USB (0xc104046U) +#define VERSAL_RST_DPC (0xc208047U) +#define VERSAL_RST_PMCDBG (0xc208048U) +#define VERSAL_RST_DBG_TRACE (0xc208049U) +#define VERSAL_RST_DBG_FPD (0xc20804aU) +#define VERSAL_RST_DBG_TSTMP (0xc20804bU) +#define VERSAL_RST_RPU0_DBG (0xc20804cU) +#define VERSAL_RST_RPU1_DBG (0xc20804dU) +#define VERSAL_RST_HSDP (0xc20804eU) +#define VERSAL_RST_DBG_LPD (0xc20804fU) +#define VERSAL_RST_CPM_POR (0xc30c050U) +#define VERSAL_RST_CPM (0xc410051U) +#define VERSAL_RST_CPMDBG (0xc208052U) +#define VERSAL_RST_PCIE_CFG (0xc410053U) +#define VERSAL_RST_PCIE_CORE0 (0xc410054U) +#define VERSAL_RST_PCIE_CORE1 (0xc410055U) +#define VERSAL_RST_PCIE_DMA (0xc410056U) +#define VERSAL_RST_CMN (0xc410057U) +#define VERSAL_RST_L2_0 (0xc410058U) +#define VERSAL_RST_L2_1 (0xc410059U) +#define VERSAL_RST_ADDR_REMAP (0xc41005aU) +#define VERSAL_RST_CPI0 (0xc41005bU) +#define VERSAL_RST_CPI1 (0xc41005cU) +#define VERSAL_RST_XRAM (0xc30c05dU) +#define VERSAL_RST_AIE_ARRAY (0xc10405eU) +#define VERSAL_RST_AIE_SHIM (0xc10405fU) + +#endif --=20 2.43.0