blob: 514e02236a23ed0e15833a69c2f1ae12617bd6a2 [file] [log] [blame]
Ian Campbelld8e69e02014-10-24 21:20:44 +01001if ARCH_SUNXI
2
3choice
4 prompt "Sunxi SoC Variant"
5
Ian Campbell4a24a1c2014-10-24 21:20:45 +01006config MACH_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +01007 bool "sun4i (Allwinner A10)"
8 select CPU_V7
9 select SUPPORT_SPL
10
Ian Campbell4a24a1c2014-10-24 21:20:45 +010011config MACH_SUN5I
Ian Campbelld8e69e02014-10-24 21:20:44 +010012 bool "sun5i (Allwinner A13)"
13 select CPU_V7
14 select SUPPORT_SPL
15
Ian Campbell4a24a1c2014-10-24 21:20:45 +010016config MACH_SUN6I
Ian Campbelld8e69e02014-10-24 21:20:44 +010017 bool "sun6i (Allwinner A31)"
18 select CPU_V7
Hans de Goedea5403b92014-10-25 20:18:10 +020019 select SUPPORT_SPL
Ian Campbelld8e69e02014-10-24 21:20:44 +010020
Ian Campbell4a24a1c2014-10-24 21:20:45 +010021config MACH_SUN7I
Ian Campbelld8e69e02014-10-24 21:20:44 +010022 bool "sun7i (Allwinner A20)"
23 select CPU_V7
Hans de Goede85437352014-11-14 09:34:30 +010024 select CPU_V7_HAS_NONSEC
25 select CPU_V7_HAS_VIRT
Ian Campbelld8e69e02014-10-24 21:20:44 +010026 select SUPPORT_SPL
Hans de Goedea5636382014-10-24 20:12:04 +020027 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +010028
Ian Campbell4a24a1c2014-10-24 21:20:45 +010029config MACH_SUN8I
Ian Campbelld8e69e02014-10-24 21:20:44 +010030 bool "sun8i (Allwinner A23)"
31 select CPU_V7
Hans de Goede966d2392014-12-07 14:34:27 +010032 select SUPPORT_SPL
Ian Campbelld8e69e02014-10-24 21:20:44 +010033
34endchoice
Maxime Ripard2c519412014-10-03 20:16:29 +080035
Hans de Goede3aeaa282014-11-15 19:46:39 +010036config DRAM_CLK
Hans de Goede59d9fc72015-01-17 14:24:55 +010037 int "sunxi dram clock speed"
38 default 312 if MACH_SUN6I || MACH_SUN8I
39 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
Hans de Goede3aeaa282014-11-15 19:46:39 +010040 ---help---
41 Set the dram clock speed, valid range 240 - 480, must be a multiple
Hans de Goede59d9fc72015-01-17 14:24:55 +010042 of 24. Note on sun4i / sun5i / sun7i this is only used by boards
43 which use dram autoconfig.
Hans de Goede3aeaa282014-11-15 19:46:39 +010044
45config DRAM_ZQ
Hans de Goede59d9fc72015-01-17 14:24:55 +010046 int "sunxi dram zq value"
47 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
48 default 127 if MACH_SUN7I
Hans de Goede3aeaa282014-11-15 19:46:39 +010049 ---help---
Hans de Goede59d9fc72015-01-17 14:24:55 +010050 Set the dram zq value. Note on sun4i / sun5i / sun7i this is only
51 used by boards which use dram autoconfig.
Hans de Goede3aeaa282014-11-15 19:46:39 +010052
Hans de Goede59d9fc72015-01-17 14:24:55 +010053if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
54config DRAM_EMR1
55 int "sunxi dram emr1 value"
56 default 0 if MACH_SUN4I
57 default 4 if MACH_SUN5I || MACH_SUN7I
58 ---help---
59 Set the dram controller emr1 value. Note this is only used by boards
60 which use dram autoconfig.
Hans de Goede3aeaa282014-11-15 19:46:39 +010061endif
62
Maxime Ripard2c519412014-10-03 20:16:29 +080063config SYS_CONFIG_NAME
Ian Campbell4a24a1c2014-10-24 21:20:45 +010064 default "sun4i" if MACH_SUN4I
65 default "sun5i" if MACH_SUN5I
66 default "sun6i" if MACH_SUN6I
67 default "sun7i" if MACH_SUN7I
68 default "sun8i" if MACH_SUN8I
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090069
Ian Campbell0ea187d2014-10-24 21:20:49 +010070choice
71 prompt "Board"
72
73config TARGET_A10_OLINUXINO_L
74 bool "A10_OLINUXINO_L"
75 depends on MACH_SUN4I
76
77config TARGET_A10S_OLINUXINO_M
78 bool "A10S_OLINUXINO_M"
79 depends on MACH_SUN5I
80
81config TARGET_A13_OLINUXINOM
82 bool "A13_OLINUXINOM"
83 depends on MACH_SUN5I
84
85config TARGET_A13_OLINUXINO
86 bool "A13_OLINUXINO"
87 depends on MACH_SUN5I
88
89config TARGET_A20_OLINUXINO_L2
90 bool "A20_OLINUXINO_L2"
91 depends on MACH_SUN7I
92
93config TARGET_A20_OLINUXINO_L
94 bool "A20_OLINUXINO_L"
95 depends on MACH_SUN7I
96
97config TARGET_A20_OLINUXINO_M
98 bool "A20_OLINUXINO_M"
99 depends on MACH_SUN7I
100
101config TARGET_AUXTEK_T004
102 bool "AUXTEK_T004"
103 depends on MACH_SUN5I
104
105config TARGET_BANANAPI
106 bool "BANANAPI"
107 depends on MACH_SUN7I
108
Hans de Goeded8eb4732014-12-31 11:30:26 +0100109config TARGET_BANANAPRO
110 bool "BANANAPRO"
111 depends on MACH_SUN7I
112
Ian Campbell0ea187d2014-10-24 21:20:49 +0100113config TARGET_COLOMBUS
114 bool "COLOMBUS"
115 depends on MACH_SUN6I
116
117config TARGET_CUBIEBOARD2
118 bool "CUBIEBOARD2"
119 depends on MACH_SUN7I
120
121config TARGET_CUBIEBOARD
122 bool "CUBIEBOARD"
123 depends on MACH_SUN4I
124
125config TARGET_CUBIETRUCK
126 bool "CUBIETRUCK"
127 depends on MACH_SUN7I
128
Chen-Yu Tsaicef9cdc2014-12-09 16:56:53 +0800129config TARGET_HUMMINGBIRD_A31
130 bool "HUMMINGBIRD_A31"
131 depends on MACH_SUN6I
132
Ian Campbell0ea187d2014-10-24 21:20:49 +0100133config TARGET_IPPO_Q8H_V5
134 bool "IPPO_Q8H_V5"
135 depends on MACH_SUN8I
136
Zoltan HERPAIbaa85e22015-01-06 01:09:18 +0100137config TARGET_PCDUINO
138 bool "PCDUINO"
139 depends on MACH_SUN4I
140
Ian Campbell0ea187d2014-10-24 21:20:49 +0100141config TARGET_PCDUINO3
142 bool "PCDUINO3"
143 depends on MACH_SUN7I
144
Ian Campbell0ea187d2014-10-24 21:20:49 +0100145config TARGET_MELE_A1000
146 bool "MELE_A1000"
147 depends on MACH_SUN4I
148
149config TARGET_MELE_M3
150 bool "MELE_M3"
151 depends on MACH_SUN7I
152
Hans de Goede09f57482014-10-27 23:29:49 +0100153config TARGET_MELE_M9
154 bool "MELE_M9"
155 depends on MACH_SUN6I
156
Ian Campbell0ea187d2014-10-24 21:20:49 +0100157config TARGET_MINI_X
158 bool "MINI_X"
159 depends on MACH_SUN4I
160
Siarhei Siamashka41ae42c2014-12-27 09:38:57 +0200161config TARGET_MSI_PRIMO73
162 bool "MSI Primo73 (7\" tablet)"
163 depends on MACH_SUN7I
164 ---help---
165 The MSI Primo73 is an A20 based tablet, with 1G RAM, 16G NAND,
166 1024x600 TN LCD display, mono speaker, 0.3 MP front camera, 2.0 MP
167 rear camera, 3000 mAh battery, gt911 touchscreen, mma8452 accelerometer
168 and rtl8188etv usb wifi. Has "power", "volume+" and "volume-" buttons
169 (both volume buttons are also connected to the UBOOT_SEL pin). The
170 external connectors are represented by MicroSD slot, MiniHDMI, MicroUSB
171 OTG and 3.5mm headphone jack. More details are available at
172 http://linux-sunxi.org/MSI_Primo73
173
Siarhei Siamashka75afbc02014-12-27 09:38:56 +0200174config TARGET_MSI_PRIMO81
175 bool "MSI Primo81 (7.85\" tablet)"
176 depends on MACH_SUN6I
177 ---help---
178 The MSI Primo81 is an A31s based tablet, with 1G RAM, 16G NAND,
179 1024x768 IPS LCD display, mono speaker, 0.3 MP front camera, 2.0 MP
180 rear camera, 3500 mAh battery, gt911 touchscreen, mma8452 accelerometer
181 and rtl8188etv usb wifi. Has "power", "volume+" and "volume-" buttons
182 (both volume buttons are also connected to the UBOOT_SEL pin). The
183 external connectors are represented by MicroSD slot, MiniHDMI, MicroUSB
184 OTG and 3.5mm headphone jack. More details are available at
185 http://linux-sunxi.org/MSI_Primo81
186
Ian Campbell0ea187d2014-10-24 21:20:49 +0100187config TARGET_BA10_TV_BOX
188 bool "BA10_TV_BOX"
189 depends on MACH_SUN4I
190
191config TARGET_I12_TVBOX
192 bool "I12_TVBOX"
193 depends on MACH_SUN7I
194
195config TARGET_QT840A
196 bool "QT840A"
197 depends on MACH_SUN7I
198
199config TARGET_R7DONGLE
200 bool "R7DONGLE"
201 depends on MACH_SUN5I
202
203endchoice
204
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900205config SYS_BOARD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900206 default "sunxi"
207
208config SYS_SOC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900209 default "sunxi"
210
Ian Campbell8ad104b2014-10-24 21:20:46 +0100211config SPL_FEL
212 bool "SPL/FEL mode support"
213 depends on SPL
214 default n
215
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200216config UART0_PORT_F
217 bool "UART0 on MicroSD breakout board"
218 depends on SPL_FEL
219 default n
220 ---help---
221 Repurpose the SD card slot for getting access to the UART0 serial
222 console. Primarily useful only for low level u-boot debugging on
223 tablets, where normal UART0 is difficult to access and requires
224 device disassembly and/or soldering. As the SD card can't be used
225 at the same time, the system can be only booted in the FEL mode.
226 Only enable this if you really know what you are doing.
227
Ian Campbell9536fc42014-08-31 13:13:43 +0100228config FDTFILE
229 string "Default fdtfile env setting for this board"
Hans de Goede2f60c312014-08-01 09:37:58 +0200230
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200231config OLD_SUNXI_KERNEL_COMPAT
232 boolean "Enable workarounds for booting old kernels"
233 default n
234 ---help---
235 Set this to enable various workarounds for old kernels, this results in
236 sub-optimal settings for newer kernels, only enable if needed.
237
Hans de Goede7412ef82014-10-02 20:29:26 +0200238config MMC0_CD_PIN
239 string "Card detect pin for mmc0"
240 default ""
241 ---help---
242 Set the card detect pin for mmc0, leave empty to not use cd. This
243 takes a string in the format understood by sunxi_name_to_gpio, e.g.
244 PH1 for pin 1 of port H.
245
246config MMC1_CD_PIN
247 string "Card detect pin for mmc1"
248 default ""
249 ---help---
250 See MMC0_CD_PIN help text.
251
252config MMC2_CD_PIN
253 string "Card detect pin for mmc2"
254 default ""
255 ---help---
256 See MMC0_CD_PIN help text.
257
258config MMC3_CD_PIN
259 string "Card detect pin for mmc3"
260 default ""
261 ---help---
262 See MMC0_CD_PIN help text.
263
Hans de Goedeaf593e42014-10-02 20:43:50 +0200264config MMC_SUNXI_SLOT_EXTRA
265 int "mmc extra slot number"
266 default -1
267 ---help---
268 sunxi builds always enable mmc0, some boards also have a second sdcard
269 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
270 support for this.
271
Hans de Goedee7b852a2015-01-07 15:26:06 +0100272config USB0_VBUS_PIN
273 string "Vbus enable pin for usb0 (otg)"
274 default ""
275 ---help---
276 Set the Vbus enable pin for usb0 (otg). This takes a string in the
277 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
278
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100279config USB1_VBUS_PIN
280 string "Vbus enable pin for usb1 (ehci0)"
281 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100282 default "PH27" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100283 ---help---
284 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
285 a string in the format understood by sunxi_name_to_gpio, e.g.
286 PH1 for pin 1 of port H.
287
288config USB2_VBUS_PIN
289 string "Vbus enable pin for usb2 (ehci1)"
290 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100291 default "PH24" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100292 ---help---
293 See USB1_VBUS_PIN help text.
294
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200295config VIDEO
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100296 boolean "Enable graphical uboot console on HDMI, LCD or VGA"
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200297 default y
298 ---help---
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100299 Say Y here to add support for using a cfb console on the HDMI, LCD
300 or VGA output found on most sunxi devices. See doc/README.video for
301 info on how to select the video output and mode.
302
Hans de Goedee9544592014-12-23 23:04:35 +0100303config VIDEO_HDMI
304 boolean "HDMI output support"
305 depends on VIDEO && !MACH_SUN8I
306 default y
307 ---help---
308 Say Y here to add support for outputting video over HDMI.
309
Hans de Goede260f5202014-12-25 13:58:06 +0100310config VIDEO_VGA
311 boolean "VGA output support"
312 depends on VIDEO && (MACH_SUN4I || MACH_SUN7I)
313 default n
314 ---help---
315 Say Y here to add support for outputting video over VGA.
316
Hans de Goedeac1633c2014-12-24 12:17:07 +0100317config VIDEO_VGA_VIA_LCD
318 boolean "VGA via LCD controller support"
Chen-Yu Tsai39ca4c12015-01-12 18:02:10 +0800319 depends on VIDEO && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedeac1633c2014-12-24 12:17:07 +0100320 default n
321 ---help---
322 Say Y here to add support for external DACs connected to the parallel
323 LCD interface driving a VGA connector, such as found on the
324 Olimex A13 boards.
325
Chen-Yu Tsai9ed19522015-01-12 18:02:11 +0800326config VIDEO_VGA_EXTERNAL_DAC_EN
327 string "LCD panel power enable pin"
328 depends on VIDEO_VGA_VIA_LCD
329 default ""
330 ---help---
331 Set the enable pin for the external VGA DAC. This takes a string in the
332 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
333
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100334config VIDEO_LCD_MODE
335 string "LCD panel timing details"
336 depends on VIDEO
337 default ""
338 ---help---
339 LCD panel timing details string, leave empty if there is no LCD panel.
340 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
341 x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:0,vmode:0
342
Hans de Goede481b6642015-01-13 13:21:46 +0100343config VIDEO_LCD_DCLK_PHASE
344 int "LCD panel display clock phase"
345 depends on VIDEO
346 default 1
347 ---help---
348 Select LCD panel display clock phase shift, range 0-3.
349
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100350config VIDEO_LCD_POWER
351 string "LCD panel power enable pin"
352 depends on VIDEO
353 default ""
354 ---help---
355 Set the power enable pin for the LCD panel. This takes a string in the
356 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
357
358config VIDEO_LCD_BL_EN
359 string "LCD panel backlight enable pin"
360 depends on VIDEO
361 default ""
362 ---help---
363 Set the backlight enable pin for the LCD panel. This takes a string in the
364 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
365 port H.
366
367config VIDEO_LCD_BL_PWM
368 string "LCD panel backlight pwm pin"
369 depends on VIDEO
370 default ""
371 ---help---
372 Set the backlight pwm pin for the LCD panel. This takes a string in the
373 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200374
Hans de Goede797a0f52015-01-01 22:04:34 +0100375
376# Note only one of these may be selected at a time! But hidden choices are
377# not supported by Kconfig
378config VIDEO_LCD_IF_PARALLEL
379 bool
380
381config VIDEO_LCD_IF_LVDS
382 bool
383
384
385choice
386 prompt "LCD panel support"
387 depends on VIDEO
388 ---help---
389 Select which type of LCD panel to support.
390
391config VIDEO_LCD_PANEL_PARALLEL
392 bool "Generic parallel interface LCD panel"
393 select VIDEO_LCD_IF_PARALLEL
394
395config VIDEO_LCD_PANEL_LVDS
396 bool "Generic lvds interface LCD panel"
397 select VIDEO_LCD_IF_LVDS
398
399endchoice
400
401
Hans de Goede16030822014-09-18 21:03:34 +0200402config USB_KEYBOARD
403 boolean "Enable USB keyboard support"
404 default y
405 ---help---
406 Say Y here to add support for using a USB keyboard (typically used
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100407 in combination with a graphical console).
Hans de Goede16030822014-09-18 21:03:34 +0200408
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900409endif