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 9dd928bfbSJagan Tekiconfig DRAM_SUN4I 10dd928bfbSJagan Teki bool 11dd928bfbSJagan Teki help 12dd928bfbSJagan Teki Select this dram controller driver for Sun4/5/7i platforms, 13dd928bfbSJagan Teki like A10/A13/A20. 14dd928bfbSJagan Teki 15fdfa934eSJagan Tekiconfig DRAM_SUN6I 16fdfa934eSJagan Teki bool 17fdfa934eSJagan Teki help 18fdfa934eSJagan Teki Select this dram controller driver for Sun6i platforms, 19fdfa934eSJagan Teki like A31/A31s. 20fdfa934eSJagan Teki 21af30393cSJagan Tekiconfig DRAM_SUN8I_A23 22af30393cSJagan Teki bool 23af30393cSJagan Teki help 24af30393cSJagan Teki Select this dram controller driver for Sun8i platforms, 25af30393cSJagan Teki for A23 SOC. 26af30393cSJagan Teki 27c335e990SJagan Tekiconfig DRAM_SUN8I_A33 28c335e990SJagan Teki bool 29c335e990SJagan Teki help 30c335e990SJagan Teki Select this dram controller driver for Sun8i platforms, 31c335e990SJagan Teki for A33 SOC. 32c335e990SJagan Teki 330354f4beSJagan Tekiconfig DRAM_SUN8I_A83T 340354f4beSJagan Teki bool 350354f4beSJagan Teki help 360354f4beSJagan Teki Select this dram controller driver for Sun8i platforms, 370354f4beSJagan Teki for A83T SOC. 380354f4beSJagan Teki 397d0b165dSJagan Tekiconfig DRAM_SUN9I 407d0b165dSJagan Teki bool 417d0b165dSJagan Teki help 427d0b165dSJagan Teki Select this dram controller driver for Sun9i platforms, 437d0b165dSJagan Teki like A80. 447d0b165dSJagan Teki 45da261654SIcenowy Zhengconfig DRAM_SUN50I_H6 46da261654SIcenowy Zheng bool 47da261654SIcenowy Zheng help 48da261654SIcenowy Zheng Select this dram controller driver for some sun50i platforms, 49da261654SIcenowy Zheng like H6. 50da261654SIcenowy Zheng 5171d9edf4SJagan Tekiconfig SUN6I_P2WI 5271d9edf4SJagan Teki bool "Allwinner sun6i internal P2WI controller" 5371d9edf4SJagan Teki help 5471d9edf4SJagan Teki If you say yes to this option, support will be included for the 5571d9edf4SJagan Teki P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi 5671d9edf4SJagan Teki SOCs. 5771d9edf4SJagan Teki The P2WI looks like an SMBus controller (which supports only byte 5871d9edf4SJagan Teki accesses), except that it only supports one slave device. 5971d9edf4SJagan Teki This interface is used to connect to specific PMIC devices (like the 6071d9edf4SJagan Teki AXP221). 6171d9edf4SJagan Teki 622aa697a4SJagan Tekiconfig SUN6I_PRCM 632aa697a4SJagan Teki bool 642aa697a4SJagan Teki help 652aa697a4SJagan Teki Support for the PRCM (Power/Reset/Clock Management) unit available 662aa697a4SJagan Teki in A31 SoC. 672aa697a4SJagan Teki 68735fb252SJagan Tekiconfig AXP_PMIC_BUS 69735fb252SJagan Teki bool "Sunxi AXP PMIC bus access helpers" 70735fb252SJagan Teki help 71735fb252SJagan Teki Select this PMIC bus access helpers for Sunxi platform PRCM or other 72735fb252SJagan Teki AXP family PMIC devices. 73735fb252SJagan Teki 746f6f8839SJagan Tekiconfig SUN8I_RSB 756f6f8839SJagan Teki bool "Allwinner sunXi Reduced Serial Bus Driver" 766f6f8839SJagan Teki help 776f6f8839SJagan Teki Say y here to enable support for Allwinner's Reduced Serial Bus 786f6f8839SJagan Teki (RSB) support. This controller is responsible for communicating 796f6f8839SJagan Teki with various RSB based devices, such as AXP223, AXP8XX PMICs, 806f6f8839SJagan Teki and AC100/AC200 ICs. 816f6f8839SJagan Teki 82cadc7c20SIcenowy Zhengconfig SUNXI_SRAM_ADDRESS 83cadc7c20SIcenowy Zheng hex 84cadc7c20SIcenowy Zheng default 0x10000 if MACH_SUN9I || MACH_SUN50I || MACH_SUN50I_H5 856f796a9bSIcenowy Zheng default 0x20000 if MACH_SUN50I_H6 86cadc7c20SIcenowy Zheng default 0x0 873abfd887SMasahiro Yamada ---help--- 883abfd887SMasahiro Yamada Older Allwinner SoCs have their mask boot ROM mapped just below 4GB, 893abfd887SMasahiro Yamada with the first SRAM region being located at address 0. 903abfd887SMasahiro Yamada Some newer SoCs map the boot ROM at address 0 instead and move the 91cadc7c20SIcenowy Zheng SRAM to a different address. 923abfd887SMasahiro Yamada 93be0d2179SAndre Przywaraconfig SUNXI_A64_TIMER_ERRATUM 94be0d2179SAndre Przywara bool 95be0d2179SAndre Przywara 963abfd887SMasahiro Yamada# Note only one of these may be selected at a time! But hidden choices are 973abfd887SMasahiro Yamada# not supported by Kconfig 983abfd887SMasahiro Yamadaconfig SUNXI_GEN_SUN4I 993abfd887SMasahiro Yamada bool 1003abfd887SMasahiro Yamada ---help--- 1013abfd887SMasahiro Yamada Select this for sunxi SoCs which have resets and clocks set up 1023abfd887SMasahiro Yamada as the original A10 (mach-sun4i). 1033abfd887SMasahiro Yamada 1043abfd887SMasahiro Yamadaconfig SUNXI_GEN_SUN6I 1053abfd887SMasahiro Yamada bool 1063abfd887SMasahiro Yamada ---help--- 1073abfd887SMasahiro Yamada Select this for sunxi SoCs which have sun6i like periphery, like 1083abfd887SMasahiro Yamada separate ahb reset control registers, custom pmic bus, new style 1093abfd887SMasahiro Yamada watchdog, etc. 1103abfd887SMasahiro Yamada 1119934aba4SIcenowy Zhengconfig SUNXI_DRAM_DW 1129934aba4SIcenowy Zheng bool 1139934aba4SIcenowy Zheng ---help--- 1149934aba4SIcenowy Zheng Select this for sunxi SoCs which uses a DRAM controller like the 1159934aba4SIcenowy Zheng DesignWare controller used in H3, mainly SoCs after H3, which do 1169934aba4SIcenowy Zheng not have official open-source DRAM initialization code, but can 1179934aba4SIcenowy Zheng use modified H3 DRAM initialization code. 1183abfd887SMasahiro Yamada 11987098d70SIcenowy Zhengif SUNXI_DRAM_DW 12087098d70SIcenowy Zhengconfig SUNXI_DRAM_DW_16BIT 12187098d70SIcenowy Zheng bool 12287098d70SIcenowy Zheng ---help--- 12387098d70SIcenowy Zheng Select this for sunxi SoCs with DesignWare DRAM controller and 12487098d70SIcenowy Zheng have only 16-bit memory buswidth. 12587098d70SIcenowy Zheng 12687098d70SIcenowy Zhengconfig SUNXI_DRAM_DW_32BIT 12787098d70SIcenowy Zheng bool 12887098d70SIcenowy Zheng ---help--- 12987098d70SIcenowy Zheng Select this for sunxi SoCs with DesignWare DRAM controller with 13087098d70SIcenowy Zheng 32-bit memory buswidth. 13187098d70SIcenowy Zhengendif 13287098d70SIcenowy Zheng 1333abfd887SMasahiro Yamadaconfig MACH_SUNXI_H3_H5 1343abfd887SMasahiro Yamada bool 1353abfd887SMasahiro Yamada select DM_I2C 136dd322817SJagan Teki select PHY_SUN4I_USB 1373abfd887SMasahiro Yamada select SUNXI_DE2 1389934aba4SIcenowy Zheng select SUNXI_DRAM_DW 13987098d70SIcenowy Zheng select SUNXI_DRAM_DW_32BIT 1403abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 1413abfd887SMasahiro Yamada select SUPPORT_SPL 1423abfd887SMasahiro Yamada 143f8aa3f8dSIcenowy Zheng# TODO: try out A80's 8GiB DRAM space 144f8aa3f8dSIcenowy Zhengconfig SUNXI_DRAM_MAX_SIZE 145f8aa3f8dSIcenowy Zheng hex 146f8aa3f8dSIcenowy Zheng default 0xC0000000 if MACH_SUN50I || MACH_SUN50I_H5 || MACH_SUN50I_H6 147f8aa3f8dSIcenowy Zheng default 0x80000000 148f8aa3f8dSIcenowy Zheng 1493abfd887SMasahiro Yamadachoice 1503abfd887SMasahiro Yamada prompt "Sunxi SoC Variant" 1513abfd887SMasahiro Yamada optional 1523abfd887SMasahiro Yamada 1533abfd887SMasahiro Yamadaconfig MACH_SUN4I 1543abfd887SMasahiro Yamada bool "sun4i (Allwinner A10)" 155acf15001SLokesh Vutla select CPU_V7A 1563abfd887SMasahiro Yamada select ARM_CORTEX_CPU_IS_UP 157*85c3d463SJagan Teki select DM_MMC if MMC 158df63fcc0SAdam Sampson select DM_SCSI if SCSI 159dd322817SJagan Teki select PHY_SUN4I_USB 160dd928bfbSJagan Teki select DRAM_SUN4I 1613abfd887SMasahiro Yamada select SUNXI_GEN_SUN4I 1623abfd887SMasahiro Yamada select SUPPORT_SPL 1633abfd887SMasahiro Yamada 1643abfd887SMasahiro Yamadaconfig MACH_SUN5I 1653abfd887SMasahiro Yamada bool "sun5i (Allwinner A13)" 166acf15001SLokesh Vutla select CPU_V7A 1673abfd887SMasahiro Yamada select ARM_CORTEX_CPU_IS_UP 168*85c3d463SJagan Teki select DM_MMC if MMC 169dd928bfbSJagan Teki select DRAM_SUN4I 170dd322817SJagan Teki select PHY_SUN4I_USB 1713abfd887SMasahiro Yamada select SUNXI_GEN_SUN4I 1723abfd887SMasahiro Yamada select SUPPORT_SPL 1736f6b7cfaSTom Rini imply CONS_INDEX_2 if !DM_SERIAL 1743abfd887SMasahiro Yamada 1753abfd887SMasahiro Yamadaconfig MACH_SUN6I 1763abfd887SMasahiro Yamada bool "sun6i (Allwinner A31)" 177acf15001SLokesh Vutla select CPU_V7A 1783abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 1793abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 1803abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 181*85c3d463SJagan Teki select DM_MMC if MMC 182fdfa934eSJagan Teki select DRAM_SUN6I 183dd322817SJagan Teki select PHY_SUN4I_USB 18471d9edf4SJagan Teki select SUN6I_P2WI 1852aa697a4SJagan Teki select SUN6I_PRCM 1863abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 1873abfd887SMasahiro Yamada select SUPPORT_SPL 1883abfd887SMasahiro Yamada select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 1893abfd887SMasahiro Yamada 1903abfd887SMasahiro Yamadaconfig MACH_SUN7I 1913abfd887SMasahiro Yamada bool "sun7i (Allwinner A20)" 192acf15001SLokesh Vutla select CPU_V7A 1933abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 1943abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 1953abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 196dd928bfbSJagan Teki select DRAM_SUN4I 197dd322817SJagan Teki select PHY_SUN4I_USB 1983abfd887SMasahiro Yamada select SUNXI_GEN_SUN4I 1993abfd887SMasahiro Yamada select SUPPORT_SPL 2003abfd887SMasahiro Yamada select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 2013abfd887SMasahiro Yamada 2023abfd887SMasahiro Yamadaconfig MACH_SUN8I_A23 2033abfd887SMasahiro Yamada bool "sun8i (Allwinner A23)" 204acf15001SLokesh Vutla select CPU_V7A 2053abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 2063abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 2073abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 208*85c3d463SJagan Teki select DM_MMC if MMC 209af30393cSJagan Teki select DRAM_SUN8I_A23 210dd322817SJagan Teki select PHY_SUN4I_USB 2113abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 2123abfd887SMasahiro Yamada select SUPPORT_SPL 2133abfd887SMasahiro Yamada select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 2146f6b7cfaSTom Rini imply CONS_INDEX_5 if !DM_SERIAL 2153abfd887SMasahiro Yamada 2163abfd887SMasahiro Yamadaconfig MACH_SUN8I_A33 2173abfd887SMasahiro Yamada bool "sun8i (Allwinner A33)" 218acf15001SLokesh Vutla select CPU_V7A 2193abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 2203abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 2213abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 222*85c3d463SJagan Teki select DM_MMC if MMC 223c335e990SJagan Teki select DRAM_SUN8I_A33 224dd322817SJagan Teki select PHY_SUN4I_USB 2253abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 2263abfd887SMasahiro Yamada select SUPPORT_SPL 2273abfd887SMasahiro Yamada select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 2286f6b7cfaSTom Rini imply CONS_INDEX_5 if !DM_SERIAL 2293abfd887SMasahiro Yamada 2303abfd887SMasahiro Yamadaconfig MACH_SUN8I_A83T 2313abfd887SMasahiro Yamada bool "sun8i (Allwinner A83T)" 232acf15001SLokesh Vutla select CPU_V7A 233*85c3d463SJagan Teki select DM_MMC if MMC 2340354f4beSJagan Teki select DRAM_SUN8I_A83T 235dd322817SJagan Teki select PHY_SUN4I_USB 2363abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 237343ff161SMaxime Ripard select MMC_SUNXI_HAS_NEW_MODE 2382a8882ecSVasily Khoruzhick select MMC_SUNXI_HAS_MODE_SWITCH 2393abfd887SMasahiro Yamada select SUPPORT_SPL 2403abfd887SMasahiro Yamada 2413abfd887SMasahiro Yamadaconfig MACH_SUN8I_H3 2423abfd887SMasahiro Yamada bool "sun8i (Allwinner H3)" 243acf15001SLokesh Vutla select CPU_V7A 2443abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 2453abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 2463abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 2473abfd887SMasahiro Yamada select MACH_SUNXI_H3_H5 2483abfd887SMasahiro Yamada select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 249*85c3d463SJagan Teki select DM_MMC if MMC 2503abfd887SMasahiro Yamada 2513abfd887SMasahiro Yamadaconfig MACH_SUN8I_R40 2523abfd887SMasahiro Yamada bool "sun8i (Allwinner R40)" 253acf15001SLokesh Vutla select CPU_V7A 2543abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 2553abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 2563abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 2573abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 2583abfd887SMasahiro Yamada select SUPPORT_SPL 2599934aba4SIcenowy Zheng select SUNXI_DRAM_DW 26087098d70SIcenowy Zheng select SUNXI_DRAM_DW_32BIT 2613abfd887SMasahiro Yamada 2623abfd887SMasahiro Yamadaconfig MACH_SUN8I_V3S 2633abfd887SMasahiro Yamada bool "sun8i (Allwinner V3s)" 264acf15001SLokesh Vutla select CPU_V7A 2653abfd887SMasahiro Yamada select CPU_V7_HAS_NONSEC 2663abfd887SMasahiro Yamada select CPU_V7_HAS_VIRT 2673abfd887SMasahiro Yamada select ARCH_SUPPORT_PSCI 268*85c3d463SJagan Teki select DM_MMC if MMC 2693abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 2707d06e59fSIcenowy Zheng select SUNXI_DRAM_DW 2717d06e59fSIcenowy Zheng select SUNXI_DRAM_DW_16BIT 2727d06e59fSIcenowy Zheng select SUPPORT_SPL 2733abfd887SMasahiro Yamada select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 2743abfd887SMasahiro Yamada 2753abfd887SMasahiro Yamadaconfig MACH_SUN9I 2763abfd887SMasahiro Yamada bool "sun9i (Allwinner A80)" 277acf15001SLokesh Vutla select CPU_V7A 2787d0b165dSJagan Teki select DRAM_SUN9I 27963928fa6SJagan Teki select SUN6I_PRCM 2803abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 2816f6f8839SJagan Teki select SUN8I_RSB 2823abfd887SMasahiro Yamada select SUPPORT_SPL 283*85c3d463SJagan Teki select DM_MMC if MMC 2843abfd887SMasahiro Yamada 2853abfd887SMasahiro Yamadaconfig MACH_SUN50I 2863abfd887SMasahiro Yamada bool "sun50i (Allwinner A64)" 2873abfd887SMasahiro Yamada select ARM64 2883abfd887SMasahiro Yamada select DM_I2C 289*85c3d463SJagan Teki select DM_MMC if MMC 290dd322817SJagan Teki select PHY_SUN4I_USB 29131a4ac4dSVasily Khoruzhick select SUN6I_PRCM 2923abfd887SMasahiro Yamada select SUNXI_DE2 2933abfd887SMasahiro Yamada select SUNXI_GEN_SUN6I 2940e21a2ffSVasily Khoruzhick select MMC_SUNXI_HAS_NEW_MODE 2953abfd887SMasahiro Yamada select SUPPORT_SPL 2969934aba4SIcenowy Zheng select SUNXI_DRAM_DW 29787098d70SIcenowy Zheng select SUNXI_DRAM_DW_32BIT 298d29adf8eSAndre Przywara select FIT 299d29adf8eSAndre Przywara select SPL_LOAD_FIT 300be0d2179SAndre Przywara select SUNXI_A64_TIMER_ERRATUM 3013abfd887SMasahiro Yamada 3023abfd887SMasahiro Yamadaconfig MACH_SUN50I_H5 3033abfd887SMasahiro Yamada bool "sun50i (Allwinner H5)" 3043abfd887SMasahiro Yamada select ARM64 3053abfd887SMasahiro Yamada select MACH_SUNXI_H3_H5 306*85c3d463SJagan Teki select DM_MMC if MMC 307d29adf8eSAndre Przywara select FIT 308d29adf8eSAndre Przywara select SPL_LOAD_FIT 3093abfd887SMasahiro Yamada 3106f796a9bSIcenowy Zhengconfig MACH_SUN50I_H6 3116f796a9bSIcenowy Zheng bool "sun50i (Allwinner H6)" 3126f796a9bSIcenowy Zheng select ARM64 3136f796a9bSIcenowy Zheng select SUPPORT_SPL 314*85c3d463SJagan Teki select DM_MMC if MMC 3156f796a9bSIcenowy Zheng select FIT 3166f796a9bSIcenowy Zheng select SPL_LOAD_FIT 3176f796a9bSIcenowy Zheng select DRAM_SUN50I_H6 3186f796a9bSIcenowy Zheng 3193abfd887SMasahiro Yamadaendchoice 3203abfd887SMasahiro Yamada 3213abfd887SMasahiro Yamada# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33" 3223abfd887SMasahiro Yamadaconfig MACH_SUN8I 3233abfd887SMasahiro Yamada bool 3246f6f8839SJagan Teki select SUN8I_RSB 32563928fa6SJagan Teki select SUN6I_PRCM 3263abfd887SMasahiro Yamada default y if MACH_SUN8I_A23 3273abfd887SMasahiro Yamada default y if MACH_SUN8I_A33 3283abfd887SMasahiro Yamada default y if MACH_SUN8I_A83T 3293abfd887SMasahiro Yamada default y if MACH_SUNXI_H3_H5 3303abfd887SMasahiro Yamada default y if MACH_SUN8I_R40 3313abfd887SMasahiro Yamada default y if MACH_SUN8I_V3S 3323abfd887SMasahiro Yamada 3333abfd887SMasahiro Yamadaconfig RESERVE_ALLWINNER_BOOT0_HEADER 3343abfd887SMasahiro Yamada bool "reserve space for Allwinner boot0 header" 3353abfd887SMasahiro Yamada select ENABLE_ARM_SOC_BOOT0_HOOK 3363abfd887SMasahiro Yamada ---help--- 3373abfd887SMasahiro Yamada Prepend a 1536 byte (empty) header to the U-Boot image file, to be 3383abfd887SMasahiro Yamada filled with magic values post build. The Allwinner provided boot0 3393abfd887SMasahiro Yamada blob relies on this information to load and execute U-Boot. 3403abfd887SMasahiro Yamada Only needed on 64-bit Allwinner boards so far when using boot0. 3413abfd887SMasahiro Yamada 3423abfd887SMasahiro Yamadaconfig ARM_BOOT_HOOK_RMR 3433abfd887SMasahiro Yamada bool 3443abfd887SMasahiro Yamada depends on ARM64 3453abfd887SMasahiro Yamada default y 3463abfd887SMasahiro Yamada select ENABLE_ARM_SOC_BOOT0_HOOK 3473abfd887SMasahiro Yamada ---help--- 3483abfd887SMasahiro Yamada Insert some ARM32 code at the very beginning of the U-Boot binary 3493abfd887SMasahiro Yamada which uses an RMR register write to bring the core into AArch64 mode. 3503abfd887SMasahiro Yamada The very first instruction acts as a switch, since it's carefully 3513abfd887SMasahiro Yamada chosen to be a NOP in one mode and a branch in the other, so the 3523abfd887SMasahiro Yamada code would only be executed if not already in AArch64. 3533abfd887SMasahiro Yamada This allows both the SPL and the U-Boot proper to be entered in 3543abfd887SMasahiro Yamada either mode and switch to AArch64 if needed. 3553abfd887SMasahiro Yamada 356f6457ce5SIcenowy Zhengif SUNXI_DRAM_DW 357f6457ce5SIcenowy Zhengconfig SUNXI_DRAM_DDR3 358f6457ce5SIcenowy Zheng bool 359f6457ce5SIcenowy Zheng 36067337e68SIcenowy Zhengconfig SUNXI_DRAM_DDR2 36167337e68SIcenowy Zheng bool 36267337e68SIcenowy Zheng 36372cc9870SIcenowy Zhengconfig SUNXI_DRAM_LPDDR3 36472cc9870SIcenowy Zheng bool 36572cc9870SIcenowy Zheng 366f6457ce5SIcenowy Zhengchoice 367f6457ce5SIcenowy Zheng prompt "DRAM Type and Timing" 3683ec0698bSIcenowy Zheng default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S 3693ec0698bSIcenowy Zheng default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S 370f6457ce5SIcenowy Zheng 371f6457ce5SIcenowy Zhengconfig SUNXI_DRAM_DDR3_1333 372f6457ce5SIcenowy Zheng bool "DDR3 1333" 373f6457ce5SIcenowy Zheng select SUNXI_DRAM_DDR3 3743ec0698bSIcenowy Zheng depends on !MACH_SUN8I_V3S 375f6457ce5SIcenowy Zheng ---help--- 376f6457ce5SIcenowy Zheng This option is the original only supported memory type, which suits 377f6457ce5SIcenowy Zheng many H3/H5/A64 boards available now. 378f6457ce5SIcenowy Zheng 379ec4670a1SIcenowy Zhengconfig SUNXI_DRAM_LPDDR3_STOCK 380ec4670a1SIcenowy Zheng bool "LPDDR3 with Allwinner stock configuration" 381ec4670a1SIcenowy Zheng select SUNXI_DRAM_LPDDR3 382ec4670a1SIcenowy Zheng ---help--- 383ec4670a1SIcenowy Zheng This option is the LPDDR3 timing used by the stock boot0 by 384ec4670a1SIcenowy Zheng Allwinner. 385ec4670a1SIcenowy Zheng 38667337e68SIcenowy Zhengconfig SUNXI_DRAM_DDR2_V3S 38767337e68SIcenowy Zheng bool "DDR2 found in V3s chip" 38867337e68SIcenowy Zheng select SUNXI_DRAM_DDR2 3893ec0698bSIcenowy Zheng depends on MACH_SUN8I_V3S 39067337e68SIcenowy Zheng ---help--- 39167337e68SIcenowy Zheng This option is only for the DDR2 memory chip which is co-packaged in 39267337e68SIcenowy Zheng Allwinner V3s SoC. 39367337e68SIcenowy Zheng 394f6457ce5SIcenowy Zhengendchoice 395f6457ce5SIcenowy Zhengendif 396f6457ce5SIcenowy Zheng 3973abfd887SMasahiro Yamadaconfig DRAM_TYPE 3983abfd887SMasahiro Yamada int "sunxi dram type" 3993abfd887SMasahiro Yamada depends on MACH_SUN8I_A83T 4003abfd887SMasahiro Yamada default 3 4013abfd887SMasahiro Yamada ---help--- 4023abfd887SMasahiro Yamada Set the dram type, 3: DDR3, 7: LPDDR3 4033abfd887SMasahiro Yamada 4043abfd887SMasahiro Yamadaconfig DRAM_CLK 4053abfd887SMasahiro Yamada int "sunxi dram clock speed" 4063abfd887SMasahiro Yamada default 792 if MACH_SUN9I 4073abfd887SMasahiro Yamada default 648 if MACH_SUN8I_R40 4083abfd887SMasahiro Yamada default 312 if MACH_SUN6I || MACH_SUN8I 4097d06e59fSIcenowy Zheng default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \ 4107d06e59fSIcenowy Zheng MACH_SUN8I_V3S 4113abfd887SMasahiro Yamada default 672 if MACH_SUN50I 4126f796a9bSIcenowy Zheng default 744 if MACH_SUN50I_H6 4133abfd887SMasahiro Yamada ---help--- 4143abfd887SMasahiro Yamada Set the dram clock speed, valid range 240 - 480 (prior to sun9i), 4153abfd887SMasahiro Yamada must be a multiple of 24. For the sun9i (A80), the tested values 4163abfd887SMasahiro Yamada (for DDR3-1600) are 312 to 792. 4173abfd887SMasahiro Yamada 4183abfd887SMasahiro Yamadaif MACH_SUN5I || MACH_SUN7I 4193abfd887SMasahiro Yamadaconfig DRAM_MBUS_CLK 4203abfd887SMasahiro Yamada int "sunxi mbus clock speed" 4213abfd887SMasahiro Yamada default 300 4223abfd887SMasahiro Yamada ---help--- 4233abfd887SMasahiro Yamada Set the mbus clock speed. The maximum on sun5i hardware is 300MHz. 4243abfd887SMasahiro Yamada 4253abfd887SMasahiro Yamadaendif 4263abfd887SMasahiro Yamada 4273abfd887SMasahiro Yamadaconfig DRAM_ZQ 4283abfd887SMasahiro Yamada int "sunxi dram zq value" 4293abfd887SMasahiro Yamada default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I 4303abfd887SMasahiro Yamada default 127 if MACH_SUN7I 4317d06e59fSIcenowy Zheng default 14779 if MACH_SUN8I_V3S 4326f796a9bSIcenowy Zheng default 3881979 if MACH_SUN8I_R40 || MACH_SUN50I_H6 4333abfd887SMasahiro Yamada default 4145117 if MACH_SUN9I 4343abfd887SMasahiro Yamada default 3881915 if MACH_SUN50I 4353abfd887SMasahiro Yamada ---help--- 4363abfd887SMasahiro Yamada Set the dram zq value. 4373abfd887SMasahiro Yamada 4383abfd887SMasahiro Yamadaconfig DRAM_ODT_EN 4393abfd887SMasahiro Yamada bool "sunxi dram odt enable" 4403abfd887SMasahiro Yamada default y if MACH_SUN8I_A23 4413abfd887SMasahiro Yamada default y if MACH_SUN8I_R40 4423abfd887SMasahiro Yamada default y if MACH_SUN50I 4436f796a9bSIcenowy Zheng default y if MACH_SUN50I_H6 4443abfd887SMasahiro Yamada ---help--- 4453abfd887SMasahiro Yamada Select this to enable dram odt (on die termination). 4463abfd887SMasahiro Yamada 4473abfd887SMasahiro Yamadaif MACH_SUN4I || MACH_SUN5I || MACH_SUN7I 4483abfd887SMasahiro Yamadaconfig DRAM_EMR1 4493abfd887SMasahiro Yamada int "sunxi dram emr1 value" 4503abfd887SMasahiro Yamada default 0 if MACH_SUN4I 4513abfd887SMasahiro Yamada default 4 if MACH_SUN5I || MACH_SUN7I 4523abfd887SMasahiro Yamada ---help--- 4533abfd887SMasahiro Yamada Set the dram controller emr1 value. 4543abfd887SMasahiro Yamada 4553abfd887SMasahiro Yamadaconfig DRAM_TPR3 4563abfd887SMasahiro Yamada hex "sunxi dram tpr3 value" 4573abfd887SMasahiro Yamada default 0 4583abfd887SMasahiro Yamada ---help--- 4593abfd887SMasahiro Yamada Set the dram controller tpr3 parameter. This parameter configures 4603abfd887SMasahiro Yamada the delay on the command lane and also phase shifts, which are 4613abfd887SMasahiro Yamada applied for sampling incoming read data. The default value 0 4623abfd887SMasahiro Yamada means that no phase/delay adjustments are necessary. Properly 4633abfd887SMasahiro Yamada configuring this parameter increases reliability at high DRAM 4643abfd887SMasahiro Yamada clock speeds. 4653abfd887SMasahiro Yamada 4663abfd887SMasahiro Yamadaconfig DRAM_DQS_GATING_DELAY 4673abfd887SMasahiro Yamada hex "sunxi dram dqs_gating_delay value" 4683abfd887SMasahiro Yamada default 0 4693abfd887SMasahiro Yamada ---help--- 4703abfd887SMasahiro Yamada Set the dram controller dqs_gating_delay parmeter. Each byte 4713abfd887SMasahiro Yamada encodes the DQS gating delay for each byte lane. The delay 4723abfd887SMasahiro Yamada granularity is 1/4 cycle. For example, the value 0x05060606 4733abfd887SMasahiro Yamada means that the delay is 5 quarter-cycles for one lane (1.25 4743abfd887SMasahiro Yamada cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes. 4753abfd887SMasahiro Yamada The default value 0 means autodetection. The results of hardware 4763abfd887SMasahiro Yamada autodetection are not very reliable and depend on the chip 4773abfd887SMasahiro Yamada temperature (sometimes producing different results on cold start 4783abfd887SMasahiro Yamada and warm reboot). But the accuracy of hardware autodetection 4793abfd887SMasahiro Yamada is usually good enough, unless running at really high DRAM 4803abfd887SMasahiro Yamada clocks speeds (up to 600MHz). If unsure, keep as 0. 4813abfd887SMasahiro Yamada 4823abfd887SMasahiro Yamadachoice 4833abfd887SMasahiro Yamada prompt "sunxi dram timings" 4843abfd887SMasahiro Yamada default DRAM_TIMINGS_VENDOR_MAGIC 4853abfd887SMasahiro Yamada ---help--- 4863abfd887SMasahiro Yamada Select the timings of the DDR3 chips. 4873abfd887SMasahiro Yamada 4883abfd887SMasahiro Yamadaconfig DRAM_TIMINGS_VENDOR_MAGIC 4893abfd887SMasahiro Yamada bool "Magic vendor timings from Android" 4903abfd887SMasahiro Yamada ---help--- 4913abfd887SMasahiro Yamada The same DRAM timings as in the Allwinner boot0 bootloader. 4923abfd887SMasahiro Yamada 4933abfd887SMasahiro Yamadaconfig DRAM_TIMINGS_DDR3_1066F_1333H 4943abfd887SMasahiro Yamada bool "JEDEC DDR3-1333H with down binning to DDR3-1066F" 4953abfd887SMasahiro Yamada ---help--- 4963abfd887SMasahiro Yamada Use the timings of the standard JEDEC DDR3-1066F speed bin for 4973abfd887SMasahiro Yamada DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin 4983abfd887SMasahiro Yamada for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips 4993abfd887SMasahiro Yamada used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333 5003abfd887SMasahiro Yamada or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm 5013abfd887SMasahiro Yamada that down binning to DDR3-1066F is supported (because DDR3-1066F 5023abfd887SMasahiro Yamada uses a bit faster timings than DDR3-1333H). 5033abfd887SMasahiro Yamada 5043abfd887SMasahiro Yamadaconfig DRAM_TIMINGS_DDR3_800E_1066G_1333J 5053abfd887SMasahiro Yamada bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J" 5063abfd887SMasahiro Yamada ---help--- 5073abfd887SMasahiro Yamada Use the timings of the slowest possible JEDEC speed bin for the 5083abfd887SMasahiro Yamada selected DRAM_CLK. Depending on the DRAM_CLK value, it may be 5093abfd887SMasahiro Yamada DDR3-800E, DDR3-1066G or DDR3-1333J. 5103abfd887SMasahiro Yamada 5113abfd887SMasahiro Yamadaendchoice 5123abfd887SMasahiro Yamada 5133abfd887SMasahiro Yamadaendif 5143abfd887SMasahiro Yamada 5153abfd887SMasahiro Yamadaif MACH_SUN8I_A23 5163abfd887SMasahiro Yamadaconfig DRAM_ODT_CORRECTION 5173abfd887SMasahiro Yamada int "sunxi dram odt correction value" 5183abfd887SMasahiro Yamada default 0 5193abfd887SMasahiro Yamada ---help--- 5203abfd887SMasahiro Yamada Set the dram odt correction value (range -255 - 255). In allwinner 5213abfd887SMasahiro Yamada fex files, this option is found in bits 8-15 of the u32 odt_en variable 5223abfd887SMasahiro Yamada in the [dram] section. When bit 31 of the odt_en variable is set 5233abfd887SMasahiro Yamada then the correction is negative. Usually the value for this is 0. 5243abfd887SMasahiro Yamadaendif 5253abfd887SMasahiro Yamada 5263abfd887SMasahiro Yamadaconfig SYS_CLK_FREQ 5273abfd887SMasahiro Yamada default 1008000000 if MACH_SUN4I 5283abfd887SMasahiro Yamada default 1008000000 if MACH_SUN5I 5293abfd887SMasahiro Yamada default 1008000000 if MACH_SUN6I 5303abfd887SMasahiro Yamada default 912000000 if MACH_SUN7I 5313cfecee4SIcenowy Zheng default 816000000 if MACH_SUN50I || MACH_SUN50I_H5 5323abfd887SMasahiro Yamada default 1008000000 if MACH_SUN8I 5333abfd887SMasahiro Yamada default 1008000000 if MACH_SUN9I 5346f796a9bSIcenowy Zheng default 888000000 if MACH_SUN50I_H6 5353abfd887SMasahiro Yamada 5363abfd887SMasahiro Yamadaconfig SYS_CONFIG_NAME 5373abfd887SMasahiro Yamada default "sun4i" if MACH_SUN4I 5383abfd887SMasahiro Yamada default "sun5i" if MACH_SUN5I 5393abfd887SMasahiro Yamada default "sun6i" if MACH_SUN6I 5403abfd887SMasahiro Yamada default "sun7i" if MACH_SUN7I 5413abfd887SMasahiro Yamada default "sun8i" if MACH_SUN8I 5423abfd887SMasahiro Yamada default "sun9i" if MACH_SUN9I 5433abfd887SMasahiro Yamada default "sun50i" if MACH_SUN50I 5446f796a9bSIcenowy Zheng default "sun50i" if MACH_SUN50I_H6 5453abfd887SMasahiro Yamada 5463abfd887SMasahiro Yamadaconfig SYS_BOARD 5473abfd887SMasahiro Yamada default "sunxi" 5483abfd887SMasahiro Yamada 5493abfd887SMasahiro Yamadaconfig SYS_SOC 5503abfd887SMasahiro Yamada default "sunxi" 5513abfd887SMasahiro Yamada 5523abfd887SMasahiro Yamadaconfig UART0_PORT_F 5533abfd887SMasahiro Yamada bool "UART0 on MicroSD breakout board" 5543abfd887SMasahiro Yamada default n 5553abfd887SMasahiro Yamada ---help--- 5563abfd887SMasahiro Yamada Repurpose the SD card slot for getting access to the UART0 serial 5573abfd887SMasahiro Yamada console. Primarily useful only for low level u-boot debugging on 5583abfd887SMasahiro Yamada tablets, where normal UART0 is difficult to access and requires 5593abfd887SMasahiro Yamada device disassembly and/or soldering. As the SD card can't be used 5603abfd887SMasahiro Yamada at the same time, the system can be only booted in the FEL mode. 5613abfd887SMasahiro Yamada Only enable this if you really know what you are doing. 5623abfd887SMasahiro Yamada 5633abfd887SMasahiro Yamadaconfig OLD_SUNXI_KERNEL_COMPAT 5643abfd887SMasahiro Yamada bool "Enable workarounds for booting old kernels" 5653abfd887SMasahiro Yamada default n 5663abfd887SMasahiro Yamada ---help--- 5673abfd887SMasahiro Yamada Set this to enable various workarounds for old kernels, this results in 5683abfd887SMasahiro Yamada sub-optimal settings for newer kernels, only enable if needed. 5693abfd887SMasahiro Yamada 5703abfd887SMasahiro Yamadaconfig MACPWR 5713abfd887SMasahiro Yamada string "MAC power pin" 5723abfd887SMasahiro Yamada default "" 5733abfd887SMasahiro Yamada help 5743abfd887SMasahiro Yamada Set the pin used to power the MAC. This takes a string in the format 5753abfd887SMasahiro Yamada understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 5763abfd887SMasahiro Yamada 5773abfd887SMasahiro Yamadaconfig MMC0_CD_PIN 5783abfd887SMasahiro Yamada string "Card detect pin for mmc0" 5793abfd887SMasahiro Yamada default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I 5803abfd887SMasahiro Yamada default "" 5813abfd887SMasahiro Yamada ---help--- 5823abfd887SMasahiro Yamada Set the card detect pin for mmc0, leave empty to not use cd. This 5833abfd887SMasahiro Yamada takes a string in the format understood by sunxi_name_to_gpio, e.g. 5843abfd887SMasahiro Yamada PH1 for pin 1 of port H. 5853abfd887SMasahiro Yamada 5863abfd887SMasahiro Yamadaconfig MMC1_CD_PIN 5873abfd887SMasahiro Yamada string "Card detect pin for mmc1" 5883abfd887SMasahiro Yamada default "" 5893abfd887SMasahiro Yamada ---help--- 5903abfd887SMasahiro Yamada See MMC0_CD_PIN help text. 5913abfd887SMasahiro Yamada 5923abfd887SMasahiro Yamadaconfig MMC2_CD_PIN 5933abfd887SMasahiro Yamada string "Card detect pin for mmc2" 5943abfd887SMasahiro Yamada default "" 5953abfd887SMasahiro Yamada ---help--- 5963abfd887SMasahiro Yamada See MMC0_CD_PIN help text. 5973abfd887SMasahiro Yamada 5983abfd887SMasahiro Yamadaconfig MMC3_CD_PIN 5993abfd887SMasahiro Yamada string "Card detect pin for mmc3" 6003abfd887SMasahiro Yamada default "" 6013abfd887SMasahiro Yamada ---help--- 6023abfd887SMasahiro Yamada See MMC0_CD_PIN help text. 6033abfd887SMasahiro Yamada 6043abfd887SMasahiro Yamadaconfig MMC1_PINS 6053abfd887SMasahiro Yamada string "Pins for mmc1" 6063abfd887SMasahiro Yamada default "" 6073abfd887SMasahiro Yamada ---help--- 6083abfd887SMasahiro Yamada Set the pins used for mmc1, when applicable. This takes a string in the 6093abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio_bank, e.g. PH for port H. 6103abfd887SMasahiro Yamada 6113abfd887SMasahiro Yamadaconfig MMC2_PINS 6123abfd887SMasahiro Yamada string "Pins for mmc2" 6133abfd887SMasahiro Yamada default "" 6143abfd887SMasahiro Yamada ---help--- 6153abfd887SMasahiro Yamada See MMC1_PINS help text. 6163abfd887SMasahiro Yamada 6173abfd887SMasahiro Yamadaconfig MMC3_PINS 6183abfd887SMasahiro Yamada string "Pins for mmc3" 6193abfd887SMasahiro Yamada default "" 6203abfd887SMasahiro Yamada ---help--- 6213abfd887SMasahiro Yamada See MMC1_PINS help text. 6223abfd887SMasahiro Yamada 6233abfd887SMasahiro Yamadaconfig MMC_SUNXI_SLOT_EXTRA 6243abfd887SMasahiro Yamada int "mmc extra slot number" 6253abfd887SMasahiro Yamada default -1 6263abfd887SMasahiro Yamada ---help--- 6273abfd887SMasahiro Yamada sunxi builds always enable mmc0, some boards also have a second sdcard 6283abfd887SMasahiro Yamada slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable 6293abfd887SMasahiro Yamada support for this. 6303abfd887SMasahiro Yamada 6313abfd887SMasahiro Yamadaconfig INITIAL_USB_SCAN_DELAY 6323abfd887SMasahiro Yamada int "delay initial usb scan by x ms to allow builtin devices to init" 6333abfd887SMasahiro Yamada default 0 6343abfd887SMasahiro Yamada ---help--- 6353abfd887SMasahiro Yamada Some boards have on board usb devices which need longer than the 6363abfd887SMasahiro Yamada USB spec's 1 second to connect from board powerup. Set this config 6373abfd887SMasahiro Yamada option to a non 0 value to add an extra delay before the first usb 6383abfd887SMasahiro Yamada bus scan. 6393abfd887SMasahiro Yamada 6403abfd887SMasahiro Yamadaconfig USB0_VBUS_PIN 6413abfd887SMasahiro Yamada string "Vbus enable pin for usb0 (otg)" 6423abfd887SMasahiro Yamada default "" 6433abfd887SMasahiro Yamada ---help--- 6443abfd887SMasahiro Yamada Set the Vbus enable pin for usb0 (otg). This takes a string in the 6453abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 6463abfd887SMasahiro Yamada 6473abfd887SMasahiro Yamadaconfig USB0_VBUS_DET 6483abfd887SMasahiro Yamada string "Vbus detect pin for usb0 (otg)" 6493abfd887SMasahiro Yamada default "" 6503abfd887SMasahiro Yamada ---help--- 6513abfd887SMasahiro Yamada Set the Vbus detect pin for usb0 (otg). This takes a string in the 6523abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 6533abfd887SMasahiro Yamada 6543abfd887SMasahiro Yamadaconfig USB0_ID_DET 6553abfd887SMasahiro Yamada string "ID detect pin for usb0 (otg)" 6563abfd887SMasahiro Yamada default "" 6573abfd887SMasahiro Yamada ---help--- 6583abfd887SMasahiro Yamada Set the ID detect pin for usb0 (otg). This takes a string in the 6593abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 6603abfd887SMasahiro Yamada 6613abfd887SMasahiro Yamadaconfig USB1_VBUS_PIN 6623abfd887SMasahiro Yamada string "Vbus enable pin for usb1 (ehci0)" 6633abfd887SMasahiro Yamada default "PH6" if MACH_SUN4I || MACH_SUN7I 6643abfd887SMasahiro Yamada default "PH27" if MACH_SUN6I 6653abfd887SMasahiro Yamada ---help--- 6663abfd887SMasahiro Yamada Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes 6673abfd887SMasahiro Yamada a string in the format understood by sunxi_name_to_gpio, e.g. 6683abfd887SMasahiro Yamada PH1 for pin 1 of port H. 6693abfd887SMasahiro Yamada 6703abfd887SMasahiro Yamadaconfig USB2_VBUS_PIN 6713abfd887SMasahiro Yamada string "Vbus enable pin for usb2 (ehci1)" 6723abfd887SMasahiro Yamada default "PH3" if MACH_SUN4I || MACH_SUN7I 6733abfd887SMasahiro Yamada default "PH24" if MACH_SUN6I 6743abfd887SMasahiro Yamada ---help--- 6753abfd887SMasahiro Yamada See USB1_VBUS_PIN help text. 6763abfd887SMasahiro Yamada 6773abfd887SMasahiro Yamadaconfig USB3_VBUS_PIN 6783abfd887SMasahiro Yamada string "Vbus enable pin for usb3 (ehci2)" 6793abfd887SMasahiro Yamada default "" 6803abfd887SMasahiro Yamada ---help--- 6813abfd887SMasahiro Yamada See USB1_VBUS_PIN help text. 6823abfd887SMasahiro Yamada 6833abfd887SMasahiro Yamadaconfig I2C0_ENABLE 6843abfd887SMasahiro Yamada bool "Enable I2C/TWI controller 0" 6853abfd887SMasahiro Yamada default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40 6863abfd887SMasahiro Yamada default n if MACH_SUN6I || MACH_SUN8I 6873abfd887SMasahiro Yamada select CMD_I2C 6883abfd887SMasahiro Yamada ---help--- 6893abfd887SMasahiro Yamada This allows enabling I2C/TWI controller 0 by muxing its pins, enabling 6903abfd887SMasahiro Yamada its clock and setting up the bus. This is especially useful on devices 6913abfd887SMasahiro Yamada with slaves connected to the bus or with pins exposed through e.g. an 6923abfd887SMasahiro Yamada expansion port/header. 6933abfd887SMasahiro Yamada 6943abfd887SMasahiro Yamadaconfig I2C1_ENABLE 6953abfd887SMasahiro Yamada bool "Enable I2C/TWI controller 1" 6963abfd887SMasahiro Yamada default n 6973abfd887SMasahiro Yamada select CMD_I2C 6983abfd887SMasahiro Yamada ---help--- 6993abfd887SMasahiro Yamada See I2C0_ENABLE help text. 7003abfd887SMasahiro Yamada 7013abfd887SMasahiro Yamadaconfig I2C2_ENABLE 7023abfd887SMasahiro Yamada bool "Enable I2C/TWI controller 2" 7033abfd887SMasahiro Yamada default n 7043abfd887SMasahiro Yamada select CMD_I2C 7053abfd887SMasahiro Yamada ---help--- 7063abfd887SMasahiro Yamada See I2C0_ENABLE help text. 7073abfd887SMasahiro Yamada 7083abfd887SMasahiro Yamadaif MACH_SUN6I || MACH_SUN7I 7093abfd887SMasahiro Yamadaconfig I2C3_ENABLE 7103abfd887SMasahiro Yamada bool "Enable I2C/TWI controller 3" 7113abfd887SMasahiro Yamada default n 7123abfd887SMasahiro Yamada select CMD_I2C 7133abfd887SMasahiro Yamada ---help--- 7143abfd887SMasahiro Yamada See I2C0_ENABLE help text. 7153abfd887SMasahiro Yamadaendif 7163abfd887SMasahiro Yamada 7173abfd887SMasahiro Yamadaif SUNXI_GEN_SUN6I 7183abfd887SMasahiro Yamadaconfig R_I2C_ENABLE 7193abfd887SMasahiro Yamada bool "Enable the PRCM I2C/TWI controller" 7203abfd887SMasahiro Yamada # This is used for the pmic on H3 7213abfd887SMasahiro Yamada default y if SY8106A_POWER 7223abfd887SMasahiro Yamada select CMD_I2C 7233abfd887SMasahiro Yamada ---help--- 7243abfd887SMasahiro Yamada Set this to y to enable the I2C controller which is part of the PRCM. 7253abfd887SMasahiro Yamadaendif 7263abfd887SMasahiro Yamada 7273abfd887SMasahiro Yamadaif MACH_SUN7I 7283abfd887SMasahiro Yamadaconfig I2C4_ENABLE 7293abfd887SMasahiro Yamada bool "Enable I2C/TWI controller 4" 7303abfd887SMasahiro Yamada default n 7313abfd887SMasahiro Yamada select CMD_I2C 7323abfd887SMasahiro Yamada ---help--- 7333abfd887SMasahiro Yamada See I2C0_ENABLE help text. 7343abfd887SMasahiro Yamadaendif 7353abfd887SMasahiro Yamada 7363abfd887SMasahiro Yamadaconfig AXP_GPIO 7373abfd887SMasahiro Yamada bool "Enable support for gpio-s on axp PMICs" 7383abfd887SMasahiro Yamada default n 7393abfd887SMasahiro Yamada ---help--- 7403abfd887SMasahiro Yamada Say Y here to enable support for the gpio pins of the axp PMIC ICs. 7413abfd887SMasahiro Yamada 742401a3ca0SIcenowy Zhengconfig VIDEO_SUNXI 7433abfd887SMasahiro Yamada bool "Enable graphical uboot console on HDMI, LCD or VGA" 7443abfd887SMasahiro Yamada depends on !MACH_SUN8I_A83T 7453abfd887SMasahiro Yamada depends on !MACH_SUNXI_H3_H5 7463abfd887SMasahiro Yamada depends on !MACH_SUN8I_R40 7473abfd887SMasahiro Yamada depends on !MACH_SUN8I_V3S 7483abfd887SMasahiro Yamada depends on !MACH_SUN9I 7493abfd887SMasahiro Yamada depends on !MACH_SUN50I 7506f796a9bSIcenowy Zheng depends on !MACH_SUN50I_H6 751401a3ca0SIcenowy Zheng select VIDEO 752f6bdddc9SIcenowy Zheng imply VIDEO_DT_SIMPLEFB 7533abfd887SMasahiro Yamada default y 7543abfd887SMasahiro Yamada ---help--- 7553abfd887SMasahiro Yamada Say Y here to add support for using a cfb console on the HDMI, LCD 7563abfd887SMasahiro Yamada or VGA output found on most sunxi devices. See doc/README.video for 7573abfd887SMasahiro Yamada info on how to select the video output and mode. 7583abfd887SMasahiro Yamada 7593abfd887SMasahiro Yamadaconfig VIDEO_HDMI 7603abfd887SMasahiro Yamada bool "HDMI output support" 761401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI && !MACH_SUN8I 7623abfd887SMasahiro Yamada default y 7633abfd887SMasahiro Yamada ---help--- 7643abfd887SMasahiro Yamada Say Y here to add support for outputting video over HDMI. 7653abfd887SMasahiro Yamada 7663abfd887SMasahiro Yamadaconfig VIDEO_VGA 7673abfd887SMasahiro Yamada bool "VGA output support" 768401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I) 7693abfd887SMasahiro Yamada default n 7703abfd887SMasahiro Yamada ---help--- 7713abfd887SMasahiro Yamada Say Y here to add support for outputting video over VGA. 7723abfd887SMasahiro Yamada 7733abfd887SMasahiro Yamadaconfig VIDEO_VGA_VIA_LCD 7743abfd887SMasahiro Yamada bool "VGA via LCD controller support" 775401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I) 7763abfd887SMasahiro Yamada default n 7773abfd887SMasahiro Yamada ---help--- 7783abfd887SMasahiro Yamada Say Y here to add support for external DACs connected to the parallel 7793abfd887SMasahiro Yamada LCD interface driving a VGA connector, such as found on the 7803abfd887SMasahiro Yamada Olimex A13 boards. 7813abfd887SMasahiro Yamada 7823abfd887SMasahiro Yamadaconfig VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH 7833abfd887SMasahiro Yamada bool "Force sync active high for VGA via LCD controller support" 7843abfd887SMasahiro Yamada depends on VIDEO_VGA_VIA_LCD 7853abfd887SMasahiro Yamada default n 7863abfd887SMasahiro Yamada ---help--- 7873abfd887SMasahiro Yamada Say Y here if you've a board which uses opendrain drivers for the vga 7883abfd887SMasahiro Yamada hsync and vsync signals. Opendrain drivers cannot generate steep enough 7893abfd887SMasahiro Yamada positive edges for a stable video output, so on boards with opendrain 7903abfd887SMasahiro Yamada drivers the sync signals must always be active high. 7913abfd887SMasahiro Yamada 7923abfd887SMasahiro Yamadaconfig VIDEO_VGA_EXTERNAL_DAC_EN 7933abfd887SMasahiro Yamada string "LCD panel power enable pin" 7943abfd887SMasahiro Yamada depends on VIDEO_VGA_VIA_LCD 7953abfd887SMasahiro Yamada default "" 7963abfd887SMasahiro Yamada ---help--- 7973abfd887SMasahiro Yamada Set the enable pin for the external VGA DAC. This takes a string in the 7983abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 7993abfd887SMasahiro Yamada 8003abfd887SMasahiro Yamadaconfig VIDEO_COMPOSITE 8013abfd887SMasahiro Yamada bool "Composite video output support" 802401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I) 8033abfd887SMasahiro Yamada default n 8043abfd887SMasahiro Yamada ---help--- 8053abfd887SMasahiro Yamada Say Y here to add support for outputting composite video. 8063abfd887SMasahiro Yamada 8073abfd887SMasahiro Yamadaconfig VIDEO_LCD_MODE 8083abfd887SMasahiro Yamada string "LCD panel timing details" 809401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8103abfd887SMasahiro Yamada default "" 8113abfd887SMasahiro Yamada ---help--- 8123abfd887SMasahiro Yamada LCD panel timing details string, leave empty if there is no LCD panel. 8133abfd887SMasahiro Yamada This is in drivers/video/videomodes.c: video_get_params() format, e.g. 8143abfd887SMasahiro 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 8153abfd887SMasahiro Yamada Also see: http://linux-sunxi.org/LCD 8163abfd887SMasahiro Yamada 8173abfd887SMasahiro Yamadaconfig VIDEO_LCD_DCLK_PHASE 8183abfd887SMasahiro Yamada int "LCD panel display clock phase" 8191d7eef3fSVasily Khoruzhick depends on VIDEO_SUNXI || DM_VIDEO 8203abfd887SMasahiro Yamada default 1 8213abfd887SMasahiro Yamada ---help--- 8223abfd887SMasahiro Yamada Select LCD panel display clock phase shift, range 0-3. 8233abfd887SMasahiro Yamada 8243abfd887SMasahiro Yamadaconfig VIDEO_LCD_POWER 8253abfd887SMasahiro Yamada string "LCD panel power enable pin" 826401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8273abfd887SMasahiro Yamada default "" 8283abfd887SMasahiro Yamada ---help--- 8293abfd887SMasahiro Yamada Set the power enable pin for the LCD panel. This takes a string in the 8303abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 8313abfd887SMasahiro Yamada 8323abfd887SMasahiro Yamadaconfig VIDEO_LCD_RESET 8333abfd887SMasahiro Yamada string "LCD panel reset pin" 834401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8353abfd887SMasahiro Yamada default "" 8363abfd887SMasahiro Yamada ---help--- 8373abfd887SMasahiro Yamada Set the reset pin for the LCD panel. This takes a string in the format 8383abfd887SMasahiro Yamada understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 8393abfd887SMasahiro Yamada 8403abfd887SMasahiro Yamadaconfig VIDEO_LCD_BL_EN 8413abfd887SMasahiro Yamada string "LCD panel backlight enable pin" 842401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8433abfd887SMasahiro Yamada default "" 8443abfd887SMasahiro Yamada ---help--- 8453abfd887SMasahiro Yamada Set the backlight enable pin for the LCD panel. This takes a string in the 8463abfd887SMasahiro Yamada the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of 8473abfd887SMasahiro Yamada port H. 8483abfd887SMasahiro Yamada 8493abfd887SMasahiro Yamadaconfig VIDEO_LCD_BL_PWM 8503abfd887SMasahiro Yamada string "LCD panel backlight pwm pin" 851401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8523abfd887SMasahiro Yamada default "" 8533abfd887SMasahiro Yamada ---help--- 8543abfd887SMasahiro Yamada Set the backlight pwm pin for the LCD panel. This takes a string in the 8553abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 8563abfd887SMasahiro Yamada 8573abfd887SMasahiro Yamadaconfig VIDEO_LCD_BL_PWM_ACTIVE_LOW 8583abfd887SMasahiro Yamada bool "LCD panel backlight pwm is inverted" 859401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8603abfd887SMasahiro Yamada default y 8613abfd887SMasahiro Yamada ---help--- 8623abfd887SMasahiro Yamada Set this if the backlight pwm output is active low. 8633abfd887SMasahiro Yamada 8643abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_I2C 8653abfd887SMasahiro Yamada bool "LCD panel needs to be configured via i2c" 866401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 8673abfd887SMasahiro Yamada default n 8683abfd887SMasahiro Yamada select CMD_I2C 8693abfd887SMasahiro Yamada ---help--- 8703abfd887SMasahiro Yamada Say y here if the LCD panel needs to be configured via i2c. This 8713abfd887SMasahiro Yamada will add a bitbang i2c controller using gpios to talk to the LCD. 8723abfd887SMasahiro Yamada 8733abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_I2C_SDA 8743abfd887SMasahiro Yamada string "LCD panel i2c interface SDA pin" 8753abfd887SMasahiro Yamada depends on VIDEO_LCD_PANEL_I2C 8763abfd887SMasahiro Yamada default "PG12" 8773abfd887SMasahiro Yamada ---help--- 8783abfd887SMasahiro Yamada Set the SDA pin for the LCD i2c interface. This takes a string in the 8793abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 8803abfd887SMasahiro Yamada 8813abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_I2C_SCL 8823abfd887SMasahiro Yamada string "LCD panel i2c interface SCL pin" 8833abfd887SMasahiro Yamada depends on VIDEO_LCD_PANEL_I2C 8843abfd887SMasahiro Yamada default "PG10" 8853abfd887SMasahiro Yamada ---help--- 8863abfd887SMasahiro Yamada Set the SCL pin for the LCD i2c interface. This takes a string in the 8873abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 8883abfd887SMasahiro Yamada 8893abfd887SMasahiro Yamada 8903abfd887SMasahiro Yamada# Note only one of these may be selected at a time! But hidden choices are 8913abfd887SMasahiro Yamada# not supported by Kconfig 8923abfd887SMasahiro Yamadaconfig VIDEO_LCD_IF_PARALLEL 8933abfd887SMasahiro Yamada bool 8943abfd887SMasahiro Yamada 8953abfd887SMasahiro Yamadaconfig VIDEO_LCD_IF_LVDS 8963abfd887SMasahiro Yamada bool 8973abfd887SMasahiro Yamada 8983abfd887SMasahiro Yamadaconfig SUNXI_DE2 8993abfd887SMasahiro Yamada bool 9003abfd887SMasahiro Yamada default n 9013abfd887SMasahiro Yamada 9023abfd887SMasahiro Yamadaconfig VIDEO_DE2 9033abfd887SMasahiro Yamada bool "Display Engine 2 video driver" 9043abfd887SMasahiro Yamada depends on SUNXI_DE2 9053abfd887SMasahiro Yamada select DM_VIDEO 9063abfd887SMasahiro Yamada select DISPLAY 907be5b96f0SIcenowy Zheng imply VIDEO_DT_SIMPLEFB 9083abfd887SMasahiro Yamada default y 9093abfd887SMasahiro Yamada ---help--- 9103abfd887SMasahiro Yamada Say y here if you want to build DE2 video driver which is present on 9113abfd887SMasahiro Yamada newer SoCs. Currently only HDMI output is supported. 9123abfd887SMasahiro Yamada 9133abfd887SMasahiro Yamada 9143abfd887SMasahiro Yamadachoice 9153abfd887SMasahiro Yamada prompt "LCD panel support" 916401a3ca0SIcenowy Zheng depends on VIDEO_SUNXI 9173abfd887SMasahiro Yamada ---help--- 9183abfd887SMasahiro Yamada Select which type of LCD panel to support. 9193abfd887SMasahiro Yamada 9203abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_PARALLEL 9213abfd887SMasahiro Yamada bool "Generic parallel interface LCD panel" 9223abfd887SMasahiro Yamada select VIDEO_LCD_IF_PARALLEL 9233abfd887SMasahiro Yamada 9243abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_LVDS 9253abfd887SMasahiro Yamada bool "Generic lvds interface LCD panel" 9263abfd887SMasahiro Yamada select VIDEO_LCD_IF_LVDS 9273abfd887SMasahiro Yamada 9283abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828 9293abfd887SMasahiro Yamada bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip" 9303abfd887SMasahiro Yamada select VIDEO_LCD_SSD2828 9313abfd887SMasahiro Yamada select VIDEO_LCD_IF_PARALLEL 9323abfd887SMasahiro Yamada ---help--- 9333abfd887SMasahiro Yamada 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0 9343abfd887SMasahiro Yamada 9353abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804 9363abfd887SMasahiro Yamada bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip" 9373abfd887SMasahiro Yamada select VIDEO_LCD_ANX9804 9383abfd887SMasahiro Yamada select VIDEO_LCD_IF_PARALLEL 9393abfd887SMasahiro Yamada select VIDEO_LCD_PANEL_I2C 9403abfd887SMasahiro Yamada ---help--- 9413abfd887SMasahiro Yamada Select this for eDP LCD panels with 4 lanes running at 1.62G, 9423abfd887SMasahiro Yamada connected via an ANX9804 bridge chip. 9433abfd887SMasahiro Yamada 9443abfd887SMasahiro Yamadaconfig VIDEO_LCD_PANEL_HITACHI_TX18D42VM 9453abfd887SMasahiro Yamada bool "Hitachi tx18d42vm LCD panel" 9463abfd887SMasahiro Yamada select VIDEO_LCD_HITACHI_TX18D42VM 9473abfd887SMasahiro Yamada select VIDEO_LCD_IF_LVDS 9483abfd887SMasahiro Yamada ---help--- 9493abfd887SMasahiro Yamada 7.85" 1024x768 Hitachi tx18d42vm LCD panel support 9503abfd887SMasahiro Yamada 9513abfd887SMasahiro Yamadaconfig VIDEO_LCD_TL059WV5C0 9523abfd887SMasahiro Yamada bool "tl059wv5c0 LCD panel" 9533abfd887SMasahiro Yamada select VIDEO_LCD_PANEL_I2C 9543abfd887SMasahiro Yamada select VIDEO_LCD_IF_PARALLEL 9553abfd887SMasahiro Yamada ---help--- 9563abfd887SMasahiro Yamada 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and 9573abfd887SMasahiro Yamada Aigo M60/M608/M606 tablets. 9583abfd887SMasahiro Yamada 9593abfd887SMasahiro Yamadaendchoice 9603abfd887SMasahiro Yamada 9613abfd887SMasahiro Yamadaconfig SATAPWR 9623abfd887SMasahiro Yamada string "SATA power pin" 9633abfd887SMasahiro Yamada default "" 9643abfd887SMasahiro Yamada help 9653abfd887SMasahiro Yamada Set the pins used to power the SATA. This takes a string in the 9663abfd887SMasahiro Yamada format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of 9673abfd887SMasahiro Yamada port H. 9683abfd887SMasahiro Yamada 9693abfd887SMasahiro Yamadaconfig GMAC_TX_DELAY 9703abfd887SMasahiro Yamada int "GMAC Transmit Clock Delay Chain" 9713abfd887SMasahiro Yamada default 0 9723abfd887SMasahiro Yamada ---help--- 9733abfd887SMasahiro Yamada Set the GMAC Transmit Clock Delay Chain value. 9743abfd887SMasahiro Yamada 9753abfd887SMasahiro Yamadaconfig SPL_STACK_R_ADDR 9763abfd887SMasahiro Yamada default 0x4fe00000 if MACH_SUN4I 9773abfd887SMasahiro Yamada default 0x4fe00000 if MACH_SUN5I 9783abfd887SMasahiro Yamada default 0x4fe00000 if MACH_SUN6I 9793abfd887SMasahiro Yamada default 0x4fe00000 if MACH_SUN7I 9803abfd887SMasahiro Yamada default 0x4fe00000 if MACH_SUN8I 9813abfd887SMasahiro Yamada default 0x2fe00000 if MACH_SUN9I 9823abfd887SMasahiro Yamada default 0x4fe00000 if MACH_SUN50I 9836f796a9bSIcenowy Zheng default 0x4fe00000 if MACH_SUN50I_H6 9843abfd887SMasahiro Yamada 985c2a7a7efSJagan Tekiconfig SPL_SPI_SUNXI 986c2a7a7efSJagan Teki bool "Support for SPI Flash on Allwinner SoCs in SPL" 987c2a7a7efSJagan Teki depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I 988c2a7a7efSJagan Teki help 989c2a7a7efSJagan Teki Enable support for SPI Flash. This option allows SPL to read from 990c2a7a7efSJagan Teki sunxi SPI Flash. It uses the same method as the boot ROM, so does 991c2a7a7efSJagan Teki not need any extra configuration. 992c2a7a7efSJagan Teki 993c6c2c85eSIcenowy Zhengconfig PINE64_DT_SELECTION 994c6c2c85eSIcenowy Zheng bool "Enable Pine64 device tree selection code" 995c6c2c85eSIcenowy Zheng depends on MACH_SUN50I 996c6c2c85eSIcenowy Zheng help 997c6c2c85eSIcenowy Zheng The original Pine A64 and Pine A64+ are similar but different 998c6c2c85eSIcenowy Zheng boards and can be differed by the DRAM size. Pine A64 has 999c6c2c85eSIcenowy Zheng 512MiB DRAM, and Pine A64+ has 1GiB or 2GiB. By selecting this 1000c6c2c85eSIcenowy Zheng option, the device tree selection code specific to Pine64 which 1001c6c2c85eSIcenowy Zheng utilizes the DRAM size will be enabled. 1002c6c2c85eSIcenowy Zheng 10033abfd887SMasahiro Yamadaendif 1004