mx28evk.h (41341221d12341a2ecfb280142d6478071738fc2) | mx28evk.h (5434caf5ba32d0779f309d7a8d13e985dc667f5b) |
---|---|
1/* 2 * (C) Copyright 2011 Freescale Semiconductor, Inc. 3 * Author: Fabio Estevam <fabio.estevam@freescale.com> 4 * 5 * Based on m28evk.h: 6 * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com> 7 * on behalf of DENX Software Engineering GmbH 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 */ | 1/* 2 * (C) Copyright 2011 Freescale Semiconductor, Inc. 3 * Author: Fabio Estevam <fabio.estevam@freescale.com> 4 * 5 * Based on m28evk.h: 6 * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com> 7 * on behalf of DENX Software Engineering GmbH 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 */ |
19#ifndef __MX28EVK_CONFIG_H__ 20#define __MX28EVK_CONFIG_H__ | 19#ifndef __CONFIGS_MX28EVK_H__ 20#define __CONFIGS_MX28EVK_H__ |
21 | 21 |
22/* SoC configurations */ | 22/* System configurations */ |
23#define CONFIG_MX28 /* i.MX28 SoC */ | 23#define CONFIG_MX28 /* i.MX28 SoC */ |
24 25#define CONFIG_MXS_GPIO /* GPIO control */ 26#define CONFIG_SYS_HZ 1000 /* Ticks per second */ 27 | |
28#define CONFIG_MACH_TYPE MACH_TYPE_MX28EVK | 24#define CONFIG_MACH_TYPE MACH_TYPE_MX28EVK |
25#define CONFIG_SYS_PROMPT "MX28EVK U-Boot > " |
|
29 | 26 |
30#include <asm/arch/regs-base.h> 31 32#define CONFIG_SYS_NO_FLASH 33#define CONFIG_BOARD_EARLY_INIT_F 34#define CONFIG_ARCH_MISC_INIT 35 36/* SPL */ 37#define CONFIG_SPL 38#define CONFIG_SPL_NO_CPU_SUPPORT_CODE 39#define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mxs" 40#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" 41#define CONFIG_SPL_LIBCOMMON_SUPPORT 42#define CONFIG_SPL_LIBGENERIC_SUPPORT 43#define CONFIG_SPL_GPIO_SUPPORT 44 | |
45/* U-Boot Commands */ | 27/* U-Boot Commands */ |
28#define CONFIG_SYS_NO_FLASH |
|
46#include <config_cmd_default.h> 47#define CONFIG_DISPLAY_CPUINFO 48#define CONFIG_DOS_PARTITION 49 50#define CONFIG_CMD_CACHE 51#define CONFIG_CMD_DATE 52#define CONFIG_CMD_DHCP 53#define CONFIG_CMD_FAT 54#define CONFIG_CMD_GPIO 55#define CONFIG_CMD_MII 56#define CONFIG_CMD_MMC 57#define CONFIG_CMD_NET 58#define CONFIG_CMD_NFS 59#define CONFIG_CMD_PING | 29#include <config_cmd_default.h> 30#define CONFIG_DISPLAY_CPUINFO 31#define CONFIG_DOS_PARTITION 32 33#define CONFIG_CMD_CACHE 34#define CONFIG_CMD_DATE 35#define CONFIG_CMD_DHCP 36#define CONFIG_CMD_FAT 37#define CONFIG_CMD_GPIO 38#define CONFIG_CMD_MII 39#define CONFIG_CMD_MMC 40#define CONFIG_CMD_NET 41#define CONFIG_CMD_NFS 42#define CONFIG_CMD_PING |
43#define CONFIG_CMD_SAVEENV |
|
60#define CONFIG_CMD_SETEXPR 61#define CONFIG_CMD_SF 62#define CONFIG_CMD_SPI 63#define CONFIG_CMD_USB 64#define CONFIG_CMD_BOOTZ 65#define CONFIG_CMD_NAND 66#define CONFIG_CMD_NAND_TRIMFFS 67#define CONFIG_VIDEO 68 | 44#define CONFIG_CMD_SETEXPR 45#define CONFIG_CMD_SF 46#define CONFIG_CMD_SPI 47#define CONFIG_CMD_USB 48#define CONFIG_CMD_BOOTZ 49#define CONFIG_CMD_NAND 50#define CONFIG_CMD_NAND_TRIMFFS 51#define CONFIG_VIDEO 52 |
69/* Memory configurations */ | 53/* Memory configuration */ |
70#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ 71#define PHYS_SDRAM_1 0x40000000 /* Base address */ 72#define PHYS_SDRAM_1_SIZE 0x40000000 /* Max 1 GB RAM */ | 54#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ 55#define PHYS_SDRAM_1 0x40000000 /* Base address */ 56#define PHYS_SDRAM_1_SIZE 0x40000000 /* Max 1 GB RAM */ |
73#define CONFIG_SYS_MALLOC_LEN 0x00400000 /* 4 MB for malloc */ 74#define CONFIG_SYS_MEMTEST_START 0x40000000 /* Memtest start adr */ 75#define CONFIG_SYS_MEMTEST_END 0x40400000 /* 4 MB RAM test */ | |
76#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 | 57#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 |
77/* Point initial SP in SRAM so SPL can use it too. */ | |
78 | 58 |
79#define CONFIG_SYS_INIT_RAM_ADDR 0x00000000 80#define CONFIG_SYS_INIT_RAM_SIZE (128 * 1024) 81 82#define CONFIG_SYS_INIT_SP_OFFSET \ 83 (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 84#define CONFIG_SYS_INIT_SP_ADDR \ 85 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 86 87/* 88 * We need to sacrifice first 4 bytes of RAM here to avoid triggering some 89 * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot 90 * binary. In case there was more of this mess, 0x100 bytes are skipped. 91 */ 92#define CONFIG_SYS_TEXT_BASE 0x40000100 93 | 59/* Environment */ 60#define CONFIG_ENV_SIZE (16 * 1024) |
94#define CONFIG_ENV_OVERWRITE | 61#define CONFIG_ENV_OVERWRITE |
95/* U-Boot general configurations */ 96#define CONFIG_SYS_LONGHELP 97#define CONFIG_SYS_PROMPT "MX28EVK U-Boot > " 98#define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */ 99#define CONFIG_SYS_PBSIZE \ 100 (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 101 /* Print buffer size */ 102#define CONFIG_SYS_MAXARGS 32 /* Max number of command args */ 103#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 104 /* Boot argument buffer size */ 105#define CONFIG_VERSION_VARIABLE /* U-BOOT version */ 106#define CONFIG_AUTO_COMPLETE /* Command auto complete */ 107#define CONFIG_CMDLINE_EDITING /* Command history etc */ 108#define CONFIG_SYS_HUSH_PARSER | |
109 | 62 |
110/* Serial Driver */ 111#define CONFIG_PL011_SERIAL 112#define CONFIG_PL011_CLOCK 24000000 113#define CONFIG_PL01x_PORTS { (void *)MXS_UARTDBG_BASE } 114#define CONFIG_CONS_INDEX 0 115#define CONFIG_BAUDRATE 115200 /* Default baud rate */ 116 117/* DMA */ 118#define CONFIG_APBH_DMA 119 120/* MMC Driver */ 121#ifdef CONFIG_ENV_IS_IN_MMC 122 #define CONFIG_ENV_OFFSET (256 * 1024) 123 #define CONFIG_ENV_SIZE (16 * 1024) 124 #define CONFIG_SYS_MMC_ENV_DEV 0 | 63/* Environment is in MMC */ 64#if defined(CONFIG_CMD_MMC) && defined(CONFIG_ENV_IS_IN_MMC) 65#define CONFIG_ENV_OFFSET (256 * 1024) 66#define CONFIG_SYS_MMC_ENV_DEV 0 |
125#endif | 67#endif |
126#define CONFIG_CMD_SAVEENV 127#ifdef CONFIG_CMD_MMC 128#define CONFIG_MMC 129#define CONFIG_GENERIC_MMC 130#define CONFIG_BOUNCE_BUFFER 131#define CONFIG_MXS_MMC 132#endif | |
133 | 68 |
134/* NAND Driver */ 135#define CONFIG_ENV_SIZE (16 * 1024) 136#ifdef CONFIG_CMD_NAND 137#define CONFIG_NAND_MXS 138#define CONFIG_SYS_MAX_NAND_DEVICE 1 139#define CONFIG_SYS_NAND_BASE 0x60000000 140#define CONFIG_SYS_NAND_5_ADDR_CYCLE 141 | |
142/* Environment is in NAND */ | 69/* Environment is in NAND */ |
143#ifdef CONFIG_ENV_IS_IN_NAND | 70#if defined(CONFIG_CMD_NAND) && defined(CONFIG_ENV_IS_IN_NAND) |
144#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 145#define CONFIG_ENV_SECT_SIZE (128 * 1024) 146#define CONFIG_ENV_RANGE (512 * 1024) 147#define CONFIG_ENV_OFFSET 0x300000 148#define CONFIG_ENV_OFFSET_REDUND \ 149 (CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE) 150#endif 151 | 71#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 72#define CONFIG_ENV_SECT_SIZE (128 * 1024) 73#define CONFIG_ENV_RANGE (512 * 1024) 74#define CONFIG_ENV_OFFSET 0x300000 75#define CONFIG_ENV_OFFSET_REDUND \ 76 (CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE) 77#endif 78 |
79/* Environemnt is in SPI flash */ 80#if defined(CONFIG_CMD_SF) && defined(CONFIG_ENV_IS_IN_SPI_FLASH) 81#define CONFIG_SYS_REDUNDAND_ENVIRONMENT 82#define CONFIG_ENV_SIZE 0x1000 /* 4KB */ 83#define CONFIG_ENV_OFFSET 0x40000 /* 256K */ 84#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 85#define CONFIG_ENV_SECT_SIZE 0x1000 86#define CONFIG_ENV_SPI_CS 0 87#define CONFIG_ENV_SPI_BUS 2 88#define CONFIG_ENV_SPI_MAX_HZ 24000000 89#define CONFIG_ENV_SPI_MODE SPI_MODE_0 90#endif 91 92/* UBI and NAND partitioning */ 93#ifdef CONFIG_CMD_NAND |
|
152#define CONFIG_CMD_UBI 153#define CONFIG_CMD_UBIFS 154#define CONFIG_CMD_MTDPARTS 155#define CONFIG_RBTREE 156#define CONFIG_LZO 157#define CONFIG_MTD_DEVICE 158#define CONFIG_MTD_PARTITIONS 159#define MTDIDS_DEFAULT "nand0=gpmi-nand" 160#define MTDPARTS_DEFAULT \ 161 "mtdparts=gpmi-nand:" \ 162 "3m(bootloader)ro," \ 163 "512k(environment)," \ 164 "512k(redundant-environment)," \ 165 "4m(kernel)," \ 166 "128k(fdt)," \ 167 "8m(ramdisk)," \ 168 "-(filesystem)" 169#endif 170 | 94#define CONFIG_CMD_UBI 95#define CONFIG_CMD_UBIFS 96#define CONFIG_CMD_MTDPARTS 97#define CONFIG_RBTREE 98#define CONFIG_LZO 99#define CONFIG_MTD_DEVICE 100#define CONFIG_MTD_PARTITIONS 101#define MTDIDS_DEFAULT "nand0=gpmi-nand" 102#define MTDPARTS_DEFAULT \ 103 "mtdparts=gpmi-nand:" \ 104 "3m(bootloader)ro," \ 105 "512k(environment)," \ 106 "512k(redundant-environment)," \ 107 "4m(kernel)," \ 108 "128k(fdt)," \ 109 "8m(ramdisk)," \ 110 "-(filesystem)" 111#endif 112 |
171/* Ethernet on SOC (FEC) */ | 113/* FEC Ethernet on SoC */ |
172#ifdef CONFIG_CMD_NET | 114#ifdef CONFIG_CMD_NET |
173#define CONFIG_NET_MULTI 174#define CONFIG_ETHPRIME "FEC0" | |
175#define CONFIG_FEC_MXC | 115#define CONFIG_FEC_MXC |
176#define CONFIG_MII 177#define CONFIG_FEC_XCV_TYPE RMII | 116#define CONFIG_NET_MULTI |
178#define CONFIG_MX28_FEC_MAC_IN_OCOTP 179#endif 180 181/* RTC */ 182#ifdef CONFIG_CMD_DATE 183#define CONFIG_RTC_MXS 184#endif 185 186/* USB */ 187#ifdef CONFIG_CMD_USB | 117#define CONFIG_MX28_FEC_MAC_IN_OCOTP 118#endif 119 120/* RTC */ 121#ifdef CONFIG_CMD_DATE 122#define CONFIG_RTC_MXS 123#endif 124 125/* USB */ 126#ifdef CONFIG_CMD_USB |
188#define CONFIG_USB_EHCI 189#define CONFIG_USB_EHCI_MXS | |
190#define CONFIG_EHCI_MXS_PORT1 191#define CONFIG_USB_MAX_CONTROLLER_COUNT 1 | 127#define CONFIG_EHCI_MXS_PORT1 128#define CONFIG_USB_MAX_CONTROLLER_COUNT 1 |
192#define CONFIG_EHCI_IS_TDI | |
193#define CONFIG_USB_STORAGE 194#define CONFIG_USB_HOST_ETHER 195#define CONFIG_USB_ETHER_ASIX 196#define CONFIG_USB_ETHER_SMSC95XX 197#endif 198 | 129#define CONFIG_USB_STORAGE 130#define CONFIG_USB_HOST_ETHER 131#define CONFIG_USB_ETHER_ASIX 132#define CONFIG_USB_ETHER_SMSC95XX 133#endif 134 |
199/* I2C */ 200#ifdef CONFIG_CMD_I2C 201#define CONFIG_I2C_MXS 202#define CONFIG_HARD_I2C 203#define CONFIG_SYS_I2C_SPEED 400000 204#endif 205 | |
206/* SPI */ 207#ifdef CONFIG_CMD_SPI | 135/* SPI */ 136#ifdef CONFIG_CMD_SPI |
208#define CONFIG_HARD_SPI 209#define CONFIG_MXS_SPI 210#define CONFIG_SPI_HALF_DUPLEX | |
211#define CONFIG_DEFAULT_SPI_BUS 2 212#define CONFIG_DEFAULT_SPI_MODE SPI_MODE_0 213 214/* SPI Flash */ 215#ifdef CONFIG_CMD_SF 216#define CONFIG_SPI_FLASH | 137#define CONFIG_DEFAULT_SPI_BUS 2 138#define CONFIG_DEFAULT_SPI_MODE SPI_MODE_0 139 140/* SPI Flash */ 141#ifdef CONFIG_CMD_SF 142#define CONFIG_SPI_FLASH |
217#define CONFIG_SF_DEFAULT_BUS 2 218#define CONFIG_SF_DEFAULT_CS 0 | 143#define CONFIG_SF_DEFAULT_BUS 2 144#define CONFIG_SF_DEFAULT_CS 0 |
219/* this may vary and depends on the installed chip */ 220#define CONFIG_SPI_FLASH_SST 221#define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 222#define CONFIG_SF_DEFAULT_SPEED 24000000 | 145/* this may vary and depends on the installed chip */ 146#define CONFIG_SPI_FLASH_SST 147#define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 148#define CONFIG_SF_DEFAULT_SPEED 24000000 |
149#endif |
|
223 | 150 |
224/* (redundant) environemnt in SPI flash */ 225#ifdef CONFIG_ENV_IS_IN_SPI_FLASH 226#define CONFIG_SYS_REDUNDAND_ENVIRONMENT 227#define CONFIG_ENV_SIZE 0x1000 /* 4KB */ 228#define CONFIG_ENV_OFFSET 0x40000 /* 256K */ 229#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 230#define CONFIG_ENV_SECT_SIZE 0x1000 231#define CONFIG_ENV_SPI_CS 0 232#define CONFIG_ENV_SPI_BUS 2 233#define CONFIG_ENV_SPI_MAX_HZ 24000000 234#define CONFIG_ENV_SPI_MODE SPI_MODE_0 | |
235#endif | 151#endif |
236#endif 237#endif | |
238 239/* Framebuffer support */ 240#ifdef CONFIG_VIDEO | 152 153/* Framebuffer support */ 154#ifdef CONFIG_VIDEO |
241#define CONFIG_CFB_CONSOLE 242#define CONFIG_VIDEO_MXS | |
243#define CONFIG_VIDEO_LOGO | 155#define CONFIG_VIDEO_LOGO |
244#define CONFIG_VIDEO_SW_CURSOR 245#define CONFIG_VGA_AS_SINGLE_DEVICE 246#define CONFIG_SYS_CONSOLE_IS_IN_ENV | |
247#define CONFIG_SPLASH_SCREEN 248#define CONFIG_CMD_BMP 249#define CONFIG_BMP_16BPP 250#define CONFIG_VIDEO_BMP_RLE8 251#define CONFIG_VIDEO_BMP_GZIP 252#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10) 253#endif 254 255/* Boot Linux */ | 156#define CONFIG_SPLASH_SCREEN 157#define CONFIG_CMD_BMP 158#define CONFIG_BMP_16BPP 159#define CONFIG_VIDEO_BMP_RLE8 160#define CONFIG_VIDEO_BMP_GZIP 161#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10) 162#endif 163 164/* Boot Linux */ |
256#define CONFIG_CMDLINE_TAG 257#define CONFIG_SETUP_MEMORY_TAGS | |
258#define CONFIG_BOOTDELAY 1 | 165#define CONFIG_BOOTDELAY 1 |
259#define CONFIG_BOOTFILE "uImage" 260#define CONFIG_LOADADDR 0x42000000 | 166#define CONFIG_BOOTFILE "uImage" 167#define CONFIG_LOADADDR 0x42000000 |
261#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR | 168#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR |
262#define CONFIG_OF_LIBFDT | |
263 | 169 |
264/* Extra Environments */ | 170/* Extra Environment */ |
265#define CONFIG_EXTRA_ENV_SETTINGS \ 266 "update_nand_full_filename=u-boot.nand\0" \ 267 "update_nand_firmware_filename=u-boot.sb\0" \ 268 "update_sd_firmware_filename=u-boot.sd\0" \ 269 "update_nand_firmware_maxsz=0x100000\0" \ 270 "update_nand_stride=0x40\0" /* MX28 datasheet ch. 12.12 */ \ 271 "update_nand_count=0x4\0" /* MX28 datasheet ch. 12.12 */ \ 272 "update_nand_get_fcb_size=" /* Get size of FCB blocks */ \ --- 94 unchanged lines hidden (view full) --- 367 "else " \ 368 "if run loaduimage; then " \ 369 "run mmcboot; " \ 370 "else run netboot; " \ 371 "fi; " \ 372 "fi; " \ 373 "else run netboot; fi" 374 | 171#define CONFIG_EXTRA_ENV_SETTINGS \ 172 "update_nand_full_filename=u-boot.nand\0" \ 173 "update_nand_firmware_filename=u-boot.sb\0" \ 174 "update_sd_firmware_filename=u-boot.sd\0" \ 175 "update_nand_firmware_maxsz=0x100000\0" \ 176 "update_nand_stride=0x40\0" /* MX28 datasheet ch. 12.12 */ \ 177 "update_nand_count=0x4\0" /* MX28 datasheet ch. 12.12 */ \ 178 "update_nand_get_fcb_size=" /* Get size of FCB blocks */ \ --- 94 unchanged lines hidden (view full) --- 273 "else " \ 274 "if run loaduimage; then " \ 275 "run mmcboot; " \ 276 "else run netboot; " \ 277 "fi; " \ 278 "fi; " \ 279 "else run netboot; fi" 280 |
375#endif /* __MX28EVK_CONFIG_H__ */ | 281/* The rest of the configuration is shared */ 282#include <configs/mxs.h> 283 284#endif /* __CONFIGS_MX28EVK_H__ */ |