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" 25140a9eafSStephen Warren select CLK 2656079eccSTom Warren select DM 2796350f72SSimon Glass select DM_ETH 2856079eccSTom Warren select DM_GPIO 2915bcc62dSStephen Warren select DM_I2C 30f77f5e9bSSimon Glass select DM_KEYBOARD 316a474db4STom Warren select DM_MMC 3291c08afeSSimon Glass select DM_PWM 33140a9eafSStephen Warren select DM_RESET 3415bcc62dSStephen Warren select DM_SERIAL 3515bcc62dSStephen Warren select DM_SPI 3615bcc62dSStephen Warren select DM_SPI_FLASH 37140a9eafSStephen Warren select MISC 38*1490eb89SAdam Ford select SPI 3915bcc62dSStephen Warren select OF_CONTROL 40d6ef8a61SSimon Glass select VIDCONSOLE_AS_LCD if DM_VIDEO 41a5d67547SSimon Glass select BOARD_EARLY_INIT_F 42221a949eSDaniel Thompson imply CRC32_VERIFY 4315bcc62dSStephen Warren 44140a9eafSStephen Warrenconfig TEGRA_NO_BPMP 45140a9eafSStephen Warren bool "Tegra common options for SoCs without BPMP" 46140a9eafSStephen Warren select TEGRA_CAR 47140a9eafSStephen Warren select TEGRA_CAR_CLOCK 48140a9eafSStephen Warren select TEGRA_CAR_RESET 49140a9eafSStephen Warren 5015bcc62dSStephen Warrenconfig TEGRA_ARMV7_COMMON 5115bcc62dSStephen Warren bool "Tegra 32-bit common options" 5215bcc62dSStephen Warren select CPU_V7 5315bcc62dSStephen Warren select SPL 540680f1b1SLey Foon Tan select SPL_BOARD_INIT if SPL 5515bcc62dSStephen Warren select SUPPORT_SPL 5615bcc62dSStephen Warren select TEGRA_COMMON 57601800beSStephen Warren select TEGRA_GPIO 58140a9eafSStephen Warren select TEGRA_NO_BPMP 5915bcc62dSStephen Warren 6015bcc62dSStephen Warrenconfig TEGRA_ARMV8_COMMON 6115bcc62dSStephen Warren bool "Tegra 64-bit common options" 6215bcc62dSStephen Warren select ARM64 6315bcc62dSStephen Warren select TEGRA_COMMON 6456079eccSTom Warren 6509f455dcSMasahiro Yamadachoice 6609f455dcSMasahiro Yamada prompt "Tegra SoC select" 67a26cd049SJoe Hershberger optional 6809f455dcSMasahiro Yamada 6909f455dcSMasahiro Yamadaconfig TEGRA20 7009f455dcSMasahiro Yamada bool "Tegra20 family" 718dda2e2fSTom Rini select ARM_ERRATA_716044 728dda2e2fSTom Rini select ARM_ERRATA_742230 738dda2e2fSTom Rini select ARM_ERRATA_751472 7456079eccSTom Warren select TEGRA_ARMV7_COMMON 7509f455dcSMasahiro Yamada 7609f455dcSMasahiro Yamadaconfig TEGRA30 7709f455dcSMasahiro Yamada bool "Tegra30 family" 788dda2e2fSTom Rini select ARM_ERRATA_743622 798dda2e2fSTom Rini select ARM_ERRATA_751472 8056079eccSTom Warren select TEGRA_ARMV7_COMMON 8109f455dcSMasahiro Yamada 8209f455dcSMasahiro Yamadaconfig TEGRA114 8309f455dcSMasahiro Yamada bool "Tegra114 family" 8456079eccSTom Warren select TEGRA_ARMV7_COMMON 8509f455dcSMasahiro Yamada 8609f455dcSMasahiro Yamadaconfig TEGRA124 8709f455dcSMasahiro Yamada bool "Tegra124 family" 8856079eccSTom Warren select TEGRA_ARMV7_COMMON 8966de3eeeSSimon Glass imply REGMAP 9066de3eeeSSimon Glass imply SYSCON 9109f455dcSMasahiro Yamada 927aaa5a60STom Warrenconfig TEGRA210 937aaa5a60STom Warren bool "Tegra210 family" 94601800beSStephen Warren select TEGRA_GPIO 9515bcc62dSStephen Warren select TEGRA_ARMV8_COMMON 96140a9eafSStephen Warren select TEGRA_NO_BPMP 977aaa5a60STom Warren 98c7ba99c8SStephen Warrenconfig TEGRA186 99c7ba99c8SStephen Warren bool "Tegra186 family" 1000f67e239SStephen Warren select DM_MAILBOX 10173dd5c4cSStephen Warren select TEGRA186_BPMP 102d9fd7008SStephen Warren select TEGRA186_CLOCK 103c7ba99c8SStephen Warren select TEGRA186_GPIO 1044dd99d14SStephen Warren select TEGRA186_RESET 105c7ba99c8SStephen Warren select TEGRA_ARMV8_COMMON 1060f67e239SStephen Warren select TEGRA_HSP 10749626ea8SStephen Warren select TEGRA_IVC 108c7ba99c8SStephen Warren 10909f455dcSMasahiro Yamadaendchoice 11009f455dcSMasahiro Yamada 111dd8204deSStephen Warrenconfig TEGRA_DISCONNECT_UDC_ON_BOOT 112dd8204deSStephen Warren bool "Disconnect USB device mode controller on boot" 113dd8204deSStephen Warren default y 114dd8204deSStephen Warren help 115dd8204deSStephen Warren When loading U-Boot into RAM over USB protocols using tools such as 116dd8204deSStephen Warren tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device 117dd8204deSStephen Warren mode controller is initialized and enumerated by the host PC running 118dd8204deSStephen Warren the tool. Unfortunately, these tools do not shut down the USB 119dd8204deSStephen Warren controller before executing the downloaded code, and so the host PC 120dd8204deSStephen Warren does not "de-enumerate" the USB device. This option shuts down the 121dd8204deSStephen Warren USB controller when U-Boot boots to avoid leaving a stale USB device 122dd8204deSStephen Warren present. 123dd8204deSStephen Warren 12409f455dcSMasahiro Yamadaconfig SYS_MALLOC_F_LEN 12509f455dcSMasahiro Yamada default 0x1800 12609f455dcSMasahiro Yamada 12709f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra20/Kconfig" 12809f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra30/Kconfig" 12909f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra114/Kconfig" 13009f455dcSMasahiro Yamadasource "arch/arm/mach-tegra/tegra124/Kconfig" 1317aaa5a60STom Warrensource "arch/arm/mach-tegra/tegra210/Kconfig" 132c7ba99c8SStephen Warrensource "arch/arm/mach-tegra/tegra186/Kconfig" 13309f455dcSMasahiro Yamada 13442e6f852SSimon Glassconfig CMD_ENTERRCM 13542e6f852SSimon Glass bool "Enable 'enterrcm' command" 13642e6f852SSimon Glass default y 13742e6f852SSimon Glass help 13842e6f852SSimon Glass Tegra's boot ROM supports a mode whereby code may be downloaded and 13942e6f852SSimon Glass flash-programmed over a USB connection. On dev boards, this is 14042e6f852SSimon Glass typically entered by holding down a "force recovery" button and 14142e6f852SSimon Glass resetting the CPU. However, not all boards have such a button (one 14242e6f852SSimon Glass example is the Compulab Trimslice), so a method to enter RCM from 14342e6f852SSimon Glass software is useful. 14442e6f852SSimon Glass 14542e6f852SSimon Glass Even on boards other than Trimslice, controlling this over a UART 14642e6f852SSimon Glass may be useful, e.g. to allow simple remote control without the need 14742e6f852SSimon Glass for mechanical button actuators, or hooking up relays/... to the 14842e6f852SSimon Glass button. 14942e6f852SSimon Glass 15009f455dcSMasahiro Yamadaendif 151