xref: /rk3399_rockchip-uboot/include/configs/pcm051.h (revision 1ee9c6c0c0cbf515a3f975da11f6e032b4673532)
11c1b7c37SLars Poeschel /*
21c1b7c37SLars Poeschel  * pcm051.h
31c1b7c37SLars Poeschel  *
41c1b7c37SLars Poeschel  * Phytec phyCORE-AM335x (pcm051) boards information header
51c1b7c37SLars Poeschel  *
61c1b7c37SLars Poeschel  * Copyright (C) 2013 Lemonage Software GmbH
71c1b7c37SLars Poeschel  * Author Lars Poeschel <poeschel@lemonage.de>
81c1b7c37SLars Poeschel  *
91c1b7c37SLars Poeschel  * This program is free software; you can redistribute it and/or
101c1b7c37SLars Poeschel  * modify it under the terms of the GNU General Public License as
111c1b7c37SLars Poeschel  * published by the Free Software Foundation version 2.
121c1b7c37SLars Poeschel  *
131c1b7c37SLars Poeschel  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
141c1b7c37SLars Poeschel  * kind, whether express or implied; without even the implied warranty
151c1b7c37SLars Poeschel  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
161c1b7c37SLars Poeschel  * GNU General Public License for more details.
171c1b7c37SLars Poeschel  */
181c1b7c37SLars Poeschel 
191c1b7c37SLars Poeschel #ifndef __CONFIG_PCM051_H
201c1b7c37SLars Poeschel #define __CONFIG_PCM051_H
211c1b7c37SLars Poeschel 
22b640b460SMatwey V. Kornilov #include <configs/ti_am335x_common.h>
231c1b7c37SLars Poeschel 
241c1b7c37SLars Poeschel #define CONFIG_ENV_SIZE			(128 << 10)	/* 128 KiB */
251c1b7c37SLars Poeschel #define MACH_TYPE_PCM051		4144	/* Until the next sync */
261c1b7c37SLars Poeschel #define CONFIG_MACH_TYPE		MACH_TYPE_PCM051
271c1b7c37SLars Poeschel 
281c1b7c37SLars Poeschel /* set to negative value for no autoboot */
291c1b7c37SLars Poeschel #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
301c1b7c37SLars Poeschel #define CONFIG_EXTRA_ENV_SETTINGS \
311c1b7c37SLars Poeschel 	"loadaddr=0x80007fc0\0" \
321c1b7c37SLars Poeschel 	"fdtaddr=0x80000000\0" \
331c1b7c37SLars Poeschel 	"rdaddr=0x81000000\0" \
341c1b7c37SLars Poeschel 	"bootfile=uImage\0" \
351c1b7c37SLars Poeschel 	"fdtfile=pcm051.dtb\0" \
361c1b7c37SLars Poeschel 	"console=ttyO0,115200n8\0" \
371c1b7c37SLars Poeschel 	"optargs=\0" \
381c1b7c37SLars Poeschel 	"mmcdev=0\0" \
391c1b7c37SLars Poeschel 	"mmcroot=/dev/mmcblk0p2 ro\0" \
401c1b7c37SLars Poeschel 	"mmcrootfstype=ext4 rootwait\0" \
411c1b7c37SLars Poeschel 	"ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M\0" \
421c1b7c37SLars Poeschel 	"ramrootfstype=ext2\0" \
431c1b7c37SLars Poeschel 	"mmcargs=setenv bootargs console=${console} " \
441c1b7c37SLars Poeschel 		"${optargs} " \
451c1b7c37SLars Poeschel 		"root=${mmcroot} " \
461c1b7c37SLars Poeschel 		"rootfstype=${mmcrootfstype}\0" \
471c1b7c37SLars Poeschel 	"bootenv=uEnv.txt\0" \
48*1ee9c6c0Smatwey.kornilov@gmail.com 	"loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
49*1ee9c6c0Smatwey.kornilov@gmail.com 	"bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
50*1ee9c6c0Smatwey.kornilov@gmail.com 		"source ${loadaddr}\0" \
511c1b7c37SLars Poeschel 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
521c1b7c37SLars Poeschel 	"importbootenv=echo Importing environment from mmc ...; " \
531c1b7c37SLars Poeschel 		"env import -t $loadaddr $filesize\0" \
541c1b7c37SLars Poeschel 	"ramargs=setenv bootargs console=${console} " \
551c1b7c37SLars Poeschel 		"${optargs} " \
561c1b7c37SLars Poeschel 		"root=${ramroot} " \
571c1b7c37SLars Poeschel 		"rootfstype=${ramrootfstype}\0" \
581c1b7c37SLars Poeschel 	"loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
591c1b7c37SLars Poeschel 	"loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} ${bootfile}\0" \
601c1b7c37SLars Poeschel 	"loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} ${bootfile}\0" \
611c1b7c37SLars Poeschel 	"mmcboot=echo Booting from mmc ...; " \
621c1b7c37SLars Poeschel 		"run mmcargs; " \
631c1b7c37SLars Poeschel 		"bootm ${loadaddr}\0" \
641c1b7c37SLars Poeschel 	"ramboot=echo Booting from ramdisk ...; " \
651c1b7c37SLars Poeschel 		"run ramargs; " \
661c1b7c37SLars Poeschel 		"bootm ${loadaddr}\0" \
671c1b7c37SLars Poeschel 
681c1b7c37SLars Poeschel #define CONFIG_BOOTCOMMAND \
691c1b7c37SLars Poeschel 	"mmc dev ${mmcdev}; if mmc rescan; then " \
701c1b7c37SLars Poeschel 		"echo SD/MMC found on device ${mmcdev};" \
71*1ee9c6c0Smatwey.kornilov@gmail.com 		"if run loadbootscript; then " \
72*1ee9c6c0Smatwey.kornilov@gmail.com 			"run bootscript;" \
73*1ee9c6c0Smatwey.kornilov@gmail.com 		"else " \
741c1b7c37SLars Poeschel 			"if run loadbootenv; then " \
751c1b7c37SLars Poeschel 				"echo Loaded environment from ${bootenv};" \
761c1b7c37SLars Poeschel 				"run importbootenv;" \
771c1b7c37SLars Poeschel 			"fi;" \
781c1b7c37SLars Poeschel 			"if test -n $uenvcmd; then " \
791c1b7c37SLars Poeschel 				"echo Running uenvcmd ...;" \
801c1b7c37SLars Poeschel 				"run uenvcmd;" \
811c1b7c37SLars Poeschel 			"fi;" \
821c1b7c37SLars Poeschel 			"if run loaduimage; then " \
831c1b7c37SLars Poeschel 				"run mmcboot;" \
841c1b7c37SLars Poeschel 			"fi;" \
851c1b7c37SLars Poeschel 		"fi ;" \
86*1ee9c6c0Smatwey.kornilov@gmail.com 	"fi;" \
871c1b7c37SLars Poeschel 
881c1b7c37SLars Poeschel /* Clock Defines */
891c1b7c37SLars Poeschel #define V_OSCK				25000000  /* Clock output from T2 */
901c1b7c37SLars Poeschel #define V_SCLK				(V_OSCK)
911c1b7c37SLars Poeschel 
921c1b7c37SLars Poeschel /*
931c1b7c37SLars Poeschel  * memtest works on 8 MB in DRAM after skipping 32MB from
941c1b7c37SLars Poeschel  * start addr of ram disk
951c1b7c37SLars Poeschel  */
9673feefdcSTom Rini #define CONFIG_SYS_MEMTEST_START	(CONFIG_SYS_SDRAM_BASE + (64 << 20))
971c1b7c37SLars Poeschel #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START \
981c1b7c37SLars Poeschel 					+ (8 * 1024 * 1024))
991c1b7c37SLars Poeschel 
1001c1b7c37SLars Poeschel #define CONFIG_SPI_FLASH
1011c1b7c37SLars Poeschel #define CONFIG_SPI_FLASH_WINBOND
1021c1b7c37SLars Poeschel #define CONFIG_CMD_SF
1031c1b7c37SLars Poeschel #define CONFIG_SF_DEFAULT_SPEED		24000000
1041c1b7c37SLars Poeschel 
1051c1b7c37SLars Poeschel #define CONFIG_CONS_INDEX		1
1061c1b7c37SLars Poeschel /* NS16550 Configuration */
1071c1b7c37SLars Poeschel #define CONFIG_SYS_NS16550_COM1		0x44e09000	/* Base EVM has UART0 */
1081c1b7c37SLars Poeschel #define CONFIG_SYS_NS16550_COM2		0x48022000	/* UART1 */
1091c1b7c37SLars Poeschel #define CONFIG_SYS_NS16550_COM3		0x48024000	/* UART2 */
1101c1b7c37SLars Poeschel #define CONFIG_SYS_NS16550_COM4		0x481a6000	/* UART3 */
1111c1b7c37SLars Poeschel #define CONFIG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
1121c1b7c37SLars Poeschel #define CONFIG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
1131c1b7c37SLars Poeschel 
1141c1b7c37SLars Poeschel /* I2C Configuration */
1151c1b7c37SLars Poeschel #define CONFIG_CMD_EEPROM
1161c1b7c37SLars Poeschel #define CONFIG_ENV_EEPROM_IS_ON_I2C
1171c1b7c37SLars Poeschel #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Main EEPROM */
1181c1b7c37SLars Poeschel #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
1191c1b7c37SLars Poeschel #define CONFIG_SYS_I2C_MULTI_EEPROMS
1201c1b7c37SLars Poeschel 
1211c1b7c37SLars Poeschel #define CONFIG_SYS_BAUDRATE_TABLE	{ 110, 300, 600, 1200, 2400, \
1221c1b7c37SLars Poeschel 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
1231c1b7c37SLars Poeschel 
12447c6ea07SSRICHARAN R /* CPU */
1251c1b7c37SLars Poeschel #define CONFIG_ENV_IS_NOWHERE
1261c1b7c37SLars Poeschel 
1271c1b7c37SLars Poeschel #define CONFIG_SPL_YMODEM_SUPPORT
1281c1b7c37SLars Poeschel #define CONFIG_SPL_NET_SUPPORT
129ba1bee43SYing Zhang #define CONFIG_SPL_ENV_SUPPORT
1301c1b7c37SLars Poeschel #define CONFIG_SPL_NET_VCI_STRING	"pcm051 U-Boot SPL"
1311c1b7c37SLars Poeschel #define CONFIG_SPL_ETH_SUPPORT
132b640b460SMatwey V. Kornilov #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"
133b640b460SMatwey V. Kornilov 
134b640b460SMatwey V. Kornilov #ifdef CONFIG_SPI_BOOT
1351c1b7c37SLars Poeschel #define CONFIG_SPL_SPI_SUPPORT
1361c1b7c37SLars Poeschel #define CONFIG_SPL_SPI_FLASH_SUPPORT
1371c1b7c37SLars Poeschel #define CONFIG_SPL_SPI_LOAD
1381c1b7c37SLars Poeschel #define CONFIG_SYS_SPI_U_BOOT_OFFS	0x20000
1391c1b7c37SLars Poeschel #define CONFIG_SYS_SPI_U_BOOT_SIZE	0x40000
1401c1b7c37SLars Poeschel #endif
1411c1b7c37SLars Poeschel 
1421c1b7c37SLars Poeschel /*
1431c1b7c37SLars Poeschel  * USB configuration
1441c1b7c37SLars Poeschel  */
1451c1b7c37SLars Poeschel #define CONFIG_USB_MUSB_DSPS
1461c1b7c37SLars Poeschel #define CONFIG_ARCH_MISC_INIT
1471c1b7c37SLars Poeschel #define CONFIG_MUSB_GADGET
1481c1b7c37SLars Poeschel #define CONFIG_MUSB_PIO_ONLY
1491c1b7c37SLars Poeschel #define CONFIG_USB_GADGET_DUALSPEED
1501c1b7c37SLars Poeschel #define CONFIG_MUSB_HOST
1511c1b7c37SLars Poeschel #define CONFIG_AM335X_USB0
1521c1b7c37SLars Poeschel #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
1531c1b7c37SLars Poeschel #define CONFIG_AM335X_USB1
1541c1b7c37SLars Poeschel #define CONFIG_AM335X_USB1_MODE MUSB_HOST
1551c1b7c37SLars Poeschel 
1561c1b7c37SLars Poeschel #ifdef CONFIG_MUSB_HOST
1571c1b7c37SLars Poeschel #define CONFIG_CMD_USB
1581c1b7c37SLars Poeschel #define CONFIG_USB_STORAGE
1591c1b7c37SLars Poeschel #endif
1601c1b7c37SLars Poeschel 
1611c1b7c37SLars Poeschel #ifdef CONFIG_MUSB_GADGET
1621c1b7c37SLars Poeschel #define CONFIG_USB_ETHER
1631c1b7c37SLars Poeschel #define CONFIG_USB_ETH_RNDIS
1641c1b7c37SLars Poeschel #endif /* CONFIG_MUSB_GADGET */
1651c1b7c37SLars Poeschel 
1661c1b7c37SLars Poeschel /* Unsupported features */
1671c1b7c37SLars Poeschel #undef CONFIG_USE_IRQ
1681c1b7c37SLars Poeschel 
1691c1b7c37SLars Poeschel #define CONFIG_NET_MULTI
1701c1b7c37SLars Poeschel #define CONFIG_PHY_GIGE
1711c1b7c37SLars Poeschel #define CONFIG_PHYLIB
1721c1b7c37SLars Poeschel #define CONFIG_PHY_SMSC
1731c1b7c37SLars Poeschel 
1741c1b7c37SLars Poeschel #endif	/* ! __CONFIG_PCM051_H */
175