blob: 464668499163ba2737ddd93bd58af1e1d914040e [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 Teki6aa7f712018-03-17 00:18:01 +053033config DRAM_SUN9I
34 bool
35 help
36 Select this dram controller driver for Sun9i platforms,
37 like A80.
38
Jagan Teki59ea2872018-01-11 13:21:58 +053039config SUN6I_P2WI
40 bool "Allwinner sun6i internal P2WI controller"
41 help
42 If you say yes to this option, support will be included for the
43 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
44 SOCs.
45 The P2WI looks like an SMBus controller (which supports only byte
46 accesses), except that it only supports one slave device.
47 This interface is used to connect to specific PMIC devices (like the
48 AXP221).
49
Jagan Teki932f5e02018-01-11 13:21:15 +053050config SUN6I_PRCM
51 bool
52 help
53 Support for the PRCM (Power/Reset/Clock Management) unit available
54 in A31 SoC.
55
Jagan Tekifeb29272018-02-14 22:28:30 +053056config AXP_PMIC_BUS
57 bool "Sunxi AXP PMIC bus access helpers"
58 help
59 Select this PMIC bus access helpers for Sunxi platform PRCM or other
60 AXP family PMIC devices.
61
Jagan Tekif35767b2018-01-11 13:23:52 +053062config SUN8I_RSB
63 bool "Allwinner sunXi Reduced Serial Bus Driver"
64 help
65 Say y here to enable support for Allwinner's Reduced Serial Bus
66 (RSB) support. This controller is responsible for communicating
67 with various RSB based devices, such as AXP223, AXP8XX PMICs,
68 and AC100/AC200 ICs.
69
Andre Przywarade454ec2017-02-16 01:20:23 +000070config SUNXI_HIGH_SRAM
71 bool
72 default n
73 ---help---
74 Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
75 with the first SRAM region being located at address 0.
76 Some newer SoCs map the boot ROM at address 0 instead and move the
77 SRAM to 64KB, just behind the mask ROM.
78 Chips using the latter setup are supposed to select this option to
79 adjust the addresses accordingly.
80
Hans de Goedef07872b2015-04-06 20:33:34 +020081# Note only one of these may be selected at a time! But hidden choices are
82# not supported by Kconfig
83config SUNXI_GEN_SUN4I
84 bool
85 ---help---
86 Select this for sunxi SoCs which have resets and clocks set up
87 as the original A10 (mach-sun4i).
88
89config SUNXI_GEN_SUN6I
90 bool
91 ---help---
92 Select this for sunxi SoCs which have sun6i like periphery, like
93 separate ahb reset control registers, custom pmic bus, new style
94 watchdog, etc.
95
Icenowy Zhengca0bc022017-06-03 17:10:14 +080096config SUNXI_DRAM_DW
97 bool
98 ---help---
99 Select this for sunxi SoCs which uses a DRAM controller like the
100 DesignWare controller used in H3, mainly SoCs after H3, which do
101 not have official open-source DRAM initialization code, but can
102 use modified H3 DRAM initialization code.
Hans de Goedef07872b2015-04-06 20:33:34 +0200103
Icenowy Zhengb2607512017-06-03 17:10:16 +0800104if SUNXI_DRAM_DW
105config SUNXI_DRAM_DW_16BIT
106 bool
107 ---help---
108 Select this for sunxi SoCs with DesignWare DRAM controller and
109 have only 16-bit memory buswidth.
110
111config SUNXI_DRAM_DW_32BIT
112 bool
113 ---help---
114 Select this for sunxi SoCs with DesignWare DRAM controller with
115 32-bit memory buswidth.
116endif
117
Andre Przywara5fb97432017-02-16 01:20:27 +0000118config MACH_SUNXI_H3_H5
119 bool
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200120 select DM_I2C
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200121 select SUNXI_DE2
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800122 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800123 select SUNXI_DRAM_DW_32BIT
Andre Przywara5fb97432017-02-16 01:20:27 +0000124 select SUNXI_GEN_SUN6I
125 select SUPPORT_SPL
126
Ian Campbelld8e69e02014-10-24 21:20:44 +0100127choice
128 prompt "Sunxi SoC Variant"
Hans de Goedeb05a6482016-06-12 11:57:07 +0200129 optional
Ian Campbelld8e69e02014-10-24 21:20:44 +0100130
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100131config MACH_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100132 bool "sun4i (Allwinner A10)"
133 select CPU_V7
Andre Przywara4330eb92017-02-16 01:20:21 +0000134 select ARM_CORTEX_CPU_IS_UP
Jagan Teki3994b1e2018-01-10 16:03:34 +0530135 select DRAM_SUN4I
Hans de Goedef07872b2015-04-06 20:33:34 +0200136 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100137 select SUPPORT_SPL
138
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100139config MACH_SUN5I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100140 bool "sun5i (Allwinner A13)"
141 select CPU_V7
Andre Przywara4330eb92017-02-16 01:20:21 +0000142 select ARM_CORTEX_CPU_IS_UP
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
Tom Rinie69ba982018-03-06 19:02:27 -0500146 imply CONS_INDEX_2 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100147
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100148config MACH_SUN6I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100149 bool "sun6i (Allwinner A31)"
150 select CPU_V7
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800151 select CPU_V7_HAS_NONSEC
152 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900153 select ARCH_SUPPORT_PSCI
Jagan Teki68d0f5f2018-03-17 00:16:36 +0530154 select DRAM_SUN6I
Jagan Teki59ea2872018-01-11 13:21:58 +0530155 select SUN6I_P2WI
Jagan Teki932f5e02018-01-11 13:21:15 +0530156 select SUN6I_PRCM
Hans de Goedef07872b2015-04-06 20:33:34 +0200157 select SUNXI_GEN_SUN6I
Hans de Goedea5403b92014-10-25 20:18:10 +0200158 select SUPPORT_SPL
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800159 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100160
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100161config MACH_SUN7I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100162 bool "sun7i (Allwinner A20)"
163 select CPU_V7
Hans de Goede85437352014-11-14 09:34:30 +0100164 select CPU_V7_HAS_NONSEC
165 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900166 select ARCH_SUPPORT_PSCI
Jagan Teki3994b1e2018-01-10 16:03:34 +0530167 select DRAM_SUN4I
Hans de Goedef07872b2015-04-06 20:33:34 +0200168 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100169 select SUPPORT_SPL
Hans de Goedea5636382014-10-24 20:12:04 +0200170 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100171
Hans de Goedef055ed62015-04-06 20:55:39 +0200172config MACH_SUN8I_A23
Ian Campbelld8e69e02014-10-24 21:20:44 +0100173 bool "sun8i (Allwinner A23)"
174 select CPU_V7
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800175 select CPU_V7_HAS_NONSEC
176 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900177 select ARCH_SUPPORT_PSCI
Jagan Teki318e4e52018-01-10 16:15:14 +0530178 select DRAM_SUN8I_A23
Hans de Goedef07872b2015-04-06 20:33:34 +0200179 select SUNXI_GEN_SUN6I
Hans de Goede966d2392014-12-07 14:34:27 +0100180 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800181 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500182 imply CONS_INDEX_5 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100183
Vishnu Patekar3702f142015-03-01 23:47:48 +0530184config MACH_SUN8I_A33
185 bool "sun8i (Allwinner A33)"
186 select CPU_V7
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800187 select CPU_V7_HAS_NONSEC
188 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900189 select ARCH_SUPPORT_PSCI
Jagan Tekie624d4c2018-01-10 16:17:39 +0530190 select DRAM_SUN8I_A33
Vishnu Patekar3702f142015-03-01 23:47:48 +0530191 select SUNXI_GEN_SUN6I
192 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
Vishnu Patekar3702f142015-03-01 23:47:48 +0530195
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800196config MACH_SUN8I_A83T
197 bool "sun8i (Allwinner A83T)"
198 select CPU_V7
199 select SUNXI_GEN_SUN6I
Maxime Ripard4799a1a2017-08-23 12:03:42 +0200200 select MMC_SUNXI_HAS_NEW_MODE
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800201 select SUPPORT_SPL
202
Jens Kuskef9770722015-11-17 15:12:58 +0100203config MACH_SUN8I_H3
204 bool "sun8i (Allwinner H3)"
205 select CPU_V7
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800206 select CPU_V7_HAS_NONSEC
207 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900208 select ARCH_SUPPORT_PSCI
Andre Przywara5fb97432017-02-16 01:20:27 +0000209 select MACH_SUNXI_H3_H5
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800210 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Jens Kuskef9770722015-11-17 15:12:58 +0100211
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800212config MACH_SUN8I_R40
213 bool "sun8i (Allwinner R40)"
214 select CPU_V7
Chen-Yu Tsaib1a1fda2017-03-01 11:03:15 +0800215 select CPU_V7_HAS_NONSEC
216 select CPU_V7_HAS_VIRT
217 select ARCH_SUPPORT_PSCI
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800218 select SUNXI_GEN_SUN6I
Chen-Yu Tsai2d5826c2016-12-02 16:09:49 +0800219 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800220 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800221 select SUNXI_DRAM_DW_32BIT
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800222
Icenowy Zheng52e61882017-04-08 15:30:12 +0800223config MACH_SUN8I_V3S
224 bool "sun8i (Allwinner V3s)"
225 select CPU_V7
226 select CPU_V7_HAS_NONSEC
227 select CPU_V7_HAS_VIRT
228 select ARCH_SUPPORT_PSCI
229 select SUNXI_GEN_SUN6I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800230 select SUNXI_DRAM_DW
231 select SUNXI_DRAM_DW_16BIT
232 select SUPPORT_SPL
Icenowy Zheng52e61882017-04-08 15:30:12 +0800233 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
234
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100235config MACH_SUN9I
236 bool "sun9i (Allwinner A80)"
237 select CPU_V7
Jagan Teki6aa7f712018-03-17 00:18:01 +0530238 select DRAM_SUN9I
Jagan Teki11f33e12018-01-11 13:23:02 +0530239 select SUN6I_PRCM
Andre Przywarade454ec2017-02-16 01:20:23 +0000240 select SUNXI_HIGH_SRAM
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100241 select SUNXI_GEN_SUN6I
Jagan Tekif35767b2018-01-11 13:23:52 +0530242 select SUN8I_RSB
Philipp Tomsich470626e2016-10-28 18:21:32 +0800243 select SUPPORT_SPL
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100244
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800245config MACH_SUN50I
246 bool "sun50i (Allwinner A64)"
247 select ARM64
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200248 select DM_I2C
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200249 select SUNXI_DE2
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800250 select SUNXI_GEN_SUN6I
Andre Przywarade454ec2017-02-16 01:20:23 +0000251 select SUNXI_HIGH_SRAM
Andre Przywaraa563adc2017-01-02 11:48:45 +0000252 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800253 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800254 select SUNXI_DRAM_DW_32BIT
Andre Przywarad8362162017-04-26 01:32:48 +0100255 select FIT
256 select SPL_LOAD_FIT
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800257
Andre Przywara5611a2d2017-02-16 01:20:28 +0000258config MACH_SUN50I_H5
259 bool "sun50i (Allwinner H5)"
260 select ARM64
261 select MACH_SUNXI_H3_H5
262 select SUNXI_HIGH_SRAM
Andre Przywarad8362162017-04-26 01:32:48 +0100263 select FIT
264 select SPL_LOAD_FIT
Andre Przywara5611a2d2017-02-16 01:20:28 +0000265
Ian Campbelld8e69e02014-10-24 21:20:44 +0100266endchoice
Maxime Ripard2c519412014-10-03 20:16:29 +0800267
Hans de Goedef055ed62015-04-06 20:55:39 +0200268# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
269config MACH_SUN8I
270 bool
Jagan Tekif35767b2018-01-11 13:23:52 +0530271 select SUN8I_RSB
Jagan Teki11f33e12018-01-11 13:23:02 +0530272 select SUN6I_PRCM
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800273 default y if MACH_SUN8I_A23
274 default y if MACH_SUN8I_A33
275 default y if MACH_SUN8I_A83T
276 default y if MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800277 default y if MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800278 default y if MACH_SUN8I_V3S
Hans de Goedef055ed62015-04-06 20:55:39 +0200279
Andre Przywara06893b62017-01-02 11:48:35 +0000280config RESERVE_ALLWINNER_BOOT0_HEADER
281 bool "reserve space for Allwinner boot0 header"
282 select ENABLE_ARM_SOC_BOOT0_HOOK
283 ---help---
284 Prepend a 1536 byte (empty) header to the U-Boot image file, to be
285 filled with magic values post build. The Allwinner provided boot0
286 blob relies on this information to load and execute U-Boot.
287 Only needed on 64-bit Allwinner boards so far when using boot0.
288
Andre Przywara46c3d992017-01-02 11:48:36 +0000289config ARM_BOOT_HOOK_RMR
290 bool
291 depends on ARM64
292 default y
293 select ENABLE_ARM_SOC_BOOT0_HOOK
294 ---help---
295 Insert some ARM32 code at the very beginning of the U-Boot binary
296 which uses an RMR register write to bring the core into AArch64 mode.
297 The very first instruction acts as a switch, since it's carefully
298 chosen to be a NOP in one mode and a branch in the other, so the
299 code would only be executed if not already in AArch64.
300 This allows both the SPL and the U-Boot proper to be entered in
301 either mode and switch to AArch64 if needed.
302
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800303if SUNXI_DRAM_DW
304config SUNXI_DRAM_DDR3
305 bool
306
Icenowy Zhenge270a582017-06-03 17:10:20 +0800307config SUNXI_DRAM_DDR2
308 bool
309
Icenowy Zheng3c1b9f12017-06-03 17:10:23 +0800310config SUNXI_DRAM_LPDDR3
311 bool
312
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800313choice
314 prompt "DRAM Type and Timing"
Icenowy Zhengfe052172017-06-03 17:10:21 +0800315 default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
316 default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800317
318config SUNXI_DRAM_DDR3_1333
319 bool "DDR3 1333"
320 select SUNXI_DRAM_DDR3
Icenowy Zhengfe052172017-06-03 17:10:21 +0800321 depends on !MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800322 ---help---
323 This option is the original only supported memory type, which suits
324 many H3/H5/A64 boards available now.
325
Icenowy Zhengeb4766e2017-06-03 17:10:24 +0800326config SUNXI_DRAM_LPDDR3_STOCK
327 bool "LPDDR3 with Allwinner stock configuration"
328 select SUNXI_DRAM_LPDDR3
329 ---help---
330 This option is the LPDDR3 timing used by the stock boot0 by
331 Allwinner.
332
Icenowy Zhenge270a582017-06-03 17:10:20 +0800333config SUNXI_DRAM_DDR2_V3S
334 bool "DDR2 found in V3s chip"
335 select SUNXI_DRAM_DDR2
Icenowy Zhengfe052172017-06-03 17:10:21 +0800336 depends on MACH_SUN8I_V3S
Icenowy Zhenge270a582017-06-03 17:10:20 +0800337 ---help---
338 This option is only for the DDR2 memory chip which is co-packaged in
339 Allwinner V3s SoC.
340
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800341endchoice
342endif
343
Vishnu Patekarc49936f2016-01-12 01:20:58 +0800344config DRAM_TYPE
345 int "sunxi dram type"
346 depends on MACH_SUN8I_A83T
347 default 3
348 ---help---
349 Set the dram type, 3: DDR3, 7: LPDDR3
Hans de Goedef055ed62015-04-06 20:55:39 +0200350
Hans de Goede3aeaa282014-11-15 19:46:39 +0100351config DRAM_CLK
Hans de Goede59d9fc72015-01-17 14:24:55 +0100352 int "sunxi dram clock speed"
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800353 default 792 if MACH_SUN9I
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800354 default 648 if MACH_SUN8I_R40
Hans de Goede59d9fc72015-01-17 14:24:55 +0100355 default 312 if MACH_SUN6I || MACH_SUN8I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800356 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
357 MACH_SUN8I_V3S
Andre Przywaraafd68702017-01-02 11:48:37 +0000358 default 672 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100359 ---help---
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800360 Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
361 must be a multiple of 24. For the sun9i (A80), the tested values
362 (for DDR3-1600) are 312 to 792.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100363
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200364if MACH_SUN5I || MACH_SUN7I
365config DRAM_MBUS_CLK
366 int "sunxi mbus clock speed"
367 default 300
368 ---help---
369 Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
370
371endif
372
Hans de Goede3aeaa282014-11-15 19:46:39 +0100373config DRAM_ZQ
Hans de Goede59d9fc72015-01-17 14:24:55 +0100374 int "sunxi dram zq value"
375 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
376 default 127 if MACH_SUN7I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800377 default 14779 if MACH_SUN8I_V3S
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800378 default 3881979 if MACH_SUN8I_R40
Chen-Yu Tsai47bb3062016-10-28 18:21:36 +0800379 default 4145117 if MACH_SUN9I
Andre Przywaraafd68702017-01-02 11:48:37 +0000380 default 3881915 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100381 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100382 Set the dram zq value.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100383
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200384config DRAM_ODT_EN
385 bool "sunxi dram odt enable"
386 default n if !MACH_SUN8I_A23
387 default y if MACH_SUN8I_A23
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800388 default y if MACH_SUN8I_R40
Andre Przywaraa563adc2017-01-02 11:48:45 +0000389 default y if MACH_SUN50I
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200390 ---help---
391 Select this to enable dram odt (on die termination).
392
Hans de Goede59d9fc72015-01-17 14:24:55 +0100393if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
394config DRAM_EMR1
395 int "sunxi dram emr1 value"
396 default 0 if MACH_SUN4I
397 default 4 if MACH_SUN5I || MACH_SUN7I
398 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100399 Set the dram controller emr1 value.
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200400
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200401config DRAM_TPR3
402 hex "sunxi dram tpr3 value"
403 default 0
404 ---help---
405 Set the dram controller tpr3 parameter. This parameter configures
406 the delay on the command lane and also phase shifts, which are
407 applied for sampling incoming read data. The default value 0
408 means that no phase/delay adjustments are necessary. Properly
409 configuring this parameter increases reliability at high DRAM
410 clock speeds.
411
412config DRAM_DQS_GATING_DELAY
413 hex "sunxi dram dqs_gating_delay value"
414 default 0
415 ---help---
416 Set the dram controller dqs_gating_delay parmeter. Each byte
417 encodes the DQS gating delay for each byte lane. The delay
418 granularity is 1/4 cycle. For example, the value 0x05060606
419 means that the delay is 5 quarter-cycles for one lane (1.25
420 cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
421 The default value 0 means autodetection. The results of hardware
422 autodetection are not very reliable and depend on the chip
423 temperature (sometimes producing different results on cold start
424 and warm reboot). But the accuracy of hardware autodetection
425 is usually good enough, unless running at really high DRAM
426 clocks speeds (up to 600MHz). If unsure, keep as 0.
427
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200428choice
429 prompt "sunxi dram timings"
430 default DRAM_TIMINGS_VENDOR_MAGIC
431 ---help---
432 Select the timings of the DDR3 chips.
433
434config DRAM_TIMINGS_VENDOR_MAGIC
435 bool "Magic vendor timings from Android"
436 ---help---
437 The same DRAM timings as in the Allwinner boot0 bootloader.
438
439config DRAM_TIMINGS_DDR3_1066F_1333H
440 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
441 ---help---
442 Use the timings of the standard JEDEC DDR3-1066F speed bin for
443 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
444 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
445 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
446 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
447 that down binning to DDR3-1066F is supported (because DDR3-1066F
448 uses a bit faster timings than DDR3-1333H).
449
450config DRAM_TIMINGS_DDR3_800E_1066G_1333J
451 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
452 ---help---
453 Use the timings of the slowest possible JEDEC speed bin for the
454 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
455 DDR3-800E, DDR3-1066G or DDR3-1333J.
456
457endchoice
458
Hans de Goede3aeaa282014-11-15 19:46:39 +0100459endif
460
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200461if MACH_SUN8I_A23
462config DRAM_ODT_CORRECTION
463 int "sunxi dram odt correction value"
464 default 0
465 ---help---
466 Set the dram odt correction value (range -255 - 255). In allwinner
467 fex files, this option is found in bits 8-15 of the u32 odt_en variable
468 in the [dram] section. When bit 31 of the odt_en variable is set
469 then the correction is negative. Usually the value for this is 0.
470endif
471
Iain Paton630df142015-03-28 10:26:38 +0000472config SYS_CLK_FREQ
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800473 default 1008000000 if MACH_SUN4I
474 default 1008000000 if MACH_SUN5I
475 default 1008000000 if MACH_SUN6I
Iain Paton630df142015-03-28 10:26:38 +0000476 default 912000000 if MACH_SUN7I
Icenowy Zheng2e915b42017-10-31 07:36:28 +0800477 default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800478 default 1008000000 if MACH_SUN8I
479 default 1008000000 if MACH_SUN9I
Iain Paton630df142015-03-28 10:26:38 +0000480
Maxime Ripard2c519412014-10-03 20:16:29 +0800481config SYS_CONFIG_NAME
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100482 default "sun4i" if MACH_SUN4I
483 default "sun5i" if MACH_SUN5I
484 default "sun6i" if MACH_SUN6I
485 default "sun7i" if MACH_SUN7I
486 default "sun8i" if MACH_SUN8I
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100487 default "sun9i" if MACH_SUN9I
Siarhei Siamashka26c50fb2016-03-29 17:29:10 +0200488 default "sun50i" if MACH_SUN50I
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900489
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900490config SYS_BOARD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900491 default "sunxi"
492
493config SYS_SOC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900494 default "sunxi"
495
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200496config UART0_PORT_F
497 bool "UART0 on MicroSD breakout board"
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200498 default n
499 ---help---
500 Repurpose the SD card slot for getting access to the UART0 serial
501 console. Primarily useful only for low level u-boot debugging on
502 tablets, where normal UART0 is difficult to access and requires
503 device disassembly and/or soldering. As the SD card can't be used
504 at the same time, the system can be only booted in the FEL mode.
505 Only enable this if you really know what you are doing.
506
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200507config OLD_SUNXI_KERNEL_COMPAT
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900508 bool "Enable workarounds for booting old kernels"
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200509 default n
510 ---help---
511 Set this to enable various workarounds for old kernels, this results in
512 sub-optimal settings for newer kernels, only enable if needed.
513
Mylène Josserand147c6062017-04-02 12:59:10 +0200514config MACPWR
515 string "MAC power pin"
516 default ""
517 help
518 Set the pin used to power the MAC. This takes a string in the format
519 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
520
Hans de Goede7412ef82014-10-02 20:29:26 +0200521config MMC0_CD_PIN
522 string "Card detect pin for mmc0"
Andre Przywara5fb97432017-02-16 01:20:27 +0000523 default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
Hans de Goede7412ef82014-10-02 20:29:26 +0200524 default ""
525 ---help---
526 Set the card detect pin for mmc0, leave empty to not use cd. This
527 takes a string in the format understood by sunxi_name_to_gpio, e.g.
528 PH1 for pin 1 of port H.
529
530config MMC1_CD_PIN
531 string "Card detect pin for mmc1"
532 default ""
533 ---help---
534 See MMC0_CD_PIN help text.
535
536config MMC2_CD_PIN
537 string "Card detect pin for mmc2"
538 default ""
539 ---help---
540 See MMC0_CD_PIN help text.
541
542config MMC3_CD_PIN
543 string "Card detect pin for mmc3"
544 default ""
545 ---help---
546 See MMC0_CD_PIN help text.
547
Paul Kocialkowskid390d8c2015-03-22 18:12:23 +0100548config MMC1_PINS
549 string "Pins for mmc1"
550 default ""
551 ---help---
552 Set the pins used for mmc1, when applicable. This takes a string in the
553 format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
554
555config MMC2_PINS
556 string "Pins for mmc2"
557 default ""
558 ---help---
559 See MMC1_PINS help text.
560
561config MMC3_PINS
562 string "Pins for mmc3"
563 default ""
564 ---help---
565 See MMC1_PINS help text.
566
Hans de Goedeaf593e42014-10-02 20:43:50 +0200567config MMC_SUNXI_SLOT_EXTRA
568 int "mmc extra slot number"
569 default -1
570 ---help---
571 sunxi builds always enable mmc0, some boards also have a second sdcard
572 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
573 support for this.
574
Hans de Goede99c9fb02016-04-01 22:39:26 +0200575config INITIAL_USB_SCAN_DELAY
576 int "delay initial usb scan by x ms to allow builtin devices to init"
577 default 0
578 ---help---
579 Some boards have on board usb devices which need longer than the
580 USB spec's 1 second to connect from board powerup. Set this config
581 option to a non 0 value to add an extra delay before the first usb
582 bus scan.
583
Hans de Goedee7b852a2015-01-07 15:26:06 +0100584config USB0_VBUS_PIN
585 string "Vbus enable pin for usb0 (otg)"
586 default ""
587 ---help---
588 Set the Vbus enable 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 Goedeeaa0d702015-02-16 22:13:43 +0100591config USB0_VBUS_DET
592 string "Vbus detect pin for usb0 (otg)"
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100593 default ""
594 ---help---
595 Set the Vbus 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 Goedeaadd97f2015-06-14 17:29:53 +0200598config USB0_ID_DET
599 string "ID detect pin for usb0 (otg)"
600 default ""
601 ---help---
602 Set the ID detect pin for usb0 (otg). This takes a string in the
603 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
604
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100605config USB1_VBUS_PIN
606 string "Vbus enable pin for usb1 (ehci0)"
607 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100608 default "PH27" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100609 ---help---
610 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
611 a string in the format understood by sunxi_name_to_gpio, e.g.
612 PH1 for pin 1 of port H.
613
614config USB2_VBUS_PIN
615 string "Vbus enable pin for usb2 (ehci1)"
616 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100617 default "PH24" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100618 ---help---
619 See USB1_VBUS_PIN help text.
620
Hans de Goedea60c3fc2016-03-18 08:42:01 +0100621config USB3_VBUS_PIN
622 string "Vbus enable pin for usb3 (ehci2)"
623 default ""
624 ---help---
625 See USB1_VBUS_PIN help text.
626
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200627config I2C0_ENABLE
628 bool "Enable I2C/TWI controller 0"
Chen-Yu Tsai478a3c52016-11-30 15:30:30 +0800629 default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200630 default n if MACH_SUN6I || MACH_SUN8I
Hans de Goede2c526402016-05-15 13:51:58 +0200631 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200632 ---help---
633 This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
634 its clock and setting up the bus. This is especially useful on devices
635 with slaves connected to the bus or with pins exposed through e.g. an
636 expansion port/header.
637
638config I2C1_ENABLE
639 bool "Enable I2C/TWI controller 1"
640 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200641 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200642 ---help---
643 See I2C0_ENABLE help text.
644
645config I2C2_ENABLE
646 bool "Enable I2C/TWI controller 2"
647 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200648 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200649 ---help---
650 See I2C0_ENABLE help text.
651
652if MACH_SUN6I || MACH_SUN7I
653config I2C3_ENABLE
654 bool "Enable I2C/TWI controller 3"
655 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200656 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200657 ---help---
658 See I2C0_ENABLE help text.
659endif
660
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100661if SUNXI_GEN_SUN6I
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100662config R_I2C_ENABLE
663 bool "Enable the PRCM I2C/TWI controller"
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100664 # This is used for the pmic on H3
665 default y if SY8106A_POWER
Hans de Goede2c526402016-05-15 13:51:58 +0200666 select CMD_I2C
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100667 ---help---
668 Set this to y to enable the I2C controller which is part of the PRCM.
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100669endif
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100670
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200671if MACH_SUN7I
672config I2C4_ENABLE
673 bool "Enable I2C/TWI controller 4"
674 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200675 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200676 ---help---
677 See I2C0_ENABLE help text.
678endif
679
Hans de Goede3ae1d132015-04-25 17:25:14 +0200680config AXP_GPIO
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900681 bool "Enable support for gpio-s on axp PMICs"
Hans de Goede3ae1d132015-04-25 17:25:14 +0200682 default n
683 ---help---
684 Say Y here to enable support for the gpio pins of the axp PMIC ICs.
685
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800686config VIDEO_SUNXI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900687 bool "Enable graphical uboot console on HDMI, LCD or VGA"
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800688 depends on !MACH_SUN8I_A83T
689 depends on !MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800690 depends on !MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800691 depends on !MACH_SUN8I_V3S
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800692 depends on !MACH_SUN9I
693 depends on !MACH_SUN50I
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800694 select VIDEO
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800695 imply VIDEO_DT_SIMPLEFB
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200696 default y
697 ---help---
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100698 Say Y here to add support for using a cfb console on the HDMI, LCD
699 or VGA output found on most sunxi devices. See doc/README.video for
700 info on how to select the video output and mode.
701
Hans de Goedee9544592014-12-23 23:04:35 +0100702config VIDEO_HDMI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900703 bool "HDMI output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800704 depends on VIDEO_SUNXI && !MACH_SUN8I
Hans de Goedee9544592014-12-23 23:04:35 +0100705 default y
706 ---help---
707 Say Y here to add support for outputting video over HDMI.
708
Hans de Goede260f5202014-12-25 13:58:06 +0100709config VIDEO_VGA
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900710 bool "VGA output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800711 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I)
Hans de Goede260f5202014-12-25 13:58:06 +0100712 default n
713 ---help---
714 Say Y here to add support for outputting video over VGA.
715
Hans de Goedeac1633c2014-12-24 12:17:07 +0100716config VIDEO_VGA_VIA_LCD
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900717 bool "VGA via LCD controller support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800718 depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedeac1633c2014-12-24 12:17:07 +0100719 default n
720 ---help---
721 Say Y here to add support for external DACs connected to the parallel
722 LCD interface driving a VGA connector, such as found on the
723 Olimex A13 boards.
724
Hans de Goede18366f72015-01-25 15:33:07 +0100725config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900726 bool "Force sync active high for VGA via LCD controller support"
Hans de Goede18366f72015-01-25 15:33:07 +0100727 depends on VIDEO_VGA_VIA_LCD
728 default n
729 ---help---
730 Say Y here if you've a board which uses opendrain drivers for the vga
731 hsync and vsync signals. Opendrain drivers cannot generate steep enough
732 positive edges for a stable video output, so on boards with opendrain
733 drivers the sync signals must always be active high.
734
Chen-Yu Tsai9ed19522015-01-12 18:02:11 +0800735config VIDEO_VGA_EXTERNAL_DAC_EN
736 string "LCD panel power enable pin"
737 depends on VIDEO_VGA_VIA_LCD
738 default ""
739 ---help---
740 Set the enable pin for the external VGA DAC. This takes a string in the
741 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
742
Hans de Goedec06e00e2015-08-03 19:20:26 +0200743config VIDEO_COMPOSITE
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900744 bool "Composite video output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800745 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
Hans de Goedec06e00e2015-08-03 19:20:26 +0200746 default n
747 ---help---
748 Say Y here to add support for outputting composite video.
749
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100750config VIDEO_LCD_MODE
751 string "LCD panel timing details"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800752 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100753 default ""
754 ---help---
755 LCD panel timing details string, leave empty if there is no LCD panel.
756 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
757 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 +0200758 Also see: http://linux-sunxi.org/LCD
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100759
Hans de Goede481b6642015-01-13 13:21:46 +0100760config VIDEO_LCD_DCLK_PHASE
761 int "LCD panel display clock phase"
Vasily Khoruzhick2f0b6e52017-10-26 21:51:52 -0700762 depends on VIDEO_SUNXI || DM_VIDEO
Hans de Goede481b6642015-01-13 13:21:46 +0100763 default 1
764 ---help---
765 Select LCD panel display clock phase shift, range 0-3.
766
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100767config VIDEO_LCD_POWER
768 string "LCD panel power enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800769 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100770 default ""
771 ---help---
772 Set the power enable pin for the LCD panel. This takes a string in the
773 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
774
Hans de Goedece9e3322015-02-16 17:26:41 +0100775config VIDEO_LCD_RESET
776 string "LCD panel reset pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800777 depends on VIDEO_SUNXI
Hans de Goedece9e3322015-02-16 17:26:41 +0100778 default ""
779 ---help---
780 Set the reset pin for the LCD panel. This takes a string in the format
781 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
782
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100783config VIDEO_LCD_BL_EN
784 string "LCD panel backlight 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 backlight enable pin for the LCD panel. This takes a string in the
789 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
790 port H.
791
792config VIDEO_LCD_BL_PWM
793 string "LCD panel backlight pwm pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800794 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100795 default ""
796 ---help---
797 Set the backlight pwm pin for the LCD panel. This takes a string in the
798 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200799
Hans de Goede2d5d3022015-01-22 21:02:42 +0100800config VIDEO_LCD_BL_PWM_ACTIVE_LOW
801 bool "LCD panel backlight pwm is inverted"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800802 depends on VIDEO_SUNXI
Hans de Goede2d5d3022015-01-22 21:02:42 +0100803 default y
804 ---help---
805 Set this if the backlight pwm output is active low.
806
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100807config VIDEO_LCD_PANEL_I2C
808 bool "LCD panel needs to be configured via i2c"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800809 depends on VIDEO_SUNXI
Hans de Goede6de9f762015-03-07 12:00:02 +0100810 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200811 select CMD_I2C
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100812 ---help---
813 Say y here if the LCD panel needs to be configured via i2c. This
814 will add a bitbang i2c controller using gpios to talk to the LCD.
815
816config VIDEO_LCD_PANEL_I2C_SDA
817 string "LCD panel i2c interface SDA pin"
818 depends on VIDEO_LCD_PANEL_I2C
819 default "PG12"
820 ---help---
821 Set the SDA pin for the LCD i2c interface. This takes a string in the
822 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
823
824config VIDEO_LCD_PANEL_I2C_SCL
825 string "LCD panel i2c interface SCL pin"
826 depends on VIDEO_LCD_PANEL_I2C
827 default "PG10"
828 ---help---
829 Set the SCL pin for the LCD i2c interface. This takes a string in the
830 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
831
Hans de Goede797a0f52015-01-01 22:04:34 +0100832
833# Note only one of these may be selected at a time! But hidden choices are
834# not supported by Kconfig
835config VIDEO_LCD_IF_PARALLEL
836 bool
837
838config VIDEO_LCD_IF_LVDS
839 bool
840
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200841config SUNXI_DE2
842 bool
843 default n
844
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200845config VIDEO_DE2
846 bool "Display Engine 2 video driver"
847 depends on SUNXI_DE2
848 select DM_VIDEO
849 select DISPLAY
Icenowy Zheng82576de2017-10-26 11:14:47 +0800850 imply VIDEO_DT_SIMPLEFB
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200851 default y
852 ---help---
853 Say y here if you want to build DE2 video driver which is present on
854 newer SoCs. Currently only HDMI output is supported.
855
Hans de Goede797a0f52015-01-01 22:04:34 +0100856
857choice
858 prompt "LCD panel support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800859 depends on VIDEO_SUNXI
Hans de Goede797a0f52015-01-01 22:04:34 +0100860 ---help---
861 Select which type of LCD panel to support.
862
863config VIDEO_LCD_PANEL_PARALLEL
864 bool "Generic parallel interface LCD panel"
865 select VIDEO_LCD_IF_PARALLEL
866
867config VIDEO_LCD_PANEL_LVDS
868 bool "Generic lvds interface LCD panel"
869 select VIDEO_LCD_IF_LVDS
870
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200871config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
872 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
873 select VIDEO_LCD_SSD2828
874 select VIDEO_LCD_IF_PARALLEL
875 ---help---
Hans de Goede91f1b822015-08-08 16:13:53 +0200876 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
877
878config VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
879 bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
880 select VIDEO_LCD_ANX9804
881 select VIDEO_LCD_IF_PARALLEL
882 select VIDEO_LCD_PANEL_I2C
883 ---help---
884 Select this for eDP LCD panels with 4 lanes running at 1.62G,
885 connected via an ANX9804 bridge chip.
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200886
Hans de Goede743fb9552015-01-20 09:23:36 +0100887config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
888 bool "Hitachi tx18d42vm LCD panel"
889 select VIDEO_LCD_HITACHI_TX18D42VM
890 select VIDEO_LCD_IF_LVDS
891 ---help---
892 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
893
Hans de Goede613dade2015-02-16 17:49:47 +0100894config VIDEO_LCD_TL059WV5C0
895 bool "tl059wv5c0 LCD panel"
896 select VIDEO_LCD_PANEL_I2C
897 select VIDEO_LCD_IF_PARALLEL
898 ---help---
899 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
900 Aigo M60/M608/M606 tablets.
901
Hans de Goede797a0f52015-01-01 22:04:34 +0100902endchoice
903
Mylène Josserand628426a2017-04-02 12:59:09 +0200904config SATAPWR
905 string "SATA power pin"
906 default ""
907 help
908 Set the pins used to power the SATA. This takes a string in the
909 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
910 port H.
Hans de Goede797a0f52015-01-01 22:04:34 +0100911
Hans de Goedebf880fe2015-01-25 12:10:48 +0100912config GMAC_TX_DELAY
913 int "GMAC Transmit Clock Delay Chain"
914 default 0
915 ---help---
916 Set the GMAC Transmit Clock Delay Chain value.
917
Hans de Goede66ab79d2015-09-13 13:02:48 +0200918config SPL_STACK_R_ADDR
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800919 default 0x4fe00000 if MACH_SUN4I
920 default 0x4fe00000 if MACH_SUN5I
921 default 0x4fe00000 if MACH_SUN6I
922 default 0x4fe00000 if MACH_SUN7I
923 default 0x4fe00000 if MACH_SUN8I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200924 default 0x2fe00000 if MACH_SUN9I
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800925 default 0x4fe00000 if MACH_SUN50I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200926
Jagan Teki4e159f82018-02-06 22:42:56 +0530927config SPL_SPI_SUNXI
928 bool "Support for SPI Flash on Allwinner SoCs in SPL"
929 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
930 help
931 Enable support for SPI Flash. This option allows SPL to read from
932 sunxi SPI Flash. It uses the same method as the boot ROM, so does
933 not need any extra configuration.
934
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900935endif