From nobody Sun Feb 8 05:16:17 2026 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2059.outbound.protection.outlook.com [40.107.22.59]) (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 D0AF02236FE; Thu, 16 Jan 2025 13:16:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033376; cv=fail; b=M9ABdLWean7+de2v+erum0UUJH3k1V6FDEVKkehh4oiOdgr+X8L+c4E2wJaWBb1lElPXC6ek3wZr7mXeISJEE6gO21+0DhP4DcVWyQOlpWTDADT/Lnmcbcjr3EJKqPm2D2/tDL7Q0z7HdvRyLPmq3YoVb6KbtnlnTfKRjzNMbq0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033376; c=relaxed/simple; bh=Z9zQDJM0nEfUKd3yvi64EMIKyQG/YKeB1YmNeEacJEU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=unBQoaEAry2Ryi8pVWEScl89WAfdNz0RCy1CI/ISNBbvmH3ebnBLZrQn+I0Mvbi23Utv8/CgFW9KxrPzqa9fS6WMlKsuB+hppL8hUb159aMOQ/X2muxWscCiOOXBMP92pz5casH4fLIW9wsXnssZRU+vsu5ZPPilhFhMfXY+Bhc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=c8qqpbDS; arc=fail smtp.client-ip=40.107.22.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="c8qqpbDS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fYbhrKk4cVQ5ZyrJn3RV9uA33NEsUWWTthv/ORJdjh92oHeKyXrUaZcvUoWbjybwpvU1JuglPUwO3Ap8yVCheQi6ouAE0sDH/UBCvYRcRUy9kN5kptBA/kme+gj2vdqyuhOdVLDbNghEWqLK8rBD8DKi6VzcqkfPY9lpFLoctMZ6P5Lld93HkU/2CE0PLZvsyCEyN619HdZ5VrqTIA1QapoalBlyALyc/Kf5O9A7FpX/C7YzXQB/mLV/ULcL1wqxfNZpCntXWxIZn6cHkL8pHFyr+Kbl50Gq7MzrqCRhJ/nXsgq9jtYNFu0tW9NXWTod7EemBYxtFy61AoBFcDZojQ== 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=KVQxjlV/6W7OY6dmSiZJ/Z/ecctgCoYoTI6maSJDIms=; b=aagkzUUZnaRW2b8bOidgNrgLiAwSt11M/q9RFpjaZ02p8zxgV1x5f3hf/l3PPUud5qjtNEoLKyMpIwV14SiuKiRwy9diBnC3Y45oPQMFmSUpO37kACzkBR46Jvw9jxlf+78GuO7ZwX0PtYIfy+2h3eTEyLkK4wb5XE1xgFK7p6txkmEV64TYpbBCoWbtab6yMX1hr85UIm4I6o+wOLAqdXSjyAXWmliPA43fno6WjIeES4tJeHTGcuwd3LmayJmelJnkRNuqv5mC1W9mg0wikqhB37qzjW58tg2C34JGHKLBiuVRVwoBimlB+cjXYoe1otbzpwF1dY9Cxa543ISacQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KVQxjlV/6W7OY6dmSiZJ/Z/ecctgCoYoTI6maSJDIms=; b=c8qqpbDSdqt8LoAdiXWHWML9fHG8sZM+Ydz3Ejt+4GCjhXSWYv8hZbgsdh5NrOWsa8yCmhACtJlC0oikIOvrwERQ9Ux0kizB9kv4fpcJkKPsktCsHUkIYYvCuJaO2dwVUGMd/dM+/VP01gHbdOsaGUXO9cif6i8q7x9/bRDt8FfyFkiPnRPlYvI97AdY7AvMLHCmnBkhdQw1Q0/zxmU/Qivz6I4hrgsbwUrOZUdyypzXibTjcBTfyL5Bdg6haVHBLly6sWK/HrWc3bzajdf0kdNk9I58tbX/tLvuCOJEsFtGCbbACtzRMaIyRYVXvNepL5qJS7AAne69iw8myC3Wxw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by GVXPR03MB10213.eurprd03.prod.outlook.com (2603:10a6:150:14b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.18; Thu, 16 Jan 2025 13:16:10 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 13:16:10 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Manuel Traut , Krzysztof Kozlowski Subject: [PATCH v2 1/5] dt-bindings: rtc: add new type for epson,rx8901 Date: Thu, 16 Jan 2025 14:15:28 +0100 Message-Id: <20250116131532.471040-2-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250116131532.471040-1-markus.burri@mt.com> References: <20250116131532.471040-1-markus.burri@mt.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: ZR0P278CA0117.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::14) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|GVXPR03MB10213:EE_ X-MS-Office365-Filtering-Correlation-Id: 8507199b-a60c-4856-3ba0-08dd362ff180 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sWDAO0jB4g902eQfnPTJ9YpX15Yk+lP1gFoW3X5O058qtzOG6F5C9+rmSdSj?= =?us-ascii?Q?i9hkMGkdicVMlP/PVuyz/nwy6FinjnT1hogNmEHD/FAQimO05hWTv0f/UQ1c?= =?us-ascii?Q?l8vzjLmJ7zeN6WwVxpuW6+a9KN68EP4VE3wspsjBrPXP3u5MeV3Mcw4nQ4Bv?= =?us-ascii?Q?bpHvhDYMkL6+tqMGX8mTxt8IbqBOy5pM+iJi3X+vAJvy6Tvrf77JB41gCdtk?= =?us-ascii?Q?zXinZn5A3ec1xKqLxViIi+kxafmDVpQRneTU4k11wKjiaInt5FMBGIKKhW4W?= =?us-ascii?Q?/OSqELo2IejpNMUNxEQIlm+q6GEITAD5mPhn8mgPB4APPvuFBi0Mrk3Hezyn?= =?us-ascii?Q?T5wrdM20q07b2nnnZ+Ccf/tk5w2LV82V+qeOGWIq1uHsOoK2kky53EBErfaV?= =?us-ascii?Q?2jCsIrFoca/GZVetu//e68jw3Y8pBZTknpRqbIbzFy3muLLDeLIu/7MqdJPS?= =?us-ascii?Q?EWjaE7aC63SCQRIZxHCcBIeTHytecSOcbqmXYLUnFUoqakPskGcudg08UP2x?= =?us-ascii?Q?BGOPZH8FUk10jgIDac4a0m7CrB9JXRPK/UGst3srnYcRX9RNFtPTGyytUWpg?= =?us-ascii?Q?LupDLr6BGx4NaDAOM4DVrGwD+bzS/RWUnpB++WvjIkwKHLvX6+M8f7hWyBTN?= =?us-ascii?Q?xvI7XmYVNt55XEwBflVZcm1C/1ZaJlN92uSOcG+OAMjkpsw6/jtYhp+Tih3m?= =?us-ascii?Q?PrDm5DWNBCM1xtELaSvV3jGAeSNPBWbJ6ABivXZrFniCOCqdCEzGzap1ZNrL?= =?us-ascii?Q?2MyonpLrH9T/xJclXet22HcOZlLISgw/2hCiBa7oULdzFC2suDVG1IxSs+Gx?= =?us-ascii?Q?qz6/NzmqRwxrSXNkx7tUtoA9GrNZI3pZbm67q+qup211wYjG9A1St4XY5aWO?= =?us-ascii?Q?iYmmhkk27fw6AdwFqPshBt43wtMkzO7SfThxvxaAwvlQeGafGBwF1Qce+8fc?= =?us-ascii?Q?ZdtycA606Q5O9nDfesW8UaPNCw7TSieUvoDg9QV5UNhFru1ZjYrIiMfO1SRM?= =?us-ascii?Q?qX1R3aPtIZJCzmfh+jdPyUTw+tLksnttgH0hIIqak3BYmjEk4voA9vqdG6+x?= =?us-ascii?Q?wr/iqMDgKq6J66LBczWda/8o3kBJIwzd0libt3CYukQJb74Prm1t5C22Q4iG?= =?us-ascii?Q?9bvlyCCe4XRNcvwWJVTnb6M1H/wse5xX1UujW1yPqxYnG1ZBSbHHGRYw1QVq?= =?us-ascii?Q?76/kWqprZtEz+KOs6iHVy8DNUGNQNhZKCI1ydRiC1x7g//5BZCuN7/DiYD+O?= =?us-ascii?Q?4TEay9GLMPDnxeCRh9jq4A6RyR+iM3LHAdhfypk4ma9LsoxBuC/WmSkYaFsb?= =?us-ascii?Q?aTYE/Y1rwEQMMbhE1OaC5uKwaFOHX1e+RsUiGP2ZGTbdGvAJvZYtXzMeORmc?= =?us-ascii?Q?lPFwG5WhMbBPhuH0cpEfzM5ehz4q2YtOBsQX/LFmUzGBo4nqwn2vi4lHmaGP?= =?us-ascii?Q?EZIBBO46CUKCMukWyORIfkdVeSrmIGcg?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7DMKk0CKPiH3LfCbnYbqRziQX/V82QFO3aWoWlbFb3swPYWhgOz+fLGINQdz?= =?us-ascii?Q?jciWU1L0ESGawx4m1FzKbBvoiPTjKfunJEa0KP0pfN2bOUXvmORjTFRs2xJ+?= =?us-ascii?Q?GVenfkKvd85gmMMvGwivVlEGpi6wOHB9nL0cBR4gSggz2noz+caABmgOBoOc?= =?us-ascii?Q?6o5gnmVgXtv1XkjxHx9NncntC49v3b+Wc7Ekn7RxCpTKFnbMKnO5IPzLNGFK?= =?us-ascii?Q?uMH9+AHGCwC+QN+Tg+abn9ZVcoxueh8em66dJ5UwACBbEhhLAgSamx1c3oBl?= =?us-ascii?Q?zUw8e/kMndLSxOhrd4h0zpmGlMcYxrB6ogwoAmPK5lR0E0gHCcfLKh1SDDuh?= =?us-ascii?Q?S4E+w0mw7ghClbJpYIcmFFEaRuUhQtu3b5wB7s48szxtx1uQD6WAkztzZCeE?= =?us-ascii?Q?thv6Wu22tjbg9iU3wue/l2k3Uy0fPFG7wpnSprThyX+/9WuQgUNXA4/lnclA?= =?us-ascii?Q?xAbf73sSsuJjFw9WNhmHyG8Uu9ibpg28lXQO0ZCJ74cJ3UYArxbh//VENwzd?= =?us-ascii?Q?jXHEbmCbQyOyfhS/nusYfeyK7G+2lfuZyWTseX5M0BQrFPhwkUGS5tzVYC88?= =?us-ascii?Q?3vnd9o+ubjzoUFh/fpROyLs0JuNBWXxjIy7U1BK1zWQtLEUuRGQ85XA+V2+w?= =?us-ascii?Q?MzAu2TntIMz/yBa4Mhuv6bXpW5n2TGqxOys7FFylqgIJJNsheszYYonDpAoV?= =?us-ascii?Q?anLrCRkwrX/0Ou6NrEVzHLJb79scoB2v9xdx7VAbnZjMDWeZqhF2emIo8boS?= =?us-ascii?Q?5zu4qmwRvUo9MjONULoDtmesISrmY5dWOCJianXsXi/m0qBvomZqjCp0FV9F?= =?us-ascii?Q?glmr2uhlQudHgRNxihcWKDDzPLD3+LWjRUpMT4GkKzeZp7zOJUFD+AWIKJ7x?= =?us-ascii?Q?0zQSBCnQ/EUH9bVlDvPFOzLoUn4gBx23RUBlH7HLjwHUlZXq1wkaKIvpH6/t?= =?us-ascii?Q?6FfxqlDB76TtuaVHJeyFMBuEJK8j0d/kf+du9tQimcTOTe/9Aud2/XYPNY5F?= =?us-ascii?Q?e/HzYeJoHkOtAAjOJ/8UdZQJehMtUgHACj1gDShYQ+Mvk4fiBGwr8A1+bAG2?= =?us-ascii?Q?r47rfV0N0x0DD36yVxXK+r93RC49gqbJ4FJ12T+PQ3d7+CSINgzRTM1XXdrA?= =?us-ascii?Q?RxkWM/meReUmDhLCJxi5O694H8Fumr/h0d5ZR/d/n8IKSJzBHCXl7Nm21jvq?= =?us-ascii?Q?EvQRNQtcYmLaAfn+MHcIiVsa2jTNbJK66p2iFkMSnc+1aDR2EGl8gbOM8LBB?= =?us-ascii?Q?4wqUb2kK/48A+yR7tYUhRNI/SN9e7wnXZuoxGUCSzexsTitDclDqYboURy8A?= =?us-ascii?Q?RinED9da20UucVfxw7K83WTENKEE3JeQfMwtH6cxtZYL58A8a4NBpJLmJh8e?= =?us-ascii?Q?7R05gxYPjEhoiDqE2mCZ/F8LG3inKGD9XUHWl4DGcvETovM7kUSrcqe+y7Qi?= =?us-ascii?Q?gNG4kFmVtek1TtmNXz1f4MC9C3gljSWwr8SHywUHl730Pd1JWGXzM+3TecMc?= =?us-ascii?Q?zt8CLbHLXDZr5F9kiiNR39WDapkyniWimeXZMSPSv3YsdVz2o75455svDavz?= =?us-ascii?Q?hm1xXBX2hx+6N0p4dzcP+5+ybgKxUKSCr6kTa1ci?= X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8507199b-a60c-4856-3ba0-08dd362ff180 X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2025 13:16:10.0688 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ka6vN5zDskw+69oM6z7P2SX5uTl32b1FFx+5VkY+BoGP2StK5z9AKMyBdz4uD3E0K8KU6tb2dLleAKm+erx4lA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10213 Content-Type: text/plain; charset="utf-8" Document compatibles for: - RX8803: already used by the driver - RX8901: new device supporting also tamper detection and pinctrl Signed-off-by: Markus Burri Acked-by: Krzysztof Kozlowski Reviewed-by: Manuel Traut --- Documentation/devicetree/bindings/rtc/epson,rx8900.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml b/Docu= mentation/devicetree/bindings/rtc/epson,rx8900.yaml index b770149c5..03af81754 100644 --- a/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml +++ b/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml @@ -15,8 +15,10 @@ allOf: properties: compatible: enum: + - epson,rx8803 - epson,rx8804 - epson,rx8900 + - epson,rx8901 - microcrystal,rv8803 =20 reg: --=20 2.39.5 From nobody Sun Feb 8 05:16:17 2026 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) (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 5F4DD22541B; Thu, 16 Jan 2025 13:16:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033386; cv=fail; b=VQj/Ni2Q+cBCCfZTGzdwiBem7uTgtT2WNKSuKb5t3k5tBRUaNLfpTZMLiU0yzmOrTNiQImrxA69ECrOlUldxXUNy67oikDof+53YM5HsPdJJigB359g5V0pFJee4gUhtiKTRbVEgOREfdLS10DP7wP3kU9MPhiMCj1wDrrC42ro= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033386; c=relaxed/simple; bh=6K2Uh51MB5p4VfIC+OErlrf6f98kGPpVyzg3/jayVTE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pnVpHq6NV1WpGXyOsbdWaJAPh56Bn8Gl9kEUWNbuYxzcYLGTbL4JJlK3/ZEwfCget4gANwGA6Cu1+kBkYU+4aLOFmWTQwI42PgBRksRhKAmmGqgCd2TX0LVK1312fZF6OCb4siZrKS28kF6OAMAr7udexfG+KwSgEh9sBUlfoT8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=XGmYYlsN; arc=fail smtp.client-ip=40.107.21.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="XGmYYlsN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=diAE2xgolusq9yIBznCUaotfZ1aCRgkrg+oLmE4uG2hjae+nVHpte6jHqK9Vacyv1rlD1LsysInLxwuDZ2NTLfe1zzSn+6YA52IOZEV2aH1zYo4U1wv/Me2xy1YauWJwxHclR20n53cT9aglb8zcSpcYAxnFarhCYPvNwmG+ENlSFz4I6Zfe7p5xdXNDa/KUK/BEpLxWBpxS8/Sp6a8AUZoqGtP430Rn7cZ1vK6zbTZG4SaRYTMlBCM4zDCRvtBDxihTkDDW1yYqtqwQgQgdqz7ogIpiGjGRA9lnkeEHj5VsyCcdAz+So/02k9qz/BtMNAZKUPgue+ghLhlK2kcMsQ== 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=c6KwZ6Wv5hOTPcpNAeEyK+Jq7culqJyz7hC+CDIVhGY=; b=hRBFoQktRrEJHGkMUKTe4w0mZoUS3L1gafgsH4bZEL0Delp4uvttLP7bGxyZq0xYfe78AjjK6ljwoC0Kz71d2hBsDLfyiIolJPdIYI0XHq+AWUND6HGNN9E8FYaRTi9jSFWmoZfHk2q5JSJDN/YKFb2nGcwEYvQEaYYieqqJ81TFI5tx4C/sKsLEdt3G34oc5l2cMvUmOpRqgytRrN15GFV7Ngx43HoFcZN21epLcHcPejN/yX5VK0afdToypFsVHVvAO2Y53SObsydrJHMor1FSVkfDPNufYj4rR847B6TQjrpywc1ei91Y1pke9LRnzXqEQCJpJu06hD519nR5sg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c6KwZ6Wv5hOTPcpNAeEyK+Jq7culqJyz7hC+CDIVhGY=; b=XGmYYlsNwnCJjlkSrkAe2cTdP7nBjwoqRGEf5WrUjujhe0qM69Iu/Kkw3m4e972o3trE6hDv0737LYBATcqM07KoQiGJtO6gak92P7xm3m9O+ibKMCGDwINvXtlYRoKM5jvcUEHxIHzGYtg5iHvjjHiHaihxIXBDQEqOWFORiFjULoaB5sjj2BtJ0qunH+XDI2QLo43KA5xkOZZ9Bv66zM+Juigwj5NVBLq70WFG7kuYda20s8RAcPPSzizUzTDzUh+cerPbAWOF3VbiKo1vdi5sNPmsFMYWt7zFkAbEBUYaxyTtusG9h7A0fiWO3ifmpM9h4xWnJlWdXOz7vPG8QA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by GVXPR03MB10213.eurprd03.prod.outlook.com (2603:10a6:150:14b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.18; Thu, 16 Jan 2025 13:16:21 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 13:16:21 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Manuel Traut Subject: [PATCH v2 2/5] rtc-rv8803: add new type for rv8901 Date: Thu, 16 Jan 2025 14:15:29 +0100 Message-Id: <20250116131532.471040-3-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250116131532.471040-1-markus.burri@mt.com> References: <20250116131532.471040-1-markus.burri@mt.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH2PR14CA0007.namprd14.prod.outlook.com (2603:10b6:610:60::17) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|GVXPR03MB10213:EE_ X-MS-Office365-Filtering-Correlation-Id: c8cbb8e1-eae5-4542-1370-08dd362ff848 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rvzSQHqAcQLO/e1JNDjYtwjyCbW49Rnoo+tMB8iWCyRZRoTob+TUe/E1ngHr?= =?us-ascii?Q?ftYAZLu3O56W1p05MPsPWLGFS4Chl1wD6k76Uvk4+UWG0LHNY3EKJRF1Ej9g?= =?us-ascii?Q?dfuyl1euI/FVCSwZBtQ8kYCppSXaEu71pqq0GVw+ZZrXTR3cguW8oqRmGucO?= =?us-ascii?Q?2FCGaKE8nTye9ObUPFmALwVRL9W2OFcQZXYcQC43KqEZ9OKLmUkR05UeH4aY?= =?us-ascii?Q?ptzQkdj20f3xfvy1AidoRLtD7s9GP3Y44mqCCLA7hsChoqOWRXvTndywW4Bq?= =?us-ascii?Q?PFuqLWs6u7PYSVQJG9WSWn3Ia1BwMMWjB5UHe4osmRao4votoCtvKcbm0Brg?= =?us-ascii?Q?r6TmGlktxX9swPUMHIzfkCUfGpDH98mgdigGD1Tk4YbILwuoneGhZM2AXaDS?= =?us-ascii?Q?ZzHr5ITM9rIFB3TA9R7/OiHl/GH4tNgEK6wCeU+Oaws5NEd9Kn2uZn8zZ9Ui?= =?us-ascii?Q?w/C1Z3SsWZk4MAB1vxaSjblPKdnI6FdNlZMOei7P3vgMj4ocVzWV9cgHEdZh?= =?us-ascii?Q?he8r2FYljMJN4RMXs4bWIWytdL3tAEPAFVU/wNiSPMWqJ0KpTATPbjNgiDVY?= =?us-ascii?Q?/Hb/xoFVzYTxM3WjuSH8jS+VWvdYE5qtUpwqZzrFQb7A+/3jjK6CSPQbBAtq?= =?us-ascii?Q?qdCTgMvyi4X620t9V/C2jtiJzgd6yzSzbK2X277cV39KEwoNqibAKYOe/wF3?= =?us-ascii?Q?emO5w0GXIhaml1fKJVoOG1YIwkPHj/9JFU56EY8JFrPtAMxC5qoA8aT14id2?= =?us-ascii?Q?y8X3HQ42HBWS/LykfsK8uIGo/4lPnje2sJTXKtRG/PKUebGSvxfW+xDMMMKV?= =?us-ascii?Q?r2b70vMGmMJvaj6ZIo6ItMVBadDFfo62XIij0r3ZdACxE9z3bfY/AbrEdzhI?= =?us-ascii?Q?+Qww0oUZ/6AQUtGVY+9gH+F9EqNGkaGl1UC6y/jv/M0wUtiQ9zuSeS7MI+h2?= =?us-ascii?Q?TL9X6/lxOrxE+WMUusimj+NzOZVHX0i0UFnxg2uThuBqO0w5Je8PZzOnuT3Z?= =?us-ascii?Q?aOtCiWVOJkUWK9/pcZtC+iE/ePBm0UIeEKOT0LB+ZrWPI9NvBc/VXHyf0VNf?= =?us-ascii?Q?+PLaWz1Aff6ylgHVurrZeLiNe5AydjFuC7Lhu/2194Xx/Qxr0YEZvqOUQrGe?= =?us-ascii?Q?13C5kvI1j1iLr62NtItb0uE3MlmOGWWchT+Iqvz1m9vqxU8qqaDDnW1xXeSP?= =?us-ascii?Q?wk7EKEg3l5aqIaAwygk7zF67vJTSQWKQpWpVYX5fPGcggdhO+7rywAYS5kRZ?= =?us-ascii?Q?zjxWm0VT7792sFxcwZVk8n0PdZWQf6TR55a3K+e/xhme27wDRsQzN211EicT?= =?us-ascii?Q?33oitV149JMVggKPlUsdskYB+N/S/ScEHF64hGciiLKicVQTduoOpL7RhI5N?= =?us-ascii?Q?JMNzLVImdwj3Cg1jp0B8+WiN3vvtXSvvoWQHEPwWW4ZXHKTL8HsVIgvZr2+m?= =?us-ascii?Q?kpzrGCVsqq25RBC0mfRb5TpLwSya0RAe?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CXIf7B0jR7c+v9rUWRP+mkU+84MBXLncuNffb+ZYOWU18UYeLU8/x/C726JP?= =?us-ascii?Q?yKx6hQaasPITi0Mv9w9goFflXFVIfSaoE8YOdL4lRTsOJs/g94uvHLaesS/D?= =?us-ascii?Q?77v5dFNeA03AFw6RNIIKZtaZuhsdHkWuXoBqK/iMWJ72XyI4iafMua1fEgvZ?= =?us-ascii?Q?rkBLL3Ui71mZM9wKeHMrhwgXRuXIgGgZE2ji5lYtiP0p7mN1yi6UaJP92dnt?= =?us-ascii?Q?On2J3pc/f8KlhHM41TdiTJuKmPjQjNhs1OKZf6q1rLpgVAnQs8w592GAPrH0?= =?us-ascii?Q?yY+aOZAiOT0rDpckfvaX/igdi3fCgf8ym26OUDwA/lksVZrYJnuzp61kjrP5?= =?us-ascii?Q?voKchq0hPVFUOF1lZnVU4Fz6Kvo6jdLwiyvEEyr+3in4nXXrht7z2PPzxx6i?= =?us-ascii?Q?rtYZo3CdebSy0HLfzTZGR4CFCTGR2LV3tGyprc93zaT0r87ds+7jM+EbUd/6?= =?us-ascii?Q?eZI6Iwj0+Th7GttyXEsURPl/YPkw7jBZs4D1gETdKpf+8mafbtvfCH2ZfKsL?= =?us-ascii?Q?nIT/IHOerAHAuvrSK3C7KGHbMpD7V8uF5mUQryo7ePxOYntawlRJ8oBn+Qgz?= =?us-ascii?Q?K8uCiYjkSO8ZmH01kawWvmU1neD/JEO+vfkp86QJnWNJpNujbs1ewy3y79Hj?= =?us-ascii?Q?65FBM0+IjaSLYDmWHffQRubBiaNXvA3SEwPbDxTl0+DpKCBpVlZgPLjMiGAW?= =?us-ascii?Q?zsHzncCVuuKP+S7h+DhmJz8Rv1iiUxyEw/opmQO1uoGuq4y9cyxdSJdYAPcZ?= =?us-ascii?Q?O8GGQ6aJAegZAFRLrDttHQMFoT6eJ7mLi6J0k0WY/KSQnbruKXQOIG8DswKV?= =?us-ascii?Q?orAqIIgFgKKHKToM59k0KI3Zq1x0miyjJS6KGWew0wIkMLLz/jVKqtvzhj2Q?= =?us-ascii?Q?TD0b0fvRF6NEa6q/JWp0jclofIUcKLy2/3fcGR/JjdH93Bf+J5RUQxlSb9de?= =?us-ascii?Q?5mUuJf/TxqjOUbF56fR/ua7bAHNYfg4SAYIrN+4sTwOPMcPzoFWk5FCz9aJf?= =?us-ascii?Q?7+MK7TvVYPQs5QmArvOkKtHsO3dKVFQDRD7rHn8d4CKb22vf2l/5ikHweHvB?= =?us-ascii?Q?1CF0d9yWSQB3iaei3dzXfPtX8dnGCHTjybPZOCCyBWwhmlGEwg8wR66ZLqgj?= =?us-ascii?Q?jJTJmKSttureGTfhu37I2gu64uu8cHcr03D5X3kmbN02O4cE7KV7nzPvK1fK?= =?us-ascii?Q?dSmiLXmnbLjmDU+5T1um9LYmq/FJO/GwRIXifgKzi4Px/i4c5mGs0geN2ZTv?= =?us-ascii?Q?nMRhBaIVVREqSBiEXiESH0xHJs9zwJ54BZPJR5sEIjpguC+mVnVNMWYBJmfl?= =?us-ascii?Q?aW97dCGWNBOJ12OwgNd9MvNH9Ah7V495HtXtk49UnHaFa2mrCVHlEYXdlqzE?= =?us-ascii?Q?oS9COWAkEwEqvSpjrWWJI0kymjJ4YsEGdG4bfidjz6DgjPRngsHEXo4xSnsb?= =?us-ascii?Q?CehNICFep0bCYppGJ92OJH+BW5hizkCKag/+Ttj7nZ6q120+lpQNssZ1BsFO?= =?us-ascii?Q?p0lV/G0vRiT74S4NXBF3wyM/oA/wx2BpIyTGi6DT1nyuXZ8dD/eB5OeIZ2L6?= =?us-ascii?Q?qxY7l+lH1m4IblHlMHQ7Q+CA72hdFm83eUj30CM5?= X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8cbb8e1-eae5-4542-1370-08dd362ff848 X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2025 13:16:21.4409 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D1qHggImx6PTq7squtkqAu6hYjw26Tl5RKIyygXjuSJC0DUbJJusB15UIFJozJVXK0du4meSGY5eDmeWUPfOMA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10213 Content-Type: text/plain; charset="utf-8" The rtc-rv8901 has additional functionality (tamper detection). To support this additional functionality the type must be extended. Signed-off-by: Markus Burri Reviewed-by: Manuel Traut --- drivers/rtc/rtc-rv8803.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-rv8803.c b/drivers/rtc/rtc-rv8803.c index 1327251e5..50fbae931 100644 --- a/drivers/rtc/rtc-rv8803.c +++ b/drivers/rtc/rtc-rv8803.c @@ -62,7 +62,8 @@ enum rv8803_type { rv_8803, rx_8803, rx_8804, - rx_8900 + rx_8900, + rx_8901, }; =20 struct rv8803_data { @@ -173,7 +174,8 @@ static int rv8803_regs_reset(struct rv8803_data *rv8803= , bool full) * The RV-8803 resets all registers to POR defaults after voltage-loss, * the Epson RTCs don't, so we manually reset the remainder here. */ - if (full || rv8803->type =3D=3D rx_8803 || rv8803->type =3D=3D rx_8900) { + if (full || rv8803->type =3D=3D rx_8803 || rv8803->type =3D=3D rx_8900 || + rv8803->type =3D=3D rx_8901) { int ret =3D rv8803_regs_init(rv8803); if (ret) return ret; @@ -635,6 +637,7 @@ static const struct i2c_device_id rv8803_id[] =3D { { "rv8804", rx_8804 }, { "rx8803", rx_8803 }, { "rx8900", rx_8900 }, + { "rx8901", rx_8901 }, { } }; MODULE_DEVICE_TABLE(i2c, rv8803_id); @@ -760,6 +763,10 @@ static const __maybe_unused struct of_device_id rv8803= _of_match[] =3D { .compatible =3D "epson,rx8900", .data =3D (void *)rx_8900 }, + { + .compatible =3D "epson,rx8901", + .data =3D (void *)rx_8901 + }, { } }; MODULE_DEVICE_TABLE(of, rv8803_of_match); --=20 2.39.5 From nobody Sun Feb 8 05:16:17 2026 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2074.outbound.protection.outlook.com [40.107.21.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 D1854226170; Thu, 16 Jan 2025 13:16:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033398; cv=fail; b=TXhL14CyO3uAA6eZzQOA932drDBwB2Nad7S0WWCPOCqu1Xt5TO1rK3H245x52Ely7dg7k1SpwCnIuEYdWOT9F/XY0R3DqciqwffZcie52hrYBrW5hP+zO81q1F9BJKXw/ZFB8EEcUOYWbjrwdlLap+6I9jdEh+GQUstNDKGJo0A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033398; c=relaxed/simple; bh=6ou8ybhXWKfUoHNz+tV/ZTxJrMkvkQY1wkkmV+yrz7A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=B0dOiKCm8BMqy/xk3aoCucUxUuQ2SBMehoDaGSZI1x8A5Gnmx1K9VdB7uhyKorInc1jN1RicRIwXwOxqbM0+42jkTe5puF71HDXWH0VRWIzgndp2xHXdI58xsJRpfgF7U6e6YoA8jL1PI6esEEkq4kq8Rp4sz9Arro3sxh4xp2w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=KbbVMAY3; arc=fail smtp.client-ip=40.107.21.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="KbbVMAY3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GXDBaggPMxDwiySmeX5pvBc+KvtewqrebIhOktf0v/oeRqziVO4TX15odTtOp6cusZ0iJSCERreg7p2Laee7tV2tqn7GEwypY80lzbWzL72HjHer4bJPwzivIqURwCbOXkHIDw2H6Amly4VVtcAB7b9Uui6yZWZ7+l1Z6l+p1JpsvwAgqP/iVJ2MmaijEu98XNgcZe5sSdSYozJiLDoV8KEGjYhA5GIX3SXAwVlbQRGoB5jeA+QV9qw9lwPEf/3uSRye/Nnm45cDu9UbWEDEribIR4zxdPCcqta+txT2K5gQILfQHSN0qNSDJ+LOFRoqLsNVgRzwYlVWU1kKzmD+vg== 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=5K5ry7QlbAucDKyTcfoqAcRedTOmjyQa00Wt/wrpO88=; b=iH++no3LODeX+7eB3Nw5xi0GMdXfpzwVIDSKdr4Yhh48OGUcU6YX7/GrEjdgE6icfHysa5u81KSQYWdGC7GHyVlQhoUXYWcPQud6l6pudeTKk67tl8QvMBz9Mm293YC4rBBgc6GEsDjq0ks9liOmKQO32IxnP/c7fjKLs4A68E0MXddTZCUUviG6VaCbOQUoFDu1nng6+f/4FWMWj0G6o7x2bKTFoauO/VDEhaVX0Nu1Qq60dECuzSY0CIs6aI/MCD/JnZob+9Bu2hB5pUHxgL2NMHuXmyeWszja7rDvDCl0OCddxzCO4J3cZfRUb0WW/qeC+o9tgLCtEX14+B2MLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5K5ry7QlbAucDKyTcfoqAcRedTOmjyQa00Wt/wrpO88=; b=KbbVMAY3GRLv7Gc+NNysjFFmpefj+N3EkfTtTWxgsAGBTqOsRl9Kiel4yrV6t8nrNW3rQBauTxTUoW5z+3hhXKkKd/WlogX7omyVroto81Ruhy8TUyzugCI347RRfkk/c+08ePuvmVTSewgobquxrTQ0aUvJ0xbKnKuRwkjhL+drwBKUnDHjqihO/OWKEnIaKhyTl2BkQSk1qw+rpQcV4OJs4w60azJvmL6wgHkTlnTOzhvDCKaeSvJiPDngb8YsfPE/0R4rvD6ITFD1FuL0xUYqh7Za9kXIkp93zhXE/9sqMrS3AzEMFkvAB0ABfqJ7pLuU3K7qL2/jW305U///cA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by GVXPR03MB10213.eurprd03.prod.outlook.com (2603:10a6:150:14b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.18; Thu, 16 Jan 2025 13:16:33 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 13:16:33 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Manuel Traut Subject: [PATCH v2 3/5] rtc-rv8803: add tamper function to sysfs for rv8901 Date: Thu, 16 Jan 2025 14:15:30 +0100 Message-Id: <20250116131532.471040-4-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250116131532.471040-1-markus.burri@mt.com> References: <20250116131532.471040-1-markus.burri@mt.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR03CA0446.namprd03.prod.outlook.com (2603:10b6:610:10e::35) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|GVXPR03MB10213:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b328b61-05dc-4f1a-7351-08dd362fff2c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wRp0rk1n0Csq9SnWUfxNCobRf5d4UoCA713PnXUOaXRDhNQqa2Oxwibzkku6?= =?us-ascii?Q?vXVswme9KSHM1i4G3wk3Ow6v8oNWwnt0ojOt+1NGsK2aI6B98trsfwY/JfJE?= =?us-ascii?Q?qtut5lKVMKwbdKuD4vsBtagzudJDItaxKQW91GXZoZWD0M4q++paAskBdxtu?= =?us-ascii?Q?swLlUnZwocFie4tGSn7T5hJwwaYIz7IWsngBW+je87qDjSIBb88uiYNfBPbg?= =?us-ascii?Q?Skpjxge1SdzcTrP51pn23OSZ3CuqRteqBrQ0npycnuItCVRYdtjahmvIPcVz?= =?us-ascii?Q?JWSYXJOeZaTJFn8TyNndehHNdmHt7QYj3aPBdI4eZ7uY/iBIZ2I1wuKHFJQB?= =?us-ascii?Q?VDxHfir6vvDF7A585+U1LWsiQ3Njlq0QJ8yGZafKXJORyssVT5RtmnSdCbXP?= =?us-ascii?Q?7IZOs+/pyEToJGXSHHkys9aa5V38ZtJ+Zk4+8E1n0YGBN3KHXT2rjgY7H3mB?= =?us-ascii?Q?dG6JERX0aBwotl4cuAbax1pxsdVevrL5rywXJ2OJHTjs5CNDDAOdCegGEcML?= =?us-ascii?Q?MlPsFPjxkcHmCmXYz2zAgyqqKf7bBjbkD2YbeU0BCGyiNoAcTzDx7wnp1fRa?= =?us-ascii?Q?moYsH0daks1Hj5lG/S0NPYScTSvhXRjQnOO/qX3HZboOBfvYKOt4Sqe1JqMG?= =?us-ascii?Q?lbKurQ6Ix0XKzPvbemgxc6FJ7SV3lrWvldx/TAZOPNJhaDZCVtj8oTxRO19I?= =?us-ascii?Q?ZaS2zjXocGmWt9mf3SZ20/inRmEoKZ8C2YAfMqtdtmWwKOMdzbNk+9w0jN+9?= =?us-ascii?Q?ylIk14wbmrS4B7S5ZUhAi5jTrv2dDcPq9TCToIZ1VRN6Iy0r3CCIDA04U99s?= =?us-ascii?Q?YrfI0smPZULQd7bIWRK6z7P2EcetY2fHP58eL13ikbemXoVAcJH7v9LL2LHm?= =?us-ascii?Q?V4q/Jkwr1iuqHbRn8KC2cVb7OQxeak4RxKcwx40fGj0E/ewT5LCGAm7ip1+H?= =?us-ascii?Q?ke/TdNOhJTlIK7PgPtn310R2Vwt5BR9+lvJzeYgTEu/OgPUuEzGEmLZEMO9B?= =?us-ascii?Q?6bUNW0SxGrUDBW43alKtbA3NEHCHnvY3+UqxQanhlscBaWDK44NLWDvkIGfa?= =?us-ascii?Q?gqdg/9RIQAtkjXP8SRIg5ej9YWHpGR3LWz9wjKMHvtHd17+JnDF9L8PabQY6?= =?us-ascii?Q?9RS4PWdft24S5kFf0G9sFJ8GX1q/jSU4GPmGBa1gAdnuEUvw7c8dxcF3YrI7?= =?us-ascii?Q?OhJylPKvW5mZ/OssoIaH5mbSim02F4iboejvOEfnbsDQXV3zVfxGlKTzF6Rn?= =?us-ascii?Q?Big36YH3uEGebtDtTn9NNrPhv9ZrQSwzp7AeAwgf9H6RODkpw+EMOjHif9yG?= =?us-ascii?Q?Tc/jkuvFtQtjRNntmeEasLo6mMRfc+qkDsiSGudBHHVIbs1It33raDbDMmir?= =?us-ascii?Q?Bv1IUwXPyNbP3BnMkW+3FOd7jRtq1EO5X53VZuwr/lR3Zl1IbYo4wYKPKpQp?= =?us-ascii?Q?7pAZalYFVY2QQ5fjtc9tvK6vmtmLWu2H?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lUKbHthN4gggRFRgwx4DdgN/qADkfN18zRBYssk3nopju935SBglmK+8clq0?= =?us-ascii?Q?Xp6Z1WOZaCrKe7/uFYvz06UYNCuj4ZtDKScH6SlDwqH2+9zwZGD0VDGvyhdv?= =?us-ascii?Q?jhrq3OfkzUW517EPlxfBjfnQ5TljiMvYy5HT6KJvlSwqDSvGCLFnMQ6xWEfc?= =?us-ascii?Q?EoAdJvfGlMXJYORmfHF72O9oKz7Vzy/hMmQ2IlfOd0Swd+7a7yt8PIEL+XK+?= =?us-ascii?Q?4ANn/wG4/ndtLpoCaHQyT6qQJLLQWjCdwSchGQQM3h47w9VEEIiCGo1DDUwG?= =?us-ascii?Q?OwH0A01+5j0EZPNdNrYvSQDz7iox8cBIEEo7P+GxDBlwI53OM8AqINzcQJ1H?= =?us-ascii?Q?hVzFBcEmjfsicPFzM0Z0rLUx2DcaDxkO/UMGZR0uMFlcPZ1SBLKMzZovHM2e?= =?us-ascii?Q?wuM+YSJsHvMVxJ4cseyIZPyOcDRnNigGvhnXhaSKNSAvo5blgA5Gd6sZKF8v?= =?us-ascii?Q?VzzDGegjwH51dO14EiUjGW9GxmhMS9vd34qPSHFkJqr6yEpuc9Mu5U75OvqT?= =?us-ascii?Q?1d5vjNhHqfQVkM4rJlH6931kZqyLUL6N2uK/LfBzQnSY2EKHu+8l1nbkqgRO?= =?us-ascii?Q?30czqdnuAU4zScPsyxsYGeydo6gTZ7PHbUdsWFyHlvJZEakG6oYI3aPkyfuW?= =?us-ascii?Q?oXiLU0RzQKlzSXza2/qRdIS0rPzOEqgrVzXbimNI/BWNW3UD1omJ7XaMt4Oy?= =?us-ascii?Q?EhkD6HS03W3TssPRm00l1z7xhxLiRIdaHMMgxOXlP/Aalm0hWUMGbhQ+O3/f?= =?us-ascii?Q?eDSKO7gpWxmn0Nv3sm19Dft5XDuJJkzsuQkiuDiGaXhh+q4MSvVkSbAwMAdi?= =?us-ascii?Q?ZVsD0SZeC9O2d/5HIBcHR88Kstr9ELYhwbROj+E+CFyKmiLpTKsOpIIG0wym?= =?us-ascii?Q?7KW5bJysIdsPK4AwlWKCzZc1Wl/Fb6nezdnWJpcy5yNWumH8lzQv1bkDIKBj?= =?us-ascii?Q?juL6aL3LfPASgpSVaFxHoHISCUQojHH3TJ1DbAvvwXa0kpH6LLDQT3cPpQNz?= =?us-ascii?Q?zAskAmqcFxKfMdiKQX+HoZKfen2cF64cpee+UEXQxzwVOD+DEV3++hZPEM8T?= =?us-ascii?Q?zLh4lJ+y2D06ysosacJA444SQw/Kci7RosHOnY9sxBV7AUa6CyflEqauhMBF?= =?us-ascii?Q?UgmlhzdYzRYZ2kNFSx/9wG6VfZQdaZvvdNOBw5XwnFBeBe9J1xUxtkwl8tZB?= =?us-ascii?Q?1rBZ6TxIw6dyPZK4Q7qpxUSBMt0BWqguLUH1C/ryG8zph6Cj+FKuOBqJsDtS?= =?us-ascii?Q?nBEvMgXE36zYXlFknrx7Md2+HNy1qiDDvxJwc9WzOUQoFqC0Efm9dYdaqwxK?= =?us-ascii?Q?u/MzoXJuNVqVWSQKanIy+VLfAQ94sVAjgbAYtMuT/yCWQ52c4+bODgHZrX3g?= =?us-ascii?Q?K04JSAxRbCdRVRhe1KN8rcMYHksJE2A6ZJdLUVqF1W1jhXMkczJrSARF9SMc?= =?us-ascii?Q?budSo/osODoY/l5w7LDmDZ03C6GCSIFUtDOiqczE3MFt+zMBGab2G4qFGCOf?= =?us-ascii?Q?EoX7CVCMZCpVOEn75c0SebnpaGnIPFyNjyErpt01J+7cYMuO8/XRLAg/v/RG?= =?us-ascii?Q?mGLrqyrnfjZW7El6C0JhsVfKooVxjq61AtVGsbYl?= X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b328b61-05dc-4f1a-7351-08dd362fff2c X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2025 13:16:33.0928 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 38m0C8YiQalp6KYBAmrAATtIT0jWu8BLbZqcJa/xtRt6ZeS8nIZlXkO0G4D0APt0X4GeKDjcfImJLlY997TpTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10213 Content-Type: text/plain; charset="utf-8" Add sysfs interface to enable the EVINx pins and read the time-stamp events from EVINX. Signed-off-by: Markus Burri --- .../ABI/testing/sysfs-class-rtc-tamper | 21 + drivers/rtc/rtc-rv8803.c | 366 ++++++++++++++++++ 2 files changed, 387 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-class-rtc-tamper diff --git a/Documentation/ABI/testing/sysfs-class-rtc-tamper b/Documentati= on/ABI/testing/sysfs-class-rtc-tamper new file mode 100644 index 000000000..f035d0fa5 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-class-rtc-tamper @@ -0,0 +1,21 @@ +What: /sys/class/rtc/rtcX/tamper/enable +Date: January 2025 +KernelVersion: 6.13 +Contact: Markus Burri +Description: (WO) Attribute to enable and disable the rtc tamper function. + Write a '1' to enable tamper detection or a '0' to disable. + +What: /sys/class/rtc/rtcX/tamper/read +Date: January 2025 +KernelVersion: 6.13 +Contact: Markus Burri +Description: (RO) Attribute to read the stored timestamps form buffer FIFO. + The timestamps are returned one by one + Format is 'seconds.milliseconds' since the epoch followed by the trigger= events. + The value of the event is the current pin value. + + Example values: + - "1234.567 EVIN1=3D1" for a trigger from EVIN1 changed from low to high + - "1234.567 EVIN1=3D0 EVIN2=3D1 for a simultaneous trigger of EVIN1 chan= ged to low and + EVIN2 changed to high. + diff --git a/drivers/rtc/rtc-rv8803.c b/drivers/rtc/rtc-rv8803.c index 50fbae931..764e654c2 100644 --- a/drivers/rtc/rtc-rv8803.c +++ b/drivers/rtc/rtc-rv8803.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -58,6 +59,35 @@ #define RX8900_FLAG_SWOFF BIT(2) #define RX8900_FLAG_VDETOFF BIT(3) =20 +#define RX8901_EVIN_EN 0x20 +#define RX8901_EVIN1_CFG 0x21 +#define RX8901_EVIN2_CFG 0x23 +#define RX8901_EVIN3_CFG 0x25 +#define RX8901_EVENTx_CFG_POL GENMASK(1, 0) +#define RX8901_EVENTx_CFG_PUPD GENMASK(4, 2) + +#define RX8901_EVIN1_FLT 0x22 +#define RX8901_EVIN2_FLT 0x24 +#define RX8901_EVIN3_FLT 0x26 + +#define RX8901_BUF1_CFG1 0x27 + +#define RX8901_BUF1_STAT 0x28 +#define RX8901_BUFx_STAT_PTR GENMASK(5, 0) +#define RX8901_WRCMD_CFG 0x41 +#define RX8901_WRCMD_TRG 0x42 + +#define RX8901_EVNT_INTE 0x43 + +#define RX8901_BUF_INTF 0x46 +#define RX8901_BUF_INTF_BUF1F BIT(5) + +#define RX8901_EVNT_INTF 0x47 + +#define NO_OF_EVIN 3 + +#define EVIN_FILTER_MAX 40 + enum rv8803_type { rv_8803, rx_8803, @@ -66,6 +96,50 @@ enum rv8803_type { rx_8901, }; =20 +enum evin_pull_resistor { + no =3D 0b000, + pull_up_500k =3D 0b001, + pull_up_1M =3D 0b010, + pull_up_10M =3D 0b011, + pull_down_500k =3D 0b100, +}; + +enum evin_trigger { + falling_edge =3D 0b00, + rising_edge =3D 0b01, + both_edges =3D 0b10, +}; + +struct cfg_val_txt { + char *txt; + u8 val; + bool hide; +}; + +static const struct cfg_val_txt trg_status_txt[] =3D { + { "EVIN1", BIT(5) }, + { "EVIN2", BIT(6) }, + { "EVIN3", BIT(7) }, + { "CMD", BIT(4) }, + { "VBATL", BIT(3) }, + { "VTMPL", BIT(2) }, + { "VDDL", BIT(1) }, + { "OSCSTP", BIT(0) }, + { NULL } +}; + +static const u8 evin_cfg_regs[] =3D { + RX8901_EVIN1_CFG, + RX8901_EVIN2_CFG, + RX8901_EVIN3_CFG +}; + +static const u8 evin_flt_regs[] =3D { + RX8901_EVIN1_FLT, + RX8901_EVIN2_FLT, + RX8901_EVIN3_FLT +}; + struct rv8803_data { struct i2c_client *client; struct rtc_device *rtc; @@ -558,6 +632,292 @@ static int rv8803_nvram_read(void *priv, unsigned int= offset, return 0; } =20 +static int rv8803_ts_event_write_evin(int evin, struct rv8803_data *rv8803, + enum evin_pull_resistor pullup_down, + enum evin_trigger trigger, int filter) +{ + int ret; + u8 reg_mask; + struct i2c_client *client =3D rv8803->client; + + /* according to data-sheet, "1" is not valid for filter */ + if (evin >=3D NO_OF_EVIN || filter =3D=3D 1 || filter > EVIN_FILTER_MAX) + return -EINVAL; + + guard(mutex)(&rv8803->flags_lock); + + /* set EVENTx pull-up edge trigger */ + ret =3D rv8803_read_reg(client, evin_cfg_regs[evin]); + if (ret < 0) + return ret; + reg_mask =3D ret; + reg_mask &=3D ~(RX8901_EVENTx_CFG_PUPD | RX8901_EVENTx_CFG_POL); + reg_mask |=3D FIELD_PREP(RX8901_EVENTx_CFG_PUPD, pullup_down); + reg_mask |=3D FIELD_PREP(RX8901_EVENTx_CFG_POL, trigger); + ret =3D rv8803_write_reg(client, evin_cfg_regs[evin], reg_mask); + if (ret < 0) + return ret; + + /* set EVENTx noise filter */ + if (filter !=3D -1) { + ret =3D rv8803_write_reg(client, evin_flt_regs[evin], filter); + if (ret < 0) + return ret; + } + + return 0; +} + +static int rv8803_ts_enable_events(struct rv8803_data *rv8803, u8 enable_m= ask) +{ + int ret; + u8 reg_mask; + struct i2c_client *client =3D rv8803->client; + + guard(mutex)(&rv8803->flags_lock); + + /* event detection interrupt */ + ret =3D rv8803_read_reg(client, RV8803_CTRL); + if (ret < 0) + return ret; + + reg_mask =3D ret & ~RV8803_CTRL_EIE; + if (enable_mask) + reg_mask |=3D RV8803_CTRL_EIE; + + ret =3D rv8803_write_reg(client, RV8803_CTRL, reg_mask); + if (ret) + return ret; + + /* events for configuration */ + ret =3D rv8803_write_reg(client, RX8901_EVIN_EN, enable_mask); + if (ret < 0) + return ret; + + return 0; +} + +static ssize_t enable_store(struct device *dev, struct device_attribute *a= ttr, const char *buf, + size_t count) +{ + int ret; + int i; + unsigned long tmo; + u8 reg; + u8 reg_mask; + struct rv8803_data *rv8803 =3D dev_get_drvdata(dev->parent); + struct i2c_client *client =3D rv8803->client; + + /* EVINxCPEN | EVINxEN */; + const u8 reg_mask_evin_en =3D GENMASK(5, 3) | GENMASK(2, 0); + + bool enable =3D (strstr(buf, "1") =3D=3D buf) ? true : false; + + /* check if event detection status match requested mode */ + ret =3D rv8803_read_reg(client, RX8901_EVIN_EN); + if (ret < 0) + return ret; + + /* requested mode match current state -> nothing to do */ + if (ret =3D=3D (enable ? reg_mask_evin_en : 0)) + return count; + + dev_info(&client->dev, "%s time-stamp event detection\n", + (enable) ? "configure" : "disable"); + + /* + * 1. disable event detection interrupt + * 2. disable events for configuration + */ + ret =3D rv8803_ts_enable_events(rv8803, 0); + if (ret < 0) + return ret; + + /* for disable no configuration is needed */ + if (!enable) + return count; + + /* 3. set EVENTx pull-up edge trigger and noise filter */ + for (i =3D 0; i < NO_OF_EVIN; ++i) { + ret =3D rv8803_ts_event_write_evin(i, rv8803, pull_up_1M, falling_edge, = 0); + if (ret < 0) + return ret; + } + + scoped_guard(mutex, &rv8803->flags_lock) { + /* 4. enable EVENTx interrupt */ + ret =3D rv8803_read_reg(client, RX8901_EVNT_INTE); + if (ret < 0) + return ret; + reg_mask =3D BIT(5) | BIT(6) | BIT(7); /* EVINxIEN 1-3 */ + reg =3D (ret & ~reg_mask) | reg_mask; + ret =3D rv8803_write_reg(client, RX8901_EVNT_INTE, reg); + if (ret < 0) + return ret; + } + + /* + * 5. set BUF1 inhibit and interrupt every 1 event + * NOTE: BUF2-3 are not used in FIFO-mode + */ + ret =3D rv8803_write_reg(client, RX8901_BUF1_CFG1, 0x01); + if (ret < 0) + return ret; + + /* 6. clean and init for BUFx and event counter 1-3 and trigger cmd */ + reg =3D BIT(7) | GENMASK(6, 4); + reg |=3D BIT(0); /* CMDTRGEN */ + ret =3D rv8803_write_reg(client, RX8901_WRCMD_CFG, reg); + if (ret < 0) + return ret; + ret =3D rv8803_write_reg(client, RX8901_WRCMD_TRG, 0xFF); + if (ret < 0) + return ret; + tmo =3D jiffies + msecs_to_jiffies(100); /* timeout 100ms */ + do { + usleep_range(10, 2000); + ret =3D rv8803_read_reg(client, RX8901_WRCMD_TRG); + if (ret < 0) + return ret; + if (time_after(jiffies, tmo)) + return -EBUSY; + } while (ret); + + /* + * 7. enable event detection interrupt + * 8. / 10. enable events for configuration in FIFO mode + */ + ret =3D rv8803_ts_enable_events(rv8803, reg_mask_evin_en); + if (ret < 0) + return ret; + + return count; +} + +static ssize_t read_show(struct device *dev, struct device_attribute *attr= , char *buf) +{ + int ret; + int ev_idx; + int num_events; + unsigned long long time_s; + int time_ms; + int offset =3D 0; + u8 reg_mask; + u8 data[10]; + struct rtc_time tm; + + struct i2c_client *client =3D to_i2c_client(dev->parent); + struct rv8803_data *rv8803 =3D dev_get_drvdata(dev->parent); + + guard(mutex)(&rv8803->flags_lock); + + /* + * For detailed description see datasheet: + * - Reading Time Stamp Data (FIFO mode) + */ + + /* check interrupt source is from event 1-3 */ + ret =3D rv8803_read_reg(client, RX8901_EVNT_INTF); + if (ret < 0) + return ret; + + /* CHECK for EVF bit */ + if (ret & BIT(2)) { + /* clear EVINxF 1-3 */ + reg_mask =3D BIT(5) | BIT(6) | BIT(7); + ret =3D rv8803_write_reg(client, RX8901_EVNT_INTF, ret & ~reg_mask); + if (ret < 0) + return ret; + } + + /* check interrupt source is from event 1-3 */ + ret =3D rv8803_read_reg(client, RX8901_BUF_INTF); + if (ret < 0) + return ret; + if (ret & RX8901_BUF_INTF_BUF1F) { + /* disable interrupts */ + ret =3D rv8803_read_reg(client, RV8803_CTRL); + if (ret < 0) + return ret; + ret =3D rv8803_write_reg(client, RV8803_CTRL, ret & ~RV8803_CTRL_EIE); + if (ret < 0) + return ret; + + /* clear interrupt flag */ + ret =3D rv8803_read_reg(client, RX8901_BUF_INTF); + if (ret < 0) + return ret; + ret =3D rv8803_write_reg(client, RX8901_BUF_INTF, ret & ~RX8901_BUF_INTF= _BUF1F); + if (ret < 0) + return ret; + } + + /* test if there are events available */ + ret =3D rv8803_read_reg(client, RX8901_BUF1_STAT); + if (ret < 0) + return ret; + num_events =3D ret & RX8901_BUFx_STAT_PTR; + + if (num_events) { + ret =3D rv8803_read_regs(client, 0x60, ARRAY_SIZE(data), data); + if (ret < 0) + return ret; + + tm.tm_sec =3D bcd2bin(data[2]); + tm.tm_min =3D bcd2bin(data[3]); + tm.tm_hour =3D bcd2bin(data[4]); + tm.tm_mday =3D bcd2bin(data[5]); + tm.tm_mon =3D bcd2bin(data[6]) - 1; + tm.tm_year =3D bcd2bin(data[7]) + 100; + tm.tm_wday =3D -1; + tm.tm_yday =3D -1; + tm.tm_isdst =3D -1; + + ret =3D rtc_valid_tm(&tm); + if (ret) + return ret; + + /* calculate 1/1024 -> ms */ + time_ms =3D (1000 * ((data[1] << 2) | (data[0] >> 6))) / 1024; + time_s =3D rtc_tm_to_time64(&tm); + + offset +=3D snprintf(buf + offset, PAGE_SIZE - offset, "%llu.%03d", time= _s, time_ms); + for (ev_idx =3D 0; trg_status_txt[ev_idx].txt; ++ev_idx) + if (data[9] & trg_status_txt[ev_idx].val) + offset +=3D snprintf(buf + offset, PAGE_SIZE - offset, " %s=3D%d", + trg_status_txt[ev_idx].txt, + !!(trg_status_txt[ev_idx].val & data[8])); + offset +=3D snprintf(buf + offset, PAGE_SIZE - offset, "\n"); + + /* according to the datasheet we have to wait for 1ms */ + usleep_range(1000, 2000); + } + + /* re-enable interrupts */ + ret =3D rv8803_read_reg(client, RV8803_CTRL); + if (ret < 0) + return ret; + ret =3D rv8803_write_reg(client, RV8803_CTRL, ret | RV8803_CTRL_EIE); + if (ret < 0) + return ret; + + return offset; +} + +static DEVICE_ATTR_WO(enable); +static DEVICE_ATTR_RO(read); + +static struct attribute *rv8803_rtc_event_attrs[] =3D { + &dev_attr_enable.attr, + &dev_attr_read.attr, + NULL +}; + +static const struct attribute_group rv8803_rtc_sysfs_event_files =3D { + .name =3D "tamper", + .attrs =3D rv8803_rtc_event_attrs, +}; + static const struct rtc_class_ops rv8803_rtc_ops =3D { .read_time =3D rv8803_get_time, .set_time =3D rv8803_set_time, @@ -732,6 +1092,12 @@ static int rv8803_probe(struct i2c_client *client) if (err) return err; =20 + if (rv8803->type =3D=3D rx_8901) { + err =3D rtc_add_group(rv8803->rtc, &rv8803_rtc_sysfs_event_files); + if (err) + return err; + } + rv8803->rtc->ops =3D &rv8803_rtc_ops; rv8803->rtc->range_min =3D RTC_TIMESTAMP_BEGIN_2000; rv8803->rtc->range_max =3D RTC_TIMESTAMP_END_2099; --=20 2.39.5 From nobody Sun Feb 8 05:16:17 2026 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58]) (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 624AA22687A; Thu, 16 Jan 2025 13:16:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033409; cv=fail; b=tPyfWlv4r4dSg1pyvRpsYGfY0PjixzEJ5Z2D/LxP3ZgPiJxLRedFlYy4ejbh+FZPnV+8dMq+Zl/q1MwYMarceb+MGsRXELF0inoLYRWukZvQYQDeXJh1fW/MCjNNNBjTTAhuzgNpBDk5KkPyKnCkbjJoYPRIgvhx1rPuwbZDycU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033409; c=relaxed/simple; bh=T0igLe/WdMYjFLECCv0okRIHss/bNEZ41PsElK/lXC4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=PlIXoGELm/9S47YLF+3qCQxyLP2ckiwe+lBGrZ3lcPRRtEkIVcu678wXTDYz7WbC1ORlBgO65O8hW1WezG1XddNbqzyk0OrrkyeC7gjIKaF3GA4RBcM5HNRFTxK0Ilxjd1ntGAtaadWv4hPx261kSl6Y596Jz1oXKxX2KpCqp88= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=iJRcb7AA; arc=fail smtp.client-ip=40.107.20.58 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="iJRcb7AA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UNHBVkuSeotBjRnDeb8JpHcFvP35z0X7kSqN8vqrdEKXEds0Wj7jKMZxuWZ/stOzk1UqRZGEpBeR/P8RrbtweJqzRk6nwp24EoB4aoYR0nScfCbt7MuGxT2meSQMx04j310+bGmy3rgkQXv1OVJEITnKsJXi+jN4qbhUHgacKsCgv0MnIwWO1po1Z/zodsLzr7RW1BW9yJVPtuvhzkfqeK4cn76AD5D8EFjdhOux25Ymhf7DFsLTeGMpRVIvpyvi9QAt3N+0TSR6Rd5E5S4tRww8bj0z+26JgHf+db23MJdBByx7+KSNCcDSOPgIfoE2Dty8A2neukDGJxHfoDaiwQ== 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=XyxHY4cHAJj5jQ0cmT6vECmB64aT7TxR+aMGbq+e8jw=; b=dZUr58zUbmuf0lbB9/MOR/36Vy17D2QYstgLb7kPlvKDluv9n7Je8AlV4zU7ZgIblu3QvVv/Aoqrb4DCZipiWx7RBbeuKjbRRQi+bmx+BNG8t8F0r9pfZXgIseNfNy1t9aCc3tavME7gmJIVyRfxlhDHu30XER2dmtTsslw4CaJyT09M2F8hQwAcHLWuEeGm3MMJsyWSyWtAOwTui8vRHgpRhtmAfun6vQQmHcQZT/flAo5lrUJK3ZLer4BeXAy9cgdLwPHiVltN9d9h06bjMciwjo9xS0v7R7FIJYWvwOiFlJ5ikSvSGF7Kn1Rh8dOzQEHKpI2Z1fRwjRfE8MnPLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XyxHY4cHAJj5jQ0cmT6vECmB64aT7TxR+aMGbq+e8jw=; b=iJRcb7AA7hVD+xk4bjd2GXnfmmXdkLr7RDeDthhJzIZQUz604UF4Dz6UK8Gjkv3pxcaIkjnElC/ucOuzwINKVaeygPQxqM6zyhobxHNUwqKXzt05fGbkzUyte/W0gCvD5dSYA6/BFT2H705VqEXaMU30iCr2emPzqKsZKF24rbB6mUHx2Qz/2ubz5xJs5Et1cYm46rNuX3Ooj0Ex2XrYKZ0eSwbD9AtUGsRc1XvcjHU9Ia1h7IbCxciDydnABRHflq+uTGaGYHOXp6f4ssdEUcazLonje29W80uEFKydeTlkKU4tZeCu9jhcK6q8ZtwfofjAwiZWz4IXmijUP1FPnA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by GVXPR03MB10213.eurprd03.prod.outlook.com (2603:10a6:150:14b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.18; Thu, 16 Jan 2025 13:16:44 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 13:16:44 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Manuel Traut Subject: [PATCH v2 4/5] rtc-rv8803: extend sysfs to trigger internal ts-event Date: Thu, 16 Jan 2025 14:15:31 +0100 Message-Id: <20250116131532.471040-5-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250116131532.471040-1-markus.burri@mt.com> References: <20250116131532.471040-1-markus.burri@mt.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR03CA0440.namprd03.prod.outlook.com (2603:10b6:610:10e::29) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|GVXPR03MB10213:EE_ X-MS-Office365-Filtering-Correlation-Id: 09cfb58e-b815-4cd6-5c66-08dd3630062f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Wzmnq9lyfRHPyKEZsApDiTMIFles2rIPO7rUKqFtYvRUiuksdyL2XQB/amIP?= =?us-ascii?Q?6/uFx2YCGc2XpqRmCbHXns8USeXiZK1iYtMcIj5wCueJW8JJaWWlyMrZaXli?= =?us-ascii?Q?cluQu9pj2SODhn8Zb2q8qRKgzi6+hzUZQbA/26juF+i8IxQ9tvypNYnIVNkd?= =?us-ascii?Q?sfiK2RcJTXnt3VwpyRq86gTUEFOnRCjTLADdbqeW0Kl2RSaCjY0/EJDU5XEk?= =?us-ascii?Q?wMTwDqmTNQAWc04vh31Z47pZ/2huQ5B9e0ib0KXRNDw/1Mbn6h27Nkgc68oU?= =?us-ascii?Q?GFtOfHY8CV8hGqHgEsqlgyk0XH8pvntzYN1wdCsWQ/dw8w7C+JBpcr3yGWAm?= =?us-ascii?Q?q1VbBQRdUMgJzLoLtG4VOorSJDiSJ9OXkdDD3rouK3TeKFiZ4gtUp7285Ipe?= =?us-ascii?Q?i4oH0Bq8LggTQe3XMpTWbB/jdSLCWnIWtiDgEYXl+NDNpPidc1E+LlwMdqxw?= =?us-ascii?Q?wSzbpJEkP0E3X/OSfQrDZBK21WoJtejrV//WXnOeHSWF26HBZrG0zMP5zlv7?= =?us-ascii?Q?89J316lFOdvk8gwvc9x20Bu+DpGPgUpKzSQO8RtUGIoy+hVB+JQtJd1qkpfp?= =?us-ascii?Q?ULcvOedxfezInS7lSQWfIzkYbCTXTyoyRMV6TvJLPIaUxKwPK5OfhB6SnHWC?= =?us-ascii?Q?Q0mX38mr0LCtsNzLKrZ7uMP3ak+G8nhbiEOXu3/y0u5QcihoQ4eVvMhM17sK?= =?us-ascii?Q?uIJi92NYpFdVbd0vf8HSrVROf12vyMQEbZ8/gj9iC24nhM+YEQO3UdM3tBQ+?= =?us-ascii?Q?JU+1Y6jkfXGB7nrXXsGdcE59ZEUtB/92KD0gFGXuW5N0TRXWiHiuW16yB23h?= =?us-ascii?Q?OqXddS5OGjBxM0R13iAjL2m8gyDXqN7nqjtCLOZvvYkN3U96p+wM2nTyQCAx?= =?us-ascii?Q?vcguFt0U2C836Y7jgZ058esvVF8q1bRAMlbb4C2IWIR/dLkkSxYmxCT3a6k9?= =?us-ascii?Q?2gOUXRd/6ABxjRRUQPYISvATi+OWYJ7aVnNUChzAzl+HiCRB7hOI6PkQpB2Z?= =?us-ascii?Q?v0fcts64zeeNA98yDWZ8/Pz8rk8syXG+1OSRDDk2h9vtHW1Pal1Ymb18w+rC?= =?us-ascii?Q?eflF1WjWlxCTDQ/K1B2g7iw9q2nCHjxdw77MvEDvDq4aYia+Mepxr931QcVV?= =?us-ascii?Q?o3APf05iNCfFlxtWaAeHqChjLQhZ+C8YsXY67yF1PXIJmL6BA9W64QMcHzjh?= =?us-ascii?Q?plFU/bTOeJPz/Snu6c+SAoiHTAf5pdMEP4Te11HHoogqcIJb1SiotoP6wF16?= =?us-ascii?Q?y3SvmNqx4gk4/BmBOekrUwdmoC7NvzknXYzdGoOq1oijcTRQHViziRejiLSt?= =?us-ascii?Q?XVMA2k3ab4EveanuKBPbI+1ZQl9Lk6NvRPV9gIXXFC19yyTdgVoePF/ftsv1?= =?us-ascii?Q?sSUAOHThbFqJs/zUSAix1g8CeqXYASsGQZLbx6R+7pqW0K9Y9mG2xW6lGcJI?= =?us-ascii?Q?D3VrTvqcrCUOgKGWTytEh9Mk/BlyyjWE?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mzfilpGHJqXCNZ/r34CltHEXis0EpO1j+g9KpvZl7yvc7pp8qs6gz1ivywhB?= =?us-ascii?Q?rBthHJfRjeVeviimurDMXwYf2/Nt9e5PAKGD0mjtNp+bKVuWtgGQcFaq+mqG?= =?us-ascii?Q?rkBP1DxFJ/0oRiXEcyRxl5vyZ8xy2SkfGDjruxpYS4ur1hfxL4gNYR8UL2nn?= =?us-ascii?Q?q2t4dlgJkpBpJ5ObVin4Y4d0cUIyKpzb3RU6hsU9rjGKgWLDGnQ+RdTQACcx?= =?us-ascii?Q?/P8mDFjmj6nKyB/VFCGdaTwRfszPdddwlBbEevU9BA+OXWjMBn5BEgPkzo1E?= =?us-ascii?Q?GiF9INiyGfjnRNNTiXRhp+ZYQCGcrZkNWHkZU15FqCVxH9o1lUIiE0U0k0kk?= =?us-ascii?Q?DcF2+lEovkcOzyMflggVTkwGueXS2+vVWuH/iLLFnwK0RK1z2BddQrCxwTGt?= =?us-ascii?Q?YHUe33jukHCn4oF2rMJ1LXLGraXRHQ7mF7iO0ISAMHZfqPdIfRzETJN5WOiu?= =?us-ascii?Q?nh9A776bgp6JinXkvOje3VKcmgfIwtpOJ7QhouO0o2HXTVYU9vEb8SH937J2?= =?us-ascii?Q?C4ZWYBt3i90VgAkLwKD54aLgXdkKHkI7tzr4hhof6FFg5GAu4D61G32AhzP/?= =?us-ascii?Q?M9xBFwsj3SC4M/ebkidg8UC59DBKKldvnueuEiZxF9nKQYLrU403AEk10ZmQ?= =?us-ascii?Q?A4THrbzraY2AoaNHHMnLy/Jk7ZQ+6WURYupvJLNNHLjz5ZjsazCxtpSxijG3?= =?us-ascii?Q?jyOYvylU7ldr6p7FjQNYKFXGmi4zpn/fUcODaqP1gX/xaOm3CGYpAk3n3ALF?= =?us-ascii?Q?P+pxCHv7YZoc9dGpVLTVRYkOow4DQbhrm8v4dpCQhTWzu9ikCxpwaHjbOvBW?= =?us-ascii?Q?CLhuLGrRffXRga8Mqg35sPUK7Cbo+qHFIQXTG6URHWVzfnlWdetbfTM4s9Lm?= =?us-ascii?Q?7Wu9xoXSl5tpo5lJMmVgTyjO0uWFtu70yKAGrNzCrt+Ctym8vlv5fmX3MyRT?= =?us-ascii?Q?DeMDtXfl7oZqraVqF8HFEC0odLOhgmS6Lbfc/Rrtyre0FuRKFHPmStJQP2Cl?= =?us-ascii?Q?Jxh39pLHyu7yPLU2l9BuR9AeZfASUL8HOU4Br9qIY8IOLak2Ey5mFIhiS05k?= =?us-ascii?Q?HdDnWlwRmpYwFz67T5r74fu+8/rIJAQPW+Xw9/tFKnt3V2rgxvsIaN7h26li?= =?us-ascii?Q?9+5fefq7UfXXpQvwp9JUJ4Lq4kf/u3r1RSOpnfeLHPhHyTOdxwRmoKcvW45U?= =?us-ascii?Q?EOvxiGvUm6fYJ58AORm7eBV37V5F+yQfVm9PwTLiulbs2yoF+FufAJyZLkhw?= =?us-ascii?Q?GvDqFXI958h9g59dV52asIU7Semi6yALf2AVvCmzfQ+L4Uz+SHHG2YYba6Ub?= =?us-ascii?Q?+R7lfknldAGN5mX8kEwSIY7BLy34Ch5ueH1D+mmEAtOLHFwVWtDtv0v5uAN9?= =?us-ascii?Q?Wc+2xM8g7QwWCfdGcUhx+xx8ujFSRyrOzMq/tu+vKckgF9q1NVvzIjEYCMXX?= =?us-ascii?Q?YVY+S4ktLlS0RhzDG65Q+078yyexNkTXw2Rs9WesRii4Ni5t5dh8g1j9Hi6T?= =?us-ascii?Q?247+gZQViQCzVjOHDaqhiAXs78ZmZyA0IvL3/qAmafnAGVlCmHurWmW5IFKX?= =?us-ascii?Q?MSLaEUDBkmUez/JKEbqwXOtRMe0Od+1yfGyhKjVq?= X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09cfb58e-b815-4cd6-5c66-08dd3630062f X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2025 13:16:44.7221 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Jq52PhLBTvCQoi9uZbWAwmsFY1wRhyF/UpqWnVFkWF2r2f1DeVbtnALwptLl5amNNkUL24Di0tno0q09FfDHYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10213 Content-Type: text/plain; charset="utf-8" Extend sysfs to trigger an internal time-stamp event. The trigger function can be used from an application to trigger an internal time-stamp event. Signed-off-by: Markus Burri Reviewed-by: Manuel Traut --- .../ABI/testing/sysfs-class-rtc-tamper | 7 ++++ drivers/rtc/rtc-rv8803.c | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-class-rtc-tamper b/Documentati= on/ABI/testing/sysfs-class-rtc-tamper index f035d0fa5..2fd6578a6 100644 --- a/Documentation/ABI/testing/sysfs-class-rtc-tamper +++ b/Documentation/ABI/testing/sysfs-class-rtc-tamper @@ -18,4 +18,11 @@ Description: (RO) Attribute to read the stored timestamp= s form buffer FIFO. - "1234.567 EVIN1=3D1" for a trigger from EVIN1 changed from low to high - "1234.567 EVIN1=3D0 EVIN2=3D1 for a simultaneous trigger of EVIN1 chan= ged to low and EVIN2 changed to high. + - "1234.567 CMD=3D0" for a internal trigger =20 +What: /sys/class/rtc/rtcX/tamper/trigger +Date: January 2025 +KernelVersion: 6.13 +Contact: Markus Burri +Description: (WO) Attribute to trigger an internal timestamp event + Write a '1' to trigger an internal event and store a timestamp. diff --git a/drivers/rtc/rtc-rv8803.c b/drivers/rtc/rtc-rv8803.c index 764e654c2..ca3a19162 100644 --- a/drivers/rtc/rtc-rv8803.c +++ b/drivers/rtc/rtc-rv8803.c @@ -904,12 +904,45 @@ static ssize_t read_show(struct device *dev, struct d= evice_attribute *attr, char return offset; } =20 +static ssize_t trigger_store(struct device *dev, struct device_attribute *= attr, const char *buf, + size_t count) +{ + struct rv8803_data *rv8803 =3D dev_get_drvdata(dev->parent); + struct i2c_client *client =3D rv8803->client; + int ret; + unsigned long tmo; + + guard(mutex)(&rv8803->flags_lock); + + /* CMDTRGEN */ + ret =3D rv8803_write_reg(client, RX8901_WRCMD_CFG, BIT(0)); + if (ret < 0) + return ret; + ret =3D rv8803_write_reg(client, RX8901_WRCMD_TRG, 0xFF); + if (ret < 0) + return ret; + + tmo =3D jiffies + msecs_to_jiffies(100); /* timeout 100ms */ + do { + usleep_range(10, 2000); + ret =3D rv8803_read_reg(client, RX8901_WRCMD_TRG); + if (ret < 0) + return ret; + if (time_after(jiffies, tmo)) + return -EBUSY; + } while (ret); + + return count; +} + static DEVICE_ATTR_WO(enable); static DEVICE_ATTR_RO(read); +static DEVICE_ATTR_WO(trigger); =20 static struct attribute *rv8803_rtc_event_attrs[] =3D { &dev_attr_enable.attr, &dev_attr_read.attr, + &dev_attr_trigger.attr, NULL }; =20 --=20 2.39.5 From nobody Sun Feb 8 05:16:17 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013003.outbound.protection.outlook.com [40.107.162.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 E3C741DE4FF; Thu, 16 Jan 2025 13:17:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033476; cv=fail; b=przCYtNu/yfW+jcHK3Az5p2D93Ku1H204YlLoiHqvWAXF1KwguUJ1HcZVxkgKwwTEIZYth8lG5LIzTkeZrLqKmOjtD33DDZ1oySNzMzG4PCEDD1ZCtdtdY91DdPhqD6EWQyIeihp9V37ADoK9oMBIZ3xNusVpPvGm/ffs5wxk1E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737033476; c=relaxed/simple; bh=G0JpR4o0dveiFewUjh3D2dDUod5Gr2K3BzE3efjffzw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=TgfUOyrZM366pes5XYqW3KdkDNch3a8ab/Px2NzYVwnCHrKuOIYkc2lSM0rLigG83KePuR3Vlf1i2P2uEVNVtgES49RlZjD2O7vkSGx6Q9JViuEXdbPI/oqaRQsUFdn+BXwM0VzKMc4EYmZ95P/owUG5gSNiDk9W5yXBYCAvWa0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=MxjLssrU; arc=fail smtp.client-ip=40.107.162.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="MxjLssrU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Tklw/tNNOsw0OKyP5dAWSs1ejmcb6i6AtUTfxpnts2vYoaxdPSmJh/4HFoSWtUK8aUKNig9DztA2kELj4mLog+rn1D4NR81IMN/n1wIr710rgJIpuJ71wRc3J6fNZYpx3OQdFrET3e+klpzxXG9ZYzJv2LcsfE+uuQIEgC+bihNOoWuQjn7r3PkpaORootHEP94BV7vwe9wF5Ostr41QHX2/lO9kbuoLKZbnEavF2SB48QKef5rI3s3AWxE4Ul1pGo+TH3x3HoMqCgJem43NsHRQqvJOdimN6V8mQvq3kHL7dSvnrl04hDTFR1GfCiHacXO9it976mDq++vJJ2wZSA== 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=m6Nm1bdr4Hx2yhx20j0v0XZqdvj853dSp2i7hjJp6QA=; b=sHTkyGHjsvspxryf92TojItreC1qZ8ivuSAg17zlfShslWehXzuGtMW3vvyO6/fLYb1s/t03lIkokG0Zbe54eXLBsorxVzzH0+EO7cenCzonCb/zoWCSmFCdKL8X1FdQZDn1jSfs69vrudulVxcaklwBRRUt7d1aIiQxu7AvIHdc51E4qneUIwjUU+QbmZPCXuznm7zsnLBUxi67osxiIkLi2X1cT+gxws4KEWcVhNdNwIvzdV+28Qaw+E5avkfn80lDUI490sAvTalZYKAy4ZbzB5hCi8WQ9krFAA99qXcX9sVVQOauFAKmjQBb0c+u8VGtyRAllhC+DB9mDtjpNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m6Nm1bdr4Hx2yhx20j0v0XZqdvj853dSp2i7hjJp6QA=; b=MxjLssrUEWbAlLtvRKg2Z0wOKusruiNidwj2nzV0enHL/INvhUp2diQ+Lvlb1RxFyAxJTBdo1dmYvU2kZLd/5sNCfZ5a5LngIMYJ03RgtVvmqsa8sD8nXpjD252dmVs+J+ae8gIWeyOLc591XtUydxZGqQyUkz6XNt/8Gaxqgqef5dS9vuF4uTycQ79WhcvP5R42P9R1c3ggUq/h/r9DI4urDjG+te2Qae9UGY/VLcgbTi2IYRMfLuL7VMjU+IFd8U4M63mLGFGo4a3ILwNvMvBTO17Cqwcwxtb65c6NtHLdKI9q3o/9TpCNeewv8iX3hExd8jhBIyPc1DTm3JMtog== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by PA4PR03MB7326.eurprd03.prod.outlook.com (2603:10a6:102:100::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.13; Thu, 16 Jan 2025 13:17:52 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 13:17:51 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Manuel Traut Subject: [PATCH v2 5/5] rtc-rv8803: extend sysfs to read status Date: Thu, 16 Jan 2025 14:15:32 +0100 Message-Id: <20250116131532.471040-6-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250116131532.471040-1-markus.burri@mt.com> References: <20250116131532.471040-1-markus.burri@mt.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR03CA0040.namprd03.prod.outlook.com (2603:10b6:610:b3::15) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|PA4PR03MB7326:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d29fbbe-e1de-41b8-cec8-08dd36302e3b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?l8KmPxqzaAl0B2fR2tMdvfnJ40E28nwZRBLU2YquiI0J0/ONvv3F8pfUoCK4?= =?us-ascii?Q?nlfUOHHdS0CAnEpsEXp5aBXpFhRTR8KYhuLtecYpbLBQ32GO2n0yN0c3Zgzw?= =?us-ascii?Q?v3i34cUBJdtAcpmRSOz5pdhOEB3xhGhuPF415DaC4MeJcnw0bPePqMXcqfiu?= =?us-ascii?Q?r6rACeyS/T0DX/sR/kpSJhNPu86jJmSMqXZKc845/7RSDOFuDIzsJuSrCQ4j?= =?us-ascii?Q?2wSfGlVmnz6pPsgTQZ1SwXdFng3nP5vkYlIQRdW7wrc0at5TO5viYUDGQ4qu?= =?us-ascii?Q?ILGzLa5qfhjFmUMptWDTKRM0vJfMm1wAtryfijX14zELSaRwJiCZKOcOcivU?= =?us-ascii?Q?/UwnebVXkuFf4dIwGQTWOLZShaYc3Co6I3hKv7J0mT9gSZk59J60ChEvY5Up?= =?us-ascii?Q?FMwc3GWLqQ3nxpOy95uyp6xqrI4LUeTLivr4/bCD9ydlVVaScBmePCt7P23E?= =?us-ascii?Q?zSuf1y2UWzik+Kg+FX9TDDMRbC5ow+mc9e3p+btaUJfZUxmnZTBBrnqlhbTS?= =?us-ascii?Q?CFimERmnhHL0FW7jrubTX8NEGJUbhiPPFa3UOLocpUQHL/lgVV1Y4AHkgouV?= =?us-ascii?Q?cxOosCNb+Run3IWIOIG3ifj7E+MBAs/y1+Cija6dlLww5jYvot9vLIS9TNqp?= =?us-ascii?Q?0PFlwEPK5mbQBNtXET61ZFWHS68wWuxb3GcXvsIXopFVAdifgs+FtE+re96M?= =?us-ascii?Q?7raT01QjEAoq0NSyrSB3qm8J2CYkVOLOSfaX8BeO+rQC/4OK2ngG/Dha0bPv?= =?us-ascii?Q?K4n1k0BZ4IKM0WzoBJRqAu9h5ivqOj9dcI91zVS8xuy++C7GGGTOiChZzBR5?= =?us-ascii?Q?+MDeBqhjy++TpDosQZD7V4wByjM1NuoSARYuEpoOAMdGtiYlINLXoMt88IEX?= =?us-ascii?Q?/xC+rsMMCcziD1SmklEzbDT2eATzsYjQ+gQfHow20fQFkL11inUngmWeOyzo?= =?us-ascii?Q?VGqPKGgJ+OG66Zpgju/BOyT7oQBZ7SyKhjk+PsdcTM+rDdikQ3PwaqNA9sNh?= =?us-ascii?Q?CRiIqb3qIfL0GMcuFEHXA5EQOLmfON/TW/hSEFYKnOB3S/URasA0gXIYbsve?= =?us-ascii?Q?qbQNR6bYgKVCN54aE+PDg+CEOXA2eisIgz6HBna3h07Gi+iUtbmUM8I9Y6e9?= =?us-ascii?Q?bmzRErk54+LbMB0xjzbld5XEw8yqNIdfKyIqpZnw2a9KKklKKdRkW+B8oqOe?= =?us-ascii?Q?YWqgYPuAXkfcubXHW7oSv+KYRwdNPxhWw5Yww0jL/g3Fk2Vbq/D02wm/kD3k?= =?us-ascii?Q?HVIHxx0VhWTBSSk6ts4pHuJJkB0dXTGNKEG/11v2Q8W6m+DMSBJebV6FjTy6?= =?us-ascii?Q?S1Kcnk+xN/BTy/lc9ZoWM8Qq6iogQlO/6d5Yfuq8Gk/y85nsik27ZwX5oITB?= =?us-ascii?Q?7MV+0pxbSLdjwY+rSL0HiWkufgIRbLiBMtJ1Fm+y+IdVdglajdJu8JQNYk5N?= =?us-ascii?Q?h49oKWHcO8idE5K0/tMpvI4En8KD6jI0?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2yMnxbFz5nDNK73q8OmrYrGmkwFMYUcks3EAtZx3GxA5DiMieXXTX4IhRjiJ?= =?us-ascii?Q?I8Brl6tfZ8vr08Qe3Yp5il4OEUmV26g2PF7WJG+XgHQiIXS5qUm16AoXFVgd?= =?us-ascii?Q?P3/PSoUxxscGsKmhU7iR0BLJTKplCUpWMCNnORbLqW1s2vg8iUuNxD0LNIvw?= =?us-ascii?Q?ieuphzsnnkuRcdZVhKVJKkvKHCp6EYvsAo9Jv/yJw1NFX5OFzJKYzEQQYcQg?= =?us-ascii?Q?aGazXYVr0DGXJVSH7+AN++n7QaYD3ilg9/Mi+HM6MumfhRfRRF3bbrYOvBC4?= =?us-ascii?Q?9zdKlo2LkyS9ltx1Y9I/yhKb95a3VcpO7IcNTxrQ+MpFT+AD4EPjkT9FNSSb?= =?us-ascii?Q?I1QX3fC4Hv9PhE8lO6LqY+uP7hmn/bREu2wrTFoNdzxONcZkK0hvqk42DORv?= =?us-ascii?Q?tlhJFkQ8R2k5B0NHETpaaQIR/PvYAs8llihHSJjZI3llm9prksiY1Bmcu8hr?= =?us-ascii?Q?1AcxLDm7bch4c2XVLmcuoeYyU5nCWYunfeJJPCZBlIvWlpgPuQYRH0pvIx5Q?= =?us-ascii?Q?Fk+A7cYI7JqJxnMxXTevGB1bHZ19n6L4ETDSQB5SCaYy5y21BswajWYVOWnR?= =?us-ascii?Q?Weujedh+GdHEixdFTmAwcVA/loKsLAV7HHHTLaDUVC5kvy1l79UJosjWxy5S?= =?us-ascii?Q?aROIIPj3iBr3EKYKa4ss7cKORC04WFYEuN8kA0RiZdhImkVspJHPITwRxuUi?= =?us-ascii?Q?GlOlx+iV45rFH98t/rdr/xA7Db98Xy2jkgyJHBqhWm3oL5/OMzFTYgxxlbPv?= =?us-ascii?Q?Jd6iDKybzlvMLJWSvSN6+qaLAF6bvPZFVYJob2P1MYmawVq/X5EW9t74p3zd?= =?us-ascii?Q?peMtjC2oC4ZbFN+ge2DVZG//5Br1AJ0LiYVkCiQOajrlbnWHfj/XLS9ZWrGw?= =?us-ascii?Q?6TonjTwJev7lroK5u9QbrvK3iIkmsAeKyCFMyZ7OmRlGTSFMal5XPnaXEbh9?= =?us-ascii?Q?N5rtErf1HunEI+m8LeHxw27nrWnUb9ViSIlNkUnVLiChrLsGBXOKarSaYu5p?= =?us-ascii?Q?rTIRtUAw/DVOiFuCrAJdCZQSjGtNjp2zkXQsqIByZiNyMiv5FJkJMt/e/lkN?= =?us-ascii?Q?XwxT2hJE6tr+/HPaJvv1h/VoM02EzqSf0EEKzSahejsL4zW+k+CtEO5ui6lt?= =?us-ascii?Q?qvDuMIV/gJIKjpFkI2nco1/N9aVzGFU1/OsV8CEFS5QbxvM+b7WPYY+/CUZl?= =?us-ascii?Q?paYWIAnBPh7hAovSd6dxl18PQzAj2vTIAufEwnzG4BEptSR2I0tDK1+iAlUH?= =?us-ascii?Q?rm6qjzgY2i8q7iJ8OgAPdF8x8qNFxTSvaaWydX9TKDsVt9hz10fxVC7tl4n7?= =?us-ascii?Q?tiHahjnExM9MAoZQbdq+WvEBVNGLOw2Wb81XcuhtGEvqrfTOIjG8rRRxxhnQ?= =?us-ascii?Q?+yPiCR+1a/GL1rD8BW2gCXb/zLqcCKnKevgdmvLEQGGvhKku7O7lIAlOcoIV?= =?us-ascii?Q?D++cmsMnF+mfbloLiJ390yOB8JZF8DxYiNs4l3neuZ9Yg8b/+HBLP+/qIOzs?= =?us-ascii?Q?xmvIRWf8iN+3dnZz0UD52LG7h2ksx7Yqqse69N6sGl+ba0cfF7bD9uL+gFFT?= =?us-ascii?Q?5fbDqiYg20e1tGOTFAMUezQF8dmGZmoybs+GxwHI?= X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d29fbbe-e1de-41b8-cec8-08dd36302e3b X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2025 13:17:51.9330 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WMMc+Q2kq5m331b/R1n3fxCF4RY3YtPMEqsecMQglpFBhykDVdMQ25F8f0f9HZ20wMBALFnk5Hk2HSmbAW4q2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7326 Content-Type: text/plain; charset="utf-8" Add sysfs functionality to read the status and configuration. The functions provide the number of stored timestamp events, the current EVIN pin configuration and the enabled/disabled status. Signed-off-by: Markus Burri Reviewed-by: Manuel Traut --- .../ABI/testing/sysfs-class-rtc-tamper | 8 ++ drivers/rtc/rtc-rv8803.c | 106 ++++++++++++++++++ 2 files changed, 114 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-class-rtc-tamper b/Documentati= on/ABI/testing/sysfs-class-rtc-tamper index 2fd6578a6..b3aa73c81 100644 --- a/Documentation/ABI/testing/sysfs-class-rtc-tamper +++ b/Documentation/ABI/testing/sysfs-class-rtc-tamper @@ -26,3 +26,11 @@ KernelVersion: 6.13 Contact: Markus Burri Description: (WO) Attribute to trigger an internal timestamp event Write a '1' to trigger an internal event and store a timestamp. + +What: /sys/class/rtc/rtcX/tamper/status +Date: January 2025 +KernelVersion: 6.13 +Contact: Markus Burri +Description: (RO) Attribute to read configuration and status for EVINx and= buffer. + Provide the number of stored timestamp events, the current EVIN pin conf= iguration + and the enabled/disabled status. diff --git a/drivers/rtc/rtc-rv8803.c b/drivers/rtc/rtc-rv8803.c index ca3a19162..350cd92d6 100644 --- a/drivers/rtc/rtc-rv8803.c +++ b/drivers/rtc/rtc-rv8803.c @@ -84,8 +84,11 @@ =20 #define RX8901_EVNT_INTF 0x47 =20 +#define RX8901_BUF_OVWF 0x4F + #define NO_OF_EVIN 3 =20 +#define EVIN_FILTER_FACTOR 125 #define EVIN_FILTER_MAX 40 =20 enum rv8803_type { @@ -116,6 +119,26 @@ struct cfg_val_txt { bool hide; }; =20 +static const struct cfg_val_txt pull_resistor_txt[] =3D { + { "no", no }, + { "PU/500k", pull_up_500k }, + { "PU/1M", pull_up_1M }, + { "PU/10M", pull_up_10M }, + { "PD/500k", pull_down_500k }, + { "no", 0b101, 1 }, + { "no", 0b110, 1 }, + { "no", 0b111, 1 }, + { NULL } +}; + +static const struct cfg_val_txt trigger_txt[] =3D { + { "falling", falling_edge }, + { "rising", rising_edge }, + { "both", both_edges }, + { "both", 0b11, 1 }, + { NULL } +}; + static const struct cfg_val_txt trg_status_txt[] =3D { { "EVIN1", BIT(5) }, { "EVIN2", BIT(6) }, @@ -632,6 +655,16 @@ static int rv8803_nvram_read(void *priv, unsigned int = offset, return 0; } =20 +static char *cfg2txt(const struct cfg_val_txt *cfg, u8 value) +{ + do { + if (cfg->val =3D=3D value) + return cfg->txt; + } while (++cfg && cfg->txt); + + return NULL; +} + static int rv8803_ts_event_write_evin(int evin, struct rv8803_data *rv8803, enum evin_pull_resistor pullup_down, enum evin_trigger trigger, int filter) @@ -935,14 +968,87 @@ static ssize_t trigger_store(struct device *dev, stru= ct device_attribute *attr, return count; } =20 +static ssize_t status_show(struct device *dev, struct device_attribute *at= tr, + char *buf) +{ + int evin_en, evin_cfg, evin_flt, buf1_cfg, buf1_stat, buf_ovwf; + int i; + int offset =3D 0; + u8 ev_pullupdown[NO_OF_EVIN]; + u8 ev_trigger[NO_OF_EVIN]; + int ev_filter[NO_OF_EVIN]; + + struct i2c_client *client =3D to_i2c_client(dev->parent); + struct rv8803_data *rv8803 =3D dev_get_drvdata(dev->parent); + + scoped_guard(mutex, &rv8803->flags_lock) { + evin_en =3D rv8803_read_reg(client, RX8901_EVIN_EN); + if (evin_en < 0) + return evin_en; + + for (i =3D 0; i < NO_OF_EVIN; ++i) { + evin_cfg =3D rv8803_read_reg(client, evin_cfg_regs[i]); + evin_flt =3D rv8803_read_reg(client, evin_flt_regs[i]); + if (evin_cfg < 0 || evin_flt < 0) + return -EIO; + + ev_pullupdown[i] =3D FIELD_GET(RX8901_EVENTx_CFG_PUPD, evin_cfg); + ev_trigger[i] =3D FIELD_GET(RX8901_EVENTx_CFG_POL, evin_cfg); + ev_filter[i] =3D EVIN_FILTER_FACTOR * evin_flt; + } + + buf1_cfg =3D rv8803_read_reg(client, RX8901_BUF1_CFG1); + buf1_stat =3D rv8803_read_reg(client, RX8901_BUF1_STAT); + buf_ovwf =3D rv8803_read_reg(client, RX8901_BUF_OVWF); + if (buf1_stat < 0 || buf1_stat < 0 || buf_ovwf < 0) + return -EIO; + } + + offset +=3D sprintf(buf + offset, "Mode: %s\n\n", + FIELD_GET(BIT(6), evin_en) ? "direct" : "fifo"); + offset +=3D sprintf(buf + offset, "Event config:\n"); + offset +=3D sprintf(buf + offset, " %-13s %-7s %-7s %-7s\n", "", "EVIN1= ", "EVIN2", "EVIN3"); + offset +=3D sprintf(buf + offset, " %-13s %-7ld %-7ld %-7ld\n", "Enable= ", + FIELD_GET(BIT(0), evin_en), FIELD_GET(BIT(1), evin_en), + FIELD_GET(BIT(2), evin_en)); + offset +=3D sprintf(buf + offset, " %-13s %-7ld %-7ld %-7ld\n", "Captur= e", + FIELD_GET(BIT(3), evin_en), FIELD_GET(BIT(4), evin_en), + FIELD_GET(BIT(5), evin_en)); + + offset +=3D sprintf(buf + offset, " %-13s %-7s %-7s %-7s\n", "Pull-resi= stor", + cfg2txt(pull_resistor_txt, ev_pullupdown[0]), + cfg2txt(pull_resistor_txt, ev_pullupdown[1]), + cfg2txt(pull_resistor_txt, ev_pullupdown[2])); + offset +=3D sprintf(buf + offset, " %-13s %-7s %-7s %-7s\n", "Edge", + cfg2txt(trigger_txt, ev_trigger[0]), + cfg2txt(trigger_txt, ev_trigger[1]), + cfg2txt(trigger_txt, ev_trigger[2])); + offset +=3D sprintf(buf + offset, " %-13s %-7d %-7d %-7d\n\n", "Filter = [ms]", + ev_filter[0], ev_filter[1], ev_filter[2]); + + offset +=3D sprintf(buf + offset, "Buffer config:\n"); + offset +=3D sprintf(buf + offset, " %-13s %-10s\n", "Mode", + (FIELD_GET(BIT(6), buf1_cfg) ? "overwrite" : "inhibit")); + offset +=3D sprintf(buf + offset, " %-13s %-10s\n", "Status", + (FIELD_GET(BIT(7), buf1_stat) ? "full" : "free")); + offset +=3D sprintf(buf + offset, " %-13s %-10ld\n", "Overrun", + (FIELD_GET(BIT(4), buf_ovwf))); + offset +=3D sprintf(buf + offset, " %-13s %-10ld\n", "No of data", + (FIELD_GET(GENMASK(5, 0), buf1_stat))); + + return offset; +} + static DEVICE_ATTR_WO(enable); static DEVICE_ATTR_RO(read); static DEVICE_ATTR_WO(trigger); +static DEVICE_ATTR_RO(status); =20 static struct attribute *rv8803_rtc_event_attrs[] =3D { &dev_attr_enable.attr, &dev_attr_read.attr, &dev_attr_trigger.attr, + &dev_attr_status.attr, NULL }; =20 --=20 2.39.5