From patchwork Fri Feb 15 20:51:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1043183 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mWJHVi1S"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 441QSl58HBz9sMl for ; Sat, 16 Feb 2019 07:52:55 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 5A02FC21F76; Fri, 15 Feb 2019 20:52:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id D32CAC22053; Fri, 15 Feb 2019 20:52:01 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3A54BC21F1F; Fri, 15 Feb 2019 20:51:48 +0000 (UTC) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by lists.denx.de (Postfix) with ESMTPS id 20002C22022 for ; Fri, 15 Feb 2019 20:51:45 +0000 (UTC) Received: by mail-pl1-f195.google.com with SMTP id f90so5498280plb.10 for ; Fri, 15 Feb 2019 12:51:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=p4jSTNsVftZ2Pn/5p2c65ekAXR7wfn774VqhYjxnMT8=; b=mWJHVi1SR4dX0+TzEtSWx9ZaoNY2RfV7yR6bV83Xw0x6uuVJ0kptbot3L2QOsH+Ccr e5wWerlkzArNAEZW7OwUE9O0u822lPx6od9b5/ACxaSU7EgaJzVgDKp+XdNz17Klpk9S uPxUgdRcTYbiz0gsdnYiS1z6lpbu4E3Bg5mPyBhnQVNXJHzBLm2GuA+n0koKoyDrBWDZ ccr4yuf8KWPOi5Zh8PwlHEiiYuJr2+4FlbYjho9lp+wQf4wE8TQOn6+Cldi2lHx2HfYd vuhm1X9uJWOcmvvD0uQS2r8mVwp6luPeecVDtDvliHMX7eXtxJA7lwerl58GHOSmXB7f QGlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=p4jSTNsVftZ2Pn/5p2c65ekAXR7wfn774VqhYjxnMT8=; b=fYCAfMwTpy3WwTDmzwu11mfP9ioYt7By3pYy1S3EMPCBCYI6AVwf6k029W/oVmjbZU RvaBbjziUfWkWdkpzaDQg9JspqRQQqAhU9j6pyvJey7mcwTlSwoKVrwcTkf/ImX+ExfP eTH1TfG+kNNb8zRWdF8Pbiktz+YJMqXILEay31IeFsAEj+eXhBlXoZ7zmr/8eVTaTfXc u4wnFRAJ9SMw1Qx7MXH2iHvfxCOyDaitrUnjgaY5tF9YIv3XfgiNAb4+rDPQ+Nu4fR0V gffcmCkDWtXzE1xFqDe10MeqRnHRzyvlndqgZTmPcQU+J6Gf5WsgN25ALEE7NjyWY/xL EDlw== X-Gm-Message-State: AHQUAuamcH4NA6f//m8ZJbBXN70WFzxU2M+cM/Hj7ql9LUp+7pru2s+K 3folad9BIwoyeUbbT1qvvkH/SdDL3+6KKw== X-Google-Smtp-Source: AHgI3IbSzYpfZUtY+bDc2G17mEFqynJPIAXWrLQOg+0lhNI4ZBZz9j29/PbYZiukmBQTp2WtjLIL+A== X-Received: by 2002:a17:902:2887:: with SMTP id f7mr11848878plb.176.1550263903285; Fri, 15 Feb 2019 12:51:43 -0800 (PST) Received: from chrisp-dl.ws.atlnz.lc ([2001:df5:b000:22:3a2c:4aff:fe70:2b02]) by smtp.gmail.com with ESMTPSA id r12sm8633317pgj.55.2019.02.15.12.51.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 15 Feb 2019 12:51:42 -0800 (PST) From: Chris Packham To: u-boot@lists.denx.de, Albert Aribaud , Tom Rini , Stefan Roese Date: Sat, 16 Feb 2019 09:51:30 +1300 Message-Id: <20190215205131.22443-2-judge.packham@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215205131.22443-1-judge.packham@gmail.com> References: <20190215205131.22443-1-judge.packham@gmail.com> MIME-Version: 1.0 Cc: Chris Packham Subject: [U-Boot] [PATCH v2 1/2] watchdog: orion_wdt: support SPL usage X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" When run from the SPL the mvebu targets are using the hardware default offset for the SoC peripherals. devfdt_get_addr_size_index() understands how to deal with this via dm_get_translation_offset() so use this instead of fdtdec_get_addr_size_auto_noparent(). Signed-off-by: Chris Packham Reviewed-by: Stefan Roese --- Changes in v2: None drivers/watchdog/orion_wdt.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c index a0df02d10382..c1add3e7c121 100644 --- a/drivers/watchdog/orion_wdt.c +++ b/drivers/watchdog/orion_wdt.c @@ -114,9 +114,7 @@ static inline bool save_reg_from_ofdata(struct udevice *dev, int index, fdt_addr_t addr; fdt_size_t off; - addr = fdtdec_get_addr_size_auto_noparent( - gd->fdt_blob, dev_of_offset(dev), "reg", index, &off, true); - + addr = devfdt_get_addr_size_index(dev, index, &off); if (addr == FDT_ADDR_T_NONE) return false; From patchwork Fri Feb 15 20:51:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1043182 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="kZW1yJMA"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 441QS64d6Pz9s5c for ; Sat, 16 Feb 2019 07:52:22 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 2D1A9C21F7D; Fri, 15 Feb 2019 20:52:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 55CD5C21FF6; Fri, 15 Feb 2019 20:51:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3BDA1C21FB7; Fri, 15 Feb 2019 20:51:52 +0000 (UTC) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by lists.denx.de (Postfix) with ESMTPS id ABD89C2205E for ; Fri, 15 Feb 2019 20:51:48 +0000 (UTC) Received: by mail-pl1-f196.google.com with SMTP id o6so5496533pls.13 for ; Fri, 15 Feb 2019 12:51:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9aZK1w87UydcshiDs5Mr4LbOKhJ0IIyxLczKc3v9U70=; b=kZW1yJMA8A7QGOjTqozlQuhkJ8mtsaGPKkw23DbjFPpLahMzY8GjSbxN6Ig9yyDUBy XzLFpPXLkNWEUYeQBr0P7YfI2dItgZbbLjOiMsHMUxMkbiKn3cJVfMitd6Kq1mDpxv/F qhmdizef/F3ydK+rJOTIggnsWXDNjK5QUP6oqaa/R3JJBKT0NMoNA2gYsaED091bBQAu DO4CP6XyMC5BU7qIoTUiVXH73w6/tr9T7ubNoWup/D2/oAL388rdpITxWC+CjP+BLMKD 1Yfr3JDWh/ouYBcryqoWM5adJBxVga3vCZsoRlkMbCUXgAGrGrT4k6Fu1BJap9kRLMVd GXCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9aZK1w87UydcshiDs5Mr4LbOKhJ0IIyxLczKc3v9U70=; b=O8iKBRH86LFiMVAxLsX4n5DNupufBdt8i08XvMZRl6kvQjzcZvH9hcGjoD2eHhmO/L OLfY/f7XdH3PQAdqqWqkGOBbDy9wxP+KbxfgtWAQndW7xjjT8sgo0kfV4HOJjMJifPpp PTcMXy0IKUo5X5A1zyawdQPc2lnMoGmD5yTItd3Gw6RzOx9gKqLGFMJRMbAn/ZojsUoc GerFDbJbSav2DK3qs1vrZRRpnc3uQk/u9O4wx6pId3YV2BFdOXkX+215pwJBnEas7Q95 VBZjqiBq6w3SHLERcsR17a0Qu/ZLKc/KXdffTIdgUpcDJWKDY/MMfdyLgGK5etzgkuwe RbnQ== X-Gm-Message-State: AHQUAua0kM9zHyXd6gPDKfp0KjXVGiJRwGGJnxTuEJOCwXEO/ThLUhwQ oBMyj2vIeZtLLdJ2oRycrBVoDNJToVq6LQ== X-Google-Smtp-Source: AHgI3Ia3c+gRL9bQNVLvp1uTuGPA7T/yJx4bL9PUjySQlSyRirS6MJPX9PBz3KkrpcX3IElzl40g5Q== X-Received: by 2002:a17:902:8d8e:: with SMTP id v14mr12078348plo.133.1550263906651; Fri, 15 Feb 2019 12:51:46 -0800 (PST) Received: from chrisp-dl.ws.atlnz.lc ([2001:df5:b000:22:3a2c:4aff:fe70:2b02]) by smtp.gmail.com with ESMTPSA id r12sm8633317pgj.55.2019.02.15.12.51.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 15 Feb 2019 12:51:46 -0800 (PST) From: Chris Packham To: u-boot@lists.denx.de, Albert Aribaud , Tom Rini , Stefan Roese Date: Sat, 16 Feb 2019 09:51:31 +1300 Message-Id: <20190215205131.22443-3-judge.packham@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215205131.22443-1-judge.packham@gmail.com> References: <20190215205131.22443-1-judge.packham@gmail.com> MIME-Version: 1.0 Cc: Chris Packham , Chris Packham Subject: [U-Boot] [PATCH v2 2/2] arm: mvebu: x530: Enable watchdog in SPL and U-Boot X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Enable the hardware watchdog to guard against system lock ups when running in the SPL or U-Boot. Stop the watchdog just before booting so that the OS can re-enable it if needed. Signed-off-by: Chris Packham --- Changes in v2: - update commit message arch/arm/dts/armada-385-atl-x530-u-boot.dtsi | 4 ++ board/alliedtelesis/x530/x530.c | 48 ++++++++++++++++++++ configs/x530_defconfig | 5 ++ 3 files changed, 57 insertions(+) diff --git a/arch/arm/dts/armada-385-atl-x530-u-boot.dtsi b/arch/arm/dts/armada-385-atl-x530-u-boot.dtsi index 7074a73537fa..79b694cb84bc 100644 --- a/arch/arm/dts/armada-385-atl-x530-u-boot.dtsi +++ b/arch/arm/dts/armada-385-atl-x530-u-boot.dtsi @@ -11,3 +11,7 @@ &uart0 { u-boot,dm-pre-reloc; }; + +&watchdog { + u-boot,dm-pre-reloc; +}; diff --git a/board/alliedtelesis/x530/x530.c b/board/alliedtelesis/x530/x530.c index d7d1942fe686..1b22b6307cd2 100644 --- a/board/alliedtelesis/x530/x530.c +++ b/board/alliedtelesis/x530/x530.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -24,6 +25,10 @@ DECLARE_GLOBAL_DATA_PTR; #define CONFIG_NVS_LOCATION 0xf4800000 #define CONFIG_NVS_SIZE (512 << 10) +#ifdef CONFIG_WATCHDOG +static struct udevice *watchdog_dev; +#endif + static struct serdes_map board_serdes_map[] = { {PEX0, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0}, {DEFAULT_SERDES, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0}, @@ -75,6 +80,10 @@ struct mv_ddr_topology_map *mv_ddr_topology_map_get(void) int board_early_init_f(void) { +#ifdef CONFIG_WATCHDOG + watchdog_dev = NULL; +#endif + /* Configure MPP */ writel(0x00001111, MVEBU_MPP_BASE + 0x00); writel(0x00000000, MVEBU_MPP_BASE + 0x04); @@ -88,6 +97,17 @@ int board_early_init_f(void) return 0; } +void spl_board_init(void) +{ +#ifdef CONFIG_WATCHDOG + int ret; + + ret = uclass_get_device(UCLASS_WDT, 0, &watchdog_dev); + if (!ret) + wdt_start(watchdog_dev, 25000000ULL * 120, 0); +#endif +} + int board_init(void) { /* address of boot parameters */ @@ -100,9 +120,37 @@ int board_init(void) /* DEV_READYn is not needed for NVS, ignore it when accessing CS1 */ writel(0x00004001, MVEBU_DEV_BUS_BASE + 0xc8); + spl_board_init(); + return 0; } +void arch_preboot_os(void) +{ +#ifdef CONFIG_WATCHDOG + wdt_stop(watchdog_dev); +#endif +} + +#ifdef CONFIG_WATCHDOG +void watchdog_reset(void) +{ + static ulong next_reset = 0; + ulong now; + + if (!watchdog_dev) + return; + + now = timer_get_us(); + + /* Do not reset the watchdog too often */ + if (now > next_reset) { + wdt_reset(watchdog_dev); + next_reset = now + 1000; + } +} +#endif + static int led_7seg_init(unsigned int segments) { int node; diff --git a/configs/x530_defconfig b/configs/x530_defconfig index 25b9e885d8e6..3bc37b9bee11 100644 --- a/configs/x530_defconfig +++ b/configs/x530_defconfig @@ -19,6 +19,8 @@ CONFIG_SILENT_CONSOLE=y CONFIG_SILENT_U_BOOT_ONLY=y CONFIG_SILENT_CONSOLE_UPDATE_ON_RELOC=y CONFIG_MISC_INIT_R=y +CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_WATCHDOG_SUPPORT=y CONFIG_CMD_MEMINFO=y # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y @@ -70,3 +72,6 @@ CONFIG_USB_STORAGE=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_ASIX88179=y +CONFIG_WATCHDOG=y +CONFIG_WDT=y +CONFIG_WDT_ORION=y