From patchwork Tue Nov 26 11:49:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ciprian Costea X-Patchwork-Id: 13885824 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2087.outbound.protection.outlook.com [40.107.241.87]) (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 0A0EA1BCA07 for ; Tue, 26 Nov 2024 11:49:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.87 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732621799; cv=fail; b=SCuCkLxuNhPpN+TsWZqDa3vlWVwBsQOSdPn2YhcHVdzDkfbMq0vYzyZpuHThOduiKLQAqNOXMefhYx/MfDYEtK0l3h4GgSOcBiaX8XP+M1froYrxysjspaOphgpYiXDRXL49A7XdCWw5Ctdp64Dp5JRpJ/HGwogarnh4syB4gfM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732621799; c=relaxed/simple; bh=/s3pHPeOKfPYBacM4Wm+nt0xKCQTkCYvYWWlNVkhEdI=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=QnVCljcvfqlrVCFmyiWDtrsZh5KfETiqDrx6pPRYXxwfIDZ24ksOA3g1FrOs0ShWp4KKJ1gUqviU41Jw+9ay6ZFBgTSggmoJ+67WR6rQMnM0+CQIkYQ4+rTndvoclr6i8XzbB1B5SGVQJxJOIW9tsH8hCwIdpGbzuUDkRisA1HU= 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=WTMspsDB; arc=fail smtp.client-ip=40.107.241.87 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="WTMspsDB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YPMe8E2G6HBTKx85HbpgOcukg+JHNSfWLhV1pzIcajarSnNDD8W2wq86+c1o8sJXBi8N9tfkrFPqvcGolykroh+QFfwV5OpiU8S0Lgx36pfkBT7BMDE6Ieeku9WqsucKcI+Rmigm6b4ksnIixWtWvMMCaxbTN8HMZsYx435vb0KDskoPngHgckFYmm+d3HsP01gAq01nz8QGiufkSc2jk25mRwLuonpfccIlAuDY+IyfiEmSWx32+hVXipglMT8q6JzqONtYj7iOScxsBQh36F3kWBQEA3iBaqBR8HulaOtkRu0aPeVMT/M+lqMJQ0NPIH42ASxH6XmQBHB5YPFRBA== 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=8a6sLsOIRsXMEzvIT3NBqE3VDOrjDn8ju3sDqa+FLG4=; b=w160G0K52f1/JR2obZm/nCRkZbPYztTetNU+TgNQ5AcdJoSQXGXjeUZWmnWicklDGSEBbNj/rQbXfa36ADMo6q8j+jlUI+K+BNQq3ENeFW/mXCUfirrfB58AD3xGG/XmXIs2fxuhJq6YUogUn64hgHHppjgdzeLyD02E5hVnkxdlqonYeVgzGIC+Vk228hdkQGcHfldWRB+5qSutiPtTS4+xY4tBSsI0rh7OJVveEL9gupx3oHpMG3sP/vVcQJZh1r3CyBvNHOdNSpGakOJ4zsiernh8STyDVCXvAoSzMG6gR66ufhKleMbxmWlVDv1m0gl0OipwIoFgnERPgxKGwA== 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=8a6sLsOIRsXMEzvIT3NBqE3VDOrjDn8ju3sDqa+FLG4=; b=WTMspsDBzvBaE1yMNPqIK1fKN+5D5yCgF4sua31kOUgbj0t2AecvfcUvRcMVC2JsEfWs5dnvk6cSfzbpRsTkfLrqnHBv/asOuwfH+267F2BqOiPkaLvisq7q6RulN+BKow81ukItVUAu/Xc4Wt4ZPFEB5JBra3c9gCyUEHGRCqNzLM65RwknKOmhurPWu4kGeGyAK30tKDdjGlXxR+/CN+IHoIPRXRlLV43RKm+BXAw+0A9aeTLPNHiGzC5jGtha1AktrI77VlIcAOLHZOL/S3mD4/mfRBsyMVw3Yn9AJeBF+1K4xQSEk/tCJzL/sClsQXoLcWj2z6g2JaLDRT+5uA== 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 PA1PR04MB10294.eurprd04.prod.outlook.com (2603:10a6:102:44d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.21; Tue, 26 Nov 2024 11:49:54 +0000 Received: from DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd]) by DU0PR04MB9251.eurprd04.prod.outlook.com ([fe80::708f:69ee:15df:6ebd%6]) with mapi id 15.20.8182.019; Tue, 26 Nov 2024 11:49:54 +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, imx@lists.linux.dev, NXP S32 Linux , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Ciprian Marian Costea Subject: [PATCH v5 0/4] add NXP RTC driver support for S32G2/S32G3 SoCs Date: Tue, 26 Nov 2024 13:49:36 +0200 Message-ID: <20241126114940.421143-1-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.45.2 X-ClientProxiedBy: BEXP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10::28) 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_|PA1PR04MB10294:EE_ X-MS-Office365-Filtering-Correlation-Id: f23892b9-bcf7-4355-40d4-08dd0e10716e 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|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?q?x/yENq04SDlXcDyW2w/z9iBrBwsO23q?= =?utf-8?q?7gi1DbZiRHvAUvpShCtI1G+HRDK959T0lvdyOqH1tYt9N2/o3QgAqy20vNVizF4rs?= =?utf-8?q?ItpucwHvCBLruZpcpDmzJU8yFjHARXPSg8fzFgLT1M0J4FLM7t9oHG05Gf99ZKTxz?= =?utf-8?q?wbWt89eKEvPF2VVzE4SPXsF8P3eyeUiDULQDsmZp7PIkUU16lxVUjsSDk3NWh12lO?= =?utf-8?q?lRESZAUw3JZzE+ORJAUZRrmkqcFQWZBgr6L6ikfDgFJeWSSdt2C0v54S2Gg0KUIei?= =?utf-8?q?u98ZQX4C9lrCzOod5PjiXacOizq555jgxBTOE6Vku5VEkao+Y1hAmYFmzhZ3L6ob/?= =?utf-8?q?Fn+9RqHRCdpp41kKDv7ovBX5gv8e/DnFDzlISAEIovXPGxSLPk+2MvNmDcrrl+0Cm?= =?utf-8?q?0Ov/0UxethVJJh8tqjuvtN460B5KHfyGBVSjIAs6Qw+EafSnC96/j2+0ahR3B4ssN?= =?utf-8?q?SyRn1GEtR8Spf0oVfBv2JWwKRPqAMpYywTplr9sHyHTH6N10aD6jALPs4a5BGs0g3?= =?utf-8?q?Sm1ZZUeCxowZZUXEdNLdu4hJINGpLHtnJ2HV3cFa8MlwWGbLp2qo7WEkk9YVEUkFM?= =?utf-8?q?bM1QoySx4zEN2lvZbbewBlZlhYIZNlqPzCWDbkBezhwOnCz08RFJN3LHkItN7FRSs?= =?utf-8?q?YenWkALvUHrSYh/2Le0zE5rLNHnOF3QeCuP7me5XNCAhqLxazIT/mVgH8UB1pFbZT?= =?utf-8?q?MUSuyB0DOkcV7pIrVrUEbuUclcUCioPe7z42zeoz7CeJK786cEWNOuY/A3u1VwTsB?= =?utf-8?q?rip5Cze7n1qefrOg4TLsj1ANTyTQOsiwCdOwtAXkmhiXzIbdj2sT0tSaJ6OCZOAbM?= =?utf-8?q?ChESvaMoDkQcZDptRUcDVNZ0Uky1eAMSHmN9ldvmjiKJJMJ3XZ8anncGovzADyBg7?= =?utf-8?q?cfZxWews+GnEJnsINoOuqkzfyYUsmuljzgBi+Z90hVucENNfUCybL+Lt1ma62RnS5?= =?utf-8?q?iTmT2oavnQpRli23J0YHLA/5zgnhIP4+VhI8HAoldRwzXy7gsWRSq6YkP8GpaO2EG?= =?utf-8?q?YOzhb7GNtfZVCvcnF8y4neOtxA+tfZJOO4lu80+ZsyxdWAcdBPmWf1T9AdnqDLBoG?= =?utf-8?q?NtuExZvznfPJ7sdf3IPyR7Evc/oZkhXe0hpI7YnPw+stHGCTPGQzZiPZG9jyMLEpC?= =?utf-8?q?3XHwJAwqF/NCSlOXV24CF4OIiRtzQl7ktdTF7Jyc41EBT7RRZWBFly1Wo2TK2Er00?= =?utf-8?q?d58w3GxaJtA+ivbuUPaspgwQpng7fg3jt6QyiaYlUzWy7Gz2Ioc5xLaF+HBvowvAX?= =?utf-8?q?g4Bg01FVvVDdzHG9hAcasXWoQl+JMR/tOxA=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)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?YvRmaOQbeI/Zmn3hoB7JcCd9554y?= =?utf-8?q?JL0TkKruMSmF+M2MFSj38q9MkMYUkREJvZg0uKP9L7JLhplKSC5eNnk7ENT8+yDtU?= =?utf-8?q?FpkDK2aziFb5ZuHG9VbWw+giKbwTepNRdODLKMTMTy8XazH3kqz7RU7HsWDXTTpvc?= =?utf-8?q?A1mfxgXTzQ+cVCEyZEzMXRlJU27DtEojcuurDweR2InOt5bUKYxhMJu8zt4kC63Bj?= =?utf-8?q?h2jz9x1md7Q3/EJyCv1kWNoSyVXiPrgmXlR3aQIG8Epf963BofSCUHRZ8lmDI4Pe1?= =?utf-8?q?+Veqy9tHHwKRzfeFfJz01Jqrq1PcgUGlDKMU8096RD0ecQakofloruhMGlX9Mbvu9?= =?utf-8?q?10FIH9Fdzcn5J6R5NokWpAn4mmQ0e9mC8PBWsiS0q/bNvqQmch6b1SGSLkz0MTsGI?= =?utf-8?q?wqGsTJpijN837kVfeMXbEjjOj1YGKFuq/krVYK8biThjBDtfP2/E52uAfcj1QAyEJ?= =?utf-8?q?TBx3ZDlVETxJDUI2UH8sv/ymd0i+hbnYedn4dJWigesqHwTHhO+eviY5qpqu19Zpf?= =?utf-8?q?KlAsFkx2s3QNfX8iDvKmXR6Nr8ONSSHksyKyklaGJPbCDIDr8IFjPW6XS6VdE8IIS?= =?utf-8?q?CMn5/mfluMlpesi/PCzrH4LHjxDONdAxzeTF/hD7TgktbeN67WSzGz8fgD3s0pmib?= =?utf-8?q?oCBp9jqbs8JX2rUJNQ6szD3abnNWTjh+WwEb0bQnbkF1VDJgY+eA+V63lWnCqij2u?= =?utf-8?q?O3yDvAD2JFot6FxbNG/Rjipr8Dccxa67cfFmFTnPrmbxYuzqPPBR52ne9UZjnW6Gp?= =?utf-8?q?j2yL/fzfHkFMwJCdcM0l3hi1t+kf6Yioe/2yFjvNZSkw4XzIO4pEiN8eJZ1d071YK?= =?utf-8?q?NN7+//EG811ZOnngfwH+6DRx5SFov6LwT8kY+2Jn4yVrkt1pEUIUBCa1DG85VnWBl?= =?utf-8?q?104Ex+HfFHq+vhG4ukM5chX+eHwENKYKugEf1CoUSBvHnxnc2rvAcuz6Pm/d6LOAY?= =?utf-8?q?JuDFowcyzBdpBp2QbcMQjbCId2AU2MoX8tNTIU4hrCumznYo1JDs9u+WsR5xZrsbr?= =?utf-8?q?Inc2fZZaQ/k26eOs5Subb6hivkWIEP5juw/bL0mFkLhpJKJQgYaxQ4U9EqrMelGjX?= =?utf-8?q?7owsxVBove07aiojblAyU9aMD04fJg3FgPc2+Zeko6vi+QrJVcv36YTUFwvlXRCo7?= =?utf-8?q?ttMACgz1xudN3KJ+OjeQGbzvhFVU+AM5mJm3XsYXtPaK7QvJwBOdnwBZipxtOdgeO?= =?utf-8?q?QlyLKjq7HkaOmgsJiZbneI0yDkjeENGIDYbfqTtnu324UVGRyTDrMzSc3wZP1aMFO?= =?utf-8?q?TdyoQbYDhYWrDE8tgCBokhXi2XOPEg/zBMERvMYkALGXYmWzasCmsxYfJZyVKdrri?= =?utf-8?q?dXs9xVaRsEe/rXKXKk62hlRKG5FR38/mDZ1Fng7nrEE0642iU9SNwRWcZSGpPs8ee?= =?utf-8?q?rcdyq4i4TTrcCvOcqXxG1+1C5Y1e0hokdF2AJsmmeQa0BRC+5TD45YVjMX/j/gvQu?= =?utf-8?q?ulEZPDchpbftpLLWn3YuJp+2oQGa2EcS8FNxOGspn72n1FtwG89HxyBfbh0nFQl1U?= =?utf-8?q?vdo4UhD2II+pwsHTEJrNMNPGZE2Cqooimw=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f23892b9-bcf7-4355-40d4-08dd0e10716e X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9251.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Nov 2024 11:49:54.3691 (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: l5v9ocN1PAak6ngykJ6+iUL35dOiVceOgs6lMwVsrISncT9RDRJxqYJqFql6nySVhYCy9mmgdMCuTg0/WAWEndJJjdSAZci7tWm6JEST6nA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10294 From: Ciprian Marian Costea This patch series add support for the NXP RTC hardware module present on S32G2/S32G3 SoCs. RTC tracks clock time during system suspend. It is used as a time-based wakeup source for the S32G2/S32G3 SoCs. RTC is not battery-powered and it is not kept alive during system reset. Following is an example of Suspend to RAM trigger on S32G2/S32G3 SoCs, using userspace tools such as rtcwake: # rtcwake -s 2 -m mem # rtcwake: assuming RTC uses UTC ... # rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Feb 6 06:28:36 2036 # Changes in V5: - Removed rollover support. - Removed clock switching support between Runtime and Suspend. A clock source which is always available has been used instead. - Enabled 512 value RTC hardware frequency divisor to achieve higher rollover time - Removed unneeded 'remove' callback. - Decreased driver print verbosity on error paths. - Provided 'clock-names' actual names in bindings documentation - Remove __maybe_unused notations. Used the DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to handle the .suspend/.resume callbacks. - Fixed some alignment issues. Changes in V4: - Dropped 'assigned-*' clock management approach. Simplified RTC Runtime and Suspend/Standby clock configuration. - Simplified error paths on probe function - Removed node label from bindings example - Several cosmetic coding style fixes Changes in V3: - Removed 'nxp,s32g3-rtc' compatible string - Change to 'remove' callback from 'remove_new' - Used 'dev.parent' from 'struct rtc_device' instead of defining a specific 'struct device' in driver data - Fixed several errors reported by kernel test robot - Removed 'assigned-clocks', 'assigned-clock-parents' and 'assigned-clock-rates' from required properties in the binding documentation. - Refactored S32G RTC driver such that a default clock source and divisors configuration will be applied in case 'assigned-clocks' and 'assigned-clock-parents' properties are missing. Changes in V2: - Removed 'clksel' support from dts bindings. Used clock parents support from CCF to better illustrate the RTC hardware IP from S32G2/S32G3. - Removed frequency dividers support from dts bindings. Used assigned clock frequencies support from CCF instead. - Reduced the interval while RTC is voluntarily disabled to a simple register write in order to avoid any race condition between a possbile rollover and 'suspend' callback execution flow. - Updated bindings documentation with respect to clocking support. - Fixed a potential unused variable warning reported by kernel test robot. - Updated to usage of 'devm_rtc_allocate_device' and 'devm_rtc_register_device' instead of deprecated 'devm_rtc_device_register'. Ciprian Marian Costea (4): dt-bindings: rtc: add schema for NXP S32G2/S32G3 SoCs rtc: s32g: add NXP S32G2/S32G3 SoC support arm64: defconfig: add S32G RTC module support MAINTAINERS: add NXP S32G RTC driver .../devicetree/bindings/rtc/nxp,s32g-rtc.yaml | 69 +++ MAINTAINERS | 2 + arch/arm64/configs/defconfig | 1 + drivers/rtc/Kconfig | 11 + drivers/rtc/Makefile | 1 + drivers/rtc/rtc-s32g.c | 554 ++++++++++++++++++ 6 files changed, 638 insertions(+) create mode 100644 Documentation/devicetree/bindings/rtc/nxp,s32g-rtc.yaml create mode 100644 drivers/rtc/rtc-s32g.c