340 lines
12 KiB
C
340 lines
12 KiB
C
/*
|
|
* (C) Copyright 2001, 2002
|
|
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
*
|
|
* See file CREDITS for list of people who contributed to this
|
|
* project.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of
|
|
* the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef _CMD_BSP_H_
|
|
#define _CMD_BSP_H_
|
|
|
|
#include <common.h>
|
|
#include <command.h>
|
|
|
|
#if (CONFIG_COMMANDS & CFG_CMD_BSP)
|
|
|
|
/* ----- LWMON ---------------------------------------------------------
|
|
*/
|
|
#if defined(CONFIG_LWMON)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"pic", 3, 4, 1, do_pic, \
|
|
"pic - read and write PIC registers\n", \
|
|
"read reg - read PIC register `reg'\n" \
|
|
"pic write reg val - write value `val' to PIC register `reg'\n" \
|
|
), MK_CMD_TBL_ENTRY( \
|
|
"kbd", 3, 1, 1, do_kbd, \
|
|
"kbd - read keyboard status\n", \
|
|
NULL \
|
|
), MK_CMD_TBL_ENTRY( \
|
|
"lsb", 3, 2, 1, do_lsb, \
|
|
"lsb - check and set LSB switch\n", \
|
|
"on - switch LSB on\n" \
|
|
"lsb off - switch LSB off\n" \
|
|
"lsb - print current setting\n" \
|
|
),
|
|
int do_pic (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
int do_lsb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_LWMON */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- PCU E -------------------------------------------------------- */
|
|
#if defined(CONFIG_PCU_E)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"puma", 4, 4, 1, do_puma, \
|
|
"puma - access PUMA FPGA\n", \
|
|
"status - print PUMA status\n" \
|
|
"puma load addr len - load PUMA configuration data\n" \
|
|
),
|
|
int do_puma (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_PCU_E */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- CCM/SCM ------------------------------------------------------ */
|
|
#if defined(CONFIG_CCM) || defined(CONFIG_SCM)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"fpga", 4, 4, 1, do_fpga, \
|
|
"fpga - access FPGA(s)\n", \
|
|
"fpga status [name] - print FPGA status\n" \
|
|
"fpga reset [name] - reset FPGA\n" \
|
|
"fpga load [name] addr - load FPGA configuration data\n" \
|
|
),
|
|
int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_CCM, CONFIG_SCM */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- PIP405 ------------------------------------------------------- */
|
|
#if defined(CONFIG_PIP405)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"pip405", 4, 6, 1, do_pip405, \
|
|
"pip405 - PIP405 specific Cmds\n", \
|
|
"flash mem [SrcAddr] - updates U-Boot with image in memory\n" \
|
|
"pip405 flash floppy [SrcAddr] - updates U-Boot with image from floppy\n" \
|
|
"pip405 flash mps - updates U-Boot with image from MPS\n" \
|
|
),
|
|
int do_pip405 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_PIP405 */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- MIP405 ------------------------------------------------------- */
|
|
#if defined(CONFIG_MIP405)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"mip405", 4, 6, 1, do_mip405, \
|
|
"mip405 - MIP405 specific Cmds\n", \
|
|
"flash mem [SrcAddr] - updates U-Boot with image in memory\n" \
|
|
"mip405 flash mps - updates U-Boot with image from MPS\n" \
|
|
),
|
|
int do_mip405 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_MIP405 */
|
|
/* ----- VCMA9 -----------------------------------------------------------------
|
|
*/
|
|
#if defined(CONFIG_VCMA9)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"vcma9", 4, 6, 1, do_vcma9, \
|
|
"vcma9 - VCMA9 specific Cmds\n", \
|
|
"flash mem [SrcAddr] - updates U-Boot with image in memory\n" \
|
|
),
|
|
int do_vcma9 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_VCMA9 */
|
|
/* ----------------------------------------------------------------------------*/
|
|
|
|
/* ----- DASA_SIM ----------------------------------------------------- */
|
|
#if defined(CONFIG_DASA_SIM)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"pci9054", 7, 3, 1, do_pci9054, \
|
|
"pci9054 - PLX PCI9054 EEPROM access\n", \
|
|
"pci9054 info - print EEPROM values\n" \
|
|
"pci9054 update - updates EEPROM with default values\n" \
|
|
),
|
|
int do_pci9054 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_DASA_SIM */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- HYMOD -------------------------------------------------------- */
|
|
#if defined(CONFIG_HYMOD)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"fpga", 4, 6, 1, do_fpga, \
|
|
"fpga - FPGA sub-system\n", \
|
|
"load [type] addr size\n" \
|
|
" - write the configuration data at memory address `addr',\n" \
|
|
" size `size' bytes, into the FPGA of type `type' (either\n" \
|
|
" `main' or `mezz', default `main'). e.g.\n" \
|
|
" `fpga load 100000 7d8f'\n" \
|
|
" loads the main FPGA with config data at address 100000\n" \
|
|
" HEX, size 7d8f HEX (32143 DEC) bytes\n" \
|
|
"fpga tftp file addr\n" \
|
|
" - transfers `file' from the tftp server into memory at\n" \
|
|
" address `addr', then writes the entire file contents\n" \
|
|
" into the main FPGA\n" \
|
|
"fpga store addr\n" \
|
|
" - read configuration data from the main FPGA (the mezz\n" \
|
|
" FPGA is write-only), into address `addr'. There must be\n" \
|
|
" enough memory available at `addr' to hold all the config\n"\
|
|
" data - the size of which is determined by VC:???\n" \
|
|
"fpga info\n" \
|
|
" - print information about the Hymod FPGA, namely the\n" \
|
|
" memory addresses at which the four FPGA local bus\n" \
|
|
" address spaces appear in the physical address space\n" \
|
|
), MK_CMD_TBL_ENTRY( \
|
|
"eeclear", 4, 1, 0, do_eecl, \
|
|
"eeclear - Clear the eeprom on a Hymod board \n", \
|
|
"[type]\n" \
|
|
" - write zeroes into the EEPROM on the board of type `type'\n"\
|
|
" (`type' is either `main' or `mezz' - default `main')\n" \
|
|
" Note: the EEPROM write enable jumper must be installed\n" \
|
|
),
|
|
int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
int do_eecl (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_HYMOD */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- CRAY405 (L1) ------------------------------------------------- */
|
|
#if defined (CONFIG_CRAYL1)
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"L1cmd", 5, 4, 1, do_crayL1, \
|
|
"L1cmd - L1 update, setup, commands \n", \
|
|
"L1cmd update - update flash images from host\n" \
|
|
"L1cmd boot - nfs or ramboot L1\n" \
|
|
),
|
|
int do_crayL1 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
#endif /* CONFIG_CRAY405 */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- EVB64260 ----------------------------------------------------- */
|
|
#if defined (CONFIG_EVB64260)
|
|
#ifdef CONFIG_ZUMA_V2
|
|
#define CMD_TBL_BSP ZUMA_TBL_ENTRY
|
|
|
|
#define ZUMA_TBL_ENTRY MK_CMD_TBL_ENTRY( \
|
|
"zinit", 5, 1, 0, do_zuma_init_pbb, \
|
|
"zinit - init zuma pbb\n", \
|
|
"\n" \
|
|
" - init zuma pbb\n" \
|
|
), MK_CMD_TBL_ENTRY( \
|
|
"zdtest", 6, 3, 1, do_zuma_test_dma, \
|
|
"zdtest - run dma test\n", \
|
|
"[cmd [count]]\n" \
|
|
" - run dma cmd (w=0,v=1,cp=2,cmp=3,wi=4,vi=5), count bytes\n" \
|
|
), MK_CMD_TBL_ENTRY( \
|
|
"zminit", 5, 1, 0, do_zuma_init_mbox, \
|
|
"zminit - init zuma mbox\n", \
|
|
"\n" \
|
|
" - init zuma mbox\n" \
|
|
),
|
|
|
|
int do_zuma_init_pbb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
int do_zuma_test_dma (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
int do_zuma_init_mbox (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
void zuma_init_pbb(void);
|
|
int zuma_mbox_init(void);
|
|
int zuma_test_dma(int cmd, int size);
|
|
#else
|
|
#define CMD_TBL_BSP
|
|
#endif /* ZUMA_NTL */
|
|
|
|
#endif /* CONFIG_EVB64260 */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* -----W7O------------------------------------------------------------ */
|
|
#if defined(CONFIG_W7O)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"vpd", 3, 2, 1, do_vpd, \
|
|
"vpd - Read Vital Product Data\n", \
|
|
"[dev_addr]\n" \
|
|
" - Read VPD Data from default address, or device address 'dev_addr'.\n" \
|
|
),
|
|
|
|
extern int do_vpd (cmd_tbl_t *, int, int, char *[]);
|
|
|
|
#endif /* CONFIG_W7O */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ---- PCIPPC2 / PCIPPC6 --------------------------------------------- */
|
|
#if defined(CONFIG_PCIPPC2) || defined(CONFIG_PCIPPC6)
|
|
#if defined(CONFIG_WATCHDOG)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"wd", 3, 2, 1, do_wd, \
|
|
"wd - check and set watchdog\n", \
|
|
"on - switch watchDog on\n" \
|
|
"wd off - switch watchdog off\n" \
|
|
"wd - print current status\n" \
|
|
),
|
|
|
|
extern int do_wd (cmd_tbl_t *, int, int, char *[]);
|
|
|
|
#else
|
|
#define CMD_TBL_BSP
|
|
#endif /* CONFIG_WATCHDOG */
|
|
|
|
#endif /* CONFIG_PCIPPC2 , CONFIG_PCIPPC6 */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- PN62 --------------------------------------------------------- */
|
|
#if defined(CONFIG_PN62)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"loadpci", 5, 2, 1, do_loadpci, \
|
|
"loadpci - load binary file over PCI\n", \
|
|
"[addr]\n" \
|
|
" - load binary file over PCI to address 'addr'\n" \
|
|
), MK_CMD_TBL_ENTRY( \
|
|
"led" , 3, 3, 1, do_led, \
|
|
"led - set LED 0..11 on the PN62 board\n", \
|
|
"i fun\n" \
|
|
" - set 'i'th LED to function 'fun'\n" \
|
|
),
|
|
|
|
extern int do_loadpci (cmd_tbl_t *, int, int, char *[]);
|
|
extern int do_led (cmd_tbl_t *, int, int, char *[]);
|
|
#endif /* CONFIG_PN62 */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- TRAB --------------------------------------------------------- */
|
|
#if defined(CONFIG_TRAB)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"kbd", 3, 1, 1, do_kbd, \
|
|
"kbd - read keyboard status\n", \
|
|
NULL \
|
|
),
|
|
|
|
int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_TRAB */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ----- R360MPI ------------------------------------------------------ */
|
|
#if defined(CONFIG_R360MPI)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"kbd", 3, 1, 1, do_kbd, \
|
|
"kbd - read keyboard status\n", \
|
|
NULL \
|
|
),
|
|
|
|
int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_R360MPI */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
/* ------ AMIGAONEG3SE ------------------------------------------------ */
|
|
#if defined(CONFIG_AMIGAONEG3SE)
|
|
|
|
#define CMD_TBL_BSP /* dummy */
|
|
|
|
#endif /* AmigaOneG3SE */
|
|
/* ----- PCI405 ------------------------------------------------------- */
|
|
#if defined(CONFIG_PCI405)
|
|
|
|
#define CMD_TBL_BSP MK_CMD_TBL_ENTRY( \
|
|
"loadpci", 7, 1, 1, do_loadpci, \
|
|
"loadpci - wait for sync and boot image\n", \
|
|
NULL \
|
|
),
|
|
|
|
int do_loadpci (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
|
|
|
#endif /* CONFIG_PCI405 */
|
|
/* -------------------------------------------------------------------- */
|
|
|
|
#else
|
|
#define CMD_TBL_BSP
|
|
#endif /* CFG_CMD_BSP */
|
|
|
|
#endif /* _CMD_BSP_H_ */
|