blob: da4e8ba51803865571103b3ba99dece174446b29 [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 Goede06ddc452015-01-25 11:29:27 +010042 of 24.
Hans de Goede3aeaa282014-11-15 19:46:39 +010043
44config DRAM_ZQ
Hans de Goede59d9fc72015-01-17 14:24:55 +010045 int "sunxi dram zq value"
46 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
47 default 127 if MACH_SUN7I
Hans de Goede3aeaa282014-11-15 19:46:39 +010048 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +010049 Set the dram zq value.
Hans de Goede3aeaa282014-11-15 19:46:39 +010050
Hans de Goede59d9fc72015-01-17 14:24:55 +010051if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
52config DRAM_EMR1
53 int "sunxi dram emr1 value"
54 default 0 if MACH_SUN4I
55 default 4 if MACH_SUN5I || MACH_SUN7I
56 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +010057 Set the dram controller emr1 value.
Siarhei Siamashka9900db12015-02-01 00:27:05 +020058
59choice
60 prompt "sunxi dram timings"
61 default DRAM_TIMINGS_VENDOR_MAGIC
62 ---help---
63 Select the timings of the DDR3 chips.
64
65config DRAM_TIMINGS_VENDOR_MAGIC
66 bool "Magic vendor timings from Android"
67 ---help---
68 The same DRAM timings as in the Allwinner boot0 bootloader.
69
70config DRAM_TIMINGS_DDR3_1066F_1333H
71 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
72 ---help---
73 Use the timings of the standard JEDEC DDR3-1066F speed bin for
74 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
75 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
76 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
77 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
78 that down binning to DDR3-1066F is supported (because DDR3-1066F
79 uses a bit faster timings than DDR3-1333H).
80
81config DRAM_TIMINGS_DDR3_800E_1066G_1333J
82 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
83 ---help---
84 Use the timings of the slowest possible JEDEC speed bin for the
85 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
86 DDR3-800E, DDR3-1066G or DDR3-1333J.
87
88endchoice
89
Hans de Goede3aeaa282014-11-15 19:46:39 +010090endif
91
Maxime Ripard2c519412014-10-03 20:16:29 +080092config SYS_CONFIG_NAME
Ian Campbell4a24a1c2014-10-24 21:20:45 +010093 default "sun4i" if MACH_SUN4I
94 default "sun5i" if MACH_SUN5I
95 default "sun6i" if MACH_SUN6I
96 default "sun7i" if MACH_SUN7I
97 default "sun8i" if MACH_SUN8I
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090098
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090099config SYS_BOARD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900100 default "sunxi"
101
102config SYS_SOC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900103 default "sunxi"
104
Ian Campbell8ad104b2014-10-24 21:20:46 +0100105config SPL_FEL
106 bool "SPL/FEL mode support"
107 depends on SPL
108 default n
109
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200110config UART0_PORT_F
111 bool "UART0 on MicroSD breakout board"
112 depends on SPL_FEL
113 default n
114 ---help---
115 Repurpose the SD card slot for getting access to the UART0 serial
116 console. Primarily useful only for low level u-boot debugging on
117 tablets, where normal UART0 is difficult to access and requires
118 device disassembly and/or soldering. As the SD card can't be used
119 at the same time, the system can be only booted in the FEL mode.
120 Only enable this if you really know what you are doing.
121
Ian Campbell9536fc42014-08-31 13:13:43 +0100122config FDTFILE
123 string "Default fdtfile env setting for this board"
Hans de Goede2f60c312014-08-01 09:37:58 +0200124
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200125config OLD_SUNXI_KERNEL_COMPAT
126 boolean "Enable workarounds for booting old kernels"
127 default n
128 ---help---
129 Set this to enable various workarounds for old kernels, this results in
130 sub-optimal settings for newer kernels, only enable if needed.
131
Hans de Goede7412ef82014-10-02 20:29:26 +0200132config MMC0_CD_PIN
133 string "Card detect pin for mmc0"
134 default ""
135 ---help---
136 Set the card detect pin for mmc0, leave empty to not use cd. This
137 takes a string in the format understood by sunxi_name_to_gpio, e.g.
138 PH1 for pin 1 of port H.
139
140config MMC1_CD_PIN
141 string "Card detect pin for mmc1"
142 default ""
143 ---help---
144 See MMC0_CD_PIN help text.
145
146config MMC2_CD_PIN
147 string "Card detect pin for mmc2"
148 default ""
149 ---help---
150 See MMC0_CD_PIN help text.
151
152config MMC3_CD_PIN
153 string "Card detect pin for mmc3"
154 default ""
155 ---help---
156 See MMC0_CD_PIN help text.
157
Hans de Goedeaf593e42014-10-02 20:43:50 +0200158config MMC_SUNXI_SLOT_EXTRA
159 int "mmc extra slot number"
160 default -1
161 ---help---
162 sunxi builds always enable mmc0, some boards also have a second sdcard
163 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
164 support for this.
165
Hans de Goedee7b852a2015-01-07 15:26:06 +0100166config USB0_VBUS_PIN
167 string "Vbus enable pin for usb0 (otg)"
168 default ""
169 ---help---
170 Set the Vbus enable pin for usb0 (otg). This takes a string in the
171 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
172
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100173config USB1_VBUS_PIN
174 string "Vbus enable pin for usb1 (ehci0)"
175 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100176 default "PH27" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100177 ---help---
178 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
179 a string in the format understood by sunxi_name_to_gpio, e.g.
180 PH1 for pin 1 of port H.
181
182config USB2_VBUS_PIN
183 string "Vbus enable pin for usb2 (ehci1)"
184 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100185 default "PH24" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100186 ---help---
187 See USB1_VBUS_PIN help text.
188
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200189config VIDEO
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100190 boolean "Enable graphical uboot console on HDMI, LCD or VGA"
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200191 default y
192 ---help---
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100193 Say Y here to add support for using a cfb console on the HDMI, LCD
194 or VGA output found on most sunxi devices. See doc/README.video for
195 info on how to select the video output and mode.
196
Hans de Goedee9544592014-12-23 23:04:35 +0100197config VIDEO_HDMI
198 boolean "HDMI output support"
199 depends on VIDEO && !MACH_SUN8I
200 default y
201 ---help---
202 Say Y here to add support for outputting video over HDMI.
203
Hans de Goede260f5202014-12-25 13:58:06 +0100204config VIDEO_VGA
205 boolean "VGA output support"
206 depends on VIDEO && (MACH_SUN4I || MACH_SUN7I)
207 default n
208 ---help---
209 Say Y here to add support for outputting video over VGA.
210
Hans de Goedeac1633c2014-12-24 12:17:07 +0100211config VIDEO_VGA_VIA_LCD
212 boolean "VGA via LCD controller support"
Chen-Yu Tsai39ca4c12015-01-12 18:02:10 +0800213 depends on VIDEO && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedeac1633c2014-12-24 12:17:07 +0100214 default n
215 ---help---
216 Say Y here to add support for external DACs connected to the parallel
217 LCD interface driving a VGA connector, such as found on the
218 Olimex A13 boards.
219
Hans de Goede18366f72015-01-25 15:33:07 +0100220config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
221 boolean "Force sync active high for VGA via LCD controller support"
222 depends on VIDEO_VGA_VIA_LCD
223 default n
224 ---help---
225 Say Y here if you've a board which uses opendrain drivers for the vga
226 hsync and vsync signals. Opendrain drivers cannot generate steep enough
227 positive edges for a stable video output, so on boards with opendrain
228 drivers the sync signals must always be active high.
229
Chen-Yu Tsai9ed19522015-01-12 18:02:11 +0800230config VIDEO_VGA_EXTERNAL_DAC_EN
231 string "LCD panel power enable pin"
232 depends on VIDEO_VGA_VIA_LCD
233 default ""
234 ---help---
235 Set the enable pin for the external VGA DAC. This takes a string in the
236 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
237
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100238config VIDEO_LCD_MODE
239 string "LCD panel timing details"
240 depends on VIDEO
241 default ""
242 ---help---
243 LCD panel timing details string, leave empty if there is no LCD panel.
244 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
245 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
246
Hans de Goede481b6642015-01-13 13:21:46 +0100247config VIDEO_LCD_DCLK_PHASE
248 int "LCD panel display clock phase"
249 depends on VIDEO
250 default 1
251 ---help---
252 Select LCD panel display clock phase shift, range 0-3.
253
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100254config VIDEO_LCD_POWER
255 string "LCD panel power enable pin"
256 depends on VIDEO
257 default ""
258 ---help---
259 Set the power enable pin for the LCD panel. This takes a string in the
260 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
261
262config VIDEO_LCD_BL_EN
263 string "LCD panel backlight enable pin"
264 depends on VIDEO
265 default ""
266 ---help---
267 Set the backlight enable pin for the LCD panel. This takes a string in the
268 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
269 port H.
270
271config VIDEO_LCD_BL_PWM
272 string "LCD panel backlight pwm pin"
273 depends on VIDEO
274 default ""
275 ---help---
276 Set the backlight pwm pin for the LCD panel. This takes a string in the
277 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200278
Hans de Goede2d5d3022015-01-22 21:02:42 +0100279config VIDEO_LCD_BL_PWM_ACTIVE_LOW
280 bool "LCD panel backlight pwm is inverted"
281 depends on VIDEO
282 default y
283 ---help---
284 Set this if the backlight pwm output is active low.
285
Hans de Goede797a0f52015-01-01 22:04:34 +0100286
287# Note only one of these may be selected at a time! But hidden choices are
288# not supported by Kconfig
289config VIDEO_LCD_IF_PARALLEL
290 bool
291
292config VIDEO_LCD_IF_LVDS
293 bool
294
295
296choice
297 prompt "LCD panel support"
298 depends on VIDEO
299 ---help---
300 Select which type of LCD panel to support.
301
302config VIDEO_LCD_PANEL_PARALLEL
303 bool "Generic parallel interface LCD panel"
304 select VIDEO_LCD_IF_PARALLEL
305
306config VIDEO_LCD_PANEL_LVDS
307 bool "Generic lvds interface LCD panel"
308 select VIDEO_LCD_IF_LVDS
309
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200310config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
311 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
312 select VIDEO_LCD_SSD2828
313 select VIDEO_LCD_IF_PARALLEL
314 ---help---
315 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
316
Hans de Goede743fb9552015-01-20 09:23:36 +0100317config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
318 bool "Hitachi tx18d42vm LCD panel"
319 select VIDEO_LCD_HITACHI_TX18D42VM
320 select VIDEO_LCD_IF_LVDS
321 ---help---
322 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
323
Hans de Goede797a0f52015-01-01 22:04:34 +0100324endchoice
325
326
Hans de Goedef494cad2015-01-11 17:17:00 +0100327config USB_MUSB_SUNXI
328 bool "Enable sunxi OTG / DRC USB controller in host mode"
329 default n
330 ---help---
331 Say y here to enable support for the sunxi OTG / DRC USB controller
332 used on almost all sunxi boards. Note currently u-boot can only have
333 one usb host controller enabled at a time, so enabling this on boards
334 which also use the ehci host controller will result in build errors.
335
Hans de Goede16030822014-09-18 21:03:34 +0200336config USB_KEYBOARD
337 boolean "Enable USB keyboard support"
338 default y
339 ---help---
340 Say Y here to add support for using a USB keyboard (typically used
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100341 in combination with a graphical console).
Hans de Goede16030822014-09-18 21:03:34 +0200342
Hans de Goedebf880fe2015-01-25 12:10:48 +0100343config GMAC_TX_DELAY
344 int "GMAC Transmit Clock Delay Chain"
345 default 0
346 ---help---
347 Set the GMAC Transmit Clock Delay Chain value.
348
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900349endif