]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-tegra/board2.c
video: tegra: Enable the 'lcd' env variable work-around
[u-boot] / arch / arm / mach-tegra / board2.c
index 8ecc67459a1080846dbdb6cf81c4615765a4092d..60e19c838784ec0fb2cb05e701c1314acaaee5bb 100644 (file)
@@ -34,8 +34,8 @@
 #ifdef CONFIG_TEGRA_CLOCK_SCALING
 #include <asm/arch/emc.h>
 #endif
-#ifdef CONFIG_USB_EHCI_TEGRA
 #include <asm/arch-tegra/usb.h>
+#ifdef CONFIG_USB_EHCI_TEGRA
 #include <usb.h>
 #endif
 #ifdef CONFIG_TEGRA_MMC
@@ -128,7 +128,7 @@ int board_init(void)
        clock_init();
        clock_verify();
 
-       config_gpu();
+       tegra_gpu_config();
 
 #ifdef CONFIG_TEGRA_SPI
        pin_mux_spi();
@@ -201,6 +201,14 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
 
 int board_early_init_f(void)
 {
+#if defined(CONFIG_TEGRA_DISCONNECT_UDC_ON_BOOT)
+#define USBCMD_FS2 (1 << 15)
+       {
+               struct usb_ctlr *usbctlr = (struct usb_ctlr *)0x7d000000;
+               writel(USBCMD_FS2, &usbctlr->usb_cmd);
+       }
+#endif
+
        /* Do any special system timer/TSC setup */
 #if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
        if (!tegra_cpu_is_non_secure())
@@ -377,6 +385,10 @@ void dram_init_banksize(void)
        gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
        gd->bd->bi_dram[0].size = usable_ram_size_below_4g();
 
+#ifdef CONFIG_PCI
+       gd->pci_ram_top = gd->bd->bi_dram[0].start + gd->bd->bi_dram[0].size;
+#endif
+
 #ifdef CONFIG_PHYS_64BIT
        if (gd->ram_size > SZ_2G) {
                gd->bd->bi_dram[1].start = 0x100000000;
@@ -403,3 +415,23 @@ ulong board_get_usable_ram_top(ulong total_size)
 {
        return CONFIG_SYS_SDRAM_BASE + usable_ram_size_below_4g();
 }
+
+/*
+ * This function is called right before the kernel is booted. "blob" is the
+ * device tree that will be passed to the kernel.
+ */
+int ft_system_setup(void *blob, bd_t *bd)
+{
+       const char *gpu_path =
+#if defined(CONFIG_TEGRA124) || defined(CONFIG_TEGRA210)
+               "/gpu@0,57000000";
+#else
+               NULL;
+#endif
+
+       /* Enable GPU node if GPU setup has been performed */
+       if (gpu_path != NULL)
+               return tegra_gpu_enable_node(blob, gpu_path);
+
+       return 0;
+}