On Friday 07 August 2015 03:01 AM, Stephen Warren wrote: > From: Stephen Warren <swar...@nvidia.com> > > 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. > > This change splits up the implementation of fdtdec_get_addr_size() so > that the core logic can be used for both hard-coded and non-hard-coded > cases. Various wrapper functions are implemented that support cases > where hard-coded cell counts should or should not be used, and where > the client does and doesn't know the parent node ID that contains the > properties #address-cells and #size-cells. > > dev_get_addr() is updated to use the new functions. > > Core functionality in fdtdec_get_addr_size_fixed() is widely tested via > fdtdec_get_addr_size(). I tested fdtdec_get_addr_size_auto_noparent() and > dev_get_addr() by manually modifying the Tegra I2C driver to invoke them. > > Much of the core implementation of fdtdec_get_addr_size_fixed(), > fdtdec_get_addr_size_auto_parent(), and > fdtdec_get_addr_size_auto_noparent() comes from Thierry Reding's > previous commit "fdt: Fix fdtdec_get_addr_size() for 64-bit".
Tested this patch for cpsw ethernet dt migration to getting cpsw address space. Also dropped *#define DEBUG* in lib/fdtdev.c file. Tested-by: Mugunthan V N <mugunthan...@ti.com> Regards Mugunthan V N _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot