Sigma-delta modulation is supported for some PLLs. This allows fractional-N multipliers to be used. In reality we don't know how to configure the individual settings for it. However we can copy existing settings from the vendor kernel to support clock rates that cannot be generated from integer factors, but are really desired. The vendor kernel only uses this for the audio PLL clock, and only on the latest chips. This patch adds a new class of clocks, along with helper functions. It is intended to be merged into N-M-factor style clocks as a feature, much like fractional clocks. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
47 lines
1.7 KiB
Makefile
47 lines
1.7 KiB
Makefile
# Common objects
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_common.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_mmc_timing.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_reset.o
|
|
|
|
# Base clock types
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_div.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_frac.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_gate.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_mux.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_mult.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_phase.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_sdm.o
|
|
|
|
# Multi-factor clocks
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_nk.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_nkm.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_nkmp.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_nm.o
|
|
lib-$(CONFIG_SUNXI_CCU) += ccu_mp.o
|
|
|
|
# SoC support
|
|
obj-$(CONFIG_SUN50I_A64_CCU) += ccu-sun50i-a64.o
|
|
obj-$(CONFIG_SUN4I_A10_CCU) += ccu-sun4i-a10.o
|
|
obj-$(CONFIG_SUN5I_CCU) += ccu-sun5i.o
|
|
obj-$(CONFIG_SUN6I_A31_CCU) += ccu-sun6i-a31.o
|
|
obj-$(CONFIG_SUN8I_A23_CCU) += ccu-sun8i-a23.o
|
|
obj-$(CONFIG_SUN8I_A33_CCU) += ccu-sun8i-a33.o
|
|
obj-$(CONFIG_SUN8I_A83T_CCU) += ccu-sun8i-a83t.o
|
|
obj-$(CONFIG_SUN8I_H3_CCU) += ccu-sun8i-h3.o
|
|
obj-$(CONFIG_SUN8I_V3S_CCU) += ccu-sun8i-v3s.o
|
|
obj-$(CONFIG_SUN8I_DE2_CCU) += ccu-sun8i-de2.o
|
|
obj-$(CONFIG_SUN8I_R_CCU) += ccu-sun8i-r.o
|
|
obj-$(CONFIG_SUN8I_R40_CCU) += ccu-sun8i-r40.o
|
|
obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80.o
|
|
obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-de.o
|
|
obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-usb.o
|
|
|
|
# The lib-y file goals is supposed to work only in arch/*/lib or lib/. In our
|
|
# case, we want to use that goal, but even though lib.a will be properly
|
|
# generated, it will not be linked in, eventually resulting in a linker error
|
|
# for missing symbols.
|
|
#
|
|
# We can work around that by explicitly adding lib.a to the obj-y goal. This is
|
|
# an undocumented behaviour, but works well for now.
|
|
obj-$(CONFIG_SUNXI_CCU) += lib.a
|