blob: b4684de5eb05199a89078c257653d6117750168e [file] [log] [blame]
Ian Campbell2c7e3b92014-10-24 21:20:44 +01001if ARCH_SUNXI
2
Philipp Tomsichb5299932017-08-03 23:23:55 +02003config SPL_LDSCRIPT
4 default "arch/arm/cpu/armv7/sunxi/u-boot-spl.lds" if !ARM64
5
Siva Durga Prasad Paladugua4d88922016-07-29 15:31:47 +05306config IDENT_STRING
7 default " Allwinner Technology"
8
Jagan Tekidd928bf2018-01-10 16:03:34 +05309config DRAM_SUN4I
10 bool
11 help
12 Select this dram controller driver for Sun4/5/7i platforms,
13 like A10/A13/A20.
14
Jagan Tekifdfa9342018-03-17 00:16:36 +053015config DRAM_SUN6I
16 bool
17 help
18 Select this dram controller driver for Sun6i platforms,
19 like A31/A31s.
20
Jagan Teki7d0b1652018-03-17 00:18:01 +053021config DRAM_SUN9I
22 bool
23 help
24 Select this dram controller driver for Sun9i platforms,
25 like A80.
26
Jagan Teki71d9edf2018-01-11 13:21:58 +053027config SUN6I_P2WI
28 bool "Allwinner sun6i internal P2WI controller"
29 help
30 If you say yes to this option, support will be included for the
31 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
32 SOCs.
33 The P2WI looks like an SMBus controller (which supports only byte
34 accesses), except that it only supports one slave device.
35 This interface is used to connect to specific PMIC devices (like the
36 AXP221).
37
Jagan Teki2aa697a2018-01-11 13:21:15 +053038config SUN6I_PRCM
39 bool
40 help
41 Support for the PRCM (Power/Reset/Clock Management) unit available
42 in A31 SoC.
43
Jagan Teki735fb252018-02-14 22:28:30 +053044config AXP_PMIC_BUS
45 bool "Sunxi AXP PMIC bus access helpers"
46 help
47 Select this PMIC bus access helpers for Sunxi platform PRCM or other
48 AXP family PMIC devices.
49
Jagan Teki6f6f8832018-01-11 13:23:52 +053050config SUN8I_RSB
51 bool "Allwinner sunXi Reduced Serial Bus Driver"
52 help
53 Say y here to enable support for Allwinner's Reduced Serial Bus
54 (RSB) support. This controller is responsible for communicating
55 with various RSB based devices, such as AXP223, AXP8XX PMICs,
56 and AC100/AC200 ICs.
57
Andre Przywarabc613d82017-02-16 01:20:23 +000058config SUNXI_HIGH_SRAM
59 bool
60 default n
61 ---help---
62 Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
63 with the first SRAM region being located at address 0.
64 Some newer SoCs map the boot ROM at address 0 instead and move the
65 SRAM to 64KB, just behind the mask ROM.
66 Chips using the latter setup are supposed to select this option to
67 adjust the addresses accordingly.
68
Hans de Goede44d8ae52015-04-06 20:33:34 +020069# Note only one of these may be selected at a time! But hidden choices are
70# not supported by Kconfig
71config SUNXI_GEN_SUN4I
72 bool
73 ---help---
74 Select this for sunxi SoCs which have resets and clocks set up
75 as the original A10 (mach-sun4i).
76
77config SUNXI_GEN_SUN6I
78 bool
79 ---help---
80 Select this for sunxi SoCs which have sun6i like periphery, like
81 separate ahb reset control registers, custom pmic bus, new style
82 watchdog, etc.
83
Icenowy Zheng9934aba2017-06-03 17:10:14 +080084config SUNXI_DRAM_DW
85 bool
86 ---help---
87 Select this for sunxi SoCs which uses a DRAM controller like the
88 DesignWare controller used in H3, mainly SoCs after H3, which do
89 not have official open-source DRAM initialization code, but can
90 use modified H3 DRAM initialization code.
Hans de Goede44d8ae52015-04-06 20:33:34 +020091
Icenowy Zheng87098d72017-06-03 17:10:16 +080092if SUNXI_DRAM_DW
93config SUNXI_DRAM_DW_16BIT
94 bool
95 ---help---
96 Select this for sunxi SoCs with DesignWare DRAM controller and
97 have only 16-bit memory buswidth.
98
99config SUNXI_DRAM_DW_32BIT
100 bool
101 ---help---
102 Select this for sunxi SoCs with DesignWare DRAM controller with
103 32-bit memory buswidth.
104endif
105
Andre Przywara7b82a222017-02-16 01:20:27 +0000106config MACH_SUNXI_H3_H5
107 bool
Jernej Skrabeca05a4542017-04-27 00:03:37 +0200108 select DM_I2C
Jernej Skrabec1ae5def2017-03-27 19:22:31 +0200109 select SUNXI_DE2
Icenowy Zheng9934aba2017-06-03 17:10:14 +0800110 select SUNXI_DRAM_DW
Icenowy Zheng87098d72017-06-03 17:10:16 +0800111 select SUNXI_DRAM_DW_32BIT
Andre Przywara7b82a222017-02-16 01:20:27 +0000112 select SUNXI_GEN_SUN6I
113 select SUPPORT_SPL
114
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100115choice
116 prompt "Sunxi SoC Variant"
Hans de Goede3da95362016-06-12 11:57:07 +0200117 optional
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100118
Ian Campbellc3be2792014-10-24 21:20:45 +0100119config MACH_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100120 bool "sun4i (Allwinner A10)"
121 select CPU_V7
Andre Przywara85db5832017-02-16 01:20:21 +0000122 select ARM_CORTEX_CPU_IS_UP
Jagan Tekidd928bf2018-01-10 16:03:34 +0530123 select DRAM_SUN4I
Hans de Goede44d8ae52015-04-06 20:33:34 +0200124 select SUNXI_GEN_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100125 select SUPPORT_SPL
126
Ian Campbellc3be2792014-10-24 21:20:45 +0100127config MACH_SUN5I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100128 bool "sun5i (Allwinner A13)"
129 select CPU_V7
Andre Przywara85db5832017-02-16 01:20:21 +0000130 select ARM_CORTEX_CPU_IS_UP
Jagan Tekidd928bf2018-01-10 16:03:34 +0530131 select DRAM_SUN4I
Hans de Goede44d8ae52015-04-06 20:33:34 +0200132 select SUNXI_GEN_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100133 select SUPPORT_SPL
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500134 imply CONS_INDEX_2 if !DM_SERIAL
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100135
Ian Campbellc3be2792014-10-24 21:20:45 +0100136config MACH_SUN6I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100137 bool "sun6i (Allwinner A31)"
138 select CPU_V7
Chen-Yu Tsaicc08ea42015-05-28 21:25:32 +0800139 select CPU_V7_HAS_NONSEC
140 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900141 select ARCH_SUPPORT_PSCI
Jagan Tekifdfa9342018-03-17 00:16:36 +0530142 select DRAM_SUN6I
Jagan Teki71d9edf2018-01-11 13:21:58 +0530143 select SUN6I_P2WI
Jagan Teki2aa697a2018-01-11 13:21:15 +0530144 select SUN6I_PRCM
Hans de Goede44d8ae52015-04-06 20:33:34 +0200145 select SUNXI_GEN_SUN6I
Hans de Goede8c2c9cf2014-10-25 20:18:10 +0200146 select SUPPORT_SPL
Chen-Yu Tsaicc08ea42015-05-28 21:25:32 +0800147 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100148
Ian Campbellc3be2792014-10-24 21:20:45 +0100149config MACH_SUN7I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100150 bool "sun7i (Allwinner A20)"
151 select CPU_V7
Hans de Goedeea624e12014-11-14 09:34:30 +0100152 select CPU_V7_HAS_NONSEC
153 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900154 select ARCH_SUPPORT_PSCI
Jagan Tekidd928bf2018-01-10 16:03:34 +0530155 select DRAM_SUN4I
Hans de Goede44d8ae52015-04-06 20:33:34 +0200156 select SUNXI_GEN_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100157 select SUPPORT_SPL
Hans de Goedeb366fb92014-10-24 20:12:04 +0200158 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100159
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200160config MACH_SUN8I_A23
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100161 bool "sun8i (Allwinner A23)"
162 select CPU_V7
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800163 select CPU_V7_HAS_NONSEC
164 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900165 select ARCH_SUPPORT_PSCI
Hans de Goede44d8ae52015-04-06 20:33:34 +0200166 select SUNXI_GEN_SUN6I
Hans de Goede08fd1472014-12-07 14:34:27 +0100167 select SUPPORT_SPL
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800168 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500169 imply CONS_INDEX_5 if !DM_SERIAL
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100170
Vishnu Patekar8c3dacf2015-03-01 23:47:48 +0530171config MACH_SUN8I_A33
172 bool "sun8i (Allwinner A33)"
173 select CPU_V7
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800174 select CPU_V7_HAS_NONSEC
175 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900176 select ARCH_SUPPORT_PSCI
Vishnu Patekar8c3dacf2015-03-01 23:47:48 +0530177 select SUNXI_GEN_SUN6I
178 select SUPPORT_SPL
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800179 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500180 imply CONS_INDEX_5 if !DM_SERIAL
Vishnu Patekar8c3dacf2015-03-01 23:47:48 +0530181
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800182config MACH_SUN8I_A83T
183 bool "sun8i (Allwinner A83T)"
184 select CPU_V7
185 select SUNXI_GEN_SUN6I
Maxime Ripard343ff162017-08-23 12:03:42 +0200186 select MMC_SUNXI_HAS_NEW_MODE
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800187 select SUPPORT_SPL
188
Jens Kuske1c27b7d2015-11-17 15:12:58 +0100189config MACH_SUN8I_H3
190 bool "sun8i (Allwinner H3)"
191 select CPU_V7
Chen-Yu Tsai853f6d12016-01-06 15:13:09 +0800192 select CPU_V7_HAS_NONSEC
193 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900194 select ARCH_SUPPORT_PSCI
Andre Przywara7b82a222017-02-16 01:20:27 +0000195 select MACH_SUNXI_H3_H5
Chen-Yu Tsai853f6d12016-01-06 15:13:09 +0800196 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Jens Kuske1c27b7d2015-11-17 15:12:58 +0100197
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800198config MACH_SUN8I_R40
199 bool "sun8i (Allwinner R40)"
200 select CPU_V7
Chen-Yu Tsai09186482017-03-01 11:03:15 +0800201 select CPU_V7_HAS_NONSEC
202 select CPU_V7_HAS_VIRT
203 select ARCH_SUPPORT_PSCI
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800204 select SUNXI_GEN_SUN6I
Chen-Yu Tsai50ae7ae2016-12-02 16:09:49 +0800205 select SUPPORT_SPL
Icenowy Zheng9934aba2017-06-03 17:10:14 +0800206 select SUNXI_DRAM_DW
Icenowy Zheng87098d72017-06-03 17:10:16 +0800207 select SUNXI_DRAM_DW_32BIT
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800208
Icenowy Zhengc1994892017-04-08 15:30:12 +0800209config MACH_SUN8I_V3S
210 bool "sun8i (Allwinner V3s)"
211 select CPU_V7
212 select CPU_V7_HAS_NONSEC
213 select CPU_V7_HAS_VIRT
214 select ARCH_SUPPORT_PSCI
215 select SUNXI_GEN_SUN6I
Icenowy Zheng7d06e592017-06-03 17:10:22 +0800216 select SUNXI_DRAM_DW
217 select SUNXI_DRAM_DW_16BIT
218 select SUPPORT_SPL
Icenowy Zhengc1994892017-04-08 15:30:12 +0800219 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
220
Hans de Goede1871a8c2015-01-13 19:25:06 +0100221config MACH_SUN9I
222 bool "sun9i (Allwinner A80)"
223 select CPU_V7
Jagan Teki7d0b1652018-03-17 00:18:01 +0530224 select DRAM_SUN9I
Jagan Teki63928fa2018-01-11 13:23:02 +0530225 select SUN6I_PRCM
Andre Przywarabc613d82017-02-16 01:20:23 +0000226 select SUNXI_HIGH_SRAM
Hans de Goede1871a8c2015-01-13 19:25:06 +0100227 select SUNXI_GEN_SUN6I
Jagan Teki6f6f8832018-01-11 13:23:52 +0530228 select SUN8I_RSB
Philipp Tomsicha98c2962016-10-28 18:21:32 +0800229 select SUPPORT_SPL
Hans de Goede1871a8c2015-01-13 19:25:06 +0100230
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800231config MACH_SUN50I
232 bool "sun50i (Allwinner A64)"
233 select ARM64
Jernej Skrabeca05a4542017-04-27 00:03:37 +0200234 select DM_I2C
Jernej Skrabec1ae5def2017-03-27 19:22:31 +0200235 select SUNXI_DE2
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800236 select SUNXI_GEN_SUN6I
Andre Przywarabc613d82017-02-16 01:20:23 +0000237 select SUNXI_HIGH_SRAM
Andre Przywaraeb77f5c2017-01-02 11:48:45 +0000238 select SUPPORT_SPL
Icenowy Zheng9934aba2017-06-03 17:10:14 +0800239 select SUNXI_DRAM_DW
Icenowy Zheng87098d72017-06-03 17:10:16 +0800240 select SUNXI_DRAM_DW_32BIT
Andre Przywarad29adf82017-04-26 01:32:48 +0100241 select FIT
242 select SPL_LOAD_FIT
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800243
Andre Przywara997bde62017-02-16 01:20:28 +0000244config MACH_SUN50I_H5
245 bool "sun50i (Allwinner H5)"
246 select ARM64
247 select MACH_SUNXI_H3_H5
248 select SUNXI_HIGH_SRAM
Andre Przywarad29adf82017-04-26 01:32:48 +0100249 select FIT
250 select SPL_LOAD_FIT
Andre Przywara997bde62017-02-16 01:20:28 +0000251
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100252endchoice
Maxime Ripard8a6564d2014-10-03 20:16:29 +0800253
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200254# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
255config MACH_SUN8I
256 bool
Jagan Teki6f6f8832018-01-11 13:23:52 +0530257 select SUN8I_RSB
Jagan Teki63928fa2018-01-11 13:23:02 +0530258 select SUN6I_PRCM
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800259 default y if MACH_SUN8I_A23
260 default y if MACH_SUN8I_A33
261 default y if MACH_SUN8I_A83T
262 default y if MACH_SUNXI_H3_H5
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800263 default y if MACH_SUN8I_R40
Icenowy Zhengc1994892017-04-08 15:30:12 +0800264 default y if MACH_SUN8I_V3S
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200265
Andre Przywarab5402d12017-01-02 11:48:35 +0000266config RESERVE_ALLWINNER_BOOT0_HEADER
267 bool "reserve space for Allwinner boot0 header"
268 select ENABLE_ARM_SOC_BOOT0_HOOK
269 ---help---
270 Prepend a 1536 byte (empty) header to the U-Boot image file, to be
271 filled with magic values post build. The Allwinner provided boot0
272 blob relies on this information to load and execute U-Boot.
273 Only needed on 64-bit Allwinner boards so far when using boot0.
274
Andre Przywara83843c92017-01-02 11:48:36 +0000275config ARM_BOOT_HOOK_RMR
276 bool
277 depends on ARM64
278 default y
279 select ENABLE_ARM_SOC_BOOT0_HOOK
280 ---help---
281 Insert some ARM32 code at the very beginning of the U-Boot binary
282 which uses an RMR register write to bring the core into AArch64 mode.
283 The very first instruction acts as a switch, since it's carefully
284 chosen to be a NOP in one mode and a branch in the other, so the
285 code would only be executed if not already in AArch64.
286 This allows both the SPL and the U-Boot proper to be entered in
287 either mode and switch to AArch64 if needed.
288
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800289if SUNXI_DRAM_DW
290config SUNXI_DRAM_DDR3
291 bool
292
Icenowy Zheng67337e62017-06-03 17:10:20 +0800293config SUNXI_DRAM_DDR2
294 bool
295
Icenowy Zheng72cc9872017-06-03 17:10:23 +0800296config SUNXI_DRAM_LPDDR3
297 bool
298
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800299choice
300 prompt "DRAM Type and Timing"
Icenowy Zheng3ec06982017-06-03 17:10:21 +0800301 default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
302 default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800303
304config SUNXI_DRAM_DDR3_1333
305 bool "DDR3 1333"
306 select SUNXI_DRAM_DDR3
Icenowy Zheng3ec06982017-06-03 17:10:21 +0800307 depends on !MACH_SUN8I_V3S
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800308 ---help---
309 This option is the original only supported memory type, which suits
310 many H3/H5/A64 boards available now.
311
Icenowy Zhengec4670a2017-06-03 17:10:24 +0800312config SUNXI_DRAM_LPDDR3_STOCK
313 bool "LPDDR3 with Allwinner stock configuration"
314 select SUNXI_DRAM_LPDDR3
315 ---help---
316 This option is the LPDDR3 timing used by the stock boot0 by
317 Allwinner.
318
Icenowy Zheng67337e62017-06-03 17:10:20 +0800319config SUNXI_DRAM_DDR2_V3S
320 bool "DDR2 found in V3s chip"
321 select SUNXI_DRAM_DDR2
Icenowy Zheng3ec06982017-06-03 17:10:21 +0800322 depends on MACH_SUN8I_V3S
Icenowy Zheng67337e62017-06-03 17:10:20 +0800323 ---help---
324 This option is only for the DDR2 memory chip which is co-packaged in
325 Allwinner V3s SoC.
326
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800327endchoice
328endif
329
Vishnu Patekarf5fd8ca2016-01-12 01:20:58 +0800330config DRAM_TYPE
331 int "sunxi dram type"
332 depends on MACH_SUN8I_A83T
333 default 3
334 ---help---
335 Set the dram type, 3: DDR3, 7: LPDDR3
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200336
Hans de Goede37781a12014-11-15 19:46:39 +0100337config DRAM_CLK
Hans de Goede8ffc4872015-01-17 14:24:55 +0100338 int "sunxi dram clock speed"
Philipp Tomsich297bb9e2016-10-28 18:21:28 +0800339 default 792 if MACH_SUN9I
Chen-Yu Tsaifab03e32016-11-30 16:58:35 +0800340 default 648 if MACH_SUN8I_R40
Hans de Goede8ffc4872015-01-17 14:24:55 +0100341 default 312 if MACH_SUN6I || MACH_SUN8I
Icenowy Zheng7d06e592017-06-03 17:10:22 +0800342 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
343 MACH_SUN8I_V3S
Andre Przywara52e31822017-01-02 11:48:37 +0000344 default 672 if MACH_SUN50I
Hans de Goede37781a12014-11-15 19:46:39 +0100345 ---help---
Philipp Tomsich297bb9e2016-10-28 18:21:28 +0800346 Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
347 must be a multiple of 24. For the sun9i (A80), the tested values
348 (for DDR3-1600) are 312 to 792.
Hans de Goede37781a12014-11-15 19:46:39 +0100349
Siarhei Siamashka47e35012015-02-01 00:27:06 +0200350if MACH_SUN5I || MACH_SUN7I
351config DRAM_MBUS_CLK
352 int "sunxi mbus clock speed"
353 default 300
354 ---help---
355 Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
356
357endif
358
Hans de Goede37781a12014-11-15 19:46:39 +0100359config DRAM_ZQ
Hans de Goede8ffc4872015-01-17 14:24:55 +0100360 int "sunxi dram zq value"
361 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
362 default 127 if MACH_SUN7I
Icenowy Zheng7d06e592017-06-03 17:10:22 +0800363 default 14779 if MACH_SUN8I_V3S
Chen-Yu Tsaifab03e32016-11-30 16:58:35 +0800364 default 3881979 if MACH_SUN8I_R40
Chen-Yu Tsai58b628e2016-10-28 18:21:36 +0800365 default 4145117 if MACH_SUN9I
Andre Przywara52e31822017-01-02 11:48:37 +0000366 default 3881915 if MACH_SUN50I
Hans de Goede37781a12014-11-15 19:46:39 +0100367 ---help---
Hans de Goedee1a08882015-01-25 11:29:27 +0100368 Set the dram zq value.
Hans de Goede37781a12014-11-15 19:46:39 +0100369
Hans de Goede8975cdf2015-05-13 15:00:46 +0200370config DRAM_ODT_EN
371 bool "sunxi dram odt enable"
372 default n if !MACH_SUN8I_A23
373 default y if MACH_SUN8I_A23
Chen-Yu Tsaifab03e32016-11-30 16:58:35 +0800374 default y if MACH_SUN8I_R40
Andre Przywaraeb77f5c2017-01-02 11:48:45 +0000375 default y if MACH_SUN50I
Hans de Goede8975cdf2015-05-13 15:00:46 +0200376 ---help---
377 Select this to enable dram odt (on die termination).
378
Hans de Goede8ffc4872015-01-17 14:24:55 +0100379if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
380config DRAM_EMR1
381 int "sunxi dram emr1 value"
382 default 0 if MACH_SUN4I
383 default 4 if MACH_SUN5I || MACH_SUN7I
384 ---help---
Hans de Goedee1a08882015-01-25 11:29:27 +0100385 Set the dram controller emr1 value.
Siarhei Siamashkad1336472015-02-01 00:27:05 +0200386
Siarhei Siamashka47e35012015-02-01 00:27:06 +0200387config DRAM_TPR3
388 hex "sunxi dram tpr3 value"
389 default 0
390 ---help---
391 Set the dram controller tpr3 parameter. This parameter configures
392 the delay on the command lane and also phase shifts, which are
393 applied for sampling incoming read data. The default value 0
394 means that no phase/delay adjustments are necessary. Properly
395 configuring this parameter increases reliability at high DRAM
396 clock speeds.
397
398config DRAM_DQS_GATING_DELAY
399 hex "sunxi dram dqs_gating_delay value"
400 default 0
401 ---help---
402 Set the dram controller dqs_gating_delay parmeter. Each byte
403 encodes the DQS gating delay for each byte lane. The delay
404 granularity is 1/4 cycle. For example, the value 0x05060606
405 means that the delay is 5 quarter-cycles for one lane (1.25
406 cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
407 The default value 0 means autodetection. The results of hardware
408 autodetection are not very reliable and depend on the chip
409 temperature (sometimes producing different results on cold start
410 and warm reboot). But the accuracy of hardware autodetection
411 is usually good enough, unless running at really high DRAM
412 clocks speeds (up to 600MHz). If unsure, keep as 0.
413
Siarhei Siamashkad1336472015-02-01 00:27:05 +0200414choice
415 prompt "sunxi dram timings"
416 default DRAM_TIMINGS_VENDOR_MAGIC
417 ---help---
418 Select the timings of the DDR3 chips.
419
420config DRAM_TIMINGS_VENDOR_MAGIC
421 bool "Magic vendor timings from Android"
422 ---help---
423 The same DRAM timings as in the Allwinner boot0 bootloader.
424
425config DRAM_TIMINGS_DDR3_1066F_1333H
426 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
427 ---help---
428 Use the timings of the standard JEDEC DDR3-1066F speed bin for
429 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
430 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
431 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
432 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
433 that down binning to DDR3-1066F is supported (because DDR3-1066F
434 uses a bit faster timings than DDR3-1333H).
435
436config DRAM_TIMINGS_DDR3_800E_1066G_1333J
437 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
438 ---help---
439 Use the timings of the slowest possible JEDEC speed bin for the
440 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
441 DDR3-800E, DDR3-1066G or DDR3-1333J.
442
443endchoice
444
Hans de Goede37781a12014-11-15 19:46:39 +0100445endif
446
Hans de Goede8975cdf2015-05-13 15:00:46 +0200447if MACH_SUN8I_A23
448config DRAM_ODT_CORRECTION
449 int "sunxi dram odt correction value"
450 default 0
451 ---help---
452 Set the dram odt correction value (range -255 - 255). In allwinner
453 fex files, this option is found in bits 8-15 of the u32 odt_en variable
454 in the [dram] section. When bit 31 of the odt_en variable is set
455 then the correction is negative. Usually the value for this is 0.
456endif
457
Iain Patone71b4222015-03-28 10:26:38 +0000458config SYS_CLK_FREQ
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800459 default 1008000000 if MACH_SUN4I
460 default 1008000000 if MACH_SUN5I
461 default 1008000000 if MACH_SUN6I
Iain Patone71b4222015-03-28 10:26:38 +0000462 default 912000000 if MACH_SUN7I
Icenowy Zheng3cfecee2017-10-31 07:36:28 +0800463 default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800464 default 1008000000 if MACH_SUN8I
465 default 1008000000 if MACH_SUN9I
Iain Patone71b4222015-03-28 10:26:38 +0000466
Maxime Ripard8a6564d2014-10-03 20:16:29 +0800467config SYS_CONFIG_NAME
Ian Campbellc3be2792014-10-24 21:20:45 +0100468 default "sun4i" if MACH_SUN4I
469 default "sun5i" if MACH_SUN5I
470 default "sun6i" if MACH_SUN6I
471 default "sun7i" if MACH_SUN7I
472 default "sun8i" if MACH_SUN8I
Hans de Goede1871a8c2015-01-13 19:25:06 +0100473 default "sun9i" if MACH_SUN9I
Siarhei Siamashkad96ebc42016-03-29 17:29:10 +0200474 default "sun50i" if MACH_SUN50I
Hans de Goede6ae66f22014-08-01 09:28:24 +0200475
Masahiro Yamadadd840582014-07-30 14:08:14 +0900476config SYS_BOARD
Masahiro Yamadadd840582014-07-30 14:08:14 +0900477 default "sunxi"
478
479config SYS_SOC
Masahiro Yamadadd840582014-07-30 14:08:14 +0900480 default "sunxi"
481
Siarhei Siamashkaf0ce28e2014-12-25 02:34:47 +0200482config UART0_PORT_F
483 bool "UART0 on MicroSD breakout board"
Siarhei Siamashkaf0ce28e2014-12-25 02:34:47 +0200484 default n
485 ---help---
486 Repurpose the SD card slot for getting access to the UART0 serial
487 console. Primarily useful only for low level u-boot debugging on
488 tablets, where normal UART0 is difficult to access and requires
489 device disassembly and/or soldering. As the SD card can't be used
490 at the same time, the system can be only booted in the FEL mode.
491 Only enable this if you really know what you are doing.
492
Hans de Goedeaccc9e42014-10-22 14:56:36 +0200493config OLD_SUNXI_KERNEL_COMPAT
Masahiro Yamadaab650062016-08-12 10:26:50 +0900494 bool "Enable workarounds for booting old kernels"
Hans de Goedeaccc9e42014-10-22 14:56:36 +0200495 default n
496 ---help---
497 Set this to enable various workarounds for old kernels, this results in
498 sub-optimal settings for newer kernels, only enable if needed.
499
Mylène Josserandf5fd7882017-04-02 12:59:10 +0200500config MACPWR
501 string "MAC power pin"
502 default ""
503 help
504 Set the pin used to power the MAC. This takes a string in the format
505 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
506
Hans de Goedecd821132014-10-02 20:29:26 +0200507config MMC0_CD_PIN
508 string "Card detect pin for mmc0"
Andre Przywara7b82a222017-02-16 01:20:27 +0000509 default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
Hans de Goedecd821132014-10-02 20:29:26 +0200510 default ""
511 ---help---
512 Set the card detect pin for mmc0, leave empty to not use cd. This
513 takes a string in the format understood by sunxi_name_to_gpio, e.g.
514 PH1 for pin 1 of port H.
515
516config MMC1_CD_PIN
517 string "Card detect pin for mmc1"
518 default ""
519 ---help---
520 See MMC0_CD_PIN help text.
521
522config MMC2_CD_PIN
523 string "Card detect pin for mmc2"
524 default ""
525 ---help---
526 See MMC0_CD_PIN help text.
527
528config MMC3_CD_PIN
529 string "Card detect pin for mmc3"
530 default ""
531 ---help---
532 See MMC0_CD_PIN help text.
533
Paul Kocialkowski8deacca2015-03-22 18:12:23 +0100534config MMC1_PINS
535 string "Pins for mmc1"
536 default ""
537 ---help---
538 Set the pins used for mmc1, when applicable. This takes a string in the
539 format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
540
541config MMC2_PINS
542 string "Pins for mmc2"
543 default ""
544 ---help---
545 See MMC1_PINS help text.
546
547config MMC3_PINS
548 string "Pins for mmc3"
549 default ""
550 ---help---
551 See MMC1_PINS help text.
552
Hans de Goede2ccfac02014-10-02 20:43:50 +0200553config MMC_SUNXI_SLOT_EXTRA
554 int "mmc extra slot number"
555 default -1
556 ---help---
557 sunxi builds always enable mmc0, some boards also have a second sdcard
558 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
559 support for this.
560
Hans de Goede2c3c3ec2016-04-01 22:39:26 +0200561config INITIAL_USB_SCAN_DELAY
562 int "delay initial usb scan by x ms to allow builtin devices to init"
563 default 0
564 ---help---
565 Some boards have on board usb devices which need longer than the
566 USB spec's 1 second to connect from board powerup. Set this config
567 option to a non 0 value to add an extra delay before the first usb
568 bus scan.
569
Hans de Goede4458b7a2015-01-07 15:26:06 +0100570config USB0_VBUS_PIN
571 string "Vbus enable pin for usb0 (otg)"
572 default ""
573 ---help---
574 Set the Vbus enable pin for usb0 (otg). This takes a string in the
575 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
576
Hans de Goede52defe82015-02-16 22:13:43 +0100577config USB0_VBUS_DET
578 string "Vbus detect pin for usb0 (otg)"
Hans de Goede52defe82015-02-16 22:13:43 +0100579 default ""
580 ---help---
581 Set the Vbus detect pin for usb0 (otg). This takes a string in the
582 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
583
Hans de Goede48c06c92015-06-14 17:29:53 +0200584config USB0_ID_DET
585 string "ID detect pin for usb0 (otg)"
586 default ""
587 ---help---
588 Set the ID detect pin for usb0 (otg). This takes a string in the
589 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
590
Hans de Goede115200c2014-11-07 16:09:00 +0100591config USB1_VBUS_PIN
592 string "Vbus enable pin for usb1 (ehci0)"
593 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goede76946df2014-11-07 14:51:12 +0100594 default "PH27" if MACH_SUN6I
Hans de Goede115200c2014-11-07 16:09:00 +0100595 ---help---
596 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
597 a string in the format understood by sunxi_name_to_gpio, e.g.
598 PH1 for pin 1 of port H.
599
600config USB2_VBUS_PIN
601 string "Vbus enable pin for usb2 (ehci1)"
602 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goede76946df2014-11-07 14:51:12 +0100603 default "PH24" if MACH_SUN6I
Hans de Goede115200c2014-11-07 16:09:00 +0100604 ---help---
605 See USB1_VBUS_PIN help text.
606
Hans de Goede60fa6302016-03-18 08:42:01 +0100607config USB3_VBUS_PIN
608 string "Vbus enable pin for usb3 (ehci2)"
609 default ""
610 ---help---
611 See USB1_VBUS_PIN help text.
612
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200613config I2C0_ENABLE
614 bool "Enable I2C/TWI controller 0"
Chen-Yu Tsai409677e2016-11-30 15:30:30 +0800615 default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200616 default n if MACH_SUN6I || MACH_SUN8I
Hans de Goede0878a8a2016-05-15 13:51:58 +0200617 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200618 ---help---
619 This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
620 its clock and setting up the bus. This is especially useful on devices
621 with slaves connected to the bus or with pins exposed through e.g. an
622 expansion port/header.
623
624config I2C1_ENABLE
625 bool "Enable I2C/TWI controller 1"
626 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200627 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200628 ---help---
629 See I2C0_ENABLE help text.
630
631config I2C2_ENABLE
632 bool "Enable I2C/TWI controller 2"
633 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200634 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200635 ---help---
636 See I2C0_ENABLE help text.
637
638if MACH_SUN6I || MACH_SUN7I
639config I2C3_ENABLE
640 bool "Enable I2C/TWI controller 3"
641 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200642 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200643 ---help---
644 See I2C0_ENABLE help text.
645endif
646
Jelle van der Waa0d8382a2016-02-23 18:47:19 +0100647if SUNXI_GEN_SUN6I
Jelle van der Waa9d082682016-01-14 14:06:26 +0100648config R_I2C_ENABLE
649 bool "Enable the PRCM I2C/TWI controller"
Jelle van der Waa0d8382a2016-02-23 18:47:19 +0100650 # This is used for the pmic on H3
651 default y if SY8106A_POWER
Hans de Goede0878a8a2016-05-15 13:51:58 +0200652 select CMD_I2C
Jelle van der Waa9d082682016-01-14 14:06:26 +0100653 ---help---
654 Set this to y to enable the I2C controller which is part of the PRCM.
Jelle van der Waa0d8382a2016-02-23 18:47:19 +0100655endif
Jelle van der Waa9d082682016-01-14 14:06:26 +0100656
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200657if MACH_SUN7I
658config I2C4_ENABLE
659 bool "Enable I2C/TWI controller 4"
660 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200661 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200662 ---help---
663 See I2C0_ENABLE help text.
664endif
665
Hans de Goede2fcf0332015-04-25 17:25:14 +0200666config AXP_GPIO
Masahiro Yamadaab650062016-08-12 10:26:50 +0900667 bool "Enable support for gpio-s on axp PMICs"
Hans de Goede2fcf0332015-04-25 17:25:14 +0200668 default n
669 ---help---
670 Say Y here to enable support for the gpio pins of the axp PMIC ICs.
671
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800672config VIDEO_SUNXI
Masahiro Yamadaab650062016-08-12 10:26:50 +0900673 bool "Enable graphical uboot console on HDMI, LCD or VGA"
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800674 depends on !MACH_SUN8I_A83T
675 depends on !MACH_SUNXI_H3_H5
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800676 depends on !MACH_SUN8I_R40
Icenowy Zhengc1994892017-04-08 15:30:12 +0800677 depends on !MACH_SUN8I_V3S
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800678 depends on !MACH_SUN9I
679 depends on !MACH_SUN50I
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800680 select VIDEO
Icenowy Zhengf6bdddc2017-10-26 11:14:46 +0800681 imply VIDEO_DT_SIMPLEFB
Luc Verhaegen7f2c5212014-08-13 07:55:06 +0200682 default y
683 ---help---
Hans de Goede2dae8002014-12-21 16:28:32 +0100684 Say Y here to add support for using a cfb console on the HDMI, LCD
685 or VGA output found on most sunxi devices. See doc/README.video for
686 info on how to select the video output and mode.
687
Hans de Goede2fbf0912014-12-23 23:04:35 +0100688config VIDEO_HDMI
Masahiro Yamadaab650062016-08-12 10:26:50 +0900689 bool "HDMI output support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800690 depends on VIDEO_SUNXI && !MACH_SUN8I
Hans de Goede2fbf0912014-12-23 23:04:35 +0100691 default y
692 ---help---
693 Say Y here to add support for outputting video over HDMI.
694
Hans de Goeded9786d22014-12-25 13:58:06 +0100695config VIDEO_VGA
Masahiro Yamadaab650062016-08-12 10:26:50 +0900696 bool "VGA output support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800697 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I)
Hans de Goeded9786d22014-12-25 13:58:06 +0100698 default n
699 ---help---
700 Say Y here to add support for outputting video over VGA.
701
Hans de Goedee2bbdfb2014-12-24 12:17:07 +0100702config VIDEO_VGA_VIA_LCD
Masahiro Yamadaab650062016-08-12 10:26:50 +0900703 bool "VGA via LCD controller support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800704 depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedee2bbdfb2014-12-24 12:17:07 +0100705 default n
706 ---help---
707 Say Y here to add support for external DACs connected to the parallel
708 LCD interface driving a VGA connector, such as found on the
709 Olimex A13 boards.
710
Hans de Goedefb75d972015-01-25 15:33:07 +0100711config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
Masahiro Yamadaab650062016-08-12 10:26:50 +0900712 bool "Force sync active high for VGA via LCD controller support"
Hans de Goedefb75d972015-01-25 15:33:07 +0100713 depends on VIDEO_VGA_VIA_LCD
714 default n
715 ---help---
716 Say Y here if you've a board which uses opendrain drivers for the vga
717 hsync and vsync signals. Opendrain drivers cannot generate steep enough
718 positive edges for a stable video output, so on boards with opendrain
719 drivers the sync signals must always be active high.
720
Chen-Yu Tsai507e27d2015-01-12 18:02:11 +0800721config VIDEO_VGA_EXTERNAL_DAC_EN
722 string "LCD panel power enable pin"
723 depends on VIDEO_VGA_VIA_LCD
724 default ""
725 ---help---
726 Set the enable pin for the external VGA DAC. This takes a string in the
727 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
728
Hans de Goede39920c82015-08-03 19:20:26 +0200729config VIDEO_COMPOSITE
Masahiro Yamadaab650062016-08-12 10:26:50 +0900730 bool "Composite video output support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800731 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
Hans de Goede39920c82015-08-03 19:20:26 +0200732 default n
733 ---help---
734 Say Y here to add support for outputting composite video.
735
Hans de Goede2dae8002014-12-21 16:28:32 +0100736config VIDEO_LCD_MODE
737 string "LCD panel timing details"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800738 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100739 default ""
740 ---help---
741 LCD panel timing details string, leave empty if there is no LCD panel.
742 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
743 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
Hans de Goede8addd3e2015-08-16 11:23:42 +0200744 Also see: http://linux-sunxi.org/LCD
Hans de Goede2dae8002014-12-21 16:28:32 +0100745
Hans de Goede65150322015-01-13 13:21:46 +0100746config VIDEO_LCD_DCLK_PHASE
747 int "LCD panel display clock phase"
Vasily Khoruzhick1d7eef32017-10-26 21:51:52 -0700748 depends on VIDEO_SUNXI || DM_VIDEO
Hans de Goede65150322015-01-13 13:21:46 +0100749 default 1
750 ---help---
751 Select LCD panel display clock phase shift, range 0-3.
752
Hans de Goede2dae8002014-12-21 16:28:32 +0100753config VIDEO_LCD_POWER
754 string "LCD panel power enable pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800755 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100756 default ""
757 ---help---
758 Set the power enable pin for the LCD panel. This takes a string in the
759 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
760
Hans de Goede242e3d82015-02-16 17:26:41 +0100761config VIDEO_LCD_RESET
762 string "LCD panel reset pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800763 depends on VIDEO_SUNXI
Hans de Goede242e3d82015-02-16 17:26:41 +0100764 default ""
765 ---help---
766 Set the reset pin for the LCD panel. This takes a string in the format
767 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
768
Hans de Goede2dae8002014-12-21 16:28:32 +0100769config VIDEO_LCD_BL_EN
770 string "LCD panel backlight enable pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800771 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100772 default ""
773 ---help---
774 Set the backlight enable pin for the LCD panel. This takes a string in the
775 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
776 port H.
777
778config VIDEO_LCD_BL_PWM
779 string "LCD panel backlight pwm pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800780 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100781 default ""
782 ---help---
783 Set the backlight pwm pin for the LCD panel. This takes a string in the
784 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegen7f2c5212014-08-13 07:55:06 +0200785
Hans de Goedea7403ae2015-01-22 21:02:42 +0100786config VIDEO_LCD_BL_PWM_ACTIVE_LOW
787 bool "LCD panel backlight pwm is inverted"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800788 depends on VIDEO_SUNXI
Hans de Goedea7403ae2015-01-22 21:02:42 +0100789 default y
790 ---help---
791 Set this if the backlight pwm output is active low.
792
Hans de Goede55410082015-02-16 17:23:25 +0100793config VIDEO_LCD_PANEL_I2C
794 bool "LCD panel needs to be configured via i2c"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800795 depends on VIDEO_SUNXI
Hans de Goede1fc42012015-03-07 12:00:02 +0100796 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200797 select CMD_I2C
Hans de Goede55410082015-02-16 17:23:25 +0100798 ---help---
799 Say y here if the LCD panel needs to be configured via i2c. This
800 will add a bitbang i2c controller using gpios to talk to the LCD.
801
802config VIDEO_LCD_PANEL_I2C_SDA
803 string "LCD panel i2c interface SDA pin"
804 depends on VIDEO_LCD_PANEL_I2C
805 default "PG12"
806 ---help---
807 Set the SDA pin for the LCD i2c interface. This takes a string in the
808 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
809
810config VIDEO_LCD_PANEL_I2C_SCL
811 string "LCD panel i2c interface SCL pin"
812 depends on VIDEO_LCD_PANEL_I2C
813 default "PG10"
814 ---help---
815 Set the SCL pin for the LCD i2c interface. This takes a string in the
816 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
817
Hans de Goede213480e2015-01-01 22:04:34 +0100818
819# Note only one of these may be selected at a time! But hidden choices are
820# not supported by Kconfig
821config VIDEO_LCD_IF_PARALLEL
822 bool
823
824config VIDEO_LCD_IF_LVDS
825 bool
826
Jernej Skrabec1ae5def2017-03-27 19:22:31 +0200827config SUNXI_DE2
828 bool
829 default n
830
Jernej Skrabec56009452017-03-27 19:22:32 +0200831config VIDEO_DE2
832 bool "Display Engine 2 video driver"
833 depends on SUNXI_DE2
834 select DM_VIDEO
835 select DISPLAY
Icenowy Zhengbe5b96f2017-10-26 11:14:47 +0800836 imply VIDEO_DT_SIMPLEFB
Jernej Skrabec56009452017-03-27 19:22:32 +0200837 default y
838 ---help---
839 Say y here if you want to build DE2 video driver which is present on
840 newer SoCs. Currently only HDMI output is supported.
841
Hans de Goede213480e2015-01-01 22:04:34 +0100842
843choice
844 prompt "LCD panel support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800845 depends on VIDEO_SUNXI
Hans de Goede213480e2015-01-01 22:04:34 +0100846 ---help---
847 Select which type of LCD panel to support.
848
849config VIDEO_LCD_PANEL_PARALLEL
850 bool "Generic parallel interface LCD panel"
851 select VIDEO_LCD_IF_PARALLEL
852
853config VIDEO_LCD_PANEL_LVDS
854 bool "Generic lvds interface LCD panel"
855 select VIDEO_LCD_IF_LVDS
856
Siarhei Siamashka97ece832015-01-19 05:23:33 +0200857config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
858 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
859 select VIDEO_LCD_SSD2828
860 select VIDEO_LCD_IF_PARALLEL
861 ---help---
Hans de Goedec1cfd512015-08-08 16:13:53 +0200862 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
863
864config VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
865 bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
866 select VIDEO_LCD_ANX9804
867 select VIDEO_LCD_IF_PARALLEL
868 select VIDEO_LCD_PANEL_I2C
869 ---help---
870 Select this for eDP LCD panels with 4 lanes running at 1.62G,
871 connected via an ANX9804 bridge chip.
Siarhei Siamashka97ece832015-01-19 05:23:33 +0200872
Hans de Goede27515b22015-01-20 09:23:36 +0100873config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
874 bool "Hitachi tx18d42vm LCD panel"
875 select VIDEO_LCD_HITACHI_TX18D42VM
876 select VIDEO_LCD_IF_LVDS
877 ---help---
878 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
879
Hans de Goedeaad2ac22015-02-16 17:49:47 +0100880config VIDEO_LCD_TL059WV5C0
881 bool "tl059wv5c0 LCD panel"
882 select VIDEO_LCD_PANEL_I2C
883 select VIDEO_LCD_IF_PARALLEL
884 ---help---
885 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
886 Aigo M60/M608/M606 tablets.
887
Hans de Goede213480e2015-01-01 22:04:34 +0100888endchoice
889
Mylène Josserandd7b560e2017-04-02 12:59:09 +0200890config SATAPWR
891 string "SATA power pin"
892 default ""
893 help
894 Set the pins used to power the SATA. This takes a string in the
895 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
896 port H.
Hans de Goede213480e2015-01-01 22:04:34 +0100897
Hans de Goedec13f60d2015-01-25 12:10:48 +0100898config GMAC_TX_DELAY
899 int "GMAC Transmit Clock Delay Chain"
900 default 0
901 ---help---
902 Set the GMAC Transmit Clock Delay Chain value.
903
Hans de Goedeff42d102015-09-13 13:02:48 +0200904config SPL_STACK_R_ADDR
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800905 default 0x4fe00000 if MACH_SUN4I
906 default 0x4fe00000 if MACH_SUN5I
907 default 0x4fe00000 if MACH_SUN6I
908 default 0x4fe00000 if MACH_SUN7I
909 default 0x4fe00000 if MACH_SUN8I
Hans de Goedeff42d102015-09-13 13:02:48 +0200910 default 0x2fe00000 if MACH_SUN9I
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800911 default 0x4fe00000 if MACH_SUN50I
Hans de Goedeff42d102015-09-13 13:02:48 +0200912
Jagan Tekic2a7a7e2018-02-06 22:42:56 +0530913config SPL_SPI_SUNXI
914 bool "Support for SPI Flash on Allwinner SoCs in SPL"
915 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
916 help
917 Enable support for SPI Flash. This option allows SPL to read from
918 sunxi SPI Flash. It uses the same method as the boot ROM, so does
919 not need any extra configuration.
920
Masahiro Yamadadd840582014-07-30 14:08:14 +0900921endif