1*4e3349b6SMarek Vasut /* 2*4e3349b6SMarek Vasut * SchulerControl GmbH, SC_SPS_1 module config 3*4e3349b6SMarek Vasut * 4*4e3349b6SMarek Vasut * Copyright (C) 2012 Marek Vasut <marex@denx.de> 5*4e3349b6SMarek Vasut * on behalf of DENX Software Engineering GmbH 6*4e3349b6SMarek Vasut * 7*4e3349b6SMarek Vasut * This program is free software; you can redistribute it and/or 8*4e3349b6SMarek Vasut * modify it under the terms of the GNU General Public License as 9*4e3349b6SMarek Vasut * published by the Free Software Foundation; either version 2 of 10*4e3349b6SMarek Vasut * the License, or (at your option) any later version. 11*4e3349b6SMarek Vasut * 12*4e3349b6SMarek Vasut * This program is distributed in the hope that it will be useful, 13*4e3349b6SMarek Vasut * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*4e3349b6SMarek Vasut * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*4e3349b6SMarek Vasut * GNU General Public License for more details. 16*4e3349b6SMarek Vasut * 17*4e3349b6SMarek Vasut * You should have received a copy of the GNU General Public License 18*4e3349b6SMarek Vasut * along with this program; if not, write to the Free Software 19*4e3349b6SMarek Vasut * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20*4e3349b6SMarek Vasut * MA 02111-1307 USA 21*4e3349b6SMarek Vasut */ 22*4e3349b6SMarek Vasut #ifndef __SC_SPS_1_H__ 23*4e3349b6SMarek Vasut #define __SC_SPS_1_H__ 24*4e3349b6SMarek Vasut 25*4e3349b6SMarek Vasut #include <asm/arch/regs-base.h> 26*4e3349b6SMarek Vasut 27*4e3349b6SMarek Vasut /* 28*4e3349b6SMarek Vasut * SoC configurations 29*4e3349b6SMarek Vasut */ 30*4e3349b6SMarek Vasut #define CONFIG_MX28 /* i.MX28 SoC */ 31*4e3349b6SMarek Vasut #define CONFIG_MXS_GPIO /* GPIO control */ 32*4e3349b6SMarek Vasut #define CONFIG_SYS_HZ 1000 /* Ticks per second */ 33*4e3349b6SMarek Vasut 34*4e3349b6SMarek Vasut /* 35*4e3349b6SMarek Vasut * Define SC_SPS_1 machine type by hand until it lands in mach-types 36*4e3349b6SMarek Vasut */ 37*4e3349b6SMarek Vasut #define MACH_TYPE_SC_SPS_1 4172 38*4e3349b6SMarek Vasut 39*4e3349b6SMarek Vasut #define CONFIG_MACH_TYPE MACH_TYPE_SC_SPS_1 40*4e3349b6SMarek Vasut 41*4e3349b6SMarek Vasut #define CONFIG_SYS_NO_FLASH 42*4e3349b6SMarek Vasut #define CONFIG_SYS_ICACHE_OFF 43*4e3349b6SMarek Vasut #define CONFIG_SYS_DCACHE_OFF 44*4e3349b6SMarek Vasut #define CONFIG_BOARD_EARLY_INIT_F 45*4e3349b6SMarek Vasut #define CONFIG_ARCH_CPU_INIT 46*4e3349b6SMarek Vasut #define CONFIG_ARCH_MISC_INIT 47*4e3349b6SMarek Vasut 48*4e3349b6SMarek Vasut #define CONFIG_ENV_IS_IN_MMC 49*4e3349b6SMarek Vasut 50*4e3349b6SMarek Vasut #define CONFIG_OF_LIBFDT 51*4e3349b6SMarek Vasut 52*4e3349b6SMarek Vasut /* 53*4e3349b6SMarek Vasut * SPL 54*4e3349b6SMarek Vasut */ 55*4e3349b6SMarek Vasut #define CONFIG_SPL 56*4e3349b6SMarek Vasut #define CONFIG_SPL_NO_CPU_SUPPORT_CODE 57*4e3349b6SMarek Vasut #define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mx28" 58*4e3349b6SMarek Vasut #define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds" 59*4e3349b6SMarek Vasut #define CONFIG_SPL_LIBCOMMON_SUPPORT 60*4e3349b6SMarek Vasut #define CONFIG_SPL_LIBGENERIC_SUPPORT 61*4e3349b6SMarek Vasut #define CONFIG_SPL_GPIO_SUPPORT 62*4e3349b6SMarek Vasut 63*4e3349b6SMarek Vasut /* 64*4e3349b6SMarek Vasut * U-Boot Commands 65*4e3349b6SMarek Vasut */ 66*4e3349b6SMarek Vasut #include <config_cmd_default.h> 67*4e3349b6SMarek Vasut #define CONFIG_DISPLAY_CPUINFO 68*4e3349b6SMarek Vasut #define CONFIG_DOS_PARTITION 69*4e3349b6SMarek Vasut 70*4e3349b6SMarek Vasut #define CONFIG_CMD_CACHE 71*4e3349b6SMarek Vasut #define CONFIG_CMD_DHCP 72*4e3349b6SMarek Vasut #define CONFIG_CMD_EXT2 73*4e3349b6SMarek Vasut #define CONFIG_CMD_FAT 74*4e3349b6SMarek Vasut #define CONFIG_CMD_GPIO 75*4e3349b6SMarek Vasut #define CONFIG_CMD_MII 76*4e3349b6SMarek Vasut #define CONFIG_CMD_MMC 77*4e3349b6SMarek Vasut #define CONFIG_CMD_NET 78*4e3349b6SMarek Vasut #define CONFIG_CMD_NFS 79*4e3349b6SMarek Vasut #define CONFIG_CMD_PING 80*4e3349b6SMarek Vasut #define CONFIG_CMD_SETEXPR 81*4e3349b6SMarek Vasut #define CONFIG_CMD_USB 82*4e3349b6SMarek Vasut 83*4e3349b6SMarek Vasut /* 84*4e3349b6SMarek Vasut * Memory configurations 85*4e3349b6SMarek Vasut */ 86*4e3349b6SMarek Vasut #define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ 87*4e3349b6SMarek Vasut #define PHYS_SDRAM_1 0x40000000 /* Base address */ 88*4e3349b6SMarek Vasut #define PHYS_SDRAM_1_SIZE 0x40000000 /* Max 1 GB RAM */ 89*4e3349b6SMarek Vasut #define CONFIG_STACKSIZE 0x00010000 /* 128 KB stack */ 90*4e3349b6SMarek Vasut #define CONFIG_SYS_MALLOC_LEN 0x00400000 /* 4 MB for malloc */ 91*4e3349b6SMarek Vasut #define CONFIG_SYS_GBL_DATA_SIZE 128 /* Initial data */ 92*4e3349b6SMarek Vasut #define CONFIG_SYS_MEMTEST_START 0x40000000 /* Memtest start adr */ 93*4e3349b6SMarek Vasut #define CONFIG_SYS_MEMTEST_END 0x40400000 /* 4 MB RAM test */ 94*4e3349b6SMarek Vasut #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 95*4e3349b6SMarek Vasut 96*4e3349b6SMarek Vasut /* Point initial SP in SRAM so SPL can use it too. */ 97*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_RAM_ADDR 0x00000000 98*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE (128 * 1024) 99*4e3349b6SMarek Vasut 100*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_SP_OFFSET \ 101*4e3349b6SMarek Vasut (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 102*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_SP_ADDR \ 103*4e3349b6SMarek Vasut (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 104*4e3349b6SMarek Vasut /* 105*4e3349b6SMarek Vasut * We need to sacrifice first 4 bytes of RAM here to avoid triggering some 106*4e3349b6SMarek Vasut * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot 107*4e3349b6SMarek Vasut * binary. In case there was more of this mess, 0x100 bytes are skipped. 108*4e3349b6SMarek Vasut */ 109*4e3349b6SMarek Vasut #define CONFIG_SYS_TEXT_BASE 0x40000100 110*4e3349b6SMarek Vasut 111*4e3349b6SMarek Vasut /* 112*4e3349b6SMarek Vasut * U-Boot general configurations 113*4e3349b6SMarek Vasut */ 114*4e3349b6SMarek Vasut #define CONFIG_SYS_LONGHELP 115*4e3349b6SMarek Vasut #define CONFIG_SYS_PROMPT "=> " 116*4e3349b6SMarek Vasut #define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */ 117*4e3349b6SMarek Vasut #define CONFIG_SYS_PBSIZE \ 118*4e3349b6SMarek Vasut (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 119*4e3349b6SMarek Vasut /* Print buffer size */ 120*4e3349b6SMarek Vasut #define CONFIG_SYS_MAXARGS 32 /* Max number of command args */ 121*4e3349b6SMarek Vasut #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 122*4e3349b6SMarek Vasut /* Boot argument buffer size */ 123*4e3349b6SMarek Vasut #define CONFIG_VERSION_VARIABLE /* U-BOOT version */ 124*4e3349b6SMarek Vasut #define CONFIG_AUTO_COMPLETE /* Command auto complete */ 125*4e3349b6SMarek Vasut #define CONFIG_CMDLINE_EDITING /* Command history etc */ 126*4e3349b6SMarek Vasut #define CONFIG_SYS_HUSH_PARSER 127*4e3349b6SMarek Vasut #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " 128*4e3349b6SMarek Vasut 129*4e3349b6SMarek Vasut /* 130*4e3349b6SMarek Vasut * Serial Driver 131*4e3349b6SMarek Vasut */ 132*4e3349b6SMarek Vasut #define CONFIG_PL011_SERIAL 133*4e3349b6SMarek Vasut #define CONFIG_PL011_CLOCK 24000000 134*4e3349b6SMarek Vasut #define CONFIG_PL01x_PORTS { (void *)MXS_UARTDBG_BASE } 135*4e3349b6SMarek Vasut #define CONFIG_CONS_INDEX 0 136*4e3349b6SMarek Vasut #define CONFIG_BAUDRATE 115200 /* Default baud rate */ 137*4e3349b6SMarek Vasut #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } 138*4e3349b6SMarek Vasut 139*4e3349b6SMarek Vasut /* 140*4e3349b6SMarek Vasut * MMC Driver 141*4e3349b6SMarek Vasut */ 142*4e3349b6SMarek Vasut #ifdef CONFIG_CMD_MMC 143*4e3349b6SMarek Vasut #define CONFIG_APBH_DMA 144*4e3349b6SMarek Vasut #define CONFIG_MMC 145*4e3349b6SMarek Vasut #define CONFIG_MMC_BOUNCE_BUFFER 146*4e3349b6SMarek Vasut #define CONFIG_GENERIC_MMC 147*4e3349b6SMarek Vasut #define CONFIG_MXS_MMC 148*4e3349b6SMarek Vasut #endif 149*4e3349b6SMarek Vasut #define CONFIG_ENV_SIZE (16 * 1024) 150*4e3349b6SMarek Vasut #ifdef CONFIG_ENV_IS_IN_MMC 151*4e3349b6SMarek Vasut #define CONFIG_ENV_OFFSET (256 * 1024) 152*4e3349b6SMarek Vasut #define CONFIG_SYS_MMC_ENV_DEV 0 153*4e3349b6SMarek Vasut #else 154*4e3349b6SMarek Vasut #define CONFIG_ENV_IS_NOWHERE 155*4e3349b6SMarek Vasut #endif 156*4e3349b6SMarek Vasut 157*4e3349b6SMarek Vasut /* 158*4e3349b6SMarek Vasut * Ethernet on SOC (FEC) 159*4e3349b6SMarek Vasut */ 160*4e3349b6SMarek Vasut #ifdef CONFIG_CMD_NET 161*4e3349b6SMarek Vasut #define CONFIG_ETHPRIME "FEC0" 162*4e3349b6SMarek Vasut #define CONFIG_FEC_MXC 163*4e3349b6SMarek Vasut #define CONFIG_FEC_MXC_MULTI 164*4e3349b6SMarek Vasut #define CONFIG_MII 165*4e3349b6SMarek Vasut #define CONFIG_DISCOVER_PHY 166*4e3349b6SMarek Vasut #define CONFIG_FEC_XCV_TYPE RMII 167*4e3349b6SMarek Vasut #define CONFIG_PHYLIB 168*4e3349b6SMarek Vasut #define CONFIG_PHY_SMSC 169*4e3349b6SMarek Vasut #endif 170*4e3349b6SMarek Vasut 171*4e3349b6SMarek Vasut /* 172*4e3349b6SMarek Vasut * USB 173*4e3349b6SMarek Vasut */ 174*4e3349b6SMarek Vasut #ifdef CONFIG_CMD_USB 175*4e3349b6SMarek Vasut #define CONFIG_USB_EHCI 176*4e3349b6SMarek Vasut #define CONFIG_USB_EHCI_MXS 177*4e3349b6SMarek Vasut #define CONFIG_EHCI_MXS_PORT 0 178*4e3349b6SMarek Vasut #define CONFIG_EHCI_IS_TDI 179*4e3349b6SMarek Vasut #define CONFIG_USB_STORAGE 180*4e3349b6SMarek Vasut #endif 181*4e3349b6SMarek Vasut 182*4e3349b6SMarek Vasut /* 183*4e3349b6SMarek Vasut * Boot Linux 184*4e3349b6SMarek Vasut */ 185*4e3349b6SMarek Vasut #define CONFIG_CMDLINE_TAG 186*4e3349b6SMarek Vasut #define CONFIG_SETUP_MEMORY_TAGS 187*4e3349b6SMarek Vasut #define CONFIG_BOOTDELAY 3 188*4e3349b6SMarek Vasut #define CONFIG_BOOTFILE "uImage" 189*4e3349b6SMarek Vasut #define CONFIG_BOOTARGS "console=ttyAMA0,115200" 190*4e3349b6SMarek Vasut #define CONFIG_BOOTCOMMAND "bootm " 191*4e3349b6SMarek Vasut #define CONFIG_LOADADDR 0x42000000 192*4e3349b6SMarek Vasut #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 193*4e3349b6SMarek Vasut 194*4e3349b6SMarek Vasut /* 195*4e3349b6SMarek Vasut * Extra Environments 196*4e3349b6SMarek Vasut */ 197*4e3349b6SMarek Vasut #define CONFIG_EXTRA_ENV_SETTINGS \ 198*4e3349b6SMarek Vasut "update_sd_firmware_filename=u-boot.sd\0" \ 199*4e3349b6SMarek Vasut "update_sd_firmware=" /* Update the SD firmware partition */ \ 200*4e3349b6SMarek Vasut "if mmc rescan ; then " \ 201*4e3349b6SMarek Vasut "if tftp ${update_sd_firmware_filename} ; then " \ 202*4e3349b6SMarek Vasut "setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \ 203*4e3349b6SMarek Vasut "setexpr fw_sz ${fw_sz} + 1 ; " \ 204*4e3349b6SMarek Vasut "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \ 205*4e3349b6SMarek Vasut "fi ; " \ 206*4e3349b6SMarek Vasut "fi\0" 207*4e3349b6SMarek Vasut 208*4e3349b6SMarek Vasut #endif /* __SC_SPS_1_H__ */ 209