blob: 5e4f616eb84216757c58d16f7d5251e93cc4178c [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 Tekiaf303932018-01-10 16:15:14 +053021config DRAM_SUN8I_A23
22 bool
23 help
24 Select this dram controller driver for Sun8i platforms,
25 for A23 SOC.
26
Jagan Teki7d0b1652018-03-17 00:18:01 +053027config DRAM_SUN9I
28 bool
29 help
30 Select this dram controller driver for Sun9i platforms,
31 like A80.
32
Jagan Teki71d9edf2018-01-11 13:21:58 +053033config SUN6I_P2WI
34 bool "Allwinner sun6i internal P2WI controller"
35 help
36 If you say yes to this option, support will be included for the
37 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
38 SOCs.
39 The P2WI looks like an SMBus controller (which supports only byte
40 accesses), except that it only supports one slave device.
41 This interface is used to connect to specific PMIC devices (like the
42 AXP221).
43
Jagan Teki2aa697a2018-01-11 13:21:15 +053044config SUN6I_PRCM
45 bool
46 help
47 Support for the PRCM (Power/Reset/Clock Management) unit available
48 in A31 SoC.
49
Jagan Teki735fb252018-02-14 22:28:30 +053050config AXP_PMIC_BUS
51 bool "Sunxi AXP PMIC bus access helpers"
52 help
53 Select this PMIC bus access helpers for Sunxi platform PRCM or other
54 AXP family PMIC devices.
55
Jagan Teki6f6f8832018-01-11 13:23:52 +053056config SUN8I_RSB
57 bool "Allwinner sunXi Reduced Serial Bus Driver"
58 help
59 Say y here to enable support for Allwinner's Reduced Serial Bus
60 (RSB) support. This controller is responsible for communicating
61 with various RSB based devices, such as AXP223, AXP8XX PMICs,
62 and AC100/AC200 ICs.
63
Andre Przywarabc613d82017-02-16 01:20:23 +000064config SUNXI_HIGH_SRAM
65 bool
66 default n
67 ---help---
68 Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
69 with the first SRAM region being located at address 0.
70 Some newer SoCs map the boot ROM at address 0 instead and move the
71 SRAM to 64KB, just behind the mask ROM.
72 Chips using the latter setup are supposed to select this option to
73 adjust the addresses accordingly.
74
Hans de Goede44d8ae52015-04-06 20:33:34 +020075# Note only one of these may be selected at a time! But hidden choices are
76# not supported by Kconfig
77config SUNXI_GEN_SUN4I
78 bool
79 ---help---
80 Select this for sunxi SoCs which have resets and clocks set up
81 as the original A10 (mach-sun4i).
82
83config SUNXI_GEN_SUN6I
84 bool
85 ---help---
86 Select this for sunxi SoCs which have sun6i like periphery, like
87 separate ahb reset control registers, custom pmic bus, new style
88 watchdog, etc.
89
Icenowy Zheng9934aba2017-06-03 17:10:14 +080090config SUNXI_DRAM_DW
91 bool
92 ---help---
93 Select this for sunxi SoCs which uses a DRAM controller like the
94 DesignWare controller used in H3, mainly SoCs after H3, which do
95 not have official open-source DRAM initialization code, but can
96 use modified H3 DRAM initialization code.
Hans de Goede44d8ae52015-04-06 20:33:34 +020097
Icenowy Zheng87098d72017-06-03 17:10:16 +080098if SUNXI_DRAM_DW
99config SUNXI_DRAM_DW_16BIT
100 bool
101 ---help---
102 Select this for sunxi SoCs with DesignWare DRAM controller and
103 have only 16-bit memory buswidth.
104
105config SUNXI_DRAM_DW_32BIT
106 bool
107 ---help---
108 Select this for sunxi SoCs with DesignWare DRAM controller with
109 32-bit memory buswidth.
110endif
111
Andre Przywara7b82a222017-02-16 01:20:27 +0000112config MACH_SUNXI_H3_H5
113 bool
Jernej Skrabeca05a4542017-04-27 00:03:37 +0200114 select DM_I2C
Jernej Skrabec1ae5def2017-03-27 19:22:31 +0200115 select SUNXI_DE2
Icenowy Zheng9934aba2017-06-03 17:10:14 +0800116 select SUNXI_DRAM_DW
Icenowy Zheng87098d72017-06-03 17:10:16 +0800117 select SUNXI_DRAM_DW_32BIT
Andre Przywara7b82a222017-02-16 01:20:27 +0000118 select SUNXI_GEN_SUN6I
119 select SUPPORT_SPL
120
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100121choice
122 prompt "Sunxi SoC Variant"
Hans de Goede3da95362016-06-12 11:57:07 +0200123 optional
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100124
Ian Campbellc3be2792014-10-24 21:20:45 +0100125config MACH_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100126 bool "sun4i (Allwinner A10)"
127 select CPU_V7
Andre Przywara85db5832017-02-16 01:20:21 +0000128 select ARM_CORTEX_CPU_IS_UP
Jagan Tekidd928bf2018-01-10 16:03:34 +0530129 select DRAM_SUN4I
Hans de Goede44d8ae52015-04-06 20:33:34 +0200130 select SUNXI_GEN_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100131 select SUPPORT_SPL
132
Ian Campbellc3be2792014-10-24 21:20:45 +0100133config MACH_SUN5I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100134 bool "sun5i (Allwinner A13)"
135 select CPU_V7
Andre Przywara85db5832017-02-16 01:20:21 +0000136 select ARM_CORTEX_CPU_IS_UP
Jagan Tekidd928bf2018-01-10 16:03:34 +0530137 select DRAM_SUN4I
Hans de Goede44d8ae52015-04-06 20:33:34 +0200138 select SUNXI_GEN_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100139 select SUPPORT_SPL
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500140 imply CONS_INDEX_2 if !DM_SERIAL
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100141
Ian Campbellc3be2792014-10-24 21:20:45 +0100142config MACH_SUN6I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100143 bool "sun6i (Allwinner A31)"
144 select CPU_V7
Chen-Yu Tsaicc08ea42015-05-28 21:25:32 +0800145 select CPU_V7_HAS_NONSEC
146 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900147 select ARCH_SUPPORT_PSCI
Jagan Tekifdfa9342018-03-17 00:16:36 +0530148 select DRAM_SUN6I
Jagan Teki71d9edf2018-01-11 13:21:58 +0530149 select SUN6I_P2WI
Jagan Teki2aa697a2018-01-11 13:21:15 +0530150 select SUN6I_PRCM
Hans de Goede44d8ae52015-04-06 20:33:34 +0200151 select SUNXI_GEN_SUN6I
Hans de Goede8c2c9cf2014-10-25 20:18:10 +0200152 select SUPPORT_SPL
Chen-Yu Tsaicc08ea42015-05-28 21:25:32 +0800153 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100154
Ian Campbellc3be2792014-10-24 21:20:45 +0100155config MACH_SUN7I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100156 bool "sun7i (Allwinner A20)"
157 select CPU_V7
Hans de Goedeea624e12014-11-14 09:34:30 +0100158 select CPU_V7_HAS_NONSEC
159 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900160 select ARCH_SUPPORT_PSCI
Jagan Tekidd928bf2018-01-10 16:03:34 +0530161 select DRAM_SUN4I
Hans de Goede44d8ae52015-04-06 20:33:34 +0200162 select SUNXI_GEN_SUN4I
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100163 select SUPPORT_SPL
Hans de Goedeb366fb92014-10-24 20:12:04 +0200164 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100165
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200166config MACH_SUN8I_A23
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100167 bool "sun8i (Allwinner A23)"
168 select CPU_V7
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800169 select CPU_V7_HAS_NONSEC
170 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900171 select ARCH_SUPPORT_PSCI
Jagan Tekiaf303932018-01-10 16:15:14 +0530172 select DRAM_SUN8I_A23
Hans de Goede44d8ae52015-04-06 20:33:34 +0200173 select SUNXI_GEN_SUN6I
Hans de Goede08fd1472014-12-07 14:34:27 +0100174 select SUPPORT_SPL
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800175 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500176 imply CONS_INDEX_5 if !DM_SERIAL
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100177
Vishnu Patekar8c3dacf2015-03-01 23:47:48 +0530178config MACH_SUN8I_A33
179 bool "sun8i (Allwinner A33)"
180 select CPU_V7
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800181 select CPU_V7_HAS_NONSEC
182 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900183 select ARCH_SUPPORT_PSCI
Vishnu Patekar8c3dacf2015-03-01 23:47:48 +0530184 select SUNXI_GEN_SUN6I
185 select SUPPORT_SPL
Chen-Yu Tsai014414f2015-05-28 21:25:34 +0800186 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500187 imply CONS_INDEX_5 if !DM_SERIAL
Vishnu Patekar8c3dacf2015-03-01 23:47:48 +0530188
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800189config MACH_SUN8I_A83T
190 bool "sun8i (Allwinner A83T)"
191 select CPU_V7
192 select SUNXI_GEN_SUN6I
Maxime Ripard343ff162017-08-23 12:03:42 +0200193 select MMC_SUNXI_HAS_NEW_MODE
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800194 select SUPPORT_SPL
195
Jens Kuske1c27b7d2015-11-17 15:12:58 +0100196config MACH_SUN8I_H3
197 bool "sun8i (Allwinner H3)"
198 select CPU_V7
Chen-Yu Tsai853f6d12016-01-06 15:13:09 +0800199 select CPU_V7_HAS_NONSEC
200 select CPU_V7_HAS_VIRT
Masahiro Yamada217f92b2016-08-30 16:22:22 +0900201 select ARCH_SUPPORT_PSCI
Andre Przywara7b82a222017-02-16 01:20:27 +0000202 select MACH_SUNXI_H3_H5
Chen-Yu Tsai853f6d12016-01-06 15:13:09 +0800203 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Jens Kuske1c27b7d2015-11-17 15:12:58 +0100204
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800205config MACH_SUN8I_R40
206 bool "sun8i (Allwinner R40)"
207 select CPU_V7
Chen-Yu Tsai09186482017-03-01 11:03:15 +0800208 select CPU_V7_HAS_NONSEC
209 select CPU_V7_HAS_VIRT
210 select ARCH_SUPPORT_PSCI
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800211 select SUNXI_GEN_SUN6I
Chen-Yu Tsai50ae7ae2016-12-02 16:09:49 +0800212 select SUPPORT_SPL
Icenowy Zheng9934aba2017-06-03 17:10:14 +0800213 select SUNXI_DRAM_DW
Icenowy Zheng87098d72017-06-03 17:10:16 +0800214 select SUNXI_DRAM_DW_32BIT
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800215
Icenowy Zhengc1994892017-04-08 15:30:12 +0800216config MACH_SUN8I_V3S
217 bool "sun8i (Allwinner V3s)"
218 select CPU_V7
219 select CPU_V7_HAS_NONSEC
220 select CPU_V7_HAS_VIRT
221 select ARCH_SUPPORT_PSCI
222 select SUNXI_GEN_SUN6I
Icenowy Zheng7d06e592017-06-03 17:10:22 +0800223 select SUNXI_DRAM_DW
224 select SUNXI_DRAM_DW_16BIT
225 select SUPPORT_SPL
Icenowy Zhengc1994892017-04-08 15:30:12 +0800226 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
227
Hans de Goede1871a8c2015-01-13 19:25:06 +0100228config MACH_SUN9I
229 bool "sun9i (Allwinner A80)"
230 select CPU_V7
Jagan Teki7d0b1652018-03-17 00:18:01 +0530231 select DRAM_SUN9I
Jagan Teki63928fa2018-01-11 13:23:02 +0530232 select SUN6I_PRCM
Andre Przywarabc613d82017-02-16 01:20:23 +0000233 select SUNXI_HIGH_SRAM
Hans de Goede1871a8c2015-01-13 19:25:06 +0100234 select SUNXI_GEN_SUN6I
Jagan Teki6f6f8832018-01-11 13:23:52 +0530235 select SUN8I_RSB
Philipp Tomsicha98c2962016-10-28 18:21:32 +0800236 select SUPPORT_SPL
Hans de Goede1871a8c2015-01-13 19:25:06 +0100237
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800238config MACH_SUN50I
239 bool "sun50i (Allwinner A64)"
240 select ARM64
Jernej Skrabeca05a4542017-04-27 00:03:37 +0200241 select DM_I2C
Jernej Skrabec1ae5def2017-03-27 19:22:31 +0200242 select SUNXI_DE2
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800243 select SUNXI_GEN_SUN6I
Andre Przywarabc613d82017-02-16 01:20:23 +0000244 select SUNXI_HIGH_SRAM
Andre Przywaraeb77f5c2017-01-02 11:48:45 +0000245 select SUPPORT_SPL
Icenowy Zheng9934aba2017-06-03 17:10:14 +0800246 select SUNXI_DRAM_DW
Icenowy Zheng87098d72017-06-03 17:10:16 +0800247 select SUNXI_DRAM_DW_32BIT
Andre Przywarad29adf82017-04-26 01:32:48 +0100248 select FIT
249 select SPL_LOAD_FIT
Chen-Yu Tsaia81b7992016-05-02 10:28:07 +0800250
Andre Przywara997bde62017-02-16 01:20:28 +0000251config MACH_SUN50I_H5
252 bool "sun50i (Allwinner H5)"
253 select ARM64
254 select MACH_SUNXI_H3_H5
255 select SUNXI_HIGH_SRAM
Andre Przywarad29adf82017-04-26 01:32:48 +0100256 select FIT
257 select SPL_LOAD_FIT
Andre Przywara997bde62017-02-16 01:20:28 +0000258
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100259endchoice
Maxime Ripard8a6564d2014-10-03 20:16:29 +0800260
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200261# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
262config MACH_SUN8I
263 bool
Jagan Teki6f6f8832018-01-11 13:23:52 +0530264 select SUN8I_RSB
Jagan Teki63928fa2018-01-11 13:23:02 +0530265 select SUN6I_PRCM
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800266 default y if MACH_SUN8I_A23
267 default y if MACH_SUN8I_A33
268 default y if MACH_SUN8I_A83T
269 default y if MACH_SUNXI_H3_H5
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800270 default y if MACH_SUN8I_R40
Icenowy Zhengc1994892017-04-08 15:30:12 +0800271 default y if MACH_SUN8I_V3S
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200272
Andre Przywarab5402d12017-01-02 11:48:35 +0000273config RESERVE_ALLWINNER_BOOT0_HEADER
274 bool "reserve space for Allwinner boot0 header"
275 select ENABLE_ARM_SOC_BOOT0_HOOK
276 ---help---
277 Prepend a 1536 byte (empty) header to the U-Boot image file, to be
278 filled with magic values post build. The Allwinner provided boot0
279 blob relies on this information to load and execute U-Boot.
280 Only needed on 64-bit Allwinner boards so far when using boot0.
281
Andre Przywara83843c92017-01-02 11:48:36 +0000282config ARM_BOOT_HOOK_RMR
283 bool
284 depends on ARM64
285 default y
286 select ENABLE_ARM_SOC_BOOT0_HOOK
287 ---help---
288 Insert some ARM32 code at the very beginning of the U-Boot binary
289 which uses an RMR register write to bring the core into AArch64 mode.
290 The very first instruction acts as a switch, since it's carefully
291 chosen to be a NOP in one mode and a branch in the other, so the
292 code would only be executed if not already in AArch64.
293 This allows both the SPL and the U-Boot proper to be entered in
294 either mode and switch to AArch64 if needed.
295
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800296if SUNXI_DRAM_DW
297config SUNXI_DRAM_DDR3
298 bool
299
Icenowy Zheng67337e62017-06-03 17:10:20 +0800300config SUNXI_DRAM_DDR2
301 bool
302
Icenowy Zheng72cc9872017-06-03 17:10:23 +0800303config SUNXI_DRAM_LPDDR3
304 bool
305
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800306choice
307 prompt "DRAM Type and Timing"
Icenowy Zheng3ec06982017-06-03 17:10:21 +0800308 default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
309 default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800310
311config SUNXI_DRAM_DDR3_1333
312 bool "DDR3 1333"
313 select SUNXI_DRAM_DDR3
Icenowy Zheng3ec06982017-06-03 17:10:21 +0800314 depends on !MACH_SUN8I_V3S
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800315 ---help---
316 This option is the original only supported memory type, which suits
317 many H3/H5/A64 boards available now.
318
Icenowy Zhengec4670a2017-06-03 17:10:24 +0800319config SUNXI_DRAM_LPDDR3_STOCK
320 bool "LPDDR3 with Allwinner stock configuration"
321 select SUNXI_DRAM_LPDDR3
322 ---help---
323 This option is the LPDDR3 timing used by the stock boot0 by
324 Allwinner.
325
Icenowy Zheng67337e62017-06-03 17:10:20 +0800326config SUNXI_DRAM_DDR2_V3S
327 bool "DDR2 found in V3s chip"
328 select SUNXI_DRAM_DDR2
Icenowy Zheng3ec06982017-06-03 17:10:21 +0800329 depends on MACH_SUN8I_V3S
Icenowy Zheng67337e62017-06-03 17:10:20 +0800330 ---help---
331 This option is only for the DDR2 memory chip which is co-packaged in
332 Allwinner V3s SoC.
333
Icenowy Zhengf6457ce2017-06-03 17:10:18 +0800334endchoice
335endif
336
Vishnu Patekarf5fd8ca2016-01-12 01:20:58 +0800337config DRAM_TYPE
338 int "sunxi dram type"
339 depends on MACH_SUN8I_A83T
340 default 3
341 ---help---
342 Set the dram type, 3: DDR3, 7: LPDDR3
Hans de Goede5e6bacd2015-04-06 20:55:39 +0200343
Hans de Goede37781a12014-11-15 19:46:39 +0100344config DRAM_CLK
Hans de Goede8ffc4872015-01-17 14:24:55 +0100345 int "sunxi dram clock speed"
Philipp Tomsich297bb9e2016-10-28 18:21:28 +0800346 default 792 if MACH_SUN9I
Chen-Yu Tsaifab03e32016-11-30 16:58:35 +0800347 default 648 if MACH_SUN8I_R40
Hans de Goede8ffc4872015-01-17 14:24:55 +0100348 default 312 if MACH_SUN6I || MACH_SUN8I
Icenowy Zheng7d06e592017-06-03 17:10:22 +0800349 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
350 MACH_SUN8I_V3S
Andre Przywara52e31822017-01-02 11:48:37 +0000351 default 672 if MACH_SUN50I
Hans de Goede37781a12014-11-15 19:46:39 +0100352 ---help---
Philipp Tomsich297bb9e2016-10-28 18:21:28 +0800353 Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
354 must be a multiple of 24. For the sun9i (A80), the tested values
355 (for DDR3-1600) are 312 to 792.
Hans de Goede37781a12014-11-15 19:46:39 +0100356
Siarhei Siamashka47e35012015-02-01 00:27:06 +0200357if MACH_SUN5I || MACH_SUN7I
358config DRAM_MBUS_CLK
359 int "sunxi mbus clock speed"
360 default 300
361 ---help---
362 Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
363
364endif
365
Hans de Goede37781a12014-11-15 19:46:39 +0100366config DRAM_ZQ
Hans de Goede8ffc4872015-01-17 14:24:55 +0100367 int "sunxi dram zq value"
368 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
369 default 127 if MACH_SUN7I
Icenowy Zheng7d06e592017-06-03 17:10:22 +0800370 default 14779 if MACH_SUN8I_V3S
Chen-Yu Tsaifab03e32016-11-30 16:58:35 +0800371 default 3881979 if MACH_SUN8I_R40
Chen-Yu Tsai58b628e2016-10-28 18:21:36 +0800372 default 4145117 if MACH_SUN9I
Andre Przywara52e31822017-01-02 11:48:37 +0000373 default 3881915 if MACH_SUN50I
Hans de Goede37781a12014-11-15 19:46:39 +0100374 ---help---
Hans de Goedee1a08882015-01-25 11:29:27 +0100375 Set the dram zq value.
Hans de Goede37781a12014-11-15 19:46:39 +0100376
Hans de Goede8975cdf2015-05-13 15:00:46 +0200377config DRAM_ODT_EN
378 bool "sunxi dram odt enable"
379 default n if !MACH_SUN8I_A23
380 default y if MACH_SUN8I_A23
Chen-Yu Tsaifab03e32016-11-30 16:58:35 +0800381 default y if MACH_SUN8I_R40
Andre Przywaraeb77f5c2017-01-02 11:48:45 +0000382 default y if MACH_SUN50I
Hans de Goede8975cdf2015-05-13 15:00:46 +0200383 ---help---
384 Select this to enable dram odt (on die termination).
385
Hans de Goede8ffc4872015-01-17 14:24:55 +0100386if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
387config DRAM_EMR1
388 int "sunxi dram emr1 value"
389 default 0 if MACH_SUN4I
390 default 4 if MACH_SUN5I || MACH_SUN7I
391 ---help---
Hans de Goedee1a08882015-01-25 11:29:27 +0100392 Set the dram controller emr1 value.
Siarhei Siamashkad1336472015-02-01 00:27:05 +0200393
Siarhei Siamashka47e35012015-02-01 00:27:06 +0200394config DRAM_TPR3
395 hex "sunxi dram tpr3 value"
396 default 0
397 ---help---
398 Set the dram controller tpr3 parameter. This parameter configures
399 the delay on the command lane and also phase shifts, which are
400 applied for sampling incoming read data. The default value 0
401 means that no phase/delay adjustments are necessary. Properly
402 configuring this parameter increases reliability at high DRAM
403 clock speeds.
404
405config DRAM_DQS_GATING_DELAY
406 hex "sunxi dram dqs_gating_delay value"
407 default 0
408 ---help---
409 Set the dram controller dqs_gating_delay parmeter. Each byte
410 encodes the DQS gating delay for each byte lane. The delay
411 granularity is 1/4 cycle. For example, the value 0x05060606
412 means that the delay is 5 quarter-cycles for one lane (1.25
413 cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
414 The default value 0 means autodetection. The results of hardware
415 autodetection are not very reliable and depend on the chip
416 temperature (sometimes producing different results on cold start
417 and warm reboot). But the accuracy of hardware autodetection
418 is usually good enough, unless running at really high DRAM
419 clocks speeds (up to 600MHz). If unsure, keep as 0.
420
Siarhei Siamashkad1336472015-02-01 00:27:05 +0200421choice
422 prompt "sunxi dram timings"
423 default DRAM_TIMINGS_VENDOR_MAGIC
424 ---help---
425 Select the timings of the DDR3 chips.
426
427config DRAM_TIMINGS_VENDOR_MAGIC
428 bool "Magic vendor timings from Android"
429 ---help---
430 The same DRAM timings as in the Allwinner boot0 bootloader.
431
432config DRAM_TIMINGS_DDR3_1066F_1333H
433 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
434 ---help---
435 Use the timings of the standard JEDEC DDR3-1066F speed bin for
436 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
437 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
438 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
439 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
440 that down binning to DDR3-1066F is supported (because DDR3-1066F
441 uses a bit faster timings than DDR3-1333H).
442
443config DRAM_TIMINGS_DDR3_800E_1066G_1333J
444 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
445 ---help---
446 Use the timings of the slowest possible JEDEC speed bin for the
447 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
448 DDR3-800E, DDR3-1066G or DDR3-1333J.
449
450endchoice
451
Hans de Goede37781a12014-11-15 19:46:39 +0100452endif
453
Hans de Goede8975cdf2015-05-13 15:00:46 +0200454if MACH_SUN8I_A23
455config DRAM_ODT_CORRECTION
456 int "sunxi dram odt correction value"
457 default 0
458 ---help---
459 Set the dram odt correction value (range -255 - 255). In allwinner
460 fex files, this option is found in bits 8-15 of the u32 odt_en variable
461 in the [dram] section. When bit 31 of the odt_en variable is set
462 then the correction is negative. Usually the value for this is 0.
463endif
464
Iain Patone71b4222015-03-28 10:26:38 +0000465config SYS_CLK_FREQ
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800466 default 1008000000 if MACH_SUN4I
467 default 1008000000 if MACH_SUN5I
468 default 1008000000 if MACH_SUN6I
Iain Patone71b4222015-03-28 10:26:38 +0000469 default 912000000 if MACH_SUN7I
Icenowy Zheng3cfecee2017-10-31 07:36:28 +0800470 default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800471 default 1008000000 if MACH_SUN8I
472 default 1008000000 if MACH_SUN9I
Iain Patone71b4222015-03-28 10:26:38 +0000473
Maxime Ripard8a6564d2014-10-03 20:16:29 +0800474config SYS_CONFIG_NAME
Ian Campbellc3be2792014-10-24 21:20:45 +0100475 default "sun4i" if MACH_SUN4I
476 default "sun5i" if MACH_SUN5I
477 default "sun6i" if MACH_SUN6I
478 default "sun7i" if MACH_SUN7I
479 default "sun8i" if MACH_SUN8I
Hans de Goede1871a8c2015-01-13 19:25:06 +0100480 default "sun9i" if MACH_SUN9I
Siarhei Siamashkad96ebc42016-03-29 17:29:10 +0200481 default "sun50i" if MACH_SUN50I
Hans de Goede6ae66f22014-08-01 09:28:24 +0200482
Masahiro Yamadadd840582014-07-30 14:08:14 +0900483config SYS_BOARD
Masahiro Yamadadd840582014-07-30 14:08:14 +0900484 default "sunxi"
485
486config SYS_SOC
Masahiro Yamadadd840582014-07-30 14:08:14 +0900487 default "sunxi"
488
Siarhei Siamashkaf0ce28e2014-12-25 02:34:47 +0200489config UART0_PORT_F
490 bool "UART0 on MicroSD breakout board"
Siarhei Siamashkaf0ce28e2014-12-25 02:34:47 +0200491 default n
492 ---help---
493 Repurpose the SD card slot for getting access to the UART0 serial
494 console. Primarily useful only for low level u-boot debugging on
495 tablets, where normal UART0 is difficult to access and requires
496 device disassembly and/or soldering. As the SD card can't be used
497 at the same time, the system can be only booted in the FEL mode.
498 Only enable this if you really know what you are doing.
499
Hans de Goedeaccc9e42014-10-22 14:56:36 +0200500config OLD_SUNXI_KERNEL_COMPAT
Masahiro Yamadaab650062016-08-12 10:26:50 +0900501 bool "Enable workarounds for booting old kernels"
Hans de Goedeaccc9e42014-10-22 14:56:36 +0200502 default n
503 ---help---
504 Set this to enable various workarounds for old kernels, this results in
505 sub-optimal settings for newer kernels, only enable if needed.
506
Mylène Josserandf5fd7882017-04-02 12:59:10 +0200507config MACPWR
508 string "MAC power pin"
509 default ""
510 help
511 Set the pin used to power the MAC. This takes a string in the format
512 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
513
Hans de Goedecd821132014-10-02 20:29:26 +0200514config MMC0_CD_PIN
515 string "Card detect pin for mmc0"
Andre Przywara7b82a222017-02-16 01:20:27 +0000516 default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
Hans de Goedecd821132014-10-02 20:29:26 +0200517 default ""
518 ---help---
519 Set the card detect pin for mmc0, leave empty to not use cd. This
520 takes a string in the format understood by sunxi_name_to_gpio, e.g.
521 PH1 for pin 1 of port H.
522
523config MMC1_CD_PIN
524 string "Card detect pin for mmc1"
525 default ""
526 ---help---
527 See MMC0_CD_PIN help text.
528
529config MMC2_CD_PIN
530 string "Card detect pin for mmc2"
531 default ""
532 ---help---
533 See MMC0_CD_PIN help text.
534
535config MMC3_CD_PIN
536 string "Card detect pin for mmc3"
537 default ""
538 ---help---
539 See MMC0_CD_PIN help text.
540
Paul Kocialkowski8deacca2015-03-22 18:12:23 +0100541config MMC1_PINS
542 string "Pins for mmc1"
543 default ""
544 ---help---
545 Set the pins used for mmc1, when applicable. This takes a string in the
546 format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
547
548config MMC2_PINS
549 string "Pins for mmc2"
550 default ""
551 ---help---
552 See MMC1_PINS help text.
553
554config MMC3_PINS
555 string "Pins for mmc3"
556 default ""
557 ---help---
558 See MMC1_PINS help text.
559
Hans de Goede2ccfac02014-10-02 20:43:50 +0200560config MMC_SUNXI_SLOT_EXTRA
561 int "mmc extra slot number"
562 default -1
563 ---help---
564 sunxi builds always enable mmc0, some boards also have a second sdcard
565 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
566 support for this.
567
Hans de Goede2c3c3ec2016-04-01 22:39:26 +0200568config INITIAL_USB_SCAN_DELAY
569 int "delay initial usb scan by x ms to allow builtin devices to init"
570 default 0
571 ---help---
572 Some boards have on board usb devices which need longer than the
573 USB spec's 1 second to connect from board powerup. Set this config
574 option to a non 0 value to add an extra delay before the first usb
575 bus scan.
576
Hans de Goede4458b7a2015-01-07 15:26:06 +0100577config USB0_VBUS_PIN
578 string "Vbus enable pin for usb0 (otg)"
579 default ""
580 ---help---
581 Set the Vbus enable 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 Goede52defe82015-02-16 22:13:43 +0100584config USB0_VBUS_DET
585 string "Vbus detect pin for usb0 (otg)"
Hans de Goede52defe82015-02-16 22:13:43 +0100586 default ""
587 ---help---
588 Set the Vbus 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 Goede48c06c92015-06-14 17:29:53 +0200591config USB0_ID_DET
592 string "ID detect pin for usb0 (otg)"
593 default ""
594 ---help---
595 Set the ID detect pin for usb0 (otg). This takes a string in the
596 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
597
Hans de Goede115200c2014-11-07 16:09:00 +0100598config USB1_VBUS_PIN
599 string "Vbus enable pin for usb1 (ehci0)"
600 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goede76946df2014-11-07 14:51:12 +0100601 default "PH27" if MACH_SUN6I
Hans de Goede115200c2014-11-07 16:09:00 +0100602 ---help---
603 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
604 a string in the format understood by sunxi_name_to_gpio, e.g.
605 PH1 for pin 1 of port H.
606
607config USB2_VBUS_PIN
608 string "Vbus enable pin for usb2 (ehci1)"
609 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goede76946df2014-11-07 14:51:12 +0100610 default "PH24" if MACH_SUN6I
Hans de Goede115200c2014-11-07 16:09:00 +0100611 ---help---
612 See USB1_VBUS_PIN help text.
613
Hans de Goede60fa6302016-03-18 08:42:01 +0100614config USB3_VBUS_PIN
615 string "Vbus enable pin for usb3 (ehci2)"
616 default ""
617 ---help---
618 See USB1_VBUS_PIN help text.
619
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200620config I2C0_ENABLE
621 bool "Enable I2C/TWI controller 0"
Chen-Yu Tsai409677e2016-11-30 15:30:30 +0800622 default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200623 default n if MACH_SUN6I || MACH_SUN8I
Hans de Goede0878a8a2016-05-15 13:51:58 +0200624 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200625 ---help---
626 This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
627 its clock and setting up the bus. This is especially useful on devices
628 with slaves connected to the bus or with pins exposed through e.g. an
629 expansion port/header.
630
631config I2C1_ENABLE
632 bool "Enable I2C/TWI controller 1"
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
638config I2C2_ENABLE
639 bool "Enable I2C/TWI controller 2"
640 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200641 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200642 ---help---
643 See I2C0_ENABLE help text.
644
645if MACH_SUN6I || MACH_SUN7I
646config I2C3_ENABLE
647 bool "Enable I2C/TWI controller 3"
648 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200649 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200650 ---help---
651 See I2C0_ENABLE help text.
652endif
653
Jelle van der Waa0d8382a2016-02-23 18:47:19 +0100654if SUNXI_GEN_SUN6I
Jelle van der Waa9d082682016-01-14 14:06:26 +0100655config R_I2C_ENABLE
656 bool "Enable the PRCM I2C/TWI controller"
Jelle van der Waa0d8382a2016-02-23 18:47:19 +0100657 # This is used for the pmic on H3
658 default y if SY8106A_POWER
Hans de Goede0878a8a2016-05-15 13:51:58 +0200659 select CMD_I2C
Jelle van der Waa9d082682016-01-14 14:06:26 +0100660 ---help---
661 Set this to y to enable the I2C controller which is part of the PRCM.
Jelle van der Waa0d8382a2016-02-23 18:47:19 +0100662endif
Jelle van der Waa9d082682016-01-14 14:06:26 +0100663
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200664if MACH_SUN7I
665config I2C4_ENABLE
666 bool "Enable I2C/TWI controller 4"
667 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200668 select CMD_I2C
Paul Kocialkowski6c739c52015-04-10 23:09:52 +0200669 ---help---
670 See I2C0_ENABLE help text.
671endif
672
Hans de Goede2fcf0332015-04-25 17:25:14 +0200673config AXP_GPIO
Masahiro Yamadaab650062016-08-12 10:26:50 +0900674 bool "Enable support for gpio-s on axp PMICs"
Hans de Goede2fcf0332015-04-25 17:25:14 +0200675 default n
676 ---help---
677 Say Y here to enable support for the gpio pins of the axp PMIC ICs.
678
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800679config VIDEO_SUNXI
Masahiro Yamadaab650062016-08-12 10:26:50 +0900680 bool "Enable graphical uboot console on HDMI, LCD or VGA"
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800681 depends on !MACH_SUN8I_A83T
682 depends on !MACH_SUNXI_H3_H5
Chen-Yu Tsai379feba2016-11-30 14:57:32 +0800683 depends on !MACH_SUN8I_R40
Icenowy Zhengc1994892017-04-08 15:30:12 +0800684 depends on !MACH_SUN8I_V3S
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800685 depends on !MACH_SUN9I
686 depends on !MACH_SUN50I
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800687 select VIDEO
Icenowy Zhengf6bdddc2017-10-26 11:14:46 +0800688 imply VIDEO_DT_SIMPLEFB
Luc Verhaegen7f2c5212014-08-13 07:55:06 +0200689 default y
690 ---help---
Hans de Goede2dae8002014-12-21 16:28:32 +0100691 Say Y here to add support for using a cfb console on the HDMI, LCD
692 or VGA output found on most sunxi devices. See doc/README.video for
693 info on how to select the video output and mode.
694
Hans de Goede2fbf0912014-12-23 23:04:35 +0100695config VIDEO_HDMI
Masahiro Yamadaab650062016-08-12 10:26:50 +0900696 bool "HDMI output support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800697 depends on VIDEO_SUNXI && !MACH_SUN8I
Hans de Goede2fbf0912014-12-23 23:04:35 +0100698 default y
699 ---help---
700 Say Y here to add support for outputting video over HDMI.
701
Hans de Goeded9786d22014-12-25 13:58:06 +0100702config VIDEO_VGA
Masahiro Yamadaab650062016-08-12 10:26:50 +0900703 bool "VGA output support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800704 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I)
Hans de Goeded9786d22014-12-25 13:58:06 +0100705 default n
706 ---help---
707 Say Y here to add support for outputting video over VGA.
708
Hans de Goedee2bbdfb2014-12-24 12:17:07 +0100709config VIDEO_VGA_VIA_LCD
Masahiro Yamadaab650062016-08-12 10:26:50 +0900710 bool "VGA via LCD controller support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800711 depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedee2bbdfb2014-12-24 12:17:07 +0100712 default n
713 ---help---
714 Say Y here to add support for external DACs connected to the parallel
715 LCD interface driving a VGA connector, such as found on the
716 Olimex A13 boards.
717
Hans de Goedefb75d972015-01-25 15:33:07 +0100718config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
Masahiro Yamadaab650062016-08-12 10:26:50 +0900719 bool "Force sync active high for VGA via LCD controller support"
Hans de Goedefb75d972015-01-25 15:33:07 +0100720 depends on VIDEO_VGA_VIA_LCD
721 default n
722 ---help---
723 Say Y here if you've a board which uses opendrain drivers for the vga
724 hsync and vsync signals. Opendrain drivers cannot generate steep enough
725 positive edges for a stable video output, so on boards with opendrain
726 drivers the sync signals must always be active high.
727
Chen-Yu Tsai507e27d2015-01-12 18:02:11 +0800728config VIDEO_VGA_EXTERNAL_DAC_EN
729 string "LCD panel power enable pin"
730 depends on VIDEO_VGA_VIA_LCD
731 default ""
732 ---help---
733 Set the enable pin for the external VGA DAC. This takes a string in the
734 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
735
Hans de Goede39920c82015-08-03 19:20:26 +0200736config VIDEO_COMPOSITE
Masahiro Yamadaab650062016-08-12 10:26:50 +0900737 bool "Composite video output support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800738 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
Hans de Goede39920c82015-08-03 19:20:26 +0200739 default n
740 ---help---
741 Say Y here to add support for outputting composite video.
742
Hans de Goede2dae8002014-12-21 16:28:32 +0100743config VIDEO_LCD_MODE
744 string "LCD panel timing details"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800745 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100746 default ""
747 ---help---
748 LCD panel timing details string, leave empty if there is no LCD panel.
749 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
750 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 +0200751 Also see: http://linux-sunxi.org/LCD
Hans de Goede2dae8002014-12-21 16:28:32 +0100752
Hans de Goede65150322015-01-13 13:21:46 +0100753config VIDEO_LCD_DCLK_PHASE
754 int "LCD panel display clock phase"
Vasily Khoruzhick1d7eef32017-10-26 21:51:52 -0700755 depends on VIDEO_SUNXI || DM_VIDEO
Hans de Goede65150322015-01-13 13:21:46 +0100756 default 1
757 ---help---
758 Select LCD panel display clock phase shift, range 0-3.
759
Hans de Goede2dae8002014-12-21 16:28:32 +0100760config VIDEO_LCD_POWER
761 string "LCD panel power enable pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800762 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100763 default ""
764 ---help---
765 Set the power enable pin for the LCD panel. This takes a string in the
766 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
767
Hans de Goede242e3d82015-02-16 17:26:41 +0100768config VIDEO_LCD_RESET
769 string "LCD panel reset pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800770 depends on VIDEO_SUNXI
Hans de Goede242e3d82015-02-16 17:26:41 +0100771 default ""
772 ---help---
773 Set the reset pin for the LCD panel. This takes a string in the format
774 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
775
Hans de Goede2dae8002014-12-21 16:28:32 +0100776config VIDEO_LCD_BL_EN
777 string "LCD panel backlight enable pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800778 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100779 default ""
780 ---help---
781 Set the backlight enable pin for the LCD panel. This takes a string in the
782 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
783 port H.
784
785config VIDEO_LCD_BL_PWM
786 string "LCD panel backlight pwm pin"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800787 depends on VIDEO_SUNXI
Hans de Goede2dae8002014-12-21 16:28:32 +0100788 default ""
789 ---help---
790 Set the backlight pwm pin for the LCD panel. This takes a string in the
791 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegen7f2c5212014-08-13 07:55:06 +0200792
Hans de Goedea7403ae2015-01-22 21:02:42 +0100793config VIDEO_LCD_BL_PWM_ACTIVE_LOW
794 bool "LCD panel backlight pwm is inverted"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800795 depends on VIDEO_SUNXI
Hans de Goedea7403ae2015-01-22 21:02:42 +0100796 default y
797 ---help---
798 Set this if the backlight pwm output is active low.
799
Hans de Goede55410082015-02-16 17:23:25 +0100800config VIDEO_LCD_PANEL_I2C
801 bool "LCD panel needs to be configured via i2c"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800802 depends on VIDEO_SUNXI
Hans de Goede1fc42012015-03-07 12:00:02 +0100803 default n
Hans de Goede0878a8a2016-05-15 13:51:58 +0200804 select CMD_I2C
Hans de Goede55410082015-02-16 17:23:25 +0100805 ---help---
806 Say y here if the LCD panel needs to be configured via i2c. This
807 will add a bitbang i2c controller using gpios to talk to the LCD.
808
809config VIDEO_LCD_PANEL_I2C_SDA
810 string "LCD panel i2c interface SDA pin"
811 depends on VIDEO_LCD_PANEL_I2C
812 default "PG12"
813 ---help---
814 Set the SDA pin for the LCD i2c interface. This takes a string in the
815 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
816
817config VIDEO_LCD_PANEL_I2C_SCL
818 string "LCD panel i2c interface SCL pin"
819 depends on VIDEO_LCD_PANEL_I2C
820 default "PG10"
821 ---help---
822 Set the SCL pin for the LCD i2c interface. This takes a string in the
823 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
824
Hans de Goede213480e2015-01-01 22:04:34 +0100825
826# Note only one of these may be selected at a time! But hidden choices are
827# not supported by Kconfig
828config VIDEO_LCD_IF_PARALLEL
829 bool
830
831config VIDEO_LCD_IF_LVDS
832 bool
833
Jernej Skrabec1ae5def2017-03-27 19:22:31 +0200834config SUNXI_DE2
835 bool
836 default n
837
Jernej Skrabec56009452017-03-27 19:22:32 +0200838config VIDEO_DE2
839 bool "Display Engine 2 video driver"
840 depends on SUNXI_DE2
841 select DM_VIDEO
842 select DISPLAY
Icenowy Zhengbe5b96f2017-10-26 11:14:47 +0800843 imply VIDEO_DT_SIMPLEFB
Jernej Skrabec56009452017-03-27 19:22:32 +0200844 default y
845 ---help---
846 Say y here if you want to build DE2 video driver which is present on
847 newer SoCs. Currently only HDMI output is supported.
848
Hans de Goede213480e2015-01-01 22:04:34 +0100849
850choice
851 prompt "LCD panel support"
Icenowy Zheng401a3ca2017-10-26 11:14:44 +0800852 depends on VIDEO_SUNXI
Hans de Goede213480e2015-01-01 22:04:34 +0100853 ---help---
854 Select which type of LCD panel to support.
855
856config VIDEO_LCD_PANEL_PARALLEL
857 bool "Generic parallel interface LCD panel"
858 select VIDEO_LCD_IF_PARALLEL
859
860config VIDEO_LCD_PANEL_LVDS
861 bool "Generic lvds interface LCD panel"
862 select VIDEO_LCD_IF_LVDS
863
Siarhei Siamashka97ece832015-01-19 05:23:33 +0200864config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
865 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
866 select VIDEO_LCD_SSD2828
867 select VIDEO_LCD_IF_PARALLEL
868 ---help---
Hans de Goedec1cfd512015-08-08 16:13:53 +0200869 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
870
871config VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
872 bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
873 select VIDEO_LCD_ANX9804
874 select VIDEO_LCD_IF_PARALLEL
875 select VIDEO_LCD_PANEL_I2C
876 ---help---
877 Select this for eDP LCD panels with 4 lanes running at 1.62G,
878 connected via an ANX9804 bridge chip.
Siarhei Siamashka97ece832015-01-19 05:23:33 +0200879
Hans de Goede27515b22015-01-20 09:23:36 +0100880config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
881 bool "Hitachi tx18d42vm LCD panel"
882 select VIDEO_LCD_HITACHI_TX18D42VM
883 select VIDEO_LCD_IF_LVDS
884 ---help---
885 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
886
Hans de Goedeaad2ac22015-02-16 17:49:47 +0100887config VIDEO_LCD_TL059WV5C0
888 bool "tl059wv5c0 LCD panel"
889 select VIDEO_LCD_PANEL_I2C
890 select VIDEO_LCD_IF_PARALLEL
891 ---help---
892 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
893 Aigo M60/M608/M606 tablets.
894
Hans de Goede213480e2015-01-01 22:04:34 +0100895endchoice
896
Mylène Josserandd7b560e2017-04-02 12:59:09 +0200897config SATAPWR
898 string "SATA power pin"
899 default ""
900 help
901 Set the pins used to power the SATA. This takes a string in the
902 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
903 port H.
Hans de Goede213480e2015-01-01 22:04:34 +0100904
Hans de Goedec13f60d2015-01-25 12:10:48 +0100905config GMAC_TX_DELAY
906 int "GMAC Transmit Clock Delay Chain"
907 default 0
908 ---help---
909 Set the GMAC Transmit Clock Delay Chain value.
910
Hans de Goedeff42d102015-09-13 13:02:48 +0200911config SPL_STACK_R_ADDR
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800912 default 0x4fe00000 if MACH_SUN4I
913 default 0x4fe00000 if MACH_SUN5I
914 default 0x4fe00000 if MACH_SUN6I
915 default 0x4fe00000 if MACH_SUN7I
916 default 0x4fe00000 if MACH_SUN8I
Hans de Goedeff42d102015-09-13 13:02:48 +0200917 default 0x2fe00000 if MACH_SUN9I
Chen-Yu Tsai301791c2017-03-02 16:03:06 +0800918 default 0x4fe00000 if MACH_SUN50I
Hans de Goedeff42d102015-09-13 13:02:48 +0200919
Jagan Tekic2a7a7e2018-02-06 22:42:56 +0530920config SPL_SPI_SUNXI
921 bool "Support for SPI Flash on Allwinner SoCs in SPL"
922 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
923 help
924 Enable support for SPI Flash. This option allows SPL to read from
925 sunxi SPI Flash. It uses the same method as the boot ROM, so does
926 not need any extra configuration.
927
Masahiro Yamadadd840582014-07-30 14:08:14 +0900928endif