From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27125C47094 for ; Thu, 10 Jun 2021 13:57:09 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D09A2613E9 for ; Thu, 10 Jun 2021 13:57:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D09A2613E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=vaisala.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 16D2282EB2; Thu, 10 Jun 2021 15:57:05 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=vaisala.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=vaisala.com header.i=@vaisala.com header.b="QIWKIF51"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3E63682F08; Thu, 10 Jun 2021 15:57:03 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0623.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::623]) (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 4751982EAC for ; Thu, 10 Jun 2021 15:56:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=vaisala.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=nandor.han@vaisala.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BZLCJh2lmEJcAjZkWouEe7TVJv8kJulqt2mdap1UOcAE6sI0HOCHnlJK+rDesYpV6KxlGSQLuJkHs+WSPH5vS5OOWFoXX1IKp6UXNeBvjA7qDSD+rUsvNg/NZJldUUDa3NDBJUzeszRp/EKgQJu88mbS/OfCf3UvUR6YKKTa0ynNxmr2ldYBE2q7obnIKgrVUlkPcDRAKs8jkk5gTcbywTkY/jC4fJpKsn0Fj9WkXRCyF97j4FkgD/WFDIa57iNm4A9kBodYzO4+TmA1QM5hgNlrIa2CrQ0JYvae56oxPXgg09CUN+039oVfXLqLO4Bl0CSyeEC7D+Cxq8kLwiJ1+g== 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=yQl2f65BNTRkdSEYaTKDnqK9dse50XYPRzrY1f4fAN4=; b=F0WhG8+EJKdjnnHDPX3zzgDxKJlzcnYkKFeua0P7nIs+wQ9CUJvyLKuKZmBGZQOixpol1u2xNs7fBFewTFrNt2gsIC76s3fYXTMvmI+Qsx83zebFs4RO6o6n6+X78o/8O3xptmLZYUVuIxamo/QBmSrupdOJ+11JVqRhni/l+jnGNIk0sW0Fv6Ij8FmCFb/7/wz1vOxxz5Kca+4tuSpnAZ049KD9Q0+Cawq4N0NE9QDCFGIEyITUbLZ6k//Jh4tw6LhO9hdhcPu/IBfznjVv1G7z83eUsQL01ncbDtm3SH6dQ6Fl7WcjQMJV4rvMD4XeWS6DwoNI5CzqNhm6gRi1JA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com; dkim=pass header.d=vaisala.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yQl2f65BNTRkdSEYaTKDnqK9dse50XYPRzrY1f4fAN4=; b=QIWKIF51Hr+vWOcyhc9ATbX1MKQxb+C/F+dl4H53XGMdyXz++AW9fRaj0oOgjAj5x2/appMbh5VBh2awD21T4xCB46+pRLC6yjH2QT3hJAqVO4HO0eEk2FOPYqIT9P9WPo7tZZBbVYtfHb0ACqTEgVBT7GxgoiPRWFUNUuCihfQWRYjEIT6aynOk5fYCHDPC6CAVX3wbp+AuI1YE1L/CXYBkwxZCiiLrx6DMH5iwbCvJ/LItExfO5XxEA/iK6bACmy8S4Uq78JouMGrX2rnCUBx5M3esQBKSFjKLZBASwkD2Y/t5vwnc89bE/CAK8qx6hqzozpbTeMGq5/Vhwx3pug== Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=vaisala.com; Received: from HE1PR0602MB3449.eurprd06.prod.outlook.com (2603:10a6:7:8a::22) by HE1PR06MB3948.eurprd06.prod.outlook.com (2603:10a6:7:95::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.29; Thu, 10 Jun 2021 13:56:55 +0000 Received: from HE1PR0602MB3449.eurprd06.prod.outlook.com ([fe80::95b:60e2:3b52:af05]) by HE1PR0602MB3449.eurprd06.prod.outlook.com ([fe80::95b:60e2:3b52:af05%5]) with mapi id 15.20.4219.023; Thu, 10 Jun 2021 13:56:55 +0000 From: Nandor Han To: u-boot@lists.denx.de, trini@konsulko.com, sjg@chromium.org Cc: Nandor Han , vesa.jaaskelainen@vaisala.com Subject: [PATCH v4 0/3] Add reboot mode support Date: Thu, 10 Jun 2021 16:56:42 +0300 Message-Id: X-Mailer: git-send-email 2.26.3 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [193.143.230.131] X-ClientProxiedBy: HE1P189CA0022.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::35) To HE1PR0602MB3449.eurprd06.prod.outlook.com (2603:10a6:7:8a::22) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (193.143.230.131) by HE1P189CA0022.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21 via Frontend Transport; Thu, 10 Jun 2021 13:56:54 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 799daee7-4b08-48e0-b6b3-08d92c179b48 X-MS-TrafficTypeDiagnostic: HE1PR06MB3948: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4125; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cx+S1YhtubTV3B63udu4PJNVfSz8V/ri4v9gzt4xnEzV+sS8Rmwrvxi+J10z0Fpw19W3jDrOE4L73Qv++geD1FHyZbQGxdmMdOS6nvQgqT6RG/vqvOZ7N5VvQDRAByzikXLyt7FTJTUiy//bWi73h+vDRxDgNRaVUiKFRRD5IMa47KCDoxTp0m8MRYXNc+wppuW0K/daHWCEGjVl2V8WSyP8CJtvNMVcw3wyPpZeJI/RVyyREzsjXKx054kDdDCcriW4YhcNmgyN03BG2fA03ZJf5nrzBoER1x8sayNkCSEN3GQWl1um1aSOCZEfZ9AKZGesejA004Xyt4g/IO0zyZMtFf2//TEe5syNDIRKk7MjusO1pdAGqGbs50dLcSIlzmfB77NAQYm/z4Hg+PKP32cmrDof11R9YbHcp2TNE2L+bGdmFHK66877nqzSvH50KcdcGG/m0snrpdK3VNp767GDGZ94vd5vMgh3Tdsipdv/1hu8ckVP4qzO7ynwTom1e/Cb2NV6hI4k+TuMRnibllOIMNb1OK48zId0uenLhMJpR+OK80aldO58OTKJa8ZNUfJg8GeTAGpv0hnN+izTsChU8/8LXEVjZehpvwMDmDaMLLdWx/rOaI/lBHC5QJYsTxjsCTWhhJ0f80UR2eZKO4aPBdcU9wzj+w9VgxKNQuGJTsgApuObaW99C8MRWzbr X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR0602MB3449.eurprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(39840400004)(366004)(136003)(5660300002)(6486002)(107886003)(26005)(8936002)(6506007)(52116002)(186003)(16526019)(6512007)(66476007)(8676002)(38350700002)(83380400001)(38100700002)(6666004)(2906002)(36756003)(44832011)(86362001)(316002)(2616005)(4326008)(66946007)(66556008)(478600001)(956004)(69590400013); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?QxliU7zd3Z8PwNLXWoZQJfplC0IULpffFNCuJ5R6eEKQ7yiDPsaaWn1giPzQ?= =?us-ascii?Q?Fl1gbBBinKKB+vnKPVACckd8kVqDeJS7VwRbXLnQIV7mvphLvoubv/uzHPm6?= =?us-ascii?Q?Jvs6G9NgkMj2K3l5df8fFfaDsgB1XqWLNKkp1mLkQDj7UfcIe1qkXmMZmZYe?= =?us-ascii?Q?6KG51WgKxzngMT9y7ibgcMFKMuo9y6GqkHa4mXB6nMHFPp8QsLAGfFRJ0bro?= =?us-ascii?Q?M5CtBenTPYyVYEqo1+F1L503mSEVwrgtQ6xEVjqFg/T0UvAmyZO0BR5PBSGX?= =?us-ascii?Q?igOEPc/DZz3iIRbvqcc4xFqWJ9q02NfNEM12d4PqzIW3Yiy3CjvTlXyMF4zT?= =?us-ascii?Q?x3ASjq2hD4VZSBagKduhii4F1t2nKrbOA2V1yKCm2ekJC65hbcMzHdQPqsWM?= =?us-ascii?Q?XLq7Zdea1i5BtsaJBKRc0CiYZvVPOrNX4zAT/BkVpBw8mYiP9WZV1wq5QeXl?= =?us-ascii?Q?mOpmY3BVjZYHykd3Njh8ClejcCXrcqiq9ZSZP/o80NwvqkejVW1iteUppFzl?= =?us-ascii?Q?wKskuXLnTiDJ2/x5ZUSJOvrDNjALZrnTCCmVp5i4vblWwlyifmqmsZL+2u8p?= =?us-ascii?Q?vHGVYqzJpIYsqNfpa/z9Bwcqf5sSZW/ReN8+OpKDtBFZDcr1P03GBllVqIWQ?= =?us-ascii?Q?8U5F3V4WJifSIBbpy6WT/veu7rCeN6kzF9GEJIMfmFf90292X5vK0a/WAt0J?= =?us-ascii?Q?spfGoJf5bWWodFg4uidiRtUYv302IT++GD/1DprIT0dGrsCa2ygoL/9MWKOm?= =?us-ascii?Q?TMDis9nVZ7azLY4JsOT/z3p5ZeeoCbEx0VpZvHQYS32rjSKmbQdhD03GTxcU?= =?us-ascii?Q?MdtjBM4ZkwH5/cGxApf6kRfFtNDR11a/21b41OVffGmgq5Tvyoe1xCg14tUf?= =?us-ascii?Q?y/CsK/bV+/i5T/y/u0DEIy0ki73lKFpPB6DsEbtJd38bfqn3O/0bKdv1yNoG?= =?us-ascii?Q?h75/HAot0KJUc/XFfmuL+TK3jdHsgX9hgwFZoN3J4MHyAxFRdmfYQY/9zZN9?= =?us-ascii?Q?PBQ9ZWIBbAOe1Is+QjDT0OgXFwOQyYZ8Lg4tUpbB/BidvO9XZ0xefsfTKhN2?= =?us-ascii?Q?qGd8D4ZEwT9Gf/4wraqseJu+5ALLQNVQDltkukZaJrzgC/1xRJ4NqrJ42f2I?= =?us-ascii?Q?kAa9jvRzoaSn5DGKL9D1dD9GduE8kpcfyoj2nfyQPbI4EkBdO5A0S+3KVqa2?= =?us-ascii?Q?USwSXkvqChSZEUEurO8GsXFnKCvh4Z047U5HEjN6V6lHMeDFo9C46M8/GKjv?= =?us-ascii?Q?1uhSNj88zJ8/545QewqNkNP5b/fICLuFeFAUBFltKn9jZDMnloOY2mK7t26e?= =?us-ascii?Q?AnQ2u85lKSyzd7A+UB4j0Jjh?= X-OriginatorOrg: vaisala.com X-MS-Exchange-CrossTenant-Network-Message-Id: 799daee7-4b08-48e0-b6b3-08d92c179b48 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0602MB3449.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2021 13:56:55.3478 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vYhFQk3MuwC1CauUCENnHkjRHKiwkeeHCaWcEoZhObNbX978xfvLqKuhgJYadGjeMIemNccrjmdnlzhFrTVfoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR06MB3948 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.4 at phobos.denx.de X-Virus-Status: Clean Description ----------- Add support for reboot-mode configuration using GPIOs and RTC SRAM as back-end. Testing ------- Tested on a Zynq based board where device tree was configured to contain the reboot-mode configuration: &amba { status = "okay"; reboot-mode-gpio { compatible = "reboot-mode-gpio"; gpios = <&gpio0 47 GPIO_ACTIVE_LOW>; mode-test = <0x1>; }; reboot-mode-rtc { compatible = "reboot-mode-rtc"; rtc = <&rtc_0>; reg = <0x14 4>; mode-test = <0x21969147>; }; }; In addition to this and not part of this patchset is a change to board.c where GPIO or RTC SRAM backed is selected dynamically at runtime. 1. Test that the reboot mode configured in user-space is read in U-Boot and environment configured: PASS Userspace ~ # reboot test .... [ 177.335936] reboot: Restarting system with command 'test' U-Boot SPL 2019.01 (Mar 29 2019 - 10:44:22 +0000) ... U-Boot> print reboot-mode reboot-mode=test 2. Reset the system using the reset command and stop in U-Boot. 3. Verify that reboot-mode env variable is not configured anymore: PASS U-Boot> print reboot-mode ## Error: "reboot-mode" not defined 4. Toggle the GPIO configured for test mode to active and reset the system with command reset. 5. Stop in U-Boot and check that reboot-mode env variable is configured:PASS U-Boot> print reboot-mode reboot-mode=test 6. Verify that unit-tests are successful: PASS ``` localhost /u-boot-latest (wip-reboot-mode)> ./test/py/test.py --bd sandbox --build -k ut_dm_reboot_mode -v ... test/py/tests/test_ut.py::test_ut[ut_dm_reboot_mode_gpio] PASSED [ 50%] test/py/tests/test_ut.py::test_ut[ut_dm_reboot_mode_rtc] PASSED [100%] ========================================================== 2 passed, 759 deselected in 0.40 seconds ========================================================== ``` Changes since v1: ---------------- - rebased Changes since v2: ---------------- - unit-tests added Changes since v3: ---------------- - rebased - fix the struct udevice and struct driver incompatibilities Nandor Han (3): reboot-mode: add support for reboot mode control reboot-mode: read the boot mode from GPIOs status reboot-mode: read the boot mode from RTC memory arch/sandbox/dts/test.dts | 18 +++ configs/sandbox_defconfig | 3 + .../reboot-mode/reboot-mode-gpio.txt | 20 +++ .../reboot-mode/reboot-mode-rtc.txt | 22 +++ drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/reboot-mode/Kconfig | 36 +++++ drivers/reboot-mode/Makefile | 9 ++ drivers/reboot-mode/reboot-mode-gpio.c | 128 +++++++++++++++++ drivers/reboot-mode/reboot-mode-rtc.c | 127 +++++++++++++++++ drivers/reboot-mode/reboot-mode-uclass.c | 134 ++++++++++++++++++ include/dm/uclass-id.h | 1 + include/reboot-mode/reboot-mode-gpio.h | 32 +++++ include/reboot-mode/reboot-mode-rtc.h | 16 +++ include/reboot-mode/reboot-mode.h | 56 ++++++++ test/dm/Makefile | 1 + test/dm/reboot-mode.c | 71 ++++++++++ 17 files changed, 677 insertions(+) create mode 100644 doc/device-tree-bindings/reboot-mode/reboot-mode-gpio.txt create mode 100644 doc/device-tree-bindings/reboot-mode/reboot-mode-rtc.txt create mode 100644 drivers/reboot-mode/Kconfig create mode 100644 drivers/reboot-mode/Makefile create mode 100644 drivers/reboot-mode/reboot-mode-gpio.c create mode 100644 drivers/reboot-mode/reboot-mode-rtc.c create mode 100644 drivers/reboot-mode/reboot-mode-uclass.c create mode 100644 include/reboot-mode/reboot-mode-gpio.h create mode 100644 include/reboot-mode/reboot-mode-rtc.h create mode 100644 include/reboot-mode/reboot-mode.h create mode 100644 test/dm/reboot-mode.c -- 2.26.3