[coreboot-gerrit] Patch set updated for coreboot: intel/fsp_baytrail: rename include folder baytrail to include/soc

Ben Gardner (gardner.ben@gmail.com) gerrit at coreboot.org
Sun Dec 13 01:45:15 CET 2015


Ben Gardner (gardner.ben at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12686

-gerrit

commit 72f20f4646015f8d32beeeac2b9faf4f513014f9
Author: Ben Gardner <gardner.ben at gmail.com>
Date:   Tue Dec 8 21:20:25 2015 -0600

    intel/fsp_baytrail: rename include folder baytrail to include/soc
    
    This is to match the layout of the non-fsp baytrail to make comparisons
    easier and possibly remove duplicate files.
    
    Change-Id: I9a94842d724ab3826de711d398227e7bdc1045ff
    Signed-off-by: Ben Gardner <gardner.ben at gmail.com>
---
 src/mainboard/esd/atom15/acpi_tables.c             |   6 +-
 src/mainboard/esd/atom15/fadt.c                    |   2 +-
 src/mainboard/esd/atom15/gpio.c                    |   2 +-
 src/mainboard/esd/atom15/irqroute.h                |   4 +-
 src/mainboard/esd/atom15/romstage.c                |   6 +-
 src/mainboard/intel/bayleybay_fsp/acpi_tables.c    |   6 +-
 src/mainboard/intel/bayleybay_fsp/fadt.c           |   2 +-
 src/mainboard/intel/bayleybay_fsp/gpio.c           |   2 +-
 src/mainboard/intel/bayleybay_fsp/irqroute.h       |   4 +-
 src/mainboard/intel/bayleybay_fsp/romstage.c       |  14 +-
 src/mainboard/intel/minnowmax/acpi_tables.c        |   6 +-
 src/mainboard/intel/minnowmax/fadt.c               |   2 +-
 src/mainboard/intel/minnowmax/gpio.c               |   2 +-
 src/mainboard/intel/minnowmax/irqroute.h           |   4 +-
 src/mainboard/intel/minnowmax/romstage.c           |   6 +-
 src/mainboard/siemens/mc_tcu3/acpi_tables.c        |   6 +-
 src/mainboard/siemens/mc_tcu3/fadt.c               |   2 +-
 src/mainboard/siemens/mc_tcu3/gpio.c               |   2 +-
 src/mainboard/siemens/mc_tcu3/irqroute.h           |   4 +-
 src/mainboard/siemens/mc_tcu3/lcd_panel.c          |   2 +-
 src/mainboard/siemens/mc_tcu3/ptn3460.c            |   2 +-
 src/mainboard/siemens/mc_tcu3/romstage.c           |  14 +-
 src/soc/intel/fsp_baytrail/Makefile.inc            |   2 +-
 src/soc/intel/fsp_baytrail/acpi.c                  |  24 +-
 src/soc/intel/fsp_baytrail/acpi/gpio.asl           |   4 +-
 src/soc/intel/fsp_baytrail/acpi/southcluster.asl   |   6 +-
 src/soc/intel/fsp_baytrail/baytrail/acpi.h         |  34 --
 src/soc/intel/fsp_baytrail/baytrail/baytrail.h     |  73 ----
 src/soc/intel/fsp_baytrail/baytrail/device_nvs.h   |  64 ---
 src/soc/intel/fsp_baytrail/baytrail/ehci.h         |  40 --
 src/soc/intel/fsp_baytrail/baytrail/gfx.h          |  44 --
 src/soc/intel/fsp_baytrail/baytrail/gpio.h         | 444 ---------------------
 src/soc/intel/fsp_baytrail/baytrail/i2c.h          | 134 -------
 src/soc/intel/fsp_baytrail/baytrail/iomap.h        |  86 ----
 src/soc/intel/fsp_baytrail/baytrail/iosf.h         | 191 ---------
 src/soc/intel/fsp_baytrail/baytrail/irq.h          | 164 --------
 src/soc/intel/fsp_baytrail/baytrail/lpc.h          | 111 ------
 src/soc/intel/fsp_baytrail/baytrail/msr.h          |  37 --
 src/soc/intel/fsp_baytrail/baytrail/nvm.h          |  30 --
 src/soc/intel/fsp_baytrail/baytrail/nvs.h          |  73 ----
 src/soc/intel/fsp_baytrail/baytrail/pattrs.h       |  60 ---
 src/soc/intel/fsp_baytrail/baytrail/pci_devs.h     | 237 -----------
 src/soc/intel/fsp_baytrail/baytrail/pcie.h         |  98 -----
 src/soc/intel/fsp_baytrail/baytrail/pmc.h          | 301 --------------
 src/soc/intel/fsp_baytrail/baytrail/ramstage.h     |  31 --
 src/soc/intel/fsp_baytrail/baytrail/reset.h        |  32 --
 src/soc/intel/fsp_baytrail/baytrail/romstage.h     |  49 ---
 src/soc/intel/fsp_baytrail/baytrail/smm.h          |  40 --
 src/soc/intel/fsp_baytrail/baytrail/spi.h          |  63 ---
 src/soc/intel/fsp_baytrail/baytrail/xhci.h         |  52 ---
 src/soc/intel/fsp_baytrail/bootblock/bootblock.c   |  12 +-
 src/soc/intel/fsp_baytrail/chip.c                  |   4 +-
 src/soc/intel/fsp_baytrail/cpu.c                   |   8 +-
 src/soc/intel/fsp_baytrail/fsp/chipset_fsp_util.c  |  14 +-
 src/soc/intel/fsp_baytrail/gpio.c                  |   6 +-
 src/soc/intel/fsp_baytrail/i2c.c                   |   8 +-
 src/soc/intel/fsp_baytrail/include/soc/acpi.h      |  34 ++
 src/soc/intel/fsp_baytrail/include/soc/baytrail.h  |  73 ++++
 .../intel/fsp_baytrail/include/soc/device_nvs.h    |  64 +++
 src/soc/intel/fsp_baytrail/include/soc/ehci.h      |  40 ++
 src/soc/intel/fsp_baytrail/include/soc/gfx.h       |  44 ++
 src/soc/intel/fsp_baytrail/include/soc/gpio.h      | 444 +++++++++++++++++++++
 src/soc/intel/fsp_baytrail/include/soc/i2c.h       | 134 +++++++
 src/soc/intel/fsp_baytrail/include/soc/iomap.h     |  86 ++++
 src/soc/intel/fsp_baytrail/include/soc/iosf.h      | 191 +++++++++
 src/soc/intel/fsp_baytrail/include/soc/irq.h       | 164 ++++++++
 src/soc/intel/fsp_baytrail/include/soc/lpc.h       | 111 ++++++
 src/soc/intel/fsp_baytrail/include/soc/msr.h       |  37 ++
 src/soc/intel/fsp_baytrail/include/soc/nvm.h       |  30 ++
 src/soc/intel/fsp_baytrail/include/soc/nvs.h       |  73 ++++
 src/soc/intel/fsp_baytrail/include/soc/pattrs.h    |  60 +++
 src/soc/intel/fsp_baytrail/include/soc/pci_devs.h  | 237 +++++++++++
 src/soc/intel/fsp_baytrail/include/soc/pcie.h      |  98 +++++
 src/soc/intel/fsp_baytrail/include/soc/pmc.h       | 301 ++++++++++++++
 src/soc/intel/fsp_baytrail/include/soc/ramstage.h  |  31 ++
 src/soc/intel/fsp_baytrail/include/soc/reset.h     |  32 ++
 src/soc/intel/fsp_baytrail/include/soc/romstage.h  |  49 +++
 src/soc/intel/fsp_baytrail/include/soc/smm.h       |  40 ++
 src/soc/intel/fsp_baytrail/include/soc/spi.h       |  63 +++
 src/soc/intel/fsp_baytrail/include/soc/xhci.h      |  52 +++
 src/soc/intel/fsp_baytrail/iosf.c                  |   2 +-
 src/soc/intel/fsp_baytrail/memmap.c                |   4 +-
 src/soc/intel/fsp_baytrail/northcluster.c          |  10 +-
 src/soc/intel/fsp_baytrail/nvm.c                   |   2 +-
 src/soc/intel/fsp_baytrail/placeholders.c          |   2 +-
 src/soc/intel/fsp_baytrail/pmutil.c                |   8 +-
 src/soc/intel/fsp_baytrail/ramstage.c              |  14 +-
 src/soc/intel/fsp_baytrail/reset.c                 |   4 +-
 src/soc/intel/fsp_baytrail/romstage/pmc.c          |  12 +-
 .../intel/fsp_baytrail/romstage/report_platform.c  |   6 +-
 src/soc/intel/fsp_baytrail/romstage/romstage.c     |  18 +-
 src/soc/intel/fsp_baytrail/romstage/uart.c         |  10 +-
 src/soc/intel/fsp_baytrail/smihandler.c            |   6 +-
 src/soc/intel/fsp_baytrail/smm.c                   |   6 +-
 src/soc/intel/fsp_baytrail/southcluster.c          |  18 +-
 src/soc/intel/fsp_baytrail/spi.c                   |   4 +-
 src/soc/intel/fsp_baytrail/tsc_freq.c              |   6 +-
 97 files changed, 2648 insertions(+), 2648 deletions(-)

diff --git a/src/mainboard/esd/atom15/acpi_tables.c b/src/mainboard/esd/atom15/acpi_tables.c
index 48991f5..3da29ee 100644
--- a/src/mainboard/esd/atom15/acpi_tables.c
+++ b/src/mainboard/esd/atom15/acpi_tables.c
@@ -28,9 +28,9 @@
 #include <device/pci_ids.h>
 #include <cpu/cpu.h>
 #include <cpu/x86/msr.h>
-#include <baytrail/acpi.h>
-#include <baytrail/nvs.h>
-#include <baytrail/iomap.h>
+#include <soc/acpi.h>
+#include <soc/nvs.h>
+#include <soc/iomap.h>
 
 void acpi_create_gnvs(global_nvs_t *gnvs)
 {
diff --git a/src/mainboard/esd/atom15/fadt.c b/src/mainboard/esd/atom15/fadt.c
index 38b9bfd..36e4655 100644
--- a/src/mainboard/esd/atom15/fadt.c
+++ b/src/mainboard/esd/atom15/fadt.c
@@ -15,7 +15,7 @@
  */
 
 #include <arch/acpi.h>
-#include <baytrail/acpi.h>
+#include <soc/acpi.h>
 
 void acpi_create_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt)
 {
diff --git a/src/mainboard/esd/atom15/gpio.c b/src/mainboard/esd/atom15/gpio.c
index f617de4..b9c7829 100644
--- a/src/mainboard/esd/atom15/gpio.c
+++ b/src/mainboard/esd/atom15/gpio.c
@@ -15,7 +15,7 @@
  */
 
 #include <stdlib.h>
-#include <baytrail/gpio.h>
+#include <soc/gpio.h>
 #include "irqroute.h"
 
 /*
diff --git a/src/mainboard/esd/atom15/irqroute.h b/src/mainboard/esd/atom15/irqroute.h
index f866069..6b41798 100644
--- a/src/mainboard/esd/atom15/irqroute.h
+++ b/src/mainboard/esd/atom15/irqroute.h
@@ -17,8 +17,8 @@
 #ifndef IRQROUTE_H
 #define IRQROUTE_H
 
-#include <soc/intel/fsp_baytrail/baytrail/irq.h>
-#include <soc/intel/fsp_baytrail/baytrail/pci_devs.h>
+#include <soc/intel/fsp_baytrail/include/soc/irq.h>
+#include <soc/intel/fsp_baytrail/include/soc/pci_devs.h>
 
 /*
  *IR02h GFX      INT(A) 	- PIRQ A
diff --git a/src/mainboard/esd/atom15/romstage.c b/src/mainboard/esd/atom15/romstage.c
index 89fc9de..3aa02d8 100644
--- a/src/mainboard/esd/atom15/romstage.c
+++ b/src/mainboard/esd/atom15/romstage.c
@@ -15,12 +15,12 @@
  * GNU General Public License for more details.
  */
 
-#include <baytrail/romstage.h>
+#include <soc/romstage.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 #include <pc80/mc146818rtc.h>
 #include <console/console.h>
-#include <baytrail/gpio.h>
-#include "chip.h"
+#include <soc/gpio.h>
+#include <soc/intel/fsp_baytrail/chip.h>
 
 /**
  * /brief mainboard call for setup that needs to be done before fsp init
diff --git a/src/mainboard/intel/bayleybay_fsp/acpi_tables.c b/src/mainboard/intel/bayleybay_fsp/acpi_tables.c
index 56d287b..f8b6f65 100644
--- a/src/mainboard/intel/bayleybay_fsp/acpi_tables.c
+++ b/src/mainboard/intel/bayleybay_fsp/acpi_tables.c
@@ -27,9 +27,9 @@
 #include <device/pci_ids.h>
 #include <cpu/cpu.h>
 #include <cpu/x86/msr.h>
-#include <baytrail/acpi.h>
-#include <baytrail/nvs.h>
-#include <baytrail/iomap.h>
+#include <soc/acpi.h>
+#include <soc/nvs.h>
+#include <soc/iomap.h>
 
 void acpi_create_gnvs(global_nvs_t *gnvs)
 {
diff --git a/src/mainboard/intel/bayleybay_fsp/fadt.c b/src/mainboard/intel/bayleybay_fsp/fadt.c
index 0ebfc62..8e8de51 100644
--- a/src/mainboard/intel/bayleybay_fsp/fadt.c
+++ b/src/mainboard/intel/bayleybay_fsp/fadt.c
@@ -15,7 +15,7 @@
  */
 
 #include <arch/acpi.h>
-#include <baytrail/acpi.h>
+#include <soc/acpi.h>
 
 void acpi_create_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt)
 {
diff --git a/src/mainboard/intel/bayleybay_fsp/gpio.c b/src/mainboard/intel/bayleybay_fsp/gpio.c
index 53029f1..27b22c5 100644
--- a/src/mainboard/intel/bayleybay_fsp/gpio.c
+++ b/src/mainboard/intel/bayleybay_fsp/gpio.c
@@ -15,7 +15,7 @@
  */
 
 #include <stdlib.h>
-#include <baytrail/gpio.h>
+#include <soc/gpio.h>
 #include "irqroute.h"
 
 /* NCORE GPIOs */
diff --git a/src/mainboard/intel/bayleybay_fsp/irqroute.h b/src/mainboard/intel/bayleybay_fsp/irqroute.h
index 8b6a46e..a24be3e 100644
--- a/src/mainboard/intel/bayleybay_fsp/irqroute.h
+++ b/src/mainboard/intel/bayleybay_fsp/irqroute.h
@@ -16,8 +16,8 @@
 #ifndef IRQROUTE_H
 #define IRQROUTE_H
 
-#include <soc/intel/fsp_baytrail/baytrail/irq.h>
-#include <soc/intel/fsp_baytrail/baytrail/pci_devs.h>
+#include <soc/intel/fsp_baytrail/include/soc/irq.h>
+#include <soc/intel/fsp_baytrail/include/soc/pci_devs.h>
 
 /*
  *IR02h GFX      INT(A) 	- PIRQ A
diff --git a/src/mainboard/intel/bayleybay_fsp/romstage.c b/src/mainboard/intel/bayleybay_fsp/romstage.c
index 970bbd1..7af782f 100644
--- a/src/mainboard/intel/bayleybay_fsp/romstage.c
+++ b/src/mainboard/intel/bayleybay_fsp/romstage.c
@@ -25,13 +25,13 @@
 #include <cpu/x86/mtrr.h>
 #include <romstage_handoff.h>
 #include <timestamp.h>
-#include <baytrail/gpio.h>
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/romstage.h>
-#include <baytrail/acpi.h>
-#include <baytrail/baytrail.h>
+#include <soc/gpio.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/romstage.h>
+#include <soc/acpi.h>
+#include <soc/baytrail.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 
 /**
diff --git a/src/mainboard/intel/minnowmax/acpi_tables.c b/src/mainboard/intel/minnowmax/acpi_tables.c
index 48991f5..3da29ee 100644
--- a/src/mainboard/intel/minnowmax/acpi_tables.c
+++ b/src/mainboard/intel/minnowmax/acpi_tables.c
@@ -28,9 +28,9 @@
 #include <device/pci_ids.h>
 #include <cpu/cpu.h>
 #include <cpu/x86/msr.h>
-#include <baytrail/acpi.h>
-#include <baytrail/nvs.h>
-#include <baytrail/iomap.h>
+#include <soc/acpi.h>
+#include <soc/nvs.h>
+#include <soc/iomap.h>
 
 void acpi_create_gnvs(global_nvs_t *gnvs)
 {
diff --git a/src/mainboard/intel/minnowmax/fadt.c b/src/mainboard/intel/minnowmax/fadt.c
index 38b9bfd..36e4655 100644
--- a/src/mainboard/intel/minnowmax/fadt.c
+++ b/src/mainboard/intel/minnowmax/fadt.c
@@ -15,7 +15,7 @@
  */
 
 #include <arch/acpi.h>
-#include <baytrail/acpi.h>
+#include <soc/acpi.h>
 
 void acpi_create_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt)
 {
diff --git a/src/mainboard/intel/minnowmax/gpio.c b/src/mainboard/intel/minnowmax/gpio.c
index 008dbee..228b55b 100644
--- a/src/mainboard/intel/minnowmax/gpio.c
+++ b/src/mainboard/intel/minnowmax/gpio.c
@@ -15,7 +15,7 @@
  */
 
 #include <stdlib.h>
-#include <baytrail/gpio.h>
+#include <soc/gpio.h>
 #include "irqroute.h"
 
 /*
diff --git a/src/mainboard/intel/minnowmax/irqroute.h b/src/mainboard/intel/minnowmax/irqroute.h
index 0b577bc..0b194aa 100644
--- a/src/mainboard/intel/minnowmax/irqroute.h
+++ b/src/mainboard/intel/minnowmax/irqroute.h
@@ -17,8 +17,8 @@
 #ifndef IRQROUTE_H
 #define IRQROUTE_H
 
-#include <soc/intel/fsp_baytrail/baytrail/irq.h>
-#include <soc/intel/fsp_baytrail/baytrail/pci_devs.h>
+#include <soc/intel/fsp_baytrail/include/soc/irq.h>
+#include <soc/intel/fsp_baytrail/include/soc/pci_devs.h>
 
 /*
  *IR02h GFX      INT(A) 	- PIRQ A
diff --git a/src/mainboard/intel/minnowmax/romstage.c b/src/mainboard/intel/minnowmax/romstage.c
index dd441f8..7ee4f21 100644
--- a/src/mainboard/intel/minnowmax/romstage.c
+++ b/src/mainboard/intel/minnowmax/romstage.c
@@ -15,12 +15,12 @@
  * GNU General Public License for more details.
  */
 
-#include <baytrail/romstage.h>
+#include <soc/romstage.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 #include <pc80/mc146818rtc.h>
 #include <console/console.h>
-#include <baytrail/gpio.h>
-#include "chip.h"
+#include <soc/gpio.h>
+#include <soc/intel/fsp_baytrail/chip.h>
 
 /**
  * /brief mainboard call for setup that needs to be done before fsp init
diff --git a/src/mainboard/siemens/mc_tcu3/acpi_tables.c b/src/mainboard/siemens/mc_tcu3/acpi_tables.c
index 56d287b..f8b6f65 100644
--- a/src/mainboard/siemens/mc_tcu3/acpi_tables.c
+++ b/src/mainboard/siemens/mc_tcu3/acpi_tables.c
@@ -27,9 +27,9 @@
 #include <device/pci_ids.h>
 #include <cpu/cpu.h>
 #include <cpu/x86/msr.h>
-#include <baytrail/acpi.h>
-#include <baytrail/nvs.h>
-#include <baytrail/iomap.h>
+#include <soc/acpi.h>
+#include <soc/nvs.h>
+#include <soc/iomap.h>
 
 void acpi_create_gnvs(global_nvs_t *gnvs)
 {
diff --git a/src/mainboard/siemens/mc_tcu3/fadt.c b/src/mainboard/siemens/mc_tcu3/fadt.c
index 0ebfc62..8e8de51 100644
--- a/src/mainboard/siemens/mc_tcu3/fadt.c
+++ b/src/mainboard/siemens/mc_tcu3/fadt.c
@@ -15,7 +15,7 @@
  */
 
 #include <arch/acpi.h>
-#include <baytrail/acpi.h>
+#include <soc/acpi.h>
 
 void acpi_create_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt)
 {
diff --git a/src/mainboard/siemens/mc_tcu3/gpio.c b/src/mainboard/siemens/mc_tcu3/gpio.c
index a7e5b05..fc5178f 100644
--- a/src/mainboard/siemens/mc_tcu3/gpio.c
+++ b/src/mainboard/siemens/mc_tcu3/gpio.c
@@ -15,7 +15,7 @@
  */
 
 #include <stdlib.h>
-#include <baytrail/gpio.h>
+#include <soc/gpio.h>
 #include "irqroute.h"
 
 /* NCORE GPIOs */
diff --git a/src/mainboard/siemens/mc_tcu3/irqroute.h b/src/mainboard/siemens/mc_tcu3/irqroute.h
index 8b6a46e..a24be3e 100644
--- a/src/mainboard/siemens/mc_tcu3/irqroute.h
+++ b/src/mainboard/siemens/mc_tcu3/irqroute.h
@@ -16,8 +16,8 @@
 #ifndef IRQROUTE_H
 #define IRQROUTE_H
 
-#include <soc/intel/fsp_baytrail/baytrail/irq.h>
-#include <soc/intel/fsp_baytrail/baytrail/pci_devs.h>
+#include <soc/intel/fsp_baytrail/include/soc/irq.h>
+#include <soc/intel/fsp_baytrail/include/soc/pci_devs.h>
 
 /*
  *IR02h GFX      INT(A) 	- PIRQ A
diff --git a/src/mainboard/siemens/mc_tcu3/lcd_panel.c b/src/mainboard/siemens/mc_tcu3/lcd_panel.c
index 0ee9317..91159f9 100644
--- a/src/mainboard/siemens/mc_tcu3/lcd_panel.c
+++ b/src/mainboard/siemens/mc_tcu3/lcd_panel.c
@@ -16,7 +16,7 @@
 #include <console/console.h>
 #include <string.h>
 #include "modhwinfo.h"
-#include "baytrail/gpio.h"
+#include "soc/gpio.h"
 #include "lcd_panel.h"
 #include "ptn3460.h"
 
diff --git a/src/mainboard/siemens/mc_tcu3/ptn3460.c b/src/mainboard/siemens/mc_tcu3/ptn3460.c
index cdcae68..e371e53 100644
--- a/src/mainboard/siemens/mc_tcu3/ptn3460.c
+++ b/src/mainboard/siemens/mc_tcu3/ptn3460.c
@@ -14,7 +14,7 @@
  */
 
 #include <console/console.h>
-#include "baytrail/i2c.h"
+#include "soc/i2c.h"
 #include "ptn3460.h"
 
 /** \brief This functions sets up the DP2LVDS-converter to be used with the
diff --git a/src/mainboard/siemens/mc_tcu3/romstage.c b/src/mainboard/siemens/mc_tcu3/romstage.c
index f19ec83..49483e5 100644
--- a/src/mainboard/siemens/mc_tcu3/romstage.c
+++ b/src/mainboard/siemens/mc_tcu3/romstage.c
@@ -25,13 +25,13 @@
 #include <cpu/x86/mtrr.h>
 #include <romstage_handoff.h>
 #include <timestamp.h>
-#include <baytrail/gpio.h>
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/romstage.h>
-#include <baytrail/acpi.h>
-#include <baytrail/baytrail.h>
+#include <soc/gpio.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/romstage.h>
+#include <soc/acpi.h>
+#include <soc/baytrail.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 #include "modhwinfo.h"
 
diff --git a/src/soc/intel/fsp_baytrail/Makefile.inc b/src/soc/intel/fsp_baytrail/Makefile.inc
index 54ad88a..79fc7eb 100644
--- a/src/soc/intel/fsp_baytrail/Makefile.inc
+++ b/src/soc/intel/fsp_baytrail/Makefile.inc
@@ -55,7 +55,7 @@ ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smm.c
 ramstage-y += placeholders.c
 ramstage-y += i2c.c
 
-CPPFLAGS_common += -I$(src)/soc/intel/fsp_baytrail/
+CPPFLAGS_common += -I$(src)/soc/intel/fsp_baytrail/include
 CPPFLAGS_common += -I$(src)/soc/intel/fsp_baytrail/fsp
 
 endif
diff --git a/src/soc/intel/fsp_baytrail/acpi.c b/src/soc/intel/fsp_baytrail/acpi.c
index b925872..758a685 100644
--- a/src/soc/intel/fsp_baytrail/acpi.c
+++ b/src/soc/intel/fsp_baytrail/acpi.c
@@ -28,21 +28,21 @@
 #include <arch/smp/mpspec.h>
 #include <device/device.h>
 #include <device/pci.h>
-#include <baytrail/baytrail.h>
+#include <soc/baytrail.h>
 #include <device/pci_ids.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/acpi.h>
+#include <soc/pci_devs.h>
+#include <soc/acpi.h>
 #include <string.h>
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/pmc.h>
-#include <baytrail/irq.h>
-#include <baytrail/iosf.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/pmc.h>
+#include <soc/irq.h>
+#include <soc/iosf.h>
 #include <arch/io.h>
-#include <baytrail/msr.h>
-#include <baytrail/pattrs.h>
-#include <baytrail/pmc.h>
+#include <soc/msr.h>
+#include <soc/pattrs.h>
+#include <soc/pmc.h>
 #include <cpu/cpu.h>
 #include <cbmem.h>
 
diff --git a/src/soc/intel/fsp_baytrail/acpi/gpio.asl b/src/soc/intel/fsp_baytrail/acpi/gpio.asl
index 1d96cec..d0e9be5 100644
--- a/src/soc/intel/fsp_baytrail/acpi/gpio.asl
+++ b/src/soc/intel/fsp_baytrail/acpi/gpio.asl
@@ -14,8 +14,8 @@
  * GNU General Public License for more details.
  */
 
-#include <soc/intel/fsp_baytrail/baytrail/iomap.h>
-#include <soc/intel/fsp_baytrail/baytrail/irq.h>
+#include <soc/intel/fsp_baytrail/include/soc/iomap.h>
+#include <soc/intel/fsp_baytrail/include/soc/irq.h>
 
 /* SouthCluster GPIO */
 Device (GPSC)
diff --git a/src/soc/intel/fsp_baytrail/acpi/southcluster.asl b/src/soc/intel/fsp_baytrail/acpi/southcluster.asl
index c775263..2fbdb16 100644
--- a/src/soc/intel/fsp_baytrail/acpi/southcluster.asl
+++ b/src/soc/intel/fsp_baytrail/acpi/southcluster.asl
@@ -14,9 +14,9 @@
  * GNU General Public License for more details.
  */
 
-#include <soc/intel/fsp_baytrail/baytrail/iomap.h>
-#include <soc/intel/fsp_baytrail/baytrail/irq.h>
-#include "../baytrail/baytrail.h"
+#include <soc/intel/fsp_baytrail/include/soc/iomap.h>
+#include <soc/intel/fsp_baytrail/include/soc/irq.h>
+#include "../include/soc/baytrail.h"
 
 Scope(\)
 {
diff --git a/src/soc/intel/fsp_baytrail/baytrail/acpi.h b/src/soc/intel/fsp_baytrail/baytrail/acpi.h
deleted file mode 100644
index f9b2900..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/acpi.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google, Inc.
- * Copyright (C) 2013 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_ACPI_H_
-#define _BAYTRAIL_ACPI_H_
-
-#include <arch/acpi.h>
-#include <baytrail/nvs.h>
-#include <device/device.h>
-
-void acpi_create_intel_hpet(acpi_hpet_t * hpet);
-void acpi_create_serialio_ssdt(acpi_header_t *ssdt);
-void acpi_fill_in_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt);
-unsigned long acpi_madt_irq_overrides(unsigned long current);
-void acpi_init_gnvs(global_nvs_t *gnvs);
-unsigned long southcluster_write_acpi_tables(device_t device,
-					     unsigned long current,
-					     struct acpi_rsdp *rsdp);
-void southcluster_inject_dsdt(device_t device);
-
-#endif /* _BAYTRAIL_ACPI_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/baytrail.h b/src/soc/intel/fsp_baytrail/baytrail/baytrail.h
deleted file mode 100644
index bc75567..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/baytrail.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2007-2008 coresystems GmbH
- * Copyright (C) 2011 Google Inc.
- * Copyright (C) 2013 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef __SOC_INTEL_FSP_BAYTRAIL_BAYTRAIL_H__
-#define __SOC_INTEL_FSP_BAYTRAIL_BAYTRAIL_H__
-
-#define DEFAULT_ECBASE CONFIG_MMCONF_BASE_ADDRESS
-#define CPU_MICROCODE_CBFS_LEN 0x26000
-
-/* Southbridge internal device IO BARs (Set to match FSP settings) */
-#define SMBUS_IO_BASE		0xefa0
-#define SMBUS_SLAVE_ADDR	0x24
-#define DEFAULT_GPIOBASE	0x0500
-#define DEFAULT_ABASE		0x0400
-
-/* Southbridge internal device MEM BARs (Set to match FSP settings) */
-#define DEFAULT_IBASE		0xfed08000
-#define DEFAULT_PBASE		0xfed03000
-#ifndef __ACPI__
-#define DEFAULT_RCBA		((u8 *)0xfed1c000)
-#else
-#define DEFAULT_RCBA		0xfed1c000
-#endif
-/* Everything below this line is ignored in the DSDT */
-#ifndef __ACPI__
-
-/* Device 0:0.0 PCI configuration space (Host Bridge) */
-
-/* SOC types */
-#define SOC_TYPE_BAYTRAIL	0x0F1C
-
-#ifndef __ASSEMBLER__
-static inline void barrier(void) { asm("" ::: "memory"); }
-
-#define SKPAD 0xFC
-
-int bridge_silicon_revision(void);
-void rangeley_early_initialization(void);
-
-#ifndef __PRE_RAM__
-/* soc.c */
-int soc_silicon_revision(void);
-int soc_silicon_type(void);
-int soc_silicon_supported(int type, int rev);
-void soc_enable(device_t dev);
-
-/* debugging functions */
-void print_pci_devices(void);
-void dump_pci_device(unsigned dev);
-void dump_pci_devices(void);
-void dump_spd_registers(void);
-void dump_mem(unsigned start, unsigned end);
-void report_platform_info(void);
-
-#endif	/* __PRE_RAM__ */
-#endif	/* __ASSEMBLER__ */
-
-#endif	/* __ACPI__ */
-#endif
diff --git a/src/soc/intel/fsp_baytrail/baytrail/device_nvs.h b/src/soc/intel/fsp_baytrail/baytrail/device_nvs.h
deleted file mode 100644
index 5c4e49b..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/device_nvs.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_DEVICE_NVS_H_
-#define _BAYTRAIL_DEVICE_NVS_H_
-
-#include <stdint.h>
-
-/* Offset in Global NVS where this structure lives */
-#define DEVICE_NVS_OFFSET	0x1000
-
-#define LPSS_NVS_SIO_DMA1	0
-#define LPSS_NVS_I2C1		1
-#define LPSS_NVS_I2C2		2
-#define LPSS_NVS_I2C3		3
-#define LPSS_NVS_I2C4		4
-#define LPSS_NVS_I2C5		5
-#define LPSS_NVS_I2C6		6
-#define LPSS_NVS_I2C7		7
-#define LPSS_NVS_SIO_DMA2	8
-#define LPSS_NVS_SPI		9
-#define LPSS_NVS_PWM1		10
-#define LPSS_NVS_PWM2		11
-#define LPSS_NVS_HSUART1	12
-#define LPSS_NVS_HSUART2	13
-
-#define SCC_NVS_MMC		0
-#define SCC_NVS_SDIO		1
-#define SCC_NVS_SD		2
-
-typedef struct {
-	/* Device Enabled in ACPI Mode */
-	u8	lpss_en[14];
-	u8	scc_en[3];
-	u8	lpe_en;
-
-	/* BAR 0 */
-	u32	lpss_bar0[14];
-	u32	scc_bar0[3];
-	u32	lpe_bar0;
-
-	/* BAR 1 */
-	u32	lpss_bar1[14];
-	u32	scc_bar1[3];
-	u32	lpe_bar1;
-
-	/* Extra */
-	u32	lpe_fw; /* LPE Firmware */
-	u8	rsvd1[3930]; /* Add padding so sizeof(device_nvs_t) == 0x1000 */
-} __attribute__((packed)) device_nvs_t;
-
-#endif
diff --git a/src/soc/intel/fsp_baytrail/baytrail/ehci.h b/src/soc/intel/fsp_baytrail/baytrail/ehci.h
deleted file mode 100644
index fe990b7..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/ehci.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef BAYTRAIL_EHCI_H
-#define BAYTRAIL_EHCI_H
-
-/* EHCI PCI Registers */
-#define EHCI_CMD_STS		0x04
-# define  INTRDIS		  (1 << 10)
-#define EHCI_SBRN_FLA_PWC	0x60
-# define  PORTWKIMP		  (1 << 16)
-# define  PORTWKCAPMASK		  (0x3ff << 17)
-#define EHCI_USB2PDO		0x64
-
-/* EHCI Memory Registers */
-#define USB2CMD			0x20
-# define  USB2CMD_ASE		  (1 << 5)
-# define  USB2CMD_PSE		  (1 << 4)
-# define  USB2CMD_HCRESET	  (1 << 1)
-# define  USB2CMD_RS		  (1 << 0)
-#define USB2STS			0x24
-# define  USB2STS_HCHALT	  (1 << 12)
-
-/* RCBA EHCI Registers */
-#define RCBA_FUNC_DIS		0x220
-# define  RCBA_EHCI_DIS		  (1 << 0)
-
-#endif /* BAYTRAIL_EHCI_H */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/gfx.h b/src/soc/intel/fsp_baytrail/baytrail/gfx.h
deleted file mode 100644
index e7fc8ca..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/gfx.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_GFX_H_
-#define _BAYTRAIL_GFX_H_
-
-/*
- * PCI config registers.
- */
-
-#define GGC		0x50
-# define GGC_VGA_DISABLE	(1 << 1)
-# define GGC_GTT_SIZE_MASK	(3 << 8)
-# define GGC_GTT_SIZE_0MB	(0 << 8)
-# define GGC_GTT_SIZE_1MB	(1 << 8)
-# define GGC_GTT_SIZE_2MB	(2 << 8)
-# define GGC_GSM_SIZE_MASK	(0x1f << 3)
-# define GGC_GSM_SIZE_0MB	(0 << 3)
-# define GGC_GSM_SIZE_32MB	(1 << 3)
-# define GGC_GSM_SIZE_64MB	(2 << 3)
-# define GGC_GSM_SIZE_128MB	(4 << 3)
-
-#define GSM_BASE	0x5c
-#define GTT_BASE	0x70
-
-#define MSAC		0x62
-#define  APERTURE_SIZE_MASK	(3 << 1)
-#define  APERTURE_SIZE_128MB	(0 << 1)
-#define  APERTURE_SIZE_256MB	(1 << 1)
-#define  APERTURE_SIZE_512MB	(3 << 1)
-
-#endif /* _BAYTRAIL_GFX_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/gpio.h b/src/soc/intel/fsp_baytrail/baytrail/gpio.h
deleted file mode 100644
index 736f3ce..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/gpio.h
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_GPIO_H_
-#define _BAYTRAIL_GPIO_H_
-
-#include <stdint.h>
-#include <arch/io.h>
-#include <baytrail/iomap.h>
-
-/* #define GPIO_DEBUG */
-
-/* Pad base, ex. PAD_CONF0[n]= PAD_BASE+16*n */
-#define GPSCORE_PAD_BASE	(IO_BASE_ADDRESS + IO_BASE_OFFSET_GPSCORE)
-#define GPNCORE_PAD_BASE	(IO_BASE_ADDRESS + IO_BASE_OFFSET_GPNCORE)
-#define GPSSUS_PAD_BASE		(IO_BASE_ADDRESS + IO_BASE_OFFSET_GPSSUS)
-
-/* DIRQ registers start at pad base + 0x980 */
-#define PAD_BASE_DIRQ_OFFSET		0x980
-
-/* Pad register offset */
-#define PAD_CONF0_REG			0x0
-#define PAD_CONF1_REG			0x4
-#define PAD_VAL_REG			0x8
-
-/* Legacy IO register base */
-#define GPSCORE_LEGACY_BASE		(GPIO_BASE_ADDRESS + 0x00)
-#define GPSSUS_LEGACY_BASE		(GPIO_BASE_ADDRESS + 0x80)
-/* Some banks have no legacy GPIO interface */
-#define GP_LEGACY_BASE_NONE		0xFFFF
-
-#define LEGACY_USE_SEL_REG		0x00
-#define LEGACY_IO_SEL_REG		0x04
-#define LEGACY_GP_LVL_REG		0x08
-#define LEGACY_TPE_REG			0x0C
-#define LEGACY_TNE_REG			0x10
-#define LEGACY_TS_REG			0x14
-#define LEGACY_WAKE_EN_REG		0x18
-
-/* Number of GPIOs in each bank */
-#define GPNCORE_COUNT		27
-#define GPSCORE_COUNT		102
-#define GPSSUS_COUNT		44
-
-/* GPIO legacy IO register settings */
-#define GPIO_USE_MMIO 		0
-#define GPIO_USE_LEGACY 	1
-
-#define GPIO_DIR_OUTPUT		0
-#define GPIO_DIR_INPUT		1
-
-#define GPIO_LEVEL_LOW		0
-#define GPIO_LEVEL_HIGH		1
-
-#define GPIO_PEDGE_DISABLE	0
-#define GPIO_PEDGE_ENABLE	1
-
-#define GPIO_NEDGE_DISABLE	0
-#define GPIO_NEDGE_ENABLE	1
-
-/* config0[29] - Disable second mask */
-#define PAD_MASK2_DISABLE	(1 << 29)
-
-/* config0[27] - Direct Irq En */
-#define PAD_IRQ_EN		(1 << 27)
-
-/* config0[26] - gd_tne */
-#define PAD_TNE_IRQ		(1 << 26)
-
-/* config0[25] - gd_tpe */
-#define PAD_TPE_IRQ		(1 << 25)
-
-/* config0[24] - Gd Level */
-#define PAD_LEVEL_IRQ		(1 << 24)
-#define PAD_EDGE_IRQ		(0 << 24)
-
-/* config0[17] - Slow clkgate / glitch filter */
-#define PAD_SLOWGF_ENABLE	(1 << 17)
-
-/* config0[16] - Fast clkgate / glitch filter */
-#define PAD_FASTGF_ENABLE	(1 << 16)
-
-/* config0[15] - Hysteresis enable (inverted) */
-#define PAD_HYST_DISABLE	(1 << 15)
-#define PAD_HYST_ENABLE		(0 << 15)
-
-/* config0[14:13] - Hysteresis control */
-#define PAD_HYST_CTRL_DEFAULT	(2 << 13)
-
-/* config0[11] - Bypass Flop */
-#define PAD_FLOP_BYPASS		(1 << 11)
-#define PAD_FLOP_ENABLE		(0 << 11)
-
-/* config0[10:9] - Pull str */
-#define PAD_PU_2K		(0 << 9)
-#define PAD_PU_10K		(1 << 9)
-#define PAD_PU_20K		(2 << 9)
-#define PAD_PU_40K		(3 << 9)
-
-/* config0[8:7] - Pull assign */
-#define PAD_PULL_DISABLE	(0 << 7)
-#define PAD_PULL_UP		(1 << 7)
-#define PAD_PULL_DOWN		(2 << 7)
-
-/* config0[2:0] - Func. pin mux */
-#define PAD_FUNC0		0x0
-#define PAD_FUNC1		0x1
-#define PAD_FUNC2		0x2
-#define PAD_FUNC3		0x3
-#define PAD_FUNC4		0x4
-#define PAD_FUNC5		0x5
-#define PAD_FUNC6		0x6
-
-/* pad config0 power-on values - We will not often want to change these */
-#define PAD_CONFIG0_DEFAULT	(PAD_MASK2_DISABLE     | PAD_SLOWGF_ENABLE | \
-				 PAD_FASTGF_ENABLE     | PAD_HYST_DISABLE | \
-				 PAD_HYST_CTRL_DEFAULT | PAD_FLOP_BYPASS)
-
-/* pad config1 reg power-on values - Shouldn't need to change this */
-#define PAD_CONFIG1_DEFAULT	0x8000
-
-/* pad_val[2] - Iinenb - active low */
-#define PAD_VAL_INPUT_DISABLE	(1 << 2)
-#define PAD_VAL_INPUT_ENABLE	(0 << 2)
-
-/* pad_val[1] - Ioutenb - active low */
-#define PAD_VAL_OUTPUT_DISABLE	(1 << 1)
-#define PAD_VAL_OUTPUT_ENABLE	(0 << 1)
-
-/* Input / Output state should usually be mutually exclusive */
-#define PAD_VAL_INPUT		(PAD_VAL_INPUT_ENABLE | PAD_VAL_OUTPUT_DISABLE)
-#define PAD_VAL_OUTPUT		(PAD_VAL_OUTPUT_ENABLE | PAD_VAL_INPUT_DISABLE)
-
-/* pad_val[0] - Value */
-#define PAD_VAL_HIGH		(1 << 0)
-#define PAD_VAL_LOW		(0 << 0)
-
-/* pad_val reg power-on default varies by pad, and apparently can cause issues
- * if not set correctly, even if the pin isn't configured as GPIO. */
-#define PAD_VAL_DEFAULT		PAD_VAL_INPUT
-
-/* Configure GPIOs as MMIO by default */
-#define GPIO_INPUT_PU_10K \
-	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_UP | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .is_gpio   = 1 }
-
-#define GPIO_INPUT_PD_10K \
-	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DOWN | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .is_gpio   = 1 }
-
-#define GPIO_INPUT_PU_20K \
-	{ .pad_conf0 = PAD_PU_20K | PAD_PULL_UP | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .is_gpio   = 1 }
-
-#define GPIO_INPUT_PD_20K \
-	{ .pad_conf0 = PAD_PU_20K | PAD_PULL_DOWN | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .is_gpio   = 1 }
-
-#define GPIO_INPUT_NOPU \
-	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .is_gpio   = 1 }
-
-#define GPIO_INPUT_LEGACY_NOPU \
-	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_INPUT, \
-	  .is_gpio   = 1 }
-
-/* Direct / dedicated IRQ input - pass signal directly to apic */
-#define GPIO_DIRQ \
-	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT \
-		     | PAD_FUNC0 | PAD_IRQ_EN | PAD_TPE_IRQ | PAD_LEVEL_IRQ, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, }
-
-#define GPIO_OUT_LOW_LEGACY \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_LOW, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_OUTPUT, \
-	  .gp_lvl    = GPIO_LEVEL_LOW, \
-	  .is_gpio   = 1 }
-
-#define GPIO_OUT_HIGH_LEGACY \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_HIGH, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_OUTPUT, \
-	  .gp_lvl    = GPIO_LEVEL_HIGH, \
-	  .is_gpio   = 1 }
-
-#define GPIO_OUT_LOW \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_LOW, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .io_sel    = GPIO_DIR_OUTPUT, \
-	  .gp_lvl    = GPIO_LEVEL_LOW, \
-	  .is_gpio   = 1 }
-
-#define GPIO_OUT_HIGH \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_HIGH, \
-	  .use_sel   = GPIO_USE_MMIO, \
-	  .io_sel    = GPIO_DIR_OUTPUT, \
-	  .gp_lvl    = GPIO_LEVEL_HIGH, \
-	  .is_gpio   = 1 }
-
-/* Define no-pull / PU / PD configs for each functional config option */
-#define GPIO_FUNC(_func, _pudir, _str) \
-	{ .use_sel   = GPIO_USE_MMIO, \
-	  .pad_conf0 = PAD_FUNC##_func | PAD_##_pudir | PAD_PU_##_str | \
-		       PAD_CONFIG0_DEFAULT, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_DEFAULT }
-
-/* Default functional configs -- no PU */
-#define GPIO_FUNC0		GPIO_FUNC(0, PULL_DISABLE, 10K)
-#define GPIO_FUNC1		GPIO_FUNC(1, PULL_DISABLE, 10K)
-#define GPIO_FUNC2		GPIO_FUNC(2, PULL_DISABLE, 10K)
-#define GPIO_FUNC3		GPIO_FUNC(3, PULL_DISABLE, 10K)
-#define GPIO_FUNC4		GPIO_FUNC(4, PULL_DISABLE, 10K)
-#define GPIO_FUNC5		GPIO_FUNC(5, PULL_DISABLE, 10K)
-#define GPIO_FUNC6		GPIO_FUNC(6, PULL_DISABLE, 10K)
-
-/* ACPI GPIO routing. Assume everything is externally pulled and negative edge
- * triggered. SCI implies WAKE, but WAKE doesn't imply SCI. */
-#define GPIO_ACPI_SCI \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT | PAD_FUNC0, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_INPUT, \
-	  .tne       = 1, \
-	  .sci       = 1, \
-	  .wake_en   = 1, }
-#define GPIO_ACPI_WAKE \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT | PAD_FUNC0, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_INPUT, \
-	  .tne       = 1, \
-	  .wake_en   = 1, }
-#define GPIO_ACPI_SMI \
-	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT | PAD_FUNC0, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_INPUT, \
-	  .tne       = 1, \
-	  .smi       = 1}
-
-/* End marker */
-#define GPIO_LIST_END		0xffffffff
-
-#define GPIO_END \
-	{  .pad_conf0 = GPIO_LIST_END }
-
-/* Common default GPIO settings */
-#define GPIO_INPUT 	GPIO_INPUT_NOPU
-#define GPIO_INPUT_LEGACY	GPIO_INPUT_LEGACY_NOPU
-#define GPIO_INPUT_PU	GPIO_INPUT_PU_10K
-#define GPIO_INPUT_PD 	GPIO_INPUT_PD_10K
-#define GPIO_NC			GPIO_INPUT_PU_10K
-#define GPIO_DEFAULT 	GPIO_FUNC0
-
-/* 16 DirectIRQs per supported bank */
-#define GPIO_MAX_DIRQS	16
-
-/* Most pins are GPIO function 0. Some banks have a range of pins with GPIO
- * function 1. Indicate first / last GPIOs with function 1. */
-#define GPIO_NONE			255
-/* All NCORE GPIOs are function 0 */
-#define GPNCORE_GPIO_F1_RANGE_START	GPIO_NONE
-#define GPNCORE_GPIO_F1_RANGE_END	GPIO_NONE
-/* SCORE GPIO [92:93] are function 1 */
-#define GPSCORE_GPIO_F1_RANGE_START	92
-#define GPSCORE_GPIO_F1_RANGE_END	93
-/* SSUS GPIO [11:21] are function 1 */
-#define GPSSUS_GPIO_F1_RANGE_START	11
-#define GPSSUS_GPIO_F1_RANGE_END	21
-
-#ifndef __BOOTBLOCK__
-
-struct soc_gpio_map {
-	u32 pad_conf0;
-	u32 pad_conf1;
-	u32 pad_val;
-	u32 use_sel : 1;
-	u32 io_sel  : 1;
-	u32 gp_lvl  : 1;
-	u32 tpe     : 1;
-	u32 tne     : 1;
-	u32 wake_en : 1;
-	u32 smi     : 1;
-	u32 is_gpio : 1;
-	u32 sci     : 1;
-} __attribute__ ((packed));
-
-struct soc_gpio_config {
-	const struct soc_gpio_map *ncore;
-	const struct soc_gpio_map *score;
-	const struct soc_gpio_map *ssus;
-	const u8 (*core_dirq)[GPIO_MAX_DIRQS];
-	const u8 (*sus_dirq)[GPIO_MAX_DIRQS];
-};
-
-/* Description of GPIO 'bank' ex. {ncore, score. ssus} */
-struct gpio_bank {
-	const int gpio_count;
-	const u8* gpio_to_pad;
-	const int legacy_base;
-	const unsigned long pad_base;
-	const u8 has_wake_en :1;
-	const u8 gpio_f1_range_start;
-	const u8 gpio_f1_range_end;
-};
-
-void setup_soc_gpios(struct soc_gpio_config *config);
-/* This function is weak and can be overridden by a mainboard function. */
-struct soc_gpio_config* mainboard_get_gpios(void);
-uint8_t read_score_gpio(uint8_t gpio_num);
-void write_score_gpio(uint8_t gpio_num, uint8_t val);
-uint8_t read_ssus_gpio(uint8_t gpio_num);
-void write_ssus_gpio(uint8_t gpio_num, uint8_t val);
-void configure_ssus_gpio(uint8_t gpio_num, uint32_t pconf0, uint32_t pad_val);
-void configure_score_gpio(uint8_t gpio_num, uint32_t pconf0, uint32_t pad_val);
-
-#endif /* #ifndef __BOOTBLOCK__ */
-
-/* Functions / defines for changing GPIOs in romstage */
-/* SCORE Pad definitions. */
-#define UART_RXD_PAD			82
-#define UART_TXD_PAD			83
-#define PCU_SMB_CLK_PAD			88
-#define PCU_SMB_DATA_PAD		90
-
-static inline uint32_t *score_pconf0(int pad_num)
-{
-	return (uint32_t *)(GPSCORE_PAD_BASE + pad_num * 16);
-}
-
-static inline uint32_t *ssus_pconf0(int pad_num)
-{
-	return (uint32_t *)(GPSSUS_PAD_BASE + pad_num * 16);
-}
-
-static inline void score_select_func(int pad, int func)
-{
-	uint32_t reg;
-	uint32_t *pconf0_addr = score_pconf0(pad);
-
-	reg = read32(pconf0_addr);
-	reg &= ~0x7;
-	reg |= func & 0x7;
-	write32(pconf0_addr, reg);
-}
-
-static inline void ssus_select_func(int pad, int func)
-{
-	uint32_t reg;
-	uint32_t *pconf0_addr = ssus_pconf0(pad);
-
-	reg = read32(pconf0_addr);
-	reg &= ~0x7;
-	reg |= func & 0x7;
-	write32(pconf0_addr, reg);
-}
-
-#ifndef __BOOTBLOCK__
-
-/* These functions require that the input pad be configured as an input GPIO */
-static inline int score_get_gpio(int pad)
-{
-	uint32_t *val_addr = score_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
-
-	return read32(val_addr) & PAD_VAL_HIGH;
-}
-
-static inline int ssus_get_gpio(int pad)
-{
-	uint32_t *val_addr = ssus_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
-
-	return read32(val_addr) & PAD_VAL_HIGH;
-}
-
-/* These functions require that the output pad is configured as an output */
-/* GPIO and is mapped to memory space and not IO space. */
-static inline void score_set_gpio(int pad, int val)
-{
-	uint32_t *val_addr = score_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
-
-	write32(val_addr, ((read32(val_addr) & ~0x1) | val));
-}
-
-static inline void ssus_set_gpio(int pad, int val)
-{
-	uint32_t *val_addr = ssus_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
-
-	write32(val_addr, ((read32(val_addr) & ~0x1) | val));
-}
-
-static inline void ssus_disable_internal_pull(int pad)
-{
-	const uint32_t pull_mask = ~(0xf << 7);
-	write32(ssus_pconf0(pad), read32(ssus_pconf0(pad)) & pull_mask);
-}
-
-#endif /* #ifndef __BOOTBLOCK__ */
-
-#endif /* _BAYTRAIL_GPIO_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/i2c.h b/src/soc/intel/fsp_baytrail/baytrail/i2c.h
deleted file mode 100644
index 4efb9bd..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/i2c.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2014 Siemens AG
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef __SOC_INTEL_FSP_BAYTRAIL_I2C_H__
-#define __SOC_INTEL_FSP_BAYTRAIL_I2C_H__
-
-#include <arch/io.h>
-#include <console/console.h>
-#include <device/pci_ids.h>
-#include <device/pci_def.h>
-#include <stdlib.h>
-
-/* SMBus controller settings in PCI configuration space */
-#define I2C_PCI_VENDOR_ID	0x8086
-#define I2C0_PCI_DEV_ID		0x0f41
-#define I2C1_PCI_DEV_ID		0x0f42
-#define I2C2_PCI_DEV_ID		0x0f43
-#define I2C3_PCI_DEV_ID		0x0f44
-#define I2C4_PCI_DEV_ID		0x0f45
-#define I2C5_PCI_DEV_ID		0x0f46
-#define I2C6_PCI_DEV_ID		0x0f47
-
-#define I2C0_MEM_BASE		0xd0921000
-#define I2C1_MEM_BASE		0xd0923000
-#define I2C2_MEM_BASE		0xd0925000
-#define I2C3_MEM_BASE		0xd0927000
-#define I2C4_MEM_BASE		0xd0929000
-#define I2C5_MEM_BASE		0xd092b000
-#define I2C6_MEM_BASE		0xd092d000
-
-#define I2C_STANDARD_MODE	0x1
-#define I2C_FAST_MODE		0x2
-
-/* Define relevant registers in PCI space */
-#define I2C_PCI_COMMAND		0x4
-#define I2C_PCI_STATUS		0x6
-
-/* Define memory mapped registers */
-#define I2C_CTRL		0x0
-#define  I2C_SLAVE_DISABLE	0x40
-#define  I2C_RESTART_EN		0x20
-#define  I2C_ADR_MODE		0x10
-#define  I2C_SPEED_MASK		0x6
-#define   I2C_STD_MODE		0x1
-#define   I2C_FAST_MODE		0x2
-#define  I2C_MASTER_ENABLE	0x1
-
-#define I2C_TARGET_ADR		0x4
-#define I2C_TARGET_ADR_MASK	0x3ff
-
-#define I2C_DATA_CMD		0x10
-#define  I2C_RESTART		0x400
-#define  I2C_STOP		0x200
-#define  I2C_RW_CMD		0x100
-
-#define I2C_SS_SCL_HCNT		0x14	/* Counter for high period for 100 kHz SCL */
-#define I2C_SS_SCL_LCNT		0x18	/* Counter for low period for 100 kHz SCL */
-#define I2C_FS_SCL_HCNT		0x1c	/* Counter for high period for 400 kHz SCL */
-#define I2C_FS_SCL_LCNT		0x20	/* Counter for low period for 400 kHz SCL */
-
-#define I2C_INTR_STAT		0x2c	/* Interrupt status register, read only */
-#define I2C_INTR_MASK		0x30	/* Interrupt mask register */
-#define I2C_RAW_INTR_STAT	0x34	/* Raw interrupt status, read only */
-#define  I2C_START_DETECT	0x400
-#define  I2C_STOP_DETECT	0x200
-#define  I2C_ACTIVITY		0x100
-#define  I2C_TX_ABORT		0x40
-#define  I2C_RD_REQ		0x20	/* Read request in slave mode */
-#define  I2C_TX_EMPTY		0x10
-#define  I2C_TX_OVERFLOW	0x8
-#define  I2C_RX_FULL		0x4
-#define  I2C_RX_OVERFLOW	0x2
-#define  I2C_RX_UNDERFLOW	0x1
-
-#define I2C_RX_TL		0x38	/* Rx FIFO threshold level 0..255 */
-#define I2C_TX_TL		0x3c	/* Tx FIFO threshold level 0..255 */
-#define I2C_CLR_INTR		0x40	/* Clear all events with a read */
-#define I2C_CLR_TX_ABRT		0x54	/* Clear TX-Abort event with a read */
-
-/* There are a bunch of interrupt clearing registers now which are not used! */
-/* So proceed somewhat later with definition */
-#define I2C_ENABLE		0x6c	/* 0: disable I2C controller, 1: enable */
-#define I2C_STATUS		0x70
-#define  I2C_MST_ACTIVITY	0x20	/* Master FSM activity */
-#define  I2C_RFF		0x10	/* Receive FIFO completely full */
-#define  I2C_RFNE		0x8	/* Receive FIFO not empty */
-#define  I2C_TFE		0x4	/* Transmit FIFO completely empty */
-#define  I2C_TFNF		0x2	/* Transmit FIFO not full */
-#define  I2C_ACTIVE		0x1	/* 1: I2C currently in operation */
-
-#define I2C_TXFLR		0x74	/* Current transmit FIFO level */
-#define I2C_RXFLR		0x78	/* Current receive FIFO level */
-#define I2C_SDA_HOLD		0x7c	/* Data hold time after SCL goes low */
-#define I2C_ABORT_SOURCE	0x80
-#define  I2C_ARB_LOST		0x1000	/* Arbitration lost */
-#define  I2C_MASTER_DIS		0x800	/* Master was disabled by user */
-#define  I2C_10B_RD_NORSTRT	0x400	/* 10 bit address read and RESTART disabled */
-#define  I2C_SBYTE_NORSTRT	0x200	/* START with RESTART disabled */
-#define  I2C_START_ACKDET	0x80	/* START byte was acknowledged */
-#define  I2C_TX_DATA_NOACK	0x8	/* TX data not acknowledged */
-#define  I2C_10B_ADR2_NOACK	0x4	/* Second address byte in 10 bit mode NACK */
-#define  I2C_10B_ADR1_NOACK	0x2	/* First address byte in 10 bit NACK */
-#define  I2C_7B_ADDR_NACK	0x1	/* 7 bit address byte not acknowledged */
-
-#define I2C_ENABLE_STATUS	0x9c
-
-/* Define some status and error values */
-#define I2C_ERR_INVALID_ADR	0x1000000
-#define I2C_ERR_TIMEOUT		0x2000000
-#define I2C_ERR_ABORT		0x4000000
-#define I2C_ERR			0x8000000
-#define I2C_SUCCESS		0x0000000
-
-
-#define I2C_TIMEOUT_US		2000	/* Use 2000 us as time */
-
-/* Prototype section*/
-int i2c_init(unsigned bus);
-int i2c_read(unsigned bus, unsigned chip, unsigned addr, uint8_t *buf, unsigned len);
-int i2c_write(unsigned bus, unsigned chip, unsigned addr, const uint8_t *buf, unsigned len);
-
-#endif	/* __SOC_INTEL_FSP_BAYTRAIL_I2C_H__ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/iomap.h b/src/soc/intel/fsp_baytrail/baytrail/iomap.h
deleted file mode 100644
index bb6b4bb..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/iomap.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_IOMAP_H_
-#define _BAYTRAIL_IOMAP_H_
-
-
-/*
- * Memory Mapped IO bases.
- */
-
-/* PCI Configuration Space */
-#define MCFG_BASE_ADDRESS		CONFIG_MMCONF_BASE_ADDRESS
-#define MCFG_BASE_SIZE			0x10000000
-
-/* Transactions in this range will abort */
-#define ABORT_BASE_ADDRESS		0xfeb00000
-#define ABORT_BASE_SIZE			0x00100000
-
-/* Power Management Controller */
-#define PMC_BASE_ADDRESS		0xfed03000
-#define PMC_BASE_SIZE			0x400
-
-/* IO Memory */
-#define IO_BASE_ADDRESS			0xfed0c000
-#define  IO_BASE_OFFSET_GPSCORE		0x0000
-#define  IO_BASE_OFFSET_GPNCORE		0x1000
-#define  IO_BASE_OFFSET_GPSSUS		0x2000
-#define IO_BASE_SIZE			0x4000
-
-/* Intel Legacy Block */
-#define ILB_BASE_ADDRESS		0xfed08000
-#define ILB_BASE_SIZE			0x400
-
-/* SPI Bus */
-#define SPI_BASE_ADDRESS		0xfed01000
-#define SPI_BASE_SIZE			0x400
-
-/* MODPHY */
-#define MPHY_BASE_ADDRESS		0xfef00000
-#define MPHY_BASE_SIZE			0x100000
-
-/* Power Management Unit */
-#define PUNIT_BASE_ADDRESS		0xfed05000
-#define PUNIT_BASE_SIZE			0x800
-
-/* Root Complex Base Address */
-#define RCBA_BASE_ADDRESS		0xfed1c000
-#define RCBA_BASE_SIZE			0x400
-
-/* High Performance Event Timer */
-#define HPET_BASE_ADDRESS		0xfed00000
-#define HPET_BASE_SIZE			0x400
-
-/* Temporary Base Address */
-#define TEMP_BASE_ADDRESS		0xfd000000
-
-/*
- * IO Port bases.
- */
-#define ACPI_BASE_ADDRESS		0x0400
-#define ACPI_BASE_SIZE			0x80
-
-#define GPIO_BASE_ADDRESS		0x0500
-#define GPIO_BASE_SIZE			0x100
-
-#define SMBUS_BASE_ADDRESS		0xefa0
-
-#ifndef __ACPI__
-/* Read Top of Low Memory (BMBOUND) */
-uint32_t nc_read_top_of_low_memory(void);
-#endif
-
-#endif /* _BAYTRAIL_IOMAP_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/iosf.h b/src/soc/intel/fsp_baytrail/baytrail/iosf.h
deleted file mode 100644
index 20f5566..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/iosf.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_IOSF_H_
-#define _BAYTRAIL_IOSF_H_
-
-#include <stdint.h>
-#include <baytrail/pci_devs.h>
-
-/*
- * The Bay Trail SoC has a message network called IOSF Sideband. The access
- * routines are through 3 registers in PCI config space of 00:00.0:
- *  MCR - control register
- *  MDR - data register
- *  MCRX - control register extension
- * The extension register is only used for addresses that don't fit into the
- * 8 bit register address.
- */
-
-#ifndef PCI_DEV
-#define PCI_DEV(SEGBUS, DEV, FN) ( \
-        (((SEGBUS) & 0xFFF) << 20) | \
-        (((DEV) & 0x1F) << 15) | \
-        (((FN)  & 0x07) << 12))
-#endif
-#define IOSF_PCI_DEV PCI_DEV(0,SOC_DEV,SOC_FUNC)
-
-#define MCR_REG 0xd0
-#define  IOSF_OPCODE(x) ((x) << 24)
-#define  IOSF_PORT(x) ((0xff & (x)) << 16)
-#define  IOSF_REG(x) ((0xff & (x)) << 8)
-#define  IOSF_REG_UPPER(x) (((~0xff) & (x)))
-#define  IOSF_BYTE_EN_0 0x10
-#define  IOSF_BYTE_EN_1 0x20
-#define  IOSF_BYTE_EN_2 0x40
-#define  IOSF_BYTE_EN_3 0x80
-#define  IOSF_BYTE_EN \
-	  (IOSF_BYTE_EN_0 | IOSF_BYTE_EN_1 | IOSF_BYTE_EN_2 | IOSF_BYTE_EN_3)
-#define MDR_REG 0xd4
-#define MCRX_REG 0xd8
-
-uint32_t iosf_bunit_read(int reg);
-void iosf_bunit_write(int reg, uint32_t val);
-uint32_t iosf_dunit_read(int reg);
-void iosf_dunit_write(int reg, uint32_t val);
-/* Some registers are per channel while the globals live in dunit 0 */
-uint32_t iosf_dunit_ch0_read(int reg);
-uint32_t iosf_dunit_ch1_read(int reg);
-uint32_t iosf_punit_read(int reg);
-uint32_t iosf_lpss_read(int reg);
-void iosf_lpss_write(int reg, uint32_t val);
-
-/* IOSF ports. */
-#define IOSF_PORT_AUNIT		0x00 /* IO Arbiter unit */
-#define IOSF_PORT_SYSMEMC	0x01 /* System Memory Controller */
-#define IOSF_PORT_BUNIT		0x03 /* System Memory Arbiter/Bunit */
-#define IOSF_PORT_DUNIT_CH1	0x07 /* DUNIT Channel 1 */
-#define IOSF_PORT_USBPHY	0x43 /* USB PHY */
-#define IOSF_PORT_USHPHY	0x61 /* USB XHCI PHY */
-#define IOSF_PORT_LPSS		0xa0 /* LPSS - Low Power Subsystem */
-
-/* Read and write opcodes differ per port. */
-#define IOSF_OP_READ_SYSMEMC	0x10
-#define IOSF_OP_WRITE_SYSMEMC	(IOSF_OP_READ_SYSMEMC | 1)
-#define IOSF_OP_READ_BUNIT	0x10
-#define IOSF_OP_WRITE_BUNIT	(IOSF_OP_READ_BUNIT | 1)
-#define IOSF_OP_READ_LPSS	0x06
-#define IOSF_OP_WRITE_LPSS	(IOSF_OP_READ_LPSS | 1)
-
-/*
- * BUNIT Registers.
- */
-
-#define BNOCACHE		0x23
-/* BMBOUND has a 128MiB granularity. Highest address is 0xf8000000. */
-#define BUNIT_BMBOUND		0x25
-/* BMBOUND_HI describes the available ram above 4GiB. It has a
- * 256MiB granularity. Physical address bits 35:28 are compared with 31:24
- * bits in the BMBOUND_HI register. Also note that since BMBOUND has 128MiB
- * granularity care needs to be taken with the e820 map to account for a hole
- * in the ram. */
-#define BUNIT_BMBOUND_HI	0x26
-#define BUNIT_MMCONF_REG	0x27
-/* The SMMRR registers define the SMM region in MiB granularity. */
-#define BUNIT_SMRRL		0x2e
-#define BUNIT_SMRRH		0x2f
-# define BUNIT_SMRR_ENABLE	(1 << 31)
-
-/*
- * DUNIT Registers.
- */
-
-#define DRP			0x00
-# define DRP_DIMM0_RANK0_EN	(0x01 << 0)
-# define DRP_DIMM0_RANK1_EN	(0x01 << 1)
-# define DRP_DIMM1_RANK0_EN	(0x01 << 2)
-# define DRP_DIMM1_RANK1_EN	(0x01 << 3)
-# define DRP_RANK_MASK (DRP_DIMM0_RANK0_EN | DRP_DIMM0_RANK1_EN | \
-			DRP_DIMM1_RANK0_EN | DRP_DIMM1_RANK1_EN)
-#define DTR0			0x01
-# define DTR0_SPEED_MASK	0x03
-# define DTR0_SPEED_800		0x00
-# define DTR0_SPEED_1066	0x01
-# define DTR0_SPEED_1333	0x02
-# define DTR0_SPEED_1600	0x03
-
-
-/*
- * LPSS Registers
- */
-#define LPSS_SIO_DMA1_CTL		0x280
-#define LPSS_I2C1_CTL			0x288
-#define LPSS_I2C2_CTL			0x290
-#define LPSS_I2C3_CTL			0x298
-#define LPSS_I2C4_CTL			0x2a0
-#define LPSS_I2C5_CTL			0x2a8
-#define LPSS_I2C6_CTL			0x2b0
-#define LPSS_I2C7_CTL			0x2b8
-#define LPSS_SIO_DMA2_CTL		0x240
-#define LPSS_PWM1_CTL			0x248
-#define LPSS_PWM2_CTL			0x250
-#define LPSS_HSUART1_CTL		0x258
-#define LPSS_HSUART2_CTL		0x260
-#define LPSS_SPI_CTL			0x268
-# define LPSS_CTL_ACPI_INT_EN			(1 << 21)
-# define LPSS_CTL_PCI_CFG_DIS			(1 << 20)
-# define LPSS_CTL_SNOOP				(1 << 18)
-# define LPSS_CTL_NOSNOOP			(1 << 19)
-# define LPSS_CTL_PM_CAP_PRSNT			(1 <<  1)
-
-/*
- * SCC Registers
- */
-#define SCC_SD_CTL			0x504
-#define SCC_SDIO_CTL			0x508
-#define SCC_MMC_CTL			0x50c
-# define SCC_CTL_PCI_CFG_DIS			(1 << 0)
-# define SCC_CTL_ACPI_INT_EN			(1 << 1)
-
-/*
- * CCU Registers
- */
-
-#define PLT_CLK_CTRL_0			0x3c
-#define PLT_CLK_CTRL_1			0x40
-#define PLT_CLK_CTRL_2			0x44
-#define PLT_CLK_CTRL_3			0x48
-#define PLT_CLK_CTRL_4			0x4c
-#define PLT_CLK_CTRL_5			0x50
-# define PLT_CLK_CTRL_19P2MHZ_FREQ		(0 <<  1)
-# define PLT_CLK_CTRL_25MHZ_FREQ		(1 <<  1)
-# define PLT_CLK_CTRL_SELECT_FREQ		(1 <<  0)
-
-/*
- * USBPHY Registers
- */
-#define USBPHY_COMPBG				0x7f04
-#define USBPHY_PER_PORT_LANE0			0x4100
-#define USBPHY_PER_PORT_RCOMP_HS_PULLUP0	0x4122
-#define USBPHY_PER_PORT_LANE1			0x4200
-#define USBPHY_PER_PORT_RCOMP_HS_PULLUP1	0x4222
-#define USBPHY_PER_PORT_LANE2			0x4300
-#define USBPHY_PER_PORT_RCOMP_HS_PULLUP2	0x4322
-#define USBPHY_PER_PORT_LANE3			0x4400
-#define USBPHY_PER_PORT_RCOMP_HS_PULLUP3	0x4422
-
-/*
- * USHPHY Registers
- */
-#define USHPHY_CDN_PLL_CONTROL			0x03c0
-#define USHPHY_CDN_VCO_START_CAL_POINT		0x0054
-#define USHPHY_CCDRLF				0x8040
-#define USHPHY_PEAKING_AMP_CONFIG_DIAG		0x80a8
-#define USHPHY_OFFSET_COR_CONFIG_DIAG		0x80b0
-#define USHPHY_VGA_GAIN_CONFIG_DIAG		0x8080
-#define USHPHY_REE_DAC_CONTROL			0x80b8
-#define USHPHY_CDN_U1_POWER_STATE_DEF		0x0000
-
-#endif /* _BAYTRAIL_IOSF_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/irq.h b/src/soc/intel/fsp_baytrail/baytrail/irq.h
deleted file mode 100644
index de8fc03..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/irq.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_IRQ_H_
-#define _BAYTRAIL_IRQ_H_
-
-#define PIRQA_APIC_IRQ			16
-#define PIRQB_APIC_IRQ			17
-#define PIRQC_APIC_IRQ			18
-#define PIRQD_APIC_IRQ			19
-#define PIRQE_APIC_IRQ			20
-#define PIRQF_APIC_IRQ			21
-#define PIRQG_APIC_IRQ			22
-#define PIRQH_APIC_IRQ			23
-/* The below IRQs are for when devices are in ACPI mode. Active low. */
-#define LPE_DMA0_IRQ			24
-#define LPE_DMA1_IRQ			25
-#define LPE_SSP0_IRQ			26
-#define LPE_SSP1_IRQ			27
-#define LPE_SSP2_IRQ			28
-#define LPE_IPC2HOST_IRQ		29
-#define LPSS_I2C1_IRQ			32
-#define LPSS_I2C2_IRQ			33
-#define LPSS_I2C3_IRQ			34
-#define LPSS_I2C4_IRQ			35
-#define LPSS_I2C5_IRQ			36
-#define LPSS_I2C6_IRQ			37
-#define LPSS_I2C7_IRQ			38
-#define LPSS_HSUART1_IRQ		39
-#define LPSS_HSUART2_IRQ		40
-#define LPSS_SPI_IRQ			41
-#define LPSS_DMA1_IRQ			42
-#define LPSS_DMA2_IRQ			43
-#define SCC_EMMC_IRQ			44
-#define SCC_SDIO_IRQ			46
-#define SCC_SD_IRQ			47
-#define GPIO_NC_IRQ			48
-#define GPIO_SC_IRQ			49
-#define GPIO_SUS_IRQ			50
-/* GPIO direct / dedicated IRQs. */
-#define GPIO_S0_DED_IRQ_0		51
-#define GPIO_S0_DED_IRQ_1		52
-#define GPIO_S0_DED_IRQ_2		53
-#define GPIO_S0_DED_IRQ_3		54
-#define GPIO_S0_DED_IRQ_4		55
-#define GPIO_S0_DED_IRQ_5		56
-#define GPIO_S0_DED_IRQ_6		57
-#define GPIO_S0_DED_IRQ_7		58
-#define GPIO_S0_DED_IRQ_8		59
-#define GPIO_S0_DED_IRQ_9		60
-#define GPIO_S0_DED_IRQ_10		61
-#define GPIO_S0_DED_IRQ_11		62
-#define GPIO_S0_DED_IRQ_12		63
-#define GPIO_S0_DED_IRQ_13		64
-#define GPIO_S0_DED_IRQ_14		65
-#define GPIO_S0_DED_IRQ_15		66
-#define GPIO_S5_DED_IRQ_0		67
-#define GPIO_S5_DED_IRQ_1		68
-#define GPIO_S5_DED_IRQ_2		69
-#define GPIO_S5_DED_IRQ_3		70
-#define GPIO_S5_DED_IRQ_4		71
-#define GPIO_S5_DED_IRQ_5		72
-#define GPIO_S5_DED_IRQ_6		73
-#define GPIO_S5_DED_IRQ_7		74
-#define GPIO_S5_DED_IRQ_8		75
-#define GPIO_S5_DED_IRQ_9		76
-#define GPIO_S5_DED_IRQ_10		77
-#define GPIO_S5_DED_IRQ_11		78
-#define GPIO_S5_DED_IRQ_12		79
-#define GPIO_S5_DED_IRQ_13		80
-#define GPIO_S5_DED_IRQ_14		81
-#define GPIO_S5_DED_IRQ_15		82
-/* DIRQs - Two levels of expansion to evaluate to numeric constants for ASL. */
-#define _GPIO_S0_DED_IRQ(slot)		GPIO_S0_DED_IRQ_##slot
-#define _GPIO_S5_DED_IRQ(slot)		GPIO_S5_DED_IRQ_##slot
-#define GPIO_S0_DED_IRQ(slot)		_GPIO_S0_DED_IRQ(slot)
-#define GPIO_S5_DED_IRQ(slot)		_GPIO_S5_DED_IRQ(slot)
-
-/* PIC IRQ settings. */
-#define PIRQ_PIC_IRQ3			0x3
-#define PIRQ_PIC_IRQ4			0x4
-#define PIRQ_PIC_IRQ5			0x5
-#define PIRQ_PIC_IRQ6			0x6
-#define PIRQ_PIC_IRQ7			0x7
-#define PIRQ_PIC_IRQ9			0x9
-#define PIRQ_PIC_IRQ10			0xa
-#define PIRQ_PIC_IRQ11			0xb
-#define PIRQ_PIC_IRQ12			0xc
-#define PIRQ_PIC_IRQ14			0xe
-#define PIRQ_PIC_IRQ15			0xf
-#define PIRQ_PIC_IRQDISABLE		0x80
-#define PIRQ_PIC_UNKNOWN_UNUSED		0xff
-
-/* Overloaded term, but these values determine the per device route. */
-#define PIRQA				0
-#define PIRQB				1
-#define PIRQC				2
-#define PIRQD				3
-#define PIRQE				4
-#define PIRQF				5
-#define PIRQG				6
-#define PIRQH				7
-
-/* These registers live behind the ILB_BASE_ADDRESS */
-#define ACTL				0x00
-# define SCIS_MASK				0x07
-# define SCIS_IRQ9				0x00
-# define SCIS_IRQ10				0x01
-# define SCIS_IRQ11				0x02
-# define SCIS_IRQ20				0x04
-# define SCIS_IRQ21				0x05
-# define SCIS_IRQ22				0x06
-# define SCIS_IRQ23				0x07
-
-/* In each mainboard directory there should exist a header file irqroute.h that
- * defines the PCI_DEV_PIRQ_ROUTES and PIRQ_PIC_ROUTES macros which
- * consist of PCI_DEV_PIRQ_ROUTE and PIRQ_PIC entries. */
-
-#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
-#include <stdint.h>
-
-#define NUM_OF_PCI_DEVS 32
-#define NUM_PIRQS   8
-
-struct baytrail_irq_route {
-	/* Per device configuration. */
-	uint16_t pcidev[NUM_OF_PCI_DEVS];
-	/* Route path for each internal PIRQx in PIC mode. */
-	uint8_t  pic[NUM_PIRQS];
-};
-
-extern const struct baytrail_irq_route global_baytrail_irq_route;
-
-#define DEFINE_IRQ_ROUTES \
-	const struct baytrail_irq_route global_baytrail_irq_route = { \
-		.pcidev = { PCI_DEV_PIRQ_ROUTES, }, \
-		.pic = { PIRQ_PIC_ROUTES, }, \
-	}
-
-#define PCI_DEV_PIRQ_ROUTE(dev_, a_, b_, c_, d_) \
-	[dev_] = ((PIRQ ## d_) << 12) | ((PIRQ ## c_) << 8) | \
-	         ((PIRQ ## b_) <<  4) | ((PIRQ ## a_) << 0)
-
-#define PIRQ_PIC(pirq_, pic_irq_) \
-	[PIRQ ## pirq_] = PIRQ_PIC_IRQ ## pic_irq_
-
-/* used for ACPI only */
-#define PCIE_BRIDGE_DEV(prefix_, dev_, a_, b_, c_, d_)
-
-#endif /* !defined(__ASSEMBLER__) && !defined(__ACPI__) */
-
-#endif /* _BAYTRAIL_IRQ_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/lpc.h b/src/soc/intel/fsp_baytrail/baytrail/lpc.h
deleted file mode 100644
index 832fb31..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/lpc.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- * Copyright (C) 2013-2014 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_LPC_H_
-#define _BAYTRAIL_LPC_H_
-
-#define FADT_SOC_LPC_DEV 0, PCI_DEVFN(0x1f,0)
-
-/* PCI config registers in LPC bridge. */
-#define REVID		0x08
-#define ABASE		0x40 /* IO BAR */
-#define PBASE		0x44 /* MEM BAR */
-#define GBASE		0x48 /* IO BAR */
-#define IOBASE		0x4c /* MEM BAR */
-#define IBASE		0x50 /* MEM BAR */
-#define SBASE		0x54 /* MEM BAR */
-#define MPBASE		0x58 /* MEM BAR */
-#define PUBASE		0x5c
-#define  SET_BAR_ENABLE	0x02
-#define UART_CONT	0x80
-#define RCBA		0xf0
-#define  RCBA_ENABLE 0x01
-
-#define ILB_ACTL	0
-#define ILB_MC			0x4
-#define ILB_PIRQA_ROUT	0x8
-#define ILB_PIRQB_ROUT	0x9
-#define ILB_PIRQC_ROUT	0xA
-#define ILB_PIRQD_ROUT	0xB
-#define ILB_PIRQE_ROUT	0xC
-#define ILB_PIRQF_ROUT	0xD
-#define ILB_PIRQG_ROUT	0xE
-#define ILB_PIRQH_ROUT	0xF
-#define ILB_SERIRQ_CNTL	0x10
-#define  SCNT_CONTINUOUS_MODE	(1 << 7)
-#define  SCNT_QUIET_MODE		0
-#define ILB_IR00 0x20
-#define ILB_IR01 0x22
-#define ILB_IR02 0x24
-#define ILB_IR03 0x26
-#define ILB_IR04 0x28
-#define ILB_IR05 0x2A
-#define ILB_IR06 0x2C
-#define ILB_IR07 0x2E
-#define ILB_IR08 0x30
-#define ILB_IR09 0x32
-#define ILB_IR10 0x34
-#define ILB_IR11 0x36
-#define ILB_IR12 0x38
-#define ILB_IR13 0x3A
-#define ILB_IR14 0x3C
-#define ILB_IR15 0x3E
-#define ILB_IR16 0x40
-#define ILB_IR17 0x42
-#define ILB_IR18 0x44
-#define ILB_IR19 0x46
-#define ILB_IR20 0x48
-#define ILB_IR21 0x4A
-#define ILB_IR22 0x4C
-#define ILB_IR23 0x4E
-#define ILB_IR24 0x50
-#define ILB_IR25 0x52
-#define ILB_IR26 0x54
-#define ILB_IR27 0x56
-#define ILB_IR28 0x58
-#define ILB_IR29 0x5A
-#define ILB_IR30 0x5C
-#define ILB_IR31 0x5E
-#define ILB_OIC	0x60
-#define  SIRQEN (1 << 12)
-#define  AEN    (1 << 8)
-
-#define RID_A_STEPPING_START 1
-#define RID_B_STEPPING_START 5
-#define RID_C_STEPPING_START 0xe
-#define RID_D_STEPPING_START 0x11
-
-enum baytrail_stepping {
-	STEP_A0,
-	STEP_A1,
-	STEP_B0,
-	STEP_B1,
-	STEP_B2,
-	STEP_B3,
-	STEP_C0,
-	STEP_D0,
-};
-
-/* Registers behind the RCBA_BASE_ADDRESS bar. */
-#define GCS		0x00
-# define BILD		(1 << 0)
-
-/* Default IO range claimed by the LPC devices. The upper bound is exclusive. */
-#define LPC_DEFAULT_IO_RANGE_LOWER 0
-#define LPC_DEFAULT_IO_RANGE_UPPER 0x1000
-#define IO_APIC_RANGE_SIZE	0x1000
-
-#endif /* _BAYTRAIL_LPC_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/msr.h b/src/soc/intel/fsp_baytrail/baytrail/msr.h
deleted file mode 100644
index ea1d790..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/msr.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_MSR_H_
-#define _BAYTRAIL_MSR_H_
-
-#define MSR_IA32_PLATFORM_ID		0x17
-#define MSR_BSEL_CR_OVERCLOCK_CONTROL	0xcd
-#define MSR_PLATFORM_INFO		0xce
-#define MSR_PMG_CST_CONFIG_CONTROL	0xe2
-#define MSR_POWER_MISC			0x120
-#define MSR_IA32_PERF_CTL		0x199
-#define MSR_IA32_MISC_ENABLES		0x1a0
-#define MSR_POWER_CTL			0x1fc
-#define MSR_PKG_POWER_SKU_UNIT		0x606
-#define MSR_PKG_POWER_LIMIT		0x610
-#define MSR_IACORE_RATIOS		0x66a
-#define MSR_IACORE_TURBO_RATIOS		0x66c
-#define MSR_IACORE_VIDS			0x66b
-#define MSR_IACORE_TURBO_VIDS		0x66d
-
-/* Read BCLK from MSR */
-unsigned bus_freq_khz(void);
-
-#endif /* _BAYTRAIL_MSR_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/nvm.h b/src/soc/intel/fsp_baytrail/baytrail/nvm.h
deleted file mode 100644
index d03506e..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/nvm.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _NVM_H_
-#define _NVM_H_
-
-#include <stddef.h>
-
-/* Determine if area is erased. returns 1 if erased. 0 otherwise. */
-int nvm_is_erased(const void *start, size_t size);
-
-/* Erase region according to start and size. Returns < 0 on error else 0. */
-int nvm_erase(void *start, size_t size);
-
-/* Write data to NVM. Returns 0 on success < 0 on error.  */
-int nvm_write(void *start, const void *data, size_t size);
-
-#endif /* _NVM_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/nvs.h b/src/soc/intel/fsp_baytrail/baytrail/nvs.h
deleted file mode 100644
index cbfdd13..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/nvs.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 Google Inc
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_NVS_H_
-#define _BAYTRAIL_NVS_H_
-
-#include <baytrail/device_nvs.h>
-
-typedef struct {
-	/* Miscellaneous */
-	u16	osys; /* 0x00 - Operating System */
-	u8	smif; /* 0x02 - SMI function call ("TRAP") */
-	u8	prm0; /* 0x03 - SMI function call parameter */
-	u8	prm1; /* 0x04 - SMI function call parameter */
-	u8	scif; /* 0x05 - SCI function call (via _L00) */
-	u8	prm2; /* 0x06 - SCI function call parameter */
-	u8	prm3; /* 0x07 - SCI function call parameter */
-	u8	lckf; /* 0x08 - Global Lock function for EC */
-	u8	prm4; /* 0x09 - Lock function parameter */
-	u8	prm5; /* 0x0a - Lock function parameter */
-	u32	p80d; /* 0x0b - Debug port (IO 0x80) value */
-	u8	lids; /* 0x0f - LID state (open = 1) */
-	u8	pwrs; /* 0x10 - Power state (AC = 1) */
-	u8	pcnt; /* 0x11 - Processor Count */
-	u8	tpmp; /* 0x12 - TPM Present and Enabled */
-	u8	tlvl; /* 0x13 - Throttle Level */
-	u8	ppcm; /* 0x14 - Maximum P-state usable by OS */
-	u8	rsvd1[11];
-
-	/* Device Config */
-	u8	s5u0; /* 0x20 - Enable USB0 in S5 */
-	u8	s5u1; /* 0x21 - Enable USB1 in S5 */
-	u8	s3u0; /* 0x22 - Enable USB0 in S3 */
-	u8	s3u1; /* 0x23 - Enable USB1 in S3 */
-	u8	tact; /* 0x24 - Thermal Active trip point */
-	u8	tpsv; /* 0x25 - Thermal Passive trip point */
-	u8	tcrt; /* 0x26 - Thermal Critical trip point */
-	u8	dpte; /* 0x27 - Enable DPTF */
-	u8	rsvd2[8];
-
-	/* Base Addresses */
-	u32	obsolete_cmem; /* 0x30 - CBMEM TOC */
-	u32	tolm; /* 0x34 - Top of Low Memory */
-	u32	cbmc; /* 0x38 - coreboot memconsole */
-	u8	rsvd3[196];
-
-	/* Pad 0x0100-0x0fff */
-	u8	rsvd4[3840];
-
-	/* Baytrail LPSS (0x1000) */
-	device_nvs_t dev;
-} __attribute__((packed)) global_nvs_t;
-
-void acpi_create_gnvs(global_nvs_t *gnvs);
-#ifdef __SMM__
-/* Used in SMM to find the ACPI GNVS address */
-global_nvs_t *smm_get_gnvs(void);
-#endif
-
-#endif /* _BAYTRAIL_NVS_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/pattrs.h b/src/soc/intel/fsp_baytrail/baytrail/pattrs.h
deleted file mode 100644
index 7d10cea..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/pattrs.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _PATTRS_H_
-#define _PATTRS_H_
-
-#include <stdint.h>
-#include <cpu/x86/msr.h>
-
-enum {
-	IACORE_MIN,
-	IACORE_LFM,
-	IACORE_MAX,
-	IACORE_TURBO,
-	IACORE_END
-};
-
-/* The pattrs structure is a common place to stash pertinent information
- * about the processor or platform. Instead of going to the source (msrs, cpuid)
- * every time an attribute is needed use the pattrs structure.
- */
-struct pattrs {
-	msr_t platform_id;
-	msr_t platform_info;
-	int iacore_ratios[IACORE_END];
-	int iacore_vids[IACORE_END];
-	uint32_t cpuid;
-	int revid;
-	int stepping;
-	const void *microcode_patch;
-	int address_bits;
-	int num_cpus;
-	unsigned bclk_khz;
-};
-
-/* This is just to hide the abstraction w/o relying on how the underlying
- * storage is allocated. */
-#define PATTRS_GLOB_NAME __global_pattrs
-#define DEFINE_PATTRS struct pattrs PATTRS_GLOB_NAME
-extern DEFINE_PATTRS;
-
-static inline const struct pattrs *pattrs_get(void)
-{
-	return &PATTRS_GLOB_NAME;
-}
-
-
-#endif /* _PATTRS_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/pci_devs.h b/src/soc/intel/fsp_baytrail/baytrail/pci_devs.h
deleted file mode 100644
index 2d0dac1..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/pci_devs.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- * Copyright (C) 2013 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_PCI_DEVS_H_
-#define _BAYTRAIL_PCI_DEVS_H_
-
-#define BUS0 0
-
-/* All these devices live on bus 0 with the associated device and function */
-#define DEV_FUNC(x,y) ((x<<3) | y)
-
-
-/* SoC transaction router */
-#define SOC_DEV 0x0
-#define SOC_FUNC 0
-# define SOC_DEVID 0x0f00
-# define SOC_DEV_FUNC DEV_FUNC(SOC_DEV,SOC_FUNC)
-
-
-/* Graphics and Display */
-#define GFX_DEV 0x2
-#define GFX_FUNC 0
-# define GFX_DEVID 0x0f31
-# define GFX_DEV_FUNC DEV_FUNC(GFX_DEV,GFX_FUNC)
-
-/* MIPI */
-#define MIPI_DEV 0x3
-#define MIPI_FUNC 0
-# define MIPI_DEVID 0x0f38
-# define MIPI_DEV_FUNC DEV_FUNC(MIPI_DEV,MIPI_FUNC)
-
-
-/* SDIO Port */
-#define EMMC_DEV 0x10
-#define EMMC_FUNC 0
-# define EMMC_DEVID 0x0f14
-# define EMMC_DEV_FUNC DEV_FUNC(EMMC_DEV,EMMC_FUNC)
-
-/* SDIO Port */
-#define SDIO_DEV 0x11
-#define SDIO_FUNC 0
-# define SDIO_DEVID 0x0f15
-# define SDIO_DEV_FUNC DEV_FUNC(SDIO_DEV,SDIO_FUNC)
-
-/* SD Port */
-#define SD_DEV 0x12
-#define SD_FUNC 0
-# define SD_DEVID 0x0f16
-# define SD_DEV_FUNC DEV_FUNC(SD_DEV,SD_FUNC)
-
-/* SATA */
-#define SATA_DEV 0x13
-#define SATA_FUNC 0
-# define IDE1_DEVID 0x0f20
-# define IDE2_DEVID 0x0f21
-# define AHCI1_DEVID 0x0f22
-# define AHCI2_DEVID 0x0f23
-# define SATA_MA 0x84
-# define SATA_MAP 0x90
-# define SATA_PSC 0x92
-# define SATA_SP 0xD0
-# define SATA_BIST1 0xE4
-# define SATA_BIST2 0xE8
-# define SATA_DEV_FUNC DEV_FUNC(SATA_DEV,SATA_FUNC)
-
-#define SATA_MA_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_MA
-#define SATA_SP_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_SP
-#define SATA_BIST1_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_BIST1
-#define SATA_BIST2_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_BIST2
-
-/* xHCI */
-#define XHCI_DEV 0x14
-#define XHCI_FUNC 0
-# define XHCI_DEVID 0x0f35
-# define XHCI_FUS_REG	0xE0
-# define XHCI_FUNC_DISABLE	(1 << 0)
-# define XHCI_USB2PR_REG 0xD0
-# define XHCI_DEV_FUNC DEV_FUNC(XHCI_DEV,XHCI_FUNC)
-
-/* LPE Audio */
-#define LPE_DEV 0x15
-#define LPE_FUNC 0
-# define LPE_DEVID 0x0f28
-# define LPE_DEV_FUNC DEV_FUNC(LPE_DEV,LPE_FUNC)
-
-/* OTG */
-#define OTG_DEV 0x16
-#define OTG_FUNC 0
-# define OTG_DEVID 0x0f37
-# define OTG_DEV_FUNC DEV_FUNC(LPE_DEV,LPE_FUNC)
-
-/* MMC Port */
-#define MMC45_DEV 0x17
-#define MMC45_FUNC 0
-# define MMC45_DEVID 0x0f50
-# define MMC45_DEV_FUNC DEV_FUNC(MMC45_DEV,MMC45_FUNC)
-
-/* Serial IO 1 */
-#define SIO1_DEV 0x18
-# define SIO_DMA1_DEV SIO1_DEV
-# define SIO_DMA1_FUNC 0
-# define SIO_DMA1_DEVID 0x0f40
-# define I2C1_DEV SIO1_DEV
-# define I2C1_FUNC 1
-# define I2C1_DEVID 0x0f41
-# define I2C2_DEV SIO1_DEV
-# define I2C2_FUNC 2
-# define I2C2_DEVID 0x0f42
-# define I2C3_DEV SIO1_DEV
-# define I2C3_FUNC 3
-# define I2C3_DEVID 0x0f43
-# define I2C4_DEV SIO1_DEV
-# define I2C4_FUNC 4
-# define I2C4_DEVID 0x0f44
-# define I2C5_DEV SIO1_DEV
-# define I2C5_FUNC 5
-# define I2C5_DEVID 0x0f45
-# define I2C6_DEV SIO1_DEV
-# define I2C6_FUNC 6
-# define I2C6_DEVID 0x0f46
-# define I2C7_DEV SIO1_DEV
-# define I2C7_FUNC 7
-# define I2C7_DEVID 0x0f47
-# define SIO_DMA1_DEV_FUNC DEV_FUNC(SIO_DMA1_DEV,SIO_DMA1_FUNC)
-# define I2C1_DEV_FUNC DEV_FUNC(I2C1_DEV,I2C1_FUNC)
-# define I2C2_DEV_FUNC DEV_FUNC(I2C2_DEV,I2C2_FUNC)
-# define I2C3_DEV_FUNC DEV_FUNC(I2C3_DEV,I2C3_FUNC)
-# define I2C4_DEV_FUNC DEV_FUNC(I2C4_DEV,I2C4_FUNC)
-# define I2C5_DEV_FUNC DEV_FUNC(I2C5_DEV,I2C5_FUNC)
-# define I2C6_DEV_FUNC DEV_FUNC(I2C6_DEV,I2C6_FUNC)
-# define I2C7_DEV_FUNC DEV_FUNC(I2C7_DEV,I2C7_FUNC)
-
-/* Trusted Execution Engine */
-#define TXE_DEV 0x1a
-#define TXE_FUNC 0
-# define TXE_DEVID 0x0f18
-# define TXE_DEV_FUNC DEV_FUNC(TXE_DEV,TXE_FUNC)
-
-/* HD Audio */
-#define HDA_DEV 0x1b
-#define HDA_FUNC 0
-# define HDA_DEVID 0x0f04
-# define HDA_DEV_FUNC DEV_FUNC(HDA_DEV,HDA_FUNC)
-# define HDA_AZUBAR 0x14
-# define HDA_MMLA 0x64
-# define HDA_MMUA 0x68
-#define HDA_AZUBAR_BDFO	PCI_DEV(BUS0, HDA_DEV,  HDA_FUNC), HDA_AZUBAR
-#define HDA_MMLA_BDFO	PCI_DEV(BUS0, HDA_DEV,  HDA_FUNC), HDA_MMLA
-#define HDA_MMUA_BDFO	PCI_DEV(BUS0, HDA_DEV,  HDA_FUNC), HDA_MMUA
-
-/* PCIe Ports */
-#define PCIE_DEV 0x1c
-# define PCIE_PORT1_DEV PCIE_DEV
-# define PCIE_PORT1_FUNC 0
-# define PCIE_PORT1_DEVID 0x0f48
-# define PCIE_PORT2_DEV PCIE_DEV
-# define PCIE_PORT2_FUNC 1
-# define PCIE_PORT2_DEVID 0x0f4a
-# define PCIE_PORT3_DEV PCIE_DEV
-# define PCIE_PORT3_FUNC 2
-# define PCIE_PORT3_DEVID 0x0f4c
-# define PCIE_PORT4_DEV PCIE_DEV
-# define PCIE_PORT4_FUNC 3
-# define PCIE_PORT4_DEVID 0x0f4e
-# define PCIE_PORT1_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT1_FUNC)
-# define PCIE_PORT2_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT2_FUNC)
-# define PCIE_PORT3_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT3_FUNC)
-# define PCIE_PORT4_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT4_FUNC)
-
-/* EHCI */
-#define EHCI_DEV 0x1d
-#define EHCI_FUNC 0
-# define EHCI_DEVID 0x0f34
-# define EHCI_DEV_FUNC DEV_FUNC(EHCI_DEV,EHCI_FUNC)
-
-/* Serial IO 2 */
-#define SIO2_DEV 0x1e
-# define SIO_DMA2_DEV SIO2_DEV
-# define SIO_DMA2_FUNC 0
-# define SIO_DMA2_DEVID 0x0f06
-# define PWM1_DEV SIO2_DEV
-# define PWM1_FUNC 1
-# define PWM1_DEVID 0x0f08
-# define PWM2_DEV SIO2_DEV
-# define PWM2_FUNC 2
-# define PWM2_DEVID 0x0f09
-# define HSUART1_DEV SIO2_DEV
-# define HSUART1_FUNC 3
-# define HSUART1_DEVID 0x0f0a
-# define HSUART2_DEV SIO2_DEV
-# define HSUART2_FUNC 4
-# define HSUART2_DEVID 0x0f0c
-# define SPI_DEV SIO2_DEV
-# define SPI_FUNC 5
-# define SPI_DEVID 0xf0e
-# define SIO_DMA2_DEV_FUNC DEV_FUNC(SIO_DMA2_DEV,SIO_DMA2_FUNC)
-# define PWM1_DEV_FUNC DEV_FUNC(PWM1_DEV,PWM1_FUNC)
-# define PWM2_DEV_FUNC DEV_FUNC(PWM2_DEV,PWM2_FUNC)
-# define HSUART1_DEV_FUNC DEV_FUNC(HSUART1_DEV,HSUART1_FUNC)
-# define HSUART2_DEV_FUNC DEV_FUNC(HSUART2_DEV,HSUART2_FUNC)
-# define SPI_DEV_FUNC DEV_FUNC(SPI_DEV,SPI_FUNC)
-
-
-/* Platform Controller Unit */
-#define PCU_DEV 0x1f
-# define LPC_DEV PCU_DEV
-# define LPC_FUNC 0
-# define LPC_DEVID 0x0f1c
-# define SMBUS_DEV PCU_DEV
-# define SMBUS_FUNC 3
-# define SMBUS_DEVID 0x0f12
-# define LPC_DEV_FUNC DEV_FUNC(LPC_DEV,LPC_FUNC)
-# define LPC_BDF		PCI_DEV(0, LPC_DEV, LPC_FUNC)
-# define SMBUS_DEV_FUNC DEV_FUNC(SMBUS_DEV,SMBUS_FUNC)
-
-#define INITIAL_TIMESTAMP_LOCATION			HDA_MMUA_BDFO
-#define BEFORE_CAR_TIMESTAMP_LOCATION		SATA_BIST1_BDFO
-#define ASM_BEFORE_CAR_TSC_LOC				0x80 << 24 | SATA_DEV_FUNC << 8 | SATA_BIST1
-#define AFTER_CAR_TIMESTAMP_LOCATION		SATA_BIST2_BDFO
-#define ASM_AFTER_CAR_TSC_LOC				0x80 << 24 | SATA_DEV_FUNC << 8 | SATA_BIST2
-#define START_ROMSTAGE_TIMESTAMP_LOCATION	HDA_MMLA_BDFO
-#define BEFORE_RAMINIT_TIMESTAMP_LOCATION	SATA_MA_BDFO
-
-#endif /* _BAYTRAIL_PCI_DEVS_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/pcie.h b/src/soc/intel/fsp_baytrail/baytrail/pcie.h
deleted file mode 100644
index 9d2d3de..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/pcie.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_PCIE_H_
-#define _BAYTRAIL_PCIE_H_
-
-/* PCIe root port config space registers. */
-#define XCAP			0x40
-# define SI			(1 << 24)
-#define DCAP			0x44
-# define MPS_MASK		0x7
-#define DCTL_DSTS		0x48
-# define URE			(1 << 3)
-# define FEE			(1 << 2)
-# define NFE			(1 << 1)
-# define CEE			(1 << 0)
-#define LCAP			0x4c
-# define L1EXIT_SHIFT		15
-# define L1EXIT_MASK		(0x7 << L1EXIT_SHIFT)
-#define LCTL			0x50
-# define CCC			(1 << 6)
-# define RL			(1 << 5)
-# define LD			(1 << 4)
-#define LSTS			0x52
-#define SLCAP			0x54
-# define SLN_SHIFT		19
-# define SLS_SHIFT		15
-# define SLV_SHIFT		7
-# define HPC			(1 << 6)
-# define HPS			(1 << 5)
-#define SLCTL_SLSTS		0x58
-# define PDS			(1 << 22)
-#define DCAP2			0x64
-# define OBFFS			(0x3 << 18)
-# define LTRMS			(1 << 11)
-#define DSTS2			0x68
-# define OBFFEN			(3 << 13)
-# define LTRME			(1 << 10)
-# define CTD			(1 <<  4)
-#define CHCFG			0xd0
-# define UPSD			(1 << 24)
-# define UNRS			(1 << 15)
-# define UPRS			(1 << 14)
-#define MPC2			0xd4
-# define IPF			(1 << 11)
-# define LSTP			(1 <<  6)
-# define EOIFD			(1 <<  1)
-#define MPC			0xd8
-# define CCEL_SHIFT		15
-# define CCEL_MASK		(0x7 << CCEL_SHIFT)
-#define RPPGEN			0xe0
-# define RPSCGEN		(1 << 15)
-# define LCLKREQEN		(1 << 13)
-# define BBCLKREQEN		(1 << 12)
-# define SRDLCGEN		(1 << 11)
-# define SRDBCGEN		(1 << 10)
-# define RPDLCGEN		(1 << 9)
-# define RPDBCGEN		(1 << 8)
-#define PWRCTL			0xe8
-# define RPL1SQPOL		(1 << 1)
-# define RPDTSQPOL		(1 << 0)
-#define PHYCTL2_IOSFBCTL	0xf4
-# define PLL_OFF_EN		(1 << 8)
-# define TDFT			(3 << 14)
-# define TXCFGCHWAIT		(3 << 12)
-# define SIID			(3 << 26)
-#define STRPFUSECFG		0xfc
-# define LANECFG_SHIFT		14
-# define LANECFG_MASK		(0x3 << LANECFG_SHIFT)
-#define AERCH			0x100
-#define NFTS			0x314
-#define L0SC			0x318
-#define CFG2			0x320
-# define CSREN			(1 << 22)
-# define LATGC_SHIFT		6
-# define LATGC_MASK		(0x7 << LATGC_SHIFT)
-#define PCIEDBG			0x324
-# define SPCE			(1 << 5)
-#define PCIESTS1		0x328
-#define PCIEALC			0x338
-#define RTP			0x33c
-#define PHYCTL4			0x408
-# define SQDIS			(1 << 27)
-
-
-#endif /* _BAYTRAIL_PCIE_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/pmc.h b/src/soc/intel/fsp_baytrail/baytrail/pmc.h
deleted file mode 100644
index 1652e86..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/pmc.h
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- * Copyright (C) 2013-2014 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_PMC_H_
-#define _BAYTRAIL_PMC_H_
-
-
-#define IOCOM1		0x3f8
-
-/* Memory mapped IO registers behind PMC_BASE_ADDRESS */
-#define PRSTS		0x00
-#	define PMC_WDT_STS	(1 << 15)
-#	define SEC_GBLRST_STS	(1 <<  7)
-#	define SEC_WDT_STS	(1 <<  6)
-#	define WOL_OVR_WK_STS	(1 <<  5)
-#	define PMC_WAKE_STS	(1 <<  4)
-#define PMC_CFG		0x08
-#	define SPS		(1 <<  5)
-#	define NO_REBOOT	(1 <<  4)
-#	define SX_ENT_TO_EN	(1 <<  3)
-#	define TIMING_T581_SHIFT (0)
-#	define TIMING_T581_MASK	(3 <<  TIMING_T581_SHIFT)
-#	define TIMING_T581_10uS  (0 << TIMING_T581_SHIFT)
-#	define TIMING_T581_100uS (1 << TIMING_T581_SHIFT)
-#	define TIMING_T581_1mS   (2 << TIMING_T581_SHIFT)
-#	define TIMING_T581_10mS  (3 << TIMING_T581_SHIFT)
-#define VLV_PM_STS	0x0c
-#	define PMC_MSG_FULL_STS		(1 << 24)
-#	define PMC_MSG_4_FULL_STS	(1 << 23)
-#	define PMC_MSG_3_FULL_STS	(1 << 22)
-#	define PMC_MSG_2_FULL_STS	(1 << 21)
-#	define PMC_MSG_1_FULL_STS	(1 << 20)
-#	define CODE_REQ			(1 <<  8)
-#	define HPR_ENT_TO		(1 <<  2)
-#	define SX_ENT_TO		(1 <<  1)
-#define GEN_PMCON1	0x20
-#	define UART_EN		(1 << 24)
-#	define DISB		(1 << 23)
-#	define MEM_SR		(1 << 21)
-#	define SRS		(1 << 20)
-#	define CTS		(1 << 19)
-#	define MS4V		(1 << 18)
-#	define PWR_FLR		(1 << 16)
-#	define PME_B0_S5_DIS	(1 << 15)
-#	define SUS_PWR_FLR	(1 << 14)
-#	define WOL_EN_OVRD	(1 << 13)
-#	define DIS_SLP_X_STRCH_SUS_UP (1 << 12)
-#	define GEN_RST_STS	(1 <<  9)
-#	define RPS		(1 <<  2)
-#	define AFTERG3_EN	(1 <<  0)
-#define GEN_PMCON2	0x24
-#	define SLPSX_STR_POL_LOCK	(1 << 18)
-#	define BIOS_PCI_EXP_EN		(1 << 10)
-#	define PWRBTN_LVL		(1 <<  9)
-#	define SMI_LOCK			(1 <<  4)
-#define ETR			0x48
-#	define CF9LOCK		(1 << 31)
-#	define LTR_DEF		(1 << 22)
-#	define IGNORE_HPET	(1 << 21)
-#	define CF9GR		(1 << 20)
-#	define CWORWRE		(1 << 18)
-#define FUNC_DIS	0x34
-#	define SIO_DMA2_DIS	(1 <<  0)
-#	define PWM1_DIS		(1 <<  1)
-#	define PWM2_DIS		(1 <<  2)
-#	define HSUART1_DIS	(1 <<  3)
-#	define HSUART2_DIS	(1 <<  4)
-#	define SPI_DIS		(1 <<  5)
-#	define SDIO_DIS		(1 <<  9)
-#	define SD_DIS		(1 << 10)
-#	define MMC_DIS		(1 << 11)
-#	define HDA_DIS		(1 << 12)
-#	define LPE_DIS		(1 << 13)
-#	define OTG_DIS		(1 << 14)
-#	define XHCI_DIS		(1 << 15)
-#	define SATA_DIS		(1 << 17)
-#	define EHCI_DIS		(1 << 18)
-#	define TXE_DIS		(1 << 19)
-#	define PCIE_PORT1_DIS	(1 << 20)
-#	define PCIE_PORT2_DIS	(1 << 21)
-#	define PCIE_PORT3_DIS	(1 << 22)
-#	define PCIE_PORT4_DIS	(1 << 23)
-#	define SIO_DMA1_DIS	(1 << 24)
-#	define I2C1_DIS		(1 << 25)
-#	define I2C2_DIS		(1 << 26)
-#	define I2C3_DIS		(1 << 27)
-#	define I2C4_DIS		(1 << 28)
-#	define I2C5_DIS		(1 << 29)
-#	define I2C6_DIS		(1 << 30)
-#	define I2C7_DIS		(1 << 31)
-#define FUNC_DIS2	0x38
-#	define USH_SS_PHY_DIS	(1 << 2)
-#	define OTG_SS_PHY_DIS	(1 << 1)
-#	define SMBUS_DIS	(1 << 0)
-#define GPIO_ROUT	0x58
-#	define ROUTE_MASK	3
-#	define ROUTE_NONE	0
-#	define ROUTE_SMI	1
-#	define ROUTE_SCI	2
-#define PLT_CLK_CTL_0	0x60
-#define PLT_CLK_CTL_1	0x64
-#define PLT_CLK_CTL_2	0x68
-#define PLT_CLK_CTL_3	0x6c
-#define PLT_CLK_CTL_4	0x70
-#define PLT_CLK_CTL_5	0x74
-#	define CLK_FREQ_25MHZ	(0x0 << 2)
-#	define CLK_FREQ_19P2MHZ	(0x1 << 2)
-#	define CLK_CTL_D3_LPE	(0x0 << 0)
-#	define CLK_CTL_ON	(0x1 << 0)
-#	define CLK_CTL_OFF	(0x2 << 0)
-#define PME_STS		0xc0
-#define GPE_LEVEL_EDGE  0xc4
-#	define GPE_EDGE		0
-#	define GPE_LEVEL	1
-#define GPE_POLARITY	0xc8
-#	define GPE_ACTIVE_HIGH	1
-#	define GPE_ACTIVE_LOW	0
-#define LOCK		0xcc
-
-/* IO Mapped registers behind ACPI_BASE_ADDRESS */
-#define PM1_STS			0x00
-#define   WAK_STS	(1 << 15)
-#define   PCIEXPWAK_STS	(1 << 14)
-#define   USB_STS	(1 << 13)
-#define   PRBTNOR_STS	(1 << 11)
-#define   RTC_STS	(1 << 10)
-#define   PWRBTN_STS	(1 << 8)
-#define   GBL_STS	(1 << 5)
-#define   TMROF_STS	(1 << 0)
-#define PM1_EN			0x02
-#define   PCIEXPWAK_DIS	(1 << 14)
-#define   USB_WAKE_EN	(1 << 13)
-#define   RTC_EN	(1 << 10)
-#define   PWRBTN_EN	(1 << 8)
-#define   GBL_EN	(1 << 5)
-#define   TMROF_EN	(1 << 0)
-#define PM1_CNT			0x04
-#define   SLP_EN	(1 << 13)
-#define   SLP_TYP_SHIFT	10
-#define   SLP_TYP	(7 << SLP_TYP_SHIFT)
-#define    SLP_TYP_S0	0
-#define    SLP_TYP_S1	1
-#define    SLP_TYP_S3	5
-#define    SLP_TYP_S4	6
-#define    SLP_TYP_S5	7
-#define   GBL_RLS	(1 << 2)
-#define   BM_RLD	(1 << 1)
-#define   SCI_EN	(1 << 0)
-#define PM1_TMR			0x08
-#define GPE0_STS		0x20
-#define   CORE_GPIO_STS7	(1 << 31)
-#define   CORE_GPIO_STS6	(1 << 30)
-#define   CORE_GPIO_STS5	(1 << 29)
-#define   CORE_GPIO_STS4	(1 << 28)
-#define   CORE_GPIO_STS3	(1 << 27)
-#define   CORE_GPIO_STS2	(1 << 26)
-#define   CORE_GPIO_STS1	(1 << 25)
-#define   CORE_GPIO_STS0	(1 << 24)
-#define   SUS_GPIO_STS7		(1 << 23)
-#define   SUS_GPIO_STS6		(1 << 22)
-#define   SUS_GPIO_STS5		(1 << 21)
-#define   SUS_GPIO_STS4		(1 << 20)
-#define   SUS_GPIO_STS3		(1 << 19)
-#define   SUS_GPIO_STS2		(1 << 18)
-#define   SUS_GPIO_STS1		(1 << 17)
-#define   SUS_GPIO_STS0		(1 << 16)
-#define   PME_B0_STS_BIT	13
-#define   PME_B0_STS		(1 << PME_B0_STS_BIT)
-#define   BATLOW_STS		(1 << 10)
-#define   PCI_EXP_STS		(1 << 9)
-#define   PCIE_WAKE3_STS	(1 << 8)
-#define   PCIE_WAKE2_STS	(1 << 7)
-#define   PCIE_WAKE1_STS	(1 << 6)
-#define   GUNIT_SCI_STS		(1 << 5)
-#define   PUNIT_SCI_STS		(1 << 4)
-#define   PCIE_WAKE0_STS	(1 << 3)
-#define   SWGPE_STS		(1 << 2)
-#define   HOT_PLUG_STS		(1 << 1)
-#define GPE0_EN			0x28
-#define   CORE_GPIO_EN7	(1 << 31)
-#define   CORE_GPIO_EN6	(1 << 30)
-#define   CORE_GPIO_EN5	(1 << 29)
-#define   CORE_GPIO_EN4	(1 << 28)
-#define   CORE_GPIO_EN3	(1 << 27)
-#define   CORE_GPIO_EN2	(1 << 26)
-#define   CORE_GPIO_EN1	(1 << 25)
-#define   CORE_GPIO_EN0	(1 << 24)
-#define   SUS_GPIO_EN7_BIT	23
-#define   SUS_GPIO_EN7		(1 << SUS_GPIO_EN7_BIT)
-#define   SUS_GPIO_EN6_BIT	22
-#define   SUS_GPIO_EN6		(1 << SUS_GPIO_EN6_BIT)
-#define   SUS_GPIO_EN5_BIT	21
-#define   SUS_GPIO_EN5		(1 << SUS_GPIO_EN5_BIT)
-#define   SUS_GPIO_EN4_BIT	20
-#define   SUS_GPIO_EN4		(1 << SUS_GPIO_EN4_BIT)
-#define   SUS_GPIO_EN3_BIT	19
-#define   SUS_GPIO_EN3		(1 << SUS_GPIO_EN3_BIT)
-#define   SUS_GPIO_EN2_BIT	18
-#define   SUS_GPIO_EN2		(1 << SUS_GPIO_EN2_BIT)
-#define   SUS_GPIO_EN1_BIT	17
-#define   SUS_GPIO_EN1		(1 << SUS_GPIO_EN1_BIT)
-#define   SUS_GPIO_EN0_BIT	16
-#define   SUS_GPIO_EN0		(1 << SUS_GPIO_EN0_BIT)
-#define   PME_B0_EN		(1 << 13)
-#define   BATLOW_EN		(1 << 10)
-#define   PCI_EXP_EN		(1 << 9)
-#define   PCIE_WAKE3_EN		(1 << 8)
-#define   PCIE_WAKE2_EN		(1 << 7)
-#define   PCIE_WAKE1_EN		(1 << 6)
-#define   PCIE_WAKE0_EN		(1 << 3)
-#define   SWGPE_EN		(1 << 2)
-#define   HOT_PLUG_EN		(1 << 1)
-#define   _ACPI_ENABLE_WAKE_SUS_GPIO(x) SUS_GPIO_EN##x##_BIT
-#define   ACPI_ENABLE_WAKE_SUS_GPIO(x) _ACPI_ENABLE_WAKE_SUS_GPIO(x)
-#define SMI_EN			0x30
-#define   INTEL_USB2_EN	 (1 << 18) // Intel-Specific USB2 SMI logic
-#define   USB_EN	 (1 << 17) // Legacy USB2 SMI logic
-#define   PERIODIC_EN	 (1 << 14) // SMI on PERIODIC_STS in SMI_STS
-#define   TCO_EN	 (1 << 13) // Enable TCO Logic (BIOSWE et al)
-#define   BIOS_RLS	 (1 <<  7) // asserts SCI on bit set
-#define   SWSMI_TMR_EN	 (1 <<  6) // start software smi timer on bit set
-#define   APMC_EN	 (1 <<  5) // Writes to APM_CNT cause SMI#
-#define   SLP_SMI_EN	 (1 <<  4) // Write to SLP_EN in PM1_CNT asserts SMI#
-#define   BIOS_EN	 (1 <<  2) // Assert SMI# on setting GBL_RLS bit
-#define   EOS		 (1 <<  1) // End of SMI (deassert SMI#)
-#define   GBL_SMI_EN	 (1 <<  0) // SMI# generation at all?
-#define SMI_STS			0x34
-#define ALT_GPIO_SMI		0x38
-#define UPRWC			0x3c
-# define  UPRWC_WR_EN	 (1 << 1) // USB Per-Port Registers Write Enable
-#define GPE_CTRL		0x40
-#define PM2A_CNT_BLK		0x50
-#define TCO_RLD			0x60
-#define TCO_STS			0x64
-#	define SECOND_TO_STS	(1 << 17)
-#	define TCO_TIMEOUT	(1 << 3)
-#define TCO1_CNT		0x68
-#	define TCO_LOCK		(1 << 12)
-#	define TCO_TMR_HALT	(1 << 11)
-#define TCO_TMR			0x70
-
-/* I/O ports */
-#define RST_CNT			0xcf9
-#	define FULL_RST		(1 << 3)
-#	define RST_CPU		(1 << 2)
-#	define SYS_RST		(1 << 1)
-
-#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
-
-/* Track power state from reset to log events. */
-struct chipset_power_state {
-	uint16_t pm1_sts;
-	uint16_t pm1_en;
-	uint32_t pm1_cnt;
-	uint32_t gpe0_sts;
-	uint32_t gpe0_en;
-	uint32_t tco_sts;
-	uint32_t prsts;
-	uint32_t gen_pmcon1;
-	uint32_t gen_pmcon2;
-} __attribute__((packed));
-
-/* Power Management Utility Functions. */
-uint16_t get_pmbase(void);
-uint32_t clear_smi_status(void);
-uint16_t clear_pm1_status(void);
-uint32_t clear_tco_status(void);
-uint32_t clear_gpe_status(void);
-uint32_t clear_alt_status(void);
-void clear_pmc_status(void);
-void enable_smi(uint32_t mask);
-void disable_smi(uint32_t mask);
-void enable_pm1(uint16_t events);
-void enable_pm1_control(uint32_t mask);
-void disable_pm1_control(uint32_t mask);
-void enable_gpe(uint32_t mask);
-void disable_gpe(uint32_t mask);
-void disable_all_gpe(void);
-
-#if IS_ENABLED(CONFIG_ELOG)
-void southcluster_log_state(void);
-#else
-static inline void southcluster_log_state(void) {}
-#endif
-
-#endif /* !defined(__ASSEMBLER__) && !defined(__ACPI__) */
-
-#endif /* _BAYTRAIL_PMC_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/ramstage.h b/src/soc/intel/fsp_baytrail/baytrail/ramstage.h
deleted file mode 100644
index 5c2f98a..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/ramstage.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_RAMSTAGE_H_
-#define _BAYTRAIL_RAMSTAGE_H_
-
-#include <device/device.h>
-
-/* The baytrail_init_pre_device() function is called prior to device
- * initialization, but it's after console and cbmem has been reinitialized. */
-void baytrail_init_pre_device(void);
-void baytrail_init_cpus(device_t dev);
-void set_max_freq(void);
-void southcluster_enable_dev(device_t dev);
-void scc_enable_acpi_mode(device_t dev, int iosf_reg, int nvs_index);
-
-extern struct pci_operations soc_pci_ops;
-
-#endif /* _BAYTRAIL_RAMSTAGE_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/reset.h b/src/soc/intel/fsp_baytrail/baytrail/reset.h
deleted file mode 100644
index 4a36207..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/reset.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_RESET_H_
-#define _BAYTRAIL_RESET_H_
-#include <reset.h>
-
-/* Bay Trail has the following types of resets:
- * - Soft reset (INIT# to cpu) - write 0x1 to I/O 0x92
- * - Soft reset (INIT# to cpu)- write 0x4 to I/0 0xcf9
- * - Cold reset (S0->S5->S0) - write 0xe to I/0 0xcf9
- * - Warm reset (PMC_PLTRST# assertion) - write 0x6 to I/O 0xcf9
- * - Global reset (S0->S5->S0 with TXE reset) - write 0x6 or 0xe to 0xcf9 but
- *   with ETR[20] set.
- */
-
-void cold_reset(void);
-void warm_reset(void);
-
-#endif /* _BAYTRAIL_RESET_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/romstage.h b/src/soc/intel/fsp_baytrail/baytrail/romstage.h
deleted file mode 100644
index a3fdb7b..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/romstage.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- * Copyright (C) 2014 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_ROMSTAGE_H_
-#define _BAYTRAIL_ROMSTAGE_H_
-
-#if !defined(__PRE_RAM__)
-#error "Don't include romstage.h from a ramstage compilation unit!"
-#endif
-
-void report_platform_info(void);
-
-#include <stdint.h>
-#include <arch/cpu.h>
-#include <drivers/intel/fsp1_0/fsp_util.h>
-
-void main(FSP_INFO_HEADER *fsp_info_header);
-void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr);
-uint32_t chipset_prev_sleep_state(uint32_t clear);
-
-#define NUM_ROMSTAGE_TS 4
-
-void tco_disable(void);
-void punit_init(void);
-void set_max_freq(void);
-void early_mainboard_romstage_entry(void);
-void late_mainboard_romstage_entry(void);
-void get_func_disables(uint32_t *mask, uint32_t *mask2);
-
-#if IS_ENABLED(CONFIG_ENABLE_BUILTIN_COM1)
-void byt_config_com1_and_enable(void);
-#else
-static inline void byt_config_com1_and_enable(void) { }
-#endif
-
-#endif /* _BAYTRAIL_ROMSTAGE_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/smm.h b/src/soc/intel/fsp_baytrail/baytrail/smm.h
deleted file mode 100644
index c929572..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/smm.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- * Copyright (C) 2014 Sage Electronic Engineering, LLC.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_SMM_H_
-#define _BAYTRAIL_SMM_H_
-
-/* There is a bug in the order of Kconfig includes in that arch/x86/Kconfig
- * is included after chipset code. This causes the chipset's Kconfig to be
- * clobbered by the arch/x86/Kconfig if they have the same name. */
-static inline int smm_region_size(void)
-{
-	/* Make it 8MiB by default. */
-	if (CONFIG_SMM_TSEG_SIZE == 0)
-		return (8 << 20);
-	return CONFIG_SMM_TSEG_SIZE;
-}
-
-uintptr_t smm_region_start(void);
-
-#if !defined(__PRE_RAM__) && !defined(__SMM___)
-#include <stdint.h>
-void southcluster_smm_clear_state(void);
-void southcluster_smm_enable_smi(void);
-void southcluster_smm_save_gpio_route(uint32_t route);
-#endif
-
-#endif /* _BAYTRAIL_SMM_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/spi.h b/src/soc/intel/fsp_baytrail/baytrail/spi.h
deleted file mode 100644
index 1ac0b59..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/spi.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _BAYTRAIL_SPI_H_
-#define _BAYTRAIL_SPI_H_
-
-#include <stdint.h>
-
-/* These registers live behind SPI_BASE_ADDRESS. */
-#define HSFSTS				0x04
-# define FLOCKDN			(0x1 << 15)
-#define PREOP				0x94
-#define OPTYPE				0x96
-#define OPMENU0				0x98
-#define OPMENU1				0x9c
-#define LVSCC				0xc4
-# define VCL				(0x1 << 23)
-# define EO(x)				(((x) & 0xff) << 8)
-# define WG_1_BYTE			(0x0 << 2)
-# define WG_64_BYTE			(0x1 << 2)
-# define BES_256_BYTE			(0x0 << 0)
-# define BES_4_KB			(0x1 << 0)
-# define BES_8_KB			(0x2 << 0)
-# define BES_64_KB			(0x3 << 0)
-#define UVSCC				0xc8
-#define SCS				0xf8
-# define SMIWPEN			(0x1 << 7)
-#define BCR				0xfc
-# define EISS				(0x1 << 5)
-# define SRC_MASK			(0x3 << 2)
-# define SRC_CACHE_NO_PREFETCH		(0x0 << 2)
-# define SRC_NO_CACHE_NO_PREFETCH	(0x1 << 2)
-# define SRC_CACHE_PREFETCH		(0x2 << 2)
-# define BCR_LE				(0x1 << 1)
-# define BCR_WPD			(0x1 << 0)
-
-/*
- * SPI lockdown configuration.
- */
-struct spi_config {
-	uint16_t preop;
-	uint16_t optype;
-	uint32_t opmenu[2];
-	uint32_t lvscc;
-	uint32_t uvscc;
-};
-
-/* Return 0 on success < 0 on failure. */
-int mainboard_get_spi_config(struct spi_config *cfg);
-
-#endif /* _BAYTRAIL_SPI_H_ */
diff --git a/src/soc/intel/fsp_baytrail/baytrail/xhci.h b/src/soc/intel/fsp_baytrail/baytrail/xhci.h
deleted file mode 100644
index ec643c1..0000000
--- a/src/soc/intel/fsp_baytrail/baytrail/xhci.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef BAYTRAIL_XHCI_H
-#define BAYTRAIL_XHCI_H
-
-/* XHCI PCI Registers */
-#define XHCI_PWR_CTL_STS	0x74
-#define XHCI_USB2PR		0xd0
-#define XHCI_USB2PRM		0xd4
-#define XHCI_USB3PR		0xd8
-#define XHCI_USB3PRM		0xdc
-#define XHCI_USB2PDO		0xe4
-#define XHCI_USB3PDO		0xe8
-
-/* XHCI Memory Registers */
-#define XHCI_USB3_PORTSC(port)	(0x4e0 + (port * 0x10))
-# define  XHCI_USB3_PORTSC_CHST	  (0x7f << 17)
-# define  XHCI_USB3_PORTSC_WCE	  (1 << 25)  /* Wake on Connect */
-# define  XHCI_USB3_PORTSC_WDE	  (1 << 26)  /* Wake on Disconnect */
-# define  XHCI_USB3_PORTSC_WOE	  (1 << 27)  /* Wake on Overcurrent */
-# define  XHCI_USB3_PORTSC_WRC	  (1 << 19)  /* Warm Reset Complete */
-# define  XHCI_USB3_PORTSC_LWS	  (1 << 16)  /* Link Write Strobe */
-# define  XHCI_USB3_PORTSC_PED 	  (1 << 1)   /* Port Enabled/Disabled */
-# define  XHCI_USB3_PORTSC_WPR	  (1 << 31)  /* Warm Port Reset */
-# define  XHCI_USB3_PORTSC_PLS	  (0xf << 5) /* Port Link State */
-# define   XHCI_PLSR_DISABLED	  (4 << 5)   /* Port is disabled */
-# define   XHCI_PLSR_RXDETECT	  (5 << 5)   /* Port is disconnected */
-# define   XHCI_PLSR_POLLING	  (7 << 5)   /* Port is polling */
-# define   XHCI_PLSW_ENABLE	  (5 << 5)   /* Enable port */
-
-/* The Fuse register is incorrect for Baytrail-M so use hardcoded values */
-#define BYTM_USB2_PORT_COUNT	4
-#define BYTM_USB2_PORT_MAP	0xf
-#define BYTM_USB3_PORT_COUNT	1
-#define BYTM_USB3_PORT_MAP	0x1
-
-#define XHCI_RESET_TIMEOUT	100000  /* 100ms */
-
-#endif /* BAYTRAIL_XHCI_H */
diff --git a/src/soc/intel/fsp_baytrail/bootblock/bootblock.c b/src/soc/intel/fsp_baytrail/bootblock/bootblock.c
index bba5cf4..2b1eb10 100644
--- a/src/soc/intel/fsp_baytrail/bootblock/bootblock.c
+++ b/src/soc/intel/fsp_baytrail/bootblock/bootblock.c
@@ -19,12 +19,12 @@
 #include <cpu/x86/msr.h>
 #include <cpu/x86/mtrr.h>
 #include <cpu/intel/microcode/microcode.c>
-#include <baytrail/iosf.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/spi.h>
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/gpio.h>
+#include <soc/iosf.h>
+#include <soc/pci_devs.h>
+#include <soc/spi.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/gpio.h>
 #include <reset.h>
 
 /*
diff --git a/src/soc/intel/fsp_baytrail/chip.c b/src/soc/intel/fsp_baytrail/chip.c
index bd3b747..6bdb7b4 100644
--- a/src/soc/intel/fsp_baytrail/chip.c
+++ b/src/soc/intel/fsp_baytrail/chip.c
@@ -16,8 +16,8 @@
 #include <console/console.h>
 #include <device/device.h>
 #include <device/pci.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/ramstage.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 #include "chip.h"
 
diff --git a/src/soc/intel/fsp_baytrail/cpu.c b/src/soc/intel/fsp_baytrail/cpu.c
index 5f9fc4b..3451383 100644
--- a/src/soc/intel/fsp_baytrail/cpu.c
+++ b/src/soc/intel/fsp_baytrail/cpu.c
@@ -27,11 +27,11 @@
 #include <cpu/x86/smm.h>
 #include <reg_script.h>
 
-#include <baytrail/msr.h>
-#include <baytrail/pattrs.h>
-#include <baytrail/ramstage.h>
+#include <soc/msr.h>
+#include <soc/pattrs.h>
+#include <soc/ramstage.h>
 #if IS_ENABLED(CONFIG_HAVE_SMI_HANDLER)
-#include <baytrail/smm.h>
+#include <soc/smm.h>
 
 static void smm_relocate(void *unused);
 static void enable_smis(void *unused);
diff --git a/src/soc/intel/fsp_baytrail/fsp/chipset_fsp_util.c b/src/soc/intel/fsp_baytrail/fsp/chipset_fsp_util.c
index 462d007..1327533 100755
--- a/src/soc/intel/fsp_baytrail/fsp/chipset_fsp_util.c
+++ b/src/soc/intel/fsp_baytrail/fsp/chipset_fsp_util.c
@@ -21,18 +21,18 @@
 #include <cbmem.h>
 #include <device/device.h>
 #include <device/pci_def.h>
-#include <baytrail/pci_devs.h>
+#include <soc/pci_devs.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 #include "../chip.h"
 #include <arch/io.h>
-#include <baytrail/reset.h>
-#include <baytrail/pmc.h>
-#include <baytrail/acpi.h>
-#include <baytrail/iomap.h>
-#include <baytrail/smm.h>
+#include <soc/reset.h>
+#include <soc/pmc.h>
+#include <soc/acpi.h>
+#include <soc/iomap.h>
+#include <soc/smm.h>
 
 #ifdef __PRE_RAM__
-#include <baytrail/romstage.h>
+#include <soc/romstage.h>
 #endif
 
 #ifdef __PRE_RAM__
diff --git a/src/soc/intel/fsp_baytrail/gpio.c b/src/soc/intel/fsp_baytrail/gpio.c
index 3497a63..862e42b 100644
--- a/src/soc/intel/fsp_baytrail/gpio.c
+++ b/src/soc/intel/fsp_baytrail/gpio.c
@@ -15,9 +15,9 @@
 
 #include <device/pci.h>
 #include <console/console.h>
-#include <baytrail/gpio.h>
-#include <baytrail/pmc.h>
-#include <baytrail/smm.h>
+#include <soc/gpio.h>
+#include <soc/pmc.h>
+#include <soc/smm.h>
 
 /*
  * GPIO-to-Pad LUTs
diff --git a/src/soc/intel/fsp_baytrail/i2c.c b/src/soc/intel/fsp_baytrail/i2c.c
index 0d96faf..6cf07a4 100644
--- a/src/soc/intel/fsp_baytrail/i2c.c
+++ b/src/soc/intel/fsp_baytrail/i2c.c
@@ -14,11 +14,11 @@
  */
 
 #include <device/pci.h>
-#include <baytrail/baytrail.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/iosf.h>
+#include <soc/baytrail.h>
+#include <soc/pci_devs.h>
+#include <soc/iosf.h>
 #include <delay.h>
-#include <baytrail/i2c.h>
+#include <soc/i2c.h>
 
 /* Wait for the transmit FIFO till there is at least one slot empty.
  * FIFO stall due to transmit abort will be checked and resolved
diff --git a/src/soc/intel/fsp_baytrail/include/soc/acpi.h b/src/soc/intel/fsp_baytrail/include/soc/acpi.h
new file mode 100644
index 0000000..7dfec72
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/acpi.h
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ * Copyright (C) 2013 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_ACPI_H_
+#define _BAYTRAIL_ACPI_H_
+
+#include <arch/acpi.h>
+#include <soc/nvs.h>
+#include <device/device.h>
+
+void acpi_create_intel_hpet(acpi_hpet_t * hpet);
+void acpi_create_serialio_ssdt(acpi_header_t *ssdt);
+void acpi_fill_in_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt);
+unsigned long acpi_madt_irq_overrides(unsigned long current);
+void acpi_init_gnvs(global_nvs_t *gnvs);
+unsigned long southcluster_write_acpi_tables(device_t device,
+					     unsigned long current,
+					     struct acpi_rsdp *rsdp);
+void southcluster_inject_dsdt(device_t device);
+
+#endif /* _BAYTRAIL_ACPI_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/baytrail.h b/src/soc/intel/fsp_baytrail/include/soc/baytrail.h
new file mode 100644
index 0000000..bc75567
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/baytrail.h
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 coresystems GmbH
+ * Copyright (C) 2011 Google Inc.
+ * Copyright (C) 2013 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __SOC_INTEL_FSP_BAYTRAIL_BAYTRAIL_H__
+#define __SOC_INTEL_FSP_BAYTRAIL_BAYTRAIL_H__
+
+#define DEFAULT_ECBASE CONFIG_MMCONF_BASE_ADDRESS
+#define CPU_MICROCODE_CBFS_LEN 0x26000
+
+/* Southbridge internal device IO BARs (Set to match FSP settings) */
+#define SMBUS_IO_BASE		0xefa0
+#define SMBUS_SLAVE_ADDR	0x24
+#define DEFAULT_GPIOBASE	0x0500
+#define DEFAULT_ABASE		0x0400
+
+/* Southbridge internal device MEM BARs (Set to match FSP settings) */
+#define DEFAULT_IBASE		0xfed08000
+#define DEFAULT_PBASE		0xfed03000
+#ifndef __ACPI__
+#define DEFAULT_RCBA		((u8 *)0xfed1c000)
+#else
+#define DEFAULT_RCBA		0xfed1c000
+#endif
+/* Everything below this line is ignored in the DSDT */
+#ifndef __ACPI__
+
+/* Device 0:0.0 PCI configuration space (Host Bridge) */
+
+/* SOC types */
+#define SOC_TYPE_BAYTRAIL	0x0F1C
+
+#ifndef __ASSEMBLER__
+static inline void barrier(void) { asm("" ::: "memory"); }
+
+#define SKPAD 0xFC
+
+int bridge_silicon_revision(void);
+void rangeley_early_initialization(void);
+
+#ifndef __PRE_RAM__
+/* soc.c */
+int soc_silicon_revision(void);
+int soc_silicon_type(void);
+int soc_silicon_supported(int type, int rev);
+void soc_enable(device_t dev);
+
+/* debugging functions */
+void print_pci_devices(void);
+void dump_pci_device(unsigned dev);
+void dump_pci_devices(void);
+void dump_spd_registers(void);
+void dump_mem(unsigned start, unsigned end);
+void report_platform_info(void);
+
+#endif	/* __PRE_RAM__ */
+#endif	/* __ASSEMBLER__ */
+
+#endif	/* __ACPI__ */
+#endif
diff --git a/src/soc/intel/fsp_baytrail/include/soc/device_nvs.h b/src/soc/intel/fsp_baytrail/include/soc/device_nvs.h
new file mode 100644
index 0000000..5c4e49b
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/device_nvs.h
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_DEVICE_NVS_H_
+#define _BAYTRAIL_DEVICE_NVS_H_
+
+#include <stdint.h>
+
+/* Offset in Global NVS where this structure lives */
+#define DEVICE_NVS_OFFSET	0x1000
+
+#define LPSS_NVS_SIO_DMA1	0
+#define LPSS_NVS_I2C1		1
+#define LPSS_NVS_I2C2		2
+#define LPSS_NVS_I2C3		3
+#define LPSS_NVS_I2C4		4
+#define LPSS_NVS_I2C5		5
+#define LPSS_NVS_I2C6		6
+#define LPSS_NVS_I2C7		7
+#define LPSS_NVS_SIO_DMA2	8
+#define LPSS_NVS_SPI		9
+#define LPSS_NVS_PWM1		10
+#define LPSS_NVS_PWM2		11
+#define LPSS_NVS_HSUART1	12
+#define LPSS_NVS_HSUART2	13
+
+#define SCC_NVS_MMC		0
+#define SCC_NVS_SDIO		1
+#define SCC_NVS_SD		2
+
+typedef struct {
+	/* Device Enabled in ACPI Mode */
+	u8	lpss_en[14];
+	u8	scc_en[3];
+	u8	lpe_en;
+
+	/* BAR 0 */
+	u32	lpss_bar0[14];
+	u32	scc_bar0[3];
+	u32	lpe_bar0;
+
+	/* BAR 1 */
+	u32	lpss_bar1[14];
+	u32	scc_bar1[3];
+	u32	lpe_bar1;
+
+	/* Extra */
+	u32	lpe_fw; /* LPE Firmware */
+	u8	rsvd1[3930]; /* Add padding so sizeof(device_nvs_t) == 0x1000 */
+} __attribute__((packed)) device_nvs_t;
+
+#endif
diff --git a/src/soc/intel/fsp_baytrail/include/soc/ehci.h b/src/soc/intel/fsp_baytrail/include/soc/ehci.h
new file mode 100644
index 0000000..fe990b7
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/ehci.h
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef BAYTRAIL_EHCI_H
+#define BAYTRAIL_EHCI_H
+
+/* EHCI PCI Registers */
+#define EHCI_CMD_STS		0x04
+# define  INTRDIS		  (1 << 10)
+#define EHCI_SBRN_FLA_PWC	0x60
+# define  PORTWKIMP		  (1 << 16)
+# define  PORTWKCAPMASK		  (0x3ff << 17)
+#define EHCI_USB2PDO		0x64
+
+/* EHCI Memory Registers */
+#define USB2CMD			0x20
+# define  USB2CMD_ASE		  (1 << 5)
+# define  USB2CMD_PSE		  (1 << 4)
+# define  USB2CMD_HCRESET	  (1 << 1)
+# define  USB2CMD_RS		  (1 << 0)
+#define USB2STS			0x24
+# define  USB2STS_HCHALT	  (1 << 12)
+
+/* RCBA EHCI Registers */
+#define RCBA_FUNC_DIS		0x220
+# define  RCBA_EHCI_DIS		  (1 << 0)
+
+#endif /* BAYTRAIL_EHCI_H */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/gfx.h b/src/soc/intel/fsp_baytrail/include/soc/gfx.h
new file mode 100644
index 0000000..e7fc8ca
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/gfx.h
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_GFX_H_
+#define _BAYTRAIL_GFX_H_
+
+/*
+ * PCI config registers.
+ */
+
+#define GGC		0x50
+# define GGC_VGA_DISABLE	(1 << 1)
+# define GGC_GTT_SIZE_MASK	(3 << 8)
+# define GGC_GTT_SIZE_0MB	(0 << 8)
+# define GGC_GTT_SIZE_1MB	(1 << 8)
+# define GGC_GTT_SIZE_2MB	(2 << 8)
+# define GGC_GSM_SIZE_MASK	(0x1f << 3)
+# define GGC_GSM_SIZE_0MB	(0 << 3)
+# define GGC_GSM_SIZE_32MB	(1 << 3)
+# define GGC_GSM_SIZE_64MB	(2 << 3)
+# define GGC_GSM_SIZE_128MB	(4 << 3)
+
+#define GSM_BASE	0x5c
+#define GTT_BASE	0x70
+
+#define MSAC		0x62
+#define  APERTURE_SIZE_MASK	(3 << 1)
+#define  APERTURE_SIZE_128MB	(0 << 1)
+#define  APERTURE_SIZE_256MB	(1 << 1)
+#define  APERTURE_SIZE_512MB	(3 << 1)
+
+#endif /* _BAYTRAIL_GFX_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/gpio.h b/src/soc/intel/fsp_baytrail/include/soc/gpio.h
new file mode 100644
index 0000000..e1164a3
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/gpio.h
@@ -0,0 +1,444 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_GPIO_H_
+#define _BAYTRAIL_GPIO_H_
+
+#include <stdint.h>
+#include <arch/io.h>
+#include <soc/iomap.h>
+
+/* #define GPIO_DEBUG */
+
+/* Pad base, ex. PAD_CONF0[n]= PAD_BASE+16*n */
+#define GPSCORE_PAD_BASE	(IO_BASE_ADDRESS + IO_BASE_OFFSET_GPSCORE)
+#define GPNCORE_PAD_BASE	(IO_BASE_ADDRESS + IO_BASE_OFFSET_GPNCORE)
+#define GPSSUS_PAD_BASE		(IO_BASE_ADDRESS + IO_BASE_OFFSET_GPSSUS)
+
+/* DIRQ registers start at pad base + 0x980 */
+#define PAD_BASE_DIRQ_OFFSET		0x980
+
+/* Pad register offset */
+#define PAD_CONF0_REG			0x0
+#define PAD_CONF1_REG			0x4
+#define PAD_VAL_REG			0x8
+
+/* Legacy IO register base */
+#define GPSCORE_LEGACY_BASE		(GPIO_BASE_ADDRESS + 0x00)
+#define GPSSUS_LEGACY_BASE		(GPIO_BASE_ADDRESS + 0x80)
+/* Some banks have no legacy GPIO interface */
+#define GP_LEGACY_BASE_NONE		0xFFFF
+
+#define LEGACY_USE_SEL_REG		0x00
+#define LEGACY_IO_SEL_REG		0x04
+#define LEGACY_GP_LVL_REG		0x08
+#define LEGACY_TPE_REG			0x0C
+#define LEGACY_TNE_REG			0x10
+#define LEGACY_TS_REG			0x14
+#define LEGACY_WAKE_EN_REG		0x18
+
+/* Number of GPIOs in each bank */
+#define GPNCORE_COUNT		27
+#define GPSCORE_COUNT		102
+#define GPSSUS_COUNT		44
+
+/* GPIO legacy IO register settings */
+#define GPIO_USE_MMIO 		0
+#define GPIO_USE_LEGACY 	1
+
+#define GPIO_DIR_OUTPUT		0
+#define GPIO_DIR_INPUT		1
+
+#define GPIO_LEVEL_LOW		0
+#define GPIO_LEVEL_HIGH		1
+
+#define GPIO_PEDGE_DISABLE	0
+#define GPIO_PEDGE_ENABLE	1
+
+#define GPIO_NEDGE_DISABLE	0
+#define GPIO_NEDGE_ENABLE	1
+
+/* config0[29] - Disable second mask */
+#define PAD_MASK2_DISABLE	(1 << 29)
+
+/* config0[27] - Direct Irq En */
+#define PAD_IRQ_EN		(1 << 27)
+
+/* config0[26] - gd_tne */
+#define PAD_TNE_IRQ		(1 << 26)
+
+/* config0[25] - gd_tpe */
+#define PAD_TPE_IRQ		(1 << 25)
+
+/* config0[24] - Gd Level */
+#define PAD_LEVEL_IRQ		(1 << 24)
+#define PAD_EDGE_IRQ		(0 << 24)
+
+/* config0[17] - Slow clkgate / glitch filter */
+#define PAD_SLOWGF_ENABLE	(1 << 17)
+
+/* config0[16] - Fast clkgate / glitch filter */
+#define PAD_FASTGF_ENABLE	(1 << 16)
+
+/* config0[15] - Hysteresis enable (inverted) */
+#define PAD_HYST_DISABLE	(1 << 15)
+#define PAD_HYST_ENABLE		(0 << 15)
+
+/* config0[14:13] - Hysteresis control */
+#define PAD_HYST_CTRL_DEFAULT	(2 << 13)
+
+/* config0[11] - Bypass Flop */
+#define PAD_FLOP_BYPASS		(1 << 11)
+#define PAD_FLOP_ENABLE		(0 << 11)
+
+/* config0[10:9] - Pull str */
+#define PAD_PU_2K		(0 << 9)
+#define PAD_PU_10K		(1 << 9)
+#define PAD_PU_20K		(2 << 9)
+#define PAD_PU_40K		(3 << 9)
+
+/* config0[8:7] - Pull assign */
+#define PAD_PULL_DISABLE	(0 << 7)
+#define PAD_PULL_UP		(1 << 7)
+#define PAD_PULL_DOWN		(2 << 7)
+
+/* config0[2:0] - Func. pin mux */
+#define PAD_FUNC0		0x0
+#define PAD_FUNC1		0x1
+#define PAD_FUNC2		0x2
+#define PAD_FUNC3		0x3
+#define PAD_FUNC4		0x4
+#define PAD_FUNC5		0x5
+#define PAD_FUNC6		0x6
+
+/* pad config0 power-on values - We will not often want to change these */
+#define PAD_CONFIG0_DEFAULT	(PAD_MASK2_DISABLE     | PAD_SLOWGF_ENABLE | \
+				 PAD_FASTGF_ENABLE     | PAD_HYST_DISABLE | \
+				 PAD_HYST_CTRL_DEFAULT | PAD_FLOP_BYPASS)
+
+/* pad config1 reg power-on values - Shouldn't need to change this */
+#define PAD_CONFIG1_DEFAULT	0x8000
+
+/* pad_val[2] - Iinenb - active low */
+#define PAD_VAL_INPUT_DISABLE	(1 << 2)
+#define PAD_VAL_INPUT_ENABLE	(0 << 2)
+
+/* pad_val[1] - Ioutenb - active low */
+#define PAD_VAL_OUTPUT_DISABLE	(1 << 1)
+#define PAD_VAL_OUTPUT_ENABLE	(0 << 1)
+
+/* Input / Output state should usually be mutually exclusive */
+#define PAD_VAL_INPUT		(PAD_VAL_INPUT_ENABLE | PAD_VAL_OUTPUT_DISABLE)
+#define PAD_VAL_OUTPUT		(PAD_VAL_OUTPUT_ENABLE | PAD_VAL_INPUT_DISABLE)
+
+/* pad_val[0] - Value */
+#define PAD_VAL_HIGH		(1 << 0)
+#define PAD_VAL_LOW		(0 << 0)
+
+/* pad_val reg power-on default varies by pad, and apparently can cause issues
+ * if not set correctly, even if the pin isn't configured as GPIO. */
+#define PAD_VAL_DEFAULT		PAD_VAL_INPUT
+
+/* Configure GPIOs as MMIO by default */
+#define GPIO_INPUT_PU_10K \
+	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_UP | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .is_gpio   = 1 }
+
+#define GPIO_INPUT_PD_10K \
+	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DOWN | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .is_gpio   = 1 }
+
+#define GPIO_INPUT_PU_20K \
+	{ .pad_conf0 = PAD_PU_20K | PAD_PULL_UP | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .is_gpio   = 1 }
+
+#define GPIO_INPUT_PD_20K \
+	{ .pad_conf0 = PAD_PU_20K | PAD_PULL_DOWN | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .is_gpio   = 1 }
+
+#define GPIO_INPUT_NOPU \
+	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .is_gpio   = 1 }
+
+#define GPIO_INPUT_LEGACY_NOPU \
+	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_LEGACY, \
+	  .io_sel    = GPIO_DIR_INPUT, \
+	  .is_gpio   = 1 }
+
+/* Direct / dedicated IRQ input - pass signal directly to apic */
+#define GPIO_DIRQ \
+	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT \
+		     | PAD_FUNC0 | PAD_IRQ_EN | PAD_TPE_IRQ | PAD_LEVEL_IRQ, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, }
+
+#define GPIO_OUT_LOW_LEGACY \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_LOW, \
+	  .use_sel   = GPIO_USE_LEGACY, \
+	  .io_sel    = GPIO_DIR_OUTPUT, \
+	  .gp_lvl    = GPIO_LEVEL_LOW, \
+	  .is_gpio   = 1 }
+
+#define GPIO_OUT_HIGH_LEGACY \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_HIGH, \
+	  .use_sel   = GPIO_USE_LEGACY, \
+	  .io_sel    = GPIO_DIR_OUTPUT, \
+	  .gp_lvl    = GPIO_LEVEL_HIGH, \
+	  .is_gpio   = 1 }
+
+#define GPIO_OUT_LOW \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_LOW, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .io_sel    = GPIO_DIR_OUTPUT, \
+	  .gp_lvl    = GPIO_LEVEL_LOW, \
+	  .is_gpio   = 1 }
+
+#define GPIO_OUT_HIGH \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_OUTPUT | PAD_VAL_HIGH, \
+	  .use_sel   = GPIO_USE_MMIO, \
+	  .io_sel    = GPIO_DIR_OUTPUT, \
+	  .gp_lvl    = GPIO_LEVEL_HIGH, \
+	  .is_gpio   = 1 }
+
+/* Define no-pull / PU / PD configs for each functional config option */
+#define GPIO_FUNC(_func, _pudir, _str) \
+	{ .use_sel   = GPIO_USE_MMIO, \
+	  .pad_conf0 = PAD_FUNC##_func | PAD_##_pudir | PAD_PU_##_str | \
+		       PAD_CONFIG0_DEFAULT, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_DEFAULT }
+
+/* Default functional configs -- no PU */
+#define GPIO_FUNC0		GPIO_FUNC(0, PULL_DISABLE, 10K)
+#define GPIO_FUNC1		GPIO_FUNC(1, PULL_DISABLE, 10K)
+#define GPIO_FUNC2		GPIO_FUNC(2, PULL_DISABLE, 10K)
+#define GPIO_FUNC3		GPIO_FUNC(3, PULL_DISABLE, 10K)
+#define GPIO_FUNC4		GPIO_FUNC(4, PULL_DISABLE, 10K)
+#define GPIO_FUNC5		GPIO_FUNC(5, PULL_DISABLE, 10K)
+#define GPIO_FUNC6		GPIO_FUNC(6, PULL_DISABLE, 10K)
+
+/* ACPI GPIO routing. Assume everything is externally pulled and negative edge
+ * triggered. SCI implies WAKE, but WAKE doesn't imply SCI. */
+#define GPIO_ACPI_SCI \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT | PAD_FUNC0, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_LEGACY, \
+	  .io_sel    = GPIO_DIR_INPUT, \
+	  .tne       = 1, \
+	  .sci       = 1, \
+	  .wake_en   = 1, }
+#define GPIO_ACPI_WAKE \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT | PAD_FUNC0, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_LEGACY, \
+	  .io_sel    = GPIO_DIR_INPUT, \
+	  .tne       = 1, \
+	  .wake_en   = 1, }
+#define GPIO_ACPI_SMI \
+	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT | PAD_FUNC0, \
+	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
+	  .pad_val   = PAD_VAL_INPUT, \
+	  .use_sel   = GPIO_USE_LEGACY, \
+	  .io_sel    = GPIO_DIR_INPUT, \
+	  .tne       = 1, \
+	  .smi       = 1}
+
+/* End marker */
+#define GPIO_LIST_END		0xffffffff
+
+#define GPIO_END \
+	{  .pad_conf0 = GPIO_LIST_END }
+
+/* Common default GPIO settings */
+#define GPIO_INPUT 	GPIO_INPUT_NOPU
+#define GPIO_INPUT_LEGACY	GPIO_INPUT_LEGACY_NOPU
+#define GPIO_INPUT_PU	GPIO_INPUT_PU_10K
+#define GPIO_INPUT_PD 	GPIO_INPUT_PD_10K
+#define GPIO_NC			GPIO_INPUT_PU_10K
+#define GPIO_DEFAULT 	GPIO_FUNC0
+
+/* 16 DirectIRQs per supported bank */
+#define GPIO_MAX_DIRQS	16
+
+/* Most pins are GPIO function 0. Some banks have a range of pins with GPIO
+ * function 1. Indicate first / last GPIOs with function 1. */
+#define GPIO_NONE			255
+/* All NCORE GPIOs are function 0 */
+#define GPNCORE_GPIO_F1_RANGE_START	GPIO_NONE
+#define GPNCORE_GPIO_F1_RANGE_END	GPIO_NONE
+/* SCORE GPIO [92:93] are function 1 */
+#define GPSCORE_GPIO_F1_RANGE_START	92
+#define GPSCORE_GPIO_F1_RANGE_END	93
+/* SSUS GPIO [11:21] are function 1 */
+#define GPSSUS_GPIO_F1_RANGE_START	11
+#define GPSSUS_GPIO_F1_RANGE_END	21
+
+#ifndef __BOOTBLOCK__
+
+struct soc_gpio_map {
+	u32 pad_conf0;
+	u32 pad_conf1;
+	u32 pad_val;
+	u32 use_sel : 1;
+	u32 io_sel  : 1;
+	u32 gp_lvl  : 1;
+	u32 tpe     : 1;
+	u32 tne     : 1;
+	u32 wake_en : 1;
+	u32 smi     : 1;
+	u32 is_gpio : 1;
+	u32 sci     : 1;
+} __attribute__ ((packed));
+
+struct soc_gpio_config {
+	const struct soc_gpio_map *ncore;
+	const struct soc_gpio_map *score;
+	const struct soc_gpio_map *ssus;
+	const u8 (*core_dirq)[GPIO_MAX_DIRQS];
+	const u8 (*sus_dirq)[GPIO_MAX_DIRQS];
+};
+
+/* Description of GPIO 'bank' ex. {ncore, score. ssus} */
+struct gpio_bank {
+	const int gpio_count;
+	const u8* gpio_to_pad;
+	const int legacy_base;
+	const unsigned long pad_base;
+	const u8 has_wake_en :1;
+	const u8 gpio_f1_range_start;
+	const u8 gpio_f1_range_end;
+};
+
+void setup_soc_gpios(struct soc_gpio_config *config);
+/* This function is weak and can be overridden by a mainboard function. */
+struct soc_gpio_config* mainboard_get_gpios(void);
+uint8_t read_score_gpio(uint8_t gpio_num);
+void write_score_gpio(uint8_t gpio_num, uint8_t val);
+uint8_t read_ssus_gpio(uint8_t gpio_num);
+void write_ssus_gpio(uint8_t gpio_num, uint8_t val);
+void configure_ssus_gpio(uint8_t gpio_num, uint32_t pconf0, uint32_t pad_val);
+void configure_score_gpio(uint8_t gpio_num, uint32_t pconf0, uint32_t pad_val);
+
+#endif /* #ifndef __BOOTBLOCK__ */
+
+/* Functions / defines for changing GPIOs in romstage */
+/* SCORE Pad definitions. */
+#define UART_RXD_PAD			82
+#define UART_TXD_PAD			83
+#define PCU_SMB_CLK_PAD			88
+#define PCU_SMB_DATA_PAD		90
+
+static inline uint32_t *score_pconf0(int pad_num)
+{
+	return (uint32_t *)(GPSCORE_PAD_BASE + pad_num * 16);
+}
+
+static inline uint32_t *ssus_pconf0(int pad_num)
+{
+	return (uint32_t *)(GPSSUS_PAD_BASE + pad_num * 16);
+}
+
+static inline void score_select_func(int pad, int func)
+{
+	uint32_t reg;
+	uint32_t *pconf0_addr = score_pconf0(pad);
+
+	reg = read32(pconf0_addr);
+	reg &= ~0x7;
+	reg |= func & 0x7;
+	write32(pconf0_addr, reg);
+}
+
+static inline void ssus_select_func(int pad, int func)
+{
+	uint32_t reg;
+	uint32_t *pconf0_addr = ssus_pconf0(pad);
+
+	reg = read32(pconf0_addr);
+	reg &= ~0x7;
+	reg |= func & 0x7;
+	write32(pconf0_addr, reg);
+}
+
+#ifndef __BOOTBLOCK__
+
+/* These functions require that the input pad be configured as an input GPIO */
+static inline int score_get_gpio(int pad)
+{
+	uint32_t *val_addr = score_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
+
+	return read32(val_addr) & PAD_VAL_HIGH;
+}
+
+static inline int ssus_get_gpio(int pad)
+{
+	uint32_t *val_addr = ssus_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
+
+	return read32(val_addr) & PAD_VAL_HIGH;
+}
+
+/* These functions require that the output pad is configured as an output */
+/* GPIO and is mapped to memory space and not IO space. */
+static inline void score_set_gpio(int pad, int val)
+{
+	uint32_t *val_addr = score_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
+
+	write32(val_addr, ((read32(val_addr) & ~0x1) | val));
+}
+
+static inline void ssus_set_gpio(int pad, int val)
+{
+	uint32_t *val_addr = ssus_pconf0(pad) + (PAD_VAL_REG/sizeof(uint32_t));
+
+	write32(val_addr, ((read32(val_addr) & ~0x1) | val));
+}
+
+static inline void ssus_disable_internal_pull(int pad)
+{
+	const uint32_t pull_mask = ~(0xf << 7);
+	write32(ssus_pconf0(pad), read32(ssus_pconf0(pad)) & pull_mask);
+}
+
+#endif /* #ifndef __BOOTBLOCK__ */
+
+#endif /* _BAYTRAIL_GPIO_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/i2c.h b/src/soc/intel/fsp_baytrail/include/soc/i2c.h
new file mode 100644
index 0000000..4efb9bd
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/i2c.h
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Siemens AG
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __SOC_INTEL_FSP_BAYTRAIL_I2C_H__
+#define __SOC_INTEL_FSP_BAYTRAIL_I2C_H__
+
+#include <arch/io.h>
+#include <console/console.h>
+#include <device/pci_ids.h>
+#include <device/pci_def.h>
+#include <stdlib.h>
+
+/* SMBus controller settings in PCI configuration space */
+#define I2C_PCI_VENDOR_ID	0x8086
+#define I2C0_PCI_DEV_ID		0x0f41
+#define I2C1_PCI_DEV_ID		0x0f42
+#define I2C2_PCI_DEV_ID		0x0f43
+#define I2C3_PCI_DEV_ID		0x0f44
+#define I2C4_PCI_DEV_ID		0x0f45
+#define I2C5_PCI_DEV_ID		0x0f46
+#define I2C6_PCI_DEV_ID		0x0f47
+
+#define I2C0_MEM_BASE		0xd0921000
+#define I2C1_MEM_BASE		0xd0923000
+#define I2C2_MEM_BASE		0xd0925000
+#define I2C3_MEM_BASE		0xd0927000
+#define I2C4_MEM_BASE		0xd0929000
+#define I2C5_MEM_BASE		0xd092b000
+#define I2C6_MEM_BASE		0xd092d000
+
+#define I2C_STANDARD_MODE	0x1
+#define I2C_FAST_MODE		0x2
+
+/* Define relevant registers in PCI space */
+#define I2C_PCI_COMMAND		0x4
+#define I2C_PCI_STATUS		0x6
+
+/* Define memory mapped registers */
+#define I2C_CTRL		0x0
+#define  I2C_SLAVE_DISABLE	0x40
+#define  I2C_RESTART_EN		0x20
+#define  I2C_ADR_MODE		0x10
+#define  I2C_SPEED_MASK		0x6
+#define   I2C_STD_MODE		0x1
+#define   I2C_FAST_MODE		0x2
+#define  I2C_MASTER_ENABLE	0x1
+
+#define I2C_TARGET_ADR		0x4
+#define I2C_TARGET_ADR_MASK	0x3ff
+
+#define I2C_DATA_CMD		0x10
+#define  I2C_RESTART		0x400
+#define  I2C_STOP		0x200
+#define  I2C_RW_CMD		0x100
+
+#define I2C_SS_SCL_HCNT		0x14	/* Counter for high period for 100 kHz SCL */
+#define I2C_SS_SCL_LCNT		0x18	/* Counter for low period for 100 kHz SCL */
+#define I2C_FS_SCL_HCNT		0x1c	/* Counter for high period for 400 kHz SCL */
+#define I2C_FS_SCL_LCNT		0x20	/* Counter for low period for 400 kHz SCL */
+
+#define I2C_INTR_STAT		0x2c	/* Interrupt status register, read only */
+#define I2C_INTR_MASK		0x30	/* Interrupt mask register */
+#define I2C_RAW_INTR_STAT	0x34	/* Raw interrupt status, read only */
+#define  I2C_START_DETECT	0x400
+#define  I2C_STOP_DETECT	0x200
+#define  I2C_ACTIVITY		0x100
+#define  I2C_TX_ABORT		0x40
+#define  I2C_RD_REQ		0x20	/* Read request in slave mode */
+#define  I2C_TX_EMPTY		0x10
+#define  I2C_TX_OVERFLOW	0x8
+#define  I2C_RX_FULL		0x4
+#define  I2C_RX_OVERFLOW	0x2
+#define  I2C_RX_UNDERFLOW	0x1
+
+#define I2C_RX_TL		0x38	/* Rx FIFO threshold level 0..255 */
+#define I2C_TX_TL		0x3c	/* Tx FIFO threshold level 0..255 */
+#define I2C_CLR_INTR		0x40	/* Clear all events with a read */
+#define I2C_CLR_TX_ABRT		0x54	/* Clear TX-Abort event with a read */
+
+/* There are a bunch of interrupt clearing registers now which are not used! */
+/* So proceed somewhat later with definition */
+#define I2C_ENABLE		0x6c	/* 0: disable I2C controller, 1: enable */
+#define I2C_STATUS		0x70
+#define  I2C_MST_ACTIVITY	0x20	/* Master FSM activity */
+#define  I2C_RFF		0x10	/* Receive FIFO completely full */
+#define  I2C_RFNE		0x8	/* Receive FIFO not empty */
+#define  I2C_TFE		0x4	/* Transmit FIFO completely empty */
+#define  I2C_TFNF		0x2	/* Transmit FIFO not full */
+#define  I2C_ACTIVE		0x1	/* 1: I2C currently in operation */
+
+#define I2C_TXFLR		0x74	/* Current transmit FIFO level */
+#define I2C_RXFLR		0x78	/* Current receive FIFO level */
+#define I2C_SDA_HOLD		0x7c	/* Data hold time after SCL goes low */
+#define I2C_ABORT_SOURCE	0x80
+#define  I2C_ARB_LOST		0x1000	/* Arbitration lost */
+#define  I2C_MASTER_DIS		0x800	/* Master was disabled by user */
+#define  I2C_10B_RD_NORSTRT	0x400	/* 10 bit address read and RESTART disabled */
+#define  I2C_SBYTE_NORSTRT	0x200	/* START with RESTART disabled */
+#define  I2C_START_ACKDET	0x80	/* START byte was acknowledged */
+#define  I2C_TX_DATA_NOACK	0x8	/* TX data not acknowledged */
+#define  I2C_10B_ADR2_NOACK	0x4	/* Second address byte in 10 bit mode NACK */
+#define  I2C_10B_ADR1_NOACK	0x2	/* First address byte in 10 bit NACK */
+#define  I2C_7B_ADDR_NACK	0x1	/* 7 bit address byte not acknowledged */
+
+#define I2C_ENABLE_STATUS	0x9c
+
+/* Define some status and error values */
+#define I2C_ERR_INVALID_ADR	0x1000000
+#define I2C_ERR_TIMEOUT		0x2000000
+#define I2C_ERR_ABORT		0x4000000
+#define I2C_ERR			0x8000000
+#define I2C_SUCCESS		0x0000000
+
+
+#define I2C_TIMEOUT_US		2000	/* Use 2000 us as time */
+
+/* Prototype section*/
+int i2c_init(unsigned bus);
+int i2c_read(unsigned bus, unsigned chip, unsigned addr, uint8_t *buf, unsigned len);
+int i2c_write(unsigned bus, unsigned chip, unsigned addr, const uint8_t *buf, unsigned len);
+
+#endif	/* __SOC_INTEL_FSP_BAYTRAIL_I2C_H__ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/iomap.h b/src/soc/intel/fsp_baytrail/include/soc/iomap.h
new file mode 100644
index 0000000..bb6b4bb
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/iomap.h
@@ -0,0 +1,86 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_IOMAP_H_
+#define _BAYTRAIL_IOMAP_H_
+
+
+/*
+ * Memory Mapped IO bases.
+ */
+
+/* PCI Configuration Space */
+#define MCFG_BASE_ADDRESS		CONFIG_MMCONF_BASE_ADDRESS
+#define MCFG_BASE_SIZE			0x10000000
+
+/* Transactions in this range will abort */
+#define ABORT_BASE_ADDRESS		0xfeb00000
+#define ABORT_BASE_SIZE			0x00100000
+
+/* Power Management Controller */
+#define PMC_BASE_ADDRESS		0xfed03000
+#define PMC_BASE_SIZE			0x400
+
+/* IO Memory */
+#define IO_BASE_ADDRESS			0xfed0c000
+#define  IO_BASE_OFFSET_GPSCORE		0x0000
+#define  IO_BASE_OFFSET_GPNCORE		0x1000
+#define  IO_BASE_OFFSET_GPSSUS		0x2000
+#define IO_BASE_SIZE			0x4000
+
+/* Intel Legacy Block */
+#define ILB_BASE_ADDRESS		0xfed08000
+#define ILB_BASE_SIZE			0x400
+
+/* SPI Bus */
+#define SPI_BASE_ADDRESS		0xfed01000
+#define SPI_BASE_SIZE			0x400
+
+/* MODPHY */
+#define MPHY_BASE_ADDRESS		0xfef00000
+#define MPHY_BASE_SIZE			0x100000
+
+/* Power Management Unit */
+#define PUNIT_BASE_ADDRESS		0xfed05000
+#define PUNIT_BASE_SIZE			0x800
+
+/* Root Complex Base Address */
+#define RCBA_BASE_ADDRESS		0xfed1c000
+#define RCBA_BASE_SIZE			0x400
+
+/* High Performance Event Timer */
+#define HPET_BASE_ADDRESS		0xfed00000
+#define HPET_BASE_SIZE			0x400
+
+/* Temporary Base Address */
+#define TEMP_BASE_ADDRESS		0xfd000000
+
+/*
+ * IO Port bases.
+ */
+#define ACPI_BASE_ADDRESS		0x0400
+#define ACPI_BASE_SIZE			0x80
+
+#define GPIO_BASE_ADDRESS		0x0500
+#define GPIO_BASE_SIZE			0x100
+
+#define SMBUS_BASE_ADDRESS		0xefa0
+
+#ifndef __ACPI__
+/* Read Top of Low Memory (BMBOUND) */
+uint32_t nc_read_top_of_low_memory(void);
+#endif
+
+#endif /* _BAYTRAIL_IOMAP_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/iosf.h b/src/soc/intel/fsp_baytrail/include/soc/iosf.h
new file mode 100644
index 0000000..1c38884
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/iosf.h
@@ -0,0 +1,191 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_IOSF_H_
+#define _BAYTRAIL_IOSF_H_
+
+#include <stdint.h>
+#include <soc/pci_devs.h>
+
+/*
+ * The Bay Trail SoC has a message network called IOSF Sideband. The access
+ * routines are through 3 registers in PCI config space of 00:00.0:
+ *  MCR - control register
+ *  MDR - data register
+ *  MCRX - control register extension
+ * The extension register is only used for addresses that don't fit into the
+ * 8 bit register address.
+ */
+
+#ifndef PCI_DEV
+#define PCI_DEV(SEGBUS, DEV, FN) ( \
+        (((SEGBUS) & 0xFFF) << 20) | \
+        (((DEV) & 0x1F) << 15) | \
+        (((FN)  & 0x07) << 12))
+#endif
+#define IOSF_PCI_DEV PCI_DEV(0,SOC_DEV,SOC_FUNC)
+
+#define MCR_REG 0xd0
+#define  IOSF_OPCODE(x) ((x) << 24)
+#define  IOSF_PORT(x) ((0xff & (x)) << 16)
+#define  IOSF_REG(x) ((0xff & (x)) << 8)
+#define  IOSF_REG_UPPER(x) (((~0xff) & (x)))
+#define  IOSF_BYTE_EN_0 0x10
+#define  IOSF_BYTE_EN_1 0x20
+#define  IOSF_BYTE_EN_2 0x40
+#define  IOSF_BYTE_EN_3 0x80
+#define  IOSF_BYTE_EN \
+	  (IOSF_BYTE_EN_0 | IOSF_BYTE_EN_1 | IOSF_BYTE_EN_2 | IOSF_BYTE_EN_3)
+#define MDR_REG 0xd4
+#define MCRX_REG 0xd8
+
+uint32_t iosf_bunit_read(int reg);
+void iosf_bunit_write(int reg, uint32_t val);
+uint32_t iosf_dunit_read(int reg);
+void iosf_dunit_write(int reg, uint32_t val);
+/* Some registers are per channel while the globals live in dunit 0 */
+uint32_t iosf_dunit_ch0_read(int reg);
+uint32_t iosf_dunit_ch1_read(int reg);
+uint32_t iosf_punit_read(int reg);
+uint32_t iosf_lpss_read(int reg);
+void iosf_lpss_write(int reg, uint32_t val);
+
+/* IOSF ports. */
+#define IOSF_PORT_AUNIT		0x00 /* IO Arbiter unit */
+#define IOSF_PORT_SYSMEMC	0x01 /* System Memory Controller */
+#define IOSF_PORT_BUNIT		0x03 /* System Memory Arbiter/Bunit */
+#define IOSF_PORT_DUNIT_CH1	0x07 /* DUNIT Channel 1 */
+#define IOSF_PORT_USBPHY	0x43 /* USB PHY */
+#define IOSF_PORT_USHPHY	0x61 /* USB XHCI PHY */
+#define IOSF_PORT_LPSS		0xa0 /* LPSS - Low Power Subsystem */
+
+/* Read and write opcodes differ per port. */
+#define IOSF_OP_READ_SYSMEMC	0x10
+#define IOSF_OP_WRITE_SYSMEMC	(IOSF_OP_READ_SYSMEMC | 1)
+#define IOSF_OP_READ_BUNIT	0x10
+#define IOSF_OP_WRITE_BUNIT	(IOSF_OP_READ_BUNIT | 1)
+#define IOSF_OP_READ_LPSS	0x06
+#define IOSF_OP_WRITE_LPSS	(IOSF_OP_READ_LPSS | 1)
+
+/*
+ * BUNIT Registers.
+ */
+
+#define BNOCACHE		0x23
+/* BMBOUND has a 128MiB granularity. Highest address is 0xf8000000. */
+#define BUNIT_BMBOUND		0x25
+/* BMBOUND_HI describes the available ram above 4GiB. It has a
+ * 256MiB granularity. Physical address bits 35:28 are compared with 31:24
+ * bits in the BMBOUND_HI register. Also note that since BMBOUND has 128MiB
+ * granularity care needs to be taken with the e820 map to account for a hole
+ * in the ram. */
+#define BUNIT_BMBOUND_HI	0x26
+#define BUNIT_MMCONF_REG	0x27
+/* The SMMRR registers define the SMM region in MiB granularity. */
+#define BUNIT_SMRRL		0x2e
+#define BUNIT_SMRRH		0x2f
+# define BUNIT_SMRR_ENABLE	(1 << 31)
+
+/*
+ * DUNIT Registers.
+ */
+
+#define DRP			0x00
+# define DRP_DIMM0_RANK0_EN	(0x01 << 0)
+# define DRP_DIMM0_RANK1_EN	(0x01 << 1)
+# define DRP_DIMM1_RANK0_EN	(0x01 << 2)
+# define DRP_DIMM1_RANK1_EN	(0x01 << 3)
+# define DRP_RANK_MASK (DRP_DIMM0_RANK0_EN | DRP_DIMM0_RANK1_EN | \
+			DRP_DIMM1_RANK0_EN | DRP_DIMM1_RANK1_EN)
+#define DTR0			0x01
+# define DTR0_SPEED_MASK	0x03
+# define DTR0_SPEED_800		0x00
+# define DTR0_SPEED_1066	0x01
+# define DTR0_SPEED_1333	0x02
+# define DTR0_SPEED_1600	0x03
+
+
+/*
+ * LPSS Registers
+ */
+#define LPSS_SIO_DMA1_CTL		0x280
+#define LPSS_I2C1_CTL			0x288
+#define LPSS_I2C2_CTL			0x290
+#define LPSS_I2C3_CTL			0x298
+#define LPSS_I2C4_CTL			0x2a0
+#define LPSS_I2C5_CTL			0x2a8
+#define LPSS_I2C6_CTL			0x2b0
+#define LPSS_I2C7_CTL			0x2b8
+#define LPSS_SIO_DMA2_CTL		0x240
+#define LPSS_PWM1_CTL			0x248
+#define LPSS_PWM2_CTL			0x250
+#define LPSS_HSUART1_CTL		0x258
+#define LPSS_HSUART2_CTL		0x260
+#define LPSS_SPI_CTL			0x268
+# define LPSS_CTL_ACPI_INT_EN			(1 << 21)
+# define LPSS_CTL_PCI_CFG_DIS			(1 << 20)
+# define LPSS_CTL_SNOOP				(1 << 18)
+# define LPSS_CTL_NOSNOOP			(1 << 19)
+# define LPSS_CTL_PM_CAP_PRSNT			(1 <<  1)
+
+/*
+ * SCC Registers
+ */
+#define SCC_SD_CTL			0x504
+#define SCC_SDIO_CTL			0x508
+#define SCC_MMC_CTL			0x50c
+# define SCC_CTL_PCI_CFG_DIS			(1 << 0)
+# define SCC_CTL_ACPI_INT_EN			(1 << 1)
+
+/*
+ * CCU Registers
+ */
+
+#define PLT_CLK_CTRL_0			0x3c
+#define PLT_CLK_CTRL_1			0x40
+#define PLT_CLK_CTRL_2			0x44
+#define PLT_CLK_CTRL_3			0x48
+#define PLT_CLK_CTRL_4			0x4c
+#define PLT_CLK_CTRL_5			0x50
+# define PLT_CLK_CTRL_19P2MHZ_FREQ		(0 <<  1)
+# define PLT_CLK_CTRL_25MHZ_FREQ		(1 <<  1)
+# define PLT_CLK_CTRL_SELECT_FREQ		(1 <<  0)
+
+/*
+ * USBPHY Registers
+ */
+#define USBPHY_COMPBG				0x7f04
+#define USBPHY_PER_PORT_LANE0			0x4100
+#define USBPHY_PER_PORT_RCOMP_HS_PULLUP0	0x4122
+#define USBPHY_PER_PORT_LANE1			0x4200
+#define USBPHY_PER_PORT_RCOMP_HS_PULLUP1	0x4222
+#define USBPHY_PER_PORT_LANE2			0x4300
+#define USBPHY_PER_PORT_RCOMP_HS_PULLUP2	0x4322
+#define USBPHY_PER_PORT_LANE3			0x4400
+#define USBPHY_PER_PORT_RCOMP_HS_PULLUP3	0x4422
+
+/*
+ * USHPHY Registers
+ */
+#define USHPHY_CDN_PLL_CONTROL			0x03c0
+#define USHPHY_CDN_VCO_START_CAL_POINT		0x0054
+#define USHPHY_CCDRLF				0x8040
+#define USHPHY_PEAKING_AMP_CONFIG_DIAG		0x80a8
+#define USHPHY_OFFSET_COR_CONFIG_DIAG		0x80b0
+#define USHPHY_VGA_GAIN_CONFIG_DIAG		0x8080
+#define USHPHY_REE_DAC_CONTROL			0x80b8
+#define USHPHY_CDN_U1_POWER_STATE_DEF		0x0000
+
+#endif /* _BAYTRAIL_IOSF_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/irq.h b/src/soc/intel/fsp_baytrail/include/soc/irq.h
new file mode 100644
index 0000000..de8fc03
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/irq.h
@@ -0,0 +1,164 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_IRQ_H_
+#define _BAYTRAIL_IRQ_H_
+
+#define PIRQA_APIC_IRQ			16
+#define PIRQB_APIC_IRQ			17
+#define PIRQC_APIC_IRQ			18
+#define PIRQD_APIC_IRQ			19
+#define PIRQE_APIC_IRQ			20
+#define PIRQF_APIC_IRQ			21
+#define PIRQG_APIC_IRQ			22
+#define PIRQH_APIC_IRQ			23
+/* The below IRQs are for when devices are in ACPI mode. Active low. */
+#define LPE_DMA0_IRQ			24
+#define LPE_DMA1_IRQ			25
+#define LPE_SSP0_IRQ			26
+#define LPE_SSP1_IRQ			27
+#define LPE_SSP2_IRQ			28
+#define LPE_IPC2HOST_IRQ		29
+#define LPSS_I2C1_IRQ			32
+#define LPSS_I2C2_IRQ			33
+#define LPSS_I2C3_IRQ			34
+#define LPSS_I2C4_IRQ			35
+#define LPSS_I2C5_IRQ			36
+#define LPSS_I2C6_IRQ			37
+#define LPSS_I2C7_IRQ			38
+#define LPSS_HSUART1_IRQ		39
+#define LPSS_HSUART2_IRQ		40
+#define LPSS_SPI_IRQ			41
+#define LPSS_DMA1_IRQ			42
+#define LPSS_DMA2_IRQ			43
+#define SCC_EMMC_IRQ			44
+#define SCC_SDIO_IRQ			46
+#define SCC_SD_IRQ			47
+#define GPIO_NC_IRQ			48
+#define GPIO_SC_IRQ			49
+#define GPIO_SUS_IRQ			50
+/* GPIO direct / dedicated IRQs. */
+#define GPIO_S0_DED_IRQ_0		51
+#define GPIO_S0_DED_IRQ_1		52
+#define GPIO_S0_DED_IRQ_2		53
+#define GPIO_S0_DED_IRQ_3		54
+#define GPIO_S0_DED_IRQ_4		55
+#define GPIO_S0_DED_IRQ_5		56
+#define GPIO_S0_DED_IRQ_6		57
+#define GPIO_S0_DED_IRQ_7		58
+#define GPIO_S0_DED_IRQ_8		59
+#define GPIO_S0_DED_IRQ_9		60
+#define GPIO_S0_DED_IRQ_10		61
+#define GPIO_S0_DED_IRQ_11		62
+#define GPIO_S0_DED_IRQ_12		63
+#define GPIO_S0_DED_IRQ_13		64
+#define GPIO_S0_DED_IRQ_14		65
+#define GPIO_S0_DED_IRQ_15		66
+#define GPIO_S5_DED_IRQ_0		67
+#define GPIO_S5_DED_IRQ_1		68
+#define GPIO_S5_DED_IRQ_2		69
+#define GPIO_S5_DED_IRQ_3		70
+#define GPIO_S5_DED_IRQ_4		71
+#define GPIO_S5_DED_IRQ_5		72
+#define GPIO_S5_DED_IRQ_6		73
+#define GPIO_S5_DED_IRQ_7		74
+#define GPIO_S5_DED_IRQ_8		75
+#define GPIO_S5_DED_IRQ_9		76
+#define GPIO_S5_DED_IRQ_10		77
+#define GPIO_S5_DED_IRQ_11		78
+#define GPIO_S5_DED_IRQ_12		79
+#define GPIO_S5_DED_IRQ_13		80
+#define GPIO_S5_DED_IRQ_14		81
+#define GPIO_S5_DED_IRQ_15		82
+/* DIRQs - Two levels of expansion to evaluate to numeric constants for ASL. */
+#define _GPIO_S0_DED_IRQ(slot)		GPIO_S0_DED_IRQ_##slot
+#define _GPIO_S5_DED_IRQ(slot)		GPIO_S5_DED_IRQ_##slot
+#define GPIO_S0_DED_IRQ(slot)		_GPIO_S0_DED_IRQ(slot)
+#define GPIO_S5_DED_IRQ(slot)		_GPIO_S5_DED_IRQ(slot)
+
+/* PIC IRQ settings. */
+#define PIRQ_PIC_IRQ3			0x3
+#define PIRQ_PIC_IRQ4			0x4
+#define PIRQ_PIC_IRQ5			0x5
+#define PIRQ_PIC_IRQ6			0x6
+#define PIRQ_PIC_IRQ7			0x7
+#define PIRQ_PIC_IRQ9			0x9
+#define PIRQ_PIC_IRQ10			0xa
+#define PIRQ_PIC_IRQ11			0xb
+#define PIRQ_PIC_IRQ12			0xc
+#define PIRQ_PIC_IRQ14			0xe
+#define PIRQ_PIC_IRQ15			0xf
+#define PIRQ_PIC_IRQDISABLE		0x80
+#define PIRQ_PIC_UNKNOWN_UNUSED		0xff
+
+/* Overloaded term, but these values determine the per device route. */
+#define PIRQA				0
+#define PIRQB				1
+#define PIRQC				2
+#define PIRQD				3
+#define PIRQE				4
+#define PIRQF				5
+#define PIRQG				6
+#define PIRQH				7
+
+/* These registers live behind the ILB_BASE_ADDRESS */
+#define ACTL				0x00
+# define SCIS_MASK				0x07
+# define SCIS_IRQ9				0x00
+# define SCIS_IRQ10				0x01
+# define SCIS_IRQ11				0x02
+# define SCIS_IRQ20				0x04
+# define SCIS_IRQ21				0x05
+# define SCIS_IRQ22				0x06
+# define SCIS_IRQ23				0x07
+
+/* In each mainboard directory there should exist a header file irqroute.h that
+ * defines the PCI_DEV_PIRQ_ROUTES and PIRQ_PIC_ROUTES macros which
+ * consist of PCI_DEV_PIRQ_ROUTE and PIRQ_PIC entries. */
+
+#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
+#include <stdint.h>
+
+#define NUM_OF_PCI_DEVS 32
+#define NUM_PIRQS   8
+
+struct baytrail_irq_route {
+	/* Per device configuration. */
+	uint16_t pcidev[NUM_OF_PCI_DEVS];
+	/* Route path for each internal PIRQx in PIC mode. */
+	uint8_t  pic[NUM_PIRQS];
+};
+
+extern const struct baytrail_irq_route global_baytrail_irq_route;
+
+#define DEFINE_IRQ_ROUTES \
+	const struct baytrail_irq_route global_baytrail_irq_route = { \
+		.pcidev = { PCI_DEV_PIRQ_ROUTES, }, \
+		.pic = { PIRQ_PIC_ROUTES, }, \
+	}
+
+#define PCI_DEV_PIRQ_ROUTE(dev_, a_, b_, c_, d_) \
+	[dev_] = ((PIRQ ## d_) << 12) | ((PIRQ ## c_) << 8) | \
+	         ((PIRQ ## b_) <<  4) | ((PIRQ ## a_) << 0)
+
+#define PIRQ_PIC(pirq_, pic_irq_) \
+	[PIRQ ## pirq_] = PIRQ_PIC_IRQ ## pic_irq_
+
+/* used for ACPI only */
+#define PCIE_BRIDGE_DEV(prefix_, dev_, a_, b_, c_, d_)
+
+#endif /* !defined(__ASSEMBLER__) && !defined(__ACPI__) */
+
+#endif /* _BAYTRAIL_IRQ_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/lpc.h b/src/soc/intel/fsp_baytrail/include/soc/lpc.h
new file mode 100644
index 0000000..832fb31
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/lpc.h
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2013-2014 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_LPC_H_
+#define _BAYTRAIL_LPC_H_
+
+#define FADT_SOC_LPC_DEV 0, PCI_DEVFN(0x1f,0)
+
+/* PCI config registers in LPC bridge. */
+#define REVID		0x08
+#define ABASE		0x40 /* IO BAR */
+#define PBASE		0x44 /* MEM BAR */
+#define GBASE		0x48 /* IO BAR */
+#define IOBASE		0x4c /* MEM BAR */
+#define IBASE		0x50 /* MEM BAR */
+#define SBASE		0x54 /* MEM BAR */
+#define MPBASE		0x58 /* MEM BAR */
+#define PUBASE		0x5c
+#define  SET_BAR_ENABLE	0x02
+#define UART_CONT	0x80
+#define RCBA		0xf0
+#define  RCBA_ENABLE 0x01
+
+#define ILB_ACTL	0
+#define ILB_MC			0x4
+#define ILB_PIRQA_ROUT	0x8
+#define ILB_PIRQB_ROUT	0x9
+#define ILB_PIRQC_ROUT	0xA
+#define ILB_PIRQD_ROUT	0xB
+#define ILB_PIRQE_ROUT	0xC
+#define ILB_PIRQF_ROUT	0xD
+#define ILB_PIRQG_ROUT	0xE
+#define ILB_PIRQH_ROUT	0xF
+#define ILB_SERIRQ_CNTL	0x10
+#define  SCNT_CONTINUOUS_MODE	(1 << 7)
+#define  SCNT_QUIET_MODE		0
+#define ILB_IR00 0x20
+#define ILB_IR01 0x22
+#define ILB_IR02 0x24
+#define ILB_IR03 0x26
+#define ILB_IR04 0x28
+#define ILB_IR05 0x2A
+#define ILB_IR06 0x2C
+#define ILB_IR07 0x2E
+#define ILB_IR08 0x30
+#define ILB_IR09 0x32
+#define ILB_IR10 0x34
+#define ILB_IR11 0x36
+#define ILB_IR12 0x38
+#define ILB_IR13 0x3A
+#define ILB_IR14 0x3C
+#define ILB_IR15 0x3E
+#define ILB_IR16 0x40
+#define ILB_IR17 0x42
+#define ILB_IR18 0x44
+#define ILB_IR19 0x46
+#define ILB_IR20 0x48
+#define ILB_IR21 0x4A
+#define ILB_IR22 0x4C
+#define ILB_IR23 0x4E
+#define ILB_IR24 0x50
+#define ILB_IR25 0x52
+#define ILB_IR26 0x54
+#define ILB_IR27 0x56
+#define ILB_IR28 0x58
+#define ILB_IR29 0x5A
+#define ILB_IR30 0x5C
+#define ILB_IR31 0x5E
+#define ILB_OIC	0x60
+#define  SIRQEN (1 << 12)
+#define  AEN    (1 << 8)
+
+#define RID_A_STEPPING_START 1
+#define RID_B_STEPPING_START 5
+#define RID_C_STEPPING_START 0xe
+#define RID_D_STEPPING_START 0x11
+
+enum baytrail_stepping {
+	STEP_A0,
+	STEP_A1,
+	STEP_B0,
+	STEP_B1,
+	STEP_B2,
+	STEP_B3,
+	STEP_C0,
+	STEP_D0,
+};
+
+/* Registers behind the RCBA_BASE_ADDRESS bar. */
+#define GCS		0x00
+# define BILD		(1 << 0)
+
+/* Default IO range claimed by the LPC devices. The upper bound is exclusive. */
+#define LPC_DEFAULT_IO_RANGE_LOWER 0
+#define LPC_DEFAULT_IO_RANGE_UPPER 0x1000
+#define IO_APIC_RANGE_SIZE	0x1000
+
+#endif /* _BAYTRAIL_LPC_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/msr.h b/src/soc/intel/fsp_baytrail/include/soc/msr.h
new file mode 100644
index 0000000..ea1d790
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/msr.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_MSR_H_
+#define _BAYTRAIL_MSR_H_
+
+#define MSR_IA32_PLATFORM_ID		0x17
+#define MSR_BSEL_CR_OVERCLOCK_CONTROL	0xcd
+#define MSR_PLATFORM_INFO		0xce
+#define MSR_PMG_CST_CONFIG_CONTROL	0xe2
+#define MSR_POWER_MISC			0x120
+#define MSR_IA32_PERF_CTL		0x199
+#define MSR_IA32_MISC_ENABLES		0x1a0
+#define MSR_POWER_CTL			0x1fc
+#define MSR_PKG_POWER_SKU_UNIT		0x606
+#define MSR_PKG_POWER_LIMIT		0x610
+#define MSR_IACORE_RATIOS		0x66a
+#define MSR_IACORE_TURBO_RATIOS		0x66c
+#define MSR_IACORE_VIDS			0x66b
+#define MSR_IACORE_TURBO_VIDS		0x66d
+
+/* Read BCLK from MSR */
+unsigned bus_freq_khz(void);
+
+#endif /* _BAYTRAIL_MSR_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/nvm.h b/src/soc/intel/fsp_baytrail/include/soc/nvm.h
new file mode 100644
index 0000000..d03506e
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/nvm.h
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _NVM_H_
+#define _NVM_H_
+
+#include <stddef.h>
+
+/* Determine if area is erased. returns 1 if erased. 0 otherwise. */
+int nvm_is_erased(const void *start, size_t size);
+
+/* Erase region according to start and size. Returns < 0 on error else 0. */
+int nvm_erase(void *start, size_t size);
+
+/* Write data to NVM. Returns 0 on success < 0 on error.  */
+int nvm_write(void *start, const void *data, size_t size);
+
+#endif /* _NVM_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/nvs.h b/src/soc/intel/fsp_baytrail/include/soc/nvs.h
new file mode 100644
index 0000000..17c60dd
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/nvs.h
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2011 Google Inc
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_NVS_H_
+#define _BAYTRAIL_NVS_H_
+
+#include <soc/device_nvs.h>
+
+typedef struct {
+	/* Miscellaneous */
+	u16	osys; /* 0x00 - Operating System */
+	u8	smif; /* 0x02 - SMI function call ("TRAP") */
+	u8	prm0; /* 0x03 - SMI function call parameter */
+	u8	prm1; /* 0x04 - SMI function call parameter */
+	u8	scif; /* 0x05 - SCI function call (via _L00) */
+	u8	prm2; /* 0x06 - SCI function call parameter */
+	u8	prm3; /* 0x07 - SCI function call parameter */
+	u8	lckf; /* 0x08 - Global Lock function for EC */
+	u8	prm4; /* 0x09 - Lock function parameter */
+	u8	prm5; /* 0x0a - Lock function parameter */
+	u32	p80d; /* 0x0b - Debug port (IO 0x80) value */
+	u8	lids; /* 0x0f - LID state (open = 1) */
+	u8	pwrs; /* 0x10 - Power state (AC = 1) */
+	u8	pcnt; /* 0x11 - Processor Count */
+	u8	tpmp; /* 0x12 - TPM Present and Enabled */
+	u8	tlvl; /* 0x13 - Throttle Level */
+	u8	ppcm; /* 0x14 - Maximum P-state usable by OS */
+	u8	rsvd1[11];
+
+	/* Device Config */
+	u8	s5u0; /* 0x20 - Enable USB0 in S5 */
+	u8	s5u1; /* 0x21 - Enable USB1 in S5 */
+	u8	s3u0; /* 0x22 - Enable USB0 in S3 */
+	u8	s3u1; /* 0x23 - Enable USB1 in S3 */
+	u8	tact; /* 0x24 - Thermal Active trip point */
+	u8	tpsv; /* 0x25 - Thermal Passive trip point */
+	u8	tcrt; /* 0x26 - Thermal Critical trip point */
+	u8	dpte; /* 0x27 - Enable DPTF */
+	u8	rsvd2[8];
+
+	/* Base Addresses */
+	u32	obsolete_cmem; /* 0x30 - CBMEM TOC */
+	u32	tolm; /* 0x34 - Top of Low Memory */
+	u32	cbmc; /* 0x38 - coreboot memconsole */
+	u8	rsvd3[196];
+
+	/* Pad 0x0100-0x0fff */
+	u8	rsvd4[3840];
+
+	/* Baytrail LPSS (0x1000) */
+	device_nvs_t dev;
+} __attribute__((packed)) global_nvs_t;
+
+void acpi_create_gnvs(global_nvs_t *gnvs);
+#ifdef __SMM__
+/* Used in SMM to find the ACPI GNVS address */
+global_nvs_t *smm_get_gnvs(void);
+#endif
+
+#endif /* _BAYTRAIL_NVS_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/pattrs.h b/src/soc/intel/fsp_baytrail/include/soc/pattrs.h
new file mode 100644
index 0000000..7d10cea
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/pattrs.h
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _PATTRS_H_
+#define _PATTRS_H_
+
+#include <stdint.h>
+#include <cpu/x86/msr.h>
+
+enum {
+	IACORE_MIN,
+	IACORE_LFM,
+	IACORE_MAX,
+	IACORE_TURBO,
+	IACORE_END
+};
+
+/* The pattrs structure is a common place to stash pertinent information
+ * about the processor or platform. Instead of going to the source (msrs, cpuid)
+ * every time an attribute is needed use the pattrs structure.
+ */
+struct pattrs {
+	msr_t platform_id;
+	msr_t platform_info;
+	int iacore_ratios[IACORE_END];
+	int iacore_vids[IACORE_END];
+	uint32_t cpuid;
+	int revid;
+	int stepping;
+	const void *microcode_patch;
+	int address_bits;
+	int num_cpus;
+	unsigned bclk_khz;
+};
+
+/* This is just to hide the abstraction w/o relying on how the underlying
+ * storage is allocated. */
+#define PATTRS_GLOB_NAME __global_pattrs
+#define DEFINE_PATTRS struct pattrs PATTRS_GLOB_NAME
+extern DEFINE_PATTRS;
+
+static inline const struct pattrs *pattrs_get(void)
+{
+	return &PATTRS_GLOB_NAME;
+}
+
+
+#endif /* _PATTRS_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/pci_devs.h b/src/soc/intel/fsp_baytrail/include/soc/pci_devs.h
new file mode 100644
index 0000000..2d0dac1
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/pci_devs.h
@@ -0,0 +1,237 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2013 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_PCI_DEVS_H_
+#define _BAYTRAIL_PCI_DEVS_H_
+
+#define BUS0 0
+
+/* All these devices live on bus 0 with the associated device and function */
+#define DEV_FUNC(x,y) ((x<<3) | y)
+
+
+/* SoC transaction router */
+#define SOC_DEV 0x0
+#define SOC_FUNC 0
+# define SOC_DEVID 0x0f00
+# define SOC_DEV_FUNC DEV_FUNC(SOC_DEV,SOC_FUNC)
+
+
+/* Graphics and Display */
+#define GFX_DEV 0x2
+#define GFX_FUNC 0
+# define GFX_DEVID 0x0f31
+# define GFX_DEV_FUNC DEV_FUNC(GFX_DEV,GFX_FUNC)
+
+/* MIPI */
+#define MIPI_DEV 0x3
+#define MIPI_FUNC 0
+# define MIPI_DEVID 0x0f38
+# define MIPI_DEV_FUNC DEV_FUNC(MIPI_DEV,MIPI_FUNC)
+
+
+/* SDIO Port */
+#define EMMC_DEV 0x10
+#define EMMC_FUNC 0
+# define EMMC_DEVID 0x0f14
+# define EMMC_DEV_FUNC DEV_FUNC(EMMC_DEV,EMMC_FUNC)
+
+/* SDIO Port */
+#define SDIO_DEV 0x11
+#define SDIO_FUNC 0
+# define SDIO_DEVID 0x0f15
+# define SDIO_DEV_FUNC DEV_FUNC(SDIO_DEV,SDIO_FUNC)
+
+/* SD Port */
+#define SD_DEV 0x12
+#define SD_FUNC 0
+# define SD_DEVID 0x0f16
+# define SD_DEV_FUNC DEV_FUNC(SD_DEV,SD_FUNC)
+
+/* SATA */
+#define SATA_DEV 0x13
+#define SATA_FUNC 0
+# define IDE1_DEVID 0x0f20
+# define IDE2_DEVID 0x0f21
+# define AHCI1_DEVID 0x0f22
+# define AHCI2_DEVID 0x0f23
+# define SATA_MA 0x84
+# define SATA_MAP 0x90
+# define SATA_PSC 0x92
+# define SATA_SP 0xD0
+# define SATA_BIST1 0xE4
+# define SATA_BIST2 0xE8
+# define SATA_DEV_FUNC DEV_FUNC(SATA_DEV,SATA_FUNC)
+
+#define SATA_MA_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_MA
+#define SATA_SP_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_SP
+#define SATA_BIST1_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_BIST1
+#define SATA_BIST2_BDFO	PCI_DEV(BUS0, SATA_DEV, SATA_FUNC), SATA_BIST2
+
+/* xHCI */
+#define XHCI_DEV 0x14
+#define XHCI_FUNC 0
+# define XHCI_DEVID 0x0f35
+# define XHCI_FUS_REG	0xE0
+# define XHCI_FUNC_DISABLE	(1 << 0)
+# define XHCI_USB2PR_REG 0xD0
+# define XHCI_DEV_FUNC DEV_FUNC(XHCI_DEV,XHCI_FUNC)
+
+/* LPE Audio */
+#define LPE_DEV 0x15
+#define LPE_FUNC 0
+# define LPE_DEVID 0x0f28
+# define LPE_DEV_FUNC DEV_FUNC(LPE_DEV,LPE_FUNC)
+
+/* OTG */
+#define OTG_DEV 0x16
+#define OTG_FUNC 0
+# define OTG_DEVID 0x0f37
+# define OTG_DEV_FUNC DEV_FUNC(LPE_DEV,LPE_FUNC)
+
+/* MMC Port */
+#define MMC45_DEV 0x17
+#define MMC45_FUNC 0
+# define MMC45_DEVID 0x0f50
+# define MMC45_DEV_FUNC DEV_FUNC(MMC45_DEV,MMC45_FUNC)
+
+/* Serial IO 1 */
+#define SIO1_DEV 0x18
+# define SIO_DMA1_DEV SIO1_DEV
+# define SIO_DMA1_FUNC 0
+# define SIO_DMA1_DEVID 0x0f40
+# define I2C1_DEV SIO1_DEV
+# define I2C1_FUNC 1
+# define I2C1_DEVID 0x0f41
+# define I2C2_DEV SIO1_DEV
+# define I2C2_FUNC 2
+# define I2C2_DEVID 0x0f42
+# define I2C3_DEV SIO1_DEV
+# define I2C3_FUNC 3
+# define I2C3_DEVID 0x0f43
+# define I2C4_DEV SIO1_DEV
+# define I2C4_FUNC 4
+# define I2C4_DEVID 0x0f44
+# define I2C5_DEV SIO1_DEV
+# define I2C5_FUNC 5
+# define I2C5_DEVID 0x0f45
+# define I2C6_DEV SIO1_DEV
+# define I2C6_FUNC 6
+# define I2C6_DEVID 0x0f46
+# define I2C7_DEV SIO1_DEV
+# define I2C7_FUNC 7
+# define I2C7_DEVID 0x0f47
+# define SIO_DMA1_DEV_FUNC DEV_FUNC(SIO_DMA1_DEV,SIO_DMA1_FUNC)
+# define I2C1_DEV_FUNC DEV_FUNC(I2C1_DEV,I2C1_FUNC)
+# define I2C2_DEV_FUNC DEV_FUNC(I2C2_DEV,I2C2_FUNC)
+# define I2C3_DEV_FUNC DEV_FUNC(I2C3_DEV,I2C3_FUNC)
+# define I2C4_DEV_FUNC DEV_FUNC(I2C4_DEV,I2C4_FUNC)
+# define I2C5_DEV_FUNC DEV_FUNC(I2C5_DEV,I2C5_FUNC)
+# define I2C6_DEV_FUNC DEV_FUNC(I2C6_DEV,I2C6_FUNC)
+# define I2C7_DEV_FUNC DEV_FUNC(I2C7_DEV,I2C7_FUNC)
+
+/* Trusted Execution Engine */
+#define TXE_DEV 0x1a
+#define TXE_FUNC 0
+# define TXE_DEVID 0x0f18
+# define TXE_DEV_FUNC DEV_FUNC(TXE_DEV,TXE_FUNC)
+
+/* HD Audio */
+#define HDA_DEV 0x1b
+#define HDA_FUNC 0
+# define HDA_DEVID 0x0f04
+# define HDA_DEV_FUNC DEV_FUNC(HDA_DEV,HDA_FUNC)
+# define HDA_AZUBAR 0x14
+# define HDA_MMLA 0x64
+# define HDA_MMUA 0x68
+#define HDA_AZUBAR_BDFO	PCI_DEV(BUS0, HDA_DEV,  HDA_FUNC), HDA_AZUBAR
+#define HDA_MMLA_BDFO	PCI_DEV(BUS0, HDA_DEV,  HDA_FUNC), HDA_MMLA
+#define HDA_MMUA_BDFO	PCI_DEV(BUS0, HDA_DEV,  HDA_FUNC), HDA_MMUA
+
+/* PCIe Ports */
+#define PCIE_DEV 0x1c
+# define PCIE_PORT1_DEV PCIE_DEV
+# define PCIE_PORT1_FUNC 0
+# define PCIE_PORT1_DEVID 0x0f48
+# define PCIE_PORT2_DEV PCIE_DEV
+# define PCIE_PORT2_FUNC 1
+# define PCIE_PORT2_DEVID 0x0f4a
+# define PCIE_PORT3_DEV PCIE_DEV
+# define PCIE_PORT3_FUNC 2
+# define PCIE_PORT3_DEVID 0x0f4c
+# define PCIE_PORT4_DEV PCIE_DEV
+# define PCIE_PORT4_FUNC 3
+# define PCIE_PORT4_DEVID 0x0f4e
+# define PCIE_PORT1_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT1_FUNC)
+# define PCIE_PORT2_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT2_FUNC)
+# define PCIE_PORT3_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT3_FUNC)
+# define PCIE_PORT4_DEV_FUNC DEV_FUNC(PCIE_DEV,PCIE_PORT4_FUNC)
+
+/* EHCI */
+#define EHCI_DEV 0x1d
+#define EHCI_FUNC 0
+# define EHCI_DEVID 0x0f34
+# define EHCI_DEV_FUNC DEV_FUNC(EHCI_DEV,EHCI_FUNC)
+
+/* Serial IO 2 */
+#define SIO2_DEV 0x1e
+# define SIO_DMA2_DEV SIO2_DEV
+# define SIO_DMA2_FUNC 0
+# define SIO_DMA2_DEVID 0x0f06
+# define PWM1_DEV SIO2_DEV
+# define PWM1_FUNC 1
+# define PWM1_DEVID 0x0f08
+# define PWM2_DEV SIO2_DEV
+# define PWM2_FUNC 2
+# define PWM2_DEVID 0x0f09
+# define HSUART1_DEV SIO2_DEV
+# define HSUART1_FUNC 3
+# define HSUART1_DEVID 0x0f0a
+# define HSUART2_DEV SIO2_DEV
+# define HSUART2_FUNC 4
+# define HSUART2_DEVID 0x0f0c
+# define SPI_DEV SIO2_DEV
+# define SPI_FUNC 5
+# define SPI_DEVID 0xf0e
+# define SIO_DMA2_DEV_FUNC DEV_FUNC(SIO_DMA2_DEV,SIO_DMA2_FUNC)
+# define PWM1_DEV_FUNC DEV_FUNC(PWM1_DEV,PWM1_FUNC)
+# define PWM2_DEV_FUNC DEV_FUNC(PWM2_DEV,PWM2_FUNC)
+# define HSUART1_DEV_FUNC DEV_FUNC(HSUART1_DEV,HSUART1_FUNC)
+# define HSUART2_DEV_FUNC DEV_FUNC(HSUART2_DEV,HSUART2_FUNC)
+# define SPI_DEV_FUNC DEV_FUNC(SPI_DEV,SPI_FUNC)
+
+
+/* Platform Controller Unit */
+#define PCU_DEV 0x1f
+# define LPC_DEV PCU_DEV
+# define LPC_FUNC 0
+# define LPC_DEVID 0x0f1c
+# define SMBUS_DEV PCU_DEV
+# define SMBUS_FUNC 3
+# define SMBUS_DEVID 0x0f12
+# define LPC_DEV_FUNC DEV_FUNC(LPC_DEV,LPC_FUNC)
+# define LPC_BDF		PCI_DEV(0, LPC_DEV, LPC_FUNC)
+# define SMBUS_DEV_FUNC DEV_FUNC(SMBUS_DEV,SMBUS_FUNC)
+
+#define INITIAL_TIMESTAMP_LOCATION			HDA_MMUA_BDFO
+#define BEFORE_CAR_TIMESTAMP_LOCATION		SATA_BIST1_BDFO
+#define ASM_BEFORE_CAR_TSC_LOC				0x80 << 24 | SATA_DEV_FUNC << 8 | SATA_BIST1
+#define AFTER_CAR_TIMESTAMP_LOCATION		SATA_BIST2_BDFO
+#define ASM_AFTER_CAR_TSC_LOC				0x80 << 24 | SATA_DEV_FUNC << 8 | SATA_BIST2
+#define START_ROMSTAGE_TIMESTAMP_LOCATION	HDA_MMLA_BDFO
+#define BEFORE_RAMINIT_TIMESTAMP_LOCATION	SATA_MA_BDFO
+
+#endif /* _BAYTRAIL_PCI_DEVS_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/pcie.h b/src/soc/intel/fsp_baytrail/include/soc/pcie.h
new file mode 100644
index 0000000..9d2d3de
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/pcie.h
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_PCIE_H_
+#define _BAYTRAIL_PCIE_H_
+
+/* PCIe root port config space registers. */
+#define XCAP			0x40
+# define SI			(1 << 24)
+#define DCAP			0x44
+# define MPS_MASK		0x7
+#define DCTL_DSTS		0x48
+# define URE			(1 << 3)
+# define FEE			(1 << 2)
+# define NFE			(1 << 1)
+# define CEE			(1 << 0)
+#define LCAP			0x4c
+# define L1EXIT_SHIFT		15
+# define L1EXIT_MASK		(0x7 << L1EXIT_SHIFT)
+#define LCTL			0x50
+# define CCC			(1 << 6)
+# define RL			(1 << 5)
+# define LD			(1 << 4)
+#define LSTS			0x52
+#define SLCAP			0x54
+# define SLN_SHIFT		19
+# define SLS_SHIFT		15
+# define SLV_SHIFT		7
+# define HPC			(1 << 6)
+# define HPS			(1 << 5)
+#define SLCTL_SLSTS		0x58
+# define PDS			(1 << 22)
+#define DCAP2			0x64
+# define OBFFS			(0x3 << 18)
+# define LTRMS			(1 << 11)
+#define DSTS2			0x68
+# define OBFFEN			(3 << 13)
+# define LTRME			(1 << 10)
+# define CTD			(1 <<  4)
+#define CHCFG			0xd0
+# define UPSD			(1 << 24)
+# define UNRS			(1 << 15)
+# define UPRS			(1 << 14)
+#define MPC2			0xd4
+# define IPF			(1 << 11)
+# define LSTP			(1 <<  6)
+# define EOIFD			(1 <<  1)
+#define MPC			0xd8
+# define CCEL_SHIFT		15
+# define CCEL_MASK		(0x7 << CCEL_SHIFT)
+#define RPPGEN			0xe0
+# define RPSCGEN		(1 << 15)
+# define LCLKREQEN		(1 << 13)
+# define BBCLKREQEN		(1 << 12)
+# define SRDLCGEN		(1 << 11)
+# define SRDBCGEN		(1 << 10)
+# define RPDLCGEN		(1 << 9)
+# define RPDBCGEN		(1 << 8)
+#define PWRCTL			0xe8
+# define RPL1SQPOL		(1 << 1)
+# define RPDTSQPOL		(1 << 0)
+#define PHYCTL2_IOSFBCTL	0xf4
+# define PLL_OFF_EN		(1 << 8)
+# define TDFT			(3 << 14)
+# define TXCFGCHWAIT		(3 << 12)
+# define SIID			(3 << 26)
+#define STRPFUSECFG		0xfc
+# define LANECFG_SHIFT		14
+# define LANECFG_MASK		(0x3 << LANECFG_SHIFT)
+#define AERCH			0x100
+#define NFTS			0x314
+#define L0SC			0x318
+#define CFG2			0x320
+# define CSREN			(1 << 22)
+# define LATGC_SHIFT		6
+# define LATGC_MASK		(0x7 << LATGC_SHIFT)
+#define PCIEDBG			0x324
+# define SPCE			(1 << 5)
+#define PCIESTS1		0x328
+#define PCIEALC			0x338
+#define RTP			0x33c
+#define PHYCTL4			0x408
+# define SQDIS			(1 << 27)
+
+
+#endif /* _BAYTRAIL_PCIE_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/pmc.h b/src/soc/intel/fsp_baytrail/include/soc/pmc.h
new file mode 100644
index 0000000..1652e86
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/pmc.h
@@ -0,0 +1,301 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2013-2014 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_PMC_H_
+#define _BAYTRAIL_PMC_H_
+
+
+#define IOCOM1		0x3f8
+
+/* Memory mapped IO registers behind PMC_BASE_ADDRESS */
+#define PRSTS		0x00
+#	define PMC_WDT_STS	(1 << 15)
+#	define SEC_GBLRST_STS	(1 <<  7)
+#	define SEC_WDT_STS	(1 <<  6)
+#	define WOL_OVR_WK_STS	(1 <<  5)
+#	define PMC_WAKE_STS	(1 <<  4)
+#define PMC_CFG		0x08
+#	define SPS		(1 <<  5)
+#	define NO_REBOOT	(1 <<  4)
+#	define SX_ENT_TO_EN	(1 <<  3)
+#	define TIMING_T581_SHIFT (0)
+#	define TIMING_T581_MASK	(3 <<  TIMING_T581_SHIFT)
+#	define TIMING_T581_10uS  (0 << TIMING_T581_SHIFT)
+#	define TIMING_T581_100uS (1 << TIMING_T581_SHIFT)
+#	define TIMING_T581_1mS   (2 << TIMING_T581_SHIFT)
+#	define TIMING_T581_10mS  (3 << TIMING_T581_SHIFT)
+#define VLV_PM_STS	0x0c
+#	define PMC_MSG_FULL_STS		(1 << 24)
+#	define PMC_MSG_4_FULL_STS	(1 << 23)
+#	define PMC_MSG_3_FULL_STS	(1 << 22)
+#	define PMC_MSG_2_FULL_STS	(1 << 21)
+#	define PMC_MSG_1_FULL_STS	(1 << 20)
+#	define CODE_REQ			(1 <<  8)
+#	define HPR_ENT_TO		(1 <<  2)
+#	define SX_ENT_TO		(1 <<  1)
+#define GEN_PMCON1	0x20
+#	define UART_EN		(1 << 24)
+#	define DISB		(1 << 23)
+#	define MEM_SR		(1 << 21)
+#	define SRS		(1 << 20)
+#	define CTS		(1 << 19)
+#	define MS4V		(1 << 18)
+#	define PWR_FLR		(1 << 16)
+#	define PME_B0_S5_DIS	(1 << 15)
+#	define SUS_PWR_FLR	(1 << 14)
+#	define WOL_EN_OVRD	(1 << 13)
+#	define DIS_SLP_X_STRCH_SUS_UP (1 << 12)
+#	define GEN_RST_STS	(1 <<  9)
+#	define RPS		(1 <<  2)
+#	define AFTERG3_EN	(1 <<  0)
+#define GEN_PMCON2	0x24
+#	define SLPSX_STR_POL_LOCK	(1 << 18)
+#	define BIOS_PCI_EXP_EN		(1 << 10)
+#	define PWRBTN_LVL		(1 <<  9)
+#	define SMI_LOCK			(1 <<  4)
+#define ETR			0x48
+#	define CF9LOCK		(1 << 31)
+#	define LTR_DEF		(1 << 22)
+#	define IGNORE_HPET	(1 << 21)
+#	define CF9GR		(1 << 20)
+#	define CWORWRE		(1 << 18)
+#define FUNC_DIS	0x34
+#	define SIO_DMA2_DIS	(1 <<  0)
+#	define PWM1_DIS		(1 <<  1)
+#	define PWM2_DIS		(1 <<  2)
+#	define HSUART1_DIS	(1 <<  3)
+#	define HSUART2_DIS	(1 <<  4)
+#	define SPI_DIS		(1 <<  5)
+#	define SDIO_DIS		(1 <<  9)
+#	define SD_DIS		(1 << 10)
+#	define MMC_DIS		(1 << 11)
+#	define HDA_DIS		(1 << 12)
+#	define LPE_DIS		(1 << 13)
+#	define OTG_DIS		(1 << 14)
+#	define XHCI_DIS		(1 << 15)
+#	define SATA_DIS		(1 << 17)
+#	define EHCI_DIS		(1 << 18)
+#	define TXE_DIS		(1 << 19)
+#	define PCIE_PORT1_DIS	(1 << 20)
+#	define PCIE_PORT2_DIS	(1 << 21)
+#	define PCIE_PORT3_DIS	(1 << 22)
+#	define PCIE_PORT4_DIS	(1 << 23)
+#	define SIO_DMA1_DIS	(1 << 24)
+#	define I2C1_DIS		(1 << 25)
+#	define I2C2_DIS		(1 << 26)
+#	define I2C3_DIS		(1 << 27)
+#	define I2C4_DIS		(1 << 28)
+#	define I2C5_DIS		(1 << 29)
+#	define I2C6_DIS		(1 << 30)
+#	define I2C7_DIS		(1 << 31)
+#define FUNC_DIS2	0x38
+#	define USH_SS_PHY_DIS	(1 << 2)
+#	define OTG_SS_PHY_DIS	(1 << 1)
+#	define SMBUS_DIS	(1 << 0)
+#define GPIO_ROUT	0x58
+#	define ROUTE_MASK	3
+#	define ROUTE_NONE	0
+#	define ROUTE_SMI	1
+#	define ROUTE_SCI	2
+#define PLT_CLK_CTL_0	0x60
+#define PLT_CLK_CTL_1	0x64
+#define PLT_CLK_CTL_2	0x68
+#define PLT_CLK_CTL_3	0x6c
+#define PLT_CLK_CTL_4	0x70
+#define PLT_CLK_CTL_5	0x74
+#	define CLK_FREQ_25MHZ	(0x0 << 2)
+#	define CLK_FREQ_19P2MHZ	(0x1 << 2)
+#	define CLK_CTL_D3_LPE	(0x0 << 0)
+#	define CLK_CTL_ON	(0x1 << 0)
+#	define CLK_CTL_OFF	(0x2 << 0)
+#define PME_STS		0xc0
+#define GPE_LEVEL_EDGE  0xc4
+#	define GPE_EDGE		0
+#	define GPE_LEVEL	1
+#define GPE_POLARITY	0xc8
+#	define GPE_ACTIVE_HIGH	1
+#	define GPE_ACTIVE_LOW	0
+#define LOCK		0xcc
+
+/* IO Mapped registers behind ACPI_BASE_ADDRESS */
+#define PM1_STS			0x00
+#define   WAK_STS	(1 << 15)
+#define   PCIEXPWAK_STS	(1 << 14)
+#define   USB_STS	(1 << 13)
+#define   PRBTNOR_STS	(1 << 11)
+#define   RTC_STS	(1 << 10)
+#define   PWRBTN_STS	(1 << 8)
+#define   GBL_STS	(1 << 5)
+#define   TMROF_STS	(1 << 0)
+#define PM1_EN			0x02
+#define   PCIEXPWAK_DIS	(1 << 14)
+#define   USB_WAKE_EN	(1 << 13)
+#define   RTC_EN	(1 << 10)
+#define   PWRBTN_EN	(1 << 8)
+#define   GBL_EN	(1 << 5)
+#define   TMROF_EN	(1 << 0)
+#define PM1_CNT			0x04
+#define   SLP_EN	(1 << 13)
+#define   SLP_TYP_SHIFT	10
+#define   SLP_TYP	(7 << SLP_TYP_SHIFT)
+#define    SLP_TYP_S0	0
+#define    SLP_TYP_S1	1
+#define    SLP_TYP_S3	5
+#define    SLP_TYP_S4	6
+#define    SLP_TYP_S5	7
+#define   GBL_RLS	(1 << 2)
+#define   BM_RLD	(1 << 1)
+#define   SCI_EN	(1 << 0)
+#define PM1_TMR			0x08
+#define GPE0_STS		0x20
+#define   CORE_GPIO_STS7	(1 << 31)
+#define   CORE_GPIO_STS6	(1 << 30)
+#define   CORE_GPIO_STS5	(1 << 29)
+#define   CORE_GPIO_STS4	(1 << 28)
+#define   CORE_GPIO_STS3	(1 << 27)
+#define   CORE_GPIO_STS2	(1 << 26)
+#define   CORE_GPIO_STS1	(1 << 25)
+#define   CORE_GPIO_STS0	(1 << 24)
+#define   SUS_GPIO_STS7		(1 << 23)
+#define   SUS_GPIO_STS6		(1 << 22)
+#define   SUS_GPIO_STS5		(1 << 21)
+#define   SUS_GPIO_STS4		(1 << 20)
+#define   SUS_GPIO_STS3		(1 << 19)
+#define   SUS_GPIO_STS2		(1 << 18)
+#define   SUS_GPIO_STS1		(1 << 17)
+#define   SUS_GPIO_STS0		(1 << 16)
+#define   PME_B0_STS_BIT	13
+#define   PME_B0_STS		(1 << PME_B0_STS_BIT)
+#define   BATLOW_STS		(1 << 10)
+#define   PCI_EXP_STS		(1 << 9)
+#define   PCIE_WAKE3_STS	(1 << 8)
+#define   PCIE_WAKE2_STS	(1 << 7)
+#define   PCIE_WAKE1_STS	(1 << 6)
+#define   GUNIT_SCI_STS		(1 << 5)
+#define   PUNIT_SCI_STS		(1 << 4)
+#define   PCIE_WAKE0_STS	(1 << 3)
+#define   SWGPE_STS		(1 << 2)
+#define   HOT_PLUG_STS		(1 << 1)
+#define GPE0_EN			0x28
+#define   CORE_GPIO_EN7	(1 << 31)
+#define   CORE_GPIO_EN6	(1 << 30)
+#define   CORE_GPIO_EN5	(1 << 29)
+#define   CORE_GPIO_EN4	(1 << 28)
+#define   CORE_GPIO_EN3	(1 << 27)
+#define   CORE_GPIO_EN2	(1 << 26)
+#define   CORE_GPIO_EN1	(1 << 25)
+#define   CORE_GPIO_EN0	(1 << 24)
+#define   SUS_GPIO_EN7_BIT	23
+#define   SUS_GPIO_EN7		(1 << SUS_GPIO_EN7_BIT)
+#define   SUS_GPIO_EN6_BIT	22
+#define   SUS_GPIO_EN6		(1 << SUS_GPIO_EN6_BIT)
+#define   SUS_GPIO_EN5_BIT	21
+#define   SUS_GPIO_EN5		(1 << SUS_GPIO_EN5_BIT)
+#define   SUS_GPIO_EN4_BIT	20
+#define   SUS_GPIO_EN4		(1 << SUS_GPIO_EN4_BIT)
+#define   SUS_GPIO_EN3_BIT	19
+#define   SUS_GPIO_EN3		(1 << SUS_GPIO_EN3_BIT)
+#define   SUS_GPIO_EN2_BIT	18
+#define   SUS_GPIO_EN2		(1 << SUS_GPIO_EN2_BIT)
+#define   SUS_GPIO_EN1_BIT	17
+#define   SUS_GPIO_EN1		(1 << SUS_GPIO_EN1_BIT)
+#define   SUS_GPIO_EN0_BIT	16
+#define   SUS_GPIO_EN0		(1 << SUS_GPIO_EN0_BIT)
+#define   PME_B0_EN		(1 << 13)
+#define   BATLOW_EN		(1 << 10)
+#define   PCI_EXP_EN		(1 << 9)
+#define   PCIE_WAKE3_EN		(1 << 8)
+#define   PCIE_WAKE2_EN		(1 << 7)
+#define   PCIE_WAKE1_EN		(1 << 6)
+#define   PCIE_WAKE0_EN		(1 << 3)
+#define   SWGPE_EN		(1 << 2)
+#define   HOT_PLUG_EN		(1 << 1)
+#define   _ACPI_ENABLE_WAKE_SUS_GPIO(x) SUS_GPIO_EN##x##_BIT
+#define   ACPI_ENABLE_WAKE_SUS_GPIO(x) _ACPI_ENABLE_WAKE_SUS_GPIO(x)
+#define SMI_EN			0x30
+#define   INTEL_USB2_EN	 (1 << 18) // Intel-Specific USB2 SMI logic
+#define   USB_EN	 (1 << 17) // Legacy USB2 SMI logic
+#define   PERIODIC_EN	 (1 << 14) // SMI on PERIODIC_STS in SMI_STS
+#define   TCO_EN	 (1 << 13) // Enable TCO Logic (BIOSWE et al)
+#define   BIOS_RLS	 (1 <<  7) // asserts SCI on bit set
+#define   SWSMI_TMR_EN	 (1 <<  6) // start software smi timer on bit set
+#define   APMC_EN	 (1 <<  5) // Writes to APM_CNT cause SMI#
+#define   SLP_SMI_EN	 (1 <<  4) // Write to SLP_EN in PM1_CNT asserts SMI#
+#define   BIOS_EN	 (1 <<  2) // Assert SMI# on setting GBL_RLS bit
+#define   EOS		 (1 <<  1) // End of SMI (deassert SMI#)
+#define   GBL_SMI_EN	 (1 <<  0) // SMI# generation at all?
+#define SMI_STS			0x34
+#define ALT_GPIO_SMI		0x38
+#define UPRWC			0x3c
+# define  UPRWC_WR_EN	 (1 << 1) // USB Per-Port Registers Write Enable
+#define GPE_CTRL		0x40
+#define PM2A_CNT_BLK		0x50
+#define TCO_RLD			0x60
+#define TCO_STS			0x64
+#	define SECOND_TO_STS	(1 << 17)
+#	define TCO_TIMEOUT	(1 << 3)
+#define TCO1_CNT		0x68
+#	define TCO_LOCK		(1 << 12)
+#	define TCO_TMR_HALT	(1 << 11)
+#define TCO_TMR			0x70
+
+/* I/O ports */
+#define RST_CNT			0xcf9
+#	define FULL_RST		(1 << 3)
+#	define RST_CPU		(1 << 2)
+#	define SYS_RST		(1 << 1)
+
+#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
+
+/* Track power state from reset to log events. */
+struct chipset_power_state {
+	uint16_t pm1_sts;
+	uint16_t pm1_en;
+	uint32_t pm1_cnt;
+	uint32_t gpe0_sts;
+	uint32_t gpe0_en;
+	uint32_t tco_sts;
+	uint32_t prsts;
+	uint32_t gen_pmcon1;
+	uint32_t gen_pmcon2;
+} __attribute__((packed));
+
+/* Power Management Utility Functions. */
+uint16_t get_pmbase(void);
+uint32_t clear_smi_status(void);
+uint16_t clear_pm1_status(void);
+uint32_t clear_tco_status(void);
+uint32_t clear_gpe_status(void);
+uint32_t clear_alt_status(void);
+void clear_pmc_status(void);
+void enable_smi(uint32_t mask);
+void disable_smi(uint32_t mask);
+void enable_pm1(uint16_t events);
+void enable_pm1_control(uint32_t mask);
+void disable_pm1_control(uint32_t mask);
+void enable_gpe(uint32_t mask);
+void disable_gpe(uint32_t mask);
+void disable_all_gpe(void);
+
+#if IS_ENABLED(CONFIG_ELOG)
+void southcluster_log_state(void);
+#else
+static inline void southcluster_log_state(void) {}
+#endif
+
+#endif /* !defined(__ASSEMBLER__) && !defined(__ACPI__) */
+
+#endif /* _BAYTRAIL_PMC_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/ramstage.h b/src/soc/intel/fsp_baytrail/include/soc/ramstage.h
new file mode 100644
index 0000000..5c2f98a
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/ramstage.h
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_RAMSTAGE_H_
+#define _BAYTRAIL_RAMSTAGE_H_
+
+#include <device/device.h>
+
+/* The baytrail_init_pre_device() function is called prior to device
+ * initialization, but it's after console and cbmem has been reinitialized. */
+void baytrail_init_pre_device(void);
+void baytrail_init_cpus(device_t dev);
+void set_max_freq(void);
+void southcluster_enable_dev(device_t dev);
+void scc_enable_acpi_mode(device_t dev, int iosf_reg, int nvs_index);
+
+extern struct pci_operations soc_pci_ops;
+
+#endif /* _BAYTRAIL_RAMSTAGE_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/reset.h b/src/soc/intel/fsp_baytrail/include/soc/reset.h
new file mode 100644
index 0000000..4a36207
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/reset.h
@@ -0,0 +1,32 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_RESET_H_
+#define _BAYTRAIL_RESET_H_
+#include <reset.h>
+
+/* Bay Trail has the following types of resets:
+ * - Soft reset (INIT# to cpu) - write 0x1 to I/O 0x92
+ * - Soft reset (INIT# to cpu)- write 0x4 to I/0 0xcf9
+ * - Cold reset (S0->S5->S0) - write 0xe to I/0 0xcf9
+ * - Warm reset (PMC_PLTRST# assertion) - write 0x6 to I/O 0xcf9
+ * - Global reset (S0->S5->S0 with TXE reset) - write 0x6 or 0xe to 0xcf9 but
+ *   with ETR[20] set.
+ */
+
+void cold_reset(void);
+void warm_reset(void);
+
+#endif /* _BAYTRAIL_RESET_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/romstage.h b/src/soc/intel/fsp_baytrail/include/soc/romstage.h
new file mode 100644
index 0000000..a3fdb7b
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/romstage.h
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2014 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_ROMSTAGE_H_
+#define _BAYTRAIL_ROMSTAGE_H_
+
+#if !defined(__PRE_RAM__)
+#error "Don't include romstage.h from a ramstage compilation unit!"
+#endif
+
+void report_platform_info(void);
+
+#include <stdint.h>
+#include <arch/cpu.h>
+#include <drivers/intel/fsp1_0/fsp_util.h>
+
+void main(FSP_INFO_HEADER *fsp_info_header);
+void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr);
+uint32_t chipset_prev_sleep_state(uint32_t clear);
+
+#define NUM_ROMSTAGE_TS 4
+
+void tco_disable(void);
+void punit_init(void);
+void set_max_freq(void);
+void early_mainboard_romstage_entry(void);
+void late_mainboard_romstage_entry(void);
+void get_func_disables(uint32_t *mask, uint32_t *mask2);
+
+#if IS_ENABLED(CONFIG_ENABLE_BUILTIN_COM1)
+void byt_config_com1_and_enable(void);
+#else
+static inline void byt_config_com1_and_enable(void) { }
+#endif
+
+#endif /* _BAYTRAIL_ROMSTAGE_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/smm.h b/src/soc/intel/fsp_baytrail/include/soc/smm.h
new file mode 100644
index 0000000..c929572
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/smm.h
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2014 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_SMM_H_
+#define _BAYTRAIL_SMM_H_
+
+/* There is a bug in the order of Kconfig includes in that arch/x86/Kconfig
+ * is included after chipset code. This causes the chipset's Kconfig to be
+ * clobbered by the arch/x86/Kconfig if they have the same name. */
+static inline int smm_region_size(void)
+{
+	/* Make it 8MiB by default. */
+	if (CONFIG_SMM_TSEG_SIZE == 0)
+		return (8 << 20);
+	return CONFIG_SMM_TSEG_SIZE;
+}
+
+uintptr_t smm_region_start(void);
+
+#if !defined(__PRE_RAM__) && !defined(__SMM___)
+#include <stdint.h>
+void southcluster_smm_clear_state(void);
+void southcluster_smm_enable_smi(void);
+void southcluster_smm_save_gpio_route(uint32_t route);
+#endif
+
+#endif /* _BAYTRAIL_SMM_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/spi.h b/src/soc/intel/fsp_baytrail/include/soc/spi.h
new file mode 100644
index 0000000..1ac0b59
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/spi.h
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _BAYTRAIL_SPI_H_
+#define _BAYTRAIL_SPI_H_
+
+#include <stdint.h>
+
+/* These registers live behind SPI_BASE_ADDRESS. */
+#define HSFSTS				0x04
+# define FLOCKDN			(0x1 << 15)
+#define PREOP				0x94
+#define OPTYPE				0x96
+#define OPMENU0				0x98
+#define OPMENU1				0x9c
+#define LVSCC				0xc4
+# define VCL				(0x1 << 23)
+# define EO(x)				(((x) & 0xff) << 8)
+# define WG_1_BYTE			(0x0 << 2)
+# define WG_64_BYTE			(0x1 << 2)
+# define BES_256_BYTE			(0x0 << 0)
+# define BES_4_KB			(0x1 << 0)
+# define BES_8_KB			(0x2 << 0)
+# define BES_64_KB			(0x3 << 0)
+#define UVSCC				0xc8
+#define SCS				0xf8
+# define SMIWPEN			(0x1 << 7)
+#define BCR				0xfc
+# define EISS				(0x1 << 5)
+# define SRC_MASK			(0x3 << 2)
+# define SRC_CACHE_NO_PREFETCH		(0x0 << 2)
+# define SRC_NO_CACHE_NO_PREFETCH	(0x1 << 2)
+# define SRC_CACHE_PREFETCH		(0x2 << 2)
+# define BCR_LE				(0x1 << 1)
+# define BCR_WPD			(0x1 << 0)
+
+/*
+ * SPI lockdown configuration.
+ */
+struct spi_config {
+	uint16_t preop;
+	uint16_t optype;
+	uint32_t opmenu[2];
+	uint32_t lvscc;
+	uint32_t uvscc;
+};
+
+/* Return 0 on success < 0 on failure. */
+int mainboard_get_spi_config(struct spi_config *cfg);
+
+#endif /* _BAYTRAIL_SPI_H_ */
diff --git a/src/soc/intel/fsp_baytrail/include/soc/xhci.h b/src/soc/intel/fsp_baytrail/include/soc/xhci.h
new file mode 100644
index 0000000..ec643c1
--- /dev/null
+++ b/src/soc/intel/fsp_baytrail/include/soc/xhci.h
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef BAYTRAIL_XHCI_H
+#define BAYTRAIL_XHCI_H
+
+/* XHCI PCI Registers */
+#define XHCI_PWR_CTL_STS	0x74
+#define XHCI_USB2PR		0xd0
+#define XHCI_USB2PRM		0xd4
+#define XHCI_USB3PR		0xd8
+#define XHCI_USB3PRM		0xdc
+#define XHCI_USB2PDO		0xe4
+#define XHCI_USB3PDO		0xe8
+
+/* XHCI Memory Registers */
+#define XHCI_USB3_PORTSC(port)	(0x4e0 + (port * 0x10))
+# define  XHCI_USB3_PORTSC_CHST	  (0x7f << 17)
+# define  XHCI_USB3_PORTSC_WCE	  (1 << 25)  /* Wake on Connect */
+# define  XHCI_USB3_PORTSC_WDE	  (1 << 26)  /* Wake on Disconnect */
+# define  XHCI_USB3_PORTSC_WOE	  (1 << 27)  /* Wake on Overcurrent */
+# define  XHCI_USB3_PORTSC_WRC	  (1 << 19)  /* Warm Reset Complete */
+# define  XHCI_USB3_PORTSC_LWS	  (1 << 16)  /* Link Write Strobe */
+# define  XHCI_USB3_PORTSC_PED 	  (1 << 1)   /* Port Enabled/Disabled */
+# define  XHCI_USB3_PORTSC_WPR	  (1 << 31)  /* Warm Port Reset */
+# define  XHCI_USB3_PORTSC_PLS	  (0xf << 5) /* Port Link State */
+# define   XHCI_PLSR_DISABLED	  (4 << 5)   /* Port is disabled */
+# define   XHCI_PLSR_RXDETECT	  (5 << 5)   /* Port is disconnected */
+# define   XHCI_PLSR_POLLING	  (7 << 5)   /* Port is polling */
+# define   XHCI_PLSW_ENABLE	  (5 << 5)   /* Enable port */
+
+/* The Fuse register is incorrect for Baytrail-M so use hardcoded values */
+#define BYTM_USB2_PORT_COUNT	4
+#define BYTM_USB2_PORT_MAP	0xf
+#define BYTM_USB3_PORT_COUNT	1
+#define BYTM_USB3_PORT_MAP	0x1
+
+#define XHCI_RESET_TIMEOUT	100000  /* 100ms */
+
+#endif /* BAYTRAIL_XHCI_H */
diff --git a/src/soc/intel/fsp_baytrail/iosf.c b/src/soc/intel/fsp_baytrail/iosf.c
index 334e2dc..e6b6039 100644
--- a/src/soc/intel/fsp_baytrail/iosf.c
+++ b/src/soc/intel/fsp_baytrail/iosf.c
@@ -15,7 +15,7 @@
  */
 
 #include <arch/io.h>
-#include <baytrail/iosf.h>
+#include <soc/iosf.h>
 
 #if !defined(__PRE_RAM__)
 #define IOSF_PCI_BASE (CONFIG_MMCONF_BASE_ADDRESS + (IOSF_PCI_DEV << 12))
diff --git a/src/soc/intel/fsp_baytrail/memmap.c b/src/soc/intel/fsp_baytrail/memmap.c
index 0c2c14d..1886c6f 100644
--- a/src/soc/intel/fsp_baytrail/memmap.c
+++ b/src/soc/intel/fsp_baytrail/memmap.c
@@ -16,8 +16,8 @@
 
 #include <arch/io.h>
 #include <cbmem.h>
-#include <baytrail/iosf.h>
-#include <baytrail/smm.h>
+#include <soc/iosf.h>
+#include <soc/smm.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 
 uintptr_t smm_region_start(void)
diff --git a/src/soc/intel/fsp_baytrail/northcluster.c b/src/soc/intel/fsp_baytrail/northcluster.c
index 3b27c39..5b68666 100644
--- a/src/soc/intel/fsp_baytrail/northcluster.c
+++ b/src/soc/intel/fsp_baytrail/northcluster.c
@@ -20,13 +20,13 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <cpu/x86/lapic.h>
-#include <baytrail/iomap.h>
-#include <baytrail/iosf.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/ramstage.h>
+#include <soc/iomap.h>
+#include <soc/iosf.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
 #include <device/pci.h>
 #include <cbmem.h>
-#include <baytrail/baytrail.h>
+#include <soc/baytrail.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
 #include <arch/acpi.h>
 
diff --git a/src/soc/intel/fsp_baytrail/nvm.c b/src/soc/intel/fsp_baytrail/nvm.c
index 896e9b0..ed0d121 100644
--- a/src/soc/intel/fsp_baytrail/nvm.c
+++ b/src/soc/intel/fsp_baytrail/nvm.c
@@ -20,7 +20,7 @@
 #include <string.h>
 #include <spi-generic.h>
 #include <spi_flash.h>
-#include <baytrail/nvm.h>
+#include <soc/nvm.h>
 
 /* This module assumes the flash is memory mapped just below 4GiB in the
  * address space for reading. Also this module assumes an area it erased
diff --git a/src/soc/intel/fsp_baytrail/placeholders.c b/src/soc/intel/fsp_baytrail/placeholders.c
index c9a9da4..9a08e6f 100644
--- a/src/soc/intel/fsp_baytrail/placeholders.c
+++ b/src/soc/intel/fsp_baytrail/placeholders.c
@@ -2,7 +2,7 @@
 #include <arch/acpi.h>
 #include <cpu/cpu.h>
 #include <device/pci_rom.h>
-#include <baytrail/acpi.h>
+#include <soc/acpi.h>
 
 
 void acpi_create_serialio_ssdt(acpi_header_t *ssdt) {}
diff --git a/src/soc/intel/fsp_baytrail/pmutil.c b/src/soc/intel/fsp_baytrail/pmutil.c
index 1757dcc..3759174 100644
--- a/src/soc/intel/fsp_baytrail/pmutil.c
+++ b/src/soc/intel/fsp_baytrail/pmutil.c
@@ -17,10 +17,10 @@
 #include <arch/io.h>
 #include <console/console.h>
 
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/pmc.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/pmc.h>
 
 #if defined(__SMM__)
 
diff --git a/src/soc/intel/fsp_baytrail/ramstage.c b/src/soc/intel/fsp_baytrail/ramstage.c
index abd4451..a322ee3 100644
--- a/src/soc/intel/fsp_baytrail/ramstage.c
+++ b/src/soc/intel/fsp_baytrail/ramstage.c
@@ -26,13 +26,13 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <baytrail/gpio.h>
-#include <baytrail/lpc.h>
-#include <baytrail/nvs.h>
-#include <baytrail/msr.h>
-#include <baytrail/pattrs.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/ramstage.h>
+#include <soc/gpio.h>
+#include <soc/lpc.h>
+#include <soc/nvs.h>
+#include <soc/msr.h>
+#include <soc/pattrs.h>
+#include <soc/pci_devs.h>
+#include <soc/ramstage.h>
 
 /* Global PATTRS */
 DEFINE_PATTRS;
diff --git a/src/soc/intel/fsp_baytrail/reset.c b/src/soc/intel/fsp_baytrail/reset.c
index fc1bddf..fd38f61 100644
--- a/src/soc/intel/fsp_baytrail/reset.c
+++ b/src/soc/intel/fsp_baytrail/reset.c
@@ -14,8 +14,8 @@
  */
 
 #include <arch/io.h>
-#include <baytrail/pmc.h>
-#include <baytrail/reset.h>
+#include <soc/pmc.h>
+#include <soc/reset.h>
 
 void cold_reset(void)
 {
diff --git a/src/soc/intel/fsp_baytrail/romstage/pmc.c b/src/soc/intel/fsp_baytrail/romstage/pmc.c
index e2f4452..8df2341 100644
--- a/src/soc/intel/fsp_baytrail/romstage/pmc.c
+++ b/src/soc/intel/fsp_baytrail/romstage/pmc.c
@@ -18,12 +18,12 @@
 #include <console/console.h>
 #include <device/device.h>
 #include <device/pci_def.h>
-#include <baytrail/iomap.h>
-#include <baytrail/iosf.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/pmc.h>
-#include <baytrail/romstage.h>
+#include <soc/iomap.h>
+#include <soc/iosf.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/pmc.h>
+#include <soc/romstage.h>
 #include "../chip.h"
 
 void tco_disable(void)
diff --git a/src/soc/intel/fsp_baytrail/romstage/report_platform.c b/src/soc/intel/fsp_baytrail/romstage/report_platform.c
index 2344019..1e32262 100644
--- a/src/soc/intel/fsp_baytrail/romstage/report_platform.c
+++ b/src/soc/intel/fsp_baytrail/romstage/report_platform.c
@@ -16,10 +16,10 @@
 
 #include <console/console.h>
 #include <arch/io.h>
-#include <baytrail/iosf.h>
-#include <baytrail/romstage.h>
+#include <soc/iosf.h>
+#include <soc/romstage.h>
 #include <cpu/x86/msr.h>
-#include <baytrail/msr.h>
+#include <soc/msr.h>
 #include <cpu/x86/name.h>
 
 static void print_dram_info(void)
diff --git a/src/soc/intel/fsp_baytrail/romstage/romstage.c b/src/soc/intel/fsp_baytrail/romstage/romstage.c
index 6773a5b..b485be1 100644
--- a/src/soc/intel/fsp_baytrail/romstage/romstage.c
+++ b/src/soc/intel/fsp_baytrail/romstage/romstage.c
@@ -26,16 +26,16 @@
 #include <cpu/x86/mtrr.h>
 #include <romstage_handoff.h>
 #include <timestamp.h>
-#include <baytrail/gpio.h>
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/romstage.h>
-#include <baytrail/acpi.h>
-#include <baytrail/baytrail.h>
+#include <soc/gpio.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/romstage.h>
+#include <soc/acpi.h>
+#include <soc/baytrail.h>
 #include <drivers/intel/fsp1_0/fsp_util.h>
-#include <baytrail/pmc.h>
-#include <baytrail/spi.h>
+#include <soc/pmc.h>
+#include <soc/spi.h>
 #include <version.h>
 #include <pc80/mc146818rtc.h>
 #include <device/pci_def.h>
diff --git a/src/soc/intel/fsp_baytrail/romstage/uart.c b/src/soc/intel/fsp_baytrail/romstage/uart.c
index 50a194b..10a00f8 100644
--- a/src/soc/intel/fsp_baytrail/romstage/uart.c
+++ b/src/soc/intel/fsp_baytrail/romstage/uart.c
@@ -14,11 +14,11 @@
  */
 
 #include <arch/io.h>
-#include <baytrail/gpio.h>
-#include <baytrail/iomap.h>
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/romstage.h>
+#include <soc/gpio.h>
+#include <soc/iomap.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
+#include <soc/romstage.h>
 
 void byt_config_com1_and_enable(void)
 {
diff --git a/src/soc/intel/fsp_baytrail/smihandler.c b/src/soc/intel/fsp_baytrail/smihandler.c
index 4d8bcc0..e0a55f8 100644
--- a/src/soc/intel/fsp_baytrail/smihandler.c
+++ b/src/soc/intel/fsp_baytrail/smihandler.c
@@ -23,9 +23,9 @@
 #include <elog.h>
 #include <halt.h>
 
-#include <baytrail/pci_devs.h>
-#include <baytrail/pmc.h>
-#include <baytrail/nvs.h>
+#include <soc/pci_devs.h>
+#include <soc/pmc.h>
+#include <soc/nvs.h>
 
 /* GNVS needs to be set by coreboot initiating a software SMI. */
 static global_nvs_t *gnvs;
diff --git a/src/soc/intel/fsp_baytrail/smm.c b/src/soc/intel/fsp_baytrail/smm.c
index 236106c..eb24d21 100644
--- a/src/soc/intel/fsp_baytrail/smm.c
+++ b/src/soc/intel/fsp_baytrail/smm.c
@@ -22,9 +22,9 @@
 #include <cpu/x86/smm.h>
 #include <string.h>
 
-#include <baytrail/iomap.h>
-#include <baytrail/pmc.h>
-#include <baytrail/smm.h>
+#include <soc/iomap.h>
+#include <soc/pmc.h>
+#include <soc/smm.h>
 
 /* Save the gpio route register. The settings are committed from
  * southcluster_smm_enable_smi(). */
diff --git a/src/soc/intel/fsp_baytrail/southcluster.c b/src/soc/intel/fsp_baytrail/southcluster.c
index 6182948..3ad692f 100644
--- a/src/soc/intel/fsp_baytrail/southcluster.c
+++ b/src/soc/intel/fsp_baytrail/southcluster.c
@@ -30,15 +30,15 @@
 #include <pc80/i8259.h>
 #include <pc80/isa-dma.h>
 
-#include <baytrail/baytrail.h>
-#include <baytrail/iomap.h>
-#include <baytrail/irq.h>
-#include <baytrail/lpc.h>
-#include <baytrail/nvs.h>
-#include <baytrail/acpi.h>
-#include <baytrail/pci_devs.h>
-#include <baytrail/pmc.h>
-#include <baytrail/ramstage.h>
+#include <soc/baytrail.h>
+#include <soc/iomap.h>
+#include <soc/irq.h>
+#include <soc/lpc.h>
+#include <soc/nvs.h>
+#include <soc/acpi.h>
+#include <soc/pci_devs.h>
+#include <soc/pmc.h>
+#include <soc/ramstage.h>
 #include "chip.h"
 #include <arch/acpi.h>
 #include <arch/acpigen.h>
diff --git a/src/soc/intel/fsp_baytrail/spi.c b/src/soc/intel/fsp_baytrail/spi.c
index 2719373..d79e281 100644
--- a/src/soc/intel/fsp_baytrail/spi.c
+++ b/src/soc/intel/fsp_baytrail/spi.c
@@ -23,8 +23,8 @@
 #include <device/pci_ids.h>
 #include <spi_flash.h>
 
-#include <baytrail/lpc.h>
-#include <baytrail/pci_devs.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
 
 #ifdef __SMM__
 #define pci_read_config_byte(dev, reg, targ)\
diff --git a/src/soc/intel/fsp_baytrail/tsc_freq.c b/src/soc/intel/fsp_baytrail/tsc_freq.c
index f002187..66fde22 100644
--- a/src/soc/intel/fsp_baytrail/tsc_freq.c
+++ b/src/soc/intel/fsp_baytrail/tsc_freq.c
@@ -16,7 +16,7 @@
 #include <stdint.h>
 #include <cpu/x86/msr.h>
 #include <cpu/x86/tsc.h>
-#include <baytrail/msr.h>
+#include <soc/msr.h>
 
 unsigned bus_freq_khz(void)
 {
@@ -49,9 +49,9 @@ unsigned long tsc_freq_mhz(void)
 
 #if !defined(__SMM__)
 #if !defined(__PRE_RAM__)
-#include <baytrail/ramstage.h>
+#include <soc/ramstage.h>
 #else
-#include <baytrail/romstage.h>
+#include <soc/romstage.h>
 #endif
 
 void set_max_freq(void)



More information about the coreboot-gerrit mailing list