]> git.sur5r.net Git - u-boot/blobdiff - drivers/spi/bcm63xx_hsspi.c
power: pmic: Let PFUZE3000 see all 256 registers
[u-boot] / drivers / spi / bcm63xx_hsspi.c
index 3393166a1ed764821ee6f9a1509fbd87cbceab7a..4f527fa74aa46a97447402b794ae0b950424aed2 100644 (file)
@@ -1,11 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
  *
  * Derived from linux/drivers/spi/spi-bcm63xx-hsspi.c:
  *     Copyright (C) 2000-2010 Broadcom Corporation
  *     Copyright (C) 2012-2013 Jonas Gorski <jogo@openwrt.org>
- *
- * SPDX-License-Identifier: GPL-2.0+
  */
 
 #include <common.h>
@@ -16,8 +15,6 @@
 #include <wait_bit.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define HSSPI_PP                       0
 
 #define SPI_MAX_SYNC_CLOCK             30000000
@@ -338,17 +335,13 @@ static int bcm63xx_hsspi_probe(struct udevice *dev)
        struct bcm63xx_hsspi_priv *priv = dev_get_priv(dev);
        struct reset_ctl rst_ctl;
        struct clk clk;
-       fdt_addr_t addr;
-       fdt_size_t size;
        int ret;
 
-       addr = devfdt_get_addr_size_index(dev, 0, &size);
-       if (addr == FDT_ADDR_T_NONE)
+       priv->regs = dev_remap_addr(dev);
+       if (!priv->regs)
                return -EINVAL;
 
-       priv->regs = ioremap(addr, size);
-       priv->num_cs = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev),
-                                      "num-cs", 8);
+       priv->num_cs = dev_read_u32_default(dev, "num-cs", 8);
 
        /* enable clock */
        ret = clk_get_by_name(dev, "hsspi", &clk);