diff --git a/.circleci/config.yml b/.circleci/config.yml
index ec64a53d7..4e8172b17 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -15,7 +15,7 @@ commands:
           command: |
             ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
             apt update
-            apt install -y build-essential zlib1g-dev uuid-dev libdigest-sha-perl libelf-dev bc bzip2 bison flex git gnupg gawk iasl m4 nasm patch python python2 python3 wget gnat cpio ccache pkg-config cmake libusb-1.0-0-dev autoconf texinfo ncurses-dev doxygen graphviz udev libudev1 libudev-dev automake libtool rsync innoextract sudo
+            apt install -y build-essential zlib1g-dev uuid-dev libdigest-sha-perl libelf-dev bc bzip2 bison flex git gnupg gawk iasl m4 nasm patch python python2 python3 wget gnat cpio ccache pkg-config cmake libusb-1.0-0-dev autoconf texinfo ncurses-dev doxygen graphviz udev libudev1 libudev-dev automake libtool rsync innoextract sudo libssl-dev device-tree-compiler u-boot-tools
       - run:
           name: Make Board
           command: |
@@ -129,12 +129,15 @@ jobs:
           at: ~/
       - build_board:
           arch: <<parameters.arch>>
-          target: <<parameters.target>> 
+          target: <<parameters.target>>
           subcommand: <<parameters.subcommand>>
       - persist_to_workspace:
           root: ~/
           paths:
-            - .
+            - project/packages/<<parameters.arch>>
+            - project/build/<<parameters.arch>>
+            - project/crossgcc/<<parameters.arch>>
+            - project/install/<<parameters.arch>>
 
   build:
     docker:
@@ -170,6 +173,7 @@ jobs:
           paths:
             - crossgcc
             - build/x86/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
+            - build/ppc64/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
             - packages
       - save_cache:
           #Generate cache for the same coreboot mnd musl-cross-make modules definition if hash is not previously existing
@@ -178,11 +182,13 @@ jobs:
           paths:
             - crossgcc
             - build/x86/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
+            - build/ppc64/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
             - packages
             - build/x86/coreboot-4.11
             - build/x86/coreboot-4.13
             - build/x86/coreboot-4.14
             - build/x86/coreboot-4.15
+            - build/ppc64/coreboot-git
       - save_cache:
           #Generate cache for the exact same modules definitions if hash is not previously existing
           key: heads-modules-and-patches-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
@@ -226,11 +232,21 @@ workflows:
 #          requires:
 #            - librem_14
 
+      # Coreboot for Talos
+      - build_and_persist:
+          name: talos-2_server
+          arch: ppc64
+          target: talos-2_server
+          subcommand: ""
+          requires:
+            - prep_env
+
       #Cache one workspace per Coreboot version, ideally the boards including the highest number of modules, since not rebuilt across builds.
       #Below, 4.11, 4.13, 4.15
       - save_cache:
           requires:
-            - librem_15v4
+            - librem_14
+            - talos-2_server
 
 #
 #
@@ -503,6 +519,14 @@ workflows:
 #          requires:
 #            - librem_14
 
+      - build:
+          name: talos-2_workstation
+          arch: ppc64
+          target: talos-2_workstation
+          subcommand: ""
+          requires:
+            - talos-2_server
+
 ########################
 ########################
 ###    OLD STUFF     ###
diff --git a/Makefile b/Makefile
index 02fb7d04c..34e284798 100644
--- a/Makefile
+++ b/Makefile
@@ -258,7 +258,7 @@ define define_module =
     # this case, since we don't have a stable version to compare against.
     $(build)/$($1_base_dir)/.canary:
 	git clone $($1_repo) "$(build)/$($1_base_dir)"
-	cd $(build)/$($1_base_dir) && git submodule update --init --checkout
+	cd $(build)/$($1_base_dir) && git reset --hard $($1_commit_hash) && git submodule update --init --checkout
 	if [ -r patches/$($1_patch_name).patch ]; then \
 		( cd $(build)/$($1_base_dir) ; patch -p1 ) \
 			< patches/$($1_patch_name).patch \
@@ -458,6 +458,7 @@ bin_modules-$(CONFIG_FBWHIPTAIL) += fbwhiptail
 bin_modules-$(CONFIG_HOTPKEY) += hotp-verification
 bin_modules-$(CONFIG_MSRTOOLS) += msrtools
 bin_modules-$(CONFIG_NKSTORECLI) += nkstorecli
