Эх сурвалжийг харах

Merge git://git.denx.de/u-boot-x86

Tom Rini 7 жил өмнө
parent
commit
d529124fdc

+ 8 - 66
arch/x86/include/asm/io.h

@@ -1,3 +1,10 @@
+/*
+ * (C) Copyright 2000-2002
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
 #ifndef _ASM_IO_H
 #define _ASM_IO_H
 
@@ -118,71 +125,6 @@
 #define setbits_8(addr, set) setbits(8, addr, set)
 #define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
 
-/*
- * ISA space is 'always mapped' on a typical x86 system, no need to
- * explicitly ioremap() it. The fact that the ISA IO space is mapped
- * to PAGE_OFFSET is pure coincidence - it does not mean ISA values
- * are physical addresses. The following constant pointer can be
- * used as the IO-area pointer (it can be iounmapped as well, so the
- * analogy with PCI is quite large):
- */
-#define isa_readb(a) readb((a))
-#define isa_readw(a) readw((a))
-#define isa_readl(a) readl((a))
-#define isa_writeb(b,a) writeb(b,(a))
-#define isa_writew(w,a) writew(w,(a))
-#define isa_writel(l,a) writel(l,(a))
-#define isa_memset_io(a,b,c)		memset_io((a),(b),(c))
-#define isa_memcpy_fromio(a,b,c)	memcpy_fromio((a),(b),(c))
-#define isa_memcpy_toio(a,b,c)		memcpy_toio((a),(b),(c))
-
-
-static inline int check_signature(unsigned long io_addr,
-	const unsigned char *signature, int length)
-{
-	int retval = 0;
-	do {
-		if (readb(io_addr) != *signature)
-			goto out;
-		io_addr++;
-		signature++;
-		length--;
-	} while (length);
-	retval = 1;
-out:
-	return retval;
-}
-
-/**
- *	isa_check_signature		-	find BIOS signatures
- *	@io_addr: mmio address to check
- *	@signature:  signature block
- *	@length: length of signature
- *
- *	Perform a signature comparison with the ISA mmio address io_addr.
- *	Returns 1 on a match.
- *
- *	This function is deprecated. New drivers should use ioremap and
- *	check_signature.
- */
-
-
-static inline int isa_check_signature(unsigned long io_addr,
-	const unsigned char *signature, int length)
-{
-	int retval = 0;
-	do {
-		if (isa_readb(io_addr) != *signature)
-			goto out;
-		io_addr++;
-		signature++;
-		length--;
-	} while (length);
-	retval = 1;
-out:
-	return retval;
-}
-
 #endif /* __KERNEL__ */
 
 #ifdef SLOW_IO_BY_JUMPING
@@ -325,4 +267,4 @@ static inline phys_addr_t virt_to_phys(void * vaddr)
 #define __iormb()	dmb()
 #define __iowmb()	dmb()
 
-#endif
+#endif /* _ASM_IO_H */

+ 1 - 0
arch/x86/lib/acpi_s3.c

@@ -8,6 +8,7 @@
 #include <asm/acpi_s3.h>
 #include <asm/acpi_table.h>
 #include <asm/post.h>
+#include <linux/linkage.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 

+ 11 - 0
board/congatec/Kconfig

@@ -24,6 +24,17 @@ config TARGET_CONGA_QEVAL20_QA3_E3845
 	  Note that PCIE_ECAM_BASE is set up by the FSP so the value used
 	  by U-Boot matches that value.
 
+config TARGET_THEADORABLE_X86_CONGA_QA3_E3845
+	bool "theadorable-x86 baseboard & conga-QA3/E3845"
+	help
+	  This is the theadorable-x86 baseboard board equipped with the
+	  conga-QA3/E3845-4G SoM. It contains an Atom E3845 with Ethernet,
+	  micro-SD, USB 2, USB 3, SATA, serial console and HDMI 1.3 video
+	  out. It requires some binary blobs - see README.x86 for details.
+
+	  Note that PCIE_ECAM_BASE is set up by the FSP so the value used
+	  by U-Boot matches that value.
+
 endchoice
 
 source "board/congatec/conga-qeval20-qa3-e3845/Kconfig"

+ 4 - 5
board/congatec/conga-qeval20-qa3-e3845/Kconfig

