Commit b1ad6c696631f07b5fe109378516abcb79ded1f9

Authored by Stefan Roese
Committed by Bin Meng
1 parent 303dfc2e5e

x86: Add DFI BT700 BayTrail board support

This patch adds support for the DFI BayTrail BT700 QSeven SoM installed
on the DFI Q7X-151 baseboard. The baseboard is equipped with the Nuvoton
NCT6102D Super IO chip providing the UART as console.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Showing 14 changed files with 611 additions and 0 deletions Side-by-side Diff

... ... @@ -17,6 +17,9 @@
17 17 config VENDOR_COREBOOT
18 18 bool "coreboot"
19 19  
  20 +config VENDOR_DFI
  21 + bool "dfi"
  22 +
20 23 config VENDOR_EFI
21 24 bool "efi"
22 25  
... ... @@ -35,6 +38,7 @@
35 38 source "board/advantech/Kconfig"
36 39 source "board/congatec/Kconfig"
37 40 source "board/coreboot/Kconfig"
  41 +source "board/dfi/Kconfig"
38 42 source "board/efi/Kconfig"
39 43 source "board/emulation/Kconfig"
40 44 source "board/google/Kconfig"
arch/x86/dts/Makefile
... ... @@ -9,6 +9,7 @@
9 9 conga-qeval20-qa3-e3845.dtb \
10 10 cougarcanyon2.dtb \
11 11 crownbay.dtb \
  12 + dfi-bt700-q7x-151.dtb \
12 13 efi.dtb \
13 14 galileo.dtb \
14 15 minnowmax.dtb \
arch/x86/dts/dfi-bt700-q7x-151.dts
  1 +/*
  2 + * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
  3 + * Copyright (C) 2016 Stefan Roese <sr@denx.de>
  4 + *
  5 + * SPDX-License-Identifier: GPL-2.0+
  6 + */
  7 +
  8 +/dts-v1/;
  9 +
  10 +#include "dfi-bt700.dtsi"
  11 +
  12 +#include "serial.dtsi"
  13 +
  14 +/ {
  15 + model = "DFI-BT700";
  16 + compatible = "dfi,bt700", "intel,baytrail";
  17 +
  18 + aliases {
  19 + serial0 = &serial;
  20 + spi0 = &spi;
  21 + };
  22 +};
