]> git.sur5r.net Git - u-boot/blobdiff - drivers/watchdog/cdns_wdt.c
reset: Rename CONFIG_SPL_RESET_SUPPORT to CONFIG_SPL_DM_RESET
[u-boot] / drivers / watchdog / cdns_wdt.c
index 71733cf8ba1f18d927d4699022ee1ecbe8ce01b0..f7618f86da15fe037859139b0948ceaf4fe505b2 100644 (file)
@@ -1,10 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Cadence WDT driver - Used by Xilinx Zynq
  * Reference: Linux kernel Cadence watchdog driver.
  *
  * Author(s):  Shreenidhi Shedi <yesshedi@gmail.com>
- *
- * SPDX-License-Identifier:    GPL-2.0
  */
 
 #include <common.h>
@@ -25,7 +24,6 @@ struct cdns_regs {
 struct cdns_wdt_priv {
        bool rst;
        u32 timeout;
-       void __iomem *reg;
        struct cdns_regs *regs;
 };
 
@@ -144,13 +142,13 @@ static int cdns_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
                return -1;
        }
 
-       debug("%s: CLK_FREQ %ld, timeout %lld\n", __func__, clk_f, timeout);
-
        if ((timeout < CDNS_WDT_MIN_TIMEOUT) ||
            (timeout > CDNS_WDT_MAX_TIMEOUT)) {
                timeout = priv->timeout;
        }
 
+       debug("%s: CLK_FREQ %ld, timeout %lld\n", __func__, clk_f, timeout);
+
        if (clk_f <= CDNS_WDT_CLK_75MHZ) {
                prescaler = CDNS_WDT_PRESCALE_512;
                ctrl_clksel = CDNS_WDT_PRESCALE_SELECT_512;
@@ -224,12 +222,8 @@ static int cdns_wdt_stop(struct udevice *dev)
  */
 static int cdns_wdt_probe(struct udevice *dev)
 {
-       struct cdns_wdt_priv *priv = dev_get_priv(dev);
-
        debug("%s: Probing wdt%u\n", __func__, dev->seq);
 
-       priv->reg = ioremap((u32)priv->regs, sizeof(struct cdns_regs));
-
        cdns_wdt_stop(dev);
 
        return 0;
@@ -237,17 +231,16 @@ static int cdns_wdt_probe(struct udevice *dev)
 
 static int cdns_wdt_ofdata_to_platdata(struct udevice *dev)
 {
-       int node = dev_of_offset(dev);
        struct cdns_wdt_priv *priv = dev_get_priv(dev);
 
-       priv->regs = devfdt_get_addr_ptr(dev);
+       priv->regs = (struct cdns_regs *)dev_read_addr(dev);
        if (IS_ERR(priv->regs))
                return PTR_ERR(priv->regs);
 
-       priv->timeout = fdtdec_get_int(gd->fdt_blob, node, "timeout-sec",
-                                      CDNS_WDT_DEFAULT_TIMEOUT);
+       priv->timeout = dev_read_u32_default(dev, "timeout-sec",
+                                            CDNS_WDT_DEFAULT_TIMEOUT);
 
-       priv->rst = fdtdec_get_bool(gd->fdt_blob, node, "reset-on-timeout");
+       priv->rst = dev_read_bool(dev, "reset-on-timeout");
 
        debug("%s: timeout %d, reset %d\n", __func__, priv->timeout, priv->rst);