mbox series

[U-Boot,v8,0/5] Split fsl_esdhc driver for i.MX

Message ID 20190621034230.8639-1-yangbo.lu@nxp.com
Headers show
Series Split fsl_esdhc driver for i.MX | expand

Message

Yangbo Lu June 21, 2019, 3:42 a.m. UTC
The fsl_esdhc driver was for Freescale eSDHC on MPC83XX/MPC85XX
initially. The later QoriQ series PowerPC processors (which were
evolutions of MPC83XX/MPC85XX), QorIQ series ARM processors, and
i.MX series processors were using this driver for their eSDHCs too.

For the two series processors, the eSDHCs are becoming more and
more different. We should have split it into two drivers, like them
(sdhci-of-esdhc.c/sdhci-esdhc-imx.c) in linux kernel.

It's ideal to keep common part for reusing. However, it's hard to
find out a little which could be reused. The truth is there will
be more and more different registers, bits and operatiing processes.
Even some code is common now, it may have to be split in the future.
So let's just split is as two drivers.

Patch #2 just created a fsl_esdhc_imx driver which was a copy
of fsl_esdhc driver for i.MX processors.
Patch #3 converted i.MX platforms to use fsl_esdhc_imx.
Patch #4 and #5 just dropped useless code for the two driver.
There are still many cleaning up works needed to be done in the future,
because the eSDHC driver is mess for a long time.
Since I'm only owner for QorIQ eSDHC driver, I dropped only a little
things which I'm sure for fsl_esdhc_imx. Let i.MX eSDHC owner do futhur
cleaning up.

Travis-CI build: https://travis-ci.org/yangbolu1991/u-boot-test/builds/548024197

---
Changes for v6:
	- Rebased.
	- Applied to two new i.MX boards phycore_pcl063_ull/pico-imx7d_bl33.
Changes for v7:
	- Rebased on https://gitlab.denx.de/u-boot/u-boot.git.
	- Added Reviewed-by.
Changes for v8:
	- Moved CONFIG_FSL_ESDHC into defconfig for colibri-imx8x/ls1028a/apalis-imx8
	  platforms introduced recently.
	- Applied eSDHC i.MX driver to colibri-imx8x/apalis-imx8 platforms.

