diff --git a/conf/machine/hikey970.conf b/conf/machine/hikey970.conf new file mode 100644 index 00000000..6d44723e --- /dev/null +++ b/conf/machine/hikey970.conf @@ -0,0 +1,50 @@ +#@TYPE: Machine +#@NAME: HiKey970 machine +#@DESCRIPTION: HiKey970 development board + +require conf/machine/include/arm/arch-armv8.inc + +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" + +XSERVER ?= "xserver-xorg \ + mesa-driver-swrast \ + xf86-input-evdev \ + xf86-video-fbdev \ + " + +MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2 efi" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-hikey970" + +KERNEL_IMAGETYPE = "Image" +KERNEL_DEVICETREE = "hisilicon/kirin970-hikey970.dtb" + +SERIAL_CONSOLE = "115200 ttyAMA6" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "\ + edk2-hikey970 \ + grub-efi \ +" + +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "linux-firmware-wl12xx \ + linux-firmware-wl18xx \ + kernel-module-btwilink \ + kernel-module-st-drv \ + kernel-module-wl18xx \ + kernel-module-wlcore \ + kernel-module-wlcore-sdio \ + kernel-module-ti-conf-wl18xx \ + " + +CMDLINE_ROOT_EMMC = "sdd12" +CMDLINE ?= "earlycon=pl011,0xfff32000,115200 clk_ignore_unused=true console=ttyAMA6,115200n8 root=/dev/${CMDLINE_ROOT_EMMC} rootwait rw quiet efi=noruntime" + +# Fastboot expects an ext4 image, which needs to be 4096 bytes aligned +IMAGE_FSTYPES_append = " ext4.gz" +IMAGE_ROOTFS_ALIGNMENT = "4096" +EXTRA_IMAGECMD_ext4 += " -L rootfs " + +EXTRA_IMAGEDEPENDS = "edk2-hikey970 grub-efi" + +# FIXME unless we set image rootfs extra space, the generated image is corrupted. +IMAGE_ROOTFS_EXTRA_SPACE = "1048576" diff --git a/recipes-bsp/uefi/edk2-hikey970/config b/recipes-bsp/uefi/edk2-hikey970/config new file mode 100644 index 00000000..d4a196cc --- /dev/null +++ b/recipes-bsp/uefi/edk2-hikey970/config @@ -0,0 +1,3 @@ +./sec_usb_xloader.img 0x00022000 +./sec_usb_xloader2.img 0x60049000 +./l-loader.bin 0x16800000 diff --git a/recipes-bsp/uefi/edk2-hikey970/grub.cfg.in b/recipes-bsp/uefi/edk2-hikey970/grub.cfg.in new file mode 100644 index 00000000..6b3e3bb9 --- /dev/null +++ b/recipes-bsp/uefi/edk2-hikey970/grub.cfg.in @@ -0,0 +1,12 @@ +set default="0" +set timeout=1 + +menuentry '@DISTRO_NAME (HiKey970)' { + linux /boot/@KERNEL_IMAGETYPE console=tty0 @CMDLINE + devicetree /boot/kirin970-hikey970.dtb +} + +menuentry 'Fastboot' { + search.fs_label boot boot_part + chainloader ($boot_part)/EFI/BOOT/fastboot.efi +} diff --git a/recipes-bsp/uefi/edk2-hikey970_git .bb b/recipes-bsp/uefi/edk2-hikey970_git .bb new file mode 100644 index 00000000..1a130bcd --- /dev/null +++ b/recipes-bsp/uefi/edk2-hikey970_git .bb @@ -0,0 +1,94 @@ +require edk2_git.bb + +COMPATIBLE_MACHINE = "hikey970" + +DEPENDS_append = " dosfstools-native gptfdisk-native mtools-native virtual/fakeroot-native grub-efi" + +inherit deploy pythonnative + +SRCREV_edk2="307624caaf3131b671868c5b326730f4c8be4ffb" +SRCREV_atf = "53f93e5c738c37378811cfc08ef0ccb8626e2d93" +SRCREV_openplatformpkg = "348ccb5022f452273236e36ebe4238443ba256f8" +SRCREV_uefitools = "fd431116e6e86677837d026f99279bf5b72347d1" +SRCREV_lloader = "9bc7a3e03d2af634cd9ef2fba28434609a259dc8" +SRCREV_toolsimageshikey970 = "7ea233bb060de5d8947a0019c3a45f20a4cfdb62" +SRC_URI = "git://github.com/96boards-hikey/edk2.git;name=edk2;branch=hikey970_v1.0;destsuffix=git \ + git://github.com/96boards-hikey/arm-trusted-firmware.git;name=atf;branch=hikey970_v1.0;destsuffix=git/atf \ + git://github.com/96boards-hikey/OpenPlatformPkg.git;name=openplatformpkg;branch=hikey970_v1.0;destsuffix=git/OpenPlatformPkg \ + git://github.com/Mani-Sadhasivam/uefi-tools.git;name=uefitools;branch=hikey970_v1.0;destsuffix=git/uefi-tools \ + git://github.com/96boards-hikey/l-loader.git;name=lloader;branch=hikey970_v1.0;destsuffix=git/l-loader \ + git://github.com/96boards-hikey/tools-images-hikey970.git;name=toolsimageshikey970;branch=hikey970_v1.0;destsuffix=git/tools-images-hikey970 \ + file://grub.cfg.in \ + file://config \ + " + +# /usr/lib/edk2/bl1.bin not shipped files. [installed-vs-shipped] +INSANE_SKIP_${PN} += "installed-vs-shipped" + +# workaround EDK2 is confused by the long path used during the build +# and truncate files name expected by VfrCompile +do_patch[postfuncs] += "set_max_path" +set_max_path () { + sed -i -e 's/^#define MAX_PATH.*/#define MAX_PATH 511/' ${S}/BaseTools/Source/C/VfrCompile/EfiVfr.h +} + +do_compile_prepend() { + # Fix hardcoded value introduced in + # https://git.linaro.org/uefi/uefi-tools.git/commit/common-functions?id=65e8e8df04f34fc2a87ae9d34f5ef5b6fee5a396 + sed -i -e 's/aarch64-linux-gnu-/${TARGET_PREFIX}/' ${S}/uefi-tools/common-functions +} + +do_compile_append() { + cd ${EDK2_DIR}/l-loader + ln -s ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/FV/bl1.bin + ln -s ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/FV/bl2.bin + ln -s ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/FV/fip.bin + ln -s ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/FV/BL33_AP_UEFI.fd + make -f ${UEFIMACHINE}.mk + make -f ${UEFIMACHINE}.mk l-loader.bin + PTABLE=aosp-32g SECTOR_SIZE=4096 SGDISK=./sgdisk bash -x generate_ptable.sh +} + +do_install() { + install -D -p -m0644 ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/AARCH64/AndroidFastbootApp.efi ${D}/boot/EFI/BOOT/fastboot.efi + install -D -p -m0644 ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/FV/bl1.bin ${D}${libdir}/edk2/bl1.bin + + # Install grub configuration + sed -e "s|@DISTRO_NAME|${DISTRO_NAME}|" \ + -e "s|@KERNEL_IMAGETYPE|${KERNEL_IMAGETYPE}|" \ + -e "s|@CMDLINE|${CMDLINE}|" \ + < ${WORKDIR}/grub.cfg.in \ + > ${WORKDIR}/grub.cfg + install -D -p -m0644 ${WORKDIR}/grub.cfg ${D}/boot/grub/grub.cfg +} + +# Create a 64M boot image. block size is 1024. (64*1024=65536) +BOOT_IMAGE_SIZE = "65536" +BOOT_IMAGE_BASE_NAME = "boot-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +BOOT_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" + +# HiKey970 boot image requires fastboot and grub EFI +# ensure we deploy grubaa64.efi before we try to create the boot image. +do_deploy[depends] += "grub-efi:do_deploy" +do_deploy_append() { + cd ${EDK2_DIR}/l-loader + install -D -p -m0644 l-loader.bin ${DEPLOYDIR}/bootloader/l-loader.bin + cp -a prm_ptable.img ${DEPLOYDIR}/bootloader/ + cd ${EDK2_DIR}/tools-images-hikey970 + cp -a hikey_idt sec_usb_xloader.img sec_usb_xloader2.img sec_xloader.img ${DEPLOYDIR}/bootloader/ + cp -a ${WORKDIR}/config ${DEPLOYDIR}/bootloader/ + + # Create boot image + mkfs.vfat -F32 -n "boot" -C ${DEPLOYDIR}/${BOOT_IMAGE_BASE_NAME}.uefi.img ${BOOT_IMAGE_SIZE} + mmd -i ${DEPLOYDIR}/${BOOT_IMAGE_BASE_NAME}.uefi.img ::EFI + mmd -i ${DEPLOYDIR}/${BOOT_IMAGE_BASE_NAME}.uefi.img ::EFI/BOOT + mcopy -i ${DEPLOYDIR}/${BOOT_IMAGE_BASE_NAME}.uefi.img ${EDK2_DIR}/Build/HiKey970/RELEASE_${AARCH64_TOOLCHAIN}/AARCH64/AndroidFastbootApp.efi ::EFI/BOOT/fastboot.efi + mcopy -i ${DEPLOYDIR}/${BOOT_IMAGE_BASE_NAME}.uefi.img ${DEPLOY_DIR_IMAGE}/grub-efi-bootaa64.efi ::EFI/BOOT/grubaa64.efi + chmod 644 ${DEPLOYDIR}/${BOOT_IMAGE_BASE_NAME}.uefi.img + + (cd ${DEPLOYDIR} && ln -sf ${BOOT_IMAGE_BASE_NAME}.uefi.img boot-${MACHINE}.uefi.img) + + # Fix up - move bootloader related files into a subdir + mv ${DEPLOYDIR}/fip.bin ${DEPLOYDIR}/bootloader/ + rm -f ${DEPLOY_DIR_IMAGE}/grub-efi-bootaa64.efi +} diff --git a/recipes-kernel/linux/linux-hikey970/0001-Fixed-incompatible-pointer-errors-in-fbdev.patch b/recipes-kernel/linux/linux-hikey970/0001-Fixed-incompatible-pointer-errors-in-fbdev.patch new file mode 100644 index 00000000..3075b616 --- /dev/null +++ b/recipes-kernel/linux/linux-hikey970/0001-Fixed-incompatible-pointer-errors-in-fbdev.patch @@ -0,0 +1,74 @@ +From 2a9cea2ddec807fef58cfe46bccc9392a321eb87 Mon Sep 17 00:00:00 2001 +From: nishantpoorswani +Date: Thu, 20 Sep 2018 19:15:30 +0200 +Subject: [PATCH] Fixed incompatible pointer errors in fbdev + +--- + drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.c | 6 +++--- + drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.h | 1 - + drivers/gpu/drm/hisilicon/kirin9xx/kirin_fbdev.c | 6 +++--- + 3 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.c +index 1fae1a1..28208b2 100755 +--- a/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.c ++++ b/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.c +@@ -146,9 +146,9 @@ static int kirin_drm_kms_init(struct drm_device *dev) + /* reset all the states of crtc/plane/encoder/connector */ + drm_mode_config_reset(dev); + +- if (fbdev) +- priv->fbdev = kirin_drm_fbdev_init(dev); +- else ++ ++ ++ + priv->fbdev = drm_fbdev_cma_init(dev, 32, 1, 1); + + /* init kms poll for handling hpd */ +diff --git a/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.h b/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.h +index aa4ed5a..bac11af 100644 +--- a/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.h ++++ b/drivers/gpu/drm/hisilicon/kirin9xx/kirin_drm_drv.h +@@ -46,7 +46,6 @@ struct kirin_drm_private { + struct kirin_fbdev { + struct drm_fb_helper fb_helper; + struct drm_framebuffer *fb; +- + struct ion_client *ion_client; + struct ion_handle *ion_handle; + struct iommu_map_format iommu_format; +diff --git a/drivers/gpu/drm/hisilicon/kirin9xx/kirin_fbdev.c b/drivers/gpu/drm/hisilicon/kirin9xx/kirin_fbdev.c +index 3d21a7f..2b03bda 100644 +--- a/drivers/gpu/drm/hisilicon/kirin9xx/kirin_fbdev.c ++++ b/drivers/gpu/drm/hisilicon/kirin9xx/kirin_fbdev.c +@@ -453,7 +453,7 @@ struct drm_fb_helper *kirin_drm_fbdev_init(struct drm_device *dev) + if (ret) + goto fini; + +- priv->fbdev = helper; ++ + + return helper; + +@@ -467,7 +467,7 @@ struct drm_fb_helper *kirin_drm_fbdev_init(struct drm_device *dev) + void kirin_drm_fbdev_fini(struct drm_device *dev) + { + struct kirin_drm_private *priv = dev->dev_private; +- struct drm_fb_helper *helper = priv->fbdev; ++ struct drm_fb_helper *helper = priv->fb_helper; + struct kirin_fbdev *fbdev; + + drm_fb_helper_unregister_fbi(helper); +@@ -475,7 +475,7 @@ void kirin_drm_fbdev_fini(struct drm_device *dev) + + drm_fb_helper_fini(helper); + +- fbdev = to_kirin_fbdev(priv->fbdev); ++ + + /* this will free the backing object */ + if (fbdev->fb) { +-- +2.7.4 + diff --git a/recipes-kernel/linux/linux-hikey970/hikey970working_defconfig b/recipes-kernel/linux/linux-hikey970/hikey970working_defconfig new file mode 100644 index 00000000..35e36208 --- /dev/null +++ b/recipes-kernel/linux/linux-hikey970/hikey970working_defconfig @@ -0,0 +1,717 @@ +CONFIG_POSIX_MQUEUE=y +CONFIG_AUDIT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_SCHED_WALT=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=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_CGROUP_FREEZER=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_SCHEDTUNE=y +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_BLK_CGROUP=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CGROUP_PERF=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_TUNE=y +CONFIG_DEFAULT_USE_ENERGY_AWARE=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_AIO is not set +CONFIG_EMBEDDED=y +# CONFIG_COMPAT_BRK is not set +CONFIG_PROFILING=y +CONFIG_JUMP_LABEL=y +CONFIG_CC_STACKPROTECTOR_STRONG=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_ALPINE=y +CONFIG_ARCH_BCM_IPROC=y +CONFIG_ARCH_BERLIN=y +CONFIG_ARCH_EXYNOS=y +CONFIG_ARCH_LAYERSCAPE=y +CONFIG_ARCH_LG1K=y +CONFIG_ARCH_HISI=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_ARCH_MESON=y +CONFIG_ARCH_MVEBU=y +CONFIG_ARCH_QCOM=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_ARCH_SEATTLE=y +CONFIG_ARCH_RENESAS=y +CONFIG_ARCH_R8A7795=y +CONFIG_ARCH_R8A7796=y +CONFIG_ARCH_STRATIX10=y +CONFIG_ARCH_TEGRA=y +CONFIG_ARCH_SPRD=y +CONFIG_ARCH_THUNDER=y +CONFIG_ARCH_UNIPHIER=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_VULCAN=y +CONFIG_ARCH_XGENE=y +CONFIG_ARCH_ZX=y +CONFIG_ARCH_ZYNQMP=y +CONFIG_PCI=y +CONFIG_PCI_IOV=y +CONFIG_PCI_AARDVARK=y +CONFIG_PCIE_RCAR=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_XGENE=y +CONFIG_PCI_LAYERSCAPE=y +CONFIG_PCI_HISI=y +CONFIG_PCIE_QCOM=y +CONFIG_PCIE_ARMADA_8K=y +CONFIG_PCIE_KIRIN=y +CONFIG_ARM64_VA_BITS_48=y +CONFIG_SCHED_MC=y +CONFIG_PREEMPT=y +CONFIG_KSM=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_CMA=y +CONFIG_SECCOMP=y +CONFIG_KEXEC=y +CONFIG_XEN=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y +CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_RANDOMIZE_BASE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_COMPAT=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=0 +# CONFIG_PM_WAKELOCKS_GC is not set +CONFIG_PM_DEBUG=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_ARM_HISI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPUFREQ_DT=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM_USER=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_INET_ESP=y +CONFIG_INET_DIAG_DESTROY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_IPV6_MULTIPLE_TABLES=y +# CONFIG_ANDROID_PARANOID_NETWORK is not set +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_CLS_U32=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_CLS_ACT=y +CONFIG_BPF_JIT=y +CONFIG_CAN=y +CONFIG_CAN_LEDS=y +CONFIG_CAN_MCP251X=y +CONFIG_CAN_DEBUG_DEVICES=y +CONFIG_BT=y +CONFIG_BT_LEDS=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_HIDP=y +# CONFIG_BT_HS is not set +# CONFIG_BT_LE is not set +# CONFIG_BT_DEBUGFS is not set +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_WILINK=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_MAC80211_LEDS=y +CONFIG_RFKILL=y +CONFIG_RFKILL_REGULATOR=y +CONFIG_RFKILL_GPIO=y +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=64 +CONFIG_MTD=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_VIRTIO_BLK=y +CONFIG_SRAM=y +CONFIG_UID_SYS_STATS=y +CONFIG_MEMORY_STATE_TIME=y +CONFIG_HISI_HIKEY_USB=y +CONFIG_TI_ST=y +CONFIG_ST_HCI=y +# CONFIG_SCSI_PROC_FS is not set +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_HISI_SAS=y +CONFIG_SCSI_UFSHCD=y +CONFIG_SCSI_UFSHCD_PLATFORM=y +CONFIG_SCSI_UFS_HISI=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_AHCI_CEVA=y +CONFIG_AHCI_MVEBU=y +CONFIG_AHCI_XGENE=y +CONFIG_AHCI_QORIQ=y +CONFIG_SATA_SIL24=y +CONFIG_SATA_RCAR=y +CONFIG_PATA_PLATFORM=y +CONFIG_PATA_OF_PLATFORM=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_DM_UEVENT=y +CONFIG_DM_VERITY=y +CONFIG_DM_VERITY_FEC=y +CONFIG_NETDEVICES=y +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_TUN=y +CONFIG_VETH=m +CONFIG_VIRTIO_NET=y +CONFIG_AMD_XGBE=y +CONFIG_NET_XGENE=y +CONFIG_MACB=y +CONFIG_HNS_DSAF=y +CONFIG_HNS_ENET=y +CONFIG_E1000E=y +CONFIG_IGB=y +CONFIG_IGBVF=y +CONFIG_SKY2=y +CONFIG_R8168=y +CONFIG_RAVB=y +CONFIG_SMC91X=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=m +CONFIG_MICREL_PHY=y +CONFIG_REALTEK_PHY=m +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_MPPE=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_USBNET=y +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_WL18XX=y +CONFIG_WLCORE_SDIO=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_KEYRESET=y +CONFIG_KEYBOARD_GPIO=y +# CONFIG_INPUT_MOUSE is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_INPUT_TABLET=y +CONFIG_TABLET_USB_ACECAD=y +CONFIG_TABLET_USB_AIPTEK=y +CONFIG_TABLET_USB_GTCO=y +CONFIG_TABLET_USB_HANWANG=y +CONFIG_TABLET_USB_KBTAB=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PM8941_PWRKEY=y +CONFIG_INPUT_KEYCHORD=y +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_GPIO=y +CONFIG_INPUT_HISI_POWERKEY=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_8250_UNIPHIER=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_MESON=y +CONFIG_SERIAL_MESON_CONSOLE=y +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_TEGRA=y +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=11 +CONFIG_SERIAL_SH_SCI_CONSOLE=y +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_SERIAL_MVEBU_UART=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_IMX=y +CONFIG_I2C_MESON=y +CONFIG_I2C_MV64XXX=y +CONFIG_I2C_QUP=y +CONFIG_I2C_TEGRA=y +CONFIG_I2C_UNIPHIER_F=y +CONFIG_I2C_RCAR=y +CONFIG_I2C_CROS_EC_TUNNEL=y +CONFIG_SPI=y +CONFIG_SPI_MESON_SPIFC=m +CONFIG_SPI_ORION=y +CONFIG_SPI_PL022=y +CONFIG_SPI_QUP=y +CONFIG_SPI_S3C64XX=y +CONFIG_SPI_SPIDEV=m +CONFIG_SPMI=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_MAX77620=y +CONFIG_PINCTRL_MSM8916=y +CONFIG_PINCTRL_MSM8996=y +CONFIG_PINCTRL_QDF2XXX=y +CONFIG_PINCTRL_QCOM_SPMI_PMIC=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_DWAPB=y +CONFIG_GPIO_PL061=y +CONFIG_GPIO_RCAR=y +CONFIG_GPIO_XGENE=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_MAX77620=y +CONFIG_POWER_RESET_HISI=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_XGENE=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_BATTERY_BQ27XXX=y +CONFIG_SENSORS_ARM_SCPI=y +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_INA2XX=m +CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y +CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y +CONFIG_HISI_THERMAL=y +CONFIG_EXYNOS_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_S3C2410_WATCHDOG=y +CONFIG_MESON_GXBB_WATCHDOG=m +CONFIG_MESON_WATCHDOG=m +CONFIG_RENESAS_WDT=y +CONFIG_MFD_CROS_EC=y +CONFIG_MFD_CROS_EC_I2C=y +CONFIG_MFD_HI655X_PMIC=y +CONFIG_HISI_PMIC_PMU_SPMI=y +CONFIG_MFD_HISI_IP_CORE=y +CONFIG_MFD_MAX77620=y +CONFIG_MFD_SPMI_PMIC=y +CONFIG_MFD_SEC_CORE=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_HI655X=y +CONFIG_HISI_REGULATOR_SPMI=y +CONFIG_DRV_HISI_IP_REGULATOR=y +CONFIG_REGULATOR_MAX77620=y +CONFIG_REGULATOR_PWM=y +CONFIG_REGULATOR_QCOM_SMD_RPM=y +CONFIG_REGULATOR_QCOM_SPMI=y +CONFIG_REGULATOR_S2MPS11=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_VIDEO_HISI_ISP=y +CONFIG_DRM=y +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_TEGRA=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_HIKEY960_NTE300NTS=y +CONFIG_DRM_I2C_ADV7511=m +CONFIG_DRM_HISI_KIRIN=m +CONFIG_DRM_KIRIN_960=y +CONFIG_HISI_FB_970=y +CONFIG_HDMI_ADV7511_AUDIO=y +CONFIG_FB_ARMCLCD=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_I2S_HISI_I2S=y +CONFIG_SND_SOC_SAMSUNG=y +CONFIG_SND_SOC_RCAR=y +CONFIG_SND_SOC_AK4613=y +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_PRODIKEYS=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +CONFIG_HID_EZKEY=y +CONFIG_HID_HOLTEK=y +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LCPOWER=y +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_SUNPLUS=y +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +CONFIG_HID_ZEROPLUS=y +CONFIG_HID_ZYDACRON=y +CONFIG_USB_HIDDEV=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_TEGRA=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_MSM=y +CONFIG_USB_EHCI_EXYNOS=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_EXYNOS=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_RENESAS_USBHS=m +CONFIG_USB_STORAGE=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC2=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=y +CONFIG_TCPC_CLASS=y +CONFIG_USB_POWER_DELIVERY=y +CONFIG_TCPC_RT1711H=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_MSM_OTG=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_ACC=y +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_ACPI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ESDHC=y +CONFIG_MMC_SDHCI_TEGRA=y +CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_SPI=y +CONFIG_MMC_SDHI=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_EXYNOS=y +CONFIG_MMC_DW_K3=y +CONFIG_MMC_SUNXI=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_MAX77686=y +CONFIG_RTC_DRV_S5M=y +CONFIG_RTC_DRV_DS3232=y +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_S3C=y +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_SUN6I=y +CONFIG_RTC_DRV_TEGRA=y +CONFIG_RTC_DRV_XGENE=y +CONFIG_DMADEVICES=y +CONFIG_HISI_ASP_DMA=y +CONFIG_HISI_DMA=y +CONFIG_PL330_DMA=y +CONFIG_TEGRA20_APB_DMA=y +CONFIG_QCOM_BAM_DMA=y +CONFIG_QCOM_HIDMA_MGMT=y +CONFIG_QCOM_HIDMA=y +CONFIG_RCAR_DMAC=y +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_MMIO=y +CONFIG_XEN_GNTDEV=y +CONFIG_XEN_GRANT_DEV_ALLOC=y +CONFIG_STAGING=y +CONFIG_ASHMEM=y +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ION=y +CONFIG_ION_HISI=y +CONFIG_COMMON_CLK_SCPI=y +CONFIG_COMMON_CLK_CS2000_CP=y +CONFIG_COMMON_CLK_S2MPS11=y +CONFIG_CLK_QORIQ=y +CONFIG_COMMON_CLK_QCOM=y +CONFIG_MSM_GCC_8916=y +CONFIG_MSM_MMCC_8996=y +CONFIG_HWSPINLOCK_QCOM=y +CONFIG_MAILBOX=y +CONFIG_ARM_MHU=y +CONFIG_HI6220_MBOX=y +CONFIG_ARM_SMMU=y +CONFIG_HISI_IOMMU_LPAE=y +CONFIG_QCOM_SMEM=y +CONFIG_QCOM_SMD=y +CONFIG_QCOM_SMD_RPM=y +CONFIG_ARCH_TEGRA_132_SOC=y +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +CONFIG_HISI_DDR_DEVFREQ=y +CONFIG_EXTCON_USB_GPIO=y +CONFIG_IIO=y +CONFIG_EXYNOS_ADC=y +CONFIG_PWM=y +CONFIG_PWM_SAMSUNG=y +CONFIG_PWM_TEGRA=m +CONFIG_PHY_RCAR_GEN3_USB2=y +CONFIG_PHY_HI6220_USB=y +CONFIG_PHY_KIRIN970_USB=y +CONFIG_PHY_XGENE=y +CONFIG_PHY_TEGRA_XUSB=y +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_HISILICON_PLATFORM=y +CONFIG_HISILICON_PLATFORM_MAILBOX=y +CONFIG_HISI_MAILBOX=y +CONFIG_HISI_RPROC=y +CONFIG_HIFI_DSP_ONE_TRACK=y +CONFIG_HIKEY970_HIFI=y +CONFIG_HIFI_MAILBOX=y +CONFIG_HIFI_IPC=y +CONFIG_HIFI_IPC_3660=y +CONFIG_HI_VCODEC_VENC=y +CONFIG_HI_VCODEC_VDEC=y +CONFIG_ARM_SCPI_PROTOCOL=y +CONFIG_ACPI=y +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QFMT_V2=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=y +CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_HUGETLBFS=y +CONFIG_EFIVAR_FS=y +CONFIG_SDCARD_FS=y +CONFIG_SQUASHFS=y +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_RAM=y +CONFIG_9P_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_FS=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_LOCKUP_DETECTOR=y +CONFIG_PANIC_TIMEOUT=5 +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_FTRACE is not set +CONFIG_MEMTEST=y +CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_HARDENED_USERCOPY=y +CONFIG_SECURITY_SELINUX=y +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_ARM64_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_CRYPTO_CRC32_ARM64=y diff --git a/recipes-kernel/linux/linux-hikey970_git .bb b/recipes-kernel/linux/linux-hikey970_git .bb new file mode 100644 index 00000000..d75ff2d0 --- /dev/null +++ b/recipes-kernel/linux/linux-hikey970_git .bb @@ -0,0 +1,66 @@ +require linux.inc + +DESCRIPTION = "Kernel for HiKey970" + +PV = "4.9+git${SRCPV}" +SRCREV_kernel = "244928755bbee925030e14fd55eba150eb2b822f" +SRCREV_FORMAT = "kernel" + +SRC_URI = "git://github.com/hihope-hikey/linux.git;protocol=https;name=kernel;nobranch=1 \ + file://hikey970working_defconfig;subdir=git/arch/arm64/configs \ + file://0001-Fixed-incompatible-pointer-errors-in-fbdev.patch \ +" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "hikey970" +KERNEL_IMAGETYPE ?= "Image" + +# make[3]: *** [scripts/extract-cert] Error 1 +DEPENDS += "openssl-native" +HOST_EXTRACFLAGS += "-I${STAGING_INCDIR_NATIVE}" + +do_configure() { + # Make sure to disable debug info and enable ext4fs built-in + sed -e '/CONFIG_EXT4_FS=/d' \ + -e '/CONFIG_DEBUG_INFO=/d' \ + < ${S}/arch/arm64/configs/hikey970working_defconfig \ + > ${B}/.config + + echo 'CONFIG_EXT4_FS=y' >> ${B}/.config + echo '# CONFIG_DEBUG_INFO is not set' >> ${B}/.config + + # Check for kernel config fragments. The assumption is that the config + # fragment will be specified with the absolute path. For example: + # * ${WORKDIR}/config1.cfg + # * ${S}/config2.cfg + # Iterate through the list of configs and make sure that you can find + # each one. If not then error out. + # NOTE: If you want to override a configuration that is kept in the kernel + # with one from the OE meta data then you should make sure that the + # OE meta data version (i.e. ${WORKDIR}/config1.cfg) is listed + # after the in-kernel configuration fragment. + # Check if any config fragments are specified. + if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]; then + for f in ${KERNEL_CONFIG_FRAGMENTS}; do + # Check if the config fragment was copied into the WORKDIR from + # the OE meta data + if [ ! -e "$f" ]; then + echo "Could not find kernel config fragment $f" + exit 1 + fi + done + + # Now that all the fragments are located merge them. + ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 ) + fi + + yes '' | oe_runmake -C ${S} O=${B} oldconfig + + bbplain "Saving defconfig to:\n${B}/defconfig" + oe_runmake -C ${B} savedefconfig +} + +do_deploy_append() { + cp -a ${B}/defconfig ${DEPLOYDIR} +}