u-boot/drivers/clk
Sean Anderson 609bd60b94 clk: k210: Rewrite to remove CCF
This is effectively a complete rewrite to remove all dependency on CCF.
The code is now smaller, and so is the binary. It also takes up less memory
at runtime (since we don't have to create 40 udevices). In general, I am
much happier with this driver as much of the complexity and late binding
has been removed.

The k210_*_params structs which were previously used to initialize CCF
clocks are now used as the complete configuration. Since we can write our
own division logic, we can now do away with several "half" clocks which
only existed to provide constant factors of two.

The clock IDs have been renumbered to remove unused clocks. This may not be
the last time they are renumbered, since we have diverged with Linux. There
are also still a few clocks left out which may need to be added back in.

In general, I have tried to leave out behavioral changes. However, there is
a small bugfix regarding ACLK. According to the technical reference manual,
its mux comes *after* its divider (which is present only for PLL0). This
would have required yet another intermediate clock to fix with CCF, but
with the new driver it is just 2 lines of code :)

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2021-06-17 09:40:57 +08:00
..
altera common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
analogbits clk: sifive: Sync-up WRPLL library with upstream Linux 2019-07-19 14:24:51 +08:00
aspeed clk: Update drivers to use -EINVAL 2021-04-06 16:33:19 +12:00
at91 Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
exynos dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
imx clk: Update drivers to use -EINVAL 2021-04-06 16:33:19 +12:00
intel clk: x86: Correct the driver name 2021-01-30 14:25:41 -07:00
kendryte clk: k210: Rewrite to remove CCF 2021-06-17 09:40:57 +08:00
mediatek clk: mediatek: Add MT8183 clock driver 2021-01-18 15:14:13 -05:00
meson clk: meson-g12a: add PCIe gates 2021-04-19 16:59:33 +02:00
microchip clk: mpfs_clk: Enable DM_FLAG_PRE_RELOC flag 2021-04-08 15:37:30 +08:00
mtmips clk: add clock driver for MediaTek MT7620 SoC 2021-01-24 21:39:26 +01:00
mvebu clk: Update drivers to use -EINVAL 2021-04-06 16:33:19 +12:00
owl dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
renesas clk: renesas: Deduplicate gen3_clk_get_rate64() PLL handling 2021-05-21 15:00:17 +02:00
rockchip clk: Allow force setting clock defaults before relocation 2021-06-17 09:40:57 +08:00
sifive drivers: clk: add fu740 support 2021-05-31 16:35:54 +08:00
sunxi clk: sunxi: h6: Add XHCI clocks 2021-04-16 01:12:59 +01:00
tegra common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ti clk: add support for TI K3 SoC clocks 2021-06-11 16:34:52 +05:30
uniphier dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
clk-cdce9xx.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
clk-composite.c clk: Return -ENOSYS when system call is not available 2021-04-06 16:33:19 +12:00
clk-divider.c clk: export generic routines 2021-01-12 10:21:41 +05:30
clk-fixed-factor.c clk: set flags in the ccf registration routines 2020-08-24 11:03:26 +02:00
clk-gate.c clk: set flags in the ccf registration routines 2020-08-24 11:03:26 +02:00
clk-hsdk-cgu.c clk: Update drivers to use -EINVAL 2021-04-06 16:33:19 +12:00
clk-mux.c clk: ccf: replace the get_rate helper 2020-10-22 11:26:14 -04:00
clk-uclass.c clk: Allow force setting clock defaults before relocation 2021-06-17 09:40:57 +08:00
clk.c dm: core: Access device flags through functions 2021-01-05 12:24:41 -07:00
clk_bcm6345.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
clk_boston.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
clk_fixed_factor.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
clk_fixed_rate.c clk: fixed_rate: add API for directly registering fixed rate clocks 2021-06-11 16:34:52 +05:30
clk_octeon.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
clk_pic32.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
clk_sandbox.c clk: sandbox: Create a special fixed-rate driver 2021-03-26 17:03:08 +13:00
clk_sandbox_ccf.c clk: set flags in the ccf registration routines 2020-08-24 11:03:26 +02:00
clk_sandbox_test.c clk: sandbox: Move priv/plat data to a header file 2021-03-26 17:03:08 +13:00
clk_scmi.c clk: add clock driver for SCMI agents 2020-09-30 11:55:23 -04:00
clk_stm32f.c clk: clk_stm32f: migrate trace to dev and log macro 2021-01-13 09:52:58 +01:00
clk_stm32h7.c clk: clk_stm32h7: migrate trace to dev and log macro 2021-01-13 09:52:58 +01:00
clk_stm32mp1.c clk: stm32mp1: gets root clocks from fdt 2021-03-11 17:03:19 +01:00
clk_versal.c clk: versal: Add support to enable clocks 2021-02-23 14:56:59 +01:00
clk_vexpress_osc.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
clk_zynq.c Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
clk_zynqmp.c clk: zynqmp: Fix clk dump values 2021-03-30 12:03:24 +02:00
ics8n3qv01.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
Kconfig clk: Fix typo in Zynq Kconfig symbol description 2021-04-23 08:48:30 +02:00
Makefile clk: Add Microchip PolarFire SoC clock driver 2021-01-18 11:06:38 +08:00
mpc83xx_clk.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mpc83xx_clk.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00