OMAP3+: Introduce generic logic for OMAP voltage controller
[oweals/u-boot.git] / arch / arm / include / asm / omap_common.h
index d3cb857282ad7b74b62e3b05bb3322a14be74354..6f25948e20ea04a1e1b727efcd4a1ae9d691704a 100644 (file)
 void preloader_console_init(void);
 
 /* Boot device */
+#ifdef CONFIG_OMAP54XX
+#define BOOT_DEVICE_NONE        0
+#define BOOT_DEVICE_XIP         1
+#define BOOT_DEVICE_XIPWAIT     2
+#define BOOT_DEVICE_NAND        3
+#define BOOT_DEVICE_ONE_NAND    4
+#define BOOT_DEVICE_MMC1        5
+#define BOOT_DEVICE_MMC2        6
+#define BOOT_DEVICE_MMC3       7
+#elif defined(CONFIG_OMAP44XX) /* OMAP4 */
 #define BOOT_DEVICE_NONE       0
 #define BOOT_DEVICE_XIP                1
 #define BOOT_DEVICE_XIPWAIT    2
@@ -44,13 +54,77 @@ void preloader_console_init(void);
 #define BOOT_DEVICE_ONE_NAND   4
 #define BOOT_DEVICE_MMC1       5
 #define BOOT_DEVICE_MMC2       6
+#elif defined(CONFIG_OMAP34XX) /* OMAP3 */
+#define BOOT_DEVICE_NONE       0
+#define BOOT_DEVICE_XIP                1
+#define BOOT_DEVICE_NAND       2
+#define BOOT_DEVICE_ONE_NAND   3
+#define BOOT_DEVICE_MMC2       5 /*emmc*/
+#define BOOT_DEVICE_MMC1       6
+#define BOOT_DEVICE_XIPWAIT    7
+#elif defined(CONFIG_AM33XX)   /* AM33XX */
+#define BOOT_DEVICE_NAND       5
+#define BOOT_DEVICE_MMC1       8
+#define BOOT_DEVICE_MMC2       0
+#define BOOT_DEVICE_UART       65
+#endif
 
 /* Boot type */
 #define        MMCSD_MODE_UNDEFINED    0
 #define MMCSD_MODE_RAW         1
 #define MMCSD_MODE_FAT         2
+#define NAND_MODE_HW_ECC       3
+
+struct spl_image_info {
+       const char *name;
+       u8 os;
+       u32 load_addr;
+       u32 entry_point;
+       u32 size;
+};
+
+extern struct spl_image_info spl_image;
 
+extern u32* boot_params_ptr;
 u32 omap_boot_device(void);
 u32 omap_boot_mode(void);
 
+/* SPL common function s*/
+void spl_parse_image_header(const struct image_header *header);
+void omap_rev_string(void);
+void spl_board_prepare_for_linux(void);
+int spl_start_uboot(void);
+
+/* NAND SPL functions */
+void spl_nand_load_image(void);
+
+/* MMC SPL functions */
+void spl_mmc_load_image(void);
+
+/* YMODEM SPL functions */
+void spl_ymodem_load_image(void);
+
+#ifdef CONFIG_SPL_BOARD_INIT
+void spl_board_init(void);
+#endif
+
+/*
+ * silicon revisions.
+ * Moving this to common, so that most of code can be moved to common,
+ * directories.
+ */
+
+/* omap4 */
+#define OMAP4430_SILICON_ID_INVALID    0xFFFFFFFF
+#define OMAP4430_ES1_0 0x44300100
+#define OMAP4430_ES2_0 0x44300200
+#define OMAP4430_ES2_1 0x44300210
+#define OMAP4430_ES2_2 0x44300220
+#define OMAP4430_ES2_3 0x44300230
+#define OMAP4460_ES1_0 0x44600100
+#define OMAP4460_ES1_1 0x44600110
+
+/* omap5 */
+#define OMAP5430_SILICON_ID_INVALID    0
+#define OMAP5430_ES1_0 0x54300100
 #endif /* _OMAP_COMMON_H_ */