]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/configs/tegra2-common.h
Unified codebase for TX28, TX48, TX51, TX53
[karo-tx-uboot.git] / include / configs / tegra2-common.h
index 73e0f05cda9a3cc68ec7c1b625016030a6ba5706..068ce8855ff6efe49eb2ad3982dba8c94bbe2f0d 100644 (file)
 #define __TEGRA2_COMMON_H
 #include <asm/sizes.h>
 
+/*
+ * QUOTE(m) will evaluate to a string version of the value of the macro m
+ * passed in.  The extra level of indirection here is to first evaluate the
+ * macro m before applying the quoting operator.
+ */
+#define QUOTE_(m)       #m
+#define QUOTE(m)        QUOTE_(m)
+
 /*
  * High Level Configuration Options
  */
@@ -33,7 +41,9 @@
 #define CONFIG_MACH_TEGRA_GENERIC      /* which is a Tegra generic machine */
 #define CONFIG_SYS_L2CACHE_OFF         /* No L2 cache */
 
-#define CONFIG_ENABLE_CORTEXA9         /* enable CPU (A9 complex) */
+#define CONFIG_SYS_CACHELINE_SIZE      32
+
+#define CONFIG_ARCH_CPU_INIT           /* Fire up the A9 core */
 
 #include <asm/arch/tegra2.h>           /* get chip and board defs */
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
 
-#define CONFIG_SKIP_RELOCATE_UBOOT
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
 #define CONFIG_CMDLINE_TAG             /* enable passing of ATAGs */
 #define CONFIG_OF_LIBFDT               /* enable passing of devicetree */
 
+#ifdef CONFIG_TEGRA2_LP0
+#define TEGRA_LP0_ADDR                 0x1C406000
+#define TEGRA_LP0_SIZE                 0x2000
+#define TEGRA_LP0_VEC \
+       "lp0_vec=" QUOTE(TEGRA_LP0_SIZE) "@" QUOTE(TEGRA_LP0_ADDR) " "
+#else
+#define TEGRA_LP0_VEC
+#endif
+
 /* Environment */
-#define CONFIG_ENV_IS_NOWHERE
-#define CONFIG_ENV_SIZE                        0x20000 /* Total Size Environment */
+#define CONFIG_ENV_SIZE                        0x2000  /* Total Size Environment */
 
 /*
  * Size of malloc() pool
 #define CONFIG_SYS_BAUDRATE_TABLE      {4800, 9600, 19200, 38400, 57600,\
                                        115200}
 
+/*
+ * This parameter affects a TXFILLTUNING field that controls how much data is
+ * sent to the latency fifo before it is sent to the wire. Without this
+ * parameter, the default (2) causes occasional Data Buffer Errors in OUT
+ * packets depending on the buffer address and size.
+ */
+#define CONFIG_USB_EHCI_TXFIFO_THRESH  10
+#define CONFIG_EHCI_IS_TDI
+#define CONFIG_EHCI_DCACHE
+
+/* Total I2C ports on Tegra2 */
+#define TEGRA_I2C_NUM_CONTROLLERS      4
+
 /* include default commands */
 #include <config_cmd_default.h>
 
 /* turn on command-line edit/hist/auto */
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_COMMAND_HISTORY
-#define CONFIG_AUTOCOMPLETE
+#define CONFIG_AUTO_COMPLETE
 
 #define CONFIG_SYS_NO_FLASH
 
-/* Environment information */
+/* Environment information, boards can override if required */
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define TEGRA2_DEVICE_SETTINGS "stdin=serial\0" \
+                                       "stdout=serial\0" \
+                                       "stderr=serial\0"
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "console=ttyS0,115200n8\0" \
        "mem=" TEGRA2_SYSMEM "\0" \
        "smpflag=smp\0" \
+       TEGRA2_DEVICE_SETTINGS
 
 #define CONFIG_LOADADDR                0x408000        /* def. location for kernel */
 #define CONFIG_BOOTDELAY       2               /* -1 to disable auto boot */
 #define PHYS_SDRAM_1           TEGRA2_SDRC_CS0
 #define PHYS_SDRAM_1_SIZE      0x20000000      /* 512M */
 
-#define CONFIG_SYS_TEXT_BASE   0x00E08000
+#define CONFIG_SYS_TEXT_BASE   0x00108000
 #define CONFIG_SYS_SDRAM_BASE  PHYS_SDRAM_1
 
 #define CONFIG_SYS_INIT_RAM_ADDR       CONFIG_STACKBASE