From patchwork Fri Feb 7 16:38:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ciprian Marian Costea X-Patchwork-Id: 13965461 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2071.outbound.protection.outlook.com [40.107.103.71]) (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 8E6F018DB0E for ; Fri, 7 Feb 2025 16:38:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.103.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946303; cv=fail; b=qHNSAWAyELTei3OSsL2twnVxguZjKidFZqQNf27lNWIUTyhsN7azwJGsRcg8lFgXypGb/Cnh1wd/T6hZoneUcREW8fd/v2P0OVm6NQOSZ8VcWGozWfvFPcwUAJ7OyIhrDYk6uAM1ZEpt+MRglxiQqqO4wK1vspArd6cDR+1Ba6Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946303; c=relaxed/simple; bh=p7o9XLISEYCQZ6M+sQ+6QFc2fZ6Eug58k4nZmutnaUA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OVuntLUzOzyA208lS6E3iIfLo92cF6T777SIMIQmSXVUErxwfsHrQUPuoeeUm02ZV7fZ0NLMMIHaYCpnl2D6KCzd0m84K1zc2pLH3Qi1ww+B3bOFMDYiKgd9VmicZQbLqcrmikeBS7t2Zxc4XsQcJqfzyEcCbQPqUbWltjggCzY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=TmYSvvVt; arc=fail smtp.client-ip=40.107.103.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="TmYSvvVt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HETqy3aDwT96+jDJ0n/cqbfDMg8f7GF5yOi9BFTmHbUFLUwHgwDpKLuWSpErJeBshegnbIN4lD0wq2PeCc0m4bwJBkt05fVdw/8Wdsq/lB6vFSx3tgOiHG2gjEdJs5eard/1RnC0dS0eBM7dR4lgfOUVr/ZtTDUFFKjnAgGRhO9Pi5WYH34IkhSq4/T/JHYudyxk85P6gNIPIlRYxGprB+OY0pz9jquUEwUjlYttnOdQ1VB4BwXcUGHc36zoNFMqfkX3n792BpuQkZ3H0PUJisS/6DTiV7bWHDJNZkVYz1QTdwPFxsCahvmoAKmE9mhZte9DGSGWMefEXR124Qv8+w== 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=BzWH9WrgVxmum7Nz1/txw2y3F0EBTurhIelA89/5kWc=; b=SjYN2AdQ0DrUAVJUFnjjuqLzvry4EMZ6syHvR/5SGaqB364UAmCFhoFhS8A+7N0ybUUf/mK8vkxILbmf5Ko1sLYhko33QHoweVOMTHVDvMvkk6MJ+aObRcY/EnSi6r3UoBlwzS+hu0BlrKQ6ucGTsHhw3YNLzvAAYgsg4QRqe7xaEh8wqgGKaO0AqlqpBfJXY44VVr63Lm9oIioTD3svgEEu1mztHqXz/y+GVb3WLElSAVYept4MIaxnajTwyTzEDxDK/nFte/I0kY1GN89dkGtV66j6xtzSeU095zC0pHvxHF5ILt1+fMyuVF4eRGhp1/fs/SqSfV6ggJnBTGXmZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BzWH9WrgVxmum7Nz1/txw2y3F0EBTurhIelA89/5kWc=; b=TmYSvvVtmpqc2wBaU4Q/9pYVi2MZyF6O+g8SAQo6pMSFgPIBu13aTwNJW8tEMPjGcBaatIDnN0dlmXFXkfDjIC2ufrPqP74eS5Mi55PcEtqfMiUJUzB9MinpHpSbijPZSr3V/qpg6nEIhB9IC5bE5LVdYi+gdPoLiQZemLMQeMk+iFfU/ci9tIuzWi8Cj8lCpSsJeNgvCrSfWxgtGNgmNkaOYjLpRZbsCUvBCTmKAguZsWHfjMJCqVCoq5tDVXOHsiXWrKeQX2u8L7O9apoo7aY5hhOd4xZYQSRVjDLkI1aNG5iFE9INMP0+EJH5SLKwIn4Z+IvJ8u/4XUldOpi3MA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) by DU4PR04MB10840.eurprd04.prod.outlook.com (2603:10a6:10:58a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 16:38:19 +0000 Received: from DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd]) by DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd%5]) with mapi id 15.20.8398.021; Fri, 7 Feb 2025 16:38:19 +0000 From: Ciprian Costea To: Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Will Deacon Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux , imx@lists.linux.dev, Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Ciprian Marian Costea , Bogdan-Gabriel Roman , Ghennadi Procopciuc Subject: [PATCH v7 1/4] dt-bindings: rtc: add schema for NXP S32G2/S32G3 SoCs Date: Fri, 7 Feb 2025 18:38:05 +0200 Message-ID: <20250207163808.1208552-2-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> References: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> X-ClientProxiedBy: AM0PR03CA0099.eurprd03.prod.outlook.com (2603:10a6:208:69::40) To DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9251:EE_|DU4PR04MB10840:EE_ X-MS-Office365-Filtering-Correlation-Id: 50de4f21-6f18-472f-d08c-08dd4795d476 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?HzxeUBtyhl8WS4xd8QN/63tbtaiX14Q?= =?utf-8?q?+ZdIbCYfpzDCdXA2ah0D3u5i30a3VIdrv/al7V3LBJxNTjm86DuFcG0d1fuUj0N0c?= =?utf-8?q?ehA7IVMw1HizxKa0lT4MwsIplzffSo4LdhuKDag3AnBRmOT61eUSCGozoo70H8Nnp?= =?utf-8?q?XewBptZTr9psZiBlSpLzytnqfNI6nFrrF+hBo9hPFD1md9RRZSXxZdmGXOy8t2MUW?= =?utf-8?q?Y7ntWE0Quhp8R+i9KfBuh6aNQUe1YUEruSnTHGdEwpxWnalbRpgmx0xtyPuX2UUkD?= =?utf-8?q?wvtXHJwQfaObEDdpsmcVfHjAUdA5hf1VWZhmvDDu1iWSuQGYwZFn8iWxjnVx6RiYk?= =?utf-8?q?Efx4nBibvEzZAvmykXKyprSrTO2YeWSIgru1NAARzOoA/JPEZ3PRnUfsLctaJA5EA?= =?utf-8?q?RLbeoKt7l6Mtl1fWvkckCpiH6LR5K6CsxH9Qu1C59vkZ1DN01bsnrNfstBe+oo9oz?= =?utf-8?q?3KFn8sBJ5R7oNv3TtAS7JcizbcVyugsMtAO1416Fqle9wUX9G6ihLS2wXX7xxNK2C?= =?utf-8?q?yNN1LV6oFgzyOPUQ/lUAWw8UjLO3MMyhdkn5XMUJ2X61/v14Xodn7Rl3lrzhYnfxB?= =?utf-8?q?8F3/rVNiOFDHqSmO6p5WScsWLaFa9d3rV02nzHk3pGHZLdUyjKEH5n2dpPRCPU06g?= =?utf-8?q?zZRwVI/N8ibYrnUhAGNghjq1uiKyJbWwfefcVAU/cn2FHzW67iZF0+apAwMuO2AbJ?= =?utf-8?q?2k7wA5vUK95zrQU2e+7WpVIztqg2QRjMgE6+XwGcjXobWDKyrTWwQgzMv/psD7v4U?= =?utf-8?q?+3ipeMXwcaUdwwhcYYp3ro7xvF6LlK+aDxX/cYR7pq0t3WoFja/mWtAAPmhZI4Cm6?= =?utf-8?q?qd8dQh63SW02Zm7MTFBXlrKhOIMmKkKfnZEkKZJ4j2RGzL6cWyGn8WVkw56OIHLvq?= =?utf-8?q?S3D7NfXQWIQLg/Y23hb0fmmJJxqP7Vf96gLQ2qCKQoqSnSEINkbQZKXcW+aSj9bf5?= =?utf-8?q?XP80Oxcz5TZSiSBlT4NRsSQzFM5/Bu9aJIpOc7ow1+h3seChB9V/KdTeNfJZcDg1W?= =?utf-8?q?KkYhBSwCN+h/ko5ccJ72ziFzpKbgTvAkCDWU9u1q1mkVCMo22jTVPQiMUPBP6Ko0M?= =?utf-8?q?LaS61n+STKU31QU+X5h+f1apDa4wAC1OtYuKk8P7iw+2N8x92pxF0xDnux40Mr1TE?= =?utf-8?q?vj4c+dpIWVU+lvQim0qO3Jd205kBT/7IWXLWii2lc+CXuUG+ylORsKXuZm5DCbYqE?= =?utf-8?q?Ucsw9/nLTNImSpsyVLdxWRrynEWPHk7LCTLDrkI+zCy8gkoQpZdjHSqCWVU9/D/mT?= =?utf-8?q?lTsf5iwxcJmgB17rmEeOdyW0GtPRqMlO8kg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9251.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?mtoEtEW9Ynhd1Pgos6I1/oxJSD+d?= =?utf-8?q?EM3Ygm3C8aEJcV06YAY/m6HjhkHMa+A4WxeV5LwREFscrn354zCwZafwKcoeuNrVi?= =?utf-8?q?HF3vR0Cn4CUralZQLfoMqGhXEIP8kUqeFlHuNkxbXXFv8HaVYISbHfF79MYYLizbp?= =?utf-8?q?s9/C3Q2XXKHchZS8pQSBY3RJsd1jdoKrUwh6/IUQkA/5QbQHElbS1YlnqtjXr92ta?= =?utf-8?q?UQA6dQXKSX5f4hbhws8nXIciiLoPAzXeMq0sIEoYL9kRj/GfYbHa/duFEaw+iqk7t?= =?utf-8?q?fCxlTvmKmxCIlUdyISWeHxugv9IfXGcuRWY5GiZdKoaKbNHCwYt0o64Wr0AHxOd+e?= =?utf-8?q?peiusEPBqoigwCu/6MEmUy6LJpaVnXGpqO+i6kFBJPgkBn+FlS3hTlnBX8+zV8IuN?= =?utf-8?q?dt99rd2A5h5SpVIFOWprzA/7inXUiP/dE1Cq2AH3IHsSo3ReenPxDPmmiCZdapPsO?= =?utf-8?q?GmoDqCDEkZrk1bi0T6mn54wK9Vp/87UPsh8DlgIMIrg2NKWb6/E0duMWGEXFFwe0z?= =?utf-8?q?l8jKeVUZV+ndMTOabLlWEjAZOo73+3bF8JNTP2AxZ2e1DhG3ifWM/taNKxrLuj2al?= =?utf-8?q?OcyTUzyPjMFJb2VxM5eWzXd1AFb6Mo1qDYjzjnbPqU9djJGUOsMyGtPcHBed7/PBR?= =?utf-8?q?921h8GVCkI2Z3NkSd97+AbqcY9bTKUrtr7D8LSHpbeM0jVw5g1ldiFZpApu2F5dFI?= =?utf-8?q?5O4fF/8iatdwyejIAHBbJUM1UHFRIl7jbKdJ/uideREgv9EX9kdYDUIhSQgJxowFg?= =?utf-8?q?vN8sw87Qx7hEJErebStErPCn9YjF5BnhziutWnoIHAujFhLn45RrRj24UjmfyQ1A/?= =?utf-8?q?Iye8moRsItx13AknqhmtxZfownWbNW6OS/geZf31WpdVsEqO9Q7rKptT6ZlpMRFYS?= =?utf-8?q?k2x0H+1zhe0bhx06gC4Rmk+qDbHw3OfS3y9G8EI67rwTMDHLEgAF513t67ovn3jai?= =?utf-8?q?WV0X2zPqrr5p8B8PEjH8I7p6v9BNLOgLwaxxdE01tkJDg0vVzFfiVL54Pvp6h5Kvj?= =?utf-8?q?H6DD+K/LtEX7a9fiaz4OcyT/6y6bRyl3iqDK6+kmGDyv0cEx5/G6jEyEi+YFLy23o?= =?utf-8?q?4LfGWJyB1A9dtPaIXyley5j96C+f0/dWfujYWv9eYM/blE7QjuhktUIN+t+vfObTr?= =?utf-8?q?vQLd3ZL1UbI5KQc3zx8k4JtzSzvzA/1rQDl1MOVWwJ+pJCgiQHVn101BKF0KMuKph?= =?utf-8?q?Oe/yFuUxRI0cF/kqahr6ro3s3PYLftRFKAJuLonw0g68IunINBfzK/PJ6JO4Nk66c?= =?utf-8?q?TeX9unvBc+jejOPdIb0WKXrjXWb1ul2ca3f/hCC4xz5OMihCFMancrI8iu7OESrcB?= =?utf-8?q?Hi6AoZ1axYQSwN1giKm9KYV3SZO7hiUZIoYsCcJ6vCRVG1FryKJE3Zp/Qx3at6cnl?= =?utf-8?q?IKpAkqTIEmw9EDlq7CoQSYdy2V3fToZyheCnurX5wF6pMNVf44rb0DFgg6GBZzJcZ?= =?utf-8?q?iICWJv5eFaS89fnUBq/5ICaGka4MCF5hbddVuV5dtJFee9AsKfaxKP96bZQI1u2bA?= =?utf-8?q?gFEAdVynPJ5z0kbQXDe9jQwfh6KqmFF2VA=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50de4f21-6f18-472f-d08c-08dd4795d476 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9251.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 16:38:19.7767 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6FphQtsOc8IrcN9H8c8AlmuDq/PuG+jHimkHq78BkZzrD4CXmILHQuRNfX+jTsIrqe3f25tIg36Dx6UJ/6ETIUJ0s8hHqBdQcyxVATxwdgo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10840 From: Ciprian Marian Costea RTC tracks clock time during system suspend and it is used as a wakeup source on S32G2/S32G3 architecture. RTC from S32G2/S32G3 is not battery-powered and it is not kept alive during system reset. Co-developed-by: Bogdan-Gabriel Roman Signed-off-by: Bogdan-Gabriel Roman Co-developed-by: Ghennadi Procopciuc Signed-off-by: Ghennadi Procopciuc Signed-off-by: Ciprian Marian Costea Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml diff --git a/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml b/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml new file mode 100644 index 000000000000..40fd2fa298fe --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/rtc/nxp,s32g-rtc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP S32G2/S32G3 Real Time Clock (RTC) + +maintainers: + - Bogdan Hamciuc + - Ciprian Marian Costea + +description: + RTC hardware module present on S32G2/S32G3 SoCs is used as a wakeup source. + It is not kept alive during system reset and it is not battery-powered. + +allOf: + - $ref: rtc.yaml# + +properties: + compatible: + oneOf: + - enum: + - nxp,s32g2-rtc + - items: + - const: nxp,s32g3-rtc + - const: nxp,s32g2-rtc + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + items: + - description: ipg clock drives the access to the RTC iomapped registers + - description: Clock source for the RTC module. Can be selected between + 4 different clock sources using an integrated hardware mux. + On S32G2/S32G3 SoCs, 'source0' is the SIRC clock (~32KHz) and it is + available during standby and runtime. 'source1' is reserved and cannot + be used. 'source2' is the FIRC clock and it is only available during + runtime providing a better resolution (~48MHz). 'source3' is an external + RTC clock source which can be additionally added in hardware. + + clock-names: + items: + - const: ipg + - enum: [ source0, source1, source2, source3 ] + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + #include + #include + + rtc@40060000 { + compatible = "nxp,s32g3-rtc", + "nxp,s32g2-rtc"; + reg = <0x40060000 0x1000>; + interrupts = ; + clocks = <&clks 54>, <&clks 55>; + clock-names = "ipg", "source0"; + }; From patchwork Fri Feb 7 16:38:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ciprian Marian Costea X-Patchwork-Id: 13965462 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2086.outbound.protection.outlook.com [40.107.105.86]) (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 C00AF192589 for ; Fri, 7 Feb 2025 16:38:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.105.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946310; cv=fail; b=GblzPupM2DwUt/MuvRNNcwJce+nn4WwnWu9WdzmFKfJpXrH5CuYkcYT19vrYIA0E11sFY0hNfPNJ+/J+cD73ZK1KyL6cZBg+mMlyc77OvzhpqCKyTkCnz0XMDY7z7LFNdhVMa9VdUSuMp/5aAv+lKfpXRNwIkMQw9NdSgvgKrqg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946310; c=relaxed/simple; bh=aIHjuhonVRUD/pSOu9kMVOZqdCit6NqK61OX4p7CevM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BzhVsigbI8Tr8Hgbp5le2i25R2bxCLGaekfny/H4M5CVYooG1OjZ1lIUxcSEHL95J1OrVuenkRb9gSyHKfqjBr+jvhygNAKAsTAcAGHK6PSjsDc0BxmCZBSGWUDMPTX+1pgp8DI/VMXNlGZkbXnyqIhXfzjZ64b7y/HXaQo3aQE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=Rs7MWndC; arc=fail smtp.client-ip=40.107.105.86 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="Rs7MWndC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SGkoZgXweJfTxbShsIUPTdxbybSXkmMdwHw6N3mEWSrKiXi65B+XVp8VbQI0vGA2ZMdbSqo3lxv9zaO+j3Wwdh5aZqwYYYZeZmNz/oXHE43YeR7t403pldh7cMmsnxctAjIwYdp7kGXGCIQrhlqTBgVD8+al/028DszCOKJoGuzDX2wVKE7InEPP9gMP5fytdkT8KZoiRc9GwltBAeVKvZsuUbd4UPwEXS9WamJ4LPGpPH5A9c8xSraMllHXZ79Dw1f2DR+ixe65g8BKGcSVTgYWD3UHjRCxCWvgwThdZMgp/wXYuvkfboURz23WCae2sEXkl+m5rHOgvPu1Zt8yMQ== 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=R1mmbX38yJLpeswxlVMjIMaVX8XEJ3y37DtGG2epC8Y=; b=POy7C+6o1WyrRrxbNOeZbKp0l9yZdUxDmbdJOlAy6StoysLmta37W4e266WvjL5Xhfb8RKID6HcBHF11YXy7GtVH4dt7uVWvyBFbHjPzog6tKhyXi3p4KsNo/tV++YMkLQ7Tm0Uq4z2SPH/4+dOtkjjN6yFzLnHvaPzDNihlzaa1MLWky5z4Otke2vdC5qxeikvHPbt2IKrxDXDH9o/4cKUU+5tj2ieWXmThPgBYidI/LNr6Kp7b9mncUS6B5/6At1FbXteg/gIUbjsR6SDBV9bLqxEH3ZtsS2BKHaH71at/WaVos7UYi0Ut4keYR2C60N3AB+96LuoPMre5fxNL8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R1mmbX38yJLpeswxlVMjIMaVX8XEJ3y37DtGG2epC8Y=; b=Rs7MWndCvIyuSHSZ2cISVDia5sAF9n7tFirB/yHJe45CisyFbTXeY6/Oa/RNPUAJEbFFhGhEFrTiFZN2BSGLR4yCDes718K2OWLBkJzbIOaBsuioMdzWk6pccc7JkMu8gRTWjqqo5FvT9kaFmJR5lLSmnNQpn1MPioK5i+y5dcYR0vw+jKROctW/jGiI4yWIFbfsASK4u/fSviF2pEs+bgNDlCM9ysgH/HTuXrbBrS22K7KWGwuN964rUM4LaY/OjIQu6enz63zs+468SjeJSQsBrKm2vgii8y4UikTn2RcS7+fyNBKlUuFLuNrOeV8Lfrscrh4UkhUBxQbFOBYyBw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) by DU4PR04MB10840.eurprd04.prod.outlook.com (2603:10a6:10:58a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 16:38:24 +0000 Received: from DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd]) by DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd%5]) with mapi id 15.20.8398.021; Fri, 7 Feb 2025 16:38:24 +0000 From: Ciprian Costea To: Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Will Deacon Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux , imx@lists.linux.dev, Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Ciprian Marian Costea , Bogdan Hamciuc , Ghennadi Procopciuc Subject: [PATCH v7 2/4] rtc: s32g: add NXP S32G2/S32G3 SoC support Date: Fri, 7 Feb 2025 18:38:06 +0200 Message-ID: <20250207163808.1208552-3-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> References: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> X-ClientProxiedBy: AM0PR03CA0084.eurprd03.prod.outlook.com (2603:10a6:208:69::25) To DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9251:EE_|DU4PR04MB10840:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ca71d4a-4d7f-4850-c02a-08dd4795d715 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Pq/ddDxSB3+1vZODhBEXo7YvVykKJAl?= =?utf-8?q?4/uBFb4KmXBZZoeBj/+4VxX0mI0GDKX8Jhk0s4feYmSSA66iT0JPGTx/tjetOkEmZ?= =?utf-8?q?nIWlaEmU7Fk4caamx6BVmicsB+b1xj8Wg+ng+IzDy6yRNtfw9PRbRRe3TtdT7xrJG?= =?utf-8?q?0Mu/xo33i/PxJNwVRqauCzC9VJ+YsdE1J6ZzZyH4N+uryY0K/43WmYIo7v75mg5RX?= =?utf-8?q?OrXbghZeN4QcUcEEpQkCm4FXXegkuFyrAnM5AAtzPscTHAowxwsj8fg5+KiL6Itqe?= =?utf-8?q?oS4WnpV7e92/CPTv+GQLnnCpVPogjsafvYPhxx+HIzdNbPJkqv/ud72SBGfLKVXox?= =?utf-8?q?r1BncVPHPqHiO5RAD4XOSSENiZRgtY6uEfLOcqsLYk75nyW9FX+/mdP956oLo3OH9?= =?utf-8?q?bNntf2byx2dL+vp6X7k+rqMMA6o3MiuIEq2PqE2cy9Bh9aiFZDjvnYsylcvdLeHsL?= =?utf-8?q?yNIcNbylRkdvPxA1ghNJe/HxTQKLMdUFMoCIHWk5RDf+0l0v8ug/RrC6xxopoNR1T?= =?utf-8?q?YXYuylIkB5UUYuWl/jsBtZkryN/3JQZRiUi64y7glO2tQJsnwVFsaTOzv91sCjYWo?= =?utf-8?q?uU9CtSRWjvnLblO8U72dGMAWiVkZObBBtZypVWZhdZ0wRPJNvxkTLa3UTwvtfnNGq?= =?utf-8?q?imxB01bwsP9QJuN9Ec8rvrUl+ySrhoqV+KoKn0smg4DMNXswP5nR2KnCRYkc+B6Eh?= =?utf-8?q?U5HxHGMO3X8EnhCfaf4iu9Zny7jMtFLMwW2gbRbvIS1NOgZ4bk6MS6L8gGhOf+Hyw?= =?utf-8?q?f3YkhsFv4ocwGj1J/ILMRUTlJxhKXuj7SYUKQee/E9KWwiLD+a52NFS8UcEkmZ7PO?= =?utf-8?q?itRkIgYZ0vezZR1i3cKLG7pVY769INWrx/lJZ8CHNJ6NsUnWMilxEod/y+AGiJLX2?= =?utf-8?q?VA7PnRZ5yFkJzB/xfsIXOOAomlcm/S+UskFOINZjzhwJT+cKAraruqOQNN8nIzyjs?= =?utf-8?q?Knm9aaiTMPdJLK+Kq5mlM0/oQQrrDPbEktG7mqLMhMi1OxTGh0wRLcutGaMlTtVFM?= =?utf-8?q?eazkcaOleDyd46O4oNsQOAviO6FKVssldlT7g9Xp0SsT2n9Od6LV6t3yBes25ID2b?= =?utf-8?q?KaQhOg7Vo4N+4wMIAJei3rl1FsKj4IBCpSZcvlAs4M00KlLsuakYhpENq+PyL/6OX?= =?utf-8?q?EybOlA92YwOxGhSZTg0EdztEk75jSho7MsC+yv5Bl31FQiMmLnwLxFE9YxpG5RAEp?= =?utf-8?q?61n3aLM9gW95ePjSCTbzdYzd5ncnfLRXh+w60Q6RER3e3zDzyUFebqCMaumfzsJQV?= =?utf-8?q?CsfE5IzoNcaigqra6SY5fsVg8O3zPYrya0Evx1I5Seofetd2+FrO4y8QxeHXDGcYo?= =?utf-8?q?a7O01iXhbM6d?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9251.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?VUShQJ50UqyHOEWScg7/yA9eIfN2?= =?utf-8?q?/Q4kYsRywMFuGn+lJmBdwv3Xoz/yjgKSoeFVOUWuu0w5bjqgQWvarEkU2YVkX63Kb?= =?utf-8?q?NRHZWh6/M2nOS5c0oaLTV3jJDfYgGdLhslHvv9+NYQMV2IDVAYBX7CvSz70kyW6Gm?= =?utf-8?q?ATnMqNEa3p4cue9nTcgW5fy1Vsd4+sHaHohD3DgAIE78gIRrkt9hfuucR8WA6sSgT?= =?utf-8?q?4iBfxEH1/iZh9+sEa39XAknJ+M5DBE2N38MliP8Wdf3ZG6BoqiOusUPsUqYYbtWH/?= =?utf-8?q?7lYAdXNGiWbPNsqJISweUL1vR2vWa51/EzYDWq3CBq/TyW1fJcP9qnofIiaq9RLKy?= =?utf-8?q?YQHs4MJ4jFWzMvEEUKAUvozSAoyAriX96GvI4Yy6tuU6ClUfLMtrZ2ohXGs038jKg?= =?utf-8?q?vSX2S6G8uBqH2MwjWmSY6mufoKOQhyWYT6J9pJ5y9s8aPHLD2GavmCwb+BeE3odYL?= =?utf-8?q?ImBg/WV42wKjPgp1xstT5ZblAo473v4jTcKCMC3w9K4PL49MECYnDOW5oJF71IAWO?= =?utf-8?q?yhG1fIVnRX8EnOZVi2ajWjVM0N0bcRXc1hoNIjpUawXCjD9LPxXUIcohE8dduQVmK?= =?utf-8?q?kryrcghCzvbVD3ESvZ0ivXTjb44o7rV3Q0azI+ev729df3xE9Q7HzWUIVTSTC8x5V?= =?utf-8?q?zadrvc5dpvpXg/sCokZfJQkr82V1Wdp0vOtjQA9PLlX8lC2ZzuZRaFeAheqVllBeA?= =?utf-8?q?8vbw72Vi0gK/+gD/Em4hx7HrZIg6JXJ4uzCCclCzdWHrG3s/XXktm3e0BsGXdwl+5?= =?utf-8?q?t6u1QuAl80sQ7MeylYzDDZfD0FMXdYXG2ehUMsUznUQ8hjVLGTqklCNKd8fNPCPWW?= =?utf-8?q?5uIJQCs14HXDa51CKlTXFw/78ybqb8bE0lTRY+dTrOI0KSIUdR4daVxv1JY4/X4ZA?= =?utf-8?q?XGy6mvzTjUbzJQdJjRvxVD57eMdiMqCHsbwqcyfuW0HpmcxEmFnzdwL1vaaIGYqsO?= =?utf-8?q?+tFLq5QkJSp3NPBxhk/I++7mHDFpOP6Oygya/VaJHWdrHPC13iQyQgVy3H1EMhTu6?= =?utf-8?q?tbXqZ7r/wDF46kHEYTELuRh0A8ICgTpwpn3s0ECFhIeFBaL9bA0b45YYqmEryGKYX?= =?utf-8?q?sLeFLM2SBJszK2rVGuAi+Keez7fTR0piPN1cv8WF9hHwZeE7RgFEaIZl1d1Uo7Gxn?= =?utf-8?q?tTHqqbUvuip8yo+RoUSHzUosQ9PjQC4zc3aG2uKitBwKwVTPc2ScvOpZxOTpLiPJX?= =?utf-8?q?XkXLEqggxmtvimL6ygVH8h1cKBYoJ6gZm3apNrIIkLkDwILyllkS4cFJPOROpZoFg?= =?utf-8?q?zTt0wtub2QK87AEv8rvH3Udg0Cl8r8MTgvxqm0ujeqUz8S4AyoiN3GG8bQJkkdHjY?= =?utf-8?q?dJ+tBfh5JmFgfXPMgh2owTj8xE50LPQSvJKUhbZIqnVXtsFCOuI/IWizvLj8AwGr/?= =?utf-8?q?YcBDf6d4BZ9/ngid+LZSo5suJ0OYnffQe5pi5KGJy0pJzF3Nx9gX+SYhaMI73gLSF?= =?utf-8?q?PJvt3hSalYd+XCgTrbL9OBOWm3dnOM01RWokwiZEi6ycgXJf7J1bPFEizFzl5dzMh?= =?utf-8?q?FGwv4GCWs25LEqQ+aeLvWpt1uAlXzTqzzQ=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ca71d4a-4d7f-4850-c02a-08dd4795d715 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9251.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 16:38:24.3226 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KE9ke3v7LVYOJWccs4bHRnAjjj2YoVImSdJJhmvQY2jeUH0AnJh/pKCSQiIPLNuqN/8IQMo+tLtU36ArmHyc7UneV5UpCQMrrlq/OEKAjeQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10840 From: Ciprian Marian Costea Add a RTC driver for NXP S32G2/S32G3 SoCs. RTC tracks clock time during system suspend. It can be a wakeup source for the S32G2/S32G3 SoC based boards. The RTC module from S32G2/S32G3 is not battery-powered and it is not kept alive during system reset. Co-developed-by: Bogdan Hamciuc Signed-off-by: Bogdan Hamciuc Co-developed-by: Ghennadi Procopciuc Signed-off-by: Ghennadi Procopciuc Signed-off-by: Ciprian Marian Costea --- drivers/rtc/Kconfig | 11 ++ drivers/rtc/Makefile | 1 + drivers/rtc/rtc-s32g.c | 383 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 395 insertions(+) create mode 100644 drivers/rtc/rtc-s32g.c diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 0bbbf778ecfa..510dc2db745d 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -2103,4 +2103,15 @@ config RTC_DRV_AMLOGIC_A4 This driver can also be built as a module. If so, the module will be called "rtc-amlogic-a4". +config RTC_DRV_S32G + tristate "RTC driver for S32G2/S32G3 SoCs" + depends on ARCH_S32 || COMPILE_TEST + depends on COMMON_CLK + help + Say yes to enable RTC driver for platforms based on the + S32G2/S32G3 SoC family. + + This RTC module can be used as a wakeup source. + Please note that it is not battery-powered. + endif # RTC_CLASS diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index 489b4ab07068..e4b616ecd5ce 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile @@ -161,6 +161,7 @@ obj-$(CONFIG_RTC_DRV_RX8111) += rtc-rx8111.o obj-$(CONFIG_RTC_DRV_RX8581) += rtc-rx8581.o obj-$(CONFIG_RTC_DRV_RZN1) += rtc-rzn1.o obj-$(CONFIG_RTC_DRV_RENESAS_RTCA3) += rtc-renesas-rtca3.o +obj-$(CONFIG_RTC_DRV_S32G) += rtc-s32g.o obj-$(CONFIG_RTC_DRV_S35390A) += rtc-s35390a.o obj-$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o obj-$(CONFIG_RTC_DRV_S5M) += rtc-s5m.o diff --git a/drivers/rtc/rtc-s32g.c b/drivers/rtc/rtc-s32g.c new file mode 100644 index 000000000000..3244b23c533e --- /dev/null +++ b/drivers/rtc/rtc-s32g.c @@ -0,0 +1,383 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2025 NXP + */ + +#include +#include +#include +#include +#include + +#define RTCC_OFFSET 0x4ul +#define RTCS_OFFSET 0x8ul +#define APIVAL_OFFSET 0x10ul + +/* RTCC fields */ +#define RTCC_CNTEN BIT(31) +#define RTCC_APIEN BIT(15) +#define RTCC_APIIE BIT(14) +#define RTCC_CLKSEL_MASK GENMASK(13, 12) +#define RTCC_DIV512EN BIT(11) +#define RTCC_DIV32EN BIT(10) + +/* RTCS fields */ +#define RTCS_INV_API BIT(17) +#define RTCS_APIF BIT(13) + +#define APIVAL_MAX_VAL GENMASK(31, 0) +#define RTC_SYNCH_TIMEOUT (100 * USEC_PER_MSEC) + +/* + * S32G2 and S32G3 SoCs have RTC clock source1 reserved and + * should not be used. + */ +#define RTC_CLK_SRC1_RESERVED BIT(1) + +/* + * S32G RTC module has a 512 value and a 32 value hardware frequency + * divisors (DIV512 and DIV32) which could be used to achieve higher + * counter ranges by lowering the RTC frequency. + */ +enum { + DIV1 = 1, + DIV32 = 32, + DIV512 = 512, + DIV512_32 = 16384 +}; + +static const char *const rtc_clk_src[] = { + "source0", + "source1", + "source2", + "source3" +}; + +struct rtc_priv { + struct rtc_device *rdev; + void __iomem *rtc_base; + struct clk *ipg; + struct clk *clk_src; + const struct rtc_soc_data *rtc_data; + u64 rtc_hz; + time64_t sleep_sec; + int irq; + u32 clk_src_idx; +}; + +struct rtc_soc_data { + u32 clk_div; + u32 reserved_clk_mask; +}; + +static const struct rtc_soc_data rtc_s32g2_data = { + .clk_div = DIV512_32, + .reserved_clk_mask = RTC_CLK_SRC1_RESERVED, +}; + +static irqreturn_t s32g_rtc_handler(int irq, void *dev) +{ + struct rtc_priv *priv = platform_get_drvdata(dev); + u32 status; + + status = readl(priv->rtc_base + RTCS_OFFSET); + + if (status & RTCS_APIF) { + writel(0x0, priv->rtc_base + APIVAL_OFFSET); + writel(status | RTCS_APIF, priv->rtc_base + RTCS_OFFSET); + } + + rtc_update_irq(priv->rdev, 1, RTC_IRQF | RTC_AF); + + return IRQ_HANDLED; +} + +/* + * The function is not really getting time from the RTC since the S32G RTC + * has several limitations. Thus, to setup alarm use system time. + */ +static int s32g_rtc_read_time(struct device *dev, + struct rtc_time *tm) +{ + struct rtc_priv *priv = dev_get_drvdata(dev); + time64_t sec; + + if (check_add_overflow(ktime_get_real_seconds(), + priv->sleep_sec, &sec)) + return -ERANGE; + + rtc_time64_to_tm(sec, tm); + + return 0; +} + +static int s32g_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) +{ + struct rtc_priv *priv = dev_get_drvdata(dev); + u32 rtcc, rtcs; + + rtcc = readl(priv->rtc_base + RTCC_OFFSET); + rtcs = readl(priv->rtc_base + RTCS_OFFSET); + + alrm->enabled = rtcc & RTCC_APIIE; + if (alrm->enabled) + alrm->pending = !(rtcs & RTCS_APIF); + + return 0; +} + +static int s32g_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) +{ + struct rtc_priv *priv = dev_get_drvdata(dev); + u32 rtcc; + + /* RTC API functionality is used both for triggering interrupts + * and as a wakeup event. Hence it should always be enabled. + */ + rtcc = readl(priv->rtc_base + RTCC_OFFSET); + rtcc |= RTCC_APIEN | RTCC_APIIE; + writel(rtcc, priv->rtc_base + RTCC_OFFSET); + + return 0; +} + +static int s32g_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) +{ + struct rtc_priv *priv = dev_get_drvdata(dev); + unsigned long long cycles; + long long t_offset; + time64_t alrm_time; + u32 rtcs; + int ret; + + alrm_time = rtc_tm_to_time64(&alrm->time); + t_offset = alrm_time - ktime_get_real_seconds() - priv->sleep_sec; + if (t_offset < 0) + return -ERANGE; + + cycles = t_offset * priv->rtc_hz; + if (cycles > APIVAL_MAX_VAL) + return -ERANGE; + + /* APIVAL could have been reset from the IRQ handler. + * Hence, we wait in case there is a synchronization process. + */ + ret = read_poll_timeout(readl, rtcs, !(rtcs & RTCS_INV_API), + 0, RTC_SYNCH_TIMEOUT, false, priv->rtc_base + RTCS_OFFSET); + if (ret) + return ret; + + writel(cycles, priv->rtc_base + APIVAL_OFFSET); + + return read_poll_timeout(readl, rtcs, !(rtcs & RTCS_INV_API), + 0, RTC_SYNCH_TIMEOUT, false, priv->rtc_base + RTCS_OFFSET); +} + +/* + * Disable the 32-bit free running counter. + * This allows Clock Source and Divisors selection + * to be performed without causing synchronization issues. + */ +static void s32g_rtc_disable(struct rtc_priv *priv) +{ + u32 rtcc = readl(priv->rtc_base + RTCC_OFFSET); + + rtcc &= ~RTCC_CNTEN; + writel(rtcc, priv->rtc_base + RTCC_OFFSET); +} + +static void s32g_rtc_enable(struct rtc_priv *priv) +{ + u32 rtcc = readl(priv->rtc_base + RTCC_OFFSET); + + rtcc |= RTCC_CNTEN; + writel(rtcc, priv->rtc_base + RTCC_OFFSET); +} + +static int rtc_clk_src_setup(struct rtc_priv *priv) +{ + u32 rtcc; + + if (priv->rtc_data->reserved_clk_mask & (1 << priv->clk_src_idx)) + return -EOPNOTSUPP; + + rtcc = FIELD_PREP(RTCC_CLKSEL_MASK, priv->clk_src_idx); + + switch (priv->rtc_data->clk_div) { + case DIV512_32: + rtcc |= RTCC_DIV512EN; + rtcc |= RTCC_DIV32EN; + break; + case DIV512: + rtcc |= RTCC_DIV512EN; + break; + case DIV32: + rtcc |= RTCC_DIV32EN; + break; + case DIV1: + break; + default: + return -EINVAL; + } + + rtcc |= RTCC_APIEN | RTCC_APIIE; + /* + * Make sure the CNTEN is 0 before we configure + * the clock source and dividers. + */ + s32g_rtc_disable(priv); + writel(rtcc, priv->rtc_base + RTCC_OFFSET); + s32g_rtc_enable(priv); + + return 0; +} + +static const struct rtc_class_ops rtc_ops = { + .read_time = s32g_rtc_read_time, + .read_alarm = s32g_rtc_read_alarm, + .set_alarm = s32g_rtc_set_alarm, + .alarm_irq_enable = s32g_rtc_alarm_irq_enable, +}; + +static int rtc_clk_dts_setup(struct rtc_priv *priv, + struct device *dev) +{ + u32 i; + + priv->ipg = devm_clk_get_enabled(dev, "ipg"); + if (IS_ERR(priv->ipg)) + return dev_err_probe(dev, PTR_ERR(priv->ipg), + "Failed to get 'ipg' clock\n"); + + for (i = 0; i < ARRAY_SIZE(rtc_clk_src); i++) { + priv->clk_src = devm_clk_get_enabled(dev, rtc_clk_src[i]); + if (!IS_ERR(priv->clk_src)) { + priv->clk_src_idx = i; + break; + } + } + + if (IS_ERR(priv->clk_src)) + return dev_err_probe(dev, PTR_ERR(priv->clk_src), + "Failed to get rtc module clock source\n"); + + return 0; +} + +static int s32g_rtc_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct rtc_priv *priv; + unsigned long rtc_hz; + int ret; + + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + priv->rtc_data = of_device_get_match_data(dev); + if (!priv->rtc_data) + return -ENODEV; + + priv->rtc_base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(priv->rtc_base)) + return PTR_ERR(priv->rtc_base); + + device_init_wakeup(dev, true); + + ret = rtc_clk_dts_setup(priv, dev); + if (ret) + return ret; + + priv->rdev = devm_rtc_allocate_device(dev); + if (IS_ERR(priv->rdev)) + return PTR_ERR(priv->rdev); + + ret = rtc_clk_src_setup(priv); + if (ret) + return ret; + + priv->irq = platform_get_irq(pdev, 0); + if (priv->irq < 0) { + ret = priv->irq; + goto disable_rtc; + } + + rtc_hz = clk_get_rate(priv->clk_src); + if (!rtc_hz) { + dev_err(dev, "Failed to get RTC frequency\n"); + ret = -EINVAL; + goto disable_rtc; + } + + priv->rtc_hz = rtc_hz / priv->rtc_data->clk_div; + if (rtc_hz % priv->rtc_data->clk_div) + priv->rtc_hz++; + + platform_set_drvdata(pdev, priv); + priv->rdev->ops = &rtc_ops; + + ret = devm_request_irq(dev, priv->irq, + s32g_rtc_handler, 0, dev_name(dev), pdev); + if (ret) { + dev_err(dev, "Request interrupt %d failed, error: %d\n", + priv->irq, ret); + goto disable_rtc; + } + + ret = devm_rtc_register_device(priv->rdev); + if (ret) + goto disable_rtc; + + return 0; + +disable_rtc: + s32g_rtc_disable(priv); + return ret; +} + +static int s32g_rtc_suspend(struct device *dev) +{ + struct rtc_priv *priv = dev_get_drvdata(dev); + u32 apival = readl(priv->rtc_base + APIVAL_OFFSET); + + /* RTC registers are being reset in suspend. + * Thus store standby time. + */ + if (check_add_overflow(priv->sleep_sec, div64_u64(apival, priv->rtc_hz), + &priv->sleep_sec)) { + dev_warn(dev, "Overflow on sleep cycles occurred. Resetting to 0.\n"); + priv->sleep_sec = 0; + } + + return 0; +} + +static int s32g_rtc_resume(struct device *dev) +{ + struct rtc_priv *priv = dev_get_drvdata(dev); + + return rtc_clk_src_setup(priv); +} + +static const struct of_device_id rtc_dt_ids[] = { + { .compatible = "nxp,s32g2-rtc", .data = &rtc_s32g2_data}, + { /* sentinel */ }, +}; + +static DEFINE_SIMPLE_DEV_PM_OPS(s32g_rtc_pm_ops, + s32g_rtc_suspend, s32g_rtc_resume); + +static struct platform_driver s32g_rtc_driver = { + .driver = { + .name = "s32g-rtc", + .pm = pm_sleep_ptr(&s32g_rtc_pm_ops), + .of_match_table = rtc_dt_ids, + }, + .probe = s32g_rtc_probe, +}; +module_platform_driver(s32g_rtc_driver); + +MODULE_AUTHOR("NXP"); +MODULE_DESCRIPTION("NXP RTC driver for S32G2/S32G3"); +MODULE_LICENSE("GPL"); From patchwork Fri Feb 7 16:38:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ciprian Marian Costea X-Patchwork-Id: 13965463 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2082.outbound.protection.outlook.com [40.107.103.82]) (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 4D68218E050 for ; Fri, 7 Feb 2025 16:38:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.103.82 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946316; cv=fail; b=GtHC6I/Y0UVFSE1x3mf84Ru5F28ZGBKvVZn7bC8MJfo7cH8coimjr/kJepLqH75QF6Wg/xQl1YjXpIb6OYYB0+Q+hYX5v1hRWDkyWoPJLlQwM2tJyDFjV4YypXERzwp5VEM8OFcu9ph1dtOfEBK15pVc3+HEm4TF17P8Hwk5PAU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946316; c=relaxed/simple; bh=fcwD5zWKrpfyZYW0beyldDG4XBC0M8gdrxKTLUpaOjc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=JmRXqdsmkrAYWM07gG037PaQJRuA2O2ZjI0rC9oLymU72pLdsg751w34gEM7q+4+NistjsEndXAJptyA+GX78NJVpBSneAKY7fco0e5F80hOQIHe2yu/1aGrozB5JhdhENb2K0dTF+DUW7jr3jSaMQkpsQwxtSdkervG5iD0fIo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=WgbqFmSr; arc=fail smtp.client-ip=40.107.103.82 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="WgbqFmSr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n/gtDSobUd0sG6mtnfju8rpY7PbZmjxYyI0MrXtRpceW8eGVSyr2xbLTHH6gGZnxdDO7lq8RoP5uWKKNc44NGiYfzqt8FRY0beZz6V0lxXZ+YHDB27CdJ16RZZwOQ7hX8pHLepv/+XxLD9ANcJe3CGtOWbZs9NqdBRN1Z4doFSteg/SabfWmI+Jrd6afcpk5XpwsVQTAxoofskr9IxBUtvnrY8pM1YGVfHNB6RF/HBOQyuBDxmWssEZ/SnL4OnZS6axgGnCnTOqYzwfx6MJ4a0ypGayO5XIGkX6+0tMDklqlFuWP+w0eVOLUKWPbfAWd+1zwjkqztQPbaZgF6/YwvA== 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=QDzHChIZASs/2o8/PGtaK4obI9bnYE+zAI0tToZUQRI=; b=T0h2//NTzXAgY5P+Cs9SWEJe+lVe91wO2lIq/4sx8uu2UE2qdEI3ahWvvHEJM0PaNJgOM6kPdwwHH3ZFPxt4A5+t+bA3i30r+U6Ni18m65DgUqPf/DRXBFCqv4AU7d4YCi7xU11q/A4rrUYBy8M6BbS3luNsyUcSAJVoMt56mvc2edh2oQGt0L/etjrazpnWh+A0kMsmXmkSm8By1j/0JPVSTJ9HRymLH8yJuk4QvXViRLCh9sguxENdXBdQsPMYajcJb1ZGGM3smbSLIibaY/TAUMOIABEvilv5pxTVF8bptJJqFbxCFdcV1dyJRmhYqNXYxG/2A7qHg1d3Oq1TfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QDzHChIZASs/2o8/PGtaK4obI9bnYE+zAI0tToZUQRI=; b=WgbqFmSrYHoniA7nrOUMSje9SPWQq4VkWGq35EmUK8tCZtfNKZG7R5Fg6KrXJbomS+mZdp9V7VqG7DlglWOXcFcaFwvNSHu1eFwEtsJwiLR74bxxwQUGxZ1bWYPascECKXTPLIaYl43R/B9H3APuQHr0veG4mnyie6jlAFmWrnDUdLacH6Z0NvfsaaRKf69b4yTQ5ywGBY3sOmJz39w/MQlyicYb5O9XrVc1rCWkej9BGSvNzY8XHQZD3+Q8/9ldFrr52DJJjEgJq82bpcI6CRZvZkrBFa8Tm2c/gerr3uI9p4tB8cFZJ+joX5c3wCUt4vPBzvXOf9wNRWYT2jWyBw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) by DU4PR04MB10840.eurprd04.prod.outlook.com (2603:10a6:10:58a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 16:38:29 +0000 Received: from DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd]) by DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd%5]) with mapi id 15.20.8398.021; Fri, 7 Feb 2025 16:38:29 +0000 From: Ciprian Costea To: Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Will Deacon Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux , imx@lists.linux.dev, Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Ciprian Marian Costea Subject: [PATCH v7 3/4] arm64: defconfig: add S32G RTC module support Date: Fri, 7 Feb 2025 18:38:07 +0200 Message-ID: <20250207163808.1208552-4-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> References: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> X-ClientProxiedBy: AM0PR03CA0092.eurprd03.prod.outlook.com (2603:10a6:208:69::33) To DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9251:EE_|DU4PR04MB10840:EE_ X-MS-Office365-Filtering-Correlation-Id: 984bc5f6-3fb5-4c17-455c-08dd4795d9da X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Tk7pYJUWeCak45BWfP53CShWCEq2UBU?= =?utf-8?q?sp0QlCQqyHqcErgss9wnsh0e+en0avC2EspswZi8fpSZTh16UvxeiitxcweElRjUl?= =?utf-8?q?2NxyXSJtmnslNLBry87iz7HMDMeRSqSYsR6UdyVkc+ls5Z36z2Qzyo5vmzaqTznz2?= =?utf-8?q?+xTmRmidS2Ft8vkYZ9LUDdKy8iEl/Fzy8A7RPMawuO7KMVF7GdkJsTVtJcVSBiMW8?= =?utf-8?q?Utzvd/6cvLfz7n1juH5VAvoqL9GZnlfdNMIYEKLXux/1fWdT/f/hGzxkThp7WvpKc?= =?utf-8?q?IPGMfcw2U0W2qXEFobrI3/y7Pm/23plFpsPcffh+/jEuoPbcvrvqdh3Q3rUzDioLa?= =?utf-8?q?ksb8DOQK6RusZdLslVfoI2NGe3DtkJq+HG/m7atcC0Y1SPqUBUmBYywbo50SR8bpK?= =?utf-8?q?B326uMgAPFGxD0k1v3Ssdn+8KDQkbxg8HkalXYyaz+1V/WbgcaztV5IcBYEp8O2Hz?= =?utf-8?q?vVPJGZ9E6cRB475BTOk7EjNP/BfR0l605RIkrfIBuRy2IR1mpIF8j8V/yx61smEV+?= =?utf-8?q?pWVTU+OLR10fzWIX+xbUxLaHygJbZMlk9Neb2IVHdTLEhSm2FI5cMkhGWdWQf+SFy?= =?utf-8?q?2vvs5gWwzM3cd0bnt1dH+nbgEwiYohJ/qT9cHs1GyS/YreueBcAyQUAzhCLUQHjmV?= =?utf-8?q?cXeor4ytM15J/k5SICofO9zFJ1gGhhZ0r9kLDi/a30zRqzY+3jhyYA1FJrjg4ReKv?= =?utf-8?q?D0ixUrNa6rmVJkPmno6JkCUns0k/Xbu0AwF9thoKBAbF9c2YPI1Ec/6xR0urWX7PB?= =?utf-8?q?gJ05yTjj8S56HNuK8j5ilxhZt3vfgQxsqEd+MXonYAUO+xvng0g4x+vrUWHfIniXh?= =?utf-8?q?OyVu6Sx0KWnBjSKhz4mW4tuebXYpHi1+HXgCyCLjoL0v0EslVxoV+OzOOLXLUR/DM?= =?utf-8?q?5XmYi0EZUUWI5ZLa0mTUIw1axYek5Y3mUAp0ygDhjH/hHw2sLgNCo23B2AT3lywJS?= =?utf-8?q?/JCgSS4hI2Wkw8IVzXlZGabqGDXnwX+u/p3ryEB+Mf7/VtKL6XM3UNkvUx2kC0ytg?= =?utf-8?q?0V7Ey/BzHmJfELrteHM/zD4RqPrUpJciMc9WOfI/JbgDLw8eVD5vTRv7d1nexbf+u?= =?utf-8?q?5IdeOsxktHh4i/nZvW778bmfq7VOKN05Jrk+ktdA7OoDuEZcG7+DWSc0UnKZHNOXw?= =?utf-8?q?8iD7I2B7rOV4QjKOcajRAUUBB8wzJdIlS8JdbA4zlFVnl496Do5zXIdmnmuck21xP?= =?utf-8?q?ID2aZM18Nh7QASWgoEaPeN8mpIi7t0KZmoWFIk8eLGMigHFksCznBZ5Z7tS8ZrvRz?= =?utf-8?q?w7f1QGb3D0atGxWA6Dl2A0/wmZr7RZXUMe9VrVwLBwtFYLoiHyp0bvwHTpZxk2vmk?= =?utf-8?q?+CPS3wFwk1FC?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9251.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?aP+rnfKYFvSW3zXkC9CyDMF96MBt?= =?utf-8?q?GSUmZUqtUMciRO+uS5UxuDCKVchb+A2qTGUzwHCHE18o75QcYajuSzCi/YgU+VkQs?= =?utf-8?q?AKLP5aVDLl4l/ef9rrBovPpeNdVKg5nIhCZM/WVMiiyj8YAb1qacksrvn+hs7tmkZ?= =?utf-8?q?HqzCG30mU+eFan1/5HMfVUinkADCYhpL5iD8gu2Bpy92tFYIICYlfPLK0cEKITyVG?= =?utf-8?q?KL4lU7A93jzNXxVRjmYAZ4IUIaR4m26CHgcypdQisbCJrqOoZHaQamJg43Abmy6Xy?= =?utf-8?q?hMZ7haV7HejSwMV2psruKkotpSsybib0cq2E6GvXJnHaV4frZAyuczD5R7yEGZhtp?= =?utf-8?q?xP6meLI9hr0Cu0qkCAOwikrakQmCyidWR2wpsoSvcNwXlElJtI/M6uTvNckRWMJV5?= =?utf-8?q?7UtDxEUEGWOf6yLrlZE21Oz/MQGrUgwRCFZyDuXPPIPmWHKPcNVGKnVIJ15keXP/k?= =?utf-8?q?dk9+aYP6t9JjN8w5gkOuP4AgrVTbF2pWtMEawlfpHgL9J5WvA/kyZZdILKBVnuC1D?= =?utf-8?q?HXxFEAPaP6pv/U2d/7o3i0g+LBDdqF7xkXHvA2/zaKYx1C7OcnriHzwQ4sKnMz4Fv?= =?utf-8?q?Fek3RZQEBhBiFTjD5L1M7jW6UBtXrltDoYG2i0vaQA0vVp0aULh2smonheUeYA/RK?= =?utf-8?q?nO8udEaFrmO6cfRkPUwTG9SGfQjB7bnj5nK1NGO3BauZeJveoSWiK4SuxDhQH91/g?= =?utf-8?q?yXqpa8FmoICf3x2CmOublFakazXE8bnz4YFSuSmPG9AkMzNdR7REh7mF5m76aZ901?= =?utf-8?q?b/rSwS5Oy0xEWphk+R/Kf+p8wU9OrU2/VksIQgZ5Wg6AX0uWDRSBddUeZUav/K85z?= =?utf-8?q?3e5wv7aVE+W3EGmxYg+4hm/na/XGk+J7Ta5bYeLq54adet0wqilcceiwSnMFE0uCm?= =?utf-8?q?ntly0R1RMx5PA0spY+dK35t6ZifCVbuzHBMZ2GzZitROB5we4O+Tt+PpvueORMklk?= =?utf-8?q?Mig8FXoDqXA6aKqSl3vkSGCfgdYT373kfSBoj5x9VzNaAlZ4uCzVkUNxt/4AS/XcC?= =?utf-8?q?LHoRzOEsjFYUlw5ADc3O3nSw45fuVt1t9b810JBu2uOEOjU5etPJMEallx1v2mrHp?= =?utf-8?q?WQO07qXmQEJMxLy92ami7QCBbD55zjRljHQEOT/8DK0BJcrchE4nn2f8S5Wf9EAm4?= =?utf-8?q?lEvlRXd9A/tJwjM7lBeY50PfSVKMk0eW5dKI+Z8TNeFLIDbCfWoZlIVxA+5ox/bQR?= =?utf-8?q?byBlqS03c905tjObVK7cl7FVWtb9ahpFQnA2zkrq7nMlW6r+DClUhkhwFtkTgwQ3O?= =?utf-8?q?dGOR2IBkKC5g+IyDzr08jEM28s+/IacxmigjvzTUKjgLnl8UWjhSH5NhOW/VoDz5C?= =?utf-8?q?M1zcLfH/LR05iFB9+EpYdYE/MkmtfDSwcLlxnxeM6ozp6y2f9MPVgjrZWk7iTExkW?= =?utf-8?q?/UoFdqzI7hIJblyLvEpiPILGo8Klev1kuhC4s6IX9FlQUNgj7L5WHMgoehozGWvTw?= =?utf-8?q?1n5dg0jRqk2ch5+5iAg+uwjplOq9LNxdx0f+RKkAMUsYsQzj6mzsDXUGzqNUJn4m1?= =?utf-8?q?6cIDn39nZC/YCuPlmcdY+cyIYnupnTd3EA=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 984bc5f6-3fb5-4c17-455c-08dd4795d9da X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9251.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 16:38:29.0615 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Z2IsawnYqKlFndg6/EtAqkyQrGamKdbsgabnlS6x/wVIMoOlnwCz47tZlJIPpA4cpCrTnGTH/ZlyuC7tnPvcdDLSIWy76Bo4CZyKUJqRDjQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10840 From: Ciprian Marian Costea The RTC hardware module present on S32G based SoCs tracks clock time during system suspend and it is used as a wakeup source on S32G2/S32G3 architecture. Signed-off-by: Ciprian Marian Costea --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index cb7da4415599..c24b88b0206e 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1227,6 +1227,7 @@ CONFIG_RTC_DRV_DA9063=m CONFIG_RTC_DRV_EFI=y CONFIG_RTC_DRV_CROS_EC=y CONFIG_RTC_DRV_FSL_FTM_ALARM=m +CONFIG_RTC_DRV_S32G=m CONFIG_RTC_DRV_S3C=y CONFIG_RTC_DRV_PL031=y CONFIG_RTC_DRV_SUN6I=y From patchwork Fri Feb 7 16:38:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ciprian Marian Costea X-Patchwork-Id: 13965464 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2074.outbound.protection.outlook.com [40.107.20.74]) (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 4791F194A53 for ; Fri, 7 Feb 2025 16:38:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946322; cv=fail; b=u+zqf7X8Ipd3atuGoAQQpwF8rJxhPWCAY5VpZU+vYAZKZCMI/qzk1zgq0N7w8EgR/mmWl7FBDZxYAyf8Pszyp86aeBHrQLyKlZl+9qZKO3cZZsI4BPQ4+N/PS2JMNdbJ/FYsGKjGnxO6Qj2TOWUng3zZhAaFnXFTo8UhQpNUAVU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738946322; c=relaxed/simple; bh=MiLy6fWAXFgmN7SIgI5DtjximCyaaR4gvfG8iOL7Brg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=cp0CpdDoX4hvy61VmS3HOCTOHKxfYMhuW9Dwlgr0yrZX4de+NSFhgmEbG3lUu/lTxcdtpQ6/XoijPA53RHn/WDrEx7X/0mvkhSzwZyb62JzRPDzWVdmCEAd+jBNYqrVkIztroQ5SbaLRl47QaPuWFG621hUf4fmQ7xj8K+URZ3s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=L9l8fsmG; arc=fail smtp.client-ip=40.107.20.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="L9l8fsmG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u8EcVZW0oVtYFj9jtUpQMYt8MAsEMV+/s8mWDewBQnulCT973VMr3t2hA3ni2LvvPE8o7lIEgdCvqJPO6em43ipOWAfTrTFTghlCkdSSEdqCwUGwk+g+YtvuSSfxB3J2HmG6KVcMstPZx4C7skatnjy2nY6qz2PdRwUK1sjlpOlac+Cp1V/oEkqKWiz5c2L0gKTgg5aIOrAW/VCLFO7G9sTPLg2+rTnqJ3RlYfHP0HUsAekOETWnQYY40Gp8EJyHWdoqDzlPvZQAVcrI1bWoIIzZ+HV80qHCnfMlO/jScEEv9NXh3whX+0goPm3MmqG+TuS0v4qANxFtTMd4JTOVpA== 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=QrvbbjDEfYI7M4Aepm5H409LTkOnMYEJPjIxD3CWMWo=; b=wkUVtBn2rcugcZIxC6g2e3F4G6+dVSQ7IyoayRc9jQ0FUWZK0R9Wqa9jICJtGD6WwKnaCW73dunanWXIREYHA6+9HpWVPuUVAuLgeYlTf+7gCiNievyGjdWJpOizpc8OedCmXBA1A174zpQfKZaSI/NlqRP8WLOKJRMG5yCU5qL2gG11UpPfxdEWq+aZXQKalchhGEVMD4bFuKBzhZNH0w5T4kGjE+I1u2ZmZl2GQOfB4TdG0UfUAxo4oZeckozrFitj1HvFoJhtcQthopIvkqOw05IHpG6oMuaOsnE2c+f7lyv6nZ/zQdOEQ1lLmBZcMASo3CsC9JN7u9cd8u93Dw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QrvbbjDEfYI7M4Aepm5H409LTkOnMYEJPjIxD3CWMWo=; b=L9l8fsmGAj+aTCNAFt0E8lXfDHQXk7+Txw/CogTCGB6wNbiuSzh9Sg+u+hrCBTptYFw5sL5jzV4p9uQ5lcHF0bieAKT0mAR6ebNMLatgVp/5z6oG5o5c4sW2eVo7feUuWye2EQvPAdr6wNGEIQMSuexh/93tmQmg2eryOw88h2dty6XTTPeaolnZ0MXJLiM63wGWZsVEwrkjZ05dXex8sq1kcZRfgm0/czuLUi8YOeWfYOuWgGW7l+rKYEHDgHJ+vmpnuXrSot8NOqbglh8aZC7I1u3bnjP/I38sUjCxp2qkllQVznn9zcYpKfFCr9ac/iX7ULWNjJMrtOrj7135AQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) by DU4PR04MB10840.eurprd04.prod.outlook.com (2603:10a6:10:58a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 16:38:37 +0000 Received: from DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd]) by DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd%5]) with mapi id 15.20.8398.021; Fri, 7 Feb 2025 16:38:37 +0000 From: Ciprian Costea To: Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Will Deacon Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux , imx@lists.linux.dev, Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Ciprian Marian Costea Subject: [PATCH v7 4/4] MAINTAINERS: add NXP S32G RTC driver Date: Fri, 7 Feb 2025 18:38:08 +0200 Message-ID: <20250207163808.1208552-5-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> References: <20250207163808.1208552-1-ciprianmarian.costea@oss.nxp.com> X-ClientProxiedBy: AM0PR10CA0060.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::40) To DU0PR04MB9251.eurprd04.prod.outlook.com (2603:10a6:10:352::15) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9251:EE_|DU4PR04MB10840:EE_ X-MS-Office365-Filtering-Correlation-Id: b6e02a09-661b-4348-64e3-08dd4795df17 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?1BywVV9Tc0L1xNguGbqzao3FuJaz/aI?= =?utf-8?q?U2pHGs+/s7Fh9ft7Qnjhrl2Jf3tzwoX/Ej7w3esN+BuDwknaCqHYYDyEb19UZfeZN?= =?utf-8?q?93YzgSJ6pbWv38F4JTD08eYmxcY5H27SkOffjbpBd7A91sr5M4H4SPaKQ4P1BUd/r?= =?utf-8?q?rveSjWQi+n5l0uvvP/MUuLzggely+v90i9miyuPITYsu9/S6dveQVpOQ437JIqL/Z?= =?utf-8?q?QZzpijZKErNT8OoPs5hEp1lMPfljBShaBJRIgwlan700K1W0XW/2lce2bDw6McqZk?= =?utf-8?q?AORwN6lg2gCZZ10mBMj/G4ZRnTccBLJCAspaDmoN4Btbj1xcusNrVzNrOVLkbFERD?= =?utf-8?q?lFg+2+jmIr2tDZ4Pg4OFtFrexrKgDnIc6IR1mIKreWoZzG+4lTmeH8DvCITexbxvq?= =?utf-8?q?PyClSh9GjOrDbv4v2yKXnMyFyrMR/5p7d9yHh4Wgb0n/keyqi/FJY54++D9IIWKSc?= =?utf-8?q?0CVsVm5666HnA+HaUKG0LX/eu6StUgACNjPGyjkVymrUW/iHrwTyJJ4DwTDxjV0jy?= =?utf-8?q?UUJFetQnlMlz7CcmyEeHWrp63zFQyYTyxCrf1cEU7gS59aOtYBs3bMp5bQFTNN2ah?= =?utf-8?q?B7EQwUevX1bam79EhXLSQZ2a/0fuhCTj8ULJGfEYpz9kgwnNIJeQCHtIKeB6R8gNm?= =?utf-8?q?M4yKR3ANl7h5Cq1RTc1Gh+ChD7m5ETsixGe8GoQ5ijeWthv4HFZENHSHfyEDx4elN?= =?utf-8?q?ileQ/m0xqhRZ9zXjtOgVMOabs/37ICNTKu+CIu7nQFVKGTDrpzVYYqFxWeAp1+LJL?= =?utf-8?q?dtmKGpzcaXgMAX+b/qPfsCpEFqnG/BW7g/x3GQDL1oZnEUbMYwHiy4xuatciQEoV7?= =?utf-8?q?2w1fdn4fB3TKiZG6EkOz+O0G3oYYlE5+gP4yEHyX1qp16OHrHTCXOFxqqc2u/kz0X?= =?utf-8?q?0dmq0zPgxSYM5h0eJQJDLCMPfqoWK9g0yXK9LnZTX0DINtJcstq0viTO2CiAfPjP+?= =?utf-8?q?kTpuoKCrAZJhq1EaAJTLCOkorCNSzthuOBZh+iXe83IH2tuYBYKBUDsVIfBz/DXFl?= =?utf-8?q?O3UysJ7EcxPmPqhDzGDqYdI9c54tHZU6pz2sBIggjWliOmL3UKeqknQkvF3ypcKc4?= =?utf-8?q?VGt+lVd8M49peQ3TutxAfdn7Qckd1o6VHpJ037mv8Tu44cC6G75rZ4dV1TbDO3HUB?= =?utf-8?q?KjaqfMjZzZhUBVN/jq5Hpn9lFdY7qVCRVUb+tRcyiMh0eF+sdIqFNvL/PgYq3exbF?= =?utf-8?q?ocHQQQEGfoTgkYzcPfXDSDzvFfMCqeHACNvfxbw8rQ8IpevM5WKju7nqbjsVdNN3J?= =?utf-8?q?BG2QtnFO66jp692+rWQ3/TAufK+r/MW2tHXlDevAwcc4M4CjrsAP302ECC1N0n/Fb?= =?utf-8?q?cztz/XjOIF7P?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9251.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?7O2r+2zEfJZG2bAX2t4RJd4GTbwJ?= =?utf-8?q?CgDSWZwAM70A3SJc316eecSNohBtqcLDRO/Y1Z2520KrW/d83GtsF/u5EZWfJABIY?= =?utf-8?q?RMJK6JLRMWPfKlNS7cXNCSLPxDUkCVinNo6FLlby4Eg6UWuYlfZb2/pNHZdWf8Cmo?= =?utf-8?q?SwDQgeYrKyxQbxhS5Hz85UYPBGe27Oy5WYGMPZFdde9qm1JKvZCaOiYkI30sYkpTN?= =?utf-8?q?CW/m4NzOjxj+HNjBeBFCo6gJeCn90wNysePg4A0TphlA+UmJq798H1v1GeztH0mGc?= =?utf-8?q?qGG3pfZlR4UFKn9jQTRXKsOMY6pW5r68hxwg9tKKIceyA5zWjaVEI5AWRdonLcnoY?= =?utf-8?q?5lkDPLInQhNPb1i4Y6zs/6pnFMH+otBSc3PBw2c4jd/cpzcaJ30DZ8PYH0hr9u4hW?= =?utf-8?q?K3jInWijLS24ebeFhUnQydt2lA8L1Oy8s2dQxhqKdUqTyTj7+jfcvjJyUIY7pz9iF?= =?utf-8?q?r+A2xp8O10hoYuqcqlW2l6DzlwtMDd2dKVqxBmzti6wXM+mHkTymc88SKCC6Ezt27?= =?utf-8?q?STcZ1xVsn0QVSZqPEd9bi5w0TVmKh96bTh8w756OJ8KYX57SQh4XZTm9JURDLByrS?= =?utf-8?q?NSnOlKKu54dXVeH8GrqGN0XG2fU9AA2sutaHxTEOORlF2SebesbQpEFK5qQ8xTPxR?= =?utf-8?q?UW7s/cV3tQqXFmA2h6B3/QW9QbMXjH5hbvd2JhzMAoOCWTaRfcBeRE5Co5/3yjBiO?= =?utf-8?q?Zao9cGqB1B/ApRYVIhtqKDtIyb3RHQP+Or1elss4YYRSP7VHkhkkZTGSe5sG34PKm?= =?utf-8?q?puiD6PRmI9udVXAQ7hmjnk7xp12eK/uGFVLGalOSxMBpFro+rHpgvf4qsNQ27Xg5L?= =?utf-8?q?FNpd1yeTUk1nXlkv9c5+uS6EfqPn6TK1Tl51Nb1zYnQXhPfDTy3UF7Gi7YJoGpUO+?= =?utf-8?q?thqFVFxUSRT5zbcUp9xJhI3gisvK2JroxTTHFM19XNJop6z7amsVQE4kuiy9eJxaF?= =?utf-8?q?sFzYyTr5jrmYGdMrItuxUI0+vfUi1t2D15T3a3Og0YQx9GX4BZH+F9fRkENil9IDI?= =?utf-8?q?7nSuAJiQBCS1NamgfViK+ohN3vall9oVyCQupVjzsEV6Q49mvsZ68MCEk6+ZYvHeg?= =?utf-8?q?dI/HgJzQze+jADIP0xKJ36ivE2PLhTa5lVJUSECeklEpmh92BFk7pE2xEHWIOZl5t?= =?utf-8?q?tBjgjT80GFyEthisHEiNityEMcKXfRdBYxXaS1WLyLi0kaqvwvaFC+GxVZccaZsfa?= =?utf-8?q?VIlIgW5/ywSl5XxH+Nh0uWYl5r531xXLnUJxcf55B97YTgxTwvuyjiEyoa/74EsPW?= =?utf-8?q?ryj3A1h9c4eTND5bIIVnae3+ZdxEqgp7wXR/WYm7pKjqyVawwz36B4vVjzAsuJz+z?= =?utf-8?q?DpBZUH31Nj6PrbCplgt/5VNE5xZlHi9SriAiZGsrB+GummlAtDtS/SmzH27T9PvMn?= =?utf-8?q?gVn+4cSluRA1bHo1sHvUVDO9G4/ODZpkk4FBoxWbfxy3xyBKnltb0rrLnLDizAc3Y?= =?utf-8?q?M+t5w1J8cf62n95Wj18yEd7e5FmOxBz9ySTA3KCb96YajUcLDyuX/lt1N/P6r+te7?= =?utf-8?q?3unXGJmOPPKbSQpzKo2y0y+UeyoA84ONXg=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6e02a09-661b-4348-64e3-08dd4795df17 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9251.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 16:38:37.6400 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: akCa0lUD3jrN2uGwNIxJwKv9dc/2VVAeVS7vKIWbOf/le11D1fPhPl3BIM5qMrZzm9ZTHYkiHQVRPLMNMgrQXQu7mtxq01wcJ+Q5kz9NDUo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10840 From: Ciprian Marian Costea Add the NXP S32G RTC driver as maintained so further patches on this driver can be reviewed under this architecture. Signed-off-by: Ciprian Marian Costea --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 873aa2cce4d7..515ed8115922 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2873,8 +2873,10 @@ R: Ghennadi Procopciuc R: NXP S32 Linux Team L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained +F: Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml F: arch/arm64/boot/dts/freescale/s32g*.dts* F: drivers/pinctrl/nxp/ +F: drivers/rtc/rtc-s32g.c ARM/NXP S32G/S32R DWMAC ETHERNET DRIVER M: Jan Petrous