Blame view

include/configs/at91sam9m10g45ek.h 6.85 KB
22ee64738   Sedji Gaouaou   at91: Introductio...
1
2
  /*
   * (C) Copyright 2007-2008
c9e798d35   Stelian Pop   Fix Stelian's ema...
3
   * Stelian Pop <stelian@popies.net>
22ee64738   Sedji Gaouaou   at91: Introductio...
4
5
6
7
   * Lead Tech Design <www.leadtechdesign.com>
   *
   * Configuation settings for the AT91SAM9M10G45EK board(and AT91SAM9G45EKES).
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
8
   * SPDX-License-Identifier:	GPL-2.0+
22ee64738   Sedji Gaouaou   at91: Introductio...
9
10
11
12
   */
  
  #ifndef __CONFIG_H
  #define __CONFIG_H
5cfeec512   Thomas Petazzoni   atmel: Update sup...
13
  #include <asm/hardware.h>
77461a653   Bo Shen   arm: atmel: remov...
14
  #define CONFIG_SYS_TEXT_BASE		0x73f00000
5cfeec512   Thomas Petazzoni   atmel: Update sup...
15
  #define CONFIG_ATMEL_LEGACY		/* required until (g)pio is fixed */
425de62d4   Jens Scharsig   add new CONFIG_AT...
16

22ee64738   Sedji Gaouaou   at91: Introductio...
17
  /* ARM asynchronous clock */
5cfeec512   Thomas Petazzoni   atmel: Update sup...
18
19
  #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
  #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
5cfeec512   Thomas Petazzoni   atmel: Update sup...
20
21
  
  #define CONFIG_AT91SAM9M10G45EK
22ee64738   Sedji Gaouaou   at91: Introductio...
22

5cfeec512   Thomas Petazzoni   atmel: Update sup...
23
24
25
  #define CONFIG_CMDLINE_TAG		/* enable passing of ATAGs	*/
  #define CONFIG_SETUP_MEMORY_TAGS
  #define CONFIG_INITRD_TAG
22ee64738   Sedji Gaouaou   at91: Introductio...
26
  #define CONFIG_SKIP_LOWLEVEL_INIT
5cfeec512   Thomas Petazzoni   atmel: Update sup...
27
28
  #define CONFIG_BOARD_EARLY_INIT_F
  #define CONFIG_DISPLAY_CPUINFO
f9129fe33   Nicolas Ferre   arm: at91/configs...
29
  #define CONFIG_CMD_BOOTZ
dc3e30bab   Bo Shen   Atmel: sam9g10/9m...
30
  #define CONFIG_OF_LIBFDT
68f164772   Bo Shen   ARM: atmel: at91s...
31

5cfeec512   Thomas Petazzoni   atmel: Update sup...
32
33
34
35
36
37
38
39
40
  /* general purpose I/O */
  #define CONFIG_ATMEL_LEGACY		/* required until (g)pio is fixed */
  #define CONFIG_AT91_GPIO
  #define CONFIG_AT91_GPIO_PULLUP	1	/* keep pullups on peripheral pins */
  
  /* serial console */
  #define CONFIG_ATMEL_USART
  #define CONFIG_USART_BASE		ATMEL_BASE_DBGU
  #define	CONFIG_USART_ID			ATMEL_ID_SYS
22ee64738   Sedji Gaouaou   at91: Introductio...
41
  /* LCD */
5cfeec512   Thomas Petazzoni   atmel: Update sup...
42
  #define CONFIG_LCD
22ee64738   Sedji Gaouaou   at91: Introductio...
43
  #define LCD_BPP				LCD_COLOR8
5cfeec512   Thomas Petazzoni   atmel: Update sup...
44
  #define CONFIG_LCD_LOGO
22ee64738   Sedji Gaouaou   at91: Introductio...
45
  #undef LCD_TEST_PATTERN
5cfeec512   Thomas Petazzoni   atmel: Update sup...
46
47
48
49
50
51
  #define CONFIG_LCD_INFO
  #define CONFIG_LCD_INFO_BELOW_LOGO
  #define CONFIG_SYS_WHITE_ON_BLACK
  #define CONFIG_ATMEL_LCD
  #define CONFIG_ATMEL_LCD_RGB565
  #define CONFIG_SYS_CONSOLE_IS_IN_ENV
