summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bsp/axxiaarm/axxiaarm-preempt-rt.scc8
-rw-r--r--bsp/axxiaarm/axxiaarm-standard.scc8
-rw-r--r--bsp/axxiaarm/axxiaarm.cfg272
-rw-r--r--bsp/axxiaarm/axxiaarm.scc12
-rw-r--r--bsp/axxiaarm/edac.cfg19
-rw-r--r--bsp/axxiaarm/edac.scc4
-rw-r--r--bsp/axxiaarm/hardware.kcf1
-rw-r--r--bsp/axxiaarm/kvm.cfg17
-rw-r--r--bsp/axxiaarm/kvm.scc4
-rw-r--r--bsp/axxiaarm/rapidio.cfg25
-rw-r--r--bsp/axxiaarm/rapidio.scc4
-rw-r--r--bsp/axxiaarm64/axxiaarm64-preempt-rt.scc8
-rw-r--r--bsp/axxiaarm64/axxiaarm64-standard.scc8
-rw-r--r--bsp/axxiaarm64/axxiaarm64.cfg254
-rw-r--r--bsp/axxiaarm64/axxiaarm64.scc8
-rw-r--r--bsp/axxiaarm64/edac.cfg21
-rw-r--r--bsp/axxiaarm64/edac.scc4
-rw-r--r--bsp/axxiaarm64/hardware.kcf1
-rw-r--r--bsp/axxiaarm64/kvm.cfg17
-rw-r--r--bsp/axxiaarm64/kvm.scc4
-rw-r--r--bsp/axxiaarm64/rapidio.cfg27
-rw-r--r--bsp/axxiaarm64/rapidio.scc4
-rw-r--r--bsp/pentagram/bt/bt.cfg28
-rw-r--r--bsp/pentagram/bt/bt.scc1
-rw-r--r--bsp/pentagram/cmdline/def.cfg4
-rw-r--r--bsp/pentagram/cmdline/def.scc1
-rw-r--r--bsp/pentagram/cmdline/nfs.cfg1
-rw-r--r--bsp/pentagram/cmdline/nfs.scc1
-rw-r--r--bsp/pentagram/debug/acct_bsd.cfg1
-rw-r--r--bsp/pentagram/debug/acct_nl.cfg4
-rw-r--r--bsp/pentagram/debug/axi_mon.cfg1
-rw-r--r--bsp/pentagram/debug/axi_mon.scc4
-rw-r--r--bsp/pentagram/debug/dyndbg.cfg1
-rw-r--r--bsp/pentagram/debug/dyndbg.scc1
-rw-r--r--bsp/pentagram/debug/others.cfg32
-rw-r--r--bsp/pentagram/debug/pinctl.cfg1
-rw-r--r--bsp/pentagram/debug/pins0.scc1
-rw-r--r--bsp/pentagram/debug/pins9.scc6
-rw-r--r--bsp/pentagram/debug/printk.cfg4
-rw-r--r--bsp/pentagram/debug/printk.scc1
-rw-r--r--bsp/pentagram/debug/sppctl.cfg1
-rw-r--r--bsp/pentagram/fs/ext4.cfg1
-rw-r--r--bsp/pentagram/fs/fat.cfg13
-rw-r--r--bsp/pentagram/fs/for_all.cfg1
-rw-r--r--bsp/pentagram/fs/nfs.cfg23
-rw-r--r--bsp/pentagram/fs/squash.cfg14
-rw-r--r--bsp/pentagram/fs/ubi.cfg3
-rw-r--r--bsp/pentagram/hw_emmc.cfg2
-rw-r--r--bsp/pentagram/hw_emmc.scc4
-rw-r--r--bsp/pentagram/hw_i2c.cfg8
-rw-r--r--bsp/pentagram/hw_i2c.scc5
-rw-r--r--bsp/pentagram/hw_nvmem.cfg2
-rw-r--r--bsp/pentagram/hw_nvmem.scc4
-rw-r--r--bsp/pentagram/hw_pwm.cfg4
-rw-r--r--bsp/pentagram/hw_pwm.scc5
-rw-r--r--bsp/pentagram/hw_sdio.scc4
-rw-r--r--bsp/pentagram/input/sp_icm.cfg1
-rw-r--r--bsp/pentagram/input/sp_icm.scc1
-rw-r--r--bsp/pentagram/make_later.cfg145
-rw-r--r--bsp/pentagram/media/general.cfg3
-rw-r--r--bsp/pentagram/media/video_out.cfg16
-rw-r--r--bsp/pentagram/media/video_out.cfg.orig12
-rw-r--r--bsp/pentagram/media/video_out.cfg.test16
-rw-r--r--bsp/pentagram/media/video_out.scc5
-rw-r--r--bsp/pentagram/media/video_sen.cfg10
-rw-r--r--bsp/pentagram/media/video_sen.scc5
-rw-r--r--bsp/pentagram/media/video_usb.cfg8
-rw-r--r--bsp/pentagram/media/video_usb.scc2
-rw-r--r--bsp/pentagram/net/hw_net.cfg30
-rw-r--r--bsp/pentagram/net/hw_net.scc5
-rw-r--r--bsp/pentagram/net/sw_net.cfg27
-rw-r--r--bsp/pentagram/net/sw_net.scc1
-rw-r--r--bsp/pentagram/noswap.cfg1
-rw-r--r--bsp/pentagram/pentagram-debug.scc11
-rw-r--r--bsp/pentagram/pentagram-non_hardware.cfg1
-rw-r--r--bsp/pentagram/pentagram-standard.scc60
-rw-r--r--bsp/pentagram/pentagram-tiny.scc28
-rw-r--r--bsp/pentagram/pentagram.cfg121
-rw-r--r--bsp/pentagram/pentagram.scc14
-rw-r--r--bsp/pentagram/pm.cfg10
-rw-r--r--bsp/pentagram/pm.scc4
-rw-r--r--bsp/pentagram/sensors/hw_thermal.cfg6
-rw-r--r--bsp/pentagram/sensors/hw_thermal.scc4
-rw-r--r--bsp/pentagram/sensors/hwmon.cfg1
-rw-r--r--bsp/pentagram/sensors/hwmon.scc2
-rw-r--r--bsp/pentagram/spi/sp_nand.cfg4
-rw-r--r--bsp/pentagram/spi/sp_nand.scc4
-rw-r--r--bsp/pentagram/spi/sp_nor.cfg3
-rw-r--r--bsp/pentagram/spi/sp_nor.scc4
-rw-r--r--bsp/pentagram/spi/sp_nornand.scc6
-rw-r--r--bsp/pentagram/spi/sp_spi.cfg10
-rw-r--r--bsp/pentagram/spi/sp_spi.scc2
-rw-r--r--bsp/pentagram/spi/spi-slave.cfg3
-rw-r--r--bsp/pentagram/spi/spi-slave.scc1
-rw-r--r--bsp/pentagram/spi/spi.cfg4
-rw-r--r--bsp/pentagram/spi/spi.scc1
-rw-r--r--bsp/pentagram/sw_nls.cfg5
-rw-r--r--bsp/pentagram/sw_nls.scc1
-rw-r--r--bsp/pentagram/testing.cfg19
-rw-r--r--bsp/pentagram/testing.scc1
-rw-r--r--bsp/pentagram/ui/gconsole.cfg7
-rw-r--r--bsp/pentagram/ui/gconsole.scc1
-rw-r--r--bsp/pentagram/ui/qt.cfg3
-rw-r--r--bsp/pentagram/ui/qt.scc1
-rw-r--r--bsp/pentagram/ui/vt.cfg3
-rw-r--r--bsp/pentagram/ui/vt.scc1
-rw-r--r--bsp/pentagram/usb/customers.cfg1
-rw-r--r--bsp/pentagram/usb/customers.scc5
-rw-r--r--bsp/pentagram/usb/nousb.cfg8
-rw-r--r--bsp/pentagram/usb/nousb.scc1
-rw-r--r--bsp/pentagram/usb/usb.cfg26
-rw-r--r--bsp/pentagram/usb/usb.scc6
-rw-r--r--bsp/pentagram/usb/usb_otg.cfg5
-rw-r--r--bsp/pentagram/watchdog/sp.cfg1
-rw-r--r--bsp/pentagram/watchdog/sp.scc2
-rw-r--r--bsp/pentagram/watchdog/watchdog.cfg2
-rw-r--r--bsp/pentagram/wifi/no_other_vendors.cfg15
-rw-r--r--bsp/pentagram/wifi/pentagram-sc7021-achip.dtsi.liber.patch17
-rw-r--r--bsp/pentagram/wifi/sdio.cfg1
-rw-r--r--bsp/pentagram/wifi/tppg1_libe.cfg3
-rw-r--r--bsp/pentagram/wifi/tppg1_libe.scc7
-rw-r--r--bsp/pentagram/wifi/tppg2_brcm.cfg8
-rw-r--r--bsp/pentagram/wifi/tppg2_brcm.scc5
-rw-r--r--bsp/pentagram/wifi/wext.cfg14
-rw-r--r--features/media/media.cfg2
-rw-r--r--features/scsi/scsi-debug.cfg2
-rw-r--r--kver2
127 files changed, 1682 insertions, 2 deletions
diff --git a/bsp/axxiaarm/axxiaarm-preempt-rt.scc b/bsp/axxiaarm/axxiaarm-preempt-rt.scc
new file mode 100644
index 00000000..e1c2aec8
--- /dev/null
+++ b/bsp/axxiaarm/axxiaarm-preempt-rt.scc
@@ -0,0 +1,8 @@
+define KMACHINE axxiaarm
+define KTYPE preempt-rt
+define KARCH arm
+
+include ktypes/preempt-rt
+branch axxia
+
+include axxiaarm.scc
diff --git a/bsp/axxiaarm/axxiaarm-standard.scc b/bsp/axxiaarm/axxiaarm-standard.scc
new file mode 100644
index 00000000..cc57a7ee
--- /dev/null
+++ b/bsp/axxiaarm/axxiaarm-standard.scc
@@ -0,0 +1,8 @@
+define KMACHINE axxiaarm
+define KTYPE standard
+define KARCH arm
+
+include ktypes/standard
+branch axxia
+
+include axxiaarm.scc
diff --git a/bsp/axxiaarm/axxiaarm.cfg b/bsp/axxiaarm/axxiaarm.cfg
new file mode 100644
index 00000000..3de16b43
--- /dev/null
+++ b/bsp/axxiaarm/axxiaarm.cfg
@@ -0,0 +1,272 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+#
+# System Type
+#
+CONFIG_ARCH_AXXIA=y
+
+#
+# Axxia platform type
+#
+CONFIG_ARCH_AXXIA_GIC=y
+CONFIG_ARCH_AXXIA_DT=y
+CONFIG_ARCH_AXXIA_NCR_RESET_CHECK=y
+CONFIG_ARM_TIMER_SP804=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_LPAE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_SWP_EMULATE=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_THUMBEE=y
+CONFIG_OUTER_CACHE=y
+CONFIG_OUTER_CACHE_SYNC=y
+CONFIG_MIGHT_HAVE_CACHE_L2X0=y
+CONFIG_CACHE_L2X0=y
+
+CONFIG_ARM_ERRATA_430973=y
+CONFIG_ARM_ERRATA_458693=y
+CONFIG_ARM_ERRATA_460075=y
+CONFIG_ARM_ERRATA_643719=y
+CONFIG_ARM_ERRATA_742230=y
+CONFIG_ARM_ERRATA_742231=y
+CONFIG_ARM_ERRATA_720789=y
+CONFIG_ARM_ERRATA_743622=y
+CONFIG_ARM_ERRATA_751472=y
+CONFIG_ARM_ERRATA_754322=y
+CONFIG_ARM_ERRATA_754327=y
+CONFIG_ARM_ERRATA_764369=y
+CONFIG_ARM_ERRATA_775420=y
+CONFIG_ARM_ERRATA_798181=y
+CONFIG_PL310_ERRATA_588369=y
+CONFIG_PL310_ERRATA_727915=y
+CONFIG_PL310_ERRATA_753970=y
+CONFIG_PL310_ERRATA_769419=y
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCI_MSI=y
+
+#
+# Kernel Features
+#
+CONFIG_SMP=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+CONFIG_HIGHMEM=y
+CONFIG_NR_CPUS=16
+
+#
+# Boot options
+#
+CONFIG_USE_OF=y
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_NEON=y
+
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_FW_LOADER=y
+
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_AFS_PARTS=y
+CONFIG_MTD_OF_PARTS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+
+#
+# Network testing
+#
+# CONFIG_WIRELESS is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SPI_NOR=y
+
+CONFIG_DTC=y
+CONFIG_OF=y
+
+CONFIG_BLK_DEV_LOOP=y
+
+#
+# Misc devices
+#
+CONFIG_AXXIA_MTC=y
+CONFIG_AXXIA_NCR=y
+CONFIG_ATA=y
+CONFIG_AXXIA_FAULT=y
+CONFIG_AXXIA_MDIO=y
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_CHR_DEV_SG=y
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO_AMBAKMI=y
+
+#
+# Character devices
+#
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_AXXIA=y
+# CONFIG_HW_RANDOM_VIRTIO is not set
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_AXXIA=y
+
+CONFIG_SPI=y
+CONFIG_SPI_PL022=y
+
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_AXXIA=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
+
+CONFIG_WATCHDOG=y
+CONFIG_ARM_SP805_WATCHDOG=y
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_ETHERNET=y
+CONFIG_AXXIA_NET=y
+CONFIG_AXXIA_NET_NUM_RX_DESC=4
+CONFIG_AXXIA_NET_RX_BUF_SZ=32768
+CONFIG_AXXIA_NET_NUM_TX_DESC=4
+CONFIG_AXXIA_NET_TX_BUF_SZ=32768
+CONFIG_SMC91X=y
+
+#
+# USB Network Adapters
+#
+# CONFIG_WLAN is not set
+
+#
+# USB GPIO expanders:
+#
+CONFIG_HWMON_VID=y
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ADT7475=y
+CONFIG_SENSORS_JC42=y
+CONFIG_PMBUS=y
+CONFIG_SENSORS_LTC2978=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_SYSCON=y
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_CI13612_HCD=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMADEVICES=y
+CONFIG_AXXIA_DMA=y
+CONFIG_PL330_DMA=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_MAILBOX=y
+CONFIG_PL320_MBOX=y
+# CONFIG_IOMMU_SUPPORT is not set
+
+#
+# Caches
+#
+CONFIG_FSCACHE=y
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+CONFIG_FSCACHE_DEBUG=y
+CONFIG_FSCACHE_OBJECT_LIST=y
+CONFIG_CACHEFILES=y
+CONFIG_CACHEFILES_HISTOGRAM=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC=y
+CONFIG_MMC_ARMMMCI=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_VMFS_FS=y
+CONFIG_VMFS_DEV_BASE=0x20101C0000
+CONFIG_VMFS_IRQ=0
diff --git a/bsp/axxiaarm/axxiaarm.scc b/bsp/axxiaarm/axxiaarm.scc
new file mode 100644
index 00000000..dccecbfd
--- /dev/null
+++ b/bsp/axxiaarm/axxiaarm.scc
@@ -0,0 +1,12 @@
+# Core arm configuation settings
+include arch/arm/arm.scc nopatch
+
+include features/usb/ehci-hcd.scc
+include cfg/usb-mass-storage.scc
+include cfg/virtio.scc
+
+include rapidio.scc
+include edac.scc
+include kvm.scc
+
+kconf hardware axxiaarm.cfg
diff --git a/bsp/axxiaarm/edac.cfg b/bsp/axxiaarm/edac.cfg
new file mode 100644
index 00000000..4ac0141f
--- /dev/null
+++ b/bsp/axxiaarm/edac.cfg
@@ -0,0 +1,19 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+CONFIG_EDAC=y
+CONFIG_EDAC_AXXIA_SYSMEM_5500=y
+CONFIG_EDAC_AXXIA_L3_5500=y
+CONFIG_EDAC_AXXIA_L2_CPU_5500=y
+
+# CONFIG_AXXIA_SMMON is not set
diff --git a/bsp/axxiaarm/edac.scc b/bsp/axxiaarm/edac.scc
new file mode 100644
index 00000000..d644aa32
--- /dev/null
+++ b/bsp/axxiaarm/edac.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable EDAC driver support for System Memory, L3 cache, L2 cache and CPU"
+define KFEATURE_COMPATIBILITY all
+
+kconf hardware edac.cfg
diff --git a/bsp/axxiaarm/hardware.kcf b/bsp/axxiaarm/hardware.kcf
new file mode 100644
index 00000000..6aa8119d
--- /dev/null
+++ b/bsp/axxiaarm/hardware.kcf
@@ -0,0 +1 @@
+arch/arm/mach-axxia/Kconfig
diff --git a/bsp/axxiaarm/kvm.cfg b/bsp/axxiaarm/kvm.cfg
new file mode 100644
index 00000000..1473a227
--- /dev/null
+++ b/bsp/axxiaarm/kvm.cfg
@@ -0,0 +1,17 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_KVM_ARM_HOST=y
+CONFIG_KVM_MMIO=y
diff --git a/bsp/axxiaarm/kvm.scc b/bsp/axxiaarm/kvm.scc
new file mode 100644
index 00000000..c8675559
--- /dev/null
+++ b/bsp/axxiaarm/kvm.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable KVM host support"
+define KFEATURE_COMPATIBILITY all
+
+kconf non-hardware kvm.cfg
diff --git a/bsp/axxiaarm/rapidio.cfg b/bsp/axxiaarm/rapidio.cfg
new file mode 100644
index 00000000..77f39e8a
--- /dev/null
+++ b/bsp/axxiaarm/rapidio.cfg
@@ -0,0 +1,25 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+CONFIG_RAPIDIO=y
+CONFIG_AXXIA_RIO=y
+CONFIG_RIO_MAINT_WIN_SIZE=0x1000000
+CONFIG_AXXIA_RIO_STAT=y
+CONFIG_OB_DME_ENTRY_SIZE=4096
+CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
+CONFIG_RAPIDIO_ENUM_BASIC=y
+CONFIG_RAPIDIO_CPS_GEN2=y
+
+CONFIG_RIONET=y
+CONFIG_RIONET_TX_SIZE=128
+CONFIG_RIONET_RX_SIZE=128
diff --git a/bsp/axxiaarm/rapidio.scc b/bsp/axxiaarm/rapidio.scc
new file mode 100644
index 00000000..36cb6e63
--- /dev/null
+++ b/bsp/axxiaarm/rapidio.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable support for the sRIO controller"
+define KFEATURE_COMPATIBILITY all
+
+kconf hardware rapidio.cfg
diff --git a/bsp/axxiaarm64/axxiaarm64-preempt-rt.scc b/bsp/axxiaarm64/axxiaarm64-preempt-rt.scc
new file mode 100644
index 00000000..8f3b0754
--- /dev/null
+++ b/bsp/axxiaarm64/axxiaarm64-preempt-rt.scc
@@ -0,0 +1,8 @@
+define KMACHINE axxiaarm64
+define KTYPE preempt-rt
+define KARCH arm64
+
+include ktypes/preempt-rt
+branch axxia
+
+include axxiaarm64.scc
diff --git a/bsp/axxiaarm64/axxiaarm64-standard.scc b/bsp/axxiaarm64/axxiaarm64-standard.scc
new file mode 100644
index 00000000..d9e57fea
--- /dev/null
+++ b/bsp/axxiaarm64/axxiaarm64-standard.scc
@@ -0,0 +1,8 @@
+define KMACHINE axxiaarm64
+define KTYPE standard
+define KARCH arm64
+
+include ktypes/standard
+branch axxia
+
+include axxiaarm64.scc
diff --git a/bsp/axxiaarm64/axxiaarm64.cfg b/bsp/axxiaarm64/axxiaarm64.cfg
new file mode 100644
index 00000000..0d1c493b
--- /dev/null
+++ b/bsp/axxiaarm64/axxiaarm64.cfg
@@ -0,0 +1,254 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+#
+# General setup
+#
+# CONFIG_FHANDLE is not set
+CONFIG_AUDIT=y
+
+#
+# Timers subsystem
+#
+CONFIG_NO_HZ_IDLE=y
+
+#
+# Platform selection
+#
+CONFIG_ARCH_AXXIA=y
+CONFIG_ARCH_THUNDER=y
+CONFIG_ARCH_VEXPRESS=y
+CONFIG_ARCH_XGENE=y
+
+#
+# Processor Features
+#
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_KEXEC=y
+
+#
+# Boot options
+#
+CONFIG_CMDLINE="console=ttyAMA0"
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCI_MSI=y
+
+#
+# Kernel Features
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_FW_LOADER=y
+CONFIG_DMA_CMA=y
+
+CONFIG_MTD=y
+CONFIG_MTD_OF_PARTS=y
+
+#
+# Network testing
+#
+# CONFIG_WIRELESS is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM_SIZE=35000
+
+#
+# Misc devices
+#
+CONFIG_AXXIA_MTC=y
+CONFIG_ATA=y
+CONFIG_AXXIA_NCR=y
+CONFIG_ARCH_AXXIA_NCR_RESET_CHECK=y
+CONFIG_AXXIA_OEM=y
+CONFIG_AXXIA_PEI=y
+CONFIG_AXXIA_FAULT=y
+CONFIG_AXXIA_MDIO=y
+
+#
+# SCSI device support
+#
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_SCSI_LOWLEVEL is not set
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_XGENE=y
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO_AMBAKMI=y
+
+#
+# Character devices
+#
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_AXXIA=y
+# CONFIG_HW_RANDOM_XGENE is not set
+# CONFIG_HW_RANDOM_VIRTIO is not set
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_AXXIA=y
+
+CONFIG_SPI=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_SPIDEV=y
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_AXXIA=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
+CONFIG_GPIO_XGENE=y
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_ETHERNET=y
+CONFIG_NET_XGENE=y
+CONFIG_SMC91X=y
+CONFIG_SMSC911X=y
+
+#
+# MII PHY device drivers
+#
+CONFIG_MICREL_PHY=y
+CONFIG_FIXED_PHY=y
+CONFIG_MICREL_KS8995MA=y
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO_SERPORT is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_WLAN is not set
+
+#
+# USB GPIO expanders
+#
+CONFIG_POWER_RESET_AXXIA=y
+CONFIG_POWER_RESET_AXXIA_DDR_RETENTION=y
+# CONFIG_HWMON is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_SYSCON=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+
+# CONFIG_USB_DWC3_PCI is not set
+CONFIG_USB_DWC3=y
+CONFIG_USB_ULPI=y
+CONFIG_MMC=y
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SPI=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_EFI=y
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_XGENE=y
+
+CONFIG_DMADEVICES=y
+CONFIG_AXXIA_DMA=y
+# CONFIG_IOMMU_SUPPORT is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+CONFIG_PHY_XGENE=y
+
+#
+# Performance monitor support
+#
+CONFIG_ARM_CCN_PMU=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_VMFS_FS=y
+CONFIG_VMFS_DEV_BASE=0x8021010000
+CONFIG_VMFS_IRQ=0
diff --git a/bsp/axxiaarm64/axxiaarm64.scc b/bsp/axxiaarm64/axxiaarm64.scc
new file mode 100644
index 00000000..1a3b0de7
--- /dev/null
+++ b/bsp/axxiaarm64/axxiaarm64.scc
@@ -0,0 +1,8 @@
+include features/usb/xhci-hcd.scc
+include cfg/usb-mass-storage.scc
+include cfg/virtio.scc
+include kvm.scc
+include rapidio.scc
+include edac.scc
+
+kconf hardware axxiaarm64.cfg
diff --git a/bsp/axxiaarm64/edac.cfg b/bsp/axxiaarm64/edac.cfg
new file mode 100644
index 00000000..279cebcb
--- /dev/null
+++ b/bsp/axxiaarm64/edac.cfg
@@ -0,0 +1,21 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+CONFIG_EDAC=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_AXXIA_SYSMEM_5600=y
+CONFIG_EDAC_AXXIA_CMEM_5600=y
+CONFIG_EDAC_AXXIA_L3_5600=y
+CONFIG_EDAC_AXXIA_L2_CPU_5600=y
+
+# CONFIG_AXXIA_SMMON is not set
diff --git a/bsp/axxiaarm64/edac.scc b/bsp/axxiaarm64/edac.scc
new file mode 100644
index 00000000..d644aa32
--- /dev/null
+++ b/bsp/axxiaarm64/edac.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable EDAC driver support for System Memory, L3 cache, L2 cache and CPU"
+define KFEATURE_COMPATIBILITY all
+
+kconf hardware edac.cfg
diff --git a/bsp/axxiaarm64/hardware.kcf b/bsp/axxiaarm64/hardware.kcf
new file mode 100644
index 00000000..6aa8119d
--- /dev/null
+++ b/bsp/axxiaarm64/hardware.kcf
@@ -0,0 +1 @@
+arch/arm/mach-axxia/Kconfig
diff --git a/bsp/axxiaarm64/kvm.cfg b/bsp/axxiaarm64/kvm.cfg
new file mode 100644
index 00000000..1473a227
--- /dev/null
+++ b/bsp/axxiaarm64/kvm.cfg
@@ -0,0 +1,17 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_KVM_ARM_HOST=y
+CONFIG_KVM_MMIO=y
diff --git a/bsp/axxiaarm64/kvm.scc b/bsp/axxiaarm64/kvm.scc
new file mode 100644
index 00000000..c8675559
--- /dev/null
+++ b/bsp/axxiaarm64/kvm.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable KVM host support"
+define KFEATURE_COMPATIBILITY all
+
+kconf non-hardware kvm.cfg
diff --git a/bsp/axxiaarm64/rapidio.cfg b/bsp/axxiaarm64/rapidio.cfg
new file mode 100644
index 00000000..8b7378a2
--- /dev/null
+++ b/bsp/axxiaarm64/rapidio.cfg
@@ -0,0 +1,27 @@
+#.........................................................................
+# WARNING
+#
+# This file is a kernel configuration fragment, and not a full kernel
+# configuration file. The final kernel configuration is made up of
+# an assembly of processed fragments, each of which is designed to
+# capture a specific part of the final configuration (e.g. platform
+# configuration, feature configuration, and board specific hardware
+# configuration). For more information on kernel configuration, please
+# consult the product documentation.
+#
+#.........................................................................
+
+CONFIG_RAPIDIO=y
+CONFIG_AXXIA_RIO=y
+CONFIG_RIO_MAINT_WIN_SIZE=0x1000000
+CONFIG_AXXIA_RIO_STAT=y
+CONFIG_OB_DME_ENTRY_SIZE=4096
+CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
+CONFIG_RAPIDIO_DEBUG=y
+CONFIG_RAPIDIO_ENUM_BASIC=y
+CONFIG_RAPIDIO_CPS_XX=y
+CONFIG_RAPIDIO_CPS_GEN2=y
+
+CONFIG_RIONET=y
+CONFIG_RIONET_TX_SIZE=128
+CONFIG_RIONET_RX_SIZE=128
diff --git a/bsp/axxiaarm64/rapidio.scc b/bsp/axxiaarm64/rapidio.scc
new file mode 100644
index 00000000..36cb6e63
--- /dev/null
+++ b/bsp/axxiaarm64/rapidio.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable support for the sRIO controller"
+define KFEATURE_COMPATIBILITY all
+
+kconf hardware rapidio.cfg
diff --git a/bsp/pentagram/bt/bt.cfg b/bsp/pentagram/bt/bt.cfg
new file mode 100644
index 00000000..685292fe
--- /dev/null
+++ b/bsp/pentagram/bt/bt.cfg
@@ -0,0 +1,28 @@
+CONFIG_RFKILL=m
+
+CONFIG_BT=m
+CONFIG_BT_BREDR=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+CONFIG_BT_DEBUGFS=y
+# ?
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+
+# BT drivers
+CONFIG_BT_INTEL=m
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTUSB_BCM is not set
+# for bluetooth microphone
+CONFIG_INPUT_UINPUT=y
+CONFIG_UHID=y
+
+CONFIG_BT_HCIUART=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCM=y
diff --git a/bsp/pentagram/bt/bt.scc b/bsp/pentagram/bt/bt.scc
new file mode 100644
index 00000000..bebfe40f
--- /dev/null
+++ b/bsp/pentagram/bt/bt.scc
@@ -0,0 +1 @@
+kconf non-hardware bt.cfg
diff --git a/bsp/pentagram/cmdline/def.cfg b/bsp/pentagram/cmdline/def.cfg
new file mode 100644
index 00000000..2352ee32
--- /dev/null
+++ b/bsp/pentagram/cmdline/def.cfg
@@ -0,0 +1,4 @@
+CONFIG_CMDLINE="root=/dev/ram rw init=/init console=ttyS0,115200 earlyprintk mem=512M@0x0"
+
+CONFIG_FW_LOADER_USER_HELPER=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
diff --git a/bsp/pentagram/cmdline/def.scc b/bsp/pentagram/cmdline/def.scc
new file mode 100644
index 00000000..c6028d5a
--- /dev/null
+++ b/bsp/pentagram/cmdline/def.scc
@@ -0,0 +1 @@
+kconf non-hardware def.cfg
diff --git a/bsp/pentagram/cmdline/nfs.cfg b/bsp/pentagram/cmdline/nfs.cfg
new file mode 100644
index 00000000..e5d70a63
--- /dev/null
+++ b/bsp/pentagram/cmdline/nfs.cfg
@@ -0,0 +1 @@
+CONFIG_CMDLINE="console=ttyS0,115200 ip=dhcp ethaddr=02:01:02:03:04:08 root=/dev/nfs rw nfsroot=192.168.77.88:/mnt/tppg2,rsize=1280"
diff --git a/bsp/pentagram/cmdline/nfs.scc b/bsp/pentagram/cmdline/nfs.scc
new file mode 100644
index 00000000..567cefa5
--- /dev/null
+++ b/bsp/pentagram/cmdline/nfs.scc
@@ -0,0 +1 @@
+kconf non-hardware nfs.cfg
diff --git a/bsp/pentagram/debug/acct_bsd.cfg b/bsp/pentagram/debug/acct_bsd.cfg
new file mode 100644
index 00000000..b9a49660
--- /dev/null
+++ b/bsp/pentagram/debug/acct_bsd.cfg
@@ -0,0 +1 @@
+CONFIG_BSD_PROCESS_ACCT=y
diff --git a/bsp/pentagram/debug/acct_nl.cfg b/bsp/pentagram/debug/acct_nl.cfg
new file mode 100644
index 00000000..50152394
--- /dev/null
+++ b/bsp/pentagram/debug/acct_nl.cfg
@@ -0,0 +1,4 @@
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
diff --git a/bsp/pentagram/debug/axi_mon.cfg b/bsp/pentagram/debug/axi_mon.cfg
new file mode 100644
index 00000000..ff8dc605
--- /dev/null
+++ b/bsp/pentagram/debug/axi_mon.cfg
@@ -0,0 +1 @@
+CONFIG_SUNPLUS_AXI_MONITOR=y
diff --git a/bsp/pentagram/debug/axi_mon.scc b/bsp/pentagram/debug/axi_mon.scc
new file mode 100644
index 00000000..10a531c2
--- /dev/null
+++ b/bsp/pentagram/debug/axi_mon.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus AXI monitor"
+define KFEATURE_COMPATIBILITY board
+
+kconf non-hardware axi_mon.cfg
diff --git a/bsp/pentagram/debug/dyndbg.cfg b/bsp/pentagram/debug/dyndbg.cfg
new file mode 100644
index 00000000..5698f5eb
--- /dev/null
+++ b/bsp/pentagram/debug/dyndbg.cfg
@@ -0,0 +1 @@
+CONFIG_DYNAMIC_DEBUG=y
diff --git a/bsp/pentagram/debug/dyndbg.scc b/bsp/pentagram/debug/dyndbg.scc
new file mode 100644
index 00000000..ce8673bb
--- /dev/null
+++ b/bsp/pentagram/debug/dyndbg.scc
@@ -0,0 +1 @@
+kconf non-hardware dyndbg.cfg
diff --git a/bsp/pentagram/debug/others.cfg b/bsp/pentagram/debug/others.cfg
new file mode 100644
index 00000000..5ba047b1
--- /dev/null
+++ b/bsp/pentagram/debug/others.cfg
@@ -0,0 +1,32 @@
+# CONFIG_STACKTRACE is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_HAVE_DMA_API_DEBUG is not set
+# CONFIG_BLK_DEBUG_FS is not set
+# CONFIG_PM_DEBUG is not set
+# # CONFIG_PM_ADVANCED_DEBUG is not set
+# CONFIG_PM_SLEEP_DEBUG is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+# CONFIG_BT_DEBUGFS is not set
+
+# CONFIG_DEV_COREDUMP is not set
+# CONFIG_WANT_DEV_COREDUMP is not set
+
+## here
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_SPI_DEBUG is not set
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_KERNEL is not set
+
+# additional
+CONFIG_CONNECTOR=m
+CONFIG_PROC_EVENTS=y
+# CONFIG_TRACEPOINTS is not set
+# CONFIG_EVENT_TRACING is not set
+
+# this ?
+# CONFIG_DEBUG_ALIGN_RODATA is not set
+
+CONFIG_KALLSYMS_ALL=y
diff --git a/bsp/pentagram/debug/pinctl.cfg b/bsp/pentagram/debug/pinctl.cfg
new file mode 100644
index 00000000..c44cecdf
--- /dev/null
+++ b/bsp/pentagram/debug/pinctl.cfg
@@ -0,0 +1 @@
+CONFIG_DEBUG_PINCTRL=y
diff --git a/bsp/pentagram/debug/pins0.scc b/bsp/pentagram/debug/pins0.scc
new file mode 100644
index 00000000..dd6751ca
--- /dev/null
+++ b/bsp/pentagram/debug/pins0.scc
@@ -0,0 +1 @@
+kconf non-hardware pinctl.cfg
diff --git a/bsp/pentagram/debug/pins9.scc b/bsp/pentagram/debug/pins9.scc
new file mode 100644
index 00000000..31db94a0
--- /dev/null
+++ b/bsp/pentagram/debug/pins9.scc
@@ -0,0 +1,6 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus PinCTRL debug"
+define KFEATURE_COMPATIBILITY board
+
+kconf non-hardware printk.cfg
+kconf non-hardware pinctl.cfg
+kconf non-hardware sppctl.cfg
diff --git a/bsp/pentagram/debug/printk.cfg b/bsp/pentagram/debug/printk.cfg
new file mode 100644
index 00000000..7d7b10ff
--- /dev/null
+++ b/bsp/pentagram/debug/printk.cfg
@@ -0,0 +1,4 @@
+CONFIG_PRINTK_TIME=y
+CONFIG_EARLY_PRINTK=y
+# for long dbg info
+CONFIG_LOG_BUF_SHIFT=20
diff --git a/bsp/pentagram/debug/printk.scc b/bsp/pentagram/debug/printk.scc
new file mode 100644
index 00000000..66bcd1d1
--- /dev/null
+++ b/bsp/pentagram/debug/printk.scc
@@ -0,0 +1 @@
+kconf non-hardware printk.cfg
diff --git a/bsp/pentagram/debug/sppctl.cfg b/bsp/pentagram/debug/sppctl.cfg
new file mode 100644
index 00000000..9c27e1c2
--- /dev/null
+++ b/bsp/pentagram/debug/sppctl.cfg
@@ -0,0 +1 @@
+CONFIG_PINCTRL_SPPCTL_DEBUG=y
diff --git a/bsp/pentagram/fs/ext4.cfg b/bsp/pentagram/fs/ext4.cfg
new file mode 100644
index 00000000..7f2f33f2
--- /dev/null
+++ b/bsp/pentagram/fs/ext4.cfg
@@ -0,0 +1 @@
+CONFIG_EXT4_FS=y
diff --git a/bsp/pentagram/fs/fat.cfg b/bsp/pentagram/fs/fat.cfg
new file mode 100644
index 00000000..47563a71
--- /dev/null
+++ b/bsp/pentagram/fs/fat.cfg
@@ -0,0 +1,13 @@
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+CONFIG_EXFAT_FS=y
+CONFIG_EXFAT_DISCARD=y
+CONFIG_EXFAT_DELAYED_SYNC=y
+# CONFIG_EXFAT_KERNEL_DEBUG is not set
+# CONFIG_EXFAT_DEBUG_MSG is not set
+CONFIG_EXFAT_DEFAULT_CODEPAGE=437
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
diff --git a/bsp/pentagram/fs/for_all.cfg b/bsp/pentagram/fs/for_all.cfg
new file mode 100644
index 00000000..b25744a6
--- /dev/null
+++ b/bsp/pentagram/fs/for_all.cfg
@@ -0,0 +1 @@
+CONFIG_FS_POSIX_ACL=y \ No newline at end of file
diff --git a/bsp/pentagram/fs/nfs.cfg b/bsp/pentagram/fs/nfs.cfg
new file mode 100644
index 00000000..f511d886
--- /dev/null
+++ b/bsp/pentagram/fs/nfs.cfg
@@ -0,0 +1,23 @@
+CONFIG_FILE_LOCKING=y
+CONFIG_MANDATORY_FILE_LOCKING=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_DEF_FILE_IO_SIZE=4096
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=y
+CONFIG_PNFS_FLEXFILE_LAYOUT=y
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_GRACE_PERIOD=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_OID_REGISTRY=y
+# additional
+CONFIG_ROOT_NFS=y
diff --git a/bsp/pentagram/fs/squash.cfg b/bsp/pentagram/fs/squash.cfg
new file mode 100644
index 00000000..563edf85
--- /dev/null
+++ b/bsp/pentagram/fs/squash.cfg
@@ -0,0 +1,14 @@
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
+# CONFIG_SQUASHFS_XATTR is not set
+CONFIG_SQUASHFS_ZLIB=y
+# CONFIG_SQUASHFS_LZ4 is not set
+CONFIG_SQUASHFS_LZO=y
+# CONFIG_SQUASHFS_XZ is not set
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
diff --git a/bsp/pentagram/fs/ubi.cfg b/bsp/pentagram/fs/ubi.cfg
new file mode 100644
index 00000000..c62b1b4b
--- /dev/null
+++ b/bsp/pentagram/fs/ubi.cfg
@@ -0,0 +1,3 @@
+CONFIG_MTD=y
+CONFIG_MTD_UBI=y
+CONFIG_UBIFS_FS=y
diff --git a/bsp/pentagram/hw_emmc.cfg b/bsp/pentagram/hw_emmc.cfg
new file mode 100644
index 00000000..4eab9dac
--- /dev/null
+++ b/bsp/pentagram/hw_emmc.cfg
@@ -0,0 +1,2 @@
+CONFIG_MMC=y
+CONFIG_SP_EMMC=y
diff --git a/bsp/pentagram/hw_emmc.scc b/bsp/pentagram/hw_emmc.scc
new file mode 100644
index 00000000..12b5bcb3
--- /dev/null
+++ b/bsp/pentagram/hw_emmc.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus EMMC"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware hw_emmc.cfg
diff --git a/bsp/pentagram/hw_i2c.cfg b/bsp/pentagram/hw_i2c.cfg
new file mode 100644
index 00000000..6b6b61f8
--- /dev/null
+++ b/bsp/pentagram/hw_i2c.cfg
@@ -0,0 +1,8 @@
+CONFIG_I2C_SUNPLUS=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_SMBUS=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_GPIO=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_REGMAP_I2C=y
+# CONFIG_I2C_COMPAT is not set
diff --git a/bsp/pentagram/hw_i2c.scc b/bsp/pentagram/hw_i2c.scc
new file mode 100644
index 00000000..a569317e
--- /dev/null
+++ b/bsp/pentagram/hw_i2c.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus I2C"
+define KFEATURE_COMPATIBILITY board
+
+#include features/i2c/i2cdev.scc
+kconf hardware hw_i2c.cfg
diff --git a/bsp/pentagram/hw_nvmem.cfg b/bsp/pentagram/hw_nvmem.cfg
new file mode 100644
index 00000000..f9eb7853
--- /dev/null
+++ b/bsp/pentagram/hw_nvmem.cfg
@@ -0,0 +1,2 @@
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SUNPLUS_OCOTP=y
diff --git a/bsp/pentagram/hw_nvmem.scc b/bsp/pentagram/hw_nvmem.scc
new file mode 100644
index 00000000..adacf304
--- /dev/null
+++ b/bsp/pentagram/hw_nvmem.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus OTP"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware hw_nvmem.cfg
diff --git a/bsp/pentagram/hw_pwm.cfg b/bsp/pentagram/hw_pwm.cfg
new file mode 100644
index 00000000..56214c2e
--- /dev/null
+++ b/bsp/pentagram/hw_pwm.cfg
@@ -0,0 +1,4 @@
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_INPUT_PWM_BEEPER=y
+CONFIG_PWM_SUNPLUS=y
diff --git a/bsp/pentagram/hw_pwm.scc b/bsp/pentagram/hw_pwm.scc
new file mode 100644
index 00000000..9d9c4d2e
--- /dev/null
+++ b/bsp/pentagram/hw_pwm.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus PWM"
+define KFEATURE_COMPATIBILITY board
+
+include features/pwm/pwm.scc
+kconf hardware hw_pwm.cfg
diff --git a/bsp/pentagram/hw_sdio.scc b/bsp/pentagram/hw_sdio.scc
new file mode 100644
index 00000000..1ad16974
--- /dev/null
+++ b/bsp/pentagram/hw_sdio.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus SDIO"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware wifi/sdio.cfg
diff --git a/bsp/pentagram/input/sp_icm.cfg b/bsp/pentagram/input/sp_icm.cfg
new file mode 100644
index 00000000..b0aa19fc
--- /dev/null
+++ b/bsp/pentagram/input/sp_icm.cfg
@@ -0,0 +1 @@
+CONFIG_SP_ICM=y
diff --git a/bsp/pentagram/input/sp_icm.scc b/bsp/pentagram/input/sp_icm.scc
new file mode 100644
index 00000000..6c3a1bd4
--- /dev/null
+++ b/bsp/pentagram/input/sp_icm.scc
@@ -0,0 +1 @@
+kconf hardware sp_icm.cfg
diff --git a/bsp/pentagram/make_later.cfg b/bsp/pentagram/make_later.cfg
new file mode 100644
index 00000000..ef4a0856
--- /dev/null
+++ b/bsp/pentagram/make_later.cfg
@@ -0,0 +1,145 @@
+#
+CONFIG_ARM=y
+CONFIG_ARCH_PENTAGRAM=y
+CONFIG_MACH_PENTAGRAM_SP7021_ACHIP=y
+# CONFIG_MACH_PENTAGRAM_SP7021_BCHIP is not set
+CONFIG_THUMB2_KERNEL=y
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_NO_HZ_COMMON=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_SYSVIPC=y
+CONFIG_PERF_EVENTS=y
+CONFIG_SLAB=y
+
+CONFIG_EMBEDDED=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_FRAME_VECTOR=y
+
+CONFIG_ZBOOT_ROM_TEXT=0x98307000
+CONFIG_ZBOOT_ROM_BSS=0x03400000
+CONFIG_AUTO_ZRELADDR=y
+
+CONFIG_PREEMPT_RCU=y
+
+CONFIG_SMP=y
+CONFIG_PREEMPT=y
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_HOTPLUG_CPU=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_SUNPLUS_QTEST_CBDMA is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_SCHED_INFO=y
+CONFIG_SCHEDSTATS=y
+
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+
+# move to debug?
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+
+# is it required?
+CONFIG_BUILD_BIN2C=y
+
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_CRYPTO_XTS=m
+
+# move to net?
+CONFIG_NETDEVICES=y
+CONFIG_NET=y
+CONFIG_BPF=y
+CONFIG_NET_NS=y
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_HAVE_NET_DSA=y
+CONFIG_VLAN_8021Q=m
+CONFIG_DNS_RESOLVER=y
+CONFIG_NETLINK_DIAG=y
+CONFIG_CAIF=y
+CONFIG_BT_INTEL=m
+CONFIG_BT_HCIBTUSB=m
+CONFIG_LIB80211=m
+# move to net? /
+
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEV_COREDUMP=y
+CONFIG_WANT_DEV_COREDUMP=y
+
+CONFIG_CEPH_LIB=y
+CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_BLK_DEV_LOOP=y
+
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_SPARSEKMAP=y
+CONFIG_INPUT_EVDEV=y
+
+# CONFIG_IOMMU_SUPPORT is not set
+
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+
+CONFIG_HIDRAW=y
+
+CONFIG_FB=y
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_FB_SP7021=y
+CONFIG_VIDEO_SP_HDMITX=y
+# CONFIG_MODE_SELECT is not set
+# HPD can't work on hdmi_tx3 and _tx2 (bug)
+# CONFIG_HPD_DETECTION is not set
+
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_BCJ is not set
diff --git a/bsp/pentagram/media/general.cfg b/bsp/pentagram/media/general.cfg
new file mode 100644
index 00000000..15301332
--- /dev/null
+++ b/bsp/pentagram/media/general.cfg
@@ -0,0 +1,3 @@
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
diff --git a/bsp/pentagram/media/video_out.cfg b/bsp/pentagram/media/video_out.cfg
new file mode 100644
index 00000000..75224ec5
--- /dev/null
+++ b/bsp/pentagram/media/video_out.cfg
@@ -0,0 +1,16 @@
+CONFIG_FB=y
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_VIDEO_SP7021_DISP=y
+CONFIG_FB_SP7021=y
+CONFIG_VIDEO_SP_HDMITX=y
+## CONFIG_HDMI_MODE=y
+## for test
+## CONFIG_FB_SP7021_DEBUG=y
+
+## requires SCL and SDA - test later
+#CONFIG_HPD_DETECTION=y
+#CONFIG_EDID_READ=y
diff --git a/bsp/pentagram/media/video_out.cfg.orig b/bsp/pentagram/media/video_out.cfg.orig
new file mode 100644
index 00000000..4eb276b4
--- /dev/null
+++ b/bsp/pentagram/media/video_out.cfg.orig
@@ -0,0 +1,12 @@
+CONFIG_FB=y
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_VIDEO_SP7021_DISP=y
+CONFIG_FB_SP7021=y
+CONFIG_VIDEO_SP_HDMITX=y
+## CONFIG_HDMI_MODE=y
+## for test
+## CONFIG_FB_SP7021_DEBUG=y \ No newline at end of file
diff --git a/bsp/pentagram/media/video_out.cfg.test b/bsp/pentagram/media/video_out.cfg.test
new file mode 100644
index 00000000..172a95a7
--- /dev/null
+++ b/bsp/pentagram/media/video_out.cfg.test
@@ -0,0 +1,16 @@
+CONFIG_FB=y
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_VIDEO_SP7021_DISP=y
+CONFIG_FB_SP7021=y
+CONFIG_VIDEO_SP_HDMITX=y
+# requires SCL and SDA
+CONFIG_HPD_DETECTION=y
+CONFIG_EDID_READ=y
+# support for EDID need?
+CONFIG_FB_DDC=y
+# for test
+CONFIG_FB_SP7021_DEBUG=y
diff --git a/bsp/pentagram/media/video_out.scc b/bsp/pentagram/media/video_out.scc
new file mode 100644
index 00000000..4a2cd770
--- /dev/null
+++ b/bsp/pentagram/media/video_out.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus FB output"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware general.cfg
+kconf hardware video_out.cfg
diff --git a/bsp/pentagram/media/video_sen.cfg b/bsp/pentagram/media/video_sen.cfg
new file mode 100644
index 00000000..f06cef69
--- /dev/null
+++ b/bsp/pentagram/media/video_sen.cfg
@@ -0,0 +1,10 @@
+CONFIG_SUNPLUS_VIDEO_SENSOR_SUPPORT=y
+CONFIG_VIDEO_SENSOR_OV5647=m
+# CONFIG_OV5647_640x480 is not set
+CONFIG_OV5647_1280x960=y
+# CONFIG_OV5647_2592x1944 is not set
+CONFIG_VIDEO_SENSOR_OV9281=m
+CONFIG_VIDEO_SENSOR_OV9281_ISP=m
+CONFIG_VIDEO_SENSOR_GC0310=m
+CONFIG_GC0310_RAW8=y
+CONFIG_GC0310_YUY2 is not set
diff --git a/bsp/pentagram/media/video_sen.scc b/bsp/pentagram/media/video_sen.scc
new file mode 100644
index 00000000..3c9fe998
--- /dev/null
+++ b/bsp/pentagram/media/video_sen.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus video sensor"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware general.cfg
+kconf hardware video_sen.cfg
diff --git a/bsp/pentagram/media/video_usb.cfg b/bsp/pentagram/media/video_usb.cfg
new file mode 100644
index 00000000..ce0cc14f
--- /dev/null
+++ b/bsp/pentagram/media/video_usb.cfg
@@ -0,0 +1,8 @@
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+
+CONFIG_USB_GSPCA=m
diff --git a/bsp/pentagram/media/video_usb.scc b/bsp/pentagram/media/video_usb.scc
new file mode 100644
index 00000000..287fa918
--- /dev/null
+++ b/bsp/pentagram/media/video_usb.scc
@@ -0,0 +1,2 @@
+kconf hardware general.cfg
+kconf hardware video_usb.cfg
diff --git a/bsp/pentagram/net/hw_net.cfg b/bsp/pentagram/net/hw_net.cfg
new file mode 100644
index 00000000..31115936
--- /dev/null
+++ b/bsp/pentagram/net/hw_net.cfg
@@ -0,0 +1,30 @@
+CONFIG_NET_VENDOR_SUNPLUS=y
+CONFIG_DYNAMIC_MODE_SWITCHING_BY_SYSFS=y
+CONFIG_RESET_CONTROLLER=y
+
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
diff --git a/bsp/pentagram/net/hw_net.scc b/bsp/pentagram/net/hw_net.scc
new file mode 100644
index 00000000..6e18e1f1
--- /dev/null
+++ b/bsp/pentagram/net/hw_net.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus Ethernet"
+define KFEATURE_COMPATIBILITY board
+
+include features/net/net.scc
+kconf hardware hw_net.cfg
diff --git a/bsp/pentagram/net/sw_net.cfg b/bsp/pentagram/net/sw_net.cfg
new file mode 100644
index 00000000..16788a70
--- /dev/null
+++ b/bsp/pentagram/net/sw_net.cfg
@@ -0,0 +1,27 @@
+CONFIG_NETDEVICES=y
+CONFIG_NET=y
+CONFIG_BPF=y
+CONFIG_NET_NS=y
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_HAVE_NET_DSA=y
+CONFIG_VLAN_8021Q=m
+CONFIG_DNS_RESOLVER=y
+CONFIG_NETLINK_DIAG=y
+CONFIG_CAN=m
+CONFIG_CAIF=y
+
+CONFIG_CAN_MCP25XXFD=y
+# CONFIG_NETFILTER is not set
diff --git a/bsp/pentagram/net/sw_net.scc b/bsp/pentagram/net/sw_net.scc
new file mode 100644
index 00000000..1e679417
--- /dev/null
+++ b/bsp/pentagram/net/sw_net.scc
@@ -0,0 +1 @@
+kconf non-hardware sw_net.cfg
diff --git a/bsp/pentagram/noswap.cfg b/bsp/pentagram/noswap.cfg
new file mode 100644
index 00000000..63b48154
--- /dev/null
+++ b/bsp/pentagram/noswap.cfg
@@ -0,0 +1 @@
+# CONFIG_SWAP is not set
diff --git a/bsp/pentagram/pentagram-debug.scc b/bsp/pentagram/pentagram-debug.scc
new file mode 100644
index 00000000..c1ed3cba
--- /dev/null
+++ b/bsp/pentagram/pentagram-debug.scc
@@ -0,0 +1,11 @@
+define KMACHINE pentagram
+define KTYPE debug
+define KARCH arm
+
+include pentagram-standard.scc
+
+include debug/printk.scc
+
+#include debug/axi_mon.scc
+#include debug/pins0.scc
+#include debug/pins9.scc
diff --git a/bsp/pentagram/pentagram-non_hardware.cfg b/bsp/pentagram/pentagram-non_hardware.cfg
new file mode 100644
index 00000000..792d6005
--- /dev/null
+++ b/bsp/pentagram/pentagram-non_hardware.cfg
@@ -0,0 +1 @@
+#
diff --git a/bsp/pentagram/pentagram-standard.scc b/bsp/pentagram/pentagram-standard.scc
new file mode 100644
index 00000000..8ae7131d
--- /dev/null
+++ b/bsp/pentagram/pentagram-standard.scc
@@ -0,0 +1,60 @@
+define KMACHINE pentagram
+define KTYPE standard
+define KARCH arm
+
+include pentagram-tiny.scc
+#include ktypes/standard/standard.scc
+
+# defined in .bbappend
+#include cfg/rpi-ovls/ovls.scc
+#include cfg/rpi-ovls/ovls-4.19.scc
+
+# default policy for standard kernels
+#include features/latencytop/latencytop.scc
+#include features/profiling/profiling.scc
+
+include cfg/systemd_features.scc
+# not for tiny (cgroups for limits + process isolation)
+include features/cgroups.scc
+include features/namespaces/namespaces.scc
+
+include features/leds/leds.scc
+
+include usb/usb.scc
+include usb/customers.scc
+
+include wifi/tppg2_brcm.scc
+include bt/bt.scc
+
+include spi/sp_nornand.scc
+include spi/sp_spi.scc
+
+# ICM
+#include input/sp_icm.scc
+
+kconf non-hardware fs/for_all.cfg
+kconf non-hardware fs/fat.cfg
+#kconf non-hardware fs/squash.cfg
+kconf non-hardware fs/ubi.cfg
+#kconf non-hardware fs/nfs.cfg
+
+include media/video_out.scc
+#include media/video_sen.scc
+include media/video_usb.scc
+
+#include ui/qt.scc
+include ui/vt.scc
+include ui/gconsole.scc
+
+#include sensors/thermal.scc
+#include sensors/hwmon.scc
+
+include features/can/can.scc
+
+include features/fuse/fuse.scc
+
+# temporary there
+#include debug/pins0.scc
+#include debug/pins9.scc
+include debug/dyndbg.scc
+include debug/printk.scc
diff --git a/bsp/pentagram/pentagram-tiny.scc b/bsp/pentagram/pentagram-tiny.scc
new file mode 100644
index 00000000..a9747fb3
--- /dev/null
+++ b/bsp/pentagram/pentagram-tiny.scc
@@ -0,0 +1,28 @@
+define KMACHINE pentagram
+define KTYPE tiny
+define KARCH arm
+
+include ktypes/tiny/tiny.scc
+branch pentagram
+
+include pentagram.scc
+
+include cfg/systemd_features.scc
+# not for tiny (cgroups for limits + process isolation)
+include features/cgroups.scc
+include features/namespaces/namespaces.scc
+
+#include pm.scc
+
+include hw_pwm.scc
+include hw_nvmem.scc
+include hw_i2c.scc
+
+include net/hw_net.scc
+include net/sw_net.scc
+
+kconf non-hardware fs/ext4.cfg
+
+include watchdog/sp.scc
+
+include sw_nls.scc
diff --git a/bsp/pentagram/pentagram.cfg b/bsp/pentagram/pentagram.cfg
new file mode 100644
index 00000000..9f4ff708
--- /dev/null
+++ b/bsp/pentagram/pentagram.cfg
@@ -0,0 +1,121 @@
+#
+CONFIG_ARM=y
+CONFIG_ARCH_PENTAGRAM=y
+CONFIG_MACH_PENTAGRAM_SP7021_ACHIP=y
+# CONFIG_MACH_PENTAGRAM_SP7021_BCHIP is not set
+CONFIG_THUMB2_KERNEL=y
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_NO_HZ_COMMON=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_SYSVIPC=y
+CONFIG_PERF_EVENTS=y
+CONFIG_SLAB=y
+
+CONFIG_EMBEDDED=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_FRAME_VECTOR=y
+
+CONFIG_DEBUG_SP_UART=y
+CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
+
+CONFIG_ZBOOT_ROM_TEXT=0x98307000
+CONFIG_ZBOOT_ROM_BSS=0x03400000
+CONFIG_AUTO_ZRELADDR=y
+
+CONFIG_PREEMPT_RCU=y
+
+CONFIG_SMP=y
+CONFIG_PREEMPT=y
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_HOTPLUG_CPU=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_SUNPLUS_QTEST_CBDMA is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_SCHED_INFO=y
+CONFIG_SCHEDSTATS=y
+# required for BLK_CGROUP
+CONFIG_CFQ_GROUP_IOSCHED=y
+
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_HIGHMEM=y
+CONFIG_SECCOMP=y
+
+# move to debug?
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+
+CONFIG_CHECKPOINT_RESTORE=y
+
+# is it required?
+CONFIG_BUILD_BIN2C=y
+
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_CRYPTO_USER_API_HASH=y
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_XTS=m
+
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+
+CONFIG_CEPH_LIB=y
+CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_BLK_DEV_LOOP=y
+
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_SPARSEKMAP=y
+CONFIG_INPUT_EVDEV=y
+
+# for PINCTRL_SPPCTL
+CONFIG_PINMUX=y
+CONFIG_PINCTRL=y
+# for pinconf_generic_dt_node_to_map_pin
+CONFIG_GENERIC_PINCONF=y
+
+# CONFIG_IOMMU_SUPPORT is not set
+
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+
+CONFIG_HIDRAW=y
+
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+
+CONFIG_CRYPTO_DEV_SP=y
+CONFIG_CRYPTO_SHA256=y
+
+CONFIG_EARLY_PRINTK=y
diff --git a/bsp/pentagram/pentagram.scc b/bsp/pentagram/pentagram.scc
new file mode 100644
index 00000000..24e0da7c
--- /dev/null
+++ b/bsp/pentagram/pentagram.scc
@@ -0,0 +1,14 @@
+kconf hardware pentagram.cfg
+kconf non-hardware pentagram-non_hardware.cfg
+
+#include features/usb-net/usb-net.scc
+#include features/input/input.scc
+#include cfg/usb-mass-storage.scc
+
+include testing.scc
+
+include hw_emmc.scc
+
+include cmdline/def.scc
+
+kconf non-hardware noswap.cfg
diff --git a/bsp/pentagram/pm.cfg b/bsp/pentagram/pm.cfg
new file mode 100644
index 00000000..7c17b463
--- /dev/null
+++ b/bsp/pentagram/pm.cfg
@@ -0,0 +1,10 @@
+# arch/arm/mach-pentagram/ {Kconfig,sc7021.c}
+CONFIG_SP_PARTIAL_CLKEN=y
+# in sc7021 defconfig
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_PM=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_CLK=y
+CONFIG_ARM_CPU_SUSPEND=y
diff --git a/bsp/pentagram/pm.scc b/bsp/pentagram/pm.scc
new file mode 100644
index 00000000..f27eb3a3
--- /dev/null
+++ b/bsp/pentagram/pm.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus PowerManagement"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware pm.cfg
diff --git a/bsp/pentagram/sensors/hw_thermal.cfg b/bsp/pentagram/sensors/hw_thermal.cfg
new file mode 100644
index 00000000..dec7186f
--- /dev/null
+++ b/bsp/pentagram/sensors/hw_thermal.cfg
@@ -0,0 +1,6 @@
+CONFIG_THERMAL=y
+CONFIG_SP7021_THERMAL=y
+# THERMAL_WRITABLE_TRIPS
+# CPU_THERMAL
+# CLOCK_THERMAL
+# DEVFREQ_THERMAL
diff --git a/bsp/pentagram/sensors/hw_thermal.scc b/bsp/pentagram/sensors/hw_thermal.scc
new file mode 100644
index 00000000..81b82e9d
--- /dev/null
+++ b/bsp/pentagram/sensors/hw_thermal.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus thermal functions"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware hw_thermal.cfg
diff --git a/bsp/pentagram/sensors/hwmon.cfg b/bsp/pentagram/sensors/hwmon.cfg
new file mode 100644
index 00000000..ff2b3294
--- /dev/null
+++ b/bsp/pentagram/sensors/hwmon.cfg
@@ -0,0 +1 @@
+CONFIG_HWMON=y
diff --git a/bsp/pentagram/sensors/hwmon.scc b/bsp/pentagram/sensors/hwmon.scc
new file mode 100644
index 00000000..403fcdad
--- /dev/null
+++ b/bsp/pentagram/sensors/hwmon.scc
@@ -0,0 +1,2 @@
+include hw_thermal.scc
+kconf non-hardware hwmon.cfg
diff --git a/bsp/pentagram/spi/sp_nand.cfg b/bsp/pentagram/spi/sp_nand.cfg
new file mode 100644
index 00000000..b57d0e49
--- /dev/null
+++ b/bsp/pentagram/spi/sp_nand.cfg
@@ -0,0 +1,4 @@
+CONFIG_MTD_NAND_CORE=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_SUNPLUS=y
+CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/bsp/pentagram/spi/sp_nand.scc b/bsp/pentagram/spi/sp_nand.scc
new file mode 100644
index 00000000..715d8fe7
--- /dev/null
+++ b/bsp/pentagram/spi/sp_nand.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus SPI NAND"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware sp_nand.cfg
diff --git a/bsp/pentagram/spi/sp_nor.cfg b/bsp/pentagram/spi/sp_nor.cfg
new file mode 100644
index 00000000..c2cfe801
--- /dev/null
+++ b/bsp/pentagram/spi/sp_nor.cfg
@@ -0,0 +1,3 @@
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_SUNPLUS_SPI=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
diff --git a/bsp/pentagram/spi/sp_nor.scc b/bsp/pentagram/spi/sp_nor.scc
new file mode 100644
index 00000000..cf27ec64
--- /dev/null
+++ b/bsp/pentagram/spi/sp_nor.scc
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus SPI NOR"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware sp_nor.cfg
diff --git a/bsp/pentagram/spi/sp_nornand.scc b/bsp/pentagram/spi/sp_nornand.scc
new file mode 100644
index 00000000..8dc7d666
--- /dev/null
+++ b/bsp/pentagram/spi/sp_nornand.scc
@@ -0,0 +1,6 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus SPI NOR and NAND flash"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware spi.cfg
+kconf hardware sp_nor.cfg
+kconf hardware sp_nand.cfg
diff --git a/bsp/pentagram/spi/sp_spi.cfg b/bsp/pentagram/spi/sp_spi.cfg
new file mode 100644
index 00000000..227e6768
--- /dev/null
+++ b/bsp/pentagram/spi/sp_spi.cfg
@@ -0,0 +1,10 @@
+CONFIG_SPI_MASTER=y
+# <= 4.19
+#CONFIG_SPI_SUNPLUS_SPI_CONTROLLER=y
+# >= 5.4
+CONFIG_SPI_SUNPLUS_SP7021=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_SPI_BITBANG=y
+CONFIG_SPI_GPIO=y
+# temporary there
+CONFIG_SPI_DEBUG=y
diff --git a/bsp/pentagram/spi/sp_spi.scc b/bsp/pentagram/spi/sp_spi.scc
new file mode 100644
index 00000000..17d35ead
--- /dev/null
+++ b/bsp/pentagram/spi/sp_spi.scc
@@ -0,0 +1,2 @@
+kconf hardware spi.cfg
+kconf hardware sp_spi.cfg
diff --git a/bsp/pentagram/spi/spi-slave.cfg b/bsp/pentagram/spi/spi-slave.cfg
new file mode 100644
index 00000000..0138cc3d
--- /dev/null
+++ b/bsp/pentagram/spi/spi-slave.cfg
@@ -0,0 +1,3 @@
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_SLAVE=y
diff --git a/bsp/pentagram/spi/spi-slave.scc b/bsp/pentagram/spi/spi-slave.scc
new file mode 100644
index 00000000..d7105fbc
--- /dev/null
+++ b/bsp/pentagram/spi/spi-slave.scc
@@ -0,0 +1 @@
+kconf hardware spi-slave.cfg
diff --git a/bsp/pentagram/spi/spi.cfg b/bsp/pentagram/spi/spi.cfg
new file mode 100644
index 00000000..bce18109
--- /dev/null
+++ b/bsp/pentagram/spi/spi.cfg
@@ -0,0 +1,4 @@
+CONFIG_SPI=y
+# for rtc, iio, serial, pinctrl, codecs...
+CONFIG_REGMAP_SPI=y
+
diff --git a/bsp/pentagram/spi/spi.scc b/bsp/pentagram/spi/spi.scc
new file mode 100644
index 00000000..493aae40
--- /dev/null
+++ b/bsp/pentagram/spi/spi.scc
@@ -0,0 +1 @@
+kconf hardware spi.cfg
diff --git a/bsp/pentagram/sw_nls.cfg b/bsp/pentagram/sw_nls.cfg
new file mode 100644
index 00000000..1d43572b
--- /dev/null
+++ b/bsp/pentagram/sw_nls.cfg
@@ -0,0 +1,5 @@
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
diff --git a/bsp/pentagram/sw_nls.scc b/bsp/pentagram/sw_nls.scc
new file mode 100644
index 00000000..d06f7438
--- /dev/null
+++ b/bsp/pentagram/sw_nls.scc
@@ -0,0 +1 @@
+kconf non-hardware sw_nls.cfg
diff --git a/bsp/pentagram/testing.cfg b/bsp/pentagram/testing.cfg
new file mode 100644
index 00000000..1132ddd9
--- /dev/null
+++ b/bsp/pentagram/testing.cfg
@@ -0,0 +1,19 @@
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_FORCE_MAX_ZONEORDER=12
+# CONFIG_HWMON is not set
+# CONFIG_SCHED_DEBUG is not set
+# separate into other config
+CONFIG_OVERLAY_FS=y
+CONFIG_OVERLAY_FS_REDIRECT_DIR=y
+
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+
diff --git a/bsp/pentagram/testing.scc b/bsp/pentagram/testing.scc
new file mode 100644
index 00000000..09a10693
--- /dev/null
+++ b/bsp/pentagram/testing.scc
@@ -0,0 +1 @@
+kconf non-hardware testing.cfg
diff --git a/bsp/pentagram/ui/gconsole.cfg b/bsp/pentagram/ui/gconsole.cfg
new file mode 100644
index 00000000..a56504fa
--- /dev/null
+++ b/bsp/pentagram/ui/gconsole.cfg
@@ -0,0 +1,7 @@
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+#CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
diff --git a/bsp/pentagram/ui/gconsole.scc b/bsp/pentagram/ui/gconsole.scc
new file mode 100644
index 00000000..5e99d1ac
--- /dev/null
+++ b/bsp/pentagram/ui/gconsole.scc
@@ -0,0 +1 @@
+kconf non-hardware gconsole.cfg
diff --git a/bsp/pentagram/ui/qt.cfg b/bsp/pentagram/ui/qt.cfg
new file mode 100644
index 00000000..f0ae2f40
--- /dev/null
+++ b/bsp/pentagram/ui/qt.cfg
@@ -0,0 +1,3 @@
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FANOTIFY=y
diff --git a/bsp/pentagram/ui/qt.scc b/bsp/pentagram/ui/qt.scc
new file mode 100644
index 00000000..1cdc626c
--- /dev/null
+++ b/bsp/pentagram/ui/qt.scc
@@ -0,0 +1 @@
+kconf non-hardware qt.cfg
diff --git a/bsp/pentagram/ui/vt.cfg b/bsp/pentagram/ui/vt.cfg
new file mode 100644
index 00000000..765539c0
--- /dev/null
+++ b/bsp/pentagram/ui/vt.cfg
@@ -0,0 +1,3 @@
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
diff --git a/bsp/pentagram/ui/vt.scc b/bsp/pentagram/ui/vt.scc
new file mode 100644
index 00000000..d643d4ac
--- /dev/null
+++ b/bsp/pentagram/ui/vt.scc
@@ -0,0 +1 @@
+kconf non-hardware vt.cfg
diff --git a/bsp/pentagram/usb/customers.cfg b/bsp/pentagram/usb/customers.cfg
new file mode 100644
index 00000000..26e0d11a
--- /dev/null
+++ b/bsp/pentagram/usb/customers.cfg
@@ -0,0 +1 @@
+CONFIG_USB_HUB_USB251XB=m
diff --git a/bsp/pentagram/usb/customers.scc b/bsp/pentagram/usb/customers.scc
new file mode 100644
index 00000000..5b135978
--- /dev/null
+++ b/bsp/pentagram/usb/customers.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Enable customers-requested USB drivers"
+define KFEATURE_COMPATIBILITY board
+
+include features/usb/usb-base.scc
+kconf hardware customers.cfg
diff --git a/bsp/pentagram/usb/nousb.cfg b/bsp/pentagram/usb/nousb.cfg
new file mode 100644
index 00000000..00a1306d
--- /dev/null
+++ b/bsp/pentagram/usb/nousb.cfg
@@ -0,0 +1,8 @@
+# CONFIG_USB is not set
+# CONFIG_USB_NET_DRIVERS is not set
+# CONFIG_USB_HID is not set
+# CONFIG_GEMINI_USB is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_STORAGE is not set
+# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set
diff --git a/bsp/pentagram/usb/nousb.scc b/bsp/pentagram/usb/nousb.scc
new file mode 100644
index 00000000..22be16da
--- /dev/null
+++ b/bsp/pentagram/usb/nousb.scc
@@ -0,0 +1 @@
+kconf hardware nousb.cfg
diff --git a/bsp/pentagram/usb/usb.cfg b/bsp/pentagram/usb/usb.cfg
new file mode 100644
index 00000000..bfa6ca05
--- /dev/null
+++ b/bsp/pentagram/usb/usb.cfg
@@ -0,0 +1,26 @@
+CONFIG_SUNPLUS_USB_PHY=y
+CONFIG_GEMINI_USB=y
+CONFIG_USB_STORAGE=y
+
+CONFIG_USB_GADGET=y
+CONFIG_GADGET_USB0=y
+CONFIG_USB_GADGET_SUNPLUS=y
+CONFIG_USB_GADGET_PORT0_ENABLED=y
+CONFIG_USB_HOST_ENUM_RETRY=y
+CONFIG_USB_MULTIPLE_RESET_PROBLEM_WORKAROUND=y
+CONFIG_USB_HOST_NOT_FINISH_QTD_WHEN_DISC_WORKAROUND=y
+CONFIG_USB_BAD_DEVICE_INFO=y
+CONFIG_USB_LOGO_TEST=y
+CONFIG_USB_HOST_RESET_SP=y
+CONFIG_USB_OHCI_MSI_WORKAROUND=y
+CONFIG_USB_USE_PLATFORM_RESOURCE=y
+
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_DEVICE_LOSE_PACKET_AFTER_SET_INTERFACE_WORKAROUND=y
+CONFIG_USB_DEVICE_EP11_NOT_AUTO_SWITCH_WORKAROUND=y
+
+CONFIG_USB_ACM=y
diff --git a/bsp/pentagram/usb/usb.scc b/bsp/pentagram/usb/usb.scc
new file mode 100644
index 00000000..5177f1f0
--- /dev/null
+++ b/bsp/pentagram/usb/usb.scc
@@ -0,0 +1,6 @@
+define KFEATURE_DESCRIPTION "Enable SunPlus USB"
+define KFEATURE_COMPATIBILITY board
+
+include features/usb/usb-base.scc
+include features/usb/serial-all.scc
+kconf hardware usb.cfg
diff --git a/bsp/pentagram/usb/usb_otg.cfg b/bsp/pentagram/usb/usb_otg.cfg
new file mode 100644
index 00000000..eae7fc57
--- /dev/null
+++ b/bsp/pentagram/usb/usb_otg.cfg
@@ -0,0 +1,5 @@
+CONFIG_USB_OTG=y
+CONFIG_USB_SUNPLUS_OTG=y
+CONFIG_USB_LIBCOMPOSITE=y
+CONFIG_USB_F_SS_LB=y
+CONFIG_USB_ZERO=y
diff --git a/bsp/pentagram/watchdog/sp.cfg b/bsp/pentagram/watchdog/sp.cfg
new file mode 100644
index 00000000..0b7a3741
--- /dev/null
+++ b/bsp/pentagram/watchdog/sp.cfg
@@ -0,0 +1 @@
+CONFIG_SUNPLUS_WATCHDOG=y
diff --git a/bsp/pentagram/watchdog/sp.scc b/bsp/pentagram/watchdog/sp.scc
new file mode 100644
index 00000000..dd41263a
--- /dev/null
+++ b/bsp/pentagram/watchdog/sp.scc
@@ -0,0 +1,2 @@
+kconf non-hardware watchdog.cfg
+kconf hardware sp.cfg
diff --git a/bsp/pentagram/watchdog/watchdog.cfg b/bsp/pentagram/watchdog/watchdog.cfg
new file mode 100644
index 00000000..2c18544e
--- /dev/null
+++ b/bsp/pentagram/watchdog/watchdog.cfg
@@ -0,0 +1,2 @@
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_SYSFS=y
diff --git a/bsp/pentagram/wifi/no_other_vendors.cfg b/bsp/pentagram/wifi/no_other_vendors.cfg
new file mode 100644
index 00000000..e3c3ecb0
--- /dev/null
+++ b/bsp/pentagram/wifi/no_other_vendors.cfg
@@ -0,0 +1,15 @@
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+# CONFIG_WLAN_VENDOR_ATH is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_RTL_CARDS is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
diff --git a/bsp/pentagram/wifi/pentagram-sc7021-achip.dtsi.liber.patch b/bsp/pentagram/wifi/pentagram-sc7021-achip.dtsi.liber.patch
new file mode 100644
index 00000000..4589b7b2
--- /dev/null
+++ b/bsp/pentagram/wifi/pentagram-sc7021-achip.dtsi.liber.patch
@@ -0,0 +1,17 @@
+--- a/arch/arm/boot/dts/pentagram-sc7021-achip.dtsi 2019-01-31 12:11:46.233165436 +0300
++++ a/arch/arm/boot/dts/pentagram-sc7021-achip.dtsi 2019-01-31 12:12:20.932708291 +0300
+@@ -668,10 +668,12 @@
+ clock-names = "sys_pll";
+ resets = <&rstc RST_SPI_COMBO_0>;
+ spi-max-frequency = <10000000>;
+- spi0: spi@ {
+- compatible = "rohm,dh2228fv";
++ spi0: spi@0 {
++ compatible = "tpsga1000v0";
+ reg = <0x0>;
+ spi-max-frequency = <10000000>;
++ gpio-reset = <13>;
++ gpio-strap = <14>;
+ };
+ };
+
diff --git a/bsp/pentagram/wifi/sdio.cfg b/bsp/pentagram/wifi/sdio.cfg
new file mode 100644
index 00000000..c33096aa
--- /dev/null
+++ b/bsp/pentagram/wifi/sdio.cfg
@@ -0,0 +1 @@
+CONFIG_SP_SDV2=y
diff --git a/bsp/pentagram/wifi/tppg1_libe.cfg b/bsp/pentagram/wifi/tppg1_libe.cfg
new file mode 100644
index 00000000..4ed4ae50
--- /dev/null
+++ b/bsp/pentagram/wifi/tppg1_libe.cfg
@@ -0,0 +1,3 @@
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_SPI=m
+CONFIG_LIBERTAS_DEBUG=y
diff --git a/bsp/pentagram/wifi/tppg1_libe.scc b/bsp/pentagram/wifi/tppg1_libe.scc
new file mode 100644
index 00000000..e4063429
--- /dev/null
+++ b/bsp/pentagram/wifi/tppg1_libe.scc
@@ -0,0 +1,7 @@
+include features/wifi/wifi-common.scc
+include hw_spi.scc
+kconf hardware other_modules.cfg
+kconf hardware tppg1_libe.cfg
+
+patch pentagram-sc7021-achip.dtsi.liber.patch
+
diff --git a/bsp/pentagram/wifi/tppg2_brcm.cfg b/bsp/pentagram/wifi/tppg2_brcm.cfg
new file mode 100644
index 00000000..54baa9ca
--- /dev/null
+++ b/bsp/pentagram/wifi/tppg2_brcm.cfg
@@ -0,0 +1,8 @@
+# development driver
+CONFIG_BCMDHD=m
+CONFIG_BCMDHD_FW_PATH="/lib/firmware/brcm/fw_bcm43456c5_ag.bin"
+CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/brcm/nvram_ap6256.txt"
+CONFIG_BCMDHD_WEXT=y
+CONFIG_BCMDHD_SDIO=y
+CONFIG_BCMDHD_SDIO_IRQ=y
+# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set
diff --git a/bsp/pentagram/wifi/tppg2_brcm.scc b/bsp/pentagram/wifi/tppg2_brcm.scc
new file mode 100644
index 00000000..a51c576a
--- /dev/null
+++ b/bsp/pentagram/wifi/tppg2_brcm.scc
@@ -0,0 +1,5 @@
+include features/wifi/wifi-common.scc
+kconf hardware sdio.cfg
+kconf hardware no_other_vendors.cfg
+kconf hardware tppg2_brcm.cfg
+kconf non-hardware wext.cfg
diff --git a/bsp/pentagram/wifi/wext.cfg b/bsp/pentagram/wifi/wext.cfg
new file mode 100644
index 00000000..b35cecf9
--- /dev/null
+++ b/bsp/pentagram/wifi/wext.cfg
@@ -0,0 +1,14 @@
+# wireless extensions
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_PRIV=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+CONFIG_HOSTAP=m
+
+# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set
diff --git a/features/media/media.cfg b/features/media/media.cfg
index 7b9e3ddd..8c5b9267 100644
--- a/features/media/media.cfg
+++ b/features/media/media.cfg
@@ -37,7 +37,7 @@ CONFIG_VIDEOBUF2_VMALLOC=m
#
# Digital Video Broadcast support
#
-CONFIG_DVB_CORE=y
+CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
diff --git a/features/scsi/scsi-debug.cfg b/features/scsi/scsi-debug.cfg
index 86b32849..90e6aa4b 100644
--- a/features/scsi/scsi-debug.cfg
+++ b/features/scsi/scsi-debug.cfg
@@ -1 +1,3 @@
+# SPDX-License-Identifier: MIT
+CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_DEBUG=m
diff --git a/kver b/kver
index 8262c4b1..c46e6a20 100644
--- a/kver
+++ b/kver
@@ -1 +1 @@
-v4.19.107
+v4.19.257