xref: /rk3399_rockchip-uboot/include/configs/pengwyn.h (revision 1cc0a9f49657734c54939f03fc1e3ca0ec9d7eef)
1da4105dfSLothar Felten /*
2da4105dfSLothar Felten  * pengwyn.h
3da4105dfSLothar Felten  *
4da4105dfSLothar Felten  * Copyright (C) 2013 Lothar Felten <lothar.felten@gmail.com>
5da4105dfSLothar Felten  *
6da4105dfSLothar Felten  * based on am335x_evm.h, Copyright (C) 2011 Texas Instruments Inc.
7da4105dfSLothar Felten  *
8da4105dfSLothar Felten  * SPDX-License-Identifier:	GPL-2.0+
9da4105dfSLothar Felten  */
10da4105dfSLothar Felten 
11da4105dfSLothar Felten #ifndef __CONFIG_PENGWYN_H
12da4105dfSLothar Felten #define __CONFIG_PENGWYN_H
13da4105dfSLothar Felten 
14da4105dfSLothar Felten #define CONFIG_NAND
15da4105dfSLothar Felten #define CONFIG_SERIAL1
16da4105dfSLothar Felten #define CONFIG_CONS_INDEX		1
17da4105dfSLothar Felten 
18da4105dfSLothar Felten #include <configs/ti_am335x_common.h>
19da4105dfSLothar Felten 
20da4105dfSLothar Felten /* Clock Defines */
21da4105dfSLothar Felten #define V_OSCK				24000000
22da4105dfSLothar Felten #define V_SCLK				V_OSCK
23da4105dfSLothar Felten 
24da4105dfSLothar Felten /* set env size */
25da4105dfSLothar Felten #define CONFIG_ENV_SIZE			0x4000
26da4105dfSLothar Felten 
27da4105dfSLothar Felten #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
28da4105dfSLothar Felten 
29da4105dfSLothar Felten #ifndef CONFIG_SPL_BUILD
30da4105dfSLothar Felten #define CONFIG_EXTRA_ENV_SETTINGS \
31da4105dfSLothar Felten 	"loadaddr=0x80200000\0" \
32da4105dfSLothar Felten 	"fdtaddr=0x80F80000\0" \
33da4105dfSLothar Felten 	"bootpart=0:2\0" \
34da4105dfSLothar Felten 	"bootdir=/boot\0" \
35da4105dfSLothar Felten 	"bootfile=zImage\0" \
36da4105dfSLothar Felten 	"fdtfile=am335x-pengwyn.dtb\0" \
37da4105dfSLothar Felten 	"console=ttyO0,115200n8\0" \
38da4105dfSLothar Felten 	"optargs=\0" \
39da4105dfSLothar Felten 	"mmcdev=0\0" \
40da4105dfSLothar Felten 	"mmcroot=/dev/mmcblk0p2 ro\0" \
41da4105dfSLothar Felten 	"mmcrootfstype=ext4 rootwait\0" \
42da4105dfSLothar Felten 	"rootpath=/export/rootfs\0" \
43da4105dfSLothar Felten 	"nfsopts=nolock\0" \
44da4105dfSLothar Felten 	"static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}" \
45da4105dfSLothar Felten 		"::off\0" \
46da4105dfSLothar Felten 	"mmcargs=setenv bootargs console=${console} " \
47da4105dfSLothar Felten 		"${optargs} " \
48da4105dfSLothar Felten 		"root=${mmcroot} " \
49da4105dfSLothar Felten 		"rootfstype=${mmcrootfstype}\0" \
50da4105dfSLothar Felten 	"netargs=setenv bootargs console=${console} " \
51da4105dfSLothar Felten 		"${optargs} " \
52da4105dfSLothar Felten 		"root=/dev/nfs " \
53da4105dfSLothar Felten 		"nfsroot=${serverip}:${rootpath},${nfsopts} rw " \
54da4105dfSLothar Felten 		"ip=dhcp\0" \
55da4105dfSLothar Felten 	"bootenv=uEnv.txt\0" \
56da4105dfSLothar Felten 	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
57da4105dfSLothar Felten 	"importbootenv=echo Importing environment from mmc ...; " \
58da4105dfSLothar Felten 		"env import -t $loadaddr $filesize\0" \
59da4105dfSLothar Felten 	"loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
60da4105dfSLothar Felten 	"loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
61da4105dfSLothar Felten 	"mmcloados=run mmcargs; " \
62da4105dfSLothar Felten 		"bootz ${loadaddr} - ${fdtaddr};\0" \
63da4105dfSLothar Felten 	"mmcboot=mmc dev ${mmcdev}; " \
64da4105dfSLothar Felten 		"if mmc rescan; then " \
65da4105dfSLothar Felten 			"echo SD/MMC found on device ${mmcdev};" \
66da4105dfSLothar Felten 			"if run loadbootenv; then " \
67da4105dfSLothar Felten 				"echo Loaded environment from ${bootenv};" \
68da4105dfSLothar Felten 				"run importbootenv;" \
69da4105dfSLothar Felten 			"fi;" \
70da4105dfSLothar Felten 			"if test -n $uenvcmd; then " \
71da4105dfSLothar Felten 				"echo Running uenvcmd ...;" \
72da4105dfSLothar Felten 				"run uenvcmd;" \
73da4105dfSLothar Felten 			"fi;" \
74da4105dfSLothar Felten 			"if run loadimage; then " \
75da4105dfSLothar Felten 				"run loadfdt;" \
76da4105dfSLothar Felten 				"run mmcloados;" \
77da4105dfSLothar Felten 			"fi;" \
78da4105dfSLothar Felten 		"fi;\0" \
79da4105dfSLothar Felten 	"netboot=echo Booting from network ...; " \
80da4105dfSLothar Felten 		"setenv autoload no; " \
81da4105dfSLothar Felten 		"dhcp; " \
82da4105dfSLothar Felten 		"tftp ${loadaddr} ${bootfile}; " \
83da4105dfSLothar Felten 		"tftp ${fdtaddr} ${fdtfile}; " \
84da4105dfSLothar Felten 		"run netargs; " \
85da4105dfSLothar Felten 		"bootz ${loadaddr} - ${fdtaddr}\0" \
86da4105dfSLothar Felten 	"mtdids=" MTDIDS_DEFAULT "\0" \
87da4105dfSLothar Felten 	"mtdparts=" MTDPARTS_DEFAULT "\0" \
88da4105dfSLothar Felten 	"nandargs=setenv bootargs console=${console} " \
89da4105dfSLothar Felten 		"${optargs} " \
90da4105dfSLothar Felten 		"root=${nandroot} " \
91da4105dfSLothar Felten 		"rootfstype=${nandrootfstype}\0" \
92da4105dfSLothar Felten 	"nandroot=ubi0:rootfs rw ubi.mtd=7,2048\0" \
93da4105dfSLothar Felten 	"nandrootfstype=ubifs rootwait=1\0" \
94da4105dfSLothar Felten 	"nandboot=echo Booting from nand ...; " \
95da4105dfSLothar Felten 		"run nandargs; " \
96da4105dfSLothar Felten 		"nand read ${fdtaddr} u-boot-spl-os; " \
97da4105dfSLothar Felten 		"nand read ${loadaddr} kernel; " \
98da4105dfSLothar Felten 		"bootz ${loadaddr} - ${fdtaddr}\0"
99da4105dfSLothar Felten #endif
100da4105dfSLothar Felten 
101da4105dfSLothar Felten #define CONFIG_BOOTCOMMAND \
102da4105dfSLothar Felten 	"run mmcboot;" \
103da4105dfSLothar Felten 	"run nandboot;"
104da4105dfSLothar Felten 
105*1cc0a9f4SRobert P. J. Day /* NS16550 Configuration: primary UART via FTDI */
106da4105dfSLothar Felten #define CONFIG_SYS_NS16550_COM1		0x44e09000
107da4105dfSLothar Felten #define CONFIG_BAUDRATE			115200
108da4105dfSLothar Felten 
109da4105dfSLothar Felten /* I2C Configuration */
110da4105dfSLothar Felten #define	CONFIG_SYS_I2C_SPEED		100000
111da4105dfSLothar Felten #define CONFIG_CMD_EEPROM
112da4105dfSLothar Felten #define CONFIG_ENV_EEPROM_IS_ON_I2C
113da4105dfSLothar Felten #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50
114da4105dfSLothar Felten #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
115da4105dfSLothar Felten 
116da4105dfSLothar Felten /* SPL */
117da4105dfSLothar Felten #define CONFIG_SPL_POWER_SUPPORT
118da4105dfSLothar Felten #define CONFIG_SPL_YMODEM_SUPPORT
119da4105dfSLothar Felten 
120da4105dfSLothar Felten /* General network SPL */
121da4105dfSLothar Felten #define CONFIG_SPL_NET_SUPPORT
122da4105dfSLothar Felten #define CONFIG_SPL_ENV_SUPPORT
123da4105dfSLothar Felten #define CONFIG_SPL_NET_VCI_STRING	"AM335x U-Boot SPL"
124da4105dfSLothar Felten 
125da4105dfSLothar Felten /* NAND support */
126da4105dfSLothar Felten #define CONFIG_CMD_NAND
127da4105dfSLothar Felten #define CONFIG_NAND_OMAP_GPMC
128da4105dfSLothar Felten #define CONFIG_NAND_OMAP_ELM
1295ea667eaSVincent BENOIT 
1305ea667eaSVincent BENOIT /* NAND Configuration. */
131da4105dfSLothar Felten #define CONFIG_SYS_NAND_5_ADDR_CYCLE
132da4105dfSLothar Felten #define CONFIG_SYS_NAND_PAGE_COUNT	(CONFIG_SYS_NAND_BLOCK_SIZE / \
133da4105dfSLothar Felten 					 CONFIG_SYS_NAND_PAGE_SIZE)
1345ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_PAGE_SIZE	4096
1355ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_OOBSIZE		224
1365ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ONFI_DETECTION
1375ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_BLOCK_SIZE	(128*4096)
138da4105dfSLothar Felten #define CONFIG_SYS_NAND_BAD_BLOCK_POS	NAND_LARGE_BADBLOCK_POS
1395ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCPOS		{   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,  15,  16,  17,\
1405ea667eaSVincent BENOIT 					   18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,\
1415ea667eaSVincent BENOIT 					   34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,\
1425ea667eaSVincent BENOIT 					   50,  51,  52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,\
1435ea667eaSVincent BENOIT 					   66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,\
1445ea667eaSVincent BENOIT 					   82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,\
1455ea667eaSVincent BENOIT 					   98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,\
1465ea667eaSVincent BENOIT 					  114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,\
1475ea667eaSVincent BENOIT 					  134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,\
1485ea667eaSVincent BENOIT 					  154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,\
1495ea667eaSVincent BENOIT 					  174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,\
1505ea667eaSVincent BENOIT 					  194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209}
1515ea667eaSVincent BENOIT 
152da4105dfSLothar Felten #define CONFIG_SYS_NAND_ECCSIZE		512
1535ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCBYTES	26
1545ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCSTEPS	8
1555ea667eaSVincent BENOIT #define	CONFIG_SYS_NAND_ECCTOTAL	(CONFIG_SYS_NAND_ECCBYTES * \
1565ea667eaSVincent BENOIT 						CONFIG_SYS_NAND_ECCSTEPS)
1575ea667eaSVincent BENOIT #define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH16_CODE_HW
1585ea667eaSVincent BENOIT /* END NAND Configuration. */
1595ea667eaSVincent BENOIT 
160da4105dfSLothar Felten #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
1615ea667eaSVincent BENOIT /* #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 */
1625ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x200000
1635ea667eaSVincent BENOIT 
1645ea667eaSVincent BENOIT #define CONFIG_CMD_MTDPARTS
1655ea667eaSVincent BENOIT 
1665ea667eaSVincent BENOIT #define CONFIG_VERSION_VARIABLE /* monitor functions :  u-boot version */
1675ea667eaSVincent BENOIT #define CONFIG_CMD_DIAG /* monitor functions : Diagnostics */
168da4105dfSLothar Felten 
169da4105dfSLothar Felten #define MTDIDS_DEFAULT			"nand0=omap2-nand.0"
1705ea667eaSVincent BENOIT /* Size must be a multiple of Nand erase size (524288 b) */
1715ea667eaSVincent BENOIT #define MTDPARTS_DEFAULT		"mtdparts=omap2-nand.0:512k(SPL)," \
1725ea667eaSVincent BENOIT 					"512k(SPL.backup1)," \
1735ea667eaSVincent BENOIT 					"512k(SPL.backup2)," \
1745ea667eaSVincent BENOIT 					"512k(SPL.backup3),1536k(u-boot)," \
1755ea667eaSVincent BENOIT 					"512k(u-boot-spl-os)," \
1765ea667eaSVincent BENOIT 					"512k(u-boot-env),5m(kernel),-(rootfs)"
177da4105dfSLothar Felten #define CONFIG_ENV_IS_IN_NAND
178da4105dfSLothar Felten #define CONFIG_ENV_OFFSET		0x260000 /* environment starts here */
179da4105dfSLothar Felten #define CONFIG_SYS_ENV_SECT_SIZE	(128 << 10)	/* 128 KiB */
180434f2cfcSpekon gupta /* NAND: SPL falcon mode configs */
181434f2cfcSpekon gupta #ifdef CONFIG_SPL_OS_BOOT
182434f2cfcSpekon gupta #define CONFIG_CMD_SPL_NAND_OFS		0x240000 /* un-assigned */
183434f2cfcSpekon gupta #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS	0x280000
184434f2cfcSpekon gupta #define CONFIG_CMD_SPL_WRITE_SIZE	0x2000
185434f2cfcSpekon gupta #endif
186da4105dfSLothar Felten 
187da4105dfSLothar Felten /*
188da4105dfSLothar Felten  * USB configuration.  We enable MUSB support, both for host and for
189da4105dfSLothar Felten  * gadget.  We set USB0 as peripheral and USB1 as host, based on the
190da4105dfSLothar Felten  * board schematic and physical port wired to each.  Then for host we
191da4105dfSLothar Felten  * add mass storage support.
192da4105dfSLothar Felten  */
193da4105dfSLothar Felten #define CONFIG_USB_MUSB_DSPS
194da4105dfSLothar Felten #define CONFIG_ARCH_MISC_INIT
19595de1e2fSPaul Kocialkowski #define CONFIG_USB_MUSB_PIO_ONLY
19695de1e2fSPaul Kocialkowski #define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
197da4105dfSLothar Felten #define CONFIG_AM335X_USB0
198da4105dfSLothar Felten #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
199da4105dfSLothar Felten #define CONFIG_AM335X_USB1
200da4105dfSLothar Felten #define CONFIG_AM335X_USB1_MODE MUSB_HOST
201da4105dfSLothar Felten 
20295de1e2fSPaul Kocialkowski #if defined(CONFIG_USB_MUSB_HOST)
203da4105dfSLothar Felten #define CONFIG_USB_STORAGE
204da4105dfSLothar Felten #endif
205da4105dfSLothar Felten 
206da4105dfSLothar Felten #if defined(CONFIG_SPL_BUILD)
207da4105dfSLothar Felten /* disable host part of MUSB in SPL */
208da4105dfSLothar Felten /* Disable CPSW SPL support so we fit within the 101KiB limit. */
209da4105dfSLothar Felten #undef CONFIG_SPL_ETH_SUPPORT
210da4105dfSLothar Felten #endif
211da4105dfSLothar Felten 
2125ea667eaSVincent BENOIT /* CPSW ethernet */
2135ea667eaSVincent BENOIT #define CONFIG_NET_MULTI
2145ea667eaSVincent BENOIT 
215da4105dfSLothar Felten /* Network */
216da4105dfSLothar Felten #define CONFIG_PHYLIB
217da4105dfSLothar Felten #define CONFIG_PHY_RESET	1
218da4105dfSLothar Felten #define CONFIG_PHY_NATSEMI
2195ea667eaSVincent BENOIT #define CONFIG_PHY_REALTEK
220da4105dfSLothar Felten 
221da4105dfSLothar Felten /* CPSW support */
222da4105dfSLothar Felten #define CONFIG_SPL_ETH_SUPPORT
223da4105dfSLothar Felten 
224da4105dfSLothar Felten #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"
225da4105dfSLothar Felten 
226da4105dfSLothar Felten #endif	/* ! __CONFIG_PENGWYN_H */
227