dm: core: Add functions to obtain node's address/size cells
The of_n_addr_cells() and of_n_size_cells() functions are useful for getting the size of addresses in a node, but in a few places U-Boot needs to obtain the actual property value for a node without walking up the stack. Add functions for this and just the existing code to use it. Add a comment to the existing ofnode functions which do not do the right thing with a flat tree. This fixes a problem reading PCI addresses. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
This commit is contained in:
@@ -72,8 +72,8 @@ int regmap_init_mem(struct udevice *dev, struct regmap **mapp)
|
||||
ofnode node = dev_ofnode(dev);
|
||||
struct resource r;
|
||||
|
||||
addr_len = dev_read_addr_cells(dev->parent);
|
||||
size_len = dev_read_size_cells(dev->parent);
|
||||
addr_len = dev_read_simple_addr_cells(dev->parent);
|
||||
size_len = dev_read_simple_size_cells(dev->parent);
|
||||
both_len = addr_len + size_len;
|
||||
|
||||
len = dev_read_size(dev, "reg");
|
||||
|
||||
Reference in New Issue
Block a user