blob: 9c2eb05c04663e65a1da404eacb1d3003b901b9a [file] [log] [blame]
Marek Vasutebc827e2012-08-07 00:01:52 +00001/*
2 * SchulerControl GmbH, SC_SPS_1 module config
3 *
4 * Copyright (C) 2012 Marek Vasut <marex@denx.de>
5 * on behalf of DENX Software Engineering GmbH
6 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02007 * SPDX-License-Identifier: GPL-2.0+
Marek Vasutebc827e2012-08-07 00:01:52 +00008 */
9#ifndef __SC_SPS_1_H__
10#define __SC_SPS_1_H__
11
Marek Vasutebc827e2012-08-07 00:01:52 +000012/*
13 * SoC configurations
14 */
15#define CONFIG_MX28 /* i.MX28 SoC */
16#define CONFIG_MXS_GPIO /* GPIO control */
17#define CONFIG_SYS_HZ 1000 /* Ticks per second */
18
19/*
20 * Define SC_SPS_1 machine type by hand until it lands in mach-types
21 */
22#define MACH_TYPE_SC_SPS_1 4172
23
24#define CONFIG_MACH_TYPE MACH_TYPE_SC_SPS_1
25
Otavio Salvadorc6152242012-08-18 07:25:26 +000026#include <asm/arch/regs-base.h>
27
Marek Vasutebc827e2012-08-07 00:01:52 +000028#define CONFIG_SYS_NO_FLASH
Marek Vasutebc827e2012-08-07 00:01:52 +000029#define CONFIG_BOARD_EARLY_INIT_F
30#define CONFIG_ARCH_CPU_INIT
31#define CONFIG_ARCH_MISC_INIT
32
33#define CONFIG_ENV_IS_IN_MMC
34
35#define CONFIG_OF_LIBFDT
36
37/*
38 * SPL
39 */
40#define CONFIG_SPL
41#define CONFIG_SPL_NO_CPU_SUPPORT_CODE
Otavio Salvadorcd30e2f2012-08-09 04:12:44 +000042#define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mxs"
43#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
Marek Vasutebc827e2012-08-07 00:01:52 +000044#define CONFIG_SPL_LIBCOMMON_SUPPORT
45#define CONFIG_SPL_LIBGENERIC_SUPPORT
46#define CONFIG_SPL_GPIO_SUPPORT
47
48/*
49 * U-Boot Commands
50 */
51#include <config_cmd_default.h>
52#define CONFIG_DISPLAY_CPUINFO
53#define CONFIG_DOS_PARTITION
54
55#define CONFIG_CMD_CACHE
56#define CONFIG_CMD_DHCP
57#define CONFIG_CMD_EXT2
58#define CONFIG_CMD_FAT
59#define CONFIG_CMD_GPIO
60#define CONFIG_CMD_MII
61#define CONFIG_CMD_MMC
62#define CONFIG_CMD_NET
63#define CONFIG_CMD_NFS
64#define CONFIG_CMD_PING
65#define CONFIG_CMD_SETEXPR
66#define CONFIG_CMD_USB
67
68/*
69 * Memory configurations
70 */
71#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */
72#define PHYS_SDRAM_1 0x40000000 /* Base address */
73#define PHYS_SDRAM_1_SIZE 0x40000000 /* Max 1 GB RAM */
74#define CONFIG_STACKSIZE 0x00010000 /* 128 KB stack */
75#define CONFIG_SYS_MALLOC_LEN 0x00400000 /* 4 MB for malloc */
76#define CONFIG_SYS_GBL_DATA_SIZE 128 /* Initial data */
77#define CONFIG_SYS_MEMTEST_START 0x40000000 /* Memtest start adr */
78#define CONFIG_SYS_MEMTEST_END 0x40400000 /* 4 MB RAM test */
79#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
80
81/* Point initial SP in SRAM so SPL can use it too. */
82#define CONFIG_SYS_INIT_RAM_ADDR 0x00000000
83#define CONFIG_SYS_INIT_RAM_SIZE (128 * 1024)
84
85#define CONFIG_SYS_INIT_SP_OFFSET \
86 (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
87#define CONFIG_SYS_INIT_SP_ADDR \
88 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
89/*
90 * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
91 * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
92 * binary. In case there was more of this mess, 0x100 bytes are skipped.
93 */
94#define CONFIG_SYS_TEXT_BASE 0x40000100
95
96/*
97 * U-Boot general configurations
98 */
99#define CONFIG_SYS_LONGHELP
100#define CONFIG_SYS_PROMPT "=> "
101#define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */
102#define CONFIG_SYS_PBSIZE \
103 (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
104 /* Print buffer size */
105#define CONFIG_SYS_MAXARGS 32 /* Max number of command args */
106#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
107 /* Boot argument buffer size */
108#define CONFIG_VERSION_VARIABLE /* U-BOOT version */
109#define CONFIG_AUTO_COMPLETE /* Command auto complete */
110#define CONFIG_CMDLINE_EDITING /* Command history etc */
111#define CONFIG_SYS_HUSH_PARSER
112#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
113
114/*
115 * Serial Driver
116 */
117#define CONFIG_PL011_SERIAL
118#define CONFIG_PL011_CLOCK 24000000
119#define CONFIG_PL01x_PORTS { (void *)MXS_UARTDBG_BASE }
120#define CONFIG_CONS_INDEX 0
121#define CONFIG_BAUDRATE 115200 /* Default baud rate */
122#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
123
124/*
125 * MMC Driver
126 */
127#ifdef CONFIG_CMD_MMC
128#define CONFIG_APBH_DMA
129#define CONFIG_MMC
Stephen Warrend9117752012-11-06 11:27:27 +0000130#define CONFIG_BOUNCE_BUFFER
Marek Vasutebc827e2012-08-07 00:01:52 +0000131#define CONFIG_GENERIC_MMC
132#define CONFIG_MXS_MMC
133#endif
134#define CONFIG_ENV_SIZE (16 * 1024)
135#ifdef CONFIG_ENV_IS_IN_MMC
136#define CONFIG_ENV_OFFSET (256 * 1024)
137#define CONFIG_SYS_MMC_ENV_DEV 0
138#else
139#define CONFIG_ENV_IS_NOWHERE
140#endif
141
142/*
143 * Ethernet on SOC (FEC)
144 */
145#ifdef CONFIG_CMD_NET
146#define CONFIG_ETHPRIME "FEC0"
147#define CONFIG_FEC_MXC
Marek Vasutebc827e2012-08-07 00:01:52 +0000148#define CONFIG_MII
Marek Vasutebc827e2012-08-07 00:01:52 +0000149#define CONFIG_FEC_XCV_TYPE RMII
150#define CONFIG_PHYLIB
151#define CONFIG_PHY_SMSC
152#endif
153
154/*
155 * USB
156 */
157#ifdef CONFIG_CMD_USB
158#define CONFIG_USB_EHCI
159#define CONFIG_USB_EHCI_MXS
Marek Vasut191a2ce2013-02-23 02:43:02 +0000160#define CONFIG_EHCI_MXS_PORT0
161#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
Marek Vasutebc827e2012-08-07 00:01:52 +0000162#define CONFIG_EHCI_IS_TDI
163#define CONFIG_USB_STORAGE
164#endif
165
166/*
167 * Boot Linux
168 */
169#define CONFIG_CMDLINE_TAG
170#define CONFIG_SETUP_MEMORY_TAGS
171#define CONFIG_BOOTDELAY 3
172#define CONFIG_BOOTFILE "uImage"
173#define CONFIG_BOOTARGS "console=ttyAMA0,115200"
174#define CONFIG_BOOTCOMMAND "bootm "
175#define CONFIG_LOADADDR 0x42000000
176#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
177
178/*
179 * Extra Environments
180 */
181#define CONFIG_EXTRA_ENV_SETTINGS \
182 "update_sd_firmware_filename=u-boot.sd\0" \
183 "update_sd_firmware=" /* Update the SD firmware partition */ \
184 "if mmc rescan ; then " \
185 "if tftp ${update_sd_firmware_filename} ; then " \
186 "setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \
187 "setexpr fw_sz ${fw_sz} + 1 ; " \
188 "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
189 "fi ; " \
190 "fi\0"
191
192#endif /* __SC_SPS_1_H__ */