2019-05-19 15:07:45 +03:00
# SPDX-License-Identifier: GPL-2.0-only
2016-06-29 22:05:23 +03:00
config SUNXI_CCU
2021-11-19 06:33:37 +03:00
tristate "Clock support for Allwinner SoCs"
2016-09-09 00:28:29 +03:00
depends on ARCH_SUNXI || COMPILE_TEST
2017-03-27 12:57:53 +03:00
select RESET_CONTROLLER
2016-06-29 22:05:23 +03:00
default ARCH_SUNXI
2016-06-29 22:05:24 +03:00
if SUNXI_CCU
2018-12-02 23:23:47 +03:00
config SUNIV_F1C100S_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner newer F1C100s CCU"
2018-12-02 23:23:47 +03:00
default MACH_SUNIV
depends on MACH_SUNIV || COMPILE_TEST
2021-11-19 07:35:44 +03:00
config SUN20I_D1_CCU
tristate "Support for the Allwinner D1 CCU"
default RISCV && ARCH_SUNXI
depends on (RISCV && ARCH_SUNXI) || COMPILE_TEST
config SUN20I_D1_R_CCU
tristate "Support for the Allwinner D1 PRCM CCU"
default RISCV && ARCH_SUNXI
depends on (RISCV && ARCH_SUNXI) || COMPILE_TEST
2016-07-06 09:31:34 +03:00
config SUN50I_A64_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner A64 CCU"
2016-07-06 09:31:34 +03:00
default ARM64 && ARCH_SUNXI
2017-03-02 20:43:57 +03:00
depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
2016-07-06 09:31:34 +03:00
2020-07-24 09:58:43 +03:00
config SUN50I_A100_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner A100 CCU"
2020-07-24 09:58:43 +03:00
default ARM64 && ARCH_SUNXI
depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
config SUN50I_A100_R_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner A100 PRCM CCU"
2020-07-24 09:58:43 +03:00
default ARM64 && ARCH_SUNXI
depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
2018-03-16 17:02:13 +03:00
config SUN50I_H6_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner H6 CCU"
2018-03-16 17:02:13 +03:00
default ARM64 && ARCH_SUNXI
depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
2021-01-27 20:24:43 +03:00
config SUN50I_H616_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner H616 CCU"
2021-01-27 20:24:43 +03:00
default ARM64 && ARCH_SUNXI
depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
2018-05-03 21:38:41 +03:00
config SUN50I_H6_R_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner H6 and H616 PRCM CCU"
2018-05-03 21:38:41 +03:00
default ARM64 && ARCH_SUNXI
depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
2017-08-23 20:23:29 +03:00
config SUN4I_A10_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner A10/A20 CCU"
2017-08-23 20:23:29 +03:00
default MACH_SUN4I
default MACH_SUN7I
depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
2016-10-04 11:09:58 +03:00
config SUN5I_CCU
bool "Support for the Allwinner sun5i family CCM"
default MACH_SUN5I
2017-03-02 20:43:57 +03:00
depends on MACH_SUN5I || COMPILE_TEST
2021-11-19 06:33:37 +03:00
depends on SUNXI_CCU=y
2016-10-04 11:09:58 +03:00
2016-08-25 09:21:59 +03:00
config SUN6I_A31_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner A31/A31s CCU"
2016-08-25 09:21:59 +03:00
default MACH_SUN6I
2017-03-02 20:43:57 +03:00
depends on MACH_SUN6I || COMPILE_TEST
2016-08-25 09:21:59 +03:00
2016-08-31 17:55:00 +03:00
config SUN8I_A23_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner A23 CCU"
2016-08-31 17:55:00 +03:00
default MACH_SUN8I
2017-03-02 20:43:57 +03:00
depends on MACH_SUN8I || COMPILE_TEST
2016-08-31 17:55:00 +03:00
2016-08-24 15:10:15 +03:00
config SUN8I_A33_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner A33 CCU"
2016-08-24 15:10:15 +03:00
default MACH_SUN8I
2017-03-02 20:43:57 +03:00
depends on MACH_SUN8I || COMPILE_TEST
2016-08-24 15:10:15 +03:00
clk: sunxi-ng: Add driver for A83T CCU
The A83T clock control unit is a hybrid of some new style clock designs
from the A80, and old style layout from the other Allwinner SoCs.
Like the A80, the SoC does not have a low speed 32.768 kHz oscillator.
Unlike the A80, there is no clock input either. The only low speed clock
available is the internal oscillator which runs at around 16 MHz,
divided by 512, yielding a low speed clock around 31.250 kHz.
Also, the MMC2 module clock supports switching to a "new timing" mode.
This mode divides the clock output by half, and disables the CCU based
clock delays. The MMC controller must be configure to the same mode,
and then use its internal clock delays.
This driver does not support runtime switching of the timing modes.
Instead, the new timing mode is enforced at probe time. Consumers can
check which mode is active by trying to get the current phase delay
of the MMC2 phase clocks, which will return -ENOTSUPP if the new
timing mode is active.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-19 10:06:09 +03:00
config SUN8I_A83T_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner A83T CCU"
clk: sunxi-ng: Add driver for A83T CCU
The A83T clock control unit is a hybrid of some new style clock designs
from the A80, and old style layout from the other Allwinner SoCs.
Like the A80, the SoC does not have a low speed 32.768 kHz oscillator.
Unlike the A80, there is no clock input either. The only low speed clock
available is the internal oscillator which runs at around 16 MHz,
divided by 512, yielding a low speed clock around 31.250 kHz.
Also, the MMC2 module clock supports switching to a "new timing" mode.
This mode divides the clock output by half, and disables the CCU based
clock delays. The MMC controller must be configure to the same mode,
and then use its internal clock delays.
This driver does not support runtime switching of the timing modes.
Instead, the new timing mode is enforced at probe time. Consumers can
check which mode is active by trying to get the current phase delay
of the MMC2 phase clocks, which will return -ENOTSUPP if the new
timing mode is active.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-19 10:06:09 +03:00
default MACH_SUN8I
2021-09-03 02:02:00 +03:00
depends on MACH_SUN8I || COMPILE_TEST
clk: sunxi-ng: Add driver for A83T CCU
The A83T clock control unit is a hybrid of some new style clock designs
from the A80, and old style layout from the other Allwinner SoCs.
Like the A80, the SoC does not have a low speed 32.768 kHz oscillator.
Unlike the A80, there is no clock input either. The only low speed clock
available is the internal oscillator which runs at around 16 MHz,
divided by 512, yielding a low speed clock around 31.250 kHz.
Also, the MMC2 module clock supports switching to a "new timing" mode.
This mode divides the clock output by half, and disables the CCU based
clock delays. The MMC controller must be configure to the same mode,
and then use its internal clock delays.
This driver does not support runtime switching of the timing modes.
Instead, the new timing mode is enforced at probe time. Consumers can
check which mode is active by trying to get the current phase delay
of the MMC2 phase clocks, which will return -ENOTSUPP if the new
timing mode is active.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-19 10:06:09 +03:00
2016-06-29 22:05:34 +03:00
config SUN8I_H3_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner H3 CCU"
2017-03-01 23:13:39 +03:00
default MACH_SUN8I || (ARM64 && ARCH_SUNXI)
2017-03-02 20:43:57 +03:00
depends on MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST
2016-06-29 22:05:34 +03:00
2017-01-19 20:54:45 +03:00
config SUN8I_V3S_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for the Allwinner V3s CCU"
2017-01-19 20:54:45 +03:00
default MACH_SUN8I
2017-03-02 20:43:57 +03:00
depends on MACH_SUN8I || COMPILE_TEST
2017-01-19 20:54:45 +03:00
2017-05-14 19:30:34 +03:00
config SUN8I_DE2_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner SoCs DE2 CCU"
2018-11-13 15:15:32 +03:00
default MACH_SUN8I || (ARM64 && ARCH_SUNXI)
2017-05-14 19:30:34 +03:00
2017-08-15 08:55:29 +03:00
config SUN8I_R40_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner R40 CCU"
2017-08-15 08:55:29 +03:00
default MACH_SUN8I
depends on MACH_SUN8I || COMPILE_TEST
2017-01-28 15:22:34 +03:00
config SUN9I_A80_CCU
2021-11-19 06:33:35 +03:00
tristate "Support for the Allwinner A80 CCU"
2017-01-28 15:22:34 +03:00
default MACH_SUN9I
2017-03-02 20:43:57 +03:00
depends on MACH_SUN9I || COMPILE_TEST
2017-01-28 15:22:34 +03:00
2017-04-04 12:50:57 +03:00
config SUN8I_R_CCU
2021-11-19 06:33:36 +03:00
tristate "Support for Allwinner SoCs' PRCM CCUs"
2017-04-04 12:50:57 +03:00
default MACH_SUN8I || (ARCH_SUNXI && ARM64)
2017-01-28 15:22:34 +03:00
2016-06-29 22:05:24 +03:00
endif