xref: /rk3399_rockchip-uboot/include/configs/legoev3.h (revision 1490eb89f4697b02cfb8f826d2f5eaf37edcbd47)
12ac07f75SDavid Lechner /*
22ac07f75SDavid Lechner  * Copyright (C) 2016 David Lechner <david@lechnology.com>
32ac07f75SDavid Lechner  *
42ac07f75SDavid Lechner  * Based on da850evm.h
52ac07f75SDavid Lechner  *
62ac07f75SDavid Lechner  * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
72ac07f75SDavid Lechner  *
82ac07f75SDavid Lechner  * Based on davinci_dvevm.h. Original Copyrights follow:
92ac07f75SDavid Lechner  *
102ac07f75SDavid Lechner  * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
112ac07f75SDavid Lechner  *
122ac07f75SDavid Lechner  * SPDX-License-Identifier:	GPL-2.0+
132ac07f75SDavid Lechner  */
142ac07f75SDavid Lechner 
152ac07f75SDavid Lechner #ifndef __CONFIG_H
162ac07f75SDavid Lechner #define __CONFIG_H
172ac07f75SDavid Lechner 
182ac07f75SDavid Lechner /*
192ac07f75SDavid Lechner  * SoC Configuration
202ac07f75SDavid Lechner  */
212ac07f75SDavid Lechner #define CONFIG_MACH_DAVINCI_DA850_EVM
222ac07f75SDavid Lechner #define CONFIG_SOC_DA8XX		/* TI DA8xx SoC */
232ac07f75SDavid Lechner #define CONFIG_SOC_DA850		/* TI DA850 SoC */
242ac07f75SDavid Lechner #define CONFIG_SYS_EXCEPTION_VECTORS_HIGH
252ac07f75SDavid Lechner #define CONFIG_SYS_CLK_FREQ		clk_get(DAVINCI_ARM_CLKID)
262ac07f75SDavid Lechner #define CONFIG_SYS_OSCIN_FREQ		24000000
272ac07f75SDavid Lechner #define CONFIG_SYS_TIMERBASE		DAVINCI_TIMER0_BASE
282ac07f75SDavid Lechner #define CONFIG_SYS_HZ_CLOCK		clk_get(DAVINCI_AUXCLK_CLKID)
292ac07f75SDavid Lechner 
302ac07f75SDavid Lechner #define CONFIG_SYS_TEXT_BASE		0xc1080000
312ac07f75SDavid Lechner 
322ac07f75SDavid Lechner /*
332ac07f75SDavid Lechner  * Memory Info
342ac07f75SDavid Lechner  */
352ac07f75SDavid Lechner #define CONFIG_SYS_MALLOC_LEN	(0x10000 + 1*1024*1024) /* malloc() len */
362ac07f75SDavid Lechner #define PHYS_SDRAM_1		DAVINCI_DDR_EMIF_DATA_BASE /* DDR Start */
372ac07f75SDavid Lechner #define PHYS_SDRAM_1_SIZE	(64 << 20) /* SDRAM size 64MB */
382ac07f75SDavid Lechner #define CONFIG_MAX_RAM_BANK_SIZE (512 << 20) /* max size from SPRS586*/
392ac07f75SDavid Lechner 
402ac07f75SDavid Lechner /* memtest start addr */
412ac07f75SDavid Lechner #define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM_1 + 0x2000000)
422ac07f75SDavid Lechner 
432ac07f75SDavid Lechner /* memtest will be run on 16MB */
442ac07f75SDavid Lechner #define CONFIG_SYS_MEMTEST_END 	(PHYS_SDRAM_1 + 0x2000000 + 16*1024*1024)
452ac07f75SDavid Lechner 
462ac07f75SDavid Lechner #define CONFIG_NR_DRAM_BANKS	1 /* we have 1 bank of DRAM */
472ac07f75SDavid Lechner 
482ac07f75SDavid Lechner #define CONFIG_SYS_DA850_SYSCFG_SUSPSRC (	\
492ac07f75SDavid Lechner 	DAVINCI_SYSCFG_SUSPSRC_TIMER0 |		\
502ac07f75SDavid Lechner 	DAVINCI_SYSCFG_SUSPSRC_SPI0 |		\
512ac07f75SDavid Lechner 	DAVINCI_SYSCFG_SUSPSRC_UART1 |		\
522ac07f75SDavid Lechner 	DAVINCI_SYSCFG_SUSPSRC_EMAC |		\
532ac07f75SDavid Lechner 	DAVINCI_SYSCFG_SUSPSRC_I2C)
542ac07f75SDavid Lechner 
552ac07f75SDavid Lechner /*
562ac07f75SDavid Lechner  * PLL configuration
572ac07f75SDavid Lechner  */
582ac07f75SDavid Lechner #define CONFIG_SYS_DV_CLKMODE          0
592ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_POSTDIV  1
602ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
612ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
622ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
632ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
642ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
652ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
662ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
672ac07f75SDavid Lechner 
682ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL1_POSTDIV  1
692ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
702ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
712ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8002
722ac07f75SDavid Lechner 
732ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL0_PLLM     24
742ac07f75SDavid Lechner #define CONFIG_SYS_DA850_PLL1_PLLM     21
752ac07f75SDavid Lechner 
762ac07f75SDavid Lechner /*
772ac07f75SDavid Lechner  * DDR2 memory configuration
782ac07f75SDavid Lechner  */
792ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_DDRPHYCR (DV_DDR_PHY_PWRDNEN | \
802ac07f75SDavid Lechner 					DV_DDR_PHY_EXT_STRBEN | \
812ac07f75SDavid Lechner 					(0x4 << DV_DDR_PHY_RD_LATENCY_SHIFT))
822ac07f75SDavid Lechner 
832ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_SDBCR (		\
842ac07f75SDavid Lechner 	(1 << DV_DDR_SDCR_MSDRAMEN_SHIFT) |	\
852ac07f75SDavid Lechner 	(1 << DV_DDR_SDCR_DDREN_SHIFT) |	\
862ac07f75SDavid Lechner 	(1 << DV_DDR_SDCR_SDRAMEN_SHIFT) |	\
872ac07f75SDavid Lechner 	(1 << DV_DDR_SDCR_BUS_WIDTH_SHIFT) |	\
882ac07f75SDavid Lechner 	(0x3 << DV_DDR_SDCR_CL_SHIFT) |		\
892ac07f75SDavid Lechner 	(0x2 << DV_DDR_SDCR_IBANK_SHIFT) |	\
902ac07f75SDavid Lechner 	(0x2 << DV_DDR_SDCR_PAGESIZE_SHIFT))
912ac07f75SDavid Lechner 
922ac07f75SDavid Lechner /* SDBCR2 is only used if IBANK_POS bit in SDBCR is set */
932ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_SDBCR2 0
942ac07f75SDavid Lechner 
952ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_SDTIMR (		\
962ac07f75SDavid Lechner 	(14 << DV_DDR_SDTMR1_RFC_SHIFT) |	\
972ac07f75SDavid Lechner 	(2 << DV_DDR_SDTMR1_RP_SHIFT) |		\
982ac07f75SDavid Lechner 	(2 << DV_DDR_SDTMR1_RCD_SHIFT) |	\
992ac07f75SDavid Lechner 	(1 << DV_DDR_SDTMR1_WR_SHIFT) |		\
1002ac07f75SDavid Lechner 	(5 << DV_DDR_SDTMR1_RAS_SHIFT) |	\
1012ac07f75SDavid Lechner 	(8 << DV_DDR_SDTMR1_RC_SHIFT) |		\
1022ac07f75SDavid Lechner 	(1 << DV_DDR_SDTMR1_RRD_SHIFT) |	\
1032ac07f75SDavid Lechner 	(0 << DV_DDR_SDTMR1_WTR_SHIFT))
1042ac07f75SDavid Lechner 
1052ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_SDTIMR2 (		\
1062ac07f75SDavid Lechner 	(7 << DV_DDR_SDTMR2_RASMAX_SHIFT) |	\
1072ac07f75SDavid Lechner 	(0 << DV_DDR_SDTMR2_XP_SHIFT) |		\
1082ac07f75SDavid Lechner 	(0 << DV_DDR_SDTMR2_ODT_SHIFT) |	\
1092ac07f75SDavid Lechner 	(17 << DV_DDR_SDTMR2_XSNR_SHIFT) |	\
1102ac07f75SDavid Lechner 	(199 << DV_DDR_SDTMR2_XSRD_SHIFT) |	\
1112ac07f75SDavid Lechner 	(0 << DV_DDR_SDTMR2_RTP_SHIFT) |	\
1122ac07f75SDavid Lechner 	(0 << DV_DDR_SDTMR2_CKE_SHIFT))
1132ac07f75SDavid Lechner 
1142ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_SDRCR    0x00000494
1152ac07f75SDavid Lechner #define CONFIG_SYS_DA850_DDR2_PBBPR    0x30
1162ac07f75SDavid Lechner 
1172ac07f75SDavid Lechner /*
1182ac07f75SDavid Lechner  * Serial Driver info
1192ac07f75SDavid Lechner  */
1202ac07f75SDavid Lechner #define CONFIG_SYS_NS16550_SERIAL
1212ac07f75SDavid Lechner #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
1222ac07f75SDavid Lechner #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART1_BASE /* Base address of UART1 */
1232ac07f75SDavid Lechner #define CONFIG_SYS_NS16550_CLK	clk_get(DAVINCI_UART2_CLKID)
1242ac07f75SDavid Lechner #define CONFIG_CONS_INDEX	1		/* use UART0 for console */
1252ac07f75SDavid Lechner 
1262ac07f75SDavid Lechner #define CONFIG_SYS_SPI_BASE		DAVINCI_SPI0_BASE
1272ac07f75SDavid Lechner #define CONFIG_SYS_SPI_CLK		clk_get(DAVINCI_SPI0_CLKID)
1282ac07f75SDavid Lechner #define CONFIG_SF_DEFAULT_SPEED		50000000
1292ac07f75SDavid Lechner #define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
1302ac07f75SDavid Lechner 
1312ac07f75SDavid Lechner /*
1322ac07f75SDavid Lechner  * I2C Configuration
1332ac07f75SDavid Lechner  */
1342ac07f75SDavid Lechner #define CONFIG_SYS_I2C
1352ac07f75SDavid Lechner #define CONFIG_SYS_I2C_DAVINCI
1362ac07f75SDavid Lechner #define CONFIG_SYS_DAVINCI_I2C_SPEED		400000
1372ac07f75SDavid Lechner #define CONFIG_SYS_DAVINCI_I2C_SLAVE   10 /* Bogus, master-only in U-Boot */
1382ac07f75SDavid Lechner 
1392ac07f75SDavid Lechner /*
1402ac07f75SDavid Lechner  * U-Boot general configuration
1412ac07f75SDavid Lechner  */
1422ac07f75SDavid Lechner #define CONFIG_BOOTFILE		"uImage" /* Boot file name */
1432ac07f75SDavid Lechner #define CONFIG_SYS_CBSIZE	1024 /* Console I/O Buffer Size	*/
1442ac07f75SDavid Lechner #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE /* Boot Args Buffer Size */
1452ac07f75SDavid Lechner #define CONFIG_SYS_LOAD_ADDR	(PHYS_SDRAM_1 + 0x700000)
1462ac07f75SDavid Lechner #define CONFIG_AUTO_COMPLETE
1472ac07f75SDavid Lechner #define CONFIG_CMDLINE_EDITING
1482ac07f75SDavid Lechner #define CONFIG_SYS_LONGHELP
1492ac07f75SDavid Lechner #define CONFIG_MX_CYCLIC
1502ac07f75SDavid Lechner 
1512ac07f75SDavid Lechner /*
1522ac07f75SDavid Lechner  * Linux Information
1532ac07f75SDavid Lechner  */
1542ac07f75SDavid Lechner #define LINUX_BOOT_PARAM_ADDR	(PHYS_SDRAM_1 + 0x100)
1552ac07f75SDavid Lechner #define CONFIG_HWCONFIG		/* enable hwconfig */
1562ac07f75SDavid Lechner #define CONFIG_CMDLINE_TAG
1572ac07f75SDavid Lechner #define CONFIG_REVISION_TAG
1582ac07f75SDavid Lechner #define CONFIG_SERIAL_TAG
1592ac07f75SDavid Lechner #define CONFIG_SETUP_MEMORY_TAGS
1602ac07f75SDavid Lechner #define CONFIG_SETUP_INITRD_TAG
1612ac07f75SDavid Lechner #define CONFIG_BOOTCOMMAND \
1622ac07f75SDavid Lechner 	"if mmc rescan; then " \
1632ac07f75SDavid Lechner 		"if run loadbootscr; then " \
1642ac07f75SDavid Lechner 			"run bootscript; " \
1652ac07f75SDavid Lechner 		"else " \
1662ac07f75SDavid Lechner 			"if run loadimage; then " \
1672ac07f75SDavid Lechner 				"run mmcargs; " \
1682ac07f75SDavid Lechner 				"run mmcboot; " \
1692ac07f75SDavid Lechner 			"else " \
1702ac07f75SDavid Lechner 				"run flashargs; " \
1712ac07f75SDavid Lechner 				"run flashboot; " \
1722ac07f75SDavid Lechner 			"fi; " \
1732ac07f75SDavid Lechner 		"fi; " \
1742ac07f75SDavid Lechner 	"else " \
1752ac07f75SDavid Lechner 		"run flashargs; " \
1762ac07f75SDavid Lechner 		"run flashboot; " \
1772ac07f75SDavid Lechner 	"fi"
1782ac07f75SDavid Lechner #define CONFIG_EXTRA_ENV_SETTINGS \
1792ac07f75SDavid Lechner 	"hostname=EV3\0" \
1802ac07f75SDavid Lechner 	"memsize=64M\0" \
1812ac07f75SDavid Lechner 	"filesyssize=10M\0" \
1822ac07f75SDavid Lechner 	"verify=n\0" \
1832ac07f75SDavid Lechner 	"console=ttyS1,115200n8\0" \
1842ac07f75SDavid Lechner 	"bootscraddr=0xC0600000\0" \
1852ac07f75SDavid Lechner 	"loadaddr=0xC0007FC0\0" \
1862ac07f75SDavid Lechner 	"filesysaddr=0xC1180000\0" \
1872ac07f75SDavid Lechner 	"fwupdateboot=mw 0xFFFF1FFC 0x5555AAAA; reset\0" \
1882ac07f75SDavid Lechner 	"mmcargs=setenv bootargs mem=${memsize} console=${console} root=/dev/mmcblk0p2 rw rootwait lpj=747520\0" \
1892ac07f75SDavid Lechner 	"mmcboot=bootm ${loadaddr}\0" \
1902ac07f75SDavid Lechner 	"flashargs=setenv bootargs mem=${memsize} initrd=${filesysaddr},${filesyssize} root=/dev/ram0 rw rootfstype=squashfs console=${console} lpj=747520\0" \
1912ac07f75SDavid Lechner 	"flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x300000; sf read ${filesysaddr} 0x350000 0x960000; bootm ${loadaddr}\0" \
1922ac07f75SDavid Lechner 	"loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
1932ac07f75SDavid Lechner 	"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
1942ac07f75SDavid Lechner 	"bootscript=source ${bootscraddr}\0" \
1952ac07f75SDavid Lechner 
1962ac07f75SDavid Lechner #ifdef CONFIG_CMD_BDI
1972ac07f75SDavid Lechner #define CONFIG_CLOCKS
1982ac07f75SDavid Lechner #endif
1992ac07f75SDavid Lechner 
2002ac07f75SDavid Lechner #define CONFIG_ENV_SIZE		(16 << 10)
2012ac07f75SDavid Lechner 
2022ac07f75SDavid Lechner /* additions for new relocation code, must added to all boards */
2032ac07f75SDavid Lechner #define CONFIG_SYS_SDRAM_BASE		0xc0000000
2042ac07f75SDavid Lechner 
2052ac07f75SDavid Lechner #define CONFIG_SYS_INIT_SP_ADDR		0x80010000
2062ac07f75SDavid Lechner 
207*89f5eaa1SSimon Glass #include <asm/arch/hardware.h>
208*89f5eaa1SSimon Glass 
2092ac07f75SDavid Lechner #endif /* __CONFIG_H */
210