@@ -1,5 +1,3 @@
-if TARGET_CONGA_QEVAL20_QA3_E3845
-
 config SYS_BOARD
 	default "conga-qeval20-qa3-e3845"
 
@@ -10,7 +8,8 @@ config SYS_SOC
 	default "baytrail"
 
 config SYS_CONFIG_NAME
-	default "conga-qeval20-qa3-e3845"
+	default "conga-qeval20-qa3-e3845" if TARGET_CONGA_QEVAL20_QA3_E3845
+	default "theadorable-x86-conga-qa3-e3845" if TARGET_THEADORABLE_X86_CONGA_QA3_E3845
 
 config SYS_TEXT_BASE
 	default 0xfff00000 if !EFI_STUB
@@ -24,8 +23,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select BOARD_EARLY_INIT_F
 	select BOARD_LATE_INIT
 	select SPI_FLASH_STMICRO
+	imply SPI_FLASH_SPANSION
+	imply SPI_FLASH_WINBOND
 
 config PCIE_ECAM_BASE
 	default 0xe0000000
-
-endif

+ 3 - 0
board/congatec/conga-qeval20-qa3-e3845/MAINTAINERS

@@ -3,6 +3,9 @@ M:	Stefan Roese <sr@denx.de>
 S:	Maintained
 F:	board/congatec/conga-qeval20-qa3-e3845
 F:	include/configs/conga-qeval20-qa3-e3845.h
+F:	include/configs/theadorable-x86-conga-qa3-e3845.h
 F:	configs/conga-qeval20-qa3-e3845_defconfig
 F:	configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
+F:	configs/theadorable-x86-conga-qa3-e3845_defconfig
+F:	configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig
 F:	arch/x86/dts/conga-qeval20-qa3-e3845.dts

+ 15 - 3
board/dfi/Kconfig

@@ -8,10 +8,9 @@ if VENDOR_DFI
 
 choice
 	prompt "Mainboard model"
-	optional
 
-config TARGET_DFI_BT700
-	bool "DFI BT700 BayTrail"
+config TARGET_Q7X_151_DFI_BT700
+	bool "DFI BT700 BayTrail on DFI Q7X-151 baseboard"
 	imply SCSI
 	help
 	  This is the DFI Q7X-151 baseboard equipped with the
@@ -23,6 +22,19 @@ config TARGET_DFI_BT700
 	  Note that PCIE_ECAM_BASE is set up by the FSP so the value used
 	  by U-Boot matches that value.
 
+config TARGET_THEADORABLE_X86_DFI_BT700
+	bool "DFI BT700 BayTrail on theadorable-x86 baseboard"
+	imply SCSI
+	help
+	  This is the theadorable-x86 baseboard equipped with the
+	  DFI BayTrail Bt700 SoM. It contains an Atom E3845 with
+	  Ethernet (in non-PCIe-x4 configuration), micro-SD, USB 2,
+	  USB 3, SATA, serial console and DisplayPort video out.
+	  It requires some binary blobs - see README.x86 for details.
+
+	  Note that PCIE_ECAM_BASE is set up by the FSP so the value used
+	  by U-Boot matches that value.
+
 endchoice
 
 source "board/dfi/dfi-bt700/Kconfig"

+ 4 - 5
board/dfi/dfi-bt700/Kconfig

@@ -1,5 +1,3 @@
-if TARGET_DFI_BT700
-
 config SYS_BOARD
 	default "dfi-bt700"
 
@@ -10,7 +8,8 @@ config SYS_SOC
 	default "baytrail"
 
 config SYS_CONFIG_NAME
-	default "dfi-bt700"
+	default "dfi-bt700" if TARGET_Q7X_151_DFI_BT700
+	default "theadorable-x86-dfi-bt700" if TARGET_THEADORABLE_X86_DFI_BT700
 
 config SYS_TEXT_BASE
 	default 0xfff00000 if !EFI_STUB
@@ -24,8 +23,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select BOARD_EARLY_INIT_F
 	select BOARD_LATE_INIT
 	select SPI_FLASH_STMICRO
+	imply SPI_FLASH_SPANSION
+	imply SPI_FLASH_WINBOND
 
 config PCIE_ECAM_BASE
 	default 0xe0000000
