extern int s5p_no_lcd_support(void);
extern void s5pc_fimd_lcd_off(unsigned int win_id);
extern void s5pc_fimd_window_off(unsigned int win_id);
+extern void get_rev_info(char *rev_info);
+
+#ifdef CONFIG_GENERIC_MMC
+#include <mmc.h>
+static int mmc_type;
+extern int s5p_no_mmc_support(void);
+
+static void usbd_set_mmc_dev(struct usbd_ops *usbd)
+{
+ struct mmc *mmc;
+ char mmc_name[4];
+
+ if (s5p_no_mmc_support())
+ return;
+
+ usbd->mmc_dev = 0;
+ /* FIXME */
+ usbd->mmc_max = 0x8000;
+
+ mmc = find_mmc_device(usbd->mmc_dev);
+ mmc_init(mmc);
+
+ usbd->mmc_blk = mmc->read_bl_len;
+ usbd->mmc_total = mmc->capacity / mmc->read_bl_len;
+
+ sprintf(mmc_name, "%c%c%c", mmc->cid[0] & 0xff,
+ (mmc->cid[1] >> 24), (mmc->cid[1] >> 16) & 0xff);
+
+ if (!strncmp(mmc_name, "SEM", 3))
+ mmc_type = 1;
+}
+#endif
void s5pc1xx_wdt_reset(void)
{
#ifdef CONFIG_S5PC1XXFB
if (!s5p_no_lcd_support()) {
+ char rev_info[64];
+
init_font();
set_font_color(FONT_WHITE);
+
+ get_rev_info(rev_info);
+ fb_printf(rev_info);
+
+#ifdef CONFIG_GENERIC_MMC
+ if (mmc_type)
+ fb_printf("MMC: iNAND\n");
+ else
+ fb_printf("MMC: MoviNAND\n");
+
+ fb_printf("\n");
+#endif
fb_printf("Ready to USB Connection\n");
}
#endif
#ifdef CONFIG_S5PC1XXFB
if (!s5p_no_lcd_support()) {
fb_printf("Download Start\n");
- draw_progress(40, 0, FONT_WHITE);
+ draw_progress(80, 0, FONT_WHITE);
}
#endif
}
otg.dn_filesize = len;
}
-#ifdef CONFIG_GENERIC_MMC
-#include <mmc.h>
-extern int s5p_no_mmc_support(void);
-
-static void usbd_set_mmc_dev(struct usbd_ops *usbd)
-{
- struct mmc *mmc;
-
- if (s5p_no_mmc_support())
- return;
-
- usbd->mmc_dev = 0;
- /* FIXME */
- usbd->mmc_max = 0x8000;
-
- mmc = find_mmc_device(usbd->mmc_dev);
- mmc_init(mmc);
-
- usbd->mmc_blk = mmc->read_bl_len;
- usbd->mmc_total = mmc->capacity / mmc->read_bl_len;
-}
-#endif
-
#ifdef CONFIG_S5PC1XXFB
static void set_progress(int progress)
{
s5p_get_cpu_rev() ? "" : "EVT0");
}
+void get_rev_info(char *rev_info)
+{
+ int board;
+
+ if (mach_is_goni() || mach_is_aquila())
+ board = arch_number;
+ else
+ board = arch_number - C110_MACH_START;
+
+ check_board_revision(board, board_rev);
+
+ sprintf(rev_info, "HW Revision: %x (%s%s) %s\n",
+ board_rev, get_board_name(board),
+ display_features(board, board_rev),
+ s5p_get_cpu_rev() ? "" : "EVT0");
+}
+
static void check_auto_burn(void)
{
unsigned long magic_base = CONFIG_SYS_SDRAM_BASE + 0x02000000;