~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/include/configs/mxs.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2013 Marek Vasut <marex@denx.de>
 
3
 *
 
4
 * This program is free software; you can redistribute it and/or
 
5
 * modify it under the terms of the GNU General Public License as
 
6
 * published by the Free Software Foundation; either version 2 of
 
7
 * the License, or (at your option) any later version.
 
8
 *
 
9
 * This program is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program; if not, write to the Free Software
 
16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 
17
 * MA 02111-1307 USA
 
18
 */
 
19
#ifndef __CONFIGS_MXS_H__
 
20
#define __CONFIGS_MXS_H__
 
21
 
 
22
/*
 
23
 * Includes
 
24
 */
 
25
 
 
26
#if defined(CONFIG_MX23) && defined(CONFIG_MX28)
 
27
#error Select either CONFIG_MX23 or CONFIG_MX28 , never both!
 
28
#elif !defined(CONFIG_MX23) && !defined(CONFIG_MX28)
 
29
#error Select one of CONFIG_MX23 or CONFIG_MX28 !
 
30
#endif
 
31
 
 
32
#include <asm/arch/regs-base.h>
 
33
 
 
34
#if defined(CONFIG_MX23)
 
35
#include <asm/arch/iomux-mx23.h>
 
36
#elif defined(CONFIG_MX28)
 
37
#include <asm/arch/iomux-mx28.h>
 
38
#endif
 
39
 
 
40
/*
 
41
 * CPU specifics
 
42
 */
 
43
 
 
44
/* MXS uses FDT */
 
45
#define CONFIG_OF_LIBFDT
 
46
 
 
47
/* Startup hooks */
 
48
#define CONFIG_BOARD_EARLY_INIT_F
 
49
#define CONFIG_ARCH_MISC_INIT
 
50
 
 
51
/* SPL */
 
52
#define CONFIG_SPL
 
53
#define CONFIG_SPL_NO_CPU_SUPPORT_CODE
 
54
#define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mxs"
 
55
#define CONFIG_SPL_LDSCRIPT     "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
 
56
#define CONFIG_SPL_LIBCOMMON_SUPPORT
 
57
#define CONFIG_SPL_LIBGENERIC_SUPPORT
 
58
#define CONFIG_SPL_GPIO_SUPPORT
 
59
 
 
60
/* Memory sizes */
 
61
#define CONFIG_SYS_MALLOC_LEN           0x00400000      /* 4 MB for malloc */
 
62
#define CONFIG_SYS_MEMTEST_START        0x40000000      /* Memtest start adr */
 
63
#define CONFIG_SYS_MEMTEST_END          0x40400000      /* 4 MB RAM test */
 
64
 
 
65
/* OCRAM at 0x0 ; 32kB on MX23 ; 128kB on MX28 */
 
66
#define CONFIG_SYS_INIT_RAM_ADDR        0x00000000
 
67
#if defined(CONFIG_MX23)
 
68
#define CONFIG_SYS_INIT_RAM_SIZE        (32 * 1024)
 
69
#elif defined(CONFIG_MX28)
 
70
#define CONFIG_SYS_INIT_RAM_SIZE        (128 * 1024)
 
71
#endif
 
72
 
 
73
/* Point initial SP in SRAM so SPL can use it too. */
 
74
#define CONFIG_SYS_INIT_SP_OFFSET \
 
