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

fdt_util.py

Blame
  • Forked from Reform / reform-boundary-uboot
    Source project has a limited visibility.
    • Simon Glass's avatar
      c20ee0ed
      dtoc: Add support for 32 or 64-bit addresses · c20ee0ed
      Simon Glass authored
      
      When using 32-bit addresses dtoc works correctly. For 64-bit addresses it
      does not since it ignores the #address-cells and #size-cells properties.
      
      Update the tool to use fdt64_t as the element type for reg properties when
      either the address or size is larger than one cell. Use the correct value
      so that C code can obtain the information from the device tree easily.
      
      Alos create a new type, fdt_val_t, which is defined to either fdt32_t or
      fdt64_t depending on the word size of the machine. This type corresponds
      to fdt_addr_t and fdt_size_t. Unfortunately we cannot just use those types
      since they are defined to phys_addr_t and phys_size_t which use
      'unsigned long' in the 32-bit case, rather than 'unsigned int'.
      
      Add tests for the four combinations of address and size values (32/32,
      64/64, 32/64, 64/32). Also update existing uses for rk3399 and rk3368
      which now need to use the new fdt_val_t type.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      
      Suggested-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Reported-by: default avatarKever Yang <kever.yang@rock-chips.com>
      Reviewed-by: default avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Tested-by: default avatarKever Yang <kever.yang@rock-chips.com>
      c20ee0ed
      History
      dtoc: Add support for 32 or 64-bit addresses
      Simon Glass authored
      
      When using 32-bit addresses dtoc works correctly. For 64-bit addresses it
      does not since it ignores the #address-cells and #size-cells properties.
      
      Update the tool to use fdt64_t as the element type for reg properties when
      either the address or size is larger than one cell. Use the correct value
      so that C code can obtain the information from the device tree easily.
      
      Alos create a new type, fdt_val_t, which is defined to either fdt32_t or
      fdt64_t depending on the word size of the machine. This type corresponds
      to fdt_addr_t and fdt_size_t. Unfortunately we cannot just use those types
      since they are defined to phys_addr_t and phys_size_t which use
      'unsigned long' in the 32-bit case, rather than 'unsigned int'.
      
      Add tests for the four combinations of address and size values (32/32,
      64/64, 32/64, 64/32). Also update existing uses for rk3399 and rk3368
      which now need to use the new fdt_val_t type.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      
      Suggested-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Reported-by: default avatarKever Yang <kever.yang@rock-chips.com>
      Reviewed-by: default avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Tested-by: default avatarKever Yang <kever.yang@rock-chips.com>