Message ID | 1613660319-76960-1-git-send-email-bmeng.cn@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | hw/ppc: e500: Add missing #address-cells and #size-cells in the eTSEC node | expand |
On Thu, Feb 18, 2021 at 10:58:39PM +0800, Bin Meng wrote: > From: Bin Meng <bin.meng@windriver.com> > > Per devicetree spec v0.3 [1] chapter 2.3.5: > > The #address-cells and #size-cells properties are not inherited > from ancestors in the devicetree. They shall be explicitly defined. > If missing, a client program should assume a default value of 2 > for #address-cells, and a value of 1 for #size-cells. > > These properties are currently missing, causing the <reg> property > to be incorrectly parsed using the default values. Well, specifically the reg property of the queue-group subnode, rather than the etsec node itself. Applied to ppc-for-6.0. > > [1] https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf > > Fixes: fdfb7f2cdb2d ("e500: Add support for eTSEC in device tree") > Signed-off-by: Bin Meng <bin.meng@windriver.com> > --- > > hw/ppc/e500.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c > index 01517a6..c84a021 100644 > --- a/hw/ppc/e500.c > +++ b/hw/ppc/e500.c > @@ -236,6 +236,8 @@ static int create_devtree_etsec(SysBusDevice *sbdev, PlatformDevtreeData *data) > qemu_fdt_setprop_string(fdt, node, "model", "eTSEC"); > qemu_fdt_setprop(fdt, node, "local-mac-address", etsec->conf.macaddr.a, 6); > qemu_fdt_setprop_cells(fdt, node, "fixed-link", 0, 1, 1000, 0, 0); > + qemu_fdt_setprop_cells(fdt, node, "#size-cells", 1); > + qemu_fdt_setprop_cells(fdt, node, "#address-cells", 1); > > qemu_fdt_add_subnode(fdt, group); > qemu_fdt_setprop_cells(fdt, group, "reg", mmio0, 0x1000);
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 01517a6..c84a021 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -236,6 +236,8 @@ static int create_devtree_etsec(SysBusDevice *sbdev, PlatformDevtreeData *data) qemu_fdt_setprop_string(fdt, node, "model", "eTSEC"); qemu_fdt_setprop(fdt, node, "local-mac-address", etsec->conf.macaddr.a, 6); qemu_fdt_setprop_cells(fdt, node, "fixed-link", 0, 1, 1000, 0, 0); + qemu_fdt_setprop_cells(fdt, node, "#size-cells", 1); + qemu_fdt_setprop_cells(fdt, node, "#address-cells", 1); qemu_fdt_add_subnode(fdt, group); qemu_fdt_setprop_cells(fdt, group, "reg", mmio0, 0x1000);