22ee64738   Sedji Gaouaou   at91: Introductio...
52
53
54
55
56
57
58
59
60
61
62
63
64
  /* board specific(not enough SRAM) */
  #define CONFIG_AT91SAM9G45_LCD_BASE		0x73E00000
  
  /* LED */
  #define CONFIG_AT91_LED
  #define	CONFIG_RED_LED		AT91_PIN_PD31	/* this is the user1 led */
  #define	CONFIG_GREEN_LED	AT91_PIN_PD0	/* this is the user2 led */
  
  #define CONFIG_BOOTDELAY	3
  
  /*
   * BOOTP options
   */
5cfeec512   Thomas Petazzoni   atmel: Update sup...
65
66
67
68
  #define CONFIG_BOOTP_BOOTFILESIZE
  #define CONFIG_BOOTP_BOOTPATH
  #define CONFIG_BOOTP_GATEWAY
  #define CONFIG_BOOTP_HOSTNAME
22ee64738   Sedji Gaouaou   at91: Introductio...
69
70
71
72
  
  /*
   * Command line configuration.
   */
782358fb7   Bo Shen   arm: atmel: sam9m...
73
74
75
  
  /* No NOR flash */
  #define CONFIG_SYS_NO_FLASH
5cfeec512   Thomas Petazzoni   atmel: Update sup...
76
77
78
79
  #define CONFIG_CMD_PING
  #define CONFIG_CMD_DHCP
  #define CONFIG_CMD_NAND
  #define CONFIG_CMD_USB
22ee64738   Sedji Gaouaou   at91: Introductio...
80
81
82
  
  /* SDRAM */
  #define CONFIG_NR_DRAM_BANKS		1
5cfeec512   Thomas Petazzoni   atmel: Update sup...
83
84
  #define CONFIG_SYS_SDRAM_BASE           ATMEL_BASE_CS6
  #define CONFIG_SYS_SDRAM_SIZE		0x08000000
22ee64738   Sedji Gaouaou   at91: Introductio...
85

