sunxi: Stop differentiating between 512M and 1G variants of the same board
[platform/kernel/u-boot.git] / board / sunxi / Kconfig
1 if ARCH_SUNXI
2
3 choice
4         prompt "Sunxi SoC Variant"
5
6 config MACH_SUN4I
7         bool "sun4i (Allwinner A10)"
8         select CPU_V7
9         select SUPPORT_SPL
10
11 config MACH_SUN5I
12         bool "sun5i (Allwinner A13)"
13         select CPU_V7
14         select SUPPORT_SPL
15
16 config MACH_SUN6I
17         bool "sun6i (Allwinner A31)"
18         select CPU_V7
19         select SUPPORT_SPL
20
21 config MACH_SUN7I
22         bool "sun7i (Allwinner A20)"
23         select CPU_V7
24         select CPU_V7_HAS_NONSEC
25         select CPU_V7_HAS_VIRT
26         select SUPPORT_SPL
27         select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
28
29 config MACH_SUN8I
30         bool "sun8i (Allwinner A23)"
31         select CPU_V7
32         select SUPPORT_SPL
33
34 endchoice
35
36 config DRAM_CLK
37         int "sunxi dram clock speed"
38         default 312 if MACH_SUN6I || MACH_SUN8I
39         default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
40         ---help---
41         Set the dram clock speed, valid range 240 - 480, must be a multiple
42         of 24. Note on sun4i / sun5i / sun7i this is only used by boards
43         which use dram autoconfig.
44
45 config DRAM_ZQ
46         int "sunxi dram zq value"
47         default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
48         default 127 if MACH_SUN7I
49         ---help---
50         Set the dram zq value. Note on sun4i / sun5i / sun7i this is only
51         used by boards which use dram autoconfig.
52
53 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
54 config 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.
61 endif
62
63 config SYS_CONFIG_NAME
64         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
69
70 choice
71         prompt "Board"
72
73 config TARGET_A10_OLINUXINO_L
74         bool "A10_OLINUXINO_L"
75         depends on MACH_SUN4I
76
77 config TARGET_A10S_OLINUXINO_M
78         bool "A10S_OLINUXINO_M"
79         depends on MACH_SUN5I
80
81 config TARGET_A13_OLINUXINOM
82         bool "A13_OLINUXINOM"
83         depends on MACH_SUN5I
84
85 config TARGET_A13_OLINUXINO
86         bool "A13_OLINUXINO"
87         depends on MACH_SUN5I
88
89 config TARGET_A20_OLINUXINO_L2
90         bool "A20_OLINUXINO_L2"
91         depends on MACH_SUN7I
92
93 config TARGET_A20_OLINUXINO_L
94         bool "A20_OLINUXINO_L"
95         depends on MACH_SUN7I
96
97 config TARGET_A20_OLINUXINO_M
98         bool "A20_OLINUXINO_M"
99         depends on MACH_SUN7I
100
101 config TARGET_AUXTEK_T004
102         bool "AUXTEK_T004"
103         depends on MACH_SUN5I
104
105 config TARGET_BANANAPI
106         bool "BANANAPI"
107         depends on MACH_SUN7I
108
109 config TARGET_BANANAPRO
110         bool "BANANAPRO"
111         depends on MACH_SUN7I
112
113 config TARGET_COLOMBUS
114         bool "COLOMBUS"
115         depends on MACH_SUN6I
116
117 config TARGET_CUBIEBOARD2
118         bool "CUBIEBOARD2"
119         depends on MACH_SUN7I
120
121 config TARGET_CUBIEBOARD
122         bool "CUBIEBOARD"
123         depends on MACH_SUN4I
124
125 config TARGET_CUBIETRUCK
126         bool "CUBIETRUCK"
127         depends on MACH_SUN7I
128
129 config TARGET_HUMMINGBIRD_A31
130         bool "HUMMINGBIRD_A31"
131         depends on MACH_SUN6I
132
133 config TARGET_IPPO_Q8H_V5
134         bool "IPPO_Q8H_V5"
135         depends on MACH_SUN8I
136
137 config TARGET_PCDUINO
138         bool "PCDUINO"
139         depends on MACH_SUN4I
140
141 config TARGET_PCDUINO3
142         bool "PCDUINO3"
143         depends on MACH_SUN7I
144
145 config TARGET_MELE_A1000
146         bool "MELE_A1000"
147         depends on MACH_SUN4I
148
149 config TARGET_MELE_M3
150         bool "MELE_M3"
151         depends on MACH_SUN7I
152
153 config TARGET_MELE_M9
154         bool "MELE_M9"
155         depends on MACH_SUN6I
156
157 config TARGET_MINI_X
158         bool "MINI_X"
159         depends on MACH_SUN4I
160
161 config 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
174 config 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
187 config TARGET_BA10_TV_BOX
188         bool "BA10_TV_BOX"
189         depends on MACH_SUN4I
190
191 config TARGET_I12_TVBOX
192         bool "I12_TVBOX"
193         depends on MACH_SUN7I
194
195 config TARGET_QT840A
196         bool "QT840A"
197         depends on MACH_SUN7I
198
199 config TARGET_R7DONGLE
200         bool "R7DONGLE"
201         depends on MACH_SUN5I
202
203 endchoice
204
205 config SYS_BOARD
206         default "sunxi"
207
208 config SYS_SOC
209         default "sunxi"
210
211 config SPL_FEL
212         bool "SPL/FEL mode support"
213         depends on SPL
214         default n
215
216 config 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
228 config FDTFILE
229         string "Default fdtfile env setting for this board"
230
231 config 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
238 config 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
246 config MMC1_CD_PIN
247         string "Card detect pin for mmc1"
248         default ""
249         ---help---
250         See MMC0_CD_PIN help text.
251
252 config MMC2_CD_PIN
253         string "Card detect pin for mmc2"
254         default ""
255         ---help---
256         See MMC0_CD_PIN help text.
257
258 config MMC3_CD_PIN
259         string "Card detect pin for mmc3"
260         default ""
261         ---help---
262         See MMC0_CD_PIN help text.
263
264 config 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
272 config 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
279 config USB1_VBUS_PIN
280         string "Vbus enable pin for usb1 (ehci0)"
281         default "PH6" if MACH_SUN4I || MACH_SUN7I
282         default "PH27" if MACH_SUN6I
283         ---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
288 config USB2_VBUS_PIN
289         string "Vbus enable pin for usb2 (ehci1)"
290         default "PH3" if MACH_SUN4I || MACH_SUN7I
291         default "PH24" if MACH_SUN6I
292         ---help---
293         See USB1_VBUS_PIN help text.
294
295 config VIDEO
296         boolean "Enable graphical uboot console on HDMI, LCD or VGA"
297         default y
298         ---help---
299         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
303 config 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
310 config 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
317 config VIDEO_VGA_VIA_LCD
318         boolean "VGA via LCD controller support"
319         depends on VIDEO && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
320         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
326 config 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
334 config 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
343 config 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
350 config 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
358 config 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
367 config 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.
374
375
376 # Note only one of these may be selected at a time! But hidden choices are
377 # not supported by Kconfig
378 config VIDEO_LCD_IF_PARALLEL
379         bool
380
381 config VIDEO_LCD_IF_LVDS
382         bool
383
384
385 choice
386         prompt "LCD panel support"
387         depends on VIDEO
388         ---help---
389         Select which type of LCD panel to support.
390
391 config VIDEO_LCD_PANEL_PARALLEL
392         bool "Generic parallel interface LCD panel"
393         select VIDEO_LCD_IF_PARALLEL
394
395 config VIDEO_LCD_PANEL_LVDS
396         bool "Generic lvds interface LCD panel"
397         select VIDEO_LCD_IF_LVDS
398
399 endchoice
400
401
402 config 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
407         in combination with a graphical console).
408
409 endif