linux/drivers/clk
Sergio Paracuellos 198675bbc0 clk: ralink: mtmips: add mmc related clocks for SoCs MT7620, MT7628 and MT7688
Original architecture clock code from where this driver was derived did not
include nothing related to mmc clocks. OpenWRT people started to use mtk-sd
upstream driver recently and they were forced to use a dts 'fixed-clock'
node with 48 MHz clock:
- https://github.com/openwrt/openwrt/pull/15896
The proper thing to do to avoid that is to add the mmc related clocks to the
driver to avoid a dts with fixed clocks nodes. The minimal documentation in
the mt7620 programming guide says that there is a BBP_PLL clock of 480 MHz
derived from the 40 MHz XTAL and from there a clock divider by ten produces
the desired SDHC clock of 48 MHz for the mmc. Hence add a fixed clock 'bbppll'
and factor clock 'sdhc' ten divider child to properly set the 'mmc' peripheral
clock with the desired 48 Mhz rate.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Link: https://lore.kernel.org/r/20240910044024.120009-4-sergio.paracuellos@gmail.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2024-11-14 12:49:29 -08:00
..
actions clk: actions: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:03 -07:00
analogbits clk: analogbits: Allow building the library as a module 2023-10-23 20:26:49 -07:00
at91 Merge branches 'clk-amlogic', 'clk-microchip' and 'clk-imx' into clk-next 2024-09-21 14:10:59 -07:00
axis
axs10x clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
baikal-t1 clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
bcm clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
berlin clk: berlin: div: Add a determine_rate hook 2023-06-08 18:39:26 -07:00
davinci clk:davinci: make use of dev_err_cast_probe() 2024-08-28 13:11:21 -07:00
hisilicon clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
imgtec
imx clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
ingenic clk: ingenic: tcu: Switch to determine_rate 2023-06-08 18:39:34 -07:00
keystone clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
mediatek clk: mediatek: clk-mt8188-topckgen: Remove univpll from parents of mfg_core_tmp 2024-10-17 15:24:48 -07:00
meson clk: meson: introduce symbol namespace for amlogic clocks 2024-07-29 16:47:33 +02:00
microchip clock, reset: microchip: move all mpfs reset code to the reset subsystem 2024-05-07 14:57:46 -07:00
mmp clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
mstar
mvebu clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
mxs clk: mxs: Use clamp() in clk_ref_round_rate() and clk_ref_set_rate() 2024-07-10 13:08:59 -07:00
nuvoton clk: nuvoton: Convert to devm_platform_ioremap_resource() 2023-08-22 14:52:11 -07:00
nxp clk: lpc32xx: Constify struct regmap_config 2024-07-08 13:32:47 -07:00
pistachio
pxa ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
qcom The core clk framework is left largely untouched this time around except for 2024-09-23 15:01:48 -07:00
ralink clk: ralink: mtmips: add mmc related clocks for SoCs MT7620, MT7628 and MT7688 2024-11-14 12:49:29 -08:00
renesas clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
rockchip clk: rockchip: remove unused mclk_pdm0_p/pdm0_p definitions 2024-09-09 14:10:32 -07:00
samsung clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
sifive This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
socfpga Merge branches 'clk-debugfs', 'clk-spreadtrum', 'clk-sifive', 'clk-counted' and 'clk-qcom' into clk-next 2023-10-30 14:10:51 -07:00
sophgo clk: sophgo: clk-sg2042-pll: Fix uninitialized variable in debug output 2024-07-18 13:33:15 -07:00
spear clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
sprd clk: sprd: add missing MODULE_DESCRIPTION() macro 2024-06-03 15:43:16 -07:00
st clk: st: flexgen: Switch to determine_rate 2023-06-08 18:39:35 -07:00
starfive The core clk framework is left largely untouched this time around except for 2024-09-23 15:01:48 -07:00
stm32 clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
sunxi of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
sunxi-ng This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
tegra clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
thead clk: thead: fix dependency on clk_ignore_unused 2024-07-31 14:51:47 -07:00
ti clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
uniphier clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
ux500 clk: ux500: sysctrl: Add a determine_rate hook 2023-06-08 18:39:30 -07:00
versatile clk: Use of_property_present() 2024-08-02 16:53:38 -07:00
visconti clk: visconti: Switch to use kmemdup_array() 2024-08-14 17:37:25 -07:00
x86 clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
xilinx clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
zynq clk: zynq: Prevent null pointer dereference caused by kmalloc failure 2024-03-08 17:15:20 -08:00
zynqmp drivers: clk: zynqmp: update divider round rate logic 2023-12-16 17:20:14 -08:00
.kunitconfig clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk_kunit_helpers.c clk: Add test managed clk provider/consumer APIs 2024-07-29 15:33:12 -07:00
clk_parent_data_test.h clk: Add KUnit tests for clks registered with struct clk_parent_data 2024-07-29 15:33:13 -07:00
clk_test.c clk: Add KUnit tests for clks registered with struct clk_parent_data 2024-07-29 15:33:13 -07:00
clk-apple-nco.c
clk-asm9260.c clk: asm9620: Remove 'hw' local variable that isn't checked 2023-09-11 13:12:53 -07:00
clk-aspeed.c Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
clk-aspeed.h
clk-ast2600.c clk: ast2600: Add FSI parent clock with correct rate 2024-02-21 21:46:13 -08:00
clk-axi-clkgen.c clk: axi-clkgen: Switch to determine_rate 2023-06-08 18:39:33 -07:00
clk-axm5516.c clk: axm5516: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:05 -07:00
clk-bd718x7.c
clk-bm1880.c clk: bm1880: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:11 -07:00
clk-bulk.c
clk-cdce706.c Merge branches 'clk-renesas', 'clk-determine-rate', 'clk-allwinner', 'clk-samsung' and 'clk-amlogic' into clk-next 2023-06-26 08:55:04 -07:00
clk-cdce925.c clk: cdce925: Remove redundant assignment to variable 'rate' 2024-02-21 21:36:09 -08:00
clk-clps711x.c
clk-composite.c clk: composite: Fix handling of high clock rates 2023-06-12 17:42:10 -07:00
clk-conf.c clk: clk-conf: support assigned-clock-rates-u64 2024-08-16 15:21:19 -07:00
clk-cs2000-cp.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-devres.c clk: provide devm_clk_get_optional_enabled_with_rate() 2024-09-05 13:51:46 -07:00
clk-divider.c
clk-en7523.c clk: en7523: fix rate divider for slic and spi clocks 2024-07-08 14:43:28 -07:00
clk-ep93xx.c clk: ep93xx: Fix off by one in ep93xx_div_recalc_rate() 2024-09-12 14:33:12 +00:00
clk-fixed-factor.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fixed-mmio.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fixed-rate_test.c clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk-fixed-rate_test.h clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk-fixed-rate.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fractional-divider_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-fractional-divider.c clk: fractional-divider: Use bit operations consistently 2024-03-08 17:07:11 -08:00
clk-fractional-divider.h
clk-fsl-flexspi.c
clk-fsl-sai.c clk: fsl-sai: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:15 -07:00
clk-gate_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-gate.c clk: gate: fix comment typo and grammar 2023-09-11 13:20:40 -07:00
clk-gemini.c clk: gemini: Remove an unused field in struct clk_gemini_pci 2024-04-19 18:58:36 -07:00
clk-gpio.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-hi655x.c
clk-highbank.c clk: highbank: Remove an unused field in struct hb_clk 2024-04-19 18:57:30 -07:00
clk-hsdk-pll.c clk: hsdk-pll: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:20 -07:00
clk-k210.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-lan966x.c clk: lan966x: Remove unused round_rate hook 2023-06-08 18:39:25 -07:00
clk-lmk04832.c clk: lmk04832: Use devm_clk_get_enabled() helpers 2024-08-27 17:25:04 -07:00
clk-lochnagar.c clk: Use device_get_match_data() 2023-10-23 20:16:21 -07:00
clk-loongson1.c clk: loongson1: Re-implement the clock driver 2023-03-21 16:34:23 -07:00
clk-loongson2.c clk: clk-loongson2: Add Loongson-2K2000 clock support 2024-04-11 00:30:13 -07:00
clk-max9485.c clk: Switch i2c drivers back to use .probe() 2023-05-10 14:05:34 -07:00
clk-max77686.c
clk-milbeaut.c clk: Annotate struct clk_hw_onecell_data with __counted_by 2023-08-22 13:51:26 -07:00
clk-moxart.c
clk-multiplier.c
clk-mux.c
clk-nomadik.c
clk-npcm7xx.c clk: npcm7xx: Fix incorrect kfree 2023-10-18 18:06:05 -07:00
clk-nspire.c
clk-palmas.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-plldig.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-pwm.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-qoriq.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-renesas-pcie.c clk: rs9: fix wrong default value for clock amplitude 2024-04-19 19:09:41 -07:00
clk-rk808.c clk: RK808: Reduce 'struct rk808' usage 2023-05-15 16:13:56 +01:00
clk-s2mps11.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-scmi.c clk: scmi: add is_prepared hook 2024-08-27 12:11:45 -07:00
clk-scpi.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-si514.c clk: si514: Convert to use maple tree register cache 2023-10-09 20:29:16 -07:00
clk-si521xx.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si544.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si570.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si5341.c clk: si5341: fix an error code problem in si5341_output_clk_set_rate 2023-12-17 17:46:42 -08:00
clk-si5351.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
clk-si5351.h
clk-sp7021.c clk: sp7021: fix return value check in sp7021_clk_probe() 2023-12-16 17:10:17 -08:00
clk-sparx5.c
clk-stm32f4.c clk: stm32f4: mux: Add a determine_rate hook 2023-06-08 18:39:27 -07:00
clk-stm32h7.c clk: stm32h7: Remove an unused field in struct stm32_fractional_divider 2023-04-03 14:10:42 -07:00
clk-tps68470.c
clk-twl.c clk: twl: add clock driver for TWL6032 2023-10-19 16:40:15 -07:00
clk-twl6040.c
clk-versaclock3.c clk: versaclock3: Drop ret variable 2023-12-17 15:56:14 -08:00
clk-versaclock5.c clk: versaclock5: Convert to use maple tree register cache 2023-10-09 20:31:23 -07:00
clk-versaclock7.c clk: versaclock7: Convert to use maple tree register cache 2023-10-09 20:31:23 -07:00
clk-vt8500.c
clk-wm831x.c clk: wm831x: clkout: Add a determine_rate hook 2023-06-08 18:39:28 -07:00
clk-xgene.c
clk.c clk: use clk_core_unlink_consumer() helper 2024-08-06 14:49:25 -07:00
clk.h
clkdev.c Merge topic branches 'clkdev' and 'fixes' into for-linus 2024-06-10 12:03:21 +01:00
Kconfig soc: convert ep93xx to devicetree 2024-09-26 12:00:25 -07:00
kunit_clk_fixed_rate_test.dtso clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
kunit_clk_parent_data_test.dtso clk: Add KUnit tests for clks registered with struct clk_parent_data 2024-07-29 15:33:13 -07:00
Makefile soc: convert ep93xx to devicetree 2024-09-26 12:00:25 -07:00