arch/x86/dts/dfi-bt700.dtsi
  1 +/*
  2 + * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
  3 + * Copyright (C) 2016 Stefan Roese <sr@denx.de>
  4 + *
  5 + * SPDX-License-Identifier: GPL-2.0+
  6 + */
  7 +
  8 +#include <dt-bindings/gpio/x86-gpio.h>
  9 +#include <dt-bindings/interrupt-router/intel-irq.h>
  10 +
  11 +#include "skeleton.dtsi"
  12 +#include "rtc.dtsi"
  13 +#include "tsc_timer.dtsi"
  14 +
  15 +/ {
  16 + config {
  17 + silent_console = <0>;
  18 + };
  19 +
  20 + pch_pinctrl {
  21 + compatible = "intel,x86-pinctrl";
  22 + reg = <0 0>;
  23 +
  24 + /* Add UART1 PAD configuration (SIO HS-UART) */
  25 + uart1_txd@0 {
  26 + pad-offset = <0x10>;
  27 + mode-func = <1>;
  28 + };
  29 +
  30 + uart1_rxd@0 {
  31 + pad-offset = <0x20>;
  32 + mode-func = <1>;
  33 + };
  34 +
  35 + /*
  36 + * As of today, the latest version FSP (gold4) for BayTrail
  37 + * misses the PAD configuration of the SD controller's Card
  38 + * Detect signal. The default PAD value for the CD pin sets
  39 + * the pin to work in GPIO mode, which causes card detect
  40 + * status cannot be reflected by the Present State register
  41 + * in the SD controller (bit 16 & bit 18 are always zero).
  42 + *
  43 + * Configure this pin to function 1 (SD controller).
  44 + */
  45 + sdmmc3_cd@0 {
  46 + pad-offset = <0x3a0>;
  47 + mode-func = <1>;
  48 + };
  49 + };
  50 +
  51 + chosen {
  52 + stdout-path = "/serial";
  53 + };
  54 +
  55 + cpus {
  56 + #address-cells = <1>;
  57 + #size-cells = <0>;
  58 +
  59 + cpu@0 {
  60 + device_type = "cpu";
  61 + compatible = "intel,baytrail-cpu";
  62 + reg = <0>;
  63 + intel,apic-id = <0>;
  64 + };
  65 +
  66 + cpu@1 {
  67 + device_type = "cpu";
  68 + compatible = "intel,baytrail-cpu";
  69 + reg = <1>;
  70 + intel,apic-id = <2>;
  71 + };
  72 +
  73 + cpu@2 {
  74 + device_type = "cpu";
  75 + compatible = "intel,baytrail-cpu";
  76 + reg = <2>;
  77 + intel,apic-id = <4>;
  78 + };
  79 +
  80 + cpu@3 {
  81 + device_type = "cpu";
  82 + compatible = "intel,baytrail-cpu";
  83 + reg = <3>;
  84 + intel,apic-id = <6>;
  85 + };
  86 + };
  87 +
  88 + pci {
  89 + compatible = "intel,pci-baytrail", "pci-x86";
  90 + #address-cells = <3>;
  91 + #size-cells = <2>;
  92 + u-boot,dm-pre-reloc;
  93 + ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
  94 + 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
  95 + 0x01000000 0x0 0x2000 0x2000 0 0xe000>;
  96 +
  97 + pciuart0: uart@1e,3 {
  98 + compatible = "pci8086,0f0a.00",
  99 + "pci8086,0f0a",
  100 + "pciclass,070002",
  101 + "pciclass,0700",
  102 + "ns16550";
  103 + u-boot,dm-pre-reloc;
  104 + reg = <0x0200f310 0x0 0x0 0x0 0x0>;
  105 + reg-shift = <2>;
  106 + clock-frequency = <58982400>;
  107 + current-speed = <115200>;
  108 + };
  109 +
  110 + pch@1f,0 {
  111 + reg = <0x0000f800 0 0 0 0>;
  112 + compatible = "pci8086,0f1c", "intel,pch9";
  113 + #address-cells = <1>;
  114 + #size-cells = <1>;
  115 +
  116 + irq-router {
  117 + compatible = "intel,irq-router";
  118 + intel,pirq-config = "ibase";
  119 + intel,ibase-offset = <0x50>;
  120 + intel,actl-addr = <0>;
  121 + intel,pirq-link = <8 8>;
  122 + intel,pirq-mask = <0xdee0>;
  123 + intel,pirq-routing = <
  124 + /* BayTrail PCI devices */
  125 + PCI_BDF(0, 2, 0) INTA PIRQA
  126 + PCI_BDF(0, 3, 0) INTA PIRQA
  127 + PCI_BDF(0, 16, 0) INTA PIRQA
  128 + PCI_BDF(0, 17, 0) INTA PIRQA
  129 + PCI_BDF(0, 18, 0) INTA PIRQA
  130 + PCI_BDF(0, 19, 0) INTA PIRQA
  131 + PCI_BDF(0, 20, 0) INTA PIRQA
  132 + PCI_BDF(0, 21, 0) INTA PIRQA
  133 + PCI_BDF(0, 22, 0) INTA PIRQA
  134 + PCI_BDF(0, 23, 0) INTA PIRQA
  135 + PCI_BDF(0, 24, 0) INTA PIRQA
  136 + PCI_BDF(0, 24, 1) INTC PIRQC
  137 + PCI_BDF(0, 24, 2) INTD PIRQD
  138 + PCI_BDF(0, 24, 3) INTB PIRQB
  139 + PCI_BDF(0, 24, 4) INTA PIRQA
  140 + PCI_BDF(0, 24, 5) INTC PIRQC
  141 + PCI_BDF(0, 24, 6) INTD PIRQD
  142 + PCI_BDF(0, 24, 7) INTB PIRQB
  143 + PCI_BDF(0, 26, 0) INTA PIRQA
  144 + PCI_BDF(0, 27, 0) INTA PIRQA
  145 + PCI_BDF(0, 28, 0) INTA PIRQA
  146 + PCI_BDF(0, 28, 1) INTB PIRQB
  147 + PCI_BDF(0, 28, 2) INTC PIRQC
  148 + PCI_BDF(0, 28, 3) INTD PIRQD
  149 + PCI_BDF(0, 29, 0) INTA PIRQA
  150 + PCI_BDF(0, 30, 0) INTA PIRQA
  151 + PCI_BDF(0, 30, 1) INTD PIRQD
  152 + PCI_BDF(0, 30, 2) INTB PIRQB
  153 + PCI_BDF(0, 30, 3) INTC PIRQC
  154 + PCI_BDF(0, 30, 4) INTD PIRQD
  155 + PCI_BDF(0, 30, 5) INTB PIRQB
  156 + PCI_BDF(0, 31, 3) INTB PIRQB
  157 +
  158 + /*
  159 + * PCIe root ports downstream
  160 + * interrupts
  161 + */
  162 + PCI_BDF(1, 0, 0) INTA PIRQA
  163 + PCI_BDF(1, 0, 0) INTB PIRQB
  164 + PCI_BDF(1, 0, 0) INTC PIRQC
  165 + PCI_BDF(1, 0, 0) INTD PIRQD
  166 + PCI_BDF(2, 0, 0) INTA PIRQB
  167 + PCI_BDF(2, 0, 0) INTB PIRQC
  168 + PCI_BDF(2, 0, 0) INTC PIRQD
  169 + PCI_BDF(2, 0, 0) INTD PIRQA
  170 + PCI_BDF(3, 0, 0) INTA PIRQC
  171 + PCI_BDF(3, 0, 0) INTB PIRQD
  172 + PCI_BDF(3, 0, 0) INTC PIRQA
  173 + PCI_BDF(3, 0, 0) INTD PIRQB
  174 + PCI_BDF(4, 0, 0) INTA PIRQD
  175 + PCI_BDF(4, 0, 0) INTB PIRQA
  176 + PCI_BDF(4, 0, 0) INTC PIRQB
  177 + PCI_BDF(4, 0, 0) INTD PIRQC
  178 + >;
  179 + };
  180 +
  181 + spi: spi {
  182 + #address-cells = <1>;
  183 + #size-cells = <0>;
  184 + compatible = "intel,ich9-spi";
  185 + spi-flash@0 {
  186 + #address-cells = <1>;
  187 + #size-cells = <1>;
  188 + reg = <0>;
  189 + compatible = "stmicro,n25q064a",
  190 + "spi-flash";
  191 + memory-map = <0xff800000 0x00800000>;
  192 + rw-mrc-cache {
  193 + label = "rw-mrc-cache";
  194 + reg = <0x006f0000 0x00010000>;
  195 + };
  196 + };
  197 + };
  198 +
  199 + gpioa {
  200 + compatible = "intel,ich6-gpio";
  201 + u-boot,dm-pre-reloc;
  202 + reg = <0 0x20>;
  203 + bank-name = "A";
  204 + };
  205 +
  206 + gpiob {
  207 + compatible = "intel,ich6-gpio";
  208 + u-boot,dm-pre-reloc;
  209 + reg = <0x20 0x20>;
  210 + bank-name = "B";
  211 + };
  212 +
  213 + gpioc {
  214 + compatible = "intel,ich6-gpio";
  215 + u-boot,dm-pre-reloc;
  216 + reg = <0x40 0x20>;
  217 + bank-name = "C";
  218 + };
  219 +
  220 + gpiod {
  221 + compatible = "intel,ich6-gpio";
  222 + u-boot,dm-pre-reloc;
  223 + reg = <0x60 0x20>;
  224 + bank-name = "D";
  225 + };
  226 +
  227 + gpioe {
  228 + compatible = "intel,ich6-gpio";
  229 + u-boot,dm-pre-reloc;
  230 + reg = <0x80 0x20>;
  231 + bank-name = "E";
  232 + };
  233 +
  234 + gpiof {
  235 + compatible = "intel,ich6-gpio";
  236 + u-boot,dm-pre-reloc;
  237 + reg = <0xA0 0x20>;
  238 + bank-name = "F";
  239 + };
  240 + };
  241 + };
  242 +
  243 + fsp {
  244 + compatible = "intel,baytrail-fsp";
  245 + fsp,mrc-init-tseg-size = <0>;
  246 + fsp,mrc-init-mmio-size = <0x800>;
  247 + fsp,mrc-init-spd-addr1 = <0xa0>;
  248 + fsp,mrc-init-spd-addr2 = <0xa2>;
  249 + fsp,emmc-boot-mode = <1>;
  250 + fsp,enable-sdio;
  251 + fsp,enable-sdcard;
  252 + fsp,enable-hsuart0;
  253 + fsp,enable-hsuart1;
  254 + fsp,enable-spi;
  255 + fsp,enable-sata;
  256 + fsp,sata-mode = <1>;
  257 + fsp,enable-lpe;
  258 + fsp,lpss-sio-enable-pci-mode;
  259 + fsp,enable-dma0;
  260 + fsp,enable-dma1;
  261 + fsp,enable-i2c0;
  262 + fsp,enable-i2c1;
  263 + fsp,enable-i2c2;
  264 + fsp,enable-i2c3;
  265 + fsp,enable-i2c4;
  266 + fsp,enable-i2c5;
  267 + fsp,enable-i2c6;
  268 + fsp,enable-pwm0;
  269 + fsp,enable-pwm1;
  270 + fsp,igd-dvmt50-pre-alloc = <2>;
  271 + fsp,aperture-size = <2>;
  272 + fsp,gtt-size = <2>;
  273 + fsp,scc-enable-pci-mode;
  274 + fsp,os-selection = <4>;
  275 + fsp,emmc45-ddr50-enabled;
  276 + fsp,emmc45-retune-timer-value = <8>;
  277 + fsp,enable-igd;
  278 + fsp,enable-memory-down;
  279 + fsp,memory-down-params {
  280 + compatible = "intel,baytrail-fsp-mdp";
  281 + fsp,dram-speed = <2>; /* 2=1333MHz */
  282 + fsp,dram-type = <1>; /* 1=DDR3L */
  283 + fsp,dimm-0-enable;
  284 + fsp,dimm-width = <1>; /* 1=x16, 2=x32 */
  285 + fsp,dimm-density = <3>; /* 3=8Gbit */
  286 + fsp,dimm-bus-width = <3>; /* 3=64bits */
  287 + fsp,dimm-sides = <0>; /* 0=1 ranks -> 0x2b */
  288 +
  289 + /* These following values might need a re-visit */
  290 + fsp,dimm-tcl = <8>;
  291 + fsp,dimm-trpt-rcd = <8>;
  292 + fsp,dimm-twr = <8>;
  293 + fsp,dimm-twtr = <4>;
  294 + fsp,dimm-trrd = <6>;
  295 + fsp,dimm-trtp = <4>;
  296 + fsp,dimm-tfaw = <22>;
  297 + };
  298 + };
  299 +
  300 + microcode {
  301 + update@0 {
  302 +#include "microcode/m0130673325.dtsi"
  303 + };
  304 + update@1 {
  305 +#include "microcode/m0130679907.dtsi"
  306 + };
  307 + };
  308 +};
  1 +#
  2 +# Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
  3 +#
  4 +# SPDX-License-Identifier: GPL-2.0+
  5 +#
  6 +
  7 +if VENDOR_DFI
  8 +
  9 +choice
  10 + prompt "Mainboard model"
  11 + optional
  12 +
  13 +config TARGET_DFI_BT700
  14 + bool "DFI BT700 BayTrail"
  15 + help
  16 + This is the DFI Q7X-151 baseboard equipped with the
  17 + DFI BayTrail Bt700 SoM. It contains an Atom E3845 with
  18 + Ethernet (in non-PCIe-x4 configuration), micro-SD, USB 2,
  19 + USB 3, SATA, serial console and DisplayPort video out.
  20 + It requires some binary blobs - see README.x86 for details.
  21 +
  22 + Note that PCIE_ECAM_BASE is set up by the FSP so the value used
  23 + by U-Boot matches that value.
  24 +
  25 +endchoice
  26 +
  27 +source "board/dfi/dfi-bt700/Kconfig"
  28 +
  29 +endif
board/dfi/dfi-bt700/Kconfig
  1 +if TARGET_DFI_BT700
  2 +
  3 +config SYS_BOARD
  4 + default "dfi-bt700"
  5 +
  6 +config SYS_VENDOR
  7 + default "dfi"
  8 +
  9 +config SYS_SOC
  10 + default "baytrail"
  11 +
  12 +config SYS_CONFIG_NAME
  13 + default "dfi-bt700"
  14 +
  15 +config SYS_TEXT_BASE
  16 + default 0xfff00000 if !EFI_STUB
  17 + default 0x01110000 if EFI_STUB
  18 +
  19 +config BOARD_SPECIFIC_OPTIONS # dummy
  20 + def_bool y
  21 + select X86_RESET_VECTOR if !EFI_STUB
  22 + select INTEL_BAYTRAIL
  23 + select BOARD_ROMSIZE_KB_8192
  24 +
  25 +config PCIE_ECAM_BASE
  26 + default 0xe0000000
  27 +
  28 +endif
board/dfi/dfi-bt700/MAINTAINERS
  1 +congatec DFI-BT700
  2 +M: Stefan Roese <sr@denx.de>
  3 +S: Maintained
  4 +F: board/dfi/dfi-bt700
  5 +F: include/configs/dfi-bt700.h
  6 +F: configs/dfi-bt700-q7x-151_defconfig
  7 +F: arch/x86/dts/dfi-bt700.dtsi
  8 +F: arch/x86/dts/dfi-bt700-q7x-151.dts
