aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-10-28 13:13:09 -0400
committerOlof Johansson <olof@lixom.net>2013-10-28 13:19:38 -0400
commite086df92e21ac83e6a45933a205b62ad79097db5 (patch)
tree3765f03cea0320aa2cb179c74d62b377d7c6e62f
parent0fc869e8f22bc74a9971f9025f8608d6587c4fb7 (diff)
parentfc42ef5121687d917bbdd96805fb70c28a2ad023 (diff)
Merge tag 'sunxi-core-for-3.13' of https://github.com/mripard/linux into next/soc
From Maxime Ripard: Allwinner sunXi SoCs machine additions for 3.13 Nothing outstanding here, mostly some documentation cleanup, and the split of the previous generic machine declaration into three different machines to handle the sun4i/sun5i, sun6i and sun7i separately. * tag 'sunxi-core-for-3.13' of https://github.com/mripard/linux: Documentation: dt: Remove clock gates IDs list for Allwinner SoCs Documentation: dt: Remove interrupt sources list for Allwinner SoCs Documentation: sunxi: Update Allwinner SoC documentation Documentation: sunxi: Update A13 user manual dead link ARM: sunxi: Order Kconfig options alphabetically ARM: sunxi: Simplify restart setup code ARM: sunxi: Split out the DT machines for sun6i and sun7i Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/arm/sunxi/README26
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi.txt4
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt93
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt75
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt58
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt83
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt98
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt3
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt89
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt55
-rw-r--r--arch/arm/mach-sunxi/Kconfig6
-rw-r--r--arch/arm/mach-sunxi/sunxi.c37
12 files changed, 57 insertions, 570 deletions
diff --git a/Documentation/arm/sunxi/README b/Documentation/arm/sunxi/README
index e3f93fb9224e..7945238453ed 100644
--- a/Documentation/arm/sunxi/README
+++ b/Documentation/arm/sunxi/README
@@ -10,6 +10,10 @@ SunXi family
10 Linux kernel mach directory: arch/arm/mach-sunxi 10 Linux kernel mach directory: arch/arm/mach-sunxi
11 11
12 Flavors: 12 Flavors:
13 * ARM926 based SoCs
14 - Allwinner F20 (sun3i)
15 + Not Supported
16
13 * ARM Cortex-A8 based SoCs 17 * ARM Cortex-A8 based SoCs
14 - Allwinner A10 (sun4i) 18 - Allwinner A10 (sun4i)
15 + Datasheet 19 + Datasheet
@@ -25,4 +29,24 @@ SunXi family
25 + Datasheet 29 + Datasheet
26 http://dl.linux-sunxi.org/A13/A13%20Datasheet%20-%20v1.12%20%282012-03-29%29.pdf 30 http://dl.linux-sunxi.org/A13/A13%20Datasheet%20-%20v1.12%20%282012-03-29%29.pdf
27 + User Manual 31 + User Manual
28 http://dl.linux-sunxi.org/A13/A13%20User%20Manual%20-%20v1.2%20%282013-08-08%29.pdf 32 http://dl.linux-sunxi.org/A13/A13%20User%20Manual%20-%20v1.2%20%282013-01-08%29.pdf
33
34 * Dual ARM Cortex-A7 based SoCs
35 - Allwinner A20 (sun7i)
36 + User Manual
37 http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
38
39 - Allwinner A23
40 + Not Supported
41
42 * Quad ARM Cortex-A7 based SoCs
43 - Allwinner A31 (sun6i)
44 + Datasheet
45 http://dl.linux-sunxi.org/A31/A31%20Datasheet%20-%20v1.00%20(2012-12-24).pdf
46
47 - Allwinner A31s (sun6i)
48 + Not Supported
49
50 * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
51 - Allwinner A80
52 + Not Supported \ No newline at end of file
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index 00a5c26454eb..91a748fed13d 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -45,8 +45,8 @@ Additionally, "allwinner,*-gates-clk" clocks require:
45 45
46Clock consumers should specify the desired clocks they use with a 46Clock consumers should specify the desired clocks they use with a
47"clocks" phandle cell. Consumers that are using a gated clock should 47"clocks" phandle cell. Consumers that are using a gated clock should
48provide an additional ID in their clock property. The values of this 48provide an additional ID in their clock property. This ID is the
49ID are documented in sunxi/<soc>-gates.txt. 49offset of the bit controlling this particular gate in the register.
50 50
51For example: 51For example:
52 52
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt
deleted file mode 100644
index 6a03475bbfe2..000000000000
--- a/Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt
+++ /dev/null
@@ -1,93 +0,0 @@
1Gate clock outputs
2------------------
3
4 * AXI gates ("allwinner,sun4i-axi-gates-clk")
5
6 DRAM 0
7
8 * AHB gates ("allwinner,sun4i-ahb-gates-clk")
9
10 USB0 0
11 EHCI0 1
12 OHCI0 2*
13 EHCI1 3
14 OHCI1 4*
15 SS 5
16 DMA 6
17 BIST 7
18 MMC0 8
19 MMC1 9
20 MMC2 10
21 MMC3 11
22 MS 12**
23 NAND 13
24 SDRAM 14
25
26 ACE 16
27 EMAC 17
28 TS 18
29
30 SPI0 20
31 SPI1 21
32 SPI2 22
33 SPI3 23
34 PATA 24
35 SATA 25**
36 GPS 26*
37
38 VE 32
39 TVD 33
40 TVE0 34
41 TVE1 35
42 LCD0 36
43 LCD1 37
44
45 CSI0 40
46 CSI1 41
47
48 HDMI 43
49 DE_BE0 44
50 DE_BE1 45
51 DE_FE1 46
52 DE_FE1 47
53
54 MP 50
55
56 MALI400 52
57
58 * APB0 gates ("allwinner,sun4i-apb0-gates-clk")
59
60 CODEC 0
61 SPDIF 1*
62 AC97 2
63 IIS 3
64
65 PIO 5
66 IR0 6
67 IR1 7
68
69 KEYPAD 10
70
71 * APB1 gates ("allwinner,sun4i-apb1-gates-clk")
72
73 I2C0 0
74 I2C1 1
75 I2C2 2
76
77 CAN 4
78 SCR 5
79 PS20 6
80 PS21 7
81
82 UART0 16
83 UART1 17
84 UART2 18
85 UART3 19
86 UART4 20
87 UART5 21
88 UART6 22
89 UART7 23
90
91Notation:
92 [*]: The datasheet didn't mention these, but they are present on AW code
93 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt
deleted file mode 100644
index d24279fe1429..000000000000
--- a/Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt
+++ /dev/null
@@ -1,75 +0,0 @@
1Gate clock outputs
2------------------
3
4 * AXI gates ("allwinner,sun4i-axi-gates-clk")
5
6 DRAM 0
7
8 * AHB gates ("allwinner,sun5i-a10s-ahb-gates-clk")
9
10 USB0 0
11 EHCI0 1
12 OHCI0 2
13
14 SS 5
15 DMA 6
16 BIST 7
17 MMC0 8
18 MMC1 9
19 MMC2 10
20
21 NAND 13
22 SDRAM 14
23
24 EMAC 17
25 TS 18
26
27 SPI0 20
28 SPI1 21
29 SPI2 22
30
31 GPS 26
32
33 HSTIMER 28
34
35 VE 32
36
37 TVE 34
38
39 LCD 36
40
41 CSI 40
42
43 HDMI 43
44 DE_BE 44
45
46 DE_FE 46
47
48 IEP 51
49 MALI400 52
50
51 * APB0 gates ("allwinner,sun5i-a10s-apb0-gates-clk")
52
53 CODEC 0
54
55 IIS 3
56
57 PIO 5
58 IR 6
59
60 KEYPAD 10
61
62 * APB1 gates ("allwinner,sun5i-a10s-apb1-gates-clk")
63
64 I2C0 0
65 I2C1 1
66 I2C2 2
67
68 UART0 16
69 UART1 17
70 UART2 18
71 UART3 19
72
73Notation:
74 [*]: The datasheet didn't mention these, but they are present on AW code
75 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt
deleted file mode 100644
index 006b6dfc4703..000000000000
--- a/Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt
+++ /dev/null
@@ -1,58 +0,0 @@
1Gate clock outputs
2------------------
3
4 * AXI gates ("allwinner,sun4i-axi-gates-clk")
5
6 DRAM 0
7
8 * AHB gates ("allwinner,sun5i-a13-ahb-gates-clk")
9
10 USBOTG 0
11 EHCI 1
12 OHCI 2
13
14 SS 5
15 DMA 6
16 BIST 7
17 MMC0 8
18 MMC1 9
19 MMC2 10
20
21 NAND 13
22 SDRAM 14
23
24 SPI0 20
25 SPI1 21
26 SPI2 22
27
28 STIMER 28
29
30 VE 32
31
32 LCD 36
33
34 CSI 40
35
36 DE_BE 44
37
38 DE_FE 46
39
40 IEP 51
41 MALI400 52
42
43 * APB0 gates ("allwinner,sun5i-a13-apb0-gates-clk")
44
45 CODEC 0
46
47 PIO 5
48 IR 6
49
50 * APB1 gates ("allwinner,sun5i-a13-apb1-gates-clk")
51
52 I2C0 0
53 I2C1 1
54 I2C2 2
55
56 UART1 17
57
58 UART3 19
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt
deleted file mode 100644
index fe44932b5c6b..000000000000
--- a/Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt
+++ /dev/null
@@ -1,83 +0,0 @@
1Gate clock outputs
2------------------
3
4 * AHB1 gates ("allwinner,sun6i-a31-ahb1-gates-clk")
5
6 MIPI DSI 1
7
8 SS 5
9 DMA 6
10
11 MMC0 8
12 MMC1 9
13 MMC2 10
14 MMC3 11
15
16 NAND1 12
17 NAND0 13
18 SDRAM 14
19
20 GMAC 17
21 TS 18
22 HSTIMER 19
23 SPI0 20
24 SPI1 21
25 SPI2 22
26 SPI3 23
27 USB_OTG 24
28
29 EHCI0 26
30 EHCI1 27
31
32 OHCI0 29
33 OHCI1 30
34 OHCI2 31
35 VE 32
36
37 LCD0 36
38 LCD1 37
39
40 CSI 40
41
42 HDMI 43
43 DE_BE0 44
44 DE_BE1 45
45 DE_FE1 46
46 DE_FE1 47
47
48 MP 50
49
50 GPU 52
51
52 DEU0 55
53 DEU1 56
54 DRC0 57
55 DRC1 58
56
57 * APB1 gates ("allwinner,sun6i-a31-apb1-gates-clk")
58
59 CODEC 0
60
61 DIGITAL MIC 4
62 PIO 5
63
64 DAUDIO0 12
65 DAUDIO1 13
66
67 * APB2 gates ("allwinner,sun6i-a31-apb2-gates-clk")
68
69 I2C0 0
70 I2C1 1
71 I2C2 2
72 I2C3 3
73
74 UART0 16
75 UART1 17
76 UART2 18
77 UART3 19
78 UART4 20
79 UART5 21
80
81Notation:
82 [*]: The datasheet didn't mention these, but they are present on AW code
83 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt
deleted file mode 100644
index 357f4fdc02ef..000000000000
--- a/Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt
+++ /dev/null
@@ -1,98 +0,0 @@
1Gate clock outputs
2------------------
3
4 * AXI gates ("allwinner,sun4i-axi-gates-clk")
5
6 DRAM 0
7
8 * AHB gates ("allwinner,sun7i-a20-ahb-gates-clk")
9
10 USB0 0
11 EHCI0 1
12 OHCI0 2
13 EHCI1 3
14 OHCI1 4
15 SS 5
16 DMA 6
17 BIST 7
18 MMC0 8
19 MMC1 9
20 MMC2 10
21 MMC3 11
22 MS 12
23 NAND 13
24 SDRAM 14
25
26 ACE 16
27 EMAC 17
28 TS 18
29
30 SPI0 20
31 SPI1 21
32 SPI2 22
33 SPI3 23
34
35 SATA 25
36
37 HSTIMER 28
38
39 VE 32
40 TVD 33
41 TVE0 34
42 TVE1 35
43 LCD0 36
44 LCD1 37
45
46 CSI0 40
47 CSI1 41
48
49 HDMI1 42
50 HDMI0 43
51 DE_BE0 44
52 DE_BE1 45
53 DE_FE1 46
54 DE_FE1 47
55
56 GMAC 49
57 MP 50
58
59 MALI400 52
60
61 * APB0 gates ("allwinner,sun7i-a20-apb0-gates-clk")
62
63 CODEC 0
64 SPDIF 1
65 AC97 2
66 IIS0 3
67 IIS1 4
68 PIO 5
69 IR0 6
70 IR1 7
71 IIS2 8
72
73 KEYPAD 10
74
75 * APB1 gates ("allwinner,sun7i-a20-apb1-gates-clk")
76
77 I2C0 0
78 I2C1 1
79 I2C2 2
80 I2C3 3
81 CAN 4
82 SCR 5
83 PS20 6
84 PS21 7
85
86 I2C4 15
87 UART0 16
88 UART1 17
89 UART2 18
90 UART3 19
91 UART4 20
92 UART5 21
93 UART6 22
94 UART7 23
95
96Notation:
97 [*]: The datasheet didn't mention these, but they are present on AW code
98 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt
index 57edb30dbbca..3d3b2b91e333 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt
@@ -8,9 +8,6 @@ Required properties:
8- #interrupt-cells : Specifies the number of cells needed to encode an 8- #interrupt-cells : Specifies the number of cells needed to encode an
9 interrupt source. The value shall be 1. 9 interrupt source. The value shall be 1.
10 10
11For the valid interrupt sources for your SoC, see the documentation in
12sunxi/<soc>.txt
13
14Example: 11Example:
15 12
16intc: interrupt-controller { 13intc: interrupt-controller {
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt b/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt
deleted file mode 100644
index 76b98c834499..000000000000
--- a/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt
+++ /dev/null
@@ -1,89 +0,0 @@
1Allwinner A10 (sun4i) interrupt sources
2---------------------------------------
3
4The interrupt sources available for the Allwinner A10 SoC are the
5following one:
6
70: ENMI
81: UART0
92: UART1
103: UART2
114: UART3
125: IR0
136: IR1
147: I2C0
158: I2C1
169: I2C2
1710: SPI0
1811: SPI1
1912: SPI2
2013: SPDIF
2114: AC97
2215: TS
2316: I2S
2417: UART4
2518: UART5
2619: UART6
2720: UART7
2821: KEYPAD
2922: TIMER0
3023: TIMER1
3124: TIMER2
3225: TIMER3
3326: CAN
3427: DMA
3528: PIO
3629: TOUCH_PANEL
3730: AUDIO_CODEC
3831: LRADC
3932: MMC0
4033: MMC1
4134: MMC2
4235: MMC3
4336: MEMSTICK
4437: NAND
4538: USB0
4639: USB1
4740: USB2
4841: SCR
4942: CSI0
5043: CSI1
5144: LCDCTRL0
5245: LCDCTRL1
5346: MP
5447: DEFEBE0
5548: DEFEBE1
5649: PMU
5750: SPI3
5851: TZASC
5952: PATA
6053: VE
6154: SS
6255: EMAC
6356: SATA
6457: GPS
6558: HDMI
6659: TVE
6760: ACE
6861: TVD
6962: PS2_0
7063: PS2_1
7164: USB3
7265: USB4
7366: PLE_PFM
7467: TIMER4
7568: TIMER5
7669: GPU_GP
7770: GPU_GPMMU
7871: GPU_PP0
7972: GPU_PPMMU0
8073: GPU_PMU
8174: GPU_RSV0
8275: GPU_RSV1
8376: GPU_RSV2
8477: GPU_RSV3
8578: GPU_RSV4
8679: GPU_RSV5
8780: GPU_RSV6
8882: SYNC_TIMER0
8983: SYNC_TIMER1
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt b/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt
deleted file mode 100644
index 2ec3b5ce1a0b..000000000000
--- a/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt
+++ /dev/null
@@ -1,55 +0,0 @@
1Allwinner A13 (sun5i) interrupt sources
2---------------------------------------
3
4The interrupt sources available for the Allwinner A13 SoC are the
5following one:
6
70: ENMI
82: UART1
94: UART3
105: IR
117: I2C0
128: I2C1
139: I2C2
1410: SPI0
1511: SPI1
1612: SPI2
1722: TIMER0
1823: TIMER1
1924: TIMER2
2025: TIMER3
2127: DMA
2228: PIO
2329: TOUCH_PANEL
2430: AUDIO_CODEC
2531: LRADC
2632: MMC0
2733: MMC1
2834: MMC2
2937: NAND
3038: USB OTG
3139: USB EHCI
3240: USB OHCI
3342: CSI
3444: LCDCTRL
3547: DEFEBE
3649: PMU
3753: VE
3854: SS
3966: PLE_PFM
4067: TIMER4
4168: TIMER5
4269: GPU_GP
4370: GPU_GPMMU
4471: GPU_PP0
4572: GPU_PPMMU0
4673: GPU_PMU
4774: GPU_RSV0
4875: GPU_RSV1
4976: GPU_RSV2
5077: GPU_RSV3
5178: GPU_RSV4
5279: GPU_RSV5
5380: GPU_RSV6
5482: SYNC_TIMER0
5583: SYNC_TIMER1
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index 3ab2f65f8a50..c9e72c89066a 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -1,14 +1,14 @@
1config ARCH_SUNXI 1config ARCH_SUNXI
2 bool "Allwinner A1X SOCs" if ARCH_MULTI_V7 2 bool "Allwinner A1X SOCs" if ARCH_MULTI_V7
3 select ARCH_REQUIRE_GPIOLIB 3 select ARCH_REQUIRE_GPIOLIB
4 select ARM_GIC
4 select CLKSRC_MMIO 5 select CLKSRC_MMIO
5 select CLKSRC_OF 6 select CLKSRC_OF
6 select COMMON_CLK 7 select COMMON_CLK
7 select GENERIC_CLOCKEVENTS 8 select GENERIC_CLOCKEVENTS
8 select GENERIC_IRQ_CHIP 9 select GENERIC_IRQ_CHIP
10 select HAVE_SMP
9 select PINCTRL 11 select PINCTRL
12 select PINCTRL_SUNXI
10 select SPARSE_IRQ 13 select SPARSE_IRQ
11 select SUN4I_TIMER 14 select SUN4I_TIMER
12 select PINCTRL_SUNXI
13 select ARM_GIC
14 select HAVE_SMP
diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 90dda6228510..ffac2f53fede 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -90,14 +90,13 @@ static void sun6i_restart(enum reboot_mode mode, const char *cmd)
90} 90}
91 91
92static struct of_device_id sunxi_restart_ids[] = { 92static struct of_device_id sunxi_restart_ids[] = {
93 { .compatible = "allwinner,sun4i-wdt", .data = sun4i_restart }, 93 { .compatible = "allwinner,sun4i-wdt" },
94 { .compatible = "allwinner,sun6i-wdt", .data = sun6i_restart }, 94 { .compatible = "allwinner,sun6i-wdt" },
95 { /*sentinel*/ } 95 { /*sentinel*/ }
96}; 96};
97 97
98static void sunxi_setup_restart(void) 98static void sunxi_setup_restart(void)
99{ 99{
100 const struct of_device_id *of_id;
101 struct device_node *np; 100 struct device_node *np;
102 101
103 np = of_find_matching_node(NULL, sunxi_restart_ids); 102 np = of_find_matching_node(NULL, sunxi_restart_ids);
@@ -106,11 +105,6 @@ static void sunxi_setup_restart(void)
106 105
107 wdt_base = of_iomap(np, 0); 106 wdt_base = of_iomap(np, 0);
108 WARN(!wdt_base, "failed to map watchdog base address"); 107 WARN(!wdt_base, "failed to map watchdog base address");
109
110 of_id = of_match_node(sunxi_restart_ids, np);
111 WARN(!of_id, "restart function not available");
112
113 arm_pm_restart = of_id->data;
114} 108}
115 109
116static void __init sunxi_dt_init(void) 110static void __init sunxi_dt_init(void)
@@ -124,12 +118,35 @@ static const char * const sunxi_board_dt_compat[] = {
124 "allwinner,sun4i-a10", 118 "allwinner,sun4i-a10",
125 "allwinner,sun5i-a10s", 119 "allwinner,sun5i-a10s",
126 "allwinner,sun5i-a13", 120 "allwinner,sun5i-a13",
127 "allwinner,sun6i-a31",
128 "allwinner,sun7i-a20",
129 NULL, 121 NULL,
130}; 122};
131 123
132DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)") 124DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
133 .init_machine = sunxi_dt_init, 125 .init_machine = sunxi_dt_init,
134 .dt_compat = sunxi_board_dt_compat, 126 .dt_compat = sunxi_board_dt_compat,
127 .restart = sun4i_restart,
128MACHINE_END
129
130static const char * const sun6i_board_dt_compat[] = {
131 "allwinner,sun6i-a31",
132 NULL,
133};
134
135DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
136 .init_machine = sunxi_dt_init,
137 .init_time = sunxi_timer_init,
138 .dt_compat = sun6i_board_dt_compat,
139 .restart = sun6i_restart,
140MACHINE_END
141
142static const char * const sun7i_board_dt_compat[] = {
143 "allwinner,sun7i-a20",
144 NULL,
145};
146
147DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
148 .init_machine = sunxi_dt_init,
149 .init_time = sunxi_timer_init,
150 .dt_compat = sun7i_board_dt_compat,
151 .restart = sun4i_restart,
135MACHINE_END 152MACHINE_END