xref: /openbmc/u-boot/include/configs/pengwyn.h (revision 9baa2bce28901321d6f62399b5ebeb3fcb8e8a57)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2da4105dfSLothar Felten /*
3da4105dfSLothar Felten  * pengwyn.h
4da4105dfSLothar Felten  *
5da4105dfSLothar Felten  * Copyright (C) 2013 Lothar Felten <lothar.felten@gmail.com>
6da4105dfSLothar Felten  *
7da4105dfSLothar Felten  * based on am335x_evm.h, Copyright (C) 2011 Texas Instruments Inc.
8da4105dfSLothar Felten  */
9da4105dfSLothar Felten 
10da4105dfSLothar Felten #ifndef __CONFIG_PENGWYN_H
11da4105dfSLothar Felten #define __CONFIG_PENGWYN_H
12da4105dfSLothar Felten 
13da4105dfSLothar Felten 
14da4105dfSLothar Felten #include <configs/ti_am335x_common.h>
15da4105dfSLothar Felten 
16da4105dfSLothar Felten /* Clock Defines */
17da4105dfSLothar Felten #define V_OSCK				24000000
18da4105dfSLothar Felten #define V_SCLK				V_OSCK
19da4105dfSLothar Felten 
20da4105dfSLothar Felten /* set env size */
21da4105dfSLothar Felten #define CONFIG_ENV_SIZE			0x4000
22da4105dfSLothar Felten 
23da4105dfSLothar Felten #ifndef CONFIG_SPL_BUILD
24da4105dfSLothar Felten #define CONFIG_EXTRA_ENV_SETTINGS \
25da4105dfSLothar Felten 	"loadaddr=0x80200000\0" \
26da4105dfSLothar Felten 	"fdtaddr=0x80F80000\0" \
27da4105dfSLothar Felten 	"bootpart=0:2\0" \
28da4105dfSLothar Felten 	"bootdir=/boot\0" \
29da4105dfSLothar Felten 	"bootfile=zImage\0" \
30da4105dfSLothar Felten 	"fdtfile=am335x-pengwyn.dtb\0" \
31da4105dfSLothar Felten 	"console=ttyO0,115200n8\0" \
32da4105dfSLothar Felten 	"optargs=\0" \
33da4105dfSLothar Felten 	"mmcdev=0\0" \
34da4105dfSLothar Felten 	"mmcroot=/dev/mmcblk0p2 ro\0" \
35da4105dfSLothar Felten 	"mmcrootfstype=ext4 rootwait\0" \
36da4105dfSLothar Felten 	"rootpath=/export/rootfs\0" \
37da4105dfSLothar Felten 	"nfsopts=nolock\0" \
38da4105dfSLothar Felten 	"static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}" \
39da4105dfSLothar Felten 		"::off\0" \
40da4105dfSLothar Felten 	"mmcargs=setenv bootargs console=${console} " \
41da4105dfSLothar Felten 		"${optargs} " \
42da4105dfSLothar Felten 		"root=${mmcroot} " \
43da4105dfSLothar Felten 		"rootfstype=${mmcrootfstype}\0" \
44da4105dfSLothar Felten 	"netargs=setenv bootargs console=${console} " \
45da4105dfSLothar Felten 		"${optargs} " \
46da4105dfSLothar Felten 		"root=/dev/nfs " \
47da4105dfSLothar Felten 		"nfsroot=${serverip}:${rootpath},${nfsopts} rw " \
48da4105dfSLothar Felten 		"ip=dhcp\0" \
49da4105dfSLothar Felten 	"bootenv=uEnv.txt\0" \
50da4105dfSLothar Felten 	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
51da4105dfSLothar Felten 	"importbootenv=echo Importing environment from mmc ...; " \
52da4105dfSLothar Felten 		"env import -t $loadaddr $filesize\0" \
53da4105dfSLothar Felten 	"loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
54da4105dfSLothar Felten 	"loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
55da4105dfSLothar Felten 	"mmcloados=run mmcargs; " \
56da4105dfSLothar Felten 		"bootz ${loadaddr} - ${fdtaddr};\0" \
57da4105dfSLothar Felten 	"mmcboot=mmc dev ${mmcdev}; " \
58da4105dfSLothar Felten 		"if mmc rescan; then " \
59da4105dfSLothar Felten 			"echo SD/MMC found on device ${mmcdev};" \
60da4105dfSLothar Felten 			"if run loadbootenv; then " \
61da4105dfSLothar Felten 				"echo Loaded environment from ${bootenv};" \
62da4105dfSLothar Felten 				"run importbootenv;" \
63da4105dfSLothar Felten 			"fi;" \
64da4105dfSLothar Felten 			"if test -n $uenvcmd; then " \
65da4105dfSLothar Felten 				"echo Running uenvcmd ...;" \
66da4105dfSLothar Felten 				"run uenvcmd;" \
67da4105dfSLothar Felten 			"fi;" \
68da4105dfSLothar Felten 			"if run loadimage; then " \
69da4105dfSLothar Felten 				"run loadfdt;" \
70da4105dfSLothar Felten 				"run mmcloados;" \
71da4105dfSLothar Felten 			"fi;" \
72da4105dfSLothar Felten 		"fi;\0" \
73da4105dfSLothar Felten 	"netboot=echo Booting from network ...; " \
74da4105dfSLothar Felten 		"setenv autoload no; " \
75da4105dfSLothar Felten 		"dhcp; " \
76da4105dfSLothar Felten 		"tftp ${loadaddr} ${bootfile}; " \
77da4105dfSLothar Felten 		"tftp ${fdtaddr} ${fdtfile}; " \
78da4105dfSLothar Felten 		"run netargs; " \
79da4105dfSLothar Felten 		"bootz ${loadaddr} - ${fdtaddr}\0" \
8043ede0bcSTom Rini 	"mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \
8143ede0bcSTom Rini 	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
82da4105dfSLothar Felten 	"nandargs=setenv bootargs console=${console} " \
83da4105dfSLothar Felten 		"${optargs} " \
84da4105dfSLothar Felten 		"root=${nandroot} " \
85da4105dfSLothar Felten 		"rootfstype=${nandrootfstype}\0" \
86da4105dfSLothar Felten 	"nandroot=ubi0:rootfs rw ubi.mtd=7,2048\0" \
87da4105dfSLothar Felten 	"nandrootfstype=ubifs rootwait=1\0" \
88da4105dfSLothar Felten 	"nandboot=echo Booting from nand ...; " \
89da4105dfSLothar Felten 		"run nandargs; " \
90da4105dfSLothar Felten 		"nand read ${fdtaddr} u-boot-spl-os; " \
91da4105dfSLothar Felten 		"nand read ${loadaddr} kernel; " \
92da4105dfSLothar Felten 		"bootz ${loadaddr} - ${fdtaddr}\0"
93da4105dfSLothar Felten #endif
94da4105dfSLothar Felten 
95da4105dfSLothar Felten #define CONFIG_BOOTCOMMAND \
96da4105dfSLothar Felten 	"run mmcboot;" \
97da4105dfSLothar Felten 	"run nandboot;"
98da4105dfSLothar Felten 
991cc0a9f4SRobert P. J. Day /* NS16550 Configuration: primary UART via FTDI */
100da4105dfSLothar Felten #define CONFIG_SYS_NS16550_COM1		0x44e09000
101da4105dfSLothar Felten 
102da4105dfSLothar Felten /* I2C Configuration */
103da4105dfSLothar Felten #define	CONFIG_SYS_I2C_SPEED		100000
104da4105dfSLothar Felten #define CONFIG_ENV_EEPROM_IS_ON_I2C
105da4105dfSLothar Felten #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50
106da4105dfSLothar Felten #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
107da4105dfSLothar Felten 
108da4105dfSLothar Felten /* SPL */
109da4105dfSLothar Felten 
110da4105dfSLothar Felten /* NAND support */
1115ea667eaSVincent BENOIT 
1125ea667eaSVincent BENOIT /* NAND Configuration. */
113da4105dfSLothar Felten #define CONFIG_SYS_NAND_5_ADDR_CYCLE
114da4105dfSLothar Felten #define CONFIG_SYS_NAND_PAGE_COUNT	(CONFIG_SYS_NAND_BLOCK_SIZE / \
115da4105dfSLothar Felten 					 CONFIG_SYS_NAND_PAGE_SIZE)
1165ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_PAGE_SIZE	4096
1175ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_OOBSIZE		224
1185ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ONFI_DETECTION
1195ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_BLOCK_SIZE	(128*4096)
120da4105dfSLothar Felten #define CONFIG_SYS_NAND_BAD_BLOCK_POS	NAND_LARGE_BADBLOCK_POS
1215ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCPOS		{   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,  15,  16,  17,\
1225ea667eaSVincent BENOIT 					   18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,\
1235ea667eaSVincent BENOIT 					   34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,\
1245ea667eaSVincent BENOIT 					   50,  51,  52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,\
1255ea667eaSVincent BENOIT 					   66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,\
1265ea667eaSVincent BENOIT 					   82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,\
1275ea667eaSVincent BENOIT 					   98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,\
1285ea667eaSVincent BENOIT 					  114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,\
1295ea667eaSVincent BENOIT 					  134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,\
1305ea667eaSVincent BENOIT 					  154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,\
1315ea667eaSVincent BENOIT 					  174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,\
1325ea667eaSVincent BENOIT 					  194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209}
1335ea667eaSVincent BENOIT 
134da4105dfSLothar Felten #define CONFIG_SYS_NAND_ECCSIZE		512
1355ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCBYTES	26
1365ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCSTEPS	8
1375ea667eaSVincent BENOIT #define	CONFIG_SYS_NAND_ECCTOTAL	(CONFIG_SYS_NAND_ECCBYTES * \
1385ea667eaSVincent BENOIT 						CONFIG_SYS_NAND_ECCSTEPS)
1395ea667eaSVincent BENOIT #define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH16_CODE_HW
1405ea667eaSVincent BENOIT /* END NAND Configuration. */
1415ea667eaSVincent BENOIT 
142da4105dfSLothar Felten #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
1435ea667eaSVincent BENOIT /* #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 */
1445ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x200000
1455ea667eaSVincent BENOIT 
1465ea667eaSVincent BENOIT /* Size must be a multiple of Nand erase size (524288 b) */
147da4105dfSLothar Felten #define CONFIG_ENV_OFFSET		0x260000 /* environment starts here */
148da4105dfSLothar Felten #define CONFIG_SYS_ENV_SECT_SIZE	(128 << 10)	/* 128 KiB */
149434f2cfcSpekon gupta /* NAND: SPL falcon mode configs */
150434f2cfcSpekon gupta #ifdef CONFIG_SPL_OS_BOOT
151434f2cfcSpekon gupta #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS	0x280000
152434f2cfcSpekon gupta #endif
153da4105dfSLothar Felten 
154da4105dfSLothar Felten /*
155da4105dfSLothar Felten  * USB configuration.  We enable MUSB support, both for host and for
156da4105dfSLothar Felten  * gadget.  We set USB0 as peripheral and USB1 as host, based on the
157da4105dfSLothar Felten  * board schematic and physical port wired to each.  Then for host we
158da4105dfSLothar Felten  * add mass storage support.
159da4105dfSLothar Felten  */
16095de1e2fSPaul Kocialkowski #define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
161da4105dfSLothar Felten #define CONFIG_AM335X_USB0
162da4105dfSLothar Felten #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
163da4105dfSLothar Felten #define CONFIG_AM335X_USB1
164da4105dfSLothar Felten #define CONFIG_AM335X_USB1_MODE MUSB_HOST
165da4105dfSLothar Felten 
166da4105dfSLothar Felten /* Network */
167da4105dfSLothar Felten #define CONFIG_PHY_RESET	1
168da4105dfSLothar Felten #define CONFIG_PHY_NATSEMI
1695ea667eaSVincent BENOIT #define CONFIG_PHY_REALTEK
170da4105dfSLothar Felten 
171da4105dfSLothar Felten #endif	/* ! __CONFIG_PENGWYN_H */
172