[RFC 0/7] mx6cuboxi: enable OF_PLATDATA with MMC support

Walter Lozano walter.lozano at collabora.com
Mon Mar 30 05:31:51 CEST 2020

The SPL in iMX6 boards is restricted to 68 KB as this is the free available
space in OCRAM for most revisions. In this context, adding OF_CONTROL and DM
increases the SPL size which could make it difficult to add specific features
required for custom scenarios.

These patches aim to take advantage of OF_PLATADATA in order to reduce the SPL
size in this scenario, by parsing DT data to generate platdata structures,
and thus removing the overhead caused by DT and related libraries.

This series is focused in MMC driver, which is used for boot in boards such as
Cubox-i. Also, in order to support CD, the OF_PLATDATA support is also
implemented on GPIO driver.

To make possible to link the CD information found in platdata with a GPIO,
a new API is suggested, to find/get a device based on its platdata. This
new API was discussed in [1] but the lack of context made the discussion
not to progress. With this series, the general idea should be clearer,
so a better solution could be discussed.

Finally, in order to make use of these new features, enable OF_PLATADATA for
Cubox-i board, for which OF_CONTROL support is being discussed in [2].

[1] https://patchwork.ozlabs.org/patch/1249198/
[2] https://patchwork.ozlabs.org/project/uboot/list/?series=163738

Walter Lozano (7):
  mmc: fsl_esdhc_imx: add OF_PLATDATA support
  mmc: fsl_esdhc_imx: add ofdata_to_platdata support
  dtoc: update dtb_platdata to support cd-gpio
  dm: uclass: add functions to get device by platdata
  gpio: mxc_gpio: add OF_PLATDATA support
  mmc: fsl_esdhc_imx: add CD support when OF_PLATDATA is enabled
  mx6cuboxi: enable OF_PLATDATA

 configs/mx6cuboxi_defconfig  |   2 +
 drivers/core/device.c        |  19 +++++++
 drivers/core/uclass.c        |  34 ++++++++++++
 drivers/gpio/mxc_gpio.c      |  27 ++++++++-
 drivers/mmc/fsl_esdhc_imx.c  | 105 ++++++++++++++++++++++++++++++-----
 include/dm/device.h          |  11 ++++
 include/dm/uclass-internal.h |  15 +++++
 include/dm/uclass.h          |  15 +++++
 tools/dtoc/dtb_platdata.py   |   9 ++-
 9 files changed, 218 insertions(+), 19 deletions(-)


More information about the U-Boot mailing list