Skip to content
Snippets Groups Projects
  1. Sep 15, 2017
  2. Aug 20, 2017
  3. Jul 11, 2017
  4. Jun 02, 2017
  5. May 10, 2017
  6. Mar 29, 2017
  7. Mar 22, 2017
  8. Mar 16, 2017
  9. Feb 08, 2017
  10. Oct 09, 2016
  11. Sep 19, 2016
  12. Jul 15, 2016
    • Simon Glass's avatar
      dm: core: Expand platdata for of-platdata devices · 9fa28190
      Simon Glass authored
      
      Devices which use of-platdata have their own platdata. However, in many
      cases the driver will have its own auto-alloced platdata, for use with the
      device tree. The ofdata_to_platdata() method converts the device tree
      settings to platdata.
      
      With of-platdata we would not normally allocate the platdata since it is
      provided by the U_BOOT_DEVICE() declaration. However this is inconvenient
      since the of-platdata struct is closely tied to the device tree properties.
      It is unlikely to exactly match the platdata needed by the driver.
      
      In fact a useful approach is to declare platdata in the driver like this:
      
      struct r3288_mmc_platdata {
      	struct dtd_rockchip_rk3288_dw_mshc of_platdata;
      	/* the 'normal' fields go here */
      };
      
      In this case we have dt_platadata available, but the normal fields are not
      present, since ofdata_to_platdata() is never called. In fact driver model
      doesn't allocate any space for the 'normal' fields, since it sees that there
      is already platform data attached to the device.
      
      To make this easier, adjust driver model to allocate the full size of the
      struct (i.e. platdata_auto_alloc_size from the driver) and copy in the
      of-platdata. This means that when the driver's bind() method is called,
      the of-platdata will be present, followed by zero bytes for the empty
      'normal field' portion.
      
      A new DM_FLAG_OF_PLATDATA flag is available that indicates that the platdata
      came from of-platdata. When the allocation/copy happens, the
      DM_FLAG_ALLOC_PDATA flag will be set as well. The dtoc tool is updated to
      output the platdata_size field, since U-Boot has no other way of knowing
      the size of the of-platdata struct.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      9fa28190
    • Simon Glass's avatar
      dtoc: Ignore the u-boot, dm-pre-reloc property · efefe122
      Simon Glass authored
      
      This property is not useful for of-platdata, so omit it.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      efefe122
    • Simon Glass's avatar
      dm: Add a tool to generate C code from a device tree · 69f2ed77
      Simon Glass authored
      
      This tool can produce C struct definitions and C platform data tables.
      This is used to support the of-platdata feature.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      69f2ed77
Loading