mbox series

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

Message ID 20200330033158.26751-1-walter.lozano@collabora.com
Headers show
Series mx6cuboxi: enable OF_PLATDATA with MMC support | expand

Message

Walter Lozano March 30, 2020, 3:31 a.m. UTC
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(-)

Comments

Baruch Siach March 30, 2020, 3:54 a.m. UTC | #1
Hi Walter,

On Mon, Mar 30 2020, Walter Lozano wrote:
> 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].

What is the net SPL size reduction of OF_PLATDATA in the Cubox-i case?

Thanks,
baruch

> [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(-)


--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
Walter Lozano March 30, 2020, 2:33 p.m. UTC | #2
Hi Baruch,

On 30/3/20 00:54, Baruch Siach wrote:
> Hi Walter,
>
> On Mon, Mar 30 2020, Walter Lozano wrote:
>> 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].
> What is the net SPL size reduction of OF_PLATDATA in the Cubox-i case?

For the Cubox-i defconfig the reduction is 6 KB. Please take into 
account that this tries to reduce the impact of enabling OF_CONTROL and 
DM in SPL which increased the size by 12 KB, as described in [1]

Regards,

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


>
> Thanks,
> baruch
>
>> [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(-)
>
> --
>       http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>     - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -