Skip to content
  • Przemyslaw Marczak's avatar
    fdtdec: fix parsing 'reg' property with zero value in '#size-cells' · ff0a6358
    Przemyslaw Marczak authored
    After rework of lib/fdtdec.c by:
    
    commit: 02464e38
    
     fdt: add new fdt address parsing functions
    
    the function fdtdec_get_addr() doesn't work as previous,
    because the implementation assumes that properties '#address-cells'
    and '#size-cells' are equal to 1, which can be not true sometimes.
    
    The new API introduced fdtdec_get_addr_size_auto_parent() for the 'reg'
    property parsing, but the implementation assumes, that #size-cells
    can't be less than 1.
    
    This causes that the following children's 'reg' property can't be reached:
    
    parent@0x0 {
         #address-cells = <1>;
         #size-cells = <0>;
         children@0x100 {
             reg = < 0x100 >;
         };
    };
    
    Change the condition value from '1' to '0', which allows parsing property
    with at least zero #size-cells, fixes the issue.
    
    Now, fdtdec_get_addr_size_auto_parent() works properly.
    
    Tested on: Odroid U3/X2, Trats, Trats2, Odroid XU3, Snow (by Simon).
    
    Signed-off-by: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
    Acked-by: default avatarStephen Warren <swarren@nvidia.com>
    Acked-by: default avatarSimon Glass <sjg@chromium.org>
    Tested-by: default avatarSimon Glass <sjg@chromium.org>
    ff0a6358