-
-endif

+ 1 - 0
board/dfi/dfi-bt700/MAINTAINERS

@@ -3,6 +3,7 @@ M:	Stefan Roese <sr@denx.de>
 S:	Maintained
 F:	board/dfi/dfi-bt700
 F:	include/configs/dfi-bt700.h
+F:	include/configs/theadorable-x86-dfi-bt700.h
 F:	configs/dfi-bt700-q7x-151_defconfig
 F:	configs/theadorable-x86-dfi-bt700_defconfig
 F:	arch/x86/dts/dfi-bt700.dtsi

+ 2 - 3
configs/conga-qeval20-qa3-e3845_defconfig

@@ -2,12 +2,13 @@ CONFIG_X86=y
 CONFIG_VENDOR_CONGATEC=y
 CONFIG_TARGET_CONGA_QEVAL20_QA3_E3845=y
 CONFIG_DEFAULT_DEVICE_TREE="conga-qeval20-qa3-e3845"
-CONFIG_DEBUG_UART=y
 CONFIG_SMP=y
 CONFIG_HAVE_VGA_BIOS=y
+CONFIG_VGA_BIOS_ADDR=0xfffa0000
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_HAVE_ACPI_RESUME=y
 CONFIG_SEABIOS=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
@@ -46,8 +47,6 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_E1000=y
-CONFIG_DEBUG_UART_BASE=0x3f8
-CONFIG_DEBUG_UART_CLOCK=1843200
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y

+ 2 - 4
configs/dfi-bt700-q7x-151_defconfig

@@ -1,13 +1,13 @@
 CONFIG_X86=y
 CONFIG_VENDOR_DFI=y
 CONFIG_DEFAULT_DEVICE_TREE="dfi-bt700-q7x-151"
-CONFIG_TARGET_DFI_BT700=y
-CONFIG_DEBUG_UART=y
 CONFIG_SMP=y
 CONFIG_HAVE_VGA_BIOS=y
+CONFIG_VGA_BIOS_ADDR=0xfffa0000
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_HAVE_ACPI_RESUME=y
 CONFIG_SEABIOS=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
@@ -44,8 +44,6 @@ CONFIG_CPU=y
 CONFIG_DM_I2C=y
 CONFIG_NUVOTON_NCT6102D=y
 CONFIG_E1000=y
-CONFIG_DEBUG_UART_BASE=0x3f8
-CONFIG_DEBUG_UART_CLOCK=1843200
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y

+ 55 - 0
configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig

@@ -0,0 +1,55 @@
+CONFIG_X86=y
+CONFIG_VENDOR_CONGATEC=y
+CONFIG_TARGET_THEADORABLE_X86_CONGA_QA3_E3845=y
+CONFIG_DEFAULT_DEVICE_TREE="conga-qeval20-qa3-e3845"
+CONFIG_INTERNAL_UART=y
+CONFIG_FLASH_DESCRIPTOR_FILE="descriptor-pcie-x4.bin"
+CONFIG_SMP=y
+CONFIG_HAVE_VGA_BIOS=y
+CONFIG_VGA_BIOS_ADDR=0xfffa0000
+CONFIG_GENERATE_PIRQ_TABLE=y
+CONFIG_GENERATE_MP_TABLE=y
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_HAVE_ACPI_RESUME=y
+CONFIG_SEABIOS=y
+CONFIG_FIT=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_BOOTSTAGE=y
+CONFIG_BOOTSTAGE_REPORT=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_GPIO=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_PING=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_BOOTSTAGE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_ISO_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_CPU=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_INTEL=y
+CONFIG_WINBOND_W83627=y
+CONFIG_E1000=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
+CONFIG_FRAMEBUFFER_VESA_MODE_114=y
+CONFIG_CONSOLE_SCROLL_LINES=5

+ 54 - 0
configs/theadorable-x86-conga-qa3-e3845_defconfig

