[u-boot] Revert "libfdt: fdtdec_get_addr() api instead of fdtdec_get_reg."

This reverts commit 9ad52e6ce81d59a930fd0b9236754202677156bd.
This commit is contained in:
Firefly
2015-08-17 14:58:16 +08:00
committed by djw
parent 090ee2c7e7
commit a657855dc2
4 changed files with 44 additions and 2 deletions

View File

@ -116,7 +116,7 @@ static int rk_bl_parse_dt(const void *blob)
bl.period = data[2];
pwm_node = fdt_node_offset_by_phandle(blob, data[0]);
bl.base = fdtdec_get_addr(blob, pwm_node, "reg");
bl.base = fdtdec_get_reg(blob, pwm_node);
debug("bl base = 0x%08x\n", bl.base);
fdt_getprop(blob, bl.node, "brightness-levels", &len);
bl.max_brightness = len / sizeof(u32);

View File

@ -1285,7 +1285,7 @@ static int rk32_lcdc_parse_dt(struct lcdc_device *lcdc_dev,
return -EPERM;
}
lcdc_dev->regs = fdtdec_get_addr(blob, lcdc_dev->node, "reg");
lcdc_dev->regs = fdtdec_get_reg(blob, lcdc_dev->node);
order = fdtdec_get_int(blob, lcdc_dev->node,
"rockchip,fb-win-map", order);
lcdc_dev->dft_win = order % 10;

View File

@ -253,6 +253,10 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node,
fdt_addr_t fdtdec_get_addr_size(const void *blob, int node,
const char *prop_name, fdt_size_t *sizep);
#ifdef CONFIG_ROCKCHIP_ARCH64
uint32_t fdtdec_get_reg(const void *blob, int node);
#endif
/**
* Look up a 32-bit integer property in a node and return it. The property
* must have at least 4 bytes of data. The value of the first cell is

View File

@ -144,6 +144,44 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node,
return fdtdec_get_addr_size(blob, node, prop_name, NULL);
}
#ifdef CONFIG_ROCKCHIP_ARCH64
uint32_t fdtdec_get_reg(const void *blob, int node)
{
/* rk aarch64 iobase address using 2 cells, 0 for speed up boot time */
#if 0
uint32_t *cell = NULL;
int addrcells = 0;
int parent;
uint32_t addr;
parent = fdt_parent_offset(blob, node);
if (parent < 0) {
addrcells = 1;
} else {
addrcells = fdt_address_cells(blob, parent);
}
cell = fdt_getprop(blob, node, "reg", NULL);
if (addrcells == 2) {
cell++;
}
addr = (u32)fdt32_to_cpu(*cell);
return addr;
#else
uint32_t *cell = NULL;
uint32_t addr;
/* note: here iobase reg should use 2 cells */
cell = (uint32_t *)fdt_getprop(blob, node, "reg", NULL);
cell++;
addr = (u32)fdt32_to_cpu(*cell);
return addr;
#endif
}
#endif
uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name,
uint64_t default_val)
{