sunxi: rework target - update kernel to 3.12 - add patches for clocks, i2c, usb,...
[openwrt/openwrt.git] / target / linux / sunxi / patches-3.12 / 120-split-dt-for-sun6i-sun7i.patch
1 From eac8f640c624e83ef2ae267efc0769e086a64059 Mon Sep 17 00:00:00 2001
2 From: Maxime Ripard <maxime.ripard@free-electrons.com>
3 Date: Sun, 11 Aug 2013 14:35:08 +0200
4 Subject: [PATCH] ARM: sunxi: Split out the DT machines for sun6i and sun7i
5
6 The A20 and A31 SMP code have a different way of bringing up a new core.
7 This will prevent us from using the same set of smp_operations for the
8 two SoCs family.
9
10 Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
11 ---
12 arch/arm/mach-sunxi/sunxi.c | 24 ++++++++++++++++++++++--
13 1 file changed, 22 insertions(+), 2 deletions(-)
14
15 diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
16 index e79fb34..e0641dd 100644
17 --- a/arch/arm/mach-sunxi/sunxi.c
18 +++ b/arch/arm/mach-sunxi/sunxi.c
19 @@ -133,8 +133,6 @@ static void __init sunxi_dt_init(void)
20 "allwinner,sun4i-a10",
21 "allwinner,sun5i-a10s",
22 "allwinner,sun5i-a13",
23 - "allwinner,sun6i-a31",
24 - "allwinner,sun7i-a20",
25 NULL,
26 };
27
28 @@ -143,3 +141,25 @@ static void __init sunxi_dt_init(void)
29 .init_time = sunxi_timer_init,
30 .dt_compat = sunxi_board_dt_compat,
31 MACHINE_END
32 +
33 +static const char * const sun6i_board_dt_compat[] = {
34 + "allwinner,sun6i-a31",
35 + NULL,
36 +};
37 +
38 +DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
39 + .init_machine = sunxi_dt_init,
40 + .init_time = sunxi_timer_init,
41 + .dt_compat = sun6i_board_dt_compat,
42 +MACHINE_END
43 +
44 +static const char * const sun7i_board_dt_compat[] = {
45 + "allwinner,sun7i-a20",
46 + NULL,
47 +};
48 +
49 +DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
50 + .init_machine = sunxi_dt_init,
51 + .init_time = sunxi_timer_init,
52 + .dt_compat = sun7i_board_dt_compat,
53 +MACHINE_END
54 --
55 1.8.4
56