@@ -0,0 +1,54 @@
+CONFIG_X86=y
+CONFIG_VENDOR_CONGATEC=y
+CONFIG_TARGET_THEADORABLE_X86_CONGA_QA3_E3845=y
+CONFIG_DEFAULT_DEVICE_TREE="conga-qeval20-qa3-e3845"
+CONFIG_INTERNAL_UART=y
+CONFIG_SMP=y
+CONFIG_HAVE_VGA_BIOS=y
+CONFIG_VGA_BIOS_ADDR=0xfffa0000
+CONFIG_GENERATE_PIRQ_TABLE=y
+CONFIG_GENERATE_MP_TABLE=y
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_HAVE_ACPI_RESUME=y
+CONFIG_SEABIOS=y
+CONFIG_FIT=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_BOOTSTAGE=y
+CONFIG_BOOTSTAGE_REPORT=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_GPIO=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_PING=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_BOOTSTAGE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_MAC_PARTITION=y
+CONFIG_ISO_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_CPU=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_INTEL=y
+CONFIG_WINBOND_W83627=y
+CONFIG_E1000=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
+CONFIG_FRAMEBUFFER_VESA_MODE_114=y
+CONFIG_CONSOLE_SCROLL_LINES=5

+ 2 - 1
configs/theadorable-x86-dfi-bt700_defconfig

@@ -1,13 +1,14 @@
 CONFIG_X86=y
 CONFIG_VENDOR_DFI=y
 CONFIG_DEFAULT_DEVICE_TREE="theadorable-x86-dfi-bt700"
-CONFIG_TARGET_DFI_BT700=y
+CONFIG_TARGET_THEADORABLE_X86_DFI_BT700=y
 CONFIG_SMP=y
 CONFIG_HAVE_VGA_BIOS=y
 CONFIG_VGA_BIOS_ADDR=0xfffa0000
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_HAVE_ACPI_RESUME=y
 CONFIG_SEABIOS=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y

+ 155 - 0
include/configs/theadorable-x86-common.h

