linux/drivers/clk
Andre Przywara 45717804b7 clk: sunxi-ng: mp: introduce dual-divider clock
The Allwinner A523 SoC introduces some new MP-style mod clock, where the
second "P" divider is an actual numerical divider value, and not the
numbers of bits to shift (1..32 instead of 1,2,4,8).
The rest of the clock is the same as the existing MP clock, so enhance the
existing code to accommodate for this.

Introduce the new CCU feature bit CCU_FEATURE_DUAL_DIV to mark an MP
clock as having two dividers, and change the dividing and encoding code
to differentiate the two cases.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Link: https://patch.msgid.link/20250307002628.10684-2-andre.przywara@arm.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2025-03-12 11:58:09 +08:00
..
actions
analogbits clk: analogbits: Fix incorrect calculation of vco rate delta 2025-01-16 13:43:49 -08:00
at91 clk: at91: sama7d65: add sama7d65 pmc driver 2024-12-29 14:17:55 +02:00
axis
axs10x clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
baikal-t1
bcm Merge branches 'clk-airoha', 'clk-rockchip', 'clk-stm', 'clk-thead' and 'clk-bcm' into clk-next 2025-01-21 11:22:26 -08:00
berlin
davinci clk: davinci: remove platform data struct 2024-12-17 10:53:06 -08:00
hisilicon clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
imgtec
imx Merge branch 'clk-fixes' into clk-next 2025-01-21 11:22:46 -08:00
ingenic
keystone clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
mediatek clk: mediatek: mt2701-img: add missing dummy clk 2024-12-17 12:15:37 -08:00
meson Two reverts and two EN7581 driver fixes: 2024-12-10 18:21:40 -08:00
microchip module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
mmp Merge branch 'clk-fixes' into clk-next 2025-01-21 11:22:46 -08: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
nxp clk: lpc32xx: Constify struct regmap_config 2024-07-08 13:32:47 -07:00
pistachio
pxa
qcom Merge branches 'clk-microchip', 'clk-xilinx', 'clk-allwinner', 'clk-imx' and 'clk-qcom' into clk-next 2025-01-21 11:22:19 -08:00
ralink clk: ralink: mtmips: remove duplicated 'xtal' clock for Ralink SoC RT3883 2025-01-13 13:35:38 -08:00
renesas clk: renesas: r9a09g057: Add clock and reset entries for GIC 2025-01-07 17:00:56 +01:00
rockchip clk: rockchip: rk3588: make refclko25m_ethX critical 2025-01-09 16:23:32 +01:00
samsung clk: samsung: Introduce Exynos990 clock controller driver 2024-12-14 11:39:02 +01: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 clk: socfpga: arria10: Optimize local variables in clk_pll_recalc_rate() 2024-12-16 18:22:00 -06:00
sophgo clk: sophgo: avoid integer overflow in sg2042_pll_recalc_rate() 2024-10-28 16:47:22 -07:00
spear
sprd clk: sprd: add missing MODULE_DESCRIPTION() macro 2024-06-03 15:43:16 -07:00
st
starfive clk: starfive: Make _clk_get become a common helper function 2025-01-14 10:55:00 -08: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 clk: sunxi-ng: mp: introduce dual-divider clock 2025-03-12 11:58:09 +08:00
tegra clk: tegra: use clamp() in tegra_bpmp_clk_determine_rate() 2024-10-28 10:33:13 -07:00
thead Merge branch 'clk-fixes' into clk-next 2025-01-21 11:22:46 -08:00
ti The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
uniphier
ux500
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: clocking-wizard: calculate dividers fractional parts 2025-01-07 11:50:07 -08:00
zynq
zynqmp
.kunitconfig clk: Allow kunit tests to run without OF_OVERLAY enabled 2024-10-22 14:09:20 -07:00
clk_kunit_helpers.c clk: test: Add test managed of_clk_add_hw_provider() 2024-10-09 16:25:32 -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 The core framework gained a clk provider helper, a clk consumer helper, and 2024-11-22 17:02:25 -08:00
clk-apple-nco.c clk: clk-apple-nco: Add NULL check in applnco_probe 2024-11-14 12:31:03 -08:00
clk-asm9260.c
clk-aspeed.c
clk-aspeed.h
clk-ast2600.c
clk-axi-clkgen.c clk: clk-axi-clkgen: make sure to enable the AXI bus clock 2024-11-14 14:43:40 -08:00
clk-axm5516.c
clk-bd718x7.c
clk-bm1880.c
clk-bulk.c
clk-cdce706.c clk: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-10-09 16:01:40 -07:00
clk-cdce925.c clk: cdce925: make regmap_cdce925_bus constant 2024-10-09 16:11:35 -07:00
clk-clps711x.c
clk-composite.c
clk-conf.c clk: clk-conf: support assigned-clock-rates-u64 2024-08-16 15:21:19 -07:00
clk-cs2000-cp.c
clk-devres.c clk: Provide devm_clk_bulk_get_all_enabled() helper 2024-10-22 13:55:22 -07:00
clk-divider.c clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag 2024-10-17 11:16:01 -07:00
clk-en7523.c pci-v6.14-changes 2025-01-25 16:03:40 -08:00
clk-ep93xx.c clk: ep93xx: make const read-only arrays static 2025-01-13 13:27:26 -08:00
clk-eyeq.c clk: eyeq: add EyeQ6H west fixed factor clocks 2024-11-14 14:52:27 -08:00
clk-fixed-factor.c clk: fixed-factor: add clk_hw_register_fixed_factor_index() function 2024-11-14 14:52:26 -08: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.h
clk-fsl-flexspi.c
clk-fsl-sai.c
clk-gate_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-gate.c
clk-gemini.c
clk-gpio.c clk: clk-gpio: add driver for gated-fixed-clocks 2024-10-16 11:20:42 -07:00
clk-hi655x.c
clk-highbank.c
clk-hsdk-pll.c
clk-k210.c
clk-lan966x.c clk: lan966x: add support for lan969x SoC clock driver 2024-10-13 19:21:11 +03:00
clk-lmk04832.c clk: lmk04832: make read-only const arrays static 2025-01-13 13:27:12 -08:00
clk-lochnagar.c
clk-loongson1.c
clk-loongson2.c Merge branch 'clk-fixes' into clk-next 2025-01-21 11:22:46 -08:00
clk-max9485.c
clk-max77686.c
clk-milbeaut.c
clk-moxart.c
clk-multiplier.c
clk-mux.c
clk-nomadik.c clk: Use str_enable_disable-like helpers 2025-01-15 12:27:04 -08:00
clk-npcm7xx.c
clk-npcm8xx.c clk: npcm8xx: add clock controller 2024-10-17 15:17:51 -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-pwm.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-qoriq.c clk: clk-qoriq: Replace of_node_put() with __free() 2024-10-09 16:01:00 -07:00
clk-renesas-pcie.c
clk-rk808.c
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: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-10-09 16:01:40 -07:00
clk-si521xx.c
clk-si544.c
clk-si570.c
clk-si5341.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04: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-sparx5.c
clk-stm32f4.c clk: stm32f4: support spread spectrum clock generation 2025-01-15 15:17:05 -08:00
clk-stm32h7.c
clk-tps68470.c
clk-twl.c clk: twl: add TWL6030 support 2024-10-17 12:02:42 -07:00
clk-twl6040.c
clk-versaclock3.c clk: versaclock3: Add support for the 5L35023 variant 2024-12-10 14:49:29 -08:00
clk-versaclock5.c
clk-versaclock7.c
clk-vt8500.c
clk-wm831x.c
clk-xgene.c clk: Use str_enable_disable-like helpers 2025-01-15 12:27:04 -08:00
clk.c Merge branches 'clk-airoha', 'clk-rockchip', 'clk-stm', 'clk-thead' and 'clk-bcm' into clk-next 2025-01-21 11:22:26 -08:00
clk.h
clkdev.c Merge topic branches 'clkdev' and 'fixes' into for-linus 2024-06-10 12:03:21 +01:00
Kconfig Merge branches 'clk-mobileye', 'clk-twl', 'clk-nuvoton', 'clk-renesas' and 'clk-bindings' into clk-next 2024-11-18 20:00:28 -08:00
kunit_clk_assigned_rates_multiple_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_multiple.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_null_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_null.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_one_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_one.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_multiple_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_multiple.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_one_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_one.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_without_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_without.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_zero_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_zero.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates.h clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -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 Merge branches 'clk-mobileye', 'clk-twl', 'clk-nuvoton', 'clk-renesas' and 'clk-bindings' into clk-next 2024-11-18 20:00:28 -08:00