Hi On Tue, 2019-05-21 at 08:51 +0000, Y.b. Lu 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.
Tested-by: Steffen Dirkwinkel s.dirkwin...@beckhoff.com I've tested this on the beckhoff/mx53cx9020 board. It still boots from sd after the changes. When rebasing to master this board only needs the defconfig change as we've recently removed the unused mmc code in "mx53cx9020.c". Regards, Steffen Dirkwinkel > > 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 +- > 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/beckhoff/mx53cx9020/mx53cx9020.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 | 4 +- > 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/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 +- > .../freescale/mx6sxsabreauto/mx6sxsabreauto.c | 2 +- > board/freescale/mx6sxsabresd/mx6sxsabresd.c | 2 +- > .../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 | 4 +- > 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/samtec/vining_2000/vining_2000.c | 2 +- > board/seco/common/mx6.c | 2 +- > board/seco/mx6quq7/mx6quq7.c | 2 +- > board/sks-kinkel/sksimx6/sksimx6.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_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_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 +- > .../ls1012afrwy_qspi_SECURE_BOOT_defconfig | 1 + > configs/ls1012afrwy_qspi_defconfig | 1 + > configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig | 1 + > configs/ls1012afrwy_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/pico-hobbit-imx6ul_defconfig | 2 +- > configs/pico-hobbit-imx7d_defconfig | 2 +- > configs/pico-imx6ul_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 | 6 + > drivers/mmc/Makefile | 1 + > drivers/mmc/fsl_esdhc.c | 609 +--------------- > -- > drivers/mmc/{fsl_esdhc.c => fsl_esdhc_imx.c} | 101 +-- > 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/fsl_esdhc.h | 57 -- > include/{fsl_esdhc.h => fsl_esdhc_imx.h} | 15 +- > 244 files changed, 350 insertions(+), 1054 deletions(-) > copy drivers/mmc/{fsl_esdhc.c => fsl_esdhc_imx.c} (94%) > copy include/{fsl_esdhc.h => fsl_esdhc_imx.h} (97%) > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot