u-boot/drivers/mmc
Andre Przywara 937ee31e32 mmc: sunxi: Fix MMC clock parent selection
Most Allwinner SoCs which use the so called "new timing mode" in their
MMC controllers actually use the double-rate PLL6/PERIPH0 clock as their
parent input clock. This is interestingly enough compensated by a hidden
"by 2" post-divider in the mod clock, so the divider and actual output
rate stay the same.

Even though for the H6 and H616 (but only for them!) we use the doubled
input clock for the divider computation, we never accounted for the
implicit post-divider, so the clock was only half the speed on those SoCs.
This didn't really matter so far, as our slow MMIO routine limits the
transfer speed anyway, but we will fix this soon.

Clean up the code around that selection, to always use the normal PLL6
(PERIPH0(1x)) clock as an input. As the rate and divider are the same,
that makes no difference.
Explain the hardware differences in a comment.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-07-10 01:22:09 +01:00
..
am654_sdhci.c mmc: sdhci_am654: Add Support for TI's AM642 SoC 2021-05-12 16:27:57 +05:30
arm_pl180_mmci.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
arm_pl180_mmci.h mmc: arm_pl180_mmci: Sync compatible with kernel 2019-04-23 15:31:30 +02:00
aspeed_sdhci.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
atmel_sdhci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bcm2835_sdhci.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
bcm2835_sdhost.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
bcmstb_sdhci.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
ca_dw_mmc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
davinci_mmc.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
dw_mmc.c mmc: dw_mmc: Fixes data read when receiving DTO interrupt in FIFO mode 2021-06-22 12:02:11 +08:00
exynos_dw_mmc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
f_sdh30.c mmc: synquacer: Add SynQuacer F_SDH30 SDHCI driver 2021-07-06 14:07:36 -04:00
fsl_esdhc.c mmc: fsl_esdhc: convert to CONFIG_FSL_ESDHC_VS33_NOT_SUPPORT 2021-06-17 11:46:11 +05:30
fsl_esdhc_imx.c Revert "mmc: fsl_esdhc_imx: use VENDORSPEC_FRC_SDCLK_ON to control card clock output" 2021-06-22 12:03:32 +08:00
fsl_esdhc_spl.c mmc: fsl_esdhc_spl: remove superfluous free() 2021-01-18 15:23:06 -05:00
ftsdc010_mci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
ftsdc010_mci.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gen_atmel_mci.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
hi6220_dw_mmc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
iproc_sdhci.c drivers: mmc: iproc_sdhci: enable HS200 mode 2021-03-02 13:53:37 +01:00
jz_mmc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
Kconfig Merge branch '2021-07-06-platform-updates' 2021-07-06 18:10:10 -04:00
kona_sdhci.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
Makefile Merge branch '2021-07-06-platform-updates' 2021-07-06 18:10:10 -04:00
meson_gx_mmc.c mmc: meson_gx_mmc: use mmc_pwrseq instead of meson_mmc_pwrseq 2021-02-19 15:10:46 +08:00
meson_gx_mmc.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
mmc-pwrseq.c mmc: pwrseq: add mmc-pwrseq file to provide a generic interface 2021-02-19 15:10:41 +08:00
mmc-uclass.c dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
mmc.c mmc: Check for device with a seq number equal to num before checking against index 2021-04-06 18:36:27 +08:00
mmc_boot.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
mmc_legacy.c Move eSDHC adapter card identification to board files 2020-07-27 14:16:28 +05:30
mmc_private.h mmc: fsl_esdhc_imx: use mmc_send_cmd instead of dm_mmc_send_cmd 2021-06-22 12:03:11 +08:00
mmc_spi.c mmc: mmc_spi: Document the 3 local functions 2021-02-19 15:08:03 +08:00
mmc_write.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
msm_sdhci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mtk-sd.c mmc: mtk-sd: increase the minimum bus frequency 2021-06-22 12:01:52 +08:00
mv_sdhci.c Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
mvebu_mmc.c mmc: mvebu: convert to driver model 2021-04-08 08:50:52 +02:00
mxcmmc.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
mxsmmc.c dm: Rename U_BOOT_DRIVER_ALIAS to DM_DRIVER_ALIAS 2021-01-05 12:26:35 -07:00
nexell_dw_mmc.c mmc: dwmmc: Change designware MMC 'clksel' callback function to return status 2021-01-15 17:48:36 +08:00
octeontx_hsmmc.c mmc: octeontx_hsmmc: Add support for MIPS Octeon 2021-04-22 02:47:57 +02:00
octeontx_hsmmc.h mmc: Add MMC controller driver for OcteonTX / TX2 2020-08-25 08:01:16 +02:00
omap_hsmmc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pci_mmc.c mmc: pci_mmc: Set up the card detect 2021-03-27 13:59:37 +13:00
pic32_sdhci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
piton_mmc.c mmc: openpiton: add piton_mmc driver 2021-07-06 13:50:56 +08:00
pxa_mmc_gen.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
renesas-sdhi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
rockchip_dw_mmc.c mmc: rockchip_dw_mmc: use mmc_pwrseq instead of rockchip_mmc_pwrseq 2021-02-19 15:11:08 +08:00
rockchip_sdhci.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
rpmb.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
s5p_sdhci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sandbox_mmc.c mmc: sandbox: Add support for writing 2021-02-26 15:30:55 +01:00
sdhci-adma.c mmc: sdhci: move the ADMA2 table handling into own module 2020-10-12 15:50:19 +08:00
sdhci-cadence.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sdhci.c mmc: sdhci: skip cache invalidation if DMA is not used 2021-02-19 15:03:25 +08:00
sh_mmcif.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sh_mmcif.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sh_sdhi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
snps_dw_mmc.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
socfpga_dw_mmc.c mmc: dwmmc: socfpga: Get "fifo-mode" property from DT 2021-06-22 12:02:32 +08:00
sti_sdhci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
stm32_sdmmc2.c mmc: stm32_sdmmc2: migrate trace to dev and log macro 2021-01-13 09:52:58 +01:00
sunxi_mmc.c mmc: sunxi: Fix MMC clock parent selection 2021-07-10 01:22:09 +01:00
tangier_sdhci.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
tegra_mmc.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
tmio-common.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tmio-common.h mmc: tmio: sdhi: Configure internal DMA bus width 2021-01-31 14:08:45 +01:00
uniphier-sd.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
xenon_sdhci.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
zynq_sdhci.c clk: zynq: Add dummy clock enable function 2021-02-23 14:56:59 +01:00