Yangbo Lu (5):
  Move CONFIG_FSL_ESDHC to defconfig
  mmc: split fsl_esdhc driver for i.MX
  Convert to use fsl_esdhc_imx for i.MX platforms
  mmc: fsl_esdhc: drop i.MX code
  mmc: fsl_esdhc_imx: drop useless code

 arch/arm/cpu/arm1136/mx35/generic.c               |  10 +-
 arch/arm/cpu/arm926ejs/mx25/generic.c             |   8 +-
 arch/arm/cpu/armv7/vf610/generic.c                |  10 +-
 arch/arm/cpu/armv8/s32v234/generic.c              |   2 +-
 arch/arm/include/asm/global_data.h                |   2 +-
 arch/arm/mach-imx/cpu.c                           |   6 +-
 arch/arm/mach-imx/mx6/litesom.c                   |   4 +-
 arch/arm/mach-imx/mx7/clock.c                     |   4 +-
 arch/arm/mach-imx/mx7ulp/clock.c                  |   2 +-
 arch/arm/mach-imx/speed.c                         |   4 +-
 arch/m68k/cpu/mcf5445x/cpu_init.c                 |   2 +-
 board/advantech/dms-ba16/dms-ba16.c               |   4 +-
 board/aristainetos/aristainetos-v1.c              |   2 +-
 board/aristainetos/aristainetos-v2.c              |   2 +-
 board/aristainetos/aristainetos.c                 |   4 +-
 board/bachmann/ot1200/ot1200.c                    |   2 +-
 board/barco/platinum/platinum.c                   |   2 +-
 board/barco/titanium/titanium.c                   |   4 +-
 board/boundary/nitrogen6x/nitrogen6x.c            |   4 +-
 board/ccv/xpress/xpress.c                         |   2 +-
 board/compulab/cl-som-imx7/cl-som-imx7.c          |   6 +-
 board/compulab/cl-som-imx7/common.c               |   6 +-
 board/compulab/cl-som-imx7/common.h               |   8 +-
 board/compulab/cl-som-imx7/mux.c                  |   8 +-
 board/compulab/cl-som-imx7/spl.c                  |   6 +-
 board/compulab/cm_fx6/cm_fx6.c                    |   4 +-
 board/compulab/cm_fx6/common.c                    |   4 +-
 board/compulab/cm_fx6/spl.c                       |   2 +-
 board/congatec/cgtqmx6eval/cgtqmx6eval.c          |   4 +-
 board/dhelectronics/dh_imx6/dh_imx6.c             |   2 +-
 board/dhelectronics/dh_imx6/dh_imx6_spl.c         |   2 +-
 board/el/el6x/el6x.c                              |   4 +-
 board/embest/mx6boards/mx6boards.c                |   4 +-
 board/freescale/imx8mq_evk/imx8mq_evk.c           |   2 +-
 board/freescale/imx8mq_evk/spl.c                  |   2 +-
 board/freescale/imx8qxp_mek/imx8qxp_mek.c         |   2 +-
 board/freescale/m54418twr/m54418twr.c             |   2 +-
 board/freescale/mx25pdk/mx25pdk.c                 |   6 +-
 board/freescale/mx35pdk/mx35pdk.c                 |   4 +-
 board/freescale/mx51evk/mx51evk.c                 |   6 +-
 board/freescale/mx53ard/mx53ard.c                 |   4 +-
 board/freescale/mx53evk/mx53evk.c                 |   4 +-
 board/freescale/mx53loco/mx53loco.c               |   4 +-
 board/freescale/mx53smd/mx53smd.c                 |   4 +-
 board/freescale/mx6qarm2/mx6qarm2.c               |   4 +-
 board/freescale/mx6sabreauto/mx6sabreauto.c       |   4 +-
 board/freescale/mx6sabresd/mx6sabresd.c           |   4 +-
 board/freescale/mx6slevk/mx6slevk.c               |   2 +-
 board/freescale/mx6sxsabreauto/mx6sxsabreauto.c   |   2 +-
 board/freescale/mx6sxsabresd/mx6sxsabresd.c       |   2 +-
 board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c |   4 +-
 board/freescale/mx6ullevk/mx6ullevk.c             |   2 +-
 board/freescale/mx7dsabresd/mx7dsabresd.c         |   2 +-
 board/freescale/s32v234evb/s32v234evb.c           |   4 +-
 board/freescale/vf610twr/vf610twr.c               |   4 +-
 board/gateworks/gw_ventana/common.c               |   6 +-
 board/gateworks/gw_ventana/gw_ventana.c           |   2 +-
 board/ge/bx50v3/bx50v3.c                          |   2 +-
 board/ge/mx53ppd/mx53ppd.c                        |   2 +-
 board/grinn/liteboard/board.c                     |   4 +-
 board/inversepath/usbarmory/usbarmory.c           |   2 +-
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c             |   4 +-
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c         |   2 +-
 board/kosagi/novena/novena.c                      |   2 +-
 board/kosagi/novena/novena_spl.c                  |   6 +-
 board/liebherr/display5/common.c                  |   2 +-
 board/liebherr/display5/display5.c                |   6 +-
 board/liebherr/display5/spl.c                     |   2 +-
 board/liebherr/mccmon6/mccmon6.c                  |   2 +-
 board/liebherr/mccmon6/spl.c                      |   2 +-
 board/logicpd/imx6/imx6logic.c                    |   4 +-
 board/menlo/m53menlo/m53menlo.c                   |   4 +-
 board/phytec/pcl063/pcl063.c                      |   2 +-
 board/phytec/pcl063/spl.c                         |   6 +-
 board/phytec/pcm058/pcm058.c                      |   2 +-
 board/phytec/pfla02/pfla02.c                      |   2 +-
 board/seco/common/mx6.c                           |   2 +-
 board/seco/mx6quq7/mx6quq7.c                      |   2 +-
 board/sks-kinkel/sksimx6/sksimx6.c                |   2 +-
 board/softing/vining_2000/vining_2000.c           |   2 +-
 board/solidrun/mx6cuboxi/mx6cuboxi.c              |   2 +-
 board/tbs/tbs2910/tbs2910.c                       |   6 +-
 board/technexion/pico-imx6ul/spl.c                |   2 +-
 board/technexion/pico-imx7d/spl.c                 |   2 +-
 board/technologic/ts4800/ts4800.c                 |   6 +-
 board/toradex/apalis_imx6/apalis_imx6.c           |   6 +-
 board/toradex/colibri_imx6/colibri_imx6.c         |   6 +-
 board/toradex/colibri_imx7/colibri_imx7.c         |   2 +-
 board/tqc/tqma6/tqma6.c                           |   2 +-
 board/tqc/tqma6/tqma6_mba6.c                      |   2 +-
 board/tqc/tqma6/tqma6_wru4.c                      |   2 +-
 board/udoo/neo/neo.c                              |   2 +-
 board/udoo/udoo.c                                 |   2 +-
 board/udoo/udoo_spl.c                             |   2 +-
 board/variscite/dart_6ul/dart_6ul.c               |   2 +-
 board/variscite/dart_6ul/spl.c                    |   2 +-
 board/wandboard/spl.c                             |   2 +-
 board/warp/warp.c                                 |   2 +-
 board/woodburn/woodburn.c                         |   4 +-
 configs/apalis-imx8qm_defconfig                   |   1 +
 configs/apalis_imx6_defconfig                     |   2 +-
 configs/aristainetos2_defconfig                   |   2 +-
 configs/aristainetos2b_defconfig                  |   2 +-
 configs/aristainetos_defconfig                    |   2 +-
 configs/bk4r1_defconfig                           |   2 +-
 configs/cgtqmx6eval_defconfig                     |   2 +-
 configs/cl-som-imx7_defconfig                     |   2 +-
 configs/cm_fx6_defconfig                          |   2 +-
 configs/colibri-imx6ull_defconfig                 |   2 +-
 configs/colibri-imx8qxp_defconfig                 |   1 +
 configs/colibri_imx6_defconfig                    |   2 +-
 configs/colibri_imx7_defconfig                    |   2 +-
 configs/colibri_imx7_emmc_defconfig               |   2 +-
 configs/colibri_vf_defconfig                      |   2 +-
 configs/dh_imx6_defconfig                         |   2 +-
 configs/display5_defconfig                        |   2 +-
 configs/display5_factory_defconfig                |   2 +-
 configs/dms-ba16-1g_defconfig                     |   2 +-
 configs/dms-ba16_defconfig                        |   2 +-
 configs/ge_bx50v3_defconfig                       |   2 +-
 configs/gwventana_emmc_defconfig                  |   2 +-
 configs/gwventana_gw5904_defconfig                |   2 +-
 configs/gwventana_nand_defconfig                  |   2 +-
 configs/imx6dl_icore_nand_defconfig               |   2 +-
 configs/imx6dl_mamoj_defconfig                    |   2 +-
 configs/imx6q_icore_nand_defconfig                |   2 +-
 configs/imx6q_logic_defconfig                     |   2 +-
 configs/imx6qdl_icore_mipi_defconfig              |   2 +-
 configs/imx6qdl_icore_mmc_defconfig               |   2 +-
 configs/imx6qdl_icore_nand_defconfig              |   2 +-
 configs/imx6qdl_icore_rqs_defconfig               |   2 +-
 configs/imx6ul_geam_mmc_defconfig                 |   2 +-
 configs/imx6ul_geam_nand_defconfig                |   2 +-
 configs/imx6ul_isiot_emmc_defconfig               |   2 +-
 configs/imx6ul_isiot_nand_defconfig               |   2 +-
 configs/imx8mq_evk_defconfig                      |   1 +
 configs/imx8qm_mek_defconfig                      |   1 +
 configs/imx8qxp_mek_defconfig                     |   1 +
 configs/kp_imx53_defconfig                        |   2 +-
 configs/kp_imx6q_tpc_defconfig                    |   1 +
 configs/liteboard_defconfig                       |   2 +-
 configs/ls1012afrwy_qspi_SECURE_BOOT_defconfig    |   1 +
 configs/ls1012afrwy_qspi_defconfig                |   1 +
 configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig     |   1 +
 configs/ls1012afrwy_tfa_defconfig                 |   1 +
 configs/ls1028aqds_tfa_SECURE_BOOT_defconfig      |   1 +
 configs/ls1028aqds_tfa_defconfig                  |   1 +
 configs/ls1028ardb_tfa_SECURE_BOOT_defconfig      |   1 +
 configs/ls1028ardb_tfa_defconfig                  |   1 +
 configs/m53menlo_defconfig                        |   2 +-
 configs/marsboard_defconfig                       |   2 +-
 configs/mccmon6_nor_defconfig                     |   2 +-
 configs/mccmon6_sd_defconfig                      |   2 +-
 configs/mx25pdk_defconfig                         |   2 +-
 configs/mx35pdk_defconfig                         |   2 +-
 configs/mx51evk_defconfig                         |   2 +-
 configs/mx53ard_defconfig                         |   2 +-
 configs/mx53cx9020_defconfig                      |   2 +-
 configs/mx53evk_defconfig                         |   2 +-
 configs/mx53loco_defconfig                        |   2 +-
 configs/mx53ppd_defconfig                         |   2 +-
 configs/mx53smd_defconfig                         |   2 +-
 configs/mx6cuboxi_defconfig                       |   2 +-
 configs/mx6dlarm2_defconfig                       |   2 +-
 configs/mx6dlarm2_lpddr2_defconfig                |   2 +-
 configs/mx6qarm2_defconfig                        |   2 +-
 configs/mx6qarm2_lpddr2_defconfig                 |   2 +-
 configs/mx6qsabrelite_defconfig                   |   2 +-
 configs/mx6sabreauto_defconfig                    |   2 +-
 configs/mx6sabresd_defconfig                      |   2 +-
 configs/mx6slevk_defconfig                        |   2 +-
 configs/mx6slevk_spinor_defconfig                 |   2 +-
 configs/mx6slevk_spl_defconfig                    |   2 +-
 configs/mx6sllevk_defconfig                       |   2 +-
 configs/mx6sllevk_plugin_defconfig                |   2 +-
 configs/mx6sxsabreauto_defconfig                  |   2 +-
 configs/mx6sxsabresd_defconfig                    |   2 +-
 configs/mx6sxsabresd_spl_defconfig                |   2 +-
 configs/mx6ul_14x14_evk_defconfig                 |   2 +-
 configs/mx6ul_9x9_evk_defconfig                   |   2 +-
 configs/mx6ull_14x14_evk_defconfig                |   2 +-
 configs/mx6ull_14x14_evk_plugin_defconfig         |   2 +-
 configs/mx7dsabresd_defconfig                     |   2 +-
 configs/mx7dsabresd_qspi_defconfig                |   2 +-
 configs/mx7ulp_evk_defconfig                      |   2 +-
 configs/mx7ulp_evk_plugin_defconfig               |   2 +-
 configs/nitrogen6dl2g_defconfig                   |   2 +-
 configs/nitrogen6dl_defconfig                     |   2 +-
 configs/nitrogen6q2g_defconfig                    |   2 +-
 configs/nitrogen6q_defconfig                      |   2 +-
 configs/nitrogen6s1g_defconfig                    |   2 +-
 configs/nitrogen6s_defconfig                      |   2 +-
 configs/novena_defconfig                          |   2 +-
 configs/opos6uldev_defconfig                      |   2 +-
 configs/ot1200_defconfig                          |   2 +-
 configs/ot1200_spl_defconfig                      |   2 +-
 configs/pcm052_defconfig                          |   2 +-
 configs/pcm058_defconfig                          |   2 +-
 configs/pfla02_defconfig                          |   2 +-
 configs/phycore_pcl063_defconfig                  |   2 +-
 configs/phycore_pcl063_ull_defconfig              |   2 +-
 configs/pico-hobbit-imx6ul_defconfig              |   2 +-
 configs/pico-hobbit-imx7d_defconfig               |   2 +-
 configs/pico-imx6ul_defconfig                     |   2 +-
 configs/pico-imx7d_bl33_defconfig                 |   2 +-
 configs/pico-imx7d_defconfig                      |   2 +-
 configs/pico-pi-imx6ul_defconfig                  |   2 +-
 configs/pico-pi-imx7d_defconfig                   |   2 +-
 configs/platinum_picon_defconfig                  |   2 +-
 configs/platinum_titanium_defconfig               |   2 +-
 configs/riotboard_defconfig                       |   2 +-
 configs/riotboard_spl_defconfig                   |   2 +-
 configs/s32v234evb_defconfig                      |   2 +-
 configs/secomx6quq7_defconfig                     |   2 +-
 configs/sksimx6_defconfig                         |   2 +-
 configs/tbs2910_defconfig                         |   2 +-
 configs/titanium_defconfig                        |   2 +-
 configs/tqma6dl_mba6_mmc_defconfig                |   2 +-
 configs/tqma6dl_mba6_spi_defconfig                |   2 +-
 configs/tqma6q_mba6_mmc_defconfig                 |   2 +-
 configs/tqma6q_mba6_spi_defconfig                 |   2 +-
 configs/tqma6s_mba6_mmc_defconfig                 |   2 +-
 configs/tqma6s_mba6_spi_defconfig                 |   2 +-
 configs/tqma6s_wru4_mmc_defconfig                 |   2 +-
 configs/ts4800_defconfig                          |   2 +-
 configs/udoo_defconfig                            |   2 +-
 configs/udoo_neo_defconfig                        |   2 +-
 configs/usbarmory_defconfig                       |   2 +-
 configs/variscite_dart6ul_defconfig               |   2 +-
 configs/vf610twr_defconfig                        |   2 +-
 configs/vf610twr_nand_defconfig                   |   2 +-
 configs/vining_2000_defconfig                     |   2 +-
 configs/wandboard_defconfig                       |   2 +-
 configs/warp7_bl33_defconfig                      |   2 +-
 configs/warp7_defconfig                           |   2 +-
 configs/warp_defconfig                            |   2 +-
 configs/woodburn_defconfig                        |   2 +-
 configs/woodburn_sd_defconfig                     |   2 +-
 configs/xpress_defconfig                          |   2 +-
 configs/xpress_spl_defconfig                      |   2 +-
 configs/zc5202_defconfig                          |   2 +-
 configs/zc5601_defconfig                          |   2 +-
 drivers/mmc/Kconfig                               |  10 +-
 drivers/mmc/Makefile                              |   1 +
 drivers/mmc/fsl_esdhc.c                           | 625 +---------------------
 drivers/mmc/{fsl_esdhc.c => fsl_esdhc_imx.c}      |  70 +--
 include/configs/apalis-imx8.h                     |   1 -
 include/configs/colibri-imx8x.h                   |   1 -
 include/configs/imx8mq_evk.h                      |   1 -
 include/configs/imx8qm_mek.h                      |   1 -
 include/configs/imx8qxp_mek.h                     |   1 -
 include/configs/kp_imx6q_tpc.h                    |   1 -
 include/configs/ls1012afrwy.h                     |   1 -
 include/configs/ls1028a_common.h                  |   7 -
 include/fsl_esdhc.h                               |  57 --
 include/{fsl_esdhc.h => fsl_esdhc_imx.h}          |  17 +-
 256 files changed, 355 insertions(+), 1055 deletions(-)
 copy drivers/mmc/{fsl_esdhc.c => fsl_esdhc_imx.c} (95%)
 copy include/{fsl_esdhc.h => fsl_esdhc_imx.h} (97%)

Comments

Peng Fan June 24, 2019, 5:28 a.m. UTC | #1
Hi Y.b, Stefano,

> Subject: [v8, 0/5] Split fsl_esdhc driver for i.MX

It has been long time since V1, and there might be more
conflicts when new defconfig changes. So
I have picked up this patchset to 
https://github.com/MrVan/u-boot/releases/tag/mmc-6-23
and will send pull request soon.
My gitlab account not ready, so still use github.

Regards,
Peng.

> 
> --
> 2.7.4
Marek Vasut June 24, 2019, 10:07 a.m. UTC | #2
On 6/24/19 7:28 AM, Peng Fan wrote:
> Hi Y.b, Stefano,
> 
>> Subject: [v8, 0/5] Split fsl_esdhc driver for i.MX
> 
> It has been long time since V1, and there might be more
> conflicts when new defconfig changes. So
> I have picked up this patchset to 
> https://github.com/MrVan/u-boot/releases/tag/mmc-6-23
> and will send pull request soon.
> My gitlab account not ready, so still use github.

That's for -next , right ?
Peng Fan June 25, 2019, 5:38 a.m. UTC | #3
> Subject: Re: [v8, 0/5] Split fsl_esdhc driver for i.MX
> 
> On 6/24/19 7:28 AM, Peng Fan wrote:
> > Hi Y.b, Stefano,
> >
> >> Subject: [v8, 0/5] Split fsl_esdhc driver for i.MX
> >
> > It has been long time since V1, and there might be more conflicts when
> > new defconfig changes. So I have picked up this patchset to
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> >
> ub.com%2FMrVan%2Fu-boot%2Freleases%2Ftag%2Fmmc-6-23&data=0
> 2%7C01%7
> >
> Cpeng.fan%40nxp.com%7C54029d738be5448975ee08d6f88bc8b8%7C686ea
> 1d3bc2b4
> >
> c6fa92cd99c5c301635%7C0%7C1%7C636969676592345179&sdata=Uf
> 2As%2B0ix
> > 0NTGJA1nc66WDcx%2BYip0nkt1jK%2B7O8Eo6Y%3D&reserved=0
> > and will send pull request soon.
> > My gitlab account not ready, so still use github.
> 
> That's for -next , right ?

