⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.h

📁 em86xx 完整启动程序,支持网络下载与串通下载
💻 H
字号:
/***************************************** Copyright (c) 2002-2004 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the EM86XX boot loader */#ifndef __BOOTLOADER_CONFIG_H#define __BOOTLOADER_CONFIG_H#include "version.h"#include "hardware.h"//#define SET_SERVER_IP_FOR_DOWNLOAD#define Usr_flash_start_addr 0x46000000+0x500000#define Usr_flash_addr_len  0x300000//// EM86XX Memories//#define DRAM0_BASE		0x90000000#define DRAM1_BASE		0xa0000000#define DRAM2_BASE		0xb0000000/* Right after bootloader, free memory start *///#define LOADER_RESERVED		0x00100000 /* first 1MB is reserved */#define LOADER_RESERVED		(FM_RESERVED)#define FMEM_START		(DRAM0_BASE + LOADER_RESERVED)#define KERNEL_PARAMS		(FMEM_START + 0x200)#define CFG_2NDBOOT		0x200 // Offset to the configuration space#ifndef CONFIG_OPTIMIZE_SIZE#define FAST_OPERATION		// Use fast operation on memcpy#endif// ROM (Serial Flash)#define LOADER_SFLASHBASE       MEMORY_BASE_HOST_SFLASH// ROM (FlexROM or Parallel Flash)#define LOADER_FLASHBASE        MEMORY_BASE_HOST_PFLASH#ifdef CONFIG_ENABLE_2NDBOOT#define LOADER_FLASH_ROMFSADDR  (LOADER_FLASHBASE + STAGE1_IMAGE_SIZE + STAGE2_IMAGE_SIZE)#define LOADER_FLASH_STAGE2ADDR  (LOADER_FLASHBASE + STAGE1_IMAGE_SIZE)#else#define LOADER_FLASH_ROMFSADDR  (LOADER_FLASHBASE + STAGE1_IMAGE_SIZE)#endif//// Loader Configuration area//#define LOADER_CONFIGADDR       (LOADER_DRAMBASE + 0x40)#define LOADER_CONFIGBOOTSFLASH        0x414c4653      // "SFLA"#define LOADER_CONFIGBOOTFLASH          0x414c4650      // "PFLA"#define LOADER_CONFIGSECBOOTSFLASH  0x4c465353      // "SSFL"#define LOADER_CONFIGSECBOOTFLASH    0x4c465053      // "SPFL"#define LOADER_CONFIGBOOTVALID          0x4d474953      // "SIGM"#define LOADER_CONFIGSIGN                    0x424d414d      // "MAMB"// dram_size = (s == 0) ? 0 : 2^(s)#define CONFIG_DRAMSIZE_0(s)    (s)#define CONFIG_DRAMSIZE_1(s)    ((s) << 8)#define CONFIG_DRAMSIZE_2(s)    ((s) << 16)#define CONFIG_DRAMSIZE(s0, s1)         (CONFIG_DRAMSIZE_0(s0) | CONFIG_DRAMSIZE_1(s1))#define CONFIG_GETDRAMSIZE_PARAM(x, n)  (((x) >> ((n) << 3)) & 0xff)#define CONFIG_GETDRAMSIZE(x, n)        ((CONFIG_GETDRAMSIZE_PARAM(x, n) == 0) ? 0 : (1 << CONFIG_GETDRAMSIZE_PARAM(x, n)))// configvalid#define CONFIGVALID_PCISUBID    (1 << 0)#define CONFIGVALID_PCIREVID    (1 << 1)#define CONFIGVALID_PCIMEMSIZE  (1 << 2)// boot flag (32 bits)// bits [0..1] : boot flag// bits [2..5]   : first boot media//       2..4    : boot media//          5    : encrypted flag// bits [6..9]   : second boot media//       6..8    : boot media//          9    : encrypted flag// bits [10..12] : load flag#define BOOTFLAG_NONE           0x00    // do not boot automatically#define BOOTFLAG_BOOT           0x01    // boot by the order of boot media#define BOOTFLAG_DIRECT         0x02    // do not enter boot prompt mode#define BOOTFLAG_RETRY          0x10000 // retry until it successes#define BOOTFLAG_MEDIA_BITS     0x04    // bits assigned for boot media#define BOOTFLAG_MEDIA_MASK     0x0F    // bitmask for boot media flags#define BOOTFLAG_MEDIA_NONE     0x00    // No boot media#define BOOTFLAG_MEDIA_FLASH    0x01    // ROM (FlexROM or Parallel Flash)#define BOOTFLAG_MEDIA_HDD      0x02    // Hard Disk#define BOOTFLAG_MEDIA_CD       0x03    // CD-ROM or DVD-ROM#define BOOTFLAG_MEDIA_NETWORK  0x04    // Network (TFTP)#define BOOTFLAG_MEDIA_NOP      0x05    // do nothing (infinite loop)#define BOOTFLAG_MEDIA_CRYPT    0x08    // Encrypted media#define BOOTFLAG_LOAD_NONE		0x00    // No load#define BOOTFLAG_LOAD_IRQHANDLER	0x01    // Load irqhandler#define BOOTFLAG_LOAD_BITMAP		0x02    // Load bitmaps#define BOOTFLAG_LOAD_UCODE		0x04    // Load ucode#define BOOTFLAG_LOAD_VSYNCPARAM	0x08    // Load vsync parameters#define BOOTFLAG_LOAD_DVI		0x10    // Load ucode#define BOOTFLAG_LOAD_MASK		0x0f#define MAX_USERPREF_SIZE		0x20000 //96k            0x10000// 64KB max.#define BOOTFLAG_BOOT_FIRST(x)  ((x) << 2)#define BOOTFLAG_BOOT_SECOND(x) ((x) << 6)#define BOOTFLAG_LOAD(x)        ((x) << 10)#ifndef __ASSEMBLY__typedef struct {    unsigned int bootvalid;    unsigned int filesize;    unsigned int version;    unsigned int signature;    unsigned int sys_clkgen0_pll;    unsigned int dram0_dunit_cfg;    unsigned int dram1_dunit_cfg;    unsigned int dunit_delay0_ctrl;    unsigned int specific;    unsigned int pci_subsystem_id;    unsigned int pci_revision_id;    unsigned int pci_memory_size;    unsigned int bootflag;    unsigned int configvalid;    unsigned int dram_size;    unsigned int imagesize;    unsigned int checksum;    unsigned int reserved[3];    unsigned char boardname[16];} loaderconfig_t;//// Bootable CD//// Platform ID for El torito boot CD - checked#define ELTORITO_PLATFORM_ID_EM85xx     85#define ELTORITO_PLATFORM_ID_EM86xx     86#define ELTORITO_PLATFORM_ID            ELTORITO_PLATFORM_ID_EM86xx// ID String for El torito boot CD - ignored#define ELTORITO_ID_STRING              "SIGMA DESIGNS"#undef ELTORITO_ID_STRING//// Kernel parameter//#define VECTORS_SIZE   0x200// from Linux source : include/asm-arm/setup.h#define ATAG_NONE   0x00000000struct tag_header {    unsigned int size;    unsigned int tag;};#define ATAG_CMDLINE    0x54410009struct tag_cmdline {    char    cmdline[1];};#endif  // __ASSEMBLY__//// Memory organization for serial flash or parallel flash//#ifndef STAGE0_TEST_IMAGE_SIZE#define STAGE0_TEST_IMAGE_SIZE  0#endif#define STAGE0_TEST_STACK_SIZE  (LR_STACKTOP)#ifndef STAGE0_XTRA_IMAGE_SIZE#define STAGE0_XTRA_IMAGE_SIZE  0#endif#define STAGE0_XTRA_STACK_SIZE  (LR_STACKTOP)#define STAGE0_CRYPTO_STACK_SIZE  (LR_STACKTOP)#define STAGE0_CRYPTO_IMAGE_START (STAGE0_CONFIG_ADDR + STAGE0_CORE_IMAGE_SIZE + STAGE0_XTRA_IMAGE_SIZE)// size of image produced by loader-stage0.S#define STAGE0_CORE_IMAGE_SIZE  0x400// size of stage 0 image#define STAGE0_IMAGE_SIZE       (STAGE0_CORE_IMAGE_SIZE + STAGE0_TEST_IMAGE_SIZE + STAGE0_XTRA_IMAGE_SIZE)#ifndef CONFIG_TESTLOADERONRAM#if defined(CONFIG_BOOTFROM_SFLASH)#define STAGE0_TEST_IMAGE_START (LOADER_SFLASHBASE + STAGE0_CORE_IMAGE_SIZE)#define STAGE0_XTRA_IMAGE_START (LOADER_SFLASHBASE + STAGE0_CORE_IMAGE_SIZE)#define STAGE0_CONFIG_ADDR      (LOADER_SFLASHBASE)#define STAGE1_IMAGE_START      (LOADER_SFLASHBASE + STAGE0_IMAGE_SIZE)     // Serial Flash#define STAGE1_IMAGE_END        (LOADER_SFLASHBASE + STAGE1_IMAGE_SIZE)#elif defined(CONFIG_BOOTFROM_FLASH)#define STAGE0_TEST_IMAGE_START (LOADER_FLASHBASE + STAGE0_CORE_IMAGE_SIZE)#define STAGE0_XTRA_IMAGE_START (LOADER_FLASHBASE + STAGE0_CORE_IMAGE_SIZE)#define STAGE0_CONFIG_ADDR      (LOADER_FLASHBASE)#define STAGE1_IMAGE_START      (LOADER_FLASHBASE + STAGE0_IMAGE_SIZE)  // Parallel Flash#define STAGE1_IMAGE_END        (LOADER_FLASHBASE + STAGE1_IMAGE_SIZE)#endif#else/* for 64MB DRAM */#define LOADADDR_BOOT		(FMEM_START + 0x01800000)/* for 32MB DRAM *///#define LOADADDR_BOOT		(FMEM_START + 0x01300000)#define STAGE0_TEST_IMAGE_START (LOADADDR_BOOT + STAGE0_CORE_IMAGE_SIZE + 4)#define STAGE0_XTRA_IMAGE_START (LOADADDR_BOOT + STAGE0_CORE_IMAGE_SIZE + 4)#define STAGE0_CONFIG_ADDR      (LOADADDR_BOOT + 4)#define STAGE1_IMAGE_START      (LOADADDR_BOOT + STAGE0_IMAGE_SIZE + 4) // RAM (download via serial / testing purpose)#define STAGE1_IMAGE_END        (LOADADDR_BOOT + STAGE1_IMAGE_SIZE)#endif#define STAGE1_LOAD_ADDR        LOADER_DRAMBASE#define STAGE1_START_ADDR       LOADER_DRAMBASE#define STAGE1_CONFIG_ADDR      LOADER_CONFIGADDR//// UART////#define CONFIG_USE_SYSCLK	/* Use internal clock *///// PLL //#define CPU_CLOCK_MIN       30#define CPU_CLOCK_MAX       200//// Configuration// #define CONFIG_ENABLE_CACHE#ifdef CONFIG_ENABLE_COPYONRAM#define CONFIG_COPYONRAM_ADDR   (FMEM_START)#endif// // configuration adjustment// #ifdef CONFIG_RELEASE#undef CONFIG_ENABLE_BOOTMENU#endif  // CONFIG_RELEASE#ifdef CONFIG_DEVEL#define CONFIG_ENABLE_BOOTMENU#endif  // CONFIG_DEVEL#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -