blob: a3f772302863894f23b057146b9ceea2e7090051 [file] [log] [blame]
Ian Campbelld8e69e02014-10-24 21:20:44 +01001if ARCH_SUNXI
2
Philipp Tomsich2d6a0cc2017-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 Paladugu809438d2016-07-29 15:31:47 +05306config IDENT_STRING
7 default " Allwinner Technology"
8
Jagan Teki3994b1e2018-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 Teki68d0f5f2018-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 Teki318e4e52018-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 Tekie624d4c2018-01-10 16:17:39 +053027config DRAM_SUN8I_A33
28 bool
29 help
30 Select this dram controller driver for Sun8i platforms,
31 for A33 SOC.
32
Jagan Teki270a6f62018-01-10 16:20:26 +053033config DRAM_SUN8I_A83T
34 bool
35 help
36 Select this dram controller driver for Sun8i platforms,
37 for A83T SOC.
38
Jagan Teki6aa7f712018-03-17 00:18:01 +053039config DRAM_SUN9I
40 bool
41 help
42 Select this dram controller driver for Sun9i platforms,
43 like A80.
44
Jagan Teki59ea2872018-01-11 13:21:58 +053045config SUN6I_P2WI
46 bool "Allwinner sun6i internal P2WI controller"
47 help
48 If you say yes to this option, support will be included for the
49 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
50 SOCs.
51 The P2WI looks like an SMBus controller (which supports only byte
52 accesses), except that it only supports one slave device.
53 This interface is used to connect to specific PMIC devices (like the
54 AXP221).
55
Jagan Teki932f5e02018-01-11 13:21:15 +053056config SUN6I_PRCM
57 bool
58 help
59 Support for the PRCM (Power/Reset/Clock Management) unit available
60 in A31 SoC.
61
Jagan Tekifeb29272018-02-14 22:28:30 +053062config AXP_PMIC_BUS
63 bool "Sunxi AXP PMIC bus access helpers"
64 help
65 Select this PMIC bus access helpers for Sunxi platform PRCM or other
66 AXP family PMIC devices.
67
Jagan Tekif35767b2018-01-11 13:23:52 +053068config SUN8I_RSB
69 bool "Allwinner sunXi Reduced Serial Bus Driver"
70 help
71 Say y here to enable support for Allwinner's Reduced Serial Bus
72 (RSB) support. This controller is responsible for communicating
73 with various RSB based devices, such as AXP223, AXP8XX PMICs,
74 and AC100/AC200 ICs.
75
Andre Przywarade454ec2017-02-16 01:20:23 +000076config SUNXI_HIGH_SRAM
77 bool
78 default n
79 ---help---
80 Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
81 with the first SRAM region being located at address 0.
82 Some newer SoCs map the boot ROM at address 0 instead and move the
83 SRAM to 64KB, just behind the mask ROM.
84 Chips using the latter setup are supposed to select this option to
85 adjust the addresses accordingly.
86
Hans de Goedef07872b2015-04-06 20:33:34 +020087# Note only one of these may be selected at a time! But hidden choices are
88# not supported by Kconfig
89config SUNXI_GEN_SUN4I
90 bool
91 ---help---
92 Select this for sunxi SoCs which have resets and clocks set up
93 as the original A10 (mach-sun4i).
94
95config SUNXI_GEN_SUN6I
96 bool
97 ---help---
98 Select this for sunxi SoCs which have sun6i like periphery, like
99 separate ahb reset control registers, custom pmic bus, new style
100 watchdog, etc.
101
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800102config SUNXI_DRAM_DW
103 bool
104 ---help---
105 Select this for sunxi SoCs which uses a DRAM controller like the
106 DesignWare controller used in H3, mainly SoCs after H3, which do
107 not have official open-source DRAM initialization code, but can
108 use modified H3 DRAM initialization code.
Hans de Goedef07872b2015-04-06 20:33:34 +0200109
Icenowy Zhengb2607512017-06-03 17:10:16 +0800110if SUNXI_DRAM_DW
111config SUNXI_DRAM_DW_16BIT
112 bool
113 ---help---
114 Select this for sunxi SoCs with DesignWare DRAM controller and
115 have only 16-bit memory buswidth.
116
117config SUNXI_DRAM_DW_32BIT
118 bool
119 ---help---
120 Select this for sunxi SoCs with DesignWare DRAM controller with
121 32-bit memory buswidth.
122endif
123
Andre Przywara5fb97432017-02-16 01:20:27 +0000124config MACH_SUNXI_H3_H5
125 bool
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200126 select DM_I2C
Jagan Teki137fc752018-05-07 13:03:38 +0530127 select PHY_SUN4I_USB
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200128 select SUNXI_DE2
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800129 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800130 select SUNXI_DRAM_DW_32BIT
Andre Przywara5fb97432017-02-16 01:20:27 +0000131 select SUNXI_GEN_SUN6I
132 select SUPPORT_SPL
133
Ian Campbelld8e69e02014-10-24 21:20:44 +0100134choice
135 prompt "Sunxi SoC Variant"
Hans de Goedeb05a6482016-06-12 11:57:07 +0200136 optional
Ian Campbelld8e69e02014-10-24 21:20:44 +0100137
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100138config MACH_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100139 bool "sun4i (Allwinner A10)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530140 select CPU_V7A
Andre Przywara4330eb92017-02-16 01:20:21 +0000141 select ARM_CORTEX_CPU_IS_UP
Jagan Teki137fc752018-05-07 13:03:38 +0530142 select PHY_SUN4I_USB
Jagan Teki3994b1e2018-01-10 16:03:34 +0530143 select DRAM_SUN4I
Hans de Goedef07872b2015-04-06 20:33:34 +0200144 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100145 select SUPPORT_SPL
146
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100147config MACH_SUN5I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100148 bool "sun5i (Allwinner A13)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530149 select CPU_V7A
Andre Przywara4330eb92017-02-16 01:20:21 +0000150 select ARM_CORTEX_CPU_IS_UP
Jagan Teki3994b1e2018-01-10 16:03:34 +0530151 select DRAM_SUN4I
Jagan Teki137fc752018-05-07 13:03:38 +0530152 select PHY_SUN4I_USB
Hans de Goedef07872b2015-04-06 20:33:34 +0200153 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100154 select SUPPORT_SPL
Tom Rinie69ba982018-03-06 19:02:27 -0500155 imply CONS_INDEX_2 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100156
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100157config MACH_SUN6I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100158 bool "sun6i (Allwinner A31)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530159 select CPU_V7A
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800160 select CPU_V7_HAS_NONSEC
161 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900162 select ARCH_SUPPORT_PSCI
Jagan Teki68d0f5f2018-03-17 00:16:36 +0530163 select DRAM_SUN6I
Jagan Teki137fc752018-05-07 13:03:38 +0530164 select PHY_SUN4I_USB
Jagan Teki59ea2872018-01-11 13:21:58 +0530165 select SUN6I_P2WI
Jagan Teki932f5e02018-01-11 13:21:15 +0530166 select SUN6I_PRCM
Hans de Goedef07872b2015-04-06 20:33:34 +0200167 select SUNXI_GEN_SUN6I
Hans de Goedea5403b92014-10-25 20:18:10 +0200168 select SUPPORT_SPL
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800169 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100170
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100171config MACH_SUN7I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100172 bool "sun7i (Allwinner A20)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530173 select CPU_V7A
Hans de Goede85437352014-11-14 09:34:30 +0100174 select CPU_V7_HAS_NONSEC
175 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900176 select ARCH_SUPPORT_PSCI
Jagan Teki3994b1e2018-01-10 16:03:34 +0530177 select DRAM_SUN4I
Jagan Teki137fc752018-05-07 13:03:38 +0530178 select PHY_SUN4I_USB
Hans de Goedef07872b2015-04-06 20:33:34 +0200179 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100180 select SUPPORT_SPL
Hans de Goedea5636382014-10-24 20:12:04 +0200181 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100182
Hans de Goedef055ed62015-04-06 20:55:39 +0200183config MACH_SUN8I_A23
Ian Campbelld8e69e02014-10-24 21:20:44 +0100184 bool "sun8i (Allwinner A23)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530185 select CPU_V7A
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800186 select CPU_V7_HAS_NONSEC
187 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900188 select ARCH_SUPPORT_PSCI
Jagan Teki318e4e52018-01-10 16:15:14 +0530189 select DRAM_SUN8I_A23
Jagan Teki137fc752018-05-07 13:03:38 +0530190 select PHY_SUN4I_USB
Hans de Goedef07872b2015-04-06 20:33:34 +0200191 select SUNXI_GEN_SUN6I
Hans de Goede966d2392014-12-07 14:34:27 +0100192 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800193 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500194 imply CONS_INDEX_5 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100195
Vishnu Patekar3702f142015-03-01 23:47:48 +0530196config MACH_SUN8I_A33
197 bool "sun8i (Allwinner A33)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530198 select CPU_V7A
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800199 select CPU_V7_HAS_NONSEC
200 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900201 select ARCH_SUPPORT_PSCI
Jagan Tekie624d4c2018-01-10 16:17:39 +0530202 select DRAM_SUN8I_A33
Jagan Teki137fc752018-05-07 13:03:38 +0530203 select PHY_SUN4I_USB
Vishnu Patekar3702f142015-03-01 23:47:48 +0530204 select SUNXI_GEN_SUN6I
205 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800206 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500207 imply CONS_INDEX_5 if !DM_SERIAL
Vishnu Patekar3702f142015-03-01 23:47:48 +0530208
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800209config MACH_SUN8I_A83T
210 bool "sun8i (Allwinner A83T)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530211 select CPU_V7A
Jagan Teki270a6f62018-01-10 16:20:26 +0530212 select DRAM_SUN8I_A83T
Jagan Teki137fc752018-05-07 13:03:38 +0530213 select PHY_SUN4I_USB
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800214 select SUNXI_GEN_SUN6I
Maxime Ripard4799a1a2017-08-23 12:03:42 +0200215 select MMC_SUNXI_HAS_NEW_MODE
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800216 select SUPPORT_SPL
217
Jens Kuskef9770722015-11-17 15:12:58 +0100218config MACH_SUN8I_H3
219 bool "sun8i (Allwinner H3)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530220 select CPU_V7A
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800221 select CPU_V7_HAS_NONSEC
222 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900223 select ARCH_SUPPORT_PSCI
Andre Przywara5fb97432017-02-16 01:20:27 +0000224 select MACH_SUNXI_H3_H5
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800225 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Jens Kuskef9770722015-11-17 15:12:58 +0100226
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800227config MACH_SUN8I_R40
228 bool "sun8i (Allwinner R40)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530229 select CPU_V7A
Chen-Yu Tsaib1a1fda2017-03-01 11:03:15 +0800230 select CPU_V7_HAS_NONSEC
231 select CPU_V7_HAS_VIRT
232 select ARCH_SUPPORT_PSCI
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800233 select SUNXI_GEN_SUN6I
Chen-Yu Tsai2d5826c2016-12-02 16:09:49 +0800234 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800235 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800236 select SUNXI_DRAM_DW_32BIT
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800237
Icenowy Zheng52e61882017-04-08 15:30:12 +0800238config MACH_SUN8I_V3S
239 bool "sun8i (Allwinner V3s)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530240 select CPU_V7A
Icenowy Zheng52e61882017-04-08 15:30:12 +0800241 select CPU_V7_HAS_NONSEC
242 select CPU_V7_HAS_VIRT
243 select ARCH_SUPPORT_PSCI
244 select SUNXI_GEN_SUN6I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800245 select SUNXI_DRAM_DW
246 select SUNXI_DRAM_DW_16BIT
247 select SUPPORT_SPL
Icenowy Zheng52e61882017-04-08 15:30:12 +0800248 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
249
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100250config MACH_SUN9I
251 bool "sun9i (Allwinner A80)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530252 select CPU_V7A
Jagan Teki6aa7f712018-03-17 00:18:01 +0530253 select DRAM_SUN9I
Jagan Teki11f33e12018-01-11 13:23:02 +0530254 select SUN6I_PRCM
Andre Przywarade454ec2017-02-16 01:20:23 +0000255 select SUNXI_HIGH_SRAM
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100256 select SUNXI_GEN_SUN6I
Jagan Tekif35767b2018-01-11 13:23:52 +0530257 select SUN8I_RSB
Philipp Tomsich470626e2016-10-28 18:21:32 +0800258 select SUPPORT_SPL
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100259
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800260config MACH_SUN50I
261 bool "sun50i (Allwinner A64)"
262 select ARM64
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200263 select DM_I2C
Jagan Teki137fc752018-05-07 13:03:38 +0530264 select PHY_SUN4I_USB
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200265 select SUNXI_DE2
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800266 select SUNXI_GEN_SUN6I
Andre Przywarade454ec2017-02-16 01:20:23 +0000267 select SUNXI_HIGH_SRAM
Andre Przywaraa563adc2017-01-02 11:48:45 +0000268 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800269 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800270 select SUNXI_DRAM_DW_32BIT
Andre Przywarad8362162017-04-26 01:32:48 +0100271 select FIT
272 select SPL_LOAD_FIT
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800273
Andre Przywara5611a2d2017-02-16 01:20:28 +0000274config MACH_SUN50I_H5
275 bool "sun50i (Allwinner H5)"
276 select ARM64
277 select MACH_SUNXI_H3_H5
278 select SUNXI_HIGH_SRAM
Andre Przywarad8362162017-04-26 01:32:48 +0100279 select FIT
280 select SPL_LOAD_FIT
Andre Przywara5611a2d2017-02-16 01:20:28 +0000281
Ian Campbelld8e69e02014-10-24 21:20:44 +0100282endchoice
Maxime Ripard2c519412014-10-03 20:16:29 +0800283
Hans de Goedef055ed62015-04-06 20:55:39 +0200284# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
285config MACH_SUN8I
286 bool
Jagan Tekif35767b2018-01-11 13:23:52 +0530287 select SUN8I_RSB
Jagan Teki11f33e12018-01-11 13:23:02 +0530288 select SUN6I_PRCM
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800289 default y if MACH_SUN8I_A23
290 default y if MACH_SUN8I_A33
291 default y if MACH_SUN8I_A83T
292 default y if MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800293 default y if MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800294 default y if MACH_SUN8I_V3S
Hans de Goedef055ed62015-04-06 20:55:39 +0200295
Andre Przywara06893b62017-01-02 11:48:35 +0000296config RESERVE_ALLWINNER_BOOT0_HEADER
297 bool "reserve space for Allwinner boot0 header"
298 select ENABLE_ARM_SOC_BOOT0_HOOK
299 ---help---
300 Prepend a 1536 byte (empty) header to the U-Boot image file, to be
301 filled with magic values post build. The Allwinner provided boot0
302 blob relies on this information to load and execute U-Boot.
303 Only needed on 64-bit Allwinner boards so far when using boot0.
304
Andre Przywara46c3d992017-01-02 11:48:36 +0000305config ARM_BOOT_HOOK_RMR
306 bool
307 depends on ARM64
308 default y
309 select ENABLE_ARM_SOC_BOOT0_HOOK
310 ---help---
311 Insert some ARM32 code at the very beginning of the U-Boot binary
312 which uses an RMR register write to bring the core into AArch64 mode.
313 The very first instruction acts as a switch, since it's carefully
314 chosen to be a NOP in one mode and a branch in the other, so the
315 code would only be executed if not already in AArch64.
316 This allows both the SPL and the U-Boot proper to be entered in
317 either mode and switch to AArch64 if needed.
318
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800319if SUNXI_DRAM_DW
320config SUNXI_DRAM_DDR3
321 bool
322
Icenowy Zhenge270a582017-06-03 17:10:20 +0800323config SUNXI_DRAM_DDR2
324 bool
325
Icenowy Zheng3c1b9f12017-06-03 17:10:23 +0800326config SUNXI_DRAM_LPDDR3
327 bool
328
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800329choice
330 prompt "DRAM Type and Timing"
Icenowy Zhengfe052172017-06-03 17:10:21 +0800331 default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
332 default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800333
334config SUNXI_DRAM_DDR3_1333
335 bool "DDR3 1333"
336 select SUNXI_DRAM_DDR3
Icenowy Zhengfe052172017-06-03 17:10:21 +0800337 depends on !MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800338 ---help---
339 This option is the original only supported memory type, which suits
340 many H3/H5/A64 boards available now.
341
Icenowy Zhengeb4766e2017-06-03 17:10:24 +0800342config SUNXI_DRAM_LPDDR3_STOCK
343 bool "LPDDR3 with Allwinner stock configuration"
344 select SUNXI_DRAM_LPDDR3
345 ---help---
346 This option is the LPDDR3 timing used by the stock boot0 by
347 Allwinner.
348
Icenowy Zhenge270a582017-06-03 17:10:20 +0800349config SUNXI_DRAM_DDR2_V3S
350 bool "DDR2 found in V3s chip"
351 select SUNXI_DRAM_DDR2
Icenowy Zhengfe052172017-06-03 17:10:21 +0800352 depends on MACH_SUN8I_V3S
Icenowy Zhenge270a582017-06-03 17:10:20 +0800353 ---help---
354 This option is only for the DDR2 memory chip which is co-packaged in
355 Allwinner V3s SoC.
356
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800357endchoice
358endif
359
Vishnu Patekarc49936f2016-01-12 01:20:58 +0800360config DRAM_TYPE
361 int "sunxi dram type"
362 depends on MACH_SUN8I_A83T
363 default 3
364 ---help---
365 Set the dram type, 3: DDR3, 7: LPDDR3
Hans de Goedef055ed62015-04-06 20:55:39 +0200366
Hans de Goede3aeaa282014-11-15 19:46:39 +0100367config DRAM_CLK
Hans de Goede59d9fc72015-01-17 14:24:55 +0100368 int "sunxi dram clock speed"
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800369 default 792 if MACH_SUN9I
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800370 default 648 if MACH_SUN8I_R40
Hans de Goede59d9fc72015-01-17 14:24:55 +0100371 default 312 if MACH_SUN6I || MACH_SUN8I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800372 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
373 MACH_SUN8I_V3S
Andre Przywaraafd68702017-01-02 11:48:37 +0000374 default 672 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100375 ---help---
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800376 Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
377 must be a multiple of 24. For the sun9i (A80), the tested values
378 (for DDR3-1600) are 312 to 792.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100379
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200380if MACH_SUN5I || MACH_SUN7I
381config DRAM_MBUS_CLK
382 int "sunxi mbus clock speed"
383 default 300
384 ---help---
385 Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
386
387endif
388
Hans de Goede3aeaa282014-11-15 19:46:39 +0100389config DRAM_ZQ
Hans de Goede59d9fc72015-01-17 14:24:55 +0100390 int "sunxi dram zq value"
391 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
392 default 127 if MACH_SUN7I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800393 default 14779 if MACH_SUN8I_V3S
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800394 default 3881979 if MACH_SUN8I_R40
Chen-Yu Tsai47bb3062016-10-28 18:21:36 +0800395 default 4145117 if MACH_SUN9I
Andre Przywaraafd68702017-01-02 11:48:37 +0000396 default 3881915 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100397 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100398 Set the dram zq value.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100399
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200400config DRAM_ODT_EN
401 bool "sunxi dram odt enable"
402 default n if !MACH_SUN8I_A23
403 default y if MACH_SUN8I_A23
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800404 default y if MACH_SUN8I_R40
Andre Przywaraa563adc2017-01-02 11:48:45 +0000405 default y if MACH_SUN50I
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200406 ---help---
407 Select this to enable dram odt (on die termination).
408
Hans de Goede59d9fc72015-01-17 14:24:55 +0100409if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
410config DRAM_EMR1
411 int "sunxi dram emr1 value"
412 default 0 if MACH_SUN4I
413 default 4 if MACH_SUN5I || MACH_SUN7I
414 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100415 Set the dram controller emr1 value.
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200416
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200417config DRAM_TPR3
418 hex "sunxi dram tpr3 value"
419 default 0
420 ---help---
421 Set the dram controller tpr3 parameter. This parameter configures
422 the delay on the command lane and also phase shifts, which are
423 applied for sampling incoming read data. The default value 0
424 means that no phase/delay adjustments are necessary. Properly
425 configuring this parameter increases reliability at high DRAM
426 clock speeds.
427
428config DRAM_DQS_GATING_DELAY
429 hex "sunxi dram dqs_gating_delay value"
430 default 0
431 ---help---
432 Set the dram controller dqs_gating_delay parmeter. Each byte
433 encodes the DQS gating delay for each byte lane. The delay
434 granularity is 1/4 cycle. For example, the value 0x05060606
435 means that the delay is 5 quarter-cycles for one lane (1.25
436 cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
437 The default value 0 means autodetection. The results of hardware
438 autodetection are not very reliable and depend on the chip
439 temperature (sometimes producing different results on cold start
440 and warm reboot). But the accuracy of hardware autodetection
441 is usually good enough, unless running at really high DRAM
442 clocks speeds (up to 600MHz). If unsure, keep as 0.
443
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200444choice
445 prompt "sunxi dram timings"
446 default DRAM_TIMINGS_VENDOR_MAGIC
447 ---help---
448 Select the timings of the DDR3 chips.
449
450config DRAM_TIMINGS_VENDOR_MAGIC
451 bool "Magic vendor timings from Android"
452 ---help---
453 The same DRAM timings as in the Allwinner boot0 bootloader.
454
455config DRAM_TIMINGS_DDR3_1066F_1333H
456 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
457 ---help---
458 Use the timings of the standard JEDEC DDR3-1066F speed bin for
459 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
460 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
461 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
462 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
463 that down binning to DDR3-1066F is supported (because DDR3-1066F
464 uses a bit faster timings than DDR3-1333H).
465
466config DRAM_TIMINGS_DDR3_800E_1066G_1333J
467 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
468 ---help---
469 Use the timings of the slowest possible JEDEC speed bin for the
470 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
471 DDR3-800E, DDR3-1066G or DDR3-1333J.
472
473endchoice
474
Hans de Goede3aeaa282014-11-15 19:46:39 +0100475endif
476
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200477if MACH_SUN8I_A23
478config DRAM_ODT_CORRECTION
479 int "sunxi dram odt correction value"
480 default 0
481 ---help---
482 Set the dram odt correction value (range -255 - 255). In allwinner
483 fex files, this option is found in bits 8-15 of the u32 odt_en variable
484 in the [dram] section. When bit 31 of the odt_en variable is set
485 then the correction is negative. Usually the value for this is 0.
486endif
487
Iain Paton630df142015-03-28 10:26:38 +0000488config SYS_CLK_FREQ
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800489 default 1008000000 if MACH_SUN4I
490 default 1008000000 if MACH_SUN5I
491 default 1008000000 if MACH_SUN6I
Iain Paton630df142015-03-28 10:26:38 +0000492 default 912000000 if MACH_SUN7I
Icenowy Zheng2e915b42017-10-31 07:36:28 +0800493 default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800494 default 1008000000 if MACH_SUN8I
495 default 1008000000 if MACH_SUN9I
Iain Paton630df142015-03-28 10:26:38 +0000496
Maxime Ripard2c519412014-10-03 20:16:29 +0800497config SYS_CONFIG_NAME
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100498 default "sun4i" if MACH_SUN4I
499 default "sun5i" if MACH_SUN5I
500 default "sun6i" if MACH_SUN6I
501 default "sun7i" if MACH_SUN7I
502 default "sun8i" if MACH_SUN8I
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100503 default "sun9i" if MACH_SUN9I
Siarhei Siamashka26c50fb2016-03-29 17:29:10 +0200504 default "sun50i" if MACH_SUN50I
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900505
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900506config SYS_BOARD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900507 default "sunxi"
508
509config SYS_SOC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900510 default "sunxi"
511
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200512config UART0_PORT_F
513 bool "UART0 on MicroSD breakout board"
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200514 default n
515 ---help---
516 Repurpose the SD card slot for getting access to the UART0 serial
517 console. Primarily useful only for low level u-boot debugging on
518 tablets, where normal UART0 is difficult to access and requires
519 device disassembly and/or soldering. As the SD card can't be used
520 at the same time, the system can be only booted in the FEL mode.
521 Only enable this if you really know what you are doing.
522
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200523config OLD_SUNXI_KERNEL_COMPAT
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900524 bool "Enable workarounds for booting old kernels"
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200525 default n
526 ---help---
527 Set this to enable various workarounds for old kernels, this results in
528 sub-optimal settings for newer kernels, only enable if needed.
529
Mylène Josserand147c6062017-04-02 12:59:10 +0200530config MACPWR
531 string "MAC power pin"
532 default ""
533 help
534 Set the pin used to power the MAC. This takes a string in the format
535 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
536
Hans de Goede7412ef82014-10-02 20:29:26 +0200537config MMC0_CD_PIN
538 string "Card detect pin for mmc0"
Andre Przywara5fb97432017-02-16 01:20:27 +0000539 default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
Hans de Goede7412ef82014-10-02 20:29:26 +0200540 default ""
541 ---help---
542 Set the card detect pin for mmc0, leave empty to not use cd. This
543 takes a string in the format understood by sunxi_name_to_gpio, e.g.
544 PH1 for pin 1 of port H.
545
546config MMC1_CD_PIN
547 string "Card detect pin for mmc1"
548 default ""
549 ---help---
550 See MMC0_CD_PIN help text.
551
552config MMC2_CD_PIN
553 string "Card detect pin for mmc2"
554 default ""
555 ---help---
556 See MMC0_CD_PIN help text.
557
558config MMC3_CD_PIN
559 string "Card detect pin for mmc3"
560 default ""
561 ---help---
562 See MMC0_CD_PIN help text.
563
Paul Kocialkowskid390d8c2015-03-22 18:12:23 +0100564config MMC1_PINS
565 string "Pins for mmc1"
566 default ""
567 ---help---
568 Set the pins used for mmc1, when applicable. This takes a string in the
569 format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
570
571config MMC2_PINS
572 string "Pins for mmc2"
573 default ""
574 ---help---
575 See MMC1_PINS help text.
576
577config MMC3_PINS
578 string "Pins for mmc3"
579 default ""
580 ---help---
581 See MMC1_PINS help text.
582
Hans de Goedeaf593e42014-10-02 20:43:50 +0200583config MMC_SUNXI_SLOT_EXTRA
584 int "mmc extra slot number"
585 default -1
586 ---help---
587 sunxi builds always enable mmc0, some boards also have a second sdcard
588 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
589 support for this.
590
Hans de Goede99c9fb02016-04-01 22:39:26 +0200591config INITIAL_USB_SCAN_DELAY
592 int "delay initial usb scan by x ms to allow builtin devices to init"
593 default 0
594 ---help---
595 Some boards have on board usb devices which need longer than the
596 USB spec's 1 second to connect from board powerup. Set this config
597 option to a non 0 value to add an extra delay before the first usb
598 bus scan.
599
Hans de Goedee7b852a2015-01-07 15:26:06 +0100600config USB0_VBUS_PIN
601 string "Vbus enable pin for usb0 (otg)"
602 default ""
603 ---help---
604 Set the Vbus enable pin for usb0 (otg). This takes a string in the
605 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
606
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100607config USB0_VBUS_DET
608 string "Vbus detect pin for usb0 (otg)"
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100609 default ""
610 ---help---
611 Set the Vbus detect pin for usb0 (otg). This takes a string in the
612 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
613
Hans de Goedeaadd97f2015-06-14 17:29:53 +0200614config USB0_ID_DET
615 string "ID detect pin for usb0 (otg)"
616 default ""
617 ---help---
618 Set the ID detect pin for usb0 (otg). This takes a string in the
619 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
620
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100621config USB1_VBUS_PIN
622 string "Vbus enable pin for usb1 (ehci0)"
623 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100624 default "PH27" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100625 ---help---
626 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
627 a string in the format understood by sunxi_name_to_gpio, e.g.
628 PH1 for pin 1 of port H.
629
630config USB2_VBUS_PIN
631 string "Vbus enable pin for usb2 (ehci1)"
632 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100633 default "PH24" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100634 ---help---
635 See USB1_VBUS_PIN help text.
636
Hans de Goedea60c3fc2016-03-18 08:42:01 +0100637config USB3_VBUS_PIN
638 string "Vbus enable pin for usb3 (ehci2)"
639 default ""
640 ---help---
641 See USB1_VBUS_PIN help text.
642
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200643config I2C0_ENABLE
644 bool "Enable I2C/TWI controller 0"
Chen-Yu Tsai478a3c52016-11-30 15:30:30 +0800645 default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200646 default n if MACH_SUN6I || MACH_SUN8I
Hans de Goede2c526402016-05-15 13:51:58 +0200647 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200648 ---help---
649 This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
650 its clock and setting up the bus. This is especially useful on devices
651 with slaves connected to the bus or with pins exposed through e.g. an
652 expansion port/header.
653
654config I2C1_ENABLE
655 bool "Enable I2C/TWI controller 1"
656 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200657 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200658 ---help---
659 See I2C0_ENABLE help text.
660
661config I2C2_ENABLE
662 bool "Enable I2C/TWI controller 2"
663 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200664 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200665 ---help---
666 See I2C0_ENABLE help text.
667
668if MACH_SUN6I || MACH_SUN7I
669config I2C3_ENABLE
670 bool "Enable I2C/TWI controller 3"
671 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200672 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200673 ---help---
674 See I2C0_ENABLE help text.
675endif
676
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100677if SUNXI_GEN_SUN6I
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100678config R_I2C_ENABLE
679 bool "Enable the PRCM I2C/TWI controller"
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100680 # This is used for the pmic on H3
681 default y if SY8106A_POWER
Hans de Goede2c526402016-05-15 13:51:58 +0200682 select CMD_I2C
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100683 ---help---
684 Set this to y to enable the I2C controller which is part of the PRCM.
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100685endif
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100686
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200687if MACH_SUN7I
688config I2C4_ENABLE
689 bool "Enable I2C/TWI controller 4"
690 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200691 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200692 ---help---
693 See I2C0_ENABLE help text.
694endif
695
Hans de Goede3ae1d132015-04-25 17:25:14 +0200696config AXP_GPIO
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900697 bool "Enable support for gpio-s on axp PMICs"
Hans de Goede3ae1d132015-04-25 17:25:14 +0200698 default n
699 ---help---
700 Say Y here to enable support for the gpio pins of the axp PMIC ICs.
701
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800702config VIDEO_SUNXI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900703 bool "Enable graphical uboot console on HDMI, LCD or VGA"
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800704 depends on !MACH_SUN8I_A83T
705 depends on !MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800706 depends on !MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800707 depends on !MACH_SUN8I_V3S
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800708 depends on !MACH_SUN9I
709 depends on !MACH_SUN50I
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800710 select VIDEO
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800711 imply VIDEO_DT_SIMPLEFB
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200712 default y
713 ---help---
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100714 Say Y here to add support for using a cfb console on the HDMI, LCD
715 or VGA output found on most sunxi devices. See doc/README.video for
716 info on how to select the video output and mode.
717
Hans de Goedee9544592014-12-23 23:04:35 +0100718config VIDEO_HDMI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900719 bool "HDMI output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800720 depends on VIDEO_SUNXI && !MACH_SUN8I
Hans de Goedee9544592014-12-23 23:04:35 +0100721 default y
722 ---help---
723 Say Y here to add support for outputting video over HDMI.
724
Hans de Goede260f5202014-12-25 13:58:06 +0100725config VIDEO_VGA
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900726 bool "VGA output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800727 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I)
Hans de Goede260f5202014-12-25 13:58:06 +0100728 default n
729 ---help---
730 Say Y here to add support for outputting video over VGA.
731
Hans de Goedeac1633c2014-12-24 12:17:07 +0100732config VIDEO_VGA_VIA_LCD
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900733 bool "VGA via LCD controller support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800734 depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedeac1633c2014-12-24 12:17:07 +0100735 default n
736 ---help---
737 Say Y here to add support for external DACs connected to the parallel
738 LCD interface driving a VGA connector, such as found on the
739 Olimex A13 boards.
740
Hans de Goede18366f72015-01-25 15:33:07 +0100741config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900742 bool "Force sync active high for VGA via LCD controller support"
Hans de Goede18366f72015-01-25 15:33:07 +0100743 depends on VIDEO_VGA_VIA_LCD
744 default n
745 ---help---
746 Say Y here if you've a board which uses opendrain drivers for the vga
747 hsync and vsync signals. Opendrain drivers cannot generate steep enough
748 positive edges for a stable video output, so on boards with opendrain
749 drivers the sync signals must always be active high.
750
Chen-Yu Tsai9ed19522015-01-12 18:02:11 +0800751config VIDEO_VGA_EXTERNAL_DAC_EN
752 string "LCD panel power enable pin"
753 depends on VIDEO_VGA_VIA_LCD
754 default ""
755 ---help---
756 Set the enable pin for the external VGA DAC. This takes a string in the
757 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
758
Hans de Goedec06e00e2015-08-03 19:20:26 +0200759config VIDEO_COMPOSITE
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900760 bool "Composite video output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800761 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
Hans de Goedec06e00e2015-08-03 19:20:26 +0200762 default n
763 ---help---
764 Say Y here to add support for outputting composite video.
765
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100766config VIDEO_LCD_MODE
767 string "LCD panel timing details"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800768 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100769 default ""
770 ---help---
771 LCD panel timing details string, leave empty if there is no LCD panel.
772 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
773 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 Goede924c8932015-08-16 11:23:42 +0200774 Also see: http://linux-sunxi.org/LCD
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100775
Hans de Goede481b6642015-01-13 13:21:46 +0100776config VIDEO_LCD_DCLK_PHASE
777 int "LCD panel display clock phase"
Vasily Khoruzhick2f0b6e52017-10-26 21:51:52 -0700778 depends on VIDEO_SUNXI || DM_VIDEO
Hans de Goede481b6642015-01-13 13:21:46 +0100779 default 1
780 ---help---
781 Select LCD panel display clock phase shift, range 0-3.
782
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100783config VIDEO_LCD_POWER
784 string "LCD panel power enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800785 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100786 default ""
787 ---help---
788 Set the power enable pin for the LCD panel. This takes a string in the
789 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
790
Hans de Goedece9e3322015-02-16 17:26:41 +0100791config VIDEO_LCD_RESET
792 string "LCD panel reset pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800793 depends on VIDEO_SUNXI
Hans de Goedece9e3322015-02-16 17:26:41 +0100794 default ""
795 ---help---
796 Set the reset pin for the LCD panel. This takes a string in the format
797 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
798
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100799config VIDEO_LCD_BL_EN
800 string "LCD panel backlight enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800801 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100802 default ""
803 ---help---
804 Set the backlight enable pin for the LCD panel. This takes a string in the
805 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
806 port H.
807
808config VIDEO_LCD_BL_PWM
809 string "LCD panel backlight pwm pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800810 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100811 default ""
812 ---help---
813 Set the backlight pwm pin for the LCD panel. This takes a string in the
814 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200815
Hans de Goede2d5d3022015-01-22 21:02:42 +0100816config VIDEO_LCD_BL_PWM_ACTIVE_LOW
817 bool "LCD panel backlight pwm is inverted"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800818 depends on VIDEO_SUNXI
Hans de Goede2d5d3022015-01-22 21:02:42 +0100819 default y
820 ---help---
821 Set this if the backlight pwm output is active low.
822
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100823config VIDEO_LCD_PANEL_I2C
824 bool "LCD panel needs to be configured via i2c"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800825 depends on VIDEO_SUNXI
Hans de Goede6de9f762015-03-07 12:00:02 +0100826 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200827 select CMD_I2C
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100828 ---help---
829 Say y here if the LCD panel needs to be configured via i2c. This
830 will add a bitbang i2c controller using gpios to talk to the LCD.
831
832config VIDEO_LCD_PANEL_I2C_SDA
833 string "LCD panel i2c interface SDA pin"
834 depends on VIDEO_LCD_PANEL_I2C
835 default "PG12"
836 ---help---
837 Set the SDA pin for the LCD i2c interface. This takes a string in the
838 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
839
840config VIDEO_LCD_PANEL_I2C_SCL
841 string "LCD panel i2c interface SCL pin"
842 depends on VIDEO_LCD_PANEL_I2C
843 default "PG10"
844 ---help---
845 Set the SCL pin for the LCD i2c interface. This takes a string in the
846 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
847
Hans de Goede797a0f52015-01-01 22:04:34 +0100848
849# Note only one of these may be selected at a time! But hidden choices are
850# not supported by Kconfig
851config VIDEO_LCD_IF_PARALLEL
852 bool
853
854config VIDEO_LCD_IF_LVDS
855 bool
856
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200857config SUNXI_DE2
858 bool
859 default n
860
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200861config VIDEO_DE2
862 bool "Display Engine 2 video driver"
863 depends on SUNXI_DE2
864 select DM_VIDEO
865 select DISPLAY
Icenowy Zheng82576de2017-10-26 11:14:47 +0800866 imply VIDEO_DT_SIMPLEFB
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200867 default y
868 ---help---
869 Say y here if you want to build DE2 video driver which is present on
870 newer SoCs. Currently only HDMI output is supported.
871
Hans de Goede797a0f52015-01-01 22:04:34 +0100872
873choice
874 prompt "LCD panel support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800875 depends on VIDEO_SUNXI
Hans de Goede797a0f52015-01-01 22:04:34 +0100876 ---help---
877 Select which type of LCD panel to support.
878
879config VIDEO_LCD_PANEL_PARALLEL
880 bool "Generic parallel interface LCD panel"
881 select VIDEO_LCD_IF_PARALLEL
882
883config VIDEO_LCD_PANEL_LVDS
884 bool "Generic lvds interface LCD panel"
885 select VIDEO_LCD_IF_LVDS
886
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200887config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
888 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
889 select VIDEO_LCD_SSD2828
890 select VIDEO_LCD_IF_PARALLEL
891 ---help---
Hans de Goede91f1b822015-08-08 16:13:53 +0200892 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
893
894config VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
895 bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
896 select VIDEO_LCD_ANX9804
897 select VIDEO_LCD_IF_PARALLEL
898 select VIDEO_LCD_PANEL_I2C
899 ---help---
900 Select this for eDP LCD panels with 4 lanes running at 1.62G,
901 connected via an ANX9804 bridge chip.
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200902
Hans de Goede743fb9552015-01-20 09:23:36 +0100903config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
904 bool "Hitachi tx18d42vm LCD panel"
905 select VIDEO_LCD_HITACHI_TX18D42VM
906 select VIDEO_LCD_IF_LVDS
907 ---help---
908 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
909
Hans de Goede613dade2015-02-16 17:49:47 +0100910config VIDEO_LCD_TL059WV5C0
911 bool "tl059wv5c0 LCD panel"
912 select VIDEO_LCD_PANEL_I2C
913 select VIDEO_LCD_IF_PARALLEL
914 ---help---
915 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
916 Aigo M60/M608/M606 tablets.
917
Hans de Goede797a0f52015-01-01 22:04:34 +0100918endchoice
919
Mylène Josserand628426a2017-04-02 12:59:09 +0200920config SATAPWR
921 string "SATA power pin"
922 default ""
923 help
924 Set the pins used to power the SATA. This takes a string in the
925 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
926 port H.
Hans de Goede797a0f52015-01-01 22:04:34 +0100927
Hans de Goedebf880fe2015-01-25 12:10:48 +0100928config GMAC_TX_DELAY
929 int "GMAC Transmit Clock Delay Chain"
930 default 0
931 ---help---
932 Set the GMAC Transmit Clock Delay Chain value.
933
Hans de Goede66ab79d2015-09-13 13:02:48 +0200934config SPL_STACK_R_ADDR
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800935 default 0x4fe00000 if MACH_SUN4I
936 default 0x4fe00000 if MACH_SUN5I
937 default 0x4fe00000 if MACH_SUN6I
938 default 0x4fe00000 if MACH_SUN7I
939 default 0x4fe00000 if MACH_SUN8I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200940 default 0x2fe00000 if MACH_SUN9I
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800941 default 0x4fe00000 if MACH_SUN50I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200942
Jagan Teki4e159f82018-02-06 22:42:56 +0530943config SPL_SPI_SUNXI
944 bool "Support for SPI Flash on Allwinner SoCs in SPL"
945 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
946 help
947 Enable support for SPI Flash. This option allows SPL to read from
948 sunxi SPI Flash. It uses the same method as the boot ROM, so does
949 not need any extra configuration.
950
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900951endif