From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [v3, 0/5] Split fsl_esdhc driver for i.MX
Date: Wed, 29 May 2019 08:21:54 +0200 [thread overview]
Message-ID: <20190529082154.4b62316f@jawa> (raw)
In-Reply-To: <20190521085215.6263-1-yangbo.lu@nxp.com>
Hi Y.b,
> 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.
Thank you for very detailed description (cover letter).
>
> 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%)
>
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190529/66b55333/attachment-0001.sig>
next prev parent reply other threads:[~2019-05-29 6:21 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-21 8:51 [U-Boot] [v3, 0/5] Split fsl_esdhc driver for i.MX Y.b. Lu
2019-05-21 8:51 ` [U-Boot] [v3, 1/5] Move CONFIG_FSL_ESDHC to defconfig Y.b. Lu
2019-05-29 1:34 ` Peng Fan
2019-05-29 1:46 ` Jason Liu
2019-05-29 6:23 ` Lukasz Majewski
2019-05-21 8:52 ` [U-Boot] [v3, 2/5] mmc: split fsl_esdhc driver for i.MX Y.b. Lu
2019-05-29 1:42 ` Peng Fan
2019-05-29 6:29 ` Lukasz Majewski
2019-05-29 7:10 ` Y.b. Lu
2019-05-29 12:22 ` Y.b. Lu
2019-05-21 8:52 ` [U-Boot] [v3, 3/5] Convert to use fsl_esdhc_imx for i.MX platforms Y.b. Lu
2019-05-29 1:46 ` Peng Fan
2019-05-29 1:47 ` Jason Liu
2019-05-29 6:31 ` Lukasz Majewski
2019-05-21 8:52 ` [U-Boot] [v3, 4/5] mmc: fsl_esdhc: drop i.MX code Y.b. Lu
2019-05-29 1:47 ` Peng Fan
2019-05-29 6:40 ` Lukasz Majewski
2019-05-29 7:34 ` Y.b. Lu
2019-05-21 8:53 ` [U-Boot] [v3, 5/5] mmc: fsl_esdhc_imx: drop useless code Y.b. Lu
2019-05-29 1:53 ` Peng Fan
2019-05-29 6:09 ` Y.b. Lu
2019-05-29 6:16 ` Peng Fan
2019-05-29 6:42 ` Lukasz Majewski
2019-05-29 7:37 ` Y.b. Lu
2019-05-30 18:23 ` Angelo Dureghello
2019-05-31 5:58 ` Peng Fan
2019-05-31 6:12 ` Y.b. Lu
2019-05-31 7:15 ` Angelo Dureghello
2019-06-03 4:28 ` Y.b. Lu
2019-06-22 21:42 ` Angelo Dureghello
2019-06-24 1:23 ` Y.b. Lu
2019-06-24 9:26 ` Angelo Dureghello
2019-06-24 2:05 ` Marek Vasut
2019-05-23 8:36 ` [U-Boot] [v3, 0/5] Split fsl_esdhc driver for i.MX linux-kernel-dev
2019-05-23 9:15 ` Lukasz Majewski
2019-05-29 6:21 ` Lukasz Majewski [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-05-29 6:16 Y.b. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190529082154.4b62316f@jawa \
--to=lukma@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox