Skip to content

Commit

Permalink
arm64: config: add Wiren Board 8 bootlet config profile
Browse files Browse the repository at this point in the history
I don't like that this config is assembled on top on defconfig
because it brings lots of unnecessary stuff.

Created task SOFT-4220 to build it on top of tinyconfig in the future.
  • Loading branch information
webconn committed Aug 16, 2024
1 parent de2611f commit 5484eab
Show file tree
Hide file tree
Showing 3 changed files with 175 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
buildWbKernel defaultTargets: 'wb8'
buildWbKernel defaultTargets: 'wb8 wb8x-bootlet'
164 changes: 164 additions & 0 deletions arch/arm64/configs/wb8-bootlet.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# Wiren Board 8 specific kernel options for bootlet build

#
# Usable kernel options
#

# Setup initramfs source (actual path is dummy, will be replaced in build script)
CONFIG_INITRAMFS_SOURCE="initramfs"

# Disable localversion, we include it in our package version suffix
# CONFIG_LOCALVERSION_AUTO is not set

# Disable debug info
CONFIG_DEBUG_INFO_NONE=y
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set

# Disable preempt, it breaks something during shutdown
# CONFIG_PREEMPT is not set

# Add cpufreq_nvmem driver as built-in to make it available on boot
CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=y

# Device tree overlays in configfs (for wb-hwconf-manager)
CONFIG_OF_OVERLAY=y
CONFIG_OF_CONFIGFS=y

# Make GPIO available in userspace
CONFIG_EXPERT=y
CONFIG_NAMESPACES=y
CONFIG_GPIO_SYSFS=y

# USB gadget support (Debug network)
CONFIG_USB_ETH=m
CONFIG_USB_GADGETFS=m

# File systems support
CONFIG_MSDOS_FS=y
CONFIG_EXFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_NTFS_RW=y

# Detect lockups and hangs to reboot the system
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=300
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
CONFIG_WQ_CPU_INTENSIVE_REPORT=y
CONFIG_TEST_LOCKUP=m

# Thermal interfaces
CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL_DEBUGFS=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=5000
CONFIG_THERMAL_WRITABLE_TRIPS=y

#
# Special hardware support
#

# Add I2C as built-in to make PMIC available on boot
CONFIG_I2C=y

# I2C-GPIO to communicate with WBEC, ATECC and others
CONFIG_I2C_GPIO=y

# WBEC
CONFIG_MFD_WBEC=y
CONFIG_INPUT_WBEC_PWRBUTTON=y
CONFIG_GPIO_WBEC=y
CONFIG_WBEC_POWER=y
CONFIG_WBEC_WATCHDOG=y
CONFIG_RTC_DRV_WBEC=y
CONFIG_WBEC_ADC=y

# SD3078 RTC (optional on boards without WBEC)
CONFIG_RTC_DRV_SD3078=y

# Ethernet
CONFIG_STMMAC_ETH=y
CONFIG_MDIO_BITBANG=y

# Set number of UARTs for 8250 driver
CONFIG_SERIAL_8250_NR_UARTS=6
CONFIG_SERIAL_8250_RUNTIME_UARTS=6

# USB
CONFIG_USB_CONN_GPIO=y

# PWM
CONFIG_PWM_SUN20I=y

#
# Remove unused target platforms except Allwinner
#

# CONFIG_ARCH_ACTIONS is not set
CONFIG_ARCH_SUNXI=y
# CONFIG_ARCH_ALPINE is not set
# CONFIG_ARCH_APPLE is not set
# CONFIG_ARCH_BCM is not set
# CONFIG_ARCH_BCM2835 is not set
# CONFIG_ARCH_BCM_IPROC is not set
# CONFIG_ARCH_BCMBCA is not set
# CONFIG_ARCH_BRCMSTB is not set
# CONFIG_ARCH_BERLIN is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_SPARX5 is not set
# CONFIG_ARCH_K3 is not set
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_KEEMBAY is not set
# CONFIG_ARCH_MEDIATEK is not set
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_NXP is not set
# CONFIG_ARCH_LAYERSCAPE is not set
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_NPCM is not set
# CONFIG_ARCH_QCOM is not set
# CONFIG_ARCH_REALTEK is not set
# CONFIG_ARCH_RENESAS is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SEATTLE is not set
# CONFIG_ARCH_INTEL_SOCFPGA is not set
# CONFIG_ARCH_STM32 is not set
# CONFIG_ARCH_SYNQUACER is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_TESLA_FSD is not set
# CONFIG_ARCH_SPRD is not set
# CONFIG_ARCH_THUNDER is not set
# CONFIG_ARCH_THUNDER2 is not set
# CONFIG_ARCH_UNIPHIER is not set
# CONFIG_ARCH_VEXPRESS is not set
# CONFIG_ARCH_VISCONTI is not set
# CONFIG_ARCH_XGENE is not set
# CONFIG_ARCH_ZYNQMP is not set

#
# Remove large unused drivers to save disk space
#

# CONFIG_VIRTUALIZATION is not set
# CONFIG_ACPI is not set
# CONFIG_CGROUPS is not set
# CONFIG_PCI is not set
# CONFIG_SURFACE_PLATFORMS is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MD is not set
# CONFIG_BT is not set
# CONFIG_WLAN is not set
# CONFIG_WWAN is not set
# CONFIG_WIRELESS is not set
# CONFIG_DRM is not set
# CONFIG_FB is not set
# CONFIG_SOUND is not set
# CONFIG_MEDIA_SUPPORT is not set
# CONFIG_RC_CORE is not set
# CONFIG_STAGING is not set
11 changes: 10 additions & 1 deletion scripts/package/wb/version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,17 @@ setup_kernel_vars() {
KERNEL_DEFCONFIG="defconfig wb8.config"
KDEB_WBDESC="Wiren Board 8"
;;
wb8x-bootlet)
INITRAMFS_DIR="/usr/src/wb-initramfs/wb8x-bootlet"
DEBARCH=arm64
KERNEL_DEFCONFIG="defconfig wb8-bootlet.config"
BOOTLET_DTB=allwinner/sun50i-h616-wirenboard8xx.dtb
PROVIDES_BOOTLET_FOR_FITS=y
BOOTLET_DEPS=linux-image-wb8
KDEB_WBDESC="Wiren Board 8 (bootlet)"
;;
*)
echo "Unsupported KERNEL_FLAVOUR, please specify one of: wb8"
echo "Unsupported KERNEL_FLAVOUR, please specify one of: wb8, wb8x-bootlet"
return 1
esac

Expand Down

0 comments on commit 5484eab

Please sign in to comment.