Allwinner core changes for 3.20
- Support for the A31s - Adding support for cpufreq using cpufreq-dt -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJUxSahAAoJEBx+YmzsjxAgw7cP/iukSTTuTxagl9HLmet3pSY/ v4WunNKUm/cTWQkcK9xEOy2TV2nFQ00mdji1Jf1EI/cacBKvByTsmPlEOkfj0dnG mfxkWiF3bwcpG1L0ABIFnU1A1/PjDGTl0jMp2q7S8BE09jJfb8TcY3wwfoWRwAeD LFPICHbsGRIb5WU/3pq14/GaYYSTt/BRe6+wCuB/zoU4b8HaGzw6ztZ2Gz2ztUtw m2xYcWUEj0kmeX/wg52eRxJrjcznwDoabxxPM+q7ttL3J3NG/A81Uf0lkLlwl2fD QSueSzsE68RsG0q/SkvQ5jkVDyOX/4o6bSdy6O8pS/qW1rwgqVDnPzrYXuj8duU4 /Y+B6lAXdGierXSWhmuGBSPBNO/zblPNrJbJRqNlGscU1qfaWzZXSW8hRFlyMx4P 17TARZLmZtruGsLWSwMpsjXFtJOnF7kdwdKqx2aoV1ZmTmNVhOKopUohNRFKSU+F e9a/U+yN5LggQG34s+YoPggwUg3qjBengA6yO8t5aOz9upjhEzqML1uulYrvPrRS 8qsjkbgSdXZruG26l4pJYUIZ6QMgma3shxDGXvvenAI45pRniG1YfKPlh9Z0c3Dh VZRvR+mM6v82z3+mtOf9VSrJkUnOUTONRA3Qt2dSFU4LZaPlDtG0dxbxEA0E+KgQ 0XRz7Bu0LRVkzn6un+4d =JU1v -----END PGP SIGNATURE----- Merge tag 'sunxi-core-for-3.20' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/soc Merge "Allwinner core changes for 3.20" from Maxime Ripard: - Support for the A31s - Adding support for cpufreq using cpufreq-dt * tag 'sunxi-core-for-3.20' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi: Register cpufreq-dt for sun[45678]i ARM: sunxi: Add "allwinner,sun6i-a31s" to mach-sunxi Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
688a4994cc
4 changed files with 13 additions and 2 deletions
|
@ -50,7 +50,6 @@ SunXi family
|
||||||
http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf
|
http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf
|
||||||
|
|
||||||
- Allwinner A31s (sun6i)
|
- Allwinner A31s (sun6i)
|
||||||
+ Not Supported
|
|
||||||
+ Datasheet
|
+ Datasheet
|
||||||
http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf
|
http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf
|
||||||
+ User Manual
|
+ User Manual
|
||||||
|
|
|
@ -120,4 +120,4 @@ static struct smp_operations sun6i_smp_ops __initdata = {
|
||||||
.smp_prepare_cpus = sun6i_smp_prepare_cpus,
|
.smp_prepare_cpus = sun6i_smp_prepare_cpus,
|
||||||
.smp_boot_secondary = sun6i_smp_boot_secondary,
|
.smp_boot_secondary = sun6i_smp_boot_secondary,
|
||||||
};
|
};
|
||||||
CPU_METHOD_OF_DECLARE(sun6i_smp, "allwinner,sun6i-a31", &sun6i_smp_ops);
|
CPU_METHOD_OF_DECLARE(sun6i_a31_smp, "allwinner,sun6i-a31", &sun6i_smp_ops);
|
||||||
|
|
|
@ -13,9 +13,15 @@
|
||||||
#include <linux/clk-provider.h>
|
#include <linux/clk-provider.h>
|
||||||
#include <linux/clocksource.h>
|
#include <linux/clocksource.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
#include <asm/mach/arch.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[] = {
|
static const char * const sunxi_board_dt_compat[] = {
|
||||||
"allwinner,sun4i-a10",
|
"allwinner,sun4i-a10",
|
||||||
"allwinner,sun5i-a10s",
|
"allwinner,sun5i-a10s",
|
||||||
|
@ -25,10 +31,12 @@ static const char * const sunxi_board_dt_compat[] = {
|
||||||
|
|
||||||
DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
|
DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
|
||||||
.dt_compat = sunxi_board_dt_compat,
|
.dt_compat = sunxi_board_dt_compat,
|
||||||
|
.init_late = sunxi_dt_cpufreq_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
static const char * const sun6i_board_dt_compat[] = {
|
static const char * const sun6i_board_dt_compat[] = {
|
||||||
"allwinner,sun6i-a31",
|
"allwinner,sun6i-a31",
|
||||||
|
"allwinner,sun6i-a31s",
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,6 +52,7 @@ static void __init sun6i_timer_init(void)
|
||||||
DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
|
DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
|
||||||
.init_time = sun6i_timer_init,
|
.init_time = sun6i_timer_init,
|
||||||
.dt_compat = sun6i_board_dt_compat,
|
.dt_compat = sun6i_board_dt_compat,
|
||||||
|
.init_late = sunxi_dt_cpufreq_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
static const char * const sun7i_board_dt_compat[] = {
|
static const char * const sun7i_board_dt_compat[] = {
|
||||||
|
@ -53,6 +62,7 @@ static const char * const sun7i_board_dt_compat[] = {
|
||||||
|
|
||||||
DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
|
DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
|
||||||
.dt_compat = sun7i_board_dt_compat,
|
.dt_compat = sun7i_board_dt_compat,
|
||||||
|
.init_late = sunxi_dt_cpufreq_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
static const char * const sun8i_board_dt_compat[] = {
|
static const char * const sun8i_board_dt_compat[] = {
|
||||||
|
@ -62,6 +72,7 @@ static const char * const sun8i_board_dt_compat[] = {
|
||||||
|
|
||||||
DT_MACHINE_START(SUN8I_DT, "Allwinner sun8i (A23) Family")
|
DT_MACHINE_START(SUN8I_DT, "Allwinner sun8i (A23) Family")
|
||||||
.dt_compat = sun8i_board_dt_compat,
|
.dt_compat = sun8i_board_dt_compat,
|
||||||
|
.init_late = sunxi_dt_cpufreq_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
static const char * const sun9i_board_dt_compat[] = {
|
static const char * const sun9i_board_dt_compat[] = {
|
||||||
|
|
|
@ -1226,6 +1226,7 @@ static void __init sun6i_init_clocks(struct device_node *node)
|
||||||
ARRAY_SIZE(sun6i_critical_clocks));
|
ARRAY_SIZE(sun6i_critical_clocks));
|
||||||
}
|
}
|
||||||
CLK_OF_DECLARE(sun6i_a31_clk_init, "allwinner,sun6i-a31", sun6i_init_clocks);
|
CLK_OF_DECLARE(sun6i_a31_clk_init, "allwinner,sun6i-a31", sun6i_init_clocks);
|
||||||
|
CLK_OF_DECLARE(sun6i_a31s_clk_init, "allwinner,sun6i-a31s", sun6i_init_clocks);
|
||||||
CLK_OF_DECLARE(sun8i_a23_clk_init, "allwinner,sun8i-a23", sun6i_init_clocks);
|
CLK_OF_DECLARE(sun8i_a23_clk_init, "allwinner,sun8i-a23", sun6i_init_clocks);
|
||||||
|
|
||||||
static void __init sun9i_init_clocks(struct device_node *node)
|
static void __init sun9i_init_clocks(struct device_node *node)
|
||||||
|
|
Loading…
Add table
Reference in a new issue