xref: /rk3399_rockchip-uboot/include/configs/usb_a9263.h (revision 1dcdd86205708d3ab9f0dc3a2d6b5fa12b16fde4)
1*1dcdd862SMateusz Kulikowski /*
2*1dcdd862SMateusz Kulikowski  * (C) Copyright 2007-2013
3*1dcdd862SMateusz Kulikowski  * Stelian Pop <stelian.pop@leadtechdesign.com>
4*1dcdd862SMateusz Kulikowski  * Lead Tech Design <www.leadtechdesign.com>
5*1dcdd862SMateusz Kulikowski  * Thomas Petazzoni, Free Electrons, <thomas.petazzoni@free-electrons.com>
6*1dcdd862SMateusz Kulikowski  * Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
7*1dcdd862SMateusz Kulikowski  *
8*1dcdd862SMateusz Kulikowski  * Settings for Calao USB-A9263 board
9*1dcdd862SMateusz Kulikowski  *
10*1dcdd862SMateusz Kulikowski  * U-Boot image has to be less than 200704 bytes, otherwise at91bootstrap
11*1dcdd862SMateusz Kulikowski  * installed on board will not be able to load it properly.
12*1dcdd862SMateusz Kulikowski  *
13*1dcdd862SMateusz Kulikowski  * SPDX-License-Identifier:	GPL-2.0+
14*1dcdd862SMateusz Kulikowski  */
15*1dcdd862SMateusz Kulikowski 
16*1dcdd862SMateusz Kulikowski #ifndef __CONFIG_H
17*1dcdd862SMateusz Kulikowski #define __CONFIG_H
18*1dcdd862SMateusz Kulikowski #include <asm/hardware.h>
19*1dcdd862SMateusz Kulikowski 
20*1dcdd862SMateusz Kulikowski /* ARM asynchronous clock */
21*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_AT91_MAIN_CLOCK	12000000	/* 12 MHz crystal */
22*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_AT91_SLOW_CLOCK	32768
23*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_HZ			1000
24*1dcdd862SMateusz Kulikowski 
25*1dcdd862SMateusz Kulikowski #define CONFIG_MACH_TYPE		MACH_TYPE_USB_A9263
26*1dcdd862SMateusz Kulikowski 
27*1dcdd862SMateusz Kulikowski #define CONFIG_ARCH_CPU_INIT
28*1dcdd862SMateusz Kulikowski 
29*1dcdd862SMateusz Kulikowski #define CONFIG_CMDLINE_TAG	/* enable passing of ATAGs      */
30*1dcdd862SMateusz Kulikowski #define CONFIG_SETUP_MEMORY_TAGS
31*1dcdd862SMateusz Kulikowski #define CONFIG_INITRD_TAG
32*1dcdd862SMateusz Kulikowski 
33*1dcdd862SMateusz Kulikowski #define CONFIG_SKIP_LOWLEVEL_INIT
34*1dcdd862SMateusz Kulikowski 
35*1dcdd862SMateusz Kulikowski #define CONFIG_DISPLAY_CPUINFO
36*1dcdd862SMateusz Kulikowski 
37*1dcdd862SMateusz Kulikowski #define CONFIG_OF_LIBFDT
38*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_GENERIC_BOARD
39*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_TEXT_BASE		0x23f00000
40*1dcdd862SMateusz Kulikowski 
41*1dcdd862SMateusz Kulikowski /*
42*1dcdd862SMateusz Kulikowski  * Hardware drivers
43*1dcdd862SMateusz Kulikowski  */
44*1dcdd862SMateusz Kulikowski #define CONFIG_AT91_GPIO
45*1dcdd862SMateusz Kulikowski 
46*1dcdd862SMateusz Kulikowski /* serial console */
47*1dcdd862SMateusz Kulikowski #define CONFIG_ATMEL_USART
48*1dcdd862SMateusz Kulikowski #define CONFIG_USART_BASE		ATMEL_BASE_DBGU
49*1dcdd862SMateusz Kulikowski #define CONFIG_USART_ID			ATMEL_ID_SYS
50*1dcdd862SMateusz Kulikowski #define CONFIG_BAUDRATE			115200
51*1dcdd862SMateusz Kulikowski 
52*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTDELAY 3
53*1dcdd862SMateusz Kulikowski 
54*1dcdd862SMateusz Kulikowski /*
55*1dcdd862SMateusz Kulikowski  * BOOTP options
56*1dcdd862SMateusz Kulikowski  */
57*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_BOOTFILESIZE
58*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_BOOTPATH
59*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_GATEWAY
60*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_HOSTNAME
61*1dcdd862SMateusz Kulikowski 
62*1dcdd862SMateusz Kulikowski /*
63*1dcdd862SMateusz Kulikowski  * Command line configuration.
64*1dcdd862SMateusz Kulikowski  */
65*1dcdd862SMateusz Kulikowski #include <config_cmd_default.h>
66*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_BDI
67*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_FPGA
68*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_IMI
69*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_IMLS
70*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_ITEST
71*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_LOADB
72*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_LOADS
73*1dcdd862SMateusz Kulikowski 
74*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_PING
75*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_DHCP
76*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_NAND
77*1dcdd862SMateusz Kulikowski 
78*1dcdd862SMateusz Kulikowski /* SDRAM */
79*1dcdd862SMateusz Kulikowski #define CONFIG_NR_DRAM_BANKS		1
80*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_SDRAM_BASE		ATMEL_BASE_CS1
81*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_SDRAM_SIZE		0x04000000
82*1dcdd862SMateusz Kulikowski 
83*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_INIT_SP_ADDR \
84*1dcdd862SMateusz Kulikowski 	(ATMEL_BASE_SRAM1 + 0x1000 - GENERATED_GBL_DATA_SIZE)
85*1dcdd862SMateusz Kulikowski 
86*1dcdd862SMateusz Kulikowski /* DataFlash */
87*1dcdd862SMateusz Kulikowski #define CONFIG_ATMEL_DATAFLASH_SPI
88*1dcdd862SMateusz Kulikowski #define CONFIG_HAS_DATAFLASH
89*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_SPI_WRITE_TOUT		(5*CONFIG_SYS_HZ)
90*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MAX_DATAFLASH_BANKS		1
91*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000
92*1dcdd862SMateusz Kulikowski #define AT91_SPI_CLK				8000000
93*1dcdd862SMateusz Kulikowski #define DATAFLASH_TCSS				(0x1a << 16)
94*1dcdd862SMateusz Kulikowski #define DATAFLASH_TCHS				(0x1 << 24)
95*1dcdd862SMateusz Kulikowski 
96*1dcdd862SMateusz Kulikowski /* no NOR flash */
97*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NO_FLASH
98*1dcdd862SMateusz Kulikowski 
99*1dcdd862SMateusz Kulikowski /* NAND flash */
100*1dcdd862SMateusz Kulikowski #ifdef CONFIG_CMD_NAND
101*1dcdd862SMateusz Kulikowski #define CONFIG_NAND_ATMEL
102*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MAX_NAND_DEVICE		1
103*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_BASE			ATMEL_BASE_CS3
104*1dcdd862SMateusz Kulikowski /* our ALE is AD21 */
105*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_MASK_ALE		(1 << 21)
106*1dcdd862SMateusz Kulikowski /* our CLE is AD22 */
107*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_MASK_CLE		(1 << 22)
108*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_ENABLE_PIN		GPIO_PIN_PD(15)
109*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_READY_PIN		GPIO_PIN_PA(22)
110*1dcdd862SMateusz Kulikowski #endif
111*1dcdd862SMateusz Kulikowski 
112*1dcdd862SMateusz Kulikowski #define MTDPARTS_DEFAULT \
113*1dcdd862SMateusz Kulikowski 	"mtdparts=atmel_nand:16m(kernel)ro,120m(root1),-(root2)"
114*1dcdd862SMateusz Kulikowski 
115*1dcdd862SMateusz Kulikowski /* Ethernet */
116*1dcdd862SMateusz Kulikowski #define CONFIG_MACB
117*1dcdd862SMateusz Kulikowski #define CONFIG_RMII
118*1dcdd862SMateusz Kulikowski #define CONFIG_NET_RETRY_COUNT			20
119*1dcdd862SMateusz Kulikowski #define CONFIG_AT91_WANTS_COMMON_PHY
120*1dcdd862SMateusz Kulikowski 
121*1dcdd862SMateusz Kulikowski /* USB */
122*1dcdd862SMateusz Kulikowski #ifdef CONFIG_CMD_USB
123*1dcdd862SMateusz Kulikowski #define CONFIG_USB_ATMEL
124*1dcdd862SMateusz Kulikowski #define CONFIG_USB_OHCI_NEW
125*1dcdd862SMateusz Kulikowski #define CONFIG_DOS_PARTITION
126*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_CPU_INIT
127*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_REGS_BASE		0x00a00000
128*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_SLOT_NAME		"at91sam9263"
129*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	2
130*1dcdd862SMateusz Kulikowski #define CONFIG_USB_STORAGE
131*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_FAT
132*1dcdd862SMateusz Kulikowski #endif
133*1dcdd862SMateusz Kulikowski 
134*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_LOAD_ADDR			0x22000000
135*1dcdd862SMateusz Kulikowski 
136*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MEMTEST_START		CONFIG_SYS_SDRAM_BASE
137*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MEMTEST_END			0x23e00000
138*1dcdd862SMateusz Kulikowski 
139*1dcdd862SMateusz Kulikowski /* bootstrap + u-boot + env in dataflash on CS0 */
140*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_IS_IN_DATAFLASH
141*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x4000)
142*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_OFFSET	0x2000
143*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_ADDR		(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + \
144*1dcdd862SMateusz Kulikowski 				 CONFIG_ENV_OFFSET)
145*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_SIZE		0x2000
146*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTCOMMAND	"nboot 21000000 0"
147*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
148*1dcdd862SMateusz Kulikowski 	"root=/dev/mtdblock1 " \
149*1dcdd862SMateusz Kulikowski 	"mtdparts=" MTDPARTS_DEFAULT " " \
150*1dcdd862SMateusz Kulikowski 	"rw rootfstype=jffs2"
151*1dcdd862SMateusz Kulikowski #define CONFIG_EXTRA_ENV_SETTINGS \
152*1dcdd862SMateusz Kulikowski 	"mtdparts=" MTDPARTS_DEFAULT "\0" \
153*1dcdd862SMateusz Kulikowski 
154*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_PROMPT		"U-Boot> "
155*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_CBSIZE		256
156*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MAXARGS		16
157*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
158*1dcdd862SMateusz Kulikowski 					 sizeof(CONFIG_SYS_PROMPT) + 16)
159*1dcdd862SMateusz Kulikowski #define CONFIG_CMDLINE_EDITING
160*1dcdd862SMateusz Kulikowski #define CONFIG_AUTO_COMPLETE
161*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_HUSH_PARSER
162*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_LONGHELP
163*1dcdd862SMateusz Kulikowski 
164*1dcdd862SMateusz Kulikowski /*
165*1dcdd862SMateusz Kulikowski  * Size of malloc() pool
166*1dcdd862SMateusz Kulikowski  */
167*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MALLOC_LEN	ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
168*1dcdd862SMateusz Kulikowski 
169*1dcdd862SMateusz Kulikowski #endif
170