From c824b458d6eab6314941e80ffed452a765ff6e06 Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 3 Apr 2023 19:51:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=8C=E6=AD=A50331=20SDK=E7=9A=84config?= =?UTF-8?q?=EF=BC=9B2.=E4=BF=AE=E6=94=B9usb=E8=BD=AC=E4=B8=B2=E5=8F=A3?= =?UTF-8?q?=E7=9A=84=E5=86=85=E6=A0=B8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BSP/linux-kernel/.config | 2928 ++++++++++++++++ BSP/linux-kernel/.config.old | 3032 +++++++++++++++++ .../na51089_evb_cardv_defconfig_release | 412 +-- BSP/linux-kernel/scripts/basic/.fixdep.cmd | 86 + BSP/linux-kernel/scripts/basic/fixdep | Bin 0 -> 13568 bytes BSP/linux-kernel/scripts/kconfig/.mconf-cfg | 2 + BSP/linux-kernel/scripts/kconfig/.mconf.cmd | 1 + .../scripts/kconfig/.zconf.lex.c.cmd | 1 + .../scripts/kconfig/.zconf.tab.c.cmd | 1 + .../scripts/kconfig/lxdialog/checklist.o | Bin 0 -> 12200 bytes .../scripts/kconfig/lxdialog/inputbox.o | Bin 0 -> 12360 bytes .../scripts/kconfig/lxdialog/menubox.o | Bin 0 -> 13176 bytes .../scripts/kconfig/lxdialog/textbox.o | Bin 0 -> 9088 bytes .../scripts/kconfig/lxdialog/util.o | Bin 0 -> 22944 bytes .../scripts/kconfig/lxdialog/yesno.o | Bin 0 -> 4104 bytes BSP/linux-kernel/scripts/kconfig/mconf | Bin 0 -> 177296 bytes BSP/linux-kernel/scripts/kconfig/mconf.o | Bin 0 -> 34200 bytes BSP/linux-kernel/scripts/kconfig/zconf.lex.c | 2816 +++++++++++++++ BSP/linux-kernel/scripts/kconfig/zconf.tab.c | 2504 ++++++++++++++ BSP/linux-kernel/scripts/kconfig/zconf.tab.o | Bin 0 -> 180016 bytes BSP/root-fs/rootfs/etc | 1 + .../ModelConfig.mk | 63 + .../nvt-evb.dtb | Bin 0 -> 17550 bytes .../nvt-evb.tmp.dts | 1181 +++++++ configs/cfg_gen | 1 + 25 files changed, 12686 insertions(+), 343 deletions(-) create mode 100644 BSP/linux-kernel/.config create mode 100755 BSP/linux-kernel/.config.old create mode 100644 BSP/linux-kernel/scripts/basic/.fixdep.cmd create mode 100755 BSP/linux-kernel/scripts/basic/fixdep create mode 100644 BSP/linux-kernel/scripts/kconfig/.mconf-cfg create mode 100644 BSP/linux-kernel/scripts/kconfig/.mconf.cmd create mode 100644 BSP/linux-kernel/scripts/kconfig/.zconf.lex.c.cmd create mode 100644 BSP/linux-kernel/scripts/kconfig/.zconf.tab.c.cmd create mode 100644 BSP/linux-kernel/scripts/kconfig/lxdialog/checklist.o create mode 100644 BSP/linux-kernel/scripts/kconfig/lxdialog/inputbox.o create mode 100644 BSP/linux-kernel/scripts/kconfig/lxdialog/menubox.o create mode 100644 BSP/linux-kernel/scripts/kconfig/lxdialog/textbox.o create mode 100644 BSP/linux-kernel/scripts/kconfig/lxdialog/util.o create mode 100644 BSP/linux-kernel/scripts/kconfig/lxdialog/yesno.o create mode 100755 BSP/linux-kernel/scripts/kconfig/mconf create mode 100644 BSP/linux-kernel/scripts/kconfig/mconf.o create mode 100644 BSP/linux-kernel/scripts/kconfig/zconf.lex.c create mode 100644 BSP/linux-kernel/scripts/kconfig/zconf.tab.c create mode 100644 BSP/linux-kernel/scripts/kconfig/zconf.tab.o create mode 120000 BSP/root-fs/rootfs/etc create mode 100644 configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/ModelConfig.mk create mode 100644 configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb create mode 100644 configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts create mode 120000 configs/cfg_gen diff --git a/BSP/linux-kernel/.config b/BSP/linux-kernel/.config new file mode 100644 index 000000000..7d876b59a --- /dev/null +++ b/BSP/linux-kernel/.config @@ -0,0 +1,2928 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.19.91 Kernel Configuration +# + +# +# Compiler: arm-linux-gcc.br_real (Buildroot 2020.02.9-10-g744f210) 8.4.0 +# +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80400 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +# CONFIG_KERNEL_GZIP is not set +CONFIG_KERNEL_LZMA=y +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_CLOCKEVENTS=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +CONFIG_NO_HZ=y +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_INITRAMFS_FORCE is not set +# 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_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_MULTIUSER is not set +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_SHMEM is not set +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +CONFIG_MEMBARRIER=y +# CONFIG_KALLSYMS is not set +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_SLAB_MERGE_DEFAULT is not set +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +CONFIG_SYSTEM_DATA_VERIFICATION=y +# CONFIG_PROFILING is not set +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PHYS_OFFSET=0x00000000 +CONFIG_PGTABLE_LEVELS=2 + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_ARCH_NVT_IVOT_V7=y + +# +# Novatek Video Processing Platform Common Features +# +CONFIG_NVT_INFO=y +CONFIG_NVT_CACHE_FLUSH_ALL_FOR_HDAL=y +CONFIG_NVT_CACHE_FLUSH_ALL_THRESHOLD=1 +CONFIG_NVT_CACHE_FLUSH_ALL_L2_CACHE=y +CONFIG_NVT_CACHE_FLUSH_ALL_L2_THRESHOLD=1 +# CONFIG_NVT_CACHE_INVALIDATE_ALL_FOR_HDAL is not set + +# +# Novatek Video Platform Specific Features +# +CONFIG_NVT_IVOT_PLAT_NA51089=y +# CONFIG_NVT_IVOT_PLAT_NA51068 is not set +# CONFIG_NVT_IVOT_PLAT_NA51055 is not set +CONFIG_NVT_NT98560_EVB=y +# CONFIG_NVT_FPGA_EMULATION is not set +CONFIG_NVT_IM_UART=y +# CONFIG_NVT_IM_LVD_RESET is not set +CONFIG_PLAT_NOVATEK=y + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_SWP_EMULATE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_SPECTRE=y +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set +# CONFIG_KUSER_HELPERS is not set +# CONFIG_VDSO is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set + +# +# Bus support +# + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +CONFIG_HAVE_ARM_TWD=y +# CONFIG_VMSPLIT_3G is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_MEMORY_PROBE=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="quiet" +# CONFIG_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_CMDLINE_EXTEND=y +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Power management options +# +# CONFIG_SUSPEND is not set +# CONFIG_PM is not set +# CONFIG_APM_EMULATION is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_HAVE_ARM_SMCCC=y +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# Tegra firmware driver +# +CONFIG_ARM_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM=y +CONFIG_CRYPTO_SHA1_ARM_NEON=y +CONFIG_CRYPTO_SHA1_ARM_CE=y +CONFIG_CRYPTO_SHA2_ARM_CE=y +CONFIG_CRYPTO_SHA256_ARM=y +CONFIG_CRYPTO_SHA512_ARM=y +CONFIG_CRYPTO_AES_ARM=y +CONFIG_CRYPTO_AES_ARM_BS=y +# CONFIG_CRYPTO_AES_ARM_CE is not set +# CONFIG_CRYPTO_GHASH_ARM_CE is not set +# CONFIG_CRYPTO_CRC32_ARM_CE is not set +# CONFIG_CRYPTO_CHACHA20_NEON is not set +# CONFIG_VIRTUALIZATION is not set + +# +# General architecture-dependent options +# +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +# CONFIG_STRICT_KERNEL_RWX is not set +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_REFCOUNT_FULL=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_PLUGIN_HOSTCC="" +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +# CONFIG_LBDAF is not set +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_BLK_SED_OPAL is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +# CONFIG_IOSCHED_BFQ is not set +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_ELF_FDPIC is not set +CONFIG_ELFCORE=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +# CONFIG_MEMORY_HOTREMOVE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_BOUNCE=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +# CONFIG_CMA is not set +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=m +CONFIG_PACKET_DIAG=m +CONFIG_UNIX=m +CONFIG_UNIX_DIAG=m +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_DIAG=m +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_UDP_DIAG=m +# CONFIG_INET_RAW_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +# CONFIG_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=m +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# Partition parsers +# + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_SPI_NAND is not set +# CONFIG_FLASH_ONLY_DUAL is not set +CONFIG_MTD_SPINOR=y +CONFIG_MTD_EXTERNAL_FLASH_TABLE=y + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_UBI is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_KOBJ=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=m +CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y +CONFIG_OF_OVERLAY=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +# CONFIG_BLK_DEV is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=m +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_ALTERA_TSE 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_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET 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_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_NOVATEK=y +CONFIG_TX_DESC=128 +CONFIG_RX_DESC=64 +CONFIG_NOVATEK_DWC_ETH_QOS_NA51089=m +# 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_SOCIONEXT is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_MDIO_DEVICE=m +CONFIG_MDIO_BUS=m +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MSCC_MIIM is not set +CONFIG_PHYLIB=m +CONFIG_SWPHY=y + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=m +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +CONFIG_NVT_PHY_NA51055=m +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set +# 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=y +CONFIG_HOSTAP=m +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_P54_COMMON is not set +# CONFIG_WLAN_VENDOR_MARVELL 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_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 +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_LDISC_AUTOLOAD=y +CONFIG_DEVMEM=y +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +CONFIG_SERIAL_NVT=y +CONFIG_SERIAL_NVT_CONSOLE=y +# CONFIG_SERIAL_NVT_DMA is not set +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_CHARDEV is not set +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_HELPER_AUTO is not set +# CONFIG_I2C_SMBUS is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_NA51055=y +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_NA51055 is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +CONFIG_PINCTRL_NA51089=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_MPC8XXX is not set +CONFIG_GPIO_NVT_NA51089=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_HWMON is not set +CONFIG_THERMAL=y +# CONFIG_THERMAL_STATISTICS is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +# CONFIG_THERMAL_OF is not set +# CONFIG_THERMAL_WRITABLE_TRIPS is not set +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +# CONFIG_THERMAL_GOV_USER_SPACE is not set +# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set +# CONFIG_THERMAL_EMULATION is not set + +# +# ACPI INT340X thermal drivers +# +# CONFIG_GENERIC_ADC_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_GPIO_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_NA51055_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_FTWDT010_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8XXX is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_REGULATOR is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ACP (Audio CoProcessor) Configuration +# + +# +# AMD Library routines +# + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CFB_FILLRECT=m +CONFIG_FB_CFB_COPYAREA=m +CONFIG_FB_CFB_IMAGEBLIT=m +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_NVT_FB_FR=m +# CONFIG_NVT_FB_DEBUG is not set +# CONFIG_NVT_FB_FORCE_INIT is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_NVTIVOT_HCD=y +CONFIG_USB_EHCI_HCD_NVTIVOT=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=y +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_F8153X is not set +# CONFIG_USB_SERIAL_GARMIN is not set +CONFIG_USB_SERIAL_IPW=y +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +CONFIG_USB_SERIAL_QUALCOMM=y +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_UPD78F0730 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=m +CONFIG_USB_GADGET_DEBUG=y +CONFIG_USB_GADGET_VERBOSE=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG211_UDC is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_FOTG200_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_MASS_STORAGE=m +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FUNCTIONFS is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_TYPEC is not set +# CONFIG_USB_ROLE_SWITCH is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_NVT_EMMC_INFO is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +CONFIG_MMC_NA51055=y +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_NA51055 is not set +CONFIG_DRTC_DRV_NA51055=y +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_DMADEVICES is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_VC5 is not set +CONFIG_COMMON_CLK_NA51089=y +# CONFIG_HWSPINLOCK is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_ARM_GLOBAL_TIMER=y +# CONFIG_ARM_TIMER_SP804 is not set +CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y +# CONFIG_NOVATEK_TIMER is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_VIRTIO is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set + +# +# NXP/Freescale QorIQ SoC drivers +# + +# +# i.MX SoC drivers +# + +# +# Qualcomm SoC drivers +# +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set + +# +# NovaTek SoC drivers +# +CONFIG_NVT_OTP_SUPPORT=y +CONFIG_NVT_HDAL_BUILD_IN=y +# CONFIG_NVT_STACK_CHECK is not set +# CONFIG_NVT_PERF_MEASURE is not set + +# +# Novatek HDAL Drivers +# +CONFIG_NVT_DMA_MONITOR=y +# CONFIG_NVT_SMALL_HDAL is not set +CONFIG_NVT_VOS_KWRAP=y +CONFIG_NVT_HDAL_KDRV_BUILTIN=y +# CONFIG_NVT_FAST_ISP_FLOW is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +CONFIG_IIO=y +# CONFIG_IIO_BUFFER is not set +# CONFIG_IIO_CONFIGFS is not set +# CONFIG_IIO_TRIGGER is not set +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set + +# +# Accelerometers +# +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set +# CONFIG_BMA180 is not set +# CONFIG_BMA220 is not set +# CONFIG_BMC150_ACCEL is not set +# CONFIG_DA280 is not set +# CONFIG_DA311 is not set +# CONFIG_DMARD06 is not set +# CONFIG_DMARD09 is not set +# CONFIG_DMARD10 is not set +# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set +# CONFIG_IIO_ST_ACCEL_3AXIS is not set +# CONFIG_KXSD9 is not set +# CONFIG_KXCJK1013 is not set +# CONFIG_MC3230 is not set +# CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7455_SPI is not set +# CONFIG_MMA7660 is not set +# CONFIG_MMA8452 is not set +# CONFIG_MMA9551 is not set +# CONFIG_MMA9553 is not set +# CONFIG_MXC4005 is not set +# CONFIG_MXC6255 is not set +# CONFIG_SCA3000 is not set +# CONFIG_STK8312 is not set +# CONFIG_STK8BA50 is not set + +# +# Analog to digital converters +# +# CONFIG_AD7266 is not set +# CONFIG_AD7291 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set +# CONFIG_AD7766 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD799X is not set +# CONFIG_ENVELOPE_DETECTOR is not set +# CONFIG_HI8435 is not set +# CONFIG_HX711 is not set +# CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2471 is not set +# CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set +# CONFIG_MAX1363 is not set +# CONFIG_MAX9611 is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set +# CONFIG_NAU7802 is not set +# CONFIG_SD_ADC_MODULATOR is not set +# CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set +# CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_TI_TLC4541 is not set +# CONFIG_VF610_ADC is not set +CONFIG_NVT_ADC=m + +# +# Analog Front Ends +# +# CONFIG_IIO_RESCALE is not set + +# +# Amplifiers +# +# CONFIG_AD8366 is not set + +# +# Chemical Sensors +# +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_BME680 is not set +# CONFIG_CCS811 is not set +# CONFIG_IAQCORE is not set +# CONFIG_VZ89X is not set + +# +# Hid Sensor IIO Common +# + +# +# SSP Sensor Common +# +# CONFIG_IIO_SSP_SENSORHUB is not set + +# +# Counters +# + +# +# Digital to analog converters +# +# CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set +# CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set +# CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set +# CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_LTC2632 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5758 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_DPOT_DAC is not set +# CONFIG_DS4424 is not set +# CONFIG_M62332 is not set +# CONFIG_MAX517 is not set +# CONFIG_MAX5821 is not set +# CONFIG_MCP4725 is not set +# CONFIG_MCP4922 is not set +# CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set +# CONFIG_VF610_DAC is not set + +# +# IIO dummy driver +# + +# +# Frequency Synthesizers DDS/PLL +# + +# +# Clock Generator/Distribution +# +# CONFIG_AD9523 is not set + +# +# Phase-Locked Loop (PLL) frequency synthesizers +# +# CONFIG_ADF4350 is not set + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set +# CONFIG_MPU3050_I2C is not set +# CONFIG_IIO_ST_GYRO_3AXIS is not set +# CONFIG_ITG3200 is not set + +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4403 is not set +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set +# CONFIG_MAX30102 is not set + +# +# Humidity sensors +# +# CONFIG_AM2315 is not set +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HTS221 is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set + +# +# Inertial measurement units +# +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16480 is not set +# CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set +# CONFIG_KMX61 is not set +# CONFIG_INV_MPU6050_SPI is not set +# CONFIG_IIO_ST_LSM6DSX is not set + +# +# Light sensors +# +# CONFIG_ADJD_S311 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set +# CONFIG_CM32181 is not set +# CONFIG_CM3232 is not set +# CONFIG_CM3323 is not set +# CONFIG_CM3605 is not set +# CONFIG_CM36651 is not set +# CONFIG_GP2AP020A00F is not set +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_ISL29125 is not set +# CONFIG_JSA1212 is not set +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_LV0104CS is not set +# CONFIG_MAX44000 is not set +# CONFIG_OPT3001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1133 is not set +# CONFIG_SI1145 is not set +# CONFIG_STK3310 is not set +# CONFIG_ST_UVIS25 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +# CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL2583 is not set +# CONFIG_TSL2772 is not set +# CONFIG_TSL4531 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set +# CONFIG_VEML6070 is not set +# CONFIG_VL6180 is not set +# CONFIG_ZOPT2201 is not set + +# +# Magnetometer sensors +# +# CONFIG_AK8974 is not set +# CONFIG_AK8975 is not set +# CONFIG_AK09911 is not set +# CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set +# CONFIG_MAG3110 is not set +# CONFIG_MMC35240 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set + +# +# Multiplexers +# +# CONFIG_IIO_MUX is not set + +# +# Inclinometer sensors +# + +# +# Digital potentiometers +# +# CONFIG_AD5272 is not set +# CONFIG_DS1803 is not set +# CONFIG_MAX5481 is not set +# CONFIG_MAX5487 is not set +# CONFIG_MCP4018 is not set +# CONFIG_MCP4131 is not set +# CONFIG_MCP4531 is not set +# CONFIG_TPL0102 is not set + +# +# Digital potentiostats +# +# CONFIG_LMP91000 is not set + +# +# Pressure sensors +# +# CONFIG_ABP060MG is not set +# CONFIG_BMP280 is not set +# CONFIG_HP03 is not set +# CONFIG_MPL115_I2C is not set +# CONFIG_MPL115_SPI is not set +# CONFIG_MPL3115 is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +# CONFIG_IIO_ST_PRESS is not set +# CONFIG_T5403 is not set +# CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set + +# +# Lightning sensors +# +# CONFIG_AS3935 is not set + +# +# Proximity and distance sensors +# +# CONFIG_ISL29501 is not set +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_RFD77402 is not set +# CONFIG_SRF04 is not set +# CONFIG_SX9500 is not set +# CONFIG_SRF08 is not set + +# +# Resolver to digital converters +# +# CONFIG_AD2S1200 is not set + +# +# Temperature sensors +# +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MLX90614 is not set +# CONFIG_MLX90632 is not set +# CONFIG_TMP006 is not set +# CONFIG_TMP007 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set +# CONFIG_PWM is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_CPCAP_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_EXPORTFS_BLOCK_OPS is not set +# CONFIG_FILE_LOCKING is not set +# CONFIG_FS_ENCRYPTION is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_YAFFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +# CONFIG_JFFS2_ZLIB is not set +CONFIG_JFFS2_LZO=y +# CONFIG_JFFS2_RTIME is not set +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_CRAMFS is not set +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=y +# CONFIG_SQUASHFS_ZSTD is not set +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +# CONFIG_CRYPTO_ECDH is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=y +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_SIMD=y + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_AEGIS128L is not set +# CONFIG_CRYPTO_AEGIS256 is not set +# CONFIG_CRYPTO_MORUS640 is not set +# CONFIG_CRYPTO_MORUS1280 is not set +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +# CONFIG_CRYPTO_ZSTD is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_NVT_IVOT_NA51089_CRYPTO is not set +# CONFIG_CRYPTO_DEV_NVT_IVOT_NA51089_HASH is not set +# CONFIG_CRYPTO_DEV_NVT_IVOT_NA51089_RSA is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set + +# +# Certificates for signature checking +# +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SGL_ALLOC=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_HIGHMEM is not set +CONFIG_HAVE_ARCH_KASAN=y +# CONFIG_KASAN is not set +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +CONFIG_DEBUG_SPINLOCK=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_ATOMIC_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_STACKTRACE is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_STRICT_DEVMEM is not set +# CONFIG_ARM_PTDUMP_DEBUGFS is not set +# CONFIG_DEBUG_WX is not set +# CONFIG_ARM_UNWIND is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_CORESIGHT is not set diff --git a/BSP/linux-kernel/.config.old b/BSP/linux-kernel/.config.old new file mode 100755 index 000000000..fb75fbc6a --- /dev/null +++ b/BSP/linux-kernel/.config.old @@ -0,0 +1,3032 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.19.91 Kernel Configuration +# + +# +# Compiler: arm-linux-gcc.br_real (Buildroot 2020.02.9-10-g744f210) 8.4.0 +# +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80400 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +# CONFIG_KERNEL_GZIP is not set +CONFIG_KERNEL_LZMA=y +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_GENERIC_CLOCKEVENTS=y +# CONFIG_ARCH_HAS_TICK_BROADCAST is not set +# CONFIG_GENERIC_CLOCKEVENTS_BROADCAST is not set + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_CPU_ISOLATION is not set + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_INITRAMFS_FORCE is not set +# 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_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_MULTIUSER is not set +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_SHMEM is not set +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +CONFIG_MEMBARRIER=y +# CONFIG_KALLSYMS is not set +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_SLAB_MERGE_DEFAULT is not set +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SLUB_CPU_PARTIAL is not set +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PHYS_OFFSET=0x00000000 +CONFIG_PGTABLE_LEVELS=2 + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_ARCH_NVT_IVOT_V7=y + +# +# Novatek Video Processing Platform Common Features +# +CONFIG_NVT_INFO=y +CONFIG_NVT_CACHE_FLUSH_ALL_FOR_HDAL=y +CONFIG_NVT_CACHE_FLUSH_ALL_THRESHOLD=1 +CONFIG_NVT_CACHE_FLUSH_ALL_L2_CACHE=y +CONFIG_NVT_CACHE_FLUSH_ALL_L2_THRESHOLD=1 +# CONFIG_NVT_CACHE_INVALIDATE_ALL_FOR_HDAL is not set + +# +# Novatek Video Platform Specific Features +# +CONFIG_NVT_IVOT_PLAT_NA51089=y +# CONFIG_NVT_IVOT_PLAT_NA51068 is not set +# CONFIG_NVT_IVOT_PLAT_NA51055 is not set +CONFIG_NVT_NT98560_EVB=y +# CONFIG_NVT_FPGA_EMULATION is not set +CONFIG_NVT_IM_UART=y +# CONFIG_NVT_IM_LVD_RESET is not set +CONFIG_PLAT_NOVATEK=y + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_SWP_EMULATE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_SPECTRE=y +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set +# CONFIG_KUSER_HELPERS is not set +# CONFIG_VDSO is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_754327 is not set +CONFIG_ARM_ERRATA_764369=y +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set + +# +# Bus support +# + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +CONFIG_HAVE_ARM_TWD=y +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +# CONFIG_VMSPLIT_3G is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +# CONFIG_NR_CPUS=2 is not set +# CONFIG_HOTPLUG_CPU is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_MEMORY_PROBE=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="quiet" +# CONFIG_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_CMDLINE_EXTEND=y +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Power management options +# +# CONFIG_SUSPEND is not set +# CONFIG_PM is not set +# CONFIG_APM_EMULATION is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_HAVE_ARM_SMCCC=y +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# Tegra firmware driver +# +CONFIG_ARM_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM=y +CONFIG_CRYPTO_SHA1_ARM_NEON=y +CONFIG_CRYPTO_SHA1_ARM_CE=y +CONFIG_CRYPTO_SHA2_ARM_CE=y +CONFIG_CRYPTO_SHA256_ARM=y +CONFIG_CRYPTO_SHA512_ARM=y +CONFIG_CRYPTO_AES_ARM=y +CONFIG_CRYPTO_AES_ARM_BS=y +# CONFIG_CRYPTO_AES_ARM_CE is not set +# CONFIG_CRYPTO_GHASH_ARM_CE is not set +# CONFIG_CRYPTO_CRCT10DIF_ARM_CE is not set +# CONFIG_CRYPTO_CRC32_ARM_CE is not set +# CONFIG_CRYPTO_CHACHA20_NEON is not set +# CONFIG_VIRTUALIZATION is not set + +# +# General architecture-dependent options +# +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +# CONFIG_STRICT_KERNEL_RWX is not set +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_REFCOUNT_FULL=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_PLUGIN_HOSTCC="" +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +# CONFIG_LBDAF is not set +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_BLK_SED_OPAL is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +# CONFIG_IOSCHED_BFQ is not set +# CONFIG_ASN1 is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +# CONFIG_MUTEX_SPIN_ON_OWNER is not set +# CONFIG_RWSEM_SPIN_ON_OWNER is not set +# CONFIG_LOCK_SPIN_ON_OWNER is not set + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_ELF_FDPIC is not set +CONFIG_ELFCORE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +# CONFIG_MEMORY_HOTREMOVE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_BOUNCE=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_CLEANCACHE is not set +# CONFIG_CMA is not set +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=m +CONFIG_PACKET_DIAG=m +CONFIG_UNIX=m +CONFIG_UNIX_DIAG=m +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_DIAG=m +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_UDP_DIAG=m +# CONFIG_INET_RAW_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +# CONFIG_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +# CONFIG_RPS is not set +# CONFIG_RFS_ACCEL is not set +# CONFIG_XPS is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set +# CONFIG_NET_FLOW_LIMIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=n +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# Partition parsers +# + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_SPI_NAND is not set +# CONFIG_MTD_SPINAND is not set +# CONFIG_FLASH_ONLY_DUAL is not set +CONFIG_MTD_SPINOR=y +CONFIG_MTD_EXTERNAL_FLASH_TABLE=y + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_UBI is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_KOBJ=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=m +CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y +CONFIG_OF_OVERLAY=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +# CONFIG_BLK_DEV is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=m +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_ALTERA_TSE 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_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET 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_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_NOVATEK=y +CONFIG_TX_DESC=128 +CONFIG_RX_DESC=64 +CONFIG_NOVATEK_DWC_ETH_QOS_NA51089=m +# 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_SOCIONEXT is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_MDIO_DEVICE=m +CONFIG_MDIO_BUS=m +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MSCC_MIIM is not set +CONFIG_PHYLIB=m +CONFIG_SWPHY=y + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=m +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +CONFIG_NVT_PHY_NA51055=m +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set + +# +# Host-side USB support is needed for USB Network Adapter support +# +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set +# 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=y +CONFIG_HOSTAP=m +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_P54_COMMON is not set +# CONFIG_WLAN_VENDOR_MARVELL 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_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 +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_LDISC_AUTOLOAD=y +CONFIG_DEVMEM=y +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +CONFIG_SERIAL_NVT=y +CONFIG_SERIAL_NVT_CONSOLE=y +# CONFIG_SERIAL_NVT_DMA is not set +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_CHARDEV is not set +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_HELPER_AUTO is not set +# CONFIG_I2C_SMBUS is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_NA51055=y +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_NA51055 is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +CONFIG_PINCTRL_NA51089=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_MPC8XXX is not set +CONFIG_GPIO_NVT_NA51089=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_HWMON is not set +CONFIG_THERMAL=y +# CONFIG_THERMAL_STATISTICS is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +# CONFIG_THERMAL_OF is not set +# CONFIG_THERMAL_WRITABLE_TRIPS is not set +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +# CONFIG_THERMAL_GOV_USER_SPACE is not set +# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set +# CONFIG_THERMAL_EMULATION is not set + +# +# ACPI INT340X thermal drivers +# +# CONFIG_GENERIC_ADC_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_GPIO_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_NA51055_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_FTWDT010_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8XXX is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_REGULATOR is not set +# CONFIG_RC_CORE is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ACP (Audio CoProcessor) Configuration +# + +# +# AMD Library routines +# + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CFB_FILLRECT=m +CONFIG_FB_CFB_COPYAREA=m +CONFIG_FB_CFB_IMAGEBLIT=m +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_NVT_FB_FR=m +# CONFIG_NVT_FB_DEBUG is not set +# CONFIG_NVT_FB_FORCE_INIT is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=m +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=m + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACCUTOUCH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_REDRAGON is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NTI is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set + +# +# USB HID support +# +CONFIG_USB_HID=m +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=m +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_NVTIVOT_HCD=y +CONFIG_USB_EHCI_HCD_NVTIVOT=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=m +CONFIG_USB_GADGET_DEBUG=y +CONFIG_USB_GADGET_VERBOSE=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG211_UDC is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_FOTG200_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_MASS_STORAGE=m +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FUNCTIONFS is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_TYPEC is not set +# CONFIG_USB_ROLE_SWITCH is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_NVT_EMMC_INFO is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +CONFIG_MMC_NA51055=y +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_NA51055 is not set +CONFIG_DRTC_DRV_NA51055=y +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_VC5 is not set +CONFIG_COMMON_CLK_NA51089=y +# CONFIG_HWSPINLOCK is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_ARM_GLOBAL_TIMER=y +# CONFIG_ARM_TIMER_SP804 is not set +CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y +# CONFIG_NOVATEK_TIMER is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_VIRTIO is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set + +# +# NXP/Freescale QorIQ SoC drivers +# + +# +# i.MX SoC drivers +# + +# +# Qualcomm SoC drivers +# +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set + +# +# NovaTek SoC drivers +# +CONFIG_NVT_OTP_SUPPORT=y +CONFIG_NVT_HDAL_BUILD_IN=y +# CONFIG_NVT_HDAL_BUILD_IN_ADV is not set +# CONFIG_NVT_STACK_CHECK is not set +# CONFIG_NVT_PERF_MEASURE is not set + +# +# Novatek HDAL Drivers +# +CONFIG_NVT_DMA_MONITOR=y +# CONFIG_NVT_SMALL_HDAL is not set +CONFIG_NVT_VOS_KWRAP=y +CONFIG_NVT_HDAL_KDRV_BUILTIN=y +# CONFIG_NVT_FAST_ISP_FLOW is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +CONFIG_IIO=y +# CONFIG_IIO_BUFFER is not set +CONFIG_IIO_CONFIGFS=n +# CONFIG_IIO_TRIGGER is not set +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set + +# +# Accelerometers +# +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set +# CONFIG_BMA180 is not set +# CONFIG_BMA220 is not set +# CONFIG_BMC150_ACCEL is not set +# CONFIG_DA280 is not set +# CONFIG_DA311 is not set +# CONFIG_DMARD06 is not set +# CONFIG_DMARD09 is not set +# CONFIG_DMARD10 is not set +# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set +# CONFIG_IIO_ST_ACCEL_3AXIS is not set +# CONFIG_KXSD9 is not set +# CONFIG_KXCJK1013 is not set +# CONFIG_MC3230 is not set +# CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7455_SPI is not set +# CONFIG_MMA7660 is not set +# CONFIG_MMA8452 is not set +# CONFIG_MMA9551 is not set +# CONFIG_MMA9553 is not set +# CONFIG_MXC4005 is not set +# CONFIG_MXC6255 is not set +# CONFIG_SCA3000 is not set +# CONFIG_STK8312 is not set +# CONFIG_STK8BA50 is not set + +# +# Analog to digital converters +# +# CONFIG_AD7266 is not set +# CONFIG_AD7291 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set +# CONFIG_AD7766 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD799X is not set +# CONFIG_ENVELOPE_DETECTOR is not set +# CONFIG_HI8435 is not set +# CONFIG_HX711 is not set +# CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2471 is not set +# CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set +# CONFIG_MAX1363 is not set +# CONFIG_MAX9611 is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set +# CONFIG_NAU7802 is not set +# CONFIG_SD_ADC_MODULATOR is not set +# CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set +# CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_TI_TLC4541 is not set +# CONFIG_VF610_ADC is not set +CONFIG_NVT_ADC=m + +# +# Analog Front Ends +# +# CONFIG_IIO_RESCALE is not set + +# +# Amplifiers +# +# CONFIG_AD8366 is not set + +# +# Chemical Sensors +# +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_BME680 is not set +# CONFIG_CCS811 is not set +# CONFIG_IAQCORE is not set +# CONFIG_VZ89X is not set + +# +# Hid Sensor IIO Common +# + +# +# SSP Sensor Common +# +# CONFIG_IIO_SSP_SENSORHUB is not set + +# +# Counters +# + +# +# Digital to analog converters +# +# CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set +# CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set +# CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set +# CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_LTC2632 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5758 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_DPOT_DAC is not set +# CONFIG_DS4424 is not set +# CONFIG_M62332 is not set +# CONFIG_MAX517 is not set +# CONFIG_MAX5821 is not set +# CONFIG_MCP4725 is not set +# CONFIG_MCP4922 is not set +# CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set +# CONFIG_VF610_DAC is not set + +# +# IIO dummy driver +# + +# +# Frequency Synthesizers DDS/PLL +# + +# +# Clock Generator/Distribution +# +# CONFIG_AD9523 is not set + +# +# Phase-Locked Loop (PLL) frequency synthesizers +# +# CONFIG_ADF4350 is not set + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set +# CONFIG_MPU3050_I2C is not set +# CONFIG_IIO_ST_GYRO_3AXIS is not set +# CONFIG_ITG3200 is not set + +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4403 is not set +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set +# CONFIG_MAX30102 is not set + +# +# Humidity sensors +# +# CONFIG_AM2315 is not set +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HTS221 is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set + +# +# Inertial measurement units +# +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16480 is not set +# CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set +# CONFIG_KMX61 is not set +# CONFIG_INV_MPU6050_SPI is not set +# CONFIG_IIO_ST_LSM6DSX is not set + +# +# Light sensors +# +# CONFIG_ADJD_S311 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set +# CONFIG_CM32181 is not set +# CONFIG_CM3232 is not set +# CONFIG_CM3323 is not set +# CONFIG_CM3605 is not set +# CONFIG_CM36651 is not set +# CONFIG_GP2AP020A00F is not set +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_ISL29125 is not set +# CONFIG_JSA1212 is not set +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_LV0104CS is not set +# CONFIG_MAX44000 is not set +# CONFIG_OPT3001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1133 is not set +# CONFIG_SI1145 is not set +# CONFIG_STK3310 is not set +# CONFIG_ST_UVIS25 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +# CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL2583 is not set +# CONFIG_TSL2772 is not set +# CONFIG_TSL4531 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set +# CONFIG_VEML6070 is not set +# CONFIG_VL6180 is not set +# CONFIG_ZOPT2201 is not set + +# +# Magnetometer sensors +# +# CONFIG_AK8974 is not set +# CONFIG_AK8975 is not set +# CONFIG_AK09911 is not set +# CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set +# CONFIG_MAG3110 is not set +# CONFIG_MMC35240 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set + +# +# Multiplexers +# +# CONFIG_IIO_MUX is not set + +# +# Inclinometer sensors +# + +# +# Digital potentiometers +# +# CONFIG_AD5272 is not set +# CONFIG_DS1803 is not set +# CONFIG_MAX5481 is not set +# CONFIG_MAX5487 is not set +# CONFIG_MCP4018 is not set +# CONFIG_MCP4131 is not set +# CONFIG_MCP4531 is not set +# CONFIG_TPL0102 is not set + +# +# Digital potentiostats +# +# CONFIG_LMP91000 is not set + +# +# Pressure sensors +# +# CONFIG_ABP060MG is not set +# CONFIG_BMP280 is not set +# CONFIG_HP03 is not set +# CONFIG_MPL115_I2C is not set +# CONFIG_MPL115_SPI is not set +# CONFIG_MPL3115 is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +# CONFIG_IIO_ST_PRESS is not set +# CONFIG_T5403 is not set +# CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set + +# +# Lightning sensors +# +# CONFIG_AS3935 is not set + +# +# Proximity and distance sensors +# +# CONFIG_ISL29501 is not set +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_RFD77402 is not set +# CONFIG_SRF04 is not set +# CONFIG_SX9500 is not set +# CONFIG_SRF08 is not set + +# +# Resolver to digital converters +# +# CONFIG_AD2S1200 is not set + +# +# Temperature sensors +# +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MLX90614 is not set +# CONFIG_MLX90632 is not set +# CONFIG_TMP006 is not set +# CONFIG_TMP007 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set +# CONFIG_PWM is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_CPCAP_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_EXPORTFS_BLOCK_OPS is not set +# CONFIG_FILE_LOCKING is not set +# CONFIG_FS_ENCRYPTION is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_YAFFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +# CONFIG_JFFS2_ZLIB is not set +CONFIG_JFFS2_LZO=y +# CONFIG_JFFS2_RTIME is not set +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_UBIFS_FS is not set +# CONFIG_CRAMFS is not set +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=y +# CONFIG_SQUASHFS_ZSTD is not set +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +# CONFIG_CRYPTO_ECDH is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=y +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_SIMD=y + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_AEGIS128L is not set +# CONFIG_CRYPTO_AEGIS256 is not set +# CONFIG_CRYPTO_MORUS640 is not set +# CONFIG_CRYPTO_MORUS1280 is not set +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +# CONFIG_CRYPTO_ZSTD is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_NVT_IVOT_NA51089_CRYPTO is not set +# CONFIG_CRYPTO_DEV_NVT_IVOT_NA51089_HASH is not set +# CONFIG_CRYPTO_DEV_NVT_IVOT_NA51089_RSA is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set + +# +# Certificates for signature checking +# +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +CONFIG_HAVE_ARCH_KASAN=y +# CONFIG_KASAN is not set +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +CONFIG_DEBUG_SPINLOCK=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_ATOMIC_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_STACKTRACE is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_STRICT_DEVMEM is not set +# CONFIG_ARM_PTDUMP_DEBUGFS is not set +# CONFIG_DEBUG_WX is not set +# CONFIG_ARM_UNWIND is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_CORESIGHT is not set diff --git a/BSP/linux-kernel/arch/arm/configs/na51089_evb_cardv_defconfig_release b/BSP/linux-kernel/arch/arm/configs/na51089_evb_cardv_defconfig_release index f051f12d9..7d876b59a 100755 --- a/BSP/linux-kernel/arch/arm/configs/na51089_evb_cardv_defconfig_release +++ b/BSP/linux-kernel/arch/arm/configs/na51089_evb_cardv_defconfig_release @@ -16,6 +16,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # +CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" @@ -58,10 +59,7 @@ CONFIG_IRQ_FORCED_THREADING=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_ARCH_CLOCKSOURCE_DATA=y -CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_ARCH_HAS_TICK_BROADCAST=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y # # Timers subsystem @@ -70,7 +68,6 @@ CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ=y # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set @@ -83,7 +80,6 @@ CONFIG_PREEMPT_COUNT=y CONFIG_TICK_CPU_ACCOUNTING=y # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set # CONFIG_IRQ_TIME_ACCOUNTING is not set -CONFIG_CPU_ISOLATION=y # # RCU Subsystem @@ -97,7 +93,6 @@ CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=15 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 CONFIG_GENERIC_SCHED_CLOCK=y # CONFIG_CGROUPS is not set @@ -108,12 +103,12 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" # CONFIG_INITRAMFS_FORCE is not set -CONFIG_RD_GZIP=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_RD_XZ=y -CONFIG_RD_LZO=y -CONFIG_RD_LZ4=y +# 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_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y @@ -130,7 +125,6 @@ CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y CONFIG_PRINTK_NMI=y # CONFIG_BUG is not set -CONFIG_ELF_CORE=y # CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_FUTEX_PI=y @@ -165,7 +159,6 @@ CONFIG_SLUB=y # CONFIG_SLAB_MERGE_DEFAULT is not set # CONFIG_SLAB_FREELIST_RANDOM is not set # CONFIG_SLAB_FREELIST_HARDENED is not set -CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y # CONFIG_PROFILING is not set CONFIG_ARM=y @@ -259,11 +252,12 @@ CONFIG_ARM_THUMB=y CONFIG_ARM_VIRT_EXT=y CONFIG_SWP_EMULATE=y # CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_BPREDICT_DISABLE is not set CONFIG_CPU_SPECTRE=y # CONFIG_HARDEN_BRANCH_PREDICTOR is not set -CONFIG_KUSER_HELPERS=y -CONFIG_VDSO=y +# CONFIG_KUSER_HELPERS is not set +# CONFIG_VDSO is not set CONFIG_OUTER_CACHE=y CONFIG_OUTER_CACHE_SYNC=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y @@ -279,17 +273,11 @@ CONFIG_ARM_HEAVY_MB=y # CONFIG_ARM_ERRATA_430973 is not set # CONFIG_ARM_ERRATA_458693 is not set # CONFIG_ARM_ERRATA_460075 is not set -# CONFIG_ARM_ERRATA_742230 is not set -# CONFIG_ARM_ERRATA_742231 is not set -# CONFIG_ARM_ERRATA_643719 is not set # CONFIG_ARM_ERRATA_720789 is not set # CONFIG_ARM_ERRATA_743622 is not set # CONFIG_ARM_ERRATA_751472 is not set # CONFIG_ARM_ERRATA_754322 is not set -# CONFIG_ARM_ERRATA_754327 is not set -CONFIG_ARM_ERRATA_764369=y # CONFIG_ARM_ERRATA_775420 is not set -# CONFIG_ARM_ERRATA_798181 is not set # CONFIG_ARM_ERRATA_773022 is not set # CONFIG_ARM_ERRATA_818325_852422 is not set # CONFIG_ARM_ERRATA_821420 is not set @@ -311,21 +299,15 @@ CONFIG_ARM_ERRATA_764369=y # Kernel Features # CONFIG_HAVE_SMP=y -CONFIG_SMP=y -CONFIG_SMP_ON_UP=y -# CONFIG_ARM_CPU_TOPOLOGY is not set +# CONFIG_SMP is not set CONFIG_HAVE_ARM_SCU=y # CONFIG_HAVE_ARM_ARCH_TIMER is not set CONFIG_HAVE_ARM_TWD=y -# CONFIG_MCPM is not set -# CONFIG_BIG_LITTLE is not set # CONFIG_VMSPLIT_3G is not set # CONFIG_VMSPLIT_3G_OPT is not set CONFIG_VMSPLIT_2G=y # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0x80000000 -CONFIG_NR_CPUS=2 -# CONFIG_HOTPLUG_CPU is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_MEMORY_PROBE=y @@ -349,7 +331,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_HAVE_ARCH_PFN_VALID=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_CPU_SW_DOMAIN_PAN=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y # CONFIG_ARM_MODULE_PLTS is not set @@ -378,6 +360,7 @@ CONFIG_CMDLINE="quiet" CONFIG_CMDLINE_EXTEND=y # CONFIG_CMDLINE_FORCE is not set # CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set # CONFIG_CRASH_DUMP is not set # CONFIG_AUTO_ZRELADDR is not set @@ -438,7 +421,6 @@ CONFIG_CRYPTO_AES_ARM=y CONFIG_CRYPTO_AES_ARM_BS=y # CONFIG_CRYPTO_AES_ARM_CE is not set # CONFIG_CRYPTO_GHASH_ARM_CE is not set -# CONFIG_CRYPTO_CRCT10DIF_ARM_CE is not set # CONFIG_CRYPTO_CRC32_ARM_CE is not set # CONFIG_CRYPTO_CHACHA20_NEON is not set # CONFIG_VIRTUALIZATION is not set @@ -514,15 +496,15 @@ CONFIG_MODVERSIONS=y # CONFIG_MODULE_COMPRESS is not set # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_BLOCK=y -CONFIG_LBDAF=y +# CONFIG_LBDAF is not set CONFIG_BLK_SCSI_REQUEST=y CONFIG_BLK_DEV_BSG=y -CONFIG_BLK_DEV_BSGLIB=y -CONFIG_BLK_DEV_INTEGRITY=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_ZONED is not set # CONFIG_BLK_CMDLINE_PARSER is not set # CONFIG_BLK_WBT is not set -CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_DEBUG_FS is not set # CONFIG_BLK_SED_OPAL is not set # @@ -546,9 +528,6 @@ CONFIG_DEFAULT_IOSCHED="noop" CONFIG_ASN1=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_LOCK_SPIN_ON_OWNER=y # # Executable file formats @@ -556,11 +535,10 @@ CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_ELF_FDPIC is not set CONFIG_ELFCORE=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_BINFMT_SCRIPT=y # CONFIG_BINFMT_FLAT is not set # CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y +# CONFIG_COREDUMP is not set # # Memory Management options @@ -582,6 +560,7 @@ CONFIG_MIGRATION=y CONFIG_BOUNCE=y # CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_NEED_PER_CPU_KM=y # CONFIG_CLEANCACHE is not set # CONFIG_CMA is not set # CONFIG_ZPOOL is not set @@ -664,13 +643,9 @@ CONFIG_HAVE_NET_DSA=y # CONFIG_NET_SWITCHDEV is not set # CONFIG_NET_L3_MASTER_DEV is not set # CONFIG_NET_NCSI is not set -CONFIG_RPS=y -CONFIG_RFS_ACCEL=y -CONFIG_XPS=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y # CONFIG_BPF_JIT is not set -CONFIG_NET_FLOW_LIMIT=y # # Network testing @@ -829,19 +804,8 @@ CONFIG_MTD_CFI_I2=y # # CONFIG_MTD_DOCG3 is not set # CONFIG_MTD_ONENAND is not set -CONFIG_MTD_NAND_ECC=y -CONFIG_MTD_NAND_ECC_SMC=y -CONFIG_MTD_NAND=y -# CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_NAND_DENALI_DT is not set -# CONFIG_MTD_NAND_GPIO is not set -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_DOCG4 is not set -# CONFIG_MTD_NAND_NANDSIM is not set -# CONFIG_MTD_NAND_BRCMNAND is not set -# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND is not set # CONFIG_MTD_SPI_NAND is not set -# CONFIG_MTD_SPINAND is not set # CONFIG_FLASH_ONLY_DUAL is not set CONFIG_MTD_SPINOR=y CONFIG_MTD_EXTERNAL_FLASH_TABLE=y @@ -851,12 +815,7 @@ CONFIG_MTD_EXTERNAL_FLASH_TABLE=y # # CONFIG_MTD_LPDDR is not set # CONFIG_MTD_LPDDR2_NVM is not set -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_LIMIT=30 -CONFIG_MTD_UBI_FASTMAP=y -# CONFIG_MTD_UBI_GLUEBI is not set -CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI is not set CONFIG_DTC=y CONFIG_OF=y # CONFIG_OF_UNITTEST is not set @@ -867,23 +826,13 @@ CONFIG_OF_DYNAMIC=y CONFIG_OF_ADDRESS=y CONFIG_OF_IRQ=y CONFIG_OF_NET=y -CONFIG_OF_MDIO=y +CONFIG_OF_MDIO=m CONFIG_OF_RESERVED_MEM=y CONFIG_OF_RESOLVE=y CONFIG_OF_OVERLAY=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y # CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_NULL_BLK is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set -# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV is not set # # NVME Support @@ -926,8 +875,6 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_ALTERA_STAPL is not set # @@ -984,7 +931,6 @@ CONFIG_SCSI_PROC_FS=y CONFIG_BLK_DEV_SD=m # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set # CONFIG_CHR_DEV_SCH is not set # CONFIG_SCSI_CONSTANTS is not set @@ -1007,7 +953,7 @@ CONFIG_BLK_DEV_SD=m # CONFIG_MD is not set # CONFIG_TARGET_CORE is not set CONFIG_NETDEVICES=y -CONFIG_MII=y +CONFIG_MII=m CONFIG_NET_CORE=y # CONFIG_BONDING is not set # CONFIG_DUMMY is not set @@ -1075,15 +1021,15 @@ CONFIG_NOVATEK_DWC_ETH_QOS_NA51089=m # CONFIG_NET_VENDOR_SYNOPSYS is not set # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVICE=m +CONFIG_MDIO_BUS=m # CONFIG_MDIO_BCM_UNIMAC is not set # CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BUS_MUX_GPIO is not set # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_HISI_FEMAC is not set # CONFIG_MDIO_MSCC_MIIM is not set -CONFIG_PHYLIB=y +CONFIG_PHYLIB=m CONFIG_SWPHY=y # @@ -1103,7 +1049,7 @@ CONFIG_SWPHY=y # CONFIG_DP83TC811_PHY is not set # CONFIG_DP83848_PHY is not set # CONFIG_DP83867_PHY is not set -CONFIG_FIXED_PHY=y +CONFIG_FIXED_PHY=m # CONFIG_ICPLUS_PHY is not set # CONFIG_INTEL_XWAY_PHY is not set # CONFIG_LSI_ET1011C_PHY is not set @@ -1128,48 +1074,7 @@ CONFIG_NVT_PHY_NA51055=m # CONFIG_MICREL_KS8995MA is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set -CONFIG_USB_NET_DRIVERS=y -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_RTL8152 is not set -# CONFIG_USB_LAN78XX is not set -CONFIG_USB_USBNET=y -CONFIG_USB_NET_AX8817X=y -CONFIG_USB_NET_AX88179_178A=y -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_CDC_EEM is not set -CONFIG_USB_NET_CDC_NCM=y -# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set -CONFIG_USB_NET_CDC_MBIM=y -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_SR9700 is not set -# CONFIG_USB_NET_SR9800 is not set -# CONFIG_USB_NET_SMSC75XX is not set -# CONFIG_USB_NET_SMSC95XX is not set -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_MCS7830 is not set -CONFIG_USB_NET_RNDIS_HOST=y -CONFIG_USB_NET_CDC_SUBSET_ENABLE=y -CONFIG_USB_NET_CDC_SUBSET=y -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_KC2190 is not set -CONFIG_USB_NET_ZAURUS=y -# CONFIG_USB_NET_CX82310_ETH is not set -# CONFIG_USB_NET_KALMIA is not set -CONFIG_USB_NET_QMI_WWAN=y -# CONFIG_USB_NET_INT51X1 is not set -# CONFIG_USB_IPHETH is not set -# CONFIG_USB_SIERRA_NET is not set -# CONFIG_USB_VL600 is not set -# CONFIG_USB_NET_CH9200 is not set +# CONFIG_USB_NET_DRIVERS is not set CONFIG_WLAN=y # CONFIG_WIRELESS_WDS is not set # CONFIG_WLAN_VENDOR_ADMTEK is not set @@ -1205,30 +1110,7 @@ CONFIG_HOSTAP=m # # Input device support # -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_MATRIXKMAP is not set - -# -# Userland interfaces -# -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_EVDEV is not set -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_MISC is not set -# CONFIG_RMI4_CORE is not set +# CONFIG_INPUT is not set # # Hardware I/O ports @@ -1240,11 +1122,7 @@ CONFIG_INPUT=y # Character devices # CONFIG_TTY=y -CONFIG_VT=y -# CONFIG_CONSOLE_TRANSLATIONS is not set -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_VT is not set CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set # CONFIG_SERIAL_NONSTANDARD is not set @@ -1366,8 +1244,7 @@ CONFIG_SPI_MASTER=y # CONFIG_SPI_XCOMM is not set # CONFIG_SPI_XILINX is not set # CONFIG_SPI_ZYNQMP_GQSPI is not set -CONFIG_SPI_NA51055=m -# CONFIG_NVT_SPI_DMA_BUSY_WAIT is not set +# CONFIG_SPI_NA51055 is not set # # SPI Protocol Masters @@ -1487,8 +1364,7 @@ CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_GPIO_WATCHDOG is not set # CONFIG_XILINX_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set -CONFIG_NA51055_WATCHDOG=y -# CONFIG_NA51055_WATCHDOG_EXTERNAL_RESET is not set +# CONFIG_NA51055_WATCHDOG is not set # CONFIG_CADENCE_WATCHDOG is not set # CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set @@ -1607,7 +1483,6 @@ CONFIG_BCMA_POSSIBLE=y # CONFIG_MFD_WM8994 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_REGULATOR is not set -# CONFIG_RC_CORE is not set # CONFIG_MEDIA_SUPPORT is not set # @@ -1655,115 +1530,8 @@ CONFIG_NVT_FB_FR=m # CONFIG_NVT_FB_DEBUG is not set # CONFIG_NVT_FB_FORCE_INIT is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Console display driver support -# -CONFIG_DUMMY_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE is not set # CONFIG_LOGO is not set # CONFIG_SOUND is not set - -# -# HID support -# -CONFIG_HID=m -# CONFIG_HID_BATTERY_STRENGTH is not set -# CONFIG_HIDRAW is not set -# CONFIG_UHID is not set -CONFIG_HID_GENERIC=m - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACCUTOUCH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_BETOP_FF is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_COUGAR is not set -# CONFIG_HID_CMEDIA is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_ITE is not set -# CONFIG_HID_JABRA is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MAYFLASH is not set -# CONFIG_HID_REDRAGON is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set -# CONFIG_HID_NTI is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PENMOUNT is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_RETRODE is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEAM is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_UDRAW_PS3 is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_ALPS is not set - -# -# USB HID support -# -CONFIG_USB_HID=m -# CONFIG_HID_PID is not set -# CONFIG_USB_HIDDEV is not set - -# -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -# -# I2C HID support -# -# CONFIG_I2C_HID is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y @@ -1806,7 +1574,7 @@ CONFIG_USB_EHCI_HCD_NVTIVOT=y # CONFIG_USB_ACM=y # CONFIG_USB_PRINTER is not set -CONFIG_USB_WDM=y +# CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set # @@ -1827,7 +1595,6 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set # CONFIG_USB_STORAGE_KARMA is not set # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_STORAGE_ENE_UB6250 is not set @@ -1894,9 +1661,9 @@ CONFIG_USB_SERIAL_QUALCOMM=y # CONFIG_USB_SERIAL_CYBERJACK is not set # CONFIG_USB_SERIAL_XIRCOM is not set CONFIG_USB_SERIAL_WWAN=y -# CONFIG_USB_SERIAL_OPTION is not set +CONFIG_USB_SERIAL_OPTION=y # CONFIG_USB_SERIAL_OMNINET is not set -CONFIG_USB_SERIAL_OPTICON=y +# CONFIG_USB_SERIAL_OPTICON is not set # CONFIG_USB_SERIAL_XSENS_MT is not set # CONFIG_USB_SERIAL_WISHBONE is not set # CONFIG_USB_SERIAL_SSU100 is not set @@ -2125,7 +1892,6 @@ CONFIG_DRTC_DRV_NA51055=y # # HID Sensor RTC drivers # -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set # CONFIG_DMADEVICES is not set # @@ -2224,7 +1990,7 @@ CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y # CONFIG_NVT_OTP_SUPPORT=y CONFIG_NVT_HDAL_BUILD_IN=y -CONFIG_NVT_STACK_CHECK=y +# CONFIG_NVT_STACK_CHECK is not set # CONFIG_NVT_PERF_MEASURE is not set # @@ -2238,9 +2004,9 @@ CONFIG_NVT_HDAL_KDRV_BUILTIN=y # CONFIG_PM_DEVFREQ is not set # CONFIG_EXTCON is not set # CONFIG_MEMORY is not set -CONFIG_IIO=m +CONFIG_IIO=y # CONFIG_IIO_BUFFER is not set -CONFIG_IIO_CONFIGFS=m +# CONFIG_IIO_CONFIGFS is not set # CONFIG_IIO_TRIGGER is not set # CONFIG_IIO_SW_DEVICE is not set # CONFIG_IIO_SW_TRIGGER is not set @@ -2630,8 +2396,6 @@ CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_EXT4_FS is not set # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set # CONFIG_NILFS2_FS is not set @@ -2639,17 +2403,10 @@ CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_EXPORTFS_BLOCK_OPS is not set # CONFIG_FILE_LOCKING is not set # CONFIG_FS_ENCRYPTION is not set -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y -CONFIG_FANOTIFY=y -CONFIG_QUOTA=y -# CONFIG_QUOTA_NETLINK_INTERFACE is not set -CONFIG_PRINT_QUOTA_WARNING=y -# CONFIG_QUOTA_DEBUG is not set -# CONFIG_QFMT_V1 is not set -# CONFIG_QFMT_V2 is not set -CONFIG_QUOTACTL=y +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set # CONFIG_AUTOFS4_FS is not set # CONFIG_AUTOFS_FS is not set # CONFIG_FUSE_FS is not set @@ -2697,19 +2454,7 @@ CONFIG_MISC_FILESYSTEMS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -CONFIG_YAFFS_FS=y -CONFIG_YAFFS_YAFFS1=y -# CONFIG_YAFFS_9BYTE_TAGS is not set -# CONFIG_YAFFS_DOES_ECC is not set -CONFIG_YAFFS_YAFFS2=y -CONFIG_YAFFS_AUTO_YAFFS2=y -# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set -# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set -# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set -# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set -# CONFIG_YAFFS_DISABLE_BACKGROUND is not set -# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set -CONFIG_YAFFS_XATTR=y +# CONFIG_YAFFS_FS is not set CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y @@ -2725,14 +2470,6 @@ CONFIG_JFFS2_LZO=y # CONFIG_JFFS2_CMODE_PRIORITY is not set # CONFIG_JFFS2_CMODE_SIZE is not set CONFIG_JFFS2_CMODE_FAVOURLZO=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_UBIFS_ATIME_SUPPORT is not set -CONFIG_UBIFS_FS_XATTR=y -# CONFIG_UBIFS_FS_ENCRYPTION is not set -CONFIG_UBIFS_FS_SECURITY=y # CONFIG_CRAMFS is not set CONFIG_SQUASHFS=y CONFIG_SQUASHFS_FILE_CACHE=y @@ -2777,8 +2514,8 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set @@ -2787,30 +2524,30 @@ CONFIG_NLS_CODEPAGE_950=m # CONFIG_NLS_CODEPAGE_1251 is not set CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_MAC_ROMAN=m -CONFIG_NLS_MAC_CELTIC=m -CONFIG_NLS_MAC_CENTEURO=m -CONFIG_NLS_MAC_CROATIAN=m -CONFIG_NLS_MAC_CYRILLIC=m -CONFIG_NLS_MAC_GAELIC=m -CONFIG_NLS_MAC_GREEK=m -CONFIG_NLS_MAC_ICELAND=m -CONFIG_NLS_MAC_INUIT=m -CONFIG_NLS_MAC_ROMANIAN=m -CONFIG_NLS_MAC_TURKISH=m -CONFIG_NLS_UTF8=m +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set # CONFIG_DLM is not set # @@ -2858,7 +2595,6 @@ CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y -# CONFIG_CRYPTO_PCRYPT is not set CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=y # CONFIG_CRYPTO_MCRYPTD is not set @@ -3006,7 +2742,7 @@ CONFIG_GENERIC_PCI_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y # CONFIG_CRC_CCITT is not set CONFIG_CRC16=y -CONFIG_CRC_T10DIF=y +# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set @@ -3024,7 +2760,6 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y @@ -3034,12 +2769,6 @@ CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DECOMPRESS_XZ=y -CONFIG_DECOMPRESS_LZO=y -CONFIG_DECOMPRESS_LZ4=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y @@ -3048,7 +2777,6 @@ CONFIG_HAS_DMA=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SGL_ALLOC=y -CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_NLATTR=y CONFIG_CLZ_TAB=y @@ -3110,7 +2838,6 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y # CONFIG_DEBUG_VIRTUAL is not set # CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set # CONFIG_DEBUG_HIGHMEM is not set CONFIG_HAVE_ARCH_KASAN=y # CONFIG_KASAN is not set @@ -3144,7 +2871,6 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_DEBUG_SPINLOCK=y # CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_RWSEMS is not set # CONFIG_DEBUG_LOCK_ALLOC is not set CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set diff --git a/BSP/linux-kernel/scripts/basic/.fixdep.cmd b/BSP/linux-kernel/scripts/basic/.fixdep.cmd new file mode 100644 index 000000000..9ff5f31b9 --- /dev/null +++ b/BSP/linux-kernel/scripts/basic/.fixdep.cmd @@ -0,0 +1,86 @@ +cmd_scripts/basic/fixdep := gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -o scripts/basic/fixdep scripts/basic/fixdep.c + +source_scripts/basic/fixdep := scripts/basic/fixdep.c + +deps_scripts/basic/fixdep := \ + $(wildcard include/config/his/driver.h) \ + $(wildcard include/config/my/option.h) \ + $(wildcard include/config/foo.h) \ + /usr/include/stdc-predef.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/unistd.h \ + /usr/include/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl2.h \ + /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h \ + /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \ + /usr/include/x86_64-linux-gnu/bits/string_fortified.h \ + /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/include/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/libio.h \ + /usr/include/x86_64-linux-gnu/bits/_G_config.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/include/ctype.h \ + +scripts/basic/fixdep: $(deps_scripts/basic/fixdep) + +$(deps_scripts/basic/fixdep): diff --git a/BSP/linux-kernel/scripts/basic/fixdep b/BSP/linux-kernel/scripts/basic/fixdep new file mode 100755 index 0000000000000000000000000000000000000000..91806fec0d4a25670571cc1da20924ecffff80c7 GIT binary patch literal 13568 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 literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/.mconf-cfg b/BSP/linux-kernel/scripts/kconfig/.mconf-cfg new file mode 100644 index 000000000..18698b6f4 --- /dev/null +++ b/BSP/linux-kernel/scripts/kconfig/.mconf-cfg @@ -0,0 +1,2 @@ +cflags="-D_GNU_SOURCE" +libs="-lncurses" diff --git a/BSP/linux-kernel/scripts/kconfig/.mconf.cmd b/BSP/linux-kernel/scripts/kconfig/.mconf.cmd new file mode 100644 index 000000000..3c5e5afde --- /dev/null +++ b/BSP/linux-kernel/scripts/kconfig/.mconf.cmd @@ -0,0 +1 @@ +cmd_scripts/kconfig/mconf := gcc -o scripts/kconfig/mconf scripts/kconfig/mconf.o scripts/kconfig/zconf.tab.o scripts/kconfig/lxdialog/checklist.o scripts/kconfig/lxdialog/inputbox.o scripts/kconfig/lxdialog/menubox.o scripts/kconfig/lxdialog/textbox.o scripts/kconfig/lxdialog/util.o scripts/kconfig/lxdialog/yesno.o -lncurses diff --git a/BSP/linux-kernel/scripts/kconfig/.zconf.lex.c.cmd b/BSP/linux-kernel/scripts/kconfig/.zconf.lex.c.cmd new file mode 100644 index 000000000..d9f87ddd5 --- /dev/null +++ b/BSP/linux-kernel/scripts/kconfig/.zconf.lex.c.cmd @@ -0,0 +1 @@ +cmd_scripts/kconfig/zconf.lex.c := flex -oscripts/kconfig/zconf.lex.c -L scripts/kconfig/zconf.l diff --git a/BSP/linux-kernel/scripts/kconfig/.zconf.tab.c.cmd b/BSP/linux-kernel/scripts/kconfig/.zconf.tab.c.cmd new file mode 100644 index 000000000..9b30ad760 --- /dev/null +++ b/BSP/linux-kernel/scripts/kconfig/.zconf.tab.c.cmd @@ -0,0 +1 @@ +cmd_scripts/kconfig/zconf.tab.c := bison -oscripts/kconfig/zconf.tab.c -t -l scripts/kconfig/zconf.y diff --git a/BSP/linux-kernel/scripts/kconfig/lxdialog/checklist.o b/BSP/linux-kernel/scripts/kconfig/lxdialog/checklist.o new file mode 100644 index 0000000000000000000000000000000000000000..c74d5c17be82946de3d7c1f500635835e0e68b52 GIT binary patch literal 12200 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 literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/lxdialog/inputbox.o b/BSP/linux-kernel/scripts/kconfig/lxdialog/inputbox.o new file mode 100644 index 0000000000000000000000000000000000000000..ebeff85d3351910cfd6884efde68655515518f6e GIT binary patch literal 12360 zcmbVS4RBOdmVS>!2|xBl&1f`gTJ2R(h{=dGi3*br9e8nqvJwR4Cx%WS3?X5Xj{FE2 znC_nSP4d!A&F&OsspAh-qNBU&tPHv%f*24PUBqD*&G6S@<=jLxR`m0%cfPZ`gV7VF^OIBM_V-5#c7Bo}2|#RjSJ#M-s!VL zfm?%4*#N%B2c1x$ugw13GT*S`0~VkH5xX7y#j7(iqdU!8KqJ~0fSY)=@!X(u*Fdz> zEIuUK%K?QZoU*%jb?2Ff-sulb__)kIVRzfRL-r?dl(`#z`HiPaVf?6lnhBpupd#dJp<~!ME1$GyeKGM{gGy5&_4VU(Y-vvqjMTYME96> zeIUm(pVt)bgOrecgaoba9~gLZQ1+VF0`V%Go4=yoH=vm^ua3+ z{L==Eh-<&Lt9#s28#Z7YL$6uR>=Bj-y>Gu}yw(Pzt!P(TeP2qqzSvr zoQ7|lX=Yjc82nPydV>`{Y&q-}%bA#CWh@93Eb;s*cC?VW76QZbQSk>Y-Eau@XikPw zSbf9a-$-rSAPu}N3O#(6D3a(p#H-yYV%Ncu(f&FSdk>xxiR*@c6b^6GNlT*1nm#l z8Z0ZqD#N`F_>>V)$?mi(16jhU1`zEVC1N*^f&zU%7qQ2nK(sGQ#5QBHv3~%|RPu?$ z4?*tvr!C70ALy&zCT5*AE6wi}vM;*fpM( z%n-iHD}lTWUQ>y`8~e|pdF(Jb&iNLeig&e64@UbTA_8qiY?_Z5Mti(Hn?h^ZbkT7! z8S1Uy%>EV6R+KizVy2?9Pq-BUuFp!c$#w?U~_R(K%YWq8ok_ ziG3HaDMO92LLk1yQ=iQjc^j~RJx$+kE{L%28~Za!fkXuqlD=`a;(oM$ zwTOL&l-k%&yD4JVbNn=l`27Htb+m8H?Ja;DA0GMoqGQcZ%58B&E+3@eEXDy)1;kA!ooV zmuh-P`|9k@$nQmBF4T|q`9Ztjw69Ubp2c1$Hf}CS>PNziLXD*;kAE;$ z%aFVnxnocTDgz=u6N_9w*o4|@0$Cx{l?pEoZ$bH3pB*Z$4_G4cR}SiTagd<6D zy$?~q5gOTxbZI|ETZjIwG+=}q> z{4q+z@BNl8HjtyJeo|b9;8BjtTd>)RFF9dEz$7`7Rt2l_*{_ty)s3|soDy{DdO0#b-Z6(h~o3HmOclB)+a zg?HK!-0m{nUM@P(Vl4NB| z;2xhAFM*LdEiT~7fYNplTdDZCC7_V|hHjENRUFvVsm>jT4obxSh`0(mGe-oY$4t8- zFwe0DiuYhrDH5mQa0~Szi*knBJXmeN5j|=mG#AL8YY)mU?^Ott6U*ZJT4!0|1%V>f zl8GIYb4p^pBDM=*DZvV-CdZ^kt)%B7oImB!*UfUVBN7;3!p$I5?kz9=Ys<%Nm4SJr zf&$eyZ^j>y(+aRVxoD|=V?7wDMBI)f77n%0s1ge}i_qm&!jNotE$s%Xe|!r(j6{i` z*QCB&kMm7m$<3dk$s;F|Gwn|IIPxGRUKXk)+1e707xZHYA(40mJIz5^3Qvo~+t7|r z!W${l`#6@pSl9{f9549@PGxOM=-o~%I|dM9GG0z2?7VnsKY-BCt$FQBP%2hKEp9IxF_}V1Y#*nUl!+*z ziEOAsZqH*?gAm_&oHhg~Z|g630!Mzsq^P-1VB+@R zk0kXe(xsH;)Y8ALNcW%^xI2l|J5JV-lq2dI?vIawF76{h=wQhTVJ9j!t_x&Stcb*H zY@)0TFvEL>Ev5&c<0A1DB9c!f`CwG?z(g~OlrhoEaDSuUq)LEI!;&B#xb&LA+YVr2 zytlQoB3zTK4y9sSray)w`!Sd&W!&yWt~4t$YET?5_Udps9zug++w=jVTt$>(#|f1M zGmDS3d?+LMtYJhYOvDtx#QbwDBcQt12!-IE=_75~cVmIc`1JQ~x1* zgel1M;UgSmw8u`3~y0*fz_w@J8l=Sp!z_u9g$- zUW6L!%l`iX*ejPM{r@6zR{H-HQonrztdXt2uW(N`R*5>y&o+H3l0e(6BUCr?xVfTw z>COg6+7~Vm>fl08Tg03~Z~_jhovrE!!!s}9a2!R~REU#th(;{Sa_Y}F=?E-=rFe(Y zgM*<2uhu$Ev8{~5aTG1k!qLL3n~&h(A!jCwb+3gV+J4@`ZcAb~H)r!xPIiERFWziDfK_ z?ZXqx&A8=0!Z7Y%t?qw*T;A`7J6w{;>oe5-KdbvEfVhkBM@GA(llUmXFj&M`Ov?q%zC|GH9>qr4$9)I6cUyNDK|K4+euwf0yNMCSTE; zs1wv*C;ozkToXQ_BaeF5`;O5By-pXh-2DhvEy-8U16oG8*ecG(mbn@_pFBiI*ZRNU z*oyo&&Y{T1{D?r$!aav5?uS;$Uf|w}$7#jGwBp~fBJz}cE75j#a#wShT7z;$tcgN2 zaTym)RJex_2qLjwnQ|j`Lho)qJqpw2VfSR;%Z9Iq+9I)x9fC^i$8Gk^Ebwx_AotKd zx@8bv zSmvnDp+mOXlE@@gcV^V6|Zb-e?~Z~6Ec>xFdp@7O^;iTt$vebgM$Ys?FZka!m`cN18n zzoPdIaV6z;O6onh>pkbTRx2TgAXN#uj56~KD81)%ybl|L7SQd1BUEW|Pj)9$?m@~v z&dS(aQg1o*7>q~tZfpw+@Lq}4k%yOx7=$G6VXy&f#kKCZuw``wb+z z=Yh=YCp@nY_CoF#6bw|VHq#0!Rn=I*rRqJfb5GJf(t9$Hv@lbUOeLnDDEc;yw+ATc7&KXha%W2OD`TW1k4En}L&za{d z7*XOI4>&Phe`JK#C-}v@(LcW4uo*VQPMMuu?J!+0P z>f35g_dRFch3_B%Z(wpSfS=*J6hOvgbF{B0=qrF!Z~-?@*z_?O`!eO?RdTVEo$d>! z8JWhH^!Rhu$QbsQJ;TVrzu`s(I1M*43~thg+`>~U`bm=R4fd&=XBg-MhZz|LACW`u zT*_Bx^Uss`aGWv>^!q6zfa`H77+v0+2A`1zpP2@~3-|@FcO|}Qa4g_^2|nlJp!VaN z2K@j@V=X?z>GLmX@QyV2gK6-`(%@Uu;LoJNUrd9)k_LZ04SpaE{!tqINE-ahGWA zInoqfxuz;yx7=us)HH{ijGCtERaMP()isT)jE34(tClqw%WK!HtgbO?>X&+Vp{h|G zZmwEUz0z1!T~iaTlbS@9Me1wiyt*aQxT=XLmexi<(b!N0K2^2NVWXzDp4igT1}FeE z!jUyAYpWJl)i;I}Ayizpw$@luUkzh;Pzj`gw#dK>76a`9j{*WQsDj|FXcDLVqe1j| z<&wlH|7fJr-|fMS<9%t8p7MYO@xiYxN&HCyF^CU-7fa&L6No|d7viJz+)f~d;)91e z9#at)G>8wKA&P#chErFj@P!(Fk%reuocLdi&#m~-Xh^~9J=oZw@yP+E_;;kCe@vs- z{qw9wPkZ!`Eb%XD^p|S<_ovXuB>n%Sq3_k`b-OajPz?GaxmzTkQ4%MA>T)m9aQgjO z+3VN%==`T@^mKkJ`tmgND^hUf=O&Gh?&n`?xb9E-t(OLUkv`ed{wFnDkHhn%-E>>W zCrLcj52YHe%e_s*@!L((-Z?4!Rot%7=r7mk>DO2qB=-t@l;2+0a5`fZ-jl*#;ooWW zevN)6F~*>;EAdhE^aD4IRJo66xUT0XY4B{>63}g(ex8Qwav#=k-L9|F;03aUApSa^ z8V%R^JgwonK3}H6BO}QRo*#5R+caF~^EZjB_`x#|kBPFMAU$-qbK6kO%wK8=r_kFJL6c@d<;27~;dmwE;gQ3@3Mg8oX$%M^F2x*Po3V zPIX4b$*&}y>Yqnb=vAD&mtW)0W*AJ=f*Z$G1^3WNMcBr1MZr{L;5dPL&npQ|-|1r18=H@U({Oepth=-aNTF{bmi<>7SH%sy_5z)M%vQr!+n~e;+lG z7^(I?qTxFI9u3$1b}tnRj8wTxQ*c!`+EZ|~zh6q6^wH&xr3(zg^?h86bX^ zLmxHf$%(>OsvG&uYgR<67aRF_DDl4Q)U2ttzB)fryE3>pX5^_ zXJP3lbwic`b!pIt#$e994hDEaEU1UG43pc7&Kywv}?6kM%S-{rWk<~nKD|I_|O za=jjt#OGtV{;p({t)@`?r!Di=phI{iC&Nz1lz0JykX!V><-~#=UZ5s6C)i nNL^3uP3qnOGIFR%#JD=eIVqQ1%ZFS4sMNpCW0U-wy8izF6vxle literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/lxdialog/menubox.o b/BSP/linux-kernel/scripts/kconfig/lxdialog/menubox.o new file mode 100644 index 0000000000000000000000000000000000000000..5e3bb9dd7d0a57e9eb00f641b1197fee1f4f9271 GIT binary patch literal 13176 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 literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/lxdialog/textbox.o b/BSP/linux-kernel/scripts/kconfig/lxdialog/textbox.o new file mode 100644 index 0000000000000000000000000000000000000000..2ff9e3e25041dbdc140449fe2ab6cdf8856f6a4f GIT binary patch literal 9088 zcmbVQ3vg7`89p~zNaV3M@-ix#Rf8rdffZ3=rEDLT+o z!x0Pm_vjAb@AjWqJC!7^30fV-SnUn85cGGLT}t`M#OKNGM0GH^Co%8a&P{sxcH?H< z>`{70s6_!n*0yDb=)vt{Y+l%tdThx#Rse*eXpUrA!hY~E` zl{g+sjYBYCAM42lTu;$B=_$IPkbNLzf2xde`|-#6`u1+5c_G0q-<6DAF_Vs&WhFS;~yC#>%?)moWFCmi{EELb01 zn3{YF%v9Q~1tB}T?sJlbuu#LPt1hr_Z|_TYP2JY&(M$L1?Vh#f(H!jb?H}jpC%=K2 zd4tU_^X*O`b7-7=unz*@@1PLu&DfMtT-YaK?ks`lg^RUC+G1^q7EYsKwP-qV-0?Fe zcZar~#icn83Epfu0kGYfZibHLE9MI(3uKD<)zo{eJ^fjy+mAqeXBQVhzKjaN-hoS@ z;==w-9_UH8on&`9V~A#!6V;jv$3{0FDQ+gla6J_$ZcY*BZ1Rkj! zMo&MaXr;Z2jX z5(1u|rP1=A06+ZQ;1$qP!h5W*7c4P`viz#Fg9Tdq%5(m1K5u5ShT3-ydBPuA?F;&y zeeIvq%-ss*43?iw^e{&IK(KxF`R(Z<<-opEy4_`_J&wa*7&h6bChvy0qFrvWpU_z` zq-#E=uwy#~I;_qG?9`zW#$oylhB|A_OMnHn{D2kf=F;T6!EmIFrBKrIDUq3|>KXf1|s$bp{Gr}_&6x5w7)lt3$M6bJCoW5#N5v6-Eat>^Prd(AU> z>c&Oq`1#sKpwOjX00-%LGc!7r7qqo;J78vJlA2skho8c?nYmK6-T?o&O$rQks+4B$ zrY`U~JWz$in1TnY(5cL!)My|jyYY+k+@FC(I3*%vzptn2iwi5u54MzJ9pR_ZDUdpZ zy4lXr&7D&NcBa4V!2R6brkFvZ=;epv?`$1{w8#w!pE%OHW!WY(Gha=Hv6^hW1j1-$ z?pBlk0Rb};GM1W|yVT^{u&)05SBFd~NnL7ntI1m+Fy(vIW#mt8>diTf2<~N0=hL7W~NrPB4EdfA9%OnseZaI71*ZNaoK8MuT3M|^Bok@^j&n9 z*WwI&6QU()A*#~*27=e~HcI-aB)s34nV_1S2+K1wvs9}Q+|b#cITsXA>9AK&c6~I^ z0l23u%*52>4`KOcrb@NW zVQAOF~Y2K0wuMb2) zrNWzEIrMQ*-{eq{^H3uME)Zl~S|3-y+nl>X@wUzMu2trG+ca-;&IxbZEEp}IqueC} z8>$$Z`y!|@!3t2@?2P79HRgaz2caPz^34D{K}ha^zswNF9KN{a0+ZZ^0+1u{@Ys(5 zTmgAszN5i4iy1yv!f~HazJTGZBeyU-U&6})N4p)+W8?c<0nf<88~$|SEtk+z!-upF z!8h_ekAZ?la{~Is@IjtJrq3Dc7+x&l07KL;2`+BA_-jsTE9m%Qe^xU5Vh!Yn_f4t& z1jd->a{DO&1L04*;Lo|>FT3D>aKZ5!8_4c17krNk-tB@Pbioe;J_2@ZFH2o|9sxV< zB7e#SAH-@2OkdE3x!@yR@GD&K>s;^~UGUpn@PG?`p9?;3%=3?Cq}Hz zsA_5}i;}8Hba}YGt}zxTRk517#&An460MC@lUQSQ-*Z)B8EKBx#7Irdpuz+-%5I%J zWin}rEo+IzYr{wx22Ls%u8%d=7`3D}9&Kr=uP0@p8I$nKPr|c8_f=@2@O?99J`|iC zo~>1cf?*OjT0n!eHZ-k_k=96cb+ndtjW9u4qxCIDQ>>|;v^F*+3}%p2*VmBNs^vA+ z@t8qcn_KD{jaJgyH(M8}Z>phQp;K|A8eAdOEs@r6yf#wZ)Jhs-t*v#9WO?l2=14V( zC#rBn1yCUpjfWc|&4luXjXI+~#-6JZhSAhWB8Jftj@HK_;2?wr9IlSlBSlkV7&swz z@w!zpK8nSoxX5U23nnVBPk5!_Gp}2h;v_T~FLdBOd>AV@*GjmD;RzS~NeSn6v7TU) z?f%ArFT!7yaBg>pgpXqW{9VGi{C)|CHxb%Y$XjgOpEImfPmpl#|E&_vc|sD-?cz^A zk)O*qNI3U@m4tKo$6auI#}WCt-Cw!j-?-p306@g!!1p~50RiXyMH0^M=h+O$T*JGb z`@c|<=l6e$Ab*)4zed0@Cppi00T=n76Y$Fg`Bwz|3ITtO;n<1iVvB^2WO?;3f#*tr z=VL)0-!q?J@y!VGR|)c2K_2b)#hKkta@;OuII7_skN=&5ycoBcg8T@$gH;XL08C7i!MUMJx^&f_JV z`*XL1^Za~Jz^?(ncpkpTaO|!X@Gk`XIsrc^;Kc$yg1zeD^f&=8VmQVD^Xd-xV4Ez+ zi~BNNz(xL9E<6uNc)deUq5{wLfbsRNaFKWZ-*$3S%%6>d{0+eKEZgs23jE@^{=Foh zWb%J;k?$1b#rS+L$cyngE6AfiFEM@(dv(V6i~fuh@Dd>oS2G; z>xM4yi2lzLjnHq0Y4_-HwpMj7yPV%PY~pD*}aGB67zgH!!bT(g8Ui*7wxWh z!JiTMk&B<}UrRVYr+<`ieonh3oS)NNR;Q7BqTuI7hU2<$j>|tU;oP6!N;sGQ#05Vl z;hZP;5-#=){Q3x9`u#3tBuz)z={MOA3S42 z|M9~c{(pjv;~jJae*&|fuT*D(H_^T!8g$xS807IUS}K+F@mZ-YGb9J;T{HAw-*( z>G3h|kwa`)W06zV_c8qvZjdSYSkF5@JRs-I9AG`yS0$X==lyh;$LC3s+(c%7yo7T- z-d8exNsKJ`AJ@Nx>5DmxTuYgLAveSfNZ}w003UGw@UTEzO1}xg{X<=@k7pYj(#y6H wZyS!^gseq!XqZN$;Unu~8I<=9Ad+D}#2=OXmxctz2GZZp{I5kap~?FH1vh?5iU0rr literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/lxdialog/util.o b/BSP/linux-kernel/scripts/kconfig/lxdialog/util.o new file mode 100644 index 0000000000000000000000000000000000000000..65146b2eaa85469d21b9374b5211ecfedd8056d2 GIT binary patch literal 22944 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≻Z?-%P`KQ$R4V*_l5bG> zuZXWEuJ-c>6nRQ&>lB_NY75VC6+V^t28EXq-=^>y;` zf2Qyz;*TqQDe?6RUqgI@!n=rXQ}{aK&nx^1;;$)uGx0YR-b4Iv3V(_ChYCMH{EWhn z5>LaAV<2F=V>=FD0>b$U*J#{bqHrhiaSG2SK0)C*#HT2{fVfZLQ;7!^t`omQ;bp`_ z3SUHgvBGPJFH!hX;%y3VBOX(D7x4!a{t)qX3V(w5FBQI?`0o_nLwu{k_YmK!@B_qO zRrq1zhZKH-_`3=}Mf|wJoivY~R=7N;4;y9mBiXOybDm6v=aQa_6+V@Cj>3zGU#)QY zoX4y1c_cqg;Wfl(C|o}OxlQ5n`OlpSznAn>D*PehbqZfcyj9`riLX+4H}M}ST+YLf zDjer&3>z809MV#L3vra==kA?0@_U*5B&H{w-h-o_ag65@N3(H0k>`TznLIBS|7Q{y zP!B&Zmov`g?`E8z6W?Qe3h0vc9gT-B2xt$!Dwq5U;#lrf#&2hw*K4^Ae}ZvtXE)>A z&T>5LK~Vix%{bSygmJFtAaS)`Z!>vbFKpF(!}ol6ro~IQQqHHhO-^mr!uL_V&M-aP&*}7CiuAK=mrICeKz{DG%M^Lpf39Pk*Y}$?dS)&5lVC60c;=X(q2Ib_I2{t-o9KDYc28~LXd`OT#N4>t18 zEAl~-|C5dUaYbI*^Qn!z6P*r0)>qn-MO^jI6^eX0*>kmx{4_oCIM*}CIF}zuAH1mkT*&x1 zW@kI&MT|epxR3FTj2AP$n>e;Fev2dh@G_I*Z(iH!(hu z@c`oi#>;GYl?{(F&ddECp5; z9QDX^`YntHnfy+se-`8Wm^|u{?}`4Kajs`vHV8pL`#HanINCoO{$%@xnLMv=J(DkF z@}DqyuKz5PAIIeLanM4*ayh?^ac<8%;;Q{^Oui6wN&A0fBmbxkf7*ukGS2<5mvP>{ z`x)ncIAp^wqwna{dga>i={9_h4G%NU?f;Pt|0(0VUXL@*>-8HO{2NZeveefBD%kO;)u%khcdgS-Meub~2d10Qy<@dgI z3hyELHiZ|___<%<@_XMW6fVE_-K=o=z3)p3m*4xoqwpdcZ>JP4zxN$Q<4gKMe($U0 zw=AnSLX~henyqV%j5Wh2oB2j$siEbI?;i6jTUxaI=0;4QxHlg@>kT*7*GJ$3$oz&z zBa&Y-Ywkq&0yexDBv=w+VGc6zin=%NulTl}Yif3A&~z zL9ED9+>AhI8*g3l@h+C*w33N`XLKcT>SlBo{;i%;uDn6RNhY-k5JR16{ymhRnk^x( zroC_nbzYm0up%aZ-bD=i z9}h*8Kb!ieyeIuH)8B$fs`fi|J4ujZvHdWw%um}MVUJoi=A3sq{=&b5qzsu5$Dys} l9|25lJ3v|%Ij&l{sn#EtB}D|YYp3Rli&kS@62EHx{{;u9mH+?% literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/lxdialog/yesno.o b/BSP/linux-kernel/scripts/kconfig/lxdialog/yesno.o new file mode 100644 index 0000000000000000000000000000000000000000..0b64d324e801ae69ecfc720c4895b318281f65a4 GIT binary patch literal 4104 zcmbVPTWl0n7(Ux=q1;gyl(yUiw%gsIZD@CKcj{6= zikYs-q%7sZXks+J@ZdEuzF1$NO$mtcLP6!0(8Q=|sd7mSEJC~f|I9h=8)M$YLM#XSdspN z*WGVB@6-Ou_a#>#Z|Gj)jI95bTz^{<-|1hckB=alTyF;=rD)?eVASY0kYO&%?F8ns z{%2B7kYv66jsg3$llcI@wnN%3?HENrN2SfuCa?Q8q@n+!e|P7cRNtVVt&@|1iGdNw z#&#A`DIH4r^tB~ET`kGi<&r`v>9xaH0OL4}^L;(#=*yQ#i``{8gor1qbG3fkYM_Y8 zUjdNC6J67i4R%R8ZIf1C5RVK1C@q2f{vEhhB-t)VLuq-*h@_9m`lvpL@K}*;aOj?X z)yP}FEbDjm>#}~sm>$Ol`}EU3ebAWK^vp5hL(|em&)nyrBEy+aA2usbT-mZso#pGv zGnjg1L62H8-+hj)YpJv<`g#m&hItdeA9Q%#X|YI#aFc6TgyGY>`hLfVFL6ceZia*= zT@U-fJEfbkd&)}mYs~8;4@uBasm~56eS;;zLj)E?G|b#*^lP$y9qlfRr_;<{OKp|( zezme|v6fmWb}t3PgWI%}Lk()F+Kx*=lZ^ftKE|Fa&jW(k`vQ}w}6|DH@KzrmfT1zLRpHHOI;-L6?pbAdU{e&9PO9If%ni8*w-YsjjSC z<0x%t>IkbHj+M?8PS>*K9mdRk(7np(DqCWr5RlBr8;EV+Mq=ArU|TqQdj3%;p$xD^ z#tI=_I93P+$(#zI@UY!0INr{cgi5;OmfMsbhdSS))SEsJN#u6J9x?_c4EA}4=l}qSq|sl=oMwy$@B-fY+@(*Or0E` zFtmsLo6jJROq*m*DfTRAF)SBMQ6{yO7C0O&S@|zn;B|n{g?bOch+;fr7#rcr7Pr{~ zk6GaREbzB1@Pq|^!~%cU0{_qg|HK0Cv%pVS;HNC`pDl3Gsl>t&XOQfPwuV)IQ-`WX z!ZG5ksdVAZP5jk08!Dt4|AwlnI&ZzdUaF|^`X6AEczfgxg~X%EuBZ}gA)(elTcp`< zI3_VQ6bnX4C>n_SV=aMDBu>IgJl+~6yOqv8fe;C`HJhtVk-a1kjQQIGdq_MG3I$te z6tz`tQ>Y&3P$TguGMW_?7$Kz%eMQ24aOa2ct@{)akz)W z@eF1BYKo)($KhHF7s{&{c$*26Am?WRV9d|!7JQB4^L6!dd^}4&phw$#9KVqB|5*mV zoAST5;D68Y`MNH1IL19j{R~_9`J2O^tUt>*9KW0l-^Ss1 zb~0SEz`wG3IA5=y!}&Zz9FFe@%U|X2XE?ldP{I*aaaPwhEQ_gu;BMfdwbJ6>6%Dj2EZQTF4zR>6l=+?X z0ETjk_Q{+*{H?-0guU`G0v-G4r+P27$Fm3HurD}1Ym{fgJR#1@YVE`Rn^#5K~7d}6xk!Hk4&#KA%wFNQD4TsF&A)}SMK#m@KSeku=l}o! literal 0 HcmV?d00001 diff --git a/BSP/linux-kernel/scripts/kconfig/mconf b/BSP/linux-kernel/scripts/kconfig/mconf new file mode 100755 index 0000000000000000000000000000000000000000..1462d979a100069a4a3bd388e5e2b8163c547209 GIT binary patch literal 177296 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