@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2016 Stefan Roese <sr@denx.de>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/*
+ * Common options, macros and default environment for all
+ * theadorable x86 based boards
+ */
+
+#ifndef __THEADORABLE_X86_COMMON_H
+#define __THEADORABLE_X86_COMMON_H
+
+#define CONFIG_SYS_MONITOR_LEN		(1 << 20)
+
+#define CONFIG_PREBOOT
+
+#define CONFIG_STD_DEVICES_SETTINGS     "stdin=serial\0" \
+					"stdout=serial\0" \
+					"stderr=serial\0"
+
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_ASIX
+#define CONFIG_USB_ETHER_SMSC95XX
+#define CONFIG_USB_ETHER_MCS7830
+#define CONFIG_USB_ETHER_RTL8152
+
+#define VIDEO_IO_OFFSET				0
+#define CONFIG_X86EMU_RAW_IO
+#define CONFIG_CMD_BMP
+#define CONFIG_BMP_16BPP
+
+/* Environment settings */
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
+#undef CONFIG_ENV_SIZE
+#define CONFIG_ENV_SIZE			0x2000
+#define CONFIG_ENV_SECT_SIZE		0x1000
+#define CONFIG_ENV_OFFSET		0x006ec000
+#define CONFIG_ENV_OFFSET_REDUND	\
+	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
+
+#undef CONFIG_BOOTARGS
+#undef CONFIG_BOOTCOMMAND
+#undef CONFIG_EXTRA_ENV_SETTINGS
+
+#define CONFIG_EXTRA_ENV_SETTINGS				\
+	"tftpdir=" DEF_ENV_TFTPDIR "\0"				\
+	"eth_init=" DEF_ENV_ETH_INIT "\0"			\
+	"ubuntu_part=" __stringify(DEF_ENV_UBUNTU_PART) "\0"	\
+	"yocto_part=" __stringify(DEF_ENV_YOCTO_PART) "\0"	\
+	"ubuntu_tty=" __stringify(DEF_ENV_UBUNTU_TTY) "\0"	\
+	"yocto_tty=" __stringify(DEF_ENV_YOCTO_TTY) "\0"	\
+	"start_eth=if test -n \"${eth_init}\";"			\
+		"then run eth_init;else sleep 0;fi\0"		\
+	"kernel-ver=4.8.0-54\0"					\
+	"boot=zboot 03000000 0 04000000 ${filesize}\0"		\
+	"mtdparts=mtdparts=intel-spi:4k(descriptor),7084k(me)," \
+		"8k(env1),8k(env2),64k(mrc),640k(u-boot),"	\
+		"64k(vga),-(fsp)\0"				\
+	"addtty_ubuntu=setenv bootargs ${bootargs} "		\
+		"console=ttyS${ubuntu_tty},${baudrate}\0"	\
+	"addtty_yocto=setenv bootargs ${bootargs} "		\
+		"console=ttyS${yocto_tty},${baudrate}\0"	\
+	"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0"	\
+	"addmisc=setenv bootargs ${bootargs} "			\
+		"intel-spi.writeable=1 vmalloc=300M "		\
+		"pci=realloc=on,hpmemsize=0x12000000\0"		\
+	"bootcmd=if env exists recovery_status;"		\
+		"then run swupdate;"				\
+		"else run yocto_boot;run swupdate;"		\
+		"fi\0"						\
+	"ubuntu_args=setenv bootargs "				\
+		"root=/dev/sda${ubuntu_part} ro\0"		\
+	"ubuntu_args_quiet=setenv bootargs "			\
+		"root=/dev/sda${ubuntu_part} ro quiet\0"	\
+	"ubuntu_load=load scsi 0:${ubuntu_part} 03000000 "	\
+		"/boot/vmlinuz-${kernel-ver}-generic;"		\
+		"load scsi 0:${ubuntu_part} 04000000 "		\
+		"/boot/initrd.img-${kernel-ver}-generic\0"	\
+	"ubuntu_boot=run ubuntu_args_quiet addmtd addmisc "	\
+		"ubuntu_load boot\0"				\
+	"ubuntu_boot_console=run ubuntu_args addtty_ubuntu "	\
+		"addmtd addmisc ubuntu_load boot\0"		\
+	"net_args=setenv bootargs root=/dev/sda${ubuntu_part} ro\0" \
+	"net_boot=run start_eth net_args addtty_yocto addmtd addmisc;" \
+		"tftp 03000000 ${tftpdir}/bzImage;"		\
+		"load scsi 0:${ubuntu_part} 04000000 "		\
+		"/boot/initrd.img-${kernel-ver}-generic;"	\
+		"run boot\0"					\
+	"yocto_args=setenv bootargs root=/dev/sda${yocto_part} " \
+		"ip=dhcp panic=1\0"				\
+	"yocto_args_fast=setenv bootargs root=/dev/sda${yocto_part} " \
+		"quiet panic=1\0"				\
+	"yocto_boot=run yocto_args addmtd addmisc addtty_yocto;" \
+		"if run yocto_load;then zboot 03000000;fi\0"	\
+	"yocto_boot_fast=run yocto_args_fast addmtd addmisc "	\
+		"addtty_yocto yocto_load;zboot 03000000\0"	\
+	"yocto_boot_tftp=run yocto_args addmtd addmisc addtty_yocto " \
+		"start_eth yocto_load_tftp;zboot 03000000\0"	\
+	"yocto_kernel=bzImage\0"				\
+	"yocto_load=load scsi 0:${yocto_part} 03000000 "	\
+		"/boot/${yocto_kernel}\0"			\
+	"yocto_load_tftp=tftp 03000000 dfi/bzImage\0"		\
+	"swupdate=if env exists swupdate_factory;"		\
+		"then run swupdate_usb;run swupdate_run;"	\
+		"else setenv swupdate_part 2;run swupdate_mmc;" \
+			"run swupdate_run;setenv swupdate_part 1;" \
+			"run swupdate_mmc;run swupdate_usb;"	\
+			"run swupdate_run;"			\
+		"fi\0"						\
+	"swupdate-initrd=/boot/swupdate-image-theadorable.ext4.gz\0" \
+	"swupdate-kernel=/boot/bzImage\0"			\
+	"swupdate_args=setenv bootargs root=/dev/ram rw ip=dhcp panic=1\0" \
+	"swupdate_dev=0\0"					\
+	"swupdate_factory=0\0"					\
+	"swupdate_interface=usb\0"				\
+	"swupdate_kernel=vmlinuz-4.4.0-28-generic\0"		\
+	"swupdate_load=load ${swupdate_interface} ${swupdate_dev}:" \
+		"${swupdate_part} 03000000 ${swupdate-kernel}"	\
+		" && load ${swupdate_interface} ${swupdate_dev}:" \
+		"${swupdate_part} 04000000 ${swupdate-initrd}\0" \
+	"swupdate_mmc=setenv swupdate_interface mmc;"		\
+		"setenv swupdate_dev ${swupdate_mmcdev};"	\
+		"setenv swupdate_part 1;"			\
+		"mmc dev ${swupdate_dev};mmc rescan\0"		\
+	"swupdate_mmcdev=0\0"					\
+	"swupdate_part=1\0"					\
+	"swupdate_run=run swupdate_args addtty_yocto addmtd addmisc;" \
+		"if run swupdate_load;then run boot;"		\
+		"else echo SWUpdate cannot be started from "	\
+		"${swupdate_interface};"			\
+		"fi\0"						\
+	"swupdate_usb=setenv swupdate_interface usb;"		\
+		"setenv swupdate_dev 0;setenv swupdate_part 1;"	\
+		"usb start\0"					\
+	"logo_tftp=tftp ${loadaddr} ${tftpdir}/logo.bmp;"	\
+		"bmp display ${loadaddr}\0"			\
+	"preboot=scsi scan;load scsi 0:${ubuntu_part} ${loadaddr} " \
+		"/boot/logo/logo.bmp;bmp display ${loadaddr}\0" \
+	"rootpath=/tftpboot/theadorable-x86-conga/work/"	\
+		"rootfs-yocto-swupdate-2017-03-29\0"		\
+	"addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:" \
+		"${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
+	"set_bootargs_nfs=setenv bootargs root=/dev/nfs rw "	\
+		"nfsroot=${serverip}:${rootpath},tcp,nfsvers=3\0" \
+	"net_nfs=run start_eth set_bootargs_nfs addtty_yocto addip " \
+		"addmtd addmisc;tftp 03000000 ${tftpdir}/bzImage;" \
+		"zboot 03000000\0"				\
+	"load_uboot=tftp ${loadaddr} ${tftpdir}/u-boot.rom\0"	\
+	"update_uboot=sf probe;"				\
+		"sf update ${loadaddr} 0 800000;saveenv\0"	\
+	"upd_uboot=run start_eth load_uboot update_uboot\0"
+
+#endif /* __THEADORABLE_X86_COMMON_H */