+bin_modules-$(CONFIG_UTIL_LINUX) += util-linux
 
 $(foreach m, $(bin_modules-y), \
 	$(call map,initrd_bin_add,$(call bins,$m)) \
diff --git a/boards/talos-2_server/talos-2_server.config b/boards/talos-2_server/talos-2_server.config
new file mode 100644
index 000000000..31ad4fc99
--- /dev/null
+++ b/boards/talos-2_server/talos-2_server.config
@@ -0,0 +1,47 @@
+# Configuration for a Talos 2 running Qubes and other OSes
+# The board uses BE coreboot and LE Linux kernel and initrd
+CONFIG_TARGET_ARCH=ppc64
+
+export CONFIG_COREBOOT=y
+export CONFIG_COREBOOT_VERSION=talos_2
+export CONFIG_LINUX_VERSION=5.5-openpower
+
+CONFIG_COREBOOT_CONFIG=config/coreboot-talos-2.config
+CONFIG_COREBOOT_ROM=coreboot.rom.signed.ecc
+CONFIG_COREBOOT_BOOTBLOCK=bootblock.signed.ecc
+CONFIG_LINUX_CONFIG=config/linux-talos-2_server.config
+
+CONFIG_CRYPTSETUP=y
+CONFIG_LVM2=y
+CONFIG_KEXEC=y
+CONFIG_UTIL_LINUX=y
+CONFIG_MBEDTLS=y
+CONFIG_POPT=y
+CONFIG_QRENCODE=y
+CONFIG_TPMTOTP=y
+CONFIG_GPG2=y
+CONFIG_PCIUTILS=y
+
+#Whiptail in console mode
+CONFIG_SLANG=y
+CONFIG_NEWT=y
+
+CONFIG_LINUX_USB=y
+CONFIG_LINUX_BUNDLED=y
+
+#SSH client/server
+CONFIG_DROPBEAR=y
+
+# for OpenBMC VGA console
+export CONFIG_USE_AGETTY=y
+export CONFIG_USB_KEYBOARD=y
+export CONFIG_BOOT_EXTRA_TTYS="tty0"
+
+export CONFIG_TPM=y
+export CONFIG_BOOTSCRIPT=/bin/gui-init
+export CONFIG_BOOT_REQ_HASH=n
+export CONFIG_BOOT_REQ_ROLLBACK=n
+export CONFIG_BOOT_KERNEL_REMOVE="quiet"
+export CONFIG_BOOT_KERNEL_ADD="console=tty0 console=hvc0 rootdelay=3 rootwait panic=10"
+export CONFIG_BOOT_DEV="/dev/sda1"
+export CONFIG_BOARD_NAME="Talos 2 Server"
diff --git a/boards/talos-2_workstation/talos-2_workstation.config b/boards/talos-2_workstation/talos-2_workstation.config
new file mode 100644
index 000000000..83c7285c2
--- /dev/null
+++ b/boards/talos-2_workstation/talos-2_workstation.config
@@ -0,0 +1,47 @@
+# Configuration for a Talos 2 running Qubes and other OSes
+# The board uses BE coreboot and LE Linux kernel and initrd
+CONFIG_TARGET_ARCH=ppc64
+
+export CONFIG_COREBOOT=y
+export CONFIG_COREBOOT_VERSION=talos_2
+export CONFIG_LINUX_VERSION=5.5-openpower
+
+CONFIG_COREBOOT_CONFIG=config/coreboot-talos-2.config
+CONFIG_COREBOOT_ROM=coreboot.rom.signed.ecc
+CONFIG_COREBOOT_BOOTBLOCK=bootblock.signed.ecc
+CONFIG_LINUX_CONFIG=config/linux-talos-2_workstation.config
+
+CONFIG_CRYPTSETUP=y
+CONFIG_LVM2=y
+CONFIG_KEXEC=y
+CONFIG_UTIL_LINUX=y
+CONFIG_MBEDTLS=y
+CONFIG_POPT=y
+CONFIG_QRENCODE=y
+CONFIG_TPMTOTP=y
+CONFIG_GPG2=y
+CONFIG_PCIUTILS=y
+
+#whiptail in graphical mode
+CONFIG_CAIRO=y
+CONFIG_FBWHIPTAIL=y
+
+CONFIG_LINUX_USB=y
+CONFIG_LINUX_BUNDLED=y
+
+#SSH client/server
+CONFIG_DROPBEAR=y
+
+# for OpenBMC VGA console
+export CONFIG_USE_AGETTY=y
+export CONFIG_USB_KEYBOARD=y
+export CONFIG_BOOT_EXTRA_TTYS="tty0"
+
+export CONFIG_TPM=y
+export CONFIG_BOOTSCRIPT=/bin/gui-init
+export CONFIG_BOOT_REQ_HASH=n
+export CONFIG_BOOT_REQ_ROLLBACK=n
+export CONFIG_BOOT_KERNEL_REMOVE="quiet"
+export CONFIG_BOOT_KERNEL_ADD="console=tty0 console=hvc0 rootdelay=3 rootwait panic=10"
+export CONFIG_BOOT_DEV="/dev/sda1"
+export CONFIG_BOARD_NAME="Talos 2 Workstation"
diff --git a/config/coreboot-talos-2.config b/config/coreboot-talos-2.config
new file mode 100644
index 000000000..800300f38
--- /dev/null
+++ b/config/coreboot-talos-2.config
@@ -0,0 +1,2 @@
+CONFIG_VENDOR_RAPTOR_CS=y
+CONFIG_PAYLOAD_SKIBOOT=y
diff --git a/config/linux-talos-2_server.config b/config/linux-talos-2_server.config
new file mode 100644
index 000000000..3ee6e5a4c
--- /dev/null
+++ b/config/linux-talos-2_server.config
@@ -0,0 +1,815 @@
+CONFIG_INITRAMFS_SOURCE="../../talos-2_server/initrd.cpio"
+CONFIG_PPC64=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_EXPERT=y
+CONFIG_TTY_PRINTK=y
+CONFIG_ALTIVEC=y
+CONFIG_VSX=y
+CONFIG_NR_CPUS=2048
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=20
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB_FREELIST_HARDENED=y
+CONFIG_JUMP_LABEL=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_SIG=y
+CONFIG_MODULE_SIG_FORCE=n
+CONFIG_MODULE_SIG_SHA512=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_PPC_VAS is not set
+# CONFIG_PPC_PSERIES is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_IDLE=y
+CONFIG_HZ_100=y
+CONFIG_KEXEC=y
+CONFIG_IRQ_ALL_CPUS=y
+CONFIG_NUMA=y
+# CONFIG_COMPACTION is not set
+# CONFIG_MIGRATION is not set
+# CONFIG_BOUNCE is not set
+CONFIG_PPC_64K_PAGES=y
+CONFIG_SCHED_SMT=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="console=tty0 console=hvc0 powersave=off quiet"
+# CONFIG_SECCOMP is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_NET_IPIP=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_IPV6 is not set
+# CONFIG_WIRELESS is not set
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_POWERNV_FLASH=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_VIRTIO_BLK=n
+CONFIG_BLK_DEV_NVME=y
+CONFIG_EEPROM_AT24=n
+# CONFIG_CXL is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CHR_DEV_OSST=n
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_SCSI_CXGB3_ISCSI=n
+CONFIG_SCSI_CXGB4_ISCSI=n
+CONFIG_SCSI_BNX2_ISCSI=n
+CONFIG_SCSI_AACRAID=n
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=n
+CONFIG_MEGARAID_MAILBOX=n
+CONFIG_MEGARAID_SAS=n
+CONFIG_SCSI_MPT2SAS=n
+CONFIG_SCSI_IPR=n
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLA_FC=n
+CONFIG_SCSI_QLA_ISCSI=n
+CONFIG_SCSI_LPFC=n
+CONFIG_SCSI_VIRTIO=n
+CONFIG_SCSI_DH=y
+CONFIG_SCSI_DH_ALUA=n
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=n
+CONFIG_AHCI_CEVA=n
+CONFIG_SATA_INIC162X=n
+CONFIG_SATA_ACARD_AHCI=n
+CONFIG_SATA_SIL24=n
+CONFIG_PDC_ADMA=n
+CONFIG_SATA_QSTOR=n
+CONFIG_SATA_SX4=n
+CONFIG_ATA_PIIX=n
+CONFIG_SATA_MV=n
+CONFIG_SATA_NV=n
+CONFIG_SATA_PROMISE=n
+CONFIG_SATA_SIL=n
+CONFIG_SATA_SIS=n
+CONFIG_SATA_SVW=n
+CONFIG_SATA_ULI=n
+CONFIG_SATA_VIA=n
+CONFIG_SATA_VITESSE=n
+CONFIG_PATA_ALI=n
+CONFIG_PATA_AMD=n
+CONFIG_PATA_ARTOP=n
+CONFIG_PATA_ATIIXP=n
+CONFIG_PATA_ATP867X=n
+CONFIG_PATA_CMD64X=n
+CONFIG_PATA_CYPRESS=n
+CONFIG_PATA_EFAR=n
+CONFIG_PATA_HPT366=n
+CONFIG_PATA_HPT37X=n
+CONFIG_PATA_HPT3X2N=n
+CONFIG_PATA_HPT3X3=n
+CONFIG_PATA_IT8213=n
+CONFIG_PATA_IT821X=n
+CONFIG_PATA_JMICRON=n
+CONFIG_PATA_MARVELL=n
+CONFIG_PATA_NETCELL=n
+CONFIG_PATA_NINJA32=n
+CONFIG_PATA_NS87415=n
+CONFIG_PATA_OLDPIIX=n
+CONFIG_PATA_OPTIDMA=n
+CONFIG_PATA_PDC2027X=n
+CONFIG_PATA_PDC_OLD=n
+CONFIG_PATA_RADISYS=n
+CONFIG_PATA_RDC=n
+CONFIG_PATA_SCH=n
+CONFIG_PATA_SERVERWORKS=n
+CONFIG_PATA_SIL680=n
+CONFIG_PATA_TOSHIBA=n
+CONFIG_PATA_TRIFLEX=n
+CONFIG_PATA_VIA=n
+CONFIG_PATA_WINBOND=n
+CONFIG_PATA_CMD640_PCI=n
+CONFIG_PATA_MPIIX=n
+CONFIG_PATA_NS87410=n
+CONFIG_PATA_OPTI=n
+CONFIG_PATA_PLATFORM=n
+CONFIG_PATA_OF_PLATFORM=n
+CONFIG_PATA_RZ1000=n
+CONFIG_ATA_GENERIC=n
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=n
+CONFIG_MD_LINEAR=n
+CONFIG_MD_RAID0=n
+CONFIG_MD_RAID1=n
+CONFIG_MD_RAID10=n
+CONFIG_MD_RAID456=n
+CONFIG_MD_MULTIPATH=n
+CONFIG_MD_FAULTY=n
+CONFIG_BLK_DEV_DM=n
+CONFIG_DM_CRYPT=n
+CONFIG_DM_SNAPSHOT=n
+CONFIG_DM_MIRROR=n
+CONFIG_DM_ZERO=n
+CONFIG_DM_MULTIPATH=n
+CONFIG_FIREWIRE=n
+CONFIG_FIREWIRE_OHCI=n
+CONFIG_FIREWIRE_SBP2=n
+CONFIG_FIREWIRE_NET=n
+CONFIG_VORTEX=n
+CONFIG_TYPHOON=n
+CONFIG_ADAPTEC_STARFIRE=y
+CONFIG_ET131X=n
+CONFIG_SLICOSS=y
+CONFIG_ACENIC=n
+CONFIG_ACENIC_OMIT_TIGON_I=y
+CONFIG_ALTERA_TSE=n
+CONFIG_AMD8111_ETH=n
+CONFIG_PCNET32=n
+CONFIG_ATL1=n
+CONFIG_ATL1E=n
+CONFIG_ATL1C=n
+CONFIG_ALX=n
+CONFIG_MACB=n
+CONFIG_B44=n
+CONFIG_BCMGENET=n
+CONFIG_TIGON3=y
+CONFIG_BNX2X=n
+CONFIG_SYSTEMPORT=n
+CONFIG_BNXT=n
+# CONFIG_NET_VENDOR_CAVIUM is not set
+CONFIG_CHELSIO_T1=y
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T4VF=n
+CONFIG_ENIC=n
+CONFIG_DNET=n
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=n
+CONFIG_TULIP=n
+CONFIG_TULIP_MWI=y
+CONFIG_TULIP_MMIO=y
+CONFIG_TULIP_NAPI=y
+CONFIG_DE4X5=n
+CONFIG_WINBOND_840=n
+CONFIG_DM9102=n
+CONFIG_ULI526X=n
+CONFIG_DL2K=n
+CONFIG_SUNDANCE=n
+CONFIG_SUNDANCE_MMIO=y
+CONFIG_BE2NET=n
+CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=n
+CONFIG_S2IO=n
+CONFIG_VXGE=n
+CONFIG_HP100=n
+CONFIG_E100=n
+CONFIG_E1000=n
+CONFIG_E1000E=n
+CONFIG_IGB=n
+CONFIG_IGBVF=n
+CONFIG_IXGB=n
+CONFIG_IXGBE=n
+CONFIG_IXGBEVF=n
+CONFIG_I40E=n
+CONFIG_I40EVF=n
+CONFIG_FM10K=n
+CONFIG_JME=n
+CONFIG_MVMDIO=n
+CONFIG_SKGE=n
+CONFIG_SKY2=n
+CONFIG_MLX4_EN=n
+CONFIG_MLX5_CORE=n
+CONFIG_MLX5_FPGA=y
+CONFIG_MLX5_CORE_EN=y
+CONFIG_MLX5_CORE_IPOIB=y
+CONFIG_MLXSW_CORE=n
+CONFIG_MLXFW=n
+CONFIG_KS8851_MLL=n
+CONFIG_KSZ884X_PCI=n
+CONFIG_MYRI10GE=n
+CONFIG_FEALNX=n
+CONFIG_NATSEMI=n
+CONFIG_NS83820=n
+CONFIG_NFP=n
+CONFIG_NE2K_PCI=n
+CONFIG_FORCEDETH=n
+CONFIG_ETHOC=n
+CONFIG_HAMACHI=n
+CONFIG_YELLOWFIN=n
+CONFIG_QLA3XXX=n
+CONFIG_QLCNIC=n
+CONFIG_QLGE=n
+CONFIG_NETXEN_NIC=n
+CONFIG_QED=n
+CONFIG_QEDE=n
+CONFIG_QCOM_EMAC=n
+CONFIG_RMNET=n
+CONFIG_8139CP=n
+CONFIG_8139TOO=n
+CONFIG_R8169=n
+CONFIG_R6040=n
+CONFIG_SXGBE_ETH=n
+CONFIG_SC92031=n
+CONFIG_SIS900=n
+CONFIG_SIS190=n
+CONFIG_SFC=n
+CONFIG_SFC_FALCON=n
+CONFIG_EPIC100=n
+CONFIG_SMSC911X=n
+CONFIG_SMSC9420=n
+CONFIG_STMMAC_ETH=n
+CONFIG_DWMAC_DWC_QOS_ETH=n
+CONFIG_STMMAC_PCI=n
+CONFIG_HAPPYMEAL=n
+CONFIG_SUNGEM=n
+CONFIG_CASSINI=n
+CONFIG_NIU=n
+CONFIG_TEHUTI=n
+CONFIG_TI_CPSW_ALE=n
+CONFIG_TLAN=n
+CONFIG_VIA_RHINE=n
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=n
+CONFIG_WIZNET_W5100=n
+CONFIG_WIZNET_W5300=n
+CONFIG_XILINX_LL_TEMAC=n
+CONFIG_DWC_XLGMAC=n
+CONFIG_USB_NET_DRIVERS=n
+CONFIG_USB_CATC=n
+CONFIG_USB_KAWETH=n
+CONFIG_USB_PEGASUS=n
+CONFIG_USB_RTL8150=n
+CONFIG_USB_RTL8152=n
+CONFIG_USB_LAN78XX=n
+CONFIG_USB_USBNET=n
+CONFIG_USB_NET_HUAWEI_CDC_NCM=n
+CONFIG_USB_NET_CDC_MBIM=n
+CONFIG_USB_NET_DM9601=n
+CONFIG_USB_NET_SR9700=n
+CONFIG_USB_NET_SR9800=n
+CONFIG_USB_NET_SMSC75XX=n
+CONFIG_USB_NET_SMSC95XX=n
+CONFIG_USB_NET_GL620A=n
+CONFIG_USB_NET_PLUSB=n
+CONFIG_USB_NET_MCS7830=n
+CONFIG_USB_NET_RNDIS_HOST=n
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_CX82310_ETH=n
+CONFIG_USB_NET_KALMIA=n
+CONFIG_USB_NET_QMI_WWAN=n
+CONFIG_USB_NET_INT51X1=n
+CONFIG_USB_IPHETH=n
+CONFIG_USB_SIERRA_NET=n
+CONFIG_USB_VL600=n
+CONFIG_USB_NET_CH9200=n
+# CONFIG_WLAN is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADP5588=n
+CONFIG_KEYBOARD_ADP5589=n
+CONFIG_KEYBOARD_QT1070=n
+CONFIG_KEYBOARD_QT2160=n
+CONFIG_KEYBOARD_DLINK_DIR685=n
+CONFIG_KEYBOARD_LKKBD=n
+CONFIG_KEYBOARD_TCA6416=n
+CONFIG_KEYBOARD_TCA8418=n
+CONFIG_KEYBOARD_LM8333=n
+CONFIG_KEYBOARD_MAX7359=n
+CONFIG_KEYBOARD_MCS=n
+CONFIG_KEYBOARD_MPR121=n
+CONFIG_KEYBOARD_NEWTON=n
+CONFIG_KEYBOARD_OPENCORES=n
+CONFIG_KEYBOARD_STOWAWAY=n
+CONFIG_KEYBOARD_SUNKBD=n
+CONFIG_KEYBOARD_OMAP4=n
+CONFIG_KEYBOARD_XTKBD=n
+CONFIG_KEYBOARD_CAP11XX=n
+CONFIG_MOUSE_APPLETOUCH=n
+CONFIG_MOUSE_BCM5974=n
+CONFIG_MOUSE_CYAPA=n
+CONFIG_MOUSE_ELAN_I2C=n
+CONFIG_MOUSE_VSXXXAA=n
+CONFIG_MOUSE_SYNAPTICS_I2C=n
+CONFIG_MOUSE_SYNAPTICS_USB=n
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=n
+CONFIG_TOUCHSCREEN_AD7879_I2C=n
+CONFIG_TOUCHSCREEN_AR1021_I2C=n
+CONFIG_TOUCHSCREEN_ATMEL_MXT=n
+CONFIG_TOUCHSCREEN_BU21013=n
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=n
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=n
+CONFIG_TOUCHSCREEN_CYTTSP4_CORE=n
+CONFIG_TOUCHSCREEN_CYTTSP4_I2C=n
+CONFIG_TOUCHSCREEN_DYNAPRO=n
+CONFIG_TOUCHSCREEN_HAMPSHIRE=n
+CONFIG_TOUCHSCREEN_EETI=n
+CONFIG_TOUCHSCREEN_EGALAX=n
+CONFIG_TOUCHSCREEN_EGALAX_SERIAL=n
+CONFIG_TOUCHSCREEN_FUJITSU=n
+CONFIG_TOUCHSCREEN_ILI210X=n
+CONFIG_TOUCHSCREEN_GUNZE=n
+CONFIG_TOUCHSCREEN_EKTF2127=n
+CONFIG_TOUCHSCREEN_ELAN=n
+CONFIG_TOUCHSCREEN_ELO=n
+CONFIG_TOUCHSCREEN_WACOM_W8001=n
+CONFIG_TOUCHSCREEN_WACOM_I2C=n
+CONFIG_TOUCHSCREEN_MAX11801=n
+CONFIG_TOUCHSCREEN_MCS5000=n
+CONFIG_TOUCHSCREEN_MMS114=n
+CONFIG_TOUCHSCREEN_MELFAS_MIP4=n
+CONFIG_TOUCHSCREEN_MTOUCH=n
+CONFIG_TOUCHSCREEN_INEXIO=n
+CONFIG_TOUCHSCREEN_MK712=n
+CONFIG_TOUCHSCREEN_PENMOUNT=n
+CONFIG_TOUCHSCREEN_EDT_FT5X06=n
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=n
+CONFIG_TOUCHSCREEN_TOUCHWIN=n
+CONFIG_TOUCHSCREEN_PIXCIR=n
+CONFIG_TOUCHSCREEN_WDT87XX_I2C=n
+CONFIG_TOUCHSCREEN_WM97XX=n
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=n
+CONFIG_TOUCHSCREEN_TOUCHIT213=n
+CONFIG_TOUCHSCREEN_TSC_SERIO=n
+CONFIG_TOUCHSCREEN_TSC2004=n
+CONFIG_TOUCHSCREEN_TSC2007=n
+CONFIG_TOUCHSCREEN_SILEAD=n
+CONFIG_TOUCHSCREEN_ST1232=n
+CONFIG_TOUCHSCREEN_SX8654=n
+CONFIG_TOUCHSCREEN_TPS6507X=n
+CONFIG_TOUCHSCREEN_ZET6223=n
+CONFIG_TOUCHSCREEN_ROHM_BU21023=n
+CONFIG_INPUT_MISC=y
+CONFIG_RMI4_CORE=n
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_DEVMEM=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_IPMI_HANDLER=y
+CONFIG_IPMI_DEVICE_INTERFACE=y
+CONFIG_IPMI_POWERNV=y
+CONFIG_HW_RANDOM=y
+CONFIG_TCG_TIS_I2C_NUVOTON=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+# CONFIG_RC_CORE is not set
+CONFIG_DRM=y
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+CONFIG_DRM_RADEON=y
+CONFIG_DRM_AMDGPU=n
+CONFIG_DRM_AMDGPU_SI=y
+CONFIG_DRM_AMDGPU_CIK=y
+CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC=y
+CONFIG_DRM_AMD_DC_DCN1_0=y
+CONFIG_DRM_AMD_DC_DCN2_0=y
+CONFIG_DRM_VGEM=n
+CONFIG_DRM_UDL=n
+CONFIG_DRM_AST=y
+CONFIG_DRM_MGAG200=n
+CONFIG_DRM_CIRRUS_QEMU=n
+CONFIG_DRM_RCAR_DW_HDMI=n
+CONFIG_DRM_QXL=n
+CONFIG_DRM_BOCHS=n
+CONFIG_DRM_VIRTIO_GPU=n
+CONFIG_DRM_ARCPGU=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_TINYDRM=n
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_CIRRUS=n
+CONFIG_FB_PM2=n
+CONFIG_FB_OF=y
+CONFIG_FB_VGA16=n
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FB_S1D13XXX=n
+CONFIG_FB_NVIDIA=n
+CONFIG_FB_MATROX=y
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=n
+CONFIG_FB_MATROX_MAVEN=n
+CONFIG_FB_RADEON=n
+CONFIG_FB_ATY128=n
+CONFIG_FB_ATY=n
+CONFIG_FB_S3=n
+CONFIG_FB_SAVAGE=n
+CONFIG_FB_SIS=n
+CONFIG_FB_NEOMAGIC=n
+CONFIG_FB_KYRO=n
+CONFIG_FB_3DFX=n
+CONFIG_FB_VOODOO1=n
+CONFIG_FB_VT8623=n
+CONFIG_FB_TRIDENT=n
+CONFIG_FB_ARK=n
+CONFIG_FB_PM3=n
+CONFIG_FB_CARMINE=n
+CONFIG_FB_SMSCUFX=n
+CONFIG_FB_UDL=n
+CONFIG_FB_IBM_GXT4500=n
+CONFIG_FB_METRONOME=n
+CONFIG_FB_MB862XX=n
+CONFIG_FB_BROADSHEET=n
+CONFIG_FB_AUO_K190X=n
+CONFIG_FB_AUO_K1900=n
+CONFIG_FB_AUO_K1901=n
+CONFIG_FB_SM712=n
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=n
+CONFIG_SND=n
+CONFIG_SND_AD1889=n
+CONFIG_SND_ALS300=n
+CONFIG_SND_ALS4000=n
+CONFIG_SND_ALI5451=n
+CONFIG_SND_ATIIXP=n
+CONFIG_SND_ATIIXP_MODEM=n
+CONFIG_SND_AU8810=n
+CONFIG_SND_AU8820=n
+CONFIG_SND_AU8830=n
+CONFIG_SND_AW2=n
+CONFIG_SND_AZT3328=n
+CONFIG_SND_BT87X=n
+CONFIG_SND_CA0106=n
+CONFIG_SND_CMIPCI=n
+CONFIG_SND_OXYGEN=n
+CONFIG_SND_CS4281=n
+CONFIG_SND_CS46XX=n
+CONFIG_SND_CTXFI=n
+CONFIG_SND_DARLA20=n
+CONFIG_SND_GINA20=n
+CONFIG_SND_LAYLA20=n
+CONFIG_SND_DARLA24=n
+CONFIG_SND_GINA24=n
+CONFIG_SND_LAYLA24=n
+CONFIG_SND_MONA=n
+CONFIG_SND_MIA=n
+CONFIG_SND_ECHO3G=n
+CONFIG_SND_INDIGO=n
+CONFIG_SND_INDIGOIO=n
+CONFIG_SND_INDIGODJ=n
+CONFIG_SND_INDIGOIOX=n
+CONFIG_SND_INDIGODJX=n
+CONFIG_SND_EMU10K1=n
+CONFIG_SND_EMU10K1X=n
+CONFIG_SND_ENS1370=n
+CONFIG_SND_ENS1371=n
+CONFIG_SND_ES1938=n
+CONFIG_SND_ES1968=n
+CONFIG_SND_FM801=n
+CONFIG_SND_HDSP=n
+CONFIG_SND_HDSPM=n
+CONFIG_SND_ICE1712=n
+CONFIG_SND_ICE1724=n
+CONFIG_SND_INTEL8X0=n
+CONFIG_SND_INTEL8X0M=n
+CONFIG_SND_KORG1212=n
+CONFIG_SND_LOLA=n
+CONFIG_SND_LX6464ES=n
+CONFIG_SND_MAESTRO3=n
+CONFIG_SND_MIXART=n
+CONFIG_SND_NM256=n
+CONFIG_SND_PCXHR=n
+CONFIG_SND_RIPTIDE=n
+CONFIG_SND_RME32=n
+CONFIG_SND_RME96=n
+CONFIG_SND_RME9652=n
+CONFIG_SND_SONICVIBES=n
+CONFIG_SND_TRIDENT=n
+CONFIG_SND_VIA82XX=n
+CONFIG_SND_VIA82XX_MODEM=n
+CONFIG_SND_VIRTUOSO=n
+CONFIG_SND_VX222=n
+CONFIG_SND_YMFPCI=n
+CONFIG_SND_HDA_INTEL=n
+CONFIG_SND_HDA_CODEC_REALTEK=n
+CONFIG_SND_HDA_CODEC_ANALOG=n
+CONFIG_SND_HDA_CODEC_SIGMATEL=n
+CONFIG_SND_HDA_CODEC_VIA=n
+CONFIG_SND_HDA_CODEC_HDMI=n
+CONFIG_SND_HDA_CODEC_CIRRUS=n
+CONFIG_SND_HDA_CODEC_CONEXANT=n
+CONFIG_SND_HDA_CODEC_CA0110=n
+CONFIG_SND_HDA_CODEC_CA0132=n
+CONFIG_SND_HDA_CODEC_CMEDIA=n
+CONFIG_SND_HDA_CODEC_SI3054=n
+CONFIG_SND_DICE=n
+CONFIG_SND_OXFW=n
+CONFIG_SND_ISIGHT=n
+CONFIG_SND_FIREWORKS=n
+CONFIG_SND_BEBOB=n
+CONFIG_SND_FIREWIRE_DIGI00X=n
+CONFIG_SND_FIREWIRE_TASCAM=n
+CONFIG_SND_FIREWIRE_MOTU=n
+CONFIG_SND_FIREFACE=n
+CONFIG_USB_HID=m
+CONFIG_USB_HIDDEV=y
+CONFIG_USB=y
+CONFIG_USB_MON=y
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_HCD_PPC_OF is not set
+CONFIG_USB_OXU210HP_HCD=n
+CONFIG_USB_ISP116X_HCD=n
+CONFIG_USB_ISP1362_HCD=n
+CONFIG_USB_FOTG210_HCD=n
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_UHCI_HCD=n
+CONFIG_USB_SL811_HCD=n
+CONFIG_USB_R8A66597_HCD=n
+CONFIG_USB_HCD_SSB=n
+CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE_REALTEK=n
+CONFIG_USB_STORAGE_DATAFAB=n
+CONFIG_USB_STORAGE_FREECOM=n
+CONFIG_USB_STORAGE_ISD200=n
+CONFIG_USB_STORAGE_USBAT=n
+CONFIG_USB_STORAGE_SDDR09=n
+CONFIG_USB_STORAGE_SDDR55=n
+CONFIG_USB_STORAGE_JUMPSHOT=n
+CONFIG_USB_STORAGE_ALAUDA=n
+CONFIG_USB_STORAGE_ONETOUCH=n
+CONFIG_USB_STORAGE_KARMA=n
+CONFIG_USB_STORAGE_CYPRESS_ATACB=n
+CONFIG_USB_STORAGE_ENE_UB6250=n
+CONFIG_USB_UAS=n
+CONFIG_USBIP_CORE=n
+CONFIG_USBIP_VHCI_HCD=n
+CONFIG_USBIP_HOST=n
+CONFIG_USB_MUSB_HDRC=n
+CONFIG_USB_DWC3=n
+CONFIG_USB_DWC2=n
+CONFIG_USB_DWC2_PCI=n
+CONFIG_USB_CHIPIDEA=n
+CONFIG_USB_ISP1760=n
+CONFIG_USB_SERIAL=n
+CONFIG_USB_SERIAL_SIMPLE=n
+CONFIG_USB_SERIAL_AIRCABLE=n
+CONFIG_USB_SERIAL_ARK3116=n
+CONFIG_USB_SERIAL_BELKIN=n
+CONFIG_USB_SERIAL_CH341=n
+CONFIG_USB_SERIAL_WHITEHEAT=n
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=n
+CONFIG_USB_SERIAL_CP210X=n
+CONFIG_USB_SERIAL_CYPRESS_M8=n
+CONFIG_USB_SERIAL_EMPEG=n
+CONFIG_USB_SERIAL_FTDI_SIO=n
+CONFIG_USB_SERIAL_VISOR=n
+CONFIG_USB_SERIAL_IPAQ=n
+CONFIG_USB_SERIAL_IR=n
+CONFIG_USB_SERIAL_EDGEPORT=n
+CONFIG_USB_SERIAL_EDGEPORT_TI=n
+CONFIG_USB_SERIAL_F81232=n
+CONFIG_USB_SERIAL_F8153X=n
+CONFIG_USB_SERIAL_GARMIN=n
+CONFIG_USB_SERIAL_IPW=n
+CONFIG_USB_SERIAL_IUU=n
+CONFIG_USB_SERIAL_KEYSPAN_PDA=n
+CONFIG_USB_SERIAL_KEYSPAN=n
+CONFIG_USB_SERIAL_KLSI=n
+CONFIG_USB_SERIAL_KOBIL_SCT=n
+CONFIG_USB_SERIAL_MCT_U232=n
+CONFIG_USB_SERIAL_METRO=n
+CONFIG_USB_SERIAL_MOS7720=n
+CONFIG_USB_SERIAL_MOS7840=n
+CONFIG_USB_SERIAL_MXUPORT=n
+CONFIG_USB_SERIAL_NAVMAN=n
+CONFIG_USB_SERIAL_PL2303=n
+CONFIG_USB_SERIAL_OTI6858=n
+CONFIG_USB_SERIAL_QCAUX=n
+CONFIG_USB_SERIAL_QUALCOMM=n
+CONFIG_USB_SERIAL_SPCP8X5=n
+CONFIG_USB_SERIAL_SAFE=n
+CONFIG_USB_SERIAL_SIERRAWIRELESS=n
+CONFIG_USB_SERIAL_SYMBOL=n
+CONFIG_USB_SERIAL_TI=n
+CONFIG_USB_SERIAL_CYBERJACK=n
+CONFIG_USB_SERIAL_XIRCOM=n
+CONFIG_USB_SERIAL_OPTION=n
+CONFIG_USB_SERIAL_OMNINET=n
+CONFIG_USB_SERIAL_OPTICON=n
+CONFIG_USB_SERIAL_XSENS_MT=n
+CONFIG_USB_SERIAL_WISHBONE=n
+CONFIG_USB_SERIAL_SSU100=n
+CONFIG_USB_SERIAL_QT2=n
+CONFIG_USB_SERIAL_UPD78F0730=n
+CONFIG_USB_EMI62=n
+CONFIG_USB_EMI26=n
+CONFIG_USB_ADUTUX=n
+CONFIG_USB_SEVSEG=n
+CONFIG_USB_RIO500=n
+CONFIG_USB_LEGOTOWER=n
+CONFIG_USB_LCD=n
+CONFIG_USB_CYPRESS_CY7C63=n
+CONFIG_USB_CYTHERM=n
+CONFIG_USB_IDMOUSE=n
+CONFIG_USB_FTDI_ELAN=n
+CONFIG_USB_APPLEDISPLAY=n
+CONFIG_USB_SISUSBVGA=n
+CONFIG_USB_LD=n
+CONFIG_USB_TRANCEVIBRATOR=n
+CONFIG_USB_IOWARRIOR=n
+CONFIG_USB_TEST=n
+CONFIG_USB_EHSET_TEST_FIXTURE=n
+CONFIG_USB_ISIGHTFW=n
+CONFIG_USB_YUREX=n
+CONFIG_USB_HUB_USB251XB=n
+CONFIG_USB_HSIC_USB3503=n
+CONFIG_USB_HSIC_USB4604=n
+CONFIG_USB_LINK_LAYER_TEST=n
+CONFIG_USB_CHAOSKEY=n
+CONFIG_USB_ISP1301=n
+CONFIG_USB_GADGET=n
+CONFIG_TYPEC_UCSI=n
+CONFIG_USB_ULPI_BUS=n
+CONFIG_MMC=n
+CONFIG_SDIO_UART=n
+CONFIG_MMC_SDHCI=n
+CONFIG_MMC_SDHCI_PCI=n
+CONFIG_MMC_SDHCI_PLTFM=n
+CONFIG_MMC_SDHCI_OF_AT91=n
+CONFIG_MMC_SDHCI_OF_ESDHC=n
+CONFIG_MMC_SDHCI_OF_HLWD=n
+CONFIG_MMC_SDHCI_CADENCE=n
+CONFIG_MMC_SDHCI_F_SDH30=n
+CONFIG_MMC_WBSD=n
+CONFIG_MMC_TIFM_SD=n
+CONFIG_MMC_CB710=n
+CONFIG_MMC_VIA_SDMMC=n
+CONFIG_MMC_VUB300=n
+CONFIG_MMC_USHC=n
+CONFIG_MMC_USDHI6ROL0=n
+CONFIG_MMC_TOSHIBA_PCI=n
+CONFIG_MMC_MTK=n
+CONFIG_MMC_SDHCI_XENON=n
+CONFIG_MEMSTICK=n
+CONFIG_MSPRO_BLOCK=n
+CONFIG_MS_BLOCK=n
+CONFIG_MEMSTICK_TIFM_MS=n
+CONFIG_MEMSTICK_JMICRON_38X=n
+CONFIG_MEMSTICK_R592=n
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_GENERIC=n
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_SPAPR_TCE_IOMMU=y
+CONFIG_DEBUG_FS=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_ENCRYPTION=y
+CONFIG_REISERFS_FS=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_SQUASHFS=y
+CONFIG_JFS_FS=y
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+CONFIG_XFS_FS=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_XFS_DEBUG=y
+CONFIG_GFS2_FS=n
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=n
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_CHECK_FS=y
+CONFIG_F2FS_FS_ENCRYPTION=y
+CONFIG_JFFS2_FS=y
+CONFIG_FS_DAX=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_QUOTA=y
+CONFIG_FUSE_FS=n
+CONFIG_ISO9660_FS=y
+CONFIG_UDF_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HPFS_FS=n
+CONFIG_UFS_FS=n
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_NFS_V4_1_MIGRATION=y
+CONFIG_AFS_FS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_CRC16=y
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_WQ_WATCHDOG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_FTRACE is not set
+CONFIG_XMON=y
+CONFIG_XMON_DEFAULT=y
+CONFIG_SECURITY=y
+CONFIG_IMA=y
+CONFIG_EVM=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_CMAC=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_HW is not set
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
diff --git a/config/linux-talos-2_workstation.config b/config/linux-talos-2_workstation.config
new file mode 100644
index 000000000..ee271b7b4
--- /dev/null
+++ b/config/linux-talos-2_workstation.config
@@ -0,0 +1,815 @@
+CONFIG_INITRAMFS_SOURCE="../../talos-2_workstation/initrd.cpio"
+CONFIG_PPC64=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_EXPERT=y
+CONFIG_TTY_PRINTK=y
+CONFIG_ALTIVEC=y
+CONFIG_VSX=y
+CONFIG_NR_CPUS=2048
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=20
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB_FREELIST_HARDENED=y
+CONFIG_JUMP_LABEL=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_SIG=y
+CONFIG_MODULE_SIG_FORCE=n
+CONFIG_MODULE_SIG_SHA512=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_PPC_VAS is not set
+# CONFIG_PPC_PSERIES is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_IDLE=y
+CONFIG_HZ_100=y
+CONFIG_KEXEC=y
+CONFIG_IRQ_ALL_CPUS=y
+CONFIG_NUMA=y
+# CONFIG_COMPACTION is not set
+# CONFIG_MIGRATION is not set
+# CONFIG_BOUNCE is not set
+CONFIG_PPC_64K_PAGES=y
+CONFIG_SCHED_SMT=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="console=tty0 console=hvc0 powersave=off quiet"
+# CONFIG_SECCOMP is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_NET_IPIP=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_IPV6 is not set
+# CONFIG_WIRELESS is not set
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_POWERNV_FLASH=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_VIRTIO_BLK=n
+CONFIG_BLK_DEV_NVME=y
+CONFIG_EEPROM_AT24=n
+# CONFIG_CXL is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CHR_DEV_OSST=n
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_SCSI_CXGB3_ISCSI=n
+CONFIG_SCSI_CXGB4_ISCSI=n
+CONFIG_SCSI_BNX2_ISCSI=n
+CONFIG_SCSI_AACRAID=n
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=n
+CONFIG_MEGARAID_MAILBOX=n
+CONFIG_MEGARAID_SAS=n
+CONFIG_SCSI_MPT2SAS=n
+CONFIG_SCSI_IPR=n
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLA_FC=n
+CONFIG_SCSI_QLA_ISCSI=n
+CONFIG_SCSI_LPFC=n
+CONFIG_SCSI_VIRTIO=n
+CONFIG_SCSI_DH=y
+CONFIG_SCSI_DH_ALUA=n
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=n
+CONFIG_AHCI_CEVA=n
+CONFIG_SATA_INIC162X=n
+CONFIG_SATA_ACARD_AHCI=n
+CONFIG_SATA_SIL24=n
+CONFIG_PDC_ADMA=n
+CONFIG_SATA_QSTOR=n
+CONFIG_SATA_SX4=n
+CONFIG_ATA_PIIX=n
+CONFIG_SATA_MV=n
+CONFIG_SATA_NV=n
+CONFIG_SATA_PROMISE=n
+CONFIG_SATA_SIL=n
+CONFIG_SATA_SIS=n
+CONFIG_SATA_SVW=n
+CONFIG_SATA_ULI=n
+CONFIG_SATA_VIA=n
+CONFIG_SATA_VITESSE=n
+CONFIG_PATA_ALI=n
+CONFIG_PATA_AMD=n
+CONFIG_PATA_ARTOP=n
+CONFIG_PATA_ATIIXP=n
+CONFIG_PATA_ATP867X=n
+CONFIG_PATA_CMD64X=n
+CONFIG_PATA_CYPRESS=n
+CONFIG_PATA_EFAR=n
+CONFIG_PATA_HPT366=n
+CONFIG_PATA_HPT37X=n
+CONFIG_PATA_HPT3X2N=n
+CONFIG_PATA_HPT3X3=n
+CONFIG_PATA_IT8213=n
+CONFIG_PATA_IT821X=n
+CONFIG_PATA_JMICRON=n
+CONFIG_PATA_MARVELL=n
+CONFIG_PATA_NETCELL=n
+CONFIG_PATA_NINJA32=n
+CONFIG_PATA_NS87415=n
+CONFIG_PATA_OLDPIIX=n
+CONFIG_PATA_OPTIDMA=n
+CONFIG_PATA_PDC2027X=n
+CONFIG_PATA_PDC_OLD=n
+CONFIG_PATA_RADISYS=n
+CONFIG_PATA_RDC=n
+CONFIG_PATA_SCH=n
+CONFIG_PATA_SERVERWORKS=n
+CONFIG_PATA_SIL680=n
+CONFIG_PATA_TOSHIBA=n
+CONFIG_PATA_TRIFLEX=n
+CONFIG_PATA_VIA=n
+CONFIG_PATA_WINBOND=n
+CONFIG_PATA_CMD640_PCI=n
+CONFIG_PATA_MPIIX=n
+CONFIG_PATA_NS87410=n
+CONFIG_PATA_OPTI=n
+CONFIG_PATA_PLATFORM=n
+CONFIG_PATA_OF_PLATFORM=n
+CONFIG_PATA_RZ1000=n
+CONFIG_ATA_GENERIC=n
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=n
+CONFIG_MD_LINEAR=n
+CONFIG_MD_RAID0=n
+CONFIG_MD_RAID1=n
+CONFIG_MD_RAID10=n
+CONFIG_MD_RAID456=n
+CONFIG_MD_MULTIPATH=n
+CONFIG_MD_FAULTY=n
+CONFIG_BLK_DEV_DM=n
+CONFIG_DM_CRYPT=n
+CONFIG_DM_SNAPSHOT=n
+CONFIG_DM_MIRROR=n
+CONFIG_DM_ZERO=n
+CONFIG_DM_MULTIPATH=n
+CONFIG_FIREWIRE=n
+CONFIG_FIREWIRE_OHCI=n
+CONFIG_FIREWIRE_SBP2=n
+CONFIG_FIREWIRE_NET=n
+CONFIG_VORTEX=n
+CONFIG_TYPHOON=n
+CONFIG_ADAPTEC_STARFIRE=y
+CONFIG_ET131X=n
+CONFIG_SLICOSS=y
+CONFIG_ACENIC=n
+CONFIG_ACENIC_OMIT_TIGON_I=y
+CONFIG_ALTERA_TSE=n
+CONFIG_AMD8111_ETH=n
+CONFIG_PCNET32=n
+CONFIG_ATL1=n
+CONFIG_ATL1E=n
+CONFIG_ATL1C=n
+CONFIG_ALX=n
+CONFIG_MACB=n
+CONFIG_B44=n
+CONFIG_BCMGENET=n
+CONFIG_TIGON3=y
+CONFIG_BNX2X=n
+CONFIG_SYSTEMPORT=n
+CONFIG_BNXT=n
+# CONFIG_NET_VENDOR_CAVIUM is not set
+CONFIG_CHELSIO_T1=y
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T4VF=n
+CONFIG_ENIC=n
+CONFIG_DNET=n
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=n
+CONFIG_TULIP=n
+CONFIG_TULIP_MWI=y
+CONFIG_TULIP_MMIO=y
+CONFIG_TULIP_NAPI=y
+CONFIG_DE4X5=n
+CONFIG_WINBOND_840=n
+CONFIG_DM9102=n
+CONFIG_ULI526X=n
+CONFIG_DL2K=n
+CONFIG_SUNDANCE=n
+CONFIG_SUNDANCE_MMIO=y
+CONFIG_BE2NET=n
+CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=n
+CONFIG_S2IO=n
+CONFIG_VXGE=n
+CONFIG_HP100=n
+CONFIG_E100=n
+CONFIG_E1000=n
+CONFIG_E1000E=n
+CONFIG_IGB=n
+CONFIG_IGBVF=n
+CONFIG_IXGB=n
+CONFIG_IXGBE=n
+CONFIG_IXGBEVF=n
+CONFIG_I40E=n
+CONFIG_I40EVF=n
+CONFIG_FM10K=n
+CONFIG_JME=n
+CONFIG_MVMDIO=n
+CONFIG_SKGE=n
+CONFIG_SKY2=n
+CONFIG_MLX4_EN=n
+CONFIG_MLX5_CORE=n
+CONFIG_MLX5_FPGA=y
+CONFIG_MLX5_CORE_EN=y
+CONFIG_MLX5_CORE_IPOIB=y
+CONFIG_MLXSW_CORE=n
+CONFIG_MLXFW=n
+CONFIG_KS8851_MLL=n
+CONFIG_KSZ884X_PCI=n
+CONFIG_MYRI10GE=n
+CONFIG_FEALNX=n
+CONFIG_NATSEMI=n
+CONFIG_NS83820=n
+CONFIG_NFP=n
+CONFIG_NE2K_PCI=n
+CONFIG_FORCEDETH=n
+CONFIG_ETHOC=n
+CONFIG_HAMACHI=n
+CONFIG_YELLOWFIN=n
+CONFIG_QLA3XXX=n
+CONFIG_QLCNIC=n
+CONFIG_QLGE=n
+CONFIG_NETXEN_NIC=n
+CONFIG_QED=n
+CONFIG_QEDE=n
+CONFIG_QCOM_EMAC=n
+CONFIG_RMNET=n
+CONFIG_8139CP=n
+CONFIG_8139TOO=n
+CONFIG_R8169=n
+CONFIG_R6040=n
+CONFIG_SXGBE_ETH=n
+CONFIG_SC92031=n
+CONFIG_SIS900=n
+CONFIG_SIS190=n
+CONFIG_SFC=n
+CONFIG_SFC_FALCON=n
+CONFIG_EPIC100=n
+CONFIG_SMSC911X=n
+CONFIG_SMSC9420=n
+CONFIG_STMMAC_ETH=n
+CONFIG_DWMAC_DWC_QOS_ETH=n
+CONFIG_STMMAC_PCI=n
+CONFIG_HAPPYMEAL=n
+CONFIG_SUNGEM=n
+CONFIG_CASSINI=n
+CONFIG_NIU=n
+CONFIG_TEHUTI=n
+CONFIG_TI_CPSW_ALE=n
+CONFIG_TLAN=n
+CONFIG_VIA_RHINE=n
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=n
+CONFIG_WIZNET_W5100=n
+CONFIG_WIZNET_W5300=n
+CONFIG_XILINX_LL_TEMAC=n
+CONFIG_DWC_XLGMAC=n
+CONFIG_USB_NET_DRIVERS=n
+CONFIG_USB_CATC=n
+CONFIG_USB_KAWETH=n
+CONFIG_USB_PEGASUS=n
+CONFIG_USB_RTL8150=n
+CONFIG_USB_RTL8152=n
+CONFIG_USB_LAN78XX=n
+CONFIG_USB_USBNET=n
+CONFIG_USB_NET_HUAWEI_CDC_NCM=n
+CONFIG_USB_NET_CDC_MBIM=n
+CONFIG_USB_NET_DM9601=n
+CONFIG_USB_NET_SR9700=n
+CONFIG_USB_NET_SR9800=n
+CONFIG_USB_NET_SMSC75XX=n
+CONFIG_USB_NET_SMSC95XX=n
+CONFIG_USB_NET_GL620A=n
+CONFIG_USB_NET_PLUSB=n
+CONFIG_USB_NET_MCS7830=n
+CONFIG_USB_NET_RNDIS_HOST=n
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_CX82310_ETH=n
+CONFIG_USB_NET_KALMIA=n
+CONFIG_USB_NET_QMI_WWAN=n
+CONFIG_USB_NET_INT51X1=n
+CONFIG_USB_IPHETH=n
+CONFIG_USB_SIERRA_NET=n
+CONFIG_USB_VL600=n
+CONFIG_USB_NET_CH9200=n
+# CONFIG_WLAN is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADP5588=n
+CONFIG_KEYBOARD_ADP5589=n
+CONFIG_KEYBOARD_QT1070=n
+CONFIG_KEYBOARD_QT2160=n
+CONFIG_KEYBOARD_DLINK_DIR685=n
+CONFIG_KEYBOARD_LKKBD=n
+CONFIG_KEYBOARD_TCA6416=n
+CONFIG_KEYBOARD_TCA8418=n
+CONFIG_KEYBOARD_LM8333=n
+CONFIG_KEYBOARD_MAX7359=n
+CONFIG_KEYBOARD_MCS=n
+CONFIG_KEYBOARD_MPR121=n
+CONFIG_KEYBOARD_NEWTON=n
+CONFIG_KEYBOARD_OPENCORES=n
+CONFIG_KEYBOARD_STOWAWAY=n
+CONFIG_KEYBOARD_SUNKBD=n
+CONFIG_KEYBOARD_OMAP4=n
+CONFIG_KEYBOARD_XTKBD=n
+CONFIG_KEYBOARD_CAP11XX=n
+CONFIG_MOUSE_APPLETOUCH=n
+CONFIG_MOUSE_BCM5974=n
+CONFIG_MOUSE_CYAPA=n
+CONFIG_MOUSE_ELAN_I2C=n
+CONFIG_MOUSE_VSXXXAA=n
+CONFIG_MOUSE_SYNAPTICS_I2C=n
+CONFIG_MOUSE_SYNAPTICS_USB=n
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=n
+CONFIG_TOUCHSCREEN_AD7879_I2C=n
+CONFIG_TOUCHSCREEN_AR1021_I2C=n
+CONFIG_TOUCHSCREEN_ATMEL_MXT=n
+CONFIG_TOUCHSCREEN_BU21013=n
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=n
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=n
+CONFIG_TOUCHSCREEN_CYTTSP4_CORE=n
+CONFIG_TOUCHSCREEN_CYTTSP4_I2C=n
+CONFIG_TOUCHSCREEN_DYNAPRO=n
+CONFIG_TOUCHSCREEN_HAMPSHIRE=n
+CONFIG_TOUCHSCREEN_EETI=n
+CONFIG_TOUCHSCREEN_EGALAX=n
+CONFIG_TOUCHSCREEN_EGALAX_SERIAL=n
+CONFIG_TOUCHSCREEN_FUJITSU=n
+CONFIG_TOUCHSCREEN_ILI210X=n
+CONFIG_TOUCHSCREEN_GUNZE=n
+CONFIG_TOUCHSCREEN_EKTF2127=n
+CONFIG_TOUCHSCREEN_ELAN=n
+CONFIG_TOUCHSCREEN_ELO=n
+CONFIG_TOUCHSCREEN_WACOM_W8001=n
+CONFIG_TOUCHSCREEN_WACOM_I2C=n
+CONFIG_TOUCHSCREEN_MAX11801=n
+CONFIG_TOUCHSCREEN_MCS5000=n
+CONFIG_TOUCHSCREEN_MMS114=n
+CONFIG_TOUCHSCREEN_MELFAS_MIP4=n
+CONFIG_TOUCHSCREEN_MTOUCH=n
+CONFIG_TOUCHSCREEN_INEXIO=n
+CONFIG_TOUCHSCREEN_MK712=n
+CONFIG_TOUCHSCREEN_PENMOUNT=n
+CONFIG_TOUCHSCREEN_EDT_FT5X06=n
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=n
+CONFIG_TOUCHSCREEN_TOUCHWIN=n
+CONFIG_TOUCHSCREEN_PIXCIR=n
+CONFIG_TOUCHSCREEN_WDT87XX_I2C=n
+CONFIG_TOUCHSCREEN_WM97XX=n
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=n
+CONFIG_TOUCHSCREEN_TOUCHIT213=n
+CONFIG_TOUCHSCREEN_TSC_SERIO=n
+CONFIG_TOUCHSCREEN_TSC2004=n
+CONFIG_TOUCHSCREEN_TSC2007=n
+CONFIG_TOUCHSCREEN_SILEAD=n
+CONFIG_TOUCHSCREEN_ST1232=n
+CONFIG_TOUCHSCREEN_SX8654=n
+CONFIG_TOUCHSCREEN_TPS6507X=n
+CONFIG_TOUCHSCREEN_ZET6223=n
+CONFIG_TOUCHSCREEN_ROHM_BU21023=n
+CONFIG_INPUT_MISC=y
+CONFIG_RMI4_CORE=n
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_DEVMEM=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_IPMI_HANDLER=y
+CONFIG_IPMI_DEVICE_INTERFACE=y
+CONFIG_IPMI_POWERNV=y
+CONFIG_HW_RANDOM=y
+CONFIG_TCG_TIS_I2C_NUVOTON=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+# CONFIG_RC_CORE is not set
+CONFIG_DRM=y
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+CONFIG_DRM_RADEON=y
+CONFIG_DRM_AMDGPU=n
+CONFIG_DRM_AMDGPU_SI=y
+CONFIG_DRM_AMDGPU_CIK=y
+CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC=y
+CONFIG_DRM_AMD_DC_DCN1_0=y
+CONFIG_DRM_AMD_DC_DCN2_0=y
+CONFIG_DRM_VGEM=n
+CONFIG_DRM_UDL=n
+CONFIG_DRM_AST=y
+CONFIG_DRM_MGAG200=n
+CONFIG_DRM_CIRRUS_QEMU=n
+CONFIG_DRM_RCAR_DW_HDMI=n
+CONFIG_DRM_QXL=n
+CONFIG_DRM_BOCHS=n
+CONFIG_DRM_VIRTIO_GPU=n
+CONFIG_DRM_ARCPGU=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_TINYDRM=n
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_CIRRUS=n
+CONFIG_FB_PM2=n
+CONFIG_FB_OF=y
+CONFIG_FB_VGA16=n
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FB_S1D13XXX=n
+CONFIG_FB_NVIDIA=n
+CONFIG_FB_MATROX=y
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=n
+CONFIG_FB_MATROX_MAVEN=n
+CONFIG_FB_RADEON=n
+CONFIG_FB_ATY128=n
+CONFIG_FB_ATY=n
+CONFIG_FB_S3=n
+CONFIG_FB_SAVAGE=n
+CONFIG_FB_SIS=n
+CONFIG_FB_NEOMAGIC=n
+CONFIG_FB_KYRO=n
+CONFIG_FB_3DFX=n
+CONFIG_FB_VOODOO1=n
+CONFIG_FB_VT8623=n
+CONFIG_FB_TRIDENT=n
+CONFIG_FB_ARK=n
+CONFIG_FB_PM3=n
+CONFIG_FB_CARMINE=n
+CONFIG_FB_SMSCUFX=n
+CONFIG_FB_UDL=n
+CONFIG_FB_IBM_GXT4500=n
+CONFIG_FB_METRONOME=n
+CONFIG_FB_MB862XX=n
+CONFIG_FB_BROADSHEET=n
+CONFIG_FB_AUO_K190X=n
+CONFIG_FB_AUO_K1900=n
+CONFIG_FB_AUO_K1901=n
+CONFIG_FB_SM712=n
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=n
+CONFIG_SND=n
+CONFIG_SND_AD1889=n
+CONFIG_SND_ALS300=n
+CONFIG_SND_ALS4000=n
+CONFIG_SND_ALI5451=n
+CONFIG_SND_ATIIXP=n
+CONFIG_SND_ATIIXP_MODEM=n
+CONFIG_SND_AU8810=n
+CONFIG_SND_AU8820=n
+CONFIG_SND_AU8830=n
+CONFIG_SND_AW2=n
+CONFIG_SND_AZT3328=n
+CONFIG_SND_BT87X=n
+CONFIG_SND_CA0106=n
+CONFIG_SND_CMIPCI=n
+CONFIG_SND_OXYGEN=n
+CONFIG_SND_CS4281=n
+CONFIG_SND_CS46XX=n
+CONFIG_SND_CTXFI=n
+CONFIG_SND_DARLA20=n
+CONFIG_SND_GINA20=n
+CONFIG_SND_LAYLA20=n
+CONFIG_SND_DARLA24=n
+CONFIG_SND_GINA24=n
+CONFIG_SND_LAYLA24=n
+CONFIG_SND_MONA=n
+CONFIG_SND_MIA=n
+CONFIG_SND_ECHO3G=n
+CONFIG_SND_INDIGO=n
+CONFIG_SND_INDIGOIO=n
+CONFIG_SND_INDIGODJ=n
+CONFIG_SND_INDIGOIOX=n
+CONFIG_SND_INDIGODJX=n
+CONFIG_SND_EMU10K1=n
+CONFIG_SND_EMU10K1X=n
+CONFIG_SND_ENS1370=n
+CONFIG_SND_ENS1371=n
+CONFIG_SND_ES1938=n
+CONFIG_SND_ES1968=n
+CONFIG_SND_FM801=n
+CONFIG_SND_HDSP=n
+CONFIG_SND_HDSPM=n
+CONFIG_SND_ICE1712=n
+CONFIG_SND_ICE1724=n
+CONFIG_SND_INTEL8X0=n
+CONFIG_SND_INTEL8X0M=n
+CONFIG_SND_KORG1212=n
+CONFIG_SND_LOLA=n
+CONFIG_SND_LX6464ES=n
+CONFIG_SND_MAESTRO3=n
+CONFIG_SND_MIXART=n
+CONFIG_SND_NM256=n
+CONFIG_SND_PCXHR=n
+CONFIG_SND_RIPTIDE=n
+CONFIG_SND_RME32=n
+CONFIG_SND_RME96=n
+CONFIG_SND_RME9652=n
+CONFIG_SND_SONICVIBES=n
+CONFIG_SND_TRIDENT=n
+CONFIG_SND_VIA82XX=n
+CONFIG_SND_VIA82XX_MODEM=n
+CONFIG_SND_VIRTUOSO=n
+CONFIG_SND_VX222=n
+CONFIG_SND_YMFPCI=n
+CONFIG_SND_HDA_INTEL=n
+CONFIG_SND_HDA_CODEC_REALTEK=n
+CONFIG_SND_HDA_CODEC_ANALOG=n
+CONFIG_SND_HDA_CODEC_SIGMATEL=n
+CONFIG_SND_HDA_CODEC_VIA=n
+CONFIG_SND_HDA_CODEC_HDMI=n
+CONFIG_SND_HDA_CODEC_CIRRUS=n
+CONFIG_SND_HDA_CODEC_CONEXANT=n
+CONFIG_SND_HDA_CODEC_CA0110=n
+CONFIG_SND_HDA_CODEC_CA0132=n
+CONFIG_SND_HDA_CODEC_CMEDIA=n
+CONFIG_SND_HDA_CODEC_SI3054=n
+CONFIG_SND_DICE=n
+CONFIG_SND_OXFW=n
+CONFIG_SND_ISIGHT=n
+CONFIG_SND_FIREWORKS=n
+CONFIG_SND_BEBOB=n
+CONFIG_SND_FIREWIRE_DIGI00X=n
+CONFIG_SND_FIREWIRE_TASCAM=n
+CONFIG_SND_FIREWIRE_MOTU=n
+CONFIG_SND_FIREFACE=n
+CONFIG_USB_HID=m
+CONFIG_USB_HIDDEV=y
+CONFIG_USB=y
+CONFIG_USB_MON=y
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_HCD_PPC_OF is not set
+CONFIG_USB_OXU210HP_HCD=n
+CONFIG_USB_ISP116X_HCD=n
+CONFIG_USB_ISP1362_HCD=n
+CONFIG_USB_FOTG210_HCD=n
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_UHCI_HCD=n
+CONFIG_USB_SL811_HCD=n
+CONFIG_USB_R8A66597_HCD=n
+CONFIG_USB_HCD_SSB=n
+CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE_REALTEK=n
+CONFIG_USB_STORAGE_DATAFAB=n
+CONFIG_USB_STORAGE_FREECOM=n
+CONFIG_USB_STORAGE_ISD200=n
+CONFIG_USB_STORAGE_USBAT=n
+CONFIG_USB_STORAGE_SDDR09=n
+CONFIG_USB_STORAGE_SDDR55=n
+CONFIG_USB_STORAGE_JUMPSHOT=n
+CONFIG_USB_STORAGE_ALAUDA=n
+CONFIG_USB_STORAGE_ONETOUCH=n
+CONFIG_USB_STORAGE_KARMA=n
+CONFIG_USB_STORAGE_CYPRESS_ATACB=n
+CONFIG_USB_STORAGE_ENE_UB6250=n
+CONFIG_USB_UAS=n
+CONFIG_USBIP_CORE=n
+CONFIG_USBIP_VHCI_HCD=n
+CONFIG_USBIP_HOST=n
+CONFIG_USB_MUSB_HDRC=n
+CONFIG_USB_DWC3=n
+CONFIG_USB_DWC2=n
+CONFIG_USB_DWC2_PCI=n
+CONFIG_USB_CHIPIDEA=n
+CONFIG_USB_ISP1760=n
+CONFIG_USB_SERIAL=n
+CONFIG_USB_SERIAL_SIMPLE=n
+CONFIG_USB_SERIAL_AIRCABLE=n
+CONFIG_USB_SERIAL_ARK3116=n
+CONFIG_USB_SERIAL_BELKIN=n
+CONFIG_USB_SERIAL_CH341=n
+CONFIG_USB_SERIAL_WHITEHEAT=n
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=n
+CONFIG_USB_SERIAL_CP210X=n
+CONFIG_USB_SERIAL_CYPRESS_M8=n
+CONFIG_USB_SERIAL_EMPEG=n
+CONFIG_USB_SERIAL_FTDI_SIO=n
+CONFIG_USB_SERIAL_VISOR=n
+CONFIG_USB_SERIAL_IPAQ=n
+CONFIG_USB_SERIAL_IR=n
+CONFIG_USB_SERIAL_EDGEPORT=n
+CONFIG_USB_SERIAL_EDGEPORT_TI=n
+CONFIG_USB_SERIAL_F81232=n
+CONFIG_USB_SERIAL_F8153X=n
+CONFIG_USB_SERIAL_GARMIN=n
+CONFIG_USB_SERIAL_IPW=n
+CONFIG_USB_SERIAL_IUU=n
+CONFIG_USB_SERIAL_KEYSPAN_PDA=n
+CONFIG_USB_SERIAL_KEYSPAN=n
+CONFIG_USB_SERIAL_KLSI=n
+CONFIG_USB_SERIAL_KOBIL_SCT=n
+CONFIG_USB_SERIAL_MCT_U232=n
+CONFIG_USB_SERIAL_METRO=n
+CONFIG_USB_SERIAL_MOS7720=n
+CONFIG_USB_SERIAL_MOS7840=n
+CONFIG_USB_SERIAL_MXUPORT=n
+CONFIG_USB_SERIAL_NAVMAN=n
+CONFIG_USB_SERIAL_PL2303=n
+CONFIG_USB_SERIAL_OTI6858=n
+CONFIG_USB_SERIAL_QCAUX=n
+CONFIG_USB_SERIAL_QUALCOMM=n
+CONFIG_USB_SERIAL_SPCP8X5=n
+CONFIG_USB_SERIAL_SAFE=n
+CONFIG_USB_SERIAL_SIERRAWIRELESS=n
+CONFIG_USB_SERIAL_SYMBOL=n
+CONFIG_USB_SERIAL_TI=n
+CONFIG_USB_SERIAL_CYBERJACK=n
+CONFIG_USB_SERIAL_XIRCOM=n
+CONFIG_USB_SERIAL_OPTION=n
+CONFIG_USB_SERIAL_OMNINET=n
+CONFIG_USB_SERIAL_OPTICON=n
+CONFIG_USB_SERIAL_XSENS_MT=n
+CONFIG_USB_SERIAL_WISHBONE=n
+CONFIG_USB_SERIAL_SSU100=n
+CONFIG_USB_SERIAL_QT2=n
+CONFIG_USB_SERIAL_UPD78F0730=n
+CONFIG_USB_EMI62=n
+CONFIG_USB_EMI26=n
+CONFIG_USB_ADUTUX=n
+CONFIG_USB_SEVSEG=n
+CONFIG_USB_RIO500=n
+CONFIG_USB_LEGOTOWER=n
+CONFIG_USB_LCD=n
+CONFIG_USB_CYPRESS_CY7C63=n
+CONFIG_USB_CYTHERM=n
+CONFIG_USB_IDMOUSE=n
+CONFIG_USB_FTDI_ELAN=n
+CONFIG_USB_APPLEDISPLAY=n
+CONFIG_USB_SISUSBVGA=n
+CONFIG_USB_LD=n
+CONFIG_USB_TRANCEVIBRATOR=n
+CONFIG_USB_IOWARRIOR=n
+CONFIG_USB_TEST=n
+CONFIG_USB_EHSET_TEST_FIXTURE=n
+CONFIG_USB_ISIGHTFW=n
+CONFIG_USB_YUREX=n
+CONFIG_USB_HUB_USB251XB=n
+CONFIG_USB_HSIC_USB3503=n
+CONFIG_USB_HSIC_USB4604=n
+CONFIG_USB_LINK_LAYER_TEST=n
+CONFIG_USB_CHAOSKEY=n
+CONFIG_USB_ISP1301=n
+CONFIG_USB_GADGET=n
+CONFIG_TYPEC_UCSI=n
+CONFIG_USB_ULPI_BUS=n
+CONFIG_MMC=n
+CONFIG_SDIO_UART=n
+CONFIG_MMC_SDHCI=n
+CONFIG_MMC_SDHCI_PCI=n
+CONFIG_MMC_SDHCI_PLTFM=n
+CONFIG_MMC_SDHCI_OF_AT91=n
+CONFIG_MMC_SDHCI_OF_ESDHC=n
+CONFIG_MMC_SDHCI_OF_HLWD=n
+CONFIG_MMC_SDHCI_CADENCE=n
+CONFIG_MMC_SDHCI_F_SDH30=n
+CONFIG_MMC_WBSD=n
+CONFIG_MMC_TIFM_SD=n
+CONFIG_MMC_CB710=n
+CONFIG_MMC_VIA_SDMMC=n
+CONFIG_MMC_VUB300=n
+CONFIG_MMC_USHC=n
+CONFIG_MMC_USDHI6ROL0=n
+CONFIG_MMC_TOSHIBA_PCI=n
+CONFIG_MMC_MTK=n
+CONFIG_MMC_SDHCI_XENON=n
+CONFIG_MEMSTICK=n
+CONFIG_MSPRO_BLOCK=n
+CONFIG_MS_BLOCK=n
+CONFIG_MEMSTICK_TIFM_MS=n
+CONFIG_MEMSTICK_JMICRON_38X=n
+CONFIG_MEMSTICK_R592=n
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_GENERIC=n
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_SPAPR_TCE_IOMMU=y
+CONFIG_DEBUG_FS=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_ENCRYPTION=y
+CONFIG_REISERFS_FS=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_SQUASHFS=y
+CONFIG_JFS_FS=y
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+CONFIG_XFS_FS=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_XFS_DEBUG=y
+CONFIG_GFS2_FS=n
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=n
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_CHECK_FS=y
+CONFIG_F2FS_FS_ENCRYPTION=y
+CONFIG_JFFS2_FS=y
+CONFIG_FS_DAX=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_QUOTA=y
+CONFIG_FUSE_FS=n
+CONFIG_ISO9660_FS=y
+CONFIG_UDF_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HPFS_FS=n
+CONFIG_UFS_FS=n
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_NFS_V4_1_MIGRATION=y
+CONFIG_AFS_FS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_CRC16=y
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_WQ_WATCHDOG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_FTRACE is not set
+CONFIG_XMON=y
+CONFIG_XMON_DEFAULT=y
+CONFIG_SECURITY=y
+CONFIG_IMA=y
+CONFIG_EVM=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_CMAC=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_HW is not set
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
diff --git a/initrd/init b/initrd/init
index a9f31350b..415344878 100755
--- a/initrd/init
+++ b/initrd/init
@@ -136,6 +136,13 @@ else
 
 	if [ -x "$CONFIG_BOOTSCRIPT" ]; then
 		echo '***** Normal boot:' $CONFIG_BOOTSCRIPT
+
+		if [ -x /bin/setsid ] && [ -x /bin/agetty ]; then
+			for console in $CONFIG_BOOT_EXTRA_TTYS; do
+				setsid agetty -aroot -l"$CONFIG_BOOTSCRIPT" "$console" linux &
+			done
+		fi
+
 		exec "$CONFIG_BOOTSCRIPT"
 
 		# We should never reach here, but just in case...
diff --git a/modules/coreboot b/modules/coreboot
index 41706bf77..62ef0ce8e 100644
--- a/modules/coreboot
+++ b/modules/coreboot
@@ -35,6 +35,10 @@ else ifeq "$(CONFIG_COREBOOT_VERSION)" "4.15"
 	coreboot-blobs_hash := c0e2d8006da226208ba274a44895d102cb2879cf139cc67bba5f62e67b871f6d
 	coreboot_depends := $(if $(CONFIG_PURISM_BLOBS), purism-blobs)
 	EXTRA_FLAGS := -fdebug-prefix-map=$(pwd)=heads -gno-record-gcc-switches -Wno-error=packed-not-aligned -Wno-error=address-of-packed-member
+else ifeq "$(CONFIG_COREBOOT_VERSION)" "talos_2"
+	coreboot_version = git
+	coreboot_commit_hash = 2207bbcccba31ad89cf21607b0d8d05d8dc47c03
+	coreboot_repo := https://github.com/Dasharo/coreboot
 else
 	$(error "$(BOARD): does not specify coreboot version under CONFIG_COREBOOT_VERSION")
 endif 
diff --git a/modules/linux b/modules/linux
index 88251d010..74a4df25e 100644
--- a/modules/linux
+++ b/modules/linux
@@ -19,6 +19,10 @@ linux_hash := 9c4ebf21fe949f80fbcfbbd6e7fe181040d325e89475e230ab53ef01f9d55605
 else ifeq "$(CONFIG_LINUX_VERSION)" "5.4.69"
 linux_version := 5.4.69
 linux_hash := a8b31d716b397303a183e42ad525ff2871024a43e3ea530d0fdf73b7f9d27da7
+else ifeq "$(CONFIG_LINUX_VERSION)" "5.5-openpower"
+linux_version := 5.5
+linux_patch_version := 5.5-openpower
+linux_hash := a6fbd4ee903c128367892c2393ee0d9657b6ed3ea90016d4dc6f1f6da20b2330
 #
 # linuxboot systems should *NOT* use 5.10.5 until a proper review has
 # been done. This is because `0000-efi_bds.patch` did not cleanly port
diff --git a/modules/util-linux b/modules/util-linux
index 3fd41d976..0a0442f94 100644
--- a/modules/util-linux
+++ b/modules/util-linux
@@ -20,6 +20,7 @@ util-linux_configure := ./configure \
 	--disable-all-programs \
 	--enable-libuuid \
 	--enable-libblkid \
+	--enable-agetty \
 
 
 util-linux_target := \
@@ -34,4 +35,7 @@ util-linux_libraries += \
 	.libs/libuuid.so.1 \
 	.libs/libblkid.so.1 \
 
+util-linux_agetty-$(CONFIG_USE_AGETTY) := agetty
+util-linux_output := $(util-linux_agetty-y)
+
 util-linux_depends := $(musl_dep)
diff --git a/patches/linux-5.5-openpower/0001-xhci-Reset-controller-on-xhci-shutdown.patch b/patches/linux-5.5-openpower/0001-xhci-Reset-controller-on-xhci-shutdown.patch
new file mode 100644
index 000000000..681f83dba
--- /dev/null
+++ b/patches/linux-5.5-openpower/0001-xhci-Reset-controller-on-xhci-shutdown.patch
@@ -0,0 +1,17 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Raptor Engineering Development Team <support@raptorengineering.com>
+Date: Wed, 3 Apr 2019 10:58:35 +1030
+Subject: [xhci] Reset controller on xhci shutdown
+
+diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
+index dbac0fa..30a4ea6 100644
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -784,6 +784,7 @@ void xhci_shutdown(struct usb_hcd *hcd)
+ 		xhci_reset(xhci);
+ 	spin_unlock_irq(&xhci->lock);
+ 
++	pci_reset_function_locked(to_pci_dev(hcd->self.sysdev));
+ 	xhci_cleanup_msix(xhci);
+ 
+ 	xhci_dbg_trace(xhci, trace_xhci_dbg_init,
diff --git a/patches/linux-5.5-openpower/0002-Release-OpenPower-kernel.patch b/patches/linux-5.5-openpower/0002-Release-OpenPower-kernel.patch
new file mode 100644
index 000000000..79c96becf
--- /dev/null
+++ b/patches/linux-5.5-openpower/0002-Release-OpenPower-kernel.patch
@@ -0,0 +1,23 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Joel Stanley <joel@jms.id.au>
+Date: Wed, 3 Apr 2019 10:58:35 +1030
+Subject: [PATCH 2/2] Release OpenPower kernel
+
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 63152c5ca136..d5bfc0358601 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,7 +2,7 @@
+ VERSION = 5
+ PATCHLEVEL = 5
+ SUBLEVEL = 0
+-EXTRAVERSION =
++EXTRAVERSION = -openpower1
+ NAME = Kleptomaniac Octopus
+ 
+ # *DOCUMENTATION*
diff --git a/patches/linux-5.5-openpower/0003-Fix-mpt3sas-dma-crash.patch b/patches/linux-5.5-openpower/0003-Fix-mpt3sas-dma-crash.patch
new file mode 100644
index 000000000..f67ec0646
--- /dev/null
+++ b/patches/linux-5.5-openpower/0003-Fix-mpt3sas-dma-crash.patch
@@ -0,0 +1,141 @@
+From: Christoph Hellwig <hch@xxxxxx>
+Date: Thu, 16 Jan 2020 18:31:38 +0100
+Subject: mpt3sas: don't change the dma coherent mask after allocations
+
+The DMA layer does not allow changing the DMA coherent mask after
+there are outstanding allocations.  Stop doing that and always
+use a 32-bit coherent DMA mask in mpt3sas.
+
+Signed-off-by: Christoph Hellwig <hch@xxxxxx>
+---
+ drivers/scsi/mpt3sas/mpt3sas_base.c | 67 ++++++++---------------------
+ drivers/scsi/mpt3sas/mpt3sas_base.h |  2 -
+ 2 files changed, 19 insertions(+), 50 deletions(-)
+
+diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
+index fea3cb6a090b..3b51bed05008 100644
+--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
++++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
+@@ -2706,58 +2706,38 @@ _base_build_sg_ieee(struct MPT3SAS_ADAPTER *ioc, void *psge,
+ static int
+ _base_config_dma_addressing(struct MPT3SAS_ADAPTER *ioc, struct pci_dev *pdev)
+ {
+-	u64 required_mask, coherent_mask;
+ 	struct sysinfo s;
+-	/* Set 63 bit DMA mask for all SAS3 and SAS35 controllers */
+-	int dma_mask = (ioc->hba_mpi_version_belonged > MPI2_VERSION) ? 63 : 64;
+-
+-	if (ioc->is_mcpu_endpoint)
+-		goto try_32bit;
++	int dma_mask;
+ 
+-	required_mask = dma_get_required_mask(&pdev->dev);
+-	if (sizeof(dma_addr_t) == 4 || required_mask == 32)
+-		goto try_32bit;
+-
+-	if (ioc->dma_mask)
+-		coherent_mask = DMA_BIT_MASK(dma_mask);
++	if (ioc->is_mcpu_endpoint ||
++	    sizeof(dma_addr_t) == 4 ||
++	    dma_get_required_mask(&pdev->dev) <= 32)
++		dma_mask = 32;
++	/* Set 63 bit DMA mask for all SAS3 and SAS35 controllers */
++	else if (ioc->hba_mpi_version_belonged > MPI2_VERSION)
++		dma_mask = 63;
+ 	else
+-		coherent_mask = DMA_BIT_MASK(32);
++		dma_mask = 64;
+ 
+ 	if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(dma_mask)) ||
+-	    dma_set_coherent_mask(&pdev->dev, coherent_mask))
+-		goto try_32bit;
+-
+-	ioc->base_add_sg_single = &_base_add_sg_single_64;
+-	ioc->sge_size = sizeof(Mpi2SGESimple64_t);
+-	ioc->dma_mask = dma_mask;
+-	goto out;
+-
+- try_32bit:
+-	if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)))
++	    dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)))
+ 		return -ENODEV;
+ 
+-	ioc->base_add_sg_single = &_base_add_sg_single_32;
+-	ioc->sge_size = sizeof(Mpi2SGESimple32_t);
+-	ioc->dma_mask = 32;
+- out:
++	if (dma_mask > 32) {
++		ioc->base_add_sg_single = &_base_add_sg_single_64;
++		ioc->sge_size = sizeof(Mpi2SGESimple64_t);
++	} else {
++		ioc->base_add_sg_single = &_base_add_sg_single_32;
++		ioc->sge_size = sizeof(Mpi2SGESimple32_t);
++	}
++
+ 	si_meminfo(&s);
+ 	ioc_info(ioc, "%d BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (%ld kB)\n",
+-		 ioc->dma_mask, convert_to_kb(s.totalram));
++		 dma_mask, convert_to_kb(s.totalram));
+ 
+ 	return 0;
+ }
+ 
+-static int
+-_base_change_consistent_dma_mask(struct MPT3SAS_ADAPTER *ioc,
+-				      struct pci_dev *pdev)
+-{
+-	if (pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(ioc->dma_mask))) {
+-		if (pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)))
+-			return -ENODEV;
+-	}
+-	return 0;
+-}
+-
+ /**
+  * _base_check_enable_msix - checks MSIX capabable.
+  * @ioc: per adapter object
+@@ -5030,14 +5010,6 @@ _base_allocate_memory_pools(struct MPT3SAS_ADAPTER *ioc)
+ 		total_sz += sz;
+ 	} while (ioc->rdpq_array_enable && (++i < ioc->reply_queue_count));
+ 
+-	if (ioc->dma_mask > 32) {
+-		if (_base_change_consistent_dma_mask(ioc, ioc->pdev) != 0) {
+-			ioc_warn(ioc, "no suitable consistent DMA mask for %s\n",
+-				 pci_name(ioc->pdev));
+-			goto out;
+-		}
+-	}
+-
+ 	ioc->scsiio_depth = ioc->hba_queue_depth -
+ 	    ioc->hi_priority_depth - ioc->internal_depth;
+ 
+@@ -6965,7 +6937,6 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc)
+ 	ioc->smp_affinity_enable = smp_affinity_enable;
+ 
+ 	ioc->rdpq_array_enable_assigned = 0;
+-	ioc->dma_mask = 0;
+ 	if (ioc->is_aero_ioc)
+ 		ioc->base_readl = &_base_readl_aero;
+ 	else
+diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
+index faca0a5e71f8..e57cade1155c 100644
+--- a/drivers/scsi/mpt3sas/mpt3sas_base.h
++++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
+@@ -1011,7 +1011,6 @@ typedef void (*MPT3SAS_FLUSH_RUNNING_CMDS)(struct MPT3SAS_ADAPTER *ioc);
+  * @ir_firmware: IR firmware present
+  * @bars: bitmask of BAR's that must be configured
+  * @mask_interrupts: ignore interrupt
+- * @dma_mask: used to set the consistent dma mask
+  * @pci_access_mutex: Mutex to synchronize ioctl, sysfs show path and
+  *			pci resource handling
+  * @fault_reset_work_q_name: fw fault work queue
+@@ -1185,7 +1184,6 @@ struct MPT3SAS_ADAPTER {
+ 	u8		ir_firmware;
+ 	int		bars;
+ 	u8		mask_interrupts;
+-	int		dma_mask;
+ 
+ 	/* fw fault handler */
+ 	char		fault_reset_work_q_name[20];
+-- 
+2.24.1
diff --git a/patches/linux-5.5-openpower/0004-drm-ast-Add-option-to-initialize-palette-on-driver-l.patch b/patches/linux-5.5-openpower/0004-drm-ast-Add-option-to-initialize-palette-on-driver-l.patch
new file mode 100644
index 000000000..3cd0194e9
--- /dev/null
+++ b/patches/linux-5.5-openpower/0004-drm-ast-Add-option-to-initialize-palette-on-driver-l.patch
@@ -0,0 +1,139 @@
+From b2cd1b1c95adc11e78a8d688a196c2f7786c1682 Mon Sep 17 00:00:00 2001
+From: Raptor Engineering Development Team <support@raptorengineering.com>
+Date: Tue, 18 Feb 2020 16:24:55 -0600
+Subject: [PATCH] drm/ast: Add option to initialize palette on driver load
+
+Non-x86 systems, such as OpenPOWER and ARM machines, do not execute the ASPEED-
+provided option ROM on system start.  As a result, the VGA palette registers
+remain uninitialized, leading to odd colors and generally hard to read output
+on the VGA port.
+
+Add a new module option, ast_resetpalette, to enable loading a linear greyscale
+palette into the VGA RAMDAC.  This option is intended for use by the first Linux
+kernel to load after initial power on, such as the skiroot kernel on OpenPOWER
+systems.
+
+Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
+---
+ drivers/gpu/drm/ast/ast_drv.c  |  4 ++++
+ drivers/gpu/drm/ast/ast_drv.h  | 14 ++++++++++++++
+ drivers/gpu/drm/ast/ast_main.c |  8 ++++++++
+ drivers/gpu/drm/ast/ast_mode.c | 14 --------------
+ 4 files changed, 26 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c
+index 1f17794..0b9ffee 100644
+--- a/drivers/gpu/drm/ast/ast_drv.c
++++ b/drivers/gpu/drm/ast/ast_drv.c
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright 2012 Red Hat Inc.
++ * Copyright 2018 - 2020 Raptor Engineering, LLC.
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a
+  * copy of this software and associated documentation files (the
+@@ -39,9 +40,12 @@
+ #include "ast_drv.h"
+ 
+ int ast_modeset = -1;
++int ast_resetpalette = -1;
+ 
+ MODULE_PARM_DESC(modeset, "Disable/Enable modesetting");
++MODULE_PARM_DESC(resetpalette, "Disable/Enable palette reset on load");
+ module_param_named(modeset, ast_modeset, int, 0400);
++module_param_named(resetpalette, ast_resetpalette, int, 0400);
+ 
+ #define PCI_VENDOR_ASPEED 0x1a03
+ 
+diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
+index ff161bd..bd30b0a 100644
+--- a/drivers/gpu/drm/ast/ast_drv.h
++++ b/drivers/gpu/drm/ast/ast_drv.h
+@@ -283,6 +283,20 @@ struct ast_vbios_mode_info {
+ extern int ast_mode_init(struct drm_device *dev);
+ extern void ast_mode_fini(struct drm_device *dev);
+ 
++static inline void ast_load_palette_index(struct ast_private *ast,
++				u8 index, u8 red, u8 green,
++				u8 blue)
++{
++	ast_io_write8(ast, AST_IO_DAC_INDEX_WRITE, index);
++	ast_io_read8(ast, AST_IO_SEQ_PORT);
++	ast_io_write8(ast, AST_IO_DAC_DATA, red);
++	ast_io_read8(ast, AST_IO_SEQ_PORT);
++	ast_io_write8(ast, AST_IO_DAC_DATA, green);
++	ast_io_read8(ast, AST_IO_SEQ_PORT);
++	ast_io_write8(ast, AST_IO_DAC_DATA, blue);
++	ast_io_read8(ast, AST_IO_SEQ_PORT);
++}
++
+ #define AST_MM_ALIGN_SHIFT 4
+ #define AST_MM_ALIGN_MASK ((1 << AST_MM_ALIGN_SHIFT) - 1)
+ 
+diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
+index 21715d6..8590118 100644
+--- a/drivers/gpu/drm/ast/ast_main.c
++++ b/drivers/gpu/drm/ast/ast_main.c
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright 2012 Red Hat Inc.
++ * Copyright 2018 - 2020 Raptor Engineering, LLC.
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a
+  * copy of this software and associated documentation files (the
+@@ -36,6 +37,8 @@
+ 
+ #include "ast_drv.h"
+ 
++extern int ast_resetpalette;
++
+ void ast_set_index_reg_mask(struct ast_private *ast,
+ 			    uint32_t base, uint8_t index,
+ 			    uint8_t mask, uint8_t val)
+@@ -428,6 +431,7 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
+ 	struct ast_private *ast;
+ 	bool need_post;
+ 	int ret = 0;
++	int index = 0;
+ 
+ 	ast = kzalloc(sizeof(struct ast_private), GFP_KERNEL);
+ 	if (!ast)
+@@ -510,6 +514,10 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
+ 	if (ret)
+ 		goto out_free;
+ 
++	if (ast_resetpalette == 1)
++		for (index = 0x00; index < 0x100; index++)
++			ast_load_palette_index(ast, index, index, index, index);
++
+ 	return 0;
+ out_free:
+ 	kfree(ast);
+diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
+index b13eaa2..c8fa9f4 100644
+--- a/drivers/gpu/drm/ast/ast_mode.c
++++ b/drivers/gpu/drm/ast/ast_mode.c
+@@ -51,20 +51,6 @@ static int ast_cursor_set(struct drm_crtc *crtc,
+ static int ast_cursor_move(struct drm_crtc *crtc,
+ 			   int x, int y);
+ 
+-static inline void ast_load_palette_index(struct ast_private *ast,
+-				     u8 index, u8 red, u8 green,
+-				     u8 blue)
+-{
+-	ast_io_write8(ast, AST_IO_DAC_INDEX_WRITE, index);
+-	ast_io_read8(ast, AST_IO_SEQ_PORT);
+-	ast_io_write8(ast, AST_IO_DAC_DATA, red);
+-	ast_io_read8(ast, AST_IO_SEQ_PORT);
+-	ast_io_write8(ast, AST_IO_DAC_DATA, green);
+-	ast_io_read8(ast, AST_IO_SEQ_PORT);
+-	ast_io_write8(ast, AST_IO_DAC_DATA, blue);
+-	ast_io_read8(ast, AST_IO_SEQ_PORT);
+-}
+-
+ static void ast_crtc_load_lut(struct drm_crtc *crtc)
+ {
+ 	struct ast_private *ast = crtc->dev->dev_private;
+-- 
+1.9.1
+
diff --git a/patches/linux-5.5-openpower/0005-Force-ASpeed-RAMDAC-palette-reset.patch b/patches/linux-5.5-openpower/0005-Force-ASpeed-RAMDAC-palette-reset.patch
new file mode 100644
index 000000000..af4ce0a59
--- /dev/null
+++ b/patches/linux-5.5-openpower/0005-Force-ASpeed-RAMDAC-palette-reset.patch
@@ -0,0 +1,26 @@
+From 33cb4510b70e7625636a4280e29081ce7cef69e9 Mon Sep 17 00:00:00 2001
+From: Raptor Engineering Development Team <support@raptorengineering.com>
+Date: Fri, 2 Feb 2018 07:37:41 -0600
+Subject: [PATCH] Force ASpeed RAMDAC palette reset
+
+---
+ drivers/gpu/drm/ast/ast_drv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c
+index 8124eaa92ed3..c44797598760 100644
+--- a/drivers/gpu/drm/ast/ast_drv.c
++++ b/drivers/gpu/drm/ast/ast_drv.c
+@@ -35,7 +35,7 @@
+ #include "ast_drv.h"
+ 
+ int ast_modeset = -1;
+-int ast_resetpalette = -1;
++int ast_resetpalette = 1;
+ 
+ MODULE_PARM_DESC(modeset, "Disable/Enable modesetting");
+ MODULE_PARM_DESC(resetpalette, "Disable/Enable palette reset on load");
+-- 
+2.15.1
+
+
diff --git a/patches/linux-5.5-openpower/0006-amdgpu-Prepare-DCN-floating-point-macros-for-generic.patch b/patches/linux-5.5-openpower/0006-amdgpu-Prepare-DCN-floating-point-macros-for-generic.patch
new file mode 100644
index 000000000..17feb7613
--- /dev/null
+++ b/patches/linux-5.5-openpower/0006-amdgpu-Prepare-DCN-floating-point-macros-for-generic.patch
@@ -0,0 +1,164 @@
+From 2b58c11c7ac32adfa1db0f96eeb3035f181b34c0 Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineering.com>
+Date: Sat, 7 Dec 2019 16:24:13 -0600
+Subject: [PATCH 1/3] amdgpu: Prepare DCN floating point macros for generic
+ arch support
+
+Introduce DC_FP_START()/DC_FP_END() macros to help enable floating
+point kernel mode support across various architectures.
+
+Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
+---
+ .../gpu/drm/amd/display/dc/calcs/dcn_calcs.c  | 24 +++++++++----------
+ .../drm/amd/display/dc/dcn20/dcn20_resource.c |  4 ++--
+ drivers/gpu/drm/amd/display/dc/os_types.h     |  3 +++
+ 4 files changed, 19 insertions(+), 16 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+index 9b2cb57bf2ba..cd5471263248 100644
+--- a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
++++ b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+@@ -626,7 +626,7 @@ static bool dcn_bw_apply_registry_override(struct dc *dc)
+ {
+ 	bool updated = false;
+ 
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 	if ((int)(dc->dcn_soc->sr_exit_time * 1000) != dc->debug.sr_exit_time_ns
+ 			&& dc->debug.sr_exit_time_ns) {
+ 		updated = true;
+@@ -662,7 +662,7 @@ static bool dcn_bw_apply_registry_override(struct dc *dc)
+ 		dc->dcn_soc->dram_clock_change_latency =
+ 				dc->debug.dram_clock_change_latency_ns / 1000.0;
+ 	}
+-	kernel_fpu_end();
++	DC_FP_END();
+ 
+ 	return updated;
+ }
+@@ -742,7 +742,7 @@ bool dcn_validate_bandwidth(
+ 		dcn_bw_sync_calcs_and_dml(dc);
+ 
+ 	memset(v, 0, sizeof(*v));
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 
+ 	v->sr_exit_time = dc->dcn_soc->sr_exit_time;
+ 	v->sr_enter_plus_exit_time = dc->dcn_soc->sr_enter_plus_exit_time;
+@@ -1275,7 +1275,7 @@ bool dcn_validate_bandwidth(
+ 	bw_limit = dc->dcn_soc->percent_disp_bw_limit * v->fabric_and_dram_bandwidth_vmax0p9;
+ 	bw_limit_pass = (v->total_data_read_bandwidth / 1000.0) < bw_limit;
+ 
+-	kernel_fpu_end();
++	DC_FP_END();
+ 
+ 	PERFORMANCE_TRACE_END();
+ 	BW_VAL_TRACE_FINISH();
+@@ -1443,7 +1443,7 @@ void dcn_bw_update_from_pplib(struct dc *dc)
+ 	res = dm_pp_get_clock_levels_by_type_with_voltage(
+ 			ctx, DM_PP_CLOCK_TYPE_FCLK, &fclks);
+ 
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 
+ 	if (res)
+ 		res = verify_clock_values(&fclks);
+@@ -1463,12 +1463,12 @@ void dcn_bw_update_from_pplib(struct dc *dc)
+ 	} else
+ 		BREAK_TO_DEBUGGER();
+ 
+-	kernel_fpu_end();
++	DC_FP_END();
+ 
+ 	res = dm_pp_get_clock_levels_by_type_with_voltage(
+ 			ctx, DM_PP_CLOCK_TYPE_DCFCLK, &dcfclks);
+ 
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 
+ 	if (res)
+ 		res = verify_clock_values(&dcfclks);
+@@ -1481,7 +1481,7 @@ void dcn_bw_update_from_pplib(struct dc *dc)
+ 	} else
+ 		BREAK_TO_DEBUGGER();
+ 
+-	kernel_fpu_end();
++	DC_FP_END();
+ }
+ 
+ void dcn_bw_notify_pplib_of_wm_ranges(struct dc *dc)
+@@ -1496,11 +1496,11 @@ void dcn_bw_notify_pplib_of_wm_ranges(struct dc *dc)
+ 	if (!pp || !pp->set_wm_ranges)
+ 		return;
+ 
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 	min_fclk_khz = dc->dcn_soc->fabric_and_dram_bandwidth_vmin0p65 * 1000000 / 32;
+ 	min_dcfclk_khz = dc->dcn_soc->dcfclkv_min0p65 * 1000;
+ 	socclk_khz = dc->dcn_soc->socclk * 1000;
+-	kernel_fpu_end();
++	DC_FP_END();
+ 
+ 	/* Now notify PPLib/SMU about which Watermarks sets they should select
+ 	 * depending on DPM state they are in. And update BW MGR GFX Engine and
+@@ -1551,7 +1551,7 @@ void dcn_bw_notify_pplib_of_wm_ranges(struct dc *dc)
+ 
+ void dcn_bw_sync_calcs_and_dml(struct dc *dc)
+ {
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 	DC_LOG_BANDWIDTH_CALCS("sr_exit_time: %f ns\n"
+ 			"sr_enter_plus_exit_time: %f ns\n"
+ 			"urgent_latency: %f ns\n"
+@@ -1740,5 +1740,5 @@ void dcn_bw_sync_calcs_and_dml(struct dc *dc)
+ 	dc->dml.ip.bug_forcing_LC_req_same_size_fixed =
+ 		dc->dcn_ip->bug_forcing_luma_and_chroma_request_to_same_size_fixed == dcn_bw_yes;
+ 	dc->dml.ip.dcfclk_cstate_latency = dc->dcn_ip->dcfclk_cstate_latency;
+-	kernel_fpu_end();
++	DC_FP_END();
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+index 09793336d84f..74ad6f09c1d4 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+@@ -3243,7 +3243,7 @@ void dcn20_update_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_s
+ 
+ void dcn20_patch_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_st *bb)
+ {
+-	kernel_fpu_begin();
++	DC_FP_START();
+ 	if ((int)(bb->sr_exit_time_us * 1000) != dc->bb_overrides.sr_exit_time_ns
+ 			&& dc->bb_overrides.sr_exit_time_ns) {
+ 		bb->sr_exit_time_us = dc->bb_overrides.sr_exit_time_ns / 1000.0;
+@@ -3267,7 +3267,7 @@ void dcn20_patch_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_st
+ 		bb->dram_clock_change_latency_us =
+ 				dc->bb_overrides.dram_clock_change_latency_ns / 1000.0;
+ 	}
+-	kernel_fpu_end();
++	DC_FP_END();
+ }
+ 
+ static struct _vcs_dpi_soc_bounding_box_st *get_asic_rev_soc_bb(
+diff --git a/drivers/gpu/drm/amd/display/dc/os_types.h b/drivers/gpu/drm/amd/display/dc/os_types.h
+index 30ec80ac6fc8..938735bf624d 100644
+--- a/drivers/gpu/drm/amd/display/dc/os_types.h
++++ b/drivers/gpu/drm/amd/display/dc/os_types.h
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright 2012-16 Advanced Micro Devices, Inc.
++ * Copyright 2019 Raptor Engineering, LLC
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a
+  * copy of this software and associated documentation files (the "Software"),
+@@ -50,6 +51,8 @@
+ 
+ #if defined(CONFIG_DRM_AMD_DC_DCN1_0)
+ #include <asm/fpu/api.h>
++#define DC_FP_START() kernel_fpu_begin()
++#define DC_FP_END() kernel_fpu_end()
+ #endif
+ 
+ /*
+-- 
+2.20.1
+
diff --git a/patches/linux-5.5-openpower/0007-amdgpu-Enable-initial-DCN-support-on-POWER.patch b/patches/linux-5.5-openpower/0007-amdgpu-Enable-initial-DCN-support-on-POWER.patch
new file mode 100644
index 000000000..522a5f10c
--- /dev/null
+++ b/patches/linux-5.5-openpower/0007-amdgpu-Enable-initial-DCN-support-on-POWER.patch
@@ -0,0 +1,326 @@
+From 823ae813f113fe9d1c931b3d86f54e68ab24e68d Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineering.com>
+Date: Sat, 7 Dec 2019 16:28:08 -0600
+Subject: [PATCH 2/3] amdgpu: Enable initial DCN support on POWER
+
+DCN requires floating point support to operate.  Add the appropriate
+x86/ppc64 guards and FPU / AltiVec / VSX context switches to DCN.
+
+Note that the current DC20 code doesn't contain all required FPU
+wrappers on x86 or POWER, so this patch is insufficient to fully
+enable DC20 on POWER.
+
+Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
+---
+ drivers/gpu/drm/amd/display/Kconfig                |  8 +++---
+ drivers/gpu/drm/amd/display/dc/calcs/Makefile      |  9 +++++++
+ drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c   |  1 +
+ drivers/gpu/drm/amd/display/dc/dcn20/Makefile      |  8 ++++++
+ .../gpu/drm/amd/display/dc/dcn20/dcn20_resource.c  |  1 +
+ drivers/gpu/drm/amd/display/dc/dcn21/Makefile      |  8 ++++++
+ .../gpu/drm/amd/display/dc/dcn21/dcn21_resource.c  |  1 +
+ drivers/gpu/drm/amd/display/dc/dml/Makefile        |  9 +++++++
+ drivers/gpu/drm/amd/display/dc/dsc/Makefile        |  8 ++++++
+ drivers/gpu/drm/amd/display/dc/os_types.h          | 29 ++++++++++++++++++++++
+ 10 files changed, 78 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/Kconfig b/drivers/gpu/drm/amd/display/Kconfig
+index ae161fe86ebb..6cd274326e54 100644
+--- a/drivers/gpu/drm/amd/display/Kconfig
++++ b/drivers/gpu/drm/amd/display/Kconfig
+@@ -6,7 +6,7 @@ config DRM_AMD_DC
+ 	bool "AMD DC - Enable new display engine"
+ 	default y
+ 	select SND_HDA_COMPONENT if SND_HDA_CORE
+-	select DRM_AMD_DC_DCN1_0 if X86 && !(KCOV_INSTRUMENT_ALL && KCOV_ENABLE_COMPARISONS)
++	select DRM_AMD_DC_DCN1_0 if (X86 || PPC64) && !(KCOV_INSTRUMENT_ALL && KCOV_ENABLE_COMPARISONS)
+ 	help
+ 	  Choose this option if you want to use the new display engine
+ 	  support for AMDGPU. This adds required support for Vega and
+@@ -20,7 +20,7 @@ config DRM_AMD_DC_DCN1_0
+ config DRM_AMD_DC_DCN2_0
+ 	bool "DCN 2.0 family"
+ 	default y
+-	depends on DRM_AMD_DC && X86
++	depends on DRM_AMD_DC && (X86 || PPC64)
+ 	depends on DRM_AMD_DC_DCN1_0
+ 	help
+ 	  Choose this option if you want to have
+@@ -28,7 +28,7 @@ config DRM_AMD_DC_DCN2_0
+ 
+ config DRM_AMD_DC_DCN2_1
+ 	bool "DCN 2.1 family"
+-	depends on DRM_AMD_DC && X86
++	depends on DRM_AMD_DC && (X86 || PPC64)
+ 	depends on DRM_AMD_DC_DCN2_0
+ 	help
+ 	  Choose this option if you want to have
+@@ -37,7 +37,7 @@ config DRM_AMD_DC_DCN2_1
+ config DRM_AMD_DC_DSC_SUPPORT
+ 	bool "DSC support"
+ 	default y
+-	depends on DRM_AMD_DC && X86
++	depends on DRM_AMD_DC && (X86 || PPC64)
+ 	depends on DRM_AMD_DC_DCN1_0
+ 	depends on DRM_AMD_DC_DCN2_0
+ 	help
+diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
+index 26c6d735cdc7..429ac95b5dc6 100644
+--- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
++++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
+@@ -1,5 +1,6 @@
+ #
+ # Copyright 2017 Advanced Micro Devices, Inc.
++# Copyright 2019 Raptor Engineering, LLC
+ #
+ # Permission is hereby granted, free of charge, to any person obtaining a
+ # copy of this software and associated documentation files (the "Software"),
+@@ -24,7 +25,13 @@
+ # It calculates Bandwidth and Watermarks values for HW programming
+ #
+ 
++ifdef CONFIG_X86_64
+ calcs_ccflags := -mhard-float -msse
++endif
++
++ifdef CONFIG_PPC64
++calcs_ccflags := -mhard-float -maltivec
++endif
+ 
+ ifdef CONFIG_CC_IS_GCC
+ ifeq ($(call cc-ifversion, -lt, 0701, y), y)
+@@ -32,6 +39,7 @@ IS_OLD_GCC = 1
+ endif
+ endif
+ 
++ifdef CONFIG_X86_64
+ ifdef IS_OLD_GCC
+ # Stack alignment mismatch, proceed with caution.
+ # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
+@@ -40,6 +48,7 @@ calcs_ccflags += -mpreferred-stack-boundary=4
+ else
+ calcs_ccflags += -msse2
+ endif
++endif
+ 
+ CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calcs.o := $(calcs_ccflags)
+ CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calc_auto.o := $(calcs_ccflags)
+diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+index cd5471263248..e34ff2f4a3de 100644
+--- a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
++++ b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright 2017 Advanced Micro Devices, Inc.
++ * Copyright 2019 Raptor Engineering, LLC
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a
+  * copy of this software and associated documentation files (the "Software"),
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/Makefile b/drivers/gpu/drm/amd/display/dc/dcn20/Makefile
+index 10b47986526b..51fe3cf1ef10 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/Makefile
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/Makefile
+@@ -11,7 +11,13 @@ ifdef CONFIG_DRM_AMD_DC_DSC_SUPPORT
+ DCN20 += dcn20_dsc.o
+ endif
+ 
++ifdef CONFIG_X86_64
+ CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o := -mhard-float -msse
++endif
++
++ifdef CONFIG_PPC64
++CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o := -mhard-float -maltivec
++endif
+ 
+ ifdef CONFIG_CC_IS_GCC
+ ifeq ($(call cc-ifversion, -lt, 0701, y), y)
+@@ -19,6 +25,7 @@ IS_OLD_GCC = 1
+ endif
+ endif
+ 
++ifdef CONFIG_X86_64
+ ifdef IS_OLD_GCC
+ # Stack alignment mismatch, proceed with caution.
+ # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
+@@ -27,6 +34,7 @@ CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o += -mpreferred-stack-boundary=4
+ else
+ CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o += -msse2
+ endif
++endif
+ 
+ AMD_DAL_DCN20 = $(addprefix $(AMDDALPATH)/dc/dcn20/,$(DCN20))
+ 
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+index ebc393ee3230..d4558e8457c6 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright 2016 Advanced Micro Devices, Inc.
++ * Copyright 2019 Raptor Engineering, LLC
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a
+  * copy of this software and associated documentation files (the "Software"),
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile
+index 5b8c17564bc1..390a4b6316b8 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile
++++ b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile
+@@ -4,7 +4,13 @@
+ 
+ DCN21 = dcn21_hubp.o dcn21_hubbub.o dcn21_resource.o dcn21_hwseq.o dcn21_link_encoder.o
+ 
++ifdef CONFIG_X86_64
+ CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse
++endif
++
++ifdef CONFIG_PPC64
++CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -maltivec
++endif
+ 
+ ifdef CONFIG_CC_IS_GCC
+ ifeq ($(call cc-ifversion, -lt, 0701, y), y)
+@@ -12,6 +18,7 @@ IS_OLD_GCC = 1
+ endif
+ endif
+ 
++ifdef CONFIG_X86_64
+ ifdef IS_OLD_GCC
+ # Stack alignment mismatch, proceed with caution.
+ # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
+@@ -20,6 +27,7 @@ CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -mpreferred-stack-boundary=4
+ else
+ CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -msse2
+ endif
++endif
+ 
+ AMD_DAL_DCN21 = $(addprefix $(AMDDALPATH)/dc/dcn21/,$(DCN21))
+ 
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
+index b29b2c99a564..6a47c7f111fb 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright 2018 Advanced Micro Devices, Inc.
++ * Copyright 2019 Raptor Engineering, LLC
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a
+  * copy of this software and associated documentation files (the "Software"),
+diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
+index 8df251626e22..ae49d23386e1 100644
+--- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
++++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
+@@ -1,5 +1,6 @@
+ #
+ # Copyright 2017 Advanced Micro Devices, Inc.
++# Copyright 2019 Raptor Engineering, LLC
+ #
+ # Permission is hereby granted, free of charge, to any person obtaining a
+ # copy of this software and associated documentation files (the "Software"),
+@@ -24,7 +25,13 @@
+ # It provides the general basic services required by other DAL
+ # subcomponents.
+ 
++ifdef CONFIG_X86_64
+ dml_ccflags := -mhard-float -msse
++endif
++
++ifdef CONFIG_PPC64
++dml_ccflags := -mhard-float -maltivec
++endif
+ 
+ ifdef CONFIG_CC_IS_GCC
+ ifeq ($(call cc-ifversion, -lt, 0701, y), y)
+@@ -32,6 +39,7 @@ IS_OLD_GCC = 1
+ endif
+ endif
+ 
++ifdef CONFIG_X86_64
+ ifdef IS_OLD_GCC
+ # Stack alignment mismatch, proceed with caution.
+ # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
+@@ -40,6 +48,7 @@ dml_ccflags += -mpreferred-stack-boundary=4
+ else
+ dml_ccflags += -msse2
+ endif
++endif
+ 
+ CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags)
+ 
+diff --git a/drivers/gpu/drm/amd/display/dc/dsc/Makefile b/drivers/gpu/drm/amd/display/dc/dsc/Makefile
+index 641ffb7cfaed..28dc3d7f89e9 100644
+--- a/drivers/gpu/drm/amd/display/dc/dsc/Makefile
++++ b/drivers/gpu/drm/amd/display/dc/dsc/Makefile
+@@ -2,7 +2,13 @@
+ #
+ # Makefile for the 'dsc' sub-component of DAL.
+ 
++ifdef CONFIG_X86_64
+ dsc_ccflags := -mhard-float -msse
++endif
++
++ifdef CONFIG_PPC64
++dsc_ccflags := -mhard-float -maltivec
++endif
+ 
+ ifdef CONFIG_CC_IS_GCC
+ ifeq ($(call cc-ifversion, -lt, 0701, y), y)
+@@ -10,6 +16,7 @@ IS_OLD_GCC = 1
+ endif
+ endif
+ 
++ifdef CONFIG_X86_64
+ ifdef IS_OLD_GCC
+ # Stack alignment mismatch, proceed with caution.
+ # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
+@@ -18,6 +25,7 @@ dsc_ccflags += -mpreferred-stack-boundary=4
+ else
+ dsc_ccflags += -msse2
+ endif
++endif
+ 
+ CFLAGS_$(AMDDALPATH)/dc/dsc/rc_calc.o := $(dsc_ccflags)
+ CFLAGS_$(AMDDALPATH)/dc/dsc/rc_calc_dpi.o := $(dsc_ccflags)
+diff --git a/drivers/gpu/drm/amd/display/dc/os_types.h b/drivers/gpu/drm/amd/display/dc/os_types.h
+index 938735bf624d..64648f1fde77 100644
+--- a/drivers/gpu/drm/amd/display/dc/os_types.h
++++ b/drivers/gpu/drm/amd/display/dc/os_types.h
+@@ -50,9 +50,38 @@
+ #define dm_error(fmt, ...) DRM_ERROR(fmt, ##__VA_ARGS__)
+ 
+ #if defined(CONFIG_DRM_AMD_DC_DCN1_0)
++#if defined(CONFIG_X86_64)
+ #include <asm/fpu/api.h>
+ #define DC_FP_START() kernel_fpu_begin()
+ #define DC_FP_END() kernel_fpu_end()
++#elif defined(CONFIG_PPC64)
++#include <asm/switch_to.h>
++#include <asm/cputable.h>
++#define DC_FP_START() { \
++	if (cpu_has_feature(CPU_FTR_VSX_COMP)) { \
++		preempt_disable(); \
++		enable_kernel_vsx(); \
++	} else if (cpu_has_feature(CPU_FTR_ALTIVEC_COMP)) { \
++		preempt_disable(); \
++		enable_kernel_altivec(); \
++	} else if (!cpu_has_feature(CPU_FTR_FPU_UNAVAILABLE)) { \
++		preempt_disable(); \
++		enable_kernel_fp(); \
++	} \
++}
++#define DC_FP_END() { \
++	if (cpu_has_feature(CPU_FTR_VSX_COMP)) { \
++		disable_kernel_vsx(); \
++		preempt_enable(); \
++	} else if (cpu_has_feature(CPU_FTR_ALTIVEC_COMP)) { \
++		disable_kernel_altivec(); \
++		preempt_enable(); \
++	} else if (!cpu_has_feature(CPU_FTR_FPU_UNAVAILABLE)) { \
++		disable_kernel_fp(); \
++		preempt_enable(); \
++	} \
++}
++#endif
+ #endif
+ 
+ /*
diff --git a/patches/linux-5.5-openpower/0008-amdgpu-Wrap-FPU-dependent-functions-in-dc20.patch b/patches/linux-5.5-openpower/0008-amdgpu-Wrap-FPU-dependent-functions-in-dc20.patch
new file mode 100644
index 000000000..a9b9d9f3e
--- /dev/null
+++ b/patches/linux-5.5-openpower/0008-amdgpu-Wrap-FPU-dependent-functions-in-dc20.patch
@@ -0,0 +1,75 @@
+From 1b2c65e94e6bcd3b36f799c880162fb3b3394ed4 Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineering.com>
+Date: Sat, 7 Dec 2019 16:32:55 -0600
+Subject: [PATCH 3/3] amdgpu: Wrap FPU dependent functions in dc20
+
+dc20 containes several FPU-dependent functions without proper FPU
+kernel mode enable/disable wrappers.  Add the required wrappers
+for both x86 and POWER.
+
+This enables Navi DC20 support for POWER systems.
+
+Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
+---
+ .../gpu/drm/amd/display/dc/dcn20/dcn20_resource.c  | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+index 254973751732..95303b77bfd6 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+@@ -2917,14 +2917,19 @@ static bool dcn20_validate_bandwidth_internal(struct dc *dc, struct dc_state *co
+ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
+ 		bool fast_validate)
+ {
++	DC_FP_START()
++
+ 	bool voltage_supported = false;
+ 	bool full_pstate_supported = false;
+ 	bool dummy_pstate_supported = false;
+ 	double p_state_latency_us = context->bw_ctx.dml.soc.dram_clock_change_latency_us;
+ 
+-	if (fast_validate)
+-		return dcn20_validate_bandwidth_internal(dc, context, true);
++	if (fast_validate) {
++		voltage_supported = dcn20_validate_bandwidth_internal(dc, context, true);
+ 
++		DC_FP_END()
++		return voltage_supported;
++	}
+ 
+ 	// Best case, we support full UCLK switch latency
+ 	voltage_supported = dcn20_validate_bandwidth_internal(dc, context, false);
+@@ -2953,6 +2958,7 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
+ restore_dml_state:
+ 	context->bw_ctx.dml.soc.dram_clock_change_latency_us = p_state_latency_us;
+ 
++	DC_FP_END()
+ 	return voltage_supported;
+ }
+ 
+@@ -3472,6 +3478,8 @@ static bool construct(
+ 	enum dml_project dml_project_version =
+ 			get_dml_project_version(ctx->asic_id.hw_internal_rev);
+ 
++	DC_FP_START()
++
+ 	ctx->dc_bios->regs = &bios_regs;
+ 	pool->base.funcs = &dcn20_res_pool_funcs;
+ 
+@@ -3760,10 +3768,12 @@ static bool construct(
+ 
+ 	dc->cap_funcs = cap_funcs;
+ 
++	DC_FP_END()
+ 	return true;
+ 
+ create_fail:
+ 
++	DC_FP_END()
+ 	destruct(pool);
+ 
+ 	return false;
+-- 
+2.20.1
+
diff --git a/patches/linux-5.5-openpower/0009-Fix-build-with-gcc-10-and-up.patch b/patches/linux-5.5-openpower/0009-Fix-build-with-gcc-10-and-up.patch
new file mode 100644
index 000000000..60f9559e7
--- /dev/null
+++ b/patches/linux-5.5-openpower/0009-Fix-build-with-gcc-10-and-up.patch
@@ -0,0 +1,18 @@
+GCC 10+ defaults to `-fno-common`, breaking build of dtc binary.
+
+Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
+
+diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
+index b5a5b1c..5c2f139 100644
+--- a/scripts/dtc/Makefile
++++ b/scripts/dtc/Makefile
+@@ -11,6 +11,9 @@ dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o
+ # Source files need to get at the userspace version of libfdt_env.h to compile
+ HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt
+ 
++# Combine `yylloc` declarations from dtc-lexer.lex.o and dtc-parser.tab.o
++HOST_EXTRACFLAGS += -fcommon
++
+ ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),)
+ ifneq ($(CHECK_DTBS),)
+ $(error dtc needs libyaml for DT schema validation support. \