tI9d&n*2YHuUdrFg`1>^ermxfKYcYMP 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 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + +#endif /* ! C99 */ + +#endif /* ! FLEXINT_H */ + +/* begin standard C++ headers. */ + +/* TODO: this is always defined, so inline it */ +#define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) +#else +#define yynoreturn +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. + */ +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN (yy_start) = 1 + 2 * +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START (((yy_start) - 1) / 2) +#define YYSTATE YY_START +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE yyrestart( yyin ) +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else +#define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern int yyleng; + +extern FILE *yyin, *yyout; + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires + * access to the local variable yy_act. Since yyless() is a macro, it would break + * existing scanners that call yyless() from OUTSIDE yylex. + * One obvious solution it to make yy_act a global. I tried that, and saw + * a 5% performance hit in a non-yylineno scanner, because yy_act is + * normally declared as a register variable-- so it is not worth it. + */ + #define YY_LESS_LINENO(n) \ + do { \ + int yyl;\ + for ( yyl = n; yyl < yyleng; ++yyl )\ + if ( yytext[yyl] == '\n' )\ + --yylineno;\ + }while(0) + #define YY_LINENO_REWIND_TO(dst) \ + do {\ + const char *p;\ + for ( p = yy_cp-1; p >= (dst); --p)\ + if ( *p == '\n' )\ + --yylineno;\ + }while(0) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ + YY_RESTORE_YY_MORE_OFFSET \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) +#define unput(c) yyunput( c, (yytext_ptr) ) + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + int yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] + +/* yy_hold_char holds the character lost when yytext is formed. */ +static char yy_hold_char; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; + +/* Points to current character in buffer. */ +static char *yy_c_buf_p = NULL; +static int yy_init = 0; /* whether we need to initialize */ +static int yy_start = 0; /* start state number */ + +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... + */ +static int yy_did_buffer_switch_on_eof; + +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void ); + +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); + +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * ); + +#define yy_new_buffer yy_create_buffer +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +#define yywrap() (/*CONSTCOND*/1) +#define YY_SKIP_YYWRAP +typedef flex_uint8_t YY_CHAR; + +FILE *yyin = NULL, *yyout = NULL; + +typedef int yy_state_type; + +extern int yylineno; +int yylineno = 1; + +extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif +#define yytext_ptr yytext + +static const flex_int16_t yy_nxt[][21] = + { + { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0 + }, + + { + 13, 14, 15, 16, 14, 14, 17, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14 + }, + + { + 13, 14, 15, 16, 14, 14, 17, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14 + }, + + { + 13, 18, 19, 20, 18, 18, 18, 21, 18, 18, + + 18, 18, 22, 23, 18, 24, 18, 25, 18, 18, + 18 + }, + + { + 13, 18, 19, 20, 18, 18, 18, 21, 18, 18, + 18, 18, 22, 23, 18, 24, 18, 25, 18, 18, + 18 + }, + + { + 13, 26, 27, 28, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26 + }, + + { + 13, 26, 27, 28, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + + 26 + }, + + { + 13, 29, 29, 30, 29, 31, 29, 32, 29, 31, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 33, + 29 + }, + + { + 13, 29, 29, 30, 29, 31, 29, 32, 29, 31, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 33, + 29 + }, + + { + 13, 34, 35, 36, 37, 38, 39, 40, 41, 38, + 42, 43, 34, 44, 44, 34, 45, 46, 47, 48, + 49 + + }, + + { + 13, 34, 35, 36, 37, 38, 39, 40, 41, 38, + 42, 43, 34, 44, 44, 34, 45, 46, 47, 48, + 49 + }, + + { + 13, 50, 51, 52, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, + 50 + }, + + { + 13, 50, 51, 52, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, + 50 + }, + + { + -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, + + -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, + -13 + }, + + { + 13, -14, -14, -14, -14, -14, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, + -14 + }, + + { + 13, -15, 53, 54, -15, -15, 55, -15, -15, -15, + -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, + -15 + }, + + { + 13, -16, -16, -16, -16, -16, -16, -16, -16, -16, + -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, + + -16 + }, + + { + 13, 56, 56, 57, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56 + }, + + { + 13, -18, -18, -18, -18, -18, -18, -18, -18, -18, + -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, + -18 + }, + + { + 13, -19, 58, -19, -19, -19, -19, -19, -19, -19, + -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, + -19 + + }, + + { + 13, -20, -20, -20, -20, -20, -20, -20, -20, -20, + -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, + -20 + }, + + { + 13, -21, -21, -21, -21, -21, -21, 59, -21, -21, + -21, -21, -21, 59, -21, -21, -21, -21, -21, -21, + -21 + }, + + { + 13, -22, -22, -22, -22, -22, -22, -22, -22, -22, + -22, -22, -22, -22, -22, -22, -22, 60, -22, -22, + -22 + }, + + { + 13, -23, -23, -23, -23, -23, -23, 59, -23, -23, + + -23, -23, -23, 61, -23, -23, -23, -23, -23, -23, + -23 + }, + + { + 13, -24, -24, -24, -24, -24, -24, -24, -24, -24, + -24, -24, -24, -24, -24, -24, -24, 62, -24, -24, + -24 + }, + + { + 13, -25, -25, -25, -25, -25, -25, -25, -25, -25, + -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, + -25 + }, + + { + 13, 63, 63, -26, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + + 63 + }, + + { + 13, -27, 64, 65, -27, -27, -27, -27, -27, -27, + -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, + -27 + }, + + { + 13, 66, -28, -28, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66 + }, + + { + 13, 67, 67, 68, 67, -29, 67, -29, 67, -29, + 67, 67, 67, 67, 67, 67, 67, 67, 67, -29, + 67 + + }, + + { + 13, -30, -30, -30, -30, -30, -30, -30, -30, -30, + -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, + -30 + }, + + { + 13, -31, -31, -31, -31, -31, -31, -31, -31, -31, + -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, + -31 + }, + + { + 13, 69, 69, -32, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69 + }, + + { + 13, 70, 70, 71, 70, 70, 70, 70, 70, 70, + + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70 + }, + + { + 13, -34, -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, + -34 + }, + + { + 13, -35, 72, -35, -35, -35, -35, -35, -35, -35, + -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, + -35 + }, + + { + 13, -36, -36, -36, -36, -36, -36, -36, -36, -36, + -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, + + -36 + }, + + { + 13, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37, -37, 73, -37, -37, + -37 + }, + + { + 13, -38, -38, -38, -38, -38, -38, -38, -38, -38, + -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, + -38 + }, + + { + 13, 74, 74, -39, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74 + + }, + + { + 13, -40, -40, -40, -40, -40, -40, 75, -40, -40, + -40, -40, -40, 75, 75, -40, -40, -40, -40, -40, + -40 + }, + + { + 13, -41, -41, -41, -41, -41, -41, -41, 76, -41, + -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, + -41 + }, + + { + 13, -42, -42, -42, -42, -42, -42, -42, -42, -42, + -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, + -42 + }, + + { + 13, -43, -43, -43, -43, -43, -43, -43, -43, -43, + + -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, + -43 + }, + + { + 13, -44, -44, -44, -44, -44, -44, 75, -44, -44, + -44, -44, -44, 77, 77, -44, -44, -44, -44, -44, + -44 + }, + + { + 13, -45, -45, -45, -45, -45, -45, -45, -45, -45, + -45, -45, -45, -45, -45, -45, -45, 78, -45, -45, + -45 + }, + + { + 13, -46, -46, -46, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, + + -46 + }, + + { + 13, -47, -47, -47, -47, -47, -47, -47, -47, -47, + -47, -47, -47, -47, -47, -47, -47, 79, -47, -47, + -47 + }, + + { + 13, -48, -48, 80, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, + -48 + }, + + { + 13, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + 81 + + }, + + { + 13, 82, 83, -50, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82 + }, + + { + 13, -51, -51, -51, -51, -51, -51, -51, -51, -51, + -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, + -51 + }, + + { + 13, -52, -52, -52, -52, -52, -52, -52, -52, -52, + -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, + -52 + }, + + { + 13, -53, 53, 54, -53, -53, 55, -53, -53, -53, + + -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, + -53 + }, + + { + 13, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54 + }, + + { + 13, 56, 56, 57, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56 + }, + + { + 13, 56, 56, 57, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + + 56 + }, + + { + 13, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57 + }, + + { + 13, -58, 58, -58, -58, -58, -58, -58, -58, -58, + -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, + -58 + }, + + { + 13, -59, -59, -59, -59, -59, -59, 59, -59, -59, + -59, -59, -59, 59, -59, -59, -59, -59, -59, -59, + -59 + + }, + + { + 13, -60, -60, -60, -60, -60, -60, -60, -60, -60, + -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, + -60 + }, + + { + 13, -61, -61, -61, -61, -61, -61, 59, -61, -61, + -61, -61, -61, 61, -61, -61, -61, -61, -61, -61, + -61 + }, + + { + 13, -62, -62, -62, -62, -62, -62, -62, -62, -62, + -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, + -62 + }, + + { + 13, 63, 63, -63, 63, 63, 63, 63, 63, 63, + + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63 + }, + + { + 13, -64, 64, 65, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, + -64 + }, + + { + 13, 66, -65, -65, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66 + }, + + { + 13, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + + -66 + }, + + { + 13, 67, 67, 68, 67, -67, 67, -67, 67, -67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, -67, + 67 + }, + + { + 13, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68 + }, + + { + 13, 69, 69, -69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69 + + }, + + { + 13, -70, -70, 71, -70, -70, -70, -70, -70, -70, + -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, + -70 + }, + + { + 13, -71, -71, -71, -71, -71, -71, -71, -71, -71, + -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, + -71 + }, + + { + 13, -72, 72, -72, -72, -72, -72, -72, -72, -72, + -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, + -72 + }, + + { + 13, -73, -73, -73, -73, -73, -73, -73, -73, -73, + + -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, + -73 + }, + + { + 13, 74, 74, -74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74 + }, + + { + 13, -75, -75, -75, -75, -75, -75, 75, -75, -75, + -75, -75, -75, 75, 75, -75, -75, -75, -75, -75, + -75 + }, + + { + 13, -76, -76, -76, -76, -76, -76, -76, -76, -76, + -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, + + -76 + }, + + { + 13, -77, -77, -77, -77, -77, -77, 75, -77, -77, + -77, -77, -77, 77, 77, -77, -77, -77, -77, -77, + -77 + }, + + { + 13, -78, -78, -78, -78, -78, -78, -78, -78, -78, + -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, + -78 + }, + + { + 13, -79, -79, -79, -79, -79, -79, -79, -79, -79, + -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, + -79 + + }, + + { + 13, -80, -80, -80, -80, -80, -80, -80, -80, -80, + -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, + -80 + }, + + { + 13, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81 + }, + + { + 13, 82, 83, -82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82 + }, + + { + 13, 83, 83, -83, 83, 83, 83, 83, 83, 83, + + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83 + }, + + } ; + +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + (yytext_ptr) = yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ + *yy_cp = '\0'; \ + (yy_c_buf_p) = yy_cp; +#define YY_NUM_RULES 47 +#define YY_END_OF_BUFFER 48 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static const flex_int16_t yy_accept[84] = + { 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 5, 4, 2, 3, 12, 11, 13, + 7, 12, 6, 12, 8, 46, 43, 45, 38, 42, + 41, 36, 40, 35, 34, 29, 21, 28, 32, 31, + 35, 19, 20, 30, 26, 22, 27, 35, 35, 14, + 16, 15, 4, 2, 3, 3, 1, 11, 7, 10, + 6, 9, 46, 43, 45, 44, 38, 37, 36, 40, + 39, 34, 23, 32, 31, 17, 30, 24, 25, 33, + 18, 14, 14 + } ; + +static const YY_CHAR yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 4, 5, 6, 7, 1, 8, 9, 10, + 11, 1, 12, 1, 13, 14, 14, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 15, 1, 16, + 17, 18, 1, 1, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 1, 19, 1, 1, 13, 1, 13, 13, 13, 13, + + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 1, 20, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +/* Table of booleans, true if rule could match eol. */ +static const flex_int32_t yy_rule_can_match_eol[48] = + { 0, +1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, + 0, 0, 1, 0, 1, 1, 0, 0, }; + +extern int yy_flex_debug; +int yy_flex_debug = 0; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +char *yytext; + +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include "lkc.h" + +#define START_STRSIZE 16 + +static struct { + struct file *file; + int lineno; +} current_pos; + +static char *text; +static int text_size, text_asize; + +struct buffer { + struct buffer *parent; + YY_BUFFER_STATE state; +}; + +struct buffer *current_buf; + +static int last_ts, first_ts; + +static char *expand_token(const char *in, size_t n); +static void append_expanded_string(const char *in); +static void zconf_endhelp(void); +static void zconf_endfile(void); + +static void new_string(void) +{ + text = xmalloc(START_STRSIZE); + text_asize = START_STRSIZE; + text_size = 0; + *text = 0; +} + +static void append_string(const char *str, int size) +{ + int new_size = text_size + size + 1; + if (new_size > text_asize) { + new_size += START_STRSIZE - 1; + new_size &= -START_STRSIZE; + text = xrealloc(text, new_size); + text_asize = new_size; + } + memcpy(text + text_size, str, size); + text_size += size; + text[text_size] = 0; +} + +static void alloc_string(const char *str, int size) +{ + text = xmalloc(size + 1); + memcpy(text, str, size); + text[size] = 0; +} + +static void warn_ignored_character(char chr) +{ + fprintf(stderr, + "%s:%d:warning: ignoring unsupported character '%c'\n", + current_file->name, yylineno, chr); +} + +#define INITIAL 0 +#define COMMAND 1 +#define HELP 2 +#define STRING 3 +#define PARAM 4 +#define ASSIGN_VAL 5 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +static int yy_init_globals ( void ); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int yylex_destroy ( void ); + +int yyget_debug ( void ); + +void yyset_debug ( int debug_flag ); + +YY_EXTRA_TYPE yyget_extra ( void ); + +void yyset_extra ( YY_EXTRA_TYPE user_defined ); + +FILE *yyget_in ( void ); + +void yyset_in ( FILE * _in_str ); + +FILE *yyget_out ( void ); + +void yyset_out ( FILE * _out_str ); + + int yyget_leng ( void ); + +char *yyget_text ( void ); + +int yyget_lineno ( void ); + +void yyset_lineno ( int _line_number ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap ( void ); +#else +extern int yywrap ( void ); +#endif +#endif + +#ifndef YY_NO_UNPUT + + static void yyunput ( int c, char *buf_ptr ); + +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy ( char *, const char *, int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen ( const char * ); +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus +static int yyinput ( void ); +#else +static int input ( void ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else +#define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + errno=0; \ + while ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int yylex (void); + +#define YY_DECL int yylex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK /*LINTED*/break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer( yyin, YY_BUF_SIZE ); + } + + yy_load_buffer_state( ); + } + + { + + int str = 0; + int ts, i; + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + { + yy_cp = (yy_c_buf_p); + + /* Support of yytext. */ + *yy_cp = (yy_hold_char); + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = (yy_start); +yy_match: + while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)] ]) > 0 ) + ++yy_cp; + + yy_current_state = -yy_current_state; + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + + YY_DO_BEFORE_ACTION; + + if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) + { + int yyl; + for ( yyl = 0; yyl < yyleng; ++yyl ) + if ( yytext[yyl] == '\n' ) + + yylineno++; +; + } + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ +case 1: +/* rule 1 can match eol */ +case 2: +/* rule 2 can match eol */ +YY_RULE_SETUP +{ + return T_EOL; +} + YY_BREAK +case 3: +YY_RULE_SETUP + + YY_BREAK +case 4: +YY_RULE_SETUP +{ + BEGIN(COMMAND); +} + YY_BREAK +case 5: +YY_RULE_SETUP +{ + unput(yytext[0]); + BEGIN(COMMAND); +} + YY_BREAK + +case 6: +YY_RULE_SETUP +{ + const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); + current_pos.file = current_file; + current_pos.lineno = yylineno; + if (id && id->flags & TF_COMMAND) { + BEGIN(PARAM); + yylval.id = id; + return id->token; + } + alloc_string(yytext, yyleng); + yylval.string = text; + return T_VARIABLE; + } + YY_BREAK +case 7: +YY_RULE_SETUP +{ + /* this token includes at least one '$' */ + yylval.string = expand_token(yytext, yyleng); + if (strlen(yylval.string)) + return T_VARIABLE; + free(yylval.string); + } + YY_BREAK +case 8: +YY_RULE_SETUP +{ BEGIN(ASSIGN_VAL); yylval.flavor = VAR_RECURSIVE; return T_ASSIGN; } + YY_BREAK +case 9: +YY_RULE_SETUP +{ BEGIN(ASSIGN_VAL); yylval.flavor = VAR_SIMPLE; return T_ASSIGN; } + YY_BREAK +case 10: +YY_RULE_SETUP +{ BEGIN(ASSIGN_VAL); yylval.flavor = VAR_APPEND; return T_ASSIGN; } + YY_BREAK +case 11: +YY_RULE_SETUP + + YY_BREAK +case 12: +YY_RULE_SETUP +warn_ignored_character(*yytext); + YY_BREAK +case 13: +/* rule 13 can match eol */ +YY_RULE_SETUP +{ + BEGIN(INITIAL); + return T_EOL; + } + YY_BREAK + +case 14: +YY_RULE_SETUP +{ + alloc_string(yytext, yyleng); + yylval.string = text; + return T_ASSIGN_VAL; + } + YY_BREAK +case 15: +/* rule 15 can match eol */ +YY_RULE_SETUP +{ BEGIN(INITIAL); return T_EOL; } + YY_BREAK +case 16: +YY_RULE_SETUP + + YY_BREAK + +case 17: +YY_RULE_SETUP +return T_AND; + YY_BREAK +case 18: +YY_RULE_SETUP +return T_OR; + YY_BREAK +case 19: +YY_RULE_SETUP +return T_OPEN_PAREN; + YY_BREAK +case 20: +YY_RULE_SETUP +return T_CLOSE_PAREN; + YY_BREAK +case 21: +YY_RULE_SETUP +return T_NOT; + YY_BREAK +case 22: +YY_RULE_SETUP +return T_EQUAL; + YY_BREAK +case 23: +YY_RULE_SETUP +return T_UNEQUAL; + YY_BREAK +case 24: +YY_RULE_SETUP +return T_LESS_EQUAL; + YY_BREAK +case 25: +YY_RULE_SETUP +return T_GREATER_EQUAL; + YY_BREAK +case 26: +YY_RULE_SETUP +return T_LESS; + YY_BREAK +case 27: +YY_RULE_SETUP +return T_GREATER; + YY_BREAK +case 28: +YY_RULE_SETUP +{ + str = yytext[0]; + new_string(); + BEGIN(STRING); + } + YY_BREAK +case 29: +/* rule 29 can match eol */ +YY_RULE_SETUP +BEGIN(INITIAL); return T_EOL; + YY_BREAK +case 30: +YY_RULE_SETUP +{ + const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); + if (id && id->flags & TF_PARAM) { + yylval.id = id; + return id->token; + } + alloc_string(yytext, yyleng); + yylval.string = text; + return T_WORD; + } + YY_BREAK +case 31: +YY_RULE_SETUP +{ + /* this token includes at least one '$' */ + yylval.string = expand_token(yytext, yyleng); + if (strlen(yylval.string)) + return T_WORD; + free(yylval.string); + } + YY_BREAK +case 32: +YY_RULE_SETUP +/* comment */ + YY_BREAK +case 33: +/* rule 33 can match eol */ +YY_RULE_SETUP +; + YY_BREAK +case 34: +YY_RULE_SETUP + + YY_BREAK +case 35: +YY_RULE_SETUP +warn_ignored_character(*yytext); + YY_BREAK +case YY_STATE_EOF(PARAM): +{ + BEGIN(INITIAL); + } + YY_BREAK + +case 36: +YY_RULE_SETUP +append_expanded_string(yytext); + YY_BREAK +case 37: +/* rule 37 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +{ + append_string(yytext, yyleng); + yylval.string = text; + return T_WORD_QUOTE; + } + YY_BREAK +case 38: +YY_RULE_SETUP +{ + append_string(yytext, yyleng); + } + YY_BREAK +case 39: +/* rule 39 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +{ + append_string(yytext + 1, yyleng - 1); + yylval.string = text; + return T_WORD_QUOTE; + } + YY_BREAK +case 40: +YY_RULE_SETUP +{ + append_string(yytext + 1, yyleng - 1); + } + YY_BREAK +case 41: +YY_RULE_SETUP +{ + if (str == yytext[0]) { + BEGIN(PARAM); + yylval.string = text; + return T_WORD_QUOTE; + } else + append_string(yytext, 1); + } + YY_BREAK +case 42: +/* rule 42 can match eol */ +YY_RULE_SETUP +{ + fprintf(stderr, + "%s:%d:warning: multi-line strings not supported\n", + zconf_curname(), zconf_lineno()); + BEGIN(INITIAL); + return T_EOL; + } + YY_BREAK +case YY_STATE_EOF(STRING): +{ + BEGIN(INITIAL); + yylval.string = text; + return T_WORD_QUOTE; + } + YY_BREAK + +case 43: +YY_RULE_SETUP +{ + ts = 0; + for (i = 0; i < yyleng; i++) { + if (yytext[i] == '\t') + ts = (ts & ~7) + 8; + else + ts++; + } + last_ts = ts; + if (first_ts) { + if (ts < first_ts) { + zconf_endhelp(); + return T_HELPTEXT; + } + ts -= first_ts; + while (ts > 8) { + append_string(" ", 8); + ts -= 8; + } + append_string(" ", ts); + } + } + YY_BREAK +case 44: +/* rule 44 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +{ + zconf_endhelp(); + return T_HELPTEXT; + } + YY_BREAK +case 45: +/* rule 45 can match eol */ +YY_RULE_SETUP +{ + append_string("\n", 1); + } + YY_BREAK +case 46: +YY_RULE_SETUP +{ + while (yyleng) { + if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t')) + break; + yyleng--; + } + append_string(yytext, yyleng); + if (!first_ts) + first_ts = last_ts; + } + YY_BREAK +case YY_STATE_EOF(HELP): +{ + zconf_endhelp(); + return T_HELPTEXT; + } + YY_BREAK + +case YY_STATE_EOF(INITIAL): +case YY_STATE_EOF(COMMAND): +case YY_STATE_EOF(ASSIGN_VAL): +{ + if (current_file) { + zconf_endfile(); + return T_EOL; + } + fclose(yyin); + yyterminate(); +} + YY_BREAK +case 47: +YY_RULE_SETUP +YY_FATAL_ERROR( "flex scanner jammed" ); + YY_BREAK + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = (yy_hold_char); + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state ); + + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++(yy_c_buf_p); + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = (yy_c_buf_p); + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_END_OF_FILE: + { + (yy_did_buffer_switch_on_eof) = 0; + + if ( yywrap( ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ + } /* end of user's declarations */ +} /* end of yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (void) +{ + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + + int yy_c_buf_p_offset = + (int) ((yy_c_buf_p) - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yyrealloc( (void *) b->yy_ch_buf, + (yy_size_t) (b->yy_buf_size + 2) ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = NULL; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + if ( (yy_n_chars) == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + yyrestart( yyin ); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); + } + + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (void) +{ + yy_state_type yy_current_state; + char *yy_cp; + + yy_current_state = (yy_start); + + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + { + yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ + int yy_is_jam; + + yy_current_state = yy_nxt[yy_current_state][1]; + yy_is_jam = (yy_current_state <= 0); + + return yy_is_jam ? 0 : yy_current_state; +} + +#ifndef YY_NO_UNPUT + + static void yyunput (int c, char * yy_bp ) +{ + char *yy_cp; + + yy_cp = (yy_c_buf_p); + + /* undo effects of setting up yytext */ + *yy_cp = (yy_hold_char); + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + int number_to_move = (yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + if ( c == '\n' ){ + --yylineno; + } + + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} + +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (void) +#else + static int input (void) +#endif + +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); + + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + /* This was really a NUL. */ + *(yy_c_buf_p) = '\0'; + + else + { /* need more input */ + int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + ++(yy_c_buf_p); + + switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + yyrestart( yyin ); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( yywrap( ) ) + return 0; + + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(); +#else + return input(); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = (yytext_ptr) + offset; + break; + } + } + } + + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ + (yy_hold_char) = *++(yy_c_buf_p); + + if ( c == '\n' ) + + yylineno++; +; + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void yyrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer( yyin, YY_BUF_SIZE ); + } + + yy_init_buffer( YY_CURRENT_BUFFER, input_file ); + yy_load_buffer_state( ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); + */ + yyensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + yy_load_buffer_state( ); + + /* We don't actually know whether we did this switch during + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe + * to go ahead and always set it. + */ + (yy_did_buffer_switch_on_eof) = 1; +} + +static void yy_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + yy_init_buffer( b, file ); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with yy_create_buffer() + * + */ + void yy_delete_buffer (YY_BUFFER_STATE b ) +{ + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + yyfree( (void *) b->yy_ch_buf ); + + yyfree( (void *) b ); +} + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a yyrestart() or at EOF. + */ + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + +{ + int oerrno = errno; + + yy_flush_buffer( b ); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void yy_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + yy_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + yyensure_buffer_stack(); + + /* This block is copied from yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void yypop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void yyensure_buffer_stack (void) +{ + yy_size_t num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } + + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + yy_size_t grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return NULL; + + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = NULL; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer( b ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * yy_scan_bytes() instead. + */ +YY_BUFFER_STATE yy_scan_string (const char * yystr ) +{ + + return yy_scan_bytes( yystr, (int) strlen(yystr) ); +} + +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will + * scan from a @e copy of @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer( buf, n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yynoreturn yy_fatal_error (const char* msg ) +{ + fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the current line number. + * + */ +int yyget_lineno (void) +{ + + return yylineno; +} + +/** Get the input stream. + * + */ +FILE *yyget_in (void) +{ + return yyin; +} + +/** Get the output stream. + * + */ +FILE *yyget_out (void) +{ + return yyout; +} + +/** Get the length of the current token. + * + */ +int yyget_leng (void) +{ + return yyleng; +} + +/** Get the current token. + * + */ + +char *yyget_text (void) +{ + return yytext; +} + +/** Set the current line number. + * @param _line_number line number + * + */ +void yyset_lineno (int _line_number ) +{ + + yylineno = _line_number; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param _in_str A readable stream. + * + * @see yy_switch_to_buffer + */ +void yyset_in (FILE * _in_str ) +{ + yyin = _in_str ; +} + +void yyset_out (FILE * _out_str ) +{ + yyout = _out_str ; +} + +int yyget_debug (void) +{ + return yy_flex_debug; +} + +void yyset_debug (int _bdebug ) +{ + yy_flex_debug = _bdebug ; +} + +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from yylex_destroy(), so don't allocate here. + */ + + /* We do not touch yylineno unless the option is enabled. */ + yylineno = 1; + + (yy_buffer_stack) = NULL; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = NULL; + (yy_init) = 0; + (yy_start) = 0; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = NULL; + yyout = NULL; +#endif + + /* For future reference: Set errno on error, since we are called by + * yylex_init() + */ + return 0; +} + +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + yy_delete_buffer( YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + yypop_buffer_state(); + } + + /* Destroy the stack itself. */ + yyfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * yylex() is called, initialization will occur. */ + yy_init_globals( ); + + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, const char * s2, int n ) +{ + + int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (const char * s ) +{ + int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *yyalloc (yy_size_t size ) +{ + return malloc(size); +} + +void *yyrealloc (void * ptr, yy_size_t size ) +{ + + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return realloc(ptr, size); +} + +void yyfree (void * ptr ) +{ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +static char *expand_token(const char *in, size_t n) +{ + char *out; + int c; + char c2; + const char *rest, *end; + + new_string(); + append_string(in, n); + + /* get the whole line because we do not know the end of token. */ + while ((c = input()) != EOF) { + if (c == '\n') { + unput(c); + break; + } + c2 = c; + append_string(&c2, 1); + } + + rest = text; + out = expand_one_token(&rest); + + /* push back unused characters to the input stream */ + end = rest + strlen(rest); + while (end > rest) + unput(*--end); + + free(text); + + return out; +} + +static void append_expanded_string(const char *str) +{ + const char *end; + char *res; + + str++; + + res = expand_dollar(&str); + + /* push back unused characters to the input stream */ + end = str + strlen(str); + while (end > str) + unput(*--end); + + append_string(res, strlen(res)); + + free(res); +} + +void zconf_starthelp(void) +{ + new_string(); + last_ts = first_ts = 0; + BEGIN(HELP); +} + +static void zconf_endhelp(void) +{ + yylval.string = text; + BEGIN(INITIAL); +} + +/* + * Try to open specified file with following names: + * ./name + * $(srctree)/name + * The latter is used when srctree is separate from objtree + * when compiling the kernel. + * Return NULL if file is not found. + */ +FILE *zconf_fopen(const char *name) +{ + char *env, fullname[PATH_MAX+1]; + FILE *f; + + f = fopen(name, "r"); + if (!f && name != NULL && name[0] != '/') { + env = getenv(SRCTREE); + if (env) { + sprintf(fullname, "%s/%s", env, name); + f = fopen(fullname, "r"); + } + } + return f; +} + +void zconf_initscan(const char *name) +{ + yyin = zconf_fopen(name); + if (!yyin) { + fprintf(stderr, "can't find file %s\n", name); + exit(1); + } + + current_buf = xmalloc(sizeof(*current_buf)); + memset(current_buf, 0, sizeof(*current_buf)); + + current_file = file_lookup(name); + yylineno = 1; +} + +void zconf_nextfile(const char *name) +{ + struct file *iter; + struct file *file = file_lookup(name); + struct buffer *buf = xmalloc(sizeof(*buf)); + memset(buf, 0, sizeof(*buf)); + + current_buf->state = YY_CURRENT_BUFFER; + yyin = zconf_fopen(file->name); + if (!yyin) { + fprintf(stderr, "%s:%d: can't open file \"%s\"\n", + zconf_curname(), zconf_lineno(), file->name); + exit(1); + } + yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); + buf->parent = current_buf; + current_buf = buf; + + current_file->lineno = yylineno; + file->parent = current_file; + + for (iter = current_file; iter; iter = iter->parent) { + if (!strcmp(iter->name, file->name)) { + fprintf(stderr, + "Recursive inclusion detected.\n" + "Inclusion path:\n" + " current file : %s\n", file->name); + iter = file; + do { + iter = iter->parent; + fprintf(stderr, " included from: %s:%d\n", + iter->name, iter->lineno - 1); + } while (strcmp(iter->name, file->name)); + exit(1); + } + } + + yylineno = 1; + current_file = file; +} + +static void zconf_endfile(void) +{ + struct buffer *parent; + + current_file = current_file->parent; + if (current_file) + yylineno = current_file->lineno; + + parent = current_buf->parent; + if (parent) { + fclose(yyin); + yy_delete_buffer(YY_CURRENT_BUFFER); + yy_switch_to_buffer(parent->state); + } + free(current_buf); + current_buf = parent; +} + +int zconf_lineno(void) +{ + return current_pos.lineno; +} + +const char *zconf_curname(void) +{ + return current_pos.file ? current_pos.file->name : ""; +} + diff --git a/BSP/linux-kernel/scripts/kconfig/zconf.tab.c b/BSP/linux-kernel/scripts/kconfig/zconf.tab.c new file mode 100644 index 000000000..d1cfbcb6f --- /dev/null +++ b/BSP/linux-kernel/scripts/kconfig/zconf.tab.c @@ -0,0 +1,2504 @@ +/* A Bison parser, made by GNU Bison 3.0.4. */ + +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "3.0.4" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + + + + +/* Copy the first part of user declarations. */ + + +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include "lkc.h" + +#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) + +#define PRINTD 0x0001 +#define DEBUG_PARSE 0x0002 + +int cdebug = PRINTD; + +int yylex(void); +static void yyerror(const char *err); +static void zconfprint(const char *err, ...); +static void zconf_error(const char *err, ...); +static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken); + +struct symbol *symbol_hash[SYMBOL_HASHSIZE]; + +static struct menu *current_menu, *current_entry; + + + + +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + + +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token type. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + T_MAINMENU = 258, + T_MENU = 259, + T_ENDMENU = 260, + T_SOURCE = 261, + T_CHOICE = 262, + T_ENDCHOICE = 263, + T_COMMENT = 264, + T_CONFIG = 265, + T_MENUCONFIG = 266, + T_HELP = 267, + T_HELPTEXT = 268, + T_IF = 269, + T_ENDIF = 270, + T_DEPENDS = 271, + T_OPTIONAL = 272, + T_PROMPT = 273, + T_TYPE = 274, + T_DEFAULT = 275, + T_SELECT = 276, + T_IMPLY = 277, + T_RANGE = 278, + T_VISIBLE = 279, + T_OPTION = 280, + T_ON = 281, + T_WORD = 282, + T_WORD_QUOTE = 283, + T_UNEQUAL = 284, + T_LESS = 285, + T_LESS_EQUAL = 286, + T_GREATER = 287, + T_GREATER_EQUAL = 288, + T_CLOSE_PAREN = 289, + T_OPEN_PAREN = 290, + T_EOL = 291, + T_VARIABLE = 292, + T_ASSIGN = 293, + T_ASSIGN_VAL = 294, + T_OR = 295, + T_AND = 296, + T_EQUAL = 297, + T_NOT = 298 + }; +#endif + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + +union YYSTYPE +{ + + + char *string; + struct file *file; + struct symbol *symbol; + struct expr *expr; + struct menu *menu; + const struct kconf_id *id; + enum variable_flavor flavor; + + +}; + +typedef union YYSTYPE YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + +extern YYSTYPE yylval; + +int yyparse (void); + + + +/* Copy the second part of user declarations. */ + + +/* Include kconf_id.c here so it can see the token constants. */ +#include "kconf_id.c" + + + +#ifdef short +# undef short +#endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; +#endif + +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#else +typedef signed char yytype_int8; +#endif + +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; +#endif + +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; +#endif + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif +#endif + +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if defined YYENABLE_NLS && YYENABLE_NLS +# if ENABLE_NLS +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) +# endif +# endif +# ifndef YY_ +# define YY_(Msgid) Msgid +# endif +#endif + +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(E) ((void) (E)) +#else +# define YYUSE(E) /* empty */ +#endif + +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") +#else +# define YY_INITIAL_VALUE(Value) Value +#endif +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + + +#if ! defined yyoverflow || YYERROR_VERBOSE + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS +# include /* INFRINGES ON USER NAME SPACE */ + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include /* INFRINGES ON USER NAME SPACE */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined EXIT_SUCCESS +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined EXIT_SUCCESS +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +# define YYCOPY_NEEDED 1 + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 11 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 332 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 44 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 53 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 129 +/* YYNSTATES -- Number of states. */ +#define YYNSTATES 211 + +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 298 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ +static const yytype_uint8 yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43 +}; + +#if YYDEBUG + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_uint16 yyrline[] = +{ + 0, 114, 114, 114, 116, 116, 120, 125, 127, 128, + 129, 130, 131, 132, 136, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 144, 145, 146, 147, 148, 149, + 150, 154, 155, 161, 168, 173, 180, 189, 191, 192, + 193, 194, 195, 196, 199, 207, 213, 223, 229, 235, + 241, 244, 246, 259, 260, 265, 275, 280, 288, 291, + 293, 294, 295, 296, 297, 300, 306, 317, 323, 333, + 335, 340, 348, 356, 359, 361, 362, 363, 368, 375, + 380, 388, 391, 393, 394, 395, 398, 407, 414, 419, + 425, 443, 445, 446, 447, 450, 458, 460, 461, 464, + 471, 473, 478, 479, 482, 483, 484, 488, 489, 492, + 493, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 510, 512, 513, 516, 517, 521, 524, 525 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE || 0 +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", + "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", + "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", + "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_IMPLY", + "T_RANGE", "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", + "T_UNEQUAL", "T_LESS", "T_LESS_EQUAL", "T_GREATER", "T_GREATER_EQUAL", + "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_VARIABLE", "T_ASSIGN", + "T_ASSIGN_VAL", "T_OR", "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", + "start", "mainmenu_stmt", "stmt_list", "option_name", "common_stmt", + "option_error", "config_entry_start", "config_stmt", + "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", + "config_option", "symbol_option", "symbol_option_list", + "symbol_option_arg", "choice", "choice_entry", "choice_end", + "choice_stmt", "choice_option_list", "choice_option", "choice_block", + "if_entry", "if_end", "if_stmt", "if_block", "menu", "menu_entry", + "menu_end", "menu_stmt", "menu_block", "source_stmt", "comment", + "comment_stmt", "help_start", "help", "depends_list", "depends", + "visibility_list", "visible", "prompt_stmt_opt", "prompt", "end", "nl", + "if_expr", "expr", "nonconst_symbol", "symbol", "word_opt", + "assignment_stmt", "assign_val", YY_NULLPTR +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ +static const yytype_uint16 yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298 +}; +# endif + +#define YYPACT_NINF -92 + +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-92))) + +#define YYTABLE_NINF -89 + +#define yytable_value_is_error(Yytable_value) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const yytype_int16 yypact[] = +{ + 21, 38, -92, 4, -92, -92, 157, 23, -92, -92, + -19, -92, 191, -16, 38, -13, 38, 6, 24, 38, + 48, 48, 34, 43, -92, -92, -92, -92, -92, -92, + -92, -92, -92, 96, -92, 44, 111, -92, -92, -92, + -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, + -92, -92, -92, -92, -92, -92, -92, -92, -92, 83, + -92, 89, -92, 116, -92, 133, -92, 134, 146, -92, + 34, 34, 113, -92, 73, -92, 150, 62, 151, 31, + 123, 258, 293, 282, -2, 282, 225, -92, -92, -92, + -92, -92, -92, 30, -92, -92, 34, 34, 65, 65, + 65, 65, 65, 65, -92, -92, 152, -92, 153, 154, + 110, 38, 38, 34, 48, 48, 65, -92, 202, -92, + -92, -92, -92, 203, -92, -92, 181, 38, 38, 48, + -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, + -92, -92, -92, 205, -92, 80, -92, -92, -92, -92, + -92, -92, -92, -92, -92, -92, 179, -92, -92, -92, + -92, -92, -92, -92, -92, -92, -92, 34, 205, 185, + 205, -11, 205, 205, 65, 36, 186, -92, -92, 205, + 187, 205, 34, -92, 115, 188, -92, -92, 201, 214, + 215, 205, 196, -92, -92, 217, -92, 218, 81, -92, + -92, -92, -92, -92, 219, 38, -92, -92, -92, -92, + -92 +}; + + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 7, 0, 107, 0, 3, 7, 0, 7, 102, 103, + 0, 1, 0, 0, 0, 0, 0, 125, 0, 0, + 0, 0, 0, 0, 15, 20, 16, 17, 22, 18, + 19, 21, 23, 0, 24, 0, 0, 8, 37, 27, + 37, 28, 59, 69, 9, 74, 25, 96, 82, 10, + 29, 91, 26, 11, 30, 108, 2, 6, 14, 0, + 104, 0, 126, 0, 105, 0, 122, 0, 0, 124, + 0, 0, 0, 123, 111, 106, 0, 128, 0, 0, + 0, 0, 0, 0, 91, 0, 0, 78, 86, 55, + 87, 33, 35, 0, 119, 71, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 129, 0, 13, 0, 0, + 0, 0, 100, 0, 0, 0, 0, 51, 0, 43, + 42, 38, 39, 0, 41, 40, 0, 0, 100, 0, + 63, 64, 60, 62, 61, 70, 58, 57, 75, 77, + 73, 76, 72, 109, 98, 0, 97, 83, 85, 81, + 84, 80, 93, 94, 92, 118, 120, 121, 117, 112, + 113, 114, 115, 116, 127, 32, 89, 0, 109, 0, + 109, 109, 109, 109, 0, 0, 0, 90, 67, 109, + 0, 109, 0, 99, 0, 0, 44, 101, 0, 0, + 0, 109, 53, 50, 31, 0, 66, 0, 110, 95, + 45, 46, 47, 48, 0, 0, 52, 65, 68, 49, + 54 +}; + + /* YYPGOTO[NTERM-NUM]. */ +static const yytype_int16 yypgoto[] = +{ + -92, -92, 249, -92, 252, -92, -9, -67, -92, -92, + -92, -92, 220, -92, -92, -92, -92, -92, -92, -92, + 35, -92, -92, -92, -92, -92, -92, -92, -92, -92, + -92, 100, -92, -92, -92, -92, -92, 177, 195, -65, + -92, -92, 137, -1, 26, -92, 141, -69, -15, -91, + -92, -92, -92 +}; + + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ + -1, 3, 4, 5, 6, 36, 37, 120, 38, 39, + 40, 41, 79, 121, 122, 175, 206, 42, 43, 136, + 44, 81, 132, 82, 45, 140, 46, 83, 47, 48, + 149, 49, 85, 50, 51, 52, 123, 124, 86, 125, + 84, 146, 169, 170, 53, 7, 183, 72, 73, 74, + 63, 54, 106 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_int16 yytable[] = +{ + 10, 93, 94, 182, 11, 67, 68, 158, 159, 160, + 161, 162, 163, 59, 131, 61, 134, 57, 65, 153, + 58, 154, 143, 60, 1, 174, 1, 156, 157, 96, + 97, -34, 108, 62, 144, -34, -34, -34, -34, -34, + -34, -34, -34, 109, 171, -34, -34, 110, -34, 111, + 112, 113, 114, 115, 116, -34, 117, 2, 118, 55, + 64, 66, 69, 192, 155, 8, 9, 119, -34, 70, + 96, 97, 193, 135, 138, 66, 147, 71, 153, 75, + 154, 108, 77, 191, -79, -79, -79, -79, -79, -79, + -79, -79, 66, 69, -79, -79, 110, 76, 184, 172, + 173, 105, 98, 99, 100, 101, 102, 118, 137, 142, + 168, 151, 78, 198, 181, 103, 152, -79, 139, 87, + 148, 96, 97, -36, 108, 88, 179, -36, -36, -36, + -36, -36, -36, -36, -36, 109, 167, -36, -36, 110, + -36, 111, 112, 113, 114, 115, 116, -36, 117, 95, + 118, 199, 89, 96, 97, 96, 97, -5, 13, 119, + -36, 14, 15, 16, 17, 18, 19, 20, 21, 90, + 91, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 92, 141, 33, 150, 104, 107, 164, 165, + 166, -4, 13, 34, 35, 14, 15, 16, 17, 18, + 19, 20, 21, 176, 210, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 177, 178, 33, 182, + 97, 186, 194, 196, 200, -88, 108, 34, 35, -88, + -88, -88, -88, -88, -88, -88, -88, 201, 205, -88, + -88, 110, -88, -88, -88, -88, -88, -88, -88, -88, + 202, 203, 118, 207, 208, 209, 56, 12, 133, 108, + 80, 152, -88, -56, -56, 180, -56, -56, -56, -56, + 109, 0, -56, -56, 110, 126, 127, 128, 129, 145, + 0, 0, 0, 0, 0, 118, 14, 15, 16, 17, + 18, 19, 20, 21, 130, -56, 22, 23, 15, 16, + 0, 18, 19, 20, 21, 0, 0, 22, 23, 185, + 0, 187, 188, 189, 190, 0, 0, 0, 34, 35, + 195, 0, 197, 0, 0, 0, 0, 0, 0, 34, + 35, 0, 204 +}; + +static const yytype_int16 yycheck[] = +{ + 1, 70, 71, 14, 0, 20, 21, 98, 99, 100, + 101, 102, 103, 14, 81, 16, 81, 36, 19, 86, + 36, 86, 24, 36, 3, 116, 3, 96, 97, 40, + 41, 0, 1, 27, 36, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 113, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 36, 27, 36, + 36, 27, 28, 27, 34, 27, 28, 36, 37, 35, + 40, 41, 36, 82, 83, 27, 85, 43, 145, 36, + 145, 1, 38, 174, 4, 5, 6, 7, 8, 9, + 10, 11, 27, 28, 14, 15, 16, 1, 167, 114, + 115, 39, 29, 30, 31, 32, 33, 27, 82, 83, + 111, 85, 1, 182, 129, 42, 36, 37, 83, 36, + 85, 40, 41, 0, 1, 36, 127, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 26, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 36, + 27, 36, 36, 40, 41, 40, 41, 0, 1, 36, + 37, 4, 5, 6, 7, 8, 9, 10, 11, 36, + 36, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 36, 83, 27, 85, 36, 36, 36, 36, + 36, 0, 1, 36, 37, 4, 5, 6, 7, 8, + 9, 10, 11, 1, 205, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 13, 36, 27, 14, + 41, 36, 36, 36, 36, 0, 1, 36, 37, 4, + 5, 6, 7, 8, 9, 10, 11, 36, 42, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 36, 36, 27, 36, 36, 36, 7, 5, 81, 1, + 40, 36, 37, 5, 6, 128, 8, 9, 10, 11, + 12, -1, 14, 15, 16, 17, 18, 19, 20, 84, + -1, -1, -1, -1, -1, 27, 4, 5, 6, 7, + 8, 9, 10, 11, 36, 37, 14, 15, 5, 6, + -1, 8, 9, 10, 11, -1, -1, 14, 15, 168, + -1, 170, 171, 172, 173, -1, -1, -1, 36, 37, + 179, -1, 181, -1, -1, -1, -1, -1, -1, 36, + 37, -1, 191 +}; + + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_uint8 yystos[] = +{ + 0, 3, 36, 45, 46, 47, 48, 89, 27, 28, + 87, 0, 48, 1, 4, 5, 6, 7, 8, 9, + 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 27, 36, 37, 49, 50, 52, 53, + 54, 55, 61, 62, 64, 68, 70, 72, 73, 75, + 77, 78, 79, 88, 95, 36, 46, 36, 36, 87, + 36, 87, 27, 94, 36, 87, 27, 92, 92, 28, + 35, 43, 91, 92, 93, 36, 1, 38, 1, 56, + 56, 65, 67, 71, 84, 76, 82, 36, 36, 36, + 36, 36, 36, 91, 91, 36, 40, 41, 29, 30, + 31, 32, 33, 42, 36, 39, 96, 36, 1, 12, + 16, 18, 19, 20, 21, 22, 23, 25, 27, 36, + 51, 57, 58, 80, 81, 83, 17, 18, 19, 20, + 36, 51, 66, 81, 83, 50, 63, 88, 50, 64, + 69, 75, 88, 24, 36, 82, 85, 50, 64, 74, + 75, 88, 36, 51, 83, 34, 91, 91, 93, 93, + 93, 93, 93, 93, 36, 36, 36, 26, 87, 86, + 87, 91, 92, 92, 93, 59, 1, 13, 36, 87, + 86, 92, 14, 90, 91, 90, 36, 90, 90, 90, + 90, 93, 27, 36, 36, 90, 36, 90, 91, 36, + 36, 36, 36, 36, 90, 42, 60, 36, 36, 36, + 87 +}; + + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 44, 45, 45, 46, 46, 47, 48, 48, 48, + 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, + 50, 51, 51, 52, 53, 54, 55, 56, 56, 56, + 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, + 58, 59, 59, 60, 60, 61, 62, 63, 64, 65, + 65, 65, 65, 65, 65, 66, 66, 66, 66, 67, + 67, 68, 69, 70, 71, 71, 71, 71, 72, 73, + 74, 75, 76, 76, 76, 76, 77, 78, 79, 80, + 81, 82, 82, 82, 82, 83, 84, 84, 84, 85, + 86, 86, 87, 87, 88, 88, 88, 89, 89, 90, + 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 92, 93, 93, 94, 94, 95, 96, 96 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 2, 1, 2, 1, 3, 0, 2, 2, + 2, 2, 4, 4, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 3, 2, 3, 2, 0, 2, 2, + 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, + 3, 0, 3, 0, 2, 3, 2, 1, 3, 0, + 2, 2, 2, 2, 2, 4, 3, 2, 4, 0, + 2, 3, 1, 3, 0, 2, 2, 2, 3, 3, + 1, 3, 0, 2, 2, 2, 3, 3, 2, 2, + 2, 0, 2, 2, 2, 4, 0, 2, 2, 2, + 0, 2, 1, 1, 2, 2, 2, 1, 2, 0, + 2, 1, 3, 3, 3, 3, 3, 3, 3, 2, + 3, 3, 1, 1, 1, 0, 1, 4, 0, 1 +}; + + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ +while (0) + +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 + + + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif + + +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ + +static void +yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +{ + FILE *yyo = yyoutput; + YYUSE (yyo); + if (!yyvaluep) + return; +# ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + YYUSE (yytype); +} + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +static void +yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +{ + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + + yy_symbol_value_print (yyoutput, yytype, yyvaluep); + YYFPRINTF (yyoutput, ")"); +} + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +static void +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +{ + YYFPRINTF (stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +static void +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) +{ + unsigned long int yylno = yyrline[yyrule]; + int yynrhs = yyr2[yyrule]; + int yyi; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); + YYFPRINTF (stderr, "\n"); + } +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +yystrlen (const char *yystr) +{ + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) + continue; + return yylen; +} +# endif +# endif + +# ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +yystpcpy (char *yydest, const char *yysrc) +{ + char *yyd = yydest; + const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +# ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYSIZE_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + YYSIZE_T yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (! yyres) + return yystrlen (yystr); + + return yystpcpy (yyres, yystr) - yyres; +} +# endif + +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) +{ + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) + { + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } + } + + switch (yycount) + { +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } + + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; +} +#endif /* YYERROR_VERBOSE */ + +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +static void +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +{ + YYUSE (yyvaluep); + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + switch (yytype) + { + case 62: /* choice_entry */ + + { + fprintf(stderr, "%s:%d: missing end statement for this entry\n", + ((*yyvaluep).menu)->file->name, ((*yyvaluep).menu)->lineno); + if (current_menu == ((*yyvaluep).menu)) + menu_end_menu(); +} + + break; + + case 68: /* if_entry */ + + { + fprintf(stderr, "%s:%d: missing end statement for this entry\n", + ((*yyvaluep).menu)->file->name, ((*yyvaluep).menu)->lineno); + if (current_menu == ((*yyvaluep).menu)) + menu_end_menu(); +} + + break; + + case 73: /* menu_entry */ + + { + fprintf(stderr, "%s:%d: missing end statement for this entry\n", + ((*yyvaluep).menu)->file->name, ((*yyvaluep).menu)->lineno); + if (current_menu == ((*yyvaluep).menu)) + menu_end_menu(); +} + + break; + + + default: + break; + } + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + + + + +/* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; +/* Number of syntax errors so far. */ +int yynerrs; + + +/*----------. +| yyparse. | +`----------*/ + +int +yyparse (void) +{ + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + + /* The stacks and their tools: + 'yyss': related to states. + 'yyvs': related to semantic values. + + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; + + YYSIZE_T yystacksize; + + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; + yystacksize = YYINITDEPTH; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + + yysetstate: + *yyssp = yystate; + + if (yyss + yystacksize - 1 <= yyssp) + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; + +#ifdef yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } +#else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyexhaustedlab; +# else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif +#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + + if (yystate == YYFINAL) + YYACCEPT; + + goto yybackup; + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + + /* First try to decide what to do without reference to lookahead token. */ + yyn = yypact[yystate]; + if (yypact_value_is_default (yyn)) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); + yychar = yylex (); + } + + if (yychar <= YYEOF) + { + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else + { + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yytable_value_is_error (yyn)) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + /* Shift the lookahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + + /* Discard the shifted token. */ + yychar = YYEMPTY; + + yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + '$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 6: + + { + menu_add_prompt(P_MENU, (yyvsp[-1].string), NULL); +} + + break; + + case 11: + + { zconf_error("unexpected end statement"); } + + break; + + case 12: + + { zconf_error("unknown statement \"%s\"", (yyvsp[-2].string)); } + + break; + + case 13: + + { + zconf_error("unexpected option \"%s\"", (yyvsp[-2].id)->name); +} + + break; + + case 14: + + { zconf_error("invalid statement"); } + + break; + + case 31: + + { zconf_error("unknown option \"%s\"", (yyvsp[-2].string)); } + + break; + + case 32: + + { zconf_error("invalid option"); } + + break; + + case 33: + + { + (yyvsp[-1].symbol)->flags |= SYMBOL_OPTIONAL; + menu_add_entry((yyvsp[-1].symbol)); + printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].symbol)->name); +} + + break; + + case 34: + + { + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 35: + + { + (yyvsp[-1].symbol)->flags |= SYMBOL_OPTIONAL; + menu_add_entry((yyvsp[-1].symbol)); + printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].symbol)->name); +} + + break; + + case 36: + + { + if (current_entry->prompt) + current_entry->prompt->type = P_MENU; + else + zconfprint("warning: menuconfig statement without prompt"); + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 44: + + { + menu_set_type((yyvsp[-2].id)->stype); + printd(DEBUG_PARSE, "%s:%d:type(%u)\n", + zconf_curname(), zconf_lineno(), + (yyvsp[-2].id)->stype); +} + + break; + + case 45: + + { + menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 46: + + { + menu_add_expr(P_DEFAULT, (yyvsp[-2].expr), (yyvsp[-1].expr)); + if ((yyvsp[-3].id)->stype != S_UNKNOWN) + menu_set_type((yyvsp[-3].id)->stype); + printd(DEBUG_PARSE, "%s:%d:default(%u)\n", + zconf_curname(), zconf_lineno(), + (yyvsp[-3].id)->stype); +} + + break; + + case 47: + + { + menu_add_symbol(P_SELECT, (yyvsp[-2].symbol), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 48: + + { + menu_add_symbol(P_IMPLY, (yyvsp[-2].symbol), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:imply\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 49: + + { + menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[-3].symbol), (yyvsp[-2].symbol)), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 52: + + { + const struct kconf_id *id = kconf_id_lookup((yyvsp[-1].string), strlen((yyvsp[-1].string))); + if (id && id->flags & TF_OPTION) { + menu_add_option(id->token, (yyvsp[0].string)); + free((yyvsp[0].string)); + } + else + zconfprint("warning: ignoring unknown option %s", (yyvsp[-1].string)); + free((yyvsp[-1].string)); +} + + break; + + case 53: + + { (yyval.string) = NULL; } + + break; + + case 54: + + { (yyval.string) = (yyvsp[0].string); } + + break; + + case 55: + + { + struct symbol *sym = sym_lookup((yyvsp[-1].string), SYMBOL_CHOICE); + sym->flags |= SYMBOL_NO_WRITE; + menu_add_entry(sym); + menu_add_expr(P_CHOICE, NULL, NULL); + free((yyvsp[-1].string)); + printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 56: + + { + (yyval.menu) = menu_add_menu(); +} + + break; + + case 57: + + { + if (zconf_endtoken((yyvsp[0].id), T_CHOICE, T_ENDCHOICE)) { + menu_end_menu(); + printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); + } +} + + break; + + case 65: + + { + menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 66: + + { + if ((yyvsp[-2].id)->stype == S_BOOLEAN || (yyvsp[-2].id)->stype == S_TRISTATE) { + menu_set_type((yyvsp[-2].id)->stype); + printd(DEBUG_PARSE, "%s:%d:type(%u)\n", + zconf_curname(), zconf_lineno(), + (yyvsp[-2].id)->stype); + } else + YYERROR; +} + + break; + + case 67: + + { + current_entry->sym->flags |= SYMBOL_OPTIONAL; + printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 68: + + { + if ((yyvsp[-3].id)->stype == S_UNKNOWN) { + menu_add_symbol(P_DEFAULT, (yyvsp[-2].symbol), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:default\n", + zconf_curname(), zconf_lineno()); + } else + YYERROR; +} + + break; + + case 71: + + { + printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); + menu_add_entry(NULL); + menu_add_dep((yyvsp[-1].expr)); + (yyval.menu) = menu_add_menu(); +} + + break; + + case 72: + + { + if (zconf_endtoken((yyvsp[0].id), T_IF, T_ENDIF)) { + menu_end_menu(); + printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); + } +} + + break; + + case 78: + + { + menu_add_entry(NULL); + menu_add_prompt(P_MENU, (yyvsp[-1].string), NULL); + printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 79: + + { + (yyval.menu) = menu_add_menu(); +} + + break; + + case 80: + + { + if (zconf_endtoken((yyvsp[0].id), T_MENU, T_ENDMENU)) { + menu_end_menu(); + printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); + } +} + + break; + + case 86: + + { + printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].string)); + zconf_nextfile((yyvsp[-1].string)); + free((yyvsp[-1].string)); +} + + break; + + case 87: + + { + menu_add_entry(NULL); + menu_add_prompt(P_COMMENT, (yyvsp[-1].string), NULL); + printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 89: + + { + printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); + zconf_starthelp(); +} + + break; + + case 90: + + { + if (current_entry->help) { + free(current_entry->help); + zconfprint("warning: '%s' defined with more than one help text -- only the last one will be used", + current_entry->sym->name ?: ""); + } + + /* Is the help text empty or all whitespace? */ + if ((yyvsp[0].string)[strspn((yyvsp[0].string), " \f\n\r\t\v")] == '\0') + zconfprint("warning: '%s' defined with blank help text", + current_entry->sym->name ?: ""); + + current_entry->help = (yyvsp[0].string); +} + + break; + + case 95: + + { + menu_add_dep((yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 99: + + { + menu_add_visibility((yyvsp[0].expr)); +} + + break; + + case 101: + + { + menu_add_prompt(P_PROMPT, (yyvsp[-1].string), (yyvsp[0].expr)); +} + + break; + + case 104: + + { (yyval.id) = (yyvsp[-1].id); } + + break; + + case 105: + + { (yyval.id) = (yyvsp[-1].id); } + + break; + + case 106: + + { (yyval.id) = (yyvsp[-1].id); } + + break; + + case 109: + + { (yyval.expr) = NULL; } + + break; + + case 110: + + { (yyval.expr) = (yyvsp[0].expr); } + + break; + + case 111: + + { (yyval.expr) = expr_alloc_symbol((yyvsp[0].symbol)); } + + break; + + case 112: + + { (yyval.expr) = expr_alloc_comp(E_LTH, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 113: + + { (yyval.expr) = expr_alloc_comp(E_LEQ, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 114: + + { (yyval.expr) = expr_alloc_comp(E_GTH, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 115: + + { (yyval.expr) = expr_alloc_comp(E_GEQ, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 116: + + { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 117: + + { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 118: + + { (yyval.expr) = (yyvsp[-1].expr); } + + break; + + case 119: + + { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[0].expr)); } + + break; + + case 120: + + { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[-2].expr), (yyvsp[0].expr)); } + + break; + + case 121: + + { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } + + break; + + case 122: + + { (yyval.symbol) = sym_lookup((yyvsp[0].string), 0); free((yyvsp[0].string)); } + + break; + + case 124: + + { (yyval.symbol) = sym_lookup((yyvsp[0].string), SYMBOL_CONST); free((yyvsp[0].string)); } + + break; + + case 125: + + { (yyval.string) = NULL; } + + break; + + case 127: + + { variable_add((yyvsp[-3].string), (yyvsp[-1].string), (yyvsp[-2].flavor)); free((yyvsp[-3].string)); free((yyvsp[-1].string)); } + + break; + + case 128: + + { (yyval.string) = xstrdup(""); } + + break; + + + + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + + *++yyvsp = yyval; + + /* Now 'shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTOKENS]; + + goto yynewstate; + + +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ +yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; +#if ! YYERROR_VERBOSE + yyerror (YY_("syntax error")); +#else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) + { + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; + } +# undef YYSYNTAX_ERROR +#endif + } + + + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } + } + + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + + /* Pacify compilers like GCC when the user code never invokes + YYERROR and the label yyerrorlab therefore never appears in user + code. */ + if (/*CONSTCOND*/ 0) + goto yyerrorlab; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (!yypact_value_is_default (yyn)) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct ("Error: popping", + yystos[yystate], yyvsp); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#if !defined yyoverflow || YYERROR_VERBOSE +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (YY_("memory exhausted")); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } + /* Do not reclaim the symbols of the rule whose action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + yystos[*yyssp], yyvsp); + YYPOPSTACK (1); + } +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif +#if YYERROR_VERBOSE + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); +#endif + return yyresult; +} + + + +void conf_parse(const char *name) +{ + struct symbol *sym; + int i; + + zconf_initscan(name); + + _menu_init(); + + if (getenv("ZCONF_DEBUG")) + yydebug = 1; + yyparse(); + + /* Variables are expanded in the parse phase. We can free them here. */ + variable_all_del(); + + if (yynerrs) + exit(1); + if (!modules_sym) + modules_sym = sym_find( "n" ); + + if (!menu_has_prompt(&rootmenu)) { + current_entry = &rootmenu; + menu_add_prompt(P_MENU, "Main menu", NULL); + } + + menu_finalize(&rootmenu); + for_all_symbols(i, sym) { + if (sym_check_deps(sym)) + yynerrs++; + } + if (yynerrs) + exit(1); + sym_set_change_count(1); +} + +static const char *zconf_tokenname(int token) +{ + switch (token) { + case T_MENU: return "menu"; + case T_ENDMENU: return "endmenu"; + case T_CHOICE: return "choice"; + case T_ENDCHOICE: return "endchoice"; + case T_IF: return "if"; + case T_ENDIF: return "endif"; + case T_DEPENDS: return "depends"; + case T_VISIBLE: return "visible"; + } + return ""; +} + +static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken) +{ + if (id->token != endtoken) { + zconf_error("unexpected '%s' within %s block", + id->name, zconf_tokenname(starttoken)); + yynerrs++; + return false; + } + if (current_menu->file != current_file) { + zconf_error("'%s' in different file than '%s'", + id->name, zconf_tokenname(starttoken)); + fprintf(stderr, "%s:%d: location of the '%s'\n", + current_menu->file->name, current_menu->lineno, + zconf_tokenname(starttoken)); + yynerrs++; + return false; + } + return true; +} + +static void zconfprint(const char *err, ...) +{ + va_list ap; + + fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); + va_start(ap, err); + vfprintf(stderr, err, ap); + va_end(ap); + fprintf(stderr, "\n"); +} + +static void zconf_error(const char *err, ...) +{ + va_list ap; + + yynerrs++; + fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); + va_start(ap, err); + vfprintf(stderr, err, ap); + va_end(ap); + fprintf(stderr, "\n"); +} + +static void yyerror(const char *err) +{ + fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err); +} + +static void print_quoted_string(FILE *out, const char *str) +{ + const char *p; + int len; + + putc('"', out); + while ((p = strchr(str, '"'))) { + len = p - str; + if (len) + fprintf(out, "%.*s", len, str); + fputs("\\\"", out); + str = p + 1; + } + fputs(str, out); + putc('"', out); +} + +static void print_symbol(FILE *out, struct menu *menu) +{ + struct symbol *sym = menu->sym; + struct property *prop; + + if (sym_is_choice(sym)) + fprintf(out, "\nchoice\n"); + else + fprintf(out, "\nconfig %s\n", sym->name); + switch (sym->type) { + case S_BOOLEAN: + fputs(" bool\n", out); + break; + case S_TRISTATE: + fputs(" tristate\n", out); + break; + case S_STRING: + fputs(" string\n", out); + break; + case S_INT: + fputs(" integer\n", out); + break; + case S_HEX: + fputs(" hex\n", out); + break; + default: + fputs(" ???\n", out); + break; + } + for (prop = sym->prop; prop; prop = prop->next) { + if (prop->menu != menu) + continue; + switch (prop->type) { + case P_PROMPT: + fputs(" prompt ", out); + print_quoted_string(out, prop->text); + if (!expr_is_yes(prop->visible.expr)) { + fputs(" if ", out); + expr_fprint(prop->visible.expr, out); + } + fputc('\n', out); + break; + case P_DEFAULT: + fputs( " default ", out); + expr_fprint(prop->expr, out); + if (!expr_is_yes(prop->visible.expr)) { + fputs(" if ", out); + expr_fprint(prop->visible.expr, out); + } + fputc('\n', out); + break; + case P_CHOICE: + fputs(" #choice value\n", out); + break; + case P_SELECT: + fputs( " select ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; + case P_IMPLY: + fputs( " imply ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; + case P_RANGE: + fputs( " range ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; + case P_MENU: + fputs( " menu ", out); + print_quoted_string(out, prop->text); + fputc('\n', out); + break; + case P_SYMBOL: + fputs( " symbol ", out); + fprintf(out, "%s\n", prop->sym->name); + break; + default: + fprintf(out, " unknown prop %d!\n", prop->type); + break; + } + } + if (menu->help) { + int len = strlen(menu->help); + while (menu->help[--len] == '\n') + menu->help[len] = 0; + fprintf(out, " help\n%s\n", menu->help); + } +} + +void zconfdump(FILE *out) +{ + struct property *prop; + struct symbol *sym; + struct menu *menu; + + menu = rootmenu.list; + while (menu) { + if ((sym = menu->sym)) + print_symbol(out, menu); + else if ((prop = menu->prompt)) { + switch (prop->type) { + case P_COMMENT: + fputs("\ncomment ", out); + print_quoted_string(out, prop->text); + fputs("\n", out); + break; + case P_MENU: + fputs("\nmenu ", out); + print_quoted_string(out, prop->text); + fputs("\n", out); + break; + default: + ; + } + if (!expr_is_yes(prop->visible.expr)) { + fputs(" depends ", out); + expr_fprint(prop->visible.expr, out); + fputc('\n', out); + } + } + + if (menu->list) + menu = menu->list; + else if (menu->next) + menu = menu->next; + else while ((menu = menu->parent)) { + if (menu->prompt && menu->prompt->type == P_MENU) + fputs("\nendmenu\n", out); + if (menu->next) { + menu = menu->next; + break; + } + } + } +} + +#include "zconf.lex.c" +#include "util.c" +#include "confdata.c" +#include "expr.c" +#include "symbol.c" +#include "menu.c" +#include "preprocess.c" diff --git a/BSP/linux-kernel/scripts/kconfig/zconf.tab.o b/BSP/linux-kernel/scripts/kconfig/zconf.tab.o new file mode 100644 index 0000000000000000000000000000000000000000..ce05ebce19d7bc04cbf54aeae17c636c545358ff GIT binary patch literal 180016 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 literal 0 HcmV?d00001 diff --git a/BSP/root-fs/rootfs/etc b/BSP/root-fs/rootfs/etc new file mode 120000 index 000000000..518076efb --- /dev/null +++ b/BSP/root-fs/rootfs/etc @@ -0,0 +1 @@ +etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S530 \ No newline at end of file diff --git a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/ModelConfig.mk b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/ModelConfig.mk new file mode 100644 index 000000000..1d106fb0a --- /dev/null +++ b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/ModelConfig.mk @@ -0,0 +1,63 @@ +#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +#!automatically-generated file. do not edit!! +#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +BOARD_DRAM_ADDR = 0x00000000 +BOARD_DRAM_SIZE = 0x08000000 +BOARD_SHMEM_ADDR = 0x00007E00 +BOARD_SHMEM_SIZE = 0x00000200 +BOARD_LOADER_ADDR = 0x01000000 +BOARD_LOADER_SIZE = 0x00080000 +BOARD_FDT_ADDR = 0x01800000 +BOARD_FDT_SIZE = 0x00040000 +BOARD_RTOS_ADDR = 0x01840000 +BOARD_RTOS_SIZE = 0x00FC0000 +BOARD_LINUXTMP_ADDR = 0x02800000 +BOARD_LINUXTMP_SIZE = 0x04000000 +BOARD_UBOOT_ADDR = 0x06800000 +BOARD_UBOOT_SIZE = 0x01640000 +BOARD_LOGO-FB_ADDR = 0x07E40000 +BOARD_LOGO-FB_SIZE = 0x001C0000 +BOARD_LINUX_ADDR = 0x00000000 +BOARD_LINUX_SIZE = 0x01800000 +BOARD_LINUX_MAXBLK_ADDR = 0x00000000 +BOARD_LINUX_MAXBLK_SIZE = 0x01800000 +BOARD_MEDIA_ADDR = 0x03600000 +BOARD_MEDIA_SIZE = 0x04A00000 +BIN_NAME = FW98565A +BIN_NAME_T = FW98565T +RTOS_APP_MAIN = cardv +EMBMEM_BLK_SIZE = 0x10000 +EMBMEM = EMBMEM_SPI_NOR +FW_TYPE = FW_TYPE_PARTIAL +UI_STYLE = UI_STYLE_LVGL +NVT_CFG_APP_EXTERNAL = hostapd wireless_tool iperf-3 wpa_supplicant dhd_priv +NVT_CFG_APP = mem cardv memcpy isp_demon +NVT_ROOTFS_ETC = +NVT_BINARY_FILE_STRIP = yes +NVT_CFG_KERNEL_CFG = na51089_evb_cardv_defconfig_release +NVT_MAKE_POST = make_post.sh +NVT_SAMPLES_INSTALL = DISABLE +NVT_CFG_UBOOT_CFG = +NVT_LINUX_SMP = NVT_LINUX_SMP_OFF +NVT_CHIP_ID = CHIP_NA51089 +NVT_LINUX_COMPRESS = NVT_LINUX_COMPRESS_GZ +NVT_DEFAULT_NETWORK_BOOT_PROTOCOL = NVT_DEFAULT_NETWORK_BOOT_PROTOCOL_STATIC_IP +NVT_ROOTFS_TYPE = NVT_ROOTFS_TYPE_RAMDISK +LCD1 = disp_if8b_lcd1_psd200_st7789v +SENSOR1 = sen_os05b10 +SENSOR1_CFG = sen_os05b10_565 +SENSOR2 = sen_off +SENSOR2_CFG = sen_off +NVT_ROOTFS_RW_PART_EN = NVT_ROOTFS_RW_PART_EN_ON +NVT_ETHERNET = NVT_ETHERNET_NONE +NVT_SDIO_WIFI = NVT_SDIO_WIFI_RTK +NVT_USB_WIFI = NVT_USB_WIFI_NONE +NVT_USB_4G = NVT_USB_4G_NONE +WIFI_RTK_MDL = WIFI_RTK_MDL_8189 +WIFI_BRCM_MDL = WIFI_BRCM_MDL_43456c5_ampk6256c5 +WIFI_NVT_MDL = WIFI_NVT_MDL_18211 +NVT_CURL_SSL = NVT_CURL_SSL_OPENSSL +NVT_UBOOT_ENV_IN_STORG_SUPPORT = NVT_UBOOT_ENV_IN_STORG_SUPPORT_OFF +TOUCH = TOUCH_OFF +UBOOT_ONLY_LOAD_LINUX = UBOOT_ONLY_LOAD_LINUX_ON diff --git a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.dtb new file mode 100644 index 0000000000000000000000000000000000000000..d2d118a0c3efbc183943e33fa2ab56e1ba000ec6 GIT binary patch literal 17550 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 literal 0 HcmV?d00001 diff --git a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts new file mode 100644 index 000000000..ad34ddfb8 --- /dev/null +++ b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530/nvt-evb.tmp.dts @@ -0,0 +1,1181 @@ +# 1 "nvt-evb.dts" +# 1 "" +# 1 "" +# 1 "nvt-evb.dts" + + + + + + + +/dts-v1/; +# 1 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/gpio/nvt-gpio.h" 1 +# 13 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/gpio/nvt-gpio.h" +# 1 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/gpio/gpio.h" 1 +# 14 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/gpio/nvt-gpio.h" 2 +# 10 "nvt-evb.dts" 2 +# 1 "nvt-peri.dtsi" 1 +# 10 "nvt-peri.dtsi" +# 1 "nvt-basic.dtsi" 1 +# 9 "nvt-basic.dtsi" +# 1 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/interrupt-controller/arm-gic.h" 1 +# 9 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/interrupt-controller/arm-gic.h" +# 1 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/interrupt-controller/irq.h" 1 +# 10 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/interrupt-controller/arm-gic.h" 2 +# 10 "nvt-basic.dtsi" 2 + +/ { + model = "Novatek NA51089"; + compatible = "novatek,na51089", "nvt,ca9"; + interrupt-parent = <&gic>; + #address-cells = <1>; + #size-cells = <1>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x0>; + next-level-cache = <&L2>; + clock-frequency = <960000000>; + }; + }; + + cg@f0020000 { + compatible = "nvt,core_clk"; + reg = <0xf0020000 0x1000>; + }; + + + periph_clk: periph_clk { + compatible = "nvt,periph_clk"; + #clock-cells = <0>; + clock-output-names = "periph_clk"; + }; + + global_timer@ffd00200 { + compatible = "arm,cortex-a9-global-timer"; + reg = <0xffd00200 0x20>; + interrupts = <1 11 0xf01>; + clocks = <&periph_clk>; + }; + + private_timer@ffd00600 { + compatible = "arm,cortex-a9-twd-timer"; + reg = <0xffd00600 0x20>; + interrupts = <1 13 0xf01>; + clocks = <&periph_clk>; + }; + + pmu { + compatible = "arm,cortex-a9-pmu"; + interrupts = <0 112 4>; + interrupt-affinity = <&cpu0>; + }; + + L2: cache-controller@ffe00000 { + compatible = "arm,pl310-cache"; + reg = <0xffe00000 0x1000>; + interrupts = <0 96 4>; + cache-unified; + arm,shared-override; + cache-level = <2>; + arm,data-latency = <2 2 2>; + arm,tag-latency = <2 2 2>; + }; + + gic: interrupt-controller@0xffd00000 { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0xffd01000 0x1000>, + <0xffd00100 0x1000>; + }; + + scu: snoop-control-unit@0xffd00000 { + compatible = "arm,cortex-a9-scu"; + reg = <0xffd00000 0x100>; + }; +}; +# 11 "nvt-peri.dtsi" 2 + +/ { + chosen { + bootargs = " "; + }; + + aliases { + mmc0 = &mmc0; + mmc1 = &mmc1; + }; + + uart@f0290000 { + compatible = "ns16550a"; + reg = <0xf0290000 0x1000>; + interrupts = <0 43 4>; + baud = <115200>; + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test = <1>; + clock-frequency = <24000000>; + fifo-size = <64>; + uart_id = <0>; + }; + + uart@f0300000 { + compatible = "ns16550a"; + reg = <0xf0300000 0x1000>; + interrupts = <0 44 4>; + baud = <115200>; + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test = <1>; + clock-frequency = <48000000>; + fifo-size = <64>; + hw_flowctrl = <0>; + rx_trig_level = <3>; + uart_id = <1>; + }; + + uart@f0310000 { + compatible = "ns16550a"; + reg = <0xf0310000 0x1000>; + interrupts = <0 45 4>; + baud = <115200>; + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test = <1>; + clock-frequency = <48000000>; + fifo-size = <64>; + hw_flowctrl = <0>; + rx_trig_level = <3>; + uart_id = <2>; + }; + + kdrv_rpc: cc@f0090000 { + compatible = "kdrv_rpc"; + reg = <0xf0090000 0x300>; + interrupts = <0 59 4>; + }; + + mmc0: mmc@f0420000 { + compatible = "nvt,nvt_mmc"; + reg = <0xf0420000 0x1000>; + interrupts = <0 30 4>; + max-frequency = <48000000>; + voltage-switch = <0>; + max-voltage = <3300>; + bus-width = <4>; + neg-sample-edge = <0>; + driving = <15 15 15 20 15 15 25 25 25 25 25 25>; + cd_gpio = <(9) 0x0 0x0>; + card_power_gpio = <(7 + 0x20) 0x0>; + + + }; + + mmc1: mmc@f0500000 { + compatible = "nvt,nvt_mmc2"; + reg = <0xf0500000 0x1000>; + interrupts = <0 31 4>; + max-frequency = <48000000>; + voltage-switch = <0>; + max-voltage = <3300>; + bus-width = <4>; + neg-sample-edge = <0>; + driving = <15 8 8 20 8 8 20 8 8 20 8 8>; + cd_gpio = <0 0x0 0x1>; + + + + }; + + nand: nand@f0400000 { + #address-cells = <2>; + #size-cells = <2>; + compatible = "nvt,nvt_spinand"; + reg = <0xf0400000 0x1000>; + interrupts = <0 29 4>; + clock-frequency = <96000000>; + nvt-devname = "spi_nand.0"; + }; + + nor: nor@f0400000 { + #address-cells = <2>; + #size-cells = <2>; + compatible = "nvt,nvt_spinor"; + reg = <0xf0400000 0x1000>; + interrupts = <0 29 4>; + clock-frequency = <120000000>; + nvt-devname = "spi_nor.0"; + trace-stdtable = <0>; + }; + + gpio: gpio@f0070000 { + compatible = "nvt,nvt_gpio"; + reg = <0xf0070000 0x10000>; + interrupts = <0 24 4>; + #gpio-cells = <2>; + }; + + eth@f02b0000 { + compatible = "nvt,synopsys_eth"; + reg = <0xf02b0000 0x3800>; + interrupts = <0 34 4>; + sp-clk = <0>; + ref-clk-out = <0>; + }; + + phy@f02b3800 { + compatible = "nvt,eth_phy"; + reg = <0xf02b3800 0x400>; + }; + + wdt@f0050000 { + compatible = "nvt,nvt_wdt"; + reg = <0xf0050000 0x10000>; + interrupts = <0 57 4>; + }; + + pwm: pwm@f0210000 { + compatible = "nvt,nvt_kdrv_pwm"; + reg = <0xf0210000 0x2000>; + interrupts = <0 26 4>; + }; + + adc@f0260000 { + compatible = "nvt,nvt_adc"; + reg = <0xf0260000 0x1000>; + interrupts = <0 47 4>; + #io-channel-cells = <1>; + }; + + rtc@f0060000 { + compatible = "nvt,nvt_rtc"; + reg = <0xf0060000 0x100>; + interrupts = <0 56 4>; + }; + + drtc@f00b0000 { + compatible = "nvt,nvt_drtc"; + reg = <0xf00b0000 0x100>; + }; + + crypto: crypto@f0620000 { + compatible = "nvt,nvt_crypto"; + reg = <0xf0620000 0x100>; + interrupts = <0 38 4>; + mclk = <1>; + }; + + hash: hash@f0670000 { + compatible = "nvt,nvt_hash"; + reg = <0xf0670000 0x100>; + interrupts = <0 28 4>; + mclk = <1>; + }; + + rsa: rsa@f06a0000 { + compatible = "nvt,nvt_rsa"; + reg = <0xf06a0000 0x100>; + interrupts = <0 20 4>; + mclk = <1>; + }; + + top: top@f0010000 { + compatible = "nvt,nvt_top"; + reg = <0xf0010000 0x2000 + 0xf0030000 0x2000 + 0xf0070000 0x10000>; + }; + + sie@f0c00000 { + compatible = "nvt,drv_sie"; + reg = <0xf0c00000 0x900 + 0xf0d20000 0x900 + 0xF0D30000 0x900>; + interrupts = <0 1 4 + 0 2 4 + 0 3 4>; + + }; + + tge@f0cc0000 { + compatible = "nvt,kdrv_tge"; + reg = <0xf0cc0000 0x150>; + interrupts = <0 22 4>; + }; + + rhe@f0ce0000 { + compatible = "nvt,kdrv_rhe"; + reg = <0xf0ce0000 0x900>; + interrupts = <0 13 4>; + }; + + ime@f0c40000 { + compatible = "nvt,kdrv_ime"; + reg = <0xf0c40000 0x1000>; + interrupts = <0 6 4>; + }; + + ife2@f0d00000 { + compatible = "nvt,kdrv_ife2"; + reg = <0xf0d00000 0x100>; + interrupts = <0 9 4>; + }; + + ise@f0c90000 { + compatible = "nvt,kdrv_ise"; + reg = <0xf0c90000 0x100>; + interrupts = <0 21 4 + 0 85 4>; + }; + + ipe@f0c30000 { + compatible = "nvt,kdrv_ipe"; + reg = <0xf0c30000 0x900>; + interrupts = <0 5 4>; + }; + + ife@f0c70000 { + compatible = "nvt,kdrv_ife"; + reg = <0xf0c70000 0x800>; + interrupts = <0 8 4>; + }; + + vpe@f0cd0000 { + compatible = "nvt,kdrv_vpe"; + reg = <0xf0cd0000 0x1040>; + interrupts = <0 62 4>; + }; + + ai@f0c60000 { + compatible = "nvt,kdrv_ai"; + reg = <0xf0c60000 0x23c + 0xf0d50000 0x114 + 0xf0cb0000 0x22c>; + interrupts = <0 14 4 + 0 13 4 + 0 11 4>; + clock-frequency = <600000000 480000000 600000000>; + }; + + md@f0c10000 { + compatible = "nvt,kdrv_md"; + reg = <0xf0c10000 0x150>; + interrupts = <0 46 4>; + clock-frequency = <240000000>; + }; + dis@f0c50000 { + compatible = "nvt,kdrv_dis"; + reg = <0xf0c50000 0x114>; + interrupts = <0 10 4>; + }; + + coe@f0a11000 { + compatible = "nvt,nvt_coe"; + reg = <0xf0a11000 0x2c0>; + }; + + dce@f0c20000 { + compatible = "nvt,kdrv_dce"; + reg = <0xf0c20000 0x650>; + interrupts = <0 7 4>; + }; + + ive@f0d70000 { + compatible = "nvt,kdrv_ive"; + reg = <0xf0d70000 0x6c>; + interrupts = <0 53 4>; + }; + + sde@f0d90000 { + compatible = "nvt,kdrv_sde"; + reg = <0xf0d90000 0x90>; + interrupts = <0 74 4>; + }; + + ide@f0800000 { + compatible = "nvt,nvt_ide"; + reg = <0xf0800000 0x1000>; + interrupts = <0 48 4>; + }; + + dsi@f0840000 { + compatible = "nvt,nvt_dsi"; + reg = <0xf0840000 0x1000>; + interrupts = <0 50 4>; + }; + + csi@f0280000 { + compatible = "nvt,nvt_csi"; + reg = <0xf0280000 0x100 + 0xf0330000 0x100>; + interrupts = <0 54 4 + 0 55 4>; + }; + + lvds@f0270000 { + compatible = "nvt,nvt_lvds"; + reg = <0xF0270000 0x200 + 0xF0370000 0x200>; + interrupts = <0 54 4 + 0 55 4>; + }; + + senphy@f06b0000 { + compatible = "nvt,nvt_senphy"; + reg = <0xF06B0000 0x100>; + }; + + ssenif@f0xx0000 { + compatible = "nvt,nvt_ssenif"; + reg = <0xF02C0000 0x2000>; + interrupts = <0 61 4>; + }; + + sif@f0240000 { + compatible = "nvt,nvt_sif"; + reg = <0xf0240000 0x200>; + interrupts = <0 40 4>; + clock-frequency = <1000000>; + }; + + graphic@f0c80000 { + compatible = "nvt,nvt_graphic"; + reg = <0xF0C80000 0x300 + 0xF0D10000 0x100>; + interrupts = <0 18 4 + 0 19 4>; + }; + + affine@f0ca0000 { + compatible = "nvt,nvt_affine"; + reg = <0xF0CA0000 0x100>; + interrupts = <0 52 4>; + }; + + h26x@f0a10000 { + compatible = "nvt,nvt_h26x"; + reg = <0xf0a10000 0xa00>; + interrupts = <0 16 4>; + power_saving = <0>; + }; + + timer@f0040000 { + compatible = "nvt,nvt_timer"; + reg = <0xf0040000 0x300>; + interrupts = <0 0 4>; + }; + + eac@f0640000 { + compatible = "nvt,nvt_eac"; + reg = <0xF0640000 0x200>; + }; + + jpg@f0a00000 { + compatible = "nvt,nvt_jpg"; + reg = <0xf0a00000 0x100>; + interrupts = <0 17 4>; + }; + + nvt_usb2host@f0600000 { + compatible = "nvt,ehci-nvtivot"; + reg = <0xf0600000 0x10000>; + interrupts = <0 27 4>; + }; + + nvt_usb2dev@f0600000 { + compatible = "nvt,fotg200_udc"; + reg = <0xf0600000 0x10000>; + interrupts = <0 27 4>; + }; + + nvt_usb_chrg@f0600000 { + compatible = "nvt,nvt_usb_chrgdet"; + reg = <0xf0600000 0x10000>; + }; + + dai@f0630000 { + compatible = "nvt,nvt_dai"; + reg = <0xF0630000 0xbc>; + interrupts = <0 15 4>; + }; + + rotate@f0cf0000 { + compatible = "nvt,nvt_rotation"; + reg = <0xF0CF0000 0x100>; + interrupts = <0 81 4>; + }; + + drvdump@0 { + compatible = "nvt,nvt_drvdump"; + }; + + dsp@f1430000 { + compatible = "nvt,nvt_dsp"; + reg = <0xF1430000 0x200 + 0xF2000000 0x1000000 + 0xF1440000 0x200 + 0xF3000000 0x1000000>; + interrupts = <0 76 4 + 0 77 4>; + }; + + spi0: spi@f0230000 { + compatible = "nvt,nvt_spi"; + reg = <0xf0230000 0x10000>; + interrupts = <0 35 4>; + dma-support = <0>; + nvt-devname = <0>; + }; + + spi1: spi@f0320000 { + compatible = "nvt,nvt_spi"; + reg = <0xf0320000 0x10000>; + interrupts = <0 36 4>; + dma-support = <0>; + nvt-devname = <1>; + }; + + spi2: spi@f0340000 { + compatible = "nvt,nvt_spi"; + reg = <0xf0340000 0x10000>; + interrupts = <0 37 4>; + dma-support = <0>; + nvt-devname = <2>; + }; + + sdp@f0390000 { + compatible = "nvt,nvt_sdp"; + reg = <0xf0390000 0x28>; + interrupts = <0 12 4>; + }; + + tse@f0650000 { + compatible = "nvt,nvt_tse"; + reg = <0xF0650000 0x90>; + interrupts = <0 23 4>; + }; + + remote@f0250000 { + compatible = "nvt,nvt_remote"; + reg = <0xf0250000 0x28>; + interrupts = <0 25 4>; + }; + + rng: rng@f0680000 { + compatible = "nvt,nvt_rng"; + reg = <0xf0680000 0x100>; + }; + + nvt_arb@f0000000 { + compatible = "nvt,nvt_arb"; + reg = <0xF0000000 0xA000 + 0xF0FE0000 0x300>; + interrupts = <0 33 4>; + }; + + nvt_otp@f0660000 { + compatible = "nvt,nvt_otp"; + reg = <0xF0660000 0x70>; + }; + + kdrv_ipp { + clock-frequency = <240000000>; + }; + + uvcp: uvcp@f0690000 { + compatible = "nvt,nvt_uvcp"; + reg = <0xf0690000 0x200>; + interrupts = <0 59 4>; + }; + pll_preset@0 { + pll3{pll_config = <3 0 0>;}; + pll4{pll_config = <4 0 0>;}; + pll5{pll_config = <5 297000000 1>;}; + pll6{pll_config = <6 0 0>;}; + pll7{pll_config = <7 0 0>;}; + pll8{pll_config = <8 0 0>;}; + pll9{pll_config = <9 0 0>;}; + pll11{pll_config = <11 0 0>;}; + pll12{pll_config = <12 0 1>;}; + }; +}; +# 11 "nvt-evb.dts" 2 +# 1 "nvt-top.dtsi" 1 +&top { + sdio{pinmux = <0x5>;}; + sdio2{pinmux = <0x5>;}; + sdio3{pinmux = <0x0>;}; + nand{pinmux = <0x5>;}; + sensor{pinmux = <0x0>;}; + sensor2{pinmux = <0x0>;}; + mipi_lvds{pinmux = <0x0>;}; + i2c{pinmux = <0x40>;}; + sif{pinmux = <0x0>;}; + uart{pinmux = <0x1021>;}; + spi{pinmux = <0x0>;}; + sdp{pinmux = <0x0>;}; + remote{pinmux = <0x0>;}; + pwm{pinmux = <0x8000>;}; + pwm2{pinmux = <0x000000>;}; + ccnt{pinmux = <0x0>;}; + audio{pinmux = <0x0>;}; + lcd{pinmux = <0x10000000>;}; + tv{pinmux = <0x0>;}; + eth{pinmux = <0x0>;}; + misc{pinmux = <0x0>;}; +}; +# 12 "nvt-evb.dts" 2 +# 1 "nvt-i2c.dtsi" 1 + + + + + + + +/ { + i2c0: i2c@f0220000 { compatible = "nvt,nvt_i2c"; reg = <0xf0220000 0x100>; interrupts = <0 41 4>; clock-frequency = <400000>; id = <0>; }; + i2c1: i2c2@f0350000 { compatible = "nvt,nvt_i2c"; reg = <0xf0350000 0x100>; interrupts = <0 42 4>; clock-frequency = <400000>; id = <1>; }; + i2c2: i2c3@f03a0000 { compatible = "nvt,nvt_i2c"; reg = <0xf03a0000 0x100>; interrupts = <0 60 4>; clock-frequency = <50000>; id = <2>; }; +}; +# 13 "nvt-evb.dts" 2 +# 1 "nvt-gpio.dtsi" 1 +&top { +# 201 "nvt-gpio.dtsi" + pgpio11{gpio_config = <(11 + 0x20) 1>;}; + + pgpio2{gpio_config = <(2 + 0x20) 0>;}; +}; +# 14 "nvt-evb.dts" 2 +# 1 "nvt-peri-dev.dtsi" 1 +# 11 "nvt-peri-dev.dtsi" +&i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + + + + + +}; + +&i2c1 { + #address-cells = <1>; + #size-cells = <0>; +}; + +&i2c2 { + #address-cells = <1>; + #size-cells = <0>; +}; + +&spi0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; +# 44 "nvt-peri-dev.dtsi" +}; + +&spi1 { + status = "okay"; +}; + +&spi2 { + status = "okay"; +}; +# 15 "nvt-evb.dts" 2 +# 1 "nvt-audio.dtsi" 1 + + + + + + + +/ { + audio@1 { type = "none"; i2s_ctrl = <0>; sif_channel = <0>; gpio_cold_reset = <0>; gpio_data = <0>; gpio_clk = <0>; gpio_cs = <0>; adc_zero = <0>; }; + audio@2 { type = "embedded"; i2s_ctrl = <4>; sif_channel = <0>; gpio_cold_reset = <0>; gpio_data = <0>; gpio_clk = <0>; gpio_cs = <0>; adc_zero = <0>; }; +}; +# 16 "nvt-evb.dts" 2 +# 1 "nvt-display.dtsi" 1 + + + + + + + +# 1 "/home/payton/S530/BSP/linux-kernel/include/dt-bindings/pinctrl/nvt_lcd.h" 1 +# 9 "nvt-display.dtsi" 2 +# 25 "nvt-display.dtsi" +/ { + display { type = "lcd"; lcd_ctrl = <1>; sif_channel = <4>; gpio_cs = <(7 + 0x20)>; gpio_clk = <(8 + 0x20)>; gpio_data = <(9 + 0x20)>; }; + logo { enable = <1>; lcd_type = <5>; lcd_rotate = <270>; lcd_reset = <(1 + 0x60)>; lcd_bl_gpio = <(11 + 0x20) 1>; lcd_power = <(8 + 0x20) 1>;}; +}; +# 17 "nvt-evb.dts" 2 +# 1 "nvt-media.dtsi" 1 +# 10 "nvt-media.dtsi" +# 1 "nvt-basic.dtsi" 1 +# 11 "nvt-basic.dtsi" +/ { + model = "Novatek NA51089"; + compatible = "novatek,na51089", "nvt,ca9"; + interrupt-parent = <&gic>; + #address-cells = <1>; + #size-cells = <1>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x0>; + next-level-cache = <&L2>; + clock-frequency = <960000000>; + }; + }; + + cg@f0020000 { + compatible = "nvt,core_clk"; + reg = <0xf0020000 0x1000>; + }; + + + periph_clk: periph_clk { + compatible = "nvt,periph_clk"; + #clock-cells = <0>; + clock-output-names = "periph_clk"; + }; + + global_timer@ffd00200 { + compatible = "arm,cortex-a9-global-timer"; + reg = <0xffd00200 0x20>; + interrupts = <1 11 0xf01>; + clocks = <&periph_clk>; + }; + + private_timer@ffd00600 { + compatible = "arm,cortex-a9-twd-timer"; + reg = <0xffd00600 0x20>; + interrupts = <1 13 0xf01>; + clocks = <&periph_clk>; + }; + + pmu { + compatible = "arm,cortex-a9-pmu"; + interrupts = <0 112 4>; + interrupt-affinity = <&cpu0>; + }; + + L2: cache-controller@ffe00000 { + compatible = "arm,pl310-cache"; + reg = <0xffe00000 0x1000>; + interrupts = <0 96 4>; + cache-unified; + arm,shared-override; + cache-level = <2>; + arm,data-latency = <2 2 2>; + arm,tag-latency = <2 2 2>; + }; + + gic: interrupt-controller@0xffd00000 { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0xffd01000 0x1000>, + <0xffd00100 0x1000>; + }; + + scu: snoop-control-unit@0xffd00000 { + compatible = "arm,cortex-a9-scu"; + reg = <0xffd00000 0x100>; + }; +}; +# 11 "nvt-media.dtsi" 2 + +/ { + nvtmpp { + compatible = "nvt,nvtmpp"; + }; + + isf_stream { + compatible = "nvt,isf_stream"; + }; + + isf_flow { + compatible = "nvt,isf_flow"; + }; + + isf_vdocap { + compatible = "nvt,isf_vdocap"; + }; + + isf_vdoprc { + compatible = "nvt,isf_vdoprc"; + }; + + isf_dummy { + compatible = "nvt,isf_dummy"; + }; + + isf_vdoenc { + compatible = "nvt,isf_vdoenc"; + }; + + isf_vdodec { + compatible = "nvt,isf_vdodec"; + }; + + isf_vdoout { + compatible = "nvt,isf_vdoout"; + }; + + dispobj { + compatible = "nvt,nvt_dispobj"; + }; + + dispdev { + compatible = "nvt,nvt_dispdev"; + }; + + audio { + compatible = "nvt,nvt_audio"; + }; + + msdcnvt { + compatible = "nvt,msdcnvt"; + }; + + msdcnvt_adj { + compatible = "nvt,msdcnvt_adj"; + }; + + msdcnvt_custom_si { + compatible = "nvt,msdcnvt_custom_si"; + }; + + wavstudio { + compatible = "nvt,wavstudio"; + }; + + isf_audenc { + compatible = "nvt,isf_audenc"; + }; + + isf_auddec { + compatible = "nvt,isf_auddec"; + }; + + isf_audcap { + compatible = "nvt,isf_audcap"; + }; + + isf_audout { + compatible = "nvt,isf_audout"; + }; + + nvt_ipc { + compatible = "nvt,nvt_ipc"; + }; +}; +# 18 "nvt-evb.dts" 2 +# 1 "nvt-mem-tbl.dtsi" 1 + + + + + + +/ { + + nvt_memory_cfg { + #address-cells = <1>; + #size-cells = <1>; + dram { reg = <0x00000000 0x08000000>; }; + shmem{ reg = <0x00007E00 0x00000200>; }; + loader { reg = <0x01000000 0x00080000>; }; + fdt { reg = <0x01800000 0x00040000>; }; + rtos { reg = <0x01840000 0x00FC0000>; }; + linuxtmp{ reg = <0x02800000 0x04000000>; }; + uboot{ reg = <0x06800000 0x01640000>; }; + logo-fb{ reg = <0x07E40000 0x001C0000>; }; + }; + + + memory { device_type = "memory"; reg = <0x00000000 0x01800000 0x02000000 0x01600000>; }; + + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + }; + + + + + + + libc-heap { size = <0x00200000>; }; + + hdal-memory { + #address-cells = <1>; + #size-cells = <1>; + media { reg = <0x03600000 0x04A00000>; }; + }; + + hdal-maxpath-cfg { + + vdocap_active_list = <1 0 0 0 0 0 0 0>; + vdoprc_maxdevice = <2>; + vdoenc_maxpath = <4>; + vdodec_maxpath = <3>; + vdoout_maxdevice = <1>; + adocap_maxdevice = <1>; + adoout_maxdevice = <2>; + adoenc_maxpath = <1>; + adodec_maxpath = <1>; + + gfx_maxjob = <2>; + + stamp_maximg = <9>; + + vdoprc_maxstamp = <4 4>; + + vdoprc_maxmask = <4 4>; + vdoenc_maxstamp = <9 9>; + vdoenc_maxmask = <0 64>; + vdoout_maxstamp = <0 16>; + vdoout_maxmask = <0 64>; + }; +}; +# 19 "nvt-evb.dts" 2 +# 1 "nvt-storage-partition.dtsi" 1 + + + + + + + +&nor { + partition_loader { label = "loader"; reg = <0x0 0x0000000 0x0 0x10000>; }; + partition_fdt { label = "fdt"; reg = <0x0 0x10000 0x0 0x10000>; }; + partition_fdt.restore { label = "fdt.restore"; reg = <0x0 0x20000 0x0 0x10000>; }; + partition_fdt.app { label = "fdt.app"; reg = <0x0 0x30000 0x0 0x20000>; }; + partition_uboot { label = "uboot"; reg = <0x0 0x50000 0x0 0xA0000>; }; + partition_uenv { label = "uenv"; reg = <0x0 0xF0000 0x0 0x10000>; }; + partition_kernel { label = "kernel"; reg = <0x0 0x100000 0x0 0x290000>; }; + partition_rootfs { label = "rootfs"; reg = <0x0 0x390000 0x0 0x3E0000>; }; + partition_rootfs1 { label = "rootfs1"; reg = <0x0 0x770000 0x0 0xA00000>; }; + partition_rtos { label = "rtos"; reg = <0x0 0x1170000 0x0 0x900000>; }; + partition_app { label = "app"; reg = <0x0 0x1A70000 0x0 0x50000>; }; + partition_sys { label = "sys"; reg = <0x0 0x1AC0000 0x0 0x10000>; }; + partition_all { label = "all"; reg = <0x0 0x0000000 0x0 0x2000000>; }; +}; +# 20 "nvt-evb.dts" 2 +# 1 "nvt-info.dtsi" 1 + + + + + + + +/ { + nvt_info { + BIN_NAME = "FW98565A"; + BIN_NAME_T = "FW98565T"; + RTOS_APP_MAIN = "cardv"; + + EMBMEM_BLK_SIZE = "0x10000"; +# 24 "nvt-info.dtsi" + EMBMEM = "EMBMEM_SPI_NOR"; +# 34 "nvt-info.dtsi" + FW_TYPE = "FW_TYPE_PARTIAL"; + + + + + + UI_STYLE = "UI_STYLE_LVGL"; + + + + + + NVT_CFG_APP_EXTERNAL = "hostapd wireless_tool iperf-3 wpa_supplicant dhd_priv"; + + NVT_CFG_APP = "mem cardv memcpy isp_demon"; + + NVT_ROOTFS_ETC = ""; + + NVT_BINARY_FILE_STRIP = "yes"; + + NVT_CFG_KERNEL_CFG = "na51089_evb_cardv_defconfig_release"; + + NVT_MAKE_POST = "make_post.sh"; + + NVT_SAMPLES_INSTALL = "DISABLE"; + + NVT_CFG_UBOOT_CFG = ""; + + + + + + + + NVT_LINUX_SMP = "NVT_LINUX_SMP_OFF"; + + + + + + + + NVT_CHIP_ID = "CHIP_NA51089"; + + + + + + + + NVT_LINUX_COMPRESS = "NVT_LINUX_COMPRESS_GZ"; + + + + + + + + NVT_DEFAULT_NETWORK_BOOT_PROTOCOL = "NVT_DEFAULT_NETWORK_BOOT_PROTOCOL_STATIC_IP"; +# 103 "nvt-info.dtsi" + NVT_ROOTFS_TYPE = "NVT_ROOTFS_TYPE_RAMDISK"; +# 113 "nvt-info.dtsi" + LCD1 = "disp_if8b_lcd1_psd200_st7789v"; +# 126 "nvt-info.dtsi" + SENSOR1 = "sen_os05b10"; + SENSOR1_CFG = "sen_os05b10_565"; + SENSOR2 = "sen_off"; + SENSOR2_CFG = "sen_off"; + + + + + + NVT_ROOTFS_RW_PART_EN = "NVT_ROOTFS_RW_PART_EN_ON"; + + + + + + + NVT_ETHERNET = "NVT_ETHERNET_NONE"; +# 151 "nvt-info.dtsi" + NVT_SDIO_WIFI = "NVT_SDIO_WIFI_RTK"; + + + + + + NVT_USB_WIFI = "NVT_USB_WIFI_NONE"; + + + + + + NVT_USB_4G = "NVT_USB_4G_NONE"; + + + + + + + WIFI_RTK_MDL = "WIFI_RTK_MDL_8189"; + + + + + + + + WIFI_BRCM_MDL = "WIFI_BRCM_MDL_43456c5_ampk6256c5"; + + + + + + + WIFI_NVT_MDL = "WIFI_NVT_MDL_18211"; + + + + + + + NVT_CURL_SSL = "NVT_CURL_SSL_OPENSSL"; +# 201 "nvt-info.dtsi" + NVT_UBOOT_ENV_IN_STORG_SUPPORT = "NVT_UBOOT_ENV_IN_STORG_SUPPORT_OFF"; + + + + + + + TOUCH = "TOUCH_OFF"; + + + + + + + UBOOT_ONLY_LOAD_LINUX = "UBOOT_ONLY_LOAD_LINUX_ON"; + + }; +}; +# 21 "nvt-evb.dts" 2 +# 1 "nvt-nvtpack.dtsi" 1 + + + + + + + +&nor { + + + + + nvtpack { + ver = "NVTPACK_FW_INI_16072017"; + method = <1>; + index { + id0 { partition_name = "loader"; source_file = ""; }; + id1 { partition_name = "fdt"; source_file = "nvt-evb.bin"; }; + id2 { partition_name = "fdt.restore"; source_file = ""; }; + id3 { partition_name = "fdt.app"; source_file = "../application.bin"; }; + id4 { partition_name = "uboot"; source_file = "u-boot.bin"; }; + id5 { partition_name = "uenv"; source_file = ""; }; + id6 { partition_name = "kernel"; source_file = "uImage.bin"; }; + id7 { partition_name = "rootfs"; source_file = "rootfs.ramdisk.bin"; }; + id8 { partition_name = "rootfs1"; source_file = "rootfs_1.squash.bin"; }; + id9 { partition_name = "rtos"; source_file = "../rtos-main.bin"; }; + id10 { partition_name = "app"; source_file = "appfs.cardv.jffs2.nor.bin"; }; + id11 { partition_name = "sys"; source_file = ""; }; + }; + }; +}; +# 21 "nvt-evb.dts" 2 diff --git a/configs/cfg_gen b/configs/cfg_gen new file mode 120000 index 000000000..b62750d24 --- /dev/null +++ b/configs/cfg_gen @@ -0,0 +1 @@ +Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530 \ No newline at end of file