blob: 2d7be7d5b96e48d4116eb052121f59f1d3c6ce59 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Stefan Roesecf1eb212017-08-08 11:52:14 +02002/*
3 * Copyright (C) 2016 Stefan Roese <sr@denx.de>
Stefan Roesecf1eb212017-08-08 11:52:14 +02004 */
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 CONFIG_SYS_MONITOR_LEN (1 << 20)
15
Stefan Roesecf1eb212017-08-08 11:52:14 +020016#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial\0" \
17 "stdout=serial\0" \
18 "stderr=serial\0"
19
Stefan Roesecf1eb212017-08-08 11:52:14 +020020#define VIDEO_IO_OFFSET 0
21#define CONFIG_X86EMU_RAW_IO
22#define CONFIG_CMD_BMP
23#define CONFIG_BMP_16BPP
24
25/* Environment settings */
Stefan Roesecf1eb212017-08-08 11:52:14 +020026#undef CONFIG_ENV_SIZE
27#define CONFIG_ENV_SIZE 0x2000
28#define CONFIG_ENV_SECT_SIZE 0x1000
29#define CONFIG_ENV_OFFSET 0x006ec000
30#define CONFIG_ENV_OFFSET_REDUND \
31 (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
32
Stefan Roesecf1eb212017-08-08 11:52:14 +020033#undef CONFIG_BOOTCOMMAND
34#undef CONFIG_EXTRA_ENV_SETTINGS
35
36#define CONFIG_EXTRA_ENV_SETTINGS \
37 "tftpdir=" DEF_ENV_TFTPDIR "\0" \
38 "eth_init=" DEF_ENV_ETH_INIT "\0" \
39 "ubuntu_part=" __stringify(DEF_ENV_UBUNTU_PART) "\0" \
40 "yocto_part=" __stringify(DEF_ENV_YOCTO_PART) "\0" \
41 "ubuntu_tty=" __stringify(DEF_ENV_UBUNTU_TTY) "\0" \
42 "yocto_tty=" __stringify(DEF_ENV_YOCTO_TTY) "\0" \
43 "start_eth=if test -n \"${eth_init}\";" \
44 "then run eth_init;else sleep 0;fi\0" \
Stefan Roese0ca4c0a2017-10-06 09:12:27 +020045 "kernel-ver=4.8.0-54-generic\0" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020046 "boot=zboot 03000000 0 04000000 ${filesize}\0" \
47 "mtdparts=mtdparts=intel-spi:4k(descriptor),7084k(me)," \
48 "8k(env1),8k(env2),64k(mrc),640k(u-boot)," \
49 "64k(vga),-(fsp)\0" \
50 "addtty_ubuntu=setenv bootargs ${bootargs} " \
51 "console=ttyS${ubuntu_tty},${baudrate}\0" \
52 "addtty_yocto=setenv bootargs ${bootargs} " \
53 "console=ttyS${yocto_tty},${baudrate}\0" \
54 "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
55 "addmisc=setenv bootargs ${bootargs} " \
56 "intel-spi.writeable=1 vmalloc=300M " \
Stefan Roese104e1112018-10-22 14:07:54 +020057 "pci=realloc=on,hpmemsize=0,hpiosize=0\0" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020058 "bootcmd=if env exists recovery_status;" \
59 "then run swupdate;" \
60 "else run yocto_boot;run swupdate;" \
61 "fi\0" \
Stefan Roesefd58a662018-10-22 14:07:55 +020062 "setroot=part uuid scsi 0:${partnr} uuid;" \
63 "setenv root PARTUUID=${uuid}\0" \
64 "setroot_ubuntu=setenv partnr ${ubuntu_part};run setroot\0" \
65 "setroot_yocto=setenv partnr ${yocto_part};run setroot\0" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020066 "ubuntu_args=setenv bootargs " \
Stefan Roesefd58a662018-10-22 14:07:55 +020067 "root=${root} ro\0" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020068 "ubuntu_args_quiet=setenv bootargs " \
Stefan Roesefd58a662018-10-22 14:07:55 +020069 "root=${root} ro quiet\0" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020070 "ubuntu_load=load scsi 0:${ubuntu_part} 03000000 " \
Stefan Roese0ca4c0a2017-10-06 09:12:27 +020071 "/boot/vmlinuz-${kernel-ver};" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020072 "load scsi 0:${ubuntu_part} 04000000 " \
Stefan Roese0ca4c0a2017-10-06 09:12:27 +020073 "/boot/initrd.img-${kernel-ver}\0" \
Stefan Roesefd58a662018-10-22 14:07:55 +020074 "ubuntu_boot=run setroot_ubuntu ubuntu_args_quiet " \
Stefan Roesecf1eb212017-08-08 11:52:14 +020075 "addmtd addmisc ubuntu_load boot\0" \
Stefan Roesefd58a662018-10-22 14:07:55 +020076 "ubuntu_boot_console=run setroot_ubuntu ubuntu_args " \
77 "addtty_ubuntu addmtd addmisc ubuntu_load boot\0" \
78 "net_args=setenv bootargs root=${root} ro\0" \
79 "net_boot=run start_eth setroot_ubuntu net_args " \
80 "addtty_ubuntu addmtd addmisc;" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020081 "tftp 03000000 ${tftpdir}/bzImage;" \
82 "load scsi 0:${ubuntu_part} 04000000 " \
Stefan Roese0ca4c0a2017-10-06 09:12:27 +020083 "/boot/initrd.img-${kernel-ver};" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020084 "run boot\0" \
Stefan Roesefd58a662018-10-22 14:07:55 +020085 "yocto_args=setenv bootargs root=${root} " \
86 "panic=1\0" \
87 "yocto_args_fast=setenv bootargs root=${root} " \
Stefan Roesecf1eb212017-08-08 11:52:14 +020088 "quiet panic=1\0" \
Stefan Roesefd58a662018-10-22 14:07:55 +020089 "yocto_boot=run setroot_yocto yocto_args addmtd addmisc " \
90 "addtty_yocto;" \
Stefan Roesecf1eb212017-08-08 11:52:14 +020091 "if run yocto_load;then zboot 03000000;fi\0" \
Stefan Roesefd58a662018-10-22 14:07:55 +020092 "yocto_boot_fast=run setroot_yocto yocto_args_fast addmtd " \
93 "addmisc addtty_yocto yocto_load;zboot 03000000\0" \
94 "yocto_boot_tftp=run setroot_yocto yocto_args addmtd " \
95 "addmisc addtty_yocto " \
Stefan Roesecf1eb212017-08-08 11:52:14 +020096 "start_eth yocto_load_tftp;zboot 03000000\0" \
97 "yocto_kernel=bzImage\0" \
98 "yocto_load=load scsi 0:${yocto_part} 03000000 " \
99 "/boot/${yocto_kernel}\0" \
100 "yocto_load_tftp=tftp 03000000 dfi/bzImage\0" \
101 "swupdate=if env exists swupdate_factory;" \
102 "then run swupdate_usb;run swupdate_run;" \
103 "else setenv swupdate_part 2;run swupdate_mmc;" \
104 "run swupdate_run;setenv swupdate_part 1;" \
105 "run swupdate_mmc;run swupdate_usb;" \
106 "run swupdate_run;" \
107 "fi\0" \
108 "swupdate-initrd=/boot/swupdate-image-theadorable.ext4.gz\0" \
109 "swupdate-kernel=/boot/bzImage\0" \
Stefan Roesefa33c002017-08-30 09:40:17 +0200110 "swupdate_args=setenv bootargs root=/dev/ram rw panic=1\0" \
Stefan Roesecf1eb212017-08-08 11:52:14 +0200111 "swupdate_dev=0\0" \
112 "swupdate_factory=0\0" \
113 "swupdate_interface=usb\0" \
114 "swupdate_kernel=vmlinuz-4.4.0-28-generic\0" \
115 "swupdate_load=load ${swupdate_interface} ${swupdate_dev}:" \
116 "${swupdate_part} 03000000 ${swupdate-kernel}" \
117 " && load ${swupdate_interface} ${swupdate_dev}:" \
118 "${swupdate_part} 04000000 ${swupdate-initrd}\0" \
119 "swupdate_mmc=setenv swupdate_interface mmc;" \
120 "setenv swupdate_dev ${swupdate_mmcdev};" \
121 "setenv swupdate_part 1;" \
122 "mmc dev ${swupdate_dev};mmc rescan\0" \
123 "swupdate_mmcdev=0\0" \
124 "swupdate_part=1\0" \
125 "swupdate_run=run swupdate_args addtty_yocto addmtd addmisc;" \
126 "if run swupdate_load;then run boot;" \
127 "else echo SWUpdate cannot be started from " \
128 "${swupdate_interface};" \
129 "fi\0" \
130 "swupdate_usb=setenv swupdate_interface usb;" \
131 "setenv swupdate_dev 0;setenv swupdate_part 1;" \
132 "usb start\0" \
133 "logo_tftp=tftp ${loadaddr} ${tftpdir}/logo.bmp;" \
134 "bmp display ${loadaddr}\0" \
135 "preboot=scsi scan;load scsi 0:${ubuntu_part} ${loadaddr} " \
136 "/boot/logo/logo.bmp;bmp display ${loadaddr}\0" \
137 "rootpath=/tftpboot/theadorable-x86-conga/work/" \
138 "rootfs-yocto-swupdate-2017-03-29\0" \
139 "addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:" \
140 "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
141 "set_bootargs_nfs=setenv bootargs root=/dev/nfs rw " \
142 "nfsroot=${serverip}:${rootpath},tcp,nfsvers=3\0" \
143 "net_nfs=run start_eth set_bootargs_nfs addtty_yocto addip " \
144 "addmtd addmisc;tftp 03000000 ${tftpdir}/bzImage;" \
145 "zboot 03000000\0" \
146 "load_uboot=tftp ${loadaddr} ${tftpdir}/u-boot.rom\0" \
147 "update_uboot=sf probe;" \
148 "sf update ${loadaddr} 0 800000;saveenv\0" \
149 "upd_uboot=run start_eth load_uboot update_uboot\0"
150
151#endif /* __THEADORABLE_X86_COMMON_H */