From patchwork Mon Mar 30 03:31:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Walter Lozano X-Patchwork-Id: 244498 List-Id: U-Boot discussion From: walter.lozano at collabora.com (Walter Lozano) Date: Mon, 30 Mar 2020 00:31:51 -0300 Subject: [RFC 0/7] mx6cuboxi: enable OF_PLATDATA with MMC support Message-ID: <20200330033158.26751-1-walter.lozano@collabora.com> 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(-)