📄 mxc_nb.h
字号:
/* * misc/source/bootloader/nandboot/mxc_mb.h * * Copyright 2004-2006 Freescale Semiconductor, Inc. All Rights Reserved. * * 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 MXC_NB_H#define MXC_NB_H/*! * @defgroup NANDboot Bootloader for NAND Flash *//*! * @file mxc_nb.h * * @brief This file contains the NANDboot chip configuration and * source configurations. * * @ingroup NANDboot *//*! * @name NAND Boot data types *//*! @{ */#ifdef MXC91231#include "../ipl/mxc_setup_mxc91231.h"#endif#ifdef MXC91331#include "../ipl/mxc_setup_mxc91331.h"#endif#ifdef MXC91131#include "../ipl/mxc_setup_mxc91131.h"#endif#ifdef MX31#include "../ipl/mxc_setup_mx31.h"#endif #ifdef MX21#include "../ipl/mxc_setup_mx21.h"#endif /*! * 32 bit data type */typedef unsigned int U32; /*! * 16 bit data type */typedef unsigned short U16; /*! * 8 bit data type */typedef unsigned char U8; /*! @} *//*! * This defines the enabling or disabling menu show */#undef BOOT_NOWAIT/*! * This defines the enabling or disabling of the Watchdog Timer feature * in NANDboot */#define WDOG_EN 0/* This defines Internal and External UART */ #define INT_UART 1 #define EXT_UART 0 /*! * This defines the either internal (INT_UART) or external (EXT_UART) UART to be * used for output */#if (!(defined(MX31)||defined(MX21)))#define UART_OUTPUT EXT_UART#else /* Use Internal Uart because redboot and linux kernel use same UART */#define UART_OUTPUT INT_UART#endif /*! * This defines the UART port in NANDboot * If EXT_UART is defined UART_PORT 1 is PORT_A and 2 is PORT_B */#define UART_PORT 1/*! * This defines the Baud rate for UART */#define UART_BAUD_RATE 115200/*! * Set this parameter to non-zero to enable unit test code in NANDBoot. */#define UNIT_TEST 0 /*! * This defines the enabling or disabling of the command line option * in nandboot */#define CHANGE_COMMAND_LINE_OPTION 1 /*! * This defines the enabling or disabling of the change of command * line option address in nandboot */#define CHANGE_COMMAND_LINE_ADDRESS 0/*! * This defines the changing the kernel loading address */#define CHANGE_KERNEL_LOADING_ADDRESS 1/*! * This defines NAND buswidth for 8 and 16 bit */ #define NAND_BIT_8 8#define NAND_BIT_16 16/*! * This defines the NAND buswidth */#define NAND_BUSWIDTH NAND_BIT_8/*! * These defines are used for Unit Test */#ifdef UNIT_TEST#define DEBUG_BASE 0x80001000#define DEBUG_ADDR0 (U32*)(DEBUG_BASE+0x000) /* for debug */#define DEBUG_ADDR1 (U32*)(DEBUG_BASE+0x100) /* for debug */#define DEBUG_ADDR2 (U32*)(DEBUG_BASE+0x200) /* for debug */#define DEBUG_ADDR3 (U32*)(DEBUG_BASE+0x300) /* for debug */#define DEBUG_ADDR4 (U32*)(DEBUG_BASE+0x400) /* for debug */#endif/*! * Maximum size for command line option */#define CMDLINE_LEN 150#ifdef MX21/*! * Command line option address for Linux kernel */#define CMDLINE_ADDR (U8 *)0xc03FF000/*! * Source address where Linux kernel image is stored */#define SOURCE_ADDR (U32 *)0xc0008000/*! * Destination address where Linux kernel will be copied for execution */#define DESTN_ADDR (U32 *)0xc0008000#else/*! * Command line option address for Linux kernel */#define CMDLINE_ADDR (U8 *)0x80000100/*! * Source address where Linux kernel image is stored */#define SOURCE_ADDR (U32 *)0xA0008000/*! * Destination address where Linux kernel will be copied for execution */#define DESTN_ADDR (U32 *)0x80008000#endif/*! * Base address for Watchdog Timer */#define WDOG_BASE WDOG1_BASE_ADDR /*! * Timeout value for Watchdog Timer */#define WDOG_TIMEOUT 0x4000/*! * AIPS1 register base address */#define AIPS1_REG_BASE AIPS1_BASE_ADDR/*! * AIPS2 register base address */#define AIPS2_REG_BASE AIPS2_BASE_ADDR/*! * Time out value for menu in sec */#define MENU_TIMEOUT 5/*! * This defines processor id for the respective processor. * This id is passed to the Linux kernel before booting. */#if defined (MX31)#define PROC_ID 0x1BF#else#if defined (MXC91331)#define PROC_ID 0x229#else#if defined (MXC91231)#define PROC_ID 0x22A#else#if defined (MXC91131)#define PROC_ID 0x2C6#else#if defined (MX21)#define PROC_ID 0x2C6#else#error PLATFORM should be defined to be one of {MX31|MXC91331|MXC91231|MXC91131|MX21}#endif#endif#endif#endif#endif#endif /* MXC_NB_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -