Merge git://git.denx.de/u-boot-rockchip

master
Tom Rini 6 years ago
commit 85f855cf02
  1. 78
      common/fdt_support.c
  2. 4
      drivers/gpio/rk_gpio.c

@ -410,45 +410,6 @@ static int fdt_pack_reg(const void *fdt, void *buf, u64 *address, u64 *size,
return p - (char *)buf;
}
int fdt_record_loadable(void *blob, u32 index, const char *name,
uintptr_t load_addr, u32 size, uintptr_t entry_point,
const char *type, const char *os)
{
int err, node;
err = fdt_check_header(blob);
if (err < 0) {
printf("%s: %s\n", __func__, fdt_strerror(err));
return err;
}
/* find or create "/fit-images" node */
node = fdt_find_or_add_subnode(blob, 0, "fit-images");
if (node < 0)
return node;
/* find or create "/fit-images/<name>" node */
node = fdt_find_or_add_subnode(blob, node, name);
if (node < 0)
return node;
/*
* We record these as 32bit entities, possibly truncating addresses.
* However, spl_fit.c is not 64bit safe either: i.e. we should not
* have an issue here.
*/
fdt_setprop_u32(blob, node, "load-addr", load_addr);
if (entry_point != -1)
fdt_setprop_u32(blob, node, "entry-point", entry_point);
fdt_setprop_u32(blob, node, "size", size);
if (type)
fdt_setprop_string(blob, node, "type", type);
if (os)
fdt_setprop_string(blob, node, "os", os);
return node;
}
#ifdef CONFIG_NR_DRAM_BANKS
#define MEMORY_BANKS_MAX CONFIG_NR_DRAM_BANKS
#else
@ -584,6 +545,45 @@ void fdt_fixup_ethernet(void *fdt)
}
}
int fdt_record_loadable(void *blob, u32 index, const char *name,
uintptr_t load_addr, u32 size, uintptr_t entry_point,
const char *type, const char *os)
{
int err, node;
err = fdt_check_header(blob);
if (err < 0) {
printf("%s: %s\n", __func__, fdt_strerror(err));
return err;
}
/* find or create "/fit-images" node */
node = fdt_find_or_add_subnode(blob, 0, "fit-images");
if (node < 0)
return node;
/* find or create "/fit-images/<name>" node */
node = fdt_find_or_add_subnode(blob, node, name);
if (node < 0)
return node;
/*
* We record these as 32bit entities, possibly truncating addresses.
* However, spl_fit.c is not 64bit safe either: i.e. we should not
* have an issue here.
*/
fdt_setprop_u32(blob, node, "load-addr", load_addr);
if (entry_point != -1)
fdt_setprop_u32(blob, node, "entry-point", entry_point);
fdt_setprop_u32(blob, node, "size", size);
if (type)
fdt_setprop_string(blob, node, "type", type);
if (os)
fdt_setprop_string(blob, node, "os", os);
return node;
}
/* Resize the fdt to its actual size + a bit of padding */
int fdt_shrink_to_minimum(void *blob, uint extrasize)
{

@ -86,10 +86,6 @@ static int rockchip_gpio_get_function(struct udevice *dev, unsigned offset)
ret = pinctrl_get_gpio_mux(priv->pinctrl, priv->bank, offset);
if (ret)
return ret;
/* If it's not 0, then it is not a GPIO */
if (ret)
return GPIOF_FUNC;
is_output = readl(&regs->swport_ddr) & OFFSET_TO_BIT(offset);
return is_output ? GPIOF_OUTPUT : GPIOF_INPUT;

Loading…
Cancel
Save