xref: /rk3399_rockchip-uboot/include/configs/vinco.h (revision 1a4f6af8bfd44c8ae6e87a81ff125eed47042cc5)
1522e4fbbSGregory CLEMENT /*
2522e4fbbSGregory CLEMENT  * Configuration settings for the VInCo platform.
3522e4fbbSGregory CLEMENT  *
4522e4fbbSGregory CLEMENT  * Based on the settings for the SAMA5-EK board
5522e4fbbSGregory CLEMENT  * Copyright (C) 2014 Atmel
6522e4fbbSGregory CLEMENT  *		      Bo Shen <voice.shen@atmel.com>
7522e4fbbSGregory CLEMENT  * Copyright (C) 2015 Free Electrons
8522e4fbbSGregory CLEMENT  *		      Gregory CLEMENT gregory.clement@free-electrons.com
9522e4fbbSGregory CLEMENT  *
10522e4fbbSGregory CLEMENT  * SPDX-License-Identifier:	GPL-2.0+
11522e4fbbSGregory CLEMENT  */
12522e4fbbSGregory CLEMENT 
13522e4fbbSGregory CLEMENT #ifndef __CONFIG_H
14522e4fbbSGregory CLEMENT #define __CONFIG_H
15522e4fbbSGregory CLEMENT 
16522e4fbbSGregory CLEMENT #include "at91-sama5_common.h"
17522e4fbbSGregory CLEMENT 
18522e4fbbSGregory CLEMENT /* The value in the common file is too far away for the VInCo platform */
19522e4fbbSGregory CLEMENT #ifdef CONFIG_SYS_TEXT_BASE
20522e4fbbSGregory CLEMENT #undef CONFIG_SYS_TEXT_BASE
21522e4fbbSGregory CLEMENT #endif
22522e4fbbSGregory CLEMENT #define CONFIG_SYS_TEXT_BASE		0x20f00000
23522e4fbbSGregory CLEMENT 
24522e4fbbSGregory CLEMENT /* serial console */
25522e4fbbSGregory CLEMENT #define CONFIG_ATMEL_USART
26522e4fbbSGregory CLEMENT #define CONFIG_USART_BASE		ATMEL_BASE_USART3
27522e4fbbSGregory CLEMENT #define	CONFIG_USART_ID			ATMEL_ID_USART3
28522e4fbbSGregory CLEMENT 
29522e4fbbSGregory CLEMENT /* SDRAM */
30522e4fbbSGregory CLEMENT #define CONFIG_NR_DRAM_BANKS		1
31522e4fbbSGregory CLEMENT #define CONFIG_SYS_SDRAM_BASE           ATMEL_BASE_DDRCS
32522e4fbbSGregory CLEMENT #define CONFIG_SYS_SDRAM_SIZE		0x4000000
33522e4fbbSGregory CLEMENT 
34522e4fbbSGregory CLEMENT #define CONFIG_SYS_INIT_SP_ADDR \
35522e4fbbSGregory CLEMENT 	(CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
36522e4fbbSGregory CLEMENT 
37522e4fbbSGregory CLEMENT #define CONFIG_SYS_LOAD_ADDR		0x22000000 /* load address */
38522e4fbbSGregory CLEMENT 
39522e4fbbSGregory CLEMENT /* SerialFlash */
40522e4fbbSGregory CLEMENT 
41522e4fbbSGregory CLEMENT #ifdef CONFIG_CMD_SF
42*10f7c0a9STom Rini #define CONFIG_ATMEL_SPI
43*10f7c0a9STom Rini #define CONFIG_ATMEL_SPI0
44522e4fbbSGregory CLEMENT #define CONFIG_SPI_FLASH_STMICRO
45522e4fbbSGregory CLEMENT #define CONFIG_SF_DEFAULT_BUS		0
46522e4fbbSGregory CLEMENT #define CONFIG_SF_DEFAULT_CS		0
47522e4fbbSGregory CLEMENT #define CONFIG_SF_DEFAULT_SPEED		50000000
48522e4fbbSGregory CLEMENT #define CONFIG_ENV_SPI_MAX_HZ		50000000
49522e4fbbSGregory CLEMENT #define CONFIG_SF_DEFAULT_MODE		(SPI_MODE_0)
50522e4fbbSGregory CLEMENT #define CONFIG_ENV_SPI_MODE		(SPI_MODE_0)
51522e4fbbSGregory CLEMENT #endif
52522e4fbbSGregory CLEMENT 
53522e4fbbSGregory CLEMENT /* MMC */
54522e4fbbSGregory CLEMENT 
55522e4fbbSGregory CLEMENT #ifdef CONFIG_CMD_MMC
56522e4fbbSGregory CLEMENT #define CONFIG_SUPPORT_EMMC_BOOT
57522e4fbbSGregory CLEMENT #define CONFIG_GENERIC_ATMEL_MCI
58522e4fbbSGregory CLEMENT #define ATMEL_BASE_MMCI			ATMEL_BASE_MCI1
59522e4fbbSGregory CLEMENT #define CONFIG_SYS_MMC_CLK_OD		500000
60522e4fbbSGregory CLEMENT 
61522e4fbbSGregory CLEMENT /* For generating MMC partitions */
62522e4fbbSGregory CLEMENT 
63522e4fbbSGregory CLEMENT #endif
64522e4fbbSGregory CLEMENT 
65522e4fbbSGregory CLEMENT /* USB device */
66522e4fbbSGregory CLEMENT 
67522e4fbbSGregory CLEMENT /* Ethernet Hardware */
68522e4fbbSGregory CLEMENT #define CONFIG_PHY_SMSC
69522e4fbbSGregory CLEMENT #define CONFIG_MACB
70522e4fbbSGregory CLEMENT #define CONFIG_RMII
71522e4fbbSGregory CLEMENT #define CONFIG_NET_RETRY_COUNT		20
72522e4fbbSGregory CLEMENT #define CONFIG_MACB_SEARCH_PHY
73522e4fbbSGregory CLEMENT 
74522e4fbbSGregory CLEMENT #ifdef CONFIG_SYS_USE_SERIALFLASH
75522e4fbbSGregory CLEMENT /* bootstrap + u-boot + env + linux in serial flash */
76522e4fbbSGregory CLEMENT #define CONFIG_ENV_SPI_BUS	CONFIG_SF_DEFAULT_BUS
77522e4fbbSGregory CLEMENT #define CONFIG_ENV_SPI_CS	CONFIG_SF_DEFAULT_CS
78522e4fbbSGregory CLEMENT /* Use our own mapping for the VInCo platform */
79522e4fbbSGregory CLEMENT #undef CONFIG_ENV_OFFSET
80522e4fbbSGregory CLEMENT #undef CONFIG_ENV_SIZE
81522e4fbbSGregory CLEMENT 
82522e4fbbSGregory CLEMENT #define CONFIG_ENV_OFFSET       0x10000
83522e4fbbSGregory CLEMENT #define CONFIG_ENV_SIZE         0x10000
84522e4fbbSGregory CLEMENT 
85522e4fbbSGregory CLEMENT /* Update the bootcommand according to our mapping for the VInCo platform */
86522e4fbbSGregory CLEMENT #undef CONFIG_BOOTCOMMAND
87522e4fbbSGregory CLEMENT #define CONFIG_BOOTCOMMAND  "mmc dev 0 0;" \
88522e4fbbSGregory CLEMENT 			    "mmc read ${loadaddr} ${k_offset} ${k_blksize};" \
89522e4fbbSGregory CLEMENT 			    "mmc read ${oftaddr} ${dtb_offset} ${dtb_blksize};" \
90522e4fbbSGregory CLEMENT 			    "bootz ${loadaddr} -  ${oftaddr}"
91522e4fbbSGregory CLEMENT 
92522e4fbbSGregory CLEMENT #define CONFIG_EXTRA_ENV_SETTINGS \
93522e4fbbSGregory CLEMENT 	"kernel_start=0x20000\0" \
94522e4fbbSGregory CLEMENT 	"kernel_size=0x800000\0" \
95522e4fbbSGregory CLEMENT 	"mmcblksize=0x200\0" \
96522e4fbbSGregory CLEMENT 	"oftaddr=0x21000000\0" \
97522e4fbbSGregory CLEMENT 	"loadaddr=0x22000000\0" \
98522e4fbbSGregory CLEMENT 	"update_uboot=tftp ${loadaddr} u-boot.bin;sf probe 0;" \
99522e4fbbSGregory CLEMENT 	"sf erase 0x20000 0x4B000; sf write ${loadaddr} 0x20000 0x4B000\0" \
100522e4fbbSGregory CLEMENT 	"create_partition=setexpr dtb_start ${kernel_start} + 0x400000;" \
101522e4fbbSGregory CLEMENT 	"setexpr rootfs_start ${kernel_start} + ${kernel_size};" \
102522e4fbbSGregory CLEMENT 	"setenv partitions 'name=kernel,size=${kernel_size}," \
103522e4fbbSGregory CLEMENT 	"start=${kernel_start};name=rootfs,size=-';" \
104522e4fbbSGregory CLEMENT 	"gpt write mmc 0 ${partitions} \0"\
105522e4fbbSGregory CLEMENT 	"f2blk_size=setexpr fileblksize ${filesize} / ${mmcblksize};" \
106522e4fbbSGregory CLEMENT 	"setexpr fileblksize ${fileblksize} + 1\0" \
107522e4fbbSGregory CLEMENT 	"store_kernel=tftp ${loadaddr} zImage; run f2blk_size;" \
108522e4fbbSGregory CLEMENT 	"setexpr k_blksize ${fileblksize};" \
109522e4fbbSGregory CLEMENT 	"setexpr k_offset ${kernel_start} / ${mmcblksize};" \
110522e4fbbSGregory CLEMENT 	"mmc write ${fileaddr} ${k_offset} ${fileblksize}\0" \
111522e4fbbSGregory CLEMENT 	"store_dtb=tftp ${loadaddr} at91-vinco.dtb; run f2blk_size;" \
112522e4fbbSGregory CLEMENT 	"setexpr dtb_blksize ${fileblksize};" \
113522e4fbbSGregory CLEMENT 	"setexpr dtb_offset ${dtb_start} / ${mmcblksize};" \
114522e4fbbSGregory CLEMENT 	"mmc write ${fileaddr} ${dtb_offset} ${fileblksize}\0" \
115522e4fbbSGregory CLEMENT 	"store_rootfs=tftp ${loadaddr} vinco-gateway-image-vinco.ext4;" \
116522e4fbbSGregory CLEMENT 	"setexpr rootfs_offset ${rootfs_start} / ${mmcblksize};" \
117522e4fbbSGregory CLEMENT 	"mmc write ${fileaddr} ${rootfs_offset} ${fileblksize}\0" \
118522e4fbbSGregory CLEMENT 	"bootdelay=0\0"
119522e4fbbSGregory CLEMENT 
120522e4fbbSGregory CLEMENT #endif
121522e4fbbSGregory CLEMENT 
122522e4fbbSGregory CLEMENT #endif
123