xref: /rk3399_rockchip-uboot/arch/arm/mach-sunxi/Kconfig (revision cf6fc54d5805d338500f2eafb9f3008b73220029)
13abfd887SMasahiro Yamadaif ARCH_SUNXI
23abfd887SMasahiro Yamada
3b529993eSPhilipp Tomsichconfig SPL_LDSCRIPT
4b529993eSPhilipp Tomsich	default "arch/arm/cpu/armv7/sunxi/u-boot-spl.lds" if !ARM64
5b529993eSPhilipp Tomsich
63abfd887SMasahiro Yamadaconfig IDENT_STRING
73abfd887SMasahiro Yamada	default " Allwinner Technology"
83abfd887SMasahiro Yamada
93abfd887SMasahiro Yamadaconfig SUNXI_HIGH_SRAM
103abfd887SMasahiro Yamada	bool
113abfd887SMasahiro Yamada	default n
123abfd887SMasahiro Yamada	---help---
133abfd887SMasahiro Yamada	Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
143abfd887SMasahiro Yamada	with the first SRAM region being located at address 0.
153abfd887SMasahiro Yamada	Some newer SoCs map the boot ROM at address 0 instead and move the
163abfd887SMasahiro Yamada	SRAM to 64KB, just behind the mask ROM.
173abfd887SMasahiro Yamada	Chips using the latter setup are supposed to select this option to
183abfd887SMasahiro Yamada	adjust the addresses accordingly.
193abfd887SMasahiro Yamada
203abfd887SMasahiro Yamada# Note only one of these may be selected at a time! But hidden choices are
213abfd887SMasahiro Yamada# not supported by Kconfig
223abfd887SMasahiro Yamadaconfig SUNXI_GEN_SUN4I
233abfd887SMasahiro Yamada	bool
243abfd887SMasahiro Yamada	---help---
253abfd887SMasahiro Yamada	Select this for sunxi SoCs which have resets and clocks set up
263abfd887SMasahiro Yamada	as the original A10 (mach-sun4i).
273abfd887SMasahiro Yamada
283abfd887SMasahiro Yamadaconfig SUNXI_GEN_SUN6I
293abfd887SMasahiro Yamada	bool
303abfd887SMasahiro Yamada	---help---
313abfd887SMasahiro Yamada	Select this for sunxi SoCs which have sun6i like periphery, like
323abfd887SMasahiro Yamada	separate ahb reset control registers, custom pmic bus, new style
333abfd887SMasahiro Yamada	watchdog, etc.
343abfd887SMasahiro Yamada
359934aba4SIcenowy Zhengconfig SUNXI_DRAM_DW
369934aba4SIcenowy Zheng	bool
379934aba4SIcenowy Zheng	---help---
389934aba4SIcenowy Zheng	Select this for sunxi SoCs which uses a DRAM controller like the
399934aba4SIcenowy Zheng	DesignWare controller used in H3, mainly SoCs after H3, which do
409934aba4SIcenowy Zheng	not have official open-source DRAM initialization code, but can
419934aba4SIcenowy Zheng	use modified H3 DRAM initialization code.
423abfd887SMasahiro Yamada
4387098d70SIcenowy Zhengif SUNXI_DRAM_DW
4487098d70SIcenowy Zhengconfig SUNXI_DRAM_DW_16BIT
4587098d70SIcenowy Zheng	bool
4687098d70SIcenowy Zheng	---help---
4787098d70SIcenowy Zheng	Select this for sunxi SoCs with DesignWare DRAM controller and
4887098d70SIcenowy Zheng	have only 16-bit memory buswidth.
4987098d70SIcenowy Zheng
5087098d70SIcenowy Zhengconfig SUNXI_DRAM_DW_32BIT
5187098d70SIcenowy Zheng	bool
5287098d70SIcenowy Zheng	---help---
5387098d70SIcenowy Zheng	Select this for sunxi SoCs with DesignWare DRAM controller with
5487098d70SIcenowy Zheng	32-bit memory buswidth.
5587098d70SIcenowy Zhengendif
5687098d70SIcenowy Zheng
573abfd887SMasahiro Yamadaconfig MACH_SUNXI_H3_H5
583abfd887SMasahiro Yamada	bool
593abfd887SMasahiro Yamada	select DM_I2C
603abfd887SMasahiro Yamada	select SUNXI_DE2
619934aba4SIcenowy Zheng	select SUNXI_DRAM_DW
6287098d70SIcenowy Zheng	select SUNXI_DRAM_DW_32BIT
633abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
643abfd887SMasahiro Yamada	select SUPPORT_SPL
653abfd887SMasahiro Yamada
663abfd887SMasahiro Yamadachoice
673abfd887SMasahiro Yamada	prompt "Sunxi SoC Variant"
683abfd887SMasahiro Yamada	optional
693abfd887SMasahiro Yamada
703abfd887SMasahiro Yamadaconfig MACH_SUN4I
713abfd887SMasahiro Yamada	bool "sun4i (Allwinner A10)"
723abfd887SMasahiro Yamada	select CPU_V7
733abfd887SMasahiro Yamada	select ARM_CORTEX_CPU_IS_UP
743abfd887SMasahiro Yamada	select SUNXI_GEN_SUN4I
753abfd887SMasahiro Yamada	select SUPPORT_SPL
763abfd887SMasahiro Yamada
773abfd887SMasahiro Yamadaconfig MACH_SUN5I
783abfd887SMasahiro Yamada	bool "sun5i (Allwinner A13)"
793abfd887SMasahiro Yamada	select CPU_V7
803abfd887SMasahiro Yamada	select ARM_CORTEX_CPU_IS_UP
813abfd887SMasahiro Yamada	select SUNXI_GEN_SUN4I
823abfd887SMasahiro Yamada	select SUPPORT_SPL
833abfd887SMasahiro Yamada
843abfd887SMasahiro Yamadaconfig MACH_SUN6I
853abfd887SMasahiro Yamada	bool "sun6i (Allwinner A31)"
863abfd887SMasahiro Yamada	select CPU_V7
873abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
883abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
893abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
903abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
913abfd887SMasahiro Yamada	select SUPPORT_SPL
923abfd887SMasahiro Yamada	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
933abfd887SMasahiro Yamada
943abfd887SMasahiro Yamadaconfig MACH_SUN7I
953abfd887SMasahiro Yamada	bool "sun7i (Allwinner A20)"
963abfd887SMasahiro Yamada	select CPU_V7
973abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
983abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
993abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
1003abfd887SMasahiro Yamada	select SUNXI_GEN_SUN4I
1013abfd887SMasahiro Yamada	select SUPPORT_SPL
1023abfd887SMasahiro Yamada	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
1033abfd887SMasahiro Yamada
1043abfd887SMasahiro Yamadaconfig MACH_SUN8I_A23
1053abfd887SMasahiro Yamada	bool "sun8i (Allwinner A23)"
1063abfd887SMasahiro Yamada	select CPU_V7
1073abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
1083abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
1093abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
1103abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
1113abfd887SMasahiro Yamada	select SUPPORT_SPL
1123abfd887SMasahiro Yamada	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
1133abfd887SMasahiro Yamada
1143abfd887SMasahiro Yamadaconfig MACH_SUN8I_A33
1153abfd887SMasahiro Yamada	bool "sun8i (Allwinner A33)"
1163abfd887SMasahiro Yamada	select CPU_V7
1173abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
1183abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
1193abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
1203abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
1213abfd887SMasahiro Yamada	select SUPPORT_SPL
1223abfd887SMasahiro Yamada	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
1233abfd887SMasahiro Yamada
1243abfd887SMasahiro Yamadaconfig MACH_SUN8I_A83T
1253abfd887SMasahiro Yamada	bool "sun8i (Allwinner A83T)"
1263abfd887SMasahiro Yamada	select CPU_V7
1273abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
128343ff161SMaxime Ripard	select MMC_SUNXI_HAS_NEW_MODE
1293abfd887SMasahiro Yamada	select SUPPORT_SPL
1303abfd887SMasahiro Yamada
1313abfd887SMasahiro Yamadaconfig MACH_SUN8I_H3
1323abfd887SMasahiro Yamada	bool "sun8i (Allwinner H3)"
1333abfd887SMasahiro Yamada	select CPU_V7
1343abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
1353abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
1363abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
1373abfd887SMasahiro Yamada	select MACH_SUNXI_H3_H5
1383abfd887SMasahiro Yamada	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
1393abfd887SMasahiro Yamada
1403abfd887SMasahiro Yamadaconfig MACH_SUN8I_R40
1413abfd887SMasahiro Yamada	bool "sun8i (Allwinner R40)"
1423abfd887SMasahiro Yamada	select CPU_V7
1433abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
1443abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
1453abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
1463abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
1473abfd887SMasahiro Yamada	select SUPPORT_SPL
1489934aba4SIcenowy Zheng	select SUNXI_DRAM_DW
14987098d70SIcenowy Zheng	select SUNXI_DRAM_DW_32BIT
1503abfd887SMasahiro Yamada
1513abfd887SMasahiro Yamadaconfig MACH_SUN8I_V3S
1523abfd887SMasahiro Yamada	bool "sun8i (Allwinner V3s)"
1533abfd887SMasahiro Yamada	select CPU_V7
1543abfd887SMasahiro Yamada	select CPU_V7_HAS_NONSEC
1553abfd887SMasahiro Yamada	select CPU_V7_HAS_VIRT
1563abfd887SMasahiro Yamada	select ARCH_SUPPORT_PSCI
1573abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
1587d06e59fSIcenowy Zheng	select SUNXI_DRAM_DW
1597d06e59fSIcenowy Zheng	select SUNXI_DRAM_DW_16BIT
1607d06e59fSIcenowy Zheng	select SUPPORT_SPL
1613abfd887SMasahiro Yamada	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
1623abfd887SMasahiro Yamada
1633abfd887SMasahiro Yamadaconfig MACH_SUN9I
1643abfd887SMasahiro Yamada	bool "sun9i (Allwinner A80)"
1653abfd887SMasahiro Yamada	select CPU_V7
1663abfd887SMasahiro Yamada	select SUNXI_HIGH_SRAM
1673abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
1683abfd887SMasahiro Yamada	select SUPPORT_SPL
1693abfd887SMasahiro Yamada
1703abfd887SMasahiro Yamadaconfig MACH_SUN50I
1713abfd887SMasahiro Yamada	bool "sun50i (Allwinner A64)"
1723abfd887SMasahiro Yamada	select ARM64
1733abfd887SMasahiro Yamada	select DM_I2C
1743abfd887SMasahiro Yamada	select SUNXI_DE2
1753abfd887SMasahiro Yamada	select SUNXI_GEN_SUN6I
1763abfd887SMasahiro Yamada	select SUNXI_HIGH_SRAM
1773abfd887SMasahiro Yamada	select SUPPORT_SPL
1789934aba4SIcenowy Zheng	select SUNXI_DRAM_DW
17987098d70SIcenowy Zheng	select SUNXI_DRAM_DW_32BIT
180d29adf8eSAndre Przywara	select FIT
181d29adf8eSAndre Przywara	select SPL_LOAD_FIT
1823abfd887SMasahiro Yamada
1833abfd887SMasahiro Yamadaconfig MACH_SUN50I_H5
1843abfd887SMasahiro Yamada	bool "sun50i (Allwinner H5)"
1853abfd887SMasahiro Yamada	select ARM64
1863abfd887SMasahiro Yamada	select MACH_SUNXI_H3_H5
1873abfd887SMasahiro Yamada	select SUNXI_HIGH_SRAM
188d29adf8eSAndre Przywara	select FIT
189d29adf8eSAndre Przywara	select SPL_LOAD_FIT
1903abfd887SMasahiro Yamada
1913abfd887SMasahiro Yamadaendchoice
1923abfd887SMasahiro Yamada
1933abfd887SMasahiro Yamada# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
1943abfd887SMasahiro Yamadaconfig MACH_SUN8I
1953abfd887SMasahiro Yamada	bool
1963abfd887SMasahiro Yamada	default y if MACH_SUN8I_A23
1973abfd887SMasahiro Yamada	default y if MACH_SUN8I_A33
1983abfd887SMasahiro Yamada	default y if MACH_SUN8I_A83T
1993abfd887SMasahiro Yamada	default y if MACH_SUNXI_H3_H5
2003abfd887SMasahiro Yamada	default y if MACH_SUN8I_R40
2013abfd887SMasahiro Yamada	default y if MACH_SUN8I_V3S
2023abfd887SMasahiro Yamada
2033abfd887SMasahiro Yamadaconfig RESERVE_ALLWINNER_BOOT0_HEADER
2043abfd887SMasahiro Yamada	bool "reserve space for Allwinner boot0 header"
2053abfd887SMasahiro Yamada	select ENABLE_ARM_SOC_BOOT0_HOOK
2063abfd887SMasahiro Yamada	---help---
2073abfd887SMasahiro Yamada	Prepend a 1536 byte (empty) header to the U-Boot image file, to be
2083abfd887SMasahiro Yamada	filled with magic values post build. The Allwinner provided boot0
2093abfd887SMasahiro Yamada	blob relies on this information to load and execute U-Boot.
2103abfd887SMasahiro Yamada	Only needed on 64-bit Allwinner boards so far when using boot0.
2113abfd887SMasahiro Yamada
2123abfd887SMasahiro Yamadaconfig ARM_BOOT_HOOK_RMR
2133abfd887SMasahiro Yamada	bool
2143abfd887SMasahiro Yamada	depends on ARM64
2153abfd887SMasahiro Yamada	default y
2163abfd887SMasahiro Yamada	select ENABLE_ARM_SOC_BOOT0_HOOK
2173abfd887SMasahiro Yamada	---help---
2183abfd887SMasahiro Yamada	Insert some ARM32 code at the very beginning of the U-Boot binary
2193abfd887SMasahiro Yamada	which uses an RMR register write to bring the core into AArch64 mode.
2203abfd887SMasahiro Yamada	The very first instruction acts as a switch, since it's carefully
2213abfd887SMasahiro Yamada	chosen to be a NOP in one mode and a branch in the other, so the
2223abfd887SMasahiro Yamada	code would only be executed if not already in AArch64.
2233abfd887SMasahiro Yamada	This allows both the SPL and the U-Boot proper to be entered in
2243abfd887SMasahiro Yamada	either mode and switch to AArch64 if needed.
2253abfd887SMasahiro Yamada
226f6457ce5SIcenowy Zhengif SUNXI_DRAM_DW
227f6457ce5SIcenowy Zhengconfig SUNXI_DRAM_DDR3
228f6457ce5SIcenowy Zheng	bool
229f6457ce5SIcenowy Zheng
23067337e68SIcenowy Zhengconfig SUNXI_DRAM_DDR2
23167337e68SIcenowy Zheng	bool
23267337e68SIcenowy Zheng
23372cc9870SIcenowy Zhengconfig SUNXI_DRAM_LPDDR3
23472cc9870SIcenowy Zheng	bool
23572cc9870SIcenowy Zheng
236f6457ce5SIcenowy Zhengchoice
237f6457ce5SIcenowy Zheng	prompt "DRAM Type and Timing"
2383ec0698bSIcenowy Zheng	default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S
2393ec0698bSIcenowy Zheng	default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S
240f6457ce5SIcenowy Zheng
241f6457ce5SIcenowy Zhengconfig SUNXI_DRAM_DDR3_1333
242f6457ce5SIcenowy Zheng	bool "DDR3 1333"
243f6457ce5SIcenowy Zheng	select SUNXI_DRAM_DDR3
2443ec0698bSIcenowy Zheng	depends on !MACH_SUN8I_V3S
245f6457ce5SIcenowy Zheng	---help---
246f6457ce5SIcenowy Zheng	This option is the original only supported memory type, which suits
247f6457ce5SIcenowy Zheng	many H3/H5/A64 boards available now.
248f6457ce5SIcenowy Zheng
249ec4670a1SIcenowy Zhengconfig SUNXI_DRAM_LPDDR3_STOCK
250ec4670a1SIcenowy Zheng	bool "LPDDR3 with Allwinner stock configuration"
251ec4670a1SIcenowy Zheng	select SUNXI_DRAM_LPDDR3
252ec4670a1SIcenowy Zheng	---help---
253ec4670a1SIcenowy Zheng	This option is the LPDDR3 timing used by the stock boot0 by
254ec4670a1SIcenowy Zheng	Allwinner.
255ec4670a1SIcenowy Zheng
25667337e68SIcenowy Zhengconfig SUNXI_DRAM_DDR2_V3S
25767337e68SIcenowy Zheng	bool "DDR2 found in V3s chip"
25867337e68SIcenowy Zheng	select SUNXI_DRAM_DDR2
2593ec0698bSIcenowy Zheng	depends on MACH_SUN8I_V3S
26067337e68SIcenowy Zheng	---help---
26167337e68SIcenowy Zheng	This option is only for the DDR2 memory chip which is co-packaged in
26267337e68SIcenowy Zheng	Allwinner V3s SoC.
26367337e68SIcenowy Zheng
264f6457ce5SIcenowy Zhengendchoice
265f6457ce5SIcenowy Zhengendif
266f6457ce5SIcenowy Zheng
2673abfd887SMasahiro Yamadaconfig DRAM_TYPE
2683abfd887SMasahiro Yamada	int "sunxi dram type"
2693abfd887SMasahiro Yamada	depends on MACH_SUN8I_A83T
2703abfd887SMasahiro Yamada	default 3
2713abfd887SMasahiro Yamada	---help---
2723abfd887SMasahiro Yamada	Set the dram type, 3: DDR3, 7: LPDDR3
2733abfd887SMasahiro Yamada
2743abfd887SMasahiro Yamadaconfig DRAM_CLK
2753abfd887SMasahiro Yamada	int "sunxi dram clock speed"
2763abfd887SMasahiro Yamada	default 792 if MACH_SUN9I
2773abfd887SMasahiro Yamada	default 648 if MACH_SUN8I_R40
2783abfd887SMasahiro Yamada	default 312 if MACH_SUN6I || MACH_SUN8I
2797d06e59fSIcenowy Zheng	default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
2807d06e59fSIcenowy Zheng		       MACH_SUN8I_V3S
2813abfd887SMasahiro Yamada	default 672 if MACH_SUN50I
2823abfd887SMasahiro Yamada	---help---
2833abfd887SMasahiro Yamada	Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
2843abfd887SMasahiro Yamada	must be a multiple of 24. For the sun9i (A80), the tested values
2853abfd887SMasahiro Yamada	(for DDR3-1600) are 312 to 792.
2863abfd887SMasahiro Yamada
2873abfd887SMasahiro Yamadaif MACH_SUN5I || MACH_SUN7I
2883abfd887SMasahiro Yamadaconfig DRAM_MBUS_CLK
2893abfd887SMasahiro Yamada	int "sunxi mbus clock speed"
2903abfd887SMasahiro Yamada	default 300
2913abfd887SMasahiro Yamada	---help---
2923abfd887SMasahiro Yamada	Set the mbus clock speed. The maximum on sun5i hardware is 300MHz.
2933abfd887SMasahiro Yamada
2943abfd887SMasahiro Yamadaendif
2953abfd887SMasahiro Yamada
2963abfd887SMasahiro Yamadaconfig DRAM_ZQ
2973abfd887SMasahiro Yamada	int "sunxi dram zq value"
2983abfd887SMasahiro Yamada	default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
2993abfd887SMasahiro Yamada	default 127 if MACH_SUN7I
3007d06e59fSIcenowy Zheng	default 14779 if MACH_SUN8I_V3S
3013abfd887SMasahiro Yamada	default 3881979 if MACH_SUN8I_R40
3023abfd887SMasahiro Yamada	default 4145117 if MACH_SUN9I
3033abfd887SMasahiro Yamada	default 3881915 if MACH_SUN50I
3043abfd887SMasahiro Yamada	---help---
3053abfd887SMasahiro Yamada	Set the dram zq value.
3063abfd887SMasahiro Yamada
3073abfd887SMasahiro Yamadaconfig DRAM_ODT_EN
3083abfd887SMasahiro Yamada	bool "sunxi dram odt enable"
3093abfd887SMasahiro Yamada	default n if !MACH_SUN8I_A23
3103abfd887SMasahiro Yamada	default y if MACH_SUN8I_A23
3113abfd887SMasahiro Yamada	default y if MACH_SUN8I_R40
3123abfd887SMasahiro Yamada	default y if MACH_SUN50I
3133abfd887SMasahiro Yamada	---help---
3143abfd887SMasahiro Yamada	Select this to enable dram odt (on die termination).
3153abfd887SMasahiro Yamada
3163abfd887SMasahiro Yamadaif MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
3173abfd887SMasahiro Yamadaconfig DRAM_EMR1
3183abfd887SMasahiro Yamada	int "sunxi dram emr1 value"
3193abfd887SMasahiro Yamada	default 0 if MACH_SUN4I
3203abfd887SMasahiro Yamada	default 4 if MACH_SUN5I || MACH_SUN7I
3213abfd887SMasahiro Yamada	---help---
3223abfd887SMasahiro Yamada	Set the dram controller emr1 value.
3233abfd887SMasahiro Yamada
3243abfd887SMasahiro Yamadaconfig DRAM_TPR3
3253abfd887SMasahiro Yamada	hex "sunxi dram tpr3 value"
3263abfd887SMasahiro Yamada	default 0
3273abfd887SMasahiro Yamada	---help---
3283abfd887SMasahiro Yamada	Set the dram controller tpr3 parameter. This parameter configures
3293abfd887SMasahiro Yamada	the delay on the command lane and also phase shifts, which are
3303abfd887SMasahiro Yamada	applied for sampling incoming read data. The default value 0
3313abfd887SMasahiro Yamada	means that no phase/delay adjustments are necessary. Properly
3323abfd887SMasahiro Yamada	configuring this parameter increases reliability at high DRAM
3333abfd887SMasahiro Yamada	clock speeds.
3343abfd887SMasahiro Yamada
3353abfd887SMasahiro Yamadaconfig DRAM_DQS_GATING_DELAY
3363abfd887SMasahiro Yamada	hex "sunxi dram dqs_gating_delay value"
3373abfd887SMasahiro Yamada	default 0
3383abfd887SMasahiro Yamada	---help---
3393abfd887SMasahiro Yamada	Set the dram controller dqs_gating_delay parmeter. Each byte
3403abfd887SMasahiro Yamada	encodes the DQS gating delay for each byte lane. The delay
3413abfd887SMasahiro Yamada	granularity is 1/4 cycle. For example, the value 0x05060606
3423abfd887SMasahiro Yamada	means that the delay is 5 quarter-cycles for one lane (1.25
3433abfd887SMasahiro Yamada	cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes.
3443abfd887SMasahiro Yamada	The default value 0 means autodetection. The results of hardware
3453abfd887SMasahiro Yamada	autodetection are not very reliable and depend on the chip
3463abfd887SMasahiro Yamada	temperature (sometimes producing different results on cold start
3473abfd887SMasahiro Yamada	and warm reboot). But the accuracy of hardware autodetection
3483abfd887SMasahiro Yamada	is usually good enough, unless running at really high DRAM
3493abfd887SMasahiro Yamada	clocks speeds (up to 600MHz). If unsure, keep as 0.
3503abfd887SMasahiro Yamada
3513abfd887SMasahiro Yamadachoice
3523abfd887SMasahiro Yamada	prompt "sunxi dram timings"
3533abfd887SMasahiro Yamada	default DRAM_TIMINGS_VENDOR_MAGIC
3543abfd887SMasahiro Yamada	---help---
3553abfd887SMasahiro Yamada	Select the timings of the DDR3 chips.
3563abfd887SMasahiro Yamada
3573abfd887SMasahiro Yamadaconfig DRAM_TIMINGS_VENDOR_MAGIC
3583abfd887SMasahiro Yamada	bool "Magic vendor timings from Android"
3593abfd887SMasahiro Yamada	---help---
3603abfd887SMasahiro Yamada	The same DRAM timings as in the Allwinner boot0 bootloader.
3613abfd887SMasahiro Yamada
3623abfd887SMasahiro Yamadaconfig DRAM_TIMINGS_DDR3_1066F_1333H
3633abfd887SMasahiro Yamada	bool "JEDEC DDR3-1333H with down binning to DDR3-1066F"
3643abfd887SMasahiro Yamada	---help---
3653abfd887SMasahiro Yamada	Use the timings of the standard JEDEC DDR3-1066F speed bin for
3663abfd887SMasahiro Yamada	DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin
3673abfd887SMasahiro Yamada	for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips
3683abfd887SMasahiro Yamada	used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333
3693abfd887SMasahiro Yamada	or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm
3703abfd887SMasahiro Yamada	that down binning to DDR3-1066F is supported (because DDR3-1066F
3713abfd887SMasahiro Yamada	uses a bit faster timings than DDR3-1333H).
3723abfd887SMasahiro Yamada
3733abfd887SMasahiro Yamadaconfig DRAM_TIMINGS_DDR3_800E_1066G_1333J
3743abfd887SMasahiro Yamada	bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J"
3753abfd887SMasahiro Yamada	---help---
3763abfd887SMasahiro Yamada	Use the timings of the slowest possible JEDEC speed bin for the
3773abfd887SMasahiro Yamada	selected DRAM_CLK. Depending on the DRAM_CLK value, it may be
3783abfd887SMasahiro Yamada	DDR3-800E, DDR3-1066G or DDR3-1333J.
3793abfd887SMasahiro Yamada
3803abfd887SMasahiro Yamadaendchoice
3813abfd887SMasahiro Yamada
3823abfd887SMasahiro Yamadaendif
3833abfd887SMasahiro Yamada
3843abfd887SMasahiro Yamadaif MACH_SUN8I_A23
3853abfd887SMasahiro Yamadaconfig DRAM_ODT_CORRECTION
3863abfd887SMasahiro Yamada	int "sunxi dram odt correction value"
3873abfd887SMasahiro Yamada	default 0
3883abfd887SMasahiro Yamada	---help---
3893abfd887SMasahiro Yamada	Set the dram odt correction value (range -255 - 255). In allwinner
3903abfd887SMasahiro Yamada	fex files, this option is found in bits 8-15 of the u32 odt_en variable
3913abfd887SMasahiro Yamada	in the [dram] section. When bit 31 of the odt_en variable is set
3923abfd887SMasahiro Yamada	then the correction is negative. Usually the value for this is 0.
3933abfd887SMasahiro Yamadaendif
3943abfd887SMasahiro Yamada
3953abfd887SMasahiro Yamadaconfig SYS_CLK_FREQ
3963abfd887SMasahiro Yamada	default 1008000000 if MACH_SUN4I
3973abfd887SMasahiro Yamada	default 1008000000 if MACH_SUN5I
3983abfd887SMasahiro Yamada	default 1008000000 if MACH_SUN6I
3993abfd887SMasahiro Yamada	default 912000000 if MACH_SUN7I
4003abfd887SMasahiro Yamada	default 1008000000 if MACH_SUN8I
4013abfd887SMasahiro Yamada	default 1008000000 if MACH_SUN9I
4023abfd887SMasahiro Yamada	default 816000000 if MACH_SUN50I
4033abfd887SMasahiro Yamada
4043abfd887SMasahiro Yamadaconfig SYS_CONFIG_NAME
4053abfd887SMasahiro Yamada	default "sun4i" if MACH_SUN4I
4063abfd887SMasahiro Yamada	default "sun5i" if MACH_SUN5I
4073abfd887SMasahiro Yamada	default "sun6i" if MACH_SUN6I
4083abfd887SMasahiro Yamada	default "sun7i" if MACH_SUN7I
4093abfd887SMasahiro Yamada	default "sun8i" if MACH_SUN8I
4103abfd887SMasahiro Yamada	default "sun9i" if MACH_SUN9I
4113abfd887SMasahiro Yamada	default "sun50i" if MACH_SUN50I
4123abfd887SMasahiro Yamada
4133abfd887SMasahiro Yamadaconfig SYS_BOARD
4143abfd887SMasahiro Yamada	default "sunxi"
4153abfd887SMasahiro Yamada
4163abfd887SMasahiro Yamadaconfig SYS_SOC
4173abfd887SMasahiro Yamada	default "sunxi"
4183abfd887SMasahiro Yamada
4193abfd887SMasahiro Yamadaconfig UART0_PORT_F
4203abfd887SMasahiro Yamada	bool "UART0 on MicroSD breakout board"
4213abfd887SMasahiro Yamada	default n
4223abfd887SMasahiro Yamada	---help---
4233abfd887SMasahiro Yamada	Repurpose the SD card slot for getting access to the UART0 serial
4243abfd887SMasahiro Yamada	console. Primarily useful only for low level u-boot debugging on
4253abfd887SMasahiro Yamada	tablets, where normal UART0 is difficult to access and requires
4263abfd887SMasahiro Yamada	device disassembly and/or soldering. As the SD card can't be used
4273abfd887SMasahiro Yamada	at the same time, the system can be only booted in the FEL mode.
4283abfd887SMasahiro Yamada	Only enable this if you really know what you are doing.
4293abfd887SMasahiro Yamada
4303abfd887SMasahiro Yamadaconfig OLD_SUNXI_KERNEL_COMPAT
4313abfd887SMasahiro Yamada	bool "Enable workarounds for booting old kernels"
4323abfd887SMasahiro Yamada	default n
4333abfd887SMasahiro Yamada	---help---
4343abfd887SMasahiro Yamada	Set this to enable various workarounds for old kernels, this results in
4353abfd887SMasahiro Yamada	sub-optimal settings for newer kernels, only enable if needed.
4363abfd887SMasahiro Yamada
4373abfd887SMasahiro Yamadaconfig MACPWR
4383abfd887SMasahiro Yamada	string "MAC power pin"
4393abfd887SMasahiro Yamada	default ""
4403abfd887SMasahiro Yamada	help
4413abfd887SMasahiro Yamada	  Set the pin used to power the MAC. This takes a string in the format
4423abfd887SMasahiro Yamada	  understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
4433abfd887SMasahiro Yamada
4443abfd887SMasahiro Yamadaconfig MMC0_CD_PIN
4453abfd887SMasahiro Yamada	string "Card detect pin for mmc0"
4463abfd887SMasahiro Yamada	default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I
4473abfd887SMasahiro Yamada	default ""
4483abfd887SMasahiro Yamada	---help---
4493abfd887SMasahiro Yamada	Set the card detect pin for mmc0, leave empty to not use cd. This
4503abfd887SMasahiro Yamada	takes a string in the format understood by sunxi_name_to_gpio, e.g.
4513abfd887SMasahiro Yamada	PH1 for pin 1 of port H.
4523abfd887SMasahiro Yamada
4533abfd887SMasahiro Yamadaconfig MMC1_CD_PIN
4543abfd887SMasahiro Yamada	string "Card detect pin for mmc1"
4553abfd887SMasahiro Yamada	default ""
4563abfd887SMasahiro Yamada	---help---
4573abfd887SMasahiro Yamada	See MMC0_CD_PIN help text.
4583abfd887SMasahiro Yamada
4593abfd887SMasahiro Yamadaconfig MMC2_CD_PIN
4603abfd887SMasahiro Yamada	string "Card detect pin for mmc2"
4613abfd887SMasahiro Yamada	default ""
4623abfd887SMasahiro Yamada	---help---
4633abfd887SMasahiro Yamada	See MMC0_CD_PIN help text.
4643abfd887SMasahiro Yamada
4653abfd887SMasahiro Yamadaconfig MMC3_CD_PIN
4663abfd887SMasahiro Yamada	string "Card detect pin for mmc3"
4673abfd887SMasahiro Yamada	default ""
4683abfd887SMasahiro Yamada	---help---
4693abfd887SMasahiro Yamada	See MMC0_CD_PIN help text.
4703abfd887SMasahiro Yamada
4713abfd887SMasahiro Yamadaconfig MMC1_PINS
4723abfd887SMasahiro Yamada	string "Pins for mmc1"
4733abfd887SMasahiro Yamada	default ""
4743abfd887SMasahiro Yamada	---help---
4753abfd887SMasahiro Yamada	Set the pins used for mmc1, when applicable. This takes a string in the
4763abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio_bank, e.g. PH for port H.
4773abfd887SMasahiro Yamada
4783abfd887SMasahiro Yamadaconfig MMC2_PINS
4793abfd887SMasahiro Yamada	string "Pins for mmc2"
4803abfd887SMasahiro Yamada	default ""
4813abfd887SMasahiro Yamada	---help---
4823abfd887SMasahiro Yamada	See MMC1_PINS help text.
4833abfd887SMasahiro Yamada
4843abfd887SMasahiro Yamadaconfig MMC3_PINS
4853abfd887SMasahiro Yamada	string "Pins for mmc3"
4863abfd887SMasahiro Yamada	default ""
4873abfd887SMasahiro Yamada	---help---
4883abfd887SMasahiro Yamada	See MMC1_PINS help text.
4893abfd887SMasahiro Yamada
4903abfd887SMasahiro Yamadaconfig MMC_SUNXI_SLOT_EXTRA
4913abfd887SMasahiro Yamada	int "mmc extra slot number"
4923abfd887SMasahiro Yamada	default -1
4933abfd887SMasahiro Yamada	---help---
4943abfd887SMasahiro Yamada	sunxi builds always enable mmc0, some boards also have a second sdcard
4953abfd887SMasahiro Yamada	slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
4963abfd887SMasahiro Yamada	support for this.
4973abfd887SMasahiro Yamada
4983abfd887SMasahiro Yamadaconfig INITIAL_USB_SCAN_DELAY
4993abfd887SMasahiro Yamada	int "delay initial usb scan by x ms to allow builtin devices to init"
5003abfd887SMasahiro Yamada	default 0
5013abfd887SMasahiro Yamada	---help---
5023abfd887SMasahiro Yamada	Some boards have on board usb devices which need longer than the
5033abfd887SMasahiro Yamada	USB spec's 1 second to connect from board powerup. Set this config
5043abfd887SMasahiro Yamada	option to a non 0 value to add an extra delay before the first usb
5053abfd887SMasahiro Yamada	bus scan.
5063abfd887SMasahiro Yamada
5073abfd887SMasahiro Yamadaconfig USB0_VBUS_PIN
5083abfd887SMasahiro Yamada	string "Vbus enable pin for usb0 (otg)"
5093abfd887SMasahiro Yamada	default ""
5103abfd887SMasahiro Yamada	---help---
5113abfd887SMasahiro Yamada	Set the Vbus enable pin for usb0 (otg). This takes a string in the
5123abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
5133abfd887SMasahiro Yamada
5143abfd887SMasahiro Yamadaconfig USB0_VBUS_DET
5153abfd887SMasahiro Yamada	string "Vbus detect pin for usb0 (otg)"
5163abfd887SMasahiro Yamada	default ""
5173abfd887SMasahiro Yamada	---help---
5183abfd887SMasahiro Yamada	Set the Vbus detect pin for usb0 (otg). This takes a string in the
5193abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
5203abfd887SMasahiro Yamada
5213abfd887SMasahiro Yamadaconfig USB0_ID_DET
5223abfd887SMasahiro Yamada	string "ID detect pin for usb0 (otg)"
5233abfd887SMasahiro Yamada	default ""
5243abfd887SMasahiro Yamada	---help---
5253abfd887SMasahiro Yamada	Set the ID detect pin for usb0 (otg). This takes a string in the
5263abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
5273abfd887SMasahiro Yamada
5283abfd887SMasahiro Yamadaconfig USB1_VBUS_PIN
5293abfd887SMasahiro Yamada	string "Vbus enable pin for usb1 (ehci0)"
5303abfd887SMasahiro Yamada	default "PH6" if MACH_SUN4I || MACH_SUN7I
5313abfd887SMasahiro Yamada	default "PH27" if MACH_SUN6I
5323abfd887SMasahiro Yamada	---help---
5333abfd887SMasahiro Yamada	Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes
5343abfd887SMasahiro Yamada	a string in the format understood by sunxi_name_to_gpio, e.g.
5353abfd887SMasahiro Yamada	PH1 for pin 1 of port H.
5363abfd887SMasahiro Yamada
5373abfd887SMasahiro Yamadaconfig USB2_VBUS_PIN
5383abfd887SMasahiro Yamada	string "Vbus enable pin for usb2 (ehci1)"
5393abfd887SMasahiro Yamada	default "PH3" if MACH_SUN4I || MACH_SUN7I
5403abfd887SMasahiro Yamada	default "PH24" if MACH_SUN6I
5413abfd887SMasahiro Yamada	---help---
5423abfd887SMasahiro Yamada	See USB1_VBUS_PIN help text.
5433abfd887SMasahiro Yamada
5443abfd887SMasahiro Yamadaconfig USB3_VBUS_PIN
5453abfd887SMasahiro Yamada	string "Vbus enable pin for usb3 (ehci2)"
5463abfd887SMasahiro Yamada	default ""
5473abfd887SMasahiro Yamada	---help---
5483abfd887SMasahiro Yamada	See USB1_VBUS_PIN help text.
5493abfd887SMasahiro Yamada
5503abfd887SMasahiro Yamadaconfig I2C0_ENABLE
5513abfd887SMasahiro Yamada	bool "Enable I2C/TWI controller 0"
5523abfd887SMasahiro Yamada	default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40
5533abfd887SMasahiro Yamada	default n if MACH_SUN6I || MACH_SUN8I
5543abfd887SMasahiro Yamada	select CMD_I2C
5553abfd887SMasahiro Yamada	---help---
5563abfd887SMasahiro Yamada	This allows enabling I2C/TWI controller 0 by muxing its pins, enabling
5573abfd887SMasahiro Yamada	its clock and setting up the bus. This is especially useful on devices
5583abfd887SMasahiro Yamada	with slaves connected to the bus or with pins exposed through e.g. an
5593abfd887SMasahiro Yamada	expansion port/header.
5603abfd887SMasahiro Yamada
5613abfd887SMasahiro Yamadaconfig I2C1_ENABLE
5623abfd887SMasahiro Yamada	bool "Enable I2C/TWI controller 1"
5633abfd887SMasahiro Yamada	default n
5643abfd887SMasahiro Yamada	select CMD_I2C
5653abfd887SMasahiro Yamada	---help---
5663abfd887SMasahiro Yamada	See I2C0_ENABLE help text.
5673abfd887SMasahiro Yamada
5683abfd887SMasahiro Yamadaconfig I2C2_ENABLE
5693abfd887SMasahiro Yamada	bool "Enable I2C/TWI controller 2"
5703abfd887SMasahiro Yamada	default n
5713abfd887SMasahiro Yamada	select CMD_I2C
5723abfd887SMasahiro Yamada	---help---
5733abfd887SMasahiro Yamada	See I2C0_ENABLE help text.
5743abfd887SMasahiro Yamada
5753abfd887SMasahiro Yamadaif MACH_SUN6I || MACH_SUN7I
5763abfd887SMasahiro Yamadaconfig I2C3_ENABLE
5773abfd887SMasahiro Yamada	bool "Enable I2C/TWI controller 3"
5783abfd887SMasahiro Yamada	default n
5793abfd887SMasahiro Yamada	select CMD_I2C
5803abfd887SMasahiro Yamada	---help---
5813abfd887SMasahiro Yamada	See I2C0_ENABLE help text.
5823abfd887SMasahiro Yamadaendif
5833abfd887SMasahiro Yamada
5843abfd887SMasahiro Yamadaif SUNXI_GEN_SUN6I
5853abfd887SMasahiro Yamadaconfig R_I2C_ENABLE
5863abfd887SMasahiro Yamada	bool "Enable the PRCM I2C/TWI controller"
5873abfd887SMasahiro Yamada	# This is used for the pmic on H3
5883abfd887SMasahiro Yamada	default y if SY8106A_POWER
5893abfd887SMasahiro Yamada	select CMD_I2C
5903abfd887SMasahiro Yamada	---help---
5913abfd887SMasahiro Yamada	Set this to y to enable the I2C controller which is part of the PRCM.
5923abfd887SMasahiro Yamadaendif
5933abfd887SMasahiro Yamada
5943abfd887SMasahiro Yamadaif MACH_SUN7I
5953abfd887SMasahiro Yamadaconfig I2C4_ENABLE
5963abfd887SMasahiro Yamada	bool "Enable I2C/TWI controller 4"
5973abfd887SMasahiro Yamada	default n
5983abfd887SMasahiro Yamada	select CMD_I2C
5993abfd887SMasahiro Yamada	---help---
6003abfd887SMasahiro Yamada	See I2C0_ENABLE help text.
6013abfd887SMasahiro Yamadaendif
6023abfd887SMasahiro Yamada
6033abfd887SMasahiro Yamadaconfig AXP_GPIO
6043abfd887SMasahiro Yamada	bool "Enable support for gpio-s on axp PMICs"
6053abfd887SMasahiro Yamada	default n
6063abfd887SMasahiro Yamada	---help---
6073abfd887SMasahiro Yamada	Say Y here to enable support for the gpio pins of the axp PMIC ICs.
6083abfd887SMasahiro Yamada
6093abfd887SMasahiro Yamadaconfig VIDEO
6103abfd887SMasahiro Yamada	bool "Enable graphical uboot console on HDMI, LCD or VGA"
6113abfd887SMasahiro Yamada	depends on !MACH_SUN8I_A83T
6123abfd887SMasahiro Yamada	depends on !MACH_SUNXI_H3_H5
6133abfd887SMasahiro Yamada	depends on !MACH_SUN8I_R40
6143abfd887SMasahiro Yamada	depends on !MACH_SUN8I_V3S
6153abfd887SMasahiro Yamada	depends on !MACH_SUN9I
6163abfd887SMasahiro Yamada	depends on !MACH_SUN50I
6173abfd887SMasahiro Yamada	default y
6183abfd887SMasahiro Yamada	---help---
6193abfd887SMasahiro Yamada	Say Y here to add support for using a cfb console on the HDMI, LCD
6203abfd887SMasahiro Yamada	or VGA output found on most sunxi devices. See doc/README.video for
6213abfd887SMasahiro Yamada	info on how to select the video output and mode.
6223abfd887SMasahiro Yamada
6233abfd887SMasahiro Yamadaconfig VIDEO_HDMI
6243abfd887SMasahiro Yamada	bool "HDMI output support"
6253abfd887SMasahiro Yamada	depends on VIDEO && !MACH_SUN8I
6263abfd887SMasahiro Yamada	default y
6273abfd887SMasahiro Yamada	---help---
6283abfd887SMasahiro Yamada	Say Y here to add support for outputting video over HDMI.
6293abfd887SMasahiro Yamada
6303abfd887SMasahiro Yamadaconfig VIDEO_VGA
6313abfd887SMasahiro Yamada	bool "VGA output support"
6323abfd887SMasahiro Yamada	depends on VIDEO && (MACH_SUN4I || MACH_SUN7I)
6333abfd887SMasahiro Yamada	default n
6343abfd887SMasahiro Yamada	---help---
6353abfd887SMasahiro Yamada	Say Y here to add support for outputting video over VGA.
6363abfd887SMasahiro Yamada
6373abfd887SMasahiro Yamadaconfig VIDEO_VGA_VIA_LCD
6383abfd887SMasahiro Yamada	bool "VGA via LCD controller support"
6393abfd887SMasahiro Yamada	depends on VIDEO && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I)
6403abfd887SMasahiro Yamada	default n
6413abfd887SMasahiro Yamada	---help---
6423abfd887SMasahiro Yamada	Say Y here to add support for external DACs connected to the parallel
6433abfd887SMasahiro Yamada	LCD interface driving a VGA connector, such as found on the
6443abfd887SMasahiro Yamada	Olimex A13 boards.
6453abfd887SMasahiro Yamada
6463abfd887SMasahiro Yamadaconfig VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH
6473abfd887SMasahiro Yamada	bool "Force sync active high for VGA via LCD controller support"
6483abfd887SMasahiro Yamada	depends on VIDEO_VGA_VIA_LCD
6493abfd887SMasahiro Yamada	default n
6503abfd887SMasahiro Yamada	---help---
6513abfd887SMasahiro Yamada	Say Y here if you've a board which uses opendrain drivers for the vga
6523abfd887SMasahiro Yamada	hsync and vsync signals. Opendrain drivers cannot generate steep enough
6533abfd887SMasahiro Yamada	positive edges for a stable video output, so on boards with opendrain
6543abfd887SMasahiro Yamada	drivers the sync signals must always be active high.
6553abfd887SMasahiro Yamada
6563abfd887SMasahiro Yamadaconfig VIDEO_VGA_EXTERNAL_DAC_EN
6573abfd887SMasahiro Yamada	string "LCD panel power enable pin"
6583abfd887SMasahiro Yamada	depends on VIDEO_VGA_VIA_LCD
6593abfd887SMasahiro Yamada	default ""
6603abfd887SMasahiro Yamada	---help---
6613abfd887SMasahiro Yamada	Set the enable pin for the external VGA DAC. This takes a string in the
6623abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
6633abfd887SMasahiro Yamada
6643abfd887SMasahiro Yamadaconfig VIDEO_COMPOSITE
6653abfd887SMasahiro Yamada	bool "Composite video output support"
6663abfd887SMasahiro Yamada	depends on VIDEO && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
6673abfd887SMasahiro Yamada	default n
6683abfd887SMasahiro Yamada	---help---
6693abfd887SMasahiro Yamada	Say Y here to add support for outputting composite video.
6703abfd887SMasahiro Yamada
6713abfd887SMasahiro Yamadaconfig VIDEO_LCD_MODE
6723abfd887SMasahiro Yamada	string "LCD panel timing details"
6733abfd887SMasahiro Yamada	depends on VIDEO
6743abfd887SMasahiro Yamada	default ""
6753abfd887SMasahiro Yamada	---help---
6763abfd887SMasahiro Yamada	LCD panel timing details string, leave empty if there is no LCD panel.
6773abfd887SMasahiro Yamada	This is in drivers/video/videomodes.c: video_get_params() format, e.g.
6783abfd887SMasahiro Yamada	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
6793abfd887SMasahiro Yamada	Also see: http://linux-sunxi.org/LCD
6803abfd887SMasahiro Yamada
6813abfd887SMasahiro Yamadaconfig VIDEO_LCD_DCLK_PHASE
6823abfd887SMasahiro Yamada	int "LCD panel display clock phase"
6833abfd887SMasahiro Yamada	depends on VIDEO
6843abfd887SMasahiro Yamada	default 1
6853abfd887SMasahiro Yamada	---help---
6863abfd887SMasahiro Yamada	Select LCD panel display clock phase shift, range 0-3.
6873abfd887SMasahiro Yamada
6883abfd887SMasahiro Yamadaconfig VIDEO_LCD_POWER
6893abfd887SMasahiro Yamada	string "LCD panel power enable pin"
6903abfd887SMasahiro Yamada	depends on VIDEO
6913abfd887SMasahiro Yamada	default ""
6923abfd887SMasahiro Yamada	---help---
6933abfd887SMasahiro Yamada	Set the power enable pin for the LCD panel. This takes a string in the
6943abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
6953abfd887SMasahiro Yamada
6963abfd887SMasahiro Yamadaconfig VIDEO_LCD_RESET
6973abfd887SMasahiro Yamada	string "LCD panel reset pin"
6983abfd887SMasahiro Yamada	depends on VIDEO
6993abfd887SMasahiro Yamada	default ""
7003abfd887SMasahiro Yamada	---help---
7013abfd887SMasahiro Yamada	Set the reset pin for the LCD panel. This takes a string in the format
7023abfd887SMasahiro Yamada	understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
7033abfd887SMasahiro Yamada
7043abfd887SMasahiro Yamadaconfig VIDEO_LCD_BL_EN
7053abfd887SMasahiro Yamada	string "LCD panel backlight enable pin"
7063abfd887SMasahiro Yamada	depends on VIDEO
7073abfd887SMasahiro Yamada	default ""
7083abfd887SMasahiro Yamada	---help---
7093abfd887SMasahiro Yamada	Set the backlight enable pin for the LCD panel. This takes a string in the
7103abfd887SMasahiro Yamada	the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
7113abfd887SMasahiro Yamada	port H.
7123abfd887SMasahiro Yamada
7133abfd887SMasahiro Yamadaconfig VIDEO_LCD_BL_PWM
7143abfd887SMasahiro Yamada	string "LCD panel backlight pwm pin"
7153abfd887SMasahiro Yamada	depends on VIDEO
7163abfd887SMasahiro Yamada	default ""
7173abfd887SMasahiro Yamada	---help---
7183abfd887SMasahiro Yamada	Set the backlight pwm pin for the LCD panel. This takes a string in the
7193abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
7203abfd887SMasahiro Yamada
7213abfd887SMasahiro Yamadaconfig VIDEO_LCD_BL_PWM_ACTIVE_LOW
7223abfd887SMasahiro Yamada	bool "LCD panel backlight pwm is inverted"
7233abfd887SMasahiro Yamada	depends on VIDEO
7243abfd887SMasahiro Yamada	default y
7253abfd887SMasahiro Yamada	---help---
7263abfd887SMasahiro Yamada	Set this if the backlight pwm output is active low.
7273abfd887SMasahiro Yamada
7283abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_I2C
7293abfd887SMasahiro Yamada	bool "LCD panel needs to be configured via i2c"
7303abfd887SMasahiro Yamada	depends on VIDEO
7313abfd887SMasahiro Yamada	default n
7323abfd887SMasahiro Yamada	select CMD_I2C
7333abfd887SMasahiro Yamada	---help---
7343abfd887SMasahiro Yamada	Say y here if the LCD panel needs to be configured via i2c. This
7353abfd887SMasahiro Yamada	will add a bitbang i2c controller using gpios to talk to the LCD.
7363abfd887SMasahiro Yamada
7373abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_I2C_SDA
7383abfd887SMasahiro Yamada	string "LCD panel i2c interface SDA pin"
7393abfd887SMasahiro Yamada	depends on VIDEO_LCD_PANEL_I2C
7403abfd887SMasahiro Yamada	default "PG12"
7413abfd887SMasahiro Yamada	---help---
7423abfd887SMasahiro Yamada	Set the SDA pin for the LCD i2c interface. This takes a string in the
7433abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
7443abfd887SMasahiro Yamada
7453abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_I2C_SCL
7463abfd887SMasahiro Yamada	string "LCD panel i2c interface SCL pin"
7473abfd887SMasahiro Yamada	depends on VIDEO_LCD_PANEL_I2C
7483abfd887SMasahiro Yamada	default "PG10"
7493abfd887SMasahiro Yamada	---help---
7503abfd887SMasahiro Yamada	Set the SCL pin for the LCD i2c interface. This takes a string in the
7513abfd887SMasahiro Yamada	format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
7523abfd887SMasahiro Yamada
7533abfd887SMasahiro Yamada
7543abfd887SMasahiro Yamada# Note only one of these may be selected at a time! But hidden choices are
7553abfd887SMasahiro Yamada# not supported by Kconfig
7563abfd887SMasahiro Yamadaconfig VIDEO_LCD_IF_PARALLEL
7573abfd887SMasahiro Yamada	bool
7583abfd887SMasahiro Yamada
7593abfd887SMasahiro Yamadaconfig VIDEO_LCD_IF_LVDS
7603abfd887SMasahiro Yamada	bool
7613abfd887SMasahiro Yamada
7623abfd887SMasahiro Yamadaconfig SUNXI_DE2
7633abfd887SMasahiro Yamada	bool
7643abfd887SMasahiro Yamada	default n
7653abfd887SMasahiro Yamada
7663abfd887SMasahiro Yamadaconfig VIDEO_DE2
7673abfd887SMasahiro Yamada	bool "Display Engine 2 video driver"
7683abfd887SMasahiro Yamada	depends on SUNXI_DE2
7693abfd887SMasahiro Yamada	select DM_VIDEO
7703abfd887SMasahiro Yamada	select DISPLAY
7713abfd887SMasahiro Yamada	default y
7723abfd887SMasahiro Yamada	---help---
7733abfd887SMasahiro Yamada	Say y here if you want to build DE2 video driver which is present on
7743abfd887SMasahiro Yamada	newer SoCs. Currently only HDMI output is supported.
7753abfd887SMasahiro Yamada
7763abfd887SMasahiro Yamada
7773abfd887SMasahiro Yamadachoice
7783abfd887SMasahiro Yamada	prompt "LCD panel support"
7793abfd887SMasahiro Yamada	depends on VIDEO
7803abfd887SMasahiro Yamada	---help---
7813abfd887SMasahiro Yamada	Select which type of LCD panel to support.
7823abfd887SMasahiro Yamada
7833abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_PARALLEL
7843abfd887SMasahiro Yamada	bool "Generic parallel interface LCD panel"
7853abfd887SMasahiro Yamada	select VIDEO_LCD_IF_PARALLEL
7863abfd887SMasahiro Yamada
7873abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_LVDS
7883abfd887SMasahiro Yamada	bool "Generic lvds interface LCD panel"
7893abfd887SMasahiro Yamada	select VIDEO_LCD_IF_LVDS
7903abfd887SMasahiro Yamada
7913abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
7923abfd887SMasahiro Yamada	bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip"
7933abfd887SMasahiro Yamada	select VIDEO_LCD_SSD2828
7943abfd887SMasahiro Yamada	select VIDEO_LCD_IF_PARALLEL
7953abfd887SMasahiro Yamada	---help---
7963abfd887SMasahiro Yamada	7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
7973abfd887SMasahiro Yamada
7983abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804
7993abfd887SMasahiro Yamada	bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip"
8003abfd887SMasahiro Yamada	select VIDEO_LCD_ANX9804
8013abfd887SMasahiro Yamada	select VIDEO_LCD_IF_PARALLEL
8023abfd887SMasahiro Yamada	select VIDEO_LCD_PANEL_I2C
8033abfd887SMasahiro Yamada	---help---
8043abfd887SMasahiro Yamada	Select this for eDP LCD panels with 4 lanes running at 1.62G,
8053abfd887SMasahiro Yamada	connected via an ANX9804 bridge chip.
8063abfd887SMasahiro Yamada
8073abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_HITACHI_TX18D42VM
8083abfd887SMasahiro Yamada	bool "Hitachi tx18d42vm LCD panel"
8093abfd887SMasahiro Yamada	select VIDEO_LCD_HITACHI_TX18D42VM
8103abfd887SMasahiro Yamada	select VIDEO_LCD_IF_LVDS
8113abfd887SMasahiro Yamada	---help---
8123abfd887SMasahiro Yamada	7.85" 1024x768 Hitachi tx18d42vm LCD panel support
8133abfd887SMasahiro Yamada
8143abfd887SMasahiro Yamadaconfig VIDEO_LCD_TL059WV5C0
8153abfd887SMasahiro Yamada	bool "tl059wv5c0 LCD panel"
8163abfd887SMasahiro Yamada	select VIDEO_LCD_PANEL_I2C
8173abfd887SMasahiro Yamada	select VIDEO_LCD_IF_PARALLEL
8183abfd887SMasahiro Yamada	---help---
8193abfd887SMasahiro Yamada	6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
8203abfd887SMasahiro Yamada	Aigo M60/M608/M606 tablets.
8213abfd887SMasahiro Yamada
8223abfd887SMasahiro Yamadaendchoice
8233abfd887SMasahiro Yamada
8243abfd887SMasahiro Yamadaconfig SATAPWR
8253abfd887SMasahiro Yamada	string "SATA power pin"
8263abfd887SMasahiro Yamada	default ""
8273abfd887SMasahiro Yamada	help
8283abfd887SMasahiro Yamada	  Set the pins used to power the SATA. This takes a string in the
8293abfd887SMasahiro Yamada	  format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of
8303abfd887SMasahiro Yamada	  port H.
8313abfd887SMasahiro Yamada
8323abfd887SMasahiro Yamadaconfig GMAC_TX_DELAY
8333abfd887SMasahiro Yamada	int "GMAC Transmit Clock Delay Chain"
8343abfd887SMasahiro Yamada	default 0
8353abfd887SMasahiro Yamada	---help---
8363abfd887SMasahiro Yamada	Set the GMAC Transmit Clock Delay Chain value.
8373abfd887SMasahiro Yamada
8383abfd887SMasahiro Yamadaconfig SPL_STACK_R_ADDR
8393abfd887SMasahiro Yamada	default 0x4fe00000 if MACH_SUN4I
8403abfd887SMasahiro Yamada	default 0x4fe00000 if MACH_SUN5I
8413abfd887SMasahiro Yamada	default 0x4fe00000 if MACH_SUN6I
8423abfd887SMasahiro Yamada	default 0x4fe00000 if MACH_SUN7I
8433abfd887SMasahiro Yamada	default 0x4fe00000 if MACH_SUN8I
8443abfd887SMasahiro Yamada	default 0x2fe00000 if MACH_SUN9I
8453abfd887SMasahiro Yamada	default 0x4fe00000 if MACH_SUN50I
8463abfd887SMasahiro Yamada
847*cf6fc54dSJagan Tekiconfig SPL_SPI_SUNXI
848*cf6fc54dSJagan Teki	bool "Support for SPI Flash on Allwinner SoCs in SPL"
849*cf6fc54dSJagan Teki	depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I
850*cf6fc54dSJagan Teki	help
851*cf6fc54dSJagan Teki	  Enable support for SPI Flash. This option allows SPL to read from
852*cf6fc54dSJagan Teki	  sunxi SPI Flash. It uses the same method as the boot ROM, so does
853*cf6fc54dSJagan Teki	  not need any extra configuration.
854*cf6fc54dSJagan Teki
8553abfd887SMasahiro Yamadaendif
856