1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
if ARCH_SUNXI
choice
prompt "Sunxi SoC Variant"
config MACH_SUN4I
bool "sun4i (Allwinner A10)"
select CPU_V7
select SUPPORT_SPL
config MACH_SUN5I
bool "sun5i (Allwinner A13)"
select CPU_V7
select SUPPORT_SPL
config MACH_SUN6I
bool "sun6i (Allwinner A31)"
select CPU_V7
select SUPPORT_SPL
config MACH_SUN7I
bool "sun7i (Allwinner A20)"
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
config MACH_SUN8I
bool "sun8i (Allwinner A23)"
select CPU_V7
select SUPPORT_SPL
endchoice
if MACH_SUN6I || MACH_SUN8I
config DRAM_CLK
int "sun6i dram clock speed"
default 312
---help---
Set the dram clock speed, valid range 240 - 480, must be a multiple
of 24.
config DRAM_ZQ
int "sun6i dram zq value"
default 123
---help---
Set the dram zq value.
endif
config SYS_CONFIG_NAME
default "sun4i" if MACH_SUN4I
default "sun5i" if MACH_SUN5I
default "sun6i" if MACH_SUN6I
default "sun7i" if MACH_SUN7I
default "sun8i" if MACH_SUN8I
choice
prompt "Board"
config TARGET_A10_OLINUXINO_L
bool "A10_OLINUXINO_L"
depends on MACH_SUN4I
config TARGET_A10S_OLINUXINO_M
bool "A10S_OLINUXINO_M"
depends on MACH_SUN5I
config TARGET_A13_OLINUXINOM
bool "A13_OLINUXINOM"
depends on MACH_SUN5I
config TARGET_A13_OLINUXINO
bool "A13_OLINUXINO"
depends on MACH_SUN5I
config TARGET_A20_OLINUXINO_L2
bool "A20_OLINUXINO_L2"
depends on MACH_SUN7I
config TARGET_A20_OLINUXINO_L
bool "A20_OLINUXINO_L"
depends on MACH_SUN7I
config TARGET_A20_OLINUXINO_M
bool "A20_OLINUXINO_M"
depends on MACH_SUN7I
config TARGET_AUXTEK_T004
bool "AUXTEK_T004"
depends on MACH_SUN5I
config TARGET_BANANAPI
bool "BANANAPI"
depends on MACH_SUN7I
config TARGET_BANANAPRO
bool "BANANAPRO"
depends on MACH_SUN7I
config TARGET_COLOMBUS
bool "COLOMBUS"
depends on MACH_SUN6I
config TARGET_CUBIEBOARD2
bool "CUBIEBOARD2"
depends on MACH_SUN7I
config TARGET_CUBIEBOARD
bool "CUBIEBOARD"
depends on MACH_SUN4I
config TARGET_CUBIETRUCK
bool "CUBIETRUCK"
depends on MACH_SUN7I
config TARGET_HUMMINGBIRD_A31
bool "HUMMINGBIRD_A31"
depends on MACH_SUN6I
config TARGET_IPPO_Q8H_V5
bool "IPPO_Q8H_V5"
depends on MACH_SUN8I
config TARGET_PCDUINO3
bool "PCDUINO3"
depends on MACH_SUN7I
config TARGET_MELE_A1000G
bool "MELE_A1000G"
depends on MACH_SUN4I
config TARGET_MELE_A1000
bool "MELE_A1000"
depends on MACH_SUN4I
config TARGET_MELE_M3
bool "MELE_M3"
depends on MACH_SUN7I
config TARGET_MELE_M9
bool "MELE_M9"
depends on MACH_SUN6I
config TARGET_MINI_X_1GB
bool "MINI_X_1GB"
depends on MACH_SUN4I
config TARGET_MINI_X
bool "MINI_X"
depends on MACH_SUN4I
config TARGET_MSI_PRIMO73
bool "MSI Primo73 (7\" tablet)"
depends on MACH_SUN7I
---help---
The MSI Primo73 is an A20 based tablet, with 1G RAM, 16G NAND,
1024x600 TN LCD display, mono speaker, 0.3 MP front camera, 2.0 MP
rear camera, 3000 mAh battery, gt911 touchscreen, mma8452 accelerometer
and rtl8188etv usb wifi. Has "power", "volume+" and "volume-" buttons
(both volume buttons are also connected to the UBOOT_SEL pin). The
external connectors are represented by MicroSD slot, MiniHDMI, MicroUSB
OTG and 3.5mm headphone jack. More details are available at
http://linux-sunxi.org/MSI_Primo73
config TARGET_MSI_PRIMO81
bool "MSI Primo81 (7.85\" tablet)"
depends on MACH_SUN6I
---help---
The MSI Primo81 is an A31s based tablet, with 1G RAM, 16G NAND,
1024x768 IPS LCD display, mono speaker, 0.3 MP front camera, 2.0 MP
rear camera, 3500 mAh battery, gt911 touchscreen, mma8452 accelerometer
and rtl8188etv usb wifi. Has "power", "volume+" and "volume-" buttons
(both volume buttons are also connected to the UBOOT_SEL pin). The
external connectors are represented by MicroSD slot, MiniHDMI, MicroUSB
OTG and 3.5mm headphone jack. More details are available at
http://linux-sunxi.org/MSI_Primo81
config TARGET_BA10_TV_BOX
bool "BA10_TV_BOX"
depends on MACH_SUN4I
config TARGET_I12_TVBOX
bool "I12_TVBOX"
depends on MACH_SUN7I
config TARGET_QT840A
bool "QT840A"
depends on MACH_SUN7I
config TARGET_R7DONGLE
bool "R7DONGLE"
depends on MACH_SUN5I
endchoice
config SYS_BOARD
default "sunxi"
config SYS_SOC
default "sunxi"
config SPL_FEL
bool "SPL/FEL mode support"
depends on SPL
default n
config UART0_PORT_F
bool "UART0 on MicroSD breakout board"
depends on SPL_FEL
default n
---help---
Repurpose the SD card slot for getting access to the UART0 serial
console. Primarily useful only for low level u-boot debugging on
tablets, where normal UART0 is difficult to access and requires
device disassembly and/or soldering. As the SD card can't be used
at the same time, the system can be only booted in the FEL mode.
Only enable this if you really know what you are doing.
config FDTFILE
string "Default fdtfile env setting for this board"
config OLD_SUNXI_KERNEL_COMPAT
boolean "Enable workarounds for booting old kernels"
default n
---help---
Set this to enable various workarounds for old kernels, this results in
sub-optimal settings for newer kernels, only enable if needed.
config MMC0_CD_PIN
string "Card detect pin for mmc0"
default ""
---help---
Set the card detect pin for mmc0, leave empty to not use cd. This
takes a string in the format understood by sunxi_name_to_gpio, e.g.
PH1 for pin 1 of port H.
config MMC1_CD_PIN
string "Card detect pin for mmc1"
default ""
---help---
See MMC0_CD_PIN help text.
config MMC2_CD_PIN
string "Card detect pin for mmc2"
default ""
---help---
See MMC0_CD_PIN help text.
config MMC3_CD_PIN
string "Card detect pin for mmc3"
default ""
---help---
See MMC0_CD_PIN help text.
config MMC_SUNXI_SLOT_EXTRA
int "mmc extra slot number"
default -1
---help---
sunxi builds always enable mmc0, some boards also have a second sdcard
slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
support for this.
config USB1_VBUS_PIN
string "Vbus enable pin for usb1 (ehci0)"
default "PH6" if MACH_SUN4I || MACH_SUN7I
default "PH27" if MACH_SUN6I
---help---
Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
a string in the format understood by sunxi_name_to_gpio, e.g.
PH1 for pin 1 of port H.
config USB2_VBUS_PIN
string "Vbus enable pin for usb2 (ehci1)"
default "PH3" if MACH_SUN4I || MACH_SUN7I
default "PH24" if MACH_SUN6I
---help---
See USB1_VBUS_PIN help text.
config VIDEO
boolean "Enable graphical uboot console on HDMI"
default y
---help---
Say Y here to add support for using a cfb console on the HDMI output
found on most sunxi devices.
config USB_KEYBOARD
boolean "Enable USB keyboard support"
default y
---help---
Say Y here to add support for using a USB keyboard (typically used
in combination with a graphical console on HDMI).
endif
|