1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Configuration settings for the Novena U-Boot.
4  *
5  * Copyright (C) 2014 Marek Vasut <marex@denx.de>
6  */
7 
8 #ifndef __CONFIG_H
9 #define __CONFIG_H
10 
11 /* System configurations */
12 
13 #include "mx6_common.h"
14 
15 /* U-Boot Commands */
16 
17 /* U-Boot general configurations */
18 
19 /* U-Boot environment */
20 /*
21  * Environment is on MMC, starting at offset 512KiB from start of the card.
22  * Please place first partition at offset 1MiB from the start of the card
23  * as recommended by GNU/fdisk. See below for details:
24  * http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/disc-partition-alignment.html
25  */
26 
27 /* Booting Linux */
28 
29 /* Physical Memory Map */
30 #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
31 
32 #define CFG_SYS_SDRAM_BASE		PHYS_SDRAM
33 #define CFG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
34 #define CFG_SYS_INIT_RAM_SIZE	IRAM_SIZE
35 
36 /* I2C EEPROM */
37 
38 /* MMC Configs */
39 #define CFG_SYS_FSL_ESDHC_ADDR	0
40 #define CFG_SYS_FSL_USDHC_NUM	2
41 
42 /* PCI express */
43 #ifdef CONFIG_CMD_PCI
44 #define CFG_PCIE_IMX_PERST_GPIO	IMX_GPIO_NR(3, 29)
45 #define CFG_PCIE_IMX_POWER_GPIO	IMX_GPIO_NR(7, 12)
46 #endif
47 
48 /* PMIC */
49 #define CFG_POWER_PFUZE100_I2C_ADDR	0x08
50 
51 /* UART */
52 #define CFG_MXC_UART_BASE		UART2_BASE
53 
54 /* Extra U-Boot environment. */
55 #define CFG_EXTRA_ENV_SETTINGS					\
56 	"fdt_high=0xffffffff\0"						\
57 	"initrd_high=0xffffffff\0"					\
58 	"consdev=ttymxc1\0"						\
59 	"baudrate=115200\0"						\
60 	"bootdev=/dev/mmcblk0p1\0"					\
61 	"rootdev=/dev/mmcblk0p2\0"					\
62 	"netdev=eth0\0"							\
63 	"kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0"		\
64 	"pxefile_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0"		\
65 	"scriptaddr="__stringify(CONFIG_SYS_LOAD_ADDR)"\0"			\
66 	"ramdisk_addr_r=0x28000000\0"					\
67 	"fdt_addr_r=0x18000000\0"					\
68 	"fdtfile=imx6q-novena.dtb\0"					\
69 	"stdout=serial,vidconsole\0"					\
70 	"stderr=serial,vidconsole\0"					\
71 	"addcons="							\
72 		"setenv bootargs ${bootargs} "				\
73 		"console=${consdev},${baudrate}\0"			\
74 	"addip="							\
75 		"setenv bootargs ${bootargs} "				\
76 		"ip=${ipaddr}:${serverip}:${gatewayip}:"		\
77 			"${netmask}:${hostname}:${netdev}:off\0"	\
78 	"addmisc="							\
79 		"setenv bootargs ${bootargs} ${miscargs}\0"		\
80 	"addargs=run addcons addmisc\0"					\
81 	"mmcload="							\
82 		"mmc rescan ; "						\
83 		"ext4load mmc 0:1 ${kernel_addr_r} ${bootfile}\0"	\
84 	"netload="							\
85 		"tftp ${kernel_addr_r} ${hostname}/${bootfile}\0"	\
86 	"miscargs=nohlt panic=1\0"					\
87 	"mmcargs=setenv bootargs root=${rootdev} rw rootwait\0"		\
88 	"nfsargs="							\
89 		"setenv bootargs root=/dev/nfs rw "			\
90 			"nfsroot=${serverip}:${rootpath},v3,tcp\0"	\
91 	"mmc_mmc="							\
92 		"run mmcload mmcargs addargs ; "			\
93 		"bootm ${kernel_addr_r}\0"				\
94 	"mmc_nfs="							\
95 		"run mmcload nfsargs addip addargs ; "			\
96 		"bootm ${kernel_addr_r}\0"				\
97 	"net_mmc="							\
98 		"run netload mmcargs addargs ; "			\
99 		"bootm ${kernel_addr_r}\0"				\
100 	"net_nfs="							\
101 		"run netload nfsargs addip addargs ; "			\
102 		"bootm ${kernel_addr_r}\0"				\
103 	"update_sd_spl_filename=SPL\0"					\
104 	"update_sd_uboot_filename=u-boot.img\0"				\
105 	"update_sd_firmware="	/* Update the SD firmware partition */	\
106 		"if mmc rescan ; then "					\
107 		"if dhcp ${update_sd_spl_filename} ; then "		\
108 		"mmc write ${loadaddr} 2 0x200 ; "			\
109 		"fi ; "							\
110 		"if dhcp ${update_sd_uboot_filename} ; then "		\
111 		"fatwrite mmc 0:1 ${loadaddr} u-boot.img ${filesize} ; "\
112 		"fi ; "							\
113 		"fi\0"							\
114 	BOOTENV
115 
116 #define BOOT_TARGET_DEVICES(func) \
117 	func(MMC, mmc, 0) \
118 	func(USB, usb, 0) \
119 	func(SATA, sata, 0) \
120 	func(PXE, pxe, na) \
121 	func(DHCP, dhcp, na)
122 
123 #include <config_distro_bootcmd.h>
124 
125 #endif				/* __CONFIG_H */
126