75
        (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 
76
#define CONFIG_SYS_INIT_SP_ADDR \
 
77
        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
78
 
 
79
/*
 
80
 * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
 
81
 * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
 
82
 * binary. In case there was more of this mess, 0x100 bytes are skipped.
 
83
 *
 
84
 * In case of a HAB boot, we cannot for some weird reason use the first 4KiB
 
85
 * of DRAM when loading. Moreover, we use the first 4 KiB for IVT and CST
 
86
 * blocks, thus U-Boot starts at offset +8 KiB of DRAM start.
 
87
 *
 
88
 * As for the SPL, we must avoid the first 4 KiB as well, but we load the
 
89
 * IVT and CST to 0x8000, so we don't need to waste the subsequent 4 KiB.
 
90
 */
 
91
#define CONFIG_SYS_TEXT_BASE            0x40002000
 
92
#define CONFIG_SPL_TEXT_BASE            0x00001000
 
93
 
 
94
/* U-Boot general configuration */
 
95
#define CONFIG_SYS_LONGHELP
 
96
#ifndef CONFIG_SYS_PROMPT
 
97
#endif
 
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
#define CONFIG_SYS_PROMPT_HUSH_PS2      "> "
 
110
 
 
111
/* Booting Linux */
 
112
#define CONFIG_CMDLINE_TAG
 
113
#define CONFIG_SETUP_MEMORY_TAGS
 
114
 
 
115
/*
 
116
 * Drivers
 
117
 */
 
118
 
 
119
/* APBH DMA */
 
120
#define CONFIG_APBH_DMA
 
121
 
 
122
/* GPIO */
 
123
#define CONFIG_MXS_GPIO
 
124
 
 
125
/*
 
126
 * DUART Serial Driver.
 
127
 * Conflicts with AUART driver which can be set by board.
 
128
 */
 
129
#ifndef CONFIG_MXS_AUART
 
130
#define CONFIG_PL011_SERIAL
 
131
#define CONFIG_PL011_CLOCK              24000000
 
132
#define CONFIG_PL01x_PORTS              { (void *)MXS_UARTDBG_BASE }
 
133
#define CONFIG_CONS_INDEX               0
 
134
#endif
 
135
/* Default baudrate can be overriden by board! */
 
136
#ifndef CONFIG_BAUDRATE
 
137
#define CONFIG_BAUDRATE                 115200
 
138
#endif
 
139
 
 
140
/* FEC Ethernet on SoC */
 
141
#ifdef CONFIG_FEC_MXC
 
142
#define CONFIG_MII
 
143
#ifndef CONFIG_ETHPRIME
 
144
#define CONFIG_ETHPRIME                 "FEC0"
 
145
#endif
 
146
#ifndef CONFIG_FEC_XCV_TYPE
 
147
#define CONFIG_FEC_XCV_TYPE             RMII
 
148
#endif
 
149
#endif
 
150
 
 
151
/* I2C */
 
152
#ifdef CONFIG_CMD_I2C
 
153
#define CONFIG_I2C_MXS
 
154
#define CONFIG_HARD_I2C
 
155
#ifndef CONFIG_SYS_I2C_SPEED
 
156
#define CONFIG_SYS_I2C_SPEED            400000
 
157
#endif
 
158
#endif
 
159
 
 
160
/* LCD */
 
161
#ifdef CONFIG_VIDEO
 
162
#define CONFIG_CFB_CONSOLE
 
163
#define CONFIG_VIDEO_MXS
 
164
#define CONFIG_VIDEO_SW_CURSOR
 
165
#define CONFIG_VGA_AS_SINGLE_DEVICE
 
166
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 
167
#endif
 
168
 
 
169
/* MMC */
 
170
#ifdef CONFIG_CMD_MMC
 
171
#define CONFIG_MMC
 
172
#define CONFIG_GENERIC_MMC
 
173
#define CONFIG_BOUNCE_BUFFER
 
174
#define CONFIG_MXS_MMC
 
175
#endif
 
176
 
 
177
/* NAND */
 
178
#ifdef CONFIG_CMD_NAND
 
179
#define CONFIG_NAND_MXS
 
180
#define CONFIG_SYS_MAX_NAND_DEVICE      1
 
181
#define CONFIG_SYS_NAND_BASE            0x60000000
 
182
#define CONFIG_SYS_NAND_5_ADDR_CYCLE
 
183
#endif
 
184
 
 
185
/* OCOTP */
 
186
#ifdef CONFIG_CMD_FUSE
 
187
#define CONFIG_MXS_OCOTP
 
188
#endif
 
189
 
 
190
/* SPI */
 
191
#ifdef CONFIG_CMD_SPI
 
192
#define CONFIG_HARD_SPI
 
193
#define CONFIG_MXS_SPI
 
194
#define CONFIG_SPI_HALF_DUPLEX
 
195
#endif
 
196
 
 
197
/* USB */
 
198
#ifdef CONFIG_CMD_USB
 
199
#define CONFIG_USB_EHCI
 
200
#define CONFIG_USB_EHCI_MXS
 
201
#define CONFIG_EHCI_IS_TDI
 
202
#endif
 
203
 
 
204
#endif  /* __CONFIGS_MXS_H__ */