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