I prefer this go in this release, it is long time since v1 out and there
are several R-b A-b tags got.
Just sent pull request to Tom a few hours ago.

Regards,
Peng

> 
> --
> Best regards,
> Marek Vasut
Marek Vasut June 25, 2019, 11:59 a.m. UTC | #4
On 6/25/19 7:38 AM, Peng Fan wrote:
>> Subject: Re: [v8, 0/5] Split fsl_esdhc driver for i.MX
>>
>> On 6/24/19 7:28 AM, Peng Fan wrote:
>>> Hi Y.b, Stefano,
>>>
>>>> Subject: [v8, 0/5] Split fsl_esdhc driver for i.MX
>>>
>>> It has been long time since V1, and there might be more conflicts when
>>> new defconfig changes. So I have picked up this patchset to
>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
>>>
>> ub.com%2FMrVan%2Fu-boot%2Freleases%2Ftag%2Fmmc-6-23&data=0
>> 2%7C01%7
>>>
>> Cpeng.fan%40nxp.com%7C54029d738be5448975ee08d6f88bc8b8%7C686ea
>> 1d3bc2b4
>>>
>> c6fa92cd99c5c301635%7C0%7C1%7C636969676592345179&sdata=Uf
>> 2As%2B0ix
>>> 0NTGJA1nc66WDcx%2BYip0nkt1jK%2B7O8Eo6Y%3D&reserved=0
>>> and will send pull request soon.
>>> My gitlab account not ready, so still use github.
>>
>> That's for -next , right ?
> 
> I prefer this go in this release, it is long time since v1 out and there
> are several R-b A-b tags got.
> Just sent pull request to Tom a few hours ago.

I don't think there's enough time to test this, it's RC4 already, so
critical fixes only. That was the whole point of extending the cycle
by another month.
Stefano Babic June 25, 2019, 12:40 p.m. UTC | #5
Hi everybody,

