From patchwork Mon Jul 6 20:01:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323909 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=eoix0+d6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xKp6nZ9z9sRK for ; Tue, 7 Jul 2020 06:01:50 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8ED9881B50; Mon, 6 Jul 2020 22:01:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="eoix0+d6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4FA7D801D8; Mon, 6 Jul 2020 22:01:33 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20719.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F073F801D8 for ; Mon, 6 Jul 2020 22:01:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eldgk+SaZprYDOFCBwyhbdBspCZxnPE8m1K3z9BqVFDefaxWD5RYXaE75ttpjfiFS1x7B4K5NGMb5SPsOgQNkCZKxYUXWUtWhE60nRzDltfZP7jzGFSolcG2TxVBthFSw2yo9gtXxPYudCOy4IVcaP1DMv7Ra76eQbGX5zqb3483G44tPc+B3TxAqW3kqkkwus8rVK2XzUyLDZOlDg9OsblxDEMyPqtNZBZJszRTG6KcgbJKlQQFTzDAEbux+GWv+vtsSa5kSLpb96DLdPu6ZLmru5Ai4Fvpq44OgKGsB2zlnYuV/nSYSnqiPbWBoAF6GisVqx4PDIOb87gGZNZ1LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9UKLyw2imdxA12dM/dALuIZ7NE0rDSKhtdowcthKdY0=; b=PLjOmpWGxs3tUfB6H+Jff9v/cDGVcnoLuyGAXjJ86tVwtfuj0ciDvFSASBKvomE2E+tfFpFjo1bRqM87x2zLzCpTkAq0VURmYR+KAvt333nxpx5cM9HN/Hqg69+HZDw2eRXSwXYLUQJ4BuCvkSdddvDWeRbQa78UhSfTa99zy7pr+t8/uqAu3u4p8tGDBCkryJhtazGS2pc8ezq/EHbp90UsdmRS0Z8X6BnUOrAjeBO5igd94tFlidMkLSsHTYxi4S1a+mxjSJluputKet+8XFKG8aFZb1s4FRaDFk7Gfn0aHRyO3TFIkGN2yTxuMPgGIFAJI2QkcB0E2xhZqEZc2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9UKLyw2imdxA12dM/dALuIZ7NE0rDSKhtdowcthKdY0=; b=eoix0+d6MUosk0E/WtfWa4M/XUOXsKInU5sJdpZcI3qzmCtZNG+GNh2Lcht1xC8eSUfMtbaF+i0kGqAxpq5bRJHYKqAblzhV5q1b9UrMZiCfe+FXXRMTdHqQCvkdQIDGkgtJssoCkxE/2YFhAeI4PMEjouTsNH0ndVCgT7ZGDVo= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:28 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:28 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 01/11] rtc: add dm_rtc_read helper and ->read method Date: Mon, 6 Jul 2020 22:01:10 +0200 Message-Id: <20200706200120.23093-2-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:27 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f994c9be-2a22-4aee-5453-08d821e75e8c X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4303; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lkqVmehW6/ircFdM9ebye1d11wPyXaFjqHVUqp3rOoguD5i+eDb3cXtrl3XvDmihj+eJxNf5F0inTaI0hNGTMeTdNQFMKgreJElpdlrsRp9/sXgM+33ZpoyfsH2w7niwi5aaXK/seyV1uZkQ6AglYG+Zyah5JE81KfV0Ll1GgYUwlte3Ns31AtErGFprU/hL0nucLxqDyfJYPa3ZXFba0aXMFFbNRyftas3hROHprwkRCxkvZaJeNya4R/ANZjFosAnr42OpYajobWtCjdJQq/OZBkG+nT2CUR2nNB4UgeA2MBQk6B2CUjEfIoyqoqzqtFkxhNR6JmkHBACo182Pug== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: xpdO/2SYSWW5biIv5nOzvveqdYnYMsQGPjlB+GQNLJB6W+ykaQ3DsnQtSdeH2mqyDNFlhCNegNLsZVwoKzZ8m4PT/Xru4p6+p+ABMLPmuLYWq/dz6L7ec1DTpJEi/MWOB4MEMaW/ihsA3lEngMH1tX93ny55/52PD0VssjfTq2fRLEgP2lNzTS1miGlcVoPuH+/fEvoCmTgfXmOFb9jyBUEYcwLi1qmd5bvxmwhWuboOLl3aXyyzqM4/ZPdX8B/7H1GtVa5AZMCcjJuouBpwji9sml3doPPmk1301wnx+6HS/Gu/tHEvufYiH/meVAwm7doF4Cw1j8PDLtHGw6VwS0aTkeIpeeXN5qoTGnHV6jul5ifGN994nLL8CQ3oKIraFp1o21nIvo0xfFlYB41KVZcCEOCiOF2NFF+eFZSXXzrBzLHLYhk1miT7i095YDo+WL73GuG14JKkCVg4czKX4bu5kDZVey0Dw7c1xDWelww= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: f994c9be-2a22-4aee-5453-08d821e75e8c X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:28.3240 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ShUMHFY+nNOkza3tvhsxXtX9gpfdDIbTsZnPqfwOcT1I16LyXLtINqw1wLburjPV6R1OmdjS7mRyUbWHyZqeBnP/QKOaGf9MpSXPuXmYATQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Some users may want to read multiple consecutive 8-bit registers. Instead of each caller having to implement the loop, provide a dm_rtc_read() helper. Also, allow a driver to provide a ->read method, which can be more efficient than reading one register at a time. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/rtc-uclass.c | 19 +++++++++++++++++++ include/rtc.h | 23 +++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/drivers/rtc/rtc-uclass.c b/drivers/rtc/rtc-uclass.c index 926cca234e..4a0e3c5643 100644 --- a/drivers/rtc/rtc-uclass.c +++ b/drivers/rtc/rtc-uclass.c @@ -40,6 +40,25 @@ int dm_rtc_reset(struct udevice *dev) return ops->reset(dev); } +int dm_rtc_read(struct udevice *dev, unsigned int reg, u8 *buf, unsigned int len) +{ + struct rtc_ops *ops = rtc_get_ops(dev); + + assert(ops); + if (ops->read) + return ops->read(dev, reg, buf, len); + if (!ops->read8) + return -ENOSYS; + while (len--) { + int ret = ops->read8(dev, reg++); + + if (ret < 0) + return ret; + *buf++ = ret; + } + return 0; +} + int rtc_read8(struct udevice *dev, unsigned int reg) { struct rtc_ops *ops = rtc_get_ops(dev); diff --git a/include/rtc.h b/include/rtc.h index 8aabfc1162..f30e908221 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -55,6 +55,18 @@ struct rtc_ops { */ int (*reset)(struct udevice *dev); + /** + * read() - Read multiple 8-bit registers + * + * @dev: Device to read from + * @reg: First register to read + * @buf: Output buffer + * @len: Number of registers to read + * @return 0 if OK, -ve on error + */ + int (*read)(struct udevice *dev, unsigned int reg, + u8 *buf, unsigned int len); + /** * read8() - Read an 8-bit register * @@ -109,6 +121,17 @@ int dm_rtc_set(struct udevice *dev, struct rtc_time *time); */ int dm_rtc_reset(struct udevice *dev); +/** + * dm_rtc_read() - Read multiple 8-bit registers + * + * @dev: Device to read from + * @reg: First register to read + * @buf: Output buffer + * @len: Number of registers to read + * @return 0 if OK, -ve on error + */ +int dm_rtc_read(struct udevice *dev, unsigned int reg, u8 *buf, unsigned int len); + /** * rtc_read8() - Read an 8-bit register * From patchwork Mon Jul 6 20:01:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323913 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=LF5Hah3I; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xLx1wL5z9sR4 for ; Tue, 7 Jul 2020 06:02:49 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E57DB81BB1; Mon, 6 Jul 2020 22:01:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="LF5Hah3I"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E1D2181B9D; Mon, 6 Jul 2020 22:01:34 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20719.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9F0B380422 for ; Mon, 6 Jul 2020 22:01:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T+FfxpbhymxdX30zpXqNG8JiBpOvv339uT3Eno9UwG+bdYZUnxL2YZMqBR8UvoCY1x4ImXNzjWSeI1FwsjUtE6+OzAhNIzXzXvDHxr1IX0Y/z1BPFgi8NUl65t0tO5s386xmybV0jSWM39Jke2fz9CIMlmfm20cLs2p5RdiOntWKDnBEZ4ViSiZxJ9yJty9skoV4mQGQ+njPkSnSaJKxdnfYQPzomIAqGbHVUnVNz3ZzkgZ0nWvf4cHLPJV2FNv6ZDf2IchYlZdamfMlwaRbTtVgwtRy2vjxTR0mrQ2ogMC4ZTDI6bDtI5OWAgtzud+/tdG4lam6gV92O5Rv3CU8IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cVgzU516CTzeo4pKzXwolTn5MNHi9nr+vvPxlHtmz5U=; b=lkynGmOYTqEsZqfx2KSVk+B69Bc8hqjY6IBoDI1Mv5FNm2axV71j3BB54qIsWjiR5jkx1Dz24GrVAv/lgxYZ8vHI3+6+KUtefcT94QIwUa9iPWF5I14pbf8UcIQ9eHc/6mq5dG0LQ8UCYwZCyqbL0780RHU7wrZNMvK0qN0fytDg7PNf044e8XqzSxKIBp/2qHThcgLSDOK+vdJRDYxvTfO7thR8CJtDgMbrYo/dcksWXHVGTD9eAPHTT98mnxO8+OhdTbwCqtBH4rwFIRDrG09/4UlBfK993zeHXkvuwuJ2eACCg3fK/OQNZnfZ6gVj0Ut5jHKh7xniv0JsTwkj2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cVgzU516CTzeo4pKzXwolTn5MNHi9nr+vvPxlHtmz5U=; b=LF5Hah3ITpnvUo5NCW6e6Te9VDpjt6H/xhaUcm01YrnYlRXKvO/ZPxtVgKDEVxQ3k+BBlljCxlXo6GNYB4ZFOz90XMTO2DN3Wdp3MrV4ZA92+ISAr9kh68zoSy2kcg1LoWwygSAGwRqLcSkoHtQCAw8P4k1FhDXNEQP8nkwPCfo= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:29 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:29 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 02/11] rtc: add dm_rtc_write() helper Date: Mon, 6 Jul 2020 22:01:11 +0200 Message-Id: <20200706200120.23093-3-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:28 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 75e9711f-5964-47ac-73a6-08d821e75ef8 X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1443; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DE4yM4Y+YcQaE6/iiwtp9Y2plpbhmNmgAT9iAlsTkgur0y2I9xJHisI7QTAOG0OOO0WPllQNmPS4dOwA0F8xUfPv0o8yUGX+caLnG4GInh1bxHz6N01I5lwpRmje4b3aMWh28vbOV42RzNwrb5glgT2Kl3K5sCFiyh0szIXC5ieikE8ZV0QAMVGlO4LqICr0uwQCwycVRWZ0bCTz+btcpsSMyHkiXvSulXBeztdJyCkrrWaluvFK1LGR+bmgDagrCbV5t6lNf4/YPtvZVsmWOTDsSauSSGjKUuxnPZtJvSwvrzFvU6WyFP7xUz2DseAoSIGhVbelZB930FSjAAKpqg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: kLEV878i/vyEeg/XKAr8RG0I4lDOA6ezrPX12rspj9STFCg6k/6qQs0D/tiV56Se3mkfNKng8rkXAOhSB8TczPZO/php3K3XcbLXMbJ/BopYtqafEYG+AHrVJelKquXLWpcBOF4kPywiCG8SdxaZpBx8EyX2dCNVoOI5zBN35WUuJptf1ex/NidwLJKFRpx9gcNzAPrNoP7a7UzczZFo+bq0oyS7KfyzCeub7YxTIsr+ri6/Lm2ZJBg14E0ZsUtlK8O57jaTNtBUQmH8DiLpWtRY8KjOwQg3CLNQ4lamHnNKAaDAac2j5iosIjaXqY6qlK8IZSG+H071KzIw5PXRSaH0HxewEXvZ/xJimdtfb13JYiUDRoEgdrOY7lKyEIRr/eEcRQjF1XP+LOtb3KLCqt1psDRsOiWL2mEdQReZMMlfmP/He8IWyVMS0R8tSo8NQA4OCaR729UuTYZ/ka8Rp/1SUwY1cRtS3YiYQAzhCUI= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 75e9711f-5964-47ac-73a6-08d821e75ef8 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:28.8957 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pDUeLbS0Oc/S/R169rIRPgLX10/Nlxn9aN1Borzl7ZEUFukXO0Uj4NfLD0PdG3CGShdHMAajqk7S6wEpv2DCuEkHVs2NwYSlEcVRs+Q43V4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Similar to dm_rtc_read(), introduce a helper that allows the caller to write multiple consecutive 8-bit registers with one call. If the driver provides the ->write method, use that, otherwise loop using ->write8. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/rtc-uclass.c | 19 +++++++++++++++++++ include/rtc.h | 24 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/drivers/rtc/rtc-uclass.c b/drivers/rtc/rtc-uclass.c index 4a0e3c5643..44da500c03 100644 --- a/drivers/rtc/rtc-uclass.c +++ b/drivers/rtc/rtc-uclass.c @@ -59,6 +59,25 @@ int dm_rtc_read(struct udevice *dev, unsigned int reg, u8 *buf, unsigned int len return 0; } +int dm_rtc_write(struct udevice *dev, unsigned int reg, + const u8 *buf, unsigned int len) +{ + struct rtc_ops *ops = rtc_get_ops(dev); + + assert(ops); + if (ops->write) + return ops->write(dev, reg, buf, len); + if (!ops->write8) + return -ENOSYS; + while (len--) { + int ret = ops->write8(dev, reg++, *buf++); + + if (ret < 0) + return ret; + } + return 0; +} + int rtc_read8(struct udevice *dev, unsigned int reg) { struct rtc_ops *ops = rtc_get_ops(dev); diff --git a/include/rtc.h b/include/rtc.h index f30e908221..1efc0db3de 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -67,6 +67,18 @@ struct rtc_ops { int (*read)(struct udevice *dev, unsigned int reg, u8 *buf, unsigned int len); + /** + * write() - Write multiple 8-bit registers + * + * @dev: Device to write to + * @reg: First register to write + * @buf: Input buffer + * @len: Number of registers to write + * @return 0 if OK, -ve on error + */ + int (*write)(struct udevice *dev, unsigned int reg, + const u8 *buf, unsigned int len); + /** * read8() - Read an 8-bit register * @@ -132,6 +144,18 @@ int dm_rtc_reset(struct udevice *dev); */ int dm_rtc_read(struct udevice *dev, unsigned int reg, u8 *buf, unsigned int len); +/** + * dm_rtc_write() - Write multiple 8-bit registers + * + * @dev: Device to write to + * @reg: First register to write + * @buf: Input buffer + * @len: Number of registers to write + * @return 0 if OK, -ve on error + */ +int dm_rtc_write(struct udevice *dev, unsigned int reg, + const u8 *buf, unsigned int len); + /** * rtc_read8() - Read an 8-bit register * From patchwork Mon Jul 6 20:01:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323910 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=JAcHklwx; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xL45dJbz9sR4 for ; Tue, 7 Jul 2020 06:02:04 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 24C9D81B93; Mon, 6 Jul 2020 22:01:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="JAcHklwx"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4A7C581B63; Mon, 6 Jul 2020 22:01:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20719.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E8CBB81B44 for ; Mon, 6 Jul 2020 22:01:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H739yKqzWTDTn0XCbSIogDYh18WihXr034pvmb6varbbR7QqX28JNM2PmzZZpM4YdURuDkIOWgiJx3HjzUWUVPkmjw5D97PZ6YH0zD9AmxJpMeXjj6pHfdY9vdGZhsZ4LuZhr7EFSiLYA7X7Y7mX5nhjpfpZubQtb7q9BzV6AadaC5stUmQgcj63aFyKVqzPpafbByKewpVY34AdHXtm4CL8rJdcxleiidoRpN3hrRu+W3E99Dt9eKRhwLTMdEVcdoBzfEdfcUryLAwM3a6oQ7ksWeWKOlgXN5I5BQuyIFB3kxvHlLVapPSNgUFgV2bUtXxXPo80odNx1IfWZ60NeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ubBJESKu1tJit3ipSVwXuJXe/4dtVSUE3d8ejTfNceo=; b=Co5b6flLjatnS8E7AkbvWo5BLo78fHJUE/00a6DX2blFUMOgor4H9fQem4A+dv65AmGRh2k6Jc65ePkgjfkGbGBJbN25HOJU/4OmqWY+pDsqYDKrpoMyZoBJzPA16LH6ohE/rIHwuWDVhu1u9D6qzYGpEGNT+b71JqG7XRC9annc8RTjww9YFjO4U/sHoxwfwGp7pv0CDv8sJ76lnHkG8NuYJvqg1K6DhASgFcg3TRVLcxKqqUNXFPJExJYCyq8wBDjFtqt9E1SDLtYLmmmFf0OPFRwFNxXFKQl2tZQzLJcdAdnS/TYzHwqC79aQ92PKlz29AGlzzWcMTQP/zW6GlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ubBJESKu1tJit3ipSVwXuJXe/4dtVSUE3d8ejTfNceo=; b=JAcHklwxtTJmJC+l/t5mgdEIHR21AS1rsP5GT44M4mgDRdCzb5LDLnivdgR1C31t2Dc6FfcSTAtE94YGf2SiiBh8aNAQ/Gm1X/9/gbgdpo8gi8qxibZGTMTnQ3ZbS2qpZutxRVG34mmIXQZkj5/Q/5lluAcLpzU2Cm/wlawJFHc= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:29 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:29 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 03/11] rtc: fall back to ->{read, write} if ->{read, write}8 are not provided Date: Mon, 6 Jul 2020 22:01:12 +0200 Message-Id: <20200706200120.23093-4-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:29 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c4a59cdc-db4b-4fa4-2960-08d821e75f3c X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wj0L4C1FML4EN3hvRB3aNrl0ckVMMZwWZgsGlcuBvNHkx/6bDK9UZIrqM+1De1132LImDC5Bf2OzwyPQJta3pdXbNw4S1sWXEXvY8FgQVythaBjICdcQyOqishRhxoP/MZ8Rl66QW0Xis2g+FckcSZK72wEvlO+1A7IXXaM4Ty2rioQ7/F3aIgwzFLzz/TetS+PTKws9ogXJyEfU2pusLfvDO7Q7XwE+5TNtcGi1+rgMSTksYagHsdCJjyO/Iu9SU2TFEjXiCypzhpdrHcM7FlXoElBpAkUa1QdDJr7YpAeewVgoAWyBZbgCmpesWV2jWPzHAti9sOdVV+ORBdB5I1dNLlqPSbkpGUG7KxUiFmoJLuMvaQkNwDmf7uTlzsNQ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009)(142933001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: klDVEOzgKteTiZlU9hEH9ISqLaNKutBaTHtEstNUgPIiENzZkHqQbflreHICYrKLxhCTEJHPQ9YOeq0OIJCgGEI/W5tR04HoZxDwBIzHYtRd42YJS0sxl/UZ9x+TV7W0Rfcr33VVeGardOPIXWbh3mBdiLe+Ne9EH4f2IGybwiunVaslx7sqQecjZWw+CDQogtGdvvXWGzVH1qkq6/KIEAPphWtIY2qSoovXyCUhGLBitQ31cdIfwgkZEnjNZ0wgtpGWu3rz4FWcQIKkT6pnw4wzP+h5JnBsoWJP3OiJxZ9Tle6xW2LQlG2U2ShIyPx8SjDBb16Fuee2tubrrXIMPQxp3DL180JEitWHatqTq4z7wjW+bZl/PcHhs9gLHojtG7dbIbwGitXGdUOqjK3/15BG/mmXNhGH8s5VNF+1IalXqdKst4sO5xkTia9fzyBZis4EYDImo6hBhzXxOUcO18wi1WJeZcT6csfZwvpDu/U= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: c4a59cdc-db4b-4fa4-2960-08d821e75f3c X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:29.4074 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cvSxxML5AvXaOpwkq0aK2YVyyaJ20n0uh25zsbi2HNTpezSFOD9Hacp/zWI6kpnMago1Phh2id2B3c8FE/Z06ZyhqUkCdKRquviBG7nlWNQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Similar to how the dm_rtc_{read,write} functions fall back to using the {read,write}8 methods, do the opposite in the rtc_{read,write}8 functions. This way, each driver only needs to provide either ->read8 or ->read to make both rtc_read8() and dm_rtc_read() work - without this, a driver that provides ->read() would most likely just duplicate the logic here for implementing a ->read8() method in term of its ->read() method. The same remarks of course apply to the write case. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/rtc-uclass.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/rtc/rtc-uclass.c b/drivers/rtc/rtc-uclass.c index 44da500c03..8035f7fe9c 100644 --- a/drivers/rtc/rtc-uclass.c +++ b/drivers/rtc/rtc-uclass.c @@ -83,9 +83,17 @@ int rtc_read8(struct udevice *dev, unsigned int reg) struct rtc_ops *ops = rtc_get_ops(dev); assert(ops); - if (!ops->read8) - return -ENOSYS; - return ops->read8(dev, reg); + if (ops->read8) + return ops->read8(dev, reg); + if (ops->read) { + u8 buf[1]; + int ret = ops->read(dev, reg, buf, 1); + + if (ret < 0) + return ret; + return buf[0]; + } + return -ENOSYS; } int rtc_write8(struct udevice *dev, unsigned int reg, int val) @@ -93,9 +101,14 @@ int rtc_write8(struct udevice *dev, unsigned int reg, int val) struct rtc_ops *ops = rtc_get_ops(dev); assert(ops); - if (!ops->write8) - return -ENOSYS; - return ops->write8(dev, reg, val); + if (ops->write8) + return ops->write8(dev, reg, val); + if (ops->write) { + u8 buf[1] = { val }; + + return ops->write(dev, reg, buf, 1); + } + return -ENOSYS; } int rtc_read16(struct udevice *dev, unsigned int reg, u16 *valuep) From patchwork Mon Jul 6 20:01:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323911 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=XKVz1uwc; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xLM1bmkz9sR4 for ; Tue, 7 Jul 2020 06:02:19 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8F1DC81B80; Mon, 6 Jul 2020 22:01:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="XKVz1uwc"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2357B81B95; Mon, 6 Jul 2020 22:01:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20719.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 09A5E81B50 for ; Mon, 6 Jul 2020 22:01:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H0K4eiHcGNX1lY6v3naFHuSm5TUIxSc/D1VScVgvHxSYO+WecHF89srDp2LnP0Df01lvDDsz299j7DT78MnHq0qKub/xV6rztT6ssY9hXlFuqbWydI/1j+N7viK53tdIwT44TdvjVtZLuy1wiyEmeIv9TgJVyUm7tCsy6P1Gqj3y2xIZkKvSczltJIITGNI7VL9RFh/eax2OIDCIfyVgIKRxEY2Qb+U0e3GbXxlgOrqxerdXIJtxi7isWuoxYOyrp+LRaqKy6GdBrQrldrcGfQQ/UAv/r1mOktgZwwYD+62owl1lIHDrQpfgwg2LZSg3aLXgQDZ4/1kbxhipgOEChQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8aQdgsUfTrBvsaqlD0/TcE4oqcnqhZEEiWWctr+/nl4=; b=DrbRYP7nMT4Xd0+1ahOq8KHwHrLzlWuL5xbnZyg9qoRWcAfbv8N2OSk+tAtVDsuH47jUC9I/QUH5N9VtJ4M1fLN8ZgFvL0AQ8xYXW6jYaladteaC8dFR4DoZTILSu7rUyQcvWTYuX49gwcXTW0NfRreZvwe0+ieazPFOERtSD59kEmGCB021J1KAHo363HyX9wMm+OihJ/PFaat75SR+lfbbnw4IgULluKQqe5w+fhAxF11BDu4oAjk2a6trBvNxeGLPKOEtMEeR4vxOnLLjczoUENq5mnZzfKNPUS05ntvz03nkUfc99cYvUN1HE90/vhH9n1o44uRHzmzQK3eYUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8aQdgsUfTrBvsaqlD0/TcE4oqcnqhZEEiWWctr+/nl4=; b=XKVz1uwc7B7WMTCi8z0GHcW7RiBrGbIOqle4EKYVp0YKXUERFOjFxpgmbdoSqt43lvQZ5iB7E6meDW3rtbWkQIhtZqilvwwm/9hCNd2vYA+qRQA3DV2qsZA3qOQ3O3wC6/QMecYlrqc7ggnjo7tr2KC3CcjvAB+M8zNlSirI5NM= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:30 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:30 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 04/11] rtc: pcf2127: provide ->read method Date: Mon, 6 Jul 2020 22:01:13 +0200 Message-Id: <20200706200120.23093-5-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:29 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6542c86e-ba1c-410f-b584-08d821e75fa3 X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1728; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GJ0IgAUD1YSgiEzDX1OIeG9I3z2o3m/JX4kYD+U8ACG3DP8g9gcEnIAXyry9IOGmRFMt/n0y4PhrUArgdHnWjt1Q+DM927dbuih4Ebpuo8zsHuI3Dc4ZrNcCQlOUiO49SuMJ9XFHKKnhgoH0mWEdcfhSkkGmOs4Oll7gJSarXH4gSKYg1AvkxyIIA19RO2FYrpdymTWHRGW1OaernBmRg2vptBEzygNvoufTsao6R3FORoBoHkT9PJMoOwwj2MOi+fqDG8ANFmYKgJ6wEk6AWRIjela+BDc++lXpJoECx/Qui/UsnCWotw/lzDPbTM9zLAwsDLlNXSSnMpJHdekuYQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: nogtP4b6b83vvSRSAk75/0B08C3EH0rmsMoalvlpLUHAKzku1U3U/bG+XMioEpvG5SV7IjiuVPYt3zoahr/crJ215J2a4Qx+ETsPCcW0PjARnD9f2nVAjs/oo7+Ueb6LhC1rIGWg1Ll65C2lDzqxp4t24QVwrzIR++c3W7D02btx4tpek0RlWHpgnXR2ORr6HHINuAjRs1fNH1jFvYZApRphYSLhFk6I5auCa9bPmmBDWiEhT1ntJr20/EJQmKPN4LkjC/3NrVSlvpoKuhqyZrrXricbIxvnLLA8bYANqSHwgMp08kRSMn+8H4rrW9zqtd61PEFcL9RWFvnX30ytnQPy2PuK/q3/hwWCHQjgR3jhlDUyoBreQUitRNezEF0n99VePIwvrEGQj+vp549W4T3r/5JBxfS0WU9RPSZZ58RLr8ZKn81PJtgR8rfWLdOezwodM9Oc3+JvT8AGQmLmUJf/0845K4mKdcGdn90AsG0= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 6542c86e-ba1c-410f-b584-08d821e75fa3 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:30.0310 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iYHKem/Yl4bKPW6VeQpWAduCUaxI2Ep7R+U6+wCnr+36+kinGxuZ93uQzafnikDVnDNT0r46/G6fzBL0BS/Znbi+Lvu+dVXgDfHz4BtBZnU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This simply consists of renaming the existing pcf2127_read_reg() helper to follow the naming of the other methods (i.e. pcf2127_rtc_) and changing the type of its "len" parameter. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/pcf2127.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/pcf2127.c b/drivers/rtc/pcf2127.c index c423960b34..eea72ad522 100644 --- a/drivers/rtc/pcf2127.c +++ b/drivers/rtc/pcf2127.c @@ -23,8 +23,7 @@ #define PCF2127_REG_MO 0x08 #define PCF2127_REG_YR 0x09 -static int pcf2127_read_reg(struct udevice *dev, uint offset, - u8 *buffer, int len) +static int pcf2127_rtc_read(struct udevice *dev, uint offset, u8 *buffer, uint len) { struct dm_i2c_chip *chip = dev_get_parent_platdata(dev); struct i2c_msg msg; @@ -73,7 +72,7 @@ static int pcf2127_rtc_get(struct udevice *dev, struct rtc_time *tm) int ret = 0; uchar buf[10] = { PCF2127_REG_CTRL1 }; - ret = pcf2127_read_reg(dev, PCF2127_REG_CTRL1, buf, sizeof(buf)); + ret = pcf2127_rtc_read(dev, PCF2127_REG_CTRL1, buf, sizeof(buf)); if (ret < 0) return ret; @@ -110,6 +109,7 @@ static const struct rtc_ops pcf2127_rtc_ops = { .get = pcf2127_rtc_get, .set = pcf2127_rtc_set, .reset = pcf2127_rtc_reset, + .read = pcf2127_rtc_read, }; static const struct udevice_id pcf2127_rtc_ids[] = { From patchwork Mon Jul 6 20:01:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323912 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=YoBOHpSt; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xLf0sr4z9sR4 for ; Tue, 7 Jul 2020 06:02:34 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DE53C81BAB; Mon, 6 Jul 2020 22:01:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="YoBOHpSt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3159181B93; Mon, 6 Jul 2020 22:01:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20719.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 269AE81B63 for ; Mon, 6 Jul 2020 22:01:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T/GI9zHlqbu9bkRJ/li6UPMcXM0t6eChrZivR9ClIsmMAMsf7KgMAzT5euHAgN2L4aTWEkEKexQSq/aETK2AcNyDEX4Wrb0Dynk7q7W52nHh4qKOS18H8Oq2YCsJ/qfZHOGmj8a+O6ZKOO6gBuVyKTKuEXK17HHBO1tCdrJg3AQztML5f0repQ/VFi2HOMqroq8F/lodZDrOGNGXM8HgutBGWJNRtQox+loRPbPIZKfPcuCMuZUYERiuzgphBSZXqUv7r9esr4pPi1SqM7r/jw1qoOUMCkODPo8meiTZ0HFN4uM2p5QPl3HjTdTbh5xbIYp1WVO/zcVk3h5H6d0a+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0lVlPQ30d8lhL/chxraZgP+ziIvSrKCX/YiiMyIYRBo=; b=hPE4xVs6raQZMi3Belgoxjuw68oId37fC6aa74SeJKtr/XfEt0i1NBH9TgpbCcL1WKJrVUAylmLmfpI+Db3YKFvenS5SjlFiF1oTthsUwRwFsIyiOdmEWg7sRX6dmtLfcQYvoSopS7IUSkpt5vSkWNZEudDeJWrpfYDsUktWAIfU7tdijzEY8rqzDk1rxcTrA5RObkOOrVA30vJX5PBZ50ibUEhZ5YbdNvZC4knrMx74C+S3+EkvggH02ZArnXOn2OEYfGelOIzH/grRjctjUrYmg/NuOpKwRf6tkbhUu8rtmTx8rP+Uyt1LpcFfFWDqPtS8gmrZ5qySuAU5FYanzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0lVlPQ30d8lhL/chxraZgP+ziIvSrKCX/YiiMyIYRBo=; b=YoBOHpStA7J7cqSq28BFoQJIK6+Gi+iw47EfYPyQpzEhlgZ0De5E4BWhC0QBuhsxZ15M0G2QDxzPvw9aNLHvD43pG/1hGGQVd2ZTg6UjfjEfh83FkPxMixvNMAMp5qtCOnW0fgb2txnRbh3ub9e9spMFVGmt57D99mH557tq00M= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:30 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:30 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 05/11] rtc: pcf2127: provide ->write method Date: Mon, 6 Jul 2020 22:01:14 +0200 Message-Id: <20200706200120.23093-6-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:30 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d6eb0f24-158d-467c-d772-08d821e75feb X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:296; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MnKttx3g5kRqXmB8vexq+pHnL2mu0PZ/0zCPp+bazbMfeiaFLpmssM/PrUimqw/We9MJQ6g8Ml4SOYJwZuVNweBkQdw8x20Hkq+sh9xPvef1fKys4scGA5ZUt41Q/zbYkWxQ5+wPL1PbJ98EjhOJrke9+CQ6KtNtGieraUQKcF1sasqcY5Uamejm0Q+p0ESZtq1ubbkq2W3wJ4wPn47fLqxHaIjtN8Ov8VCo9wbw7QWQRelowMCYKQjL9Z2HrGngm7sZAuPE7WxkeTWbod6ClwfsjFyu6nmnXeu3/PtE1LMADej8duA0siZJJgOQNJ4R3u7JUSQNVDfa9nQSO+DePg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(4744005)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: qb/PpN8XQ/JFtAqoYkB2tUG3rRFjCkGFKvS6NvYoCj8DzYq0yYzpKpxvMQCXvoIXREl/DONYg5OeB9tSXpghi20E3M2I/7oXMsZ2LmK+FCWe3Jyrgv25AvTe4hr4AfPLmGKHWw9/py39fOXuThQ9ykcLogSMzPuAbO6s427aq8LPewaZarqu3nzUSAAtaXsdY8LPRJtrkFWbTe+fF9wo9sqv3ZQ7XtTb71+LdGk5KI8UDEhSh2KS9qPSdy57qjnuvVq1uDZxUbg+R5RPao9JciQwuV3HiDz35qz5ojfAsGotpIKU/boDFvZtZ7Q7+hVUD/npBsUKoS7vORUqCbnZl72+DPOOHs24KsKQUMp+G477aZ8LIX2Q5VRdEzC4BLc8YatY3wxPVrMcdQHNuQ1wIwNWhsYjBbPGxoTXmtfYAQPPp1+eCjG722BIuTbw4VbMn29U40LdfvfEOwaanD3gBzJWHQMjj6wtzVdfDlV0mC8= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: d6eb0f24-158d-467c-d772-08d821e75feb X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:30.4698 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QnOfwSzoRGb0BUF/ZLafIqfdAsG8sAa4+6ngbnO7g0iGQoSTBxnu+xYVYBfMYi0GWTj5aWNGp/YLTavWnYRtLsI1UxMDpcrnQBf4tBMqOXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/pcf2127.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/rtc/pcf2127.c b/drivers/rtc/pcf2127.c index eea72ad522..88ff8c52c3 100644 --- a/drivers/rtc/pcf2127.c +++ b/drivers/rtc/pcf2127.c @@ -43,6 +43,12 @@ static int pcf2127_rtc_read(struct udevice *dev, uint offset, u8 *buffer, uint l return dm_i2c_xfer(dev, &msg, 1); } +static int pcf2127_rtc_write(struct udevice *dev, uint offset, + const u8 *buffer, uint len) +{ + return dm_i2c_write(dev, offset, buffer, len); +} + static int pcf2127_rtc_set(struct udevice *dev, const struct rtc_time *tm) { uchar buf[7] = {0}; @@ -110,6 +116,7 @@ static const struct rtc_ops pcf2127_rtc_ops = { .set = pcf2127_rtc_set, .reset = pcf2127_rtc_reset, .read = pcf2127_rtc_read, + .write = pcf2127_rtc_write, }; static const struct udevice_id pcf2127_rtc_ids[] = { From patchwork Mon Jul 6 20:01:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323914 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=fV5zg05M; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xMD3j8Nz9sR4 for ; Tue, 7 Jul 2020 06:03:04 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 22B3B81BB8; Mon, 6 Jul 2020 22:01:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="fV5zg05M"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3883D81B93; Mon, 6 Jul 2020 22:01:36 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20704.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::704]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B8CE481B65 for ; Mon, 6 Jul 2020 22:01:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UwulQ+7cqh6BSsa6miCnp9ce2J+Ie6vOsnTmgTkYnBm3SY6/aMDqA76gCDiKlblNmgU5KVUd32L2gxZRi5Cr3Wonzj3CbLhKEsibOqPaX4OyFu+erjX7mq2OwE2Bd6/XBE38jfzuS8gnTLYdKOPhefxHUchaQWK7saOUp7sgD9FDQnJb/0Th5IRw4/bnPVyfCbk3EbI0Cv/2greDsw+iOjYk/oehewMBJ4LManCIAxLe1A1Zto+96YFoxHfWMMLEY4VwTcZ6HlrO+3Fpv2PyBbD+67+xMHYkCIurVcAXb9NDYksEi+nYXpm37u6w53WUhlOtIYo21k20rpG7J0MtjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G8WSQjkrcPaMvoR+HOHHhKQZswzYA+AtWRVWUC3/9Eo=; b=dRPtCGIa3qkYkFrJqT7teH11rNDWGlD2XcxpECdBj/XMuNFpKvfLQjFP7EArDU8o/gu4AzqV4e8+dOtQ1NP9j84shUoTRS45JQKlRjbfDJhNCsUSQVMMaKXK3sYMVPB9cZzyu3gpMRGl498pK0Oaoa3ToudE80xY20HedAxv4WX4Kr9HJ/rAEqsKkIMdtTCsXK/6aWcj3Q3cyBE1k0ML1LdRAYLxxhfAntjqbl8fWtdRMhX7ms5gGu4gI9m03nB7XYkaTUqFhzX74AWi7AftSpOesS1ObyM2z22IhGw35Q7mUD1+Um8i0smPHVdB35GHqTesQ//0RMMI88B5f6TgIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G8WSQjkrcPaMvoR+HOHHhKQZswzYA+AtWRVWUC3/9Eo=; b=fV5zg05MpfXIVGlDXriC2CJUHyhIMxkkAzvY/YAedlkXyjYUHYMp409edjimEGzqbgOfri8ZNBLrNmAiOdfioXur7Lt6rLLQfp7oqLn8TD4t3pt3pdzeCgLD0Iv+tm/j3w2y7LxqkV65sHIAOdUp1BA3En/kVKW02DOoThzmZNg= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:31 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:31 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 06/11] rtc: add rtc command Date: Mon, 6 Jul 2020 22:01:15 +0200 Message-Id: <20200706200120.23093-7-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:30 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 77da8467-6727-43c3-ec8d-08d821e76030 X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:651; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6wOxoKqX45aMGIkz5zf1SkZSaSoQjpbUIqRywZpAZFNInBztw1pTXYb42+3Pqz3NIKOy6bZkoz1yfLUMuI8uIuKZiOvtDMHNPjYQtrq1kDQwUbPb5nh0AIqHF7giy+KwBZoJdIoRAkoQYGaVUk5+xQ6+3ARbz7NL6JqM6rcNDzjMtZk9aEhJmHhA/J6qHH3XwDY3Zo7DX+HeDiuhHOX8KCz6qrBNG5/q+jonAKtt/zdqIOByGn/OIvZNLt6CxjbBLB7aGKeOY/QwIb5PvRYRCzbtT39jFWP4rgMrOPCEN4+z8xt0e4QpY9r5QQzS76J6daMlmMsrzFP5H97EayHnog== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: hQymbSQ5zFzWHOGYwLMQAWMZrOWoGHYP7YxPaQEbakzGxHZXhBd96sVcb85MigXzsnOpKi8KgDHHvoADe51bOzZqWEBHI0XQ9Rd0/8G7hwCH7T+W+PYXpbBQMMHV/s/uuEav4MeUsrwpjw9XfWPVCW2i26GKkikz5ZKCbGzJFTb1aCM/vgT1caAhdRZnx0QAjlzxWifwLA7GWyGCRGIe/Tq73HzM4M0vC7q6J+d/gsM2jpyEGOQ0W3ppbBaONJHQ9QcAeSttu1CB5KCRyOLG3T66BjKjbImAQWe8puPAhyNFildYlRi/g3fG5Wc/5kOoRaRTZ0mwWS3Qj/dP+ybh/D0dXafRW4Xg2YgGBvUbiEMfgCLcFhEGnoUs9aPOz9zJgiPH4T6bAo+FNR9ABXLy/K9FOIARCvtaVGrQB1fINvhmJuLjusCexL/odqZwrHySKXEAherIZCmWYBEnKiFi1EQQ8Kl28Yjtqh0JGsDbVrs= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 77da8467-6727-43c3-ec8d-08d821e76030 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:30.9125 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 28j5G2FtNCeetkCo1ShypnoTgmnm+pWPSecaNIonp07Ok7lAMecg0xtkaTgB5RsnKyTPvzDrNE6vrvvizSdjPw3tfcrUuIaCgaWPcsEfHxk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Mostly as an aid for debugging RTC drivers, provide a command that can be used to read/write arbitrary registers (assuming the driver provides the read/write methods or their single-register-at-a-time variants). Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- cmd/Kconfig | 6 ++ cmd/Makefile | 1 + cmd/rtc.c | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 cmd/rtc.c diff --git a/cmd/Kconfig b/cmd/Kconfig index 192b3b262f..c4d40cbce6 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1718,6 +1718,12 @@ config CMD_DATE Enable the 'date' command for getting/setting the time/date in RTC devices. +config CMD_RTC + bool "rtc" + depends on DM_RTC + help + Enable the 'rtc' command for low-level access to RTC devices. + config CMD_TIME bool "time" help diff --git a/cmd/Makefile b/cmd/Makefile index 974ad48b0a..c7992113e4 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -120,6 +120,7 @@ obj-$(CONFIG_CMD_REISER) += reiser.o obj-$(CONFIG_CMD_REMOTEPROC) += remoteproc.o obj-$(CONFIG_CMD_RNG) += rng.o obj-$(CONFIG_CMD_ROCKUSB) += rockusb.o +obj-$(CONFIG_CMD_RTC) += rtc.o obj-$(CONFIG_SANDBOX) += host.o obj-$(CONFIG_CMD_SATA) += sata.o obj-$(CONFIG_CMD_NVME) += nvme.o diff --git a/cmd/rtc.c b/cmd/rtc.c new file mode 100644 index 0000000000..b4f61b2e83 --- /dev/null +++ b/cmd/rtc.c @@ -0,0 +1,167 @@ +// SPDX-License-Identifier: GPL-2.0+ + +#include +#include +#include +#include +#include +#include +#include + +#define MAX_RTC_BYTES 32 + +static int do_rtc_read(struct udevice *dev, int argc, char * const argv[]) +{ + u8 buf[MAX_RTC_BYTES]; + int reg, len, ret, r; + + if (argc < 2 || argc > 3) + return CMD_RET_USAGE; + + reg = simple_strtoul(argv[0], NULL, 16); + len = simple_strtoul(argv[1], NULL, 16); + + if (argc == 3) { + u8 *addr; + + addr = map_sysmem(simple_strtoul(argv[2], NULL, 16), len); + ret = dm_rtc_read(dev, reg, addr, len); + unmap_sysmem(addr); + if (ret) { + printf("dm_rtc_read() failed: %d\n", ret); + return CMD_RET_FAILURE; + } + return CMD_RET_SUCCESS; + } + + while (len) { + r = min_t(int, len, sizeof(buf)); + ret = dm_rtc_read(dev, reg, buf, r); + if (ret) { + printf("dm_rtc_read() failed: %d\n", ret); + return CMD_RET_FAILURE; + } + print_buffer(reg, buf, 1, r, 0); + len -= r; + reg += r; + } + + return CMD_RET_SUCCESS; +} + +static int do_rtc_write(struct udevice *dev, int argc, char * const argv[]) +{ + u8 buf[MAX_RTC_BYTES]; + int reg, len, ret; + const char *s; + int slen; + + if (argc < 2 || argc > 3) + return CMD_RET_USAGE; + + reg = simple_strtoul(argv[0], NULL, 16); + + if (argc == 3) { + u8 *addr; + + len = simple_strtoul(argv[1], NULL, 16); + addr = map_sysmem(simple_strtoul(argv[2], NULL, 16), len); + ret = dm_rtc_write(dev, reg, addr, len); + unmap_sysmem(addr); + if (ret) { + printf("dm_rtc_write() failed: %d\n", ret); + return CMD_RET_FAILURE; + } + return CMD_RET_SUCCESS; + } + + s = argv[1]; + slen = strlen(s); + + if (slen % 2) { + printf("invalid hex string\n"); + return CMD_RET_FAILURE; + } + + while (slen) { + len = min_t(int, slen / 2, sizeof(buf)); + if (hex2bin(buf, s, len)) { + printf("invalid hex string\n"); + return CMD_RET_FAILURE; + } + + ret = dm_rtc_write(dev, reg, buf, len); + if (ret) { + printf("dm_rtc_write() failed: %d\n", ret); + return CMD_RET_FAILURE; + } + s += 2 * len; + slen -= 2 * len; + } + + return CMD_RET_SUCCESS; +} + +int do_rtc(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) +{ + static int curr_rtc; + struct udevice *dev; + int ret, idx; + + if (argc < 2) + return CMD_RET_USAGE; + + argc--; + argv++; + + if (!strcmp(argv[0], "list")) { + struct uclass *uc; + + idx = 0; + uclass_id_foreach_dev(UCLASS_RTC, dev, uc) { + printf("RTC #%d - %s\n", idx++, dev->name); + } + if (!idx) { + printf("*** no RTC devices available ***\n"); + return CMD_RET_FAILURE; + } + return CMD_RET_SUCCESS; + } + + idx = curr_rtc; + if (!strcmp(argv[0], "dev") && argc >= 2) + idx = simple_strtoul(argv[1], NULL, 10); + + ret = uclass_get_device(UCLASS_RTC, idx, &dev); + if (ret) { + printf("Cannot find RTC #%d: err=%d\n", idx, ret); + return CMD_RET_FAILURE; + } + + if (!strcmp(argv[0], "dev")) { + /* Show the existing or newly selected RTC */ + if (argc >= 2) + curr_rtc = idx; + printf("RTC #%d - %s\n", idx, dev->name); + return CMD_RET_SUCCESS; + } + + if (!strcmp(argv[0], "read")) + return do_rtc_read(dev, argc - 1, argv + 1); + + if (!strcmp(argv[0], "write")) + return do_rtc_write(dev, argc - 1, argv + 1); + + return CMD_RET_USAGE; +} + +U_BOOT_CMD( + rtc, 5, 0, do_rtc, + "RTC subsystem", + "list - show available rtc devices\n" + "rtc dev [n] - show or set current rtc device\n" + "rtc read - read and display 8-bit registers starting at \n" + "rtc read - read 8-bit registers starting at to memory \n" + "rtc write - write 8-bit registers starting at \n" + "rtc write - write from memory to 8-bit registers starting at \n" +); From patchwork Mon Jul 6 20:01:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323917 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=Wlq++Pcg; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xMv4CDsz9sR4 for ; Tue, 7 Jul 2020 06:03:39 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7BC0881BCE; Mon, 6 Jul 2020 22:01:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="Wlq++Pcg"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E7C6081B78; Mon, 6 Jul 2020 22:01:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20704.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::704]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0BF0F81B70 for ; Mon, 6 Jul 2020 22:01:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GnAKOoezE/PeHKVE5lmHeQ2PPH72Wj6EY/mLpeCweDLlEheIYf6xZaqiGUUi3ykKp5w8Y34WpZ9+lSh44GS1M3yd8vSa2BQAWnoM8P8mafeEEbQQhzoEL5qECpzL47rCfViMQvY7kcMtrMSkaT0Mi0p8FgJFPWRlrCzKASJ5QLzY7m25WFayU64htFD1tSWc6s/Q49YIeCxeknEcK5vY5xlz0QUuzgObNwYWDSk7+n/ePG+hLfnQjBf9MQ/073NC+tnd1DO4Jyc7of20qxc17wMQCh6nfw4eomXvvIeJj5kwI7hUFykG6D+UqH8BSoDYMnb4QA/F81QW/NkDlmVdzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1DUVSx3sBLwKb9yC7+bmFTV/xcu7pA12oxTXdThhZGQ=; b=XiMd+ssZ4qfOzMii0F+XUsFNx4EMjyMMNVGeu1PrxS2GxvzAyOBePro7Yc2/T+ND2QTOuRSV02TpyrwMPV4Xy9+sVfU6vbnnhCVaGmXqBAglEzrLUGgqORPpTYADdTGuOKg+BBOol9wX1YO9I1JqSBglbwLsT9QTNvvHRDug89TnEVbe+V4aQ5UXOAimeGHcbIRSLYKe8agIzI+7nrq9NJNRTBxn2zENSL2r8EwFhyyhdpXxo1DPz5fayMrSBNtPQwCAFFuQjwxUhkL2Jria6PJdT+tTIQ/1ntzJ9yVlH18L0se45z3V/5eV/lgCsAANLNH0ijFals8cx0fSX/gCPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1DUVSx3sBLwKb9yC7+bmFTV/xcu7pA12oxTXdThhZGQ=; b=Wlq++Pcgv32wkcQbiszbeB5Juy91eJbK5XoJxtb+gFU1Q/uNHQEZVihcdqWXm6ffZ14NCuFlOiNXNqtPlM3d/jhUONLPX74yaeeFNWG1OvKORV1HEYBbJM550QwEPUyFd53CL14eW3ZVdMxBrm0fd7x6mEY22lOD5yGC+TU3NXM= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:31 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:31 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 07/11] rtc: sandbox-rtc: fix set method Date: Mon, 6 Jul 2020 22:01:16 +0200 Message-Id: <20200706200120.23093-8-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:31 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3473acec-fc2b-4e34-024e-08d821e7606d X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: o/8LFvBK9tc35Xqhy9xtwKSoMg/p5rn6Citj2pLvOa6DWlljIGO/zZYQamhEBKIX8fpUyWs7JJeiFMk/FSTPbo/SVyNEfv+DECMs66iKwCX38WPWz9Ykykp7AVWaLMFdsW50vJQ10iW89maDqityoL8qgko6bIOveoH2BxfRAoYzuEghqD0QCxRPxCuyQy5N5VwFnsr/uh9JcE+wBu7Okg6rLeoqzDJ0tsNqvRF4E7n1UoXR9tieXlnmA6fuWZX2BfHpGjLJJXR68yhqv8ausLj8DY6cvG+gexom0gpXPKWGT8TI9s3BkkaSWPvlsrFF6yrLAyMmc6XxWB8Ea7TR1A== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: ioRtJIRHHSkkAikGLFoxx5ac/n6zeID1zTnbjEZCykGnfgDYo1CgAvHxoxMlOkaJOPqk37msTETM7tpOBWe4ovRJJLeS+blBzj3TRNRAfLUpQ16uR4dZo7tHrEhEO7fl7LRhCn75hWBl+URDjMOI5MvpcmVDpIz0H1/+Ou4NaHHZgDkqsAeBgnof7IvsWD89NKVH1n4eBgofiB40o4uqE75KzNxiySrYfVqUUgXPe6rdvOW+n6xCZSohpb9na4ZYCQBUFJ1uZnEdQI0gmA+igSZnlDckqzl8vz+4n2cC29fgwwUvtRneT86Q6/QLYpW+u47Rh5a81V0PFf9LWt8SXIg1KYwh6568MnbwydLUZ8+QS1vfD4HoZbaAWjADv2CF0sXbBTgnoBGhQmaw2kps7/D3+0iaWgTAu/udMnuFKldbvZcz6nLkyxBYCApcRRbLq2KGCUMe8mfK5gCUPAqOULjEfMauM/gKzPSg8RKOWjs= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 3473acec-fc2b-4e34-024e-08d821e7606d X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:31.3732 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +sFobFTSRcAqomzDzQwz8hu4cWpiVm0XU6+zzWSu4J0N0ax7xqQspxJM9nB/eOWUHtG057tfyMTQgkwGiMt13cTjS4lMKcB9kMe3Svz/6BQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean The current set method is broken; a simple test case is to first set the date to something in April, then change the date to 31st May: => date 040412122020.34 Date: 2020-04-04 (Saturday) Time: 12:12:34 => date 053112122020.34 Date: 2020-05-01 (Friday) Time: 12:12:34 or via the amending of the existing rtc_set_get test case similarly: $ ./u-boot -T -v => ut dm rtc_set_get Test: dm_test_rtc_set_get: rtc.c expected: 31/08/2004 18:18:00 actual: 01/08/2004 18:18:00 The problem is that after each register write, sandbox_i2c_rtc_complete_write() gets called and sets the internal time from the current set of registers. However, when we get to writing 31 to mday, the registers are in an inconsistent state (mon is still 4), so the mktime machinery ends up translating April 31st to May 1st. Upon the next register write, the registers are populated by sandbox_i2c_rtc_prepare_read(), so the 31 we just wrote to mday gets overwritten by a 1. Fix it by writing all registers at once, and for consistency, update the get method to retrieve them all with one "i2c transfer". Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/sandbox_rtc.c | 65 +++++++++++++++------------------------ test/dm/rtc.c | 15 ++++++++- 2 files changed, 38 insertions(+), 42 deletions(-) diff --git a/drivers/rtc/sandbox_rtc.c b/drivers/rtc/sandbox_rtc.c index b08d758a74..77065e49c7 100644 --- a/drivers/rtc/sandbox_rtc.c +++ b/drivers/rtc/sandbox_rtc.c @@ -14,55 +14,38 @@ static int sandbox_rtc_get(struct udevice *dev, struct rtc_time *time) { - time->tm_sec = dm_i2c_reg_read(dev, REG_SEC); - if (time->tm_sec < 0) - return time->tm_sec; - time->tm_min = dm_i2c_reg_read(dev, REG_MIN); - if (time->tm_min < 0) - return time->tm_min; - time->tm_hour = dm_i2c_reg_read(dev, REG_HOUR); - if (time->tm_hour < 0) - return time->tm_hour; - time->tm_mday = dm_i2c_reg_read(dev, REG_MDAY); - if (time->tm_mday < 0) - return time->tm_mday; - time->tm_mon = dm_i2c_reg_read(dev, REG_MON); - if (time->tm_mon < 0) - return time->tm_mon; - time->tm_year = dm_i2c_reg_read(dev, REG_YEAR); - if (time->tm_year < 0) - return time->tm_year; - time->tm_year += 1900; - time->tm_wday = dm_i2c_reg_read(dev, REG_WDAY); - if (time->tm_wday < 0) - return time->tm_wday; + u8 buf[7]; + int ret; + + ret = dm_i2c_read(dev, REG_SEC, buf, sizeof(buf)); + if (ret < 0) + return ret; + + time->tm_sec = buf[REG_SEC - REG_SEC]; + time->tm_min = buf[REG_MIN - REG_SEC]; + time->tm_hour = buf[REG_HOUR - REG_SEC]; + time->tm_mday = buf[REG_MDAY - REG_SEC]; + time->tm_mon = buf[REG_MON - REG_SEC]; + time->tm_year = buf[REG_YEAR - REG_SEC] + 1900; + time->tm_wday = buf[REG_WDAY - REG_SEC]; return 0; } static int sandbox_rtc_set(struct udevice *dev, const struct rtc_time *time) { + u8 buf[7]; int ret; - ret = dm_i2c_reg_write(dev, REG_SEC, time->tm_sec); - if (ret < 0) - return ret; - ret = dm_i2c_reg_write(dev, REG_MIN, time->tm_min); - if (ret < 0) - return ret; - ret = dm_i2c_reg_write(dev, REG_HOUR, time->tm_hour); - if (ret < 0) - return ret; - ret = dm_i2c_reg_write(dev, REG_MDAY, time->tm_mday); - if (ret < 0) - return ret; - ret = dm_i2c_reg_write(dev, REG_MON, time->tm_mon); - if (ret < 0) - return ret; - ret = dm_i2c_reg_write(dev, REG_YEAR, time->tm_year - 1900); - if (ret < 0) - return ret; - ret = dm_i2c_reg_write(dev, REG_WDAY, time->tm_wday); + buf[REG_SEC - REG_SEC] = time->tm_sec; + buf[REG_MIN - REG_SEC] = time->tm_min; + buf[REG_HOUR - REG_SEC] = time->tm_hour; + buf[REG_MDAY - REG_SEC] = time->tm_mday; + buf[REG_MON - REG_SEC] = time->tm_mon; + buf[REG_YEAR - REG_SEC] = time->tm_year - 1900; + buf[REG_WDAY - REG_SEC] = time->tm_wday; + + ret = dm_i2c_write(dev, REG_SEC, buf, sizeof(buf)); if (ret < 0) return ret; diff --git a/test/dm/rtc.c b/test/dm/rtc.c index 88f86581cc..e072fd618b 100644 --- a/test/dm/rtc.c +++ b/test/dm/rtc.c @@ -70,7 +70,20 @@ static int dm_test_rtc_set_get(struct unit_test_state *uts) old_base_time = sandbox_i2c_rtc_get_set_base_time(emul, -1); memset(&time, '\0', sizeof(time)); - time.tm_mday = 25; + time.tm_mday = 3; + time.tm_mon = 6; + time.tm_year = 2004; + time.tm_sec = 0; + time.tm_min = 18; + time.tm_hour = 18; + ut_assertok(dm_rtc_set(dev, &time)); + + memset(&cmp, '\0', sizeof(cmp)); + ut_assertok(dm_rtc_get(dev, &cmp)); + ut_assertok(cmp_times(&time, &cmp, true)); + + memset(&time, '\0', sizeof(time)); + time.tm_mday = 31; time.tm_mon = 8; time.tm_year = 2004; time.tm_sec = 0; From patchwork Mon Jul 6 20:01:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323915 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=PI5EffBe; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xMS13Gqz9sR4 for ; Tue, 7 Jul 2020 06:03:16 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1B8E081BBD; Mon, 6 Jul 2020 22:01:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="PI5EffBe"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8F0E181BA2; Mon, 6 Jul 2020 22:01:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20705.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::705]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 801DE8006D for ; Mon, 6 Jul 2020 22:01:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SEFzgdPuxHB35NNRVtdeWgfkLLMnXaGzThKuI1BxSG5gRYCUJjcHcNjgOxVd8xb4TynGHEj3U9Y/6ZAnG6mk38zYsndwny3pm1Uyk1HpTsoQikqg4/5hl2X7Bps3k1qSYWuCAm8/AV3K581XoRL/9GDBBpZp8O97gdiALb0w0nz3vCTLJ60+vB0xkvMolx2OFY92XUhp3C0OdRxQzDt4PmqnaMDUB1sMweggNqLllVE4OkiMo9S2l77AedUj5fKSoi2/D/ijmETAVL0STWijeeLXMdJ899ZSQneBIR0wLFgu2J2xPFiM618JfqsFle3gQ5uBocbaHktEY/5WMH7lyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O6DXBPnWZDpjhqBSWPjU62VKdwoIUifaX6/Y0He54J4=; b=nP2csfpQVsYpXiu0mxh+AG6E7gTGKL0gy1o98T903kzDZ8lvKICF3sU3rdyvSCcLpFzdu637WFnztzm7A4/zDJcHYdsD0HJ9uXOmxs1mfhAr51i40d3Jf1fk88jUvcejPyeSX+p9CAsS0fbPDgWHQKxxESq0Vgodjz1UU+UGAGDLLOQl0+7ziyQ49ngjZUl+ii0wA+HX1rV6KYdMewjX4q0F9rh0o4R4/bHirbumgpNnCkbyds+zeK6M09pf1p1oMsFzgem57kAaLlTMRTX5nYhK2S1rSwmz1saEjTKFuQ6/CMqbUqTj1gnP/fTNXBDiFBPpLKnBaKHfHAdRN38pnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O6DXBPnWZDpjhqBSWPjU62VKdwoIUifaX6/Y0He54J4=; b=PI5EffBeoZ1Hmika+O532H4DmJGSgiIsPIPnbhV6iM1fNSS+PEPkPxHd3Gw9ppiPX5BuNQ2oRSqV9jds8QojbPNr35WR0qMWpxjHIlXTOVxB81UFSOtPIY2MtQijwcs+ykHkgEVW63Thv+4vxKo1BuI6v6XqaDonpYk6qKPGb7Y= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:31 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:31 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 08/11] rtc: i2c_rtc_emul: catch any write to the "reset" register Date: Mon, 6 Jul 2020 22:01:17 +0200 Message-Id: <20200706200120.23093-9-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:31 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5495357e-7a27-4b30-9d30-08d821e760bc X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3513; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JG6y0QbzK0SNwjT0OjeNfi0m/zXx/u/B/hg+vriNLP/p7i2WTTOyyMIVn7YiN4BRoTuPu4bgiRc6lVsAnwKByfajSTZOA19J34l6/OzevI4JdppgDVCQAAf1L1/DoD21N6xnfd0pEUws4jr2AdQ8V0ditH2SYGSzwOY1XkqB1snM8XYWOZhhS+l3mXRiVmwtIpgqZpkmqZRfkooEjhXyaP8wYNcY2qNZUJYgtA8fQTN4wUMjfR2N/AkyACUTLW7ruKRVQsyJUc7B7GNiPOadMioIyudrbRzveQqF+Uc26WA1xpBYZOUe2CeiHaOV4Zz4Qj+hxXidshc7fg7D92pErw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(4744005)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 6w4tAOloL5LU42iYQfY4Ku1mXRE3WHBM+HANfVmTXvsLlDEGonv5Hi/WXKyNrILmnPGbqpgxdcNbph+074wMjZoz6PcZfNLElYTDdrArwHteSFoyuFaoybj8e/hQJvraM1PBxS/1HMreLjOa7WqBEA9y/fFdg7nxr4u8u+TXLN9hXS3/HTnTBOFOixZZcBDP4LCFQyoKVMh2PtwDmyqm8zOlvb1Fll7lp4H1SJBe3o44jwdSPdz61Yb9ZEPA0Whm6r2a07BWUfFk1VPjwqYM3jAuHunvXmX0fnv6fpSfweS/0I3Q5UlpBNJwgrdIsIfdd/KX7jul5jIZ01owiraYxgu+uUKhUpgGR85o4g7S1OIB+rRnKHmrTArUm0MGkzxjzkl+NvOwUCcbl+mzwzwarKU/aApkTJqwB6pmB374xGEbuHM7nA0dz16ROjHuLXXivAoAO1EYnplCSBHglyJYGNoOedfAtM4kFZdDHIFM0AA= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 5495357e-7a27-4b30-9d30-08d821e760bc X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:31.8400 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +ybxsyDQzPnIBEoo13QeEE54LALbcE3pozpG0NWllffdTD4f6VplVPQXQKCAoUKYCNaoV3k2a3yxCbZqXFAO+/rqvPUHTh+qbVkPxqk4Unw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean It's more natural that any write that happens to touch the reset register should cause a reset, rather than just a write that starts at that offset. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- drivers/rtc/i2c_rtc_emul.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/i2c_rtc_emul.c b/drivers/rtc/i2c_rtc_emul.c index a010af411b..7f78ff83cb 100644 --- a/drivers/rtc/i2c_rtc_emul.c +++ b/drivers/rtc/i2c_rtc_emul.c @@ -197,7 +197,8 @@ static int sandbox_i2c_rtc_xfer(struct udevice *emul, struct i2c_msg *msg, /* Write the register */ memcpy(plat->reg + offset, ptr, len); - if (offset == REG_RESET) + /* If the reset register was written to, do reset. */ + if (offset <= REG_RESET && REG_RESET < offset + len) reset_time(emul); } } From patchwork Mon Jul 6 20:01:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323916 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=P2Zcozof; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xMg46z1z9sR4 for ; Tue, 7 Jul 2020 06:03:27 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 510FA81BC6; Mon, 6 Jul 2020 22:01:45 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="P2Zcozof"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E2EDC81B98; Mon, 6 Jul 2020 22:01:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20707.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::707]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 030FF81B78 for ; Mon, 6 Jul 2020 22:01:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SwQAMnICp2E6Z5Fd4dnkkHWBsiJZTJt/IcJdg30FKYoS6IfjaGgza2w/1Y5Z7z3oEWm+W5/w/OIVD7baAgbKWftM2wiEXvL65izICKq+XAagPn/3/cUJ8jb/5WCTrYbOJ0+mAYmQUFvGYZsg/4CY/eSTQV18Qjl3/o0aXWuIFdJPYWZpxHl7Z7CaRm6PgL8qRf0b2etWTVQpA/ju9DLui0c7MakJQ2Q28A/182UR4gZ7QiCu3dogS0k4LQYyBoxX/uXEME5oRXvBHZw1iCtCRE70NrgzmI2QdAdMssmDvj5aAIw+y9i83Ocjl6969ILx1ebEERR1Ba06XxMDcga3AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uF4GXJOZzxC0raQYoD237fdqiUHgXsOPfobe69xtSRY=; b=h3xpgJQyVaK3h6CoRnZkyLvwnIThAp0jwsLNNyyY3GnINg1miWKsr5JKl3sKP2LHFqhqZdqIe3do9Ln+guPhB7zqlqFPXiRK2AFQhKOWO52wrgHwGo1XWEWSc2PhdFMp4lDHiNGx/sSCIjLyn5LSpLWHTZp90nS9MLFl0ciIHxrsHdnN2tGeX9v7uetX4lJ5LD6Jmg96uHbkzjS/GjqDUvZoQ7F+f9STpMmZVfxCnmVZb7tRyiobFLWacM9fYxhRP4lq162muZMXs/Ir5NCueNYEb8oFm8KN4BR8BZxrKP+bhlp3ighWFtFjkUU2jNZCc6dDdadXhbMQIZsUEcziVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uF4GXJOZzxC0raQYoD237fdqiUHgXsOPfobe69xtSRY=; b=P2ZcozofwAUrsR7eNYJEX89hrtHrt7Xw1MSWbbXcnLkzeCHTlgxgE4joqpBp5GW3zXEQrs3EfRy5fqe7fexGVSfo4LyrpiKVjSz4zUWqGL6us7zCfsTG4XmpN0Xo2nwJ86Vawum9diDvq4ehAYeCWFYMNZmnQFnG6AkfXDaYmVM= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:32 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:32 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 09/11] test: dm: rtc: add test of dm_rtc_read, dm_rtc_write Date: Mon, 6 Jul 2020 22:01:18 +0200 Message-Id: <20200706200120.23093-10-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:32 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9bf1af31-7bb8-4dd0-2bde-08d821e76100 X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2000; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fc8Ho3rJ3J1kF+8iOfZCE7LVGaSQtbdpXGHJKT3JOsGQDs9QOwJU/nJRAnDRb/z/GRuRDk1jpN7emS6Vojv7eAFWYlClfgKDj2/oMAmqv/K/5gm7sQLUBKjCc/WiPg/ShBfos+90ycS4Ez8ZNBj6avkqQXSAExwUgCt18Ds+DO1hLcZ7vP5UCAqD0CgabxiSOSjqzUYPFj3i5ZZk+EMCcJjBVLJQPl9HCq6bbwDUIsA7Bqi7AUnEdY4FIbdUPFV7lAwof6P62/yLxqTUVOa/cC69ONKfWsEvnphq9dVLbUb1UxMf4wGso0JZUwDSEYyg X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: sDCqHrGPbUrfQp4BT07F9I+FddRttPHoxJppvMfU0JrhpS0XpvP0eUYKTORTA107f3M4NOsVuK8S5RBvCsLztjLskKShOVN6Y5U/Jv1vLkHQG9duhbOvLV+wh5iZHB3qjv45XxFIGAY+m6a4lQiwz5aFqsI5FgeMMIMe/1NDjCEXx3zhf6NZVJGlhoiF8I9be6tvj+XMTnOussjP8eFA/JogrJIj7AFS3ban7V+I+N15dm0yxOa5wOYdtP6puEJvPgWisGJA/Zy+lhzh3p2B5bLOE0ViagS5VnfGdlvcdjOnzGb8dD5ICfSYjHTnlokT/tPQiwbf31jq8EwyR1icaYLYwa9dhOKb6alOu9ebyLUogxFmifA+osDWAyr7dzUArTpIoh2xVMtqCId+bH1vvxp8Vhvnd5wLB5byMZX/8a59/5ijTG/eVqqpuSaPZCqHitmc9btBzmAs/KWhiX2YX3SScujUbGVLs7cSDNUVTZg= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 9bf1af31-7bb8-4dd0-2bde-08d821e76100 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:32.3067 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3s2fUa9CAW8MLU8EUv2D17WIsAu/OEu7WtJDGHLAEMfrsHSerh9FJyd0TOY5KHSeaO+GPF0+ft3MIFxUB2TLRK+Sweb4V/VIMQ/4nQ0Q5Ro= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Define a few aux registers and check that they can be read/written individually. Also check that one can access the time-keeping registers directly and get the expected results. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- arch/sandbox/include/asm/rtc.h | 5 ++++ test/dm/rtc.c | 45 ++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/arch/sandbox/include/asm/rtc.h b/arch/sandbox/include/asm/rtc.h index 1fbfea7999..5bb032f59f 100644 --- a/arch/sandbox/include/asm/rtc.h +++ b/arch/sandbox/include/asm/rtc.h @@ -21,6 +21,11 @@ enum { REG_RESET = 0x20, + REG_AUX0 = 0x30, + REG_AUX1, + REG_AUX2, + REG_AUX3, + REG_COUNT = 0x80, }; diff --git a/test/dm/rtc.c b/test/dm/rtc.c index e072fd618b..ff1bc7b7f6 100644 --- a/test/dm/rtc.c +++ b/test/dm/rtc.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -130,6 +131,50 @@ static int dm_test_rtc_set_get(struct unit_test_state *uts) } DM_TEST(dm_test_rtc_set_get, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); +static int dm_test_rtc_read_write(struct unit_test_state *uts) +{ + struct rtc_time time; + struct udevice *dev, *emul; + long old_offset; + u8 buf[4], reg; + + ut_assertok(uclass_get_device(UCLASS_RTC, 0, &dev)); + + memcpy(buf, "car", 4); + ut_assertok(dm_rtc_write(dev, REG_AUX0, buf, 4)); + memset(buf, '\0', sizeof(buf)); + ut_assertok(dm_rtc_read(dev, REG_AUX0, buf, 4)); + ut_asserteq(memcmp(buf, "car", 4), 0); + + reg = 'b'; + ut_assertok(dm_rtc_write(dev, REG_AUX0, ®, 1)); + memset(buf, '\0', sizeof(buf)); + ut_assertok(dm_rtc_read(dev, REG_AUX0, buf, 4)); + ut_asserteq(memcmp(buf, "bar", 4), 0); + + reg = 't'; + ut_assertok(dm_rtc_write(dev, REG_AUX2, ®, 1)); + memset(buf, '\0', sizeof(buf)); + ut_assertok(dm_rtc_read(dev, REG_AUX1, buf, 3)); + ut_asserteq(memcmp(buf, "at", 3), 0); + + ut_assertok(i2c_emul_find(dev, &emul)); + ut_assert(emul != NULL); + + old_offset = sandbox_i2c_rtc_set_offset(emul, false, 0); + ut_assertok(dm_rtc_get(dev, &time)); + + ut_assertok(dm_rtc_read(dev, REG_SEC, ®, 1)); + ut_asserteq(time.tm_sec, reg); + ut_assertok(dm_rtc_read(dev, REG_MDAY, ®, 1)); + ut_asserteq(time.tm_mday, reg); + + sandbox_i2c_rtc_set_offset(emul, true, old_offset); + + return 0; +} +DM_TEST(dm_test_rtc_read_write, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + /* Reset the time */ static int dm_test_rtc_reset(struct unit_test_state *uts) { From patchwork Mon Jul 6 20:01:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323918 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=mTvgeQYz; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xN74MbQz9sR4 for ; Tue, 7 Jul 2020 06:03:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 817BA81BD5; Mon, 6 Jul 2020 22:01:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="mTvgeQYz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6FE4381B78; Mon, 6 Jul 2020 22:01:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20707.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::707]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4D49881B80 for ; Mon, 6 Jul 2020 22:01:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gJ5SDXgV6zLWUzEt0sDLJAFbDBU4BvXKCMTaGhQ0iJOUcFzexdrJ/aFjJ5CXSsp3IqpEmadH2a2UHkyI/FZfWKgScvH3hf07+i0mt7vB3hwZQ5PQLVlb4V0QAFJ2emLpFXQZBUlcKwqudlssCMhO3nJGbKsS/pVkvI5AwoGgaXaKrW/tFRlqNJjkLls6JieT9k8DkrqwtE4jadSTASNQc33csWeT1H3FfgQf78XYkOki8vsco7VxRz5Nce9B33BQOxedTRkVBsj/cb8fsRScKib1qdZ53G4MSg96ZBc5YQ9f4GbKJuTKJgt9OVBEnCmmEGWXuRlOgDqktuf/bZkgTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DwRj8+Tg6f/0JFB7ohmrL1GT16NhSi5eXMmX4nJaKNw=; b=fmmgrIa5XpkdOUmSZLWnFS7fB3O+yHvfISFMa7472qXKVXNuhwEeZ+D9ExGq2rPT99u8CDhTYs9tOQQdKEd7FnlLm33RzJKMAAO+Yc9zZD2J14e86asy/bsIMNW23j+rB6Z3jLoR8XtmP5x05MEE0i8105Xt8W+IcYoOez2Hi15qUWP7fLkgfK8+69juRTEcyMUTMZS+pUfkPfrfP7aydWSf++TVilV3K5HupAAOO9EZo0ql4XGr3WygOAbHg9l8gx8iQi6iJjewp2X1UPjscKgC6x41RK0t5qXzhfSj1+YKrJ+fdudtguky//oxCXDoFH9NQn9RaQWKsuCThWKhzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DwRj8+Tg6f/0JFB7ohmrL1GT16NhSi5eXMmX4nJaKNw=; b=mTvgeQYz2gCx2OFCHj4wS7WblisoDLpovYVfT2DbJ0/kyI6FrY8fX/ZfSAhWSZsGI0HYNkDXwD0EPy/6yq1v7f9a3KOaBQeJf3TxnjTXO0xvuL3GY50VnD7dcNMKjRaAZ5HzRXx/xk347A/WGje6NSEEQMn6xixkRL8rJqZYQh8= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:32 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:32 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 10/11] sandbox: add rtc command to defconfigs Date: Mon, 6 Jul 2020 22:01:19 +0200 Message-Id: <20200706200120.23093-11-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:32 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f11aab83-6678-4221-59f3-08d821e76154 X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1468; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /lFS5Cx9w91YPkOsKeT50my41pCQiEtd8sbtg4qbwpEZJedgdZLu+JFifPr15KJEirK/Ndh1uSeaD1XN48+nVKKmaO4PeoNjB899iGQcQ/EZWBD77QWyB8ZDKKaR8CJdrV4Ozuyqa/rB/LK2/y0Ur+6aLCx7Giftrs3lCi+0Pc1okgCxs14V3szA0kJlbaFw09ikQ32tH37U0aAsHOKSd/gahcFVBKtlx99qzRmYw23b96r0Lzb3AwlV2f3kTM2jExtapvVmPDFtxO/Gy/TrSDZ5nenTrJfv8M/VLuuLdqXVZqDkYWuRvZSAAl7cLIuI X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(83380400001)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: bcJVJ2+3C0D0PEgLdoldv91Q1rJJR+VLd33M4r264blxpZSUCgyjblcd8W1D3kh9wI1Ow9EEqENbahhNNrGdpdrSa1FPi74Mxg5accJ89B9YjZjY5pPZI8iihJ5bePafRFl5ASMzGmcWkumRCaoC9hVW8E9G1iwVGRgASk4R42adUEhXbEk4AyRe7VYYyGAmql3+W0T7N0oeS3S7E9SyQiCpWgN+2iTyOY3zycxNw9VyH6mu2+5wEwsQs+fF3XOqcOLUGYTNIPgJXOGuWeZkc/lEaF9aaEaHd8C/4NvrEj9KXomjqRGGV9wKFQJ6wpO1oQtVlgTcrLFPRaaKU3g4mUoSU5LVap+kydZdk0iudA9HzU/tnoNyErlH9dVzv12t2dUtSBL9M9SSP4yNR30I+KSyD+1QzYEzSF9728V6HmKGM1AAp+S7y39m0wSr3hx2kTcbxm8HbANpkwD3mRIaK/6JQybrAWgj4NfbEObrFvA= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: f11aab83-6678-4221-59f3-08d821e76154 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:32.8364 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2ozgxEWg9dtBnm+AOILGU2EspGds8581pi4p9R3gDJ+DFE4+oF5kVLzk14y44VYSG/X8Cm9ybBA5MNU9v/M/vh65conqMCrgpdtfbgneC3c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean In order to allow adding unit tests of the rtc command, add it to the various sandbox defconfigs. Signed-off-by: Rasmus Villemoes --- configs/sandbox64_defconfig | 1 + configs/sandbox_defconfig | 1 + configs/sandbox_flattree_defconfig | 1 + 3 files changed, 3 insertions(+) diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 0f9a27c39c..0d0a4fcec5 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -59,6 +59,7 @@ CONFIG_CMD_LINK_LOCAL=y CONFIG_CMD_ETHSW=y CONFIG_CMD_BMP=y CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_RTC=y CONFIG_CMD_TIME=y CONFIG_CMD_TIMER=y CONFIG_CMD_SOUND=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 6f450aa637..1061933643 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -68,6 +68,7 @@ CONFIG_CMD_ETHSW=y CONFIG_CMD_BMP=y CONFIG_CMD_BOOTCOUNT=y CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_RTC=y CONFIG_CMD_TIME=y CONFIG_CMD_TIMER=y CONFIG_CMD_SOUND=y diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index 05ce9bda37..2be428ba27 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -48,6 +48,7 @@ CONFIG_CMD_SNTP=y CONFIG_CMD_DNS=y CONFIG_CMD_LINK_LOCAL=y CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_RTC=y CONFIG_CMD_TIME=y CONFIG_CMD_TIMER=y CONFIG_CMD_SOUND=y From patchwork Mon Jul 6 20:01:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1323919 X-Patchwork-Delegate: hs@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=gd9x7cTE; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B0xNM27Hmz9sR4 for ; Tue, 7 Jul 2020 06:04:03 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7991B81BDA; Mon, 6 Jul 2020 22:01:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="gd9x7cTE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 00F3181BA3; Mon, 6 Jul 2020 22:01:39 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2070b.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::70b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 18A0C81B90 for ; Mon, 6 Jul 2020 22:01:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G6wHCciArFkJtnnwPfgpHewPs0x1SYgI2DW+vSy+Zq4E6cw1+JpEyDBpVRsuBq2jbDr/YcVcrReQ2793jTzQUm3UtvTHMD1gQi19Veuxt7H8w+ZvVuVuVuZHRvo6pwP60QZNkBghO5rgsu9XzCgp6SioLi94Zgw7mc11Pf9JHp/vhXuQdvjScE8oKB45rZ3ZXJjBx0K8RyTKHexcTtv2bPdCEGBfurGMpZcEZnouCIdxGatm23nyDHh4vt1bhX/YNszu6NMKBfyKVqXcrTGxNK9JburAk7t9glNKV6sYnz5dtdzcY0z5tnFcdmAM9tc1N4JLtRqE2W5zRQyTLVS7DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9H2goV/7LkHxqnm9v1ppxIK7ufgG3OUX8P31q+sg5co=; b=jM9u6CNKqhfOj/9oev76A7uMAjZY7H8bx1VckTKsioVd3UA0Jku5BsB94sAzo92Zh4xgODY49Dm5hAkmJazVepQKle4ZDRXxFm2tOuiNMO1VEtD4vNBcvOIg3bWgx0dOflVfOGVDNSRD+xYgrOMZzUSHammyCsUgqGh4yhYGlSr+MQKYz+WBbQCzK46RpJlaw/ewey7xuRqG3aPJeYL2QbizOVW6T9ZXDIyYtRj8+j1s6lfeAIHlvN/JXLbIUH4wXvzN3onbwzl8b7aovZM8RC+DLEZqSByMjwc+1MuQGMTorafRFPU2iuHe1iyKlniOgctifUKQPwTBPwW/FoABfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9H2goV/7LkHxqnm9v1ppxIK7ufgG3OUX8P31q+sg5co=; b=gd9x7cTE99tucxorJ+7cPa0Js/+J8v5j5XB+sZznzJQV3kO98amaaDwhTKDY/Hc21STuQf50PuN56Vs/5zEyj5tUgip5j9auuwFWmlw1y/L3arN6mCwREap2h5cVQW6adkgkVhpjWOoZeWlvnUZBmya2o2MrDX7V6fsjq63ShhI= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:144::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Mon, 6 Jul 2020 20:01:33 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::91fd:aebc:e8cb:a663%7]) with mapi id 15.20.3153.029; Mon, 6 Jul 2020 20:01:33 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Heiko Schocher , Biwen Li , Rasmus Villemoes Subject: [PATCH v4 11/11] test: dm: rtc: add tests of rtc shell command Date: Mon, 6 Jul 2020 22:01:20 +0200 Message-Id: <20200706200120.23093-12-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> References: <20200706200120.23093-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.112.31) by AM6PR0502CA0046.eurprd05.prod.outlook.com (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20 via Frontend Transport; Mon, 6 Jul 2020 20:01:33 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.112.31] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 93e0088c-9353-4db8-0198-08d821e761a7 X-MS-TrafficTypeDiagnostic: AM0PR10MB3587: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1360; X-Forefront-PRVS: 04569283F9 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RwCcpuNKMPE3QPhM1DQvlXsa6/72oaHs9bt246j9SdIi6EKrbQVIGo1pMSEKxdU5e95IwEojCupkmB7qe1n1ZAbnOV8PfXQPy1tv6lSXOE3tBXXTsUaN8YfNa9ZwaZc2Skpkoqpe9K8KDPhU2n61h/JxN4pLjz+2Ag5jQN19iHCVtl+gymbxoPG5RRSMYGksI/7gWs05QnOINaKWkAWUUqWFxC6gn0dr2JlIfjfmDt1HsYIwjMvalM9LVwFesKiBMHwiYDH0+VBEtcnos44udDpXhR+y+dIOaouBwP5iyrKhZRo5+UNCuoxfQdYRpj2qh1YmNNkGwDgEdM+Wbha02w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39850400004)(346002)(136003)(396003)(376002)(366004)(5660300002)(6506007)(6666004)(26005)(54906003)(66476007)(36756003)(8976002)(8936002)(6512007)(66556008)(66946007)(52116002)(478600001)(44832011)(86362001)(1076003)(107886003)(2906002)(186003)(6486002)(8676002)(16526019)(956004)(4326008)(316002)(2616005)(6916009); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: zYrJbO/3sZxRWG7M4veSnXA6RzRCOfuwaHOhoJNHVBhZdunWwkboA8NvqMX4p9TYV2S1jya7BeIT6t1Gl74LOaP9ypmIfkiX9/Tjnwgv1zxvkN7g5PqwOFvJd+nxp/7gVjtqzuxg4Er08hb+GwaJpeqrF+q7Ko1r7teFUHj0r0wVzfqn3zVdmJB7NAkf6HouykoBchQzseImizM4Uiboj+J3PxEAOVE5+uou1jNnjgA+aU1cCXgyXoVW/5Ug0OaDqQe23fdtNnGQqhgxnvuZMzl+VoEKgZdWkvQLnqoSSJq9IEgWw9mpnGPI95W6JQKoQRJwFkFjGK7LN92o9Ekc23+AX0iUR+ZnVigxA0ebbueOp0BHx2N+x5pOWXIY48CEWIujCj9OUbf5ZYR1KZt/PpYmV8d0VDFwzO+u2H1Eu81v0XKHF9O4Tk4JRGOpoC2tSgX3grrStRkDzPv/fmQXQIRSEgyLuuStRGTvyWolp/A= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 93e0088c-9353-4db8-0198-08d821e761a7 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2020 20:01:33.4051 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: h2HvDVY0q+3jK7oTzKjd8M3vvrr5iHlt1IG3L91ewcAv5Qz4QLDjVaqKRaWMkll2C74+m4XWe65xpsQM3bAcR3kzE3H34/CLU32OFQZmNu0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3587 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Add tests of the "list", "read" and "write" subcommands of the rtc shell command. Reviewed-by: Simon Glass Reviewed-by: Heiko Schocher Signed-off-by: Rasmus Villemoes --- test/dm/rtc.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/test/dm/rtc.c b/test/dm/rtc.c index ff1bc7b7f6..dd037a6e17 100644 --- a/test/dm/rtc.c +++ b/test/dm/rtc.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -175,6 +176,63 @@ static int dm_test_rtc_read_write(struct unit_test_state *uts) } DM_TEST(dm_test_rtc_read_write, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); +/* Test 'rtc list' command */ +static int dm_test_rtc_cmd_list(struct unit_test_state *uts) +{ + console_record_reset(); + + run_command("rtc list", 0); + ut_assert_nextline("RTC #0 - rtc@43"); + ut_assert_nextline("RTC #1 - rtc@61"); + ut_assert_console_end(); + + return 0; +} +DM_TEST(dm_test_rtc_cmd_list, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test 'rtc read' and 'rtc write' commands */ +static int dm_test_rtc_cmd_rw(struct unit_test_state *uts) +{ + console_record_reset(); + + run_command("rtc dev 0", 0); + ut_assert_nextline("RTC #0 - rtc@43"); + ut_assert_console_end(); + + run_command("rtc write 0x30 aabb", 0); + ut_assert_console_end(); + + run_command("rtc read 0x30 2", 0); + ut_assert_nextline("00000030: aa bb .."); + ut_assert_console_end(); + + run_command("rtc dev 1", 0); + ut_assert_nextline("RTC #1 - rtc@61"); + ut_assert_console_end(); + + run_command("rtc write 0x30 ccdd", 0); + ut_assert_console_end(); + + run_command("rtc read 0x30 2", 0); + ut_assert_nextline("00000030: cc dd .."); + ut_assert_console_end(); + + /* + * Switch back to device #0, check that its aux registers + * still have the same values. + */ + run_command("rtc dev 0", 0); + ut_assert_nextline("RTC #0 - rtc@43"); + ut_assert_console_end(); + + run_command("rtc read 0x30 2", 0); + ut_assert_nextline("00000030: aa bb .."); + ut_assert_console_end(); + + return 0; +} +DM_TEST(dm_test_rtc_cmd_rw, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + /* Reset the time */ static int dm_test_rtc_reset(struct unit_test_state *uts) {