xref: /OK3568_Linux_fs/u-boot/include/configs/pic32mzdask.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com>
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * Microchip PIC32MZ[DA] Starter Kit.
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef __PIC32MZDASK_CONFIG_H
10*4882a593Smuzhiyun #define __PIC32MZDASK_CONFIG_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun /* System Configuration */
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun /*--------------------------------------------
15*4882a593Smuzhiyun  * CPU configuration
16*4882a593Smuzhiyun  */
17*4882a593Smuzhiyun /* CPU Timer rate */
18*4882a593Smuzhiyun #define CONFIG_SYS_MIPS_TIMER_FREQ	100000000
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun /* Cache Configuration */
21*4882a593Smuzhiyun #define CONFIG_SYS_MIPS_CACHE_MODE	CONF_CM_CACHABLE_NONCOHERENT
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /*----------------------------------------------------------------------
24*4882a593Smuzhiyun  * Memory Layout
25*4882a593Smuzhiyun  */
26*4882a593Smuzhiyun #define CONFIG_SYS_SRAM_BASE		0x80000000
27*4882a593Smuzhiyun #define CONFIG_SYS_SRAM_SIZE		0x00080000 /* 512K */
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun /* Initial RAM for temporary stack, global data */
30*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE	0x10000
31*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR	\
32*4882a593Smuzhiyun 	(CONFIG_SYS_SRAM_BASE + CONFIG_SYS_SRAM_SIZE - CONFIG_SYS_INIT_RAM_SIZE)
33*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR		\
34*4882a593Smuzhiyun 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1)
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun /* SDRAM Configuration (for final code, data, stack, heap) */
37*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE		0x88000000
38*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN		(256 << 10)
39*4882a593Smuzhiyun #define CONFIG_SYS_BOOTPARAMS_LEN	(4 << 10)
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_TEXT_BASE
42*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN		(192 << 10)
43*4882a593Smuzhiyun 
44*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR		0x88500000 /* default load address */
45*4882a593Smuzhiyun #define CONFIG_SYS_ENV_ADDR		0x88300000
46*4882a593Smuzhiyun #define CONFIG_SYS_FDT_ADDR		0x89d00000
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun /* Memory Test */
49*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START	0x88000000
50*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END		0x88080000
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun /*----------------------------------------------------------------------
53*4882a593Smuzhiyun  * Commands
54*4882a593Smuzhiyun  */
55*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP		/* undef to save memory */
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun /*------------------------------------------------------------
58*4882a593Smuzhiyun  * Console Configuration
59*4882a593Smuzhiyun  */
60*4882a593Smuzhiyun #define CONFIG_SYS_CBSIZE		1024 /* Console I/O Buffer Size   */
61*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING		1
62*4882a593Smuzhiyun 
63*4882a593Smuzhiyun /*-----------------------------------------------------------------------
64*4882a593Smuzhiyun  * Networking Configuration
65*4882a593Smuzhiyun  */
66*4882a593Smuzhiyun #define CONFIG_MII
67*4882a593Smuzhiyun #define CONFIG_PHY_SMSC
68*4882a593Smuzhiyun #define CONFIG_SYS_RX_ETH_BUFFER	8
69*4882a593Smuzhiyun #define CONFIG_NET_RETRY_COUNT		20
70*4882a593Smuzhiyun #define CONFIG_ARP_TIMEOUT		500 /* millisec */
71*4882a593Smuzhiyun 
72*4882a593Smuzhiyun /*
73*4882a593Smuzhiyun  * BOOTP options
74*4882a593Smuzhiyun  */
75*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE
76*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH
77*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY
78*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME
79*4882a593Smuzhiyun 
80*4882a593Smuzhiyun /*--------------------------------------------------
81*4882a593Smuzhiyun  * USB Configuration
82*4882a593Smuzhiyun  */
83*4882a593Smuzhiyun #define CONFIG_USB_MUSB_PIO_ONLY
84*4882a593Smuzhiyun 
85*4882a593Smuzhiyun /*-----------------------------------------------------------------------
86*4882a593Smuzhiyun  * File System Configuration
87*4882a593Smuzhiyun  */
88*4882a593Smuzhiyun /* FAT FS */
89*4882a593Smuzhiyun #define CONFIG_SUPPORT_VFAT
90*4882a593Smuzhiyun 
91*4882a593Smuzhiyun /* EXT4 FS */
92*4882a593Smuzhiyun #define CONFIG_FS_EXT4
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun /* -------------------------------------------------
95*4882a593Smuzhiyun  * Environment
96*4882a593Smuzhiyun  */
97*4882a593Smuzhiyun #define CONFIG_ENV_SIZE		0x4000
98*4882a593Smuzhiyun 
99*4882a593Smuzhiyun /* ---------------------------------------------------------------------
100*4882a593Smuzhiyun  * Board boot configuration
101*4882a593Smuzhiyun  */
102*4882a593Smuzhiyun #define CONFIG_TIMESTAMP	/* Print image info with timestamp */
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun #define MEM_LAYOUT_ENV_SETTINGS					\
105*4882a593Smuzhiyun 	"kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0"	\
106*4882a593Smuzhiyun 	"fdt_addr_r="__stringify(CONFIG_SYS_FDT_ADDR)"\0"	\
107*4882a593Smuzhiyun 	"scriptaddr="__stringify(CONFIG_SYS_ENV_ADDR)"\0"
108*4882a593Smuzhiyun 
109*4882a593Smuzhiyun #define CONFIG_LEGACY_BOOTCMD_ENV					\
110*4882a593Smuzhiyun 	"legacy_bootcmd= "						\
111*4882a593Smuzhiyun 		"if load mmc 0 ${scriptaddr} uEnv.txt; then "		\
112*4882a593Smuzhiyun 			"env import -tr ${scriptaddr} ${filesize}; "	\
113*4882a593Smuzhiyun 			"if test -n \"${bootcmd_uenv}\" ; then "	\
114*4882a593Smuzhiyun 				"echo Running bootcmd_uenv ...; "	\
115*4882a593Smuzhiyun 				"run bootcmd_uenv; "			\
116*4882a593Smuzhiyun 			"fi; "						\
117*4882a593Smuzhiyun 		"fi; \0"
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun #define BOOT_TARGET_DEVICES(func)	\
120*4882a593Smuzhiyun 	func(MMC, mmc, 0)		\
121*4882a593Smuzhiyun 	func(USB, usb, 0)		\
122*4882a593Smuzhiyun 	func(DHCP, dhcp, na)
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun #include <config_distro_bootcmd.h>
125*4882a593Smuzhiyun 
126*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS	\
127*4882a593Smuzhiyun 	MEM_LAYOUT_ENV_SETTINGS		\
128*4882a593Smuzhiyun 	CONFIG_LEGACY_BOOTCMD_ENV	\
129*4882a593Smuzhiyun 	BOOTENV
130*4882a593Smuzhiyun 
131*4882a593Smuzhiyun #undef CONFIG_BOOTCOMMAND
132*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND	"run distro_bootcmd || run legacy_bootcmd"
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun #endif	/* __PIC32MZDASK_CONFIG_H */
135