board/dfi/dfi-bt700/Makefile
  1 +#
  2 +# Copyright (C) 2015, Google, Inc
  3 +#
  4 +# SPDX-License-Identifier: GPL-2.0+
  5 +#
  6 +
  7 +obj-y += dfi-bt700.o start.o
  8 +obj-$(CONFIG_GENERATE_ACPI_TABLE) += dsdt.o
board/dfi/dfi-bt700/acpi/mainboard.asl
  1 +/*
  2 + * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
  3 + *
  4 + * SPDX-License-Identifier: GPL-2.0+
  5 + */
  6 +
  7 +/* Power Button */
  8 +Device (PWRB)
  9 +{
  10 + Name(_HID, EISAID("PNP0C0C"))
  11 +}
  12 +
  13 +/* TODO: Need add Nuvoton SuperIO chipset NCT6102D ASL codes */
board/dfi/dfi-bt700/dfi-bt700.c
  1 +/*
  2 + * Copyright (C) 2016 Stefan Roese <sr@denx.de>
  3 + *
  4 + * SPDX-License-Identifier: GPL-2.0+
  5 + */
  6 +
  7 +#include <common.h>
  8 +#include <nuvoton_nct6102d.h>
  9 +#include <asm/gpio.h>
  10 +#include <asm/ibmpc.h>
  11 +#include <asm/pnp_def.h>
  12 +
  13 +int board_early_init_f(void)
  14 +{
  15 +#ifdef CONFIG_INTERNAL_UART
  16 + /* Disable the legacy UART which is enabled per default */
  17 + nct6102d_uarta_disable();
  18 +#else
  19 + /*
  20 + * The FSP enables the BayTrail internal legacy UART (again).
  21 + * Disable it again, so that the Nuvoton one can be used.
  22 + */
  23 + setup_internal_uart(0);
  24 +#endif
  25 +
  26 + /* Disable the watchdog which is enabled per default */
  27 + nct6102d_wdt_disable();
  28 +
  29 + return 0;
  30 +}
