summaryrefslogtreecommitdiff
path: root/board/nvidia
AgeCommit message (Collapse)Author
2013-03-14Tegra114: Dalmore: Always use DEFAULT instead of DISABLE for lock bitsTom Warren
The pinmux code issues a warning if the caller attempts to disable the lock bit in a pinmux register, since this is impossible (once it's locked, the only way to unlock it is to reset the device/pmt controller). The I2C/DDC/CEC/USB macros expect a lock setting to be passed in, and the previous setting of DISABLE caused the pinmux table parsing code to issue the warning. Changing the lock bits in these table entries to DEFAULT (i.e. don't touch it) fixes this. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra30: MMC: Add SD bus power-rail and SDMMC pad init routinesTom Warren
T30 requires specific SDMMC pad programming, and bus power-rail bringup. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra30: fdt: Add SDMMC (sdhci) nodes for T30 boards (Cardhu for now)Tom Warren
Took these values directly from the kernel dts files. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra30: Cardhu: Add pad config tables/code based on pinmux codeTom Warren
Pad config registers exist in APB_MISC_GP space, and control slew rate, drive strengh, schmidt, high-speed, and low-power modes for all of the pingroups in Tegra30. This builds off of the pinmux way of constructing init tables to configure select pads (SDIOCFG, for instance) during pinmux_init(). Currently, only SDIO1CFG is changed as per the TRM to work with the SD-card slot on Cardhu. Thanks to StephenW for the suggestion/original idea. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra114: pinmux: Update pinmux tables & code, fix a bug w/SDMMC3 initTom Warren
Use the latest tables & code from our internal U-Boot repo. The SDMMC3_CD, CLK_LB_IN and CLK_LB_OUT offsets in the pingroup table were off by a few indices, causing the pinmux init code to write bad data to the PINMUX_AUX_ regs. This also enabled the lock bit, which made it impossible to reconfig the pads correctly for SDMMC3 (SD card on Dalmore) operation. Also fixes SPI_CS2_N, USB_VBUS_EN0, HDMI_CEC and UART2_RXD/TXD muxes. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra30: Cardhu: Remove unneeded cardhu.c.mmc fileTom Warren
This was an older debug/developmental file that got added accidentally. Not needed/used in any Cardhu build. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra30: fdt: Sync DT nodes with kernel DT files (I2C, SPI, GPIO, clock)Tom Warren
Minor edits to clock, apbdma and SPI, make I2C match kernel DT, and add gpio Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra: fdt: Remove memreserve line from Cardhu/Seaboard DT filesTom Warren
Not used, and wrong in Cardhu's case Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra: MMC: Add DT support to MMC driver for all T20 boardsTom Warren
tegra_mmc_init() now parses the DT info for bus width, WP/CD GPIOs, etc. Tested on Seaboard, fully functional. Tamonten boards (medcom-wide, plutux, and tec) use a different/new dtsi file w/common settings. Signed-off-by: Tom Warren <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra: fdt: Add/enhance sdhci (mmc) nodes for all T20 DT filesTom Warren
Linux dts files were used for those boards that didn't already have sdhci info populated. Tamonten has their own dtsi file with common sdhci nodes (sourced from Linux). Signed-off-by: Tom Warren <[email protected]> Tested-by: Thierry Reding <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra: fdt: Change /include/ to #include for C preprocessorTom Warren
dts Makefile has the arch & board include paths added to DTS_CPPFLAGS. This allows the use of '#include "xyz"' in the dts/dtsi file which helps the C preprocessor find common dtsi include files. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14Tegra114: fdt: Update DT files with I2C info for T114/DalmoreTom Warren
T114, like T30, does not have a separate/different DVC (power I2C) controller like T20 - all 5 I2C controllers are identical, but I2C5 is used to designate the controller intended for power control (PWR_I2C in the schematics). PWR_I2C is set to 400KHz. Signed-off-by: Tom Warren <[email protected]> Acked-by: Laxman Dewangan <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-03-14tegra: usb: move implementation into right directoryLucas Stach
This moves the Tegra USB implementation into the drivers/usb/host directory. Note that this merges the old /arch/arm/cpu/armv7/tegra20/usb.c file into ehci-tegra.c. No code changes, just moving stuff around. v2: While at it also move some defines and the usb.h header file to make usb driver usable for Tegra30. NOTE: A lot more work is required to properly init the PHYs and PLL_U on Tegra30, this is just to make porting easier and it does no harm here. Signed-off-by: Lucas Stach <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-02-11Tegra114: Add/enable Dalmore build (T114 reference board)Tom Warren
This build is stripped down. It boots to the command prompt. GPIO is the only peripheral supported. Others TBD. Signed-off-by: Tom Warren <[email protected]>
2013-02-11Tegra114: Add generic Tegra114 build supportTom Warren
This patch adds basic Tegra114 (T114) build support - no specific board is targeted. Signed-off-by: Tom Warren <[email protected]>
2013-02-11Tegra114: Dalmore: Add DT filesTom Warren
These are stripped down for bringup, They'll be filled out later to match-up with the kernel DT contents, and/or as devices are brought up (mmc, usb, spi, etc.). Signed-off-by: Tom Warren <[email protected]>
2013-02-11tegra: add SPI SLINK driverAllen Martin
Add driver for tegra SPI "SLINK" style driver. This controller is similar to the tegra20 SPI "SFLASH" controller. The difference is that the SLINK controller is a genernal purpose SPI controller and the SFLASH controller is special purpose and can only talk to FLASH devices. In addition there are potentially many instances of an SLINK controller on tegra and only a single instance of SFLASH. Tegra20 is currently ths only version of tegra that instantiates an SFLASH controller. This driver supports basic PIO mode of operation and is configurable (CONFIG_OF_CONTROL) to be driven off devicetree bindings. Up to 4 devices per controller may be attached, although typically only a single chip select line is exposed from tegra per controller so in reality this is usually limited to 1. To enable this driver, use CONFIG_TEGRA_SLINK Signed-off-by: Allen Martin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-02-11tegra30: fdt: add SPI SLINK nodesAllen Martin
Add tegra30 SPI SLINK nodes to fdt. Signed-off-by: Allen Martin <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-02-11tegra: fdt: add back missing host1x nodeAllen Martin
Add back host1x node to seaboard dts file. This got dropped during the tegra fdt sort. Signed-off-by: Allen Martin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-01-17tegra: fdt: sort dts filesAllen Martin
Sort nodes in dts files according the the following rules: 1) Any nodes that already exist in any /include/d file, in the order they appear in the /include/d file. 2) Any nodes with a reg property, in order of their address. 3) Any nodes without a reg property, alphabetically by node name. Signed-off-by: Allen Martin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-01-17tegra: fdt: remove clocks nodesAllen Martin
These nodes are unused. Signed-off-by: Allen Martin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-01-16tegra: remove IRDA pinmux synonymAllen Martin
IRDA is a synonym for UARTB in tegra pinmux, remove all usage of this synonym and replace with UARTB to disambiguate. Signed-off-by: Allen Martin <[email protected]> Reviewed-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-01-16Tegra30: fdt: Update DT files with I2C info for T30/CardhuTom Warren
Note that T30 does not have a separate/different DVC (power I2C) controller like T20 - all 5 I2C controllers are identical, but DVC_I2C is still used to designate the controller intended for power control (PWR_I2C in the schematics). On Cardhu, it's used to access the PMU and EEPROM, as well as the audio codec, temp sensor, and fuel gauge devices from the OS. Signed-off-by: Tom Warren <[email protected]>
2013-01-16Tegra30: Add/enable Cardhu build (T30 reference board)Tom Warren
This build is stripped down. It boots to the command prompt. GPIO is the only peripheral supported. Others TBD. include/configs/tegra-common.h now holds common config options for Tegra SoCs. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-01-16Tegra30: Add generic Tegra30 build supportTom Warren
This patch adds basic Tegra30 (T30) build support - no specific board is targeted. Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-01-16Tegra30: Cardhu: Add DT filesTom Warren
These are stripped down for bringup, They'll be filled out later to match-up with the kernel DT contents, and/or as devices are brought up (mmc, usb, spi, etc.). Signed-off-by: Tom Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2013-01-16tegra: display: add board pinmuxMarc Dietrich
Boards may require a different pinmux setup for DISPALY than the default one. Add a way to call into board specific code to set this up. Signed-off-by: Marc Dietrich <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-11-19ARM: tegra: enable 8-bit SD slots in board filesStephen Warren
Harmony contains an SD slot with all 8 bits routed. This allows plugging in an eMMC-chip-in-SD-form-factor. Seaboard/Springbank/Ventana/AC100 all have an eMMC chip with all 8 bits hooked up. Now that the U-Boot eMMC code fully supports 8-bit operation, initialize those ports as 8-bit instead of 4-bit to improve performance. Whistler was already registering its ports as 8-bit. TrimSlice doesn't have any 8-bit ports. I don't have any Avionic Design boards nor the Colibri board to test with. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-11-19tegra: fdt: Add LCD definitions for SeaboardSimon Glass
The Seaboard has a 1366x768 16bpp LCD. The backlight is controlled by one of the PWMs. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-11-19tegra: Add LCD support to Nvidia boardsSimon Glass
Add calls to the LCD driver from Nvidia board code. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-11-19tegra: Add support for PWMSimon Glass
The pulse width/frequency modulation peripheral supports generating a repeating pulse. It is useful for controlling LCD brightness. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-29ARM: tegra: don't request GPIO from Seaboard's SPLStephen Warren
Seaboard has a GPIO that switches an external mux between Tegra's debug UART and SPI flash. This is initialized from the SPL so that SPL debug output can be seen. Simplify the code that does this, and don't actually request the GPIO in the SPL; just program it. This saves ~4.5K from the size of the SPL, mostly BSS due to the large gpio_names[] table that is no longer required. This makes Seaboard's SPL fit within the current max size. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Allen Martin <[email protected]> Tested-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-29ARM: tegra: select between Seaboard/Ventana at compile timeStephen Warren
Seaboard and Ventana are very similar boards, and so share the seaboard.c board file. The one difference needed so far is detected at run-time by calling machine_is_ventana(). This bloats the Ventana build with code that is never used. Switch to detecting Ventana at compile time to remove bloat. This shaves ~5K off the SPL size on Ventana, and makes the SPL fit within the max size. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-29ARM: tegra: Whistler: remove unused USB aliasStephen Warren
Port USB1 on Whistler is intended as a device port for USB recovery. Whistler's DT currently contains an alias for this USB port, even though Whistler's config doesn't enable multiple USB controllers, so the alias is unused. Remove the unused alias for consistency for now. Similar, explicitly disable the port in the device tree too. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-29ARM: tegra: Harmony: enable ULPI USB portStephen Warren
The ULPI port is routed onto pins on the mini PCI Express connector. A standard breakout board may be used to access the port. * Add required DT entries to configure the ULPI port. * Setup up the ULPI pinmux in the board code. * Enable multiple USB controller and ULPI support in the board config. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-29tegra: move common features to a common makefileMarc Dietrich
For Non-Nvidia boards to include newly added features (like emc clock scaling) it would be necessary to add each feature to their own board Makefile. This is because currently the top Makefile automaticly includes these features only for Nvidia boards. This patch adds a simple Makefile include so all new features become available for non-Nvidia board vendors. Cc: Stephen Warren <[email protected]> Cc: Tom Warren <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Lucas Stach <[email protected]> Signed-off-by: Marc Dietrich <[email protected]> Acked-by: Stephen Warren <[email protected]> Acked-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-15tegra: nand: add board pinmuxLucas Stach
Boards may require a different pinmux setup for NAND than the default one. Add a way to call into board specific code to set this up. Signed-off-by: Lucas Stach <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-15tegra: clean up board include hellLucas Stach
The prototypes used in board files were all scattered out, which lead to code duplication between SPL and normal U-Boot and some prototypes not actually being used. Consolidate this in a common board header. Signed-off-by: Lucas Stach <[email protected]> Acked-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-15tegra20: rework UART GPIO handlingLucas Stach
Rename board provided gpio_config_uart() to gpio_early_init_uart() as it does the same thing as the equally called function provided by the uart-switch code. This allows to simply call this function in early board init whether or not we are building with CONFIG_UART_SWITCH defined. Also provide a weak symbol for this function, to avoid the need to provide this function for boards that don't need any fixup. This patch supersedes the earlier posted "tegra: convert gpio_config_uart to weak symbol". Build tested with MAKEALL -s tegra20 Signed-off-by: Lucas Stach <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-10-15Tegra20: Move some include files to arch-tegra for sharing with Tegra30Tom Warren
The move is pretty straight-forward. ap20.h and tegra20.h were renamed to ap.h and tegra.h. Some files remain in arch-tegra20 but 'include' a file in 'arch-tegra' with #defines & structs that will be common between T20 and T30 HW. HW-specific #defines, etc. stay in the 'arch-tegra20' 'root' file. All boards build OK w/MAKEALL -s tegra20. Checkpatch.pl runs clean. Seaboard works OK. Signed-off-by: Tom Warren <[email protected]>
2012-09-10Tegra: Change Tegra20 to Tegra in common code, prep for T30Tom Warren
Convert TEGRA20_ defines to either TEGRA_ or NV_PA_ where appropriate. Convert tegra20_ source file and function names to tegra_, also. Upcoming Tegra30 port will use common code/defines/names where possible. Signed-off-by: Tom Warren <[email protected]> Acked-by: Stephen Warren <[email protected]>
2012-09-07ARM: tegra: fix Ventana standalone buildStephen Warren
Ventana always pulls in files from the Seaboard directory, so needs to mkdir $(obj)../seaboard unconditionally. This fixes: git clean -f -d -x ./MAKEALL ventana "MAKEALL -s tegra20" passes without this change, because Seaboard happens to be built before Ventana, and hence the directory has already been created. I believe the mkdir is only needed for out-of-tree builds, since the seaboard directory is part of the source tree. However, since we always build an SPL for Tegra now, which I believe is effectively an out-of-tree build, we will always need this at some time. The overhead of just uncondtionally executing the mkdir is minimal, and simplifies the Makefile, since we don't need to code up the exact minimal condition to execute the mkdir. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-09-07ARM: tegra: remove redundant mkdirs from board MakefilesStephen Warren
None of harmony, seaboard, ventana, whistler directly build files from ../common/, so there's no need to mkdir the obj directory for such files. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-09-07tegra: enable NAND on HarmonyStephen Warren
Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-09-07tegra: fdt: Add NAND definitions to fdtSimon Glass
Add a flash node to handle the NAND, including memory timings and page / block size information. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-09-01tegra20: move SDRAM param save to later in bootAllen Martin
Move warmboot_save_sdram_params() to later in the boot sequence. This code relies on devicetree to get the address of the memory controller and with upcoming changes for SPL boot it gets called early in the boot process when devicetree is not initialized yet. Signed-off-by: Allen Martin <[email protected]> Acked-by: Stephen Warren <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-09-01tegra20: remove timer_init from SPL buildAllen Martin
Don't use timer_init from tegra board.c. This comes out of arm720t for the SPL build. Signed-off-by: Allen Martin <[email protected]> Acked-by: Stephen Warren <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-09-01tegra20: rename tegra2 -> tegra20Allen Martin
This is make naming consistent with the kernel and devicetree and in preparation of pulling out the common tegra20 code. Signed-off-by: Allen Martin <[email protected]> Acked-by: Stephen Warren <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-07-09tegra: add pin_mux_spi() board initialization functionStephen Warren
Boards can override this to set up the pinmux correctly to access serial flash. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-07-09tegra: fix leftover CONFIG_TEGRA2_MMC & _SPI build switchesTom Warren
Missed some boards after my tegra2_mmc.* -> tegra_mmc.* change, and one instance of CONFIG_TEGRA2_SPI. MAKEALL -s tegra2 AOK, Seaboard MMC AOK. Didn't test Tamonten, Paz00 or TrimSlice, as I have none here. Signed-off-by: Tom Warren <[email protected]> Acked-by: Stephen Warren <[email protected]>