1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (C) 2016 Stefan Roese <sr@denx.de>
4 */
5
6/*
7 * Common options, macros and default environment for all
8 * theadorable x86 based boards
9 */
10
11#ifndef __THEADORABLE_X86_COMMON_H
12#define __THEADORABLE_X86_COMMON_H
13
14#define CFG_STD_DEVICES_SETTINGS     "stdin=serial\0" \
15					"stdout=serial\0" \
16					"stderr=serial\0"
17
18/* Environment settings */
19
20#undef CFG_EXTRA_ENV_SETTINGS
21
22#define CFG_EXTRA_ENV_SETTINGS				\
23	"tftpdir=" DEF_ENV_TFTPDIR "\0"				\
24	"eth_init=" DEF_ENV_ETH_INIT "\0"			\
25	"ubuntu_part=" __stringify(DEF_ENV_UBUNTU_PART) "\0"	\
26	"yocto_part=" __stringify(DEF_ENV_YOCTO_PART) "\0"	\
27	"ubuntu_tty=" __stringify(DEF_ENV_UBUNTU_TTY) "\0"	\
28	"yocto_tty=" __stringify(DEF_ENV_YOCTO_TTY) "\0"	\
29	"start_eth=if test -n \"${eth_init}\";"			\
30		"then run eth_init;else sleep 0;fi\0"		\
31	"kernel-ver=4.8.0-54-generic\0"				\
32	"boot=zboot 03000000 0 04000000 ${filesize}\0"		\
33	"mtdparts=mtdparts=intel-spi:4k(descriptor),7084k(me)," \
34		"8k(env1),8k(env2),64k(mrc),640k(u-boot),"	\
35		"64k(vga),-(fsp)\0"				\
36	"addtty_ubuntu=setenv bootargs ${bootargs} "		\
37		"console=ttyS${ubuntu_tty},${baudrate}\0"	\
38	"addtty_yocto=setenv bootargs ${bootargs} "		\
39		"console=ttyS${yocto_tty},${baudrate}\0"	\
40	"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0"	\
41	"addmisc=setenv bootargs ${bootargs} "			\
42		"intel-spi.writeable=1 vmalloc=300M "		\
43		"pci=realloc=on,hpmemsize=0,hpiosize=0\0"	\
44	"bootcmd=if env exists recovery_status;"		\
45		"then run swupdate;"				\
46		"else run yocto_boot;run swupdate;"		\
47		"fi\0"						\
48	"setroot=part uuid scsi 0:${partnr} uuid;"		\
49		"setenv root PARTUUID=${uuid}\0"		\
50	"setroot_ubuntu=setenv partnr ${ubuntu_part};run setroot\0" \
51	"setroot_yocto=setenv partnr ${yocto_part};run setroot\0" \
52	"ubuntu_args=setenv bootargs "				\
53		"root=${root} ro\0"				\
54	"ubuntu_args_quiet=setenv bootargs "			\
55		"root=${root} ro quiet\0"			\
56	"ubuntu_load=load scsi 0:${ubuntu_part} 03000000 "	\
57		"/boot/vmlinuz-${kernel-ver};"			\
58		"load scsi 0:${ubuntu_part} 04000000 "		\
59		"/boot/initrd.img-${kernel-ver}\0"		\
60	"ubuntu_boot=run setroot_ubuntu ubuntu_args_quiet "	\
61		"addmtd addmisc ubuntu_load boot\0"		\
62	"ubuntu_boot_console=run setroot_ubuntu ubuntu_args "	\
63		"addtty_ubuntu addmtd addmisc ubuntu_load boot\0" \
64	"net_args=setenv bootargs root=${root} ro\0"		\
65	"net_boot=run start_eth setroot_ubuntu net_args "	\
66		"addtty_ubuntu addmtd addmisc;"			\
67		"tftp 03000000 ${tftpdir}/bzImage;"		\
68		"load scsi 0:${ubuntu_part} 04000000 "		\
69		"/boot/initrd.img-${kernel-ver};"		\
70		"run boot\0"					\
71	"yocto_args=setenv bootargs root=${root} "		\
72		"panic=1\0"					\
73	"yocto_args_fast=setenv bootargs root=${root} "		\
74		"quiet panic=1\0"				\
75	"yocto_boot=run setroot_yocto yocto_args addmtd addmisc " \
76		"addtty_yocto;"	\
77		"if run yocto_load;then zboot 03000000;fi\0"	\
78	"yocto_boot_fast=run setroot_yocto yocto_args_fast addmtd " \
79		"addmisc addtty_yocto yocto_load;zboot 03000000\0" \
80	"yocto_boot_tftp=run setroot_yocto yocto_args addmtd "	\
81		"addmisc addtty_yocto "				\
82		"start_eth yocto_load_tftp;zboot 03000000\0"	\
83	"yocto_kernel=bzImage\0"				\
84	"yocto_load=load scsi 0:${yocto_part} 03000000 "	\
85		"/boot/${yocto_kernel}\0"			\
86	"yocto_load_tftp=tftp 03000000 dfi/bzImage\0"		\
87	"swupdate=if env exists swupdate_factory;"		\
88		"then run swupdate_usb;run swupdate_run;"	\
89		"else setenv swupdate_part 2;run swupdate_mmc;" \
90			"run swupdate_run;setenv swupdate_part 1;" \
91			"run swupdate_mmc;run swupdate_usb;"	\
92			"run swupdate_run;"			\
93		"fi\0"						\
94	"swupdate-initrd=/boot/swupdate-image-theadorable.ext4.gz\0" \
95	"swupdate-kernel=/boot/bzImage\0"			\
96	"swupdate_args=setenv bootargs root=/dev/ram rw panic=1\0" \
97	"swupdate_dev=0\0"					\
98	"swupdate_factory=0\0"					\
99	"swupdate_interface=usb\0"				\
100	"swupdate_kernel=vmlinuz-4.4.0-28-generic\0"		\
101	"swupdate_load=load ${swupdate_interface} ${swupdate_dev}:" \
102		"${swupdate_part} 03000000 ${swupdate-kernel}"	\
103		" && load ${swupdate_interface} ${swupdate_dev}:" \
104		"${swupdate_part} 04000000 ${swupdate-initrd}\0" \
105	"swupdate_mmc=setenv swupdate_interface mmc;"		\
106		"setenv swupdate_dev ${swupdate_mmcdev};"	\
107		"setenv swupdate_part 1;"			\
108		"mmc dev ${swupdate_dev};mmc rescan\0"		\
109	"swupdate_mmcdev=0\0"					\
110	"swupdate_part=1\0"					\
111	"swupdate_run=run swupdate_args addtty_yocto addmtd addmisc;" \
112		"if run swupdate_load;then run boot;"		\
113		"else echo SWUpdate cannot be started from "	\
114		"${swupdate_interface};"			\
115		"fi\0"						\
116	"swupdate_usb=setenv swupdate_interface usb;"		\
117		"setenv swupdate_dev 0;setenv swupdate_part 1;"	\
118		"usb start\0"					\
119	"logo_tftp=tftp ${loadaddr} ${tftpdir}/logo.bmp;"	\
120		"bmp display ${loadaddr}\0"			\
121	"preboot=scsi scan;load scsi 0:${ubuntu_part} ${loadaddr} " \
122		"/boot/logo/logo.bmp;bmp display ${loadaddr}\0" \
123	"rootpath=/tftpboot/theadorable-x86-conga/work/"	\
124		"rootfs-yocto-swupdate-2017-03-29\0"		\
125	"addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:" \
126		"${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
127	"set_bootargs_nfs=setenv bootargs root=/dev/nfs rw "	\
128		"nfsroot=${serverip}:${rootpath},tcp,nfsvers=3\0" \
129	"net_nfs=run start_eth set_bootargs_nfs addtty_yocto addip " \
130		"addmtd addmisc;tftp 03000000 ${tftpdir}/bzImage;" \
131		"zboot 03000000\0"				\
132	"load_uboot=tftp ${loadaddr} ${tftpdir}/u-boot.rom\0"	\
133	"update_uboot=sf probe;"				\
134		"sf update ${loadaddr} 0 800000;saveenv\0"	\
135	"upd_uboot=run start_eth load_uboot update_uboot\0"
136
137#endif /* __THEADORABLE_X86_COMMON_H */
138