board/dfi/dfi-bt700/dsdt.asl
  1 +/*
  2 + * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
  3 + *
  4 + * SPDX-License-Identifier: GPL-2.0+
  5 + */
  6 +
  7 +DefinitionBlock("dsdt.aml", "DSDT", 2, "U-BOOT", "U-BOOTBL", 0x00010000)
  8 +{
  9 + /* platform specific */
  10 + #include <asm/arch/acpi/platform.asl>
  11 +
  12 + /* board specific */
  13 + #include "acpi/mainboard.asl"
  14 +}
board/dfi/dfi-bt700/start.S
  1 +/*
  2 + * Copyright (C) 2015, Google, Inc
  3 + *
  4 + * SPDX-License-Identifier: GPL-2.0+
  5 + */
  6 +
  7 +.globl early_board_init
  8 +early_board_init:
  9 + jmp early_board_init_ret
configs/dfi-bt700-q7x-151_defconfig
  1 +CONFIG_X86=y
  2 +CONFIG_DM_I2C=y
  3 +CONFIG_VENDOR_DFI=y
  4 +CONFIG_DEFAULT_DEVICE_TREE="dfi-bt700-q7x-151"
  5 +CONFIG_TARGET_DFI_BT700=y
  6 +CONFIG_HAVE_INTEL_ME=y
  7 +CONFIG_ENABLE_MRC_CACHE=y
  8 +CONFIG_SMP=y
  9 +CONFIG_HAVE_VGA_BIOS=y
  10 +CONFIG_GENERATE_PIRQ_TABLE=y
  11 +CONFIG_GENERATE_MP_TABLE=y
  12 +CONFIG_GENERATE_ACPI_TABLE=y
  13 +CONFIG_SEABIOS=y
  14 +CONFIG_FIT=y
  15 +CONFIG_FIT_SIGNATURE=y
  16 +CONFIG_BOOTSTAGE=y
  17 +CONFIG_BOOTSTAGE_REPORT=y
  18 +CONFIG_HUSH_PARSER=y
  19 +CONFIG_CMD_CPU=y
  20 +# CONFIG_CMD_IMLS is not set
  21 +# CONFIG_CMD_FLASH is not set
  22 +CONFIG_CMD_MMC=y
  23 +CONFIG_CMD_SF=y
  24 +CONFIG_CMD_SPI=y
  25 +CONFIG_CMD_USB=y
  26 +CONFIG_CMD_GPIO=y
  27 +# CONFIG_CMD_SETEXPR is not set
  28 +CONFIG_CMD_DHCP=y
  29 +# CONFIG_CMD_NFS is not set
  30 +CONFIG_CMD_PING=y
  31 +CONFIG_CMD_TIME=y
  32 +CONFIG_CMD_BOOTSTAGE=y
  33 +CONFIG_CMD_EXT2=y
  34 +CONFIG_CMD_EXT4=y
  35 +CONFIG_CMD_EXT4_WRITE=y
  36 +CONFIG_CMD_FAT=y
  37 +CONFIG_CMD_FS_GENERIC=y
  38 +CONFIG_OF_CONTROL=y
  39 +CONFIG_REGMAP=y
  40 +CONFIG_SYSCON=y
  41 +CONFIG_CPU=y
  42 +CONFIG_NUVOTON_NCT6102D=y
  43 +CONFIG_SPI_FLASH=y
  44 +CONFIG_SPI_FLASH_GIGADEVICE=y
  45 +CONFIG_SPI_FLASH_MACRONIX=y
  46 +CONFIG_SPI_FLASH_STMICRO=y
  47 +CONFIG_SPI_FLASH_WINBOND=y
  48 +CONFIG_DM_ETH=y
  49 +CONFIG_E1000=y
  50 +CONFIG_DM_PCI=y
  51 +CONFIG_DM_RTC=y
  52 +CONFIG_DEBUG_UART=y
  53 +CONFIG_DEBUG_UART_BASE=0x3f8
  54 +CONFIG_DEBUG_UART_CLOCK=1843200
  55 +CONFIG_SYS_NS16550=y
  56 +CONFIG_ICH_SPI=y
  57 +CONFIG_TIMER=y
  58 +CONFIG_USB=y
  59 +CONFIG_DM_USB=y
  60 +CONFIG_VIDEO_VESA=y
  61 +CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
  62 +CONFIG_FRAMEBUFFER_VESA_MODE_114=y
  63 +CONFIG_USE_PRIVATE_LIBGCC=y
