dm: regmap: use devfdt_get_addr_size_index get reg

fdtdec_get_addr_size() hard-codes the number of cells used to represent
an address or size in DT. This is incorrect in many cases depending on
the DT binding for a particular node or property (e.g. it is incorrect
for the "reg" property). In most cases, DT parsing code must use the
properties #address-cells and #size-cells to parse addres properties.

Change-Id: I736cf41f48eaac5d6b82510a037f447ff874a9e4
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
This commit is contained in:
Andy Yan 2018-05-22 20:16:10 +08:00 committed by Kever Yang
parent 7a5fbf5e5e
commit 45c78162f3
1 changed files with 1 additions and 3 deletions

View File

@ -96,9 +96,7 @@ int regmap_init_mem(struct udevice *dev, struct regmap **mapp)
range->start = r.start;
range->size = r.end - r.start + 1;
} else {
range->start = fdtdec_get_addr_size_fixed(gd->fdt_blob,
dev_of_offset(dev), "reg", index,
addr_len, size_len, &sz, true);
range->start = devfdt_get_addr_size_index(dev, index, &sz);
range->size = sz;
}
}