mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-17 18:28:55 +00:00
dcf2cee77f
The driver is based on the Versaclock driver from the Linux code, but due differences in the clock API between them, some pieces had to be changed. This driver creates a mux, pfd, pll, and a series of fod ouputs. Rate Usecnt Name ------------------------------------------ 25000000 0 `-- x304-clock 25000000 0 `-- clock-controller@6a.mux 25000000 0 |-- clock-controller@6a.pfd 2800000000 0 | `-- clock-controller@6a.pll 33333333 0 | |-- clock-controller@6a.fod0 33333333 0 | | `-- clock-controller@6a.out1 33333333 0 | |-- clock-controller@6a.fod1 33333333 0 | | `-- clock-controller@6a.out2 50000000 0 | |-- clock-controller@6a.fod2 50000000 0 | | `-- clock-controller@6a.out3 125000000 0 | `-- clock-controller@6a.fod3 125000000 0 | `-- clock-controller@6a.out4 25000000 0 `-- clock-controller@6a.out0_sel_i2cb A translation function is added so the references to <&versaclock X> get routed to the corresponding clock-controller@6a.outX. Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Sean Anderson <sean.anderson@seco.com>
232 lines
6.9 KiB
Text
232 lines
6.9 KiB
Text
menu "Clock"
|
|
|
|
config CLK
|
|
bool "Enable clock driver support"
|
|
depends on DM
|
|
help
|
|
This allows drivers to be provided for clock generators, including
|
|
oscillators and PLLs. Devices can use a common clock API to request
|
|
a particular clock rate and check on available clocks. Clocks can
|
|
feed into other clocks in a tree structure, with multiplexers to
|
|
choose the source for each clock.
|
|
|
|
config SPL_CLK
|
|
bool "Enable clock support in SPL"
|
|
depends on CLK && SPL && SPL_DM
|
|
help
|
|
The clock subsystem adds a small amount of overhead to the image.
|
|
If this is acceptable and you have a need to use clock drivers in
|
|
SPL, enable this option. It might provide a cleaner interface to
|
|
setting up clocks within SPL, and allows the same drivers to be
|
|
used as U-Boot proper.
|
|
|
|
config TPL_CLK
|
|
bool "Enable clock support in TPL"
|
|
depends on CLK && TPL_DM
|
|
help
|
|
The clock subsystem adds a small amount of overhead to the image.
|
|
If this is acceptable and you have a need to use clock drivers in
|
|
SPL, enable this option. It might provide a cleaner interface to
|
|
setting up clocks within TPL, and allows the same drivers to be
|
|
used as U-Boot proper.
|
|
|
|
config CLK_BCM6345
|
|
bool "Clock controller driver for BCM6345"
|
|
depends on CLK && ARCH_BMIPS
|
|
default y
|
|
help
|
|
This clock driver adds support for enabling and disabling peripheral
|
|
clocks on BCM6345 SoCs. HW has no rate changing capabilities.
|
|
|
|
config CLK_BOSTON
|
|
def_bool y if TARGET_BOSTON
|
|
depends on CLK
|
|
select REGMAP
|
|
select SYSCON
|
|
help
|
|
Enable this to support the clocks
|
|
|
|
config SPL_CLK_CCF
|
|
bool "SPL Common Clock Framework [CCF] support "
|
|
depends on SPL
|
|
help
|
|
Enable this option if you want to (re-)use the Linux kernel's Common
|
|
Clock Framework [CCF] code in U-Boot's SPL.
|
|
|
|
config SPL_CLK_COMPOSITE_CCF
|
|
bool "SPL Common Clock Framework [CCF] composite clk support "
|
|
depends on SPL_CLK_CCF
|
|
help
|
|
Enable this option if you want to (re-)use the Linux kernel's Common
|
|
Clock Framework [CCF] composite code in U-Boot's SPL.
|
|
|
|
config CLK_CCF
|
|
bool "Common Clock Framework [CCF] support "
|
|
help
|
|
Enable this option if you want to (re-)use the Linux kernel's Common
|
|
Clock Framework [CCF] code in U-Boot's clock driver.
|
|
|
|
config CLK_COMPOSITE_CCF
|
|
bool "Common Clock Framework [CCF] composite clk support "
|
|
depends on CLK_CCF
|
|
help
|
|
Enable this option if you want to (re-)use the Linux kernel's Common
|
|
Clock Framework [CCF] composite code in U-Boot's clock driver.
|
|
|
|
config CLK_INTEL
|
|
bool "Enable clock driver for Intel x86"
|
|
depends on CLK && X86
|
|
help
|
|
This provides very basic support for clocks on Intel SoCs. The driver
|
|
is barely used at present but could be expanded as needs arise.
|
|
Much clock configuration in U-Boot is either set up by the FSP, or
|
|
set up by U-Boot itself but only statically. Thus the driver does not
|
|
support changing clock rates, only querying them.
|
|
|
|
config CLK_OCTEON
|
|
bool "Clock controller driver for Marvell MIPS Octeon"
|
|
depends on CLK && ARCH_OCTEON
|
|
default y
|
|
help
|
|
Enable this to support the clocks on Octeon MIPS platforms.
|
|
|
|
config CLK_STM32F
|
|
bool "Enable clock driver support for STM32F family"
|
|
depends on CLK && (STM32F7 || STM32F4)
|
|
default y
|
|
help
|
|
This clock driver adds support for RCC clock management
|
|
for STM32F4 and STM32F7 SoCs.
|
|
|
|
config CLK_HSDK
|
|
bool "Enable cgu clock driver for HSDK boards"
|
|
depends on CLK && TARGET_HSDK
|
|
help
|
|
Enable this to support the cgu clocks on Synopsys ARC HSDK and
|
|
Synopsys ARC HSDK-4xD boards
|
|
|
|
config CLK_VERSAL
|
|
bool "Enable clock driver support for Versal"
|
|
depends on ARCH_VERSAL
|
|
select ZYNQMP_FIRMWARE
|
|
help
|
|
This clock driver adds support for clock realted settings for
|
|
Versal platform.
|
|
|
|
config CLK_VEXPRESS_OSC
|
|
bool "Enable driver for Arm Versatile Express OSC clock generators"
|
|
depends on CLK && VEXPRESS_CONFIG
|
|
help
|
|
This clock driver adds support for clock generators present on
|
|
Arm Versatile Express platforms.
|
|
|
|
config CLK_ZYNQ
|
|
bool "Enable clock driver support for Zynq"
|
|
depends on CLK && ARCH_ZYNQ
|
|
default y
|
|
help
|
|
This clock driver adds support for clock related settings for
|
|
Zynq platform.
|
|
|
|
config CLK_XLNX_CLKWZRD
|
|
bool "Xilinx Clocking Wizard"
|
|
depends on CLK
|
|
help
|
|
Support for the Xilinx Clocking Wizard IP core clock generator.
|
|
The wizard support for dynamically reconfiguring the clocking
|
|
primitives for Multiply, Divide, Phase Shift/Offset, or Duty
|
|
Cycle. Limited by U-Boot clk uclass without set_phase API and
|
|
set_duty_cycle API, this driver only supports set_rate to modify
|
|
the frequency.
|
|
|
|
config CLK_ZYNQMP
|
|
bool "Enable clock driver support for ZynqMP"
|
|
depends on ARCH_ZYNQMP
|
|
select ZYNQMP_FIRMWARE
|
|
help
|
|
This clock driver adds support for clock realted settings for
|
|
ZynqMP platform.
|
|
|
|
config CLK_STM32MP1
|
|
bool "Enable RCC clock driver for STM32MP1"
|
|
depends on ARCH_STM32MP && CLK
|
|
default y
|
|
help
|
|
Enable the STM32 clock (RCC) driver. Enable support for
|
|
manipulating STM32MP1's on-SoC clocks.
|
|
|
|
config CLK_CDCE9XX
|
|
bool "Enable CDCD9XX clock driver"
|
|
depends on CLK
|
|
help
|
|
Enable the clock synthesizer driver for CDCE913/925/937/949
|
|
series of chips.
|
|
|
|
config CLK_SCMI
|
|
bool "Enable SCMI clock driver"
|
|
depends on SCMI_FIRMWARE
|
|
help
|
|
Enable this option if you want to support clock devices exposed
|
|
by a SCMI agent based on SCMI clock protocol communication
|
|
with a SCMI server.
|
|
|
|
config CLK_K210
|
|
bool "Clock support for Kendryte K210"
|
|
depends on CLK
|
|
help
|
|
This enables support clock driver for Kendryte K210 platforms.
|
|
|
|
config CLK_K210_SET_RATE
|
|
bool "Enable setting the Kendryte K210 PLL rate"
|
|
depends on CLK_K210
|
|
help
|
|
Add functionality to calculate new rates for K210 PLLs. Enabling this
|
|
feature adds around 1K to U-Boot's final size.
|
|
|
|
source "drivers/clk/analogbits/Kconfig"
|
|
source "drivers/clk/at91/Kconfig"
|
|
source "drivers/clk/exynos/Kconfig"
|
|
source "drivers/clk/imx/Kconfig"
|
|
source "drivers/clk/meson/Kconfig"
|
|
source "drivers/clk/microchip/Kconfig"
|
|
source "drivers/clk/mvebu/Kconfig"
|
|
source "drivers/clk/owl/Kconfig"
|
|
source "drivers/clk/renesas/Kconfig"
|
|
source "drivers/clk/sunxi/Kconfig"
|
|
source "drivers/clk/sifive/Kconfig"
|
|
source "drivers/clk/tegra/Kconfig"
|
|
source "drivers/clk/ti/Kconfig"
|
|
source "drivers/clk/uniphier/Kconfig"
|
|
|
|
config ICS8N3QV01
|
|
bool "Enable ICS8N3QV01 VCXO driver"
|
|
depends on CLK
|
|
help
|
|
Support for the ICS8N3QV01 Quad-Frequency VCXO (Voltage-Controlled
|
|
Crystal Oscillator). The output frequency can be programmed via an
|
|
I2C interface.
|
|
|
|
config CLK_MPC83XX
|
|
bool "Enable MPC83xx clock driver"
|
|
depends on CLK
|
|
help
|
|
Support for the clock driver of the MPC83xx series of SoCs.
|
|
|
|
config SANDBOX_CLK_CCF
|
|
bool "Sandbox Common Clock Framework [CCF] support "
|
|
depends on SANDBOX
|
|
select CLK_CCF
|
|
help
|
|
Enable this option if you want to test the Linux kernel's Common
|
|
Clock Framework [CCF] code in U-Boot's Sandbox clock driver.
|
|
|
|
config CLK_VERSACLOCK
|
|
tristate "Enable VersaClock 5/6 devices"
|
|
depends on CLK
|
|
depends on CLK_CCF
|
|
depends on OF_CONTROL
|
|
help
|
|
This driver supports the IDT VersaClock 5 and VersaClock 6
|
|
programmable clock generators.
|
|
|
|
endmenu
|