Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
7 results

fdtdec.c

Blame
  • Forked from Reform / reform-boundary-uboot
    Source project has a limited visibility.
    • Przemyslaw Marczak's avatar
      ff0a6358
      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
      History
      fdtdec: fix parsing 'reg' property with zero value in '#size-cells'
      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>