On 25/06/19 13:59, Marek Vasut wrote:
> On 6/25/19 7:38 AM, Peng Fan wrote:
>>> Subject: Re: [v8, 0/5] Split fsl_esdhc driver for i.MX
>>>
>>> On 6/24/19 7:28 AM, Peng Fan wrote:
>>>> Hi Y.b, Stefano,
>>>>
>>>>> Subject: [v8, 0/5] Split fsl_esdhc driver for i.MX
>>>>
>>>> It has been long time since V1, and there might be more conflicts when
>>>> new defconfig changes. So I have picked up this patchset to
>>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
>>>>
>>> ub.com%2FMrVan%2Fu-boot%2Freleases%2Ftag%2Fmmc-6-23&data=0
>>> 2%7C01%7
>>>>
>>> Cpeng.fan%40nxp.com%7C54029d738be5448975ee08d6f88bc8b8%7C686ea
>>> 1d3bc2b4
>>>>
>>> c6fa92cd99c5c301635%7C0%7C1%7C636969676592345179&sdata=Uf
>>> 2As%2B0ix
>>>> 0NTGJA1nc66WDcx%2BYip0nkt1jK%2B7O8Eo6Y%3D&reserved=0
>>>> and will send pull request soon.
>>>> My gitlab account not ready, so still use github.
>>>
>>> That's for -next , right ?
>>
>> I prefer this go in this release, it is long time since v1 out and there
>> are several R-b A-b tags got.
>> Just sent pull request to Tom a few hours ago.
> 
> I don't think there's enough time to test this, it's RC4 already, so
> critical fixes only. That was the whole point of extending the cycle
> by another month.

I agree with Marek - I am not pushing new things (even last DM
conversion) to current release. I will just pick up some fixes, and I am
starting to feed the -next branch of u-boot-imx.

Regards,
Stefano
Adam Ford June 25, 2019, 1:31 p.m. UTC | #6
On Thu, Jun 20, 2019 at 10:41 PM Yangbo Lu <yangbo.lu@nxp.com> wrote:
>
> The fsl_esdhc driver was for Freescale eSDHC on MPC83XX/MPC85XX
> initially. The later QoriQ series PowerPC processors (which were
> evolutions of MPC83XX/MPC85XX), QorIQ series ARM processors, and
> i.MX series processors were using this driver for their eSDHCs too.
>
> For the two series processors, the eSDHCs are becoming more and
> more different. We should have split it into two drivers, like them
> (sdhci-of-esdhc.c/sdhci-esdhc-imx.c) in linux kernel.
>
> It's ideal to keep common part for reusing. However, it's hard to
> find out a little which could be reused. The truth is there will
> be more and more different registers, bits and operatiing processes.
> Even some code is common now, it may have to be split in the future.
> So let's just split is as two drivers.
>
> Patch #2 just created a fsl_esdhc_imx driver which was a copy
> of fsl_esdhc driver for i.MX processors.
> Patch #3 converted i.MX platforms to use fsl_esdhc_imx.
> Patch #4 and #5 just dropped useless code for the two driver.
> There are still many cleaning up works needed to be done in the future,
> because the eSDHC driver is mess for a long time.
> Since I'm only owner for QorIQ eSDHC driver, I dropped only a little
> things which I'm sure for fsl_esdhc_imx. Let i.MX eSDHC owner do futhur
> cleaning up.
>
> Travis-CI build: https://travis-ci.org/yangbolu1991/u-boot-test/builds/548024197
>
> ---
> Changes for v6:
>         - Rebased.
>         - Applied to two new i.MX boards phycore_pcl063_ull/pico-imx7d_bl33.
> Changes for v7:
>         - Rebased on https://gitlab.denx.de/u-boot/u-boot.git.
>         - Added Reviewed-by.
> Changes for v8:
>         - Moved CONFIG_FSL_ESDHC into defconfig for colibri-imx8x/ls1028a/apalis-imx8
>           platforms introduced recently.
>         - Applied eSDHC i.MX driver to colibri-imx8x/apalis-imx8 platforms.
>
I applied the series manually, but it didn't apply cleanly against 'master'
However, after applying the series:

Tested-by: Adam Ford <aford173@gmail.com> #imx6q_logic


