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