xref: /rk3399_rockchip-uboot/include/configs/novena.h (revision 1a4f6af8bfd44c8ae6e87a81ff125eed47042cc5)
1f91c09acSMarek Vasut /*
2*a187559eSBin Meng  * Configuration settings for the Novena U-Boot.
3f91c09acSMarek Vasut  *
4f91c09acSMarek Vasut  * Copyright (C) 2014 Marek Vasut <marex@denx.de>
5f91c09acSMarek Vasut  *
6f91c09acSMarek Vasut  * SPDX-License-Identifier:	GPL-2.0+
7f91c09acSMarek Vasut  */
8f91c09acSMarek Vasut 
9f91c09acSMarek Vasut #ifndef __CONFIG_H
10f91c09acSMarek Vasut #define __CONFIG_H
11f91c09acSMarek Vasut 
12f91c09acSMarek Vasut /* System configurations */
13f91c09acSMarek Vasut #define CONFIG_MISC_INIT_R
14f91c09acSMarek Vasut #define CONFIG_KEYBOARD
15f91c09acSMarek Vasut 
161c2d4a50SVagrant Cascadian #include <config_distro_defaults.h>
1760667a53SPeter Robinson #include "mx6_common.h"
18f91c09acSMarek Vasut 
19f91c09acSMarek Vasut /* U-Boot Commands */
20f91c09acSMarek Vasut 
21f91c09acSMarek Vasut /* U-Boot general configurations */
22f91c09acSMarek Vasut 
23f91c09acSMarek Vasut /* U-Boot environment */
24f91c09acSMarek Vasut #define CONFIG_ENV_SIZE			(16 * 1024)
25f91c09acSMarek Vasut /*
26f91c09acSMarek Vasut  * Environment is on MMC, starting at offset 512KiB from start of the card.
27f91c09acSMarek Vasut  * Please place first partition at offset 1MiB from the start of the card
28f91c09acSMarek Vasut  * as recommended by GNU/fdisk. See below for details:
29f91c09acSMarek Vasut  * http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/disc-partition-alignment.html
30f91c09acSMarek Vasut  */
31f91c09acSMarek Vasut #ifdef CONFIG_CMD_MMC
32f91c09acSMarek Vasut #define CONFIG_SYS_MMC_ENV_DEV		0
33f91c09acSMarek Vasut #define CONFIG_ENV_OFFSET		(512 * 1024)
34f91c09acSMarek Vasut #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
35f91c09acSMarek Vasut #define CONFIG_ENV_OFFSET_REDUND	\
36f91c09acSMarek Vasut 		(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
37f91c09acSMarek Vasut #endif
38f91c09acSMarek Vasut 
39f91c09acSMarek Vasut /* Booting Linux */
40f91c09acSMarek Vasut #define CONFIG_BOOTFILE			"fitImage"
411c2d4a50SVagrant Cascadian #define CONFIG_BOOTCOMMAND		"run distro_bootcmd ; run net_nfs"
42f91c09acSMarek Vasut #define CONFIG_HOSTNAME			novena
43f91c09acSMarek Vasut 
44f91c09acSMarek Vasut /* Physical Memory Map */
45f91c09acSMarek Vasut #define CONFIG_NR_DRAM_BANKS		1
46f91c09acSMarek Vasut #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
47f91c09acSMarek Vasut 
48f91c09acSMarek Vasut #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
49f91c09acSMarek Vasut #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
50f91c09acSMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
51f91c09acSMarek Vasut 
52f91c09acSMarek Vasut #define CONFIG_SYS_INIT_SP_OFFSET \
53f91c09acSMarek Vasut 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
54f91c09acSMarek Vasut #define CONFIG_SYS_INIT_SP_ADDR \
55f91c09acSMarek Vasut 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
56f91c09acSMarek Vasut 
57f91c09acSMarek Vasut #define CONFIG_SYS_MEMTEST_START	0x10000000
58f91c09acSMarek Vasut #define CONFIG_SYS_MEMTEST_END		0x20000000
59f91c09acSMarek Vasut 
60f91c09acSMarek Vasut #define CONFIG_SYS_MALLOC_LEN		(64 * 1024 * 1024)
61f91c09acSMarek Vasut 
62f91c09acSMarek Vasut /* SPL */
63f91c09acSMarek Vasut #include "imx6_spl.h"			/* common IMX6 SPL configuration */
64f91c09acSMarek Vasut 
65f91c09acSMarek Vasut /* Ethernet Configuration */
66f91c09acSMarek Vasut #ifdef CONFIG_CMD_NET
67f91c09acSMarek Vasut #define CONFIG_FEC_MXC
68f91c09acSMarek Vasut #define CONFIG_MII
69f91c09acSMarek Vasut #define IMX_FEC_BASE			ENET_BASE_ADDR
70f91c09acSMarek Vasut #define CONFIG_FEC_XCV_TYPE		RGMII
71f91c09acSMarek Vasut #define CONFIG_ETHPRIME			"FEC"
72f91c09acSMarek Vasut #define CONFIG_FEC_MXC_PHYADDR		0x7
73f91c09acSMarek Vasut #define CONFIG_ARP_TIMEOUT		200UL
74f91c09acSMarek Vasut #endif
75f91c09acSMarek Vasut 
76f91c09acSMarek Vasut /* I2C */
77f91c09acSMarek Vasut #define CONFIG_SYS_I2C
78f91c09acSMarek Vasut #define CONFIG_SYS_I2C_MXC
7903544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
8003544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
81f8cb101eSYork Sun #define CONFIG_SYS_I2C_MXC_I2C3		/* enable I2C bus 3 */
82f91c09acSMarek Vasut #define CONFIG_I2C_MULTI_BUS
83f91c09acSMarek Vasut #define CONFIG_I2C_MXC
84f91c09acSMarek Vasut #define CONFIG_SYS_I2C_SPEED		100000
85735b1a2eSMarek Vasut #define CONFIG_SYS_SPD_BUS_NUM		0
86f91c09acSMarek Vasut 
87f91c09acSMarek Vasut /* I2C EEPROM */
88f91c09acSMarek Vasut #ifdef CONFIG_CMD_EEPROM
89f91c09acSMarek Vasut #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
90735b1a2eSMarek Vasut #define CONFIG_SYS_I2C_EEPROM_BUS	2
91f91c09acSMarek Vasut #endif
92f91c09acSMarek Vasut 
93f91c09acSMarek Vasut /* MMC Configs */
94f91c09acSMarek Vasut #define CONFIG_SYS_FSL_ESDHC_ADDR	0
95f91c09acSMarek Vasut #define CONFIG_SYS_FSL_USDHC_NUM	2
96f91c09acSMarek Vasut 
97f91c09acSMarek Vasut /* PCI express */
98f91c09acSMarek Vasut #ifdef CONFIG_CMD_PCI
99f91c09acSMarek Vasut #define CONFIG_PCI_SCAN_SHOW
100f91c09acSMarek Vasut #define CONFIG_PCIE_IMX
101f91c09acSMarek Vasut #define CONFIG_PCIE_IMX_PERST_GPIO	IMX_GPIO_NR(3, 29)
102f91c09acSMarek Vasut #define CONFIG_PCIE_IMX_POWER_GPIO	IMX_GPIO_NR(7, 12)
103f91c09acSMarek Vasut #endif
104f91c09acSMarek Vasut 
105f91c09acSMarek Vasut /* PMIC */
106f91c09acSMarek Vasut #define CONFIG_POWER
107f91c09acSMarek Vasut #define CONFIG_POWER_I2C
108f91c09acSMarek Vasut #define CONFIG_POWER_PFUZE100
109f91c09acSMarek Vasut #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
110f91c09acSMarek Vasut 
111f91c09acSMarek Vasut /* SATA Configs */
112f91c09acSMarek Vasut #ifdef CONFIG_CMD_SATA
113f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA
114f91c09acSMarek Vasut #define CONFIG_SYS_SATA_MAX_DEVICE	1
115f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA_PORT_ID	0
116f91c09acSMarek Vasut #define CONFIG_DWC_AHSATA_BASE_ADDR	SATA_ARB_BASE_ADDR
117f91c09acSMarek Vasut #define CONFIG_LBA48
118f91c09acSMarek Vasut #define CONFIG_LIBATA
119f91c09acSMarek Vasut #endif
120f91c09acSMarek Vasut 
121f91c09acSMarek Vasut /* UART */
122f91c09acSMarek Vasut #define CONFIG_MXC_UART
123f91c09acSMarek Vasut #define CONFIG_MXC_UART_BASE		UART2_BASE
124f91c09acSMarek Vasut 
125f91c09acSMarek Vasut /* USB Configs */
126f91c09acSMarek Vasut #ifdef CONFIG_CMD_USB
127f91c09acSMarek Vasut #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
128f91c09acSMarek Vasut #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
129f91c09acSMarek Vasut #define CONFIG_MXC_USB_FLAGS		0
130f91c09acSMarek Vasut /* Gadget part */
131f91c09acSMarek Vasut #define CONFIG_USBD_HS
132f91c09acSMarek Vasut #define CONFIG_NETCONSOLE
133f91c09acSMarek Vasut #endif
134f91c09acSMarek Vasut 
135f91c09acSMarek Vasut /* Video output */
136f91c09acSMarek Vasut #ifdef CONFIG_VIDEO
137f91c09acSMarek Vasut #define CONFIG_VIDEO_IPUV3
138f91c09acSMarek Vasut #define CONFIG_VIDEO_BMP_RLE8
139f91c09acSMarek Vasut #define CONFIG_SPLASH_SCREEN
140f91c09acSMarek Vasut #define CONFIG_BMP_16BPP
141f91c09acSMarek Vasut #define CONFIG_VIDEO_LOGO
142f91c09acSMarek Vasut #define CONFIG_IPUV3_CLK		260000000
143f91c09acSMarek Vasut #define CONFIG_IMX_HDMI
144f91c09acSMarek Vasut #define CONFIG_IMX_VIDEO_SKIP
145f91c09acSMarek Vasut #endif
146f91c09acSMarek Vasut 
147f91c09acSMarek Vasut /* Extra U-Boot environment. */
1481c2d4a50SVagrant Cascadian #ifndef CONFIG_SPL_BUILD
149f91c09acSMarek Vasut #define CONFIG_EXTRA_ENV_SETTINGS					\
150f91c09acSMarek Vasut 	"fdt_high=0xffffffff\0"						\
151f91c09acSMarek Vasut 	"initrd_high=0xffffffff\0"					\
152f91c09acSMarek Vasut 	"consdev=ttymxc1\0"						\
153f91c09acSMarek Vasut 	"baudrate=115200\0"						\
154f91c09acSMarek Vasut 	"bootdev=/dev/mmcblk0p1\0"					\
155f91c09acSMarek Vasut 	"rootdev=/dev/mmcblk0p2\0"					\
156f91c09acSMarek Vasut 	"netdev=eth0\0"							\
157233509a5SMarek Vasut 	"kernel_addr_r="__stringify(CONFIG_LOADADDR)"\0"		\
1581c2d4a50SVagrant Cascadian 	"pxefile_addr_r="__stringify(CONFIG_LOADADDR)"\0"		\
1591c2d4a50SVagrant Cascadian 	"scriptaddr="__stringify(CONFIG_LOADADDR)"\0"			\
1601c2d4a50SVagrant Cascadian 	"ramdisk_addr_r=0x28000000\0"		   			\
1611c2d4a50SVagrant Cascadian 	"fdt_addr_r=0x18000000\0"					\
1621c2d4a50SVagrant Cascadian 	"fdtfile=imx6q-novena.dtb\0"					\
163f91c09acSMarek Vasut 	"addcons="							\
164f91c09acSMarek Vasut 		"setenv bootargs ${bootargs} "				\
165f91c09acSMarek Vasut 		"console=${consdev},${baudrate}\0"			\
166f91c09acSMarek Vasut 	"addip="							\
167f91c09acSMarek Vasut 		"setenv bootargs ${bootargs} "				\
168f91c09acSMarek Vasut 		"ip=${ipaddr}:${serverip}:${gatewayip}:"		\
169f91c09acSMarek Vasut 			"${netmask}:${hostname}:${netdev}:off\0"	\
170f91c09acSMarek Vasut 	"addmisc="							\
171f91c09acSMarek Vasut 		"setenv bootargs ${bootargs} ${miscargs}\0"		\
172f91c09acSMarek Vasut 	"addargs=run addcons addmisc\0"					\
173f91c09acSMarek Vasut 	"mmcload="							\
174f91c09acSMarek Vasut 		"mmc rescan ; "						\
175f91c09acSMarek Vasut 		"ext4load mmc 0:1 ${kernel_addr_r} ${bootfile}\0"	\
176f91c09acSMarek Vasut 	"netload="							\
177f91c09acSMarek Vasut 		"tftp ${kernel_addr_r} ${hostname}/${bootfile}\0"	\
178f91c09acSMarek Vasut 	"miscargs=nohlt panic=1\0"					\
179f91c09acSMarek Vasut 	"mmcargs=setenv bootargs root=${rootdev} rw rootwait\0"		\
180f91c09acSMarek Vasut 	"nfsargs="							\
181f91c09acSMarek Vasut 		"setenv bootargs root=/dev/nfs rw "			\
182f91c09acSMarek Vasut 			"nfsroot=${serverip}:${rootpath},v3,tcp\0"	\
183f91c09acSMarek Vasut 	"mmc_mmc="							\
184f91c09acSMarek Vasut 		"run mmcload mmcargs addargs ; "			\
185f91c09acSMarek Vasut 		"bootm ${kernel_addr_r}\0"				\
186f91c09acSMarek Vasut 	"mmc_nfs="							\
187f91c09acSMarek Vasut 		"run mmcload nfsargs addip addargs ; "			\
188f91c09acSMarek Vasut 		"bootm ${kernel_addr_r}\0"				\
189f91c09acSMarek Vasut 	"net_mmc="							\
190f91c09acSMarek Vasut 		"run netload mmcargs addargs ; "			\
191f91c09acSMarek Vasut 		"bootm ${kernel_addr_r}\0"				\
192f91c09acSMarek Vasut 	"net_nfs="							\
193f91c09acSMarek Vasut 		"run netload nfsargs addip addargs ; "			\
194f91c09acSMarek Vasut 		"bootm ${kernel_addr_r}\0"				\
195f91c09acSMarek Vasut 	"update_sd_spl_filename=SPL\0"					\
196f91c09acSMarek Vasut 	"update_sd_uboot_filename=u-boot.img\0"				\
197f91c09acSMarek Vasut 	"update_sd_firmware="	/* Update the SD firmware partition */	\
198f91c09acSMarek Vasut 		"if mmc rescan ; then "					\
199f91c09acSMarek Vasut 		"if dhcp ${update_sd_spl_filename} ; then "		\
200f91c09acSMarek Vasut 		"mmc write ${loadaddr} 2 0x200 ; "			\
201f91c09acSMarek Vasut 		"fi ; "							\
202f91c09acSMarek Vasut 		"if dhcp ${update_sd_uboot_filename} ; then "		\
203f91c09acSMarek Vasut 		"fatwrite mmc 0:1 ${loadaddr} u-boot.img ${filesize} ; "\
204f91c09acSMarek Vasut 		"fi ; "							\
205f91c09acSMarek Vasut 		"fi\0"							\
2061c2d4a50SVagrant Cascadian 	BOOTENV
2071c2d4a50SVagrant Cascadian 
2081c2d4a50SVagrant Cascadian #define BOOT_TARGET_DEVICES(func) \
2091c2d4a50SVagrant Cascadian 	func(MMC, mmc, 0) \
2101c2d4a50SVagrant Cascadian 	func(USB, usb, 0) \
2111c2d4a50SVagrant Cascadian 	func(SATA, sata, 0) \
2121c2d4a50SVagrant Cascadian 	func(PXE, pxe, na) \
2131c2d4a50SVagrant Cascadian 	func(DHCP, dhcp, na)
2141c2d4a50SVagrant Cascadian 
2151c2d4a50SVagrant Cascadian #include <config_distro_bootcmd.h>
2161c2d4a50SVagrant Cascadian 
2171c2d4a50SVagrant Cascadian #else
2181c2d4a50SVagrant Cascadian #define CONFIG_EXTRA_ENV_SETTINGS
2191c2d4a50SVagrant Cascadian #endif /* CONFIG_SPL_BUILD */
220f91c09acSMarek Vasut 
221f91c09acSMarek Vasut #endif				/* __CONFIG_H */
222