> Yangbo Lu (5):
>   Move CONFIG_FSL_ESDHC to defconfig
>   mmc: split fsl_esdhc driver for i.MX
>   Convert to use fsl_esdhc_imx for i.MX platforms
>   mmc: fsl_esdhc: drop i.MX code
>   mmc: fsl_esdhc_imx: drop useless code
>
>  arch/arm/cpu/arm1136/mx35/generic.c               |  10 +-
>  arch/arm/cpu/arm926ejs/mx25/generic.c             |   8 +-
>  arch/arm/cpu/armv7/vf610/generic.c                |  10 +-
>  arch/arm/cpu/armv8/s32v234/generic.c              |   2 +-
>  arch/arm/include/asm/global_data.h                |   2 +-
>  arch/arm/mach-imx/cpu.c                           |   6 +-
>  arch/arm/mach-imx/mx6/litesom.c                   |   4 +-
>  arch/arm/mach-imx/mx7/clock.c                     |   4 +-
>  arch/arm/mach-imx/mx7ulp/clock.c                  |   2 +-
>  arch/arm/mach-imx/speed.c                         |   4 +-
>  arch/m68k/cpu/mcf5445x/cpu_init.c                 |   2 +-
>  board/advantech/dms-ba16/dms-ba16.c               |   4 +-
>  board/aristainetos/aristainetos-v1.c              |   2 +-
>  board/aristainetos/aristainetos-v2.c              |   2 +-
>  board/aristainetos/aristainetos.c                 |   4 +-
>  board/bachmann/ot1200/ot1200.c                    |   2 +-
>  board/barco/platinum/platinum.c                   |   2 +-
>  board/barco/titanium/titanium.c                   |   4 +-
>  board/boundary/nitrogen6x/nitrogen6x.c            |   4 +-
>  board/ccv/xpress/xpress.c                         |   2 +-
>  board/compulab/cl-som-imx7/cl-som-imx7.c          |   6 +-
>  board/compulab/cl-som-imx7/common.c               |   6 +-
>  board/compulab/cl-som-imx7/common.h               |   8 +-
>  board/compulab/cl-som-imx7/mux.c                  |   8 +-
>  board/compulab/cl-som-imx7/spl.c                  |   6 +-
>  board/compulab/cm_fx6/cm_fx6.c                    |   4 +-
>  board/compulab/cm_fx6/common.c                    |   4 +-
>  board/compulab/cm_fx6/spl.c                       |   2 +-
>  board/congatec/cgtqmx6eval/cgtqmx6eval.c          |   4 +-
>  board/dhelectronics/dh_imx6/dh_imx6.c             |   2 +-
>  board/dhelectronics/dh_imx6/dh_imx6_spl.c         |   2 +-
>  board/el/el6x/el6x.c                              |   4 +-
>  board/embest/mx6boards/mx6boards.c                |   4 +-
>  board/freescale/imx8mq_evk/imx8mq_evk.c           |   2 +-
>  board/freescale/imx8mq_evk/spl.c                  |   2 +-
>  board/freescale/imx8qxp_mek/imx8qxp_mek.c         |   2 +-
>  board/freescale/m54418twr/m54418twr.c             |   2 +-
>  board/freescale/mx25pdk/mx25pdk.c                 |   6 +-
>  board/freescale/mx35pdk/mx35pdk.c                 |   4 +-
>  board/freescale/mx51evk/mx51evk.c                 |   6 +-
>  board/freescale/mx53ard/mx53ard.c                 |   4 +-
>  board/freescale/mx53evk/mx53evk.c                 |   4 +-
>  board/freescale/mx53loco/mx53loco.c               |   4 +-
>  board/freescale/mx53smd/mx53smd.c                 |   4 +-
>  board/freescale/mx6qarm2/mx6qarm2.c               |   4 +-
>  board/freescale/mx6sabreauto/mx6sabreauto.c       |   4 +-
>  board/freescale/mx6sabresd/mx6sabresd.c           |   4 +-
>  board/freescale/mx6slevk/mx6slevk.c               |   2 +-
>  board/freescale/mx6sxsabreauto/mx6sxsabreauto.c   |   2 +-
>  board/freescale/mx6sxsabresd/mx6sxsabresd.c       |   2 +-
>  board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c |   4 +-
>  board/freescale/mx6ullevk/mx6ullevk.c             |   2 +-
>  board/freescale/mx7dsabresd/mx7dsabresd.c         |   2 +-
>  board/freescale/s32v234evb/s32v234evb.c           |   4 +-
>  board/freescale/vf610twr/vf610twr.c               |   4 +-
>  board/gateworks/gw_ventana/common.c               |   6 +-
>  board/gateworks/gw_ventana/gw_ventana.c           |   2 +-
>  board/ge/bx50v3/bx50v3.c                          |   2 +-
>  board/ge/mx53ppd/mx53ppd.c                        |   2 +-
>  board/grinn/liteboard/board.c                     |   4 +-
>  board/inversepath/usbarmory/usbarmory.c           |   2 +-
>  board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c             |   4 +-
>  board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c         |   2 +-
>  board/kosagi/novena/novena.c                      |   2 +-
>  board/kosagi/novena/novena_spl.c                  |   6 +-
>  board/liebherr/display5/common.c                  |   2 +-
>  board/liebherr/display5/display5.c                |   6 +-
>  board/liebherr/display5/spl.c                     |   2 +-
>  board/liebherr/mccmon6/mccmon6.c                  |   2 +-
>  board/liebherr/mccmon6/spl.c                      |   2 +-
>  board/logicpd/imx6/imx6logic.c                    |   4 +-
>  board/menlo/m53menlo/m53menlo.c                   |   4 +-
>  board/phytec/pcl063/pcl063.c                      |   2 +-
>  board/phytec/pcl063/spl.c                         |   6 +-
>  board/phytec/pcm058/pcm058.c                      |   2 +-
>  board/phytec/pfla02/pfla02.c                      |   2 +-
>  board/seco/common/mx6.c                           |   2 +-
>  board/seco/mx6quq7/mx6quq7.c                      |   2 +-
>  board/sks-kinkel/sksimx6/sksimx6.c                |   2 +-
>  board/softing/vining_2000/vining_2000.c           |   2 +-
>  board/solidrun/mx6cuboxi/mx6cuboxi.c              |   2 +-
>  board/tbs/tbs2910/tbs2910.c                       |   6 +-
>  board/technexion/pico-imx6ul/spl.c                |   2 +-
>  board/technexion/pico-imx7d/spl.c                 |   2 +-
>  board/technologic/ts4800/ts4800.c                 |   6 +-
>  board/toradex/apalis_imx6/apalis_imx6.c           |   6 +-
>  board/toradex/colibri_imx6/colibri_imx6.c         |   6 +-
>  board/toradex/colibri_imx7/colibri_imx7.c         |   2 +-
>  board/tqc/tqma6/tqma6.c                           |   2 +-
>  board/tqc/tqma6/tqma6_mba6.c                      |   2 +-
>  board/tqc/tqma6/tqma6_wru4.c                      |   2 +-
>  board/udoo/neo/neo.c                              |   2 +-
>  board/udoo/udoo.c                                 |   2 +-
>  board/udoo/udoo_spl.c                             |   2 +-
>  board/variscite/dart_6ul/dart_6ul.c               |   2 +-
>  board/variscite/dart_6ul/spl.c                    |   2 +-
>  board/wandboard/spl.c                             |   2 +-
>  board/warp/warp.c                                 |   2 +-
>  board/woodburn/woodburn.c                         |   4 +-
>  configs/apalis-imx8qm_defconfig                   |   1 +
>  configs/apalis_imx6_defconfig                     |   2 +-
>  configs/aristainetos2_defconfig                   |   2 +-
>  configs/aristainetos2b_defconfig                  |   2 +-
>  configs/aristainetos_defconfig                    |   2 +-
>  configs/bk4r1_defconfig                           |   2 +-
>  configs/cgtqmx6eval_defconfig                     |   2 +-
>  configs/cl-som-imx7_defconfig                     |   2 +-
>  configs/cm_fx6_defconfig                          |   2 +-
>  configs/colibri-imx6ull_defconfig                 |   2 +-
>  configs/colibri-imx8qxp_defconfig                 |   1 +
>  configs/colibri_imx6_defconfig                    |   2 +-
>  configs/colibri_imx7_defconfig                    |   2 +-
>  configs/colibri_imx7_emmc_defconfig               |   2 +-
>  configs/colibri_vf_defconfig                      |   2 +-
>  configs/dh_imx6_defconfig                         |   2 +-
>  configs/display5_defconfig                        |   2 +-
>  configs/display5_factory_defconfig                |   2 +-
>  configs/dms-ba16-1g_defconfig                     |   2 +-
>  configs/dms-ba16_defconfig                        |   2 +-
>  configs/ge_bx50v3_defconfig                       |   2 +-
>  configs/gwventana_emmc_defconfig                  |   2 +-
>  configs/gwventana_gw5904_defconfig                |   2 +-
>  configs/gwventana_nand_defconfig                  |   2 +-
>  configs/imx6dl_icore_nand_defconfig               |   2 +-
>  configs/imx6dl_mamoj_defconfig                    |   2 +-
>  configs/imx6q_icore_nand_defconfig                |   2 +-
>  configs/imx6q_logic_defconfig                     |   2 +-
>  configs/imx6qdl_icore_mipi_defconfig              |   2 +-
>  configs/imx6qdl_icore_mmc_defconfig               |   2 +-
>  configs/imx6qdl_icore_nand_defconfig              |   2 +-
>  configs/imx6qdl_icore_rqs_defconfig               |   2 +-
>  configs/imx6ul_geam_mmc_defconfig                 |   2 +-
>  configs/imx6ul_geam_nand_defconfig                |   2 +-
>  configs/imx6ul_isiot_emmc_defconfig               |   2 +-
>  configs/imx6ul_isiot_nand_defconfig               |   2 +-
>  configs/imx8mq_evk_defconfig                      |   1 +
>  configs/imx8qm_mek_defconfig                      |   1 +
>  configs/imx8qxp_mek_defconfig                     |   1 +
>  configs/kp_imx53_defconfig                        |   2 +-
>  configs/kp_imx6q_tpc_defconfig                    |   1 +
>  configs/liteboard_defconfig                       |   2 +-
>  configs/ls1012afrwy_qspi_SECURE_BOOT_defconfig    |   1 +
>  configs/ls1012afrwy_qspi_defconfig                |   1 +
>  configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig     |   1 +
>  configs/ls1012afrwy_tfa_defconfig                 |   1 +
>  configs/ls1028aqds_tfa_SECURE_BOOT_defconfig      |   1 +
>  configs/ls1028aqds_tfa_defconfig                  |   1 +
>  configs/ls1028ardb_tfa_SECURE_BOOT_defconfig      |   1 +
>  configs/ls1028ardb_tfa_defconfig                  |   1 +
>  configs/m53menlo_defconfig                        |   2 +-
>  configs/marsboard_defconfig                       |   2 +-
>  configs/mccmon6_nor_defconfig                     |   2 +-
>  configs/mccmon6_sd_defconfig                      |   2 +-
>  configs/mx25pdk_defconfig                         |   2 +-
>  configs/mx35pdk_defconfig                         |   2 +-
>  configs/mx51evk_defconfig                         |   2 +-
>  configs/mx53ard_defconfig                         |   2 +-
>  configs/mx53cx9020_defconfig                      |   2 +-
>  configs/mx53evk_defconfig                         |   2 +-
>  configs/mx53loco_defconfig                        |   2 +-
>  configs/mx53ppd_defconfig                         |   2 +-
>  configs/mx53smd_defconfig                         |   2 +-
>  configs/mx6cuboxi_defconfig                       |   2 +-
>  configs/mx6dlarm2_defconfig                       |   2 +-
>  configs/mx6dlarm2_lpddr2_defconfig                |   2 +-
>  configs/mx6qarm2_defconfig                        |   2 +-
>  configs/mx6qarm2_lpddr2_defconfig                 |   2 +-
>  configs/mx6qsabrelite_defconfig                   |   2 +-
>  configs/mx6sabreauto_defconfig                    |   2 +-
>  configs/mx6sabresd_defconfig                      |   2 +-
>  configs/mx6slevk_defconfig                        |   2 +-
>  configs/mx6slevk_spinor_defconfig                 |   2 +-
>  configs/mx6slevk_spl_defconfig                    |   2 +-
>  configs/mx6sllevk_defconfig                       |   2 +-
>  configs/mx6sllevk_plugin_defconfig                |   2 +-
>  configs/mx6sxsabreauto_defconfig                  |   2 +-
>  configs/mx6sxsabresd_defconfig                    |   2 +-
>  configs/mx6sxsabresd_spl_defconfig                |   2 +-
>  configs/mx6ul_14x14_evk_defconfig                 |   2 +-
>  configs/mx6ul_9x9_evk_defconfig                   |   2 +-
>  configs/mx6ull_14x14_evk_defconfig                |   2 +-
>  configs/mx6ull_14x14_evk_plugin_defconfig         |   2 +-
>  configs/mx7dsabresd_defconfig                     |   2 +-
>  configs/mx7dsabresd_qspi_defconfig                |   2 +-
>  configs/mx7ulp_evk_defconfig                      |   2 +-
>  configs/mx7ulp_evk_plugin_defconfig               |   2 +-
>  configs/nitrogen6dl2g_defconfig                   |   2 +-
>  configs/nitrogen6dl_defconfig                     |   2 +-
>  configs/nitrogen6q2g_defconfig                    |   2 +-
>  configs/nitrogen6q_defconfig                      |   2 +-
>  configs/nitrogen6s1g_defconfig                    |   2 +-
>  configs/nitrogen6s_defconfig                      |   2 +-
>  configs/novena_defconfig                          |   2 +-
>  configs/opos6uldev_defconfig                      |   2 +-
>  configs/ot1200_defconfig                          |   2 +-
>  configs/ot1200_spl_defconfig                      |   2 +-
>  configs/pcm052_defconfig                          |   2 +-
>  configs/pcm058_defconfig                          |   2 +-
>  configs/pfla02_defconfig                          |   2 +-
>  configs/phycore_pcl063_defconfig                  |   2 +-
>  configs/phycore_pcl063_ull_defconfig              |   2 +-
>  configs/pico-hobbit-imx6ul_defconfig              |   2 +-
>  configs/pico-hobbit-imx7d_defconfig               |   2 +-
>  configs/pico-imx6ul_defconfig                     |   2 +-
>  configs/pico-imx7d_bl33_defconfig                 |   2 +-
>  configs/pico-imx7d_defconfig                      |   2 +-
>  configs/pico-pi-imx6ul_defconfig                  |   2 +-
>  configs/pico-pi-imx7d_defconfig                   |   2 +-
>  configs/platinum_picon_defconfig                  |   2 +-
>  configs/platinum_titanium_defconfig               |   2 +-
>  configs/riotboard_defconfig                       |   2 +-
>  configs/riotboard_spl_defconfig                   |   2 +-
>  configs/s32v234evb_defconfig                      |   2 +-
>  configs/secomx6quq7_defconfig                     |   2 +-
>  configs/sksimx6_defconfig                         |   2 +-
>  configs/tbs2910_defconfig                         |   2 +-
>  configs/titanium_defconfig                        |   2 +-
>  configs/tqma6dl_mba6_mmc_defconfig                |   2 +-
>  configs/tqma6dl_mba6_spi_defconfig                |   2 +-
>  configs/tqma6q_mba6_mmc_defconfig                 |   2 +-
>  configs/tqma6q_mba6_spi_defconfig                 |   2 +-
>  configs/tqma6s_mba6_mmc_defconfig                 |   2 +-
>  configs/tqma6s_mba6_spi_defconfig                 |   2 +-
>  configs/tqma6s_wru4_mmc_defconfig                 |   2 +-
>  configs/ts4800_defconfig                          |   2 +-
>  configs/udoo_defconfig                            |   2 +-
>  configs/udoo_neo_defconfig                        |   2 +-
>  configs/usbarmory_defconfig                       |   2 +-
>  configs/variscite_dart6ul_defconfig               |   2 +-
>  configs/vf610twr_defconfig                        |   2 +-
>  configs/vf610twr_nand_defconfig                   |   2 +-
>  configs/vining_2000_defconfig                     |   2 +-
>  configs/wandboard_defconfig                       |   2 +-
>  configs/warp7_bl33_defconfig                      |   2 +-
>  configs/warp7_defconfig                           |   2 +-
>  configs/warp_defconfig                            |   2 +-
>  configs/woodburn_defconfig                        |   2 +-
>  configs/woodburn_sd_defconfig                     |   2 +-
>  configs/xpress_defconfig                          |   2 +-
>  configs/xpress_spl_defconfig                      |   2 +-
>  configs/zc5202_defconfig                          |   2 +-
>  configs/zc5601_defconfig                          |   2 +-
>  drivers/mmc/Kconfig                               |  10 +-
>  drivers/mmc/Makefile                              |   1 +
>  drivers/mmc/fsl_esdhc.c                           | 625 +---------------------
>  drivers/mmc/{fsl_esdhc.c => fsl_esdhc_imx.c}      |  70 +--
>  include/configs/apalis-imx8.h                     |   1 -
>  include/configs/colibri-imx8x.h                   |   1 -
>  include/configs/imx8mq_evk.h                      |   1 -
>  include/configs/imx8qm_mek.h                      |   1 -
>  include/configs/imx8qxp_mek.h                     |   1 -
>  include/configs/kp_imx6q_tpc.h                    |   1 -
>  include/configs/ls1012afrwy.h                     |   1 -
>  include/configs/ls1028a_common.h                  |   7 -
>  include/fsl_esdhc.h                               |  57 --
>  include/{fsl_esdhc.h => fsl_esdhc_imx.h}          |  17 +-
>  256 files changed, 355 insertions(+), 1055 deletions(-)
>  copy drivers/mmc/{fsl_esdhc.c => fsl_esdhc_imx.c} (95%)
>  copy include/{fsl_esdhc.h => fsl_esdhc_imx.h} (97%)
>
> --
> 2.7.4
>
Tom Rini June 25, 2019, 4:33 p.m. UTC | #7
On Tue, Jun 25, 2019 at 02:40:45PM +0200, Stefano Babic wrote:
> Hi everybody,
> 
> On 25/06/19 13:59, Marek Vasut wrote:
> > On 6/25/19 7:38 AM, Peng Fan wrote:
> >>> Subject: Re: [v8, 0/5] Split fsl_esdhc driver for i.MX
> >>>
> >>> On 6/24/19 7:28 AM, Peng Fan wrote:
> >>>> Hi Y.b, Stefano,
> >>>>
> >>>>> Subject: [v8, 0/5] Split fsl_esdhc driver for i.MX
> >>>>
> >>>> It has been long time since V1, and there might be more conflicts when
> >>>> new defconfig changes. So I have picked up this patchset to
> >>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> >>>>
> >>> ub.com%2FMrVan%2Fu-boot%2Freleases%2Ftag%2Fmmc-6-23&amp;data=0
> >>> 2%7C01%7
> >>>>
> >>> Cpeng.fan%40nxp.com%7C54029d738be5448975ee08d6f88bc8b8%7C686ea
> >>> 1d3bc2b4
> >>>>
> >>> c6fa92cd99c5c301635%7C0%7C1%7C636969676592345179&amp;sdata=Uf
> >>> 2As%2B0ix
> >>>> 0NTGJA1nc66WDcx%2BYip0nkt1jK%2B7O8Eo6Y%3D&amp;reserved=0
> >>>> and will send pull request soon.
> >>>> My gitlab account not ready, so still use github.
> >>>
> >>> That's for -next , right ?
> >>
> >> I prefer this go in this release, it is long time since v1 out and there
> >> are several R-b A-b tags got.
> >> Just sent pull request to Tom a few hours ago.
> > 
> > I don't think there's enough time to test this, it's RC4 already, so
> > critical fixes only. That was the whole point of extending the cycle
> > by another month.
> 
> I agree with Marek - I am not pushing new things (even last DM
> conversion) to current release. I will just pick up some fixes, and I am
> starting to feed the -next branch of u-boot-imx.

Thanks for speaking up.  I've taken this for my -next so that further
fixups on the defconfigs are on me.