109f455dcSMasahiro Yamadaif TEGRA 209f455dcSMasahiro Yamada 353b5bf3cSSimon Glassconfig SPL_GPIO_SUPPORT 453b5bf3cSSimon Glass default y 553b5bf3cSSimon Glass 677d2f7f5SSimon Glassconfig SPL_LIBCOMMON_SUPPORT 777d2f7f5SSimon Glass default y 877d2f7f5SSimon Glass 9cc4288efSSimon Glassconfig SPL_LIBGENERIC_SUPPORT 10cc4288efSSimon Glass default y 11cc4288efSSimon Glass 12e00f76ceSSimon Glassconfig SPL_SERIAL_SUPPORT 13e00f76ceSSimon Glass default y 14e00f76ceSSimon Glass 1549626ea8SStephen Warrenconfig TEGRA_IVC 1649626ea8SStephen Warren bool "Tegra IVC protocol" 1749626ea8SStephen Warren help 1849626ea8SStephen Warren IVC (Inter-VM Communication) protocol is a Tegra-specific IPC 1949626ea8SStephen Warren (Inter Processor Communication) framework. Within the context of 2049626ea8SStephen Warren U-Boot, it is typically used for communication between the main CPU 2149626ea8SStephen Warren and various auxiliary processors. 2249626ea8SStephen Warren 2315bcc62dSStephen Warrenconfig TEGRA_COMMON 2415bcc62dSStephen Warren bool "Tegra common options" 25*5ed063d1SMichal Simek select BINMAN 26*5ed063d1SMichal Simek select BOARD_EARLY_INIT_F 27140a9eafSStephen Warren select CLK 2856079eccSTom Warren select DM 2996350f72SSimon Glass select DM_ETH 3056079eccSTom Warren select DM_GPIO 3115bcc62dSStephen Warren select DM_I2C 32f77f5e9bSSimon Glass select DM_KEYBOARD 336a474db4STom Warren select DM_MMC 3491c08afeSSimon Glass select DM_PWM 35140a9eafSStephen Warren select DM_RESET 3615bcc62dSStephen Warren select DM_SERIAL 3715bcc62dSStephen Warren select DM_SPI 3815bcc62dSStephen Warren select DM_SPI_FLASH 39140a9eafSStephen Warren select MISC 4015bcc62dSStephen Warren select OF_CONTROL 41*5ed063d1SMichal Simek select SPI 42d6ef8a61SSimon Glass select VIDCONSOLE_AS_LCD if DM_VIDEO 43221a949eSDaniel Thompson imply CRC32_VERIFY 4415bcc62dSStephen Warren 45140a9eafSStephen Warrenconfig TEGRA_NO_BPMP 46140a9eafSStephen Warren bool "Tegra common options for SoCs without BPMP" 47140a9eafSStephen Warren select TEGRA_CAR 48140a9eafSStephen Warren select TEGRA_CAR_CLOCK 49140a9eafSStephen Warren select TEGRA_CAR_RESET 50140a9eafSStephen Warren 5115bcc62dSStephen Warrenconfig TEGRA_ARMV7_COMMON 5215bcc62dSStephen Warren bool "Tegra 32-bit common options" 53acf15001SLokesh Vutla select CPU_V7A 5415bcc62dSStephen Warren select SPL 550680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 5615bcc62dSStephen Warren select SUPPORT_SPL 5715bcc62dSStephen Warren select TEGRA_COMMON 58601800beSStephen Warren select TEGRA_GPIO 59140a9eafSStephen Warren select TEGRA_NO_BPMP 6015bcc62dSStephen Warren 6115bcc62dSStephen Warrenconfig TEGRA_ARMV8_COMMON 6215bcc62dSStephen Warren bool "Tegra 64-bit common options" 6315bcc62dSStephen Warren select ARM64 64ddecaaf3SStephen Warren select LINUX_KERNEL_IMAGE_HEADER 6515bcc62dSStephen Warren select TEGRA_COMMON 6656079eccSTom Warren 67ddecaaf3SStephen Warrenif TEGRA_ARMV8_COMMON 68ddecaaf3SStephen Warrenconfig LNX_KRNL_IMG_TEXT_OFFSET_BASE 69ddecaaf3SStephen Warren default 0x80000000 70ddecaaf3SStephen Warrenendif 71ddecaaf3SStephen Warren 7209f455dcSMasahiro Yamadachoice 7309f455dcSMasahiro Yamada prompt "Tegra SoC select" 74a26cd049SJoe Hershberger optional 7509f455dcSMasahiro Yamada 7609f455dcSMasahiro Yamadaconfig TEGRA20 7709f455dcSMasahiro Yamada bool "Tegra20 family" 788dda2e2fSTom Rini select ARM_ERRATA_716044 798dda2e2fSTom Rini select ARM_ERRATA_742230 808dda2e2fSTom Rini select ARM_ERRATA_751472 8156079eccSTom Warren select TEGRA_ARMV7_COMMON 8209f455dcSMasahiro Yamada 8309f455dcSMasahiro Yamadaconfig TEGRA30 8409f455dcSMasahiro Yamada bool "Tegra30 family" 858dda2e2fSTom Rini select ARM_ERRATA_743622 868dda2e2fSTom Rini select ARM_ERRATA_751472 8756079eccSTom Warren select TEGRA_ARMV7_COMMON 8809f455dcSMasahiro Yamada 8909f455dcSMasahiro Yamadaconfig TEGRA114 9009f455dcSMasahiro Yamada bool "Tegra114 family" 9156079eccSTom Warren select TEGRA_ARMV7_COMMON 9209f455dcSMasahiro Yamada 9309f455dcSMasahiro Yamadaconfig TEGRA124 9409f455dcSMasahiro Yamada bool "Tegra124 family" 9556079eccSTom Warren select TEGRA_ARMV7_COMMON 9666de3eeeSSimon Glass imply REGMAP 9766de3eeeSSimon Glass imply SYSCON 9809f455dcSMasahiro Yamada 997aaa5a60STom Warrenconfig TEGRA210 1007aaa5a60STom Warren bool "Tegra210 family" 10115bcc62dSStephen Warren select TEGRA_ARMV8_COMMON 102*5ed063d1SMichal Simek select TEGRA_GPIO 103140a9eafSStephen Warren select TEGRA_NO_BPMP 1047aaa5a60STom Warren 105c7ba99c8SStephen Warrenconfig TEGRA186 106c7ba99c8SStephen Warren bool "Tegra186 family" 1070f67e239SStephen Warren select DM_MAILBOX 10873dd5c4cSStephen Warren select TEGRA186_BPMP 109d9fd7008SStephen Warren select TEGRA186_CLOCK 110c7ba99c8SStephen Warren select TEGRA186_GPIO 1114dd99d14SStephen Warren select TEGRA186_RESET 112c7ba99c8SStephen Warren select TEGRA_ARMV8_COMMON 1130f67e239SStephen Warren select TEGRA_HSP 11449626ea8SStephen Warren select TEGRA_IVC 115c7ba99c8SStephen Warren 11609f455dcSMasahiro Yamadaendchoice 11709f455dcSMasahiro Yamada 118dd8204deSStephen Warrenconfig TEGRA_DISCONNECT_UDC_ON_BOOT 119dd8204deSStephen Warren bool "Disconnect USB device mode controller on boot" 120dd8204deSStephen Warren default y 121dd8204deSStephen Warren help 122dd8204deSStephen Warren When loading U-Boot into RAM over USB protocols using tools such as 123dd8204deSStephen Warren tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device 124dd8204deSStephen Warren mode controller is initialized and enumerated by the host PC running 125dd8204deSStephen Warren the tool. Unfortunately, these tools do not shut down the USB 126dd8204deSStephen Warren controller before executing the downloaded code, and so the host PC 127dd8204deSStephen Warren does not "de-enumerate" the USB device. This option shuts down the 128dd8204deSStephen Warren USB controller when U-Boot boots to avoid leaving a stale USB device 129dd8204deSStephen Warren present. 130dd8204deSStephen Warren 13109f455dcSMasahiro Yamadaconfig SYS_MALLOC_F_LEN 13209f455dcSMasahiro Yamada default 0x1800 13309f455dcSMasahiro Yamada 13409f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra20/Kconfig" 13509f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra30/Kconfig" 13609f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra114/Kconfig" 13709f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra124/Kconfig" 1387aaa5a60STom Warrensource "arch/arm/mach-tegra/tegra210/Kconfig" 139c7ba99c8SStephen Warrensource "arch/arm/mach-tegra/tegra186/Kconfig" 14009f455dcSMasahiro Yamada 14142e6f852SSimon Glassconfig CMD_ENTERRCM 14242e6f852SSimon Glass bool "Enable 'enterrcm' command" 14342e6f852SSimon Glass default y 14442e6f852SSimon Glass help 14542e6f852SSimon Glass Tegra's boot ROM supports a mode whereby code may be downloaded and 14642e6f852SSimon Glass flash-programmed over a USB connection. On dev boards, this is 14742e6f852SSimon Glass typically entered by holding down a "force recovery" button and 14842e6f852SSimon Glass resetting the CPU. However, not all boards have such a button (one 14942e6f852SSimon Glass example is the Compulab Trimslice), so a method to enter RCM from 15042e6f852SSimon Glass software is useful. 15142e6f852SSimon Glass 15242e6f852SSimon Glass Even on boards other than Trimslice, controlling this over a UART 15342e6f852SSimon Glass may be useful, e.g. to allow simple remote control without the need 15442e6f852SSimon Glass for mechanical button actuators, or hooking up relays/... to the 15542e6f852SSimon Glass button. 15642e6f852SSimon Glass 15709f455dcSMasahiro Yamadaendif 158