| /* |
| * (C) Copyright 2010 Quantenna Communications Inc. |
| * |
| * 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 __RUBY_UBOOT_CONFIG_H |
| #define __RUBY_UBOOT_CONFIG_H |
| |
| #include "common_mem.h" |
| #include "ruby_partitions.h" |
| |
| /* generic define for RUBY */ |
| #define CONFIG_RUBY_BOARD |
| |
| /* Commands */ |
| #define CONFIG_CMD_CONSOLE |
| #define CONFIG_CMD_ECHO |
| #define CONFIG_CMD_HNVRAM |
| #define CONFIG_CMD_MEMORY |
| #define CONFIG_CMD_MISC |
| #define CONFIG_CMD_RUN |
| #define CONFIG_CMD_LOADB |
| #define CONFIG_CMD_CACHE |
| #define CONFIG_CMD_NET |
| #define CONFIG_CMD_PING |
| #undef CONFIG_CMD_ETHLOOP |
| #undef CONFIG_CMD_UC |
| #define CONFIG_CMD_INTR |
| #define CONFIG_CMD_SAVEENV |
| #define CONFIG_CMD_IMI |
| #define CONFIG_CMD_BOOTD |
| #undef CONFIG_CMD_POST |
| #define CONFIG_CMD_QMEMTEST |
| |
| /* decompression algorithms compressed images */ |
| //#define CONFIG_BZIP2 // doesn't work with -Os |
| #define CONFIG_LZMA |
| |
| /* We have these optimized functions */ |
| #define __HAVE_ARCH_MEMSET |
| #define __HAVE_ARCH_MEMCPY |
| #define __HAVE_ARCH_MEMCMP |
| |
| #define CONFIG_SYS_HUSH_PARSER |
| #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " |
| /* No flash support */ |
| #define CONFIG_SYS_NO_FLASH |
| |
| /* Enable verbose boot */ |
| #define CONFIG_SHOW_BOOT_PROGRESS |
| |
| /* Delay before boot. */ |
| #define CONFIG_BOOTDELAY 2 |
| |
| /* |
| * U-Boot full is now encapsulated within a decompressing piggy. |
| * u-boot-piggy loads at sram + 0x0, jumped to from the bootrom. |
| * In the bootloader stage1 (piggy), the start of sram is text, data, bss, |
| * with the piggy stack at the end of sram. |
| * u-boot-piggy will decompress u-boot-full into the stage2 offset, since |
| * the piggy cannot overwrite it's own text or data during decompression. |
| * Once decompressed, piggy will jump to u-boot full. U-boot full will use |
| * the sram previously occupied by the piggy text/data/bss as stack + heap. |
| * |
| * Piggy: SRAM: [text, data, bss, <--gap-->, stack, muc_stack, crumbs, <--gap-->] |
| * Decompresses u-boot-full into second gap right after muc_stack and crumbs, jumps to gap. |
| * Full: SRAM: [heap, stack, <--unused-->, muc_stack, crumbs, text, data, bss] |
| */ |
| #define CONFIG_ARC_STAGE2_OFFSET (4 * RUBY_SRAM_BANK_SIZE) |
| |
| #define CONFIG_ARC_UBOOT_BEGIN RUBY_SRAM_BEGIN |
| #define CONFIG_ARC_TEXT_OFFSET CONFIG_ARC_STAGE2_OFFSET |
| #define CONFIG_ARC_TEXT_BEGIN (CONFIG_ARC_UBOOT_BEGIN + CONFIG_ARC_TEXT_OFFSET) |
| #define CONFIG_ARC_TEXT_SIZE (RUBY_SRAM_SIZE - CONFIG_ARC_TEXT_OFFSET) |
| #define CONFIG_ARC_TEXT_END (CONFIG_ARC_TEXT_BEGIN + CONFIG_ARC_TEXT_SIZE) |
| #define CONFIG_ARC_STACK_SIZE (8*1024) |
| |
| #ifdef FLASH_SUPPORT_256KB |
| #define CONFIG_ARC_STACK_BEGIN \ |
| (CONFIG_ARC_UBOOT_BEGIN + (CONFIG_ARC_MUC_STACK_OFFSET_UBOOT - CONFIG_ARC_MUC_STACK_SIZE) - RUBY_STACK_INIT_OFFSET) |
| #define CONFIG_ARC_HEAP_SIZE ((CONFIG_ARC_MUC_STACK_OFFSET_UBOOT - CONFIG_ARC_MUC_STACK_SIZE) - CONFIG_ARC_STACK_SIZE) |
| #else |
| #define CONFIG_ARC_STACK_BEGIN \ |
| (CONFIG_ARC_UBOOT_BEGIN + RUBY_UBOOT_PIGGY_MAX_SIZE - RUBY_STACK_INIT_OFFSET) |
| #define CONFIG_ARC_HEAP_SIZE (RUBY_UBOOT_PIGGY_MAX_SIZE - CONFIG_ARC_STACK_SIZE) |
| #endif |
| |
| #define CONFIG_ARC_HEAP_BEGIN CONFIG_ARC_UBOOT_BEGIN |
| #if CONFIG_ARC_HEAP_SIZE + CONFIG_ARC_STACK_SIZE > RUBY_SRAM_SIZE - CONFIG_ARC_TEXT_SIZE |
| #error "Too big heap and stack!" |
| #endif |
| #define CONFIG_ARC_FREE_BEGIN RUBY_DRAM_BEGIN |
| #define CONFIG_ARC_FREE_END (RUBY_DRAM_BEGIN + RUBY_MIN_DRAM_SIZE) |
| #define CONFIG_SYS_MALLOC_LEN CONFIG_ARC_HEAP_SIZE |
| |
| #define TEXT_BASE CONFIG_ARC_TEXT_BEGIN |
| |
| /* Default load address */ |
| #define CONFIG_SYS_LOAD_ADDR RUBY_KERNEL_LOAD_DRAM_BEGIN /* Default load address for bootm command */ |
| #define CONFIG_SYS_BOOTM_LEN (32 * 1024 * 1024) |
| |
| /* Memory test */ |
| #define CONFIG_SYS_MEMTEST_START CONFIG_ARC_FREE_BEGIN |
| #define CONFIG_SYS_MEMTEST_END CONFIG_ARC_FREE_END |
| |
| /* Misc parameters */ |
| #define CONFIG_SYS_HZ 1000 |
| #define CONFIG_SYS_BAUDRATE_TABLE { RUBY_SERIAL_BAUD } |
| #define CONFIG_BAUD_RATE RUBY_SERIAL_BAUD |
| |
| /* Console */ |
| #define CONFIG_SYS_MAXARGS 16 /* Max number of command args */ |
| #define CONFIG_SYS_PROMPT "topaz>" |
| #define CONFIG_SYS_CBSIZE 256 /* Size of console buffer */ |
| #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buffer Size */ |
| |
| /* Environment */ |
| #define CONFIG_ENV_IS_IN_SPI_FLASH 1 |
| #define CONFIG_ENV_SIZE BOOT_CFG_SIZE |
| #define CONFIG_ENV_BASE_SIZE BOOT_CFG_BASE_SIZE |
| #define CONFIG_ENV_OVERWRITE |
| |
| /* pass bootargs through to linux kernel using a tag */ |
| #define CONFIG_CMDLINE_TAG |
| #define CONFIG_ATAGS_MAX_SIZE 512 |
| |
| /* Carrier ID */ |
| #define CONFIG_CARRIER_ID 0 |
| |
| #ifndef MK_STR |
| #define RUBY_MK_STR |
| #define XMK_STR(x) #x |
| #define MK_STR(x) XMK_STR(x) |
| #endif |
| |
| #define SAFETY_IMG_ADDR_ARG "safety_image_addr" |
| #define SAFETY_IMG_SIZE_ARG "safety_image_size" |
| #define LIVE_IMG_ADDR_ARG "live_image_addr" |
| #define LIVE_IMG_SIZE_ARG "live_image_size" |
| #define QTNBOOT_COPY_DRAM_ADDR RUBY_KERNEL_LOAD_DRAM_BEGIN |
| |
| #define CONFIG_BOOTCMD_BOOTARGS "setenv bootargs ${bootargs} hw_config_id=${hw_config_id}" |
| #define CONFIG_BOOTCMD_NET "bootcmd_net=" CONFIG_BOOTCMD_BOOTARGS " ; tftp ; bootm" |
| |
| #define CONFIG_EXTRA_ENV_SETTINGS "" |
| |
| #ifdef RUBY_MK_STR |
| #undef MK_STR |
| #undef XMK_STR |
| #endif |
| |
| /* Ethernet */ |
| #ifdef CONFIG_CMD_NET |
| #define CONFIG_NET_MULTI 1 |
| #define CONFIG_ARASAN_GBE 1 |
| #define CONFIG_IPADDR 192.168.1.100 |
| #define CONFIG_SERVERIP 192.168.1.2 |
| #define CONFIG_ETHADDR 30:46:9a:25:be:e4 |
| #define CONFIG_BOOTFILE "topaz-linux.lzma.img" |
| #ifndef PLATFORM_NOSPI |
| #define CONFIG_BOOTARGS "console=ttyS0,115200n8 earlyprintk=1" |
| #endif |
| #define CONFIG_BOOTCMD CONFIG_BOOTCMD_NET |
| #define CONFIG_NET_RETRY_COUNT 2 |
| #endif |
| |
| #ifdef PLATFORM_NOSPI |
| |
| #ifdef PLATFORM_NOSPI |
| #define CONFIG_NOSPI PLATFORM_NOSPI |
| #else |
| #define CONFIG_NOSPI "" |
| #endif /* #ifdef PLATFORM_NOSPI */ |
| |
| #ifdef PLATFORM_WMAC_MODE |
| #define CONFIG_WMAC_MODE PLATFORM_WMAC_MODE |
| #else |
| #define CONFIG_WMAC_MODE "" |
| #endif /* #ifdef PLATFORM_WMAC_MODE */ |
| |
| #define CONFIG_BOOTARGS \ |
| "console=ttyS0," \ |
| MK_STR(TOPAZ_SERIAL_BAUD) \ |
| "n8 earlyprintk=1 hw_config_id=" \ |
| MK_STR(DEFAULT_BOARD_ID) \ |
| " spi=" MK_STR(CONFIG_NOSPI) \ |
| " wmac_mode=" MK_STR(CONFIG_WMAC_MODE) |
| |
| #define CONFIG_HW_CONFIG_ID DEFAULT_BOARD_ID |
| |
| #endif /* #ifdef PLATFORM_NOSPI */ |
| |
| /* enable for emac switch feature */ |
| //#define EMAC_SWITCH |
| |
| /* enable for emac bonding */ |
| //#define EMAC_BOND_MASTER (0) /* 0 or 1 */ |
| |
| |
| #endif // #ifndef __RUBY_UBOOT_CONFIG_H |