+ 30 - 0
include/configs/theadorable-x86-conga-qa3-e3845.h

@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2016 Stefan Roese <sr@denx.de>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/*
+ * board/config.h - configuration options, board specific
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/x86-common.h>
+
+/* Set the board specific parameters */
+#define DEF_ENV_TFTPDIR		"theadorable-x86-conga"
+#define DEF_ENV_ETH_INIT	""
+#define DEF_ENV_UBUNTU_PART	2
+#define DEF_ENV_UBUNTU_TTY	0	/* Use ttyS0 */
+#define DEF_ENV_YOCTO_PART	3
+#define DEF_ENV_YOCTO_TTY	0	/* Use ttyS0 */
+
+/*
+ * Include the theadorable-x86 common options, macros and default
+ * environment
+ */
+#include <configs/theadorable-x86-common.h>
+
+#endif	/* __CONFIG_H */

+ 33 - 0
include/configs/theadorable-x86-dfi-bt700.h

@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2016 Stefan Roese <sr@denx.de>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/*
+ * board/config.h - configuration options, board specific
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/x86-common.h>
+
+/* Use BayTrail internal HS UART which is memory-mapped */
+#undef  CONFIG_SYS_NS16550_PORT_MAPPED
+
+/* Set the board specific parameters */
+#define DEF_ENV_TFTPDIR		"theadorable-x86-dfi"
+#define DEF_ENV_ETH_INIT	"usb reset"
+#define DEF_ENV_UBUNTU_PART	1
+#define DEF_ENV_UBUNTU_TTY	4	/* Use ttyS4 */
+#define DEF_ENV_YOCTO_PART	2
+#define DEF_ENV_YOCTO_TTY	1	/* Use ttyS1 */
+
+/*
+ * Include the theadorable-x86 common options, macros and default
+ * environment
+ */
+#include <configs/theadorable-x86-common.h>
+
+#endif	/* __CONFIG_H */