5cfeec512   Thomas Petazzoni   atmel: Update sup...
86
87
  #define CONFIG_SYS_INIT_SP_ADDR \
  	(CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
22ee64738   Sedji Gaouaou   at91: Introductio...
88
89
  /* NAND flash */
  #ifdef CONFIG_CMD_NAND
22ee64738   Sedji Gaouaou   at91: Introductio...
90
91
  #define CONFIG_NAND_ATMEL
  #define CONFIG_SYS_MAX_NAND_DEVICE		1
5cfeec512   Thomas Petazzoni   atmel: Update sup...
92
93
  #define CONFIG_SYS_NAND_BASE			ATMEL_BASE_CS3
  #define CONFIG_SYS_NAND_DBW_8
22ee64738   Sedji Gaouaou   at91: Introductio...
94
95
96
97
98
99
  /* our ALE is AD21 */
  #define CONFIG_SYS_NAND_MASK_ALE		(1 << 21)
  /* our CLE is AD22 */
  #define CONFIG_SYS_NAND_MASK_CLE		(1 << 22)
  #define CONFIG_SYS_NAND_ENABLE_PIN		AT91_PIN_PC14
  #define CONFIG_SYS_NAND_READY_PIN		AT91_PIN_PC8
2eb99ca80   Wolfgang Denk   NAND: Part 2: Fix...
100

22ee64738   Sedji Gaouaou   at91: Introductio...
101
  #endif
cf874c190   Wu, Josh   ARM: at91sam9m10g...
102
103
104
105
106
107
108
109
110
111
112
113
114
  /* MMC */
  #define CONFIG_CMD_MMC
  
  #ifdef CONFIG_CMD_MMC
  #define CONFIG_MMC
  #define CONFIG_GENERIC_MMC
  #define CONFIG_GENERIC_ATMEL_MCI
  #endif
  
  #if defined(CONFIG_CMD_USB) || defined(CONFIG_CMD_MMC)
  #define CONFIG_CMD_FAT
  #define CONFIG_DOS_PARTITION
  #endif
22ee64738   Sedji Gaouaou   at91: Introductio...
115
  /* Ethernet */
5cfeec512   Thomas Petazzoni   atmel: Update sup...
116
117
  #define CONFIG_MACB
  #define CONFIG_RMII
22ee64738   Sedji Gaouaou   at91: Introductio...
118
  #define CONFIG_NET_RETRY_COUNT		20
5cfeec512   Thomas Petazzoni   atmel: Update sup...
119
  #define CONFIG_RESET_PHY_R
4535a24c0   Heiko Schocher   arm926ejs, at91: ...
120
  #define CONFIG_AT91_WANTS_COMMON_PHY
22ee64738   Sedji Gaouaou   at91: Introductio...
121
122
  
  /* USB */
e1edd0659   Bo Shen   AT91: at91sam9m10...
123
124
125
  #define CONFIG_USB_EHCI
  #define CONFIG_USB_EHCI_ATMEL
  #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS	2
5cfeec512   Thomas Petazzoni   atmel: Update sup...
126
  #define CONFIG_USB_STORAGE
22ee64738   Sedji Gaouaou   at91: Introductio...
127

5cfeec512   Thomas Petazzoni   atmel: Update sup...
128
  #define CONFIG_SYS_LOAD_ADDR		0x22000000	/* load address */
22ee64738   Sedji Gaouaou   at91: Introductio...
129

5cfeec512   Thomas Petazzoni   atmel: Update sup...
130
131
  #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
  #define CONFIG_SYS_MEMTEST_END		0x23e00000
22ee64738   Sedji Gaouaou   at91: Introductio...
132

9637a1bb8   Wu, Josh   ARM: at91sam9m10g...
133
  #ifdef CONFIG_SYS_USE_NANDFLASH
5cfeec512   Thomas Petazzoni   atmel: Update sup...
134
135
  /* bootstrap + u-boot + env in nandflash */
  #define CONFIG_ENV_IS_IN_NAND
0c58cfa9d   Bo Shen   ARM: at91: change...
136
137
  #define CONFIG_ENV_OFFSET		0xc0000
  #define CONFIG_ENV_OFFSET_REDUND	0x100000
5cfeec512   Thomas Petazzoni   atmel: Update sup...
138
  #define CONFIG_ENV_SIZE			0x20000
0c58cfa9d   Bo Shen   ARM: at91: change...
139
140
  #define CONFIG_BOOTCOMMAND						\
  	"nand read 0x70000000 0x200000 0x300000;"			\
5cfeec512   Thomas Petazzoni   atmel: Update sup...
141
142
143
  	"bootm 0x70000000"
  #define CONFIG_BOOTARGS							\
  	"console=ttyS0,115200 earlyprintk "				\
0c58cfa9d   Bo Shen   ARM: at91: change...
144
145
146
147
  	"mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,"		\
  	"256k(env),256k(env_redundant),256k(spare),"			\
  	"512k(dtb),6M(kernel)ro,-(rootfs) "				\
  	"root=/dev/mtdblock7 rw rootfstype=jffs2"
9637a1bb8   Wu, Josh   ARM: at91sam9m10g...
148
149
150
  #elif CONFIG_SYS_USE_MMC
  /* bootstrap + u-boot + env + linux in mmc */
  #define FAT_ENV_INTERFACE	"mmc"
be354c1a2   Wu, Josh   env_fat: use get_...
151
152
153
154
155
156
  /*
   * We don't specify the part number, if device 0 has partition table, it means
   * the first partition; it no partition table, then take whole device as a
   * FAT file system.
   */
  #define FAT_ENV_DEVICE_AND_PART	"0"
9637a1bb8   Wu, Josh   ARM: at91sam9m10g...
157
158
159
160
161
162
163
164
165
166
167
168
169
  #define FAT_ENV_FILE		"uboot.env"
  #define CONFIG_ENV_IS_IN_FAT
  #define CONFIG_FAT_WRITE
  #define CONFIG_ENV_SIZE		0x4000
  
  #define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
  				"mtdparts=atmel_nand:" \
  				"8M(bootstrap/uboot/kernel)ro,-(rootfs) " \
  				"root=/dev/mmcblk0p2 rw rootwait"
  #define CONFIG_BOOTCOMMAND	"fatload mmc 0:1 0x71000000 dtb; " \
  				"fatload mmc 0:1 0x72000000 zImage; " \
  				"bootz 0x72000000 - 0x71000000"
  #endif
5cfeec512   Thomas Petazzoni   atmel: Update sup...
170
171
  
  #define CONFIG_BAUDRATE			115200
22ee64738   Sedji Gaouaou   at91: Introductio...
172

22ee64738   Sedji Gaouaou   at91: Introductio...
173
174
  #define CONFIG_SYS_CBSIZE		256
  #define CONFIG_SYS_MAXARGS		16
5cfeec512   Thomas Petazzoni   atmel: Update sup...
175
176
  #define CONFIG_SYS_LONGHELP
  #define CONFIG_CMDLINE_EDITING
22ee64738   Sedji Gaouaou   at91: Introductio...
177
178
  #define CONFIG_AUTO_COMPLETE
  #define CONFIG_SYS_HUSH_PARSER
22ee64738   Sedji Gaouaou   at91: Introductio...
179

22ee64738   Sedji Gaouaou   at91: Introductio...
180
181
182
183
  /*
   * Size of malloc() pool
   */
  #define CONFIG_SYS_MALLOC_LEN		ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
22ee64738   Sedji Gaouaou   at91: Introductio...
184

41d41a93f   Bo Shen   ARM: atmel: at91s...
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
  /* Defines for SPL */
  #define CONFIG_SPL_FRAMEWORK
  #define CONFIG_SPL_TEXT_BASE		0x300000
  #define CONFIG_SPL_MAX_SIZE		0x010000
  #define CONFIG_SPL_STACK		0x310000
  
  #define CONFIG_SPL_LIBCOMMON_SUPPORT
  #define CONFIG_SPL_LIBGENERIC_SUPPORT
  #define CONFIG_SPL_SERIAL_SUPPORT
  #define CONFIG_SPL_GPIO_SUPPORT
  
  #define CONFIG_SYS_MONITOR_LEN		0x80000
  
  #ifdef CONFIG_SYS_USE_MMC
  
  #define CONFIG_SPL_BSS_START_ADDR	0x70000000
  #define CONFIG_SPL_BSS_MAX_SIZE		0x00080000
  #define CONFIG_SYS_SPL_MALLOC_START	0x70080000
  #define CONFIG_SYS_SPL_MALLOC_SIZE	0x00080000
  
  #define CONFIG_SPL_LDSCRIPT		arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
  #define CONFIG_SPL_MMC_SUPPORT
  #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS	0x400
  #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200
  #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	1
  #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME		"u-boot.img"
  #define CONFIG_SPL_FAT_SUPPORT
  #define CONFIG_SPL_LIBDISK_SUPPORT
  
  #elif CONFIG_SYS_USE_NANDFLASH
  #define CONFIG_SPL_NAND_SUPPORT
  #define CONFIG_SPL_NAND_DRIVERS
  #define CONFIG_SPL_NAND_BASE
  #define CONFIG_SPL_NAND_ECC
  #define CONFIG_SPL_NAND_SOFTECC
  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x40000
  #define CONFIG_SYS_NAND_U_BOOT_SIZE	0x80000
  #define CONFIG_SYS_NAND_5_ADDR_CYCLE
  
  #define CONFIG_SYS_NAND_PAGE_SIZE	0x800
  #define CONFIG_SYS_NAND_BLOCK_SIZE	0x20000
  #define CONFIG_SYS_NAND_PAGE_COUNT	64
  #define CONFIG_SYS_NAND_BAD_BLOCK_POS	NAND_LARGE_BADBLOCK_POS
  #define CONFIG_SYS_NAND_ECCSIZE		256
  #define CONFIG_SYS_NAND_ECCBYTES	3
  #define CONFIG_SYS_NAND_OOBSIZE		64
  #define CONFIG_SYS_NAND_ECCPOS		{ 40, 41, 42, 43, 44, 45, 46, 47, \
  					  48, 49, 50, 51, 52, 53, 54, 55, \
  					  56, 57, 58, 59, 60, 61, 62, 63, }
  #endif
  
  #define CONFIG_SPL_ATMEL_SIZE
  #define CONFIG_SYS_MASTER_CLOCK		132096000
  #define CONFIG_SYS_AT91_PLLA		0x20c73f03
  #define CONFIG_SYS_MCKR			0x1301
  #define CONFIG_SYS_MCKR_CSS		0x1302
22ee64738   Sedji Gaouaou   at91: Introductio...
241
  #endif