📄 config.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 + -