|
@@ -7,6 +7,7 @@
|
|
|
#include <common.h>
|
|
|
#include <linux/types.h>
|
|
|
#include <linux/io.h>
|
|
|
+#include <linux/sizes.h>
|
|
|
#include <asm/errno.h>
|
|
|
#include <dm/device.h>
|
|
|
#include <dm/root.h>
|
|
@@ -14,8 +15,6 @@
|
|
|
#include <fdtdec.h>
|
|
|
#include <mapmem.h>
|
|
|
|
|
|
-DECLARE_GLOBAL_DATA_PTR;
|
|
|
-
|
|
|
struct uniphier_fi2c_regs {
|
|
|
u32 cr; /* control register */
|
|
|
#define I2C_CR_MST (1 << 3) /* master mode */
|
|
@@ -112,15 +111,14 @@ static int check_device_busy(struct uniphier_fi2c_regs __iomem *regs)
|
|
|
static int uniphier_fi2c_probe(struct udevice *dev)
|
|
|
{
|
|
|
fdt_addr_t addr;
|
|
|
- fdt_size_t size;
|
|
|
struct uniphier_fi2c_dev *priv = dev_get_priv(dev);
|
|
|
int ret;
|
|
|
|
|
|
- addr = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg",
|
|
|
- &size);
|
|
|
-
|
|
|
- priv->regs = map_sysmem(addr, size);
|
|
|
+ addr = dev_get_addr(dev);
|
|
|
+ if (addr == FDT_ADDR_T_NONE)
|
|
|
+ return -EINVAL;
|
|
|
|
|
|
+ priv->regs = map_sysmem(addr, SZ_128);
|
|
|
if (!priv->regs)
|
|
|
return -ENOMEM;
|
|
|
|