From patchwork Fri Feb 15 02:12:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1042566 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="hpEquyNH"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 440xcq4jj6z9s7T for ; Fri, 15 Feb 2019 13:13:15 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 02D04C220BB; Fri, 15 Feb 2019 02:12:46 +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 92A6BC22114; Fri, 15 Feb 2019 02:12:35 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 72DBFC220FB; Fri, 15 Feb 2019 02:12:32 +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 34256C220B0 for ; Fri, 15 Feb 2019 02:12:28 +0000 (UTC) Received: by mail-pl1-f195.google.com with SMTP id s1so4132932plp.9 for ; Thu, 14 Feb 2019 18:12:28 -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=85n2+WyO4oErDsCL0fsMFqmFqHLyxGLcteNblcRzo4w=; b=hpEquyNHv5itzRY+gRggdDsfGbQrrhtUM95G7AZLGzFMqArRYdmT+mmaSd11sozIkp 9uMqd/+ez15KBDp1aUWH7p9705RiTpH65Qst7050S5tLPny5ahXgFISquS3uIqVoHgo3 3qPx6p0qhATVY3/hcIifVUppqrRE0rJ1IyolWiZXjyPhLSLq5cTAIIiEbb9hzITg9n9F ORhp7lAVZQvpHt7LwIRqjCrgdNyiABwRnPlTVYxAG2aLKgox3MJXF7rGLl7dNRK7DN+q DP539I5xkAHk4Zd5AlNpXjfvBk5PWAaRSWQyV1KYGVxTEpLF3nUjuoYyZd7DLa22E4jw YosA== 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=85n2+WyO4oErDsCL0fsMFqmFqHLyxGLcteNblcRzo4w=; b=O5AMkiE+0bSrHJMSeZ8DmiKI0AyrJqd5i4l4xK8vT2HhzoTXD3I0P9uivq8i+uKxRx V5M8OINeae8er26xN3RyOIeurtNUxy04wanXnxWTmmfrHHXLb1OoJM/AYVeP/ioDHbpA GcASkb6Il/0mEp5lkvlv/YX0tGAdHssdqjLsPNLXTuskHqUuQwHtMyFuFHITKOp4HW5Q R9FDiI3ZxobT20J0e1SxKeZerdNjadeZu8dsT/bUpVFhb+hKkJFYzARAciUqJ56ZITjA WE7rDcM2+SrWRmuQ4lGhL4GmRZpUM9ZjY5yrVs6/yAcIUaHerAXL8VmcQXe3Fpj9Bsol HSpg== X-Gm-Message-State: AHQUAuZWCl5/Tu46x3s3saIrxGzddBV+EGXqM+mLxQLq62YpSm8XbCDY beKqs5vltjDi6e1MuuW5V1osx5Fm2FU= X-Google-Smtp-Source: AHgI3IbZTupAGip2xFEnxZ6babhJ+HptT2BoPboXYwI+2cTU28oFVeOa9gbSUlCfG/NJtpgHHBop0g== X-Received: by 2002:a17:902:28c1:: with SMTP id f59mr7574759plb.37.1550196746487; Thu, 14 Feb 2019 18:12:26 -0800 (PST) Received: from chrisp-dl.ws.atlnz.lc ([2001:df5:b000:22:3a2c:4aff:fe70:2b02]) by smtp.gmail.com with ESMTPSA id y14sm4305789pgc.17.2019.02.14.18.12.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 14 Feb 2019 18:12:25 -0800 (PST) From: Chris Packham To: u-boot@lists.denx.de, Albert Aribaud , Tom Rini , Stefan Roese Date: Fri, 15 Feb 2019 15:12:12 +1300 Message-Id: <20190215021213.5744-2-judge.packham@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215021213.5744-1-judge.packham@gmail.com> References: <20190215021213.5744-1-judge.packham@gmail.com> MIME-Version: 1.0 Cc: Chris Packham Subject: [U-Boot] [PATCH 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 --- 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 02:12:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1042567 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="oMQa/ccB"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 440xdH2vZMz9sDr for ; Fri, 15 Feb 2019 13:13:39 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B4C9AC220CB; Fri, 15 Feb 2019 02:13:02 +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 51207C220D7; Fri, 15 Feb 2019 02:12:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 53073C220FE; Fri, 15 Feb 2019 02:12:38 +0000 (UTC) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by lists.denx.de (Postfix) with ESMTPS id 8EC6BC220BD for ; Fri, 15 Feb 2019 02:12:31 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id w7so4017086pgp.13 for ; Thu, 14 Feb 2019 18:12:31 -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=DRfBOm3m1i0voBrA2jGVHfyk8z7jq0dl2+hM+SRJRdg=; b=oMQa/ccBk2J6nl7RTh5I1PBOd6G+lEr2Cn8gYuRmdUXhCE129yp6lOgBl2sOtBIZI9 pDQS5xyIdHDw02hEVp3lWY1daZcXck6pVlVM0+vzqWKfufo/hULAkC92kD0j+O4MJifl 2u34P3dmOYxYkwkDR+3zbeA6Z984ns8L1e5KT5eVoPviHeXCl+gMNFAChTV9Bn/RQHjU Ouj++Bftiq+DImCExZ9b3NZT2+RpV5iOM87VpQ6U6uaWYIC+Kd7shJkR7TLqBS9jEoR8 xCAyPZ0sphX4dkCiAHKJs6U/JQKu6WH6X5ZCBIuA+RSH1FrtjRHuHm38gA1jmllb7enn 74yA== 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=DRfBOm3m1i0voBrA2jGVHfyk8z7jq0dl2+hM+SRJRdg=; b=YRsECI+YZ8H42efHoAbGCgL8eBjzxiFTKocLdMwH4znC288HOgHuNiM9wiOx6UC/6m J8tRchimHNx1Lp7qpjzgoApzRzIXV8240mJVR5sF8v4zuJNceZmeHXTaN746bYLWfxlo O9MJG063+1Ffzj+Fe5u4ew7YZkO1FX58I3hm1HWzE3ig0y/BemFPh3zIfywZQBVSIyFO GNty1A7vJfOAVp8IUq7uglyT+frYzBBDpw49c0vj4GYgRdsxkmGfIbNso6wDvgijWV85 RSGD9mh/PGUEH3oX12idVfm5Ua7sWOQOBPIj1Mt7Tncewvo00pNm9tsRBBBD2bB5NQiU vmFA== X-Gm-Message-State: AHQUAuayFfHGq7uBXwSQOzCs6s88T5FSVpm+qjqFuKQpqKi95uNR2iiM 4m8SlTT3H8q9rlUXMJDTAEP/anqxx58= X-Google-Smtp-Source: AHgI3IZZntkxkYLMMxFbEL4k1kI31NBCpQU2mIclrzf40U79OecuCSssIrBR9KljHIzeOfe/uGmN5A== X-Received: by 2002:a62:1992:: with SMTP id 140mr7369535pfz.33.1550196749932; Thu, 14 Feb 2019 18:12:29 -0800 (PST) Received: from chrisp-dl.ws.atlnz.lc ([2001:df5:b000:22:3a2c:4aff:fe70:2b02]) by smtp.gmail.com with ESMTPSA id y14sm4305789pgc.17.2019.02.14.18.12.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 14 Feb 2019 18:12:29 -0800 (PST) From: Chris Packham To: u-boot@lists.denx.de, Albert Aribaud , Tom Rini , Stefan Roese Date: Fri, 15 Feb 2019 15:12:13 +1300 Message-Id: <20190215021213.5744-3-judge.packham@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215021213.5744-1-judge.packham@gmail.com> References: <20190215021213.5744-1-judge.packham@gmail.com> MIME-Version: 1.0 Cc: Chris Packham , Chris Packham Subject: [U-Boot] [PATCH 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. Signed-off-by: Chris Packham Reviewed-by: Stefan Roese --- 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