blob: 3624a03947f6a9157de69744b90a0a9413aa32b4 [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
Andre Przywarad1de0bb2018-06-27 01:42:53 +010087config SUNXI_A64_TIMER_ERRATUM
88 bool
89
Hans de Goedef07872b2015-04-06 20:33:34 +020090# Note only one of these may be selected at a time! But hidden choices are
91# not supported by Kconfig
92config SUNXI_GEN_SUN4I
93 bool
94 ---help---
95 Select this for sunxi SoCs which have resets and clocks set up
96 as the original A10 (mach-sun4i).
97
98config SUNXI_GEN_SUN6I
99 bool
100 ---help---
101 Select this for sunxi SoCs which have sun6i like periphery, like
102 separate ahb reset control registers, custom pmic bus, new style
103 watchdog, etc.
104
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800105config SUNXI_DRAM_DW
106 bool
107 ---help---
108 Select this for sunxi SoCs which uses a DRAM controller like the
109 DesignWare controller used in H3, mainly SoCs after H3, which do
110 not have official open-source DRAM initialization code, but can
111 use modified H3 DRAM initialization code.
Hans de Goedef07872b2015-04-06 20:33:34 +0200112
Icenowy Zhengb2607512017-06-03 17:10:16 +0800113if SUNXI_DRAM_DW
114config SUNXI_DRAM_DW_16BIT
115 bool
116 ---help---
117 Select this for sunxi SoCs with DesignWare DRAM controller and
118 have only 16-bit memory buswidth.
119
120config SUNXI_DRAM_DW_32BIT
121 bool
122 ---help---
123 Select this for sunxi SoCs with DesignWare DRAM controller with
124 32-bit memory buswidth.
125endif
126
Andre Przywara5fb97432017-02-16 01:20:27 +0000127config MACH_SUNXI_H3_H5
128 bool
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200129 select DM_I2C
Jagan Teki137fc752018-05-07 13:03:38 +0530130 select PHY_SUN4I_USB
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200131 select SUNXI_DE2
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800132 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800133 select SUNXI_DRAM_DW_32BIT
Andre Przywara5fb97432017-02-16 01:20:27 +0000134 select SUNXI_GEN_SUN6I
135 select SUPPORT_SPL
136
Ian Campbelld8e69e02014-10-24 21:20:44 +0100137choice
138 prompt "Sunxi SoC Variant"
Hans de Goedeb05a6482016-06-12 11:57:07 +0200139 optional
Ian Campbelld8e69e02014-10-24 21:20:44 +0100140
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100141config MACH_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100142 bool "sun4i (Allwinner A10)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530143 select CPU_V7A
Andre Przywara4330eb92017-02-16 01:20:21 +0000144 select ARM_CORTEX_CPU_IS_UP
Jagan Teki137fc752018-05-07 13:03:38 +0530145 select PHY_SUN4I_USB
Jagan Teki3994b1e2018-01-10 16:03:34 +0530146 select DRAM_SUN4I
Hans de Goedef07872b2015-04-06 20:33:34 +0200147 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100148 select SUPPORT_SPL
149
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100150config MACH_SUN5I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100151 bool "sun5i (Allwinner A13)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530152 select CPU_V7A
Andre Przywara4330eb92017-02-16 01:20:21 +0000153 select ARM_CORTEX_CPU_IS_UP
Jagan Teki3994b1e2018-01-10 16:03:34 +0530154 select DRAM_SUN4I
Jagan Teki137fc752018-05-07 13:03:38 +0530155 select PHY_SUN4I_USB
Hans de Goedef07872b2015-04-06 20:33:34 +0200156 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100157 select SUPPORT_SPL
Tom Rinie69ba982018-03-06 19:02:27 -0500158 imply CONS_INDEX_2 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100159
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100160config MACH_SUN6I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100161 bool "sun6i (Allwinner A31)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530162 select CPU_V7A
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800163 select CPU_V7_HAS_NONSEC
164 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900165 select ARCH_SUPPORT_PSCI
Jagan Teki68d0f5f2018-03-17 00:16:36 +0530166 select DRAM_SUN6I
Jagan Teki137fc752018-05-07 13:03:38 +0530167 select PHY_SUN4I_USB
Jagan Teki59ea2872018-01-11 13:21:58 +0530168 select SUN6I_P2WI
Jagan Teki932f5e02018-01-11 13:21:15 +0530169 select SUN6I_PRCM
Hans de Goedef07872b2015-04-06 20:33:34 +0200170 select SUNXI_GEN_SUN6I
Hans de Goedea5403b92014-10-25 20:18:10 +0200171 select SUPPORT_SPL
Chen-Yu Tsaif31017c2015-05-28 21:25:32 +0800172 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100173
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100174config MACH_SUN7I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100175 bool "sun7i (Allwinner A20)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530176 select CPU_V7A
Hans de Goede85437352014-11-14 09:34:30 +0100177 select CPU_V7_HAS_NONSEC
178 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900179 select ARCH_SUPPORT_PSCI
Jagan Teki3994b1e2018-01-10 16:03:34 +0530180 select DRAM_SUN4I
Jagan Teki137fc752018-05-07 13:03:38 +0530181 select PHY_SUN4I_USB
Hans de Goedef07872b2015-04-06 20:33:34 +0200182 select SUNXI_GEN_SUN4I
Ian Campbelld8e69e02014-10-24 21:20:44 +0100183 select SUPPORT_SPL
Hans de Goedea5636382014-10-24 20:12:04 +0200184 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Ian Campbelld8e69e02014-10-24 21:20:44 +0100185
Hans de Goedef055ed62015-04-06 20:55:39 +0200186config MACH_SUN8I_A23
Ian Campbelld8e69e02014-10-24 21:20:44 +0100187 bool "sun8i (Allwinner A23)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530188 select CPU_V7A
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800189 select CPU_V7_HAS_NONSEC
190 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900191 select ARCH_SUPPORT_PSCI
Jagan Teki318e4e52018-01-10 16:15:14 +0530192 select DRAM_SUN8I_A23
Jagan Teki137fc752018-05-07 13:03:38 +0530193 select PHY_SUN4I_USB
Hans de Goedef07872b2015-04-06 20:33:34 +0200194 select SUNXI_GEN_SUN6I
Hans de Goede966d2392014-12-07 14:34:27 +0100195 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800196 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500197 imply CONS_INDEX_5 if !DM_SERIAL
Ian Campbelld8e69e02014-10-24 21:20:44 +0100198
Vishnu Patekar3702f142015-03-01 23:47:48 +0530199config MACH_SUN8I_A33
200 bool "sun8i (Allwinner A33)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530201 select CPU_V7A
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800202 select CPU_V7_HAS_NONSEC
203 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900204 select ARCH_SUPPORT_PSCI
Jagan Tekie624d4c2018-01-10 16:17:39 +0530205 select DRAM_SUN8I_A33
Jagan Teki137fc752018-05-07 13:03:38 +0530206 select PHY_SUN4I_USB
Vishnu Patekar3702f142015-03-01 23:47:48 +0530207 select SUNXI_GEN_SUN6I
208 select SUPPORT_SPL
Chen-Yu Tsai5acec7c2015-05-28 21:25:34 +0800209 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Tom Rinie69ba982018-03-06 19:02:27 -0500210 imply CONS_INDEX_5 if !DM_SERIAL
Vishnu Patekar3702f142015-03-01 23:47:48 +0530211
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800212config MACH_SUN8I_A83T
213 bool "sun8i (Allwinner A83T)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530214 select CPU_V7A
Jagan Teki270a6f62018-01-10 16:20:26 +0530215 select DRAM_SUN8I_A83T
Jagan Teki137fc752018-05-07 13:03:38 +0530216 select PHY_SUN4I_USB
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800217 select SUNXI_GEN_SUN6I
Maxime Ripard4799a1a2017-08-23 12:03:42 +0200218 select MMC_SUNXI_HAS_NEW_MODE
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800219 select SUPPORT_SPL
220
Jens Kuskef9770722015-11-17 15:12:58 +0100221config MACH_SUN8I_H3
222 bool "sun8i (Allwinner H3)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530223 select CPU_V7A
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800224 select CPU_V7_HAS_NONSEC
225 select CPU_V7_HAS_VIRT
Masahiro Yamadad5415b22016-08-30 16:22:22 +0900226 select ARCH_SUPPORT_PSCI
Andre Przywara5fb97432017-02-16 01:20:27 +0000227 select MACH_SUNXI_H3_H5
Chen-Yu Tsaiaa9ab0e2016-01-06 15:13:09 +0800228 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
Jens Kuskef9770722015-11-17 15:12:58 +0100229
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800230config MACH_SUN8I_R40
231 bool "sun8i (Allwinner R40)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530232 select CPU_V7A
Chen-Yu Tsaib1a1fda2017-03-01 11:03:15 +0800233 select CPU_V7_HAS_NONSEC
234 select CPU_V7_HAS_VIRT
235 select ARCH_SUPPORT_PSCI
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800236 select SUNXI_GEN_SUN6I
Chen-Yu Tsai2d5826c2016-12-02 16:09:49 +0800237 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800238 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800239 select SUNXI_DRAM_DW_32BIT
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800240
Icenowy Zheng52e61882017-04-08 15:30:12 +0800241config MACH_SUN8I_V3S
242 bool "sun8i (Allwinner V3s)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530243 select CPU_V7A
Icenowy Zheng52e61882017-04-08 15:30:12 +0800244 select CPU_V7_HAS_NONSEC
245 select CPU_V7_HAS_VIRT
246 select ARCH_SUPPORT_PSCI
247 select SUNXI_GEN_SUN6I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800248 select SUNXI_DRAM_DW
249 select SUNXI_DRAM_DW_16BIT
250 select SUPPORT_SPL
Icenowy Zheng52e61882017-04-08 15:30:12 +0800251 select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
252
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100253config MACH_SUN9I
254 bool "sun9i (Allwinner A80)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530255 select CPU_V7A
Jagan Teki6aa7f712018-03-17 00:18:01 +0530256 select DRAM_SUN9I
Jagan Teki11f33e12018-01-11 13:23:02 +0530257 select SUN6I_PRCM
Andre Przywarade454ec2017-02-16 01:20:23 +0000258 select SUNXI_HIGH_SRAM
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100259 select SUNXI_GEN_SUN6I
Jagan Tekif35767b2018-01-11 13:23:52 +0530260 select SUN8I_RSB
Philipp Tomsich470626e2016-10-28 18:21:32 +0800261 select SUPPORT_SPL
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100262
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800263config MACH_SUN50I
264 bool "sun50i (Allwinner A64)"
265 select ARM64
Jernej Skrabec09e6f162017-04-27 00:03:37 +0200266 select DM_I2C
Jagan Teki137fc752018-05-07 13:03:38 +0530267 select PHY_SUN4I_USB
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200268 select SUNXI_DE2
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800269 select SUNXI_GEN_SUN6I
Andre Przywarade454ec2017-02-16 01:20:23 +0000270 select SUNXI_HIGH_SRAM
Andre Przywaraa563adc2017-01-02 11:48:45 +0000271 select SUPPORT_SPL
Icenowy Zhengca0bc022017-06-03 17:10:14 +0800272 select SUNXI_DRAM_DW
Icenowy Zhengb2607512017-06-03 17:10:16 +0800273 select SUNXI_DRAM_DW_32BIT
Andre Przywarad8362162017-04-26 01:32:48 +0100274 select FIT
275 select SPL_LOAD_FIT
Andre Przywarad1de0bb2018-06-27 01:42:53 +0100276 select SUNXI_A64_TIMER_ERRATUM
Chen-Yu Tsai1fcaea02016-05-02 10:28:07 +0800277
Andre Przywara5611a2d2017-02-16 01:20:28 +0000278config MACH_SUN50I_H5
279 bool "sun50i (Allwinner H5)"
280 select ARM64
281 select MACH_SUNXI_H3_H5
282 select SUNXI_HIGH_SRAM
Andre Przywarad8362162017-04-26 01:32:48 +0100283 select FIT
284 select SPL_LOAD_FIT
Andre Przywara5611a2d2017-02-16 01:20:28 +0000285
Ian Campbelld8e69e02014-10-24 21:20:44 +0100286endchoice
Maxime Ripard2c519412014-10-03 20:16:29 +0800287
Hans de Goedef055ed62015-04-06 20:55:39 +0200288# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
289config MACH_SUN8I
290 bool
Jagan Tekif35767b2018-01-11 13:23:52 +0530291 select SUN8I_RSB
Jagan Teki11f33e12018-01-11 13:23:02 +0530292 select SUN6I_PRCM
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800293 default y if MACH_SUN8I_A23
294 default y if MACH_SUN8I_A33
295 default y if MACH_SUN8I_A83T
296 default y if MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800297 default y if MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800298 default y if MACH_SUN8I_V3S
Hans de Goedef055ed62015-04-06 20:55:39 +0200299
Andre Przywara06893b62017-01-02 11:48:35 +0000300config RESERVE_ALLWINNER_BOOT0_HEADER
301 bool "reserve space for Allwinner boot0 header"
302 select ENABLE_ARM_SOC_BOOT0_HOOK
303 ---help---
304 Prepend a 1536 byte (empty) header to the U-Boot image file, to be
305 filled with magic values post build. The Allwinner provided boot0
306 blob relies on this information to load and execute U-Boot.
307 Only needed on 64-bit Allwinner boards so far when using boot0.
308
Andre Przywara46c3d992017-01-02 11:48:36 +0000309config ARM_BOOT_HOOK_RMR
310 bool
311 depends on ARM64
312 default y
313 select ENABLE_ARM_SOC_BOOT0_HOOK
314 ---help---
315 Insert some ARM32 code at the very beginning of the U-Boot binary
316 which uses an RMR register write to bring the core into AArch64 mode.
317 The very first instruction acts as a switch, since it's carefully
318 chosen to be a NOP in one mode and a branch in the other, so the
319 code would only be executed if not already in AArch64.
320 This allows both the SPL and the U-Boot proper to be entered in
321 either mode and switch to AArch64 if needed.
322
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800323if SUNXI_DRAM_DW
324config SUNXI_DRAM_DDR3
325 bool
326
Icenowy Zhenge270a582017-06-03 17:10:20 +0800327config SUNXI_DRAM_DDR2
328 bool
329
Icenowy Zheng3c1b9f12017-06-03 17:10:23 +0800330config SUNXI_DRAM_LPDDR3
331 bool
332
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800333choice
334 prompt "DRAM Type and Timing"
Icenowy Zhengfe052172017-06-03 17:10:21 +0800335 default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
336 default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800337
338config SUNXI_DRAM_DDR3_1333
339 bool "DDR3 1333"
340 select SUNXI_DRAM_DDR3
Icenowy Zhengfe052172017-06-03 17:10:21 +0800341 depends on !MACH_SUN8I_V3S
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800342 ---help---
343 This option is the original only supported memory type, which suits
344 many H3/H5/A64 boards available now.
345
Icenowy Zhengeb4766e2017-06-03 17:10:24 +0800346config SUNXI_DRAM_LPDDR3_STOCK
347 bool "LPDDR3 with Allwinner stock configuration"
348 select SUNXI_DRAM_LPDDR3
349 ---help---
350 This option is the LPDDR3 timing used by the stock boot0 by
351 Allwinner.
352
Icenowy Zhenge270a582017-06-03 17:10:20 +0800353config SUNXI_DRAM_DDR2_V3S
354 bool "DDR2 found in V3s chip"
355 select SUNXI_DRAM_DDR2
Icenowy Zhengfe052172017-06-03 17:10:21 +0800356 depends on MACH_SUN8I_V3S
Icenowy Zhenge270a582017-06-03 17:10:20 +0800357 ---help---
358 This option is only for the DDR2 memory chip which is co-packaged in
359 Allwinner V3s SoC.
360
Icenowy Zhengf09b48e2017-06-03 17:10:18 +0800361endchoice
362endif
363
Vishnu Patekarc49936f2016-01-12 01:20:58 +0800364config DRAM_TYPE
365 int "sunxi dram type"
366 depends on MACH_SUN8I_A83T
367 default 3
368 ---help---
369 Set the dram type, 3: DDR3, 7: LPDDR3
Hans de Goedef055ed62015-04-06 20:55:39 +0200370
Hans de Goede3aeaa282014-11-15 19:46:39 +0100371config DRAM_CLK
Hans de Goede59d9fc72015-01-17 14:24:55 +0100372 int "sunxi dram clock speed"
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800373 default 792 if MACH_SUN9I
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800374 default 648 if MACH_SUN8I_R40
Hans de Goede59d9fc72015-01-17 14:24:55 +0100375 default 312 if MACH_SUN6I || MACH_SUN8I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800376 default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
377 MACH_SUN8I_V3S
Andre Przywaraafd68702017-01-02 11:48:37 +0000378 default 672 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100379 ---help---
Philipp Tomsichd36af1c2016-10-28 18:21:28 +0800380 Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
381 must be a multiple of 24. For the sun9i (A80), the tested values
382 (for DDR3-1600) are 312 to 792.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100383
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200384if MACH_SUN5I || MACH_SUN7I
385config DRAM_MBUS_CLK
386 int "sunxi mbus clock speed"
387 default 300
388 ---help---
389 Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
390
391endif
392
Hans de Goede3aeaa282014-11-15 19:46:39 +0100393config DRAM_ZQ
Hans de Goede59d9fc72015-01-17 14:24:55 +0100394 int "sunxi dram zq value"
395 default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
396 default 127 if MACH_SUN7I
Icenowy Zhengb54209f2017-06-03 17:10:22 +0800397 default 14779 if MACH_SUN8I_V3S
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800398 default 3881979 if MACH_SUN8I_R40
Chen-Yu Tsai47bb3062016-10-28 18:21:36 +0800399 default 4145117 if MACH_SUN9I
Andre Przywaraafd68702017-01-02 11:48:37 +0000400 default 3881915 if MACH_SUN50I
Hans de Goede3aeaa282014-11-15 19:46:39 +0100401 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100402 Set the dram zq value.
Hans de Goede3aeaa282014-11-15 19:46:39 +0100403
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200404config DRAM_ODT_EN
405 bool "sunxi dram odt enable"
406 default n if !MACH_SUN8I_A23
407 default y if MACH_SUN8I_A23
Chen-Yu Tsaif361d562016-11-30 16:58:35 +0800408 default y if MACH_SUN8I_R40
Andre Przywaraa563adc2017-01-02 11:48:45 +0000409 default y if MACH_SUN50I
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200410 ---help---
411 Select this to enable dram odt (on die termination).
412
Hans de Goede59d9fc72015-01-17 14:24:55 +0100413if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
414config DRAM_EMR1
415 int "sunxi dram emr1 value"
416 default 0 if MACH_SUN4I
417 default 4 if MACH_SUN5I || MACH_SUN7I
418 ---help---
Hans de Goede06ddc452015-01-25 11:29:27 +0100419 Set the dram controller emr1 value.
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200420
Siarhei Siamashka47359bb2015-02-01 00:27:06 +0200421config DRAM_TPR3
422 hex "sunxi dram tpr3 value"
423 default 0
424 ---help---
425 Set the dram controller tpr3 parameter. This parameter configures
426 the delay on the command lane and also phase shifts, which are
427 applied for sampling incoming read data. The default value 0
428 means that no phase/delay adjustments are necessary. Properly
429 configuring this parameter increases reliability at high DRAM
430 clock speeds.
431
432config DRAM_DQS_GATING_DELAY
433 hex "sunxi dram dqs_gating_delay value"
434 default 0
435 ---help---
436 Set the dram controller dqs_gating_delay parmeter. Each byte
437 encodes the DQS gating delay for each byte lane. The delay
438 granularity is 1/4 cycle. For example, the value 0x05060606
439 means that the delay is 5 quarter-cycles for one lane (1.25
440 cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
441 The default value 0 means autodetection. The results of hardware
442 autodetection are not very reliable and depend on the chip
443 temperature (sometimes producing different results on cold start
444 and warm reboot). But the accuracy of hardware autodetection
445 is usually good enough, unless running at really high DRAM
446 clocks speeds (up to 600MHz). If unsure, keep as 0.
447
Siarhei Siamashka9900db12015-02-01 00:27:05 +0200448choice
449 prompt "sunxi dram timings"
450 default DRAM_TIMINGS_VENDOR_MAGIC
451 ---help---
452 Select the timings of the DDR3 chips.
453
454config DRAM_TIMINGS_VENDOR_MAGIC
455 bool "Magic vendor timings from Android"
456 ---help---
457 The same DRAM timings as in the Allwinner boot0 bootloader.
458
459config DRAM_TIMINGS_DDR3_1066F_1333H
460 bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
461 ---help---
462 Use the timings of the standard JEDEC DDR3-1066F speed bin for
463 DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
464 for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
465 used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
466 or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
467 that down binning to DDR3-1066F is supported (because DDR3-1066F
468 uses a bit faster timings than DDR3-1333H).
469
470config DRAM_TIMINGS_DDR3_800E_1066G_1333J
471 bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
472 ---help---
473 Use the timings of the slowest possible JEDEC speed bin for the
474 selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
475 DDR3-800E, DDR3-1066G or DDR3-1333J.
476
477endchoice
478
Hans de Goede3aeaa282014-11-15 19:46:39 +0100479endif
480
Hans de Goedeffdc05c2015-05-13 15:00:46 +0200481if MACH_SUN8I_A23
482config DRAM_ODT_CORRECTION
483 int "sunxi dram odt correction value"
484 default 0
485 ---help---
486 Set the dram odt correction value (range -255 - 255). In allwinner
487 fex files, this option is found in bits 8-15 of the u32 odt_en variable
488 in the [dram] section. When bit 31 of the odt_en variable is set
489 then the correction is negative. Usually the value for this is 0.
490endif
491
Iain Paton630df142015-03-28 10:26:38 +0000492config SYS_CLK_FREQ
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800493 default 1008000000 if MACH_SUN4I
494 default 1008000000 if MACH_SUN5I
495 default 1008000000 if MACH_SUN6I
Iain Paton630df142015-03-28 10:26:38 +0000496 default 912000000 if MACH_SUN7I
Icenowy Zheng2e915b42017-10-31 07:36:28 +0800497 default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800498 default 1008000000 if MACH_SUN8I
499 default 1008000000 if MACH_SUN9I
Iain Paton630df142015-03-28 10:26:38 +0000500
Maxime Ripard2c519412014-10-03 20:16:29 +0800501config SYS_CONFIG_NAME
Ian Campbell4a24a1c2014-10-24 21:20:45 +0100502 default "sun4i" if MACH_SUN4I
503 default "sun5i" if MACH_SUN5I
504 default "sun6i" if MACH_SUN6I
505 default "sun7i" if MACH_SUN7I
506 default "sun8i" if MACH_SUN8I
Hans de Goede7bfe2bb2015-01-13 19:25:06 +0100507 default "sun9i" if MACH_SUN9I
Siarhei Siamashka26c50fb2016-03-29 17:29:10 +0200508 default "sun50i" if MACH_SUN50I
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900509
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900510config SYS_BOARD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900511 default "sunxi"
512
513config SYS_SOC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900514 default "sunxi"
515
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200516config UART0_PORT_F
517 bool "UART0 on MicroSD breakout board"
Siarhei Siamashka121161f2014-12-25 02:34:47 +0200518 default n
519 ---help---
520 Repurpose the SD card slot for getting access to the UART0 serial
521 console. Primarily useful only for low level u-boot debugging on
522 tablets, where normal UART0 is difficult to access and requires
523 device disassembly and/or soldering. As the SD card can't be used
524 at the same time, the system can be only booted in the FEL mode.
525 Only enable this if you really know what you are doing.
526
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200527config OLD_SUNXI_KERNEL_COMPAT
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900528 bool "Enable workarounds for booting old kernels"
Hans de Goede05e5bcb2014-10-22 14:56:36 +0200529 default n
530 ---help---
531 Set this to enable various workarounds for old kernels, this results in
532 sub-optimal settings for newer kernels, only enable if needed.
533
Mylène Josserand147c6062017-04-02 12:59:10 +0200534config MACPWR
535 string "MAC power pin"
536 default ""
537 help
538 Set the pin used to power the MAC. This takes a string in the format
539 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
540
Hans de Goede7412ef82014-10-02 20:29:26 +0200541config MMC0_CD_PIN
542 string "Card detect pin for mmc0"
Andre Przywara5fb97432017-02-16 01:20:27 +0000543 default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
Hans de Goede7412ef82014-10-02 20:29:26 +0200544 default ""
545 ---help---
546 Set the card detect pin for mmc0, leave empty to not use cd. This
547 takes a string in the format understood by sunxi_name_to_gpio, e.g.
548 PH1 for pin 1 of port H.
549
550config MMC1_CD_PIN
551 string "Card detect pin for mmc1"
552 default ""
553 ---help---
554 See MMC0_CD_PIN help text.
555
556config MMC2_CD_PIN
557 string "Card detect pin for mmc2"
558 default ""
559 ---help---
560 See MMC0_CD_PIN help text.
561
562config MMC3_CD_PIN
563 string "Card detect pin for mmc3"
564 default ""
565 ---help---
566 See MMC0_CD_PIN help text.
567
Paul Kocialkowskid390d8c2015-03-22 18:12:23 +0100568config MMC1_PINS
569 string "Pins for mmc1"
570 default ""
571 ---help---
572 Set the pins used for mmc1, when applicable. This takes a string in the
573 format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
574
575config MMC2_PINS
576 string "Pins for mmc2"
577 default ""
578 ---help---
579 See MMC1_PINS help text.
580
581config MMC3_PINS
582 string "Pins for mmc3"
583 default ""
584 ---help---
585 See MMC1_PINS help text.
586
Hans de Goedeaf593e42014-10-02 20:43:50 +0200587config MMC_SUNXI_SLOT_EXTRA
588 int "mmc extra slot number"
589 default -1
590 ---help---
591 sunxi builds always enable mmc0, some boards also have a second sdcard
592 slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
593 support for this.
594
Hans de Goede99c9fb02016-04-01 22:39:26 +0200595config INITIAL_USB_SCAN_DELAY
596 int "delay initial usb scan by x ms to allow builtin devices to init"
597 default 0
598 ---help---
599 Some boards have on board usb devices which need longer than the
600 USB spec's 1 second to connect from board powerup. Set this config
601 option to a non 0 value to add an extra delay before the first usb
602 bus scan.
603
Hans de Goedee7b852a2015-01-07 15:26:06 +0100604config USB0_VBUS_PIN
605 string "Vbus enable pin for usb0 (otg)"
606 default ""
607 ---help---
608 Set the Vbus enable pin for usb0 (otg). This takes a string in the
609 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
610
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100611config USB0_VBUS_DET
612 string "Vbus detect pin for usb0 (otg)"
Hans de Goedeeaa0d702015-02-16 22:13:43 +0100613 default ""
614 ---help---
615 Set the Vbus detect pin for usb0 (otg). This takes a string in the
616 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
617
Hans de Goedeaadd97f2015-06-14 17:29:53 +0200618config USB0_ID_DET
619 string "ID detect pin for usb0 (otg)"
620 default ""
621 ---help---
622 Set the ID detect pin for usb0 (otg). This takes a string in the
623 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
624
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100625config USB1_VBUS_PIN
626 string "Vbus enable pin for usb1 (ehci0)"
627 default "PH6" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100628 default "PH27" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100629 ---help---
630 Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
631 a string in the format understood by sunxi_name_to_gpio, e.g.
632 PH1 for pin 1 of port H.
633
634config USB2_VBUS_PIN
635 string "Vbus enable pin for usb2 (ehci1)"
636 default "PH3" if MACH_SUN4I || MACH_SUN7I
Hans de Goedeb5ab8ce2014-11-07 14:51:12 +0100637 default "PH24" if MACH_SUN6I
Hans de Goedeaf4273b2014-11-07 16:09:00 +0100638 ---help---
639 See USB1_VBUS_PIN help text.
640
Hans de Goedea60c3fc2016-03-18 08:42:01 +0100641config USB3_VBUS_PIN
642 string "Vbus enable pin for usb3 (ehci2)"
643 default ""
644 ---help---
645 See USB1_VBUS_PIN help text.
646
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200647config I2C0_ENABLE
648 bool "Enable I2C/TWI controller 0"
Chen-Yu Tsai478a3c52016-11-30 15:30:30 +0800649 default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200650 default n if MACH_SUN6I || MACH_SUN8I
Hans de Goede2c526402016-05-15 13:51:58 +0200651 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200652 ---help---
653 This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
654 its clock and setting up the bus. This is especially useful on devices
655 with slaves connected to the bus or with pins exposed through e.g. an
656 expansion port/header.
657
658config I2C1_ENABLE
659 bool "Enable I2C/TWI controller 1"
660 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200661 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200662 ---help---
663 See I2C0_ENABLE help text.
664
665config I2C2_ENABLE
666 bool "Enable I2C/TWI controller 2"
667 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200668 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200669 ---help---
670 See I2C0_ENABLE help text.
671
672if MACH_SUN6I || MACH_SUN7I
673config I2C3_ENABLE
674 bool "Enable I2C/TWI controller 3"
675 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200676 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200677 ---help---
678 See I2C0_ENABLE help text.
679endif
680
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100681if SUNXI_GEN_SUN6I
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100682config R_I2C_ENABLE
683 bool "Enable the PRCM I2C/TWI controller"
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100684 # This is used for the pmic on H3
685 default y if SY8106A_POWER
Hans de Goede2c526402016-05-15 13:51:58 +0200686 select CMD_I2C
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100687 ---help---
688 Set this to y to enable the I2C controller which is part of the PRCM.
Jelle van der Waa3f3a3092016-02-23 18:47:19 +0100689endif
Jelle van der Waa8d3d7c12016-01-14 14:06:26 +0100690
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200691if MACH_SUN7I
692config I2C4_ENABLE
693 bool "Enable I2C/TWI controller 4"
694 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200695 select CMD_I2C
Paul Kocialkowski0a3ec0a2015-04-10 23:09:52 +0200696 ---help---
697 See I2C0_ENABLE help text.
698endif
699
Hans de Goede3ae1d132015-04-25 17:25:14 +0200700config AXP_GPIO
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900701 bool "Enable support for gpio-s on axp PMICs"
Hans de Goede3ae1d132015-04-25 17:25:14 +0200702 default n
703 ---help---
704 Say Y here to enable support for the gpio pins of the axp PMIC ICs.
705
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800706config VIDEO_SUNXI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900707 bool "Enable graphical uboot console on HDMI, LCD or VGA"
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800708 depends on !MACH_SUN8I_A83T
709 depends on !MACH_SUNXI_H3_H5
Chen-Yu Tsaicc2605e2016-11-30 14:57:32 +0800710 depends on !MACH_SUN8I_R40
Icenowy Zheng52e61882017-04-08 15:30:12 +0800711 depends on !MACH_SUN8I_V3S
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800712 depends on !MACH_SUN9I
713 depends on !MACH_SUN50I
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800714 select VIDEO
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800715 imply VIDEO_DT_SIMPLEFB
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200716 default y
717 ---help---
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100718 Say Y here to add support for using a cfb console on the HDMI, LCD
719 or VGA output found on most sunxi devices. See doc/README.video for
720 info on how to select the video output and mode.
721
Hans de Goedee9544592014-12-23 23:04:35 +0100722config VIDEO_HDMI
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900723 bool "HDMI output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800724 depends on VIDEO_SUNXI && !MACH_SUN8I
Hans de Goedee9544592014-12-23 23:04:35 +0100725 default y
726 ---help---
727 Say Y here to add support for outputting video over HDMI.
728
Hans de Goede260f5202014-12-25 13:58:06 +0100729config VIDEO_VGA
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900730 bool "VGA output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800731 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I)
Hans de Goede260f5202014-12-25 13:58:06 +0100732 default n
733 ---help---
734 Say Y here to add support for outputting video over VGA.
735
Hans de Goedeac1633c2014-12-24 12:17:07 +0100736config VIDEO_VGA_VIA_LCD
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900737 bool "VGA via LCD controller support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800738 depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
Hans de Goedeac1633c2014-12-24 12:17:07 +0100739 default n
740 ---help---
741 Say Y here to add support for external DACs connected to the parallel
742 LCD interface driving a VGA connector, such as found on the
743 Olimex A13 boards.
744
Hans de Goede18366f72015-01-25 15:33:07 +0100745config VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900746 bool "Force sync active high for VGA via LCD controller support"
Hans de Goede18366f72015-01-25 15:33:07 +0100747 depends on VIDEO_VGA_VIA_LCD
748 default n
749 ---help---
750 Say Y here if you've a board which uses opendrain drivers for the vga
751 hsync and vsync signals. Opendrain drivers cannot generate steep enough
752 positive edges for a stable video output, so on boards with opendrain
753 drivers the sync signals must always be active high.
754
Chen-Yu Tsai9ed19522015-01-12 18:02:11 +0800755config VIDEO_VGA_EXTERNAL_DAC_EN
756 string "LCD panel power enable pin"
757 depends on VIDEO_VGA_VIA_LCD
758 default ""
759 ---help---
760 Set the enable pin for the external VGA DAC. This takes a string in the
761 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
762
Hans de Goedec06e00e2015-08-03 19:20:26 +0200763config VIDEO_COMPOSITE
Masahiro Yamada78cd22a2016-08-12 10:26:50 +0900764 bool "Composite video output support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800765 depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
Hans de Goedec06e00e2015-08-03 19:20:26 +0200766 default n
767 ---help---
768 Say Y here to add support for outputting composite video.
769
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100770config VIDEO_LCD_MODE
771 string "LCD panel timing details"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800772 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100773 default ""
774 ---help---
775 LCD panel timing details string, leave empty if there is no LCD panel.
776 This is in drivers/video/videomodes.c: video_get_params() format, e.g.
777 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 +0200778 Also see: http://linux-sunxi.org/LCD
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100779
Hans de Goede481b6642015-01-13 13:21:46 +0100780config VIDEO_LCD_DCLK_PHASE
781 int "LCD panel display clock phase"
Vasily Khoruzhick2f0b6e52017-10-26 21:51:52 -0700782 depends on VIDEO_SUNXI || DM_VIDEO
Hans de Goede481b6642015-01-13 13:21:46 +0100783 default 1
784 ---help---
785 Select LCD panel display clock phase shift, range 0-3.
786
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100787config VIDEO_LCD_POWER
788 string "LCD panel power enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800789 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100790 default ""
791 ---help---
792 Set the power enable pin for the LCD panel. 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 Goedece9e3322015-02-16 17:26:41 +0100795config VIDEO_LCD_RESET
796 string "LCD panel reset pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800797 depends on VIDEO_SUNXI
Hans de Goedece9e3322015-02-16 17:26:41 +0100798 default ""
799 ---help---
800 Set the reset pin for the LCD panel. This takes a string in the format
801 understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
802
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100803config VIDEO_LCD_BL_EN
804 string "LCD panel backlight enable pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800805 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100806 default ""
807 ---help---
808 Set the backlight enable pin for the LCD panel. This takes a string in the
809 the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
810 port H.
811
812config VIDEO_LCD_BL_PWM
813 string "LCD panel backlight pwm pin"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800814 depends on VIDEO_SUNXI
Hans de Goede7e68a1b2014-12-21 16:28:32 +0100815 default ""
816 ---help---
817 Set the backlight pwm pin for the LCD panel. This takes a string in the
818 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
Luc Verhaegenb01df1e2014-08-13 07:55:06 +0200819
Hans de Goede2d5d3022015-01-22 21:02:42 +0100820config VIDEO_LCD_BL_PWM_ACTIVE_LOW
821 bool "LCD panel backlight pwm is inverted"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800822 depends on VIDEO_SUNXI
Hans de Goede2d5d3022015-01-22 21:02:42 +0100823 default y
824 ---help---
825 Set this if the backlight pwm output is active low.
826
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100827config VIDEO_LCD_PANEL_I2C
828 bool "LCD panel needs to be configured via i2c"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800829 depends on VIDEO_SUNXI
Hans de Goede6de9f762015-03-07 12:00:02 +0100830 default n
Hans de Goede2c526402016-05-15 13:51:58 +0200831 select CMD_I2C
Hans de Goedea5b4cfe2015-02-16 17:23:25 +0100832 ---help---
833 Say y here if the LCD panel needs to be configured via i2c. This
834 will add a bitbang i2c controller using gpios to talk to the LCD.
835
836config VIDEO_LCD_PANEL_I2C_SDA
837 string "LCD panel i2c interface SDA pin"
838 depends on VIDEO_LCD_PANEL_I2C
839 default "PG12"
840 ---help---
841 Set the SDA pin for the LCD i2c interface. This takes a string in the
842 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
843
844config VIDEO_LCD_PANEL_I2C_SCL
845 string "LCD panel i2c interface SCL pin"
846 depends on VIDEO_LCD_PANEL_I2C
847 default "PG10"
848 ---help---
849 Set the SCL pin for the LCD i2c interface. This takes a string in the
850 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
851
Hans de Goede797a0f52015-01-01 22:04:34 +0100852
853# Note only one of these may be selected at a time! But hidden choices are
854# not supported by Kconfig
855config VIDEO_LCD_IF_PARALLEL
856 bool
857
858config VIDEO_LCD_IF_LVDS
859 bool
860
Jernej Skrabec9b4ca922017-03-27 19:22:31 +0200861config SUNXI_DE2
862 bool
863 default n
864
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200865config VIDEO_DE2
866 bool "Display Engine 2 video driver"
867 depends on SUNXI_DE2
868 select DM_VIDEO
869 select DISPLAY
Icenowy Zheng82576de2017-10-26 11:14:47 +0800870 imply VIDEO_DT_SIMPLEFB
Jernej Skrabec8d91b462017-03-27 19:22:32 +0200871 default y
872 ---help---
873 Say y here if you want to build DE2 video driver which is present on
874 newer SoCs. Currently only HDMI output is supported.
875
Hans de Goede797a0f52015-01-01 22:04:34 +0100876
877choice
878 prompt "LCD panel support"
Icenowy Zheng1fa956f2017-10-26 11:14:44 +0800879 depends on VIDEO_SUNXI
Hans de Goede797a0f52015-01-01 22:04:34 +0100880 ---help---
881 Select which type of LCD panel to support.
882
883config VIDEO_LCD_PANEL_PARALLEL
884 bool "Generic parallel interface LCD panel"
885 select VIDEO_LCD_IF_PARALLEL
886
887config VIDEO_LCD_PANEL_LVDS
888 bool "Generic lvds interface LCD panel"
889 select VIDEO_LCD_IF_LVDS
890
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200891config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
892 bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
893 select VIDEO_LCD_SSD2828
894 select VIDEO_LCD_IF_PARALLEL
895 ---help---
Hans de Goede91f1b822015-08-08 16:13:53 +0200896 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
897
898config VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
899 bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
900 select VIDEO_LCD_ANX9804
901 select VIDEO_LCD_IF_PARALLEL
902 select VIDEO_LCD_PANEL_I2C
903 ---help---
904 Select this for eDP LCD panels with 4 lanes running at 1.62G,
905 connected via an ANX9804 bridge chip.
Siarhei Siamashkac02f0522015-01-19 05:23:33 +0200906
Hans de Goede743fb9552015-01-20 09:23:36 +0100907config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
908 bool "Hitachi tx18d42vm LCD panel"
909 select VIDEO_LCD_HITACHI_TX18D42VM
910 select VIDEO_LCD_IF_LVDS
911 ---help---
912 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
913
Hans de Goede613dade2015-02-16 17:49:47 +0100914config VIDEO_LCD_TL059WV5C0
915 bool "tl059wv5c0 LCD panel"
916 select VIDEO_LCD_PANEL_I2C
917 select VIDEO_LCD_IF_PARALLEL
918 ---help---
919 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
920 Aigo M60/M608/M606 tablets.
921
Hans de Goede797a0f52015-01-01 22:04:34 +0100922endchoice
923
Mylène Josserand628426a2017-04-02 12:59:09 +0200924config SATAPWR
925 string "SATA power pin"
926 default ""
927 help
928 Set the pins used to power the SATA. This takes a string in the
929 format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
930 port H.
Hans de Goede797a0f52015-01-01 22:04:34 +0100931
Hans de Goedebf880fe2015-01-25 12:10:48 +0100932config GMAC_TX_DELAY
933 int "GMAC Transmit Clock Delay Chain"
934 default 0
935 ---help---
936 Set the GMAC Transmit Clock Delay Chain value.
937
Hans de Goede66ab79d2015-09-13 13:02:48 +0200938config SPL_STACK_R_ADDR
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800939 default 0x4fe00000 if MACH_SUN4I
940 default 0x4fe00000 if MACH_SUN5I
941 default 0x4fe00000 if MACH_SUN6I
942 default 0x4fe00000 if MACH_SUN7I
943 default 0x4fe00000 if MACH_SUN8I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200944 default 0x2fe00000 if MACH_SUN9I
Chen-Yu Tsaifa337462017-03-02 16:03:06 +0800945 default 0x4fe00000 if MACH_SUN50I
Hans de Goede66ab79d2015-09-13 13:02:48 +0200946
Jagan Teki4e159f82018-02-06 22:42:56 +0530947config SPL_SPI_SUNXI
948 bool "Support for SPI Flash on Allwinner SoCs in SPL"
949 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
950 help
951 Enable support for SPI Flash. This option allows SPL to read from
952 sunxi SPI Flash. It uses the same method as the boot ROM, so does
953 not need any extra configuration.
954
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900955endif