blob: 1a179e1ba9ffa9f30eab2e0b2e7ae3cc705fcd32 [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 Teki59ea2872018-01-11 13:21:58 +05309config SUN6I_P2WI
10 bool "Allwinner sun6i internal P2WI controller"
11 help
12 If you say yes to this option, support will be included for the
13 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
14 SOCs.
15 The P2WI looks like an SMBus controller (which supports only byte
16 accesses), except that it only supports one slave device.
17 This interface is used to connect to specific PMIC devices (like the
18 AXP221).
19
Jagan Teki932f5e02018-01-11 13:21:15 +053020config SUN6I_PRCM
21 bool
22 help
23 Support for the PRCM (Power/Reset/Clock Management) unit available
24 in A31 SoC.
25
Jagan Tekifeb29272018-02-14 22:28:30 +053026config AXP_PMIC_BUS
27 bool "Sunxi AXP PMIC bus access helpers"
28 help
29 Select this PMIC bus access helpers for Sunxi platform PRCM or other
30 AXP family PMIC devices.
31
Jagan Tekif35767b2018-01-11 13:23:52 +053032config SUN8I_RSB
33 bool "Allwinner sunXi Reduced Serial Bus Driver"
34 help
35 Say y here to enable support for Allwinner's Reduced Serial Bus
36 (RSB) support. This controller is responsible for communicating
37 with various RSB based devices, such as AXP223, AXP8XX PMICs,
38 and AC100/AC200 ICs.
39
Andre Przywarade454ec2017-02-16 01:20:23 +000040config SUNXI_HIGH_SRAM
41 bool
42 default n
43 ---help---
44 Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
45 with the first SRAM region being located at address 0.
46 Some newer SoCs map the boot ROM at address 0 instead and move the
47 SRAM to 64KB, just behind the mask ROM.
48 Chips using the latter setup are supposed to select this option to
49 adjust the addresses accordingly.
50
Hans de Goedef07872b2015-04-06 20:33:34 +020051# Note only one of these may be selected at a time! But hidden choices are
52# not supported by Kconfig
53config SUNXI_GEN_SUN4I
54 bool
55 ---help---
56 Select this for sunxi SoCs which have resets and clocks set up
57 as the original A10 (mach-sun4i).
58
59config SUNXI_GEN_SUN6I
60 bool
61 ---help---
62 Select this for sunxi SoCs which have sun6i like periphery, like
63 separate ahb reset control registers, custom pmic bus, new style
64 watchdog, etc.
65
Icenowy Zhengca0bc022017-06-03 17:10:14 +080066config SUNXI_DRAM_DW
67 bool
68 ---help---
69 Select this for sunxi SoCs which uses a DRAM controller like the
70 DesignWare controller used in H3, mainly SoCs after H3, which do
71 not have official open-source DRAM initialization code, but can
72 use modified H3 DRAM initialization code.
Hans de Goedef07872b2015-04-06 20:33:34 +020073
Icenowy Zhengb2607512017-06-03 17:10:16 +080074if SUNXI_DRAM_DW
75config SUNXI_DRAM_DW_16BIT
76 bool
77 ---help---
78 Select this for sunxi SoCs with DesignWare DRAM controller and
79 have only 16-bit memory buswidth.
80
81config SUNXI_DRAM_DW_32BIT
82 bool
83 ---help---
84 Select this for sunxi SoCs with DesignWare DRAM controller with
85 32-bit memory buswidth.
86endif
87
Andre Przywara5fb97432017-02-16 01:20:27 +000088config MACH_SUNXI_H3_H5
89 bool
Jernej Skrabec09e6f162017-04-27 00:03:37 +020090 select DM_I2C
Jernej Skrabec9b4ca922017-03-27 19:22:31 +020091 select SUNXI_DE2
Icenowy Zhengca0bc022017-06-03 17:10:14 +080092 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +080093 select SUNXI_DRAM_DW_32BIT
Andre Przywara5fb97432017-02-16 01:20:27 +000094 select SUNXI_GEN_SUN6I
95 select SUPPORT_SPL
96
Ian Campbelld8e69e02014-10-24 21:20:44 +010097choice
98 prompt "Sunxi SoC Variant"
Hans de Goedeb05a6482016-06-12 11:57:07 +020099 optional
Ian Campbelld8e69e02014-10-24 21:20:44 +0100100
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100101config MACH_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100102 bool "sun4i (Allwinner A10)"
103 select CPU_V7
Andre Przywara4330eb92017-02-16 01:20:21 +0000104 select ARM_CORTEX_CPU_IS_UP
Hans de Goedef07872b2015-04-06 20:33:34 +0200105 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100106 select SUPPORT_SPL
107
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100108config MACH_SUN5I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100109 bool "sun5i (Allwinner A13)"
110 select CPU_V7
Andre Przywara4330eb92017-02-16 01:20:21 +0000111 select ARM_CORTEX_CPU_IS_UP
Hans de Goedef07872b2015-04-06 20:33:34 +0200112 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100113 select SUPPORT_SPL
Tom Rinie69ba982018-03-06 19:02:27 -0500114 imply CONS_INDEX_2 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100115
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100116config MACH_SUN6I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100117 bool "sun6i (Allwinner A31)"
118 select CPU_V7
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800119 select CPU_V7_HAS_NONSEC
120 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900121 select ARCH_SUPPORT_PSCI
Jagan Teki59ea2872018-01-11 13:21:58 +0530122 select SUN6I_P2WI
Jagan Teki932f5e02018-01-11 13:21:15 +0530123 select SUN6I_PRCM
Hans de Goedef07872b2015-04-06 20:33:34 +0200124 select SUNXI_GEN_SUN6I
Hans de Goedea5403b92014-10-25 20:18:10 +0200125 select SUPPORT_SPL
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800126 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100127
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100128config MACH_SUN7I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100129 bool "sun7i (Allwinner A20)"
130 select CPU_V7
Hans de Goede85437352014-11-14 09:34:30 +0100131 select CPU_V7_HAS_NONSEC
132 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900133 select ARCH_SUPPORT_PSCI
Hans de Goedef07872b2015-04-06 20:33:34 +0200134 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100135 select SUPPORT_SPL
Hans de Goedea5636382014-10-24 20:12:04 +0200136 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100137
Hans de Goedef055ed62015-04-06 20:55:39 +0200138config MACH_SUN8I_A23
Ian Campbelld8e69e02014-10-24 21:20:44 +0100139 bool "sun8i (Allwinner A23)"
140 select CPU_V7
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800141 select CPU_V7_HAS_NONSEC
142 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900143 select ARCH_SUPPORT_PSCI
Hans de Goedef07872b2015-04-06 20:33:34 +0200144 select SUNXI_GEN_SUN6I
Hans de Goede966d2392014-12-07 14:34:27 +0100145 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800146 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500147 imply CONS_INDEX_5 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100148
Vishnu Patekar3702f142015-03-01 23:47:48 +0530149config MACH_SUN8I_A33
150 bool "sun8i (Allwinner A33)"
151 select CPU_V7
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800152 select CPU_V7_HAS_NONSEC
153 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900154 select ARCH_SUPPORT_PSCI
Vishnu Patekar3702f142015-03-01 23:47:48 +0530155 select SUNXI_GEN_SUN6I
156 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800157 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500158 imply CONS_INDEX_5 if !DM_SERIAL
Vishnu Patekar3702f142015-03-01 23:47:48 +0530159
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800160config MACH_SUN8I_A83T
161 bool "sun8i (Allwinner A83T)"
162 select CPU_V7
163 select SUNXI_GEN_SUN6I
Maxime Ripard4799a1a2017-08-23 12:03:42 +0200164 select MMC_SUNXI_HAS_NEW_MODE
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800165 select SUPPORT_SPL
166
Jens Kuskef9770722015-11-17 15:12:58 +0100167config MACH_SUN8I_H3
168 bool "sun8i (Allwinner H3)"
169 select CPU_V7
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800170 select CPU_V7_HAS_NONSEC
171 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900172 select ARCH_SUPPORT_PSCI
Andre Przywara5fb97432017-02-16 01:20:27 +0000173 select MACH_SUNXI_H3_H5
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800174 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Jens Kuskef9770722015-11-17 15:12:58 +0100175
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800176config MACH_SUN8I_R40
177 bool "sun8i (Allwinner R40)"
178 select CPU_V7
Chen-Yu Tsaib1a1fda2017-03-01 11:03:15 +0800179 select CPU_V7_HAS_NONSEC
180 select CPU_V7_HAS_VIRT
181 select ARCH_SUPPORT_PSCI
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800182 select SUNXI_GEN_SUN6I
Chen-Yu Tsai2d5826c2016-12-02 16:09:49 +0800183 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800184 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800185 select SUNXI_DRAM_DW_32BIT
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800186
Icenowy Zheng52e61882017-04-08 15:30:12 +0800187config MACH_SUN8I_V3S
188 bool "sun8i (Allwinner V3s)"
189 select CPU_V7
190 select CPU_V7_HAS_NONSEC
191 select CPU_V7_HAS_VIRT
192 select ARCH_SUPPORT_PSCI
193 select SUNXI_GEN_SUN6I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800194 select SUNXI_DRAM_DW
195 select SUNXI_DRAM_DW_16BIT
196 select SUPPORT_SPL
Icenowy Zheng52e61882017-04-08 15:30:12 +0800197 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
198
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100199config MACH_SUN9I
200 bool "sun9i (Allwinner A80)"
201 select CPU_V7
Jagan Teki11f33e12018-01-11 13:23:02 +0530202 select SUN6I_PRCM
Andre Przywarade454ec2017-02-16 01:20:23 +0000203 select SUNXI_HIGH_SRAM
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100204 select SUNXI_GEN_SUN6I
Jagan Tekif35767b2018-01-11 13:23:52 +0530205 select SUN8I_RSB
Philipp Tomsich470626e2016-10-28 18:21:32 +0800206 select SUPPORT_SPL
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100207
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800208config MACH_SUN50I
209 bool "sun50i (Allwinner A64)"
210 select ARM64
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200211 select DM_I2C
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200212 select SUNXI_DE2
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800213 select SUNXI_GEN_SUN6I
Andre Przywarade454ec2017-02-16 01:20:23 +0000214 select SUNXI_HIGH_SRAM
Andre Przywaraa563adc2017-01-02 11:48:45 +0000215 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800216 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800217 select SUNXI_DRAM_DW_32BIT
Andre Przywarad8362162017-04-26 01:32:48 +0100218 select FIT
219 select SPL_LOAD_FIT
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800220
Andre Przywara5611a2d2017-02-16 01:20:28 +0000221config MACH_SUN50I_H5
222 bool "sun50i (Allwinner H5)"
223 select ARM64
224 select MACH_SUNXI_H3_H5
225 select SUNXI_HIGH_SRAM
Andre Przywarad8362162017-04-26 01:32:48 +0100226 select FIT
227 select SPL_LOAD_FIT
Andre Przywara5611a2d2017-02-16 01:20:28 +0000228
Ian Campbelld8e69e02014-10-24 21:20:44 +0100229endchoice
Maxime Ripard2c519412014-10-03 20:16:29 +0800230
Hans de Goedef055ed62015-04-06 20:55:39 +0200231# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
232config MACH_SUN8I
233 bool
Jagan Tekif35767b2018-01-11 13:23:52 +0530234 select SUN8I_RSB
Jagan Teki11f33e12018-01-11 13:23:02 +0530235 select SUN6I_PRCM
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800236 default y if MACH_SUN8I_A23
237 default y if MACH_SUN8I_A33
238 default y if MACH_SUN8I_A83T
239 default y if MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800240 default y if MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800241 default y if MACH_SUN8I_V3S
Hans de Goedef055ed62015-04-06 20:55:39 +0200242
Andre Przywara06893b62017-01-02 11:48:35 +0000243config RESERVE_ALLWINNER_BOOT0_HEADER
244 bool "reserve space for Allwinner boot0 header"
245 select ENABLE_ARM_SOC_BOOT0_HOOK
246 ---help---
247 Prepend a 1536 byte (empty) header to the U-Boot image file, to be
248 filled with magic values post build. The Allwinner provided boot0
249 blob relies on this information to load and execute U-Boot.
250 Only needed on 64-bit Allwinner boards so far when using boot0.
251
Andre Przywara46c3d992017-01-02 11:48:36 +0000252config ARM_BOOT_HOOK_RMR
253 bool
254 depends on ARM64
255 default y
256 select ENABLE_ARM_SOC_BOOT0_HOOK
257 ---help---
258 Insert some ARM32 code at the very beginning of the U-Boot binary
259 which uses an RMR register write to bring the core into AArch64 mode.
260 The very first instruction acts as a switch, since it's carefully
261 chosen to be a NOP in one mode and a branch in the other, so the
262 code would only be executed if not already in AArch64.
263 This allows both the SPL and the U-Boot proper to be entered in
264 either mode and switch to AArch64 if needed.
265
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800266if SUNXI_DRAM_DW
267config SUNXI_DRAM_DDR3
268 bool
269
Icenowy Zhenge270a582017-06-03 17:10:20 +0800270config SUNXI_DRAM_DDR2
271 bool
272
Icenowy Zheng3c1b9f12017-06-03 17:10:23 +0800273config SUNXI_DRAM_LPDDR3
274 bool
275
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800276choice
277 prompt "DRAM Type and Timing"
Icenowy Zhengfe052172017-06-03 17:10:21 +0800278 default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
279 default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800280
281config SUNXI_DRAM_DDR3_1333
282 bool "DDR3 1333"
283 select SUNXI_DRAM_DDR3
Icenowy Zhengfe052172017-06-03 17:10:21 +0800284 depends on !MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800285 ---help---
286 This option is the original only supported memory type, which suits
287 many H3/H5/A64 boards available now.
288
Icenowy Zhengeb4766e2017-06-03 17:10:24 +0800289config SUNXI_DRAM_LPDDR3_STOCK
290 bool "LPDDR3 with Allwinner stock configuration"
291 select SUNXI_DRAM_LPDDR3
292 ---help---
293 This option is the LPDDR3 timing used by the stock boot0 by
294 Allwinner.
295
Icenowy Zhenge270a582017-06-03 17:10:20 +0800296config SUNXI_DRAM_DDR2_V3S
297 bool "DDR2 found in V3s chip"
298 select SUNXI_DRAM_DDR2
Icenowy Zhengfe052172017-06-03 17:10:21 +0800299 depends on MACH_SUN8I_V3S
Icenowy Zhenge270a582017-06-03 17:10:20 +0800300 ---help---
301 This option is only for the DDR2 memory chip which is co-packaged in
302 Allwinner V3s SoC.
303
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800304endchoice
305endif
306
Vishnu Patekarc49936f2016-01-12 01:20:58 +0800307config DRAM_TYPE
308 int "sunxi dram type"
309 depends on MACH_SUN8I_A83T
310 default 3
311 ---help---
312 Set the dram type, 3: DDR3, 7: LPDDR3
Hans de Goedef055ed62015-04-06 20:55:39 +0200313
Hans de Goede3aeaa282014-11-15 19:46:39 +0100314config DRAM_CLK
Hans de Goede59d9fc72015-01-17 14:24:55 +0100315 int "sunxi dram clock speed"
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800316 default 792 if MACH_SUN9I
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800317 default 648 if MACH_SUN8I_R40
Hans de Goede59d9fc72015-01-17 14:24:55 +0100318 default 312 if MACH_SUN6I || MACH_SUN8I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800319 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
320 MACH_SUN8I_V3S
Andre Przywaraafd68702017-01-02 11:48:37 +0000321 default 672 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100322 ---help---
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800323 Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
324 must be a multiple of 24. For the sun9i (A80), the tested values
325 (for DDR3-1600) are 312 to 792.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100326
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200327if MACH_SUN5I || MACH_SUN7I
328config DRAM_MBUS_CLK
329 int "sunxi mbus clock speed"
330 default 300
331 ---help---
332 Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
333
334endif
335
Hans de Goede3aeaa282014-11-15 19:46:39 +0100336config DRAM_ZQ
Hans de Goede59d9fc72015-01-17 14:24:55 +0100337 int "sunxi dram zq value"
338 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
339 default 127 if MACH_SUN7I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800340 default 14779 if MACH_SUN8I_V3S
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800341 default 3881979 if MACH_SUN8I_R40
Chen-Yu Tsai47bb3062016-10-28 18:21:36 +0800342 default 4145117 if MACH_SUN9I
Andre Przywaraafd68702017-01-02 11:48:37 +0000343 default 3881915 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100344 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100345 Set the dram zq value.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100346
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200347config DRAM_ODT_EN
348 bool "sunxi dram odt enable"
349 default n if !MACH_SUN8I_A23
350 default y if MACH_SUN8I_A23
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800351 default y if MACH_SUN8I_R40
Andre Przywaraa563adc2017-01-02 11:48:45 +0000352 default y if MACH_SUN50I
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200353 ---help---
354 Select this to enable dram odt (on die termination).
355
Hans de Goede59d9fc72015-01-17 14:24:55 +0100356if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
357config DRAM_EMR1
358 int "sunxi dram emr1 value"
359 default 0 if MACH_SUN4I
360 default 4 if MACH_SUN5I || MACH_SUN7I
361 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100362 Set the dram controller emr1 value.
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200363
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200364config DRAM_TPR3
365 hex "sunxi dram tpr3 value"
366 default 0
367 ---help---
368 Set the dram controller tpr3 parameter. This parameter configures
369 the delay on the command lane and also phase shifts, which are
370 applied for sampling incoming read data. The default value 0
371 means that no phase/delay adjustments are necessary. Properly
372 configuring this parameter increases reliability at high DRAM
373 clock speeds.
374
375config DRAM_DQS_GATING_DELAY
376 hex "sunxi dram dqs_gating_delay value"
377 default 0
378 ---help---
379 Set the dram controller dqs_gating_delay parmeter. Each byte
380 encodes the DQS gating delay for each byte lane. The delay
381 granularity is 1/4 cycle. For example, the value 0x05060606
382 means that the delay is 5 quarter-cycles for one lane (1.25
383 cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
384 The default value 0 means autodetection. The results of hardware
385 autodetection are not very reliable and depend on the chip
386 temperature (sometimes producing different results on cold start
387 and warm reboot). But the accuracy of hardware autodetection
388 is usually good enough, unless running at really high DRAM
389 clocks speeds (up to 600MHz). If unsure, keep as 0.
390
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200391choice
392 prompt "sunxi dram timings"
393 default DRAM_TIMINGS_VENDOR_MAGIC
394 ---help---
395 Select the timings of the DDR3 chips.
396
397config DRAM_TIMINGS_VENDOR_MAGIC
398 bool "Magic vendor timings from Android"
399 ---help---
400 The same DRAM timings as in the Allwinner boot0 bootloader.
401
402config DRAM_TIMINGS_DDR3_1066F_1333H
403 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
404 ---help---
405 Use the timings of the standard JEDEC DDR3-1066F speed bin for
406 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
407 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
408 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
409 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
410 that down binning to DDR3-1066F is supported (because DDR3-1066F
411 uses a bit faster timings than DDR3-1333H).
412
413config DRAM_TIMINGS_DDR3_800E_1066G_1333J
414 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
415 ---help---
416 Use the timings of the slowest possible JEDEC speed bin for the
417 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
418 DDR3-800E, DDR3-1066G or DDR3-1333J.
419
420endchoice
421
Hans de Goede3aeaa282014-11-15 19:46:39 +0100422endif
423
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200424if MACH_SUN8I_A23
425config DRAM_ODT_CORRECTION
426 int "sunxi dram odt correction value"
427 default 0
428 ---help---
429 Set the dram odt correction value (range -255 - 255). In allwinner
430 fex files, this option is found in bits 8-15 of the u32 odt_en variable
431 in the [dram] section. When bit 31 of the odt_en variable is set
432 then the correction is negative. Usually the value for this is 0.
433endif
434
Iain Paton630df142015-03-28 10:26:38 +0000435config SYS_CLK_FREQ
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800436 default 1008000000 if MACH_SUN4I
437 default 1008000000 if MACH_SUN5I
438 default 1008000000 if MACH_SUN6I
Iain Paton630df142015-03-28 10:26:38 +0000439 default 912000000 if MACH_SUN7I
Icenowy Zheng2e915b42017-10-31 07:36:28 +0800440 default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800441 default 1008000000 if MACH_SUN8I
442 default 1008000000 if MACH_SUN9I
Iain Paton630df142015-03-28 10:26:38 +0000443
Maxime Ripard2c519412014-10-03 20:16:29 +0800444config SYS_CONFIG_NAME
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100445 default "sun4i" if MACH_SUN4I
446 default "sun5i" if MACH_SUN5I
447 default "sun6i" if MACH_SUN6I
448 default "sun7i" if MACH_SUN7I
449 default "sun8i" if MACH_SUN8I
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100450 default "sun9i" if MACH_SUN9I
Siarhei Siamashka26c50fb2016-03-29 17:29:10 +0200451 default "sun50i" if MACH_SUN50I
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900452
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900453config SYS_BOARD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900454 default "sunxi"
455
456config SYS_SOC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900457 default "sunxi"
458
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200459config UART0_PORT_F
460 bool "UART0 on MicroSD breakout board"
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200461 default n
462 ---help---
463 Repurpose the SD card slot for getting access to the UART0 serial
464 console. Primarily useful only for low level u-boot debugging on
465 tablets, where normal UART0 is difficult to access and requires
466 device disassembly and/or soldering. As the SD card can't be used
467 at the same time, the system can be only booted in the FEL mode.
468 Only enable this if you really know what you are doing.
469
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200470config OLD_SUNXI_KERNEL_COMPAT
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900471 bool "Enable workarounds for booting old kernels"
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200472 default n
473 ---help---
474 Set this to enable various workarounds for old kernels, this results in
475 sub-optimal settings for newer kernels, only enable if needed.
476
Mylène Josserand147c6062017-04-02 12:59:10 +0200477config MACPWR
478 string "MAC power pin"
479 default ""
480 help
481 Set the pin used to power the MAC. This takes a string in the format
482 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
483
Hans de Goede7412ef82014-10-02 20:29:26 +0200484config MMC0_CD_PIN
485 string "Card detect pin for mmc0"
Andre Przywara5fb97432017-02-16 01:20:27 +0000486 default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
Hans de Goede7412ef82014-10-02 20:29:26 +0200487 default ""
488 ---help---
489 Set the card detect pin for mmc0, leave empty to not use cd. This
490 takes a string in the format understood by sunxi_name_to_gpio, e.g.
491 PH1 for pin 1 of port H.
492
493config MMC1_CD_PIN
494 string "Card detect pin for mmc1"
495 default ""
496 ---help---
497 See MMC0_CD_PIN help text.
498
499config MMC2_CD_PIN
500 string "Card detect pin for mmc2"
501 default ""
502 ---help---
503 See MMC0_CD_PIN help text.
504
505config MMC3_CD_PIN
506 string "Card detect pin for mmc3"
507 default ""
508 ---help---
509 See MMC0_CD_PIN help text.
510
Paul Kocialkowskid390d8c2015-03-22 18:12:23 +0100511config MMC1_PINS
512 string "Pins for mmc1"
513 default ""
514 ---help---
515 Set the pins used for mmc1, when applicable. This takes a string in the
516 format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
517
518config MMC2_PINS
519 string "Pins for mmc2"
520 default ""
521 ---help---
522 See MMC1_PINS help text.
523
524config MMC3_PINS
525 string "Pins for mmc3"
526 default ""
527 ---help---
528 See MMC1_PINS help text.
529
Hans de Goedeaf593e42014-10-02 20:43:50 +0200530config MMC_SUNXI_SLOT_EXTRA
531 int "mmc extra slot number"
532 default -1
533 ---help---
534 sunxi builds always enable mmc0, some boards also have a second sdcard
535 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
536 support for this.
537
Hans de Goede99c9fb02016-04-01 22:39:26 +0200538config INITIAL_USB_SCAN_DELAY
539 int "delay initial usb scan by x ms to allow builtin devices to init"
540 default 0
541 ---help---
542 Some boards have on board usb devices which need longer than the
543 USB spec's 1 second to connect from board powerup. Set this config
544 option to a non 0 value to add an extra delay before the first usb
545 bus scan.
546
Hans de Goedee7b852a2015-01-07 15:26:06 +0100547config USB0_VBUS_PIN
548 string "Vbus enable pin for usb0 (otg)"
549 default ""
550 ---help---
551 Set the Vbus enable pin for usb0 (otg). This takes a string in the
552 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
553
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100554config USB0_VBUS_DET
555 string "Vbus detect pin for usb0 (otg)"
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100556 default ""
557 ---help---
558 Set the Vbus detect pin for usb0 (otg). This takes a string in the
559 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
560
Hans de Goedeaadd97f2015-06-14 17:29:53 +0200561config USB0_ID_DET
562 string "ID detect pin for usb0 (otg)"
563 default ""
564 ---help---
565 Set the ID detect pin for usb0 (otg). This takes a string in the
566 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
567
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100568config USB1_VBUS_PIN
569 string "Vbus enable pin for usb1 (ehci0)"
570 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100571 default "PH27" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100572 ---help---
573 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
574 a string in the format understood by sunxi_name_to_gpio, e.g.
575 PH1 for pin 1 of port H.
576
577config USB2_VBUS_PIN
578 string "Vbus enable pin for usb2 (ehci1)"
579 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100580 default "PH24" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100581 ---help---
582 See USB1_VBUS_PIN help text.
583
Hans de Goedea60c3fc2016-03-18 08:42:01 +0100584config USB3_VBUS_PIN
585 string "Vbus enable pin for usb3 (ehci2)"
586 default ""
587 ---help---
588 See USB1_VBUS_PIN help text.
589
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200590config I2C0_ENABLE
591 bool "Enable I2C/TWI controller 0"
Chen-Yu Tsai478a3c52016-11-30 15:30:30 +0800592 default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200593 default n if MACH_SUN6I || MACH_SUN8I
Hans de Goede2c526402016-05-15 13:51:58 +0200594 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200595 ---help---
596 This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
597 its clock and setting up the bus. This is especially useful on devices
598 with slaves connected to the bus or with pins exposed through e.g. an
599 expansion port/header.
600
601config I2C1_ENABLE
602 bool "Enable I2C/TWI controller 1"
603 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200604 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200605 ---help---
606 See I2C0_ENABLE help text.
607
608config I2C2_ENABLE
609 bool "Enable I2C/TWI controller 2"
610 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200611 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200612 ---help---
613 See I2C0_ENABLE help text.
614
615if MACH_SUN6I || MACH_SUN7I
616config I2C3_ENABLE
617 bool "Enable I2C/TWI controller 3"
618 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200619 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200620 ---help---
621 See I2C0_ENABLE help text.
622endif
623
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100624if SUNXI_GEN_SUN6I
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100625config R_I2C_ENABLE
626 bool "Enable the PRCM I2C/TWI controller"
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100627 # This is used for the pmic on H3
628 default y if SY8106A_POWER
Hans de Goede2c526402016-05-15 13:51:58 +0200629 select CMD_I2C
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100630 ---help---
631 Set this to y to enable the I2C controller which is part of the PRCM.
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100632endif
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100633
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200634if MACH_SUN7I
635config I2C4_ENABLE
636 bool "Enable I2C/TWI controller 4"
637 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200638 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200639 ---help---
640 See I2C0_ENABLE help text.
641endif
642
Hans de Goede3ae1d132015-04-25 17:25:14 +0200643config AXP_GPIO
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900644 bool "Enable support for gpio-s on axp PMICs"
Hans de Goede3ae1d132015-04-25 17:25:14 +0200645 default n
646 ---help---
647 Say Y here to enable support for the gpio pins of the axp PMIC ICs.
648
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800649config VIDEO_SUNXI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900650 bool "Enable graphical uboot console on HDMI, LCD or VGA"
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800651 depends on !MACH_SUN8I_A83T
652 depends on !MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800653 depends on !MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800654 depends on !MACH_SUN8I_V3S
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800655 depends on !MACH_SUN9I
656 depends on !MACH_SUN50I
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800657 select VIDEO
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800658 imply VIDEO_DT_SIMPLEFB
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200659 default y
660 ---help---
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100661 Say Y here to add support for using a cfb console on the HDMI, LCD
662 or VGA output found on most sunxi devices. See doc/README.video for
663 info on how to select the video output and mode.
664
Hans de Goedee9544592014-12-23 23:04:35 +0100665config VIDEO_HDMI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900666 bool "HDMI output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800667 depends on VIDEO_SUNXI && !MACH_SUN8I
Hans de Goedee9544592014-12-23 23:04:35 +0100668 default y
669 ---help---
670 Say Y here to add support for outputting video over HDMI.
671
Hans de Goede260f5202014-12-25 13:58:06 +0100672config VIDEO_VGA
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900673 bool "VGA output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800674 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I)
Hans de Goede260f5202014-12-25 13:58:06 +0100675 default n
676 ---help---
677 Say Y here to add support for outputting video over VGA.
678
Hans de Goedeac1633c2014-12-24 12:17:07 +0100679config VIDEO_VGA_VIA_LCD
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900680 bool "VGA via LCD controller support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800681 depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedeac1633c2014-12-24 12:17:07 +0100682 default n
683 ---help---
684 Say Y here to add support for external DACs connected to the parallel
685 LCD interface driving a VGA connector, such as found on the
686 Olimex A13 boards.
687
Hans de Goede18366f72015-01-25 15:33:07 +0100688config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900689 bool "Force sync active high for VGA via LCD controller support"
Hans de Goede18366f72015-01-25 15:33:07 +0100690 depends on VIDEO_VGA_VIA_LCD
691 default n
692 ---help---
693 Say Y here if you've a board which uses opendrain drivers for the vga
694 hsync and vsync signals. Opendrain drivers cannot generate steep enough
695 positive edges for a stable video output, so on boards with opendrain
696 drivers the sync signals must always be active high.
697
Chen-Yu Tsai9ed19522015-01-12 18:02:11 +0800698config VIDEO_VGA_EXTERNAL_DAC_EN
699 string "LCD panel power enable pin"
700 depends on VIDEO_VGA_VIA_LCD
701 default ""
702 ---help---
703 Set the enable pin for the external VGA DAC. This takes a string in the
704 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
705
Hans de Goedec06e00e2015-08-03 19:20:26 +0200706config VIDEO_COMPOSITE
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900707 bool "Composite video output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800708 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
Hans de Goedec06e00e2015-08-03 19:20:26 +0200709 default n
710 ---help---
711 Say Y here to add support for outputting composite video.
712
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100713config VIDEO_LCD_MODE
714 string "LCD panel timing details"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800715 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100716 default ""
717 ---help---
718 LCD panel timing details string, leave empty if there is no LCD panel.
719 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
720 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 +0200721 Also see: http://linux-sunxi.org/LCD
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100722
Hans de Goede481b6642015-01-13 13:21:46 +0100723config VIDEO_LCD_DCLK_PHASE
724 int "LCD panel display clock phase"
Vasily Khoruzhick2f0b6e52017-10-26 21:51:52 -0700725 depends on VIDEO_SUNXI || DM_VIDEO
Hans de Goede481b6642015-01-13 13:21:46 +0100726 default 1
727 ---help---
728 Select LCD panel display clock phase shift, range 0-3.
729
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100730config VIDEO_LCD_POWER
731 string "LCD panel power enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800732 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100733 default ""
734 ---help---
735 Set the power enable pin for the LCD panel. This takes a string in the
736 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
737
Hans de Goedece9e3322015-02-16 17:26:41 +0100738config VIDEO_LCD_RESET
739 string "LCD panel reset pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800740 depends on VIDEO_SUNXI
Hans de Goedece9e3322015-02-16 17:26:41 +0100741 default ""
742 ---help---
743 Set the reset pin for the LCD panel. This takes a string in the format
744 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
745
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100746config VIDEO_LCD_BL_EN
747 string "LCD panel backlight enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800748 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100749 default ""
750 ---help---
751 Set the backlight enable pin for the LCD panel. This takes a string in the
752 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
753 port H.
754
755config VIDEO_LCD_BL_PWM
756 string "LCD panel backlight pwm pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800757 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100758 default ""
759 ---help---
760 Set the backlight pwm pin for the LCD panel. This takes a string in the
761 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200762
Hans de Goede2d5d3022015-01-22 21:02:42 +0100763config VIDEO_LCD_BL_PWM_ACTIVE_LOW
764 bool "LCD panel backlight pwm is inverted"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800765 depends on VIDEO_SUNXI
Hans de Goede2d5d3022015-01-22 21:02:42 +0100766 default y
767 ---help---
768 Set this if the backlight pwm output is active low.
769
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100770config VIDEO_LCD_PANEL_I2C
771 bool "LCD panel needs to be configured via i2c"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800772 depends on VIDEO_SUNXI
Hans de Goede6de9f762015-03-07 12:00:02 +0100773 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200774 select CMD_I2C
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100775 ---help---
776 Say y here if the LCD panel needs to be configured via i2c. This
777 will add a bitbang i2c controller using gpios to talk to the LCD.
778
779config VIDEO_LCD_PANEL_I2C_SDA
780 string "LCD panel i2c interface SDA pin"
781 depends on VIDEO_LCD_PANEL_I2C
782 default "PG12"
783 ---help---
784 Set the SDA pin for the LCD i2c interface. This takes a string in the
785 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
786
787config VIDEO_LCD_PANEL_I2C_SCL
788 string "LCD panel i2c interface SCL pin"
789 depends on VIDEO_LCD_PANEL_I2C
790 default "PG10"
791 ---help---
792 Set the SCL pin for the LCD i2c interface. This takes a string in the
793 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
794
Hans de Goede797a0f52015-01-01 22:04:34 +0100795
796# Note only one of these may be selected at a time! But hidden choices are
797# not supported by Kconfig
798config VIDEO_LCD_IF_PARALLEL
799 bool
800
801config VIDEO_LCD_IF_LVDS
802 bool
803
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200804config SUNXI_DE2
805 bool
806 default n
807
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200808config VIDEO_DE2
809 bool "Display Engine 2 video driver"
810 depends on SUNXI_DE2
811 select DM_VIDEO
812 select DISPLAY
Icenowy Zheng82576de2017-10-26 11:14:47 +0800813 imply VIDEO_DT_SIMPLEFB
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200814 default y
815 ---help---
816 Say y here if you want to build DE2 video driver which is present on
817 newer SoCs. Currently only HDMI output is supported.
818
Hans de Goede797a0f52015-01-01 22:04:34 +0100819
820choice
821 prompt "LCD panel support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800822 depends on VIDEO_SUNXI
Hans de Goede797a0f52015-01-01 22:04:34 +0100823 ---help---
824 Select which type of LCD panel to support.
825
826config VIDEO_LCD_PANEL_PARALLEL
827 bool "Generic parallel interface LCD panel"
828 select VIDEO_LCD_IF_PARALLEL
829
830config VIDEO_LCD_PANEL_LVDS
831 bool "Generic lvds interface LCD panel"
832 select VIDEO_LCD_IF_LVDS
833
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200834config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
835 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
836 select VIDEO_LCD_SSD2828
837 select VIDEO_LCD_IF_PARALLEL
838 ---help---
Hans de Goede91f1b822015-08-08 16:13:53 +0200839 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
840
841config VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
842 bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
843 select VIDEO_LCD_ANX9804
844 select VIDEO_LCD_IF_PARALLEL
845 select VIDEO_LCD_PANEL_I2C
846 ---help---
847 Select this for eDP LCD panels with 4 lanes running at 1.62G,
848 connected via an ANX9804 bridge chip.
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200849
Hans de Goede743fb9552015-01-20 09:23:36 +0100850config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
851 bool "Hitachi tx18d42vm LCD panel"
852 select VIDEO_LCD_HITACHI_TX18D42VM
853 select VIDEO_LCD_IF_LVDS
854 ---help---
855 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
856
Hans de Goede613dade2015-02-16 17:49:47 +0100857config VIDEO_LCD_TL059WV5C0
858 bool "tl059wv5c0 LCD panel"
859 select VIDEO_LCD_PANEL_I2C
860 select VIDEO_LCD_IF_PARALLEL
861 ---help---
862 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
863 Aigo M60/M608/M606 tablets.
864
Hans de Goede797a0f52015-01-01 22:04:34 +0100865endchoice
866
Mylène Josserand628426a2017-04-02 12:59:09 +0200867config SATAPWR
868 string "SATA power pin"
869 default ""
870 help
871 Set the pins used to power the SATA. This takes a string in the
872 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
873 port H.
Hans de Goede797a0f52015-01-01 22:04:34 +0100874
Hans de Goedebf880fe2015-01-25 12:10:48 +0100875config GMAC_TX_DELAY
876 int "GMAC Transmit Clock Delay Chain"
877 default 0
878 ---help---
879 Set the GMAC Transmit Clock Delay Chain value.
880
Hans de Goede66ab79d2015-09-13 13:02:48 +0200881config SPL_STACK_R_ADDR
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800882 default 0x4fe00000 if MACH_SUN4I
883 default 0x4fe00000 if MACH_SUN5I
884 default 0x4fe00000 if MACH_SUN6I
885 default 0x4fe00000 if MACH_SUN7I
886 default 0x4fe00000 if MACH_SUN8I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200887 default 0x2fe00000 if MACH_SUN9I
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800888 default 0x4fe00000 if MACH_SUN50I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200889
Jagan Teki4e159f82018-02-06 22:42:56 +0530890config SPL_SPI_SUNXI
891 bool "Support for SPI Flash on Allwinner SoCs in SPL"
892 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
893 help
894 Enable support for SPI Flash. This option allows SPL to read from
895 sunxi SPI Flash. It uses the same method as the boot ROM, so does
896 not need any extra configuration.
897
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900898endif