Merge pull request #1174 from shenki/hostboot-cmpi-fix
hostboot: Add patches to fix cmpi assembly
diff --git a/openpower/configs/barreleye_defconfig b/openpower/configs/barreleye_defconfig
index d3e3943..e602c12 100644
--- a/openpower/configs/barreleye_defconfig
+++ b/openpower/configs/barreleye_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/firenze_defconfig b/openpower/configs/firenze_defconfig
index 13d4990..cebb62e 100644
--- a/openpower/configs/firenze_defconfig
+++ b/openpower/configs/firenze_defconfig
@@ -15,7 +15,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig
index 46f7956..63b401f 100644
--- a/openpower/configs/firestone_defconfig
+++ b/openpower/configs/firestone_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/garrison_defconfig b/openpower/configs/garrison_defconfig
index 172a8f7..7ad6d86 100644
--- a/openpower/configs/garrison_defconfig
+++ b/openpower/configs/garrison_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/habanero_defconfig
index f4ebe50..97017f7 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/habanero_defconfig
@@ -17,7 +17,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/hostboot/romulus.config b/openpower/configs/hostboot/romulus.config
index 3d8aaad..af8a85e 100755
--- a/openpower/configs/hostboot/romulus.config
+++ b/openpower/configs/hostboot/romulus.config
@@ -1,6 +1,8 @@
-# The Serial Flash Controller is the AST2400 BMC.
-set SFC_IS_AST2500
+# The BMC MBOX Protocol is used to access PNOR
+unset SFC_IS_AST2500
unset SFC_IS_AST2400
+set PNORDD_IS_BMCMBOX
+unset PNORDD_IS_SFC
unset BMC_DOES_SFC_INIT
unset SFC_IS_IBM_DPSS
set ALLOW_MICRON_PNOR
@@ -45,8 +47,8 @@
# Compile in hostboot runtime PRD
set HBRT_PRD
-unset HTMGT
-unset START_OCC_DURING_BOOT
+set HTMGT
+set START_OCC_DURING_BOOT
#PNOR flags
unset PNOR_TWO_SIDE_SUPPORT
diff --git a/openpower/configs/openpower_mambo_defconfig b/openpower/configs/openpower_mambo_defconfig
index cf7a6fd..7b0df3f 100644
--- a/openpower/configs/openpower_mambo_defconfig
+++ b/openpower/configs/openpower_mambo_defconfig
@@ -14,7 +14,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/openpower_p9_mambo_defconfig b/openpower/configs/openpower_p9_mambo_defconfig
index c00a5fd..ded6eff 100644
--- a/openpower/configs/openpower_p9_mambo_defconfig
+++ b/openpower/configs/openpower_p9_mambo_defconfig
@@ -14,7 +14,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/p9dsu_defconfig b/openpower/configs/p9dsu_defconfig
index ca84442..7617ed7 100644
--- a/openpower/configs/p9dsu_defconfig
+++ b/openpower/configs/p9dsu_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_p9_defconfig"
@@ -42,7 +42,7 @@
BR2_OPENPOWER_POWER9=y
BR2_HOSTBOOT_CONFIG_FILE="p9dsu.config"
BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="p9dsu-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="1c5c5b43ace53371671ca189f7fae16fdf8fe3ed"
+BR2_OPENPOWER_MACHINE_XML_VERSION="165246b67f20079b115e7e01db1e206e3b07a8cc"
BR2_OPENPOWER_MACHINE_XML_FILENAME="p9dsu.xml"
BR2_OPENPOWER_SYSTEM_XML_FILENAME="P9DSU_hb.system.xml"
BR2_OPENPOWER_MRW_XML_FILENAME="P9DSU_hb.mrw.xml"
diff --git a/openpower/configs/palmetto_defconfig b/openpower/configs/palmetto_defconfig
index 41691b7..393d7a3 100644
--- a/openpower/configs/palmetto_defconfig
+++ b/openpower/configs/palmetto_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
diff --git a/openpower/configs/redbud_defconfig b/openpower/configs/redbud_defconfig
new file mode 100644
index 0000000..2e87831
--- /dev/null
+++ b/openpower/configs/redbud_defconfig
@@ -0,0 +1,67 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/redbud-patches"
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_4_9_X=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_p9_defconfig"
+BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_LINUX_KERNEL_XZ=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_I2C_TOOLS=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER9=y
+BR2_HOSTBOOT_CONFIG_FILE="witherspoon.config"
+BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="witherspoon-xml"
+BR2_OPENPOWER_MACHINE_XML_VERSION="d0f86cf46a99800c6f15a4e650701da141216940"
+BR2_OPENPOWER_MACHINE_XML_FILENAME="witherspoon.xml"
+BR2_OPENPOWER_SYSTEM_XML_FILENAME="WITHERSPOON_hb.system.xml"
+BR2_OPENPOWER_MRW_XML_FILENAME="WITHERSPOON_hb.mrw.xml"
+BR2_OPENPOWER_BIOS_XML_FILENAME="WITHERSPOON_bios.xml"
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml"
+BR2_OPENPOWER_CONFIG_NAME="witherspoon"
+BR2_OPENPOWER_PNOR_FILENAME="redbud.pnor"
+BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc"
+BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc"
+BR2_WOFDATA_FILENAME="wof_output"
+BR2_WOFDATA_BINARY_FILENAME="wofdata.bin.ecc"
+BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="WITHERSPOON_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="WITHERSPOON_HB.targeting.bin.ecc"
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+BR2_OCC_BIN_FILENAME="occ.bin"
+BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
+BR2_PACKAGE_LOADKEYS=y
+BR2_IMA_CATALOG_DTS="POWER9"
diff --git a/openpower/configs/romulus_defconfig b/openpower/configs/romulus_defconfig
index 6f1540a..459b296 100644
--- a/openpower/configs/romulus_defconfig
+++ b/openpower/configs/romulus_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_p9_defconfig"
@@ -42,7 +42,7 @@
BR2_OPENPOWER_POWER9=y
BR2_HOSTBOOT_CONFIG_FILE="romulus.config"
BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="romulus-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="301279cbdb3595ad1bbdce4d9d2189db0470a62a"
+BR2_OPENPOWER_MACHINE_XML_VERSION="4a9a504238c6cb965c1288ace63b938fa23fe6ba"
BR2_OPENPOWER_MACHINE_XML_FILENAME="romulus.xml"
BR2_OPENPOWER_SYSTEM_XML_FILENAME="ROMULUS_hb.system.xml"
BR2_OPENPOWER_MRW_XML_FILENAME="ROMULUS_hb.mrw.xml"
diff --git a/openpower/configs/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig
index 309fc03..be031b6 100644
--- a/openpower/configs/witherspoon_defconfig
+++ b/openpower/configs/witherspoon_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_p9_defconfig"
diff --git a/openpower/configs/zaius_defconfig b/openpower/configs/zaius_defconfig
index 2657629..d95bdc5 100644
--- a/openpower/configs/zaius_defconfig
+++ b/openpower/configs/zaius_defconfig
@@ -16,7 +16,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_p9_defconfig"
diff --git a/openpower/configs/zz_defconfig b/openpower/configs/zz_defconfig
index afd6fc7..f1c493c 100644
--- a/openpower/configs/zz_defconfig
+++ b/openpower/configs/zz_defconfig
@@ -15,7 +15,7 @@
BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.6"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_p9_defconfig"
diff --git a/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch b/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
index ba1eeaf..3a83ddb 100644
--- a/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
+++ b/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
@@ -10,10 +10,10 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index 7b86508ac8cf..c358d5e7ef79 100644
+index fcf1f3f63e7a..2eeede48510f 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -470,7 +470,7 @@ static struct pci_driver xhci_pci_driver = {
+@@ -473,7 +473,7 @@ static struct pci_driver xhci_pci_driver = {
.remove = xhci_pci_remove,
/* suspend and resume implemented later */
diff --git a/openpower/linux/0002-xhci-do-not-halt-the-secondary-HCD.patch b/openpower/linux/0002-xhci-do-not-halt-the-secondary-HCD.patch
index ad7d0a1..1d0853d 100644
--- a/openpower/linux/0002-xhci-do-not-halt-the-secondary-HCD.patch
+++ b/openpower/linux/0002-xhci-do-not-halt-the-secondary-HCD.patch
@@ -13,7 +13,7 @@
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 953fd8f62df0..d17a7039b154 100644
+index b1f779817ffe..662106a8dfc0 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -689,6 +689,21 @@ void xhci_stop(struct usb_hcd *hcd)
diff --git a/openpower/linux/0004-Release-OpenPower-kernel.patch b/openpower/linux/0004-Release-OpenPower-kernel.patch
index a5ef22e..2ac50c6 100644
--- a/openpower/linux/0004-Release-OpenPower-kernel.patch
+++ b/openpower/linux/0004-Release-OpenPower-kernel.patch
@@ -9,13 +9,13 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index d7b64830a7b7..e77804c0405d 100644
+index e46e99cbe5d1..d7f36716d028 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
VERSION = 4
PATCHLEVEL = 11
- SUBLEVEL = 2
+ SUBLEVEL = 6
-EXTRAVERSION =
+EXTRAVERSION = -openpower1
NAME = Fearless Coyote
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index bbc07ef..60cc26c 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
#
################################################################################
HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= 695bd891343faf1f0ef85fe53148590e58239efd
-HOSTBOOT_VERSION_BRANCH_MASTER ?= 44d178b6d050d9491e35360d5f3867e23c8ee895
+HOSTBOOT_VERSION_BRANCH_MASTER ?= 30db3842625fe111a3d609773da25b97147af5ba
HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0002-Only-build-attributeOverride-if-compiler-supports-st.patch b/openpower/package/hostboot/p9Patches/hostboot-0002-Only-build-attributeOverride-if-compiler-supports-st.patch
deleted file mode 100644
index d369874..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0002-Only-build-attributeOverride-if-compiler-supports-st.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 88a9eed95a72e6cbc8956585308599bf07aec70a Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@linux.vnet.ibm.com>
-Date: Mon, 20 Mar 2017 13:31:35 +1100
-Subject: [PATCH] Only build attributeOverride if compiler supports
- -std=gnu++11
-
-GCC prior to 4.8 doesn't support -std=gnu++11, which the attributeOverride
-tool requires to build.
-
-Since this is only a host side utility, we can not build it if we're
-building hostboot with ancient host compilers (e.g. on RHEL6.x)
-
-Change-Id: I53ad31b56dd90c2cd77f5ca1f91b46e519cdfe48
-Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
----
- src/build/mkrules/cc.rules.mk | 10 +++++++++-
- src/build/mkrules/dist.targets.mk | 7 ++++++-
- src/usr/targeting/attroverride/makefile | 8 +++++++-
- 3 files changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/src/build/mkrules/cc.rules.mk b/src/build/mkrules/cc.rules.mk
-index cb00ea001072..c89995f825df 100644
---- a/src/build/mkrules/cc.rules.mk
-+++ b/src/build/mkrules/cc.rules.mk
-@@ -5,7 +5,9 @@
- #
- # OpenPOWER HostBoot Project
- #
--# COPYRIGHT International Business Machines Corp. 2013,2014
-+# Contributors Listed Below - COPYRIGHT 2013,2017
-+# [+] International Business Machines Corp.
-+#
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
-@@ -74,3 +76,9 @@ $(IMGDIR)/lib$(MODULE).so : $(OBJECTS) $(ROOTPATH)/src/module.ld $(MODULE_INIT)
- $(OBJECTS) $(MODULE_INIT) \
- -T $(ROOTPATH)/src/module.ld -o $@
- endif
-+
-+try = $(shell set -e; if ($(1)) >/dev/null 2>&1; \
-+ then echo "$(2)"; \
-+ else echo "$(3)"; fi )
-+
-+try-cflag = $(call try,$(1) $(2) -x c -c /dev/null -o /dev/null,$(2))
-diff --git a/src/build/mkrules/dist.targets.mk b/src/build/mkrules/dist.targets.mk
-index 2f047bcda0b7..ba6114db9aae 100644
---- a/src/build/mkrules/dist.targets.mk
-+++ b/src/build/mkrules/dist.targets.mk
-@@ -71,7 +71,6 @@ COPY_FILES = \
- obj/genfiles/targAttrInfo.csv:vpo \
- obj/genfiles/target_types_merged.xml:openpower \
- obj/genfiles/fapiattrs.xml:openpower \
-- obj/genfiles/attributeOverride:tools,openpower \
- src/usr/targeting/attroverride/README.attr_override:tools,openpower \
- src/build/hwpf/prcd_compile.tcl:tools \
- src/build/buildpnor/buildSbePart.pl:openpower \
-@@ -94,6 +93,12 @@ COPY_FILES = \
- src/usr/targeting/common/xmltohb/bios_metadata_petitboot.xslt:openpower \
- $(foreach file, $(call ROOTPATH_WILDCARD,releaseNotes.html), $(file):fsp)\
-
-+ifeq ($(call try-cflag,$(CCACHE) $(HOST_PREFIX)g++,-std=gnu++11),-std=gnu++11)
-+COPY_FILES += obj/genfiles/attributeOverride:tools,openpower
-+else
-+COPY_FILES += obj/genfiles/attributeOverride:tools
-+endif
-+
- include ${ROOTPATH}/config.mk
- COPY_FILES += $(if $(CONFIG_INCLUDE_XML_OPPOWERVM),src/usr/targeting/common/xmltohb/target_types_oppowervm.xml:openpower) \
- $(if $(CONFIG_INCLUDE_XML_OPPOWERVM),src/usr/targeting/common/xmltohb/attribute_types_oppowervm.xml:openpower) \
-diff --git a/src/usr/targeting/attroverride/makefile b/src/usr/targeting/attroverride/makefile
-index 8ab26fd5009b..d9f0e85b324c 100644
---- a/src/usr/targeting/attroverride/makefile
-+++ b/src/usr/targeting/attroverride/makefile
-@@ -5,7 +5,7 @@
- #
- # OpenPOWER HostBoot Project
- #
--# Contributors Listed Below - COPYRIGHT 2014,2016
-+# Contributors Listed Below - COPYRIGHT 2014,2017
- # [+] International Business Machines Corp.
- #
- #
-@@ -49,8 +49,14 @@ include $(ROOTPATH)/config.mk
- vpath %.C $(GENDIR)
- vpath %.H $(GENDIR)
-
-+ifeq ($(call try-cflag,$(CCACHE) $(HOST_PREFIX)g++,-std=gnu++11),-std=gnu++11)
- $(OUT_FILE): $(C_FILES) $(H_FILES)
- $(C2) " CC $(notdir $@)"
- $(C1)$(CCACHE) $(HOST_PREFIX)g++ -std=gnu++11 -O3 -g -o $(OUT_FILE)\
- $(foreach dir,$(INC_DIRS), -I $(dir)) -iquote.\
- $(foreach file,$^,$(if $(findstring .H,$(file)),,$(file)))
-+else
-+$(OUT_FILE): $(C_FILES) $(H_FILES)
-+ $(C2) " GEN-NULL $(notdir $@)"
-+ @(echo '#!/bin/sh'; echo 'exit -1';) > $(OUT_FILE)
-+endif
---
-2.9.3
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0003-Revert-ProcessMRW-changes-for-dynamic-i2c-devices.patch b/openpower/package/hostboot/p9Patches/hostboot-0003-Revert-ProcessMRW-changes-for-dynamic-i2c-devices.patch
deleted file mode 100644
index 7c097e7..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0003-Revert-ProcessMRW-changes-for-dynamic-i2c-devices.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-From 7a4142d229ddd0554684664df8d7fa9bd402abc7 Mon Sep 17 00:00:00 2001
-From: Bill Hoffa <wghoffa@us.ibm.com>
-Date: Mon, 8 May 2017 13:03:51 -0500
-Subject: [PATCH] Revert "ProcessMRW changes for dynamic i2c devices"
-
-- Do this temporarily while the attribute dependencies are sorted out
- (HDAT_I2C_DEVICE_TYPE + HDAT_I2C_DEVICE_PURPOSE)
-
-This reverts commit 651ed35f1c045ea0c52ac659f9c27d757a351877.
----
- src/usr/i2c/i2c.C | 12 +-
- src/usr/targeting/common/Targets.pm | 16 --
- src/usr/targeting/common/processMrw.pl | 190 ---------------------
- .../common/xmltohb/attribute_types_openpower.xml | 4 +-
- .../common/xmltohb/target_types_openpower.xml | 6 +-
- 5 files changed, 12 insertions(+), 216 deletions(-)
-
-diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C
-index 3892497..835d9ea 100755
---- a/src/usr/i2c/i2c.C
-+++ b/src/usr/i2c/i2c.C
-@@ -3854,6 +3854,9 @@ void getDeviceInfo( TARGETING::Target* i_i2cMaster,
- case EEPROM::VPD_BACKUP:
- l_currentDI.devicePurpose =
- TARGETING::HDAT_I2C_DEVICE_PURPOSE_MODULE_VPD;
-+ //TODO RTC:165485 this isn't currently right. we'll need
-+ //to add the changes in the enum and possibly the other
-+ //struct/attribute.
- break;
- case EEPROM::SBE_PRIMARY:
- case EEPROM::SBE_BACKUP:
-@@ -3938,8 +3941,8 @@ void getDeviceInfo( TARGETING::Target* i_i2cMaster,
- TARGETING::ATTR_HDAT_I2C_MASTER_PORT_type l_i2cMasterPort;
- (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_MASTER_PORT>(
- l_i2cMasterPort);
-- TARGETING::ATTR_HDAT_I2C_DEVICE_TYPE_type l_i2cDevType;
-- (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_DEVICE_TYPE>(
-+ TARGETING::ATTR_HDAT_I2C_DEVTYPE_type l_i2cDevType;
-+ (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_DEVTYPE>(
- l_i2cDevType);
- TARGETING::ATTR_HDAT_I2C_ADDR_type l_i2cAddr;
- (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_ADDR>(l_i2cAddr);
-@@ -3949,8 +3952,8 @@ void getDeviceInfo( TARGETING::Target* i_i2cMaster,
- TARGETING::ATTR_HDAT_I2C_BUS_FREQ_type l_i2cBusFreq;
- (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_BUS_FREQ>(
- l_i2cBusFreq);
-- TARGETING::ATTR_HDAT_I2C_DEVICE_PURPOSE_type l_i2cDevPurpose;
-- (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_DEVICE_PURPOSE>(
-+ TARGETING::ATTR_HDAT_I2C_DEV_PURPOSE_type l_i2cDevPurpose;
-+ (*childItr)->tryGetAttr<TARGETING::ATTR_HDAT_I2C_DEV_PURPOSE>(
- l_i2cDevPurpose);
-
- uint8_t l_arrayLength =
-@@ -3966,7 +3969,6 @@ void getDeviceInfo( TARGETING::Target* i_i2cMaster,
- l_idx++)
- {
- DeviceInfo_t l_currentDevice;
-- l_currentDevice.masterChip = (*childItr);
- l_currentDevice.engine = l_i2cEngine[l_idx];
- l_currentDevice.masterPort = l_i2cMasterPort[l_idx];
- l_currentDevice.addr = l_i2cAddr[l_idx];
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index 44b24bb..9009b4d 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -1708,18 +1708,6 @@ sub getBusAttribute
- ->{default};
- }
-
--## returns a boolean for if a given bus attribute is defined
--sub isBusAttributeDefined
--{
-- my $self = shift;
-- my $target = shift;
-- my $busnum = shift;
-- my $attr = shift;
-- my $target_ptr = $self->getTarget($target);
--
-- return defined($target_ptr->{CONNECTION}->{BUS}->[$busnum]->{bus_attribute}
-- ->{$attr}->{default});
--}
-
- ## returns a pointer to an array of children target names
- sub getTargetChildren
-@@ -2059,10 +2047,6 @@ to value C<VALUE>. This is for complex attributes.
- Gets the attribute C<ATTRIBUTE_NAME> from bus C<TARGET_STRING> bus number
- C<INDEX>.
-
--=item isBusAttributeDefined(C<TARGET_STRING>,C<INDEX>.C<ATTRIBUTE_NAME>)
--
--Looks for a specific attribute and returns if it exists or not
--
- =item getTargetChildren(C<TARGET_STRING>)
-
- Returns an array of target strings representing all the children of target
-diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
-index 97d9901..fd6fbad 100644
---- a/src/usr/targeting/common/processMrw.pl
-+++ b/src/usr/targeting/common/processMrw.pl
-@@ -477,15 +477,6 @@ sub processProcessor
- $targetObj->setMasterProc($target);
- }
-
-- # I2C arrays
-- my @engine = ();
-- my @port = ();
-- my @slavePort = ();
-- my @addr = ();
-- my @speed = ();
-- my @type = ();
-- my @purpose = ();
--
- $targetObj->log($target, "Processing PROC");
- foreach my $child (@{ $targetObj->getTargetChildren($target) })
- {
-@@ -537,58 +528,8 @@ sub processProcessor
- {
- processOcc($targetObj, $child, $target);
- }
-- # Ideally this should be $child_type eq "I2C", but we need a change
-- # in serverwiz and the witherspoon.xml first
-- elsif (index($child,"i2c-master") != -1)
-- {
-- my ($i2cEngine, $i2cPort, $i2cSlavePort, $i2cAddr,
-- $i2cSpeed, $i2cType, $i2cPurpose) =
-- processI2C($targetObj, $child, $target);
--
-- # Add this I2C device's information to the proc array
-- push(@engine,@$i2cEngine);
-- push(@port,@$i2cPort);
-- push(@slavePort,@$i2cSlavePort);
-- push(@addr,@$i2cAddr);
-- push(@speed,@$i2cSpeed);
-- push(@type,@$i2cType);
-- push(@purpose,@$i2cPurpose);
--
-- }
- }
-
-- # Add final I2C arrays to processor
-- my $size = scalar @engine;
-- my $engine_attr = $engine[0];
-- my $port_attr = $port[0];
-- my $slave_attr = $slavePort[0];
-- my $addr_attr = $addr[0];
-- my $speed_attr = $speed[0];
-- my $type_attr = "0x".$type[0];
-- my $purpose_attr = "0x".$purpose[0];
--
-- # Parse out array to print as a string
-- foreach my $n (1..($size-1))
-- {
-- $engine_attr .= ",".$engine[$n];
-- $port_attr .= ",".$port[$n];
-- $slave_attr .= ",".$slavePort[$n];
-- $addr_attr .= ",".$addr[$n];
-- $speed_attr .= ",".$speed[$n];
-- $type_attr .= ",0x".$type[$n];
-- $purpose_attr .= ",0x".$purpose[$n];
-- }
--
-- # Set the arrays to the corresponding attribute on the proc
-- $targetObj->setAttribute($target,"HDAT_I2C_ENGINE",$engine_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_MASTER_PORT",$port_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_SLAVE_PORT",$slave_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_ADDR",$addr_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_BUS_FREQ",$speed_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_DEVICE_TYPE",$type_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_DEVICE_PURPOSE",$purpose_attr);
-- $targetObj->setAttribute($target,"HDAT_I2C_ELEMENTS",$size);
--
- ## update path for mvpd's and sbe's
- my $path = $targetObj->getAttribute($target, "PHYS_PATH");
- my $model = $targetObj->getAttribute($target, "MODEL");
-@@ -1290,137 +1231,6 @@ sub getI2cMapField
- return $hexfield;
- }
-
--#------------------------------------------------------------------------------
--# I2C
--#
--sub processI2C
--{
-- my $targetObj = shift; # Top Hierarchy of targeting structure
-- my $target = shift; # I2C targetInstance
-- my $parentTarget = shift; # Processor target
--
-- # Initialize output arrays
-- my @i2cEngine = ();
-- my @i2cPort = ();
-- my @i2cSlave = ();
-- my @i2cAddr = ();
-- my @i2cSpeed = ();
-- my @i2cType = ();
-- my @i2cPurpose = ();
--
-- # Step 1: get I2C_ENGINE and PORT from <targetInstance>
--
-- my $engine = $targetObj->getAttribute($target, "I2C_ENGINE");
-- if($engine eq "") {$engine = "0xFF";}
--
-- my $port = $targetObj->getAttribute($target, "I2C_PORT");
-- if($port eq "") {$port = "0xFF";}
--
-- # Step 2: get I2C_ADDRESS and I2C_SPEED from <bus>
-- # This is different for each connection.
--
-- my $i2cs = $targetObj->findConnections($parentTarget, "I2C","");
-- if ($i2cs ne "")
-- {
-- # This gives all i2c connections
-- foreach my $i2c (@{$i2cs->{CONN}})
-- {
-- # Here we are checking that the i2c source matches our target
-- my $source = $i2c->{SOURCE};
-- if ($source ne $target)
-- {
-- next;
-- }
--
-- # Most I2C devices will default the slave port, it is only valid
-- # for gpio expanders.
-- my $slavePort = "0xFF";
--
-- my @source_array = split(/-/,$source);
-- my $source_idx = scalar @source_array;
--
-- # If the last part of the source only includes numbers
-- if($source_array[$source_idx-1] =~ /^[0-9,.E]+$/)
-- {
-- $slavePort = $source_array[$source_idx-1];
-- }
--
-- my $addr;
-- my $speed;
-- my $type;
-- my $purpose;
--
-- # For all these attributes, we need to check if they're defined,
-- # and if not we set them to a default value.
-- if ($targetObj->isBusAttributeDefined(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_ADDRESS"))
-- {
-- $addr = $targetObj->getBusAttribute(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_ADDRESS");
-- }
--
-- if ($addr eq "") {$addr = "0xFF";}
--
-- if ($targetObj->isBusAttributeDefined(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_SPEED"))
-- {
-- $speed = $targetObj->getBusAttribute(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_SPEED");
-- }
--
-- if ($speed eq "") {$speed = "0";}
--
-- if ($targetObj->isBusAttributeDefined(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_TYPE"))
-- {
-- $type = $targetObj->getBusAttribute(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_TYPE");
-- }
--
-- if ($type eq "")
-- {
-- $type = "FF";
-- }
-- else
-- {
-- $type = $targetObj->getEnumValue("HDAT_I2C_DEVICE_TYPE",$type);
-- }
--
-- if ($targetObj->isBusAttributeDefined(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_PURPOSE"))
-- {
-- $purpose = $targetObj->getBusAttribute(
-- $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_PURPOSE");
-- }
--
-- if ($purpose eq "")
-- {
-- $purpose = "FF";
-- }
-- else
-- {
-- $purpose = $targetObj->getEnumValue("HDAT_I2C_DEVICE_PURPOSE",
-- $purpose);
-- }
--
-- # Step 3: For each connection, create an instance in the array
-- # for the DeviceInfo_t struct.
-- push @i2cEngine, $engine;
-- push @i2cPort, $port;
-- push @i2cSlave, $slavePort;
-- push @i2cAddr, $addr;
-- push @i2cSpeed, $speed;
-- push @i2cType, $type;
-- push @i2cPurpose, $purpose;
--
-- }
-- }
--
-- # Return this i2c device's information back to the processor
-- return (\@i2cEngine, \@i2cPort, \@i2cSlave, \@i2cAddr,
-- \@i2cSpeed, \@i2cType, \@i2cPurpose);
--}
--
-
- sub setEepromAttributes
- {
-diff --git a/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml b/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml
-index e40f8eb..841d3d2 100644
---- a/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml
-+++ b/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml
-@@ -191,7 +191,7 @@
- </attribute>
-
- <attribute>
-- <id>HDAT_I2C_DEVICE_TYPE</id>
-+ <id>HDAT_I2C_DEVTYPE</id>
- <description>
- This attribute holds the values of the I2C device type from the i2c
- device connections as defined in the MRW. It is parsed into a
-@@ -255,7 +255,7 @@
- </attribute>
-
- <attribute>
-- <id>HDAT_I2C_DEVICE_PURPOSE</id>
-+ <id>HDAT_I2C_DEV_PURPOSE</id>
- <description>
- This attribute holds the values of the I2C device purpose from the i2c
- device connections as defined in the MRW. It is parsed into a
-diff --git a/src/usr/targeting/common/xmltohb/target_types_openpower.xml b/src/usr/targeting/common/xmltohb/target_types_openpower.xml
-index 6efbbd1..548c559 100644
---- a/src/usr/targeting/common/xmltohb/target_types_openpower.xml
-+++ b/src/usr/targeting/common/xmltohb/target_types_openpower.xml
-@@ -32,14 +32,14 @@
- =====================================================================
- -->
- <targetTypeExtension>
-- <id>chip-processor</id>
-+ <id>base</id>
- <attribute><id>HDAT_I2C_ENGINE</id></attribute>
- <attribute><id>HDAT_I2C_MASTER_PORT</id></attribute>
-- <attribute><id>HDAT_I2C_DEVICE_TYPE</id></attribute>
-+ <attribute><id>HDAT_I2C_DEVTYPE</id></attribute>
- <attribute><id>HDAT_I2C_ADDR</id></attribute>
- <attribute><id>HDAT_I2C_SLAVE_PORT</id></attribute>
- <attribute><id>HDAT_I2C_BUS_FREQ</id></attribute>
-- <attribute><id>HDAT_I2C_DEVICE_PURPOSE</id></attribute>
-+ <attribute><id>HDAT_I2C_DEV_PURPOSE</id></attribute>
- <attribute><id>HDAT_I2C_ELEMENTS</id></attribute>
- <attribute>
- <id>IPMI_INSTANCE</id>
---
-1.8.2.2
-
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index 2f64253..7164ea5 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OPENPOWER_PNOR_VERSION ?= 3ab2d5d3f0c030bd68a4b431ac128004d54f7511
+OPENPOWER_PNOR_VERSION ?= 2da7a68536f4552aff23e55d7bcfc81f04c07028
OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
OPENPOWER_PNOR_LICENSE = Apache-2.0
diff --git a/openpower/package/skiboot/Config.in b/openpower/package/skiboot/Config.in
index 8b78129..d7528f5 100644
--- a/openpower/package/skiboot/Config.in
+++ b/openpower/package/skiboot/Config.in
@@ -31,7 +31,7 @@
config BR2_SKIBOOT_VERSION
string
- default "skiboot-5.6.0-123-g4df53124cb34" if BR2_SKIBOOT_LATEST_VERSION
+ default "skiboot-5.6.0-148-g6678e057ab5c" if BR2_SKIBOOT_LATEST_VERSION
default BR2_SKIBOOT_CUSTOM_VERSION_VALUE \
if BR2_SKIBOOT_CUSTOM_VERSION
diff --git a/openpower/patches/redbud-patches/skiboot/0001-NOT-FOR-UPSTREAM-Add-support-for-Redbud.patch b/openpower/patches/redbud-patches/skiboot/0001-NOT-FOR-UPSTREAM-Add-support-for-Redbud.patch
new file mode 100644
index 0000000..25897fb
--- /dev/null
+++ b/openpower/patches/redbud-patches/skiboot/0001-NOT-FOR-UPSTREAM-Add-support-for-Redbud.patch
@@ -0,0 +1,172 @@
+From 399620b8282f89728ab94fd0c273882063bf32b1 Mon Sep 17 00:00:00 2001
+From: Alistair Popple <alistair@popple.id.au>
+Date: Thu, 22 Jun 2017 13:26:01 +1000
+Subject: [PATCH] NOT FOR UPSTREAM: Add support for Redbud
+
+Add support for Redbud. This is mutually exclusive with support for Sequoia so
+anything built with this patch will not work on Sequoia.
+
+Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
+---
+ platforms/astbmc/Makefile.inc | 2 +-
+ platforms/astbmc/{witherspoon.c => redbud.c} | 68 +++++++---------------------
+ 2 files changed, 18 insertions(+), 52 deletions(-)
+ rename platforms/astbmc/{witherspoon.c => redbud.c} (91%)
+
+diff --git a/platforms/astbmc/Makefile.inc b/platforms/astbmc/Makefile.inc
+index 49292c10601c..797a03c323ad 100644
+--- a/platforms/astbmc/Makefile.inc
++++ b/platforms/astbmc/Makefile.inc
+@@ -4,7 +4,7 @@ ASTBMC_OBJS = pnor.o common.o slots.o \
+ palmetto.o habanero.o firestone.o \
+ p8dtu.o p8dnu.o \
+ garrison.o barreleye.o \
+- witherspoon.o zaius.o romulus.o p9dsu.o
++ redbud.o zaius.o romulus.o p9dsu.o
+
+ ASTBMC = $(PLATDIR)/astbmc/built-in.o
+ $(ASTBMC): $(ASTBMC_OBJS:%=$(PLATDIR)/astbmc/%)
+diff --git a/platforms/astbmc/witherspoon.c b/platforms/astbmc/redbud.c
+similarity index 91%
+rename from platforms/astbmc/witherspoon.c
+rename to platforms/astbmc/redbud.c
+index 6a773061db74..90373f66961f 100644
+--- a/platforms/astbmc/witherspoon.c
++++ b/platforms/astbmc/redbud.c
+@@ -51,7 +51,7 @@ static const struct slot_table_entry witherspoon_gpu1[] = {
+ static const struct slot_table_entry witherspoon_gpu2[] = {
+ {
+ .etype = st_pluggable_slot,
+- .location = ST_LOC_DEVFN(0xc0,0),
++ .location = ST_LOC_DEVFN(0x60,0),
+ .name = "GPU2",
+ },
+ { .etype = st_end },
+@@ -60,26 +60,8 @@ static const struct slot_table_entry witherspoon_gpu2[] = {
+ static const struct slot_table_entry witherspoon_gpu3[] = {
+ {
+ .etype = st_pluggable_slot,
+- .location = ST_LOC_DEVFN(0x60,0),
+- .name = "GPU3",
+- },
+- { .etype = st_end },
+-};
+-
+-static const struct slot_table_entry witherspoon_gpu4[] = {
+- {
+- .etype = st_pluggable_slot,
+ .location = ST_LOC_DEVFN(0x80,0),
+- .name = "GPU4",
+- },
+- { .etype = st_end },
+-};
+-
+-static const struct slot_table_entry witherspoon_gpu5[] = {
+- {
+- .etype = st_pluggable_slot,
+- .location = ST_LOC_DEVFN(0xa0,0),
+- .name = "GPU5",
++ .name = "GPU3",
+ },
+ { .etype = st_end },
+ };
+@@ -97,12 +79,6 @@ static const struct slot_table_entry witherspoon_plx0_down[] = {
+ .children = witherspoon_gpu1,
+ .name = "GPU1 down",
+ },
+- {
+- .etype = st_builtin_dev,
+- .location = ST_LOC_DEVFN(0x4c,0),
+- .children = witherspoon_gpu2,
+- .name = "GPU2 down",
+- },
+ { .etype = st_end },
+ };
+
+@@ -110,20 +86,14 @@ static const struct slot_table_entry witherspoon_plx1_down[] = {
+ {
+ .etype = st_builtin_dev,
+ .location = ST_LOC_DEVFN(0x44,0),
+- .children = witherspoon_gpu3,
+- .name = "GPU3 down",
++ .children = witherspoon_gpu2,
++ .name = "GPU2 down",
+ },
+ {
+ .etype = st_builtin_dev,
+ .location = ST_LOC_DEVFN(0x45,0),
+- .children = witherspoon_gpu4,
+- .name = "GPU4 down",
+- },
+- {
+- .etype = st_builtin_dev,
+- .location = ST_LOC_DEVFN(0x4d,0),
+- .children = witherspoon_gpu5,
+- .name = "GPU5 down",
++ .children = witherspoon_gpu3,
++ .name = "GPU3 down",
+ },
+ { .etype = st_end },
+ };
+@@ -175,11 +145,6 @@ static const struct slot_table_entry witherspoon_npu0_slots[] = {
+ .location = ST_LOC_NPU_GROUP(1),
+ .name = "GPU1",
+ },
+- {
+- .etype = st_npu_slot,
+- .location = ST_LOC_NPU_GROUP(2),
+- .name = "GPU2",
+- },
+ { .etype = st_end },
+ };
+
+@@ -187,17 +152,12 @@ static const struct slot_table_entry witherspoon_npu8_slots[] = {
+ {
+ .etype = st_npu_slot,
+ .location = ST_LOC_NPU_GROUP(0),
+- .name = "GPU3",
++ .name = "GPU2",
+ },
+ {
+ .etype = st_npu_slot,
+ .location = ST_LOC_NPU_GROUP(1),
+- .name = "GPU4",
+- },
+- {
+- .etype = st_npu_slot,
+- .location = ST_LOC_NPU_GROUP(2),
+- .name = "GPU5",
++ .name = "GPU3",
+ },
+ { .etype = st_end },
+ };
+@@ -290,10 +250,10 @@ static void dt_create_npu2(void)
+
+ create_link(npu, 0, 0);
+ create_link(npu, 0, 1);
+- create_link(npu, 1, 2);
++ create_link(npu, 0, 2);
+ create_link(npu, 1, 3);
+- create_link(npu, 2, 4);
+- create_link(npu, 2, 5);
++ create_link(npu, 1, 4);
++ create_link(npu, 1, 5);
+ }
+ }
+
+@@ -304,6 +264,12 @@ static bool witherspoon_probe(void)
+ if (!dt_node_is_compatible(dt_root, "ibm,witherspoon"))
+ return false;
+
++ prerror("********************************************************************************\n");
++ prerror("* README: THIS BUILD IS ONLY FOR SYSTEMS SUPPORTING A MAXIMUM OF 4 GPUS *\n");
++ prerror("* *\n");
++ prerror("* !!! THIS BUILD WILL NOT WORK ON SYSTEMS WHICH SUPPORT 6 GPUS !!! *\n");
++ prerror("********************************************************************************\n");
++
+ /* Lot of common early inits here */
+ astbmc_early_init();
+
+--
+2.9.4
+