include/configs/dfi-bt700.h
  1 +/*
  2 + * Copyright (C) 2016 Stefan Roese <sr@denx.de>
  3 + *
  4 + * SPDX-License-Identifier: GPL-2.0+
  5 + */
  6 +
  7 +/*
  8 + * board/config.h - configuration options, board specific
  9 + */
  10 +
  11 +#ifndef __CONFIG_H
  12 +#define __CONFIG_H
  13 +
  14 +#include <configs/x86-common.h>
  15 +
  16 +#define CONFIG_SYS_MONITOR_LEN (1 << 20)
  17 +#define CONFIG_BOARD_EARLY_INIT_F
  18 +
  19 +#ifndef CONFIG_INTERNAL_UART
  20 +/* Use BayTrail internal HS UART which is memory-mapped */
  21 +#undef CONFIG_SYS_NS16550_PORT_MAPPED
  22 +#endif
  23 +
  24 +#define CONFIG_PCI_PNP
  25 +
  26 +#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial\0" \
  27 + "stdout=serial\0" \
  28 + "stderr=serial\0"
  29 +
  30 +#define CONFIG_SCSI_DEV_LIST \
  31 + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA}, \
  32 + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
  33 +
  34 +#define CONFIG_MMC
  35 +#define CONFIG_SDHCI
  36 +#define CONFIG_GENERIC_MMC
  37 +#define CONFIG_MMC_SDMA
  38 +
  39 +#undef CONFIG_USB_MAX_CONTROLLER_COUNT
  40 +#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
  41 +
  42 +#define CONFIG_USB_HOST_ETHER
  43 +#define CONFIG_USB_ETHER_ASIX
  44 +#define CONFIG_USB_ETHER_SMSC95XX
  45 +#define CONFIG_USB_ETHER_MCS7830
  46 +#define CONFIG_USB_ETHER_RTL8152
  47 +
  48 +#define VIDEO_IO_OFFSET 0
  49 +#define CONFIG_X86EMU_RAW_IO
  50 +#define CONFIG_CMD_BMP
  51 +
  52 +#define CONFIG_ENV_SECT_SIZE 0x1000
  53 +#define CONFIG_ENV_OFFSET 0x006ef000
  54 +
  55 +#undef CONFIG_BOOTARGS
  56 +#undef CONFIG_BOOTCOMMAND
  57 +
  58 +#define CONFIG_BOOTARGS \
  59 + "root=/dev/sda1 ro quiet"
  60 +#define CONFIG_BOOTCOMMAND \
  61 + "load scsi 0:1 03000000 /boot/vmlinuz-${kernel-ver}-generic;" \
  62 + "load scsi 0:1 04000000 /boot/initrd.img-${kernel-ver}-generic;" \
  63 + "run boot"
  64 +
  65 +#undef CONFIG_EXTRA_ENV_SETTINGS
  66 +#define CONFIG_EXTRA_ENV_SETTINGS \
  67 + "kernel-ver=4.4.0-24\0" \
  68 + "boot=zboot 03000000 0 04000000 ${filesize}\0" \
  69 + "upd_uboot=usb reset;tftp 100000 dfi/u-boot.rom;" \
  70 + "sf probe;sf update 100000 0 800000;saveenv\0"
  71 +
  72 +#define CONFIG_PREBOOT
  73 +
  74 +#endif /* __CONFIG_H */