linux/drivers/clk/sunxi-ng
Andre Przywara ae5e975a46 clk: sunxi-ng: d1: Add missing divider for MMC mod clocks
[ Upstream commit 98e6da673c ]

The D1/R528/T113 SoCs have a hidden divider of 2 in the MMC mod clocks,
just as other recent SoCs. So far we did not describe that, which led
to the resulting MMC clock rate to be only half of its intended value.

Use a macro that allows to describe a fixed post-divider, to compensate
for that divisor.

This brings the MMC performance on those SoCs to its expected level,
so about 23 MB/s for SD cards, instead of the 11 MB/s measured so far.

Fixes: 35b97bb941 ("clk: sunxi-ng: Add support for the D1 SoC clocks")
Reported-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Link: https://patch.msgid.link/20250501120631.837186-1-andre.przywara@arm.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-29 11:03:14 +02:00
..
ccu-sun4i-a10.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun4i-a10.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun5i.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-09-13 09:03:20 +02:00
ccu-sun5i.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun6i-a31.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun6i-a31.h clk: sunxi: a31: Export the MIPI PLL 2020-01-04 09:45:09 +01:00
ccu-sun6i-rtc.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun6i-rtc.h clk: sunxi-ng: Add support for the sun6i RTC clocks 2022-03-23 19:58:38 +01:00
ccu-sun8i-a23-a33.h clk: sunxi: a23/a33: Export the MIPI PLL 2020-01-04 09:45:19 +01:00
ccu-sun8i-a23.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-a33.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-a83t.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-a83t.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun8i-de2.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-de2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun8i-h3.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-h3.h dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq 2021-11-23 11:29:35 +01:00
ccu-sun8i-r.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-r.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun8i-r40.c clk: sunxi-ng r40: Constify struct regmap_config 2024-07-10 12:47:20 -07:00
ccu-sun8i-r40.h clk: sunxi-ng: r40: Export MBUS clock 2020-01-03 10:37:14 +01:00
ccu-sun8i-v3s.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun8i-v3s.h clk: sunxi-ng: v3s: Correct the header guard of ccu-sun8i-v3s.h 2022-11-16 19:45:53 +01:00
ccu-sun9i-a80-de.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun9i-a80-de.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun9i-a80-usb.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun9i-a80-usb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun9i-a80.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun9i-a80.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun20i-d1-r.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun20i-d1-r.h clk: sunxi-ng: Add support for the D1 SoC clocks 2021-11-23 10:29:05 +01:00
ccu-sun20i-d1.c clk: sunxi-ng: d1: Add missing divider for MMC mod clocks 2025-05-29 11:03:14 +02:00
ccu-sun20i-d1.h clk: sunxi-ng: d1: Add CAN bus gates and resets 2023-01-08 22:06:10 +01:00
ccu-sun50i-a64.c clk: sunxi-ng: a64: stop force-selecting PLL-MIPI as TCON0 parent 2025-02-08 09:57:10 +01:00
ccu-sun50i-a64.h clk: sunxi-ng: a64: drop redundant CLK_PLL_VIDEO0_2X and CLK_PLL_MIPI 2025-02-08 09:57:09 +01:00
ccu-sun50i-a100-r.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun50i-a100-r.h clk: sunxi-ng: add support for the Allwinner A100 CCU 2020-08-25 10:52:18 +02:00
ccu-sun50i-a100.c clk: sunxi-ng: a100: enable MMC clock reparenting 2025-02-17 10:05:09 +01:00
ccu-sun50i-a100.h clk: sunxi-ng: add support for the Allwinner A100 CCU 2020-08-25 10:52:18 +02:00
ccu-sun50i-h6-r.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun50i-h6-r.h clk: sunxi-ng: h6-r: Add RTC gate clock 2022-05-06 18:02:40 +02:00
ccu-sun50i-h6.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-sun50i-h6.h clk: sunxi-ng: Use the correct style for SPDX License Identifier 2019-05-01 13:01:26 -07:00
ccu-sun50i-h616.c clk: sunxi-ng: h616: Add clock/reset for GPADC 2024-06-22 20:09:20 +08:00
ccu-sun50i-h616.h clk: sunxi-ng: h616: Add clock/reset for GPADC 2024-06-22 20:09:20 +08:00
ccu-suniv-f1c100s.c clk: sunxi-ng: add missing MODULE_DESCRIPTION() macros 2024-06-04 20:46:43 +08:00
ccu-suniv-f1c100s.h clk: sunxi-ng: f1c100s: Add IR mod clock 2022-11-16 19:49:18 +01:00
ccu_common.c This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
ccu_common.h clk: sunxi-ng: common: Support minimum and maximum rate 2024-04-15 23:21:45 +02:00
ccu_div.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_div.h clk: sunxi-ng: div: Support finding closest rate 2023-08-09 23:33:59 +08:00
ccu_frac.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_frac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_gate.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_gate.h clk: sunxi-ng: gate: Add macros for gates with fixed dividers 2021-11-23 10:29:05 +01:00
ccu_mmc_timing.c clk: sunxi-ng: Modify mismatched function name 2023-07-31 00:52:36 +02:00
ccu_mp.c clk: sunxi-ng: Avoid computing the rate twice 2023-01-08 21:55:17 +01:00
ccu_mp.h clk: sunxi-ng: d1: Add missing divider for MMC mod clocks 2025-05-29 11:03:14 +02:00
ccu_mult.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_mult.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ccu_mux.c clk: sunxi-ng: mux: Support finding closest rate 2023-08-09 23:33:59 +08:00
ccu_mux.h clk: sunxi-ng: mux: Support finding closest rate 2023-08-09 23:33:59 +08:00
ccu_nk.c clk: sunxi-ng: Avoid computing the rate twice 2023-01-08 21:55:17 +01:00
ccu_nk.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_nkm.c clk: sunxi-ng: nkm: Support constraints on m/n ratio and parent rate 2024-04-15 23:23:09 +02:00
ccu_nkm.h clk: sunxi-ng: nkm: Support constraints on m/n ratio and parent rate 2024-04-15 23:23:09 +02:00
ccu_nkmp.c clk: sunxi-ng: Avoid computing the rate twice 2023-01-08 21:55:17 +01:00
ccu_nkmp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_nm.c clk: sunxi-ng: nm: Support finding closest rate 2023-08-09 23:33:58 +08:00
ccu_nm.h clk: sunxi-ng: nm: Support finding closest rate 2023-08-09 23:33:58 +08:00
ccu_phase.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_phase.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_reset.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_reset.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_sdm.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_sdm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
Kconfig clk: sunxi-ng: d1: Allow building for R528/T113 2023-01-08 22:06:10 +01:00
Makefile clk: sunxi-ng: Add support for the sun6i RTC clocks 2022-03-23 19:58:38 +01:00