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