mirror of
https://github.com/torvalds/linux.git
synced 2026-05-01 04:52:32 -04:00
The A523/T527 SoCs have a new MCU PRCM, which has more clocks and reset controls for the RISC-V MCU and other peripherals. There is a second audio PLL, but no bus clock dividers. The BSP driver uses the 24MHz main oscillator as the parent for all the bus clocks. But the diagram suggests busses from the other PRCM are used in this block as well. Add a driver to support this part. Unlike the BSP driver, the SoC's main MBUS clock is chosen as the parent for the MCU MBUS clock, and the latter then serves as the parent of the MCU DMA controller's MBUS clock. The bus gate clocks also use their respective bus clocks as parents according to the system bus tree diagram. In cases where a block does not appear in that diagram, an educated guess is made. Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://patch.msgid.link/20250911174710.3149589-6-wens@kernel.org Signed-off-by: Chen-Yu Tsai <wens@csie.org>
137 lines
3.5 KiB
Plaintext
137 lines
3.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config SUNXI_CCU
|
|
tristate "Clock support for Allwinner SoCs"
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
select RESET_CONTROLLER
|
|
default ARCH_SUNXI
|
|
|
|
if SUNXI_CCU
|
|
|
|
config SUNIV_F1C100S_CCU
|
|
tristate "Support for the Allwinner newer F1C100s CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUNIV || COMPILE_TEST
|
|
|
|
config SUN20I_D1_CCU
|
|
tristate "Support for the Allwinner D1/R528/T113 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || RISCV || COMPILE_TEST
|
|
|
|
config SUN20I_D1_R_CCU
|
|
tristate "Support for the Allwinner D1/R528/T113 PRCM CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || RISCV || COMPILE_TEST
|
|
|
|
config SUN50I_A64_CCU
|
|
tristate "Support for the Allwinner A64 CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN50I_A100_CCU
|
|
tristate "Support for the Allwinner A100 CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN50I_A100_R_CCU
|
|
tristate "Support for the Allwinner A100 PRCM CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN50I_H6_CCU
|
|
tristate "Support for the Allwinner H6 CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN50I_H616_CCU
|
|
tristate "Support for the Allwinner H616 CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN50I_H6_R_CCU
|
|
tristate "Support for the Allwinner H6 and H616 PRCM CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN55I_A523_CCU
|
|
tristate "Support for the Allwinner A523/T527 CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN55I_A523_MCU_CCU
|
|
tristate "Support for the Allwinner A523/T527 MCU CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN55I_A523_R_CCU
|
|
tristate "Support for the Allwinner A523/T527 PRCM CCU"
|
|
default ARCH_SUNXI
|
|
depends on ARM64 || COMPILE_TEST
|
|
|
|
config SUN4I_A10_CCU
|
|
tristate "Support for the Allwinner A10/A20 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
|
|
|
|
config SUN5I_CCU
|
|
bool "Support for the Allwinner sun5i family CCM"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN5I || COMPILE_TEST
|
|
depends on SUNXI_CCU=y
|
|
|
|
config SUN6I_A31_CCU
|
|
tristate "Support for the Allwinner A31/A31s CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN6I || COMPILE_TEST
|
|
|
|
config SUN6I_RTC_CCU
|
|
tristate "Support for the Allwinner H616/R329 RTC CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || ARM64 || RISCV || COMPILE_TEST
|
|
|
|
config SUN8I_A23_CCU
|
|
tristate "Support for the Allwinner A23 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || COMPILE_TEST
|
|
|
|
config SUN8I_A33_CCU
|
|
tristate "Support for the Allwinner A33 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || COMPILE_TEST
|
|
|
|
config SUN8I_A83T_CCU
|
|
tristate "Support for the Allwinner A83T CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || COMPILE_TEST
|
|
|
|
config SUN8I_H3_CCU
|
|
tristate "Support for the Allwinner H3 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || ARM64 || COMPILE_TEST
|
|
|
|
config SUN8I_V3S_CCU
|
|
tristate "Support for the Allwinner V3s CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || COMPILE_TEST
|
|
|
|
config SUN8I_DE2_CCU
|
|
tristate "Support for the Allwinner SoCs DE2 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || ARM64 || RISCV || COMPILE_TEST
|
|
|
|
config SUN8I_R40_CCU
|
|
tristate "Support for the Allwinner R40 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || COMPILE_TEST
|
|
|
|
config SUN9I_A80_CCU
|
|
tristate "Support for the Allwinner A80 CCU"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN9I || COMPILE_TEST
|
|
|
|
config SUN8I_R_CCU
|
|
tristate "Support for Allwinner SoCs' PRCM CCUs"
|
|
default ARCH_SUNXI
|
|
depends on MACH_SUN8I || ARM64 || COMPILE_TEST
|
|
|
|
endif
|