|
@@ -13,9 +13,15 @@
|
|
|
#include <linux/clk-provider.h>
|
|
|
#include <linux/clocksource.h>
|
|
|
#include <linux/init.h>
|
|
|
+#include <linux/platform_device.h>
|
|
|
|
|
|
#include <asm/mach/arch.h>
|
|
|
|
|
|
+static void __init sunxi_dt_cpufreq_init(void)
|
|
|
+{
|
|
|
+ platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
|
|
|
+}
|
|
|
+
|
|
|
static const char * const sunxi_board_dt_compat[] = {
|
|
|
"allwinner,sun4i-a10",
|
|
|
"allwinner,sun5i-a10s",
|
|
@@ -25,6 +31,7 @@ static const char * const sunxi_board_dt_compat[] = {
|
|
|
|
|
|
DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
|
|
|
.dt_compat = sunxi_board_dt_compat,
|
|
|
+ .init_late = sunxi_dt_cpufreq_init,
|
|
|
MACHINE_END
|
|
|
|
|
|
static const char * const sun6i_board_dt_compat[] = {
|
|
@@ -45,6 +52,7 @@ static void __init sun6i_timer_init(void)
|
|
|
DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
|
|
|
.init_time = sun6i_timer_init,
|
|
|
.dt_compat = sun6i_board_dt_compat,
|
|
|
+ .init_late = sunxi_dt_cpufreq_init,
|
|
|
MACHINE_END
|
|
|
|
|
|
static const char * const sun7i_board_dt_compat[] = {
|
|
@@ -54,6 +62,7 @@ static const char * const sun7i_board_dt_compat[] = {
|
|
|
|
|
|
DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
|
|
|
.dt_compat = sun7i_board_dt_compat,
|
|
|
+ .init_late = sunxi_dt_cpufreq_init,
|
|
|
MACHINE_END
|
|
|
|
|
|
static const char * const sun8i_board_dt_compat[] = {
|
|
@@ -63,6 +72,7 @@ static const char * const sun8i_board_dt_compat[] = {
|
|
|
|
|
|
DT_MACHINE_START(SUN8I_DT, "Allwinner sun8i (A23) Family")
|
|
|
.dt_compat = sun8i_board_dt_compat,
|
|
|
+ .init_late = sunxi_dt_cpufreq_init,
|
|
|
MACHINE_END
|
|
|
|
|
|
static const char * const sun9i_board_dt_compat[] = {
|