Add support for WTK FO300 board (TQM5200 based).
This commit is contained in:
@@ -30,8 +30,8 @@
|
||||
#include <command.h>
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_BSP)
|
||||
#if defined (CONFIG_STK52XX)
|
||||
|
||||
#if defined(CONFIG_STK52XX) || defined(CONFIG_FO300)
|
||||
#define DEFAULT_VOL 45
|
||||
#define DEFAULT_FREQ 500
|
||||
#define DEFAULT_DURATION 200
|
||||
@@ -537,7 +537,9 @@ static int cmd_beep(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
|
||||
return rcode;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_STK52XX)
|
||||
void led_init(void)
|
||||
{
|
||||
struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
|
||||
@@ -736,7 +738,9 @@ int do_led(char *argv[])
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_STK52XX) || defined(CONFIG_FO300)
|
||||
/*
|
||||
* return 1 on CAN initialization failure
|
||||
* return 0 if no failure
|
||||
@@ -1106,6 +1110,7 @@ int do_rs232(char *argv[])
|
||||
return error_status;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_FO300
|
||||
static void sm501_backlight (unsigned int state)
|
||||
{
|
||||
if (state == BL_ON) {
|
||||
@@ -1115,6 +1120,7 @@ static void sm501_backlight (unsigned int state)
|
||||
*(vu_long *)(SM501_MMIO_BASE+SM501_PANEL_DISPLAY_CONTROL) &=
|
||||
~((1 << 26) | (1 << 27));
|
||||
}
|
||||
#endif
|
||||
|
||||
int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
{
|
||||
@@ -1124,7 +1130,9 @@ int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
printf ("Revision 100 of STK52XX not supported!\n");
|
||||
return 1;
|
||||
#endif
|
||||
#if defined(CONFIG_STK52XX)
|
||||
led_init();
|
||||
#endif
|
||||
can_init();
|
||||
|
||||
switch (argc) {
|
||||
@@ -1152,6 +1160,7 @@ int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
else
|
||||
printf ("Error\n");
|
||||
return rcode;
|
||||
#ifndef CONFIG_FO300
|
||||
} else if (strncmp (argv[1], "backlight", 4) == 0) {
|
||||
if (strncmp (argv[2], "on", 2) == 0) {
|
||||
sm501_backlight (BL_ON);
|
||||
@@ -1161,14 +1170,17 @@ int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
sm501_backlight (BL_OFF);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
#if defined(CONFIG_STK52XX)
|
||||
case 4:
|
||||
if (strcmp (argv[1], "led") == 0) {
|
||||
return (do_led (argv));
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
break;
|
||||
@@ -1204,7 +1216,9 @@ U_BOOT_CMD(
|
||||
"[channel]\n"
|
||||
" - play short beep on \"l\"eft or \"r\"ight channel\n"
|
||||
);
|
||||
#endif /* CONFIG_STK52XX || CONFIG_FO300 */
|
||||
|
||||
#if defined(CONFIG_STK52XX)
|
||||
U_BOOT_CMD(
|
||||
fkt , 4, 1, cmd_fkt,
|
||||
"fkt - Function test routines\n",
|
||||
@@ -1217,5 +1231,14 @@ U_BOOT_CMD(
|
||||
"fkt backlight on/off\n"
|
||||
" - switch backlight on or off\n"
|
||||
);
|
||||
#endif /* CONFIG_STK52XX */
|
||||
#elif defined(CONFIG_FO300)
|
||||
U_BOOT_CMD(
|
||||
fkt , 3, 1, cmd_fkt,
|
||||
"fkt - Function test routines\n",
|
||||
"fkt can\n"
|
||||
" - loopback plug for X16/X29 required\n"
|
||||
"fkt rs232 number\n"
|
||||
" - loopback plug(s) for X21/X22 required\n"
|
||||
);
|
||||
#endif
|
||||
#endif /* CFG_CMD_BSP */
|
||||
|
||||
@@ -290,6 +290,8 @@ int checkboard (void)
|
||||
# define CARRIER_NAME "TB5200"
|
||||
#elif defined(CONFIG_CAM5200)
|
||||
# define CARRIER_NAME "Cam5200"
|
||||
#elif defined(CONFIG_FO300)
|
||||
# define CARRIER_NAME "FO300"
|
||||
#else
|
||||
# error "Unknown carrier board"
|
||||
#endif
|
||||
@@ -541,7 +543,11 @@ int last_stage_init (void)
|
||||
|
||||
#ifdef CONFIG_VIDEO_SM501
|
||||
|
||||
#ifdef CONFIG_FO300
|
||||
#define DISPLAY_WIDTH 800
|
||||
#else
|
||||
#define DISPLAY_WIDTH 640
|
||||
#endif
|
||||
#define DISPLAY_HEIGHT 480
|
||||
|
||||
#ifdef CONFIG_VIDEO_SM501_8BPP
|
||||
@@ -571,6 +577,28 @@ static const SMI_REGS init_regs [] =
|
||||
{0x80218, 0x000201e9},
|
||||
{0x80200, 0x00013306},
|
||||
#else /* panel + CRT */
|
||||
#ifdef CONFIG_FO300
|
||||
{0x00004, 0x0},
|
||||
{0x00048, 0x00021807},
|
||||
{0x0004C, 0x301a0a01},
|
||||
{0x00054, 0x1},
|
||||
{0x00040, 0x00021807},
|
||||
{0x00044, 0x091a0a01},
|
||||
{0x00054, 0x0},
|
||||
{0x80000, 0x0f013106},
|
||||
{0x80004, 0xc428bb17},
|
||||
{0x8000C, 0x00000000},
|
||||
{0x80010, 0x0C800C80},
|
||||
{0x80014, 0x03200000},
|
||||
{0x80018, 0x01e00000},
|
||||
{0x8001C, 0x00000000},
|
||||
{0x80020, 0x01e00320},
|
||||
{0x80024, 0x042a031f},
|
||||
{0x80028, 0x0086034a},
|
||||
{0x8002C, 0x020c01df},
|
||||
{0x80030, 0x000201ea},
|
||||
{0x80200, 0x00010000},
|
||||
#else
|
||||
{0x00004, 0x0},
|
||||
{0x00048, 0x00021807},
|
||||
{0x0004C, 0x091a0a01},
|
||||
@@ -591,6 +619,7 @@ static const SMI_REGS init_regs [] =
|
||||
{0x8002C, 0x020c01df},
|
||||
{0x80030, 0x000201e9},
|
||||
{0x80200, 0x00010000},
|
||||
#endif /* #ifdef CONFIG_FO300 */
|
||||
#endif
|
||||
{0, 0}
|
||||
};
|
||||
@@ -604,7 +633,7 @@ void video_get_info_str (int line_number, char *info)
|
||||
{
|
||||
if (line_number == 1) {
|
||||
strcpy (info, " Board: TQM5200 (TQ-Components GmbH)");
|
||||
#if defined (CONFIG_STK52XX) || defined (CONFIG_TB5200)
|
||||
#if defined (CONFIG_STK52XX) || defined (CONFIG_TB5200) || defined(CONFIG_FO300)
|
||||
} else if (line_number == 2) {
|
||||
#if defined (CONFIG_STK52XX)
|
||||
strcpy (info, " on a STK52xx carrier board");
|
||||
@@ -612,6 +641,9 @@ void video_get_info_str (int line_number, char *info)
|
||||
#if defined (CONFIG_TB5200)
|
||||
strcpy (info, " on a TB5200 carrier board");
|
||||
#endif
|
||||
#if defined (CONFIG_FO300)
|
||||
strcpy (info, " on a FO300 carrier board");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
@@ -697,3 +729,33 @@ int board_get_height (void)
|
||||
}
|
||||
|
||||
#endif /* CONFIG_VIDEO_SM501 */
|
||||
|
||||
|
||||
#ifdef CONFIG_BOARD_EARLY_INIT_F
|
||||
#ifdef CONFIG_FO300
|
||||
int board_early_init_f (void)
|
||||
{
|
||||
vu_long timer3_status;
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
/* Configure GPT3 as GPIO input */
|
||||
*(vu_long *)MPC5XXX_GPT3_ENABLE = 0x00000004;
|
||||
|
||||
/* Read in TIMER_3 pin status */
|
||||
timer3_status = *(vu_long *)MPC5XXX_GPT3_STATUS;
|
||||
|
||||
#ifdef FO300_SILENT_CONSOLE_WHEN_S1_CLOSED
|
||||
/* Force silent console mode if S1 switch
|
||||
* is in closed position (TIMER_3 pin status is LOW). */
|
||||
if (MPC5XXX_GPT_GPIO_PIN(timer3_status) == 0)
|
||||
#else
|
||||
/* Force silent console mode if S1 switch
|
||||
* is in open position (TIMER_3 pin status is HIGH). */
|
||||
if (MPC5XXX_GPT_GPIO_PIN(timer3_status) == 1)
|
||||
#endif
|
||||
gd->flags |= GD_FLG_SILENT;
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user