1menu "Clock" 2 3config CLK 4 bool "Enable clock driver support" 5 depends on DM 6 help 7 This allows drivers to be provided for clock generators, including 8 oscillators and PLLs. Devices can use a common clock API to request 9 a particular clock rate and check on available clocks. Clocks can 10 feed into other clocks in a tree structure, with multiplexers to 11 choose the source for each clock. 12 13config SPL_CLK 14 bool "Enable clock support in SPL" 15 depends on CLK && SPL && SPL_DM 16 help 17 The clock subsystem adds a small amount of overhead to the image. 18 If this is acceptable and you have a need to use clock drivers in 19 SPL, enable this option. It might provide a cleaner interface to 20 setting up clocks within SPL, and allows the same drivers to be 21 used as U-Boot proper. 22 23config TPL_CLK 24 bool "Enable clock support in TPL" 25 depends on CLK && TPL_DM 26 help 27 The clock subsystem adds a small amount of overhead to the image. 28 If this is acceptable and you have a need to use clock drivers in 29 SPL, enable this option. It might provide a cleaner interface to 30 setting up clocks within TPL, and allows the same drivers to be 31 used as U-Boot proper. 32 33config CLK_BCM6345 34 bool "Clock controller driver for BCM6345" 35 depends on CLK && ARCH_BMIPS 36 default y 37 help 38 This clock driver adds support for enabling and disabling peripheral 39 clocks on BCM6345 SoCs. HW has no rate changing capabilities. 40 41config CLK_BOSTON 42 def_bool y if TARGET_BOSTON 43 depends on CLK 44 select REGMAP 45 select SYSCON 46 help 47 Enable this to support the clocks 48 49config SPL_CLK_CCF 50 bool "SPL Common Clock Framework [CCF] support " 51 depends on SPL 52 help 53 Enable this option if you want to (re-)use the Linux kernel's Common 54 Clock Framework [CCF] code in U-Boot's SPL. 55 56config SPL_CLK_COMPOSITE_CCF 57 bool "SPL Common Clock Framework [CCF] composite clk support " 58 depends on SPL_CLK_CCF 59 help 60 Enable this option if you want to (re-)use the Linux kernel's Common 61 Clock Framework [CCF] composite code in U-Boot's SPL. 62 63config CLK_CCF 64 bool "Common Clock Framework [CCF] support " 65 help 66 Enable this option if you want to (re-)use the Linux kernel's Common 67 Clock Framework [CCF] code in U-Boot's clock driver. 68 69config CLK_COMPOSITE_CCF 70 bool "Common Clock Framework [CCF] composite clk support " 71 depends on CLK_CCF 72 help 73 Enable this option if you want to (re-)use the Linux kernel's Common 74 Clock Framework [CCF] composite code in U-Boot's clock driver. 75 76config CLK_INTEL 77 bool "Enable clock driver for Intel x86" 78 depends on CLK && X86 79 help 80 This provides very basic support for clocks on Intel SoCs. The driver 81 is barely used at present but could be expanded as needs arise. 82 Much clock configuration in U-Boot is either set up by the FSP, or 83 set up by U-Boot itself but only statically. Thus the driver does not 84 support changing clock rates, only querying them. 85 86config CLK_OCTEON 87 bool "Clock controller driver for Marvell MIPS Octeon" 88 depends on CLK && ARCH_OCTEON 89 default y 90 help 91 Enable this to support the clocks on Octeon MIPS platforms. 92 93config CLK_STM32F 94 bool "Enable clock driver support for STM32F family" 95 depends on CLK && (STM32F7 || STM32F4) 96 default y 97 help 98 This clock driver adds support for RCC clock management 99 for STM32F4 and STM32F7 SoCs. 100 101config CLK_HSDK 102 bool "Enable cgu clock driver for HSDK boards" 103 depends on CLK && TARGET_HSDK 104 help 105 Enable this to support the cgu clocks on Synopsys ARC HSDK and 106 Synopsys ARC HSDK-4xD boards 107 108config CLK_VERSAL 109 bool "Enable clock driver support for Versal" 110 depends on ARCH_VERSAL 111 select ZYNQMP_FIRMWARE 112 help 113 This clock driver adds support for clock realted settings for 114 Versal platform. 115 116config CLK_VEXPRESS_OSC 117 bool "Enable driver for Arm Versatile Express OSC clock generators" 118 depends on CLK && VEXPRESS_CONFIG 119 help 120 This clock driver adds support for clock generators present on 121 Arm Versatile Express platforms. 122 123config CLK_ZYNQ 124 bool "Enable clock driver support for Zynq" 125 depends on CLK && ARCH_ZYNQ 126 default y 127 help 128 This clock driver adds support for clock related settings for 129 Zynq platform. 130 131config CLK_XLNX_CLKWZRD 132 bool "Xilinx Clocking Wizard" 133 depends on CLK 134 help 135 Support for the Xilinx Clocking Wizard IP core clock generator. 136 The wizard support for dynamically reconfiguring the clocking 137 primitives for Multiply, Divide, Phase Shift/Offset, or Duty 138 Cycle. Limited by U-Boot clk uclass without set_phase API and 139 set_duty_cycle API, this driver only supports set_rate to modify 140 the frequency. 141 142config CLK_ZYNQMP 143 bool "Enable clock driver support for ZynqMP" 144 depends on ARCH_ZYNQMP 145 select ZYNQMP_FIRMWARE 146 help 147 This clock driver adds support for clock realted settings for 148 ZynqMP platform. 149 150config CLK_STM32MP1 151 bool "Enable RCC clock driver for STM32MP1" 152 depends on ARCH_STM32MP && CLK 153 default y 154 help 155 Enable the STM32 clock (RCC) driver. Enable support for 156 manipulating STM32MP1's on-SoC clocks. 157 158config CLK_CDCE9XX 159 bool "Enable CDCD9XX clock driver" 160 depends on CLK 161 help 162 Enable the clock synthesizer driver for CDCE913/925/937/949 163 series of chips. 164 165config CLK_SCMI 166 bool "Enable SCMI clock driver" 167 depends on SCMI_FIRMWARE 168 help 169 Enable this option if you want to support clock devices exposed 170 by a SCMI agent based on SCMI clock protocol communication 171 with a SCMI server. 172 173config CLK_K210 174 bool "Clock support for Kendryte K210" 175 depends on CLK 176 help 177 This enables support clock driver for Kendryte K210 platforms. 178 179config CLK_K210_SET_RATE 180 bool "Enable setting the Kendryte K210 PLL rate" 181 depends on CLK_K210 182 help 183 Add functionality to calculate new rates for K210 PLLs. Enabling this 184 feature adds around 1K to U-Boot's final size. 185 186source "drivers/clk/analogbits/Kconfig" 187source "drivers/clk/at91/Kconfig" 188source "drivers/clk/exynos/Kconfig" 189source "drivers/clk/imx/Kconfig" 190source "drivers/clk/meson/Kconfig" 191source "drivers/clk/microchip/Kconfig" 192source "drivers/clk/mvebu/Kconfig" 193source "drivers/clk/owl/Kconfig" 194source "drivers/clk/renesas/Kconfig" 195source "drivers/clk/sunxi/Kconfig" 196source "drivers/clk/sifive/Kconfig" 197source "drivers/clk/tegra/Kconfig" 198source "drivers/clk/ti/Kconfig" 199source "drivers/clk/uniphier/Kconfig" 200 201config ICS8N3QV01 202 bool "Enable ICS8N3QV01 VCXO driver" 203 depends on CLK 204 help 205 Support for the ICS8N3QV01 Quad-Frequency VCXO (Voltage-Controlled 206 Crystal Oscillator). The output frequency can be programmed via an 207 I2C interface. 208 209config CLK_MPC83XX 210 bool "Enable MPC83xx clock driver" 211 depends on CLK 212 help 213 Support for the clock driver of the MPC83xx series of SoCs. 214 215config SANDBOX_CLK_CCF 216 bool "Sandbox Common Clock Framework [CCF] support " 217 depends on SANDBOX 218 select CLK_CCF 219 help 220 Enable this option if you want to test the Linux kernel's Common 221 Clock Framework [CCF] code in U-Boot's Sandbox clock driver. 222 223config CLK_VERSACLOCK 224 tristate "Enable VersaClock 5/6 devices" 225 depends on CLK 226 depends on CLK_CCF 227 depends on OF_CONTROL 228 help 229 This driver supports the IDT VersaClock 5 and VersaClock 6 230 programmable clock generators. 231 232endmenu 233