1*4882a593Smuzhiyunif ARCH_SUNXI 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunconfig SPL_LDSCRIPT 4*4882a593Smuzhiyun default "arch/arm/cpu/armv7/sunxi/u-boot-spl.lds" if !ARM64 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig IDENT_STRING 7*4882a593Smuzhiyun default " Allwinner Technology" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunconfig SUNXI_HIGH_SRAM 10*4882a593Smuzhiyun bool 11*4882a593Smuzhiyun default n 12*4882a593Smuzhiyun ---help--- 13*4882a593Smuzhiyun Older Allwinner SoCs have their mask boot ROM mapped just below 4GB, 14*4882a593Smuzhiyun with the first SRAM region being located at address 0. 15*4882a593Smuzhiyun Some newer SoCs map the boot ROM at address 0 instead and move the 16*4882a593Smuzhiyun SRAM to 64KB, just behind the mask ROM. 17*4882a593Smuzhiyun Chips using the latter setup are supposed to select this option to 18*4882a593Smuzhiyun adjust the addresses accordingly. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun# Note only one of these may be selected at a time! But hidden choices are 21*4882a593Smuzhiyun# not supported by Kconfig 22*4882a593Smuzhiyunconfig SUNXI_GEN_SUN4I 23*4882a593Smuzhiyun bool 24*4882a593Smuzhiyun ---help--- 25*4882a593Smuzhiyun Select this for sunxi SoCs which have resets and clocks set up 26*4882a593Smuzhiyun as the original A10 (mach-sun4i). 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunconfig SUNXI_GEN_SUN6I 29*4882a593Smuzhiyun bool 30*4882a593Smuzhiyun ---help--- 31*4882a593Smuzhiyun Select this for sunxi SoCs which have sun6i like periphery, like 32*4882a593Smuzhiyun separate ahb reset control registers, custom pmic bus, new style 33*4882a593Smuzhiyun watchdog, etc. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunconfig SUNXI_DRAM_DW 36*4882a593Smuzhiyun bool 37*4882a593Smuzhiyun ---help--- 38*4882a593Smuzhiyun Select this for sunxi SoCs which uses a DRAM controller like the 39*4882a593Smuzhiyun DesignWare controller used in H3, mainly SoCs after H3, which do 40*4882a593Smuzhiyun not have official open-source DRAM initialization code, but can 41*4882a593Smuzhiyun use modified H3 DRAM initialization code. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunif SUNXI_DRAM_DW 44*4882a593Smuzhiyunconfig SUNXI_DRAM_DW_16BIT 45*4882a593Smuzhiyun bool 46*4882a593Smuzhiyun ---help--- 47*4882a593Smuzhiyun Select this for sunxi SoCs with DesignWare DRAM controller and 48*4882a593Smuzhiyun have only 16-bit memory buswidth. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig SUNXI_DRAM_DW_32BIT 51*4882a593Smuzhiyun bool 52*4882a593Smuzhiyun ---help--- 53*4882a593Smuzhiyun Select this for sunxi SoCs with DesignWare DRAM controller with 54*4882a593Smuzhiyun 32-bit memory buswidth. 55*4882a593Smuzhiyunendif 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunconfig MACH_SUNXI_H3_H5 58*4882a593Smuzhiyun bool 59*4882a593Smuzhiyun select DM_I2C 60*4882a593Smuzhiyun select SUNXI_DE2 61*4882a593Smuzhiyun select SUNXI_DRAM_DW 62*4882a593Smuzhiyun select SUNXI_DRAM_DW_32BIT 63*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 64*4882a593Smuzhiyun select SUPPORT_SPL 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunchoice 67*4882a593Smuzhiyun prompt "Sunxi SoC Variant" 68*4882a593Smuzhiyun optional 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig MACH_SUN4I 71*4882a593Smuzhiyun bool "sun4i (Allwinner A10)" 72*4882a593Smuzhiyun select CPU_V7 73*4882a593Smuzhiyun select ARM_CORTEX_CPU_IS_UP 74*4882a593Smuzhiyun select SUNXI_GEN_SUN4I 75*4882a593Smuzhiyun select SUPPORT_SPL 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig MACH_SUN5I 78*4882a593Smuzhiyun bool "sun5i (Allwinner A13)" 79*4882a593Smuzhiyun select CPU_V7 80*4882a593Smuzhiyun select ARM_CORTEX_CPU_IS_UP 81*4882a593Smuzhiyun select SUNXI_GEN_SUN4I 82*4882a593Smuzhiyun select SUPPORT_SPL 83*4882a593Smuzhiyun 84*4882a593Smuzhiyunconfig MACH_SUN6I 85*4882a593Smuzhiyun bool "sun6i (Allwinner A31)" 86*4882a593Smuzhiyun select CPU_V7 87*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 88*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 89*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 90*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 91*4882a593Smuzhiyun select SUPPORT_SPL 92*4882a593Smuzhiyun select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 93*4882a593Smuzhiyun 94*4882a593Smuzhiyunconfig MACH_SUN7I 95*4882a593Smuzhiyun bool "sun7i (Allwinner A20)" 96*4882a593Smuzhiyun select CPU_V7 97*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 98*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 99*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 100*4882a593Smuzhiyun select SUNXI_GEN_SUN4I 101*4882a593Smuzhiyun select SUPPORT_SPL 102*4882a593Smuzhiyun select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig MACH_SUN8I_A23 105*4882a593Smuzhiyun bool "sun8i (Allwinner A23)" 106*4882a593Smuzhiyun select CPU_V7 107*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 108*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 109*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 110*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 111*4882a593Smuzhiyun select SUPPORT_SPL 112*4882a593Smuzhiyun select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunconfig MACH_SUN8I_A33 115*4882a593Smuzhiyun bool "sun8i (Allwinner A33)" 116*4882a593Smuzhiyun select CPU_V7 117*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 118*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 119*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 120*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 121*4882a593Smuzhiyun select SUPPORT_SPL 122*4882a593Smuzhiyun select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 123*4882a593Smuzhiyun 124*4882a593Smuzhiyunconfig MACH_SUN8I_A83T 125*4882a593Smuzhiyun bool "sun8i (Allwinner A83T)" 126*4882a593Smuzhiyun select CPU_V7 127*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 128*4882a593Smuzhiyun select MMC_SUNXI_HAS_NEW_MODE 129*4882a593Smuzhiyun select SUPPORT_SPL 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunconfig MACH_SUN8I_H3 132*4882a593Smuzhiyun bool "sun8i (Allwinner H3)" 133*4882a593Smuzhiyun select CPU_V7 134*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 135*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 136*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 137*4882a593Smuzhiyun select MACH_SUNXI_H3_H5 138*4882a593Smuzhiyun select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig MACH_SUN8I_R40 141*4882a593Smuzhiyun bool "sun8i (Allwinner R40)" 142*4882a593Smuzhiyun select CPU_V7 143*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 144*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 145*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 146*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 147*4882a593Smuzhiyun select SUPPORT_SPL 148*4882a593Smuzhiyun select SUNXI_DRAM_DW 149*4882a593Smuzhiyun select SUNXI_DRAM_DW_32BIT 150*4882a593Smuzhiyun 151*4882a593Smuzhiyunconfig MACH_SUN8I_V3S 152*4882a593Smuzhiyun bool "sun8i (Allwinner V3s)" 153*4882a593Smuzhiyun select CPU_V7 154*4882a593Smuzhiyun select CPU_V7_HAS_NONSEC 155*4882a593Smuzhiyun select CPU_V7_HAS_VIRT 156*4882a593Smuzhiyun select ARCH_SUPPORT_PSCI 157*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 158*4882a593Smuzhiyun select SUNXI_DRAM_DW 159*4882a593Smuzhiyun select SUNXI_DRAM_DW_16BIT 160*4882a593Smuzhiyun select SUPPORT_SPL 161*4882a593Smuzhiyun select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunconfig MACH_SUN9I 164*4882a593Smuzhiyun bool "sun9i (Allwinner A80)" 165*4882a593Smuzhiyun select CPU_V7 166*4882a593Smuzhiyun select SUNXI_HIGH_SRAM 167*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 168*4882a593Smuzhiyun select SUPPORT_SPL 169*4882a593Smuzhiyun 170*4882a593Smuzhiyunconfig MACH_SUN50I 171*4882a593Smuzhiyun bool "sun50i (Allwinner A64)" 172*4882a593Smuzhiyun select ARM64 173*4882a593Smuzhiyun select DM_I2C 174*4882a593Smuzhiyun select SUNXI_DE2 175*4882a593Smuzhiyun select SUNXI_GEN_SUN6I 176*4882a593Smuzhiyun select SUNXI_HIGH_SRAM 177*4882a593Smuzhiyun select SUPPORT_SPL 178*4882a593Smuzhiyun select SUNXI_DRAM_DW 179*4882a593Smuzhiyun select SUNXI_DRAM_DW_32BIT 180*4882a593Smuzhiyun select FIT 181*4882a593Smuzhiyun select SPL_LOAD_FIT 182*4882a593Smuzhiyun 183*4882a593Smuzhiyunconfig MACH_SUN50I_H5 184*4882a593Smuzhiyun bool "sun50i (Allwinner H5)" 185*4882a593Smuzhiyun select ARM64 186*4882a593Smuzhiyun select MACH_SUNXI_H3_H5 187*4882a593Smuzhiyun select SUNXI_HIGH_SRAM 188*4882a593Smuzhiyun select FIT 189*4882a593Smuzhiyun select SPL_LOAD_FIT 190*4882a593Smuzhiyun 191*4882a593Smuzhiyunendchoice 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33" 194*4882a593Smuzhiyunconfig MACH_SUN8I 195*4882a593Smuzhiyun bool 196*4882a593Smuzhiyun default y if MACH_SUN8I_A23 197*4882a593Smuzhiyun default y if MACH_SUN8I_A33 198*4882a593Smuzhiyun default y if MACH_SUN8I_A83T 199*4882a593Smuzhiyun default y if MACH_SUNXI_H3_H5 200*4882a593Smuzhiyun default y if MACH_SUN8I_R40 201*4882a593Smuzhiyun default y if MACH_SUN8I_V3S 202*4882a593Smuzhiyun 203*4882a593Smuzhiyunconfig RESERVE_ALLWINNER_BOOT0_HEADER 204*4882a593Smuzhiyun bool "reserve space for Allwinner boot0 header" 205*4882a593Smuzhiyun select ENABLE_ARM_SOC_BOOT0_HOOK 206*4882a593Smuzhiyun ---help--- 207*4882a593Smuzhiyun Prepend a 1536 byte (empty) header to the U-Boot image file, to be 208*4882a593Smuzhiyun filled with magic values post build. The Allwinner provided boot0 209*4882a593Smuzhiyun blob relies on this information to load and execute U-Boot. 210*4882a593Smuzhiyun Only needed on 64-bit Allwinner boards so far when using boot0. 211*4882a593Smuzhiyun 212*4882a593Smuzhiyunconfig ARM_BOOT_HOOK_RMR 213*4882a593Smuzhiyun bool 214*4882a593Smuzhiyun depends on ARM64 215*4882a593Smuzhiyun default y 216*4882a593Smuzhiyun select ENABLE_ARM_SOC_BOOT0_HOOK 217*4882a593Smuzhiyun ---help--- 218*4882a593Smuzhiyun Insert some ARM32 code at the very beginning of the U-Boot binary 219*4882a593Smuzhiyun which uses an RMR register write to bring the core into AArch64 mode. 220*4882a593Smuzhiyun The very first instruction acts as a switch, since it's carefully 221*4882a593Smuzhiyun chosen to be a NOP in one mode and a branch in the other, so the 222*4882a593Smuzhiyun code would only be executed if not already in AArch64. 223*4882a593Smuzhiyun This allows both the SPL and the U-Boot proper to be entered in 224*4882a593Smuzhiyun either mode and switch to AArch64 if needed. 225*4882a593Smuzhiyun 226*4882a593Smuzhiyunif SUNXI_DRAM_DW 227*4882a593Smuzhiyunconfig SUNXI_DRAM_DDR3 228*4882a593Smuzhiyun bool 229*4882a593Smuzhiyun 230*4882a593Smuzhiyunconfig SUNXI_DRAM_DDR2 231*4882a593Smuzhiyun bool 232*4882a593Smuzhiyun 233*4882a593Smuzhiyunconfig SUNXI_DRAM_LPDDR3 234*4882a593Smuzhiyun bool 235*4882a593Smuzhiyun 236*4882a593Smuzhiyunchoice 237*4882a593Smuzhiyun prompt "DRAM Type and Timing" 238*4882a593Smuzhiyun default SUNXI_DRAM_DDR3_1333 if !MACH_SUN8I_V3S 239*4882a593Smuzhiyun default SUNXI_DRAM_DDR2_V3S if MACH_SUN8I_V3S 240*4882a593Smuzhiyun 241*4882a593Smuzhiyunconfig SUNXI_DRAM_DDR3_1333 242*4882a593Smuzhiyun bool "DDR3 1333" 243*4882a593Smuzhiyun select SUNXI_DRAM_DDR3 244*4882a593Smuzhiyun depends on !MACH_SUN8I_V3S 245*4882a593Smuzhiyun ---help--- 246*4882a593Smuzhiyun This option is the original only supported memory type, which suits 247*4882a593Smuzhiyun many H3/H5/A64 boards available now. 248*4882a593Smuzhiyun 249*4882a593Smuzhiyunconfig SUNXI_DRAM_LPDDR3_STOCK 250*4882a593Smuzhiyun bool "LPDDR3 with Allwinner stock configuration" 251*4882a593Smuzhiyun select SUNXI_DRAM_LPDDR3 252*4882a593Smuzhiyun ---help--- 253*4882a593Smuzhiyun This option is the LPDDR3 timing used by the stock boot0 by 254*4882a593Smuzhiyun Allwinner. 255*4882a593Smuzhiyun 256*4882a593Smuzhiyunconfig SUNXI_DRAM_DDR2_V3S 257*4882a593Smuzhiyun bool "DDR2 found in V3s chip" 258*4882a593Smuzhiyun select SUNXI_DRAM_DDR2 259*4882a593Smuzhiyun depends on MACH_SUN8I_V3S 260*4882a593Smuzhiyun ---help--- 261*4882a593Smuzhiyun This option is only for the DDR2 memory chip which is co-packaged in 262*4882a593Smuzhiyun Allwinner V3s SoC. 263*4882a593Smuzhiyun 264*4882a593Smuzhiyunendchoice 265*4882a593Smuzhiyunendif 266*4882a593Smuzhiyun 267*4882a593Smuzhiyunconfig DRAM_TYPE 268*4882a593Smuzhiyun int "sunxi dram type" 269*4882a593Smuzhiyun depends on MACH_SUN8I_A83T 270*4882a593Smuzhiyun default 3 271*4882a593Smuzhiyun ---help--- 272*4882a593Smuzhiyun Set the dram type, 3: DDR3, 7: LPDDR3 273*4882a593Smuzhiyun 274*4882a593Smuzhiyunconfig DRAM_CLK 275*4882a593Smuzhiyun int "sunxi dram clock speed" 276*4882a593Smuzhiyun default 792 if MACH_SUN9I 277*4882a593Smuzhiyun default 648 if MACH_SUN8I_R40 278*4882a593Smuzhiyun default 312 if MACH_SUN6I || MACH_SUN8I 279*4882a593Smuzhiyun default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \ 280*4882a593Smuzhiyun MACH_SUN8I_V3S 281*4882a593Smuzhiyun default 672 if MACH_SUN50I 282*4882a593Smuzhiyun ---help--- 283*4882a593Smuzhiyun Set the dram clock speed, valid range 240 - 480 (prior to sun9i), 284*4882a593Smuzhiyun must be a multiple of 24. For the sun9i (A80), the tested values 285*4882a593Smuzhiyun (for DDR3-1600) are 312 to 792. 286*4882a593Smuzhiyun 287*4882a593Smuzhiyunif MACH_SUN5I || MACH_SUN7I 288*4882a593Smuzhiyunconfig DRAM_MBUS_CLK 289*4882a593Smuzhiyun int "sunxi mbus clock speed" 290*4882a593Smuzhiyun default 300 291*4882a593Smuzhiyun ---help--- 292*4882a593Smuzhiyun Set the mbus clock speed. The maximum on sun5i hardware is 300MHz. 293*4882a593Smuzhiyun 294*4882a593Smuzhiyunendif 295*4882a593Smuzhiyun 296*4882a593Smuzhiyunconfig DRAM_ZQ 297*4882a593Smuzhiyun int "sunxi dram zq value" 298*4882a593Smuzhiyun default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I 299*4882a593Smuzhiyun default 127 if MACH_SUN7I 300*4882a593Smuzhiyun default 14779 if MACH_SUN8I_V3S 301*4882a593Smuzhiyun default 3881979 if MACH_SUN8I_R40 302*4882a593Smuzhiyun default 4145117 if MACH_SUN9I 303*4882a593Smuzhiyun default 3881915 if MACH_SUN50I 304*4882a593Smuzhiyun ---help--- 305*4882a593Smuzhiyun Set the dram zq value. 306*4882a593Smuzhiyun 307*4882a593Smuzhiyunconfig DRAM_ODT_EN 308*4882a593Smuzhiyun bool "sunxi dram odt enable" 309*4882a593Smuzhiyun default n if !MACH_SUN8I_A23 310*4882a593Smuzhiyun default y if MACH_SUN8I_A23 311*4882a593Smuzhiyun default y if MACH_SUN8I_R40 312*4882a593Smuzhiyun default y if MACH_SUN50I 313*4882a593Smuzhiyun ---help--- 314*4882a593Smuzhiyun Select this to enable dram odt (on die termination). 315*4882a593Smuzhiyun 316*4882a593Smuzhiyunif MACH_SUN4I || MACH_SUN5I || MACH_SUN7I 317*4882a593Smuzhiyunconfig DRAM_EMR1 318*4882a593Smuzhiyun int "sunxi dram emr1 value" 319*4882a593Smuzhiyun default 0 if MACH_SUN4I 320*4882a593Smuzhiyun default 4 if MACH_SUN5I || MACH_SUN7I 321*4882a593Smuzhiyun ---help--- 322*4882a593Smuzhiyun Set the dram controller emr1 value. 323*4882a593Smuzhiyun 324*4882a593Smuzhiyunconfig DRAM_TPR3 325*4882a593Smuzhiyun hex "sunxi dram tpr3 value" 326*4882a593Smuzhiyun default 0 327*4882a593Smuzhiyun ---help--- 328*4882a593Smuzhiyun Set the dram controller tpr3 parameter. This parameter configures 329*4882a593Smuzhiyun the delay on the command lane and also phase shifts, which are 330*4882a593Smuzhiyun applied for sampling incoming read data. The default value 0 331*4882a593Smuzhiyun means that no phase/delay adjustments are necessary. Properly 332*4882a593Smuzhiyun configuring this parameter increases reliability at high DRAM 333*4882a593Smuzhiyun clock speeds. 334*4882a593Smuzhiyun 335*4882a593Smuzhiyunconfig DRAM_DQS_GATING_DELAY 336*4882a593Smuzhiyun hex "sunxi dram dqs_gating_delay value" 337*4882a593Smuzhiyun default 0 338*4882a593Smuzhiyun ---help--- 339*4882a593Smuzhiyun Set the dram controller dqs_gating_delay parmeter. Each byte 340*4882a593Smuzhiyun encodes the DQS gating delay for each byte lane. The delay 341*4882a593Smuzhiyun granularity is 1/4 cycle. For example, the value 0x05060606 342*4882a593Smuzhiyun means that the delay is 5 quarter-cycles for one lane (1.25 343*4882a593Smuzhiyun cycles) and 6 quarter-cycles (1.5 cycles) for 3 other lanes. 344*4882a593Smuzhiyun The default value 0 means autodetection. The results of hardware 345*4882a593Smuzhiyun autodetection are not very reliable and depend on the chip 346*4882a593Smuzhiyun temperature (sometimes producing different results on cold start 347*4882a593Smuzhiyun and warm reboot). But the accuracy of hardware autodetection 348*4882a593Smuzhiyun is usually good enough, unless running at really high DRAM 349*4882a593Smuzhiyun clocks speeds (up to 600MHz). If unsure, keep as 0. 350*4882a593Smuzhiyun 351*4882a593Smuzhiyunchoice 352*4882a593Smuzhiyun prompt "sunxi dram timings" 353*4882a593Smuzhiyun default DRAM_TIMINGS_VENDOR_MAGIC 354*4882a593Smuzhiyun ---help--- 355*4882a593Smuzhiyun Select the timings of the DDR3 chips. 356*4882a593Smuzhiyun 357*4882a593Smuzhiyunconfig DRAM_TIMINGS_VENDOR_MAGIC 358*4882a593Smuzhiyun bool "Magic vendor timings from Android" 359*4882a593Smuzhiyun ---help--- 360*4882a593Smuzhiyun The same DRAM timings as in the Allwinner boot0 bootloader. 361*4882a593Smuzhiyun 362*4882a593Smuzhiyunconfig DRAM_TIMINGS_DDR3_1066F_1333H 363*4882a593Smuzhiyun bool "JEDEC DDR3-1333H with down binning to DDR3-1066F" 364*4882a593Smuzhiyun ---help--- 365*4882a593Smuzhiyun Use the timings of the standard JEDEC DDR3-1066F speed bin for 366*4882a593Smuzhiyun DRAM_CLK <= 533MHz and the timings of the DDR3-1333H speed bin 367*4882a593Smuzhiyun for DRAM_CLK > 533MHz. This covers the majority of DDR3 chips 368*4882a593Smuzhiyun used in Allwinner A10/A13/A20 devices. In the case of DDR3-1333 369*4882a593Smuzhiyun or DDR3-1600 chips, be sure to check the DRAM datasheet to confirm 370*4882a593Smuzhiyun that down binning to DDR3-1066F is supported (because DDR3-1066F 371*4882a593Smuzhiyun uses a bit faster timings than DDR3-1333H). 372*4882a593Smuzhiyun 373*4882a593Smuzhiyunconfig DRAM_TIMINGS_DDR3_800E_1066G_1333J 374*4882a593Smuzhiyun bool "JEDEC DDR3-800E / DDR3-1066G / DDR3-1333J" 375*4882a593Smuzhiyun ---help--- 376*4882a593Smuzhiyun Use the timings of the slowest possible JEDEC speed bin for the 377*4882a593Smuzhiyun selected DRAM_CLK. Depending on the DRAM_CLK value, it may be 378*4882a593Smuzhiyun DDR3-800E, DDR3-1066G or DDR3-1333J. 379*4882a593Smuzhiyun 380*4882a593Smuzhiyunendchoice 381*4882a593Smuzhiyun 382*4882a593Smuzhiyunendif 383*4882a593Smuzhiyun 384*4882a593Smuzhiyunif MACH_SUN8I_A23 385*4882a593Smuzhiyunconfig DRAM_ODT_CORRECTION 386*4882a593Smuzhiyun int "sunxi dram odt correction value" 387*4882a593Smuzhiyun default 0 388*4882a593Smuzhiyun ---help--- 389*4882a593Smuzhiyun Set the dram odt correction value (range -255 - 255). In allwinner 390*4882a593Smuzhiyun fex files, this option is found in bits 8-15 of the u32 odt_en variable 391*4882a593Smuzhiyun in the [dram] section. When bit 31 of the odt_en variable is set 392*4882a593Smuzhiyun then the correction is negative. Usually the value for this is 0. 393*4882a593Smuzhiyunendif 394*4882a593Smuzhiyun 395*4882a593Smuzhiyunconfig SYS_CLK_FREQ 396*4882a593Smuzhiyun default 1008000000 if MACH_SUN4I 397*4882a593Smuzhiyun default 1008000000 if MACH_SUN5I 398*4882a593Smuzhiyun default 1008000000 if MACH_SUN6I 399*4882a593Smuzhiyun default 912000000 if MACH_SUN7I 400*4882a593Smuzhiyun default 1008000000 if MACH_SUN8I 401*4882a593Smuzhiyun default 1008000000 if MACH_SUN9I 402*4882a593Smuzhiyun default 816000000 if MACH_SUN50I 403*4882a593Smuzhiyun 404*4882a593Smuzhiyunconfig SYS_CONFIG_NAME 405*4882a593Smuzhiyun default "sun4i" if MACH_SUN4I 406*4882a593Smuzhiyun default "sun5i" if MACH_SUN5I 407*4882a593Smuzhiyun default "sun6i" if MACH_SUN6I 408*4882a593Smuzhiyun default "sun7i" if MACH_SUN7I 409*4882a593Smuzhiyun default "sun8i" if MACH_SUN8I 410*4882a593Smuzhiyun default "sun9i" if MACH_SUN9I 411*4882a593Smuzhiyun default "sun50i" if MACH_SUN50I 412*4882a593Smuzhiyun 413*4882a593Smuzhiyunconfig SYS_BOARD 414*4882a593Smuzhiyun default "sunxi" 415*4882a593Smuzhiyun 416*4882a593Smuzhiyunconfig SYS_SOC 417*4882a593Smuzhiyun default "sunxi" 418*4882a593Smuzhiyun 419*4882a593Smuzhiyunconfig UART0_PORT_F 420*4882a593Smuzhiyun bool "UART0 on MicroSD breakout board" 421*4882a593Smuzhiyun default n 422*4882a593Smuzhiyun ---help--- 423*4882a593Smuzhiyun Repurpose the SD card slot for getting access to the UART0 serial 424*4882a593Smuzhiyun console. Primarily useful only for low level u-boot debugging on 425*4882a593Smuzhiyun tablets, where normal UART0 is difficult to access and requires 426*4882a593Smuzhiyun device disassembly and/or soldering. As the SD card can't be used 427*4882a593Smuzhiyun at the same time, the system can be only booted in the FEL mode. 428*4882a593Smuzhiyun Only enable this if you really know what you are doing. 429*4882a593Smuzhiyun 430*4882a593Smuzhiyunconfig OLD_SUNXI_KERNEL_COMPAT 431*4882a593Smuzhiyun bool "Enable workarounds for booting old kernels" 432*4882a593Smuzhiyun default n 433*4882a593Smuzhiyun ---help--- 434*4882a593Smuzhiyun Set this to enable various workarounds for old kernels, this results in 435*4882a593Smuzhiyun sub-optimal settings for newer kernels, only enable if needed. 436*4882a593Smuzhiyun 437*4882a593Smuzhiyunconfig MACPWR 438*4882a593Smuzhiyun string "MAC power pin" 439*4882a593Smuzhiyun default "" 440*4882a593Smuzhiyun help 441*4882a593Smuzhiyun Set the pin used to power the MAC. This takes a string in the format 442*4882a593Smuzhiyun understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 443*4882a593Smuzhiyun 444*4882a593Smuzhiyunconfig MMC0_CD_PIN 445*4882a593Smuzhiyun string "Card detect pin for mmc0" 446*4882a593Smuzhiyun default "PF6" if MACH_SUN8I_A83T || MACH_SUNXI_H3_H5 || MACH_SUN50I 447*4882a593Smuzhiyun default "" 448*4882a593Smuzhiyun ---help--- 449*4882a593Smuzhiyun Set the card detect pin for mmc0, leave empty to not use cd. This 450*4882a593Smuzhiyun takes a string in the format understood by sunxi_name_to_gpio, e.g. 451*4882a593Smuzhiyun PH1 for pin 1 of port H. 452*4882a593Smuzhiyun 453*4882a593Smuzhiyunconfig MMC1_CD_PIN 454*4882a593Smuzhiyun string "Card detect pin for mmc1" 455*4882a593Smuzhiyun default "" 456*4882a593Smuzhiyun ---help--- 457*4882a593Smuzhiyun See MMC0_CD_PIN help text. 458*4882a593Smuzhiyun 459*4882a593Smuzhiyunconfig MMC2_CD_PIN 460*4882a593Smuzhiyun string "Card detect pin for mmc2" 461*4882a593Smuzhiyun default "" 462*4882a593Smuzhiyun ---help--- 463*4882a593Smuzhiyun See MMC0_CD_PIN help text. 464*4882a593Smuzhiyun 465*4882a593Smuzhiyunconfig MMC3_CD_PIN 466*4882a593Smuzhiyun string "Card detect pin for mmc3" 467*4882a593Smuzhiyun default "" 468*4882a593Smuzhiyun ---help--- 469*4882a593Smuzhiyun See MMC0_CD_PIN help text. 470*4882a593Smuzhiyun 471*4882a593Smuzhiyunconfig MMC1_PINS 472*4882a593Smuzhiyun string "Pins for mmc1" 473*4882a593Smuzhiyun default "" 474*4882a593Smuzhiyun ---help--- 475*4882a593Smuzhiyun Set the pins used for mmc1, when applicable. This takes a string in the 476*4882a593Smuzhiyun format understood by sunxi_name_to_gpio_bank, e.g. PH for port H. 477*4882a593Smuzhiyun 478*4882a593Smuzhiyunconfig MMC2_PINS 479*4882a593Smuzhiyun string "Pins for mmc2" 480*4882a593Smuzhiyun default "" 481*4882a593Smuzhiyun ---help--- 482*4882a593Smuzhiyun See MMC1_PINS help text. 483*4882a593Smuzhiyun 484*4882a593Smuzhiyunconfig MMC3_PINS 485*4882a593Smuzhiyun string "Pins for mmc3" 486*4882a593Smuzhiyun default "" 487*4882a593Smuzhiyun ---help--- 488*4882a593Smuzhiyun See MMC1_PINS help text. 489*4882a593Smuzhiyun 490*4882a593Smuzhiyunconfig MMC_SUNXI_SLOT_EXTRA 491*4882a593Smuzhiyun int "mmc extra slot number" 492*4882a593Smuzhiyun default -1 493*4882a593Smuzhiyun ---help--- 494*4882a593Smuzhiyun sunxi builds always enable mmc0, some boards also have a second sdcard 495*4882a593Smuzhiyun slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable 496*4882a593Smuzhiyun support for this. 497*4882a593Smuzhiyun 498*4882a593Smuzhiyunconfig INITIAL_USB_SCAN_DELAY 499*4882a593Smuzhiyun int "delay initial usb scan by x ms to allow builtin devices to init" 500*4882a593Smuzhiyun default 0 501*4882a593Smuzhiyun ---help--- 502*4882a593Smuzhiyun Some boards have on board usb devices which need longer than the 503*4882a593Smuzhiyun USB spec's 1 second to connect from board powerup. Set this config 504*4882a593Smuzhiyun option to a non 0 value to add an extra delay before the first usb 505*4882a593Smuzhiyun bus scan. 506*4882a593Smuzhiyun 507*4882a593Smuzhiyunconfig USB0_VBUS_PIN 508*4882a593Smuzhiyun string "Vbus enable pin for usb0 (otg)" 509*4882a593Smuzhiyun default "" 510*4882a593Smuzhiyun ---help--- 511*4882a593Smuzhiyun Set the Vbus enable pin for usb0 (otg). This takes a string in the 512*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 513*4882a593Smuzhiyun 514*4882a593Smuzhiyunconfig USB0_VBUS_DET 515*4882a593Smuzhiyun string "Vbus detect pin for usb0 (otg)" 516*4882a593Smuzhiyun default "" 517*4882a593Smuzhiyun ---help--- 518*4882a593Smuzhiyun Set the Vbus detect pin for usb0 (otg). This takes a string in the 519*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 520*4882a593Smuzhiyun 521*4882a593Smuzhiyunconfig USB0_ID_DET 522*4882a593Smuzhiyun string "ID detect pin for usb0 (otg)" 523*4882a593Smuzhiyun default "" 524*4882a593Smuzhiyun ---help--- 525*4882a593Smuzhiyun Set the ID detect pin for usb0 (otg). This takes a string in the 526*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 527*4882a593Smuzhiyun 528*4882a593Smuzhiyunconfig USB1_VBUS_PIN 529*4882a593Smuzhiyun string "Vbus enable pin for usb1 (ehci0)" 530*4882a593Smuzhiyun default "PH6" if MACH_SUN4I || MACH_SUN7I 531*4882a593Smuzhiyun default "PH27" if MACH_SUN6I 532*4882a593Smuzhiyun ---help--- 533*4882a593Smuzhiyun Set the Vbus enable pin for usb1 (ehci0, usb0 is the otg). This takes 534*4882a593Smuzhiyun a string in the format understood by sunxi_name_to_gpio, e.g. 535*4882a593Smuzhiyun PH1 for pin 1 of port H. 536*4882a593Smuzhiyun 537*4882a593Smuzhiyunconfig USB2_VBUS_PIN 538*4882a593Smuzhiyun string "Vbus enable pin for usb2 (ehci1)" 539*4882a593Smuzhiyun default "PH3" if MACH_SUN4I || MACH_SUN7I 540*4882a593Smuzhiyun default "PH24" if MACH_SUN6I 541*4882a593Smuzhiyun ---help--- 542*4882a593Smuzhiyun See USB1_VBUS_PIN help text. 543*4882a593Smuzhiyun 544*4882a593Smuzhiyunconfig USB3_VBUS_PIN 545*4882a593Smuzhiyun string "Vbus enable pin for usb3 (ehci2)" 546*4882a593Smuzhiyun default "" 547*4882a593Smuzhiyun ---help--- 548*4882a593Smuzhiyun See USB1_VBUS_PIN help text. 549*4882a593Smuzhiyun 550*4882a593Smuzhiyunconfig I2C0_ENABLE 551*4882a593Smuzhiyun bool "Enable I2C/TWI controller 0" 552*4882a593Smuzhiyun default y if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I_R40 553*4882a593Smuzhiyun default n if MACH_SUN6I || MACH_SUN8I 554*4882a593Smuzhiyun select CMD_I2C 555*4882a593Smuzhiyun ---help--- 556*4882a593Smuzhiyun This allows enabling I2C/TWI controller 0 by muxing its pins, enabling 557*4882a593Smuzhiyun its clock and setting up the bus. This is especially useful on devices 558*4882a593Smuzhiyun with slaves connected to the bus or with pins exposed through e.g. an 559*4882a593Smuzhiyun expansion port/header. 560*4882a593Smuzhiyun 561*4882a593Smuzhiyunconfig I2C1_ENABLE 562*4882a593Smuzhiyun bool "Enable I2C/TWI controller 1" 563*4882a593Smuzhiyun default n 564*4882a593Smuzhiyun select CMD_I2C 565*4882a593Smuzhiyun ---help--- 566*4882a593Smuzhiyun See I2C0_ENABLE help text. 567*4882a593Smuzhiyun 568*4882a593Smuzhiyunconfig I2C2_ENABLE 569*4882a593Smuzhiyun bool "Enable I2C/TWI controller 2" 570*4882a593Smuzhiyun default n 571*4882a593Smuzhiyun select CMD_I2C 572*4882a593Smuzhiyun ---help--- 573*4882a593Smuzhiyun See I2C0_ENABLE help text. 574*4882a593Smuzhiyun 575*4882a593Smuzhiyunif MACH_SUN6I || MACH_SUN7I 576*4882a593Smuzhiyunconfig I2C3_ENABLE 577*4882a593Smuzhiyun bool "Enable I2C/TWI controller 3" 578*4882a593Smuzhiyun default n 579*4882a593Smuzhiyun select CMD_I2C 580*4882a593Smuzhiyun ---help--- 581*4882a593Smuzhiyun See I2C0_ENABLE help text. 582*4882a593Smuzhiyunendif 583*4882a593Smuzhiyun 584*4882a593Smuzhiyunif SUNXI_GEN_SUN6I 585*4882a593Smuzhiyunconfig R_I2C_ENABLE 586*4882a593Smuzhiyun bool "Enable the PRCM I2C/TWI controller" 587*4882a593Smuzhiyun # This is used for the pmic on H3 588*4882a593Smuzhiyun default y if SY8106A_POWER 589*4882a593Smuzhiyun select CMD_I2C 590*4882a593Smuzhiyun ---help--- 591*4882a593Smuzhiyun Set this to y to enable the I2C controller which is part of the PRCM. 592*4882a593Smuzhiyunendif 593*4882a593Smuzhiyun 594*4882a593Smuzhiyunif MACH_SUN7I 595*4882a593Smuzhiyunconfig I2C4_ENABLE 596*4882a593Smuzhiyun bool "Enable I2C/TWI controller 4" 597*4882a593Smuzhiyun default n 598*4882a593Smuzhiyun select CMD_I2C 599*4882a593Smuzhiyun ---help--- 600*4882a593Smuzhiyun See I2C0_ENABLE help text. 601*4882a593Smuzhiyunendif 602*4882a593Smuzhiyun 603*4882a593Smuzhiyunconfig AXP_GPIO 604*4882a593Smuzhiyun bool "Enable support for gpio-s on axp PMICs" 605*4882a593Smuzhiyun default n 606*4882a593Smuzhiyun ---help--- 607*4882a593Smuzhiyun Say Y here to enable support for the gpio pins of the axp PMIC ICs. 608*4882a593Smuzhiyun 609*4882a593Smuzhiyunconfig VIDEO 610*4882a593Smuzhiyun bool "Enable graphical uboot console on HDMI, LCD or VGA" 611*4882a593Smuzhiyun depends on !MACH_SUN8I_A83T 612*4882a593Smuzhiyun depends on !MACH_SUNXI_H3_H5 613*4882a593Smuzhiyun depends on !MACH_SUN8I_R40 614*4882a593Smuzhiyun depends on !MACH_SUN8I_V3S 615*4882a593Smuzhiyun depends on !MACH_SUN9I 616*4882a593Smuzhiyun depends on !MACH_SUN50I 617*4882a593Smuzhiyun default y 618*4882a593Smuzhiyun ---help--- 619*4882a593Smuzhiyun Say Y here to add support for using a cfb console on the HDMI, LCD 620*4882a593Smuzhiyun or VGA output found on most sunxi devices. See doc/README.video for 621*4882a593Smuzhiyun info on how to select the video output and mode. 622*4882a593Smuzhiyun 623*4882a593Smuzhiyunconfig VIDEO_HDMI 624*4882a593Smuzhiyun bool "HDMI output support" 625*4882a593Smuzhiyun depends on VIDEO && !MACH_SUN8I 626*4882a593Smuzhiyun default y 627*4882a593Smuzhiyun ---help--- 628*4882a593Smuzhiyun Say Y here to add support for outputting video over HDMI. 629*4882a593Smuzhiyun 630*4882a593Smuzhiyunconfig VIDEO_VGA 631*4882a593Smuzhiyun bool "VGA output support" 632*4882a593Smuzhiyun depends on VIDEO && (MACH_SUN4I || MACH_SUN7I) 633*4882a593Smuzhiyun default n 634*4882a593Smuzhiyun ---help--- 635*4882a593Smuzhiyun Say Y here to add support for outputting video over VGA. 636*4882a593Smuzhiyun 637*4882a593Smuzhiyunconfig VIDEO_VGA_VIA_LCD 638*4882a593Smuzhiyun bool "VGA via LCD controller support" 639*4882a593Smuzhiyun depends on VIDEO && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I) 640*4882a593Smuzhiyun default n 641*4882a593Smuzhiyun ---help--- 642*4882a593Smuzhiyun Say Y here to add support for external DACs connected to the parallel 643*4882a593Smuzhiyun LCD interface driving a VGA connector, such as found on the 644*4882a593Smuzhiyun Olimex A13 boards. 645*4882a593Smuzhiyun 646*4882a593Smuzhiyunconfig VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH 647*4882a593Smuzhiyun bool "Force sync active high for VGA via LCD controller support" 648*4882a593Smuzhiyun depends on VIDEO_VGA_VIA_LCD 649*4882a593Smuzhiyun default n 650*4882a593Smuzhiyun ---help--- 651*4882a593Smuzhiyun Say Y here if you've a board which uses opendrain drivers for the vga 652*4882a593Smuzhiyun hsync and vsync signals. Opendrain drivers cannot generate steep enough 653*4882a593Smuzhiyun positive edges for a stable video output, so on boards with opendrain 654*4882a593Smuzhiyun drivers the sync signals must always be active high. 655*4882a593Smuzhiyun 656*4882a593Smuzhiyunconfig VIDEO_VGA_EXTERNAL_DAC_EN 657*4882a593Smuzhiyun string "LCD panel power enable pin" 658*4882a593Smuzhiyun depends on VIDEO_VGA_VIA_LCD 659*4882a593Smuzhiyun default "" 660*4882a593Smuzhiyun ---help--- 661*4882a593Smuzhiyun Set the enable pin for the external VGA DAC. This takes a string in the 662*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 663*4882a593Smuzhiyun 664*4882a593Smuzhiyunconfig VIDEO_COMPOSITE 665*4882a593Smuzhiyun bool "Composite video output support" 666*4882a593Smuzhiyun depends on VIDEO && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I) 667*4882a593Smuzhiyun default n 668*4882a593Smuzhiyun ---help--- 669*4882a593Smuzhiyun Say Y here to add support for outputting composite video. 670*4882a593Smuzhiyun 671*4882a593Smuzhiyunconfig VIDEO_LCD_MODE 672*4882a593Smuzhiyun string "LCD panel timing details" 673*4882a593Smuzhiyun depends on VIDEO 674*4882a593Smuzhiyun default "" 675*4882a593Smuzhiyun ---help--- 676*4882a593Smuzhiyun LCD panel timing details string, leave empty if there is no LCD panel. 677*4882a593Smuzhiyun This is in drivers/video/videomodes.c: video_get_params() format, e.g. 678*4882a593Smuzhiyun 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 679*4882a593Smuzhiyun Also see: http://linux-sunxi.org/LCD 680*4882a593Smuzhiyun 681*4882a593Smuzhiyunconfig VIDEO_LCD_DCLK_PHASE 682*4882a593Smuzhiyun int "LCD panel display clock phase" 683*4882a593Smuzhiyun depends on VIDEO 684*4882a593Smuzhiyun default 1 685*4882a593Smuzhiyun ---help--- 686*4882a593Smuzhiyun Select LCD panel display clock phase shift, range 0-3. 687*4882a593Smuzhiyun 688*4882a593Smuzhiyunconfig VIDEO_LCD_POWER 689*4882a593Smuzhiyun string "LCD panel power enable pin" 690*4882a593Smuzhiyun depends on VIDEO 691*4882a593Smuzhiyun default "" 692*4882a593Smuzhiyun ---help--- 693*4882a593Smuzhiyun Set the power enable pin for the LCD panel. This takes a string in the 694*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 695*4882a593Smuzhiyun 696*4882a593Smuzhiyunconfig VIDEO_LCD_RESET 697*4882a593Smuzhiyun string "LCD panel reset pin" 698*4882a593Smuzhiyun depends on VIDEO 699*4882a593Smuzhiyun default "" 700*4882a593Smuzhiyun ---help--- 701*4882a593Smuzhiyun Set the reset pin for the LCD panel. This takes a string in the format 702*4882a593Smuzhiyun understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 703*4882a593Smuzhiyun 704*4882a593Smuzhiyunconfig VIDEO_LCD_BL_EN 705*4882a593Smuzhiyun string "LCD panel backlight enable pin" 706*4882a593Smuzhiyun depends on VIDEO 707*4882a593Smuzhiyun default "" 708*4882a593Smuzhiyun ---help--- 709*4882a593Smuzhiyun Set the backlight enable pin for the LCD panel. This takes a string in the 710*4882a593Smuzhiyun the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of 711*4882a593Smuzhiyun port H. 712*4882a593Smuzhiyun 713*4882a593Smuzhiyunconfig VIDEO_LCD_BL_PWM 714*4882a593Smuzhiyun string "LCD panel backlight pwm pin" 715*4882a593Smuzhiyun depends on VIDEO 716*4882a593Smuzhiyun default "" 717*4882a593Smuzhiyun ---help--- 718*4882a593Smuzhiyun Set the backlight pwm pin for the LCD panel. This takes a string in the 719*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 720*4882a593Smuzhiyun 721*4882a593Smuzhiyunconfig VIDEO_LCD_BL_PWM_ACTIVE_LOW 722*4882a593Smuzhiyun bool "LCD panel backlight pwm is inverted" 723*4882a593Smuzhiyun depends on VIDEO 724*4882a593Smuzhiyun default y 725*4882a593Smuzhiyun ---help--- 726*4882a593Smuzhiyun Set this if the backlight pwm output is active low. 727*4882a593Smuzhiyun 728*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_I2C 729*4882a593Smuzhiyun bool "LCD panel needs to be configured via i2c" 730*4882a593Smuzhiyun depends on VIDEO 731*4882a593Smuzhiyun default n 732*4882a593Smuzhiyun select CMD_I2C 733*4882a593Smuzhiyun ---help--- 734*4882a593Smuzhiyun Say y here if the LCD panel needs to be configured via i2c. This 735*4882a593Smuzhiyun will add a bitbang i2c controller using gpios to talk to the LCD. 736*4882a593Smuzhiyun 737*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_I2C_SDA 738*4882a593Smuzhiyun string "LCD panel i2c interface SDA pin" 739*4882a593Smuzhiyun depends on VIDEO_LCD_PANEL_I2C 740*4882a593Smuzhiyun default "PG12" 741*4882a593Smuzhiyun ---help--- 742*4882a593Smuzhiyun Set the SDA pin for the LCD i2c interface. This takes a string in the 743*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 744*4882a593Smuzhiyun 745*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_I2C_SCL 746*4882a593Smuzhiyun string "LCD panel i2c interface SCL pin" 747*4882a593Smuzhiyun depends on VIDEO_LCD_PANEL_I2C 748*4882a593Smuzhiyun default "PG10" 749*4882a593Smuzhiyun ---help--- 750*4882a593Smuzhiyun Set the SCL pin for the LCD i2c interface. This takes a string in the 751*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. 752*4882a593Smuzhiyun 753*4882a593Smuzhiyun 754*4882a593Smuzhiyun# Note only one of these may be selected at a time! But hidden choices are 755*4882a593Smuzhiyun# not supported by Kconfig 756*4882a593Smuzhiyunconfig VIDEO_LCD_IF_PARALLEL 757*4882a593Smuzhiyun bool 758*4882a593Smuzhiyun 759*4882a593Smuzhiyunconfig VIDEO_LCD_IF_LVDS 760*4882a593Smuzhiyun bool 761*4882a593Smuzhiyun 762*4882a593Smuzhiyunconfig SUNXI_DE2 763*4882a593Smuzhiyun bool 764*4882a593Smuzhiyun default n 765*4882a593Smuzhiyun 766*4882a593Smuzhiyunconfig VIDEO_DE2 767*4882a593Smuzhiyun bool "Display Engine 2 video driver" 768*4882a593Smuzhiyun depends on SUNXI_DE2 769*4882a593Smuzhiyun select DM_VIDEO 770*4882a593Smuzhiyun select DISPLAY 771*4882a593Smuzhiyun default y 772*4882a593Smuzhiyun ---help--- 773*4882a593Smuzhiyun Say y here if you want to build DE2 video driver which is present on 774*4882a593Smuzhiyun newer SoCs. Currently only HDMI output is supported. 775*4882a593Smuzhiyun 776*4882a593Smuzhiyun 777*4882a593Smuzhiyunchoice 778*4882a593Smuzhiyun prompt "LCD panel support" 779*4882a593Smuzhiyun depends on VIDEO 780*4882a593Smuzhiyun ---help--- 781*4882a593Smuzhiyun Select which type of LCD panel to support. 782*4882a593Smuzhiyun 783*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_PARALLEL 784*4882a593Smuzhiyun bool "Generic parallel interface LCD panel" 785*4882a593Smuzhiyun select VIDEO_LCD_IF_PARALLEL 786*4882a593Smuzhiyun 787*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_LVDS 788*4882a593Smuzhiyun bool "Generic lvds interface LCD panel" 789*4882a593Smuzhiyun select VIDEO_LCD_IF_LVDS 790*4882a593Smuzhiyun 791*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828 792*4882a593Smuzhiyun bool "MIPI 4-lane, 513Mbps LCD panel via SSD2828 bridge chip" 793*4882a593Smuzhiyun select VIDEO_LCD_SSD2828 794*4882a593Smuzhiyun select VIDEO_LCD_IF_PARALLEL 795*4882a593Smuzhiyun ---help--- 796*4882a593Smuzhiyun 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0 797*4882a593Smuzhiyun 798*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804 799*4882a593Smuzhiyun bool "eDP 4-lane, 1.62G LCD panel via ANX9804 bridge chip" 800*4882a593Smuzhiyun select VIDEO_LCD_ANX9804 801*4882a593Smuzhiyun select VIDEO_LCD_IF_PARALLEL 802*4882a593Smuzhiyun select VIDEO_LCD_PANEL_I2C 803*4882a593Smuzhiyun ---help--- 804*4882a593Smuzhiyun Select this for eDP LCD panels with 4 lanes running at 1.62G, 805*4882a593Smuzhiyun connected via an ANX9804 bridge chip. 806*4882a593Smuzhiyun 807*4882a593Smuzhiyunconfig VIDEO_LCD_PANEL_HITACHI_TX18D42VM 808*4882a593Smuzhiyun bool "Hitachi tx18d42vm LCD panel" 809*4882a593Smuzhiyun select VIDEO_LCD_HITACHI_TX18D42VM 810*4882a593Smuzhiyun select VIDEO_LCD_IF_LVDS 811*4882a593Smuzhiyun ---help--- 812*4882a593Smuzhiyun 7.85" 1024x768 Hitachi tx18d42vm LCD panel support 813*4882a593Smuzhiyun 814*4882a593Smuzhiyunconfig VIDEO_LCD_TL059WV5C0 815*4882a593Smuzhiyun bool "tl059wv5c0 LCD panel" 816*4882a593Smuzhiyun select VIDEO_LCD_PANEL_I2C 817*4882a593Smuzhiyun select VIDEO_LCD_IF_PARALLEL 818*4882a593Smuzhiyun ---help--- 819*4882a593Smuzhiyun 6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and 820*4882a593Smuzhiyun Aigo M60/M608/M606 tablets. 821*4882a593Smuzhiyun 822*4882a593Smuzhiyunendchoice 823*4882a593Smuzhiyun 824*4882a593Smuzhiyunconfig SATAPWR 825*4882a593Smuzhiyun string "SATA power pin" 826*4882a593Smuzhiyun default "" 827*4882a593Smuzhiyun help 828*4882a593Smuzhiyun Set the pins used to power the SATA. This takes a string in the 829*4882a593Smuzhiyun format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of 830*4882a593Smuzhiyun port H. 831*4882a593Smuzhiyun 832*4882a593Smuzhiyunconfig GMAC_TX_DELAY 833*4882a593Smuzhiyun int "GMAC Transmit Clock Delay Chain" 834*4882a593Smuzhiyun default 0 835*4882a593Smuzhiyun ---help--- 836*4882a593Smuzhiyun Set the GMAC Transmit Clock Delay Chain value. 837*4882a593Smuzhiyun 838*4882a593Smuzhiyunconfig SPL_STACK_R_ADDR 839*4882a593Smuzhiyun default 0x4fe00000 if MACH_SUN4I 840*4882a593Smuzhiyun default 0x4fe00000 if MACH_SUN5I 841*4882a593Smuzhiyun default 0x4fe00000 if MACH_SUN6I 842*4882a593Smuzhiyun default 0x4fe00000 if MACH_SUN7I 843*4882a593Smuzhiyun default 0x4fe00000 if MACH_SUN8I 844*4882a593Smuzhiyun default 0x2fe00000 if MACH_SUN9I 845*4882a593Smuzhiyun default 0x4fe00000 if MACH_SUN50I 846*4882a593Smuzhiyun 847*4882a593Smuzhiyunconfig SPL_SPI_SUNXI 848*4882a593Smuzhiyun bool "Support for SPI Flash on Allwinner SoCs in SPL" 849*4882a593Smuzhiyun depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I 850*4882a593Smuzhiyun help 851*4882a593Smuzhiyun Enable support for SPI Flash. This option allows SPL to read from 852*4882a593Smuzhiyun sunxi SPI Flash. It uses the same method as the boot ROM, so does 853*4882a593Smuzhiyun not need any extra configuration. 854*4882a593Smuzhiyun 855*4882a593Smuzhiyunendif 856