From c9a03b0bf19527fdefca58453f8b05689b70532f Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 31 Mar 2026 16:53:51 +0200 Subject: [PATCH 01/14] Board: Add Mono Gateway Development Kit (NXP LS1046A) Add support for the Mono Gateway Development Kit, a networking gateway based on the NXP LS1046A SoC (quad Cortex-A72) with 3x 1GbE SGMII, 2x 10GbE SFP+, eMMC, QSPI NOR, and extensive I2C peripherals. New family: ls1046a - NXP QorIQ kernel (lf-6.12.y) with DPAA/FMAN networking - Custom boot chain: RCW + ATF + U-Boot (Mono forks, commit-pinned) - FMAN microcode at 4MB eMMC offset for network initialization - Extlinux boot via U-Boot distroboot - Fan control (EMC2305 + cluster_thermal) with dynamic hwmon discovery New extension: ls1046a-ask - NXP ASK (Application Solutions Kit) hardware offloading - Kernel modules: CDX, FCI, auto-bridge (cross-compiled from ASK repo) - Userspace: fmlib, fmc, libfci, libcli, dpa-app, cmm - Patched system libraries: libnetfilter-conntrack, libnfnetlink, iptables (QOSMARK), iproute2 (EtherIP/4RD) - CMM daemon with systemd service (guarded by /dev/cdx_ctrl) - All ASK sources and patches fetched from we-are-mono/ASK repo Kernel patches: - INA234 power sensor driver (backport, accepted upstream) - Mono Gateway DK device tree Signed-off-by: Tomaz Zaman --- config/boards/gateway-dk.conf | 10 + config/bootenv/ls1046a.txt | 24 + config/kernel/linux-ls1046a-current.config | 5690 +++++++++++++++++ config/sources/families/ls1046a.conf | 186 + extensions/ls1046a-ask.sh | 368 ++ packages/bsp/ls1046a/generate-fancontrol-conf | 39 + .../ls1046a/generate-fancontrol-conf.service | 13 + .../001-hwmon-ina2xx-Add-INA234-support.patch | 128 + ...-dts-Add-Mono-Gateway-DK-device-tree.patch | 1040 +++ 9 files changed, 7498 insertions(+) create mode 100644 config/boards/gateway-dk.conf create mode 100644 config/bootenv/ls1046a.txt create mode 100644 config/kernel/linux-ls1046a-current.config create mode 100644 config/sources/families/ls1046a.conf create mode 100644 extensions/ls1046a-ask.sh create mode 100644 packages/bsp/ls1046a/generate-fancontrol-conf create mode 100644 packages/bsp/ls1046a/generate-fancontrol-conf.service create mode 100644 patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch create mode 100644 patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch diff --git a/config/boards/gateway-dk.conf b/config/boards/gateway-dk.conf new file mode 100644 index 000000000000..73b02b7288ff --- /dev/null +++ b/config/boards/gateway-dk.conf @@ -0,0 +1,10 @@ +# NXP LS1046A quad core Cortex-A72 8GB RAM SoC eMMC GBE SFP+ +BOARD_NAME="Mono Gateway Development Kit" +BOARD_VENDOR="mono" +BOARDFAMILY="ls1046a" +BOARD_MAINTAINER="tomazzaman" +BOOTCONFIG="mono_gateway_dk_defconfig" +KERNEL_TARGET="current" +SERIALCON="ttyS0" +BOOT_FDT_FILE="freescale/mono-gateway-dk.dtb" +BOOTENV_FILE="ls1046a.txt" diff --git a/config/bootenv/ls1046a.txt b/config/bootenv/ls1046a.txt new file mode 100644 index 000000000000..b687cecc592b --- /dev/null +++ b/config/bootenv/ls1046a.txt @@ -0,0 +1,24 @@ +baudrate=115200 +stderr=serial@21c0500 +stdin=serial@21c0500 +stdout=serial@21c0500 + +scriptaddr=0x80000000 +fdt_addr_r=0x88000000 +kernel_addr_r=0x82000000 +kernel_comp_addr_r=0x90000000 +kernel_comp_size=0x1600000 +ramdisk_addr_r=0x88080000 +load_addr=0xa0000000 +loadaddr=0xa0000000 + +# NOR flash partition layout (passed to kernel for /dev/mtd awareness even when booting from eMMC) +mtdparts=1550000.spi:1M(rcw-bl2),2M(uboot),1M(uboot-env),1M(fman-ucode),1M(recovery-dtb),4M(unallocated),-(kernel-initramfs) + +bootargs_console=console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 mtdparts=${mtdparts} +bootdelay=3 + +bootcmd=sysboot mmc 0:1 any ${scriptaddr} /boot/extlinux/extlinux.conf + +ethact=fm1-mac5 +ethprime=fm1-mac5 diff --git a/config/kernel/linux-ls1046a-current.config b/config/kernel/linux-ls1046a-current.config new file mode 100644 index 000000000000..3895822d701b --- /dev/null +++ b/config/kernel/linux-ls1046a-current.config @@ -0,0 +1,5690 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm64 6.12.49 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="aarch64-oe-linux-gcc (GCC) 14.3.0" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140300 +CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=24400 +CONFIG_LD_IS_BFD=y +CONFIG_LD_VERSION=24400 +CONFIG_LLD_VERSION=0 +CONFIG_RUSTC_VERSION=0 +CONFIG_RUSTC_LLVM_VERSION=0 +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y +CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y +CONFIG_TOOLS_SUPPORT_RELR=y +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y +CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y +CONFIG_PAHOLE_VERSION=0 +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_TABLE_SORT=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +# CONFIG_WERROR is not set +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_INIT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_WATCH_QUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# 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_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_IRQ_IPI=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +# CONFIG_NO_HZ_IDLE is not set +CONFIG_NO_HZ_FULL=y +CONFIG_CONTEXT_TRACKING_USER=y +# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set +# CONFIG_NO_HZ is not set +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +# CONFIG_BPF_JIT_ALWAYS_ON is not set +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_UNPRIV_DEFAULT_OFF=y +# CONFIG_BPF_PRELOAD is not set +# end of BPF subsystem + +CONFIG_PREEMPT_VOLUNTARY_BUILD=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PREEMPT is not set +# CONFIG_PREEMPT_RT is not set +# CONFIG_PREEMPT_DYNAMIC is not set + +# +# CPU/Task time and stats accounting +# +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_SCHED_AVG_IRQ=y +CONFIG_SCHED_HW_PRESSURE=y +CONFIG_BSD_PROCESS_ACCT=y +# CONFIG_BSD_PROCESS_ACCT_V3 is not set +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +CONFIG_CPU_ISOLATION=y + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU_GENERIC=y +CONFIG_NEED_TASKS_RCU=y +CONFIG_TASKS_TRACE_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_NOCB_CPU=y +# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set +# CONFIG_RCU_LAZY is not set +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +# CONFIG_PRINTK_INDEX is not set +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# CONFIG_UCLAMP_TASK is not set +# end of Scheduler features + +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_GCC10_NO_ARRAY_BOUNDS=y +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_GCC_NO_STRINGOP_OVERFLOW=y +CONFIG_CC_NO_STRINGOP_OVERFLOW=y +CONFIG_ARCH_SUPPORTS_INT128=y +# CONFIG_NUMA_BALANCING is not set +CONFIG_SLAB_OBJ_EXT=y +CONFIG_CGROUPS=y +CONFIG_PAGE_COUNTER=y +# CONFIG_CGROUP_FAVOR_DYNMODS is not set +CONFIG_MEMCG=y +# CONFIG_MEMCG_V1 is not set +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CGROUP_SCHED=y +CONFIG_GROUP_SCHED_WEIGHT=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_SCHED_MM_CID=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_FREEZER=y +# CONFIG_CGROUP_HUGETLB is not set +# CONFIG_CPUSETS is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_BPF=y +# CONFIG_CGROUP_MISC is not set +# CONFIG_CGROUP_DEBUG is not set +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_TIME_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_SCHED_AUTOGROUP=y +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +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_ZSTD=y +# CONFIG_BOOT_CONFIG is not set +CONFIG_INITRAMFS_PRESERVE_MTIME=y +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_LD_ORPHAN_WARN=y +CONFIG_LD_ORPHAN_WARN_LEVEL="warn" +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_EXPERT=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +# CONFIG_BASE_SMALL is not set +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KCMP=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set +CONFIG_CACHESTAT_SYSCALL=y +# CONFIG_PC104 is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_SELFTEST is not set +CONFIG_KALLSYMS_ALL=y +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# end of Kernel Performance Events And Counters + +CONFIG_SYSTEM_DATA_VERIFICATION=y +# CONFIG_PROFILING is not set + +# +# Kexec and crash features +# +CONFIG_VMCORE_INFO=y +# CONFIG_KEXEC is not set +# CONFIG_KEXEC_FILE is not set +# end of Kexec and crash features +# end of General setup + +CONFIG_ARM64=y +CONFIG_RUSTC_SUPPORTS_ARM64=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_64BIT=y +CONFIG_MMU=y +CONFIG_ARM64_CONT_PTE_SHIFT=4 +CONFIG_ARM64_CONT_PMD_SHIFT=4 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=33 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_SMP=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=5 +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y + +# +# Platform selection +# +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_AIROHA is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_BITMAIN is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_SPARX5 is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_LG1K is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_KEEMBAY is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MVEBU is not set +CONFIG_ARCH_NXP=y +CONFIG_ARCH_LAYERSCAPE=y +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_S32 is not set +# CONFIG_ARCH_MA35 is not set +# CONFIG_ARCH_NPCM is not set +# CONFIG_ARCH_PENSANDO is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_REALTEK is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SEATTLE is not set +# CONFIG_ARCH_INTEL_SOCFPGA is not set +# CONFIG_ARCH_STM32 is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_SPRD is not set +# CONFIG_ARCH_THUNDER is not set +# CONFIG_ARCH_THUNDER2 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VISCONTI is not set +# CONFIG_ARCH_XGENE is not set +# CONFIG_ARCH_ZYNQMP is not set +# end of Platform selection + +# +# Kernel Features +# + +# +# ARM errata workarounds via the alternatives framework +# +CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y +CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +CONFIG_ARM64_ERRATUM_826319=y +CONFIG_ARM64_ERRATUM_827319=y +CONFIG_ARM64_ERRATUM_824069=y +CONFIG_ARM64_ERRATUM_819472=y +CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y +CONFIG_ARM64_ERRATUM_1165522=y +CONFIG_ARM64_ERRATUM_1319367=y +CONFIG_ARM64_ERRATUM_1530923=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +# CONFIG_ARM64_ERRATUM_2441007 is not set +# CONFIG_ARM64_ERRATUM_1286807 is not set +CONFIG_ARM64_ERRATUM_1463225=y +# CONFIG_ARM64_ERRATUM_1542419 is not set +CONFIG_ARM64_ERRATUM_1508412=y +CONFIG_ARM64_ERRATUM_2051678=y +CONFIG_ARM64_ERRATUM_2077057=y +CONFIG_ARM64_ERRATUM_2658417=y +CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y +CONFIG_ARM64_ERRATUM_2054223=y +CONFIG_ARM64_ERRATUM_2067961=y +# CONFIG_ARM64_ERRATUM_2441009 is not set +CONFIG_ARM64_ERRATUM_2457168=y +CONFIG_ARM64_ERRATUM_2645198=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y +CONFIG_ARM64_ERRATUM_2966298=y +CONFIG_ARM64_ERRATUM_3117295=y +CONFIG_ARM64_ERRATUM_3194386=y +CONFIG_CAVIUM_ERRATUM_22375=y +CONFIG_CAVIUM_ERRATUM_23144=y +CONFIG_CAVIUM_ERRATUM_23154=y +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_TX2_ERRATUM_219=y +CONFIG_FUJITSU_ERRATUM_010001=y +CONFIG_HISILICON_ERRATUM_161600802=y +CONFIG_HISILICON_ERRATUM_162100801=y +CONFIG_QCOM_FALKOR_ERRATUM_1003=y +CONFIG_QCOM_FALKOR_ERRATUM_1009=y +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_QCOM_FALKOR_ERRATUM_E1041=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y +CONFIG_ROCKCHIP_ERRATUM_3588001=y +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y +# end of ARM errata workarounds via the alternatives framework + +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_16K_PAGES is not set +# CONFIG_ARM64_64K_PAGES is not set +# CONFIG_ARM64_VA_BITS_39 is not set +# CONFIG_ARM64_VA_BITS_48 is not set +CONFIG_ARM64_VA_BITS_52=y +# CONFIG_ARM64_FORCE_52BIT is not set +CONFIG_ARM64_VA_BITS=52 +CONFIG_ARM64_PA_BITS_52=y +CONFIG_ARM64_PA_BITS=52 +CONFIG_ARM64_LPA2=y +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_SCHED_MC=y +# CONFIG_SCHED_CLUSTER is not set +# CONFIG_SCHED_SMT is not set +CONFIG_NR_CPUS=16 +CONFIG_HOTPLUG_CPU=y +CONFIG_NUMA=y +CONFIG_NODES_SHIFT=4 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_CC_HAVE_SHADOW_CALL_STACK=y +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_ARCH_SUPPORTS_KEXEC=y +CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y +CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y +CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y +CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y +CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y +CONFIG_ARCH_DEFAULT_CRASH_DUMP=y +# CONFIG_XEN is not set +CONFIG_ARCH_FORCE_MAX_ORDER=10 +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y +CONFIG_RODATA_FULL_DEFAULT_ENABLED=y +# CONFIG_ARM64_SW_TTBR0_PAN is not set +CONFIG_ARM64_TAGGED_ADDR_ABI=y +# CONFIG_COMPAT is not set + +# +# ARMv8.1 architectural features +# +CONFIG_ARM64_HW_AFDBM=y +CONFIG_ARM64_PAN=y +CONFIG_AS_HAS_LSE_ATOMICS=y +CONFIG_ARM64_LSE_ATOMICS=y +CONFIG_ARM64_USE_LSE_ATOMICS=y +# end of ARMv8.1 architectural features + +# +# ARMv8.2 architectural features +# +CONFIG_AS_HAS_ARMV8_2=y +CONFIG_AS_HAS_SHA3=y +# CONFIG_ARM64_PMEM is not set +CONFIG_ARM64_RAS_EXTN=y +CONFIG_ARM64_CNP=y +# end of ARMv8.2 architectural features + +# +# ARMv8.3 architectural features +# +CONFIG_ARM64_PTR_AUTH=y +CONFIG_ARM64_PTR_AUTH_KERNEL=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y +CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y +CONFIG_AS_HAS_ARMV8_3=y +CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y +CONFIG_AS_HAS_LDAPR=y +# end of ARMv8.3 architectural features + +# +# ARMv8.4 architectural features +# +CONFIG_ARM64_AMU_EXTN=y +CONFIG_AS_HAS_ARMV8_4=y +CONFIG_ARM64_TLB_RANGE=y +# end of ARMv8.4 architectural features + +# +# ARMv8.5 architectural features +# +CONFIG_AS_HAS_ARMV8_5=y +CONFIG_ARM64_BTI=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y +CONFIG_ARM64_E0PD=y +CONFIG_ARM64_AS_HAS_MTE=y +CONFIG_ARM64_MTE=y +# end of ARMv8.5 architectural features + +# +# ARMv8.7 architectural features +# +CONFIG_ARM64_EPAN=y +# end of ARMv8.7 architectural features + +# +# ARMv8.9 architectural features +# +CONFIG_ARM64_POE=y +CONFIG_ARCH_PKEY_BITS=3 +# end of ARMv8.9 architectural features + +CONFIG_ARM64_SVE=y +# CONFIG_ARM64_PSEUDO_NMI is not set +CONFIG_RELOCATABLE=y +# CONFIG_RANDOMIZE_BASE is not set +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_ARM64_CONTPTE=y +# end of Kernel Features + +# +# Boot options +# +CONFIG_CMDLINE="" +CONFIG_EFI_STUB=y +CONFIG_EFI=y +# CONFIG_COMPRESSED_INSTALL is not set +CONFIG_DMI=y +# end of Boot options + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_USERSPACE_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +CONFIG_ENERGY_MODEL=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options + +# +# CPU Power Management +# + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# end of CPU Idle + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y + +# +# CPU frequency scaling drivers +# +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y +# CONFIG_ARM_SCMI_CPUFREQ is not set +CONFIG_QORIQ_CPUFREQ=y +# end of CPU Frequency scaling +# end of CPU Power Management + +CONFIG_ARCH_SUPPORTS_ACPI=y +# CONFIG_ACPI is not set +CONFIG_VIRTUALIZATION=y +# CONFIG_KVM is not set +CONFIG_CPU_MITIGATIONS=y + +# +# General architecture-dependent options +# +CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y +CONFIG_HOTPLUG_CORE_SYNC=y +CONFIG_HOTPLUG_CORE_SYNC_DEAD=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y +CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y +CONFIG_HAVE_NMI=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=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_KEEPINITRD=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_WANTS_NO_INSTR=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_RUST=y +CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y +CONFIG_MMU_GATHER_TABLE_FREE=y +CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_MMU_LAZY_TLB_REFCOUNT=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_ARCH_SECCOMP=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set +CONFIG_HAVE_ARCH_STACKLEAK=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y +# CONFIG_SHADOW_CALL_STACK is not set +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y +CONFIG_LTO_NONE=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y +CONFIG_HAVE_CONTEXT_TRACKING_USER=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOVE_PUD=y +CONFIG_HAVE_MOVE_PMD=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_HUGE_VMALLOC=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_PMD_MKWRITE=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_ARCH_WANTS_EXECMEM_LATE=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_PAGE_SIZE_4KB=y +CONFIG_PAGE_SIZE_4KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SHIFT=12 +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_CLONE_BACKWARDS=y +# CONFIG_COMPAT_32BIT_TIME is not set +CONFIG_ARCH_SUPPORTS_RT=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_VMAP_STACK=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET=y +# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_HAVE_ARCH_COMPILER_H=y +CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y +CONFIG_ARCH_USE_MEMREMAP_PROT=y +# CONFIG_LOCK_EVENT_COUNTS is not set +CONFIG_ARCH_HAS_RELR=y +CONFIG_RELR=y +CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y +CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y +CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y +CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y +CONFIG_ARCH_HAS_HW_PTE_YOUNG=y +CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +# end of GCOV-based kernel profiling + +CONFIG_HAVE_GCC_PLUGINS=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_FUNCTION_ALIGNMENT_4B=y +CONFIG_FUNCTION_ALIGNMENT=4 +CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT=y +CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y +# end of General architecture-dependent options + +CONFIG_RT_MUTEXES=y +CONFIG_MODULES=y +# CONFIG_MODULE_DEBUG is not set +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set +CONFIG_MODVERSIONS=y +CONFIG_ASM_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_MODULE_SIG is not set +CONFIG_MODULE_COMPRESS=y +# CONFIG_MODULE_COMPRESS_GZIP is not set +# CONFIG_MODULE_COMPRESS_XZ is not set +CONFIG_MODULE_COMPRESS_ZSTD=y +CONFIG_MODULE_COMPRESS_ALL=y +# CONFIG_MODULE_DECOMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/sbin/modprobe" +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_CGROUP_PUNT_BIO=y +CONFIG_BLK_DEV_BSG_COMMON=y +CONFIG_BLK_ICQ=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_DEV_WRITE_MOUNTED=y +# CONFIG_BLK_DEV_ZONED is not set +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_CGROUP_IOLATENCY is not set +# CONFIG_BLK_CGROUP_IOCOST is not set +# CONFIG_BLK_CGROUP_IOPRIO is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +CONFIG_IOSCHED_BFQ=y +CONFIG_BFQ_GROUP_IOSCHED=y +# CONFIG_BFQ_CGROUP_DEBUG is not set +# end of IO Schedulers + +CONFIG_PADATA=y +CONFIG_ASN1=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_LOCK=y +CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_READ_LOCK=y +CONFIG_ARCH_INLINE_READ_LOCK_BH=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_READ_UNLOCK=y +CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_WRITE_LOCK=y +CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_SPIN_TRYLOCK=y +CONFIG_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_INLINE_SPIN_LOCK=y +CONFIG_INLINE_SPIN_LOCK_BH=y +CONFIG_INLINE_SPIN_LOCK_IRQ=y +CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_INLINE_SPIN_UNLOCK_BH=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_READ_LOCK=y +CONFIG_INLINE_READ_LOCK_BH=y +CONFIG_INLINE_READ_LOCK_IRQ=y +CONFIG_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_BH=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_WRITE_LOCK=y +CONFIG_INLINE_WRITE_LOCK_BH=y +CONFIG_INLINE_WRITE_LOCK_IRQ=y +CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_BH=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=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 +CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_ARCH_USE_QUEUED_RWLOCKS=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ARCH_BINFMT_ELF_STATE=y +CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y +CONFIG_ARCH_HAVE_ELF_PROT=y +CONFIG_ARCH_USE_GNU_PROPERTY=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SWAP=y +# CONFIG_ZSWAP is not set + +# +# Slab allocator options +# +CONFIG_SLUB=y +CONFIG_SLUB_TINY=y +CONFIG_SLAB_MERGE_DEFAULT=y +# end of Slab allocator options + +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_COMPAT_BRK=y +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_GUP_FAST=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_NUMA_KEEP_MEMINFO=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_MEMORY_HOTPLUG=y +# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MHP_MEMMAP_ON_MEMORY=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y +CONFIG_SPLIT_PTE_PTLOCKS=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_SPLIT_PMD_PTLOCKS=y +CONFIG_COMPACTION=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 +# CONFIG_PAGE_REPORTING is not set +CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PCP_BATCH_SCALE_MAX=5 +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_MEMORY_FAILURE is not set +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set +CONFIG_THP_SWAP=y +# CONFIG_READ_ONLY_THP_FOR_FS is not set +CONFIG_PGTABLE_HAS_HUGE_LEAVES=y +CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y +CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +# CONFIG_CMA is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y +CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y +# CONFIG_ZONE_DEVICE is not set +CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_ARCH_HAS_PKEYS=y +CONFIG_ARCH_USES_PG_ARCH_2=y +CONFIG_ARCH_USES_PG_ARCH_3=y +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_TEST is not set +# CONFIG_DMAPOOL_TEST is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_MEMFD_CREATE=y +CONFIG_SECRETMEM=y +# CONFIG_ANON_VMA_NAME is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_LRU_GEN is not set +CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y +CONFIG_PER_VMA_LOCK=y +CONFIG_LOCK_MM_AND_FIND_VMA=y +CONFIG_EXECMEM=y +CONFIG_NUMA_MEMBLKS=y +# CONFIG_NUMA_EMU is not set + +# +# Data Access Monitoring +# +# CONFIG_DAMON is not set +# end of Data Access Monitoring +# end of Memory Management options + +CONFIG_NET=y +CONFIG_NET_INGRESS=y +CONFIG_NET_EGRESS=y +CONFIG_NET_XGRESS=y +CONFIG_SKB_DECRYPTED=y +CONFIG_SKB_EXTENSIONS=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_AF_UNIX_OOB=y +CONFIG_UNIX_DIAG=y +CONFIG_TLS=y +CONFIG_TLS_DEVICE=y +# CONFIG_TLS_TOE is not set +CONFIG_XFRM=y +CONFIG_XFRM_OFFLOAD=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +# CONFIG_XFRM_INTERFACE is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_ESP=y +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_XDP_SOCKETS=y +# CONFIG_XDP_SOCKETS_DIAG is not set +CONFIG_NET_HANDSHAKE=y +CONFIG_INET=y +CONFIG_CPE_FAST_PATH=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +CONFIG_NET_IPIP=m +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=y +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_SYN_COOKIES=y +# CONFIG_NET_IPVTI is not set +CONFIG_NET_UDP_TUNNEL=y +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +CONFIG_INET_ESP=y +CONFIG_INET_ESP_OFFLOAD=y +# CONFIG_INET_ESPINTCP is not set +CONFIG_INET_IPSEC_OFFLOAD=y +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_TABLE_PERTURB_ORDER=16 +CONFIG_INET_TUNNEL=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# 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_AO is not set +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +# CONFIG_INET6_AH is not set +CONFIG_INET6_ESP=y +CONFIG_INET6_ESP_OFFLOAD=y +# CONFIG_INET6_ESPINTCP is not set +CONFIG_INET6_IPSEC_OFFLOAD=y +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_IPV6_ILA is not set +CONFIG_INET6_TUNNEL=y +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_IPV6_RPL_LWTUNNEL is not set +# CONFIG_IPV6_IOAM6_LWTUNNEL is not set +# CONFIG_MPTCP is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_SKIP_EGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_BPF_LINK=y +# CONFIG_NETFILTER_NETLINK_HOOK is not set +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +CONFIG_NETFILTER_NETLINK_LOG=y +# CONFIG_NETFILTER_NETLINK_OSF is not set +CONFIG_NF_CONNTRACK=y +CONFIG_NF_LOG_SYSLOG=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP is not set +# CONFIG_NF_CONNTRACK_LABELS is not set +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +# CONFIG_NF_CONNTRACK_AMANDA is not set +CONFIG_NF_CONNTRACK_FTP=m +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NF_TABLES=y +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +# CONFIG_NFT_NUMGEN is not set +CONFIG_NFT_CT=y +# CONFIG_NFT_CONNLIMIT is not set +CONFIG_NFT_LOG=y +# CONFIG_NFT_LIMIT is not set +CONFIG_NFT_MASQ=y +# CONFIG_NFT_REDIR is not set +CONFIG_NFT_NAT=y +# CONFIG_NFT_TUNNEL is not set +# CONFIG_NFT_QUOTA is not set +# CONFIG_NFT_REJECT is not set +CONFIG_NFT_COMPAT=y +# CONFIG_NFT_HASH is not set +# CONFIG_NFT_XFRM is not set +# CONFIG_NFT_SOCKET is not set +# CONFIG_NFT_OSF is not set +# CONFIG_NFT_TPROXY is not set +# CONFIG_NFT_SYNPROXY is not set +CONFIG_NF_DUP_NETDEV=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +# CONFIG_NF_FLOW_TABLE is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set +CONFIG_NETFILTER_XT_CONNMARK=y +CONFIG_NETFILTER_XT_QOSMARK=y +CONFIG_NETFILTER_XT_QOSCONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_HL is not set +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set +# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_LOG=m +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +CONFIG_NETFILTER_XT_NAT=y +# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +# CONFIG_NETFILTER_XT_MATCH_ECN is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +CONFIG_NETFILTER_XT_MATCH_L2TP=m +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +CONFIG_NETFILTER_XT_MATCH_OWNER=m +# CONFIG_NETFILTER_XT_MATCH_POLICY is not set +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=m +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_IP_NF_IPTABLES_LEGACY=y +# CONFIG_NF_SOCKET_IPV4 is not set +# CONFIG_NF_TPROXY_IPV4 is not set +CONFIG_NF_TABLES_IPV4=y +# CONFIG_NFT_DUP_IPV4 is not set +# CONFIG_NFT_FIB_IPV4 is not set +# CONFIG_NF_TABLES_ARP is not set +# CONFIG_NF_DUP_IPV4 is not set +CONFIG_NF_LOG_ARP=y +CONFIG_NF_LOG_IPV4=y +# CONFIG_NF_REJECT_IPV4 is not set +CONFIG_IP_NF_IPTABLES=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +CONFIG_IP_NF_FILTER=y +# CONFIG_IP_NF_TARGET_REJECT is not set +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +# CONFIG_IP_NF_TARGET_NETMAP is not set +# CONFIG_IP_NF_TARGET_REDIRECT is not set +CONFIG_IP_NF_MANGLE=y +# CONFIG_IP_NF_TARGET_ECN is not set +# CONFIG_IP_NF_TARGET_TTL is not set +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_ARPFILTER is not set +# end of IP: Netfilter Configuration + +# +# IPv6: Netfilter Configuration +# +CONFIG_IP6_NF_IPTABLES_LEGACY=m +# CONFIG_NF_SOCKET_IPV6 is not set +# CONFIG_NF_TPROXY_IPV6 is not set +CONFIG_NF_TABLES_IPV6=y +# CONFIG_NFT_DUP_IPV6 is not set +# CONFIG_NFT_FIB_IPV6 is not set +# CONFIG_NF_DUP_IPV6 is not set +CONFIG_NF_REJECT_IPV6=y +CONFIG_NF_LOG_IPV6=y +CONFIG_IP6_NF_IPTABLES=m +# CONFIG_IP6_NF_MATCH_AH is not set +# CONFIG_IP6_NF_MATCH_EUI64 is not set +# CONFIG_IP6_NF_MATCH_FRAG is not set +# CONFIG_IP6_NF_MATCH_OPTS is not set +# CONFIG_IP6_NF_MATCH_HL is not set +# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set +# CONFIG_IP6_NF_MATCH_MH is not set +# CONFIG_IP6_NF_MATCH_RPFILTER is not set +# CONFIG_IP6_NF_MATCH_RT is not set +# CONFIG_IP6_NF_MATCH_SRH is not set +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=m +# CONFIG_IP6_NF_RAW is not set +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +# CONFIG_IP6_NF_TARGET_NPT is not set +# end of IPv6: Netfilter Configuration + +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_TABLES_BRIDGE=y +# CONFIG_NFT_BRIDGE_META is not set +# CONFIG_NF_CONNTRACK_BRIDGE is not set +CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y +CONFIG_BRIDGE_NF_EBTABLES=y +# CONFIG_BRIDGE_EBT_BROUTE is not set +# CONFIG_BRIDGE_EBT_T_FILTER is not set +CONFIG_BRIDGE_EBT_T_NAT=y +# CONFIG_BRIDGE_EBT_802_3 is not set +# CONFIG_BRIDGE_EBT_AMONG is not set +# CONFIG_BRIDGE_EBT_ARP is not set +# CONFIG_BRIDGE_EBT_IP is not set +# CONFIG_BRIDGE_EBT_IP6 is not set +# CONFIG_BRIDGE_EBT_LIMIT is not set +# CONFIG_BRIDGE_EBT_MARK is not set +# CONFIG_BRIDGE_EBT_PKTTYPE is not set +# CONFIG_BRIDGE_EBT_STP is not set +# CONFIG_BRIDGE_EBT_VLAN is not set +# CONFIG_BRIDGE_EBT_ARPREPLY is not set +CONFIG_BRIDGE_EBT_DNAT=y +# CONFIG_BRIDGE_EBT_MARK_T is not set +# CONFIG_BRIDGE_EBT_REDIRECT is not set +CONFIG_BRIDGE_EBT_SNAT=y +# CONFIG_BRIDGE_EBT_LOG is not set +# CONFIG_BRIDGE_EBT_NFLOG 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=m +# CONFIG_L2TP_DEBUGFS is not set +CONFIG_L2TP_V3=y +# CONFIG_L2TP_IP is not set +# CONFIG_L2TP_ETH is not set +CONFIG_STP=y +CONFIG_GARP=y +CONFIG_MRP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y +# CONFIG_BRIDGE_MRP is not set +# CONFIG_BRIDGE_CFM is not set +CONFIG_NET_DSA=y +# CONFIG_NET_DSA_TAG_NONE is not set +# CONFIG_NET_DSA_TAG_AR9331 is not set +# CONFIG_NET_DSA_TAG_BRCM is not set +# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set +# CONFIG_NET_DSA_TAG_BRCM_PREPEND is not set +# CONFIG_NET_DSA_TAG_HELLCREEK is not set +# CONFIG_NET_DSA_TAG_GSWIP is not set +# CONFIG_NET_DSA_TAG_DSA is not set +# CONFIG_NET_DSA_TAG_EDSA is not set +# CONFIG_NET_DSA_TAG_MTK is not set +# CONFIG_NET_DSA_TAG_KSZ is not set +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_NET_DSA_TAG_OCELOT_8021Q=m +# CONFIG_NET_DSA_TAG_QCA is not set +# CONFIG_NET_DSA_TAG_RTL4_A is not set +# CONFIG_NET_DSA_TAG_RTL8_4 is not set +# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set +# CONFIG_NET_DSA_TAG_LAN9303 is not set +# CONFIG_NET_DSA_TAG_SJA1105 is not set +# CONFIG_NET_DSA_TAG_TRAILER is not set +# CONFIG_NET_DSA_TAG_VSC73XX_8021Q is not set +# CONFIG_NET_DSA_TAG_XRS700X is not set +# CONFIG_NET_DSA_TAG_NETC is not set +CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_LLC=y +# 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_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=y +# CONFIG_NET_SCH_SFB is not set +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +# CONFIG_NET_SCH_CBS is not set +# CONFIG_NET_SCH_ETF is not set +CONFIG_NET_SCH_MQPRIO_LIB=m +CONFIG_NET_SCH_TAPRIO=m +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +CONFIG_NET_SCH_MQPRIO=m +# CONFIG_NET_SCH_SKBPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +CONFIG_NET_SCH_FQ_CODEL=y +# CONFIG_NET_SCH_CAKE is not set +CONFIG_NET_SCH_FQ=y +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +# CONFIG_NET_SCH_INGRESS is not set +# CONFIG_NET_SCH_PLUG is not set +# CONFIG_NET_SCH_ETS is not set +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +CONFIG_NET_CLS_U32=y +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +# CONFIG_NET_CLS_FLOW is not set +# CONFIG_NET_CLS_CGROUP is not set +# CONFIG_NET_CLS_BPF is not set +CONFIG_NET_CLS_FLOWER=m +# CONFIG_NET_CLS_MATCHALL is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +# CONFIG_NET_EMATCH_CMP is not set +# CONFIG_NET_EMATCH_NBYTE is not set +CONFIG_NET_EMATCH_U32=y +# CONFIG_NET_EMATCH_META is not set +# CONFIG_NET_EMATCH_TEXT is not set +# CONFIG_NET_EMATCH_IPT is not set +CONFIG_NET_CLS_ACT=y +# CONFIG_NET_ACT_POLICE is not set +# CONFIG_NET_ACT_GACT is not set +CONFIG_NET_ACT_MIRRED=m +# CONFIG_NET_ACT_SAMPLE is not set +# CONFIG_NET_ACT_NAT is not set +CONFIG_NET_ACT_PEDIT=y +# CONFIG_NET_ACT_SIMP is not set +CONFIG_NET_ACT_SKBEDIT=y +# CONFIG_NET_ACT_CSUM is not set +# CONFIG_NET_ACT_MPLS is not set +CONFIG_NET_ACT_VLAN=y +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +# CONFIG_NET_ACT_CTINFO is not set +CONFIG_NET_ACT_SKBMOD=y +# CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set +# CONFIG_NET_ACT_GATE is not set +# CONFIG_NET_TC_SKB_EXT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_TSN is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +CONFIG_NETLINK_DIAG=y +# CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set +# CONFIG_HSR is not set +CONFIG_NET_SWITCHDEV=y +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_QRTR is not set +# CONFIG_NET_NCSI is not set +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_MAX_SKB_FRAGS=17 +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_XPS=y +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_STREAM_PARSER is not set +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_BT=m +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +# CONFIG_BT_BNEP is not set +# CONFIG_BT_HIDP is not set +CONFIG_BT_LE=y +CONFIG_BT_LE_L2CAP_ECRED=y +# CONFIG_BT_LEDS is not set +# CONFIG_BT_MSFTEXT is not set +# CONFIG_BT_AOSPEXT is not set +CONFIG_BT_DEBUGFS=y +# CONFIG_BT_SELFTEST is not set +# CONFIG_BT_FEATURE_DEBUG is not set + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIBTUSB is not set +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_NOKIA is not set +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIUART_ATH3K is not set +CONFIG_BT_HCIUART_LL=y +# CONFIG_BT_HCIUART_3WIRE is not set +# CONFIG_BT_HCIUART_INTEL is not set +# CONFIG_BT_HCIUART_BCM is not set +# CONFIG_BT_HCIUART_RTL is not set +# CONFIG_BT_HCIUART_QCA is not set +# CONFIG_BT_HCIUART_AG6XX is not set +# CONFIG_BT_HCIUART_MRVL is not set +# CONFIG_BT_HCIUART_AML is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBCM4377 is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_MTKSDIO is not set +# CONFIG_BT_MTKUART is not set +# CONFIG_BT_VIRTIO is not set +CONFIG_BT_NXPUART=m +# CONFIG_BT_INTEL_PCIE is not set +# end of Bluetooth device drivers + +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_STREAM_PARSER=y +# CONFIG_MCTP is not set +CONFIG_FIB_RULES=y +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_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# 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_DST_CACHE=y +CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y +CONFIG_NET_DEVLINK=y +CONFIG_PAGE_POOL=y +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_FAILOVER=y +CONFIG_ETHTOOL_NETLINK=y + +# +# Device Drivers +# +CONFIG_ARM_AMBA=y +CONFIG_HAVE_PCI=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCIEPORTBUS=y +# CONFIG_HOTPLUG_PCI_PCIE is not set +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIEASPM=y +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCIE_DPC is not set +# CONFIG_PCIE_PTM is not set +CONFIG_PCI_MSI=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_PF_STUB is not set +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +# CONFIG_PCI_NPEM is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set +CONFIG_PCI_LABEL=y +# CONFIG_PCI_DYNAMIC_OF_NODES is not set +# CONFIG_PCIE_BUS_TUNE_OFF is not set +CONFIG_PCIE_BUS_DEFAULT=y +# CONFIG_PCIE_BUS_SAFE is not set +# CONFIG_PCIE_BUS_PERFORMANCE is not set +# CONFIG_PCIE_BUS_PEER2PEER is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_HOTPLUG_PCI=y +# CONFIG_HOTPLUG_PCI_CPCI is not set +# CONFIG_HOTPLUG_PCI_SHPC is not set + +# +# PCI controller drivers +# +# CONFIG_PCIE_ALTERA is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_XGENE is not set +# CONFIG_PCIE_XILINX is not set + +# +# Cadence-based PCIe controllers +# +# CONFIG_PCIE_CADENCE_PLAT_HOST is not set +# end of Cadence-based PCIe controllers + +# +# DesignWare-based PCIe controllers +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +# CONFIG_PCIE_AL is not set +# CONFIG_PCI_MESON is not set +CONFIG_PCI_LAYERSCAPE=y +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_KIRIN is not set +# CONFIG_PCIE_DW_PLAT_HOST is not set +# end of DesignWare-based PCIe controllers + +# +# Mobiveil-based PCIe controllers +# +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# end of Mobiveil-based PCIe controllers + +# +# PLDA-based PCIe controllers +# +# CONFIG_PCIE_MICROCHIP_HOST is not set +# end of PLDA-based PCIe controllers +# end of PCI controller drivers + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# end of PCI Endpoint + +# +# PCI switch controller drivers +# +# CONFIG_PCI_SW_SWITCHTEC is not set +# end of PCI switch controller drivers + +# CONFIG_CXL_BUS is not set +# CONFIG_PCCARD is not set +# CONFIG_RAPIDIO is not set + +# +# Generic Driver Options +# +CONFIG_AUXILIARY_BUS=y +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DEVTMPFS_SAFE is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# CONFIG_FW_UPLOAD is not set +# end of Firmware loader + +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_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_DEVICES=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=m +CONFIG_REGMAP_MMIO=y +CONFIG_GENERIC_ARCH_TOPOLOGY=y +CONFIG_GENERIC_ARCH_NUMA=y +# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_MOXTET is not set +# CONFIG_VEXPRESS_CONFIG is not set +CONFIG_FSL_MC_BUS=y +CONFIG_FSL_MC_UAPI_SUPPORT=y +# CONFIG_MHI_BUS is not set +# CONFIG_MHI_BUS_EP is not set +# end of Bus devices + +# +# Cache Drivers +# +# end of Cache Drivers + +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y + +# +# Firmware Drivers +# + +# +# ARM System Control and Management Interface Protocol +# +CONFIG_ARM_SCMI_PROTOCOL=y +# CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set +# CONFIG_ARM_SCMI_DEBUG_COUNTERS is not set + +# +# SCMI Transport Drivers +# +CONFIG_ARM_SCMI_HAVE_TRANSPORT=y +CONFIG_ARM_SCMI_HAVE_SHMEM=y +CONFIG_ARM_SCMI_TRANSPORT_SMC=y +# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set +# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO is not set +# end of SCMI Transport Drivers + +# +# ARM SCMI NXP i.MX Vendor Protocols +# +# CONFIG_IMX_SCMI_BBM_EXT is not set +# CONFIG_IMX_SCMI_CPU_EXT is not set +# CONFIG_IMX_SCMI_LMM_EXT is not set +# CONFIG_IMX_SCMI_MISC_EXT is not set +# end of ARM SCMI NXP i.MX Vendor Protocols + +# CONFIG_ARM_SCMI_POWER_CONTROL is not set +# end of ARM System Control and Management Interface Protocol + +# CONFIG_ARM_SDE_INTERFACE is not set +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_DMIID=y +# CONFIG_DMI_SYSFS is not set +# CONFIG_FW_CFG_SYSFS is not set +# CONFIG_SYSFB_SIMPLEFB is not set +# CONFIG_ARM_FFA_TRANSPORT is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_ESRT=y +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_GENERIC_STUB=y +# CONFIG_EFI_ZBOOT is not set +CONFIG_EFI_ARMSTUB_DTB_LOADER=y +# CONFIG_EFI_BOOTLOADER_CONTROL is not set +# CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_TEST is not set +# CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set +CONFIG_EFI_EARLYCON=y +# CONFIG_EFI_DISABLE_RUNTIME is not set +# CONFIG_EFI_COCO_SECRET is not set +# end of EFI (Extensible Firmware Interface) Support + +CONFIG_ARM_PSCI_FW=y + +# +# Qualcomm firmware drivers +# +# end of Qualcomm firmware drivers + +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y +CONFIG_ARM_SMCCC_SOC_ID=y + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set + +# +# Partition parsers +# +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +# +# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK. +# +# 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_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_CFI_ADV_OPTIONS 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_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_MCHP48L640 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 +# end of Self-contained MTD device drivers + +# +# NAND +# +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# ECC engine support +# +# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set +# CONFIG_MTD_NAND_ECC_SW_BCH is not set +# CONFIG_MTD_NAND_ECC_MXIC is not set +# end of ECC engine support +# end of NAND + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set +# CONFIG_MTD_UBI is not set +# CONFIG_MTD_HYPERBUS 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_OF_NUMA=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_ZRAM is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=y +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_UBLK is not set + +# +# NVME Support +# +# CONFIG_BLK_DEV_NVME is not set +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TCP is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_RPMB is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_DW_XDATA_PCIE is not set +# CONFIG_PCI_ENDPOINT_TEST is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_HISI_HIKEY_USB is not set +# CONFIG_OPEN_DICE is not set +# CONFIG_VCPU_STALL_DETECTOR is not set +# CONFIG_NSM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=y +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# CONFIG_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set +# CONFIG_VMWARE_VMCI is not set +# CONFIG_GENWQE is not set +# CONFIG_ECHO is not set +# CONFIG_BCM_VK is not set +# CONFIG_MISC_ALCOR_PCI is not set +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MISC_RTSX_USB is not set +# CONFIG_UACCE is not set +# CONFIG_PVPANIC is not set +# CONFIG_GP_PCI1XXXX is not set +# CONFIG_KEBA_CP500 is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI_COMMON=y +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +CONFIG_BLK_DEV_BSG=y +# 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 +# end of SCSI Transports + +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_MPI3MR is not set +# CONFIG_SCSI_SMARTPQI is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_BUSLOGIC is not set +# CONFIG_SCSI_MYRB is not set +# CONFIG_SCSI_MYRS is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_VIRTIO is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +# end of IEEE 1394 (FireWire) support + +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +CONFIG_WIREGUARD=y +# CONFIG_WIREGUARD_DEBUG is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB is not set +# CONFIG_NET_TEAM is not set +CONFIG_MACVLAN=y +CONFIG_MACVTAP=y +# CONFIG_IPVLAN is not set +CONFIG_VXLAN=m +# CONFIG_GENEVE is not set +# CONFIG_BAREUDP is not set +# CONFIG_GTP is not set +# CONFIG_PFCP is not set +# CONFIG_AMT is not set +CONFIG_MACSEC=y +# CONFIG_NETCONSOLE is not set +CONFIG_TUN=y +CONFIG_TAP=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +CONFIG_VIRTIO_NET=y +# CONFIG_NLMON is not set +# CONFIG_NETKIT is not set +# CONFIG_ARCNET is not set + +# +# Distributed Switch Architecture drivers +# +# CONFIG_B53 is not set +# CONFIG_NET_DSA_BCM_SF2 is not set +# CONFIG_NET_DSA_LOOP is not set +# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set +# CONFIG_NET_DSA_LANTIQ_GSWIP is not set +# CONFIG_NET_DSA_MT7530 is not set +# CONFIG_NET_DSA_MV88E6060 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set +# CONFIG_NET_DSA_MV88E6XXX is not set +CONFIG_NET_DSA_MSCC_FELIX_DSA_LIB=m +# CONFIG_NET_DSA_MSCC_OCELOT_EXT is not set +CONFIG_NET_DSA_MSCC_FELIX=m +# CONFIG_NET_DSA_MSCC_SEVILLE is not set +# CONFIG_NET_DSA_AR9331 is not set +# CONFIG_NET_DSA_QCA8K is not set +# CONFIG_NET_DSA_SJA1105 is not set +# CONFIG_NET_DSA_XRS700X_I2C is not set +# CONFIG_NET_DSA_XRS700X_MDIO is not set +# CONFIG_NET_DSA_REALTEK is not set +# CONFIG_NET_DSA_NETC_SWITCH is not set +# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set +# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set +# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set +# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set +# end of Distributed Switch Architecture drivers + +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALACRITECH=y +# CONFIG_SLICOSS is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMAZON=y +# CONFIG_ENA_ETHERNET is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_AMD_XGBE is not set +# CONFIG_PDS_CORE is not set +CONFIG_NET_VENDOR_AQUANTIA=y +# CONFIG_AQTION is not set +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ASIX=y +# CONFIG_SPI_AX88796C is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_CAVIUM=y +# CONFIG_THUNDER_NIC_PF is not set +# CONFIG_THUNDER_NIC_VF is not set +# CONFIG_THUNDER_NIC_BGX is not set +# CONFIG_THUNDER_NIC_RGX is not set +# CONFIG_CAVIUM_PTP is not set +# CONFIG_LIQUIDIO is not set +# CONFIG_LIQUIDIO_VF is not set +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +CONFIG_NET_VENDOR_CORTINA=y +# CONFIG_GEMINI_ETHERNET is not set +CONFIG_NET_VENDOR_DAVICOM=y +# CONFIG_DM9051 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_ENGLEDER=y +# CONFIG_TSNEP is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_FREESCALE=y +# CONFIG_FEC_UIO is not set +# CONFIG_FSL_FMAN is not set +CONFIG_FSL_PQ_MDIO=y +CONFIG_FSL_XGMAC_MDIO=y +# CONFIG_GIANFAR is not set + +# +# Frame Manager support +# +CONFIG_FSL_SDK_FMAN=y +# CONFIG_FSL_SDK_FMAN_TEST is not set +# CONFIG_FSL_SDK_FMAN_RTC_API is not set +# CONFIG_DBG_UCODE_INFRA is not set +# CONFIG_DMAR_TEST is not set +CONFIG_FSL_FM_MAX_FRAME_SIZE=1522 +CONFIG_FSL_FM_RX_EXTRA_HEADROOM=64 +# CONFIG_FMAN_PFC is not set +# end of Frame Manager support + +CONFIG_FSL_SDK_DPAA_ETH=y +# CONFIG_FSL_DPAA_HOOKS is not set +# CONFIG_FSL_DPAA_CEETM is not set +CONFIG_FSL_DPAA_OFFLINE_PORTS=y +CONFIG_FSL_DPAA_ADVANCED_DRIVERS=y +# CONFIG_FSL_DPAA_ETH_JUMBO_FRAME is not set +CONFIG_FSL_DPAA_TS=y +CONFIG_FSL_DPAA_1588=y +CONFIG_FSL_DPAA_ETH_MAX_BUF_COUNT=640 +CONFIG_FSL_DPAA_ETH_REFILL_THRESHOLD=80 +CONFIG_FSL_DPAA_CS_THRESHOLD_1G=0x06000000 +CONFIG_FSL_DPAA_CS_THRESHOLD_10G=0x10000000 +CONFIG_FSL_DPAA_INGRESS_CS_THRESHOLD=0x10000000 +CONFIG_FSL_DPAA_ETH_DEBUGFS=y +# CONFIG_FSL_DPAA_ETH_DEBUG is not set +# CONFIG_FSL_DPAA_DBG_LOOP is not set +# CONFIG_FSL_DPAA2_ETH is not set +# CONFIG_FSL_DPAA2_MAC is not set +# CONFIG_FSL_DPAA2_SWITCH is not set +# CONFIG_FSL_ENETC_CORE is not set +# CONFIG_FSL_ENETC is not set +# CONFIG_FSL_ENETC_VF is not set +# CONFIG_FSL_ENETC_IERB is not set +# CONFIG_NXP_NETC_BLK_CTRL is not set +CONFIG_FSL_ENETC_MDIO=y +CONFIG_FSL_ENETC_PTP_CLOCK=y +# CONFIG_FSL_ENETC_QOS is not set +CONFIG_NET_VENDOR_FUNGIBLE=y +# CONFIG_FUN_ETH is not set +CONFIG_NET_VENDOR_GOOGLE=y +# CONFIG_GVE is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC is not set +# CONFIG_HISI_FEMAC is not set +# CONFIG_HIP04_ETH is not set +# CONFIG_HNS_DSAF is not set +# CONFIG_HNS_ENET is not set +# CONFIG_HNS3 is not set +CONFIG_NET_VENDOR_HUAWEI=y +# CONFIG_HINIC is not set +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGBE is not set +# CONFIG_IXGBEVF is not set +# CONFIG_I40E is not set +# CONFIG_I40EVF is not set +# CONFIG_ICE is not set +# CONFIG_FM10K is not set +# CONFIG_IGC is not set +# CONFIG_IDPF is not set +# CONFIG_JME is not set +CONFIG_NET_VENDOR_ADI=y +# CONFIG_ADIN1110 is not set +CONFIG_NET_VENDOR_LITEX=y +# CONFIG_LITEX_LITEETH is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +# CONFIG_OCTEONTX2_AF is not set +# CONFIG_OCTEONTX2_PF is not set +# CONFIG_OCTEON_EP is not set +# CONFIG_OCTEON_EP_VF is not set +# CONFIG_PRESTERA is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_CORE_GEN2=y +CONFIG_MLX5_CORE=m +# CONFIG_MLX5_FPGA is not set +CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_EN_ARFS=y +CONFIG_MLX5_EN_RXNFC=y +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_BRIDGE=y +# CONFIG_MLX5_CORE_IPOIB is not set +# CONFIG_MLX5_MACSEC is not set +# CONFIG_MLX5_EN_IPSEC is not set +# CONFIG_MLX5_EN_TLS is not set +CONFIG_MLX5_SW_STEERING=y +CONFIG_MLX5_HW_STEERING=y +# CONFIG_MLX5_SF is not set +# CONFIG_MLX5_DPLL is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_MLXFW is not set +CONFIG_NET_VENDOR_META=y +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_LAN743X is not set +# CONFIG_LAN865X is not set +# CONFIG_LAN966X_SWITCH is not set +# CONFIG_VCAP is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH_LIB=m +# CONFIG_MSCC_OCELOT_SWITCH is not set +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NI=y +# CONFIG_NI_XGE_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_NETERION=y +# CONFIG_S2IO is not set +CONFIG_NET_VENDOR_NETRONOME=y +# CONFIG_NFP is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +# CONFIG_OA_TC6 is not set +CONFIG_NET_VENDOR_PACKET_ENGINES=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_PENSANDO=y +# CONFIG_IONIC is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000_SPI is not set +# CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_EMAC is not set +# CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +# CONFIG_RTASE is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_ROCKER is not set +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +CONFIG_NET_VENDOR_SOLARFLARE=y +# CONFIG_SFC is not set +# CONFIG_SFC_FALCON is not set +# CONFIG_SFC_SIENA is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_SOCIONEXT=y +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_DWC_XLGMAC is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +# CONFIG_TEHUTI_TN40 is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_PHY_SEL is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VERTEXCOM=y +# CONFIG_MSE102X is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WANGXUN=y +# CONFIG_NGBE is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_NET_VENDOR_XILINX=y +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_XILINX_LL_TEMAC is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLINK=y +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +# CONFIG_LED_TRIGGER_PHY is not set +CONFIG_PHYLIB_LEDS=y +CONFIG_FIXED_PHY=y +CONFIG_SFP=y + +# +# MII PHY device drivers +# +# CONFIG_AIR_EN8811H_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_ADIN_PHY is not set +# CONFIG_ADIN1100_PHY is not set +CONFIG_AQUANTIA_PHY=y +# CONFIG_AX88796B_PHY is not set +CONFIG_BROADCOM_PHY=y +# CONFIG_BCM54140_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM84881_PHY is not set +CONFIG_BCM87XX_PHY=y +CONFIG_BCM_NET_PHYLIB=y +CONFIG_BCM_NET_PHYPTP=y +CONFIG_CICADA_PHY=y +CONFIG_CORTINA_PHY=y +CONFIG_DAVICOM_PHY=y +CONFIG_ICPLUS_PHY=y +CONFIG_LXT_PHY=y +# CONFIG_INTEL_XWAY_PHY is not set +CONFIG_LSI_ET1011C_PHY=y +CONFIG_MARVELL_PHY=m +CONFIG_MARVELL_10G_PHY=y +# CONFIG_MARVELL_88Q2XXX_PHY is not set +# CONFIG_MARVELL_88X2222_PHY is not set +CONFIG_MAXLINEAR_GPHY=y +# CONFIG_MEDIATEK_GE_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_T1S_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +CONFIG_MICROSEMI_PHY=y +# CONFIG_MOTORCOMM_PHY is not set +CONFIG_NATIONAL_PHY=y +# CONFIG_NXP_CBTX_PHY is not set +# CONFIG_NXP_C45_TJA11XX_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_NCN26000_PHY is not set +# CONFIG_QCA83XX_PHY is not set +# CONFIG_QCA808X_PHY is not set +# CONFIG_QCA807X_PHY is not set +CONFIG_QSEMI_PHY=y +CONFIG_REALTEK_PHY=y +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +CONFIG_SMSC_PHY=y +CONFIG_STE10XP=y +CONFIG_TERANETICS_PHY=y +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +CONFIG_DP83867_PHY=y +# CONFIG_DP83869_PHY is not set +# CONFIG_DP83TD510_PHY is not set +# CONFIG_DP83TG720_PHY is not set +CONFIG_VITESSE_PHY=y +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y +CONFIG_OF_MDIO=y +CONFIG_MDIO_DEVRES=y +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=y +# CONFIG_MDIO_MVUSB is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_OCTEON is not set +# CONFIG_MDIO_IPQ4019 is not set +# CONFIG_MDIO_IPQ8064 is not set +# CONFIG_MDIO_THUNDER is not set + +# +# MDIO Multiplexers +# +CONFIG_MDIO_BUS_MUX=y +# CONFIG_MDIO_BUS_MUX_GPIO is not set +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set + +# +# PCS device drivers +# +CONFIG_MTIP_BACKPLANE_PHY=y +CONFIG_PCS_XPCS=m +CONFIG_PCS_LYNX=m +# end of PCS device drivers + +CONFIG_PPP=m +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_DEFLATE is not set +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=m +# CONFIG_PPPOE_HASH_BITS_1 is not set +# CONFIG_PPPOE_HASH_BITS_2 is not set +CONFIG_PPPOE_HASH_BITS_4=y +# CONFIG_PPPOE_HASH_BITS_8 is not set +CONFIG_PPPOE_HASH_BITS=4 +# CONFIG_PPPOL2TP is not set +CONFIG_PPP_ASYNC=m +# CONFIG_PPP_SYNC_TTY is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=m +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +# CONFIG_ADM8211 is not set +CONFIG_ATH_COMMON=m +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +# CONFIG_ATH9K is not set +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y +CONFIG_ATH10K_PCI=m +# CONFIG_ATH10K_SDIO is not set +# CONFIG_ATH10K_USB is not set +# CONFIG_ATH10K_DEBUG is not set +# CONFIG_ATH10K_DEBUGFS is not set +CONFIG_ATH10K_LEDS=y +# CONFIG_WCN36XX is not set +# CONFIG_ATH11K is not set +# CONFIG_ATH12K is not set +CONFIG_WLAN_VENDOR_ATMEL=y +# CONFIG_AT76C50X_USB is not set +CONFIG_WLAN_VENDOR_BROADCOM=y +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_WLAN_VENDOR_INTEL=y +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +CONFIG_IWLWIFI=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m +CONFIG_IWLWIFI_OPMODE_MODULAR=y + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +# end of Debugging Options + +CONFIG_WLAN_VENDOR_INTERSIL=y +# CONFIG_P54_COMMON is not set +CONFIG_WLAN_VENDOR_MARVELL=y +# CONFIG_LIBERTAS is not set +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_MWIFIEX is not set +# CONFIG_MWL8K is not set +CONFIG_WLAN_VENDOR_MEDIATEK=y +# CONFIG_MT7601U is not set +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +CONFIG_MT76_CONNAC_LIB=m +CONFIG_MT792x_LIB=m +# CONFIG_MT76x0U is not set +# CONFIG_MT76x0E is not set +# CONFIG_MT76x2E is not set +# CONFIG_MT76x2U is not set +# CONFIG_MT7603E is not set +# CONFIG_MT7615E is not set +# CONFIG_MT7663U is not set +# CONFIG_MT7663S is not set +# CONFIG_MT7915E is not set +CONFIG_MT7921_COMMON=m +CONFIG_MT7921E=m +# CONFIG_MT7921S is not set +# CONFIG_MT7921U is not set +# CONFIG_MT7996E is not set +# CONFIG_MT7925E is not set +# CONFIG_MT7925U is not set +CONFIG_WLAN_VENDOR_MICROCHIP=y +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +CONFIG_WLAN_VENDOR_PURELIFI=y +# CONFIG_PLFXLC is not set +CONFIG_WLAN_VENDOR_RALINK=y +# CONFIG_RT2X00 is not set +CONFIG_WLAN_VENDOR_REALTEK=y +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8192DU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_RTW88 is not set +# CONFIG_RTW89 is not set +CONFIG_WLAN_VENDOR_RSI=y +# CONFIG_RSI_91X is not set +CONFIG_WLAN_VENDOR_SILABS=y +# CONFIG_WFX is not set +CONFIG_WLAN_VENDOR_ST=y +# CONFIG_CW1200 is not set +CONFIG_WLAN_VENDOR_TI=y +# CONFIG_WL1251 is not set +# CONFIG_WL12XX is not set +# CONFIG_WL18XX is not set +# CONFIG_WLCORE is not set +CONFIG_WLAN_VENDOR_ZYDAS=y +# CONFIG_ZD1211RW is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +# CONFIG_QTNFMAC_PCIE is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_VIRT_WIFI is not set +# CONFIG_WAN is not set + +# +# Wireless WAN +# +# CONFIG_WWAN is not set +# end of Wireless WAN + +# CONFIG_VMXNET3 is not set +# CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=y +# CONFIG_IVSHMEM_NET is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set +CONFIG_INPUT_VIVALDIFMAP=y + +# +# 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=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_CYPRESS_SF is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_SMBUS=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX=y +# CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +CONFIG_LEGACY_TIOCSTI=y +CONFIG_LDISC_AUTOLOAD=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y +# CONFIG_SERIAL_8250_FINTEK is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_PCILIB=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_EXAR=y +CONFIG_SERIAL_8250_NR_UARTS=8 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +CONFIG_SERIAL_8250_EXTENDED=y +# CONFIG_SERIAL_8250_MANY_PORTS is not set +# CONFIG_SERIAL_8250_PCI1XXXX is not set +# CONFIG_SERIAL_8250_SHARE_IRQ is not set +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +# CONFIG_SERIAL_8250_RSA is not set +CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_DW=y +# CONFIG_SERIAL_8250_RT288X is not set +CONFIG_SERIAL_8250_PERICOM=y +CONFIG_SERIAL_OF_PLATFORM=y + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_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_JSM is not set +# CONFIG_SERIAL_SIFIVE is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_SPRD is not set +# end of Serial drivers + +CONFIG_SERIAL_MCTRL_GPIO=y +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_NOZOMI is not set +# CONFIG_NULL_TTY is not set +CONFIG_HVC_DRIVER=y +# CONFIG_HVC_DCC is not set +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_TTY_PRINTK is not set +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_IPMI_HANDLER is not set +# CONFIG_SSIF_IPMI_BMC is not set +# CONFIG_IPMB_DEVICE_INTERFACE is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_BA431 is not set +# CONFIG_HW_RANDOM_VIRTIO is not set +# CONFIG_HW_RANDOM_CCTRNG is not set +# CONFIG_HW_RANDOM_XIPHERA is not set +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y +# CONFIG_HW_RANDOM_CN10K is not set +# CONFIG_APPLICOM is not set +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# CONFIG_XILLYUSB is not set +# end of Character devices + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_PCA9541 is not set +CONFIG_I2C_MUX_PCA954x=y +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_NVIDIA_GPU is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CADENCE is not set +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_CORE is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_HISI is not set +CONFIG_I2C_IMX=y +# CONFIG_I2C_NOMADIK is not set +# 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_THUNDERX is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_CP2615 is not set +# CONFIG_I2C_PCI1XXXX 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_VIRTIO is not set +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SLAVE=y +# CONFIG_I2C_SLAVE_EEPROM is not set +# CONFIG_I2C_SLAVE_TESTUNIT is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y + +# +# 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_CADENCE_QUADSPI is not set +# CONFIG_SPI_CADENCE_XSPI is not set +# CONFIG_SPI_CH341 is not set +# CONFIG_SPI_DESIGNWARE is not set +CONFIG_SPI_FSL_QUADSPI=y +CONFIG_SPI_NXP_FLEXSPI=y +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_FSL_DSPI=y +# CONFIG_SPI_MICROCHIP_CORE is not set +# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PCI1XXXX is not set +# CONFIG_SPI_PL022 is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SN_F_OSPI is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_THUNDERX is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_AMD is not set + +# +# SPI Multiplexer support +# +# CONFIG_SPI_MUX 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=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PTP_1588_CLOCK_QORIQ=y +CONFIG_DP83640_PHY=y +# CONFIG_PTP_1588_CLOCK_INES is not set +CONFIG_PTP_1588_CLOCK_KVM=y +# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set +# CONFIG_PTP_1588_CLOCK_IDTCM is not set +# CONFIG_PTP_1588_CLOCK_FC3W is not set +# CONFIG_PTP_1588_CLOCK_MOCK is not set +# CONFIG_PTP_1588_CLOCK_OCP is not set +# end of PTP clock support + +# CONFIG_PINCTRL is not set +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_CDEV_V1=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EXAR is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HISI is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_LOGICVC is not set +# CONFIG_GPIO_MB86S7X is not set +CONFIG_GPIO_MPC8XXX=y +# CONFIG_GPIO_PL061 is not set +# CONFIG_GPIO_SIFIVE is not set +CONFIG_GPIO_SYSCON=y +# CONFIG_GPIO_XGENE is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_FXL6408 is not set +# CONFIG_GPIO_DS4520 is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +CONFIG_GPIO_PCA953X=y +# CONFIG_GPIO_PCA953X_IRQ is not set +# CONFIG_GPIO_PCA9570 is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# end of MFD GPIO expanders + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_PCI_IDIO_16 is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set +# CONFIG_GPIO_RDC321X is not set +# end of PCI GPIO expanders + +# +# 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 +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# +# Virtual GPIO drivers +# +# CONFIG_GPIO_AGGREGATOR is not set +# CONFIG_GPIO_LATCH is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_VIRTIO is not set +# CONFIG_GPIO_SIM is not set +# end of Virtual GPIO drivers + +# +# GPIO Debugging utilities +# +# CONFIG_GPIO_VIRTUSER is not set +# end of GPIO Debugging utilities + +# CONFIG_W1 is not set +CONFIG_POWER_RESET=y +# CONFIG_POWER_RESET_GPIO is not set +# CONFIG_POWER_RESET_GPIO_RESTART is not set +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_XGENE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +# CONFIG_SYSCON_REBOOT_MODE is not set +# CONFIG_NVMEM_REBOOT_MODE is not set +# CONFIG_POWER_RESET_IMX is not set +# CONFIG_POWER_SEQUENCING is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_IP5XXX_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 is not set +# CONFIG_BATTERY_CW2015 is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SAMSUNG_SDI is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1720X is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_LT3651 is not set +# CONFIG_CHARGER_LTC4162L is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_MAX77976 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ2515X is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_BQ25980 is not set +# CONFIG_CHARGER_BQ256XX is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_GOLDFISH is not set +# CONFIG_BATTERY_RT5033 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_BD99954 is not set +# CONFIG_BATTERY_UG3105 is not set +# CONFIG_FUEL_GAUGE_MM8013 is not set +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM1177 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_AHT10 is not set +# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set +# CONFIG_SENSORS_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set +# CONFIG_SENSORS_AXI_FAN_CONTROL is not set +# CONFIG_SENSORS_ARM_SCMI is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_CHIPCAP2 is not set +# CONFIG_SENSORS_CORSAIR_CPRO is not set +# CONFIG_SENSORS_CORSAIR_PSU is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FTSTEUTATES is not set +# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_HS3001 is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_POWERZ is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LTC2945 is not set +# CONFIG_SENSORS_LTC2947_I2C is not set +# CONFIG_SENSORS_LTC2947_SPI is not set +# CONFIG_SENSORS_LTC2990 is not set +# CONFIG_SENSORS_LTC2991 is not set +# CONFIG_SENSORS_LTC2992 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4222 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4260 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_LTC4282 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX127 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX17135 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31722 is not set +# CONFIG_SENSORS_MAX31730 is not set +# CONFIG_SENSORS_MAX31760 is not set +# CONFIG_MAX31827 is not set +# CONFIG_SENSORS_MAX6620 is not set +# CONFIG_SENSORS_MAX6621 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MAX31790 is not set +# CONFIG_SENSORS_MC34VR500 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_TC654 is not set +# CONFIG_SENSORS_TPS23861 is not set +# CONFIG_SENSORS_MR75203 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +CONFIG_SENSORS_LM75=y +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_NCT6683 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NCT6775_I2C is not set +# CONFIG_SENSORS_NCT7802 is not set +# CONFIG_SENSORS_NCT7904 is not set +# CONFIG_SENSORS_NPCM7XX is not set +# CONFIG_SENSORS_NZXT_KRAKEN2 is not set +# CONFIG_SENSORS_NZXT_KRAKEN3 is not set +# CONFIG_SENSORS_NZXT_SMART2 is not set +# CONFIG_SENSORS_OCC_P8_I2C is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_PT5161L is not set +# CONFIG_SENSORS_SBTSI is not set +# CONFIG_SENSORS_SBRMI is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SHT3x is not set +# CONFIG_SENSORS_SHT4x is not set +# CONFIG_SENSORS_SHTC1 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +CONFIG_SENSORS_EMC2103=y +CONFIG_SENSORS_EMC2305=y +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +CONFIG_SENSORS_INA2XX=y +CONFIG_SENSORS_INA238=y +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_SPD5118 is not set +# CONFIG_SENSORS_TC74 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_TMP102 is not set +# CONFIG_SENSORS_TMP103 is not set +# CONFIG_SENSORS_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_TMP464 is not set +# CONFIG_SENSORS_TMP513 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83773G is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +CONFIG_SERIES_DIODE_RESISTANCE_PARAM=3 +CONFIG_THERMAL=y +# CONFIG_THERMAL_NETLINK is not set +# CONFIG_THERMAL_STATISTICS is not set +# CONFIG_THERMAL_DEBUGFS is not set +# CONFIG_THERMAL_CORE_TESTING is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=y +# 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=y +# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set +CONFIG_CPU_THERMAL=y +CONFIG_CPU_FREQ_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +# CONFIG_THERMAL_EMULATION is not set +# CONFIG_THERMAL_MMIO is not set +CONFIG_QORIQ_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set +# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV 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_XILINX_WINDOW_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_ARM_SP805_WATCHDOG is not set +# CONFIG_ARM_SBSA_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +CONFIG_IMX2_WDT=y +# CONFIG_ARM_SMC_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG 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_ADP5585 is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_SMPRO 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_CS42L43_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_MAX5970 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_GATEWORKS_GSC is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_MP2629 is not set +# CONFIG_MFD_IMX_FLEXIO is not set +# CONFIG_MFD_MXC_HDMI is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_MFD_IQS62X is not set +# CONFIG_MFD_JANZ_CMODIO 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_88PM886_PMIC is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX17135 is not set +# CONFIG_MFD_MAX77541 is not set +# CONFIG_MFD_FP9931 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77714 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_MAXIM_SERDES is not set +# CONFIG_MFD_MAX96752 is not set +# CONFIG_MFD_MAX96789 is not set +# CONFIG_MFD_MT6360 is not set +# CONFIG_MFD_MT6370 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_MFD_OCELOT is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_NTXEC is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_SY7636A is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RT4831 is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RT5120 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK8XX_I2C is not set +# CONFIG_MFD_RK8XX_SPI 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_SL28CPLD is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# 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_TPS65219 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_TPS6594_I2C is not set +# CONFIG_MFD_TPS6594_SPI 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_TQMX86 is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_LOCHNAGAR 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_MFD_ROHM_BD71828 is not set +# CONFIG_MFD_ROHM_BD957XMUF is not set +# CONFIG_MFD_ROHM_BD96801 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# CONFIG_MFD_ATC260X_I2C is not set +# CONFIG_MFD_QCOM_PM8008 is not set +# CONFIG_MFD_CS40L50_I2C is not set +# CONFIG_MFD_CS40L50_SPI is not set +# CONFIG_RAVE_SP_CORE is not set +# CONFIG_MFD_INTEL_M10_BMC_SPI is not set +# CONFIG_MFD_RSMU_I2C is not set +# CONFIG_MFD_RSMU_SPI is not set +# end of Multifunction device drivers + +# CONFIG_REGULATOR is not set +# CONFIG_RC_CORE is not set + +# +# CEC support +# +# CONFIG_MEDIA_CEC_SUPPORT is not set +# end of CEC support + +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_AUXDISPLAY is not set +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +# CONFIG_FB is not set +# CONFIG_FB_MXC_DISP_FRAMEWORK is not set +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +# end of Console display driver support +# end of Graphics support + +# CONFIG_SOUND is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# 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_ASUS is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_BIGBEN_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CREATIVE_SB0540 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EVISION is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_GLORIOUS is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GOODIX_SPI is not set +# CONFIG_HID_GOOGLE_STADIA_FF is not set +# CONFIG_HID_VIVALDI is not set +# CONFIG_HID_GT683R 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_VIEWSONIC is not set +# CONFIG_HID_VRC2 is not set +# CONFIG_HID_XIAOMI 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_LED is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LETSKETCH is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MALTRON is not set +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_MEGAWORLD_FF 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_NINTENDO 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_PLAYSTATION is not set +# CONFIG_HID_PXRC is not set +# CONFIG_HID_RAZER 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_SEMITEK is not set +# CONFIG_HID_SIGMAMICRO is not set +# CONFIG_HID_SONY 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_TOPRE is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_U2FZERO is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_WINWING 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 +# CONFIG_HID_MCP2200 is not set +# CONFIG_HID_MCP2221 is not set +# end of Special HID drivers + +# +# HID-BPF support +# +# end of HID-BPF support + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set +# end of USB HID support + +CONFIG_I2C_HID=y +# CONFIG_I2C_HID_OF is not set +# CONFIG_I2C_HID_OF_ELAN is not set +# CONFIG_I2C_HID_OF_GOODIX is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_PCI=y +# CONFIG_USB_PCI_AMD is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_FEW_INIT_RETRIES is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_PRODUCTLIST is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DBGCAP is not set +CONFIG_USB_XHCI_PCI=y +# CONFIG_USB_XHCI_PCI_RENESAS is not set +CONFIG_USB_XHCI_PLATFORM=y +# CONFIG_USB_EHCI_HCD is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_UHCI_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=y +# 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=y + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set + +# +# USB dual-mode controller drivers +# +# CONFIG_USB_CDNS_SUPPORT is not set +# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_HOST=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_HAPS=y +CONFIG_USB_DWC3_OF_SIMPLE=y +# CONFIG_USB_DWC2 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_APPLEDISPLAY is not set +# CONFIG_APPLE_MFI_FASTCHARGE 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 +# CONFIG_USB_CHAOSKEY is not set +# CONFIG_USB_ONBOARD_DEV 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 +# end of USB Physical Layer drivers + +# CONFIG_USB_GADGET is not set +CONFIG_TYPEC=y +# CONFIG_TYPEC_TCPM is not set +# CONFIG_TYPEC_UCSI is not set +# CONFIG_TYPEC_TPS6598X is not set +# CONFIG_TYPEC_ANX7411 is not set +# CONFIG_TYPEC_RT1719 is not set +CONFIG_TYPEC_HD3SS3220=y +# CONFIG_TYPEC_STUSB160X is not set +# CONFIG_TYPEC_WUSB3801 is not set + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +# CONFIG_TYPEC_MUX_FSA4480 is not set +# CONFIG_TYPEC_MUX_GPIO_SBU is not set +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# CONFIG_TYPEC_MUX_IT5205 is not set +# CONFIG_TYPEC_MUX_NB7VPQ904M is not set +# CONFIG_TYPEC_MUX_PTN36502 is not set +# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set +# CONFIG_TYPEC_SWITCH_GPIO is not set +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +# end of USB Type-C Alternate Mode drivers + +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_ARMMMCI is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_OF_ESDHC=y +# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_MILBEAUT is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_HSQ is not set +# CONFIG_MMC_TOSHIBA_PCI is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +CONFIG_LEDS_CLASS_MULTICOLOR=y +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_AW200XX is not set +# CONFIG_LEDS_AW2013 is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_EL15203000 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 is not set +# CONFIG_LEDS_LP50XX is not set +# CONFIG_LEDS_LP55XX_COMMON is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_PCA995X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_BD2606MVV is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_IS31FL319X is not set +# CONFIG_LEDS_IS31FL32XX is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +# CONFIG_LEDS_SYSCON is not set +# CONFIG_LEDS_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +# CONFIG_LEDS_LM3697 is not set + +# +# Flash and Torch LED drivers +# + +# +# RGB LED drivers +# +# CONFIG_LEDS_GROUP_MULTICOLOR is not set +# CONFIG_LEDS_KTD202X is not set +# CONFIG_LEDS_NCP5623 is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +CONFIG_LEDS_TRIGGER_ONESHOT=y +# CONFIG_LEDS_TRIGGER_MTD is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +CONFIG_LEDS_TRIGGER_ACTIVITY=y +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_LEDS_TRIGGER_PANIC is not set +CONFIG_LEDS_TRIGGER_NETDEV=y +CONFIG_LEDS_TRIGGER_PATTERN=y +# CONFIG_LEDS_TRIGGER_TTY is not set +# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set + +# +# Simple LED drivers +# +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +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_ABEOZ9 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_MAX31335 is not set +# CONFIG_RTC_DRV_NCT3018Y 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_RX8111 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_RV3028 is not set +# CONFIG_RTC_DRV_RV3032 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD2405AL is not set +# CONFIG_RTC_DRV_SD3078 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_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=m +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RX6110 is not set + +# +# Platform RTC drivers +# +# 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_EFI 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_RP5C01 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_FSL_FTM_ALARM is not set +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_IMX_RPMSG is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_GOLDFISH is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DMA_OF=y +# CONFIG_ALTERA_MSGDMA is not set +# CONFIG_AMBA_PL08X is not set +# CONFIG_CRYPTO_DEV_FSL_CAAM_DMA is not set +# CONFIG_DW_AXI_DMAC is not set +CONFIG_FSL_EDMA=y +CONFIG_FSL_QDMA=m +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_MV_XOR_V2 is not set +# CONFIG_MXC_PXP_V3 is not set +# CONFIG_PL330_DMA is not set +# CONFIG_PLX_DMA is not set +# CONFIG_XILINX_DMA is not set +# CONFIG_XILINX_XDMA is not set +# CONFIG_XILINX_ZYNQMP_DMA is not set +# CONFIG_XILINX_ZYNQMP_DPDMA is not set +# CONFIG_AMD_QDMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DW_DMAC_PCI is not set +# CONFIG_DW_EDMA is not set +# CONFIG_SF_PDMA is not set +# CONFIG_FSL_DPAA2_QDMA is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set +CONFIG_DMA_ENGINE_RAID=y + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set +# CONFIG_DMABUF_HEAPS is not set +# end of DMABUF options + +CONFIG_UIO=y +CONFIG_UIO_CIF=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y +CONFIG_UIO_AEC=y +CONFIG_UIO_SERCOS3=y +CONFIG_UIO_PCI_GENERIC=y +CONFIG_UIO_NETX=y +CONFIG_UIO_MF624=y +# CONFIG_UIO_IVSHMEM is not set +CONFIG_UIO_V2X_FCE=y +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI_LIB=y +CONFIG_VIRTIO_PCI_LIB_LEGACY=y +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +# CONFIG_VIRTIO_BALLOON is not set +# CONFIG_VIRTIO_MEM is not set +# CONFIG_VIRTIO_INPUT is not set +CONFIG_VIRTIO_MMIO=y +# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set +# CONFIG_VIRTIO_DEBUG is not set +# CONFIG_VIRTIO_IVSHMEM is not set +# CONFIG_VDPA is not set +CONFIG_VHOST_IOTLB=y +CONFIG_VHOST_TASK=y +CONFIG_VHOST=y +CONFIG_VHOST_MENU=y +CONFIG_VHOST_NET=y +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set +CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +# CONFIG_COMEDI is not set +CONFIG_STAGING=y +# CONFIG_RTLLIB is not set +# CONFIG_RTL8723BS is not set +# CONFIG_R8712U is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_STAGING_MEDIA is not set +# CONFIG_LTE_GDM724X is not set +CONFIG_FSL_SDK_DPA=y + +# +# Freescale Datapath QMan/BMan options +# +# CONFIG_FSL_DPA_CHECKING is not set +CONFIG_FSL_DPA_CAN_WAIT=y +CONFIG_FSL_DPA_CAN_WAIT_SYNC=y +CONFIG_FSL_DPA_PIRQ_FAST=y +CONFIG_FSL_DPA_PIRQ_SLOW=y +CONFIG_FSL_DPA_PORTAL_SHARE=y +CONFIG_FSL_SDK_BMAN=y +CONFIG_FSL_ASK_QMAN_PORTAL_NAPI=y +CONFIG_FSL_BMAN_CONFIG=y +# CONFIG_FSL_BMAN_TEST is not set +CONFIG_FSL_BMAN_DEBUGFS=y +CONFIG_FSL_SDK_QMAN=y +CONFIG_FSL_QMAN_POLL_LIMIT=32 +CONFIG_FSL_QMAN_CONFIG=y +# CONFIG_FSL_QMAN_TEST is not set +CONFIG_FSL_QMAN_DEBUGFS=y +CONFIG_FSL_QMAN_FQD_SZ=10 +CONFIG_FSL_QMAN_PFDR_SZ=13 +CONFIG_FSL_QMAN_CI_SCHED_CFG_SRCCIV=4 +CONFIG_FSL_QMAN_CI_SCHED_CFG_SRQ_W=3 +CONFIG_FSL_QMAN_CI_SCHED_CFG_RW_W=2 +CONFIG_FSL_QMAN_CI_SCHED_CFG_BMAN_W=2 +CONFIG_FSL_QMAN_PIRQ_DQRR_ITHRESH=12 +CONFIG_FSL_QMAN_PIRQ_MR_ITHRESH=4 +CONFIG_FSL_QMAN_PIRQ_IPERIOD=100 +CONFIG_FSL_QMAN_FQ_LOOKUP=y +CONFIG_QMAN_CEETM_UPDATE_PERIOD=1000 +CONFIG_FSL_QMAN_INIT_TIMEOUT=10 +CONFIG_FSL_USDPAA=y +# end of Freescale Datapath QMan/BMan options + +# CONFIG_FSL_DPAA2 is not set +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_VME_BUS is not set +# CONFIG_FSL_PPFE is not set +# CONFIG_ETHOSU is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_SURFACE_PLATFORMS=y +CONFIG_ARM64_PLATFORM_DEVICES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Clock driver for ARM Reference designs +# +# CONFIG_CLK_ICST is not set +# CONFIG_CLK_SP810 is not set +# end of Clock driver for ARM Reference designs + +# CONFIG_LMK04832 is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +CONFIG_COMMON_CLK_SCMI=y +# CONFIG_COMMON_CLK_SI5341 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_COMMON_CLK_FSL_FLEXSPI=y +# CONFIG_COMMON_CLK_FSL_SAI is not set +# CONFIG_COMMON_CLK_AXI_CLKGEN is not set +CONFIG_CLK_QORIQ=y +CONFIG_CLK_LS1028A_PLLDIG=y +# CONFIG_COMMON_CLK_XGENE is not set +# CONFIG_COMMON_CLK_RS9_PCIE is not set +# CONFIG_COMMON_CLK_SI521XX is not set +# CONFIG_COMMON_CLK_VC3 is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_VC7 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_ARCH_S32_CLK is not set +# CONFIG_XILINX_VCU is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_HWSPINLOCK is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_HISILICON_ERRATUM_161010101=y +CONFIG_ARM64_ERRATUM_858921=y +# CONFIG_ARM_TIMER_SP804 is not set +# CONFIG_CLKSRC_IMX_TPM is not set +# CONFIG_TIMER_IMX_SYS_CTR is not set +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# CONFIG_IOMMU_IO_PGTABLE_DART is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +# CONFIG_IOMMUFD is not set +# CONFIG_ARM_SMMU is not set +# CONFIG_ARM_SMMU_V3 is not set +# CONFIG_VIRTIO_IOMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Broadcom SoC drivers +# +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# CONFIG_FSL_DPAA is not set +# CONFIG_QUICC_ENGINE is not set +CONFIG_FSL_GUTS=y +CONFIG_FSL_MC_DPIO=y +CONFIG_DPAA2_CONSOLE=y +CONFIG_FSL_RCPM=y +# CONFIG_FSL_QIXIS is not set +# end of NXP/Freescale QorIQ SoC drivers + +# +# fujitsu SoC drivers +# +# end of fujitsu SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Enable LiteX SoC Builder specific drivers +# +# CONFIG_LITEX_SOC_CONTROLLER is not set +# end of Enable LiteX SoC Builder specific drivers + +# CONFIG_WPCM450_SOC is not set + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# +# PM Domains +# + +# +# Amlogic PM Domains +# +# end of Amlogic PM Domains + +CONFIG_ARM_SCMI_PERF_DOMAIN=y +CONFIG_ARM_SCMI_POWER_DOMAIN=y + +# +# Broadcom PM Domains +# +# end of Broadcom PM Domains + +# +# i.MX PM Domains +# +# end of i.MX PM Domains + +# +# Qualcomm PM Domains +# +# end of Qualcomm PM Domains +# end of PM Domains + +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +# CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND is not set +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_GOV_PASSIVE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB 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_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_ARM_GIC_V3_ITS_FSL_MC=y +CONFIG_IRQ_MSI_LIB=y +# CONFIG_AL_FIC is not set +# CONFIG_XILINX_INTC is not set +CONFIG_LS_EXTIRQ=y +CONFIG_LS_SCFG_MSI=y +CONFIG_PARTITION_PERCPU=y +# CONFIG_GIC_GENTLE_CONFIG is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_CAN_TRANSCEIVER is not set +# CONFIG_PHY_MIXEL_LVDS is not set +# CONFIG_PHY_MIXEL_LVDS_COMBO is not set + +# +# PHY drivers for Broadcom platforms +# +# CONFIG_BCM_KONA_USB2_PHY is not set +# end of PHY drivers for Broadcom platforms + +# CONFIG_PHY_CADENCE_TORRENT is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_DPHY_RX is not set +# CONFIG_PHY_CADENCE_SALVO is not set +CONFIG_PHY_FSL_LYNX_XGKR_ALGORITHM=y +CONFIG_PHY_FSL_LYNX_10G=y +CONFIG_PHY_FSL_LYNX_28G=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_LAN966X_SERDES is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_PHY_OCELOT_SERDES is not set +# CONFIG_PHY_TI_DS125DF111 is not set +# CONFIG_PHY_INPHI_IN112525_RETIMER is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_ARM_CCI_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_ARM_CMN is not set +# CONFIG_ARM_NI is not set +CONFIG_ARM_PMU=y +# CONFIG_ARM_SMMU_V3_PMU is not set +CONFIG_ARM_PMUV3=y +# CONFIG_ARM_DSU_PMU is not set +# CONFIG_ARM_SPE_PMU is not set +# CONFIG_HISI_PCIE_PMU is not set +# CONFIG_HNS3_PMU is not set +# CONFIG_DWC_PCIE_PMU is not set +# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set +# end of Performance monitor support + +CONFIG_RAS=y +# CONFIG_USB4 is not set + +# +# Android +# +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# +# ARM GPU Configuration +# +# CONFIG_MALI_MIDGARD is not set +# end of ARM GPU Configuration + +# CONFIG_MALI_MEMORY_GROUP_MANAGER is not set +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_LAYOUTS=y + +# +# Layout Types +# +# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set +# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set +# CONFIG_NVMEM_LAYOUT_U_BOOT_ENV is not set +# end of Layout Types + +CONFIG_NVMEM_LAYERSCAPE_SFP=m +# CONFIG_NVMEM_RMEM is not set +# CONFIG_NVMEM_U_BOOT_ENV is not set + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# CONFIG_HISI_PTT is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +CONFIG_MULTIPLEXER=y + +# +# Multiplexer drivers +# +# CONFIG_MUX_ADG792A is not set +# CONFIG_MUX_ADGS1408 is not set +# CONFIG_MUX_GPIO is not set +# CONFIG_MUX_MMIO is not set +# end of Multiplexer drivers + +CONFIG_PM_OPP=y +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# CONFIG_MOST is not set +# CONFIG_PECI is not set +# CONFIG_HTE is not set +# CONFIG_CDX_BUS is not set +# end of Device Drivers + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_VALIDATE_FS_PARSER is not set +CONFIG_FS_IOMAP=y +CONFIG_FS_STACK=y +CONFIG_BUFFER_HEAD=y +CONFIG_LEGACY_DIRECT_IO=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# 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=m +# CONFIG_BTRFS_FS_POSIX_ACL is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +# CONFIG_BTRFS_DEBUG is not set +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_BTRFS_FS_REF_VERIFY is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_BCACHEFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +# CONFIG_FS_ENCRYPTION is not set +# CONFIG_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +CONFIG_FUSE_FS=m +# CONFIG_CUSE is not set +# CONFIG_VIRTIO_FS is not set +CONFIG_FUSE_PASSTHROUGH=y +CONFIG_OVERLAY_FS=m +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_OVERLAY_FS_DEBUG is not set + +# +# Caches +# +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# DOS/FAT/EXFAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +# CONFIG_NTFS3_FS is not set +# CONFIG_NTFS_FS is not set +# end of DOS/FAT/EXFAT/NT Filesystems + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_CHILDREN=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_TMPFS_INODE64 is not set +# CONFIG_TMPFS_QUOTA is not set +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +CONFIG_EFIVAR_FS=m +# end of Pseudo filesystems + +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=y +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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=y +CONFIG_UFS_FS_WRITE=y +# CONFIG_UFS_DEBUG is not set +# CONFIG_EROFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +# CONFIG_NFS_V2 is not set +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_FSCACHE is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_SMB_SERVER is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +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 is not set +# CONFIG_NLS_ISO8859_1 is not set +# 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=y +# CONFIG_DLM is not set +# CONFIG_UNICODE is not set +CONFIG_IO_WQ=y +# end of File systems + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_KEYS_REQUEST_CACHE is not set +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_TRUSTED_KEYS is not set +# CONFIG_SECURE_KEYS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_PROC_MEM_ALWAYS_FORCE=y +# CONFIG_PROC_MEM_FORCE_PTRACE is not set +# CONFIG_PROC_MEM_NO_FORCE is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,ipe,bpf" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y +# CONFIG_INIT_STACK_NONE is not set +# CONFIG_INIT_STACK_ALL_PATTERN is not set +CONFIG_INIT_STACK_ALL_ZERO=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +# CONFIG_ZERO_CALL_USED_REGS is not set +# end of Memory initialization + +# +# Hardening of kernel data structures +# +# CONFIG_LIST_HARDENED is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# end of Hardening of kernel data structures + +CONFIG_RANDSTRUCT_NONE=y +# end of Kernel hardening options +# end of Security options + +CONFIG_XOR_BLOCKS=m +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_SIG=y +CONFIG_CRYPTO_SIG2=y +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=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_KPP=m +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_AUTHENC=y +# CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_ENGINE=y +# end of Crypto core or helper + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=m +CONFIG_CRYPTO_ECDH=m +# CONFIG_CRYPTO_ECDSA is not set +# CONFIG_CRYPTO_ECRDSA is not set +# CONFIG_CRYPTO_CURVE25519 is not set +# end of Public-key cryptography + +# +# Block ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ARIA is not set +# 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=y +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SM4_GENERIC is not set +# CONFIG_CRYPTO_TWOFISH is not set +# end of Block ciphers + +# +# Length-preserving ciphers and modes +# +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_CHACHA20 is not set +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_HCTR2 is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +CONFIG_CRYPTO_XTS=y +# end of Length-preserving ciphers and modes + +# +# AEAD (authenticated encryption with associated data) ciphers +# +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GENIV=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y +# CONFIG_CRYPTO_ESSIV is not set +# CONFIG_CRYPTO_TLS is not set +# end of AEAD (authenticated encryption with associated data) ciphers + +# +# Hashes, digests, and MACs +# +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_RMD160 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SHA3=y +# CONFIG_CRYPTO_SM3_GENERIC is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_VMAC is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_XCBC is not set +CONFIG_CRYPTO_XXHASH=m +# end of Hashes, digests, and MACs + +# +# CRCs (cyclic redundancy checks) +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +# end of CRCs (cyclic redundancy checks) + +# +# 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 +# end of Compression + +# +# 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_JITTERENTROPY_MEMORY_BLOCKS=64 +CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32 +CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +# end of Random number generation + +# +# Userspace interface +# +# 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 +# end of Userspace interface + +CONFIG_CRYPTO_HASH_INFO=y +# CONFIG_CRYPTO_NHPOLY1305_NEON is not set +CONFIG_CRYPTO_CHACHA20_NEON=y + +# +# Accelerated Cryptographic Algorithms for CPU (arm64) +# +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_POLY1305_NEON=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA256_ARM64=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA512_ARM64=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m +# CONFIG_CRYPTO_SHA3_ARM64 is not set +# CONFIG_CRYPTO_SM3_NEON is not set +# CONFIG_CRYPTO_SM3_ARM64_CE is not set +# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set +# CONFIG_CRYPTO_AES_ARM64 is not set +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m +CONFIG_CRYPTO_AES_ARM64_BS=m +# CONFIG_CRYPTO_SM4_ARM64_CE is not set +# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set +# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set +# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set +# end of Accelerated Cryptographic Algorithms for CPU (arm64) + +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y +CONFIG_CRYPTO_DEV_FSL_CAAM_KEYBLOB_API_DESC=y +CONFIG_CRYPTO_DEV_FSL_CAAM=y +# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255 +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048 +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI=y +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y +# CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API_TEST is not set +# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y +CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7 +# CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_JR_UIO=y +# CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM is not set +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set +# CONFIG_CRYPTO_DEV_QAT_C62X is not set +# CONFIG_CRYPTO_DEV_QAT_4XXX is not set +# CONFIG_CRYPTO_DEV_QAT_420XX is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set +# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set +# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set +# CONFIG_CRYPTO_DEV_VIRTIO is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_HISI_SEC is not set +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set +# CONFIG_FIPS_SIGNATURE_SELFTEST 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 +# end of Certificates for signature checking + +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_RAID6_PQ_BENCHMARK=y +CONFIG_PACKING=y +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +# CONFIG_PRIME_NUMBERS is not set +CONFIG_RATIONAL=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_HAS_FAST_MULTIPLIER=y +CONFIG_ARCH_USE_SYM_ANNOTATIONS=y +# CONFIG_INDIRECT_PIO is not set + +# +# Crypto library routines +# +CONFIG_CRYPTO_LIB_UTILS=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_GF128MUL=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y +CONFIG_CRYPTO_LIB_CHACHA_INTERNAL=y +CONFIG_CRYPTO_LIB_CHACHA=y +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y +CONFIG_CRYPTO_LIB_CURVE25519_INTERNAL=y +CONFIG_CRYPTO_LIB_CURVE25519=y +CONFIG_CRYPTO_LIB_DES=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y +CONFIG_CRYPTO_LIB_POLY1305_INTERNAL=y +CONFIG_CRYPTO_LIB_POLY1305=y +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_SHA256=y +# end of Crypto library routines + +CONFIG_CRC_CCITT=m +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC64_ROCKSOFT is not set +CONFIG_CRC_ITU_T=y +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=y +CONFIG_CRC8=m +CONFIG_XXHASH=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +# 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_ZSTD_COMMON=y +CONFIG_ZSTD_COMPRESS=m +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_ARM64=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_RISCV=y +# CONFIG_XZ_DEC_MICROLZMA is not set +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_DECOMPRESS_ZSTD=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_XARRAY_MULTI=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DMA_OPS_HELPERS=y +CONFIG_NEED_SG_DMA_FLAGS=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_SWIOTLB=y +# CONFIG_SWIOTLB_DYNAMIC is not set +CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y +CONFIG_DMA_NEED_SYNC=y +# CONFIG_DMA_RESTRICTED_POOL is not set +CONFIG_DMA_NONCOHERENT_MMAP=y +CONFIG_DMA_COHERENT_POOL=y +CONFIG_DMA_DIRECT_REMAP=y +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_DMA_MAP_BENCHMARK is not set +CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_DIMLIB=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_UCS2_STRING=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_VDSO_TIME_NS=y +CONFIG_VDSO_GETRANDOM=y +CONFIG_FONT_SUPPORT=y +CONFIG_FONT_8x16=y +CONFIG_FONT_AUTOSELECT=y +CONFIG_SG_POOL=y +CONFIG_ARCH_STACKWALK=y +CONFIG_SBITMAP=y +# CONFIG_LWQ_TEST is not set +# end of Library routines + +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y +CONFIG_POLYNOMIAL=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +# CONFIG_STACKTRACE_BUILD_ID 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 +# CONFIG_DYNAMIC_DEBUG_CORE is not set +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_BUGVERBOSE=y +# end of printk and dmesg options + +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Compile-time checks and compiler options +# +CONFIG_AS_HAS_NON_CONST_ULEB128=y +CONFIG_DEBUG_INFO_NONE=y +# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_DWARF5 is not set +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_HEADERS_INSTALL is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_VMLINUX_MAP is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +# +# Generic Kernel Debugging Instruments +# +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_FS_ALLOW_ALL=y +# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set +# CONFIG_DEBUG_FS_ALLOW_NONE is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN=y +# CONFIG_UBSAN is not set +CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_KCSAN_COMPILER=y +# CONFIG_KCSAN is not set +# end of Generic Kernel Debugging Instruments + +# +# Networking Debugging +# +# CONFIG_NET_DEV_REFCNT_TRACKER is not set +# CONFIG_NET_NS_REFCNT_TRACKER is not set +# CONFIG_DEBUG_NET is not set +# end of Networking Debugging + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_TABLE_CHECK is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_RODATA_TEST is not set +CONFIG_ARCH_HAS_DEBUG_WX=y +# CONFIG_DEBUG_WX is not set +CONFIG_GENERIC_PTDUMP=y +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_PER_VMA_LOCK_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SHRINKER_DEBUG is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VM_PGTABLE 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_MEM_ALLOC_PROFILING is not set +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_KASAN_SW_TAGS=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +CONFIG_HAVE_ARCH_KFENCE=y +# CONFIG_KFENCE is not set +# end of Memory Debugging + +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Oops, Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SOFTLOCKUP_DETECTOR is not set +CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set +# CONFIG_TEST_LOCKUP is not set +# end of Debug Oops, Lockups and Hangs + +# +# Scheduler Debugging +# +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# end of Scheduler Debugging + +# +# 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 is not set +# 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 is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_SCF_TORTURE_TEST is not set +# CONFIG_CSD_LOCK_WAIT_DEBUG is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +# CONFIG_DEBUG_IRQFLAGS is not set +# CONFIG_STACKTRACE is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set + +# +# Debug kernel data structures +# +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_MAPLE_TREE is not set +# end of Debug kernel data structures + +# +# RCU Debugging +# +# CONFIG_RCU_SCALE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_REF_SCALE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 +# CONFIG_RCU_CPU_STALL_CPUTIME is not set +CONFIG_RCU_TRACE=y +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_LATENCYTOP is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y +CONFIG_STRICT_DEVMEM=y +# CONFIG_IO_STRICT_DEVMEM is not set + +# +# arm64 Debugging +# +CONFIG_PID_IN_CONTEXTIDR=y +# CONFIG_ARM64_RELOC_TEST is not set +# CONFIG_CORESIGHT is not set +# end of arm64 Debugging + +# +# Kernel Testing and Coverage +# +# CONFIG_KUNIT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +CONFIG_RUNTIME_TESTING_MENU=y +# CONFIG_TEST_DHRY is not set +# CONFIG_LKDTM is not set +# CONFIG_TEST_MIN_HEAP is not set +# CONFIG_TEST_DIV64 is not set +# CONFIG_TEST_MULDIV64 is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_TEST_REF_TRACKER is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_REED_SOLOMON_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_SCANF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_MAPLE_TREE is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_BITOPS is not set +# CONFIG_TEST_VMALLOC is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_BLACKHOLE_DEV is not set +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_MEMINIT is not set +# CONFIG_TEST_FREE_PAGES is not set +# CONFIG_TEST_FPU is not set +# CONFIG_TEST_OBJPOOL is not set +CONFIG_ARCH_USE_MEMTEST=y +# CONFIG_MEMTEST is not set +# end of Kernel Testing and Coverage + +# +# Rust hacking +# +# end of Rust hacking +# end of Kernel hacking diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf new file mode 100644 index 000000000000..a5dabd9415e1 --- /dev/null +++ b/config/sources/families/ls1046a.conf @@ -0,0 +1,186 @@ +# +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (c) 2026 Mono Technologies Inc. +# +# This file is a part of the Armbian Build Framework +# https://github.com/armbian/build/ +# +# NXP LS1046A (Layerscape) family +# Quad Cortex-A72 arm64, DPAA1 with FMAN +# + +enable_extension "ls1046a-ask" + +declare -g ARCH="arm64" +declare -g KERNEL_IMAGE_TYPE="Image" +declare -g SERIALCON="ttyS0" +declare -g SRC_EXTLINUX="yes" +declare -g OFFSET=32 # rootfs partition starts at 32 MiB (bootloader area: PBL@4K, FIP@1M, env@3M, FMAN@4M) +declare -g OVERLAY_DIR="/boot/dtb/freescale/overlay" +declare -g LINUXFAMILY="ls1046a" + +# CPU frequency scaling +declare -g CPUMIN=300000 +declare -g CPUMAX=1800000 +declare -g GOVERNOR=ondemand + +# Kernel +declare -g KERNELSOURCE='https://github.com/nxp-qoriq/linux.git' + +case "${BRANCH}" in + + current) + declare -g KERNEL_MAJOR_MINOR="6.12" + declare -g KERNELBRANCH='branch:lf-6.12.y' + declare -g LINUXCONFIG="linux-ls1046a-current" + ;; + +esac + +declare -g KERNELPATCHDIR="archive/ls1046a-${KERNEL_MAJOR_MINOR}" + +# U-Boot +declare -g BOOTSOURCE='https://github.com/we-are-mono/u-boot' +declare -g BOOTBRANCH='commit:9f13d11658f696d4d1b4f76fa88264c52bd2e7c2' +declare -g BOOTPATCHDIR="u-boot-ls1046a" +declare -g UBOOT_TARGET_MAP=";;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls1046_r1.0_108_4_9.bin u-boot-env.bin" + +# ATF - compile just BL31 in the main ATF pass +declare -g ATFSOURCE='https://github.com/we-are-mono/atf' +declare -g ATFDIR='arm-trusted-firmware-ls1046a' +declare -g ATFBRANCH='commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef' +declare -g ATF_TARGET_MAP="PLAT=gateway_dk bl31;;build/gateway_dk/release/bl31.bin" +declare -g ATFPATCHDIR='atf-ls1046a' + +# RCW source (fetched during uboot postprocess) +declare -g RCW_SOURCE='https://github.com/we-are-mono/rcw' +declare -g RCW_BRANCH='commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2' + +# FMAN microcode (fetched during family_tweaks) +declare -g FMAN_UCODE_SOURCE='https://github.com/NXP/qoriq-fm-ucode.git' +declare -g FMAN_UCODE_SRCREV='41d603a1ad78e0bb61365500828d9f484bf9bf10' +declare -g FMAN_UCODE_FILE='fsl_fman_ucode_ls1046_r1.0_108_4_9.bin' + +# Helper: ensure FMAN microcode is fetched and cached +function ensure_fman_ucode_cached() { + local fman_dir="${SRC}/cache/sources/qoriq-fm-ucode" + if [[ ! -d "${fman_dir}/.git" ]]; then + rm -rf "${fman_dir}" + run_host_command_logged git clone "${FMAN_UCODE_SOURCE}" "${fman_dir}" + pushd "${fman_dir}" || exit_with_error "Cannot enter fm-ucode directory" + run_host_command_logged git checkout "${FMAN_UCODE_SRCREV}" + popd + fi + echo "${fman_dir}" +} + +# RCW build needs tcl +function add_host_dependencies__ls1046a_deps() { + display_alert "Adding host dependencies for LS1046A" "tcl" "debug" + declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} tcl" +} + +# After ATF compiles bl31, save the ATF directory path for uboot postprocess +function atf_custom_postprocess() { + display_alert "ATF BL31 compiled" "saving paths for FIP assembly" "info" + declare -g ATF_LS1046A_DIR + ATF_LS1046A_DIR="$(pwd)" +} + +function uboot_custom_postprocess() { + local ubootdir + ubootdir="$(pwd)" + + display_alert "LS1046A boot chain" "fetching RCW" "info" + + # Fetch and build RCW + fetch_from_repo "${RCW_SOURCE}" "rcw-ls1046a" "${RCW_BRANCH}" "yes" + local rcwdir="${SRC}/cache/sources/rcw-ls1046a/${RCW_BRANCH##*:}" + pushd "${rcwdir}" || exit_with_error "Cannot enter RCW directory" + run_host_command_logged make BOARDS=gateway_dk + popd + + local rcw_bin="${rcwdir}/gateway_dk/NN_FFSSPSNP_1133_5A06/rcw_2100_emmcboot.bin" + [[ ! -f "${rcw_bin}" ]] && exit_with_error "RCW binary not found at ${rcw_bin}" + + # Re-enter ATF directory and build PBL + FIP with BL33=u-boot.bin + local atfdir="${ATF_LS1046A_DIR:-${SRC}/cache/sources/${ATFDIR}/${ATFBRANCH##*:}}" + pushd "${atfdir}" || exit_with_error "Cannot enter ATF directory" + + display_alert "LS1046A boot chain" "building PBL + FIP (emmc)" "info" + run_host_command_logged make realclean + run_host_command_logged "CROSS_COMPILE='${ATF_COMPILER}'" \ + "CFLAGS='-fdiagnostics-color=always'" \ + make pbl fip \ + PLAT=gateway_dk \ + BOOT_MODE=emmc \ + "RCW=${rcw_bin}" \ + "BL33=${ubootdir}/u-boot.bin" \ + "${CTHREADS}" + + # Copy final boot chain binaries to uboot output directory + run_host_command_logged cp -pv build/gateway_dk/release/bl2_emmc.pbl "${ubootdir}/" + run_host_command_logged cp -pv build/gateway_dk/release/fip.bin "${ubootdir}/" + + popd + + # Fetch FMAN microcode and copy to uboot output dir so it gets packaged + display_alert "LS1046A boot chain" "fetching FMAN microcode" "info" + local fman_dir + fman_dir=$(ensure_fman_ucode_cached) + run_host_command_logged cp -pv "${fman_dir}/${FMAN_UCODE_FILE}" "${ubootdir}/" + + # Build U-Boot environment binary (8KB at 3MB offset on eMMC) + display_alert "LS1046A boot chain" "building U-Boot environment" "info" + "${ubootdir}/tools/mkenvimage" -s 0x2000 -o "${ubootdir}/u-boot-env.bin" "${SRC}/config/bootenv/ls1046a.txt" + + cd "${ubootdir}" || exit_with_error "Cannot return to U-Boot directory" +} + +function write_uboot_platform() { + # LS1046A eMMC layout: + # - PBL (RCW + BL2) at 4K offset (block 8) + # - FIP (BL31 + U-Boot) at 1M offset (block 2048) + # - U-Boot env at 3M offset (block 6144) + # - FMAN microcode at 4M offset (block 8192) + local -a parts=( + "bl2_emmc.pbl:8" + "fip.bin:2048" + "u-boot-env.bin:6144" + "fsl_fman_ucode_ls1046_r1.0_108_4_9.bin:8192" + ) + for part in "${parts[@]}"; do + local file="${part%%:*}" seek="${part##*:}" + [[ -f "$1/${file}" ]] || { echo "write_uboot_platform: missing $1/${file}" >&2; return 1; } + dd if="$1/${file}" of="$2" bs=512 seek="${seek}" conv=notrunc status=noxfer > /dev/null 2>&1 || return 1 + done +} + +function family_tweaks() { + # Install FMAN microcode to rootfs + display_alert "Installing FMAN microcode" "${FMAN_UCODE_FILE}" "info" + local fman_dir + fman_dir=$(ensure_fman_ucode_cached) + mkdir -p "${SDCARD}/lib/firmware/" + cp "${fman_dir}/${FMAN_UCODE_FILE}" "${SDCARD}/lib/firmware/${FMAN_UCODE_FILE}" + + # Enable IP forwarding (common for gateway devices) + echo "net.ipv4.ip_forward=1" > "${SDCARD}/etc/sysctl.d/99-ls1046a-forwarding.conf" + + # Fan control — install package and enable services + display_alert "Installing fancontrol" "emc2305 + cluster_thermal" "info" + chroot_sdcard_apt_get_install fancontrol + chroot_sdcard "systemctl enable generate-fancontrol-conf.service" + chroot_sdcard "systemctl enable fancontrol.service" +} + +function family_tweaks_bsp() { + : "${destination:?destination is not set}" + + # Fan control — EMC2305 driven by cluster_thermal CPU temperature + install -Dm 755 "${SRC}/packages/bsp/ls1046a/generate-fancontrol-conf" \ + "${destination}/usr/local/bin/generate-fancontrol-conf" + install -Dm 644 "${SRC}/packages/bsp/ls1046a/generate-fancontrol-conf.service" \ + "${destination}/etc/systemd/system/generate-fancontrol-conf.service" +} diff --git a/extensions/ls1046a-ask.sh b/extensions/ls1046a-ask.sh new file mode 100644 index 000000000000..a972daec47f2 --- /dev/null +++ b/extensions/ls1046a-ask.sh @@ -0,0 +1,368 @@ +#!/usr/bin/env bash +# +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (c) 2026 Mono Technologies Inc. +# +# NXP ASK (Application Solutions Kit) extension for LS1046A +# Builds and installs: kernel modules (CDX, FCI, auto-bridge), +# userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm), +# patched system libraries, and configuration files. +# +# All ASK sources, patches, and configs come from the ASK repo. +# + +# Source repos and refs (pinned to match Yocto) +# For local testing: set ASK_REPO="file:///path/to/ASK" — the Docker mount hook below handles it +declare -g ASK_REPO="https://github.com/we-are-mono/ASK.git" +declare -g ASK_BRANCH="branch:master" +declare -g FMLIB_REPO="https://github.com/nxp-qoriq/fmlib.git" +declare -g FMLIB_COMMIT="7a58ecaf0d90d71d6b78d3ac7998282a472c4394" +declare -g FMC_REPO="https://github.com/nxp-qoriq/fmc.git" +declare -g FMC_COMMIT="5b9f4b16a864e9dfa58cdcc860be278a7f66ac18" +declare -g LIBCLI_REPO="https://github.com/dparrish/libcli.git" +declare -g LIBCLI_COMMIT="6a3b2f96c4f0916e2603a96bf24d704f6a904e7a" + +# Target architecture triplet (Debian multiarch) +declare -g ASK_HOST_TRIPLET="aarch64-linux-gnu" + +# ASK component directories +declare -g ASK_CDX_DIR="cdx" +declare -g ASK_FCI_DIR="fci" +declare -g ASK_AUTOBRIDGE_DIR="auto_bridge" +declare -g ASK_DPA_APP_DIR="dpa_app" +declare -g ASK_CMM_DIR="cmm" + +# Mount local ASK repo into Docker container when using file:// URL +function host_pre_docker_launch__mount_local_ask() { + if [[ "${ASK_REPO}" == file://* ]]; then + local local_path="${ASK_REPO#file://}" + DOCKER_EXTRA_ARGS+=("--mount" "type=bind,source=${local_path},target=${local_path},readonly") + display_alert "ASK extension" "mounting local ASK repo into Docker: ${local_path}" "info" + fi +} + +# Helper: ensure ASK repo is cloned and cached +function ask_ensure_cached() { + local ask_cache="${SRC}/cache/sources/ask-repo/checkout" + if [[ ! -d "${ask_cache}/.git" ]]; then + display_alert "ASK extension" "cloning ASK repo" "info" >&2 + rm -rf "${ask_cache}" + # For local file:// repos in Docker, safe.directory is needed (container runs as root) + if [[ "${ASK_REPO}" == file://* ]]; then + local local_path="${ASK_REPO#file://}" + git config --global --add safe.directory "${local_path}" 2>/dev/null + git config --global --add safe.directory "${local_path}/.git" 2>/dev/null + fi + git clone --depth 1 --branch "${ASK_BRANCH##*:}" "${ASK_REPO}" "${ask_cache}" >&2 + fi + echo "${ask_cache}" +} + +# Ensure kernel headers are available for module builds +function extension_finish_config__ask_enable_headers() { + declare -g INSTALL_HEADERS="yes" + display_alert "ASK extension" "enabling kernel headers for module builds" "info" +} + +# Add host build dependencies +function add_host_dependencies__ask_deps() { + display_alert "Adding ASK host dependencies" "${EXTENSION}" "debug" + declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} libxml2-dev libtclap-dev libpcap-dev autoconf automake libtool pkg-config" +} + +# Apply ASK kernel patch from the ASK repo +function post_family_config__ask_kernel_patch() { + local ask_dir + ask_dir=$(ask_ensure_cached) + local patch_src="${ask_dir}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" + + local patch_dst="${SRC}/patch/kernel/archive/ls1046a-${KERNEL_MAJOR_MINOR}/003-mono-gateway-ask-kernel_linux_6_12.patch" + + if [[ -f "${patch_src}" ]]; then + display_alert "ASK extension" "copying kernel patch from ASK repo" "info" + rm -f "${patch_dst}" 2>/dev/null || true + run_host_command_logged cp "${patch_src}" "${patch_dst}" + else + exit_with_error "ASK kernel patch not found" "${patch_src}" + fi +} + +# Build kernel modules after kernel debs are installed in chroot +function post_install_kernel_debs__build_ask_modules() { + [[ "${INSTALL_HEADERS}" != "yes" ]] && return 0 + + display_alert "ASK extension" "building kernel modules (host cross-compile)" "info" + + local ask_dir + ask_dir=$(ask_ensure_cached) + + local kernel_ver + kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + [[ -z "${kernel_ver}" ]] && exit_with_error "No kernel version found in ${SDCARD}/lib/modules/" + + # Full kernel source tree (needed for CDX — it includes ncsw_config.mk from the FMAN driver) + local ksrc="${SRC}/cache/sources/linux-kernel-worktree/${KERNEL_MAJOR_MINOR}__${LINUXFAMILY}__${ARCH}" + [[ -d "${ksrc}" ]] || exit_with_error "Kernel source tree not found at ${ksrc}" + + local cross="${KERNEL_COMPILER}" + local builddir="/tmp/ask-build-$$" + mkdir -p "${builddir}" + + # Copy ASK module sources to build dir + cp -a "${ask_dir}/${ASK_CDX_DIR}" "${builddir}/cdx" + cp -a "${ask_dir}/${ASK_FCI_DIR}" "${builddir}/fci" + cp -a "${ask_dir}/${ASK_AUTOBRIDGE_DIR}" "${builddir}/auto-bridge" + + # Build CDX module (cross-compile on host against full kernel source) + display_alert "ASK extension" "building CDX kernel module" "info" + make -C "${builddir}/cdx" \ + KERNELDIR="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" PLATFORM=LS1043A \ + CFG_FLAGS="-DSEC_PROFILE_SUPPORT -DVLAN_FILTER -DWIFI_ENABLE -DENABLE_EGRESS_QOS" \ + || exit_with_error "CDX module build failed" + + # Build FCI module (depends on CDX Module.symvers) + display_alert "ASK extension" "building FCI kernel module" "info" + make -C "${builddir}/fci" \ + KERNEL_SOURCE="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" BOARD_ARCH=arm64 \ + KBUILD_EXTRA_SYMBOLS="${builddir}/cdx/Module.symvers" \ + || exit_with_error "FCI module build failed" + + # Build auto-bridge module (uses its own Makefile which adds -I for br_private.h) + display_alert "ASK extension" "building auto-bridge kernel module" "info" + make -C "${builddir}/auto-bridge" \ + KERNEL_SOURCE="${ksrc}" CROSS_COMPILE="${cross}" PLATFORM=LS1043A ENABLE_VLAN_FILTER=y \ + || exit_with_error "auto-bridge module build failed" + + # Install modules into rootfs + mkdir -p "${SDCARD}/lib/modules/${kernel_ver}/extra" + cp "${builddir}/cdx/cdx.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + cp "${builddir}/fci/fci.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + cp "${builddir}/auto-bridge/auto_bridge.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + + # Update module dependencies + chroot_sdcard "depmod -a ${kernel_ver}" + + # Install module load order config (from ASK repo) + cp "${ask_dir}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" + + # Clean up build dir + rm -rf "${builddir}/cdx" "${builddir}/fci" "${builddir}/auto-bridge" + + display_alert "ASK extension" "kernel modules built and installed" "info" +} + +# Copy patches into chroot before patched library builds (runs before build_ask_userspace) +function pre_customize_image__000_prepare_ask_patches() { + local ask_dir + ask_dir=$(ask_ensure_cached) + + mkdir -p "${SDCARD}/tmp/ask-patches" + local patch_dirs=("libnetfilter-conntrack" "libnfnetlink" "iptables" "iproute2") + for pdir in "${patch_dirs[@]}"; do + [[ -d "${ask_dir}/patches/${pdir}" ]] || exit_with_error "ASK patch directory missing" "${ask_dir}/patches/${pdir}" + cp "${ask_dir}/patches/${pdir}/"*.patch "${SDCARD}/tmp/ask-patches/" + done + + # Enable deb-src for apt-get source + chroot_sdcard "if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ + sed -i 's/^Types: deb\$/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources; \ + elif [ -f /etc/apt/sources.list ]; then \ + sed -i 's/^#\\s*deb-src/deb-src/' /etc/apt/sources.list; \ + fi && apt-get update -qq" + chroot_sdcard_apt_get_install dpkg-dev devscripts +} + +# Build and install all ASK userspace components +function pre_customize_image__001_build_ask_userspace() { + display_alert "ASK extension" "building userspace components" "info" + + local ask_dir + ask_dir=$(ask_ensure_cached) + local kernel_ver + kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + local kdir="/usr/src/linux-headers-${kernel_ver}" + + # Install build dependencies in chroot + display_alert "ASK extension" "installing build dependencies" "info" + chroot_sdcard_apt_get_install build-essential autoconf automake libtool \ + pkg-config libxml2-dev libpcap-dev libcrypt-dev libtclap-dev + + # Copy sources into chroot + mkdir -p "${SDCARD}/tmp/ask-userspace" + + # --- fmlib --- + display_alert "ASK extension" "building fmlib" "info" + if [[ ! -d "${SRC}/cache/sources/fmlib" ]]; then + run_host_command_logged git clone "${FMLIB_REPO}" "${SRC}/cache/sources/fmlib" + pushd "${SRC}/cache/sources/fmlib" || exit_with_error "Cannot enter fmlib" + run_host_command_logged git checkout "${FMLIB_COMMIT}" + popd + fi + cp -a "${SRC}/cache/sources/fmlib" "${SDCARD}/tmp/ask-userspace/fmlib" + cp "${ask_dir}/patches/fmlib/"*.patch "${SDCARD}/tmp/ask-userspace/" + + chroot_sdcard "cd /tmp/ask-userspace/fmlib && \ + patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ + make KERNEL_SRC=${kdir} libfm-arm.a && \ + make DESTDIR=/ PREFIX=/usr LIB_DEST_DIR=/usr/lib/${ASK_HOST_TRIPLET} install-libfm-arm && \ + rm -rf /usr/src" + + # --- fmc --- + display_alert "ASK extension" "building fmc" "info" + if [[ ! -d "${SRC}/cache/sources/fmc" ]]; then + run_host_command_logged git clone "${FMC_REPO}" "${SRC}/cache/sources/fmc" + pushd "${SRC}/cache/sources/fmc" || exit_with_error "Cannot enter fmc" + run_host_command_logged git checkout "${FMC_COMMIT}" + popd + fi + cp -a "${SRC}/cache/sources/fmc" "${SDCARD}/tmp/ask-userspace/fmc" + cp "${ask_dir}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" + + chroot_sdcard "cd /tmp/ask-userspace/fmc && \ + find source -name '*.cpp' -o -name '*.h' -o -name '*.c' | xargs sed -i 's/\r\$//' && \ + patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ + make MACHINE=ls1043 \ + FMD_USPACE_HEADER_PATH=/usr/include/fmd \ + FMD_USPACE_LIB_PATH=/usr/lib/${ASK_HOST_TRIPLET} \ + LIBXML2_HEADER_PATH=/usr/include/libxml2 \ + TCLAP_HEADER_PATH=/usr/include \ + -C source && \ + install -m 755 source/fmc /usr/bin/ && \ + install -d /usr/include/fmc && \ + install -m 644 source/fmc.h /usr/include/fmc/ && \ + install -m 644 source/libfmc.a /usr/lib/${ASK_HOST_TRIPLET}/ && \ + install -d /etc/fmc/config && \ + install -m 644 etc/fmc/config/* /etc/fmc/config/" + + # --- libcli --- + display_alert "ASK extension" "building libcli" "info" + if [[ ! -d "${SRC}/cache/sources/libcli" ]]; then + run_host_command_logged git clone "${LIBCLI_REPO}" "${SRC}/cache/sources/libcli" + pushd "${SRC}/cache/sources/libcli" || exit_with_error "Cannot enter libcli" + run_host_command_logged git checkout "${LIBCLI_COMMIT}" + popd + fi + cp -a "${SRC}/cache/sources/libcli" "${SDCARD}/tmp/ask-userspace/libcli" + + chroot_sdcard "cd /tmp/ask-userspace/libcli && \ + make CFLAGS='-Wno-calloc-transposed-args' && \ + make PREFIX=/usr DESTDIR=/ install" + + # --- libfci --- + display_alert "ASK extension" "building libfci" "info" + cp -a "${ask_dir}/${ASK_FCI_DIR}/lib" "${SDCARD}/tmp/ask-userspace/libfci" + + chroot_sdcard "cd /tmp/ask-userspace/libfci && \ + touch README && \ + autoreconf -fi && \ + ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ + make && make install && \ + install -m 644 include/libfci.h /usr/include/" + + # --- dpa-app --- + display_alert "ASK extension" "building dpa-app" "info" + cp -a "${ask_dir}/${ASK_DPA_APP_DIR}" "${SDCARD}/tmp/ask-userspace/dpa-app" + # Copy CDX header + mkdir -p "${SDCARD}/usr/include/cdx" + cp "${ask_dir}/${ASK_CDX_DIR}/cdx_ioctl.h" "${SDCARD}/usr/include/cdx/" + + chroot_sdcard "cd /tmp/ask-userspace/dpa-app && \ + make CC=gcc \ + CFLAGS='-DENDIAN_LITTLE -DLS1043 -DNCSW_LINUX -DDPAA_DEBUG_ENABLE -DSEC_PROFILE_SUPPORT -DVLAN_FILTER \ + -I/usr/include/fmc -I/usr/include/fmd -I/usr/include/fmd/integrations \ + -I/usr/include/fmd/Peripherals -I/usr/include/fmd/Peripherals/common -I/usr/include/cdx' \ + LDFLAGS='-lfmc -lfm-arm -lstdc++ -lxml2 -lpthread -lcli' && \ + install -m 755 dpa_app /usr/bin/" + + # Install DPA-App config files (from ASK repo) + cp "${ask_dir}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" + cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_pcd.xml" "${SDCARD}/etc/" + cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" 2>/dev/null || true + + # --- Patched system libraries (must be before CMM which depends on patched libnetfilter-conntrack) --- + build_ask_patched_libraries + + # --- cmm --- + display_alert "ASK extension" "building cmm" "info" + cp -a "${ask_dir}/${ASK_CMM_DIR}" "${SDCARD}/tmp/ask-userspace/cmm" + # Copy auto-bridge header for CMM + cp "${ask_dir}/${ASK_AUTOBRIDGE_DIR}/include/auto_bridge.h" "${SDCARD}/usr/include/" + + chroot_sdcard "cd /tmp/ask-userspace/cmm && \ + make distclean || true && \ + rm -f config.log config.status && \ + autoreconf -fi && \ + CFLAGS='-DLS1043 -DFLOW_STATS -DWIFI_ENABLE -DSEC_PROFILE_SUPPORT -DUSE_QOSCONNMARK \ + -DENABLE_INGRESS_QOS -DIPSEC_NO_FLOW_CACHE -DVLAN_FILTER -DAUTO_BRIDGE' \ + ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ + make && make install" + + # Install and enable CMM service (from ASK repo) + # Guarded by ConditionPathExists=/dev/cdx_ctrl — won't start without ASK FMAN ucode on NOR + cp "${ask_dir}/config/cmm.service" "${SDCARD}/etc/systemd/system/" + mkdir -p "${SDCARD}/etc/config" + cp "${ask_dir}/config/fastforward" "${SDCARD}/etc/config/" + chroot_sdcard "systemctl enable cmm.service" + + # Pin patched packages to prevent apt upgrade from overwriting + display_alert "ASK extension" "pinning patched packages" "info" + chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables iproute2" + + # Install sysctl tuning for conntrack + cat > "${SDCARD}/etc/sysctl.d/99-ls1046a-conntrack.conf" << 'EOF' +net.netfilter.nf_conntrack_acct=1 +net.netfilter.nf_conntrack_checksum=0 +net.netfilter.nf_conntrack_max=131072 +net.netfilter.nf_conntrack_tcp_timeout_established=7440 +net.netfilter.nf_conntrack_udp_timeout=60 +net.netfilter.nf_conntrack_udp_timeout_stream=180 +EOF + + # Cleanup + rm -rf "${SDCARD}/tmp/ask-userspace" "${SDCARD}/tmp/ask-patches" + + display_alert "ASK extension" "all userspace components built and installed" "info" +} + +# Build patched versions of system libraries +function build_ask_patched_libraries() { + # Install all build dependencies upfront + display_alert "ASK extension" "installing build deps for patched libraries" "info" + chroot_sdcard "DEBIAN_FRONTEND=noninteractive apt-get -y build-dep \ + libnetfilter-conntrack libnfnetlink iptables iproute2" + + # Rebuild each patched library in an isolated directory + rebuild_patched_deb "libnetfilter-conntrack" \ + "01-nxp-ask-comcerto-fp-extensions.patch" \ + "libnetfilter-conntrack3_*.deb libnetfilter-conntrack-dev_*.deb" + + rebuild_patched_deb "libnfnetlink" \ + "01-nxp-ask-nonblocking-heap-buffer.patch" \ + "libnfnetlink0_*.deb libnfnetlink-dev_*.deb" + + rebuild_patched_deb "iptables" \ + "001-qosmark-extensions.patch" \ + "libip4tc2_*.deb libip6tc2_*.deb libxtables12_*.deb iptables_*.deb" + + rebuild_patched_deb "iproute2" \ + "01-nxp-ask-etherip-4rd.patch" \ + "iproute2_*.deb" +} + +# Helper: rebuild a Debian package with an ASK patch in an isolated chroot directory +# Usage: rebuild_patched_deb +function rebuild_patched_deb() { + local pkg="$1" patch="$2" debs="$3" + local workdir="/tmp/ask-rebuild-${pkg}" + + display_alert "ASK extension" "rebuilding ${pkg}" "info" + chroot_sdcard "set -e && \ + rm -rf ${workdir} && mkdir -p ${workdir} && cd ${workdir} && \ + apt-get source ${pkg} && \ + cd \$(ls -d ${pkg}-*/ | head -1) && \ + patch -p1 < /tmp/ask-patches/${patch} && \ + DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc -us && \ + cd ${workdir} && dpkg -i ${debs} && \ + rm -rf ${workdir}" +} diff --git a/packages/bsp/ls1046a/generate-fancontrol-conf b/packages/bsp/ls1046a/generate-fancontrol-conf new file mode 100644 index 000000000000..7f647ae89939 --- /dev/null +++ b/packages/bsp/ls1046a/generate-fancontrol-conf @@ -0,0 +1,39 @@ +#!/bin/bash +# Generate /etc/fancontrol with correct hwmon numbers for Mono Gateway DK +# EMC2305 fan controller driven by cluster_thermal CPU temperature +# Retries for up to 30s in case hwmon devices aren't ready at boot + +FAN_HWMON="" +TEMP_HWMON="" + +for attempt in $(seq 1 6); do + for h in /sys/class/hwmon/hwmon*; do + name=$(cat "$h/name" 2>/dev/null) + case "$name" in + emc2305) FAN_HWMON=$(basename "$h") ;; + cluster_thermal) TEMP_HWMON=$(basename "$h") ;; + esac + done + [ -n "$FAN_HWMON" ] && [ -n "$TEMP_HWMON" ] && break + sleep 5 +done + +if [ -z "$FAN_HWMON" ] || [ -z "$TEMP_HWMON" ]; then + echo "ERROR: Could not find emc2305 or cluster_thermal hwmon devices after 30s" >&2 + exit 1 +fi + +FAN_DEV=$(readlink -f "/sys/class/hwmon/$FAN_HWMON/device" | sed 's|/sys/||') +TEMP_DEV=$(readlink -f "/sys/class/hwmon/$TEMP_HWMON/device" | sed 's|/sys/||') + +cat > /etc/fancontrol << EOF +INTERVAL=10 +DEVPATH=${TEMP_HWMON}=${TEMP_DEV} ${FAN_HWMON}=${FAN_DEV} +DEVNAME=${TEMP_HWMON}=cluster_thermal ${FAN_HWMON}=emc2305 +FCTEMPS=${FAN_HWMON}/pwm1=${TEMP_HWMON}/temp1_input +FCFANS=${FAN_HWMON}/pwm1=${FAN_HWMON}/fan1_input +MINTEMP=${FAN_HWMON}/pwm1=40 +MAXTEMP=${FAN_HWMON}/pwm1=80 +MINSTART=${FAN_HWMON}/pwm1=51 +MINSTOP=${FAN_HWMON}/pwm1=34 +EOF diff --git a/packages/bsp/ls1046a/generate-fancontrol-conf.service b/packages/bsp/ls1046a/generate-fancontrol-conf.service new file mode 100644 index 000000000000..2f83a7e95212 --- /dev/null +++ b/packages/bsp/ls1046a/generate-fancontrol-conf.service @@ -0,0 +1,13 @@ +[Unit] +Description=Generate fancontrol configuration for Mono Gateway DK +Before=fancontrol.service +DefaultDependencies=no +After=sys-subsystem-hwmon-devices-hwmon0.device + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/generate-fancontrol-conf +RemainAfterExit=yes + +[Install] +WantedBy=fancontrol.service diff --git a/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch b/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch new file mode 100644 index 000000000000..8406143931b8 --- /dev/null +++ b/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch @@ -0,0 +1,128 @@ +From: Tomaz Zaman +Date: Tue, 21 Oct 2025 12:00:00 +0000 +Subject: [PATCH] hwmon: ina2xx: Add INA234 support as INA226 variant + +Add support for the Texas Instruments INA234 power monitor. + +The INA234 is a 12-bit device with similar register layout to INA226. +The key difference is the bus voltage LSB: INA234 uses 3.125mV which +becomes 1.6mV effective LSB due to the 12-bit format (data in bits +[15:4] with bits [3:0] reserved). + +Datasheet: https://www.ti.com/product/ina234 + +Upstream-Status: Submitted [accepted, pending release] +Signed-off-by: Tomaz Zaman +--- + drivers/hwmon/ina2xx.c | 27 ++++++++++++++++++++------- + 1 file changed, 20 insertions(+), 7 deletions(-) + +diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c +index xxxxxxxx..xxxxxxxx 100644 +--- a/drivers/hwmon/ina2xx.c ++++ b/drivers/hwmon/ina2xx.c +@@ -125,7 +125,7 @@ + .writeable_reg = ina2xx_writeable_reg, + }; + +-enum ina2xx_ids { ina219, ina226 }; ++enum ina2xx_ids { ina219, ina226, ina234 }; + + struct ina2xx_config { + u16 config_default; +@@ -164,6 +164,14 @@ + .bus_voltage_lsb = 1250, + .power_lsb_factor = 25, + }, ++ [ina234] = { ++ .config_default = INA226_CONFIG_DEFAULT, ++ .calibration_value = 2048, ++ .shunt_div = 400, ++ .bus_voltage_shift = 4, ++ .bus_voltage_lsb = 25600, ++ .power_lsb_factor = 32, ++ }, + }; + + /* +@@ -633,12 +641,12 @@ + return 0444; + case hwmon_in_lcrit: + case hwmon_in_crit: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0644; + break; + case hwmon_in_lcrit_alarm: + case hwmon_in_crit_alarm: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0444; + break; + default: +@@ -651,12 +659,12 @@ + return 0444; + case hwmon_curr_lcrit: + case hwmon_curr_crit: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0644; + break; + case hwmon_curr_lcrit_alarm: + case hwmon_curr_crit_alarm: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0444; + break; + default: +@@ -668,11 +676,11 @@ + case hwmon_power_input: + return 0444; + case hwmon_power_crit: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0644; + break; + case hwmon_power_crit_alarm: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0444; + break; + default: +@@ -682,7 +690,7 @@ + case hwmon_chip: + switch (attr) { + case hwmon_chip_update_interval: +- if (chip == ina226) ++ if (chip == ina226 || chip == ina234) + return 0644; + break; + default: +@@ -802,7 +810,7 @@ + if (ret < 0) + return ret; + +- if (data->chip == ina226) { ++ if (data->chip == ina226 || data->chip == ina234) { + bool active_high = device_property_read_bool(dev, "ti,alert-polarity-active-high"); + + regmap_update_bits(regmap, INA226_MASK_ENABLE, +@@ -872,6 +880,7 @@ + { "ina226", ina226 }, + { "ina230", ina226 }, + { "ina231", ina226 }, ++ { "ina234", ina234 }, + { } + }; + MODULE_DEVICE_TABLE(i2c, ina2xx_id); +@@ -897,6 +906,10 @@ + .compatible = "ti,ina231", + .data = (void *)ina226 + }, ++ { ++ .compatible = "ti,ina234", ++ .data = (void *)ina234 ++ }, + { }, + }; + MODULE_DEVICE_TABLE(of, ina2xx_of_match); diff --git a/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch b/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch new file mode 100644 index 000000000000..858bc1d26f71 --- /dev/null +++ b/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch @@ -0,0 +1,1040 @@ +diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile +--- a/arch/arm64/boot/dts/freescale/Makefile ++++ b/arch/arm64/boot/dts/freescale/Makefile +@@ -2,6 +2,7 @@ + + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-2g5rdb.dtb ++dtb-$(CONFIG_ARCH_LAYERSCAPE) += mono-gateway-dk.dtb + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb + +diff --git a/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts b/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts +new file mode 100644 +--- /dev/null ++++ b/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts +@@ -0,0 +1,1024 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Device Tree file for Freescale Layerscape-1046A family SoC. ++ * ++ * Copyright 2025 Mono Technologies Inc. ++ * ++ * Author: Tomaz Zaman ++ */ ++ ++/dts-v1/; ++ ++#include ++#include ++#include ++#include "fsl-ls1046a.dtsi" ++#include "qoriq-qman-portals-sdk.dtsi" ++#include "qoriq-bman-portals-sdk.dtsi" ++ ++/ { ++ model = "Mono Gateway Development Kit"; ++ compatible = "mono,gateway-dk", "fsl,ls1046a"; ++ ++ aliases { ++ serial0 = &duart0; ++ serial1 = &duart1; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ /* SFP+ Port 0 LEDs - Activity/Link */ ++ led_sfp0_link: sfp0_link { ++ label = "sfp0:link"; ++ gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ led_sfp0_activity: sfp0_activity { ++ label = "sfp0:activity"; ++ gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ /* SFP+ Port 1 LEDs - Activity/Link */ ++ led_sfp1_link: sfp1_link { ++ label = "sfp1:link"; ++ gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ led_sfp1_activity: sfp1_activity { ++ label = "sfp1:activity"; ++ gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ }; ++ ++ /* SFP 1 */ ++ sfp_xfi0: sfp-xfi0 { ++ compatible = "sff,sfp"; ++ i2c-bus = <&sfp0_i2c>; ++ tx-disable-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; ++ mod-def0-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; ++ los-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>; ++ maximum-power-milliwatt = <3000>; ++ leds = <&led_sfp0_link>, <&led_sfp0_activity>; ++ }; ++ ++ /* SFP 2 */ ++ sfp_xfi1: sfp-xfi1 { ++ compatible = "sff,sfp"; ++ i2c-bus = <&sfp1_i2c>; ++ tx-disable-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; ++ mod-def0-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; ++ los-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; ++ maximum-power-milliwatt = <3000>; ++ leds = <&led_sfp1_link>, <&led_sfp1_activity>; ++ }; ++ ++ /* SFP LED Controller */ ++ sfp_led_controller: sfp-led-controller { ++ compatible = "mono,sfp-led"; ++ sfp-ports = <&sfp_xfi0>, <&sfp_xfi1>; ++ }; ++ ++ /* Boot memory regions for SDK DPAA driver */ ++ bootmem0@a0000000 { ++ reg = <0x00 0xa0000000 0x00 0x4000000 0x00 0xa4000000 0x00 0x6000000>; ++ }; ++ ++ bootmem1@aa000000 { ++ reg = <0x00 0xaa000000 0x00 0x4000000 0x00 0xae000000 0x00 0x6000000>; ++ }; ++ ++ cpus { ++ fman0-extended-args { ++ cell-index = <0x00>; ++ compatible = "fsl,fman-extended-args"; ++ total-fifo-size = <0x3e500>; ++ ++ /* Offline ports for CDX - cell-index overridden for SDK compatibility: ++ * fman0_oh_0x3 (port@83000) = cell-index 1 (SDK style) ++ * fman0_oh_0x4 (port@84000) = cell-index 2 (SDK style) ++ */ ++ fman0_oh_0x3-extended-args { ++ cell-index = <0x01>; /* matches port@83000 SDK cell-index */ ++ compatible = "fsl,fman-port-op-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ fman0_oh_0x4-extended-args { ++ cell-index = <0x02>; /* matches port@84000 SDK cell-index */ ++ compatible = "fsl,fman-port-op-extended-args"; ++ fifo-size = <0x900 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* All 1G ports need extended-args (SDK driver requirement) */ ++ ++ /* MAC1 (ethernet@e0000) - cell-index 0 - disabled but needed */ ++ fman0_rx0-extended-args { ++ cell-index = <0x00>; ++ compatible = "fsl,fman-port-1g-rx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx0-extended-args { ++ cell-index = <0x00>; ++ compatible = "fsl,fman-port-1g-tx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC2 (ethernet@e2000) - cell-index 1 */ ++ fman0_rx1-extended-args { ++ cell-index = <0x01>; ++ compatible = "fsl,fman-port-1g-rx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx1-extended-args { ++ cell-index = <0x01>; ++ compatible = "fsl,fman-port-1g-tx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC3 (ethernet@e4000) - cell-index 2 - disabled but needed */ ++ fman0_rx2-extended-args { ++ cell-index = <0x02>; ++ compatible = "fsl,fman-port-1g-rx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx2-extended-args { ++ cell-index = <0x02>; ++ compatible = "fsl,fman-port-1g-tx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC4 (ethernet@e6000) - cell-index 3 - disabled but needed */ ++ fman0_rx3-extended-args { ++ cell-index = <0x03>; ++ compatible = "fsl,fman-port-1g-rx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx3-extended-args { ++ cell-index = <0x03>; ++ compatible = "fsl,fman-port-1g-tx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC5 (ethernet@e8000) - cell-index 4 */ ++ fman0_rx4-extended-args { ++ cell-index = <0x04>; ++ compatible = "fsl,fman-port-1g-rx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx4-extended-args { ++ cell-index = <0x04>; ++ compatible = "fsl,fman-port-1g-tx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC6 (ethernet@ea000) - cell-index 5 */ ++ fman0_rx5-extended-args { ++ cell-index = <0x05>; ++ compatible = "fsl,fman-port-1g-rx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx5-extended-args { ++ cell-index = <0x05>; ++ compatible = "fsl,fman-port-1g-tx-extended-args"; ++ fifo-size = <0x3200 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC9 (ethernet@f0000) - 10G cell-index 0 */ ++ fman0_rx6-extended-args { ++ cell-index = <0x00>; ++ compatible = "fsl,fman-port-10g-rx-extended-args"; ++ fifo-size = <0x6000 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx6-extended-args { ++ cell-index = <0x00>; ++ compatible = "fsl,fman-port-10g-tx-extended-args"; ++ fifo-size = <0x4000 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ ++ /* MAC10 (ethernet@f2000) - 10G cell-index 1 */ ++ fman0_rx7-extended-args { ++ cell-index = <0x01>; ++ compatible = "fsl,fman-port-10g-rx-extended-args"; ++ fifo-size = <0x6000 0x00>; ++ buffer-layout = <0x60 0x40>; ++ vsp-window = <0x02 0x00>; ++ }; ++ ++ fman0_tx7-extended-args { ++ cell-index = <0x01>; ++ compatible = "fsl,fman-port-10g-tx-extended-args"; ++ fifo-size = <0x4000 0x00>; ++ buffer-layout = <0x60 0x40>; ++ }; ++ }; ++ }; ++}; ++ ++&pcie3 { ++ status = "okay"; ++}; ++ ++&gpio2 { ++ 2R-enable { ++ gpio-hog; ++ gpios = <6 GPIO_ACTIVE_LOW>; ++ output-high; ++ line-name = "2r-enable"; ++ }; ++ ++ 3R-enable { ++ gpio-hog; ++ gpios = <2 GPIO_ACTIVE_LOW>; ++ output-low; ++ line-name = "3r-enable"; ++ }; ++ ++ uart-mux { ++ gpio-hog; ++ gpios = <26 GPIO_ACTIVE_HIGH>; ++ output-high; /* "output-high" for 2R, "output-low" for 3R */ ++ line-name = "uart-mux"; ++ }; ++}; ++ ++&duart0 { ++ status = "okay"; ++}; ++ ++&duart1 { ++ status = "okay"; ++ uart-has-rtscts; ++}; ++ ++&usb0 { ++ status = "okay"; ++ dr_mode = "host"; ++}; ++ ++&usb1 { ++ status = "disabled"; ++ disable-over-current; ++}; ++ ++&usb2 { ++ status = "disabled"; ++ disable-over-current; ++}; ++ ++&dspi { ++ status = "okay"; ++}; ++ ++&esdhc { ++ status = "okay"; ++ mmc-hs200-1_8v; ++ bus-width = <4>; ++}; ++ ++&i2c0 { ++ status = "okay"; ++ ++ /* Thermal sensors, retimer, clock genenerator, PWM fan */ ++ i2c-mux@70 { ++ compatible = "nxp,pca9545"; ++ reg = <0x70>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ i2c@0 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0>; ++ ++ retimer: retimer@18 { ++ compatible = "ti,ds100df410"; ++ reg = <0x18>; ++ status = "okay"; ++ }; ++ }; ++ ++ i2c@1 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <1>; ++ ++ temp-sensor@4c { ++ compatible = "ti,tmp431"; ++ reg = <0x4c>; ++ }; ++ }; ++ ++ i2c@2 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <2>; ++ ++ temp-sensor@4c { ++ compatible = "ti,tmp431"; ++ reg = <0x4c>; ++ }; ++ }; ++ ++ i2c@3 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <3>; ++ ++ fan_controller: fan-controller@2e { ++ compatible = "microchip,emc2305"; ++ reg = <0x2e>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ #pwm-cells = <3>; ++ ++ fan0: fan@0 { ++ reg = <0>; ++ label = "System Fan 1"; ++ pwms = <&fan_controller 26000 1 1>; ++ #cooling-cells = <2>; ++ }; ++ ++ fan1: fan@1 { ++ reg = <1>; ++ label = "System Fan 2"; ++ pwms = <&fan_controller 26000 1 1>; ++ #cooling-cells = <2>; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2c1 { ++ status = "okay"; ++ ++ /* SFP+ modules */ ++ sfpmux: i2c-mux@70 { ++ compatible = "nxp,pca9545"; ++ reg = <0x70>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ sfp0_i2c: i2c@0 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0>; ++ }; ++ ++ sfp1_i2c: i2c@1 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <1>; ++ }; ++ }; ++}; ++ ++&i2c2 { ++ status = "okay"; ++ ++ i2c-mux@70 { ++ compatible = "nxp,pca9545"; ++ reg = <0x70>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ i2c@0 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0>; ++ ++ power_sensor@40 { ++ compatible = "ti,ina234"; ++ reg = <0x40>; ++ label = "USB Power Delivery"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <1000>; ++ }; ++ power_sensor@41 { ++ compatible = "ti,ina234"; ++ reg = <0x41>; ++ label = "5V PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <1000>; ++ }; ++ power_sensor@42 { ++ compatible = "ti,ina234"; ++ reg = <0x42>; ++ label = "1V Core PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <1000>; ++ }; ++ power_sensor@43 { ++ compatible = "ti,ina234"; ++ reg = <0x43>; ++ label = "1.2V DDR PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <5000>; ++ }; ++ }; ++ ++ i2c@1 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <1>; ++ ++ power_sensor@40 { ++ compatible = "ti,ina234"; ++ reg = <0x40>; ++ label = "1.35V SerDes PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <5000>; ++ }; ++ power_sensor@41 { ++ compatible = "ti,ina234"; ++ reg = <0x41>; ++ label = "1.8V PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <5000>; ++ }; ++ power_sensor@42 { ++ compatible = "ti,ina234"; ++ reg = <0x42>; ++ label = "2.5V DDR PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <5000>; ++ }; ++ power_sensor@43 { ++ compatible = "ti,ina234"; ++ reg = <0x43>; ++ label = "3.3V PSU"; ++ #io-channel-cells = <1>; ++ shunt-resistor = <1000>; ++ }; ++ }; ++ ++ i2c@2 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <2>; ++ ++ rtc@53 { ++ compatible = "nxp,pcf2131"; ++ reg = <0x53>; ++ status = "okay"; ++ }; ++ ++ typec: hd3ss3220@47 { ++ compatible = "ti,hd3ss3220"; ++ reg = <0x47>; ++ }; ++ }; ++ ++ i2c@3 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <3>; ++ ++ lp5810@6c { ++ compatible = "ti,lp5812"; ++ reg = <0x6c>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ led@0 { ++ reg = <0>; ++ color = ; ++ label = "status:white"; ++ led-max-microamp = <25500>; ++ }; ++ ++ led@1 { ++ reg = <1>; ++ color = ; ++ label = "status:blue"; ++ led-max-microamp = <25500>; ++ }; ++ ++ led@2 { ++ reg = <2>; ++ color = ; ++ label = "status:green"; ++ led-max-microamp = <25500>; ++ }; ++ ++ led@3 { ++ reg = <3>; ++ color = ; ++ label = "status:red"; ++ led-max-microamp = <25500>; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2c3 { ++ status = "okay"; ++}; ++ ++&qspi { ++ status = "okay"; ++ ++ mt25qu512a0: flash@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "jedec,spi-nor"; ++ spi-max-frequency = <50000000>; ++ reg = <0>; ++ ++ partitions { ++ compatible = "fixed-partitions"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ partition@flash { ++ label = "flash"; ++ reg = <0x0 0x4000000>; ++ }; ++ ++ partition@0 { ++ label = "rcw-bl2"; ++ reg = <0x0 0x100000>; ++ }; ++ ++ partition@100000 { ++ label = "uboot"; ++ reg = <0x100000 0x200000>; ++ }; ++ ++ partition@300000 { ++ label = "uboot-env"; ++ reg = <0x300000 0x100000>; ++ }; ++ ++ partition@400000 { ++ label = "fman-ucode"; ++ reg = <0x400000 0x100000>; ++ }; ++ ++ partition@500000 { ++ label = "recovery-dtb"; ++ reg = <0x500000 0x100000>; ++ }; ++ ++ partition@600000 { ++ label = "backup"; ++ reg = <0x600000 0x400000>; ++ }; ++ ++ partition@a00000 { ++ label = "kernel-initramfs"; ++ reg = <0xa00000 0x1600000>; ++ }; ++ ++ partition@2000000 { ++ label = "unallocated"; ++ reg = <0x2000000 0x2000000>; ++ }; ++ }; ++ }; ++}; ++ ++#include "fsl-ls1046-post.dtsi" ++ ++&bman_fbpr { ++ compatible = "fsl,bman-fbpr"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++&qman_fqd { ++ compatible = "fsl,qman-fqd"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++&qman_pfdr { ++ compatible = "fsl,qman-pfdr"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++ ++&soc { ++ /delete-property/ dma-coherent; ++ ++ #include "qoriq-dpaa-eth.dtsi" ++ /* Note: We override cell-index values in &fman0 section to match ++ * SDK driver expectations (0-5 instead of mainline 2-7). ++ * Port@82000 with cell-index=0 becomes the HC port for PCD. ++ */ ++ ++ pcie@3400000 { ++ /delete-property/ iommu-map; ++ }; ++ ++ pcie@3500000 { ++ /delete-property/ iommu-map; ++ }; ++ ++ pcie@3600000 { ++ /delete-property/ iommu-map; ++ }; ++ ++ /delete-node/ iommu@9000000; ++}; ++ ++&fsldpaa { ++ ethernet@0 { ++ status = "disabled"; /* MAC1 - not on Mono Gateway DK */ ++ }; ++ ethernet@2 { ++ status = "disabled"; /* MAC3 - not on Mono Gateway DK */ ++ }; ++ ethernet@3 { ++ status = "disabled"; /* MAC4 - not on Mono Gateway DK */ ++ }; ++ ++ /* Enabled from qoriq-dpaa-eth.dtsi: ++ * ethernet@1 = enet1 = MAC2 ++ * ethernet@4 = enet4 = MAC5 ++ * ethernet@5 = enet5 = MAC6 ++ * ethernet@8 = enet6 = MAC9 (10G) ++ */ ++ ++ /* Add MAC10 - not in qoriq-dpaa-eth.dtsi */ ++ ethernet@9 { ++ compatible = "fsl,dpa-ethernet"; ++ fsl,fman-mac = <&enet7>; ++ dma-coherent; ++ }; ++}; ++ ++&fman0 { ++ compatible = "fsl,fman", "simple-bus"; ++ ++ /* Core FMan sub-modules */ ++ muram@0 { ++ compatible = "fsl,fman-muram"; ++ reg = <0x0 0x60000>; ++ }; ++ ++ bmi@80000 { ++ compatible = "fsl,fman-bmi"; ++ reg = <0x80000 0x400>; ++ }; ++ ++ qmi@80400 { ++ compatible = "fsl,fman-qmi"; ++ reg = <0x80400 0x400>; ++ }; ++ ++ /* PCD sub-modules required for FMC/CDX */ ++ cc { ++ compatible = "fsl,fman-cc"; ++ }; ++ ++ policer@c0000 { ++ compatible = "fsl,fman-policer"; ++ reg = <0xc0000 0x1000>; ++ }; ++ ++ keygen@c1000 { ++ compatible = "fsl,fman-keygen"; ++ reg = <0xc1000 0x1000>; ++ }; ++ ++ dma@c2000 { ++ compatible = "fsl,fman-dma"; ++ reg = <0xc2000 0x1000>; ++ }; ++ ++ fpm@c3000 { ++ compatible = "fsl,fman-fpm"; ++ reg = <0xc3000 0x1000>; ++ }; ++ ++ parser@c7000 { ++ compatible = "fsl,fman-parser"; ++ reg = <0xc7000 0x1000>; ++ }; ++ ++ vsps@dc000 { ++ compatible = "fsl,fman-vsps"; ++ reg = <0xdc000 0x1000>; ++ }; ++ ++ ethernet@e0000 { ++ status = "disabled"; ++ }; ++ ++ ethernet@e4000 { ++ status = "disabled"; ++ }; ++ ++ ethernet@e6000 { ++ status = "disabled"; ++ }; ++ ++ ethernet@e8000 { ++ phy-handle = <&sgmii_phy0>; ++ phy-connection-type = "sgmii"; ++ status = "okay"; ++ }; ++ ++ ethernet@ea000 { ++ phy-handle = <&sgmii_phy1>; ++ phy-connection-type = "sgmii"; ++ status = "okay"; ++ }; ++ ++ ethernet@e2000 { ++ phy-handle = <&sgmii_phy2>; ++ phy-connection-type = "sgmii"; ++ status = "okay"; ++ }; ++ ++ fm1_mac9: ethernet@f0000 { /* 10GEC1 */ ++ /delete-property/ managed; ++ sfp = <&sfp_xfi0>; ++ fixed-link = <0 1 10000 0 0>; ++ phy-connection-type = "xgmii"; ++ pcs-handle-names = "xfi"; /* Match enet7 for consistency */ ++ }; ++ ++ fm1_mac10: ethernet@f2000 { /* 10GEC2 */ ++ /delete-property/ managed; ++ sfp = <&sfp_xfi1>; ++ fixed-link = <0 1 10000 0 0>; ++ phy-connection-type = "xgmii"; ++ }; ++ ++ mdio@fc000 { ++ status = "disabled"; ++ }; ++ ++ mdio@fd000 { ++ sgmii_phy0: ethernet-phy@0 { ++ reg = <0x0>; ++ }; ++ ++ sgmii_phy1: ethernet-phy@1 { ++ reg = <0x1>; ++ }; ++ ++ sgmii_phy2: ethernet-phy@2 { ++ reg = <0x2>; ++ }; ++ }; ++ ++ /* DPA Offline port bindings - required for CDX. ++ * Use phandles fman0_oh_0x3 (port@83000) and fman0_oh_0x4 (port@84000). ++ * Cell-index overridden to SDK-style (1 and 2) in port nodes above. ++ */ ++ dpa-fman0-oh@2 { ++ compatible = "fsl,dpa-oh"; ++ fsl,qman-frame-queues-oh = <0x60 0x01 0x61 0x01>; ++ fsl,fman-oh-port = <&fman0_oh_0x3>; ++ }; ++ ++ dpa-fman0-oh@3 { ++ compatible = "fsl,dpa-oh"; ++ fsl,qman-frame-queues-oh = <0x62 0x01 0x63 0x01>; ++ fsl,fman-oh-port = <&fman0_oh_0x4>; ++ }; ++ ++ /* Override OH port cell-index values for SDK driver compatibility. ++ * SDK driver expects cell-index 0 for HC (Host Command/PCD) port. ++ * Mainline qoriq-fman3-0.dtsi uses cell-index 2-7, but SDK needs 0-5. ++ */ ++ port@82000 { ++ cell-index = <0>; /* HC port - required for PCD initialization */ ++ compatible = "fsl,fman-port-oh"; ++ }; ++ ++ port@83000 { ++ cell-index = <1>; ++ compatible = "fsl,fman-port-oh"; ++ }; ++ ++ port@84000 { ++ cell-index = <2>; ++ compatible = "fsl,fman-port-oh"; ++ }; ++ ++ port@85000 { ++ cell-index = <3>; ++ compatible = "fsl,fman-port-oh"; ++ }; ++ ++ port@86000 { ++ cell-index = <4>; ++ compatible = "fsl,fman-port-oh"; ++ }; ++ ++ port@87000 { ++ cell-index = <5>; ++ compatible = "fsl,fman-port-oh"; ++ }; ++}; ++ ++&clockgen { ++ dma-coherent; ++}; ++ ++&scfg { ++ dma-coherent; ++}; ++ ++&crypto { ++ dma-coherent; ++}; ++ ++&dcfg { ++ dma-coherent; ++}; ++ ++&ifc { ++ dma-coherent; ++}; ++ ++&qspi { ++ dma-coherent; ++}; ++ ++&esdhc { ++ dma-coherent; ++}; ++ ++&ddr { ++ dma-coherent; ++}; ++ ++&tmu { ++ dma-coherent; ++}; ++ ++&qman { ++ dma-coherent; ++}; ++ ++&bman { ++ dma-coherent; ++}; ++ ++&bportals { ++ dma-coherent; ++}; ++ ++&qportals { ++ dma-coherent; ++}; ++ ++&dspi { ++ dma-coherent; ++}; ++ ++&i2c0 { ++ dma-coherent; ++}; ++ ++&i2c1 { ++ dma-coherent; ++}; ++ ++&i2c2 { ++ dma-coherent; ++}; ++ ++&i2c3 { ++ dma-coherent; ++}; ++ ++&duart0 { ++ dma-coherent; ++}; ++ ++&duart1 { ++ dma-coherent; ++}; ++ ++&duart2 { ++ dma-coherent; ++}; ++ ++&duart3 { ++ dma-coherent; ++}; ++ ++&gpio0 { ++ dma-coherent; ++}; ++ ++&gpio1 { ++ dma-coherent; ++}; ++ ++&gpio2 { ++ dma-coherent; ++}; ++ ++&gpio3 { ++ dma-coherent; ++}; ++ ++&lpuart0 { ++ dma-coherent; ++}; ++ ++&lpuart1 { ++ dma-coherent; ++}; ++ ++&lpuart2 { ++ dma-coherent; ++}; ++ ++&lpuart3 { ++ dma-coherent; ++}; ++ ++&lpuart4 { ++ dma-coherent; ++}; ++ ++&lpuart5 { ++ dma-coherent; ++}; ++ ++&ftm_alarm0 { ++ dma-coherent; ++}; ++ ++&wdog0 { ++ dma-coherent; ++}; ++ ++&edma0 { ++ dma-coherent; ++}; ++ ++&sata { ++ dma-coherent; ++}; ++ ++&qdma { ++ dma-coherent; ++}; ++ ++&msi1 { ++ dma-coherent; ++}; ++ ++&msi2 { ++ dma-coherent; ++}; ++ ++&msi3 { ++ dma-coherent; ++}; ++ ++&fman0 { ++ dma-coherent; ++}; ++ ++&ptp_timer0 { ++ dma-coherent; ++}; ++ ++&fsldpaa { ++ dma-coherent; ++}; From 53bdf8a399e5b59c826cb6d8ba0414468e87f6db Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 31 Mar 2026 16:53:51 +0200 Subject: [PATCH 02/14] Board: Add Mono Gateway Development Kit (NXP LS1046A) Add support for the Mono Gateway Development Kit, a networking gateway based on the NXP LS1046A SoC (quad Cortex-A72) with 3x 1GbE SGMII, 2x 10GbE SFP+, eMMC, QSPI NOR, and extensive I2C peripherals. New family: ls1046a - NXP QorIQ kernel (lf-6.12.y) with DPAA/FMAN networking - Custom boot chain: RCW + ATF + U-Boot (Mono forks, commit-pinned) - FMAN microcode at 4MB eMMC offset for network initialization - Extlinux boot via U-Boot distroboot - Fan control (EMC2305 + cluster_thermal) with dynamic hwmon discovery New extension: gateway-dk-ask - NXP ASK (Application Solutions Kit) hardware offloading - Kernel modules: CDX, FCI, auto-bridge (cross-compiled from ASK repo) - Board-specific modules: SFP-LED, TI LP5812 LED matrix controller - Userspace: fmlib, fmc, libfci, libcli, dpa-app, cmm - Patched system libraries: libnetfilter-conntrack, libnfnetlink, iptables (QOSMARK), iproute2 (EtherIP/4RD) - CMM daemon with systemd service (guarded by /dev/cdx_ctrl) - All ASK sources and patches fetched from we-are-mono/ASK repo Kernel patches: - INA234 power sensor driver (accepted upstream, pending release) - Mono Gateway DK device tree Signed-off-by: Tomaz Zaman --- config/boards/gateway-dk.conf | 20 + config/sources/families/ls1046a.conf | 8 +- extensions/gateway-dk-ask.sh | 389 ++++++++++ .../bsp/gateway-dk/gateway-dk-leds.service | 12 + packages/bsp/gateway-dk/gateway-dk-leds.sh | 4 + .../bsp/gateway-dk/generate-fancontrol-conf | 39 + .../generate-fancontrol-conf.service | 13 + packages/bsp/gateway-dk/leds-lp5812.c | 730 ++++++++++++++++++ packages/bsp/gateway-dk/leds-lp5812.h | 197 +++++ packages/bsp/gateway-dk/leds-lp5812.mk | 12 + packages/bsp/gateway-dk/sfp-led.c | 665 ++++++++++++++++ packages/bsp/gateway-dk/sfp-led.mk | 12 + 12 files changed, 2096 insertions(+), 5 deletions(-) create mode 100644 extensions/gateway-dk-ask.sh create mode 100644 packages/bsp/gateway-dk/gateway-dk-leds.service create mode 100644 packages/bsp/gateway-dk/gateway-dk-leds.sh create mode 100644 packages/bsp/gateway-dk/generate-fancontrol-conf create mode 100644 packages/bsp/gateway-dk/generate-fancontrol-conf.service create mode 100644 packages/bsp/gateway-dk/leds-lp5812.c create mode 100644 packages/bsp/gateway-dk/leds-lp5812.h create mode 100644 packages/bsp/gateway-dk/leds-lp5812.mk create mode 100644 packages/bsp/gateway-dk/sfp-led.c create mode 100644 packages/bsp/gateway-dk/sfp-led.mk diff --git a/config/boards/gateway-dk.conf b/config/boards/gateway-dk.conf index 73b02b7288ff..342f6965b32f 100644 --- a/config/boards/gateway-dk.conf +++ b/config/boards/gateway-dk.conf @@ -8,3 +8,23 @@ KERNEL_TARGET="current" SERIALCON="ttyS0" BOOT_FDT_FILE="freescale/mono-gateway-dk.dtb" BOOTENV_FILE="ls1046a.txt" + +enable_extension "gateway-dk-ask" + +# Board-specific kernel modules auto-load +function post_family_tweaks_bsp__gateway_dk_board() { + # Board-specific kernel modules auto-load + mkdir -p "${destination}/etc/modules-load.d" + echo "sfp-led" > "${destination}/etc/modules-load.d/sfp-led.conf" + echo "leds-lp5812" > "${destination}/etc/modules-load.d/leds-lp5812.conf" + + # Boot LED indicator (green off, white on = Linux booted) + install -Dm 755 "${SRC}/packages/bsp/gateway-dk/gateway-dk-leds.sh" \ + "${destination}/usr/local/bin/gateway-dk-leds.sh" + install -Dm 644 "${SRC}/packages/bsp/gateway-dk/gateway-dk-leds.service" \ + "${destination}/etc/systemd/system/gateway-dk-leds.service" +} + +function post_family_tweaks__gateway_dk_services() { + chroot_sdcard "systemctl enable gateway-dk-leds.service" +} diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf index a5dabd9415e1..dd6e35aeda3d 100644 --- a/config/sources/families/ls1046a.conf +++ b/config/sources/families/ls1046a.conf @@ -10,8 +10,6 @@ # Quad Cortex-A72 arm64, DPAA1 with FMAN # -enable_extension "ls1046a-ask" - declare -g ARCH="arm64" declare -g KERNEL_IMAGE_TYPE="Image" declare -g SERIALCON="ttyS0" @@ -170,7 +168,7 @@ function family_tweaks() { # Fan control — install package and enable services display_alert "Installing fancontrol" "emc2305 + cluster_thermal" "info" - chroot_sdcard_apt_get_install fancontrol + chroot_sdcard_apt_get_install fancontrol lm-sensors vim chroot_sdcard "systemctl enable generate-fancontrol-conf.service" chroot_sdcard "systemctl enable fancontrol.service" } @@ -179,8 +177,8 @@ function family_tweaks_bsp() { : "${destination:?destination is not set}" # Fan control — EMC2305 driven by cluster_thermal CPU temperature - install -Dm 755 "${SRC}/packages/bsp/ls1046a/generate-fancontrol-conf" \ + install -Dm 755 "${SRC}/packages/bsp/gateway-dk/generate-fancontrol-conf" \ "${destination}/usr/local/bin/generate-fancontrol-conf" - install -Dm 644 "${SRC}/packages/bsp/ls1046a/generate-fancontrol-conf.service" \ + install -Dm 644 "${SRC}/packages/bsp/gateway-dk/generate-fancontrol-conf.service" \ "${destination}/etc/systemd/system/generate-fancontrol-conf.service" } diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh new file mode 100644 index 000000000000..7ceb66d24718 --- /dev/null +++ b/extensions/gateway-dk-ask.sh @@ -0,0 +1,389 @@ +#!/usr/bin/env bash +# +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (c) 2026 Mono Technologies Inc. +# +# NXP ASK (Application Solutions Kit) extension for LS1046A +# Builds and installs: kernel modules (CDX, FCI, auto-bridge), +# userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm), +# patched system libraries, and configuration files. +# +# All ASK sources, patches, and configs come from the ASK repo. +# + +# Source repos and refs (pinned to match Yocto) +# For local testing: set ASK_REPO="file:///path/to/ASK" — the Docker mount hook below handles it +declare -g ASK_REPO="https://github.com/we-are-mono/ASK.git" +declare -g ASK_BRANCH="branch:master" +declare -g FMLIB_REPO="https://github.com/nxp-qoriq/fmlib.git" +declare -g FMLIB_COMMIT="7a58ecaf0d90d71d6b78d3ac7998282a472c4394" +declare -g FMC_REPO="https://github.com/nxp-qoriq/fmc.git" +declare -g FMC_COMMIT="5b9f4b16a864e9dfa58cdcc860be278a7f66ac18" +declare -g LIBCLI_REPO="https://github.com/dparrish/libcli.git" +declare -g LIBCLI_COMMIT="6a3b2f96c4f0916e2603a96bf24d704f6a904e7a" + +# Target architecture triplet (Debian multiarch) +declare -g ASK_HOST_TRIPLET="aarch64-linux-gnu" + +# ASK component directories +declare -g ASK_CDX_DIR="cdx" +declare -g ASK_FCI_DIR="fci" +declare -g ASK_AUTOBRIDGE_DIR="auto_bridge" +declare -g ASK_DPA_APP_DIR="dpa_app" +declare -g ASK_CMM_DIR="cmm" + +# Mount local ASK repo into Docker container when using file:// URL +function host_pre_docker_launch__mount_local_ask() { + if [[ "${ASK_REPO}" == file://* ]]; then + local local_path="${ASK_REPO#file://}" + DOCKER_EXTRA_ARGS+=("--mount" "type=bind,source=${local_path},target=${local_path},readonly") + display_alert "ASK extension" "mounting local ASK repo into Docker: ${local_path}" "info" + fi +} + +# Helper: ensure ASK repo is cloned and cached +function ask_ensure_cached() { + local ask_cache="${SRC}/cache/sources/ask-repo/checkout" + if [[ ! -d "${ask_cache}/.git" ]]; then + display_alert "ASK extension" "cloning ASK repo" "info" >&2 + rm -rf "${ask_cache}" + # For local file:// repos in Docker, safe.directory is needed (container runs as root) + if [[ "${ASK_REPO}" == file://* ]]; then + local local_path="${ASK_REPO#file://}" + git config --global --add safe.directory "${local_path}" 2>/dev/null + git config --global --add safe.directory "${local_path}/.git" 2>/dev/null + fi + git clone --depth 1 --branch "${ASK_BRANCH##*:}" "${ASK_REPO}" "${ask_cache}" >&2 + fi + echo "${ask_cache}" +} + +# Ensure kernel headers are available for module builds +function extension_finish_config__ask_enable_headers() { + declare -g INSTALL_HEADERS="yes" + display_alert "ASK extension" "enabling kernel headers for module builds" "info" +} + +# Add host build dependencies +function add_host_dependencies__ask_deps() { + display_alert "Adding ASK host dependencies" "${EXTENSION}" "debug" + declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} libxml2-dev libtclap-dev libpcap-dev autoconf automake libtool pkg-config" +} + +# Copy ASK kernel patch to userpatches (gitignored) so it's applied during kernel build +function post_family_config__ask_kernel_patch() { + local ask_dir + ask_dir=$(ask_ensure_cached) + local patch_src="${ask_dir}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" + [[ -f "${patch_src}" ]] || exit_with_error "ASK kernel patch not found" "${patch_src}" + local patch_dst="${SRC}/userpatches/kernel/archive/ls1046a-${KERNEL_MAJOR_MINOR}" + mkdir -p "${patch_dst}" + cp "${patch_src}" "${patch_dst}/003-mono-gateway-ask-kernel_linux_6_12.patch" + display_alert "ASK extension" "ASK kernel patch staged in userpatches" "info" +} + +# Build kernel modules after kernel debs are installed in chroot +function post_install_kernel_debs__build_ask_modules() { + [[ "${INSTALL_HEADERS}" != "yes" ]] && return 0 + + display_alert "ASK extension" "building kernel modules (host cross-compile)" "info" + + local ask_dir + ask_dir=$(ask_ensure_cached) + + local kernel_ver + kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + [[ -z "${kernel_ver}" ]] && exit_with_error "No kernel version found in ${SDCARD}/lib/modules/" + + # Full kernel source tree (needed for CDX — it includes ncsw_config.mk from the FMAN driver) + local ksrc="${SRC}/cache/sources/linux-kernel-worktree/${KERNEL_MAJOR_MINOR}__${LINUXFAMILY}__${ARCH}" + [[ -d "${ksrc}" ]] || exit_with_error "Kernel source tree not found at ${ksrc}" + + local cross="${KERNEL_COMPILER}" + local builddir="/tmp/ask-build-$$" + mkdir -p "${builddir}" + + # Copy ASK module sources to build dir + cp -a "${ask_dir}/${ASK_CDX_DIR}" "${builddir}/cdx" + cp -a "${ask_dir}/${ASK_FCI_DIR}" "${builddir}/fci" + cp -a "${ask_dir}/${ASK_AUTOBRIDGE_DIR}" "${builddir}/auto-bridge" + + # Build CDX module (cross-compile on host against full kernel source) + display_alert "ASK extension" "building CDX kernel module" "info" + make -C "${builddir}/cdx" \ + KERNELDIR="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" PLATFORM=LS1043A \ + CFG_FLAGS="-DSEC_PROFILE_SUPPORT -DVLAN_FILTER -DWIFI_ENABLE -DENABLE_EGRESS_QOS" \ + || exit_with_error "CDX module build failed" + + # Build FCI module (depends on CDX Module.symvers) + display_alert "ASK extension" "building FCI kernel module" "info" + make -C "${builddir}/fci" \ + KERNEL_SOURCE="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" BOARD_ARCH=arm64 \ + KBUILD_EXTRA_SYMBOLS="${builddir}/cdx/Module.symvers" \ + || exit_with_error "FCI module build failed" + + # Build auto-bridge module (uses its own Makefile which adds -I for br_private.h) + display_alert "ASK extension" "building auto-bridge kernel module" "info" + make -C "${builddir}/auto-bridge" \ + KERNEL_SOURCE="${ksrc}" CROSS_COMPILE="${cross}" PLATFORM=LS1043A ENABLE_VLAN_FILTER=y \ + || exit_with_error "auto-bridge module build failed" + + # Board-specific modules (gateway-dk only) + if [[ "${BOARD}" == "gateway-dk" ]]; then + # SFP-LED: GPIO-based SFP port LED control + display_alert "ASK extension" "building SFP-LED kernel module" "info" + mkdir -p "${builddir}/sfp-led" + cp "${SRC}/packages/bsp/gateway-dk/sfp-led.c" "${builddir}/sfp-led/" + cp "${SRC}/packages/bsp/gateway-dk/sfp-led.mk" "${builddir}/sfp-led/Makefile" + make -C "${builddir}/sfp-led" KERNEL_SRC="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" \ + || exit_with_error "SFP-LED module build failed" + + # LP5812: TI 4x3 LED matrix controller (not yet in mainline, targeting 6.19+) + display_alert "ASK extension" "building LP5812 LED driver" "info" + mkdir -p "${builddir}/lp5812" + cp "${SRC}/packages/bsp/gateway-dk/leds-lp5812.c" "${builddir}/lp5812/" + cp "${SRC}/packages/bsp/gateway-dk/leds-lp5812.h" "${builddir}/lp5812/" + cp "${SRC}/packages/bsp/gateway-dk/leds-lp5812.mk" "${builddir}/lp5812/Makefile" + pushd "${builddir}/lp5812" + make KERNEL_SRC="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" \ + || exit_with_error "LP5812 module build failed" + popd + fi + + # Install modules into rootfs + mkdir -p "${SDCARD}/lib/modules/${kernel_ver}/extra" + cp "${builddir}/cdx/cdx.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + cp "${builddir}/fci/fci.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + cp "${builddir}/auto-bridge/auto_bridge.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + [[ -f "${builddir}/sfp-led/sfp-led.ko" ]] && \ + cp "${builddir}/sfp-led/sfp-led.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + [[ -f "${builddir}/lp5812/leds-lp5812.ko" ]] && \ + cp "${builddir}/lp5812/leds-lp5812.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" + + # Update module dependencies + chroot_sdcard "depmod -a ${kernel_ver}" + + # Install module load order config (from ASK repo) + cp "${ask_dir}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" + + # Clean up build dir + rm -rf "${builddir}/cdx" "${builddir}/fci" "${builddir}/auto-bridge" "${builddir}/sfp-led" "${builddir}/lp5812" + + display_alert "ASK extension" "kernel modules built and installed" "info" +} + +# Copy patches into chroot before patched library builds (runs before build_ask_userspace) +function pre_customize_image__000_prepare_ask_patches() { + local ask_dir + ask_dir=$(ask_ensure_cached) + + mkdir -p "${SDCARD}/tmp/ask-patches" + local patch_dirs=("libnetfilter-conntrack" "libnfnetlink" "iptables" "iproute2") + for pdir in "${patch_dirs[@]}"; do + [[ -d "${ask_dir}/patches/${pdir}" ]] || exit_with_error "ASK patch directory missing" "${ask_dir}/patches/${pdir}" + cp "${ask_dir}/patches/${pdir}/"*.patch "${SDCARD}/tmp/ask-patches/" + done + + # Enable deb-src for apt-get source + chroot_sdcard "if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ + sed -i 's/^Types: deb\$/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources; \ + elif [ -f /etc/apt/sources.list ]; then \ + sed -i 's/^#\\s*deb-src/deb-src/' /etc/apt/sources.list; \ + fi && apt-get update -qq" + chroot_sdcard_apt_get_install dpkg-dev devscripts +} + +# Build and install all ASK userspace components +function pre_customize_image__001_build_ask_userspace() { + display_alert "ASK extension" "building userspace components" "info" + + local ask_dir + ask_dir=$(ask_ensure_cached) + local kernel_ver + kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + local kdir="/usr/src/linux-headers-${kernel_ver}" + + # Install build dependencies in chroot + display_alert "ASK extension" "installing build dependencies" "info" + chroot_sdcard_apt_get_install build-essential autoconf automake libtool \ + pkg-config libxml2-dev libpcap-dev libcrypt-dev libtclap-dev + + # Copy sources into chroot + mkdir -p "${SDCARD}/tmp/ask-userspace" + + # --- fmlib --- + display_alert "ASK extension" "building fmlib" "info" + if [[ ! -d "${SRC}/cache/sources/fmlib" ]]; then + run_host_command_logged git clone "${FMLIB_REPO}" "${SRC}/cache/sources/fmlib" + pushd "${SRC}/cache/sources/fmlib" || exit_with_error "Cannot enter fmlib" + run_host_command_logged git checkout "${FMLIB_COMMIT}" + popd + fi + cp -a "${SRC}/cache/sources/fmlib" "${SDCARD}/tmp/ask-userspace/fmlib" + cp "${ask_dir}/patches/fmlib/"*.patch "${SDCARD}/tmp/ask-userspace/" + + chroot_sdcard "cd /tmp/ask-userspace/fmlib && \ + patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ + make KERNEL_SRC=${kdir} libfm-arm.a && \ + make DESTDIR=/ PREFIX=/usr LIB_DEST_DIR=/usr/lib/${ASK_HOST_TRIPLET} install-libfm-arm && \ + rm -rf /usr/src" + + # --- fmc --- + display_alert "ASK extension" "building fmc" "info" + if [[ ! -d "${SRC}/cache/sources/fmc" ]]; then + run_host_command_logged git clone "${FMC_REPO}" "${SRC}/cache/sources/fmc" + pushd "${SRC}/cache/sources/fmc" || exit_with_error "Cannot enter fmc" + run_host_command_logged git checkout "${FMC_COMMIT}" + popd + fi + cp -a "${SRC}/cache/sources/fmc" "${SDCARD}/tmp/ask-userspace/fmc" + cp "${ask_dir}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" + + chroot_sdcard "cd /tmp/ask-userspace/fmc && \ + find source -name '*.cpp' -o -name '*.h' -o -name '*.c' | xargs sed -i 's/\r\$//' && \ + patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ + make MACHINE=ls1043 \ + FMD_USPACE_HEADER_PATH=/usr/include/fmd \ + FMD_USPACE_LIB_PATH=/usr/lib/${ASK_HOST_TRIPLET} \ + LIBXML2_HEADER_PATH=/usr/include/libxml2 \ + TCLAP_HEADER_PATH=/usr/include \ + -C source && \ + install -m 755 source/fmc /usr/bin/ && \ + install -d /usr/include/fmc && \ + install -m 644 source/fmc.h /usr/include/fmc/ && \ + install -m 644 source/libfmc.a /usr/lib/${ASK_HOST_TRIPLET}/ && \ + install -d /etc/fmc/config && \ + install -m 644 etc/fmc/config/* /etc/fmc/config/" + + # --- libcli --- + display_alert "ASK extension" "building libcli" "info" + if [[ ! -d "${SRC}/cache/sources/libcli" ]]; then + run_host_command_logged git clone "${LIBCLI_REPO}" "${SRC}/cache/sources/libcli" + pushd "${SRC}/cache/sources/libcli" || exit_with_error "Cannot enter libcli" + run_host_command_logged git checkout "${LIBCLI_COMMIT}" + popd + fi + cp -a "${SRC}/cache/sources/libcli" "${SDCARD}/tmp/ask-userspace/libcli" + + chroot_sdcard "cd /tmp/ask-userspace/libcli && \ + make CFLAGS='-Wno-calloc-transposed-args' && \ + make PREFIX=/usr DESTDIR=/ install" + + # --- libfci --- + display_alert "ASK extension" "building libfci" "info" + cp -a "${ask_dir}/${ASK_FCI_DIR}/lib" "${SDCARD}/tmp/ask-userspace/libfci" + + chroot_sdcard "cd /tmp/ask-userspace/libfci && \ + touch README && \ + autoreconf -fi && \ + ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ + make && make install && \ + install -m 644 include/libfci.h /usr/include/" + + # --- dpa-app --- + display_alert "ASK extension" "building dpa-app" "info" + cp -a "${ask_dir}/${ASK_DPA_APP_DIR}" "${SDCARD}/tmp/ask-userspace/dpa-app" + # Copy CDX header + mkdir -p "${SDCARD}/usr/include/cdx" + cp "${ask_dir}/${ASK_CDX_DIR}/cdx_ioctl.h" "${SDCARD}/usr/include/cdx/" + + chroot_sdcard "cd /tmp/ask-userspace/dpa-app && \ + make CC=gcc \ + CFLAGS='-DENDIAN_LITTLE -DLS1043 -DNCSW_LINUX -DDPAA_DEBUG_ENABLE -DSEC_PROFILE_SUPPORT -DVLAN_FILTER \ + -I/usr/include/fmc -I/usr/include/fmd -I/usr/include/fmd/integrations \ + -I/usr/include/fmd/Peripherals -I/usr/include/fmd/Peripherals/common -I/usr/include/cdx' \ + LDFLAGS='-lfmc -lfm-arm -lstdc++ -lxml2 -lpthread -lcli' && \ + install -m 755 dpa_app /usr/bin/" + + # Install DPA-App config files (from ASK repo) + cp "${ask_dir}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" + cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_pcd.xml" "${SDCARD}/etc/" + cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" 2>/dev/null || true + + # --- Patched system libraries (must be before CMM which depends on patched libnetfilter-conntrack) --- + build_ask_patched_libraries + + # --- cmm --- + display_alert "ASK extension" "building cmm" "info" + cp -a "${ask_dir}/${ASK_CMM_DIR}" "${SDCARD}/tmp/ask-userspace/cmm" + # Copy auto-bridge header for CMM + cp "${ask_dir}/${ASK_AUTOBRIDGE_DIR}/include/auto_bridge.h" "${SDCARD}/usr/include/" + + chroot_sdcard "cd /tmp/ask-userspace/cmm && \ + make distclean || true && \ + rm -f config.log config.status && \ + autoreconf -fi && \ + CFLAGS='-DLS1043 -DFLOW_STATS -DWIFI_ENABLE -DSEC_PROFILE_SUPPORT -DUSE_QOSCONNMARK \ + -DENABLE_INGRESS_QOS -DIPSEC_NO_FLOW_CACHE -DVLAN_FILTER -DAUTO_BRIDGE' \ + ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ + make && make install" + + # Install and enable CMM service (from ASK repo) + # Guarded by ConditionPathExists=/dev/cdx_ctrl — won't start without ASK FMAN ucode on NOR + cp "${ask_dir}/config/cmm.service" "${SDCARD}/etc/systemd/system/" + mkdir -p "${SDCARD}/etc/config" + cp "${ask_dir}/config/fastforward" "${SDCARD}/etc/config/" + chroot_sdcard "systemctl enable cmm.service" + + # Pin patched packages to prevent apt upgrade from overwriting + display_alert "ASK extension" "pinning patched packages" "info" + chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables iproute2" + + # Install sysctl tuning for conntrack + cat > "${SDCARD}/etc/sysctl.d/99-ls1046a-conntrack.conf" << 'EOF' +net.netfilter.nf_conntrack_acct=1 +net.netfilter.nf_conntrack_checksum=0 +net.netfilter.nf_conntrack_max=131072 +net.netfilter.nf_conntrack_tcp_timeout_established=7440 +net.netfilter.nf_conntrack_udp_timeout=60 +net.netfilter.nf_conntrack_udp_timeout_stream=180 +EOF + + # Cleanup + rm -rf "${SDCARD}/tmp/ask-userspace" "${SDCARD}/tmp/ask-patches" + + display_alert "ASK extension" "all userspace components built and installed" "info" +} + +# Build patched versions of system libraries +function build_ask_patched_libraries() { + # Install all build dependencies upfront + display_alert "ASK extension" "installing build deps for patched libraries" "info" + chroot_sdcard "DEBIAN_FRONTEND=noninteractive apt-get -y build-dep \ + libnetfilter-conntrack libnfnetlink iptables iproute2" + + # Rebuild each patched library in an isolated directory + rebuild_patched_deb "libnetfilter-conntrack" \ + "01-nxp-ask-comcerto-fp-extensions.patch" \ + "libnetfilter-conntrack3_*.deb libnetfilter-conntrack-dev_*.deb" + + rebuild_patched_deb "libnfnetlink" \ + "01-nxp-ask-nonblocking-heap-buffer.patch" \ + "libnfnetlink0_*.deb libnfnetlink-dev_*.deb" + + rebuild_patched_deb "iptables" \ + "001-qosmark-extensions.patch" \ + "libip4tc2_*.deb libip6tc2_*.deb libxtables12_*.deb iptables_*.deb" + + rebuild_patched_deb "iproute2" \ + "01-nxp-ask-etherip-4rd.patch" \ + "iproute2_*.deb" +} + +# Helper: rebuild a Debian package with an ASK patch in an isolated chroot directory +# Usage: rebuild_patched_deb +function rebuild_patched_deb() { + local pkg="$1" patch="$2" debs="$3" + local workdir="/tmp/ask-rebuild-${pkg}" + + display_alert "ASK extension" "rebuilding ${pkg}" "info" + chroot_sdcard "set -e && \ + rm -rf ${workdir} && mkdir -p ${workdir} && cd ${workdir} && \ + apt-get source ${pkg} && \ + cd \$(ls -d ${pkg}-*/ | head -1) && \ + patch -p1 < /tmp/ask-patches/${patch} && \ + DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc -us && \ + cd ${workdir} && dpkg -i ${debs} && \ + rm -rf ${workdir}" +} diff --git a/packages/bsp/gateway-dk/gateway-dk-leds.service b/packages/bsp/gateway-dk/gateway-dk-leds.service new file mode 100644 index 000000000000..50186052bf87 --- /dev/null +++ b/packages/bsp/gateway-dk/gateway-dk-leds.service @@ -0,0 +1,12 @@ +[Unit] +Description=Mono Gateway DK boot LED indicator +After=systemd-modules-load.service +DefaultDependencies=no + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/gateway-dk-leds.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/packages/bsp/gateway-dk/gateway-dk-leds.sh b/packages/bsp/gateway-dk/gateway-dk-leds.sh new file mode 100644 index 000000000000..695b68778ed0 --- /dev/null +++ b/packages/bsp/gateway-dk/gateway-dk-leds.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# Mono Gateway DK — switch from U-Boot green LED to white (Linux booted) +echo 0 > /sys/class/leds/status:green/brightness +echo 32 > /sys/class/leds/status:white/brightness diff --git a/packages/bsp/gateway-dk/generate-fancontrol-conf b/packages/bsp/gateway-dk/generate-fancontrol-conf new file mode 100644 index 000000000000..7f647ae89939 --- /dev/null +++ b/packages/bsp/gateway-dk/generate-fancontrol-conf @@ -0,0 +1,39 @@ +#!/bin/bash +# Generate /etc/fancontrol with correct hwmon numbers for Mono Gateway DK +# EMC2305 fan controller driven by cluster_thermal CPU temperature +# Retries for up to 30s in case hwmon devices aren't ready at boot + +FAN_HWMON="" +TEMP_HWMON="" + +for attempt in $(seq 1 6); do + for h in /sys/class/hwmon/hwmon*; do + name=$(cat "$h/name" 2>/dev/null) + case "$name" in + emc2305) FAN_HWMON=$(basename "$h") ;; + cluster_thermal) TEMP_HWMON=$(basename "$h") ;; + esac + done + [ -n "$FAN_HWMON" ] && [ -n "$TEMP_HWMON" ] && break + sleep 5 +done + +if [ -z "$FAN_HWMON" ] || [ -z "$TEMP_HWMON" ]; then + echo "ERROR: Could not find emc2305 or cluster_thermal hwmon devices after 30s" >&2 + exit 1 +fi + +FAN_DEV=$(readlink -f "/sys/class/hwmon/$FAN_HWMON/device" | sed 's|/sys/||') +TEMP_DEV=$(readlink -f "/sys/class/hwmon/$TEMP_HWMON/device" | sed 's|/sys/||') + +cat > /etc/fancontrol << EOF +INTERVAL=10 +DEVPATH=${TEMP_HWMON}=${TEMP_DEV} ${FAN_HWMON}=${FAN_DEV} +DEVNAME=${TEMP_HWMON}=cluster_thermal ${FAN_HWMON}=emc2305 +FCTEMPS=${FAN_HWMON}/pwm1=${TEMP_HWMON}/temp1_input +FCFANS=${FAN_HWMON}/pwm1=${FAN_HWMON}/fan1_input +MINTEMP=${FAN_HWMON}/pwm1=40 +MAXTEMP=${FAN_HWMON}/pwm1=80 +MINSTART=${FAN_HWMON}/pwm1=51 +MINSTOP=${FAN_HWMON}/pwm1=34 +EOF diff --git a/packages/bsp/gateway-dk/generate-fancontrol-conf.service b/packages/bsp/gateway-dk/generate-fancontrol-conf.service new file mode 100644 index 000000000000..2f83a7e95212 --- /dev/null +++ b/packages/bsp/gateway-dk/generate-fancontrol-conf.service @@ -0,0 +1,13 @@ +[Unit] +Description=Generate fancontrol configuration for Mono Gateway DK +Before=fancontrol.service +DefaultDependencies=no +After=sys-subsystem-hwmon-devices-hwmon0.device + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/generate-fancontrol-conf +RemainAfterExit=yes + +[Install] +WantedBy=fancontrol.service diff --git a/packages/bsp/gateway-dk/leds-lp5812.c b/packages/bsp/gateway-dk/leds-lp5812.c new file mode 100644 index 000000000000..d3657ba9d987 --- /dev/null +++ b/packages/bsp/gateway-dk/leds-lp5812.c @@ -0,0 +1,730 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * LP5812 LED driver + * + * Copyright (C) 2025 Texas Instruments + * + * Author: Jared Zhou + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "leds-lp5812.h" + +static const struct lp5812_mode_mapping chip_mode_map[] = { + {"direct_mode", 0, 0, 0, 0, 0, 0}, + {"tcm:1:0", 1, 0, 0, 0, 0, 0}, + {"tcm:1:1", 1, 1, 0, 0, 0, 0}, + {"tcm:1:2", 1, 2, 0, 0, 0, 0}, + {"tcm:1:3", 1, 3, 0, 0, 0, 0}, + {"tcm:2:0:1", 2, 0, 1, 0, 0, 0}, + {"tcm:2:0:2", 2, 0, 2, 0, 0, 0}, + {"tcm:2:0:3", 2, 0, 3, 0, 0, 0}, + {"tcm:2:1:2", 2, 1, 2, 0, 0, 0}, + {"tcm:2:1:3", 2, 1, 3, 0, 0, 0}, + {"tcm:2:2:3", 2, 2, 3, 0, 0, 0}, + {"tcm:3:0:1:2", 3, 0, 1, 2, 0, 0}, + {"tcm:3:0:1:3", 3, 0, 1, 3, 0, 0}, + {"tcm:3:0:2:3", 3, 0, 2, 3, 0, 0}, + {"tcm:4:0:1:2:3", 4, 0, 1, 2, 3, 0}, + {"mix:1:0:1", 5, 1, 0, 0, 0, 0}, + {"mix:1:0:2", 5, 2, 0, 0, 0, 0}, + {"mix:1:0:3", 5, 3, 0, 0, 0, 0}, + {"mix:1:1:0", 5, 0, 0, 0, 0, 1}, + {"mix:1:1:2", 5, 2, 0, 0, 0, 1}, + {"mix:1:1:3", 5, 3, 0, 0, 0, 1}, + {"mix:1:2:0", 5, 0, 0, 0, 0, 2}, + {"mix:1:2:1", 5, 1, 0, 0, 0, 2}, + {"mix:1:2:3", 5, 3, 0, 0, 0, 2}, + {"mix:1:3:0", 5, 0, 0, 0, 0, 3}, + {"mix:1:3:1", 5, 1, 0, 0, 0, 3}, + {"mix:1:3:2", 5, 2, 0, 0, 0, 3}, + {"mix:2:0:1:2", 6, 1, 2, 0, 0, 0}, + {"mix:2:0:1:3", 6, 1, 3, 0, 0, 0}, + {"mix:2:0:2:3", 6, 2, 3, 0, 0, 0}, + {"mix:2:1:0:2", 6, 0, 2, 0, 0, 1}, + {"mix:2:1:0:3", 6, 0, 3, 0, 0, 1}, + {"mix:2:1:2:3", 6, 2, 3, 0, 0, 1}, + {"mix:2:2:0:1", 6, 0, 1, 0, 0, 2}, + {"mix:2:2:0:3", 6, 0, 3, 0, 0, 2}, + {"mix:2:2:1:3", 6, 1, 3, 0, 0, 2}, + {"mix:2:3:0:1", 6, 0, 1, 0, 0, 3}, + {"mix:2:3:0:2", 6, 0, 2, 0, 0, 3}, + {"mix:2:3:1:2", 6, 1, 2, 0, 0, 3}, + {"mix:3:0:1:2:3", 7, 1, 2, 3, 0, 0}, + {"mix:3:1:0:2:3", 7, 0, 2, 3, 0, 1}, + {"mix:3:2:0:1:3", 7, 0, 1, 3, 0, 2}, + {"mix:3:3:0:1:2", 7, 0, 1, 2, 0, 3} +}; + +static int lp5812_write(struct lp5812_chip *chip, u16 reg, u8 val) +{ + struct device *dev = &chip->client->dev; + struct i2c_msg msg; + u8 buf[LP5812_DATA_LENGTH]; + u8 reg_addr_bit8_9; + int ret; + + /* Extract register address bits 9 and 8 for Address Byte 1 */ + reg_addr_bit8_9 = (reg >> LP5812_REG_ADDR_HIGH_SHIFT) & LP5812_REG_ADDR_BIT_8_9_MASK; + + /* Prepare payload: Address Byte 2 (bits [7:0]) and value to write */ + buf[LP5812_DATA_BYTE_0_IDX] = (u8)(reg & LP5812_REG_ADDR_LOW_MASK); + buf[LP5812_DATA_BYTE_1_IDX] = val; + + /* Construct I2C message for a write operation */ + msg.addr = (chip->client->addr << LP5812_CHIP_ADDR_SHIFT) | reg_addr_bit8_9; + msg.flags = 0; + msg.len = sizeof(buf); + msg.buf = buf; + + ret = i2c_transfer(chip->client->adapter, &msg, 1); + if (ret == 1) + return 0; + + dev_err(dev, "I2C write error, ret=%d\n", ret); + return ret < 0 ? ret : -EIO; +} + +static int lp5812_read(struct lp5812_chip *chip, u16 reg, u8 *val) +{ + struct device *dev = &chip->client->dev; + struct i2c_msg msgs[LP5812_READ_MSG_LENGTH]; + u8 ret_val; + u8 reg_addr_bit8_9; + u8 converted_reg; + int ret; + + /* Extract register address bits 9 and 8 for Address Byte 1 */ + reg_addr_bit8_9 = (reg >> LP5812_REG_ADDR_HIGH_SHIFT) & LP5812_REG_ADDR_BIT_8_9_MASK; + + /* Lower 8 bits go in Address Byte 2 */ + converted_reg = (u8)(reg & LP5812_REG_ADDR_LOW_MASK); + + /* Prepare I2C write message to set register address */ + msgs[LP5812_MSG_0_IDX].addr = + (chip->client->addr << LP5812_CHIP_ADDR_SHIFT) | reg_addr_bit8_9; + msgs[LP5812_MSG_0_IDX].flags = 0; + msgs[LP5812_MSG_0_IDX].len = 1; + msgs[LP5812_MSG_0_IDX].buf = &converted_reg; + + /* Prepare I2C read message to retrieve register value */ + msgs[LP5812_MSG_1_IDX].addr = + (chip->client->addr << LP5812_CHIP_ADDR_SHIFT) | reg_addr_bit8_9; + msgs[LP5812_MSG_1_IDX].flags = I2C_M_RD; + msgs[LP5812_MSG_1_IDX].len = 1; + msgs[LP5812_MSG_1_IDX].buf = &ret_val; + + ret = i2c_transfer(chip->client->adapter, msgs, LP5812_READ_MSG_LENGTH); + if (ret == LP5812_READ_MSG_LENGTH) { + *val = ret_val; + return 0; + } + + dev_err(dev, "I2C read error, ret=%d\n", ret); + *val = 0; + return ret < 0 ? ret : -EIO; +} + +static int lp5812_read_tsd_config_status(struct lp5812_chip *chip, u8 *reg_val) +{ + return lp5812_read(chip, chip->cfg->reg_tsd_config_status.addr, reg_val); +} + +static int lp5812_update_regs_config(struct lp5812_chip *chip) +{ + u8 reg_val; + int ret; + + ret = lp5812_write(chip, chip->cfg->reg_cmd_update.addr, LP5812_UPDATE_CMD_VAL); + if (ret) + return ret; + + ret = lp5812_read_tsd_config_status(chip, ®_val); + if (ret) + return ret; + + return reg_val & LP5812_CFG_ERR_STATUS_MASK; +} + +static ssize_t parse_drive_mode(struct lp5812_chip *chip, const char *str) +{ + int i; + + chip->u_drive_mode.s_drive_mode.mix_sel_led_0 = false; + chip->u_drive_mode.s_drive_mode.mix_sel_led_1 = false; + chip->u_drive_mode.s_drive_mode.mix_sel_led_2 = false; + chip->u_drive_mode.s_drive_mode.mix_sel_led_3 = false; + + if (sysfs_streq(str, LP5812_MODE_DIRECT_NAME)) { + chip->u_drive_mode.s_drive_mode.led_mode = LP5812_MODE_DIRECT_VALUE; + return 0; + } + + for (i = 0; i < ARRAY_SIZE(chip_mode_map); i++) { + if (sysfs_streq(str, chip_mode_map[i].mode_name)) { + chip->u_drive_mode.s_drive_mode.led_mode = chip_mode_map[i].mode; + chip->u_scan_order.s_scan_order.scan_order_0 = + chip_mode_map[i].scan_order_0; + chip->u_scan_order.s_scan_order.scan_order_1 = + chip_mode_map[i].scan_order_1; + chip->u_scan_order.s_scan_order.scan_order_2 = + chip_mode_map[i].scan_order_2; + chip->u_scan_order.s_scan_order.scan_order_3 = + chip_mode_map[i].scan_order_3; + + switch (chip_mode_map[i].selection_led) { + case LP5812_MODE_MIX_SELECT_LED_0: + chip->u_drive_mode.s_drive_mode.mix_sel_led_0 = true; + break; + case LP5812_MODE_MIX_SELECT_LED_1: + chip->u_drive_mode.s_drive_mode.mix_sel_led_1 = true; + break; + case LP5812_MODE_MIX_SELECT_LED_2: + chip->u_drive_mode.s_drive_mode.mix_sel_led_2 = true; + break; + case LP5812_MODE_MIX_SELECT_LED_3: + chip->u_drive_mode.s_drive_mode.mix_sel_led_3 = true; + break; + default: + return -EINVAL; + } + + return 0; + } + } + + return -EINVAL; +} + +static int lp5812_set_drive_mode_scan_order(struct lp5812_chip *chip) +{ + u8 val; + int ret; + + /* Set led mode */ + val = chip->u_drive_mode.drive_mode_val; + ret = lp5812_write(chip, chip->cfg->reg_dev_config_1.addr, val); + if (ret) + return ret; + + /* Setup scan order */ + val = chip->u_scan_order.scan_order_val; + ret = lp5812_write(chip, chip->cfg->reg_dev_config_2.addr, val); + + return ret; +} + +static int lp5812_set_led_mode(struct lp5812_chip *chip, int led_number, + enum control_mode mode) +{ + u8 reg_val; + u16 reg; + int ret; + + if (led_number < LP5812_NUMBER_LED_IN_REG) + reg = chip->cfg->reg_dev_config_3.addr; + else + reg = chip->cfg->reg_dev_config_4.addr; + + ret = lp5812_read(chip, reg, ®_val); + if (ret) + return ret; + + if (mode == LP5812_MODE_MANUAL) + reg_val &= ~(1 << (led_number % LP5812_NUMBER_LED_IN_REG)); + else + reg_val |= (1 << (led_number % LP5812_NUMBER_LED_IN_REG)); + + ret = lp5812_write(chip, reg, reg_val); + if (ret) + return ret; + + ret = lp5812_update_regs_config(chip); + + return ret; +} + +static int lp5812_manual_dc_pwm_control(struct lp5812_chip *chip, int led_number, + u8 val, enum dimming_type dimming_type) +{ + u16 led_base_reg; + int ret; + + if (dimming_type == LP5812_DIMMING_ANALOG) + led_base_reg = chip->cfg->reg_manual_dc_base.addr; + else + led_base_reg = chip->cfg->reg_manual_pwm_base.addr; + ret = lp5812_write(chip, led_base_reg + led_number, val); + + return ret; +} + +static int lp5812_auto_dc(struct lp5812_chip *chip, + int led_number, u8 val) +{ + return lp5812_write(chip, chip->cfg->reg_auto_dc_base.addr + led_number, val); +} + +static int lp5812_multicolor_brightness(struct lp5812_led *led) +{ + int ret, i; + struct lp5812_chip *chip = led->chip; + + guard(mutex)(&chip->lock); + for (i = 0; i < led->mc_cdev.num_colors; i++) { + ret = lp5812_manual_dc_pwm_control(chip, led->mc_cdev.subled_info[i].channel, + led->mc_cdev.subled_info[i].brightness, + LP5812_DIMMING_PWM); + if (ret) + return ret; + } + + return 0; +} + +static int lp5812_led_brightness(struct lp5812_led *led) +{ + struct lp5812_chip *chip = led->chip; + struct lp5812_led_config *led_cfg; + int ret; + + led_cfg = &chip->led_config[led->chan_nr]; + + guard(mutex)(&chip->lock); + ret = lp5812_manual_dc_pwm_control(chip, led_cfg->led_id[0], + led->brightness, LP5812_DIMMING_PWM); + + return ret; +} + +static int lp5812_set_brightness(struct led_classdev *cdev, + enum led_brightness brightness) +{ + struct lp5812_led *led = container_of(cdev, struct lp5812_led, cdev); + + led->brightness = (u8)brightness; + return lp5812_led_brightness(led); +} + +static int lp5812_set_mc_brightness(struct led_classdev *cdev, + enum led_brightness brightness) +{ + struct led_classdev_mc *mc_dev = lcdev_to_mccdev(cdev); + struct lp5812_led *led = container_of(mc_dev, struct lp5812_led, mc_cdev); + + led_mc_calc_color_components(&led->mc_cdev, brightness); + return lp5812_multicolor_brightness(led); +} + +static int lp5812_init_led(struct lp5812_led *led, struct lp5812_chip *chip, int chan) +{ + struct device *dev = &chip->client->dev; + struct mc_subled *mc_led_info; + struct led_classdev *led_cdev; + int i, ret; + + if (chip->led_config[chan].name) { + led->cdev.name = chip->led_config[chan].name; + } else { + led->cdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s:channel%d", + chip->label ? : chip->client->name, chan); + if (!led->cdev.name) + return -ENOMEM; + } + + if (!chip->led_config[chan].is_sc_led) { + mc_led_info = devm_kcalloc(dev, + chip->led_config[chan].num_colors, + sizeof(*mc_led_info), GFP_KERNEL); + if (!mc_led_info) + return -ENOMEM; + + led_cdev = &led->mc_cdev.led_cdev; + led_cdev->name = led->cdev.name; + led_cdev->brightness_set_blocking = lp5812_set_mc_brightness; + led->mc_cdev.num_colors = chip->led_config[chan].num_colors; + for (i = 0; i < led->mc_cdev.num_colors; i++) { + mc_led_info[i].color_index = + chip->led_config[chan].color_id[i]; + mc_led_info[i].channel = + chip->led_config[chan].led_id[i]; + } + + led->mc_cdev.subled_info = mc_led_info; + } else { + led->cdev.brightness_set_blocking = lp5812_set_brightness; + } + + led->chan_nr = chan; + + if (chip->led_config[chan].is_sc_led) { + ret = devm_led_classdev_register(dev, &led->cdev); + if (ret == 0) + led->cdev.dev->platform_data = led; + } else { + ret = devm_led_classdev_multicolor_register(dev, &led->mc_cdev); + if (ret == 0) + led->mc_cdev.led_cdev.dev->platform_data = led; + } + + return ret; +} + +static int lp5812_register_leds(struct lp5812_led *led, struct lp5812_chip *chip) +{ + struct lp5812_led *each; + int num_channels = chip->num_channels; + u8 reg_val; + u16 reg; + int ret, i, j; + + for (i = 0; i < num_channels; i++) { + each = led + i; + ret = lp5812_init_led(each, chip, i); + if (ret) + goto err_init_led; + + each->chip = chip; + + for (j = 0; j < chip->led_config[i].num_colors; j++) { + ret = lp5812_auto_dc(chip, chip->led_config[i].led_id[j], + chip->led_config[i].max_current[j]); + if (ret) + goto err_init_led; + + ret = lp5812_manual_dc_pwm_control(chip, chip->led_config[i].led_id[j], + chip->led_config[i].max_current[j], + LP5812_DIMMING_ANALOG); + if (ret) + goto err_init_led; + + ret = lp5812_set_led_mode(chip, chip->led_config[i].led_id[j], + LP5812_MODE_MANUAL); + if (ret) + goto err_init_led; + + reg = (chip->led_config[i].led_id[j] < LP5812_NUMBER_LED_IN_REG) ? + chip->cfg->reg_led_en_1.addr : + chip->cfg->reg_led_en_2.addr; + + ret = lp5812_read(chip, reg, ®_val); + if (ret) + goto err_init_led; + + reg_val |= (1 << (chip->led_config[i].led_id[j] % + LP5812_NUMBER_LED_IN_REG)); + + ret = lp5812_write(chip, reg, reg_val); + if (ret) + goto err_init_led; + } + } + + return 0; + +err_init_led: + return ret; +} + +static int lp5812_init_device(struct lp5812_chip *chip) +{ + int ret; + + usleep_range(LP5812_WAIT_DEVICE_STABLE_MIN, LP5812_WAIT_DEVICE_STABLE_MAX); + + ret = lp5812_write(chip, chip->cfg->reg_chip_en.addr, (u8)1); + if (ret) { + dev_err(&chip->client->dev, "lp5812_enable_disable failed\n"); + return ret; + } + + ret = lp5812_write(chip, chip->cfg->reg_dev_config_12.addr, LP5812_LSD_LOD_START_UP); + if (ret) { + dev_err(&chip->client->dev, "write 0x0B to DEV_CONFIG12 failed\n"); + return ret; + } + + ret = parse_drive_mode(chip, chip->scan_mode); + if (ret) + return ret; + + ret = lp5812_set_drive_mode_scan_order(chip); + if (ret) + return ret; + + ret = lp5812_update_regs_config(chip); + if (ret) { + dev_err(&chip->client->dev, "lp5812_update_regs_config failed\n"); + return ret; + } + + return 0; +} + +static void lp5812_deinit_device(struct lp5812_chip *chip) +{ + lp5812_write(chip, chip->cfg->reg_led_en_1.addr, 0); + lp5812_write(chip, chip->cfg->reg_led_en_2.addr, 0); + lp5812_write(chip, chip->cfg->reg_chip_en.addr, 0); +} + +static int lp5812_parse_led_channel(struct device_node *np, + struct lp5812_led_config *cfg, + int color_number) +{ + int color_id = 0, reg, ret; + u32 max_cur = 0; + + ret = of_property_read_u32(np, "reg", ®); + if (ret) + return ret; + + cfg->led_id[color_number] = reg; + + of_property_read_u32(np, "led-max-microamp", &max_cur); + cfg->max_current[color_number] = max_cur / 100; + + of_property_read_u32(np, "color", &color_id); + cfg->color_id[color_number] = color_id; + + return 0; +} + +static int lp5812_parse_led(struct device_node *np, + struct lp5812_led_config *cfg, + int led_index) +{ + int num_colors = 0, ret; + + of_property_read_string(np, "label", &cfg[led_index].name); + + ret = of_property_read_u32(np, "reg", &cfg[led_index].chan_nr); + if (ret) + return ret; + + for_each_available_child_of_node_scoped(np, child) { + ret = lp5812_parse_led_channel(child, &cfg[led_index], num_colors); + if (ret) + return ret; + num_colors++; + } + + if (num_colors == 0) { + ret = lp5812_parse_led_channel(np, &cfg[led_index], 0); + if (ret) + return ret; + num_colors = 1; + cfg[led_index].is_sc_led = true; + } else { + cfg[led_index].is_sc_led = false; + } + + cfg[led_index].num_colors = num_colors; + + return 0; +} + +static int lp5812_of_populate_pdata(struct device *dev, + struct device_node *np, + struct lp5812_chip *chip) +{ + struct lp5812_led_config *cfg; + int num_channels, i = 0, ret; + + num_channels = of_get_available_child_count(np); + if (num_channels == 0) { + dev_err(dev, "no LED channels\n"); + return -EINVAL; + } + + cfg = devm_kcalloc(dev, num_channels, sizeof(*cfg), GFP_KERNEL); + if (!cfg) + return -ENOMEM; + + chip->led_config = &cfg[0]; + chip->num_channels = num_channels; + + for_each_available_child_of_node_scoped(np, child) { + ret = lp5812_parse_led(child, cfg, i); + if (ret) + return -EINVAL; + i++; + } + + ret = of_property_read_string(np, "ti,scan-mode", &chip->scan_mode); + if (ret) + chip->scan_mode = LP5812_MODE_DIRECT_NAME; + + of_property_read_string(np, "label", &chip->label); + + return 0; +} + +static int lp5812_probe(struct i2c_client *client) +{ + struct lp5812_chip *chip; + struct device_node *np = dev_of_node(&client->dev); + struct lp5812_led *led; + int ret; + + if (!np) + return -EINVAL; + + chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); + if (!chip) + return -ENOMEM; + + chip->cfg = i2c_get_match_data(client); + ret = lp5812_of_populate_pdata(&client->dev, np, chip); + if (ret) + return ret; + + led = devm_kcalloc(&client->dev, chip->num_channels, sizeof(*led), GFP_KERNEL); + if (!led) + return -ENOMEM; + + chip->client = client; + mutex_init(&chip->lock); + i2c_set_clientdata(client, led); + + ret = lp5812_init_device(chip); + if (ret) + return ret; + + ret = lp5812_register_leds(led, chip); + if (ret) + goto err_out; + + return 0; + +err_out: + lp5812_deinit_device(chip); + return ret; +} + +static void lp5812_remove(struct i2c_client *client) +{ + struct lp5812_led *led = i2c_get_clientdata(client); + + lp5812_deinit_device(led->chip); +} + +/* Chip specific configurations */ +static const struct lp5812_device_config lp5812_cfg = { + .reg_reset = { + .addr = LP5812_REG_RESET, + .val = LP5812_RESET + }, + .reg_chip_en = { + .addr = LP5812_REG_ENABLE, + .val = LP5812_ENABLE_DEFAULT + }, + .reg_dev_config_0 = { + .addr = LP5812_DEV_CONFIG0, + .val = 0 + }, + .reg_dev_config_1 = { + .addr = LP5812_DEV_CONFIG1, + .val = 0 + }, + .reg_dev_config_2 = { + .addr = LP5812_DEV_CONFIG2, + .val = 0 + }, + .reg_dev_config_3 = { + .addr = LP5812_DEV_CONFIG3, + .val = 0 + }, + .reg_dev_config_4 = { + .addr = LP5812_DEV_CONFIG4, + .val = 0 + }, + .reg_dev_config_5 = { + .addr = LP5812_DEV_CONFIG5, + .val = 0 + }, + .reg_dev_config_6 = { + .addr = LP5812_DEV_CONFIG6, + .val = 0 + }, + .reg_dev_config_7 = { + .addr = LP5812_DEV_CONFIG7, + .val = 0 + }, + .reg_dev_config_12 = { + .addr = LP5812_DEV_CONFIG12, + .val = LP5812_DEV_CONFIG12_DEFAULT + }, + .reg_cmd_update = { + .addr = LP5812_CMD_UPDATE, + .val = 0 + }, + .reg_tsd_config_status = { + .addr = LP5812_TSD_CONFIG_STATUS, + .val = 0 + }, + .reg_led_en_1 = { + .addr = LP5812_LED_EN_1, + .val = 0 + }, + .reg_led_en_2 = { + .addr = LP5812_LED_EN_2, + .val = 0 + }, + .reg_fault_clear = { + .addr = LP5812_FAULT_CLEAR, + .val = 0 + }, + .reg_manual_dc_base = { + .addr = LP5812_MANUAL_DC_BASE, + .val = 0 + }, + .reg_auto_dc_base = { + .addr = LP5812_AUTO_DC_BASE, + .val = 0 + }, + .reg_manual_pwm_base = { + .addr = LP5812_MANUAL_PWM_BASE, + .val = 0 + }, + .reg_lod_status_base = { + .addr = LP5812_LOD_STATUS, + .val = 0 + }, + .reg_lsd_status_base = { + .addr = LP5812_LSD_STATUS, + .val = 0 + } +}; + +static const struct of_device_id of_lp5812_match[] = { + { .compatible = "ti,lp5812", .data = &lp5812_cfg }, + {/* NULL */} +}; + +MODULE_DEVICE_TABLE(of, of_lp5812_match); + +static struct i2c_driver lp5812_driver = { + .driver = { + .name = "lp5812", + .of_match_table = of_lp5812_match, + }, + .probe = lp5812_probe, + .remove = lp5812_remove, +}; + +module_i2c_driver(lp5812_driver); + +MODULE_DESCRIPTION("Texas Instruments LP5812 LED Driver"); +MODULE_AUTHOR("Jared Zhou"); +MODULE_LICENSE("GPL"); diff --git a/packages/bsp/gateway-dk/leds-lp5812.h b/packages/bsp/gateway-dk/leds-lp5812.h new file mode 100644 index 000000000000..59af1ccfe41b --- /dev/null +++ b/packages/bsp/gateway-dk/leds-lp5812.h @@ -0,0 +1,197 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * LP5812 Driver Header + * + * Copyright (C) 2025 Texas Instruments + * + * Author: Jared Zhou + */ + +#ifndef _LP5812_H_ +#define _LP5812_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define LP5812_REG_ENABLE 0x0000 +#define LP5812_REG_RESET 0x0023 +#define LP5812_DEV_CONFIG0 0x0001 +#define LP5812_DEV_CONFIG1 0x0002 +#define LP5812_DEV_CONFIG2 0x0003 +#define LP5812_DEV_CONFIG3 0x0004 +#define LP5812_DEV_CONFIG4 0x0005 +#define LP5812_DEV_CONFIG5 0x0006 +#define LP5812_DEV_CONFIG6 0x0007 +#define LP5812_DEV_CONFIG7 0x0008 +#define LP5812_DEV_CONFIG8 0x0009 +#define LP5812_DEV_CONFIG9 0x000A +#define LP5812_DEV_CONFIG10 0x000B +#define LP5812_DEV_CONFIG11 0x000c +#define LP5812_DEV_CONFIG12 0x000D +#define LP5812_CMD_UPDATE 0x0010 +#define LP5812_LED_EN_1 0x0020 +#define LP5812_LED_EN_2 0x0021 +#define LP5812_FAULT_CLEAR 0x0022 +#define LP5812_MANUAL_DC_BASE 0x0030 +#define LP5812_AUTO_DC_BASE 0x0050 +#define LP5812_MANUAL_PWM_BASE 0x0040 + +#define LP5812_TSD_CONFIG_STATUS 0x0300 +#define LP5812_LOD_STATUS 0x0301 +#define LP5812_LSD_STATUS 0x0303 + +#define LP5812_ENABLE_DEFAULT 0x01 +#define FAULT_CLEAR_ALL 0x07 +#define TSD_CLEAR_VAL 0x04 +#define LSD_CLEAR_VAL 0x02 +#define LOD_CLEAR_VAL 0x01 +#define LP5812_RESET 0x66 +#define LP5812_DEV_CONFIG12_DEFAULT 0x08 + +#define LP5812_UPDATE_CMD_VAL 0x55 +#define LP5812_REG_ADDR_HIGH_SHIFT 8 +#define LP5812_REG_ADDR_BIT_8_9_MASK 0x03 +#define LP5812_REG_ADDR_LOW_MASK 0xFF +#define LP5812_CHIP_ADDR_SHIFT 0 /* no address shift for LP5810 */ +#define LP5812_DATA_LENGTH 2 +#define LP5812_DATA_BYTE_0_IDX 0 +#define LP5812_DATA_BYTE_1_IDX 1 + +#define LP5812_READ_MSG_LENGTH 2 +#define LP5812_MSG_0_IDX 0 +#define LP5812_MSG_1_IDX 1 +#define LP5812_CFG_ERR_STATUS_MASK 0x01 +#define LP5812_CFG_TSD_STATUS_SHIFT 1 +#define LP5812_CFG_TSD_STATUS_MASK 0x01 + +#define LP5812_FAULT_CLEAR_LOD 0 +#define LP5812_FAULT_CLEAR_LSD 1 +#define LP5812_FAULT_CLEAR_TSD 2 +#define LP5812_FAULT_CLEAR_ALL 3 +#define LP5812_NUMBER_LED_IN_REG 8 + +#define LP5812_WAIT_DEVICE_STABLE_MIN 1000 +#define LP5812_WAIT_DEVICE_STABLE_MAX 1100 + +#define LP5812_LSD_LOD_START_UP 0x0B +#define LP5812_MODE_NAME_MAX_LEN 20 +#define LP5812_MODE_DIRECT_NAME "direct_mode" +#define LP5812_MODE_DIRECT_VALUE 0 +#define LP5812_MODE_MIX_SELECT_LED_0 0 +#define LP5812_MODE_MIX_SELECT_LED_1 1 +#define LP5812_MODE_MIX_SELECT_LED_2 2 +#define LP5812_MODE_MIX_SELECT_LED_3 3 + +enum control_mode { + LP5812_MODE_MANUAL = 0, + LP5812_MODE_AUTONOMOUS +}; + +enum dimming_type { + LP5812_DIMMING_ANALOG, + LP5812_DIMMING_PWM +}; + +union u_scan_order { + struct { + u8 scan_order_0:2; + u8 scan_order_1:2; + u8 scan_order_2:2; + u8 scan_order_3:2; + } s_scan_order; + u8 scan_order_val; +}; + +union u_drive_mode { + struct { + u8 mix_sel_led_0:1; + u8 mix_sel_led_1:1; + u8 mix_sel_led_2:1; + u8 mix_sel_led_3:1; + u8 led_mode:3; + u8 pwm_fre:1; + } s_drive_mode; + u8 drive_mode_val; +}; + +struct lp5812_reg { + u16 addr; + union { + u8 val; + u8 mask; + u8 shift; + }; +}; + +struct lp5812_mode_mapping { + char mode_name[LP5812_MODE_NAME_MAX_LEN]; + u8 mode; + u8 scan_order_0; + u8 scan_order_1; + u8 scan_order_2; + u8 scan_order_3; + u8 selection_led; +}; + +struct lp5812_led_config { + bool is_sc_led; + const char *name; + u8 color_id[LED_COLOR_ID_MAX]; + u32 max_current[LED_COLOR_ID_MAX]; + int chan_nr; + int num_colors; + int led_id[LED_COLOR_ID_MAX]; +}; + +struct lp5812_chip { + u8 num_channels; + struct i2c_client *client; + struct mutex lock; /* Protects register access */ + struct lp5812_led_config *led_config; + const char *label; + const char *scan_mode; + const struct lp5812_device_config *cfg; + union u_scan_order u_scan_order; + union u_drive_mode u_drive_mode; +}; + +struct lp5812_led { + u8 brightness; + int chan_nr; + struct led_classdev cdev; + struct led_classdev_mc mc_cdev; + struct lp5812_chip *chip; +}; + +struct lp5812_device_config { + const struct lp5812_reg reg_reset; + const struct lp5812_reg reg_chip_en; + const struct lp5812_reg reg_dev_config_0; + const struct lp5812_reg reg_dev_config_1; + const struct lp5812_reg reg_dev_config_2; + const struct lp5812_reg reg_dev_config_3; + const struct lp5812_reg reg_dev_config_4; + const struct lp5812_reg reg_dev_config_5; + const struct lp5812_reg reg_dev_config_6; + const struct lp5812_reg reg_dev_config_7; + const struct lp5812_reg reg_dev_config_12; + const struct lp5812_reg reg_cmd_update; + + const struct lp5812_reg reg_led_en_1; + const struct lp5812_reg reg_led_en_2; + const struct lp5812_reg reg_fault_clear; + const struct lp5812_reg reg_manual_dc_base; + const struct lp5812_reg reg_auto_dc_base; + const struct lp5812_reg reg_manual_pwm_base; + const struct lp5812_reg reg_tsd_config_status; + const struct lp5812_reg reg_lod_status_base; + const struct lp5812_reg reg_lsd_status_base; +}; + +#endif /*_LP5812_H_*/ \ No newline at end of file diff --git a/packages/bsp/gateway-dk/leds-lp5812.mk b/packages/bsp/gateway-dk/leds-lp5812.mk new file mode 100644 index 000000000000..8e70bff1932b --- /dev/null +++ b/packages/bsp/gateway-dk/leds-lp5812.mk @@ -0,0 +1,12 @@ +obj-m := leds-lp5812.o + +ccflags-y := -I$(src) + +all: + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules + +modules_install: + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules_install + +clean: + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean diff --git a/packages/bsp/gateway-dk/sfp-led.c b/packages/bsp/gateway-dk/sfp-led.c new file mode 100644 index 000000000000..9dfa4ca28380 --- /dev/null +++ b/packages/bsp/gateway-dk/sfp-led.c @@ -0,0 +1,665 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * SFP LED Control Platform Driver (Passive Monitor) + * + * Controls SFP port LEDs based on module presence and link state. + * This driver passively monitors I2C and netdev state without interfering + * with the SFP subsystem or MAC driver. + * + * Design principle: + * This driver does NOT interact with the kernel's SFP state machine. + * This avoids conflicts with MAC drivers that use fixed-link configuration + * (like NXP DPAA SDK). + * + * Detection method: + * - Module presence: Probe I2C EEPROM at 0x50 + * - Link state: Check netdev operstate (for DAC) or I2C DDM (for fiber) + * - Activity: Poll netdev tx/rx packet counters + * + * LED behavior: + * + * State | Green (Link) | Orange (Activity) + * ---------------------------|--------------|------------------- + * No module | OFF | OFF + * Module present, no link | OFF | ON (solid) + * Module present, link up | ON | Blinks on traffic + * + * Module type detection: + * - Fiber SFP: Uses I2C DDM (A2h byte 110 LOS bit) for link detection + * - DAC cable: Uses netdev operstate (DAC has no DDM support) + * - Detection via A0h page bytes 3 and 8 copper compliance bits + * + * Device tree binding example: + * + * sfp0: sfp-0 { + * compatible = "sff,sfp"; + * i2c-bus = <&sfp0_i2c>; + * leds = <&led_sfp0_link>, <&led_sfp0_activity>; + * }; + * + * sfp-led-controller { + * compatible = "mono,sfp-led"; + * sfp-ports = <&sfp0>, <&sfp1>; + * }; + * + * // MAC node must reference SFP for netdev association + * &fman_mac { + * sfp = <&sfp0>; + * }; + * + * Copyright 2026 Mono Technologies Inc. + * Author: Tomaz Zaman + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define DRIVER_NAME "sfp-led" +#define SFP_LED_NAME_SIZE 64 + +/* Polling interval in milliseconds */ +#define SFP_LED_POLL_INTERVAL_MS 100 +#define SFP_LED_NETDEV_RETRY_MS 1000 +#define SFP_LED_MAX_NETDEV_RETRIES 30 + +/* SFP I2C addresses per SFP MSA */ +#define SFP_EEPROM_ADDR 0x50 /* A0h page - module ID/capabilities */ +#define SFP_DIAG_ADDR 0x51 /* A2h page - diagnostics/status */ + +/* SFP A2h page registers */ +#define SFP_STATUS_CTRL_REG 110 /* Status/Control register */ +#define SFP_STATUS_LOS BIT(1) /* RX Loss of Signal */ +#define SFP_STATUS_TX_FAULT BIT(2) /* TX Fault */ + +/* SFP A0h page - cable type detection (per SFP MSA) */ +#define SFP_PHYS_EXT_ID 1 /* Extended identifier */ +#define SFP_COMPLIANCE_3 3 /* 10G/1G Ethernet compliance */ +#define SFP_COMPLIANCE_8 8 /* SFP+ cable technology */ +#define SFP_8472_COMPLIANCE 94 /* SFF-8472 compliance (DDM support) */ + +/* Byte 3 bits - 1G Ethernet copper compliance */ +#define SFP_IF_1X_COPPER_PASSIVE BIT(0) +#define SFP_IF_1X_COPPER_ACTIVE BIT(1) + +/* Byte 8 bits - SFP+ cable technology */ +#define SFP_CT_PASSIVE BIT(2) /* Passive cable */ +#define SFP_CT_ACTIVE BIT(3) /* Active cable */ + +struct sfp_led_port { + struct sfp_led_priv *priv; + struct device_node *sfp_np; + struct i2c_adapter *i2c_adapter; /* I2C bus for module detection */ + struct net_device *netdev; + char netdev_name[IFNAMSIZ]; + + struct led_classdev *link_led; + struct led_classdev *activity_led; + + char link_led_name[SFP_LED_NAME_SIZE]; + char activity_led_name[SFP_LED_NAME_SIZE]; + + struct delayed_work poll_work; + int netdev_retries; + + /* Cached state for change detection */ + bool last_module_present; + bool last_carrier; + bool is_dac; /* True if DAC cable (no DDM support) */ + u64 last_tx_packets; + u64 last_rx_packets; + bool activity_led_on; +}; + +struct sfp_led_priv { + struct device *dev; + int num_ports; + struct sfp_led_port *ports; +}; + +/* + * Find the netdev associated with an SFP by traversing device tree. + * + * DPAA device tree structure: + * fsldpaa/ethernet@8 (fsl,dpa-ethernet) -> fsl,fman-mac = <&enet6> + * fman0/ethernet@f0000 (enet6) -> sfp = <&sfp_xfi0> + */ +static struct net_device *sfp_led_find_netdev(struct device_node *sfp_np) +{ + struct net_device *dev, *found = NULL; + bool need_rtnl; + + if (!sfp_np) + return NULL; + + need_rtnl = !rtnl_is_locked(); + if (need_rtnl) + rtnl_lock(); + + for_each_netdev(&init_net, dev) { + struct device *parent = dev->dev.parent; + struct device_node *dpaa_node, *mac_node, *sfp_ref; + + if (!parent || !parent->of_node) + continue; + + dpaa_node = parent->of_node; + + mac_node = of_parse_phandle(dpaa_node, "fsl,fman-mac", 0); + if (!mac_node) + continue; + + sfp_ref = of_parse_phandle(mac_node, "sfp", 0); + of_node_put(mac_node); + + if (sfp_ref == sfp_np) { + of_node_put(sfp_ref); + found = dev; + dev_hold(found); + break; + } + of_node_put(sfp_ref); + } + + if (need_rtnl) + rtnl_unlock(); + + return found; +} + +/* + * Detect SFP module presence by probing I2C EEPROM at address 0x50. + * All SFP/SFP+ modules have an EEPROM that responds to this address. + * Returns true if module is present, false otherwise. + */ +static bool sfp_led_i2c_module_present(struct sfp_led_port *port) +{ + union i2c_smbus_data data; + int ret; + + if (!port->i2c_adapter) + return false; + + /* + * Try to read byte 0 from SFP EEPROM (identifier byte). + * If the read succeeds, a module is present. + */ + ret = i2c_smbus_xfer(port->i2c_adapter, SFP_EEPROM_ADDR, + 0, I2C_SMBUS_READ, 0, + I2C_SMBUS_BYTE_DATA, &data); + + return ret >= 0; +} + +static bool sfp_led_module_present(struct sfp_led_port *port) +{ + return sfp_led_i2c_module_present(port); +} + +/* + * Detect if the SFP module is a DAC (Direct Attach Copper) cable. + * DAC cables don't have optical transceivers and don't support DDM. + * Detection via A0h page compliance bytes per SFP MSA: + * - Byte 3 bits 0-1: 1G copper passive/active + * - Byte 8 bits 2-3: SFP+ cable technology passive/active + * Returns true if DAC cable, false if fiber/optical module. + */ +static bool sfp_led_is_dac_cable(struct sfp_led_port *port) +{ + union i2c_smbus_data data; + int ret; + u8 byte3, byte8; + bool is_dac; + + if (!port->i2c_adapter) + return false; /* Can't detect, assume fiber */ + + /* Read byte 3 - 10G/1G Ethernet compliance */ + ret = i2c_smbus_xfer(port->i2c_adapter, SFP_EEPROM_ADDR, + 0, I2C_SMBUS_READ, SFP_COMPLIANCE_3, + I2C_SMBUS_BYTE_DATA, &data); + if (ret < 0) { + dev_warn(port->priv->dev, "%s: failed to read A0h byte 3: %d\n", + port->link_led_name, ret); + return false; + } + byte3 = data.byte; + + /* Read byte 8 - SFP+ cable technology */ + ret = i2c_smbus_xfer(port->i2c_adapter, SFP_EEPROM_ADDR, + 0, I2C_SMBUS_READ, SFP_COMPLIANCE_8, + I2C_SMBUS_BYTE_DATA, &data); + if (ret < 0) { + dev_warn(port->priv->dev, "%s: failed to read A0h byte 8: %d\n", + port->link_led_name, ret); + return false; + } + byte8 = data.byte; + + /* Check copper compliance bits */ + is_dac = (byte3 & (SFP_IF_1X_COPPER_PASSIVE | SFP_IF_1X_COPPER_ACTIVE)) || + (byte8 & (SFP_CT_PASSIVE | SFP_CT_ACTIVE)); + + dev_dbg(port->priv->dev, "%s: A0h byte3=0x%02x byte8=0x%02x -> %s\n", + port->link_led_name, byte3, byte8, + is_dac ? "DAC cable" : "fiber/optical"); + + return is_dac; +} + +/* + * Read LOS (Loss of Signal) status from SFP module via I2C. + * SFP MSA defines status register at A2h (0x51), byte 110. + * Returns true if signal is lost, false if signal is present. + */ +static bool sfp_led_i2c_los(struct sfp_led_port *port) +{ + union i2c_smbus_data data; + int ret; + static int debug_count[2] = {0, 0}; /* Rate limit debug output */ + int port_idx = (port == &port->priv->ports[0]) ? 0 : 1; + + if (!port->i2c_adapter) + return true; /* Assume no signal if can't check */ + + ret = i2c_smbus_xfer(port->i2c_adapter, SFP_DIAG_ADDR, + 0, I2C_SMBUS_READ, SFP_STATUS_CTRL_REG, + I2C_SMBUS_BYTE_DATA, &data); + + /* Debug: log every 50th read or on error */ + if (ret < 0) { + if (debug_count[port_idx]++ % 50 == 0) + dev_dbg(port->priv->dev, "%s: A2h read failed: %d (no DDM?)\n", + port->link_led_name, ret); + return true; /* Error reading - assume no signal */ + } + + /* Debug: log status byte periodically */ + if (debug_count[port_idx]++ % 50 == 0) + dev_dbg(port->priv->dev, "%s: A2h[110]=0x%02x LOS=%d\n", + port->link_led_name, data.byte, + (data.byte & SFP_STATUS_LOS) ? 1 : 0); + + return (data.byte & SFP_STATUS_LOS) != 0; +} + +/* + * Check if interface has operational link. + * For DAC cables with DPAA fixed-link, get_link() is unreliable. + * Use operstate which accurately reflects actual link status. + */ +static bool sfp_led_has_operational_link(struct net_device *netdev) +{ + /* + * operstate reflects actual link status: + * - IF_OPER_UP: interface is up and link is established + * - IF_OPER_DOWN: interface is down or no link + * This is what ethtool uses for "Link detected" field. + */ + return netdev->operstate == IF_OPER_UP; +} + +/* + * Check if we have signal/link. + * For fiber modules: I2C DDM status register (A2h byte 110 LOS bit) + * For DAC cables: operstate (DAC has no DDM support) + * Returns true if link/signal is present. + */ +static bool sfp_led_has_signal(struct sfp_led_port *port) +{ + /* + * DAC cables don't have optical transceivers and don't support DDM. + * The A2h page reads return 0xff which looks like LOS=1. + * For DAC, check operstate which accurately reflects link status, + * unlike get_link()/carrier which may be stale with fixed-link config. + */ + if (port->is_dac) { + if (port->netdev) + return sfp_led_has_operational_link(port->netdev); + return false; + } + + /* Fiber: Use I2C DDM status register (most fiber SFPs support DDM) */ + if (port->i2c_adapter) + return !sfp_led_i2c_los(port); + + /* Last resort: check operstate */ + if (port->netdev) + return sfp_led_has_operational_link(port->netdev); + + return false; +} + +static void sfp_led_set_link(struct sfp_led_port *port, bool on) +{ + if (!port->link_led) + return; + + led_set_brightness(port->link_led, + on ? port->link_led->max_brightness : LED_OFF); +} + +static void sfp_led_set_activity(struct sfp_led_port *port, bool on) +{ + if (!port->activity_led) + return; + + /* Don't override if user has configured a trigger */ + if (port->activity_led->trigger) + return; + + led_set_brightness(port->activity_led, + on ? port->activity_led->max_brightness : LED_OFF); +} + +static void sfp_led_poll_work_handler(struct work_struct *work) +{ + struct sfp_led_port *port = container_of(work, struct sfp_led_port, + poll_work.work); + struct net_device *netdev; + bool module_present, carrier; + struct rtnl_link_stats64 stats; + bool had_activity; + + /* Check module presence via I2C */ + module_present = sfp_led_module_present(port); + + /* Handle module state changes */ + if (module_present != port->last_module_present) { + port->last_module_present = module_present; + + if (!module_present) { + /* Module removed - turn off both LEDs and reset state */ + sfp_led_set_link(port, false); + sfp_led_set_activity(port, false); + port->last_carrier = false; + port->is_dac = false; + dev_dbg(port->priv->dev, "%s: module removed\n", + port->link_led_name); + } else { + /* Module inserted - detect cable type */ + port->is_dac = sfp_led_is_dac_cable(port); + /* Set initial state: module present, no link yet */ + sfp_led_set_link(port, false); + sfp_led_set_activity(port, true); + dev_dbg(port->priv->dev, "%s: module inserted (%s)\n", + port->link_led_name, + port->is_dac ? "DAC" : "fiber"); + } + } + + if (!module_present) + goto reschedule; + + /* Try to find netdev if we don't have one yet */ + netdev = READ_ONCE(port->netdev); + if (!netdev) { + netdev = sfp_led_find_netdev(port->sfp_np); + if (netdev) { + if (cmpxchg(&port->netdev, NULL, netdev) != NULL) { + dev_put(netdev); + } else { + strscpy(port->netdev_name, netdev->name, + sizeof(port->netdev_name)); + dev_dbg(port->priv->dev, "%s: found netdev %s\n", + port->link_led_name, netdev->name); + } + } else { + port->netdev_retries++; + if (port->netdev_retries < SFP_LED_MAX_NETDEV_RETRIES) { + /* Keep activity LED on to show module present */ + sfp_led_set_activity(port, true); + } + } + netdev = READ_ONCE(port->netdev); + } + + if (!netdev) { + /* No netdev yet - show module present only */ + sfp_led_set_link(port, false); + sfp_led_set_activity(port, true); + goto reschedule; + } + + /* Check signal/carrier state */ + carrier = sfp_led_has_signal(port); + + if (carrier != port->last_carrier) { + port->last_carrier = carrier; + sfp_led_set_link(port, carrier); + + if (carrier) { + dev_dbg(port->priv->dev, "%s: link up\n", + port->link_led_name); + /* Turn off activity LED and reset counters on link up */ + sfp_led_set_activity(port, false); + port->last_tx_packets = 0; + port->last_rx_packets = 0; + port->activity_led_on = false; + } else { + dev_dbg(port->priv->dev, "%s: link down\n", + port->link_led_name); + /* Module present but no link - solid activity LED */ + sfp_led_set_activity(port, true); + } + } + + if (!carrier) + goto reschedule; + + /* Monitor activity when link is up */ + if (!netif_running(netdev)) + goto reschedule; + + dev_get_stats(netdev, &stats); + + had_activity = (stats.tx_packets != port->last_tx_packets || + stats.rx_packets != port->last_rx_packets); + + if (had_activity) { + /* Toggle LED for visible blink */ + port->activity_led_on = !port->activity_led_on; + sfp_led_set_activity(port, port->activity_led_on); + port->last_tx_packets = stats.tx_packets; + port->last_rx_packets = stats.rx_packets; + } else if (port->activity_led_on) { + /* No activity - turn off */ + port->activity_led_on = false; + sfp_led_set_activity(port, false); + } + +reschedule: + schedule_delayed_work(&port->poll_work, + msecs_to_jiffies(SFP_LED_POLL_INTERVAL_MS)); +} + +static int sfp_led_register_port(struct sfp_led_priv *priv, + struct device_node *sfp_np, int index) +{ + struct sfp_led_port *port = &priv->ports[index]; + struct device_node *i2c_np; + + port->priv = priv; + port->sfp_np = sfp_np; + of_node_get(sfp_np); + + /* Get I2C adapter for module detection */ + i2c_np = of_parse_phandle(sfp_np, "i2c-bus", 0); + if (i2c_np) { + port->i2c_adapter = of_get_i2c_adapter_by_node(i2c_np); + of_node_put(i2c_np); + } + + if (IS_ERR_OR_NULL(port->i2c_adapter)) { + int ret = PTR_ERR_OR_ZERO(port->i2c_adapter); + + port->i2c_adapter = NULL; + if (ret != -EPROBE_DEFER) + dev_err(priv->dev, "port %d: i2c-bus not available\n", index); + of_node_put(sfp_np); + port->sfp_np = NULL; + return ret ? ret : -ENODEV; + } + + /* Get LEDs */ + port->link_led = of_led_get(sfp_np, 0); + if (IS_ERR(port->link_led)) { + dev_dbg(priv->dev, "port %d: link LED not in DT: %ld\n", + index, PTR_ERR(port->link_led)); + port->link_led = NULL; + } + + port->activity_led = of_led_get(sfp_np, 1); + if (IS_ERR(port->activity_led)) { + dev_dbg(priv->dev, "port %d: activity LED not in DT: %ld\n", + index, PTR_ERR(port->activity_led)); + port->activity_led = NULL; + } + + /* Set LED names for logging */ + if (port->link_led && port->link_led->name) + strscpy(port->link_led_name, port->link_led->name, + sizeof(port->link_led_name)); + else + snprintf(port->link_led_name, sizeof(port->link_led_name), + "sfp%d:link", index); + + if (port->activity_led && port->activity_led->name) + strscpy(port->activity_led_name, port->activity_led->name, + sizeof(port->activity_led_name)); + else + snprintf(port->activity_led_name, sizeof(port->activity_led_name), + "sfp%d:activity", index); + + /* Initialize work */ + INIT_DELAYED_WORK(&port->poll_work, sfp_led_poll_work_handler); + + /* Start polling */ + schedule_delayed_work(&port->poll_work, 0); + + dev_dbg(priv->dev, "registered port %d: %pOFn (link=%s, activity=%s)\n", + index, sfp_np, port->link_led_name, port->activity_led_name); + + return 0; +} + +static void sfp_led_cleanup_port(struct sfp_led_port *port) +{ + if (!port->sfp_np) + return; + + cancel_delayed_work_sync(&port->poll_work); + + sfp_led_set_link(port, false); + sfp_led_set_activity(port, false); + + if (port->activity_led) { + led_put(port->activity_led); + port->activity_led = NULL; + } + + if (port->link_led) { + led_put(port->link_led); + port->link_led = NULL; + } + + if (port->netdev) { + dev_put(port->netdev); + port->netdev = NULL; + } + + if (port->i2c_adapter) { + i2c_put_adapter(port->i2c_adapter); + port->i2c_adapter = NULL; + } + + of_node_put(port->sfp_np); + port->sfp_np = NULL; +} + +static int sfp_led_probe(struct platform_device *pdev) +{ + struct sfp_led_priv *priv; + struct device_node *np; + int count, i, registered = 0; + + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + priv->dev = &pdev->dev; + platform_set_drvdata(pdev, priv); + + count = of_count_phandle_with_args(pdev->dev.of_node, "sfp-ports", NULL); + if (count <= 0) { + dev_err(&pdev->dev, "no sfp-ports specified\n"); + return -ENODEV; + } + + priv->ports = devm_kcalloc(&pdev->dev, count, + sizeof(*priv->ports), GFP_KERNEL); + if (!priv->ports) + return -ENOMEM; + + priv->num_ports = count; + + for (i = 0; i < count; i++) { + np = of_parse_phandle(pdev->dev.of_node, "sfp-ports", i); + if (!np) { + dev_warn(&pdev->dev, "failed to parse sfp-ports[%d]\n", i); + continue; + } + + if (sfp_led_register_port(priv, np, i) == 0) + registered++; + + of_node_put(np); + } + + if (registered == 0) { + dev_err(&pdev->dev, "no SFP ports registered\n"); + return -ENODEV; + } + + dev_dbg(&pdev->dev, "loaded (passive monitor, %d ports)\n", registered); + return 0; +} + +static void sfp_led_remove(struct platform_device *pdev) +{ + struct sfp_led_priv *priv = platform_get_drvdata(pdev); + int i; + + for (i = 0; i < priv->num_ports; i++) + sfp_led_cleanup_port(&priv->ports[i]); + + dev_dbg(&pdev->dev, "unloaded\n"); +} + +static const struct of_device_id sfp_led_of_match[] = { + { .compatible = "mono,sfp-led" }, + { } +}; +MODULE_DEVICE_TABLE(of, sfp_led_of_match); + +static struct platform_driver sfp_led_driver = { + .probe = sfp_led_probe, + .remove = sfp_led_remove, + .driver = { + .name = DRIVER_NAME, + .of_match_table = sfp_led_of_match, + }, +}; +module_platform_driver(sfp_led_driver); + +MODULE_AUTHOR("Tomaz Zaman "); +MODULE_DESCRIPTION("SFP LED Control Platform Driver (Passive Monitor)"); +MODULE_LICENSE("GPL"); diff --git a/packages/bsp/gateway-dk/sfp-led.mk b/packages/bsp/gateway-dk/sfp-led.mk new file mode 100644 index 000000000000..85ec35bbe557 --- /dev/null +++ b/packages/bsp/gateway-dk/sfp-led.mk @@ -0,0 +1,12 @@ +obj-m := sfp-led.o + +SRC := $(shell pwd) + +all: + $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules + +modules_install: + $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install + +clean: + $(MAKE) -C $(KERNEL_SRC) M=$(SRC) clean From fce0b52d484af06283ee660e5b664a4d635b1f37 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Mon, 6 Apr 2026 10:45:09 +0200 Subject: [PATCH 03/14] ls1046a: pin kernel to tag, update ASK branch, clean up extension - Pin kernel to tag:lf-6.12.49-2.2.0 instead of rolling branch:lf-6.12.y - Lower CPUMAX to 1600000 to match actual hardware limit - Switch ASK branch from master to mt-6.12.y - Remove iproute2 from patched libraries (no longer needed) - Remove fmc source CR/LF fixup (fixed upstream) - Clean up module build dir path handling - Consolidate U-Boot/ATF/RCW comments --- config/sources/families/ls1046a.conf | 9 ++++----- extensions/gateway-dk-ask.sh | 25 +++++++++++-------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf index dd6e35aeda3d..7759ac1e8c18 100644 --- a/config/sources/families/ls1046a.conf +++ b/config/sources/families/ls1046a.conf @@ -20,7 +20,7 @@ declare -g LINUXFAMILY="ls1046a" # CPU frequency scaling declare -g CPUMIN=300000 -declare -g CPUMAX=1800000 +declare -g CPUMAX=1600000 declare -g GOVERNOR=ondemand # Kernel @@ -30,7 +30,7 @@ case "${BRANCH}" in current) declare -g KERNEL_MAJOR_MINOR="6.12" - declare -g KERNELBRANCH='branch:lf-6.12.y' + declare -g KERNELBRANCH='tag:lf-6.12.49-2.2.0' declare -g LINUXCONFIG="linux-ls1046a-current" ;; @@ -38,20 +38,19 @@ esac declare -g KERNELPATCHDIR="archive/ls1046a-${KERNEL_MAJOR_MINOR}" -# U-Boot +# U-Boot, ATF, and RCW — Mono Gateway DK forks with custom DDR4 config and RCW +# Other LS1046A boards should override these in their board config declare -g BOOTSOURCE='https://github.com/we-are-mono/u-boot' declare -g BOOTBRANCH='commit:9f13d11658f696d4d1b4f76fa88264c52bd2e7c2' declare -g BOOTPATCHDIR="u-boot-ls1046a" declare -g UBOOT_TARGET_MAP=";;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls1046_r1.0_108_4_9.bin u-boot-env.bin" -# ATF - compile just BL31 in the main ATF pass declare -g ATFSOURCE='https://github.com/we-are-mono/atf' declare -g ATFDIR='arm-trusted-firmware-ls1046a' declare -g ATFBRANCH='commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef' declare -g ATF_TARGET_MAP="PLAT=gateway_dk bl31;;build/gateway_dk/release/bl31.bin" declare -g ATFPATCHDIR='atf-ls1046a' -# RCW source (fetched during uboot postprocess) declare -g RCW_SOURCE='https://github.com/we-are-mono/rcw' declare -g RCW_BRANCH='commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2' diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 7ceb66d24718..5286f6f79dd2 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -15,7 +15,7 @@ # Source repos and refs (pinned to match Yocto) # For local testing: set ASK_REPO="file:///path/to/ASK" — the Docker mount hook below handles it declare -g ASK_REPO="https://github.com/we-are-mono/ASK.git" -declare -g ASK_BRANCH="branch:master" +declare -g ASK_BRANCH="branch:mt-6.12.y" declare -g FMLIB_REPO="https://github.com/nxp-qoriq/fmlib.git" declare -g FMLIB_COMMIT="7a58ecaf0d90d71d6b78d3ac7998282a472c4394" declare -g FMC_REPO="https://github.com/nxp-qoriq/fmc.git" @@ -101,6 +101,7 @@ function post_install_kernel_debs__build_ask_modules() { [[ -d "${ksrc}" ]] || exit_with_error "Kernel source tree not found at ${ksrc}" local cross="${KERNEL_COMPILER}" + local bsp_dir="${SRC}/packages/bsp/gateway-dk" local builddir="/tmp/ask-build-$$" mkdir -p "${builddir}" @@ -134,17 +135,17 @@ function post_install_kernel_debs__build_ask_modules() { # SFP-LED: GPIO-based SFP port LED control display_alert "ASK extension" "building SFP-LED kernel module" "info" mkdir -p "${builddir}/sfp-led" - cp "${SRC}/packages/bsp/gateway-dk/sfp-led.c" "${builddir}/sfp-led/" - cp "${SRC}/packages/bsp/gateway-dk/sfp-led.mk" "${builddir}/sfp-led/Makefile" + cp "${bsp_dir}/sfp-led.c" "${builddir}/sfp-led/" + cp "${bsp_dir}/sfp-led.mk" "${builddir}/sfp-led/Makefile" make -C "${builddir}/sfp-led" KERNEL_SRC="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" \ || exit_with_error "SFP-LED module build failed" # LP5812: TI 4x3 LED matrix controller (not yet in mainline, targeting 6.19+) display_alert "ASK extension" "building LP5812 LED driver" "info" mkdir -p "${builddir}/lp5812" - cp "${SRC}/packages/bsp/gateway-dk/leds-lp5812.c" "${builddir}/lp5812/" - cp "${SRC}/packages/bsp/gateway-dk/leds-lp5812.h" "${builddir}/lp5812/" - cp "${SRC}/packages/bsp/gateway-dk/leds-lp5812.mk" "${builddir}/lp5812/Makefile" + cp "${bsp_dir}/leds-lp5812.c" "${builddir}/lp5812/" + cp "${bsp_dir}/leds-lp5812.h" "${builddir}/lp5812/" + cp "${bsp_dir}/leds-lp5812.mk" "${builddir}/lp5812/Makefile" pushd "${builddir}/lp5812" make KERNEL_SRC="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" \ || exit_with_error "LP5812 module build failed" @@ -168,7 +169,7 @@ function post_install_kernel_debs__build_ask_modules() { cp "${ask_dir}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" # Clean up build dir - rm -rf "${builddir}/cdx" "${builddir}/fci" "${builddir}/auto-bridge" "${builddir}/sfp-led" "${builddir}/lp5812" + rm -rf "${builddir}" display_alert "ASK extension" "kernel modules built and installed" "info" } @@ -179,7 +180,7 @@ function pre_customize_image__000_prepare_ask_patches() { ask_dir=$(ask_ensure_cached) mkdir -p "${SDCARD}/tmp/ask-patches" - local patch_dirs=("libnetfilter-conntrack" "libnfnetlink" "iptables" "iproute2") + local patch_dirs=("libnetfilter-conntrack" "libnfnetlink" "iptables") for pdir in "${patch_dirs[@]}"; do [[ -d "${ask_dir}/patches/${pdir}" ]] || exit_with_error "ASK patch directory missing" "${ask_dir}/patches/${pdir}" cp "${ask_dir}/patches/${pdir}/"*.patch "${SDCARD}/tmp/ask-patches/" @@ -241,7 +242,6 @@ function pre_customize_image__001_build_ask_userspace() { cp "${ask_dir}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" chroot_sdcard "cd /tmp/ask-userspace/fmc && \ - find source -name '*.cpp' -o -name '*.h' -o -name '*.c' | xargs sed -i 's/\r\$//' && \ patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ make MACHINE=ls1043 \ FMD_USPACE_HEADER_PATH=/usr/include/fmd \ @@ -328,7 +328,7 @@ function pre_customize_image__001_build_ask_userspace() { # Pin patched packages to prevent apt upgrade from overwriting display_alert "ASK extension" "pinning patched packages" "info" - chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables iproute2" + chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables" # Install sysctl tuning for conntrack cat > "${SDCARD}/etc/sysctl.d/99-ls1046a-conntrack.conf" << 'EOF' @@ -351,7 +351,7 @@ function build_ask_patched_libraries() { # Install all build dependencies upfront display_alert "ASK extension" "installing build deps for patched libraries" "info" chroot_sdcard "DEBIAN_FRONTEND=noninteractive apt-get -y build-dep \ - libnetfilter-conntrack libnfnetlink iptables iproute2" + libnetfilter-conntrack libnfnetlink iptables" # Rebuild each patched library in an isolated directory rebuild_patched_deb "libnetfilter-conntrack" \ @@ -366,9 +366,6 @@ function build_ask_patched_libraries() { "001-qosmark-extensions.patch" \ "libip4tc2_*.deb libip6tc2_*.deb libxtables12_*.deb iptables_*.deb" - rebuild_patched_deb "iproute2" \ - "01-nxp-ask-etherip-4rd.patch" \ - "iproute2_*.deb" } # Helper: rebuild a Debian package with an ASK patch in an isolated chroot directory From fdd5e16d8b1b3449c4239a5915d2966af03dec56 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Mon, 6 Apr 2026 11:57:53 +0200 Subject: [PATCH 04/14] gateway-dk: code quality fixes before PR - Remove stale duplicate extension ls1046a-ask.sh - Board config: drop redundant SERIALCON, add HAS_VIDEO_OUTPUT=no and KERNEL_TEST_TARGET=current - Family config: replace hardcoded gateway_dk with LS1046A_PLAT variable in ATF/RCW build commands - BSP scripts: add set -e, validate LED sysfs paths before writing - BSP: fix generate-fancontrol-conf execute permission - Systemd services: replace fragile hwmon0 and DefaultDependencies=no with systemd-udev-settle.service dependency - Extension: add EXIT trap for module builddir cleanup on failure --- config/boards/gateway-dk.conf | 3 +- config/sources/families/ls1046a.conf | 15 +- extensions/gateway-dk-ask.sh | 4 +- extensions/ls1046a-ask.sh | 368 ------------------ .../bsp/gateway-dk/gateway-dk-leds.service | 3 +- packages/bsp/gateway-dk/gateway-dk-leds.sh | 7 +- .../bsp/gateway-dk/generate-fancontrol-conf | 1 + .../generate-fancontrol-conf.service | 3 +- 8 files changed, 22 insertions(+), 382 deletions(-) delete mode 100644 extensions/ls1046a-ask.sh mode change 100644 => 100755 packages/bsp/gateway-dk/generate-fancontrol-conf diff --git a/config/boards/gateway-dk.conf b/config/boards/gateway-dk.conf index 342f6965b32f..7aa11629596f 100644 --- a/config/boards/gateway-dk.conf +++ b/config/boards/gateway-dk.conf @@ -5,7 +5,8 @@ BOARDFAMILY="ls1046a" BOARD_MAINTAINER="tomazzaman" BOOTCONFIG="mono_gateway_dk_defconfig" KERNEL_TARGET="current" -SERIALCON="ttyS0" +KERNEL_TEST_TARGET="current" +HAS_VIDEO_OUTPUT="no" BOOT_FDT_FILE="freescale/mono-gateway-dk.dtb" BOOTENV_FILE="ls1046a.txt" diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf index 7759ac1e8c18..4adfe8d11b0b 100644 --- a/config/sources/families/ls1046a.conf +++ b/config/sources/families/ls1046a.conf @@ -48,9 +48,12 @@ declare -g UBOOT_TARGET_MAP=";;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls declare -g ATFSOURCE='https://github.com/we-are-mono/atf' declare -g ATFDIR='arm-trusted-firmware-ls1046a' declare -g ATFBRANCH='commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef' -declare -g ATF_TARGET_MAP="PLAT=gateway_dk bl31;;build/gateway_dk/release/bl31.bin" declare -g ATFPATCHDIR='atf-ls1046a' +# ATF/RCW platform name — boards can override this before family config is sourced +declare -g LS1046A_PLAT="${LS1046A_PLAT:-gateway_dk}" +declare -g ATF_TARGET_MAP="PLAT=${LS1046A_PLAT} bl31;;build/${LS1046A_PLAT}/release/bl31.bin" + declare -g RCW_SOURCE='https://github.com/we-are-mono/rcw' declare -g RCW_BRANCH='commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2' @@ -95,10 +98,10 @@ function uboot_custom_postprocess() { fetch_from_repo "${RCW_SOURCE}" "rcw-ls1046a" "${RCW_BRANCH}" "yes" local rcwdir="${SRC}/cache/sources/rcw-ls1046a/${RCW_BRANCH##*:}" pushd "${rcwdir}" || exit_with_error "Cannot enter RCW directory" - run_host_command_logged make BOARDS=gateway_dk + run_host_command_logged make BOARDS="${LS1046A_PLAT}" popd - local rcw_bin="${rcwdir}/gateway_dk/NN_FFSSPSNP_1133_5A06/rcw_2100_emmcboot.bin" + local rcw_bin="${rcwdir}/${LS1046A_PLAT}/NN_FFSSPSNP_1133_5A06/rcw_2100_emmcboot.bin" [[ ! -f "${rcw_bin}" ]] && exit_with_error "RCW binary not found at ${rcw_bin}" # Re-enter ATF directory and build PBL + FIP with BL33=u-boot.bin @@ -110,15 +113,15 @@ function uboot_custom_postprocess() { run_host_command_logged "CROSS_COMPILE='${ATF_COMPILER}'" \ "CFLAGS='-fdiagnostics-color=always'" \ make pbl fip \ - PLAT=gateway_dk \ + PLAT="${LS1046A_PLAT}" \ BOOT_MODE=emmc \ "RCW=${rcw_bin}" \ "BL33=${ubootdir}/u-boot.bin" \ "${CTHREADS}" # Copy final boot chain binaries to uboot output directory - run_host_command_logged cp -pv build/gateway_dk/release/bl2_emmc.pbl "${ubootdir}/" - run_host_command_logged cp -pv build/gateway_dk/release/fip.bin "${ubootdir}/" + run_host_command_logged cp -pv "build/${LS1046A_PLAT}/release/bl2_emmc.pbl" "${ubootdir}/" + run_host_command_logged cp -pv "build/${LS1046A_PLAT}/release/fip.bin" "${ubootdir}/" popd diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 5286f6f79dd2..286512670a45 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -104,6 +104,7 @@ function post_install_kernel_debs__build_ask_modules() { local bsp_dir="${SRC}/packages/bsp/gateway-dk" local builddir="/tmp/ask-build-$$" mkdir -p "${builddir}" + trap "rm -rf '${builddir}'" EXIT # Copy ASK module sources to build dir cp -a "${ask_dir}/${ASK_CDX_DIR}" "${builddir}/cdx" @@ -168,8 +169,9 @@ function post_install_kernel_debs__build_ask_modules() { # Install module load order config (from ASK repo) cp "${ask_dir}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" - # Clean up build dir + # Clean up build dir (also handled by EXIT trap on failure) rm -rf "${builddir}" + trap - EXIT display_alert "ASK extension" "kernel modules built and installed" "info" } diff --git a/extensions/ls1046a-ask.sh b/extensions/ls1046a-ask.sh deleted file mode 100644 index a972daec47f2..000000000000 --- a/extensions/ls1046a-ask.sh +++ /dev/null @@ -1,368 +0,0 @@ -#!/usr/bin/env bash -# -# SPDX-License-Identifier: GPL-2.0 -# -# Copyright (c) 2026 Mono Technologies Inc. -# -# NXP ASK (Application Solutions Kit) extension for LS1046A -# Builds and installs: kernel modules (CDX, FCI, auto-bridge), -# userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm), -# patched system libraries, and configuration files. -# -# All ASK sources, patches, and configs come from the ASK repo. -# - -# Source repos and refs (pinned to match Yocto) -# For local testing: set ASK_REPO="file:///path/to/ASK" — the Docker mount hook below handles it -declare -g ASK_REPO="https://github.com/we-are-mono/ASK.git" -declare -g ASK_BRANCH="branch:master" -declare -g FMLIB_REPO="https://github.com/nxp-qoriq/fmlib.git" -declare -g FMLIB_COMMIT="7a58ecaf0d90d71d6b78d3ac7998282a472c4394" -declare -g FMC_REPO="https://github.com/nxp-qoriq/fmc.git" -declare -g FMC_COMMIT="5b9f4b16a864e9dfa58cdcc860be278a7f66ac18" -declare -g LIBCLI_REPO="https://github.com/dparrish/libcli.git" -declare -g LIBCLI_COMMIT="6a3b2f96c4f0916e2603a96bf24d704f6a904e7a" - -# Target architecture triplet (Debian multiarch) -declare -g ASK_HOST_TRIPLET="aarch64-linux-gnu" - -# ASK component directories -declare -g ASK_CDX_DIR="cdx" -declare -g ASK_FCI_DIR="fci" -declare -g ASK_AUTOBRIDGE_DIR="auto_bridge" -declare -g ASK_DPA_APP_DIR="dpa_app" -declare -g ASK_CMM_DIR="cmm" - -# Mount local ASK repo into Docker container when using file:// URL -function host_pre_docker_launch__mount_local_ask() { - if [[ "${ASK_REPO}" == file://* ]]; then - local local_path="${ASK_REPO#file://}" - DOCKER_EXTRA_ARGS+=("--mount" "type=bind,source=${local_path},target=${local_path},readonly") - display_alert "ASK extension" "mounting local ASK repo into Docker: ${local_path}" "info" - fi -} - -# Helper: ensure ASK repo is cloned and cached -function ask_ensure_cached() { - local ask_cache="${SRC}/cache/sources/ask-repo/checkout" - if [[ ! -d "${ask_cache}/.git" ]]; then - display_alert "ASK extension" "cloning ASK repo" "info" >&2 - rm -rf "${ask_cache}" - # For local file:// repos in Docker, safe.directory is needed (container runs as root) - if [[ "${ASK_REPO}" == file://* ]]; then - local local_path="${ASK_REPO#file://}" - git config --global --add safe.directory "${local_path}" 2>/dev/null - git config --global --add safe.directory "${local_path}/.git" 2>/dev/null - fi - git clone --depth 1 --branch "${ASK_BRANCH##*:}" "${ASK_REPO}" "${ask_cache}" >&2 - fi - echo "${ask_cache}" -} - -# Ensure kernel headers are available for module builds -function extension_finish_config__ask_enable_headers() { - declare -g INSTALL_HEADERS="yes" - display_alert "ASK extension" "enabling kernel headers for module builds" "info" -} - -# Add host build dependencies -function add_host_dependencies__ask_deps() { - display_alert "Adding ASK host dependencies" "${EXTENSION}" "debug" - declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} libxml2-dev libtclap-dev libpcap-dev autoconf automake libtool pkg-config" -} - -# Apply ASK kernel patch from the ASK repo -function post_family_config__ask_kernel_patch() { - local ask_dir - ask_dir=$(ask_ensure_cached) - local patch_src="${ask_dir}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" - - local patch_dst="${SRC}/patch/kernel/archive/ls1046a-${KERNEL_MAJOR_MINOR}/003-mono-gateway-ask-kernel_linux_6_12.patch" - - if [[ -f "${patch_src}" ]]; then - display_alert "ASK extension" "copying kernel patch from ASK repo" "info" - rm -f "${patch_dst}" 2>/dev/null || true - run_host_command_logged cp "${patch_src}" "${patch_dst}" - else - exit_with_error "ASK kernel patch not found" "${patch_src}" - fi -} - -# Build kernel modules after kernel debs are installed in chroot -function post_install_kernel_debs__build_ask_modules() { - [[ "${INSTALL_HEADERS}" != "yes" ]] && return 0 - - display_alert "ASK extension" "building kernel modules (host cross-compile)" "info" - - local ask_dir - ask_dir=$(ask_ensure_cached) - - local kernel_ver - kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) - [[ -z "${kernel_ver}" ]] && exit_with_error "No kernel version found in ${SDCARD}/lib/modules/" - - # Full kernel source tree (needed for CDX — it includes ncsw_config.mk from the FMAN driver) - local ksrc="${SRC}/cache/sources/linux-kernel-worktree/${KERNEL_MAJOR_MINOR}__${LINUXFAMILY}__${ARCH}" - [[ -d "${ksrc}" ]] || exit_with_error "Kernel source tree not found at ${ksrc}" - - local cross="${KERNEL_COMPILER}" - local builddir="/tmp/ask-build-$$" - mkdir -p "${builddir}" - - # Copy ASK module sources to build dir - cp -a "${ask_dir}/${ASK_CDX_DIR}" "${builddir}/cdx" - cp -a "${ask_dir}/${ASK_FCI_DIR}" "${builddir}/fci" - cp -a "${ask_dir}/${ASK_AUTOBRIDGE_DIR}" "${builddir}/auto-bridge" - - # Build CDX module (cross-compile on host against full kernel source) - display_alert "ASK extension" "building CDX kernel module" "info" - make -C "${builddir}/cdx" \ - KERNELDIR="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" PLATFORM=LS1043A \ - CFG_FLAGS="-DSEC_PROFILE_SUPPORT -DVLAN_FILTER -DWIFI_ENABLE -DENABLE_EGRESS_QOS" \ - || exit_with_error "CDX module build failed" - - # Build FCI module (depends on CDX Module.symvers) - display_alert "ASK extension" "building FCI kernel module" "info" - make -C "${builddir}/fci" \ - KERNEL_SOURCE="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" BOARD_ARCH=arm64 \ - KBUILD_EXTRA_SYMBOLS="${builddir}/cdx/Module.symvers" \ - || exit_with_error "FCI module build failed" - - # Build auto-bridge module (uses its own Makefile which adds -I for br_private.h) - display_alert "ASK extension" "building auto-bridge kernel module" "info" - make -C "${builddir}/auto-bridge" \ - KERNEL_SOURCE="${ksrc}" CROSS_COMPILE="${cross}" PLATFORM=LS1043A ENABLE_VLAN_FILTER=y \ - || exit_with_error "auto-bridge module build failed" - - # Install modules into rootfs - mkdir -p "${SDCARD}/lib/modules/${kernel_ver}/extra" - cp "${builddir}/cdx/cdx.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - cp "${builddir}/fci/fci.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - cp "${builddir}/auto-bridge/auto_bridge.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - - # Update module dependencies - chroot_sdcard "depmod -a ${kernel_ver}" - - # Install module load order config (from ASK repo) - cp "${ask_dir}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" - - # Clean up build dir - rm -rf "${builddir}/cdx" "${builddir}/fci" "${builddir}/auto-bridge" - - display_alert "ASK extension" "kernel modules built and installed" "info" -} - -# Copy patches into chroot before patched library builds (runs before build_ask_userspace) -function pre_customize_image__000_prepare_ask_patches() { - local ask_dir - ask_dir=$(ask_ensure_cached) - - mkdir -p "${SDCARD}/tmp/ask-patches" - local patch_dirs=("libnetfilter-conntrack" "libnfnetlink" "iptables" "iproute2") - for pdir in "${patch_dirs[@]}"; do - [[ -d "${ask_dir}/patches/${pdir}" ]] || exit_with_error "ASK patch directory missing" "${ask_dir}/patches/${pdir}" - cp "${ask_dir}/patches/${pdir}/"*.patch "${SDCARD}/tmp/ask-patches/" - done - - # Enable deb-src for apt-get source - chroot_sdcard "if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ - sed -i 's/^Types: deb\$/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources; \ - elif [ -f /etc/apt/sources.list ]; then \ - sed -i 's/^#\\s*deb-src/deb-src/' /etc/apt/sources.list; \ - fi && apt-get update -qq" - chroot_sdcard_apt_get_install dpkg-dev devscripts -} - -# Build and install all ASK userspace components -function pre_customize_image__001_build_ask_userspace() { - display_alert "ASK extension" "building userspace components" "info" - - local ask_dir - ask_dir=$(ask_ensure_cached) - local kernel_ver - kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) - local kdir="/usr/src/linux-headers-${kernel_ver}" - - # Install build dependencies in chroot - display_alert "ASK extension" "installing build dependencies" "info" - chroot_sdcard_apt_get_install build-essential autoconf automake libtool \ - pkg-config libxml2-dev libpcap-dev libcrypt-dev libtclap-dev - - # Copy sources into chroot - mkdir -p "${SDCARD}/tmp/ask-userspace" - - # --- fmlib --- - display_alert "ASK extension" "building fmlib" "info" - if [[ ! -d "${SRC}/cache/sources/fmlib" ]]; then - run_host_command_logged git clone "${FMLIB_REPO}" "${SRC}/cache/sources/fmlib" - pushd "${SRC}/cache/sources/fmlib" || exit_with_error "Cannot enter fmlib" - run_host_command_logged git checkout "${FMLIB_COMMIT}" - popd - fi - cp -a "${SRC}/cache/sources/fmlib" "${SDCARD}/tmp/ask-userspace/fmlib" - cp "${ask_dir}/patches/fmlib/"*.patch "${SDCARD}/tmp/ask-userspace/" - - chroot_sdcard "cd /tmp/ask-userspace/fmlib && \ - patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ - make KERNEL_SRC=${kdir} libfm-arm.a && \ - make DESTDIR=/ PREFIX=/usr LIB_DEST_DIR=/usr/lib/${ASK_HOST_TRIPLET} install-libfm-arm && \ - rm -rf /usr/src" - - # --- fmc --- - display_alert "ASK extension" "building fmc" "info" - if [[ ! -d "${SRC}/cache/sources/fmc" ]]; then - run_host_command_logged git clone "${FMC_REPO}" "${SRC}/cache/sources/fmc" - pushd "${SRC}/cache/sources/fmc" || exit_with_error "Cannot enter fmc" - run_host_command_logged git checkout "${FMC_COMMIT}" - popd - fi - cp -a "${SRC}/cache/sources/fmc" "${SDCARD}/tmp/ask-userspace/fmc" - cp "${ask_dir}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" - - chroot_sdcard "cd /tmp/ask-userspace/fmc && \ - find source -name '*.cpp' -o -name '*.h' -o -name '*.c' | xargs sed -i 's/\r\$//' && \ - patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ - make MACHINE=ls1043 \ - FMD_USPACE_HEADER_PATH=/usr/include/fmd \ - FMD_USPACE_LIB_PATH=/usr/lib/${ASK_HOST_TRIPLET} \ - LIBXML2_HEADER_PATH=/usr/include/libxml2 \ - TCLAP_HEADER_PATH=/usr/include \ - -C source && \ - install -m 755 source/fmc /usr/bin/ && \ - install -d /usr/include/fmc && \ - install -m 644 source/fmc.h /usr/include/fmc/ && \ - install -m 644 source/libfmc.a /usr/lib/${ASK_HOST_TRIPLET}/ && \ - install -d /etc/fmc/config && \ - install -m 644 etc/fmc/config/* /etc/fmc/config/" - - # --- libcli --- - display_alert "ASK extension" "building libcli" "info" - if [[ ! -d "${SRC}/cache/sources/libcli" ]]; then - run_host_command_logged git clone "${LIBCLI_REPO}" "${SRC}/cache/sources/libcli" - pushd "${SRC}/cache/sources/libcli" || exit_with_error "Cannot enter libcli" - run_host_command_logged git checkout "${LIBCLI_COMMIT}" - popd - fi - cp -a "${SRC}/cache/sources/libcli" "${SDCARD}/tmp/ask-userspace/libcli" - - chroot_sdcard "cd /tmp/ask-userspace/libcli && \ - make CFLAGS='-Wno-calloc-transposed-args' && \ - make PREFIX=/usr DESTDIR=/ install" - - # --- libfci --- - display_alert "ASK extension" "building libfci" "info" - cp -a "${ask_dir}/${ASK_FCI_DIR}/lib" "${SDCARD}/tmp/ask-userspace/libfci" - - chroot_sdcard "cd /tmp/ask-userspace/libfci && \ - touch README && \ - autoreconf -fi && \ - ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ - make && make install && \ - install -m 644 include/libfci.h /usr/include/" - - # --- dpa-app --- - display_alert "ASK extension" "building dpa-app" "info" - cp -a "${ask_dir}/${ASK_DPA_APP_DIR}" "${SDCARD}/tmp/ask-userspace/dpa-app" - # Copy CDX header - mkdir -p "${SDCARD}/usr/include/cdx" - cp "${ask_dir}/${ASK_CDX_DIR}/cdx_ioctl.h" "${SDCARD}/usr/include/cdx/" - - chroot_sdcard "cd /tmp/ask-userspace/dpa-app && \ - make CC=gcc \ - CFLAGS='-DENDIAN_LITTLE -DLS1043 -DNCSW_LINUX -DDPAA_DEBUG_ENABLE -DSEC_PROFILE_SUPPORT -DVLAN_FILTER \ - -I/usr/include/fmc -I/usr/include/fmd -I/usr/include/fmd/integrations \ - -I/usr/include/fmd/Peripherals -I/usr/include/fmd/Peripherals/common -I/usr/include/cdx' \ - LDFLAGS='-lfmc -lfm-arm -lstdc++ -lxml2 -lpthread -lcli' && \ - install -m 755 dpa_app /usr/bin/" - - # Install DPA-App config files (from ASK repo) - cp "${ask_dir}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" - cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_pcd.xml" "${SDCARD}/etc/" - cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" 2>/dev/null || true - - # --- Patched system libraries (must be before CMM which depends on patched libnetfilter-conntrack) --- - build_ask_patched_libraries - - # --- cmm --- - display_alert "ASK extension" "building cmm" "info" - cp -a "${ask_dir}/${ASK_CMM_DIR}" "${SDCARD}/tmp/ask-userspace/cmm" - # Copy auto-bridge header for CMM - cp "${ask_dir}/${ASK_AUTOBRIDGE_DIR}/include/auto_bridge.h" "${SDCARD}/usr/include/" - - chroot_sdcard "cd /tmp/ask-userspace/cmm && \ - make distclean || true && \ - rm -f config.log config.status && \ - autoreconf -fi && \ - CFLAGS='-DLS1043 -DFLOW_STATS -DWIFI_ENABLE -DSEC_PROFILE_SUPPORT -DUSE_QOSCONNMARK \ - -DENABLE_INGRESS_QOS -DIPSEC_NO_FLOW_CACHE -DVLAN_FILTER -DAUTO_BRIDGE' \ - ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ - make && make install" - - # Install and enable CMM service (from ASK repo) - # Guarded by ConditionPathExists=/dev/cdx_ctrl — won't start without ASK FMAN ucode on NOR - cp "${ask_dir}/config/cmm.service" "${SDCARD}/etc/systemd/system/" - mkdir -p "${SDCARD}/etc/config" - cp "${ask_dir}/config/fastforward" "${SDCARD}/etc/config/" - chroot_sdcard "systemctl enable cmm.service" - - # Pin patched packages to prevent apt upgrade from overwriting - display_alert "ASK extension" "pinning patched packages" "info" - chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables iproute2" - - # Install sysctl tuning for conntrack - cat > "${SDCARD}/etc/sysctl.d/99-ls1046a-conntrack.conf" << 'EOF' -net.netfilter.nf_conntrack_acct=1 -net.netfilter.nf_conntrack_checksum=0 -net.netfilter.nf_conntrack_max=131072 -net.netfilter.nf_conntrack_tcp_timeout_established=7440 -net.netfilter.nf_conntrack_udp_timeout=60 -net.netfilter.nf_conntrack_udp_timeout_stream=180 -EOF - - # Cleanup - rm -rf "${SDCARD}/tmp/ask-userspace" "${SDCARD}/tmp/ask-patches" - - display_alert "ASK extension" "all userspace components built and installed" "info" -} - -# Build patched versions of system libraries -function build_ask_patched_libraries() { - # Install all build dependencies upfront - display_alert "ASK extension" "installing build deps for patched libraries" "info" - chroot_sdcard "DEBIAN_FRONTEND=noninteractive apt-get -y build-dep \ - libnetfilter-conntrack libnfnetlink iptables iproute2" - - # Rebuild each patched library in an isolated directory - rebuild_patched_deb "libnetfilter-conntrack" \ - "01-nxp-ask-comcerto-fp-extensions.patch" \ - "libnetfilter-conntrack3_*.deb libnetfilter-conntrack-dev_*.deb" - - rebuild_patched_deb "libnfnetlink" \ - "01-nxp-ask-nonblocking-heap-buffer.patch" \ - "libnfnetlink0_*.deb libnfnetlink-dev_*.deb" - - rebuild_patched_deb "iptables" \ - "001-qosmark-extensions.patch" \ - "libip4tc2_*.deb libip6tc2_*.deb libxtables12_*.deb iptables_*.deb" - - rebuild_patched_deb "iproute2" \ - "01-nxp-ask-etherip-4rd.patch" \ - "iproute2_*.deb" -} - -# Helper: rebuild a Debian package with an ASK patch in an isolated chroot directory -# Usage: rebuild_patched_deb -function rebuild_patched_deb() { - local pkg="$1" patch="$2" debs="$3" - local workdir="/tmp/ask-rebuild-${pkg}" - - display_alert "ASK extension" "rebuilding ${pkg}" "info" - chroot_sdcard "set -e && \ - rm -rf ${workdir} && mkdir -p ${workdir} && cd ${workdir} && \ - apt-get source ${pkg} && \ - cd \$(ls -d ${pkg}-*/ | head -1) && \ - patch -p1 < /tmp/ask-patches/${patch} && \ - DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc -us && \ - cd ${workdir} && dpkg -i ${debs} && \ - rm -rf ${workdir}" -} diff --git a/packages/bsp/gateway-dk/gateway-dk-leds.service b/packages/bsp/gateway-dk/gateway-dk-leds.service index 50186052bf87..e688d2d1932d 100644 --- a/packages/bsp/gateway-dk/gateway-dk-leds.service +++ b/packages/bsp/gateway-dk/gateway-dk-leds.service @@ -1,7 +1,6 @@ [Unit] Description=Mono Gateway DK boot LED indicator -After=systemd-modules-load.service -DefaultDependencies=no +After=systemd-modules-load.service systemd-udev-settle.service [Service] Type=oneshot diff --git a/packages/bsp/gateway-dk/gateway-dk-leds.sh b/packages/bsp/gateway-dk/gateway-dk-leds.sh index 695b68778ed0..1aaae857a4bd 100644 --- a/packages/bsp/gateway-dk/gateway-dk-leds.sh +++ b/packages/bsp/gateway-dk/gateway-dk-leds.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e # Mono Gateway DK — switch from U-Boot green LED to white (Linux booted) -echo 0 > /sys/class/leds/status:green/brightness -echo 32 > /sys/class/leds/status:white/brightness +GREEN="/sys/class/leds/status:green/brightness" +WHITE="/sys/class/leds/status:white/brightness" +[[ -w "$GREEN" ]] && echo 0 > "$GREEN" +[[ -w "$WHITE" ]] && echo 32 > "$WHITE" diff --git a/packages/bsp/gateway-dk/generate-fancontrol-conf b/packages/bsp/gateway-dk/generate-fancontrol-conf old mode 100644 new mode 100755 index 7f647ae89939..fd1d25fcf91f --- a/packages/bsp/gateway-dk/generate-fancontrol-conf +++ b/packages/bsp/gateway-dk/generate-fancontrol-conf @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Generate /etc/fancontrol with correct hwmon numbers for Mono Gateway DK # EMC2305 fan controller driven by cluster_thermal CPU temperature # Retries for up to 30s in case hwmon devices aren't ready at boot diff --git a/packages/bsp/gateway-dk/generate-fancontrol-conf.service b/packages/bsp/gateway-dk/generate-fancontrol-conf.service index 2f83a7e95212..4ab8bd4d076d 100644 --- a/packages/bsp/gateway-dk/generate-fancontrol-conf.service +++ b/packages/bsp/gateway-dk/generate-fancontrol-conf.service @@ -1,8 +1,7 @@ [Unit] Description=Generate fancontrol configuration for Mono Gateway DK Before=fancontrol.service -DefaultDependencies=no -After=sys-subsystem-hwmon-devices-hwmon0.device +After=systemd-udev-settle.service [Service] Type=oneshot From 54a72754cea7646a6b99cd13127116a9afaee1ae Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Mon, 6 Apr 2026 18:42:37 +0200 Subject: [PATCH 05/14] gateway-dk: harden board/family config for upstream PR - Remove vim from family_tweaks (user preference, not board dep) - Move board-specific BSP (fan control) from family to board config - Consolidate LED module-load into single gateway-dk-leds.conf - Make BOOTSOURCE/ATFSOURCE/RCW_SOURCE overridable via ${VAR:-default} - Replace echo-return pattern with declare -g in ensure_fman_ucode_cached - Replace custom ask_ensure_cached with fetch_from_repo in post_family_config - Use mktemp -d instead of /tmp/ask-build-$$ - Add proper git-format headers and Signed-off-by to DTS patch - Fix DTS Makefile alphabetical ordering (after fsl-ls1046a, not fsl-ls1012a) - Fix copyright year to 2026 - Document board-specific ethact/ethprime in bootenv - Document apt-mark hold rationale for patched ASK libraries - Add comment explaining NXP LS1043A platform ID for DPAA1 SoCs - Remove iproute2 from CLAUDE.md (no patches exist in ASK repo) --- config/boards/gateway-dk.conf | 11 ++- config/bootenv/ls1046a.txt | 2 + config/sources/families/ls1046a.conf | 63 ++++++-------- extensions/gateway-dk-ask.sh | 82 ++++++++----------- ...-dts-Add-Mono-Gateway-DK-device-tree.patch | 30 +++++-- 5 files changed, 96 insertions(+), 92 deletions(-) diff --git a/config/boards/gateway-dk.conf b/config/boards/gateway-dk.conf index 7aa11629596f..cda36696725c 100644 --- a/config/boards/gateway-dk.conf +++ b/config/boards/gateway-dk.conf @@ -16,16 +16,23 @@ enable_extension "gateway-dk-ask" function post_family_tweaks_bsp__gateway_dk_board() { # Board-specific kernel modules auto-load mkdir -p "${destination}/etc/modules-load.d" - echo "sfp-led" > "${destination}/etc/modules-load.d/sfp-led.conf" - echo "leds-lp5812" > "${destination}/etc/modules-load.d/leds-lp5812.conf" + printf '%s\n' sfp-led leds-lp5812 > "${destination}/etc/modules-load.d/gateway-dk-leds.conf" # Boot LED indicator (green off, white on = Linux booted) install -Dm 755 "${SRC}/packages/bsp/gateway-dk/gateway-dk-leds.sh" \ "${destination}/usr/local/bin/gateway-dk-leds.sh" install -Dm 644 "${SRC}/packages/bsp/gateway-dk/gateway-dk-leds.service" \ "${destination}/etc/systemd/system/gateway-dk-leds.service" + + # Fan control — EMC2305 driven by cluster_thermal CPU temperature + install -Dm 755 "${SRC}/packages/bsp/gateway-dk/generate-fancontrol-conf" \ + "${destination}/usr/local/bin/generate-fancontrol-conf" + install -Dm 644 "${SRC}/packages/bsp/gateway-dk/generate-fancontrol-conf.service" \ + "${destination}/etc/systemd/system/generate-fancontrol-conf.service" } function post_family_tweaks__gateway_dk_services() { chroot_sdcard "systemctl enable gateway-dk-leds.service" + chroot_sdcard "systemctl enable generate-fancontrol-conf.service" + chroot_sdcard "systemctl enable fancontrol.service" } diff --git a/config/bootenv/ls1046a.txt b/config/bootenv/ls1046a.txt index b687cecc592b..09981adb32bf 100644 --- a/config/bootenv/ls1046a.txt +++ b/config/bootenv/ls1046a.txt @@ -20,5 +20,7 @@ bootdelay=3 bootcmd=sysboot mmc 0:1 any ${scriptaddr} /boot/extlinux/extlinux.conf +# Default Ethernet — board-specific, depends on SERDES lane assignment +# Gateway DK: fm1-mac5 is the first 1GbE SGMII port ethact=fm1-mac5 ethprime=fm1-mac5 diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf index 4adfe8d11b0b..022e5724ce73 100644 --- a/config/sources/families/ls1046a.conf +++ b/config/sources/families/ls1046a.conf @@ -38,41 +38,40 @@ esac declare -g KERNELPATCHDIR="archive/ls1046a-${KERNEL_MAJOR_MINOR}" -# U-Boot, ATF, and RCW — Mono Gateway DK forks with custom DDR4 config and RCW -# Other LS1046A boards should override these in their board config -declare -g BOOTSOURCE='https://github.com/we-are-mono/u-boot' -declare -g BOOTBRANCH='commit:9f13d11658f696d4d1b4f76fa88264c52bd2e7c2' -declare -g BOOTPATCHDIR="u-boot-ls1046a" -declare -g UBOOT_TARGET_MAP=";;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls1046_r1.0_108_4_9.bin u-boot-env.bin" - -declare -g ATFSOURCE='https://github.com/we-are-mono/atf' -declare -g ATFDIR='arm-trusted-firmware-ls1046a' -declare -g ATFBRANCH='commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef' -declare -g ATFPATCHDIR='atf-ls1046a' - -# ATF/RCW platform name — boards can override this before family config is sourced +# U-Boot, ATF, and RCW — defaults are Mono Gateway DK forks with custom DDR4 config and RCW +# Other LS1046A boards can override these in their board config (sourced before family) +declare -g BOOTSOURCE="${BOOTSOURCE:-https://github.com/we-are-mono/u-boot}" +declare -g BOOTBRANCH="${BOOTBRANCH:-commit:9f13d11658f696d4d1b4f76fa88264c52bd2e7c2}" +declare -g BOOTPATCHDIR="${BOOTPATCHDIR:-u-boot-ls1046a}" +declare -g UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-;;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls1046_r1.0_108_4_9.bin u-boot-env.bin}" + +declare -g ATFSOURCE="${ATFSOURCE:-https://github.com/we-are-mono/atf}" +declare -g ATFDIR="${ATFDIR:-arm-trusted-firmware-ls1046a}" +declare -g ATFBRANCH="${ATFBRANCH:-commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef}" +declare -g ATFPATCHDIR="${ATFPATCHDIR:-atf-ls1046a}" + +# ATF/RCW platform name — boards can override before family config is sourced declare -g LS1046A_PLAT="${LS1046A_PLAT:-gateway_dk}" declare -g ATF_TARGET_MAP="PLAT=${LS1046A_PLAT} bl31;;build/${LS1046A_PLAT}/release/bl31.bin" -declare -g RCW_SOURCE='https://github.com/we-are-mono/rcw' -declare -g RCW_BRANCH='commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2' +declare -g RCW_SOURCE="${RCW_SOURCE:-https://github.com/we-are-mono/rcw}" +declare -g RCW_BRANCH="${RCW_BRANCH:-commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2}" # FMAN microcode (fetched during family_tweaks) declare -g FMAN_UCODE_SOURCE='https://github.com/NXP/qoriq-fm-ucode.git' declare -g FMAN_UCODE_SRCREV='41d603a1ad78e0bb61365500828d9f484bf9bf10' declare -g FMAN_UCODE_FILE='fsl_fman_ucode_ls1046_r1.0_108_4_9.bin' -# Helper: ensure FMAN microcode is fetched and cached +# Helper: ensure FMAN microcode is fetched and cached (sets FMAN_UCODE_DIR) function ensure_fman_ucode_cached() { - local fman_dir="${SRC}/cache/sources/qoriq-fm-ucode" - if [[ ! -d "${fman_dir}/.git" ]]; then - rm -rf "${fman_dir}" - run_host_command_logged git clone "${FMAN_UCODE_SOURCE}" "${fman_dir}" - pushd "${fman_dir}" || exit_with_error "Cannot enter fm-ucode directory" + declare -g FMAN_UCODE_DIR="${SRC}/cache/sources/qoriq-fm-ucode" + if [[ ! -d "${FMAN_UCODE_DIR}/.git" ]]; then + rm -rf "${FMAN_UCODE_DIR}" + run_host_command_logged git clone "${FMAN_UCODE_SOURCE}" "${FMAN_UCODE_DIR}" + pushd "${FMAN_UCODE_DIR}" || exit_with_error "Cannot enter fm-ucode directory" run_host_command_logged git checkout "${FMAN_UCODE_SRCREV}" popd fi - echo "${fman_dir}" } # RCW build needs tcl @@ -127,9 +126,8 @@ function uboot_custom_postprocess() { # Fetch FMAN microcode and copy to uboot output dir so it gets packaged display_alert "LS1046A boot chain" "fetching FMAN microcode" "info" - local fman_dir - fman_dir=$(ensure_fman_ucode_cached) - run_host_command_logged cp -pv "${fman_dir}/${FMAN_UCODE_FILE}" "${ubootdir}/" + ensure_fman_ucode_cached + run_host_command_logged cp -pv "${FMAN_UCODE_DIR}/${FMAN_UCODE_FILE}" "${ubootdir}/" # Build U-Boot environment binary (8KB at 3MB offset on eMMC) display_alert "LS1046A boot chain" "building U-Boot environment" "info" @@ -160,27 +158,18 @@ function write_uboot_platform() { function family_tweaks() { # Install FMAN microcode to rootfs display_alert "Installing FMAN microcode" "${FMAN_UCODE_FILE}" "info" - local fman_dir - fman_dir=$(ensure_fman_ucode_cached) + ensure_fman_ucode_cached mkdir -p "${SDCARD}/lib/firmware/" - cp "${fman_dir}/${FMAN_UCODE_FILE}" "${SDCARD}/lib/firmware/${FMAN_UCODE_FILE}" + cp "${FMAN_UCODE_DIR}/${FMAN_UCODE_FILE}" "${SDCARD}/lib/firmware/${FMAN_UCODE_FILE}" # Enable IP forwarding (common for gateway devices) echo "net.ipv4.ip_forward=1" > "${SDCARD}/etc/sysctl.d/99-ls1046a-forwarding.conf" # Fan control — install package and enable services display_alert "Installing fancontrol" "emc2305 + cluster_thermal" "info" - chroot_sdcard_apt_get_install fancontrol lm-sensors vim - chroot_sdcard "systemctl enable generate-fancontrol-conf.service" - chroot_sdcard "systemctl enable fancontrol.service" + chroot_sdcard_apt_get_install fancontrol lm-sensors } function family_tweaks_bsp() { : "${destination:?destination is not set}" - - # Fan control — EMC2305 driven by cluster_thermal CPU temperature - install -Dm 755 "${SRC}/packages/bsp/gateway-dk/generate-fancontrol-conf" \ - "${destination}/usr/local/bin/generate-fancontrol-conf" - install -Dm 644 "${SRC}/packages/bsp/gateway-dk/generate-fancontrol-conf.service" \ - "${destination}/etc/systemd/system/generate-fancontrol-conf.service" } diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 286512670a45..5c09b3f9a0ca 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -42,21 +42,17 @@ function host_pre_docker_launch__mount_local_ask() { fi } -# Helper: ensure ASK repo is cloned and cached -function ask_ensure_cached() { - local ask_cache="${SRC}/cache/sources/ask-repo/checkout" - if [[ ! -d "${ask_cache}/.git" ]]; then - display_alert "ASK extension" "cloning ASK repo" "info" >&2 - rm -rf "${ask_cache}" - # For local file:// repos in Docker, safe.directory is needed (container runs as root) - if [[ "${ASK_REPO}" == file://* ]]; then - local local_path="${ASK_REPO#file://}" - git config --global --add safe.directory "${local_path}" 2>/dev/null - git config --global --add safe.directory "${local_path}/.git" 2>/dev/null - fi - git clone --depth 1 --branch "${ASK_BRANCH##*:}" "${ASK_REPO}" "${ask_cache}" >&2 +# Fetch ASK repo (sets ASK_CACHE_DIR for all later build phases) +# Uses post_family_config because the kernel patch staging hook needs it before fetch_sources_tools runs +function post_family_config__ask_fetch_repo() { + # For local file:// repos in Docker, safe.directory is needed (container runs as root) + if [[ "${ASK_REPO}" == file://* ]]; then + local local_path="${ASK_REPO#file://}" + git config --global --add safe.directory "${local_path}" 2>/dev/null + git config --global --add safe.directory "${local_path}/.git" 2>/dev/null fi - echo "${ask_cache}" + fetch_from_repo "${ASK_REPO}" "ask-repo" "${ASK_BRANCH}" + declare -g ASK_CACHE_DIR="${SRC}/cache/sources/ask-repo" } # Ensure kernel headers are available for module builds @@ -73,9 +69,7 @@ function add_host_dependencies__ask_deps() { # Copy ASK kernel patch to userpatches (gitignored) so it's applied during kernel build function post_family_config__ask_kernel_patch() { - local ask_dir - ask_dir=$(ask_ensure_cached) - local patch_src="${ask_dir}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" + local patch_src="${ASK_CACHE_DIR}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" [[ -f "${patch_src}" ]] || exit_with_error "ASK kernel patch not found" "${patch_src}" local patch_dst="${SRC}/userpatches/kernel/archive/ls1046a-${KERNEL_MAJOR_MINOR}" mkdir -p "${patch_dst}" @@ -89,9 +83,6 @@ function post_install_kernel_debs__build_ask_modules() { display_alert "ASK extension" "building kernel modules (host cross-compile)" "info" - local ask_dir - ask_dir=$(ask_ensure_cached) - local kernel_ver kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) [[ -z "${kernel_ver}" ]] && exit_with_error "No kernel version found in ${SDCARD}/lib/modules/" @@ -102,16 +93,17 @@ function post_install_kernel_debs__build_ask_modules() { local cross="${KERNEL_COMPILER}" local bsp_dir="${SRC}/packages/bsp/gateway-dk" - local builddir="/tmp/ask-build-$$" - mkdir -p "${builddir}" + local builddir + builddir=$(mktemp -d) trap "rm -rf '${builddir}'" EXIT # Copy ASK module sources to build dir - cp -a "${ask_dir}/${ASK_CDX_DIR}" "${builddir}/cdx" - cp -a "${ask_dir}/${ASK_FCI_DIR}" "${builddir}/fci" - cp -a "${ask_dir}/${ASK_AUTOBRIDGE_DIR}" "${builddir}/auto-bridge" + cp -a "${ASK_CACHE_DIR}/${ASK_CDX_DIR}" "${builddir}/cdx" + cp -a "${ASK_CACHE_DIR}/${ASK_FCI_DIR}" "${builddir}/fci" + cp -a "${ASK_CACHE_DIR}/${ASK_AUTOBRIDGE_DIR}" "${builddir}/auto-bridge" # Build CDX module (cross-compile on host against full kernel source) + # NXP ASK uses LS1043A as the DPAA1 platform ID for all DPAA1 SoCs (LS1043A/LS1046A) display_alert "ASK extension" "building CDX kernel module" "info" make -C "${builddir}/cdx" \ KERNELDIR="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" PLATFORM=LS1043A \ @@ -167,7 +159,7 @@ function post_install_kernel_debs__build_ask_modules() { chroot_sdcard "depmod -a ${kernel_ver}" # Install module load order config (from ASK repo) - cp "${ask_dir}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" + cp "${ASK_CACHE_DIR}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" # Clean up build dir (also handled by EXIT trap on failure) rm -rf "${builddir}" @@ -178,14 +170,11 @@ function post_install_kernel_debs__build_ask_modules() { # Copy patches into chroot before patched library builds (runs before build_ask_userspace) function pre_customize_image__000_prepare_ask_patches() { - local ask_dir - ask_dir=$(ask_ensure_cached) - mkdir -p "${SDCARD}/tmp/ask-patches" local patch_dirs=("libnetfilter-conntrack" "libnfnetlink" "iptables") for pdir in "${patch_dirs[@]}"; do - [[ -d "${ask_dir}/patches/${pdir}" ]] || exit_with_error "ASK patch directory missing" "${ask_dir}/patches/${pdir}" - cp "${ask_dir}/patches/${pdir}/"*.patch "${SDCARD}/tmp/ask-patches/" + [[ -d "${ASK_CACHE_DIR}/patches/${pdir}" ]] || exit_with_error "ASK patch directory missing" "${ASK_CACHE_DIR}/patches/${pdir}" + cp "${ASK_CACHE_DIR}/patches/${pdir}/"*.patch "${SDCARD}/tmp/ask-patches/" done # Enable deb-src for apt-get source @@ -201,8 +190,6 @@ function pre_customize_image__000_prepare_ask_patches() { function pre_customize_image__001_build_ask_userspace() { display_alert "ASK extension" "building userspace components" "info" - local ask_dir - ask_dir=$(ask_ensure_cached) local kernel_ver kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) local kdir="/usr/src/linux-headers-${kernel_ver}" @@ -224,7 +211,7 @@ function pre_customize_image__001_build_ask_userspace() { popd fi cp -a "${SRC}/cache/sources/fmlib" "${SDCARD}/tmp/ask-userspace/fmlib" - cp "${ask_dir}/patches/fmlib/"*.patch "${SDCARD}/tmp/ask-userspace/" + cp "${ASK_CACHE_DIR}/patches/fmlib/"*.patch "${SDCARD}/tmp/ask-userspace/" chroot_sdcard "cd /tmp/ask-userspace/fmlib && \ patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ @@ -241,7 +228,7 @@ function pre_customize_image__001_build_ask_userspace() { popd fi cp -a "${SRC}/cache/sources/fmc" "${SDCARD}/tmp/ask-userspace/fmc" - cp "${ask_dir}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" + cp "${ASK_CACHE_DIR}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" chroot_sdcard "cd /tmp/ask-userspace/fmc && \ patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ @@ -274,7 +261,7 @@ function pre_customize_image__001_build_ask_userspace() { # --- libfci --- display_alert "ASK extension" "building libfci" "info" - cp -a "${ask_dir}/${ASK_FCI_DIR}/lib" "${SDCARD}/tmp/ask-userspace/libfci" + cp -a "${ASK_CACHE_DIR}/${ASK_FCI_DIR}/lib" "${SDCARD}/tmp/ask-userspace/libfci" chroot_sdcard "cd /tmp/ask-userspace/libfci && \ touch README && \ @@ -285,10 +272,10 @@ function pre_customize_image__001_build_ask_userspace() { # --- dpa-app --- display_alert "ASK extension" "building dpa-app" "info" - cp -a "${ask_dir}/${ASK_DPA_APP_DIR}" "${SDCARD}/tmp/ask-userspace/dpa-app" + cp -a "${ASK_CACHE_DIR}/${ASK_DPA_APP_DIR}" "${SDCARD}/tmp/ask-userspace/dpa-app" # Copy CDX header mkdir -p "${SDCARD}/usr/include/cdx" - cp "${ask_dir}/${ASK_CDX_DIR}/cdx_ioctl.h" "${SDCARD}/usr/include/cdx/" + cp "${ASK_CACHE_DIR}/${ASK_CDX_DIR}/cdx_ioctl.h" "${SDCARD}/usr/include/cdx/" chroot_sdcard "cd /tmp/ask-userspace/dpa-app && \ make CC=gcc \ @@ -299,18 +286,18 @@ function pre_customize_image__001_build_ask_userspace() { install -m 755 dpa_app /usr/bin/" # Install DPA-App config files (from ASK repo) - cp "${ask_dir}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" - cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_pcd.xml" "${SDCARD}/etc/" - cp "${ask_dir}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" 2>/dev/null || true + cp "${ASK_CACHE_DIR}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" + cp "${ASK_CACHE_DIR}/${ASK_DPA_APP_DIR}/files/etc/cdx_pcd.xml" "${SDCARD}/etc/" + cp "${ASK_CACHE_DIR}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" 2>/dev/null || true # --- Patched system libraries (must be before CMM which depends on patched libnetfilter-conntrack) --- build_ask_patched_libraries # --- cmm --- display_alert "ASK extension" "building cmm" "info" - cp -a "${ask_dir}/${ASK_CMM_DIR}" "${SDCARD}/tmp/ask-userspace/cmm" + cp -a "${ASK_CACHE_DIR}/${ASK_CMM_DIR}" "${SDCARD}/tmp/ask-userspace/cmm" # Copy auto-bridge header for CMM - cp "${ask_dir}/${ASK_AUTOBRIDGE_DIR}/include/auto_bridge.h" "${SDCARD}/usr/include/" + cp "${ASK_CACHE_DIR}/${ASK_AUTOBRIDGE_DIR}/include/auto_bridge.h" "${SDCARD}/usr/include/" chroot_sdcard "cd /tmp/ask-userspace/cmm && \ make distclean || true && \ @@ -323,12 +310,15 @@ function pre_customize_image__001_build_ask_userspace() { # Install and enable CMM service (from ASK repo) # Guarded by ConditionPathExists=/dev/cdx_ctrl — won't start without ASK FMAN ucode on NOR - cp "${ask_dir}/config/cmm.service" "${SDCARD}/etc/systemd/system/" + cp "${ASK_CACHE_DIR}/config/cmm.service" "${SDCARD}/etc/systemd/system/" mkdir -p "${SDCARD}/etc/config" - cp "${ask_dir}/config/fastforward" "${SDCARD}/etc/config/" + cp "${ASK_CACHE_DIR}/config/fastforward" "${SDCARD}/etc/config/" chroot_sdcard "systemctl enable cmm.service" - # Pin patched packages to prevent apt upgrade from overwriting + # Pin patched packages — ASK patches add kernel offloading hooks (comcerto-fp, + # QOSMARK/QOSCONNMARK) that don't exist upstream. An apt upgrade would replace + # them with vanilla Debian builds and break CMM/CDX data-plane acceleration. + # Security updates for these packages must be tracked and re-patched manually. display_alert "ASK extension" "pinning patched packages" "info" chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables" diff --git a/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch b/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch index 858bc1d26f71..c336c607d11a 100644 --- a/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch +++ b/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch @@ -1,13 +1,29 @@ +From: Tomaz Zaman +Date: Fri, 03 Apr 2026 12:00:00 +0000 +Subject: [PATCH] arm64: dts: freescale: Add Mono Gateway DK device tree + +Add device tree for the Mono Gateway Development Kit, a networking +gateway based on the NXP LS1046A SoC with 3x 1GbE SGMII, 2x 10GbE +SFP+, eMMC, QSPI NOR, EMC2305 fan controller, INA234 power monitors, +LP5812 LED controller, and TMP431 temperature sensors. + +Signed-off-by: Tomaz Zaman +--- + arch/arm64/boot/dts/freescale/Makefile | 1 + + arch/arm64/boot/dts/freescale/mono-gateway-dk.dts | 1024 ++++++++++++++++++++ + 2 files changed, 1025 insertions(+) + create mode 100644 arch/arm64/boot/dts/freescale/mono-gateway-dk.dts + diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile -@@ -2,6 +2,7 @@ - - dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-2g5rdb.dtb +@@ -34,6 +34,7 @@ + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb-usdpaa-shared.dtb + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-tqmls1046a-mbls10xxa.dtb +dtb-$(CONFIG_ARCH_LAYERSCAPE) += mono-gateway-dk.dtb - dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb - dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb - dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb + DTC_FLAGS_fsl-ls1088a-qds := -Wno-interrupt_map + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-qds.dtb + DTC_FLAGS_fsl-ls1088a-rdb := -Wno-interrupt_map diff --git a/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts b/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts new file mode 100644 @@ -18,7 +34,7 @@ new file mode 100644 +/* + * Device Tree file for Freescale Layerscape-1046A family SoC. + * -+ * Copyright 2025 Mono Technologies Inc. ++ * Copyright 2026 Mono Technologies Inc. + * + * Author: Tomaz Zaman + */ From 9aefa3dc412bbd3a61472bb1965e0ac78e98f1c3 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 7 Apr 2026 13:59:17 +0200 Subject: [PATCH 06/14] gateway-dk-ask: package ASK as single .deb for OTA upgrades Combine all ASK components (kernel modules + userspace tools + configs) into a single gateway-dk-ask .deb, version-locked to the kernel. This enables apt-based upgrades without reflashing. - Modules cross-compiled on host, staged for later packaging - Userspace built in chroot, snapshotted into package tree - Patched library .debs saved to output/debs for distribution - Single postinst handles depmod, ldconfig, daemon-reload, apt-mark hold - Remove autotools dependency (libfci/cmm now use plain Makefiles) - CMM extra CFLAGS passed as env var to avoid overriding Makefile defaults --- extensions/gateway-dk-ask.sh | 170 +++++++++++++++++++++++++++++------ 1 file changed, 141 insertions(+), 29 deletions(-) diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 5c09b3f9a0ca..661a0ce5d205 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -64,7 +64,7 @@ function extension_finish_config__ask_enable_headers() { # Add host build dependencies function add_host_dependencies__ask_deps() { display_alert "Adding ASK host dependencies" "${EXTENSION}" "debug" - declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} libxml2-dev libtclap-dev libpcap-dev autoconf automake libtool pkg-config" + declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} libxml2-dev libtclap-dev libpcap-dev pkg-config" } # Copy ASK kernel patch to userpatches (gitignored) so it's applied during kernel build @@ -145,27 +145,29 @@ function post_install_kernel_debs__build_ask_modules() { popd fi - # Install modules into rootfs + # Stage built modules for the combined .deb (packaged later in userspace phase) + display_alert "ASK extension" "staging kernel modules for packaging" "info" + declare -g ASK_MODULE_STAGING="${SRC}/cache/sources/ask-module-staging" + rm -rf "${ASK_MODULE_STAGING}" + mkdir -p "${ASK_MODULE_STAGING}" + + cp "${builddir}/cdx/cdx.ko" "${ASK_MODULE_STAGING}/" + cp "${builddir}/fci/fci.ko" "${ASK_MODULE_STAGING}/" + cp "${builddir}/auto-bridge/auto_bridge.ko" "${ASK_MODULE_STAGING}/" + [[ -f "${builddir}/sfp-led/sfp-led.ko" ]] && cp "${builddir}/sfp-led/sfp-led.ko" "${ASK_MODULE_STAGING}/" + [[ -f "${builddir}/lp5812/leds-lp5812.ko" ]] && cp "${builddir}/lp5812/leds-lp5812.ko" "${ASK_MODULE_STAGING}/" + + # Also install directly into rootfs so they're available during the rest of the build mkdir -p "${SDCARD}/lib/modules/${kernel_ver}/extra" - cp "${builddir}/cdx/cdx.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - cp "${builddir}/fci/fci.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - cp "${builddir}/auto-bridge/auto_bridge.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - [[ -f "${builddir}/sfp-led/sfp-led.ko" ]] && \ - cp "${builddir}/sfp-led/sfp-led.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - [[ -f "${builddir}/lp5812/leds-lp5812.ko" ]] && \ - cp "${builddir}/lp5812/leds-lp5812.ko" "${SDCARD}/lib/modules/${kernel_ver}/extra/" - - # Update module dependencies + cp "${ASK_MODULE_STAGING}"/*.ko "${SDCARD}/lib/modules/${kernel_ver}/extra/" chroot_sdcard "depmod -a ${kernel_ver}" - - # Install module load order config (from ASK repo) cp "${ASK_CACHE_DIR}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" # Clean up build dir (also handled by EXIT trap on failure) rm -rf "${builddir}" trap - EXIT - display_alert "ASK extension" "kernel modules built and installed" "info" + display_alert "ASK extension" "kernel modules built and staged" "info" } # Copy patches into chroot before patched library builds (runs before build_ask_userspace) @@ -196,7 +198,7 @@ function pre_customize_image__001_build_ask_userspace() { # Install build dependencies in chroot display_alert "ASK extension" "installing build dependencies" "info" - chroot_sdcard_apt_get_install build-essential autoconf automake libtool \ + chroot_sdcard_apt_get_install build-essential \ pkg-config libxml2-dev libpcap-dev libcrypt-dev libtclap-dev # Copy sources into chroot @@ -264,10 +266,8 @@ function pre_customize_image__001_build_ask_userspace() { cp -a "${ASK_CACHE_DIR}/${ASK_FCI_DIR}/lib" "${SDCARD}/tmp/ask-userspace/libfci" chroot_sdcard "cd /tmp/ask-userspace/libfci && \ - touch README && \ - autoreconf -fi && \ - ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ - make && make install && \ + make && \ + install -m 644 libfci.a /usr/lib/${ASK_HOST_TRIPLET}/ && \ install -m 644 include/libfci.h /usr/include/" # --- dpa-app --- @@ -288,7 +288,7 @@ function pre_customize_image__001_build_ask_userspace() { # Install DPA-App config files (from ASK repo) cp "${ASK_CACHE_DIR}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" cp "${ASK_CACHE_DIR}/${ASK_DPA_APP_DIR}/files/etc/cdx_pcd.xml" "${SDCARD}/etc/" - cp "${ASK_CACHE_DIR}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" 2>/dev/null || true + cp "${ASK_CACHE_DIR}/${ASK_DPA_APP_DIR}/files/etc/cdx_sp.xml" "${SDCARD}/etc/" # --- Patched system libraries (must be before CMM which depends on patched libnetfilter-conntrack) --- build_ask_patched_libraries @@ -299,14 +299,18 @@ function pre_customize_image__001_build_ask_userspace() { # Copy auto-bridge header for CMM cp "${ASK_CACHE_DIR}/${ASK_AUTOBRIDGE_DIR}/include/auto_bridge.h" "${SDCARD}/usr/include/" + # CMM's Makefile sets base CFLAGS (with +=) internally and uses pkg-config for + # libnetfilter_conntrack. auto_bridge.h already at /usr/include, libfci built in-tree. + # Extra defines passed as env var so Makefile's += appends to them (not overrides). chroot_sdcard "cd /tmp/ask-userspace/cmm && \ - make distclean || true && \ - rm -f config.log config.status && \ - autoreconf -fi && \ - CFLAGS='-DLS1043 -DFLOW_STATS -DWIFI_ENABLE -DSEC_PROFILE_SUPPORT -DUSE_QOSCONNMARK \ - -DENABLE_INGRESS_QOS -DIPSEC_NO_FLOW_CACHE -DVLAN_FILTER -DAUTO_BRIDGE' \ - ./configure --prefix=/usr --host=${ASK_HOST_TRIPLET} && \ - make && make install" + make clean || true && \ + CFLAGS='-DFLOW_STATS -DSEC_PROFILE_SUPPORT -DUSE_QOSCONNMARK \ + -DENABLE_INGRESS_QOS -DIPSEC_NO_FLOW_CACHE -DVLAN_FILTER' \ + make \ + LIBFCI_DIR=/tmp/ask-userspace/libfci \ + ABM_DIR=/usr \ + SYSROOT=/ && \ + install -m 755 src/cmm /usr/bin/" # Install and enable CMM service (from ASK repo) # Guarded by ConditionPathExists=/dev/cdx_ctrl — won't start without ASK FMAN ucode on NOR @@ -332,10 +336,110 @@ net.netfilter.nf_conntrack_udp_timeout=60 net.netfilter.nf_conntrack_udp_timeout_stream=180 EOF - # Cleanup + # Cleanup build sources rm -rf "${SDCARD}/tmp/ask-userspace" "${SDCARD}/tmp/ask-patches" - display_alert "ASK extension" "all userspace components built and installed" "info" + # --- Package everything as a single gateway-dk-ask .deb --- + display_alert "ASK extension" "packaging combined ASK .deb" "info" + local pkgname="gateway-dk-ask" + local kernel_ver + kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + local pkgdir + pkgdir=$(mktemp -d) + mkdir -p "${pkgdir}/DEBIAN" + + # Kernel modules (staged during post_install_kernel_debs phase) + local moddir="${pkgdir}/lib/modules/${kernel_ver}/extra" + mkdir -p "${moddir}" "${pkgdir}/etc/modules-load.d" + cp "${ASK_MODULE_STAGING}"/*.ko "${moddir}/" + cp "${ASK_CACHE_DIR}/config/ask-modules.conf" "${pkgdir}/etc/modules-load.d/" + rm -rf "${ASK_MODULE_STAGING}" + + # Snapshot userspace files into package tree + local -a ask_files=( + usr/bin/fmc + usr/bin/dpa_app + usr/bin/cmm + etc/fmc + etc/cdx_cfg.xml + etc/cdx_pcd.xml + etc/cdx_sp.xml + etc/systemd/system/cmm.service + etc/config/fastforward + etc/sysctl.d/99-ls1046a-conntrack.conf + usr/include/fmc + usr/include/fmd + usr/include/libfci.h + usr/include/cdx + usr/include/auto_bridge.h + ) + for f in "${ask_files[@]}"; do + if [[ -e "${SDCARD}/${f}" ]]; then + mkdir -p "$(dirname "${pkgdir}/${f}")" + cp -a "${SDCARD}/${f}" "${pkgdir}/${f}" + fi + done + # Libraries — snapshot all ASK-installed libs from chroot + mkdir -p "${pkgdir}/usr/lib/${ASK_HOST_TRIPLET}" + for lib in libfm-arm.a libfmc.a; do + [[ -f "${SDCARD}/usr/lib/${ASK_HOST_TRIPLET}/${lib}" ]] && \ + cp -a "${SDCARD}/usr/lib/${ASK_HOST_TRIPLET}/${lib}" "${pkgdir}/usr/lib/${ASK_HOST_TRIPLET}/" + done + for pattern in libcli libfci; do + for f in "${SDCARD}/usr/lib/${ASK_HOST_TRIPLET}/"${pattern}*; do + [[ -f "$f" ]] && cp -a "$f" "${pkgdir}/usr/lib/${ASK_HOST_TRIPLET}/" + done + done + + # Get kernel deb version for exact dependency + local kernel_deb_ver + kernel_deb_ver=$(chroot_sdcard "dpkg-query -W -f '\${Version}' linux-image-current-ls1046a" | tr -d '\n') + [[ -z "${kernel_deb_ver}" ]] && exit_with_error "Failed to get kernel deb version for dependency" + + cat > "${pkgdir}/DEBIAN/control" << EOF +Package: ${pkgname} +Version: ${kernel_ver}-1 +Architecture: arm64 +Section: net +Priority: optional +Maintainer: Mono Technologies +Depends: linux-image-current-ls1046a (= ${kernel_deb_ver}), libxml2, libpcap0.8 +Description: NXP ASK hardware offloading for Mono Gateway DK + Kernel modules (CDX, FCI, auto-bridge, sfp-led, leds-lp5812) and + userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm) for + NXP ASK data-plane acceleration on the LS1046A Gateway DK. +EOF + + cat > "${pkgdir}/DEBIAN/postinst" << EOF +#!/bin/bash +depmod -a ${kernel_ver} +systemctl daemon-reload || true +ldconfig || true +# Re-pin patched ASK libraries — vanilla Debian versions break CMM/CDX offloading +apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables 2>/dev/null || true +EOF + chmod 755 "${pkgdir}/DEBIAN/postinst" + + cat > "${pkgdir}/DEBIAN/conffiles" << 'CONFFILES' +/etc/cdx_cfg.xml +/etc/cdx_pcd.xml +/etc/cdx_sp.xml +/etc/config/fastforward +/etc/sysctl.d/99-ls1046a-conntrack.conf +CONFFILES + + # Build .deb once, install in chroot and save to output + local debfile="${pkgname}_${kernel_ver}-1_arm64.deb" + mkdir -p "${SRC}/output/debs" + run_host_command_logged dpkg-deb -b "${pkgdir}" "${SRC}/output/debs/${debfile}" \ + || exit_with_error "dpkg-deb failed for ${debfile}" + cp "${SRC}/output/debs/${debfile}" "${SDCARD}/root/" + chroot_sdcard "dpkg -i /root/${debfile}" || exit_with_error "dpkg -i failed for ${debfile}" + rm -f "${SDCARD}/root/${debfile}" + + rm -rf "${pkgdir}" + + display_alert "ASK extension" "ASK packaged and installed: ${debfile}" "info" } # Build patched versions of system libraries @@ -345,6 +449,9 @@ function build_ask_patched_libraries() { chroot_sdcard "DEBIAN_FRONTEND=noninteractive apt-get -y build-dep \ libnetfilter-conntrack libnfnetlink iptables" + # Staging dir for patched .debs (saved to output later) + mkdir -p "${SDCARD}/tmp/ask-patched-debs" + # Rebuild each patched library in an isolated directory rebuild_patched_deb "libnetfilter-conntrack" \ "01-nxp-ask-comcerto-fp-extensions.patch" \ @@ -358,6 +465,10 @@ function build_ask_patched_libraries() { "001-qosmark-extensions.patch" \ "libip4tc2_*.deb libip6tc2_*.deb libxtables12_*.deb iptables_*.deb" + # Copy patched .debs to output for distribution + mkdir -p "${SRC}/output/debs" + cp "${SDCARD}"/tmp/ask-patched-debs/*.deb "${SRC}/output/debs/" 2>/dev/null || true + rm -rf "${SDCARD}/tmp/ask-patched-debs" } # Helper: rebuild a Debian package with an ASK patch in an isolated chroot directory @@ -374,5 +485,6 @@ function rebuild_patched_deb() { patch -p1 < /tmp/ask-patches/${patch} && \ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc -us && \ cd ${workdir} && dpkg -i ${debs} && \ + cp ${debs} /tmp/ask-patched-debs/ && \ rm -rf ${workdir}" } From 9cb063359555c7e187fd0d26e4928112f9a6dff9 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 7 Apr 2026 14:45:31 +0200 Subject: [PATCH 07/14] gateway-dk-ask: date-based versioning and relaxed kernel dependency Use kernel_ver+YYYYMMDD version scheme so bugfix-only ASK rebuilds produce a newer package even when the kernel hasn't changed. Relax the kernel dependency from exact match (=) to minimum version (>=) so the updated ASK package installs without requiring a new kernel. --- extensions/gateway-dk-ask.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 661a0ce5d205..112b040e9172 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -391,19 +391,17 @@ EOF done done - # Get kernel deb version for exact dependency - local kernel_deb_ver - kernel_deb_ver=$(chroot_sdcard "dpkg-query -W -f '\${Version}' linux-image-current-ls1046a" | tr -d '\n') - [[ -z "${kernel_deb_ver}" ]] && exit_with_error "Failed to get kernel deb version for dependency" + # Version: kernel version + build date — allows bugfix rebuilds without kernel change + local ask_version="${kernel_ver}+$(date +%Y%m%d)" cat > "${pkgdir}/DEBIAN/control" << EOF Package: ${pkgname} -Version: ${kernel_ver}-1 +Version: ${ask_version} Architecture: arm64 Section: net Priority: optional Maintainer: Mono Technologies -Depends: linux-image-current-ls1046a (= ${kernel_deb_ver}), libxml2, libpcap0.8 +Depends: linux-image-current-ls1046a (>= ${kernel_ver}), libxml2, libpcap0.8 Description: NXP ASK hardware offloading for Mono Gateway DK Kernel modules (CDX, FCI, auto-bridge, sfp-led, leds-lp5812) and userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm) for @@ -429,7 +427,7 @@ EOF CONFFILES # Build .deb once, install in chroot and save to output - local debfile="${pkgname}_${kernel_ver}-1_arm64.deb" + local debfile="${pkgname}_${ask_version}_arm64.deb" mkdir -p "${SRC}/output/debs" run_host_command_logged dpkg-deb -b "${pkgdir}" "${SRC}/output/debs/${debfile}" \ || exit_with_error "dpkg-deb failed for ${debfile}" From b06320ac312e21305d4494013114637bfd4e1587 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 7 Apr 2026 17:58:00 +0200 Subject: [PATCH 08/14] gateway-dk: production readiness fixes for upstream PR Board/family separation: - Move boot chain URLs (U-Boot, ATF, RCW) from family to board config - Family config now requires board to set all platform-specific variables - Split bootenv into family-generic ls1046a.txt and board-specific gateway-dk.txt - Move fancontrol/lm-sensors install and IP forwarding to board config - Delete unused family-level BSP files (packages/bsp/ls1046a/) Extension hardening: - Replace bare git clone with fetch_from_repo (fmlib, fmc, libcli, FMAN ucode) - Replace trap EXIT with Armbian add_cleanup_handler API - Add exit_with_error to all chroot build commands and depmod - Add prerm/postrm scripts to ASK .deb package - Remove unnecessary host build deps (chroot-only libraries) - Compute kernel version once (ASK_KERNEL_VER), remove 3x duplication - Quote variables in chroot command strings - Use GIT_CONFIG_COUNT env vars instead of git config --global - Move conntrack sysctl to packages/bsp/ (no inline heredocs) - Fix DEBIAN/control comment (dpkg-deb rejects # comments) - Make ASK extension optional (ENABLE_ASK=yes by default) - Use BOOTENV_FILE for mkenvimage (was hardcoded to ls1046a.txt) Kernel config: - Enable KASLR, FORTIFY_SOURCE, HARDENED_USERCOPY - Disable SLUB_TINY (switch to standard SLUB) - Enable NF_REJECT_IPV4, IP_NF_TARGET_REJECT, NFT_REJECT, NET_SCH_INGRESS - Enable NET_ACT_POLICE, NET_ACT_GACT, NF_FLOW_TABLE, NFT_LIMIT, NFT_REDIR - Enable PSTORE + MTD_PSTORE with pstore.backend=mtdoops boot args - Enable SOFTLOCKUP_DETECTOR, DEBUG_FS_DISALLOW_MOUNT - Disable PM_DEBUG, UIO drivers, MLX4/MLX5, HFSPLUS, UFS - Switch NO_HZ_FULL to NO_HZ_IDLE (matches NXP reference) Driver fixes: - sfp-led: move debug_count into per-port struct - sfp-led: replace rtnl_lock with rtnl_trylock to prevent deadlock - sfp-led: consistent pushd/make pattern (matches lp5812) Patches: - DTS: fix typo "genenerator", remove redundant status="okay" - DTS: update header comment, remove unused PWM include - DTS: update patch hunk line counts - INA234: remove Yocto Upstream-Status header --- config/boards/gateway-dk.conf | 35 +- config/bootenv/gateway-dk.txt | 26 + config/bootenv/ls1046a.txt | 10 +- config/kernel/linux-ls1046a-current.config | 5530 +---------------- config/sources/families/ls1046a.conf | 47 +- extensions/gateway-dk-ask.sh | 129 +- .../bsp/gateway-dk/99-ls1046a-conntrack.conf | 6 + .../generate-fancontrol-conf.service | 1 + packages/bsp/gateway-dk/sfp-led.c | 23 +- packages/bsp/gateway-dk/sfp-led.mk | 2 +- packages/bsp/ls1046a/generate-fancontrol-conf | 39 - .../ls1046a/generate-fancontrol-conf.service | 13 - .../001-hwmon-ina2xx-Add-INA234-support.patch | 1 - ...-dts-Add-Mono-Gateway-DK-device-tree.patch | 9 +- 14 files changed, 358 insertions(+), 5513 deletions(-) create mode 100644 config/bootenv/gateway-dk.txt create mode 100644 packages/bsp/gateway-dk/99-ls1046a-conntrack.conf delete mode 100644 packages/bsp/ls1046a/generate-fancontrol-conf delete mode 100644 packages/bsp/ls1046a/generate-fancontrol-conf.service diff --git a/config/boards/gateway-dk.conf b/config/boards/gateway-dk.conf index cda36696725c..c12879510e11 100644 --- a/config/boards/gateway-dk.conf +++ b/config/boards/gateway-dk.conf @@ -8,13 +8,29 @@ KERNEL_TARGET="current" KERNEL_TEST_TARGET="current" HAS_VIDEO_OUTPUT="no" BOOT_FDT_FILE="freescale/mono-gateway-dk.dtb" -BOOTENV_FILE="ls1046a.txt" +BOOTENV_FILE="gateway-dk.txt" -enable_extension "gateway-dk-ask" +# U-Boot, ATF, and RCW — Mono forks with custom DDR4 config and SERDES +declare -g BOOTSOURCE="https://github.com/we-are-mono/u-boot" +declare -g BOOTBRANCH="commit:9f13d11658f696d4d1b4f76fa88264c52bd2e7c2" +declare -g BOOTPATCHDIR="u-boot-ls1046a" +declare -g UBOOT_TARGET_MAP=";;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls1046_r1.0_108_4_9.bin u-boot-env.bin" + +declare -g ATFSOURCE="https://github.com/we-are-mono/atf" +declare -g ATFDIR="arm-trusted-firmware-ls1046a" +declare -g ATFBRANCH="commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef" +declare -g ATFPATCHDIR="atf-ls1046a" + +declare -g LS1046A_PLAT="gateway_dk" +declare -g RCW_SOURCE="https://github.com/we-are-mono/rcw" +declare -g RCW_BRANCH="commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2" +declare -g RCW_BIN_PATH="NN_FFSSPSNP_1133_5A06/rcw_2100_emmcboot.bin" + +# ASK hardware offloading (disable with ENABLE_ASK=no for a basic networking image) +[[ "${ENABLE_ASK:-yes}" == "yes" ]] && enable_extension "gateway-dk-ask" # Board-specific kernel modules auto-load function post_family_tweaks_bsp__gateway_dk_board() { - # Board-specific kernel modules auto-load mkdir -p "${destination}/etc/modules-load.d" printf '%s\n' sfp-led leds-lp5812 > "${destination}/etc/modules-load.d/gateway-dk-leds.conf" @@ -32,7 +48,14 @@ function post_family_tweaks_bsp__gateway_dk_board() { } function post_family_tweaks__gateway_dk_services() { - chroot_sdcard "systemctl enable gateway-dk-leds.service" - chroot_sdcard "systemctl enable generate-fancontrol-conf.service" - chroot_sdcard "systemctl enable fancontrol.service" + # IP forwarding + echo "net.ipv4.ip_forward=1" > "${SDCARD}/etc/sysctl.d/99-ls1046a-forwarding.conf" + + # Fan control and sensor packages + display_alert "Installing fancontrol" "emc2305 + cluster_thermal" "info" + chroot_sdcard_apt_get_install fancontrol lm-sensors + + chroot_sdcard systemctl enable gateway-dk-leds.service + chroot_sdcard systemctl enable generate-fancontrol-conf.service + chroot_sdcard systemctl enable fancontrol.service } diff --git a/config/bootenv/gateway-dk.txt b/config/bootenv/gateway-dk.txt new file mode 100644 index 000000000000..645c4247e6ed --- /dev/null +++ b/config/bootenv/gateway-dk.txt @@ -0,0 +1,26 @@ +# Base settings duplicated from ls1046a.txt (no include mechanism in bootenv) +baudrate=115200 +stderr=serial@21c0500 +stdin=serial@21c0500 +stdout=serial@21c0500 + +scriptaddr=0x80000000 +fdt_addr_r=0x88000000 +kernel_addr_r=0x82000000 +kernel_comp_addr_r=0x90000000 +kernel_comp_size=0x1600000 +ramdisk_addr_r=0x88080000 +load_addr=0xa0000000 +loadaddr=0xa0000000 + +# NOR flash partition layout (passed to kernel for /dev/mtd awareness even when booting from eMMC) +mtdparts=1550000.spi:1M(rcw-bl2),2M(uboot),1M(uboot-env),1M(fman-ucode),1M(recovery-dtb),4M(unallocated),-(kernel-initramfs) + +bootargs_console=console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 mtdparts=${mtdparts} pstore.backend=mtdoops mtdoops.mtddev=backup +bootdelay=3 + +bootcmd=sysboot mmc 0:1 any ${scriptaddr} /boot/extlinux/extlinux.conf + +# Default Ethernet — fm1-mac5 is the first 1GbE SGMII port (SERDES lane H) +ethact=fm1-mac5 +ethprime=fm1-mac5 diff --git a/config/bootenv/ls1046a.txt b/config/bootenv/ls1046a.txt index 09981adb32bf..8b145ebee593 100644 --- a/config/bootenv/ls1046a.txt +++ b/config/bootenv/ls1046a.txt @@ -12,15 +12,7 @@ ramdisk_addr_r=0x88080000 load_addr=0xa0000000 loadaddr=0xa0000000 -# NOR flash partition layout (passed to kernel for /dev/mtd awareness even when booting from eMMC) -mtdparts=1550000.spi:1M(rcw-bl2),2M(uboot),1M(uboot-env),1M(fman-ucode),1M(recovery-dtb),4M(unallocated),-(kernel-initramfs) - -bootargs_console=console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 mtdparts=${mtdparts} +bootargs_console=console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 bootdelay=3 bootcmd=sysboot mmc 0:1 any ${scriptaddr} /boot/extlinux/extlinux.conf - -# Default Ethernet — board-specific, depends on SERDES lane assignment -# Gateway DK: fm1-mac5 is the first 1GbE SGMII port -ethact=fm1-mac5 -ethprime=fm1-mac5 diff --git a/config/kernel/linux-ls1046a-current.config b/config/kernel/linux-ls1046a-current.config index 3895822d701b..d6394bfec84b 100644 --- a/config/kernel/linux-ls1046a-current.config +++ b/config/kernel/linux-ls1046a-current.config @@ -1,5690 +1,548 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.49 Kernel Configuration -# -CONFIG_CC_VERSION_TEXT="aarch64-oe-linux-gcc (GCC) 14.3.0" -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=140300 -CONFIG_CLANG_VERSION=0 -CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24400 -CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24400 -CONFIG_LLD_VERSION=0 -CONFIG_RUSTC_VERSION=0 -CONFIG_RUSTC_LLVM_VERSION=0 -CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y -CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y -CONFIG_TOOLS_SUPPORT_RELR=y -CONFIG_CC_HAS_ASM_INLINE=y -CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y -CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y -CONFIG_PAHOLE_VERSION=0 -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_TABLE_SORT=y -CONFIG_THREAD_INFO_IN_TASK=y - -# -# General setup -# -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_COMPILE_TEST is not set -# CONFIG_WERROR is not set -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_BUILD_SALT="" -CONFIG_DEFAULT_INIT="" -CONFIG_DEFAULT_HOSTNAME="(none)" +# Armbian defconfig generated with 6.12 +# CONFIG_LOCALVERSION_AUTO is not set CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -# CONFIG_WATCH_QUEUE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -# 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_GENERIC_IRQ_MIGRATION=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_GENERIC_IRQ_IPI=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_IRQ_MSI_IOMMU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -# end of IRQ subsystem - -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_ARCH_HAS_TICK_BROADCAST=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y -CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y -CONFIG_CONTEXT_TRACKING=y -CONFIG_CONTEXT_TRACKING_IDLE=y - -# -# Timers subsystem -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ_COMMON=y -# CONFIG_HZ_PERIODIC is not set -# CONFIG_NO_HZ_IDLE is not set -CONFIG_NO_HZ_FULL=y -CONFIG_CONTEXT_TRACKING_USER=y +CONFIG_NO_HZ_IDLE=y # CONFIG_CONTEXT_TRACKING_USER_FORCE is not set -# CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y -# end of Timers subsystem - -CONFIG_BPF=y -CONFIG_HAVE_EBPF_JIT=y -CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y - -# -# BPF subsystem -# CONFIG_BPF_SYSCALL=y CONFIG_BPF_JIT=y -# CONFIG_BPF_JIT_ALWAYS_ON is not set -CONFIG_BPF_JIT_DEFAULT_ON=y -CONFIG_BPF_UNPRIV_DEFAULT_OFF=y -# CONFIG_BPF_PRELOAD is not set -# end of BPF subsystem - -CONFIG_PREEMPT_VOLUNTARY_BUILD=y -# CONFIG_PREEMPT_NONE is not set +CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_PREEMPT_VOLUNTARY=y -# CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_RT is not set -# CONFIG_PREEMPT_DYNAMIC is not set - -# -# CPU/Task time and stats accounting -# -CONFIG_VIRT_CPU_ACCOUNTING=y CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_SCHED_AVG_IRQ=y -CONFIG_SCHED_HW_PRESSURE=y CONFIG_BSD_PROCESS_ACCT=y -# CONFIG_BSD_PROCESS_ACCT_V3 is not set -# CONFIG_TASKSTATS is not set -# CONFIG_PSI is not set -# end of CPU/Task time and stats accounting - -CONFIG_CPU_ISOLATION=y - -# -# RCU Subsystem -# -CONFIG_TREE_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_TREE_SRCU=y -CONFIG_TASKS_RCU_GENERIC=y -CONFIG_NEED_TASKS_RCU=y -CONFIG_TASKS_TRACE_RCU=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_RCU_NOCB_CPU=y -# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set -# CONFIG_RCU_LAZY is not set -# end of RCU Subsystem - CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y -# CONFIG_IKHEADERS is not set -CONFIG_LOG_BUF_SHIFT=17 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -# CONFIG_PRINTK_INDEX is not set -CONFIG_GENERIC_SCHED_CLOCK=y - -# -# Scheduler features -# -# CONFIG_UCLAMP_TASK is not set -# end of Scheduler features - -CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y -CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y -CONFIG_CC_HAS_INT128=y -CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" -CONFIG_GCC10_NO_ARRAY_BOUNDS=y -CONFIG_CC_NO_ARRAY_BOUNDS=y -CONFIG_GCC_NO_STRINGOP_OVERFLOW=y -CONFIG_CC_NO_STRINGOP_OVERFLOW=y -CONFIG_ARCH_SUPPORTS_INT128=y -# CONFIG_NUMA_BALANCING is not set -CONFIG_SLAB_OBJ_EXT=y -CONFIG_CGROUPS=y -CONFIG_PAGE_COUNTER=y -# CONFIG_CGROUP_FAVOR_DYNMODS is not set +CONFIG_CGROUP_FAVOR_DYNMODS=y CONFIG_MEMCG=y -# CONFIG_MEMCG_V1 is not set CONFIG_BLK_CGROUP=y -CONFIG_CGROUP_WRITEBACK=y -CONFIG_CGROUP_SCHED=y -CONFIG_GROUP_SCHED_WEIGHT=y -CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_SCHED_MM_CID=y +CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_FREEZER=y -# CONFIG_CGROUP_HUGETLB is not set -# CONFIG_CPUSETS is not set +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y -# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y -# CONFIG_CGROUP_MISC is not set -# CONFIG_CGROUP_DEBUG is not set -CONFIG_SOCK_CGROUP_DATA=y +CONFIG_CGROUP_MISC=y CONFIG_NAMESPACES=y -CONFIG_UTS_NS=y -CONFIG_TIME_NS=y -CONFIG_IPC_NS=y CONFIG_USER_NS=y -CONFIG_PID_NS=y -CONFIG_NET_NS=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_SCHED_AUTOGROUP=y -# CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -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_ZSTD=y -# CONFIG_BOOT_CONFIG is not set -CONFIG_INITRAMFS_PRESERVE_MTIME=y -# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_LD_ORPHAN_WARN=y -CONFIG_LD_ORPHAN_WARN_LEVEL="warn" -CONFIG_SYSCTL=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_EXPERT=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -CONFIG_SYSFS_SYSCALL=y -CONFIG_FHANDLE=y -CONFIG_POSIX_TIMERS=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -# CONFIG_BASE_SMALL is not set -CONFIG_FUTEX=y -CONFIG_FUTEX_PI=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_IO_URING=y -CONFIG_ADVISE_SYSCALLS=y -CONFIG_MEMBARRIER=y -CONFIG_KCMP=y -CONFIG_RSEQ=y -# CONFIG_DEBUG_RSEQ is not set -CONFIG_CACHESTAT_SYSCALL=y -# CONFIG_PC104 is not set -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_SELFTEST is not set CONFIG_KALLSYMS_ALL=y -CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y -CONFIG_HAVE_PERF_EVENTS=y - -# -# Kernel Performance Events And Counters -# CONFIG_PERF_EVENTS=y -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -# end of Kernel Performance Events And Counters - -CONFIG_SYSTEM_DATA_VERIFICATION=y -# CONFIG_PROFILING is not set - -# -# Kexec and crash features -# -CONFIG_VMCORE_INFO=y -# CONFIG_KEXEC is not set -# CONFIG_KEXEC_FILE is not set -# end of Kexec and crash features -# end of General setup - -CONFIG_ARM64=y -CONFIG_RUSTC_SUPPORTS_ARM64=y -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y -CONFIG_64BIT=y -CONFIG_MMU=y -CONFIG_ARM64_CONT_PTE_SHIFT=4 -CONFIG_ARM64_CONT_PMD_SHIFT=4 -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=33 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_SMP=y -CONFIG_KERNEL_MODE_NEON=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_PGTABLE_LEVELS=5 -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y - -# -# Platform selection -# -# CONFIG_ARCH_ACTIONS is not set -# CONFIG_ARCH_AIROHA is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_ALPINE is not set -# CONFIG_ARCH_APPLE is not set -# CONFIG_ARCH_BCM is not set -# CONFIG_ARCH_BERLIN is not set -# CONFIG_ARCH_BITMAIN is not set -# CONFIG_ARCH_EXYNOS is not set -# CONFIG_ARCH_SPARX5 is not set -# CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_LG1K is not set -# CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_KEEMBAY is not set -# CONFIG_ARCH_MEDIATEK is not set -# CONFIG_ARCH_MESON is not set -# CONFIG_ARCH_MVEBU is not set CONFIG_ARCH_NXP=y CONFIG_ARCH_LAYERSCAPE=y -# CONFIG_ARCH_MXC is not set -# CONFIG_ARCH_S32 is not set -# CONFIG_ARCH_MA35 is not set -# CONFIG_ARCH_NPCM is not set -# CONFIG_ARCH_PENSANDO is not set -# CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_REALTEK is not set -# CONFIG_ARCH_RENESAS is not set -# CONFIG_ARCH_ROCKCHIP is not set -# CONFIG_ARCH_SEATTLE is not set -# CONFIG_ARCH_INTEL_SOCFPGA is not set -# CONFIG_ARCH_STM32 is not set -# CONFIG_ARCH_SYNQUACER is not set -# CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_SPRD is not set -# CONFIG_ARCH_THUNDER is not set -# CONFIG_ARCH_THUNDER2 is not set -# CONFIG_ARCH_UNIPHIER is not set -# CONFIG_ARCH_VEXPRESS is not set -# CONFIG_ARCH_VISCONTI is not set -# CONFIG_ARCH_XGENE is not set -# CONFIG_ARCH_ZYNQMP is not set -# end of Platform selection - -# -# Kernel Features -# - -# -# ARM errata workarounds via the alternatives framework -# -CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y -CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y -CONFIG_ARM64_ERRATUM_826319=y -CONFIG_ARM64_ERRATUM_827319=y -CONFIG_ARM64_ERRATUM_824069=y -CONFIG_ARM64_ERRATUM_819472=y -CONFIG_ARM64_ERRATUM_832075=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_1024718=y -CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y -CONFIG_ARM64_ERRATUM_1165522=y -CONFIG_ARM64_ERRATUM_1319367=y -CONFIG_ARM64_ERRATUM_1530923=y -CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y -# CONFIG_ARM64_ERRATUM_2441007 is not set -# CONFIG_ARM64_ERRATUM_1286807 is not set -CONFIG_ARM64_ERRATUM_1463225=y -# CONFIG_ARM64_ERRATUM_1542419 is not set -CONFIG_ARM64_ERRATUM_1508412=y -CONFIG_ARM64_ERRATUM_2051678=y -CONFIG_ARM64_ERRATUM_2077057=y -CONFIG_ARM64_ERRATUM_2658417=y -CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y -CONFIG_ARM64_ERRATUM_2054223=y -CONFIG_ARM64_ERRATUM_2067961=y -# CONFIG_ARM64_ERRATUM_2441009 is not set -CONFIG_ARM64_ERRATUM_2457168=y -CONFIG_ARM64_ERRATUM_2645198=y -CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y -CONFIG_ARM64_ERRATUM_2966298=y -CONFIG_ARM64_ERRATUM_3117295=y -CONFIG_ARM64_ERRATUM_3194386=y -CONFIG_CAVIUM_ERRATUM_22375=y -CONFIG_CAVIUM_ERRATUM_23144=y -CONFIG_CAVIUM_ERRATUM_23154=y -CONFIG_CAVIUM_ERRATUM_27456=y -CONFIG_CAVIUM_ERRATUM_30115=y -CONFIG_CAVIUM_TX2_ERRATUM_219=y -CONFIG_FUJITSU_ERRATUM_010001=y -CONFIG_HISILICON_ERRATUM_161600802=y -CONFIG_HISILICON_ERRATUM_162100801=y -CONFIG_QCOM_FALKOR_ERRATUM_1003=y -CONFIG_QCOM_FALKOR_ERRATUM_1009=y -CONFIG_QCOM_QDF2400_ERRATUM_0065=y -CONFIG_QCOM_FALKOR_ERRATUM_E1041=y -CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y -CONFIG_ROCKCHIP_ERRATUM_3588001=y -CONFIG_SOCIONEXT_SYNQUACER_PREITS=y -# end of ARM errata workarounds via the alternatives framework - -CONFIG_ARM64_4K_PAGES=y -# CONFIG_ARM64_16K_PAGES is not set -# CONFIG_ARM64_64K_PAGES is not set -# CONFIG_ARM64_VA_BITS_39 is not set -# CONFIG_ARM64_VA_BITS_48 is not set -CONFIG_ARM64_VA_BITS_52=y -# CONFIG_ARM64_FORCE_52BIT is not set -CONFIG_ARM64_VA_BITS=52 -CONFIG_ARM64_PA_BITS_52=y -CONFIG_ARM64_PA_BITS=52 -CONFIG_ARM64_LPA2=y -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_ARM64_VA_BITS_48=y CONFIG_SCHED_MC=y -# CONFIG_SCHED_CLUSTER is not set -# CONFIG_SCHED_SMT is not set CONFIG_NR_CPUS=16 -CONFIG_HOTPLUG_CPU=y CONFIG_NUMA=y -CONFIG_NODES_SHIFT=4 -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -# CONFIG_HZ_300 is not set CONFIG_HZ_1000=y -CONFIG_HZ=1000 -CONFIG_SCHED_HRTICK=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_HW_PERF_EVENTS=y -CONFIG_CC_HAVE_SHADOW_CALL_STACK=y -# CONFIG_PARAVIRT is not set -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set -CONFIG_ARCH_SUPPORTS_KEXEC=y -CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y -CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y -CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y -CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y -CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y -CONFIG_ARCH_DEFAULT_CRASH_DUMP=y -# CONFIG_XEN is not set -CONFIG_ARCH_FORCE_MAX_ORDER=10 -CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y -CONFIG_RODATA_FULL_DEFAULT_ENABLED=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set -CONFIG_ARM64_TAGGED_ADDR_ABI=y -# CONFIG_COMPAT is not set - -# -# ARMv8.1 architectural features -# -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_PAN=y -CONFIG_AS_HAS_LSE_ATOMICS=y -CONFIG_ARM64_LSE_ATOMICS=y -CONFIG_ARM64_USE_LSE_ATOMICS=y -# end of ARMv8.1 architectural features - -# -# ARMv8.2 architectural features -# -CONFIG_AS_HAS_ARMV8_2=y -CONFIG_AS_HAS_SHA3=y -# CONFIG_ARM64_PMEM is not set -CONFIG_ARM64_RAS_EXTN=y -CONFIG_ARM64_CNP=y -# end of ARMv8.2 architectural features - -# -# ARMv8.3 architectural features -# -CONFIG_ARM64_PTR_AUTH=y -CONFIG_ARM64_PTR_AUTH_KERNEL=y -CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y -CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y -CONFIG_AS_HAS_ARMV8_3=y -CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y -CONFIG_AS_HAS_LDAPR=y -# end of ARMv8.3 architectural features - -# -# ARMv8.4 architectural features -# -CONFIG_ARM64_AMU_EXTN=y -CONFIG_AS_HAS_ARMV8_4=y -CONFIG_ARM64_TLB_RANGE=y -# end of ARMv8.4 architectural features - -# -# ARMv8.5 architectural features -# -CONFIG_AS_HAS_ARMV8_5=y -CONFIG_ARM64_BTI=y -CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y -CONFIG_ARM64_E0PD=y -CONFIG_ARM64_AS_HAS_MTE=y -CONFIG_ARM64_MTE=y -# end of ARMv8.5 architectural features - -# -# ARMv8.7 architectural features -# -CONFIG_ARM64_EPAN=y -# end of ARMv8.7 architectural features - -# -# ARMv8.9 architectural features -# -CONFIG_ARM64_POE=y -CONFIG_ARCH_PKEY_BITS=3 -# end of ARMv8.9 architectural features - -CONFIG_ARM64_SVE=y -# CONFIG_ARM64_PSEUDO_NMI is not set -CONFIG_RELOCATABLE=y -# CONFIG_RANDOMIZE_BASE is not set -CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y -CONFIG_STACKPROTECTOR_PER_TASK=y -CONFIG_ARM64_CONTPTE=y -# end of Kernel Features - -# -# Boot options -# -CONFIG_CMDLINE="" -CONFIG_EFI_STUB=y -CONFIG_EFI=y -# CONFIG_COMPRESSED_INSTALL is not set -CONFIG_DMI=y -# end of Boot options - -# -# Power management options -# -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -# CONFIG_SUSPEND_SKIP_SYNC is not set -# CONFIG_HIBERNATION is not set -CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_USERSPACE_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -CONFIG_PM_DEBUG=y -# CONFIG_PM_ADVANCED_DEBUG is not set -# CONFIG_PM_TEST_SUSPEND is not set -CONFIG_PM_SLEEP_DEBUG=y -CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -CONFIG_PM_GENERIC_DOMAINS_SLEEP=y -CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_CPU_PM=y +CONFIG_RANDOMIZE_BASE=y CONFIG_ENERGY_MODEL=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -# end of Power management options - -# -# CPU Power Management -# - -# -# CPU Idle -# -# CONFIG_CPU_IDLE is not set -# end of CPU Idle - -# -# CPU Frequency scaling -# CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_STAT=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y - -# -# CPU frequency scaling drivers -# CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -# CONFIG_ARM_SCMI_CPUFREQ is not set CONFIG_QORIQ_CPUFREQ=y -# end of CPU Frequency scaling -# end of CPU Power Management - -CONFIG_ARCH_SUPPORTS_ACPI=y -# CONFIG_ACPI is not set CONFIG_VIRTUALIZATION=y -# CONFIG_KVM is not set -CONFIG_CPU_MITIGATIONS=y - -# -# General architecture-dependent options -# -CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y -CONFIG_HOTPLUG_CORE_SYNC=y -CONFIG_HOTPLUG_CORE_SYNC_DEAD=y -# CONFIG_KPROBES is not set -# CONFIG_JUMP_LABEL is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y -CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y -CONFIG_HAVE_NMI=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=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_KEEPINITRD=y -CONFIG_ARCH_HAS_SET_MEMORY=y -CONFIG_ARCH_HAS_SET_DIRECT_MAP=y -CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y -CONFIG_ARCH_WANTS_NO_INSTR=y -CONFIG_HAVE_ASM_MODVERSIONS=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_RSEQ=y -CONFIG_HAVE_RUST=y -CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y -CONFIG_HAVE_HW_BREAKPOINT=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y -CONFIG_MMU_GATHER_TABLE_FREE=y -CONFIG_MMU_GATHER_RCU_TABLE_FREE=y -CONFIG_MMU_LAZY_TLB_REFCOUNT=y -CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y -CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y -CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y -CONFIG_HAVE_CMPXCHG_LOCAL=y -CONFIG_HAVE_CMPXCHG_DOUBLE=y -CONFIG_HAVE_ARCH_SECCOMP=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP=y -CONFIG_SECCOMP_FILTER=y -# CONFIG_SECCOMP_CACHE_DEBUG is not set -CONFIG_HAVE_ARCH_STACKLEAK=y -CONFIG_HAVE_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR_STRONG=y -CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y -# CONFIG_SHADOW_CALL_STACK is not set -CONFIG_ARCH_SUPPORTS_LTO_CLANG=y -CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y -CONFIG_LTO_NONE=y -CONFIG_ARCH_SUPPORTS_CFI_CLANG=y -CONFIG_HAVE_CONTEXT_TRACKING_USER=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_MOVE_PUD=y -CONFIG_HAVE_MOVE_PMD=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_HUGE_VMAP=y -CONFIG_HAVE_ARCH_HUGE_VMALLOC=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_WANT_PMD_MKWRITE=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_ARCH_WANTS_EXECMEM_LATE=y -CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y -CONFIG_SOFTIRQ_ON_OWN_STACK=y -CONFIG_ARCH_HAS_ELF_RANDOMIZE=y -CONFIG_HAVE_ARCH_MMAP_RND_BITS=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_HAVE_PAGE_SIZE_4KB=y -CONFIG_PAGE_SIZE_4KB=y -CONFIG_PAGE_SIZE_LESS_THAN_64KB=y -CONFIG_PAGE_SIZE_LESS_THAN_256KB=y -CONFIG_PAGE_SHIFT=12 -CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y -CONFIG_CLONE_BACKWARDS=y -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_ARCH_SUPPORTS_RT=y -CONFIG_HAVE_ARCH_VMAP_STACK=y -CONFIG_VMAP_STACK=y -CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y -CONFIG_RANDOMIZE_KSTACK_OFFSET=y -# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set -CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y -CONFIG_STRICT_KERNEL_RWX=y -CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y -CONFIG_STRICT_MODULE_RWX=y -CONFIG_HAVE_ARCH_COMPILER_H=y -CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y -CONFIG_ARCH_USE_MEMREMAP_PROT=y -# CONFIG_LOCK_EVENT_COUNTS is not set -CONFIG_ARCH_HAS_RELR=y -CONFIG_RELR=y -CONFIG_ARCH_HAS_MEM_ENCRYPT=y -CONFIG_HAVE_PREEMPT_DYNAMIC=y -CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y -CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y -CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y -CONFIG_ARCH_HAS_HW_PTE_YOUNG=y -CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -# end of GCOV-based kernel profiling - -CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_FUNCTION_ALIGNMENT_4B=y -CONFIG_FUNCTION_ALIGNMENT=4 -CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT=y -CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y -# end of General architecture-dependent options - -CONFIG_RT_MUTEXES=y CONFIG_MODULES=y -# CONFIG_MODULE_DEBUG is not set CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set CONFIG_MODVERSIONS=y -CONFIG_ASM_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y -# CONFIG_MODULE_SIG is not set CONFIG_MODULE_COMPRESS=y -# CONFIG_MODULE_COMPRESS_GZIP is not set -# CONFIG_MODULE_COMPRESS_XZ is not set CONFIG_MODULE_COMPRESS_ZSTD=y -CONFIG_MODULE_COMPRESS_ALL=y -# CONFIG_MODULE_DECOMPRESS is not set -# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set -CONFIG_MODPROBE_PATH="/sbin/modprobe" -# CONFIG_TRIM_UNUSED_KSYMS is not set -CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_BLOCK=y -CONFIG_BLOCK_LEGACY_AUTOLOAD=y -CONFIG_BLK_CGROUP_RWSTAT=y -CONFIG_BLK_CGROUP_PUNT_BIO=y -CONFIG_BLK_DEV_BSG_COMMON=y -CONFIG_BLK_ICQ=y -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -CONFIG_BLK_DEV_WRITE_MOUNTED=y -# CONFIG_BLK_DEV_ZONED is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_WBT is not set -# CONFIG_BLK_CGROUP_IOLATENCY is not set -# CONFIG_BLK_CGROUP_IOCOST is not set -# CONFIG_BLK_CGROUP_IOPRIO is not set -CONFIG_BLK_DEBUG_FS=y -# CONFIG_BLK_SED_OPAL is not set -# CONFIG_BLK_INLINE_ENCRYPTION is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y -CONFIG_EFI_PARTITION=y -# end of Partition Types - -CONFIG_BLK_MQ_PCI=y -CONFIG_BLK_MQ_VIRTIO=y -CONFIG_BLK_PM=y - -# -# IO Schedulers -# -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -CONFIG_IOSCHED_BFQ=y -CONFIG_BFQ_GROUP_IOSCHED=y -# CONFIG_BFQ_CGROUP_DEBUG is not set -# end of IO Schedulers - -CONFIG_PADATA=y -CONFIG_ASN1=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK=y -CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_READ_LOCK=y -CONFIG_ARCH_INLINE_READ_LOCK_BH=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_READ_UNLOCK=y -CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_WRITE_LOCK=y -CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y -CONFIG_INLINE_SPIN_TRYLOCK=y -CONFIG_INLINE_SPIN_TRYLOCK_BH=y -CONFIG_INLINE_SPIN_LOCK=y -CONFIG_INLINE_SPIN_LOCK_BH=y -CONFIG_INLINE_SPIN_LOCK_IRQ=y -CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y -CONFIG_INLINE_SPIN_UNLOCK_BH=y -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y -CONFIG_INLINE_READ_LOCK=y -CONFIG_INLINE_READ_LOCK_BH=y -CONFIG_INLINE_READ_LOCK_IRQ=y -CONFIG_INLINE_READ_LOCK_IRQSAVE=y -CONFIG_INLINE_READ_UNLOCK=y -CONFIG_INLINE_READ_UNLOCK_BH=y -CONFIG_INLINE_READ_UNLOCK_IRQ=y -CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y -CONFIG_INLINE_WRITE_LOCK=y -CONFIG_INLINE_WRITE_LOCK_BH=y -CONFIG_INLINE_WRITE_LOCK_IRQ=y -CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y -CONFIG_INLINE_WRITE_UNLOCK=y -CONFIG_INLINE_WRITE_UNLOCK_BH=y -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=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 -CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y -CONFIG_QUEUED_SPINLOCKS=y -CONFIG_ARCH_USE_QUEUED_RWLOCKS=y -CONFIG_QUEUED_RWLOCKS=y -CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y -CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y -CONFIG_FREEZER=y - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -CONFIG_ARCH_BINFMT_ELF_STATE=y -CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y -CONFIG_ARCH_HAVE_ELF_PROT=y -CONFIG_ARCH_USE_GNU_PROPERTY=y -CONFIG_ELFCORE=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_BINFMT_SCRIPT=y -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y -# end of Executable file formats - -# -# Memory Management options -# -CONFIG_SWAP=y -# CONFIG_ZSWAP is not set - -# -# Slab allocator options -# -CONFIG_SLUB=y -CONFIG_SLUB_TINY=y -CONFIG_SLAB_MERGE_DEFAULT=y -# end of Slab allocator options - -# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set -CONFIG_COMPAT_BRK=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_HAVE_GUP_FAST=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_NUMA_KEEP_MEMINFO=y -CONFIG_MEMORY_ISOLATION=y -CONFIG_EXCLUSIVE_SYSTEM_RAM=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_BLK_CGROUP_IOCOST=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y CONFIG_MEMORY_HOTPLUG=y -# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set CONFIG_MEMORY_HOTREMOVE=y -CONFIG_MHP_MEMMAP_ON_MEMORY=y -CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y -CONFIG_SPLIT_PTE_PTLOCKS=y -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y -CONFIG_SPLIT_PMD_PTLOCKS=y -CONFIG_COMPACTION=y -CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 -# CONFIG_PAGE_REPORTING is not set -CONFIG_MIGRATION=y -CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y -CONFIG_ARCH_ENABLE_THP_MIGRATION=y -CONFIG_CONTIG_ALLOC=y -CONFIG_PCP_BATCH_SCALE_MAX=5 -CONFIG_PHYS_ADDR_T_64BIT=y -# CONFIG_KSM is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y -# CONFIG_MEMORY_FAILURE is not set -CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_TRANSPARENT_HUGEPAGE=y -# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set -CONFIG_THP_SWAP=y -# CONFIG_READ_ONLY_THP_FOR_FS is not set -CONFIG_PGTABLE_HAS_HUGE_LEAVES=y -CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y -CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y -CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -CONFIG_USE_PERCPU_NUMA_NODE_ID=y -CONFIG_HAVE_SETUP_PER_CPU_AREA=y -# CONFIG_CMA is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set -# CONFIG_IDLE_PAGE_TRACKING is not set -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y -CONFIG_ARCH_HAS_PTE_DEVMAP=y -CONFIG_ARCH_HAS_ZONE_DMA_SET=y -CONFIG_ZONE_DMA=y -CONFIG_ZONE_DMA32=y -# CONFIG_ZONE_DEVICE is not set -CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y -CONFIG_ARCH_HAS_PKEYS=y -CONFIG_ARCH_USES_PG_ARCH_2=y -CONFIG_ARCH_USES_PG_ARCH_3=y -CONFIG_VM_EVENT_COUNTERS=y -# CONFIG_PERCPU_STATS is not set -# CONFIG_GUP_TEST is not set -# CONFIG_DMAPOOL_TEST is not set -CONFIG_ARCH_HAS_PTE_SPECIAL=y -CONFIG_MEMFD_CREATE=y -CONFIG_SECRETMEM=y -# CONFIG_ANON_VMA_NAME is not set -# CONFIG_USERFAULTFD is not set -# CONFIG_LRU_GEN is not set -CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y -CONFIG_PER_VMA_LOCK=y -CONFIG_LOCK_MM_AND_FIND_VMA=y -CONFIG_EXECMEM=y -CONFIG_NUMA_MEMBLKS=y -# CONFIG_NUMA_EMU is not set - -# -# Data Access Monitoring -# -# CONFIG_DAMON is not set -# end of Data Access Monitoring -# end of Memory Management options - CONFIG_NET=y -CONFIG_NET_INGRESS=y -CONFIG_NET_EGRESS=y -CONFIG_NET_XGRESS=y -CONFIG_SKB_DECRYPTED=y -CONFIG_SKB_EXTENSIONS=y - -# -# Networking options -# CONFIG_PACKET=y CONFIG_PACKET_DIAG=y CONFIG_UNIX=y -CONFIG_AF_UNIX_OOB=y CONFIG_UNIX_DIAG=y CONFIG_TLS=y CONFIG_TLS_DEVICE=y -# CONFIG_TLS_TOE is not set -CONFIG_XFRM=y -CONFIG_XFRM_OFFLOAD=y -CONFIG_XFRM_ALGO=y -CONFIG_XFRM_USER=y -# CONFIG_XFRM_INTERFACE is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_XFRM_STATISTICS is not set -CONFIG_XFRM_ESP=y +CONFIG_XFRM_USER=m CONFIG_NET_KEY=y -# CONFIG_NET_KEY_MIGRATE is not set CONFIG_XDP_SOCKETS=y -# CONFIG_XDP_SOCKETS_DIAG is not set -CONFIG_NET_HANDSHAKE=y CONFIG_INET=y CONFIG_CPE_FAST_PATH=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y -# CONFIG_IP_FIB_TRIE_STATS is not set CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y -# CONFIG_IP_PNP_RARP is not set CONFIG_NET_IPIP=m -# CONFIG_NET_IPGRE_DEMUX is not set -CONFIG_NET_IP_TUNNEL=y -CONFIG_IP_MROUTE_COMMON=y CONFIG_IP_MROUTE=y CONFIG_IP_MROUTE_MULTIPLE_TABLES=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y -CONFIG_SYN_COOKIES=y -# CONFIG_NET_IPVTI is not set -CONFIG_NET_UDP_TUNNEL=y -# CONFIG_NET_FOU is not set -# CONFIG_NET_FOU_IP_TUNNELS is not set -# CONFIG_INET_AH is not set -CONFIG_INET_ESP=y -CONFIG_INET_ESP_OFFLOAD=y -# CONFIG_INET_ESPINTCP is not set +CONFIG_INET_ESP=m +CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPSEC_OFFLOAD=y -# CONFIG_INET_IPCOMP is not set -CONFIG_INET_TABLE_PERTURB_ORDER=16 -CONFIG_INET_TUNNEL=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_INET_UDP_DIAG is not set -# 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_AO is not set -# CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y -# CONFIG_INET6_AH is not set CONFIG_INET6_ESP=y CONFIG_INET6_ESP_OFFLOAD=y -# CONFIG_INET6_ESPINTCP is not set CONFIG_INET6_IPSEC_OFFLOAD=y -# CONFIG_INET6_IPCOMP is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_IPV6_ILA is not set -CONFIG_INET6_TUNNEL=y -# CONFIG_IPV6_VTI is not set -CONFIG_IPV6_SIT=y -# CONFIG_IPV6_SIT_6RD is not set -CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y -# CONFIG_IPV6_SEG6_LWTUNNEL is not set -# CONFIG_IPV6_SEG6_HMAC is not set -# CONFIG_IPV6_RPL_LWTUNNEL is not set -# CONFIG_IPV6_IOAM6_LWTUNNEL is not set -# CONFIG_MPTCP is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_NETFILTER=y -CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_INGRESS=y -CONFIG_NETFILTER_EGRESS=y -CONFIG_NETFILTER_SKIP_EGRESS=y -CONFIG_NETFILTER_NETLINK=y -CONFIG_NETFILTER_FAMILY_BRIDGE=y -CONFIG_NETFILTER_BPF_LINK=y -# CONFIG_NETFILTER_NETLINK_HOOK is not set -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -CONFIG_NETFILTER_NETLINK_LOG=y -# CONFIG_NETFILTER_NETLINK_OSF is not set -CONFIG_NF_CONNTRACK=y -CONFIG_NF_LOG_SYSLOG=y -CONFIG_NF_CONNTRACK_MARK=y +CONFIG_BRIDGE_NETFILTER=m +CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_PROCFS=y CONFIG_NF_CONNTRACK_EVENTS=y -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -# CONFIG_NF_CONNTRACK_LABELS is not set -CONFIG_NF_CT_PROTO_DCCP=y -CONFIG_NF_CT_PROTO_SCTP=y -CONFIG_NF_CT_PROTO_UDPLITE=y -# CONFIG_NF_CONNTRACK_AMANDA is not set CONFIG_NF_CONNTRACK_FTP=m -# CONFIG_NF_CONNTRACK_H323 is not set -# CONFIG_NF_CONNTRACK_IRC is not set -# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set -# CONFIG_NF_CONNTRACK_SNMP is not set -# CONFIG_NF_CONNTRACK_PPTP is not set -# CONFIG_NF_CONNTRACK_SANE is not set -# CONFIG_NF_CONNTRACK_SIP is not set +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m -# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set -CONFIG_NF_NAT=y -CONFIG_NF_NAT_FTP=m -CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=y -CONFIG_NF_NAT_MASQUERADE=y -CONFIG_NF_TABLES=y +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y -# CONFIG_NFT_NUMGEN is not set -CONFIG_NFT_CT=y -# CONFIG_NFT_CONNLIMIT is not set -CONFIG_NFT_LOG=y -# CONFIG_NFT_LIMIT is not set -CONFIG_NFT_MASQ=y -# CONFIG_NFT_REDIR is not set -CONFIG_NFT_NAT=y -# CONFIG_NFT_TUNNEL is not set -# CONFIG_NFT_QUOTA is not set -# CONFIG_NFT_REJECT is not set -CONFIG_NFT_COMPAT=y -# CONFIG_NFT_HASH is not set -# CONFIG_NFT_XFRM is not set -# CONFIG_NFT_SOCKET is not set -# CONFIG_NFT_OSF is not set -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_SYNPROXY is not set -CONFIG_NF_DUP_NETDEV=m +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_CT=m +CONFIG_NFT_FLOW_OFFLOAD=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_XFRM=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_OSF=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_SYNPROXY=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m -# CONFIG_NF_FLOW_TABLE is not set -CONFIG_NETFILTER_XTABLES=y - -# -# Xtables combined modules -# -# CONFIG_NETFILTER_XT_MARK is not set -CONFIG_NETFILTER_XT_CONNMARK=y -CONFIG_NETFILTER_XT_QOSMARK=y -CONFIG_NETFILTER_XT_QOSCONNMARK=y - -# -# Xtables targets -# -# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -CONFIG_NETFILTER_XT_TARGET_CONNMARK=y -# CONFIG_NETFILTER_XT_TARGET_CT is not set -# CONFIG_NETFILTER_XT_TARGET_DSCP is not set -# CONFIG_NETFILTER_XT_TARGET_HL is not set -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NF_FLOW_TABLE=m +CONFIG_NETFILTER_XT_QOSMARK=m +CONFIG_NETFILTER_XT_QOSCONNMARK=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=m -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -CONFIG_NETFILTER_XT_NAT=y -# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y -# CONFIG_NETFILTER_XT_TARGET_TEE is not set -# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set - -# -# Xtables matches -# -# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -CONFIG_NETFILTER_XT_MATCH_COMMENT=y -# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ECN is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_HELPER is not set -# CONFIG_NETFILTER_XT_MATCH_HL is not set -# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set -# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set -CONFIG_NETFILTER_XT_MATCH_L2TP=m -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m -# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OSF is not set +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m CONFIG_NETFILTER_XT_MATCH_OWNER=m -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_RECENT is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=m -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -# CONFIG_NETFILTER_XT_MATCH_TIME is not set -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# end of Core Netfilter Configuration - -# CONFIG_IP_SET is not set -# CONFIG_IP_VS is not set - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=y -CONFIG_IP_NF_IPTABLES_LEGACY=y -# CONFIG_NF_SOCKET_IPV4 is not set -# CONFIG_NF_TPROXY_IPV4 is not set -CONFIG_NF_TABLES_IPV4=y -# CONFIG_NFT_DUP_IPV4 is not set -# CONFIG_NFT_FIB_IPV4 is not set -# CONFIG_NF_TABLES_ARP is not set -# CONFIG_NF_DUP_IPV4 is not set +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_VS=m +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_NFCT=y +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NF_TABLES_ARP=y CONFIG_NF_LOG_ARP=y CONFIG_NF_LOG_IPV4=y -# CONFIG_NF_REJECT_IPV4 is not set -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_RPFILTER is not set -# CONFIG_IP_NF_MATCH_TTL is not set -CONFIG_IP_NF_FILTER=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_SYNPROXY is not set -CONFIG_IP_NF_NAT=y -CONFIG_IP_NF_TARGET_MASQUERADE=y -# CONFIG_IP_NF_TARGET_NETMAP is not set -# CONFIG_IP_NF_TARGET_REDIRECT is not set -CONFIG_IP_NF_MANGLE=y -# CONFIG_IP_NF_TARGET_ECN is not set -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPFILTER is not set -# end of IP: Netfilter Configuration - -# -# IPv6: Netfilter Configuration -# -CONFIG_IP6_NF_IPTABLES_LEGACY=m -# CONFIG_NF_SOCKET_IPV6 is not set -# CONFIG_NF_TPROXY_IPV6 is not set -CONFIG_NF_TABLES_IPV6=y -# CONFIG_NFT_DUP_IPV6 is not set -# CONFIG_NFT_FIB_IPV6 is not set -# CONFIG_NF_DUP_IPV6 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_RAW=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m CONFIG_NF_REJECT_IPV6=y CONFIG_NF_LOG_IPV6=y CONFIG_IP6_NF_IPTABLES=m -# CONFIG_IP6_NF_MATCH_AH is not set -# CONFIG_IP6_NF_MATCH_EUI64 is not set -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_RPFILTER is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_MATCH_SRH is not set -# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m -# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_TARGET_SYNPROXY=m CONFIG_IP6_NF_MANGLE=m -# CONFIG_IP6_NF_RAW is not set +CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m -# CONFIG_IP6_NF_TARGET_NPT is not set -# end of IPv6: Netfilter Configuration - -CONFIG_NF_DEFRAG_IPV6=y -CONFIG_NF_TABLES_BRIDGE=y -# CONFIG_NFT_BRIDGE_META is not set -# CONFIG_NF_CONNTRACK_BRIDGE is not set -CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y -CONFIG_BRIDGE_NF_EBTABLES=y -# CONFIG_BRIDGE_EBT_BROUTE is not set -# CONFIG_BRIDGE_EBT_T_FILTER is not set -CONFIG_BRIDGE_EBT_T_NAT=y -# CONFIG_BRIDGE_EBT_802_3 is not set -# CONFIG_BRIDGE_EBT_AMONG is not set -# CONFIG_BRIDGE_EBT_ARP is not set -# CONFIG_BRIDGE_EBT_IP is not set -# CONFIG_BRIDGE_EBT_IP6 is not set -# CONFIG_BRIDGE_EBT_LIMIT is not set -# CONFIG_BRIDGE_EBT_MARK is not set -# CONFIG_BRIDGE_EBT_PKTTYPE is not set -# CONFIG_BRIDGE_EBT_STP is not set -# CONFIG_BRIDGE_EBT_VLAN is not set -# CONFIG_BRIDGE_EBT_ARPREPLY is not set -CONFIG_BRIDGE_EBT_DNAT=y -# CONFIG_BRIDGE_EBT_MARK_T is not set -# CONFIG_BRIDGE_EBT_REDIRECT is not set -CONFIG_BRIDGE_EBT_SNAT=y -# CONFIG_BRIDGE_EBT_LOG is not set -# CONFIG_BRIDGE_EBT_NFLOG 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_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_SNAT=m CONFIG_L2TP=m -# CONFIG_L2TP_DEBUGFS is not set CONFIG_L2TP_V3=y -# CONFIG_L2TP_IP is not set -# CONFIG_L2TP_ETH is not set -CONFIG_STP=y -CONFIG_GARP=y -CONFIG_MRP=y CONFIG_BRIDGE=y -CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y -# CONFIG_BRIDGE_MRP is not set -# CONFIG_BRIDGE_CFM is not set CONFIG_NET_DSA=y -# CONFIG_NET_DSA_TAG_NONE is not set -# CONFIG_NET_DSA_TAG_AR9331 is not set -# CONFIG_NET_DSA_TAG_BRCM is not set -# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set -# CONFIG_NET_DSA_TAG_BRCM_PREPEND is not set -# CONFIG_NET_DSA_TAG_HELLCREEK is not set -# CONFIG_NET_DSA_TAG_GSWIP is not set -# CONFIG_NET_DSA_TAG_DSA is not set -# CONFIG_NET_DSA_TAG_EDSA is not set -# CONFIG_NET_DSA_TAG_MTK is not set -# CONFIG_NET_DSA_TAG_KSZ is not set -CONFIG_NET_DSA_TAG_OCELOT=m -CONFIG_NET_DSA_TAG_OCELOT_8021Q=m -# CONFIG_NET_DSA_TAG_QCA is not set -# CONFIG_NET_DSA_TAG_RTL4_A is not set -# CONFIG_NET_DSA_TAG_RTL8_4 is not set -# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set -# CONFIG_NET_DSA_TAG_LAN9303 is not set -# CONFIG_NET_DSA_TAG_SJA1105 is not set -# CONFIG_NET_DSA_TAG_TRAILER is not set -# CONFIG_NET_DSA_TAG_VSC73XX_8021Q is not set -# CONFIG_NET_DSA_TAG_XRS700X is not set -# CONFIG_NET_DSA_TAG_NETC is not set -CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y -CONFIG_LLC=y -# 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_6LOWPAN is not set -# CONFIG_IEEE802154 is not set CONFIG_NET_SCHED=y - -# -# Queueing/Scheduling -# CONFIG_NET_SCH_HTB=y CONFIG_NET_SCH_HFSC=y CONFIG_NET_SCH_PRIO=y CONFIG_NET_SCH_MULTIQ=m CONFIG_NET_SCH_RED=y -# CONFIG_NET_SCH_SFB is not set CONFIG_NET_SCH_SFQ=y CONFIG_NET_SCH_TEQL=y CONFIG_NET_SCH_TBF=y -# CONFIG_NET_SCH_CBS is not set -# CONFIG_NET_SCH_ETF is not set -CONFIG_NET_SCH_MQPRIO_LIB=m CONFIG_NET_SCH_TAPRIO=m -# CONFIG_NET_SCH_GRED is not set -# CONFIG_NET_SCH_NETEM is not set -# CONFIG_NET_SCH_DRR is not set CONFIG_NET_SCH_MQPRIO=m -# CONFIG_NET_SCH_SKBPRIO is not set -# CONFIG_NET_SCH_CHOKE is not set -# CONFIG_NET_SCH_QFQ is not set -# CONFIG_NET_SCH_CODEL is not set CONFIG_NET_SCH_FQ_CODEL=y -# CONFIG_NET_SCH_CAKE is not set CONFIG_NET_SCH_FQ=y -# CONFIG_NET_SCH_HHF is not set -# CONFIG_NET_SCH_PIE is not set -# CONFIG_NET_SCH_INGRESS is not set -# CONFIG_NET_SCH_PLUG is not set -# CONFIG_NET_SCH_ETS is not set -# CONFIG_NET_SCH_DEFAULT is not set - -# -# Classification -# -CONFIG_NET_CLS=y +CONFIG_NET_SCH_INGRESS=y CONFIG_NET_CLS_BASIC=m -# CONFIG_NET_CLS_ROUTE4 is not set -# CONFIG_NET_CLS_FW is not set CONFIG_NET_CLS_U32=y -# CONFIG_CLS_U32_PERF is not set -# CONFIG_CLS_U32_MARK is not set -# CONFIG_NET_CLS_FLOW is not set -# CONFIG_NET_CLS_CGROUP is not set -# CONFIG_NET_CLS_BPF is not set +CONFIG_NET_CLS_CGROUP=m CONFIG_NET_CLS_FLOWER=m -# CONFIG_NET_CLS_MATCHALL is not set CONFIG_NET_EMATCH=y -CONFIG_NET_EMATCH_STACK=32 -# CONFIG_NET_EMATCH_CMP is not set -# CONFIG_NET_EMATCH_NBYTE is not set CONFIG_NET_EMATCH_U32=y -# CONFIG_NET_EMATCH_META is not set -# CONFIG_NET_EMATCH_TEXT is not set -# CONFIG_NET_EMATCH_IPT is not set +CONFIG_NET_EMATCH_IPT=m CONFIG_NET_CLS_ACT=y -# CONFIG_NET_ACT_POLICE is not set -# CONFIG_NET_ACT_GACT is not set +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y CONFIG_NET_ACT_MIRRED=m -# CONFIG_NET_ACT_SAMPLE is not set -# CONFIG_NET_ACT_NAT is not set CONFIG_NET_ACT_PEDIT=y -# CONFIG_NET_ACT_SIMP is not set CONFIG_NET_ACT_SKBEDIT=y -# CONFIG_NET_ACT_CSUM is not set -# CONFIG_NET_ACT_MPLS is not set CONFIG_NET_ACT_VLAN=y -# CONFIG_NET_ACT_BPF is not set -# CONFIG_NET_ACT_CONNMARK is not set -# CONFIG_NET_ACT_CTINFO is not set CONFIG_NET_ACT_SKBMOD=y -# CONFIG_NET_ACT_IFE is not set -# CONFIG_NET_ACT_TUNNEL_KEY is not set -# CONFIG_NET_ACT_GATE is not set -# CONFIG_NET_TC_SKB_EXT is not set -CONFIG_NET_SCH_FIFO=y -# CONFIG_DCB is not set -# CONFIG_TSN is not set -CONFIG_DNS_RESOLVER=y -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set CONFIG_NETLINK_DIAG=y -# CONFIG_MPLS is not set -# CONFIG_NET_NSH is not set -# CONFIG_HSR is not set -CONFIG_NET_SWITCHDEV=y -# CONFIG_NET_L3_MASTER_DEV is not set -# CONFIG_QRTR is not set -# CONFIG_NET_NCSI is not set -CONFIG_PCPU_DEV_REFCNT=y -CONFIG_MAX_SKB_FRAGS=17 -CONFIG_RPS=y -CONFIG_RFS_ACCEL=y -CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_XPS=y -# CONFIG_CGROUP_NET_PRIO is not set -# CONFIG_CGROUP_NET_CLASSID is not set -CONFIG_NET_RX_BUSY_POLL=y -CONFIG_BQL=y -# CONFIG_BPF_STREAM_PARSER is not set -CONFIG_NET_FLOW_LIMIT=y - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# end of Network testing -# end of Networking options - -# CONFIG_HAMRADIO is not set -# CONFIG_CAN is not set +CONFIG_CGROUP_NET_PRIO=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BT=m -CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y -# CONFIG_BT_BNEP is not set -# CONFIG_BT_HIDP is not set -CONFIG_BT_LE=y -CONFIG_BT_LE_L2CAP_ECRED=y -# CONFIG_BT_LEDS is not set -# CONFIG_BT_MSFTEXT is not set -# CONFIG_BT_AOSPEXT is not set -CONFIG_BT_DEBUGFS=y -# CONFIG_BT_SELFTEST is not set -# CONFIG_BT_FEATURE_DEBUG is not set - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIBTUSB is not set -# CONFIG_BT_HCIBTSDIO is not set CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_SERDEV=y -CONFIG_BT_HCIUART_H4=y -# CONFIG_BT_HCIUART_NOKIA is not set -# CONFIG_BT_HCIUART_BCSP is not set -# CONFIG_BT_HCIUART_ATH3K is not set CONFIG_BT_HCIUART_LL=y -# CONFIG_BT_HCIUART_3WIRE is not set -# CONFIG_BT_HCIUART_INTEL is not set -# CONFIG_BT_HCIUART_BCM is not set -# CONFIG_BT_HCIUART_RTL is not set -# CONFIG_BT_HCIUART_QCA is not set -# CONFIG_BT_HCIUART_AG6XX is not set -# CONFIG_BT_HCIUART_MRVL is not set -# CONFIG_BT_HCIUART_AML is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBCM4377 is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_BT_MRVL is not set -# CONFIG_BT_MTKSDIO is not set -# CONFIG_BT_MTKUART is not set -# CONFIG_BT_VIRTIO is not set CONFIG_BT_NXPUART=m -# CONFIG_BT_INTEL_PCIE is not set -# end of Bluetooth device drivers - -# CONFIG_AF_RXRPC is not set -# CONFIG_AF_KCM is not set -CONFIG_STREAM_PARSER=y -# CONFIG_MCTP is not set -CONFIG_FIB_RULES=y -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_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -CONFIG_MAC80211_LEDS=y -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -# 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_DST_CACHE=y -CONFIG_GRO_CELLS=y -CONFIG_SOCK_VALIDATE_XMIT=y -CONFIG_NET_SELFTESTS=y -CONFIG_NET_SOCK_MSG=y -CONFIG_NET_DEVLINK=y -CONFIG_PAGE_POOL=y -# CONFIG_PAGE_POOL_STATS is not set -CONFIG_FAILOVER=y -CONFIG_ETHTOOL_NETLINK=y - -# -# Device Drivers -# -CONFIG_ARM_AMBA=y -CONFIG_HAVE_PCI=y -CONFIG_GENERIC_PCI_IOMAP=y CONFIG_PCI=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_SYSCALL=y CONFIG_PCIEPORTBUS=y -# CONFIG_HOTPLUG_PCI_PCIE is not set CONFIG_PCIEAER=y -# CONFIG_PCIEAER_INJECT is not set -# CONFIG_PCIE_ECRC is not set -CONFIG_PCIEASPM=y -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_POWERSAVE is not set -# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set -# CONFIG_PCIEASPM_PERFORMANCE is not set -CONFIG_PCIE_PME=y -# CONFIG_PCIE_DPC is not set -# CONFIG_PCIE_PTM is not set -CONFIG_PCI_MSI=y -CONFIG_PCI_QUIRKS=y -# CONFIG_PCI_DEBUG is not set -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -# CONFIG_PCI_STUB is not set -# CONFIG_PCI_PF_STUB is not set -CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y -# CONFIG_PCI_NPEM is not set -# CONFIG_PCI_PRI is not set -# CONFIG_PCI_PASID is not set -CONFIG_PCI_LABEL=y -# CONFIG_PCI_DYNAMIC_OF_NODES is not set -# CONFIG_PCIE_BUS_TUNE_OFF is not set -CONFIG_PCIE_BUS_DEFAULT=y -# CONFIG_PCIE_BUS_SAFE is not set -# CONFIG_PCIE_BUS_PERFORMANCE is not set -# CONFIG_PCIE_BUS_PEER2PEER is not set -CONFIG_VGA_ARB=y -CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_VGA_ARB is not set CONFIG_HOTPLUG_PCI=y -# CONFIG_HOTPLUG_PCI_CPCI is not set -# CONFIG_HOTPLUG_PCI_SHPC is not set - -# -# PCI controller drivers -# -# CONFIG_PCIE_ALTERA is not set -# CONFIG_PCI_HOST_THUNDER_PEM is not set -# CONFIG_PCI_HOST_THUNDER_ECAM is not set -# CONFIG_PCI_FTPCI100 is not set -# CONFIG_PCI_HOST_GENERIC is not set -# CONFIG_PCI_XGENE is not set -# CONFIG_PCIE_XILINX is not set - -# -# Cadence-based PCIe controllers -# -# CONFIG_PCIE_CADENCE_PLAT_HOST is not set -# end of Cadence-based PCIe controllers - -# -# DesignWare-based PCIe controllers -# -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -# CONFIG_PCIE_AL is not set -# CONFIG_PCI_MESON is not set CONFIG_PCI_LAYERSCAPE=y -# CONFIG_PCI_HISI is not set -# CONFIG_PCIE_KIRIN is not set -# CONFIG_PCIE_DW_PLAT_HOST is not set -# end of DesignWare-based PCIe controllers - -# -# Mobiveil-based PCIe controllers -# -# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set -# end of Mobiveil-based PCIe controllers - -# -# PLDA-based PCIe controllers -# -# CONFIG_PCIE_MICROCHIP_HOST is not set -# end of PLDA-based PCIe controllers -# end of PCI controller drivers - -# -# PCI Endpoint -# -# CONFIG_PCI_ENDPOINT is not set -# end of PCI Endpoint - -# -# PCI switch controller drivers -# -# CONFIG_PCI_SW_SWITCHTEC is not set -# end of PCI switch controller drivers - -# CONFIG_CXL_BUS is not set -# CONFIG_PCCARD is not set -# CONFIG_RAPIDIO is not set - -# -# Generic Driver Options -# -CONFIG_AUXILIARY_BUS=y -# CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_DEVTMPFS_SAFE is not set -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y - -# -# Firmware loader -# -CONFIG_FW_LOADER=y -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_FW_LOADER_SYSFS=y -CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -# CONFIG_FW_LOADER_COMPRESS is not set -CONFIG_FW_CACHE=y -# CONFIG_FW_UPLOAD is not set -# end of Firmware loader - -CONFIG_WANT_DEV_COREDUMP=y -CONFIG_ALLOW_DEV_COREDUMP=y -CONFIG_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_DEVICES=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_SOC_BUS=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y -CONFIG_REGMAP_SPI=m -CONFIG_REGMAP_MMIO=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_ARCH_NUMA=y -# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set -# end of Generic Driver Options - -# -# Bus devices -# -# CONFIG_MOXTET is not set -# CONFIG_VEXPRESS_CONFIG is not set -CONFIG_FSL_MC_BUS=y CONFIG_FSL_MC_UAPI_SUPPORT=y -# CONFIG_MHI_BUS is not set -# CONFIG_MHI_BUS_EP is not set -# end of Bus devices - -# -# Cache Drivers -# -# end of Cache Drivers - CONFIG_CONNECTOR=y -CONFIG_PROC_EVENTS=y - -# -# Firmware Drivers -# - -# -# ARM System Control and Management Interface Protocol -# CONFIG_ARM_SCMI_PROTOCOL=y -# CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set -# CONFIG_ARM_SCMI_DEBUG_COUNTERS is not set - -# -# SCMI Transport Drivers -# -CONFIG_ARM_SCMI_HAVE_TRANSPORT=y -CONFIG_ARM_SCMI_HAVE_SHMEM=y -CONFIG_ARM_SCMI_TRANSPORT_SMC=y -# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set -# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO is not set -# end of SCMI Transport Drivers - -# -# ARM SCMI NXP i.MX Vendor Protocols -# -# CONFIG_IMX_SCMI_BBM_EXT is not set -# CONFIG_IMX_SCMI_CPU_EXT is not set -# CONFIG_IMX_SCMI_LMM_EXT is not set -# CONFIG_IMX_SCMI_MISC_EXT is not set -# end of ARM SCMI NXP i.MX Vendor Protocols - -# CONFIG_ARM_SCMI_POWER_CONTROL is not set -# end of ARM System Control and Management Interface Protocol - -# CONFIG_ARM_SDE_INTERFACE is not set -# CONFIG_FIRMWARE_MEMMAP is not set -CONFIG_DMIID=y -# CONFIG_DMI_SYSFS is not set -# CONFIG_FW_CFG_SYSFS is not set -# CONFIG_SYSFB_SIMPLEFB is not set -# CONFIG_ARM_FFA_TRANSPORT is not set -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# EFI (Extensible Firmware Interface) Support -# -CONFIG_EFI_ESRT=y -CONFIG_EFI_PARAMS_FROM_FDT=y -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_GENERIC_STUB=y -# CONFIG_EFI_ZBOOT is not set -CONFIG_EFI_ARMSTUB_DTB_LOADER=y -# CONFIG_EFI_BOOTLOADER_CONTROL is not set -# CONFIG_EFI_CAPSULE_LOADER is not set -# CONFIG_EFI_TEST is not set -# CONFIG_RESET_ATTACK_MITIGATION is not set -# CONFIG_EFI_DISABLE_PCI_DMA is not set -CONFIG_EFI_EARLYCON=y -# CONFIG_EFI_DISABLE_RUNTIME is not set -# CONFIG_EFI_COCO_SECRET is not set -# end of EFI (Extensible Firmware Interface) Support - -CONFIG_ARM_PSCI_FW=y - -# -# Qualcomm firmware drivers -# -# end of Qualcomm firmware drivers - -CONFIG_HAVE_ARM_SMCCC=y -CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y -CONFIG_ARM_SMCCC_SOC_ID=y - -# -# Tegra firmware driver -# -# end of Tegra firmware driver -# end of Firmware Drivers - -# CONFIG_GNSS is not set CONFIG_MTD=y -# CONFIG_MTD_TESTS is not set - -# -# Partition parsers -# CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_OF_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# end of Partition parsers - -# -# User Modules And Translation Layers -# -CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y - -# -# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK. -# -# 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_SWAP is not set -# CONFIG_MTD_PARTITIONED_MASTER is not set - -# -# RAM/ROM/Flash chip drivers -# +CONFIG_MTD_PSTORE=y CONFIG_MTD_CFI=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_CFI_ADV_OPTIONS 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_CFI_INTELEXT=y CONFIG_MTD_CFI_AMDSTD=y -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# end of RAM/ROM/Flash chip drivers - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_PLATRAM is not set -# end of Mapping drivers for chip access - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_MCHP23K256 is not set -# CONFIG_MTD_MCHP48L640 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 -# end of Self-contained MTD device drivers - -# -# NAND -# -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_RAW_NAND is not set -# CONFIG_MTD_SPI_NAND is not set - -# -# ECC engine support -# -# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set -# CONFIG_MTD_NAND_ECC_SW_BCH is not set -# CONFIG_MTD_NAND_ECC_MXIC is not set -# end of ECC engine support -# end of NAND - -# -# LPDDR & LPDDR2 PCM memory drivers -# -# CONFIG_MTD_LPDDR is not set -# end of LPDDR & LPDDR2 PCM memory drivers - CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y -# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set -CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y -# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set -# CONFIG_MTD_UBI is not set -# CONFIG_MTD_HYPERBUS 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_ADDRESS=y -CONFIG_OF_IRQ=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -CONFIG_OF_NUMA=y -# CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_NULL_BLK is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_ZRAM is not set +CONFIG_ZRAM=m +CONFIG_ZRAM_BACKEND_LZ4=y +CONFIG_ZRAM_BACKEND_LZ4HC=y +CONFIG_ZRAM_BACKEND_ZSTD=y +CONFIG_ZRAM_BACKEND_DEFLATE=y +CONFIG_ZRAM_BACKEND_842=y +CONFIG_ZRAM_BACKEND_LZO=y +CONFIG_ZRAM_WRITEBACK=y +CONFIG_ZRAM_MEMORY_TRACKING=y CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=65536 -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set CONFIG_VIRTIO_BLK=y -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_UBLK is not set - -# -# NVME Support -# -# CONFIG_BLK_DEV_NVME is not set -# CONFIG_NVME_FC is not set -# CONFIG_NVME_TCP is not set -# CONFIG_NVME_TARGET is not set -# end of NVME Support - -# -# Misc devices -# -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_PHANTOM is not set -# CONFIG_RPMB is not set -# CONFIG_TIFM_CORE is not set -# CONFIG_ICS932S401 is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_HP_ILO 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_LATTICE_ECP3_CONFIG is not set -# CONFIG_SRAM is not set -# CONFIG_DW_XDATA_PCIE is not set -# CONFIG_PCI_ENDPOINT_TEST is not set -# CONFIG_XILINX_SDFEC is not set -# CONFIG_HISI_HIKEY_USB is not set -# CONFIG_OPEN_DICE is not set -# CONFIG_VCPU_STALL_DETECTOR is not set -# CONFIG_NSM is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# CONFIG_EEPROM_AT24=y -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_MAX6875 is not set CONFIG_EEPROM_93CX6=y -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_IDT_89HPESX is not set -# CONFIG_EEPROM_EE1004 is not set -# end of EEPROM support - -# CONFIG_CB710_CORE is not set - -# -# Texas Instruments shared transport line discipline -# -# CONFIG_TI_ST is not set -# end of Texas Instruments shared transport line discipline - -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LIS3_I2C is not set -# CONFIG_ALTERA_STAPL is not set -# CONFIG_VMWARE_VMCI is not set -# CONFIG_GENWQE is not set -# CONFIG_ECHO is not set -# CONFIG_BCM_VK is not set -# CONFIG_MISC_ALCOR_PCI is not set -# CONFIG_MISC_RTSX_PCI is not set -# CONFIG_MISC_RTSX_USB is not set -# CONFIG_UACCE is not set -# CONFIG_PVPANIC is not set -# CONFIG_GP_PCI1XXXX is not set -# CONFIG_KEBA_CP500 is not set -# end of Misc devices - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI_COMMON=y CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -CONFIG_BLK_DEV_BSG=y -# 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 -# end of SCSI Transports - -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_SCSI_CXGB3_ISCSI is not set -# CONFIG_SCSI_CXGB4_ISCSI is not set -# CONFIG_SCSI_BNX2_ISCSI is not set -# CONFIG_BE2ISCSI is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_HPSA is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_3W_SAS is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_MVSAS is not set -# CONFIG_SCSI_MVUMI is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_SCSI_ESAS2R is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_MPT3SAS is not set -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_MPI3MR is not set -# CONFIG_SCSI_SMARTPQI is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_MYRB is not set -# CONFIG_SCSI_MYRS is not set -# CONFIG_SCSI_SNIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_FDOMAIN_PCI is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_AM53C974 is not set -# CONFIG_SCSI_WD719X is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_PMCRAID is not set -# CONFIG_SCSI_PM8001 is not set -# CONFIG_SCSI_VIRTIO is not set -# CONFIG_SCSI_DH is not set -# end of SCSI device support - -# CONFIG_ATA is not set -# CONFIG_MD is not set -# CONFIG_TARGET_CORE is not set -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_FIREWIRE is not set -# CONFIG_FIREWIRE_NOSY is not set -# end of IEEE 1394 (FireWire) support - CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -# CONFIG_DUMMY is not set +CONFIG_DUMMY=m CONFIG_WIREGUARD=y -# CONFIG_WIREGUARD_DEBUG is not set -# CONFIG_EQUALIZER is not set -# CONFIG_NET_FC is not set -# CONFIG_IFB is not set -# CONFIG_NET_TEAM is not set -CONFIG_MACVLAN=y -CONFIG_MACVTAP=y -# CONFIG_IPVLAN is not set +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN=m CONFIG_VXLAN=m -# CONFIG_GENEVE is not set -# CONFIG_BAREUDP is not set -# CONFIG_GTP is not set -# CONFIG_PFCP is not set -# CONFIG_AMT is not set CONFIG_MACSEC=y -# CONFIG_NETCONSOLE is not set CONFIG_TUN=y -CONFIG_TAP=y -# CONFIG_TUN_VNET_CROSS_LE is not set -# CONFIG_VETH is not set +CONFIG_VETH=m CONFIG_VIRTIO_NET=y -# CONFIG_NLMON is not set -# CONFIG_NETKIT is not set -# CONFIG_ARCNET is not set - -# -# Distributed Switch Architecture drivers -# -# CONFIG_B53 is not set -# CONFIG_NET_DSA_BCM_SF2 is not set -# CONFIG_NET_DSA_LOOP is not set -# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set -# CONFIG_NET_DSA_LANTIQ_GSWIP is not set -# CONFIG_NET_DSA_MT7530 is not set -# CONFIG_NET_DSA_MV88E6060 is not set -# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set -# CONFIG_NET_DSA_MV88E6XXX is not set -CONFIG_NET_DSA_MSCC_FELIX_DSA_LIB=m -# CONFIG_NET_DSA_MSCC_OCELOT_EXT is not set +CONFIG_NETKIT=y CONFIG_NET_DSA_MSCC_FELIX=m -# CONFIG_NET_DSA_MSCC_SEVILLE is not set -# CONFIG_NET_DSA_AR9331 is not set -# CONFIG_NET_DSA_QCA8K is not set -# CONFIG_NET_DSA_SJA1105 is not set -# CONFIG_NET_DSA_XRS700X_I2C is not set -# CONFIG_NET_DSA_XRS700X_MDIO is not set -# CONFIG_NET_DSA_REALTEK is not set -# CONFIG_NET_DSA_NETC_SWITCH is not set -# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set -# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set -# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set -# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set -# end of Distributed Switch Architecture drivers - -CONFIG_ETHERNET=y -CONFIG_NET_VENDOR_3COM=y -# CONFIG_VORTEX is not set -# CONFIG_TYPHOON is not set -CONFIG_NET_VENDOR_ADAPTEC=y -# CONFIG_ADAPTEC_STARFIRE is not set -CONFIG_NET_VENDOR_AGERE=y -# CONFIG_ET131X is not set -CONFIG_NET_VENDOR_ALACRITECH=y -# CONFIG_SLICOSS is not set -CONFIG_NET_VENDOR_ALTEON=y -# CONFIG_ACENIC is not set -# CONFIG_ALTERA_TSE is not set -CONFIG_NET_VENDOR_AMAZON=y -# CONFIG_ENA_ETHERNET is not set -CONFIG_NET_VENDOR_AMD=y -# CONFIG_AMD8111_ETH is not set -# CONFIG_PCNET32 is not set -# CONFIG_AMD_XGBE is not set -# CONFIG_PDS_CORE is not set -CONFIG_NET_VENDOR_AQUANTIA=y -# CONFIG_AQTION is not set -CONFIG_NET_VENDOR_ARC=y -CONFIG_NET_VENDOR_ASIX=y -# CONFIG_SPI_AX88796C is not set -CONFIG_NET_VENDOR_ATHEROS=y -# CONFIG_ATL2 is not set -# CONFIG_ATL1 is not set -# CONFIG_ATL1E is not set -# CONFIG_ATL1C is not set -# CONFIG_ALX is not set -CONFIG_NET_VENDOR_BROADCOM=y -# CONFIG_B44 is not set -# CONFIG_BCMGENET is not set -# CONFIG_BNX2 is not set -# CONFIG_CNIC is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2X is not set -# CONFIG_SYSTEMPORT is not set -# CONFIG_BNXT is not set -CONFIG_NET_VENDOR_CADENCE=y -# CONFIG_MACB is not set -CONFIG_NET_VENDOR_CAVIUM=y -# CONFIG_THUNDER_NIC_PF is not set -# CONFIG_THUNDER_NIC_VF is not set -# CONFIG_THUNDER_NIC_BGX is not set -# CONFIG_THUNDER_NIC_RGX is not set -# CONFIG_CAVIUM_PTP is not set -# CONFIG_LIQUIDIO is not set -# CONFIG_LIQUIDIO_VF is not set -CONFIG_NET_VENDOR_CHELSIO=y -# CONFIG_CHELSIO_T1 is not set -# CONFIG_CHELSIO_T3 is not set -# CONFIG_CHELSIO_T4 is not set -# CONFIG_CHELSIO_T4VF is not set -CONFIG_NET_VENDOR_CISCO=y -# CONFIG_ENIC is not set -CONFIG_NET_VENDOR_CORTINA=y -# CONFIG_GEMINI_ETHERNET is not set -CONFIG_NET_VENDOR_DAVICOM=y -# CONFIG_DM9051 is not set -# CONFIG_DNET is not set -CONFIG_NET_VENDOR_DEC=y -# CONFIG_NET_TULIP is not set -CONFIG_NET_VENDOR_DLINK=y -# CONFIG_DL2K is not set -# CONFIG_SUNDANCE is not set -CONFIG_NET_VENDOR_EMULEX=y -# CONFIG_BE2NET is not set -CONFIG_NET_VENDOR_ENGLEDER=y -# CONFIG_TSNEP is not set -CONFIG_NET_VENDOR_EZCHIP=y -# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set -CONFIG_NET_VENDOR_FREESCALE=y -# CONFIG_FEC_UIO is not set -# CONFIG_FSL_FMAN is not set CONFIG_FSL_PQ_MDIO=y CONFIG_FSL_XGMAC_MDIO=y -# CONFIG_GIANFAR is not set - -# -# Frame Manager support -# -CONFIG_FSL_SDK_FMAN=y -# CONFIG_FSL_SDK_FMAN_TEST is not set -# CONFIG_FSL_SDK_FMAN_RTC_API is not set -# CONFIG_DBG_UCODE_INFRA is not set -# CONFIG_DMAR_TEST is not set -CONFIG_FSL_FM_MAX_FRAME_SIZE=1522 -CONFIG_FSL_FM_RX_EXTRA_HEADROOM=64 -# CONFIG_FMAN_PFC is not set -# end of Frame Manager support - CONFIG_FSL_SDK_DPAA_ETH=y -# CONFIG_FSL_DPAA_HOOKS is not set -# CONFIG_FSL_DPAA_CEETM is not set -CONFIG_FSL_DPAA_OFFLINE_PORTS=y -CONFIG_FSL_DPAA_ADVANCED_DRIVERS=y -# CONFIG_FSL_DPAA_ETH_JUMBO_FRAME is not set -CONFIG_FSL_DPAA_TS=y CONFIG_FSL_DPAA_1588=y CONFIG_FSL_DPAA_ETH_MAX_BUF_COUNT=640 -CONFIG_FSL_DPAA_ETH_REFILL_THRESHOLD=80 -CONFIG_FSL_DPAA_CS_THRESHOLD_1G=0x06000000 -CONFIG_FSL_DPAA_CS_THRESHOLD_10G=0x10000000 -CONFIG_FSL_DPAA_INGRESS_CS_THRESHOLD=0x10000000 -CONFIG_FSL_DPAA_ETH_DEBUGFS=y -# CONFIG_FSL_DPAA_ETH_DEBUG is not set -# CONFIG_FSL_DPAA_DBG_LOOP is not set -# CONFIG_FSL_DPAA2_ETH is not set -# CONFIG_FSL_DPAA2_MAC is not set -# CONFIG_FSL_DPAA2_SWITCH is not set -# CONFIG_FSL_ENETC_CORE is not set -# CONFIG_FSL_ENETC is not set -# CONFIG_FSL_ENETC_VF is not set -# CONFIG_FSL_ENETC_IERB is not set -# CONFIG_NXP_NETC_BLK_CTRL is not set CONFIG_FSL_ENETC_MDIO=y -CONFIG_FSL_ENETC_PTP_CLOCK=y -# CONFIG_FSL_ENETC_QOS is not set -CONFIG_NET_VENDOR_FUNGIBLE=y -# CONFIG_FUN_ETH is not set -CONFIG_NET_VENDOR_GOOGLE=y -# CONFIG_GVE is not set -CONFIG_NET_VENDOR_HISILICON=y -# CONFIG_HIX5HD2_GMAC is not set -# CONFIG_HISI_FEMAC is not set -# CONFIG_HIP04_ETH is not set -# CONFIG_HNS_DSAF is not set -# CONFIG_HNS_ENET is not set -# CONFIG_HNS3 is not set -CONFIG_NET_VENDOR_HUAWEI=y -# CONFIG_HINIC is not set -CONFIG_NET_VENDOR_I825XX=y -CONFIG_NET_VENDOR_INTEL=y -# CONFIG_E100 is not set -# CONFIG_E1000 is not set -# CONFIG_E1000E is not set -# CONFIG_IGB is not set -# CONFIG_IGBVF is not set -# CONFIG_IXGBE is not set -# CONFIG_IXGBEVF is not set -# CONFIG_I40E is not set -# CONFIG_I40EVF is not set -# CONFIG_ICE is not set -# CONFIG_FM10K is not set -# CONFIG_IGC is not set -# CONFIG_IDPF is not set -# CONFIG_JME is not set -CONFIG_NET_VENDOR_ADI=y -# CONFIG_ADIN1110 is not set -CONFIG_NET_VENDOR_LITEX=y -# CONFIG_LITEX_LITEETH is not set -CONFIG_NET_VENDOR_MARVELL=y -# CONFIG_MVMDIO is not set -# CONFIG_SKGE is not set -# CONFIG_SKY2 is not set -# CONFIG_OCTEONTX2_AF is not set -# CONFIG_OCTEONTX2_PF is not set -# CONFIG_OCTEON_EP is not set -# CONFIG_OCTEON_EP_VF is not set -# CONFIG_PRESTERA is not set -CONFIG_NET_VENDOR_MELLANOX=y -CONFIG_MLX4_EN=m -CONFIG_MLX4_CORE=m -CONFIG_MLX4_DEBUG=y -CONFIG_MLX4_CORE_GEN2=y -CONFIG_MLX5_CORE=m -# CONFIG_MLX5_FPGA is not set -CONFIG_MLX5_CORE_EN=y -CONFIG_MLX5_EN_ARFS=y -CONFIG_MLX5_EN_RXNFC=y -CONFIG_MLX5_MPFS=y -CONFIG_MLX5_ESWITCH=y -CONFIG_MLX5_BRIDGE=y -# CONFIG_MLX5_CORE_IPOIB is not set -# CONFIG_MLX5_MACSEC is not set -# CONFIG_MLX5_EN_IPSEC is not set -# CONFIG_MLX5_EN_TLS is not set -CONFIG_MLX5_SW_STEERING=y -CONFIG_MLX5_HW_STEERING=y -# CONFIG_MLX5_SF is not set -# CONFIG_MLX5_DPLL is not set -# CONFIG_MLXSW_CORE is not set -# CONFIG_MLXFW is not set -CONFIG_NET_VENDOR_META=y -CONFIG_NET_VENDOR_MICREL=y -# CONFIG_KS8842 is not set -# CONFIG_KS8851 is not set -# CONFIG_KS8851_MLL is not set -# CONFIG_KSZ884X_PCI is not set -CONFIG_NET_VENDOR_MICROCHIP=y -# CONFIG_ENC28J60 is not set -# CONFIG_ENCX24J600 is not set -# CONFIG_LAN743X is not set -# CONFIG_LAN865X is not set -# CONFIG_LAN966X_SWITCH is not set -# CONFIG_VCAP is not set -CONFIG_NET_VENDOR_MICROSEMI=y -CONFIG_MSCC_OCELOT_SWITCH_LIB=m -# CONFIG_MSCC_OCELOT_SWITCH is not set -CONFIG_NET_VENDOR_MICROSOFT=y -CONFIG_NET_VENDOR_MYRI=y -# CONFIG_MYRI10GE is not set -# CONFIG_FEALNX is not set -CONFIG_NET_VENDOR_NI=y -# CONFIG_NI_XGE_MANAGEMENT_ENET is not set -CONFIG_NET_VENDOR_NATSEMI=y -# CONFIG_NATSEMI is not set -# CONFIG_NS83820 is not set -CONFIG_NET_VENDOR_NETERION=y -# CONFIG_S2IO is not set -CONFIG_NET_VENDOR_NETRONOME=y -# CONFIG_NFP is not set -CONFIG_NET_VENDOR_8390=y -# CONFIG_NE2K_PCI is not set -CONFIG_NET_VENDOR_NVIDIA=y -# CONFIG_FORCEDETH is not set -CONFIG_NET_VENDOR_OKI=y -# CONFIG_ETHOC is not set -# CONFIG_OA_TC6 is not set -CONFIG_NET_VENDOR_PACKET_ENGINES=y -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -CONFIG_NET_VENDOR_PENSANDO=y -# CONFIG_IONIC is not set -CONFIG_NET_VENDOR_QLOGIC=y -# CONFIG_QLA3XXX is not set -# CONFIG_QLCNIC is not set -# CONFIG_NETXEN_NIC is not set -# CONFIG_QED is not set -CONFIG_NET_VENDOR_BROCADE=y -# CONFIG_BNA is not set -CONFIG_NET_VENDOR_QUALCOMM=y -# CONFIG_QCA7000_SPI is not set -# CONFIG_QCA7000_UART is not set -# CONFIG_QCOM_EMAC is not set -# CONFIG_RMNET is not set -CONFIG_NET_VENDOR_RDC=y -# CONFIG_R6040 is not set -CONFIG_NET_VENDOR_REALTEK=y -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_R8169 is not set -# CONFIG_RTASE is not set -CONFIG_NET_VENDOR_RENESAS=y -CONFIG_NET_VENDOR_ROCKER=y -# CONFIG_ROCKER is not set -CONFIG_NET_VENDOR_SAMSUNG=y -# CONFIG_SXGBE_ETH is not set -CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -# CONFIG_SC92031 is not set -CONFIG_NET_VENDOR_SIS=y -# CONFIG_SIS900 is not set -# CONFIG_SIS190 is not set -CONFIG_NET_VENDOR_SOLARFLARE=y -# CONFIG_SFC is not set -# CONFIG_SFC_FALCON is not set -# CONFIG_SFC_SIENA is not set -CONFIG_NET_VENDOR_SMSC=y -# CONFIG_SMC91X is not set -# CONFIG_EPIC100 is not set -# CONFIG_SMSC911X is not set -# CONFIG_SMSC9420 is not set -CONFIG_NET_VENDOR_SOCIONEXT=y # CONFIG_NET_VENDOR_STMICRO is not set -CONFIG_NET_VENDOR_SUN=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NIU is not set -CONFIG_NET_VENDOR_SYNOPSYS=y -# CONFIG_DWC_XLGMAC is not set -CONFIG_NET_VENDOR_TEHUTI=y -# CONFIG_TEHUTI is not set -# CONFIG_TEHUTI_TN40 is not set -CONFIG_NET_VENDOR_TI=y -# CONFIG_TI_CPSW_PHY_SEL is not set -# CONFIG_TLAN is not set -CONFIG_NET_VENDOR_VERTEXCOM=y -# CONFIG_MSE102X is not set -CONFIG_NET_VENDOR_VIA=y -# CONFIG_VIA_RHINE is not set -# CONFIG_VIA_VELOCITY is not set -CONFIG_NET_VENDOR_WANGXUN=y -# CONFIG_NGBE is not set -CONFIG_NET_VENDOR_WIZNET=y -# CONFIG_WIZNET_W5100 is not set -# CONFIG_WIZNET_W5300 is not set -CONFIG_NET_VENDOR_XILINX=y -# CONFIG_XILINX_EMACLITE is not set -# CONFIG_XILINX_LL_TEMAC is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PHYLINK=y -CONFIG_PHYLIB=y -CONFIG_SWPHY=y -# CONFIG_LED_TRIGGER_PHY is not set -CONFIG_PHYLIB_LEDS=y -CONFIG_FIXED_PHY=y CONFIG_SFP=y - -# -# MII PHY device drivers -# -# CONFIG_AIR_EN8811H_PHY is not set -# CONFIG_AMD_PHY is not set -# CONFIG_ADIN_PHY is not set -# CONFIG_ADIN1100_PHY is not set CONFIG_AQUANTIA_PHY=y -# CONFIG_AX88796B_PHY is not set CONFIG_BROADCOM_PHY=y -# CONFIG_BCM54140_PHY is not set -# CONFIG_BCM7XXX_PHY is not set -# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=y -CONFIG_BCM_NET_PHYLIB=y -CONFIG_BCM_NET_PHYPTP=y CONFIG_CICADA_PHY=y CONFIG_CORTINA_PHY=y CONFIG_DAVICOM_PHY=y CONFIG_ICPLUS_PHY=y CONFIG_LXT_PHY=y -# CONFIG_INTEL_XWAY_PHY is not set CONFIG_LSI_ET1011C_PHY=y CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=y -# CONFIG_MARVELL_88Q2XXX_PHY is not set -# CONFIG_MARVELL_88X2222_PHY is not set CONFIG_MAXLINEAR_GPHY=y -# CONFIG_MEDIATEK_GE_PHY is not set -# CONFIG_MICREL_PHY is not set -# CONFIG_MICROCHIP_T1S_PHY is not set -# CONFIG_MICROCHIP_PHY is not set -# CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=y -# CONFIG_MOTORCOMM_PHY is not set CONFIG_NATIONAL_PHY=y -# CONFIG_NXP_CBTX_PHY is not set -# CONFIG_NXP_C45_TJA11XX_PHY is not set -# CONFIG_NXP_TJA11XX_PHY is not set -# CONFIG_NCN26000_PHY is not set -# CONFIG_QCA83XX_PHY is not set -# CONFIG_QCA808X_PHY is not set -# CONFIG_QCA807X_PHY is not set CONFIG_QSEMI_PHY=y CONFIG_REALTEK_PHY=y -# CONFIG_RENESAS_PHY is not set -# CONFIG_ROCKCHIP_PHY is not set CONFIG_SMSC_PHY=y CONFIG_STE10XP=y CONFIG_TERANETICS_PHY=y -# CONFIG_DP83822_PHY is not set -# CONFIG_DP83TC811_PHY is not set -# CONFIG_DP83848_PHY is not set CONFIG_DP83867_PHY=y -# CONFIG_DP83869_PHY is not set -# CONFIG_DP83TD510_PHY is not set -# CONFIG_DP83TG720_PHY is not set CONFIG_VITESSE_PHY=y -# CONFIG_XILINX_GMII2RGMII is not set -# CONFIG_MICREL_KS8995MA is not set -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_BUS=y -CONFIG_FWNODE_MDIO=y -CONFIG_OF_MDIO=y -CONFIG_MDIO_DEVRES=y -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MDIO_BCM_UNIMAC is not set -# CONFIG_MDIO_HISI_FEMAC is not set -CONFIG_MDIO_I2C=y -# CONFIG_MDIO_MVUSB is not set -# CONFIG_MDIO_MSCC_MIIM is not set -# CONFIG_MDIO_OCTEON is not set -# CONFIG_MDIO_IPQ4019 is not set -# CONFIG_MDIO_IPQ8064 is not set -# CONFIG_MDIO_THUNDER is not set - -# -# MDIO Multiplexers -# -CONFIG_MDIO_BUS_MUX=y -# CONFIG_MDIO_BUS_MUX_GPIO is not set CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set - -# -# PCS device drivers -# CONFIG_MTIP_BACKPLANE_PHY=y CONFIG_PCS_XPCS=m -CONFIG_PCS_LYNX=m -# end of PCS device drivers - CONFIG_PPP=m -# CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_DEFLATE is not set CONFIG_PPP_FILTER=y -# CONFIG_PPP_MPPE is not set CONFIG_PPP_MULTILINK=y CONFIG_PPPOE=m -# CONFIG_PPPOE_HASH_BITS_1 is not set -# CONFIG_PPPOE_HASH_BITS_2 is not set -CONFIG_PPPOE_HASH_BITS_4=y -# CONFIG_PPPOE_HASH_BITS_8 is not set -CONFIG_PPPOE_HASH_BITS=4 -# CONFIG_PPPOL2TP is not set CONFIG_PPP_ASYNC=m -# CONFIG_PPP_SYNC_TTY is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=m # CONFIG_USB_NET_DRIVERS is not set -CONFIG_WLAN=y -CONFIG_WLAN_VENDOR_ADMTEK=y -# CONFIG_ADM8211 is not set -CONFIG_ATH_COMMON=m -CONFIG_WLAN_VENDOR_ATH=y -# CONFIG_ATH_DEBUG is not set -# CONFIG_ATH5K is not set -# CONFIG_ATH5K_PCI is not set -# CONFIG_ATH9K is not set -# CONFIG_ATH9K_HTC is not set -# CONFIG_CARL9170 is not set -# CONFIG_ATH6KL is not set -# CONFIG_AR5523 is not set -# CONFIG_WIL6210 is not set CONFIG_ATH10K=m -CONFIG_ATH10K_CE=y CONFIG_ATH10K_PCI=m -# CONFIG_ATH10K_SDIO is not set -# CONFIG_ATH10K_USB is not set -# CONFIG_ATH10K_DEBUG is not set -# CONFIG_ATH10K_DEBUGFS is not set -CONFIG_ATH10K_LEDS=y -# CONFIG_WCN36XX is not set -# CONFIG_ATH11K is not set -# CONFIG_ATH12K is not set -CONFIG_WLAN_VENDOR_ATMEL=y -# CONFIG_AT76C50X_USB is not set -CONFIG_WLAN_VENDOR_BROADCOM=y -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -# CONFIG_BRCMSMAC is not set -# CONFIG_BRCMFMAC is not set -CONFIG_WLAN_VENDOR_INTEL=y -# CONFIG_IPW2100 is not set -# CONFIG_IPW2200 is not set -# CONFIG_IWL4965 is not set -# CONFIG_IWL3945 is not set CONFIG_IWLWIFI=m -CONFIG_IWLWIFI_LEDS=y CONFIG_IWLDVM=m CONFIG_IWLMVM=m -CONFIG_IWLWIFI_OPMODE_MODULAR=y - -# -# Debugging Options -# -# CONFIG_IWLWIFI_DEBUG is not set -# end of Debugging Options - -CONFIG_WLAN_VENDOR_INTERSIL=y -# CONFIG_P54_COMMON is not set -CONFIG_WLAN_VENDOR_MARVELL=y -# CONFIG_LIBERTAS is not set -# CONFIG_LIBERTAS_THINFIRM is not set -# CONFIG_MWIFIEX is not set -# CONFIG_MWL8K is not set -CONFIG_WLAN_VENDOR_MEDIATEK=y -# CONFIG_MT7601U is not set -CONFIG_MT76_CORE=m -CONFIG_MT76_LEDS=y -CONFIG_MT76_CONNAC_LIB=m -CONFIG_MT792x_LIB=m -# CONFIG_MT76x0U is not set -# CONFIG_MT76x0E is not set -# CONFIG_MT76x2E is not set -# CONFIG_MT76x2U is not set -# CONFIG_MT7603E is not set -# CONFIG_MT7615E is not set -# CONFIG_MT7663U is not set -# CONFIG_MT7663S is not set -# CONFIG_MT7915E is not set -CONFIG_MT7921_COMMON=m CONFIG_MT7921E=m -# CONFIG_MT7921S is not set -# CONFIG_MT7921U is not set -# CONFIG_MT7996E is not set -# CONFIG_MT7925E is not set -# CONFIG_MT7925U is not set -CONFIG_WLAN_VENDOR_MICROCHIP=y -# CONFIG_WILC1000_SDIO is not set -# CONFIG_WILC1000_SPI is not set -CONFIG_WLAN_VENDOR_PURELIFI=y -# CONFIG_PLFXLC is not set -CONFIG_WLAN_VENDOR_RALINK=y -# CONFIG_RT2X00 is not set -CONFIG_WLAN_VENDOR_REALTEK=y -# CONFIG_RTL8180 is not set -# CONFIG_RTL8187 is not set -CONFIG_RTL_CARDS=m -# CONFIG_RTL8192CE is not set -# CONFIG_RTL8192SE is not set -# CONFIG_RTL8192DE is not set -# CONFIG_RTL8723AE is not set -# CONFIG_RTL8723BE is not set -# CONFIG_RTL8188EE is not set -# CONFIG_RTL8192EE is not set -# CONFIG_RTL8821AE is not set -# CONFIG_RTL8192CU is not set -# CONFIG_RTL8192DU is not set -# CONFIG_RTL8XXXU is not set -# CONFIG_RTW88 is not set -# CONFIG_RTW89 is not set -CONFIG_WLAN_VENDOR_RSI=y -# CONFIG_RSI_91X is not set -CONFIG_WLAN_VENDOR_SILABS=y -# CONFIG_WFX is not set -CONFIG_WLAN_VENDOR_ST=y -# CONFIG_CW1200 is not set -CONFIG_WLAN_VENDOR_TI=y -# CONFIG_WL1251 is not set -# CONFIG_WL12XX is not set -# CONFIG_WL18XX is not set -# CONFIG_WLCORE is not set -CONFIG_WLAN_VENDOR_ZYDAS=y -# CONFIG_ZD1211RW is not set -CONFIG_WLAN_VENDOR_QUANTENNA=y -# CONFIG_QTNFMAC_PCIE is not set -# CONFIG_MAC80211_HWSIM is not set -# CONFIG_VIRT_WIFI is not set -# CONFIG_WAN is not set - -# -# Wireless WAN -# -# CONFIG_WWAN is not set -# end of Wireless WAN - -# CONFIG_VMXNET3 is not set -# CONFIG_NETDEVSIM is not set -CONFIG_NET_FAILOVER=y -# CONFIG_IVSHMEM_NET is not set -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_LEDS=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_MATRIXKMAP is not set -CONFIG_INPUT_VIVALDIFMAP=y - -# -# 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=y -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_QT1050 is not set -# CONFIG_KEYBOARD_QT1070 is not set -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_DLINK_DIR685 is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_GPIO is not set -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OPENCORES is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_BCM is not set -# CONFIG_KEYBOARD_CYPRESS_SF is not set -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_BYD=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y -CONFIG_MOUSE_PS2_CYPRESS=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_ELANTECH is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_PS2_FOCALTECH=y -CONFIG_MOUSE_PS2_SMBUS=y -# CONFIG_MOUSE_SERIAL is not set -# CONFIG_MOUSE_APPLETOUCH is not set -# CONFIG_MOUSE_BCM5974 is not set -# CONFIG_MOUSE_CYAPA is not set -# CONFIG_MOUSE_ELAN_I2C is not set -# CONFIG_MOUSE_VSXXXAA is not set -# CONFIG_MOUSE_GPIO is not set -# CONFIG_MOUSE_SYNAPTICS_I2C is not set -# CONFIG_MOUSE_SYNAPTICS_USB is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -CONFIG_TOUCHSCREEN_SYNAPTICS_DSX=y -# CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C is not set -# CONFIG_INPUT_MISC is not set -# CONFIG_RMI4_CORE is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_PCIPS2 is not set -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set -# CONFIG_SERIO_ALTERA_PS2 is not set -# CONFIG_SERIO_PS2MULT is not set -# CONFIG_SERIO_ARC_PS2 is not set -# CONFIG_SERIO_APBPS2 is not set -# CONFIG_SERIO_GPIO_PS2 is not set -# CONFIG_USERIO is not set -# CONFIG_GAMEPORT is not set -# end of Hardware I/O ports -# end of Input device support - -# -# Character devices -# -CONFIG_TTY=y -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LEGACY_TIOCSTI=y -CONFIG_LDISC_AUTOLOAD=y - -# -# Serial drivers -# -CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_16550A_VARIANTS=y -# CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_DMA=y -CONFIG_SERIAL_8250_PCILIB=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_EXAR=y CONFIG_SERIAL_8250_NR_UARTS=8 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_MANY_PORTS is not set -# CONFIG_SERIAL_8250_PCI1XXXX is not set -# CONFIG_SERIAL_8250_SHARE_IRQ is not set -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -# CONFIG_SERIAL_8250_RSA is not set -CONFIG_SERIAL_8250_DWLIB=y -CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_8250_RT288X is not set -CONFIG_SERIAL_8250_PERICOM=y CONFIG_SERIAL_OF_PLATFORM=y - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_AMBA_PL010 is not set CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -# CONFIG_SERIAL_EARLYCON_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_JSM is not set -# CONFIG_SERIAL_SIFIVE is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -# CONFIG_SERIAL_ARC is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_FSL_LINFLEXUART is not set -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -# CONFIG_SERIAL_SPRD is not set -# end of Serial drivers - -CONFIG_SERIAL_MCTRL_GPIO=y -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_N_GSM is not set -# CONFIG_NOZOMI is not set -# CONFIG_NULL_TTY is not set -CONFIG_HVC_DRIVER=y -# CONFIG_HVC_DCC is not set CONFIG_SERIAL_DEV_BUS=y -CONFIG_SERIAL_DEV_CTRL_TTYPORT=y -# CONFIG_TTY_PRINTK is not set CONFIG_VIRTIO_CONSOLE=y -# CONFIG_IPMI_HANDLER is not set -# CONFIG_SSIF_IPMI_BMC is not set -# CONFIG_IPMB_DEVICE_INTERFACE is not set -CONFIG_HW_RANDOM=y -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_HW_RANDOM_BA431 is not set -# CONFIG_HW_RANDOM_VIRTIO is not set -# CONFIG_HW_RANDOM_CCTRNG is not set -# CONFIG_HW_RANDOM_XIPHERA is not set -CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y -# CONFIG_HW_RANDOM_CN10K is not set -# CONFIG_APPLICOM is not set -CONFIG_DEVMEM=y -CONFIG_DEVPORT=y -# CONFIG_TCG_TPM is not set -# CONFIG_XILLYBUS is not set -# CONFIG_XILLYUSB is not set -# end of Character devices - -# -# I2C support -# CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y - -# -# Multiplexer I2C Chip support -# -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_MUX_GPIO is not set -# CONFIG_I2C_MUX_GPMUX is not set -# CONFIG_I2C_MUX_LTC4306 is not set -# CONFIG_I2C_MUX_PCA9541 is not set CONFIG_I2C_MUX_PCA954x=y -# CONFIG_I2C_MUX_REG is not set -# CONFIG_I2C_MUX_MLXCPLD is not set -# end of Multiplexer I2C Chip support - -CONFIG_I2C_HELPER_AUTO=y - -# -# I2C Hardware Bus support -# - -# -# PC SMBus host controller drivers -# -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_ISCH is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_NVIDIA_GPU is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set - -# -# I2C system bus drivers (mostly embedded / system-on-chip) -# -# CONFIG_I2C_CADENCE is not set -# CONFIG_I2C_CBUS_GPIO is not set -# CONFIG_I2C_DESIGNWARE_CORE is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO is not set -# CONFIG_I2C_HISI is not set CONFIG_I2C_IMX=y -# CONFIG_I2C_NOMADIK is not set -# 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_THUNDERX is not set -# CONFIG_I2C_XILINX is not set - -# -# External I2C/SMBus adapter drivers -# -# CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_CP2615 is not set -# CONFIG_I2C_PCI1XXXX 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_VIRTIO is not set -# end of I2C Hardware Bus support - -# CONFIG_I2C_STUB is not set -CONFIG_I2C_SLAVE=y -# CONFIG_I2C_SLAVE_EEPROM is not set -# CONFIG_I2C_SLAVE_TESTUNIT is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# end of I2C support - -# CONFIG_I3C is not set CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y -CONFIG_SPI_MEM=y - -# -# 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_CADENCE_QUADSPI is not set -# CONFIG_SPI_CADENCE_XSPI is not set -# CONFIG_SPI_CH341 is not set -# CONFIG_SPI_DESIGNWARE is not set CONFIG_SPI_FSL_QUADSPI=y CONFIG_SPI_NXP_FLEXSPI=y -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_FSL_SPI is not set CONFIG_SPI_FSL_DSPI=y -# CONFIG_SPI_MICROCHIP_CORE is not set -# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_PCI1XXXX is not set -# CONFIG_SPI_PL022 is not set -# CONFIG_SPI_SC18IS602 is not set -# CONFIG_SPI_SIFIVE is not set -# CONFIG_SPI_SN_F_OSPI is not set -# CONFIG_SPI_MXIC is not set -# CONFIG_SPI_THUNDERX is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_ZYNQMP_GQSPI is not set -# CONFIG_SPI_AMD is not set - -# -# SPI Multiplexer support -# -# CONFIG_SPI_MUX 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=y -# CONFIG_PPS_DEBUG is not set - -# -# PPS clients support -# -# CONFIG_PPS_CLIENT_KTIMER is not set -# CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_GPIO is not set - -# -# PPS generators support -# - -# -# PTP clock support -# -CONFIG_PTP_1588_CLOCK=y -CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_PTP_1588_CLOCK_QORIQ=y CONFIG_DP83640_PHY=y -# CONFIG_PTP_1588_CLOCK_INES is not set -CONFIG_PTP_1588_CLOCK_KVM=y -# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set -# CONFIG_PTP_1588_CLOCK_IDTCM is not set -# CONFIG_PTP_1588_CLOCK_FC3W is not set -# CONFIG_PTP_1588_CLOCK_MOCK is not set -# CONFIG_PTP_1588_CLOCK_OCP is not set -# end of PTP clock support - -# CONFIG_PINCTRL is not set CONFIG_GPIOLIB=y -CONFIG_GPIOLIB_FASTPATH_LIMIT=512 -CONFIG_OF_GPIO=y -# CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_CDEV=y -CONFIG_GPIO_CDEV_V1=y -CONFIG_GPIO_GENERIC=y - -# -# Memory mapped GPIO drivers -# -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_CADENCE is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_EXAR is not set -# CONFIG_GPIO_FTGPIO010 is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_HISI is not set -# CONFIG_GPIO_HLWD is not set -# CONFIG_GPIO_LOGICVC is not set -# CONFIG_GPIO_MB86S7X is not set CONFIG_GPIO_MPC8XXX=y -# CONFIG_GPIO_PL061 is not set -# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_SYSCON=y -# CONFIG_GPIO_XGENE is not set -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_AMD_FCH is not set -# end of Memory mapped GPIO drivers - -# -# I2C GPIO expanders -# -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_FXL6408 is not set -# CONFIG_GPIO_DS4520 is not set -# CONFIG_GPIO_GW_PLD is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX732X is not set CONFIG_GPIO_PCA953X=y -# CONFIG_GPIO_PCA953X_IRQ is not set -# CONFIG_GPIO_PCA9570 is not set -# CONFIG_GPIO_PCF857X is not set -# CONFIG_GPIO_TPIC2810 is not set -# end of I2C GPIO expanders - -# -# MFD GPIO expanders -# -# end of MFD GPIO expanders - -# -# PCI GPIO expanders -# -# CONFIG_GPIO_BT8XX is not set -# CONFIG_GPIO_PCI_IDIO_16 is not set -# CONFIG_GPIO_PCIE_IDIO_24 is not set -# CONFIG_GPIO_RDC321X is not set -# end of PCI GPIO expanders - -# -# 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 -# end of SPI GPIO expanders - -# -# USB GPIO expanders -# -# end of USB GPIO expanders - -# -# Virtual GPIO drivers -# -# CONFIG_GPIO_AGGREGATOR is not set -# CONFIG_GPIO_LATCH is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_VIRTIO is not set -# CONFIG_GPIO_SIM is not set -# end of Virtual GPIO drivers - -# -# GPIO Debugging utilities -# -# CONFIG_GPIO_VIRTUSER is not set -# end of GPIO Debugging utilities - -# CONFIG_W1 is not set -CONFIG_POWER_RESET=y -# CONFIG_POWER_RESET_GPIO is not set -# CONFIG_POWER_RESET_GPIO_RESTART is not set -# CONFIG_POWER_RESET_LTC2952 is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_RESET_XGENE is not set -# CONFIG_POWER_RESET_SYSCON is not set -# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set -# CONFIG_SYSCON_REBOOT_MODE is not set -# CONFIG_NVMEM_REBOOT_MODE is not set -# CONFIG_POWER_RESET_IMX is not set -# CONFIG_POWER_SEQUENCING is not set -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_POWER_SUPPLY_HWMON=y -# CONFIG_IP5XXX_POWER is not set -# CONFIG_TEST_POWER is not set -# CONFIG_CHARGER_ADP5061 is not set -# CONFIG_BATTERY_CW2015 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_SAMSUNG_SDI is not set -# CONFIG_BATTERY_SBS is not set -# CONFIG_CHARGER_SBS is not set -# CONFIG_MANAGER_SBS is not set -# CONFIG_BATTERY_BQ27XXX is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_BATTERY_MAX1720X is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_GPIO is not set -# CONFIG_CHARGER_LT3651 is not set -# CONFIG_CHARGER_LTC4162L is not set -# CONFIG_CHARGER_DETECTOR_MAX14656 is not set -# CONFIG_CHARGER_MAX77976 is not set -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24257 is not set -# CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_BQ2515X is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_BQ25980 is not set -# CONFIG_CHARGER_BQ256XX is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_BATTERY_GOLDFISH is not set -# CONFIG_BATTERY_RT5033 is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_CHARGER_BD99954 is not set -# CONFIG_BATTERY_UG3105 is not set -# CONFIG_FUEL_GAUGE_MM8013 is not set -CONFIG_HWMON=y -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Native drivers -# -# CONFIG_SENSORS_AD7314 is not set -# CONFIG_SENSORS_AD7414 is not set -# CONFIG_SENSORS_AD7418 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM1177 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ADT7310 is not set -# CONFIG_SENSORS_ADT7410 is not set -# CONFIG_SENSORS_ADT7411 is not set -# CONFIG_SENSORS_ADT7462 is not set -# CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7475 is not set -# CONFIG_SENSORS_AHT10 is not set -# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set -# CONFIG_SENSORS_AS370 is not set -# CONFIG_SENSORS_ASC7621 is not set -# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set -# CONFIG_SENSORS_AXI_FAN_CONTROL is not set -# CONFIG_SENSORS_ARM_SCMI is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_CHIPCAP2 is not set -# CONFIG_SENSORS_CORSAIR_CPRO is not set -# CONFIG_SENSORS_CORSAIR_PSU is not set -# CONFIG_SENSORS_DS620 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_I5K_AMB is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_F71882FG is not set -# CONFIG_SENSORS_F75375S is not set -# CONFIG_SENSORS_FTSTEUTATES is not set -# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_G760A is not set -# CONFIG_SENSORS_G762 is not set -# CONFIG_SENSORS_GPIO_FAN is not set -# CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_HS3001 is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_POWERZ is not set -# CONFIG_SENSORS_POWR1220 is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LTC2945 is not set -# CONFIG_SENSORS_LTC2947_I2C is not set -# CONFIG_SENSORS_LTC2947_SPI is not set -# CONFIG_SENSORS_LTC2990 is not set -# CONFIG_SENSORS_LTC2991 is not set -# CONFIG_SENSORS_LTC2992 is not set -# CONFIG_SENSORS_LTC4151 is not set -# CONFIG_SENSORS_LTC4215 is not set -# CONFIG_SENSORS_LTC4222 is not set -# CONFIG_SENSORS_LTC4245 is not set -# CONFIG_SENSORS_LTC4260 is not set -# CONFIG_SENSORS_LTC4261 is not set -# CONFIG_SENSORS_LTC4282 is not set -# CONFIG_SENSORS_MAX1111 is not set -# CONFIG_SENSORS_MAX127 is not set -# CONFIG_SENSORS_MAX16065 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX1668 is not set -# CONFIG_SENSORS_MAX17135 is not set -# CONFIG_SENSORS_MAX197 is not set -# CONFIG_SENSORS_MAX31722 is not set -# CONFIG_SENSORS_MAX31730 is not set -# CONFIG_SENSORS_MAX31760 is not set -# CONFIG_MAX31827 is not set -# CONFIG_SENSORS_MAX6620 is not set -# CONFIG_SENSORS_MAX6621 is not set -# CONFIG_SENSORS_MAX6639 is not set -# CONFIG_SENSORS_MAX6650 is not set -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_MAX31790 is not set -# CONFIG_SENSORS_MC34VR500 is not set -# CONFIG_SENSORS_MCP3021 is not set -# CONFIG_SENSORS_TC654 is not set -# CONFIG_SENSORS_TPS23861 is not set -# CONFIG_SENSORS_MR75203 is not set -# CONFIG_SENSORS_ADCXX is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM73 is not set CONFIG_SENSORS_LM75=y -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_LM93 is not set -# CONFIG_SENSORS_LM95234 is not set -# CONFIG_SENSORS_LM95241 is not set -# CONFIG_SENSORS_LM95245 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_NCT6683 is not set -# CONFIG_SENSORS_NCT6775 is not set -# CONFIG_SENSORS_NCT6775_I2C is not set -# CONFIG_SENSORS_NCT7802 is not set -# CONFIG_SENSORS_NCT7904 is not set -# CONFIG_SENSORS_NPCM7XX is not set -# CONFIG_SENSORS_NZXT_KRAKEN2 is not set -# CONFIG_SENSORS_NZXT_KRAKEN3 is not set -# CONFIG_SENSORS_NZXT_SMART2 is not set -# CONFIG_SENSORS_OCC_P8_I2C is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_PMBUS is not set -# CONFIG_SENSORS_PT5161L is not set -# CONFIG_SENSORS_SBTSI is not set -# CONFIG_SENSORS_SBRMI is not set -# CONFIG_SENSORS_SHT15 is not set -# CONFIG_SENSORS_SHT21 is not set -# CONFIG_SENSORS_SHT3x is not set -# CONFIG_SENSORS_SHT4x is not set -# CONFIG_SENSORS_SHTC1 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_DME1737 is not set -# CONFIG_SENSORS_EMC1403 is not set CONFIG_SENSORS_EMC2103=y CONFIG_SENSORS_EMC2305=y -# CONFIG_SENSORS_EMC6W201 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SCH5627 is not set -# CONFIG_SENSORS_SCH5636 is not set -# CONFIG_SENSORS_STTS751 is not set -# CONFIG_SENSORS_ADC128D818 is not set -# CONFIG_SENSORS_ADS7828 is not set -# CONFIG_SENSORS_ADS7871 is not set -# CONFIG_SENSORS_AMC6821 is not set -# CONFIG_SENSORS_INA209 is not set CONFIG_SENSORS_INA2XX=y CONFIG_SENSORS_INA238=y -# CONFIG_SENSORS_INA3221 is not set -# CONFIG_SENSORS_SPD5118 is not set -# CONFIG_SENSORS_TC74 is not set -# CONFIG_SENSORS_THMC50 is not set -# CONFIG_SENSORS_TMP102 is not set -# CONFIG_SENSORS_TMP103 is not set -# CONFIG_SENSORS_TMP108 is not set -# CONFIG_SENSORS_TMP401 is not set -# CONFIG_SENSORS_TMP421 is not set -# CONFIG_SENSORS_TMP464 is not set -# CONFIG_SENSORS_TMP513 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83773G is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83795 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83L786NG is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -CONFIG_SERIES_DIODE_RESISTANCE_PARAM=3 -CONFIG_THERMAL=y -# CONFIG_THERMAL_NETLINK is not set -# CONFIG_THERMAL_STATISTICS is not set -# CONFIG_THERMAL_DEBUGFS is not set -# CONFIG_THERMAL_CORE_TESTING is not set -CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 -CONFIG_THERMAL_HWMON=y -CONFIG_THERMAL_OF=y -# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set -# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=y -# 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=y -# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set CONFIG_CPU_THERMAL=y -CONFIG_CPU_FREQ_THERMAL=y CONFIG_DEVFREQ_THERMAL=y -# CONFIG_THERMAL_EMULATION is not set -# CONFIG_THERMAL_MMIO is not set CONFIG_QORIQ_THERMAL=y CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y -CONFIG_WATCHDOG_OPEN_TIMEOUT=0 -# CONFIG_WATCHDOG_SYSFS is not set -# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set - -# -# Watchdog Pretimeout Governors -# -# CONFIG_WATCHDOG_PRETIMEOUT_GOV 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_XILINX_WINDOW_WATCHDOG is not set -# CONFIG_ZIIRAVE_WATCHDOG is not set -# CONFIG_ARM_SP805_WATCHDOG is not set -# CONFIG_ARM_SBSA_WATCHDOG is not set -# CONFIG_CADENCE_WATCHDOG is not set -# CONFIG_DW_WATCHDOG is not set -# CONFIG_MAX63XX_WATCHDOG is not set CONFIG_IMX2_WDT=y -# CONFIG_ARM_SMC_WATCHDOG is not set -# CONFIG_ALIM7101_WDT is not set -# CONFIG_I6300ESB_WDT is not set -# CONFIG_HP_WATCHDOG is not set -# CONFIG_MEN_A21_WDT is not set - -# -# PCI-based Watchdog Cards -# -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG 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_ADP5585 is not set -# CONFIG_MFD_ACT8945A is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_SMPRO 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_CS42L43_I2C is not set -# CONFIG_MFD_MADERA is not set -# CONFIG_MFD_MAX5970 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_GATEWORKS_GSC is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_MP2629 is not set -# CONFIG_MFD_IMX_FLEXIO is not set -# CONFIG_MFD_MXC_HDMI is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_LPC_ICH is not set -# CONFIG_LPC_SCH is not set -# CONFIG_MFD_IQS62X is not set -# CONFIG_MFD_JANZ_CMODIO 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_88PM886_PMIC is not set -# CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX17135 is not set -# CONFIG_MFD_MAX77541 is not set -# CONFIG_MFD_FP9931 is not set -# CONFIG_MFD_MAX77620 is not set -# CONFIG_MFD_MAX77650 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX77714 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_MAXIM_SERDES is not set -# CONFIG_MFD_MAX96752 is not set -# CONFIG_MFD_MAX96789 is not set -# CONFIG_MFD_MT6360 is not set -# CONFIG_MFD_MT6370 is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_MFD_OCELOT is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_NTXEC is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_SY7636A is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RT4831 is not set -# CONFIG_MFD_RT5033 is not set -# CONFIG_MFD_RT5120 is not set -# CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RK8XX_I2C is not set -# CONFIG_MFD_RK8XX_SPI 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_SL28CPLD is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_MFD_SKY81452 is not set -# CONFIG_MFD_STMPE is not set -CONFIG_MFD_SYSCON=y -# 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_TPS65219 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_TPS6594_I2C is not set -# CONFIG_MFD_TPS6594_SPI 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_TQMX86 is not set -# CONFIG_MFD_VX855 is not set -# CONFIG_MFD_LOCHNAGAR 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_MFD_ROHM_BD71828 is not set -# CONFIG_MFD_ROHM_BD957XMUF is not set -# CONFIG_MFD_ROHM_BD96801 is not set -# CONFIG_MFD_STPMIC1 is not set -# CONFIG_MFD_STMFX is not set -# CONFIG_MFD_ATC260X_I2C is not set -# CONFIG_MFD_QCOM_PM8008 is not set -# CONFIG_MFD_CS40L50_I2C is not set -# CONFIG_MFD_CS40L50_SPI is not set -# CONFIG_RAVE_SP_CORE is not set -# CONFIG_MFD_INTEL_M10_BMC_SPI is not set -# CONFIG_MFD_RSMU_I2C is not set -# CONFIG_MFD_RSMU_SPI is not set -# end of Multifunction device drivers - -# CONFIG_REGULATOR is not set -# CONFIG_RC_CORE is not set - -# -# CEC support -# -# CONFIG_MEDIA_CEC_SUPPORT is not set -# end of CEC support - -# CONFIG_MEDIA_SUPPORT is not set - -# -# Graphics support -# -# CONFIG_AUXDISPLAY is not set -# CONFIG_DRM is not set - -# -# Frame buffer Devices -# -# CONFIG_FB is not set -# CONFIG_FB_MXC_DISP_FRAMEWORK is not set -# end of Frame buffer Devices - -# -# Backlight & LCD device support -# -# CONFIG_LCD_CLASS_DEVICE is not set -# CONFIG_BACKLIGHT_CLASS_DEVICE is not set -# end of Backlight & LCD device support - -# -# Console display driver support -# -CONFIG_DUMMY_CONSOLE=y -CONFIG_DUMMY_CONSOLE_COLUMNS=80 -CONFIG_DUMMY_CONSOLE_ROWS=25 -# end of Console display driver support -# end of Graphics support - -# CONFIG_SOUND is not set -CONFIG_HID_SUPPORT=y -CONFIG_HID=y -# CONFIG_HID_BATTERY_STRENGTH is not set -# CONFIG_HIDRAW is not set -# CONFIG_UHID is not set -CONFIG_HID_GENERIC=y - -# -# 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_ASUS is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_BETOP_FF is not set -# CONFIG_HID_BIGBEN_FF is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CORSAIR is not set -# CONFIG_HID_COUGAR is not set -# CONFIG_HID_MACALLY is not set -# CONFIG_HID_CMEDIA is not set -# CONFIG_HID_CREATIVE_SB0540 is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELAN is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set -# CONFIG_HID_EVISION is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_GLORIOUS is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_GOODIX_SPI is not set -# CONFIG_HID_GOOGLE_STADIA_FF is not set -# CONFIG_HID_VIVALDI is not set -# CONFIG_HID_GT683R 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_VIEWSONIC is not set -# CONFIG_HID_VRC2 is not set -# CONFIG_HID_XIAOMI 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_LED is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_LETSKETCH is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MALTRON is not set -# CONFIG_HID_MAYFLASH is not set -# CONFIG_HID_MEGAWORLD_FF 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_NINTENDO 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_PLAYSTATION is not set -# CONFIG_HID_PXRC is not set -# CONFIG_HID_RAZER 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_SEMITEK is not set -# CONFIG_HID_SIGMAMICRO is not set -# CONFIG_HID_SONY 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_TOPRE is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_UDRAW_PS3 is not set -# CONFIG_HID_U2FZERO is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_WINWING 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 -# CONFIG_HID_MCP2200 is not set -# CONFIG_HID_MCP2221 is not set -# end of Special HID drivers - -# -# HID-BPF support -# -# end of HID-BPF support - -# -# USB HID support -# -CONFIG_USB_HID=y -# CONFIG_HID_PID is not set -# CONFIG_USB_HIDDEV is not set -# end of USB HID support - -CONFIG_I2C_HID=y -# CONFIG_I2C_HID_OF is not set -# CONFIG_I2C_HID_OF_ELAN is not set -# CONFIG_I2C_HID_OF_GOODIX is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=y -# CONFIG_USB_LED_TRIG is not set -# CONFIG_USB_ULPI_BUS is not set -# CONFIG_USB_CONN_GPIO is not set -CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=y -CONFIG_USB_PCI=y -# CONFIG_USB_PCI_AMD is not set -# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEFAULT_PERSIST=y -# CONFIG_USB_FEW_INIT_RETRIES is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_PRODUCTLIST is not set -# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set -# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set -CONFIG_USB_AUTOSUSPEND_DELAY=2 -CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1 -# CONFIG_USB_MON is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_DBGCAP is not set -CONFIG_USB_XHCI_PCI=y -# CONFIG_USB_XHCI_PCI_RENESAS is not set -CONFIG_USB_XHCI_PLATFORM=y -# CONFIG_USB_EHCI_HCD is not set -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_MAX3421_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_UHCI_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=y -# 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=y - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USBIP_CORE is not set - -# -# USB dual-mode controller drivers -# -# CONFIG_USB_CDNS_SUPPORT is not set -# CONFIG_USB_MUSB_HDRC is not set CONFIG_USB_DWC3=y -CONFIG_USB_DWC3_HOST=y - -# -# Platform Glue Driver Support -# -CONFIG_USB_DWC3_HAPS=y -CONFIG_USB_DWC3_OF_SIMPLE=y -# CONFIG_USB_DWC2 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_APPLEDISPLAY is not set -# CONFIG_APPLE_MFI_FASTCHARGE 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 -# CONFIG_USB_CHAOSKEY is not set -# CONFIG_USB_ONBOARD_DEV 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 -# end of USB Physical Layer drivers - -# CONFIG_USB_GADGET is not set CONFIG_TYPEC=y -# CONFIG_TYPEC_TCPM is not set -# CONFIG_TYPEC_UCSI is not set -# CONFIG_TYPEC_TPS6598X is not set -# CONFIG_TYPEC_ANX7411 is not set -# CONFIG_TYPEC_RT1719 is not set CONFIG_TYPEC_HD3SS3220=y -# CONFIG_TYPEC_STUSB160X is not set -# CONFIG_TYPEC_WUSB3801 is not set - -# -# USB Type-C Multiplexer/DeMultiplexer Switch support -# -# CONFIG_TYPEC_MUX_FSA4480 is not set -# CONFIG_TYPEC_MUX_GPIO_SBU is not set -# CONFIG_TYPEC_MUX_PI3USB30532 is not set -# CONFIG_TYPEC_MUX_IT5205 is not set -# CONFIG_TYPEC_MUX_NB7VPQ904M is not set -# CONFIG_TYPEC_MUX_PTN36502 is not set -# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set -# CONFIG_TYPEC_SWITCH_GPIO is not set -# end of USB Type-C Multiplexer/DeMultiplexer Switch support - -# -# USB Type-C Alternate Mode drivers -# -# end of USB Type-C Alternate Mode drivers - CONFIG_USB_ROLE_SWITCH=y CONFIG_MMC=y -CONFIG_PWRSEQ_EMMC=y -CONFIG_PWRSEQ_SIMPLE=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=8 -# CONFIG_SDIO_UART is not set -# CONFIG_MMC_TEST is not set - -# -# MMC/SD/SDIO Host Controller Drivers -# -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_ARMMMCI is not set CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -# CONFIG_MMC_SDHCI_PCI is not set CONFIG_MMC_SDHCI_PLTFM=y -# CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_AT91 is not set CONFIG_MMC_SDHCI_OF_ESDHC=y -# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set -# CONFIG_MMC_SDHCI_CADENCE is not set -# CONFIG_MMC_SDHCI_F_SDH30 is not set -# CONFIG_MMC_SDHCI_MILBEAUT is not set -# CONFIG_MMC_TIFM_SD is not set -# CONFIG_MMC_SPI is not set -# CONFIG_MMC_CB710 is not set -# CONFIG_MMC_VIA_SDMMC 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_HSQ is not set -# CONFIG_MMC_TOSHIBA_PCI is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MMC_SDHCI_XENON is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y -# CONFIG_LEDS_CLASS_FLASH is not set CONFIG_LEDS_CLASS_MULTICOLOR=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set - -# -# LED drivers -# -# CONFIG_LEDS_AN30259A is not set -# CONFIG_LEDS_AW200XX is not set -# CONFIG_LEDS_AW2013 is not set -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_CR0014114 is not set -# CONFIG_LEDS_EL15203000 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3532 is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LM3692X is not set -# CONFIG_LEDS_PCA9532 is not set CONFIG_LEDS_GPIO=y -# CONFIG_LEDS_LP3944 is not set -# CONFIG_LEDS_LP3952 is not set -# CONFIG_LEDS_LP50XX is not set -# CONFIG_LEDS_LP55XX_COMMON is not set -# CONFIG_LEDS_LP8860 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_PCA995X is not set -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_BD2606MVV is not set -# CONFIG_LEDS_BD2802 is not set -# CONFIG_LEDS_LT3593 is not set -# CONFIG_LEDS_TCA6507 is not set -# CONFIG_LEDS_TLC591XX is not set -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_IS31FL319X is not set -# CONFIG_LEDS_IS31FL32XX is not set - -# -# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) -# -# CONFIG_LEDS_BLINKM is not set -# CONFIG_LEDS_SYSCON is not set -# CONFIG_LEDS_MLXREG is not set -# CONFIG_LEDS_USER is not set -# CONFIG_LEDS_SPI_BYTE is not set -# CONFIG_LEDS_LM3697 is not set - -# -# Flash and Torch LED drivers -# - -# -# RGB LED drivers -# -# CONFIG_LEDS_GROUP_MULTICOLOR is not set -# CONFIG_LEDS_KTD202X is not set -# CONFIG_LEDS_NCP5623 is not set - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -# CONFIG_LEDS_TRIGGER_TIMER is not set CONFIG_LEDS_TRIGGER_ONESHOT=y -# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LEDS_TRIGGER_HEARTBEAT=y -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set -# CONFIG_LEDS_TRIGGER_CPU is not set CONFIG_LEDS_TRIGGER_ACTIVITY=y -# CONFIG_LEDS_TRIGGER_GPIO is not set -# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set - -# -# iptables trigger is under Netfilter config (LED target) -# -# CONFIG_LEDS_TRIGGER_TRANSIENT is not set -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_LEDS_TRIGGER_PANIC is not set CONFIG_LEDS_TRIGGER_NETDEV=y CONFIG_LEDS_TRIGGER_PATTERN=y -# CONFIG_LEDS_TRIGGER_TTY is not set -# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set - -# -# Simple LED drivers -# -# CONFIG_ACCESSIBILITY is not set -# CONFIG_INFINIBAND is not set -CONFIG_EDAC_SUPPORT=y -# CONFIG_EDAC is not set -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_ABEOZ9 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_MAX31335 is not set -# CONFIG_RTC_DRV_NCT3018Y 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_RX8111 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_RV3028 is not set -# CONFIG_RTC_DRV_RV3032 is not set -# CONFIG_RTC_DRV_RV8803 is not set -# CONFIG_RTC_DRV_SD2405AL is not set -# CONFIG_RTC_DRV_SD3078 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_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=m -# CONFIG_RTC_DRV_RV3029C2 is not set -# CONFIG_RTC_DRV_RX6110 is not set - -# -# Platform RTC drivers -# -# 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_EFI 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_RP5C01 is not set -# CONFIG_RTC_DRV_ZYNQMP is not set - -# -# on-CPU RTC drivers -# -# CONFIG_RTC_DRV_FSL_FTM_ALARM is not set -# CONFIG_RTC_DRV_PL030 is not set -# CONFIG_RTC_DRV_PL031 is not set -# CONFIG_RTC_DRV_CADENCE is not set -# CONFIG_RTC_DRV_FTRTC010 is not set -# CONFIG_RTC_DRV_IMX_RPMSG is not set -# CONFIG_RTC_DRV_R7301 is not set - -# -# HID Sensor RTC drivers -# -# CONFIG_RTC_DRV_GOLDFISH is not set CONFIG_DMADEVICES=y -# CONFIG_DMADEVICES_DEBUG is not set - -# -# DMA Devices -# -CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y -CONFIG_DMA_ENGINE=y -CONFIG_DMA_VIRTUAL_CHANNELS=y -CONFIG_DMA_OF=y -# CONFIG_ALTERA_MSGDMA is not set -# CONFIG_AMBA_PL08X is not set -# CONFIG_CRYPTO_DEV_FSL_CAAM_DMA is not set -# CONFIG_DW_AXI_DMAC is not set CONFIG_FSL_EDMA=y CONFIG_FSL_QDMA=m -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_MV_XOR_V2 is not set -# CONFIG_MXC_PXP_V3 is not set -# CONFIG_PL330_DMA is not set -# CONFIG_PLX_DMA is not set -# CONFIG_XILINX_DMA is not set -# CONFIG_XILINX_XDMA is not set -# CONFIG_XILINX_ZYNQMP_DMA is not set -# CONFIG_XILINX_ZYNQMP_DPDMA is not set -# CONFIG_AMD_QDMA is not set -# CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_HIDMA is not set -# CONFIG_DW_DMAC is not set -# CONFIG_DW_DMAC_PCI is not set -# CONFIG_DW_EDMA is not set -# CONFIG_SF_PDMA is not set -# CONFIG_FSL_DPAA2_QDMA is not set - -# -# DMA Clients -# -# CONFIG_ASYNC_TX_DMA is not set -# CONFIG_DMATEST is not set -CONFIG_DMA_ENGINE_RAID=y - -# -# DMABUF options -# -# CONFIG_SYNC_FILE is not set -# CONFIG_DMABUF_HEAPS is not set -# end of DMABUF options - -CONFIG_UIO=y -CONFIG_UIO_CIF=y -CONFIG_UIO_PDRV_GENIRQ=y -CONFIG_UIO_DMEM_GENIRQ=y -CONFIG_UIO_AEC=y -CONFIG_UIO_SERCOS3=y -CONFIG_UIO_PCI_GENERIC=y -CONFIG_UIO_NETX=y -CONFIG_UIO_MF624=y -# CONFIG_UIO_IVSHMEM is not set -CONFIG_UIO_V2X_FCE=y -# CONFIG_VFIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO_ANCHOR=y -CONFIG_VIRTIO=y -CONFIG_VIRTIO_PCI_LIB=y -CONFIG_VIRTIO_PCI_LIB_LEGACY=y -CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_PCI_LEGACY=y -# CONFIG_VIRTIO_BALLOON is not set -# CONFIG_VIRTIO_MEM is not set -# CONFIG_VIRTIO_INPUT is not set CONFIG_VIRTIO_MMIO=y -# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set -# CONFIG_VIRTIO_DEBUG is not set -# CONFIG_VIRTIO_IVSHMEM is not set -# CONFIG_VDPA is not set -CONFIG_VHOST_IOTLB=y -CONFIG_VHOST_TASK=y -CONFIG_VHOST=y -CONFIG_VHOST_MENU=y -CONFIG_VHOST_NET=y -# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set -CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y - -# -# Microsoft Hyper-V guest support -# -# end of Microsoft Hyper-V guest support - -# CONFIG_GREYBUS is not set -# CONFIG_COMEDI is not set +CONFIG_VHOST_NET=m CONFIG_STAGING=y -# CONFIG_RTLLIB is not set -# CONFIG_RTL8723BS is not set -# CONFIG_R8712U is not set -# CONFIG_RTS5208 is not set -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -# CONFIG_STAGING_MEDIA is not set -# CONFIG_LTE_GDM724X is not set CONFIG_FSL_SDK_DPA=y - -# -# Freescale Datapath QMan/BMan options -# -# CONFIG_FSL_DPA_CHECKING is not set -CONFIG_FSL_DPA_CAN_WAIT=y -CONFIG_FSL_DPA_CAN_WAIT_SYNC=y -CONFIG_FSL_DPA_PIRQ_FAST=y -CONFIG_FSL_DPA_PIRQ_SLOW=y -CONFIG_FSL_DPA_PORTAL_SHARE=y -CONFIG_FSL_SDK_BMAN=y -CONFIG_FSL_ASK_QMAN_PORTAL_NAPI=y -CONFIG_FSL_BMAN_CONFIG=y -# CONFIG_FSL_BMAN_TEST is not set -CONFIG_FSL_BMAN_DEBUGFS=y -CONFIG_FSL_SDK_QMAN=y -CONFIG_FSL_QMAN_POLL_LIMIT=32 -CONFIG_FSL_QMAN_CONFIG=y -# CONFIG_FSL_QMAN_TEST is not set -CONFIG_FSL_QMAN_DEBUGFS=y -CONFIG_FSL_QMAN_FQD_SZ=10 -CONFIG_FSL_QMAN_PFDR_SZ=13 -CONFIG_FSL_QMAN_CI_SCHED_CFG_SRCCIV=4 -CONFIG_FSL_QMAN_CI_SCHED_CFG_SRQ_W=3 -CONFIG_FSL_QMAN_CI_SCHED_CFG_RW_W=2 -CONFIG_FSL_QMAN_CI_SCHED_CFG_BMAN_W=2 -CONFIG_FSL_QMAN_PIRQ_DQRR_ITHRESH=12 -CONFIG_FSL_QMAN_PIRQ_MR_ITHRESH=4 -CONFIG_FSL_QMAN_PIRQ_IPERIOD=100 -CONFIG_FSL_QMAN_FQ_LOOKUP=y -CONFIG_QMAN_CEETM_UPDATE_PERIOD=1000 -CONFIG_FSL_QMAN_INIT_TIMEOUT=10 -CONFIG_FSL_USDPAA=y -# end of Freescale Datapath QMan/BMan options - -# CONFIG_FSL_DPAA2 is not set -# CONFIG_XIL_AXIS_FIFO is not set -# CONFIG_FIELDBUS_DEV is not set -# CONFIG_VME_BUS is not set -# CONFIG_FSL_PPFE is not set -# CONFIG_ETHOSU is not set -# CONFIG_GOLDFISH is not set -# CONFIG_CHROME_PLATFORMS is not set -# CONFIG_MELLANOX_PLATFORM is not set -CONFIG_SURFACE_PLATFORMS=y -CONFIG_ARM64_PLATFORM_DEVICES=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y - -# -# Clock driver for ARM Reference designs -# -# CONFIG_CLK_ICST is not set -# CONFIG_CLK_SP810 is not set -# end of Clock driver for ARM Reference designs - -# CONFIG_LMK04832 is not set -# CONFIG_COMMON_CLK_MAX9485 is not set CONFIG_COMMON_CLK_SCMI=y -# CONFIG_COMMON_CLK_SI5341 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_COMMON_CLK_FSL_FLEXSPI=y -# CONFIG_COMMON_CLK_FSL_SAI is not set -# CONFIG_COMMON_CLK_AXI_CLKGEN is not set -CONFIG_CLK_QORIQ=y -CONFIG_CLK_LS1028A_PLLDIG=y -# CONFIG_COMMON_CLK_XGENE is not set -# CONFIG_COMMON_CLK_RS9_PCIE is not set -# CONFIG_COMMON_CLK_SI521XX is not set -# CONFIG_COMMON_CLK_VC3 is not set -# CONFIG_COMMON_CLK_VC5 is not set -# CONFIG_COMMON_CLK_VC7 is not set -# CONFIG_COMMON_CLK_FIXED_MMIO is not set -# CONFIG_ARCH_S32_CLK is not set -# CONFIG_XILINX_VCU is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_HWSPINLOCK is not set - -# -# Clock Source drivers -# -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_ARM_ARCH_TIMER=y -CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_FSL_ERRATUM_A008585=y -CONFIG_HISILICON_ERRATUM_161010101=y -CONFIG_ARM64_ERRATUM_858921=y -# CONFIG_ARM_TIMER_SP804 is not set -# CONFIG_CLKSRC_IMX_TPM is not set -# CONFIG_TIMER_IMX_SYS_CTR is not set -# end of Clock Source drivers - -# CONFIG_MAILBOX is not set -CONFIG_IOMMU_IOVA=y -CONFIG_IOMMU_API=y -CONFIG_IOMMU_SUPPORT=y - -# -# Generic IOMMU Pagetable Support -# -CONFIG_IOMMU_IO_PGTABLE=y CONFIG_IOMMU_IO_PGTABLE_LPAE=y -# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -# CONFIG_IOMMU_IO_PGTABLE_DART is not set -# end of Generic IOMMU Pagetable Support - -# CONFIG_IOMMU_DEBUGFS is not set -# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set -# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y -CONFIG_OF_IOMMU=y -CONFIG_IOMMU_DMA=y -# CONFIG_IOMMUFD is not set -# CONFIG_ARM_SMMU is not set -# CONFIG_ARM_SMMU_V3 is not set -# CONFIG_VIRTIO_IOMMU is not set - -# -# Remoteproc drivers -# -# CONFIG_REMOTEPROC is not set -# end of Remoteproc drivers - -# -# Rpmsg drivers -# -# CONFIG_RPMSG_VIRTIO is not set -# end of Rpmsg drivers - -# CONFIG_SOUNDWIRE is not set - -# -# SOC (System On Chip) specific Drivers -# - -# -# Amlogic SoC drivers -# -# end of Amlogic SoC drivers - -# -# Broadcom SoC drivers -# -# end of Broadcom SoC drivers - -# -# NXP/Freescale QorIQ SoC drivers -# -# CONFIG_FSL_DPAA is not set -# CONFIG_QUICC_ENGINE is not set -CONFIG_FSL_GUTS=y CONFIG_FSL_MC_DPIO=y -CONFIG_DPAA2_CONSOLE=y CONFIG_FSL_RCPM=y -# CONFIG_FSL_QIXIS is not set -# end of NXP/Freescale QorIQ SoC drivers - -# -# fujitsu SoC drivers -# -# end of fujitsu SoC drivers - -# -# i.MX SoC drivers -# -# end of i.MX SoC drivers - -# -# Enable LiteX SoC Builder specific drivers -# -# CONFIG_LITEX_SOC_CONTROLLER is not set -# end of Enable LiteX SoC Builder specific drivers - -# CONFIG_WPCM450_SOC is not set - -# -# Qualcomm SoC drivers -# -# end of Qualcomm SoC drivers - -# CONFIG_SOC_TI is not set - -# -# Xilinx SoC drivers -# -# end of Xilinx SoC drivers -# end of SOC (System On Chip) specific Drivers - -# -# PM Domains -# - -# -# Amlogic PM Domains -# -# end of Amlogic PM Domains - -CONFIG_ARM_SCMI_PERF_DOMAIN=y -CONFIG_ARM_SCMI_POWER_DOMAIN=y - -# -# Broadcom PM Domains -# -# end of Broadcom PM Domains - -# -# i.MX PM Domains -# -# end of i.MX PM Domains - -# -# Qualcomm PM Domains -# -# end of Qualcomm PM Domains -# end of PM Domains - CONFIG_PM_DEVFREQ=y - -# -# DEVFREQ Governors -# -# CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND is not set -# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set -# CONFIG_DEVFREQ_GOV_POWERSAVE is not set -# CONFIG_DEVFREQ_GOV_USERSPACE is not set -# CONFIG_DEVFREQ_GOV_PASSIVE is not set - -# -# DEVFREQ Drivers -# -# CONFIG_PM_DEVFREQ_EVENT is not set -# CONFIG_EXTCON is not set -# CONFIG_MEMORY is not set -# CONFIG_IIO is not set -# CONFIG_NTB 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_ARM_GIC_V2M=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y -CONFIG_ARM_GIC_V3_ITS_FSL_MC=y -CONFIG_IRQ_MSI_LIB=y -# CONFIG_AL_FIC is not set -# CONFIG_XILINX_INTC is not set -CONFIG_LS_EXTIRQ=y -CONFIG_LS_SCFG_MSI=y -CONFIG_PARTITION_PERCPU=y -# CONFIG_GIC_GENTLE_CONFIG is not set -# end of IRQ chip support - -# CONFIG_IPACK_BUS is not set -# CONFIG_RESET_CONTROLLER is not set - -# -# PHY Subsystem -# -CONFIG_GENERIC_PHY=y -# CONFIG_PHY_CAN_TRANSCEIVER is not set -# CONFIG_PHY_MIXEL_LVDS is not set -# CONFIG_PHY_MIXEL_LVDS_COMBO is not set - -# -# PHY drivers for Broadcom platforms -# -# CONFIG_BCM_KONA_USB2_PHY is not set -# end of PHY drivers for Broadcom platforms - -# CONFIG_PHY_CADENCE_TORRENT is not set -# CONFIG_PHY_CADENCE_DPHY is not set -# CONFIG_PHY_CADENCE_DPHY_RX is not set -# CONFIG_PHY_CADENCE_SALVO is not set -CONFIG_PHY_FSL_LYNX_XGKR_ALGORITHM=y CONFIG_PHY_FSL_LYNX_10G=y CONFIG_PHY_FSL_LYNX_28G=y -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_PHY_LAN966X_SERDES is not set -# CONFIG_PHY_MAPPHONE_MDM6600 is not set -# CONFIG_PHY_OCELOT_SERDES is not set -# CONFIG_PHY_TI_DS125DF111 is not set -# CONFIG_PHY_INPHI_IN112525_RETIMER is not set -# end of PHY Subsystem - -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set - -# -# Performance monitor support -# -# CONFIG_ARM_CCI_PMU is not set -# CONFIG_ARM_CCN is not set -# CONFIG_ARM_CMN is not set -# CONFIG_ARM_NI is not set -CONFIG_ARM_PMU=y -# CONFIG_ARM_SMMU_V3_PMU is not set -CONFIG_ARM_PMUV3=y -# CONFIG_ARM_DSU_PMU is not set -# CONFIG_ARM_SPE_PMU is not set -# CONFIG_HISI_PCIE_PMU is not set -# CONFIG_HNS3_PMU is not set -# CONFIG_DWC_PCIE_PMU is not set -# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set -# end of Performance monitor support - -CONFIG_RAS=y -# CONFIG_USB4 is not set - -# -# Android -# -# CONFIG_ANDROID_BINDER_IPC is not set -# end of Android - -# -# ARM GPU Configuration -# -# CONFIG_MALI_MIDGARD is not set -# end of ARM GPU Configuration - -# CONFIG_MALI_MEMORY_GROUP_MANAGER is not set -# CONFIG_LIBNVDIMM is not set -# CONFIG_DAX is not set -CONFIG_NVMEM=y -CONFIG_NVMEM_SYSFS=y -CONFIG_NVMEM_LAYOUTS=y - -# -# Layout Types -# -# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set -# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set -# CONFIG_NVMEM_LAYOUT_U_BOOT_ENV is not set -# end of Layout Types - CONFIG_NVMEM_LAYERSCAPE_SFP=m -# CONFIG_NVMEM_RMEM is not set -# CONFIG_NVMEM_U_BOOT_ENV is not set - -# -# HW tracing support -# -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set -# CONFIG_HISI_PTT is not set -# end of HW tracing support - -# CONFIG_FPGA is not set -# CONFIG_FSI is not set -# CONFIG_TEE is not set -CONFIG_MULTIPLEXER=y - -# -# Multiplexer drivers -# -# CONFIG_MUX_ADG792A is not set -# CONFIG_MUX_ADGS1408 is not set -# CONFIG_MUX_GPIO is not set -# CONFIG_MUX_MMIO is not set -# end of Multiplexer drivers - -CONFIG_PM_OPP=y -# CONFIG_SIOX is not set -# CONFIG_SLIMBUS is not set -# CONFIG_INTERCONNECT is not set -# CONFIG_COUNTER is not set -# CONFIG_MOST is not set -# CONFIG_PECI is not set -# CONFIG_HTE is not set -# CONFIG_CDX_BUS is not set -# end of Device Drivers - -# -# File systems -# -CONFIG_DCACHE_WORD_ACCESS=y -# CONFIG_VALIDATE_FS_PARSER is not set -CONFIG_FS_IOMAP=y -CONFIG_FS_STACK=y -CONFIG_BUFFER_HEAD=y -CONFIG_LEGACY_DIRECT_IO=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y -# CONFIG_EXT4_DEBUG is not set -CONFIG_JBD2=y -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=y -# 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=m -# CONFIG_BTRFS_FS_POSIX_ACL is not set -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_ASSERT is not set -# CONFIG_BTRFS_FS_REF_VERIFY is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_F2FS_FS is not set -# CONFIG_BCACHEFS_FS is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -# CONFIG_EXPORTFS_BLOCK_OPS is not set -CONFIG_FILE_LOCKING=y -# CONFIG_FS_ENCRYPTION is not set -# CONFIG_FS_VERITY is not set -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y +CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_FANOTIFY=y -# CONFIG_QUOTA is not set -# CONFIG_AUTOFS_FS is not set CONFIG_FUSE_FS=m -# CONFIG_CUSE is not set -# CONFIG_VIRTIO_FS is not set -CONFIG_FUSE_PASSTHROUGH=y CONFIG_OVERLAY_FS=m -# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set -CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y -# CONFIG_OVERLAY_FS_INDEX is not set -# CONFIG_OVERLAY_FS_XINO_AUTO is not set -# CONFIG_OVERLAY_FS_METACOPY is not set -# CONFIG_OVERLAY_FS_DEBUG is not set - -# -# Caches -# -# end of Caches - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set -# end of CD-ROM/DVD Filesystems - -# -# DOS/FAT/EXFAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_FAT_DEFAULT_UTF8 is not set CONFIG_EXFAT_FS=y -CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" -# CONFIG_NTFS3_FS is not set -# CONFIG_NTFS_FS is not set -# end of DOS/FAT/EXFAT/NT Filesystems - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_PROC_CHILDREN=y -CONFIG_KERNFS=y -CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -# CONFIG_TMPFS_INODE64 is not set -# CONFIG_TMPFS_QUOTA is not set -CONFIG_ARCH_SUPPORTS_HUGETLBFS=y CONFIG_HUGETLBFS=y -CONFIG_HUGETLB_PAGE=y -CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y -CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y -CONFIG_EFIVAR_FS=m -# end of Pseudo filesystems - -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=y -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS2_FS is not set -# CONFIG_CRAMFS is not set -# CONFIG_SQUASHFS is not set -# 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=y -CONFIG_UFS_FS_WRITE=y -# CONFIG_UFS_DEBUG is not set -# CONFIG_EROFS_FS is not set -CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_BLK=y +CONFIG_EROFS_FS=m CONFIG_NFS_FS=y -# CONFIG_NFS_V2 is not set -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y -# CONFIG_NFS_SWAP is not set -# CONFIG_NFS_V4_1 is not set CONFIG_ROOT_NFS=y -# CONFIG_NFS_FSCACHE is not set -# CONFIG_NFS_USE_LEGACY_DNS is not set -CONFIG_NFS_USE_KERNEL_DNS=y -CONFIG_NFS_DISABLE_UDP_SUPPORT=y -# CONFIG_NFSD is not set -CONFIG_GRACE_PERIOD=y -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y -CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_SUNRPC_DEBUG is not set -# CONFIG_CEPH_FS is not set -# CONFIG_CIFS is not set -# CONFIG_SMB_SERVER is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" 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 is not set -# CONFIG_NLS_ISO8859_1 is not set -# 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=y -# CONFIG_DLM is not set -# CONFIG_UNICODE is not set -CONFIG_IO_WQ=y -# end of File systems - -# -# Security options -# -CONFIG_KEYS=y -# CONFIG_KEYS_REQUEST_CACHE is not set -# CONFIG_PERSISTENT_KEYRINGS is not set -# CONFIG_BIG_KEYS is not set -# CONFIG_TRUSTED_KEYS is not set -# CONFIG_SECURE_KEYS is not set -# CONFIG_ENCRYPTED_KEYS is not set -# CONFIG_KEY_DH_OPERATIONS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -CONFIG_PROC_MEM_ALWAYS_FORCE=y -# CONFIG_PROC_MEM_FORCE_PTRACE is not set -# CONFIG_PROC_MEM_NO_FORCE is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_FORTIFY_SOURCE is not set -# CONFIG_STATIC_USERMODEHELPER is not set -# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,ipe,bpf" - -# -# Kernel hardening options -# - -# -# Memory initialization -# -CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y -CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y -CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y -# CONFIG_INIT_STACK_NONE is not set -# CONFIG_INIT_STACK_ALL_PATTERN is not set -CONFIG_INIT_STACK_ALL_ZERO=y -# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set -# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set -CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y -# CONFIG_ZERO_CALL_USED_REGS is not set -# end of Memory initialization - -# -# Hardening of kernel data structures -# -# CONFIG_LIST_HARDENED is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# end of Hardening of kernel data structures - -CONFIG_RANDSTRUCT_NONE=y -# end of Kernel hardening options -# end of Security options - -CONFIG_XOR_BLOCKS=m -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_SIG=y -CONFIG_CRYPTO_SIG2=y -CONFIG_CRYPTO_SKCIPHER=y -CONFIG_CRYPTO_SKCIPHER2=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_KPP=m -CONFIG_CRYPTO_ACOMP2=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_KEY_DH_OPERATIONS=y +CONFIG_HARDENED_USERCOPY=y +CONFIG_FORTIFY_SOURCE=y CONFIG_CRYPTO_USER=y -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_NULL2=y -# CONFIG_CRYPTO_PCRYPT is not set -# CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_AUTHENC=y -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_ENGINE=y -# end of Crypto core or helper - -# -# Public-key cryptography -# -CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECC=m -CONFIG_CRYPTO_ECDH=m -# CONFIG_CRYPTO_ECDSA is not set -# CONFIG_CRYPTO_ECRDSA is not set -# CONFIG_CRYPTO_CURVE25519 is not set -# end of Public-key cryptography - -# -# Block ciphers -# -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_ARIA is not set -# 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=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SM4_GENERIC is not set -# CONFIG_CRYPTO_TWOFISH is not set -# end of Block ciphers - -# -# Length-preserving ciphers and modes -# -# CONFIG_CRYPTO_ADIANTUM is not set -# CONFIG_CRYPTO_CHACHA20 is not set -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CTR=y -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=y -# CONFIG_CRYPTO_HCTR2 is not set -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=y -# end of Length-preserving ciphers and modes - -# -# AEAD (authenticated encryption with associated data) ciphers -# -# CONFIG_CRYPTO_AEGIS128 is not set -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_GENIV=y -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_ECHAINIV=y -# CONFIG_CRYPTO_ESSIV is not set -# CONFIG_CRYPTO_TLS is not set -# end of AEAD (authenticated encryption with associated data) ciphers - -# -# Hashes, digests, and MACs -# -CONFIG_CRYPTO_BLAKE2B=m CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_GHASH=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_RMD160 is not set -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_SHA3=y -# CONFIG_CRYPTO_SM3_GENERIC is not set -# CONFIG_CRYPTO_STREEBOG is not set -# CONFIG_CRYPTO_VMAC is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_XCBC is not set -CONFIG_CRYPTO_XXHASH=m -# end of Hashes, digests, and MACs - -# -# CRCs (cyclic redundancy checks) -# -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_CRCT10DIF is not set -# end of CRCs (cyclic redundancy checks) - -# -# 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 -# end of Compression - -# -# 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_JITTERENTROPY_MEMORY_BLOCKS=64 -CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32 -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 -# end of Random number generation - -# -# Userspace interface -# -# 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 -# end of Userspace interface - -CONFIG_CRYPTO_HASH_INFO=y -# CONFIG_CRYPTO_NHPOLY1305_NEON is not set -CONFIG_CRYPTO_CHACHA20_NEON=y - -# -# Accelerated Cryptographic Algorithms for CPU (arm64) -# CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM64_CE=m -# CONFIG_CRYPTO_SHA3_ARM64 is not set -# CONFIG_CRYPTO_SM3_NEON is not set -# CONFIG_CRYPTO_SM3_ARM64_CE is not set -# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set -# CONFIG_CRYPTO_AES_ARM64 is not set -CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m CONFIG_CRYPTO_AES_ARM64_BS=m -# CONFIG_CRYPTO_SM4_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set -# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set -# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set -# end of Accelerated Cryptographic Algorithms for CPU (arm64) - -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y -CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y -CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y -CONFIG_CRYPTO_DEV_FSL_CAAM_KEYBLOB_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM=y -# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set -CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y -CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y -CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255 -CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048 -CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y -CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI=y -CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y -CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y -CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y -CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y -CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y -# CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API_TEST is not set -# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set -CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y -CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7 -# CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST is not set -CONFIG_CRYPTO_DEV_FSL_CAAM_JR_UIO=y -# CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM is not set -# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set -# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set -# CONFIG_CRYPTO_DEV_CCP is not set -# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set -# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set -# CONFIG_CRYPTO_DEV_QAT_C62X is not set -# CONFIG_CRYPTO_DEV_QAT_4XXX is not set -# CONFIG_CRYPTO_DEV_QAT_420XX is not set -# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set -# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set -# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set -# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set -# CONFIG_CRYPTO_DEV_VIRTIO is not set -# CONFIG_CRYPTO_DEV_SAFEXCEL is not set -# CONFIG_CRYPTO_DEV_CCREE is not set -# CONFIG_CRYPTO_DEV_HISI_SEC is not set -# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_X509_CERTIFICATE_PARSER=y -# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set -# CONFIG_FIPS_SIGNATURE_SELFTEST 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 -# end of Certificates for signature checking - -CONFIG_BINARY_PRINTF=y - -# -# Library routines -# -CONFIG_RAID6_PQ=m -CONFIG_RAID6_PQ_BENCHMARK=y -CONFIG_PACKING=y -CONFIG_BITREVERSE=y -CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_NET_UTILS=y -# CONFIG_CORDIC is not set -# CONFIG_PRIME_NUMBERS is not set -CONFIG_RATIONAL=y -CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y -CONFIG_ARCH_HAS_FAST_MULTIPLIER=y -CONFIG_ARCH_USE_SYM_ANNOTATIONS=y -# CONFIG_INDIRECT_PIO is not set - -# -# Crypto library routines -# -CONFIG_CRYPTO_LIB_UTILS=y -CONFIG_CRYPTO_LIB_AES=y -CONFIG_CRYPTO_LIB_ARC4=m -CONFIG_CRYPTO_LIB_GF128MUL=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y -CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y -CONFIG_CRYPTO_LIB_CHACHA_INTERNAL=y -CONFIG_CRYPTO_LIB_CHACHA=y -CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y -CONFIG_CRYPTO_LIB_CURVE25519_INTERNAL=y -CONFIG_CRYPTO_LIB_CURVE25519=y -CONFIG_CRYPTO_LIB_DES=y -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 -CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y -CONFIG_CRYPTO_LIB_POLY1305_INTERNAL=y -CONFIG_CRYPTO_LIB_POLY1305=y -CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y -CONFIG_CRYPTO_LIB_SHA1=y -CONFIG_CRYPTO_LIB_SHA256=y -# end of Crypto library routines - -CONFIG_CRC_CCITT=m -CONFIG_CRC16=y -# CONFIG_CRC_T10DIF is not set -# CONFIG_CRC64_ROCKSOFT is not set -CONFIG_CRC_ITU_T=y -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=y -CONFIG_CRC8=m -CONFIG_XXHASH=y -CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -# 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_ZSTD_COMMON=y -CONFIG_ZSTD_COMPRESS=m -CONFIG_ZSTD_DECOMPRESS=y -CONFIG_XZ_DEC=y -CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_XZ_DEC_ARM64=y -CONFIG_XZ_DEC_SPARC=y -CONFIG_XZ_DEC_RISCV=y -# CONFIG_XZ_DEC_MICROLZMA is not set -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_DECOMPRESS_ZSTD=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_XARRAY_MULTI=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_DMA_OPS_HELPERS=y -CONFIG_NEED_SG_DMA_FLAGS=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_DMA_DECLARE_COHERENT=y -CONFIG_ARCH_HAS_SETUP_DMA_OPS=y -CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y -CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y -CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y -CONFIG_SWIOTLB=y -# CONFIG_SWIOTLB_DYNAMIC is not set -CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y -CONFIG_DMA_NEED_SYNC=y -# CONFIG_DMA_RESTRICTED_POOL is not set -CONFIG_DMA_NONCOHERENT_MMAP=y -CONFIG_DMA_COHERENT_POOL=y -CONFIG_DMA_DIRECT_REMAP=y -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_DMA_MAP_BENCHMARK is not set -CONFIG_SGL_ALLOC=y -CONFIG_CPU_RMAP=y -CONFIG_DQL=y -CONFIG_GLOB=y -# CONFIG_GLOB_SELFTEST is not set -CONFIG_NLATTR=y -CONFIG_CLZ_TAB=y -# CONFIG_IRQ_POLL is not set -CONFIG_MPILIB=y -CONFIG_DIMLIB=y -CONFIG_LIBFDT=y -CONFIG_OID_REGISTRY=y -CONFIG_UCS2_STRING=y -CONFIG_HAVE_GENERIC_VDSO=y -CONFIG_GENERIC_GETTIMEOFDAY=y -CONFIG_GENERIC_VDSO_TIME_NS=y -CONFIG_VDSO_GETRANDOM=y -CONFIG_FONT_SUPPORT=y -CONFIG_FONT_8x16=y -CONFIG_FONT_AUTOSELECT=y -CONFIG_SG_POOL=y -CONFIG_ARCH_STACKWALK=y -CONFIG_SBITMAP=y -# CONFIG_LWQ_TEST is not set -# end of Library routines - -CONFIG_GENERIC_IOREMAP=y -CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y -CONFIG_POLYNOMIAL=y - -# -# Kernel hacking -# - -# -# printk and dmesg options -# CONFIG_PRINTK_TIME=y -# CONFIG_PRINTK_CALLER is not set -# CONFIG_STACKTRACE_BUILD_ID 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 -# CONFIG_DYNAMIC_DEBUG_CORE is not set -CONFIG_SYMBOLIC_ERRNAME=y -CONFIG_DEBUG_BUGVERBOSE=y -# end of printk and dmesg options - -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_MISC=y - -# -# Compile-time checks and compiler options -# -CONFIG_AS_HAS_NON_CONST_ULEB128=y -CONFIG_DEBUG_INFO_NONE=y -# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_DEBUG_INFO_DWARF5 is not set -CONFIG_FRAME_WARN=2048 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_VMLINUX_MAP is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -# end of Compile-time checks and compiler options - -# -# Generic Kernel Debugging Instruments -# +CONFIG_DEBUG_INFO_DWARF5=y +CONFIG_DEBUG_INFO_BTF=y CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 -CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_DEBUG_FS=y -CONFIG_DEBUG_FS_ALLOW_ALL=y -# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set -# CONFIG_DEBUG_FS_ALLOW_NONE is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -CONFIG_ARCH_HAS_UBSAN=y -# CONFIG_UBSAN is not set -CONFIG_HAVE_ARCH_KCSAN=y -CONFIG_HAVE_KCSAN_COMPILER=y -# CONFIG_KCSAN is not set -# end of Generic Kernel Debugging Instruments - -# -# Networking Debugging -# -# CONFIG_NET_DEV_REFCNT_TRACKER is not set -# CONFIG_NET_NS_REFCNT_TRACKER is not set -# CONFIG_DEBUG_NET is not set -# end of Networking Debugging - -# -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_TABLE_CHECK is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_RODATA_TEST is not set -CONFIG_ARCH_HAS_DEBUG_WX=y -# CONFIG_DEBUG_WX is not set -CONFIG_GENERIC_PTDUMP=y -# CONFIG_PTDUMP_DEBUGFS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_PER_VMA_LOCK_STATS is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SHRINKER_DEBUG is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_SCHED_STACK_END_CHECK is not set -CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_VM_PGTABLE 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_MEM_ALLOC_PROFILING is not set -CONFIG_HAVE_ARCH_KASAN=y -CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y -CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y -CONFIG_HAVE_ARCH_KASAN_VMALLOC=y -CONFIG_CC_HAS_KASAN_GENERIC=y -CONFIG_CC_HAS_KASAN_SW_TAGS=y -CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y -CONFIG_HAVE_ARCH_KFENCE=y -# CONFIG_KFENCE is not set -# end of Memory Debugging - -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Oops, Lockups and Hangs -# -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -# CONFIG_SOFTLOCKUP_DETECTOR is not set -CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y -# CONFIG_HARDLOCKUP_DETECTOR is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_WQ_WATCHDOG is not set -# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set -# CONFIG_TEST_LOCKUP is not set -# end of Debug Oops, Lockups and Hangs - -# -# Scheduler Debugging -# +CONFIG_DEBUG_FS_DISALLOW_MOUNT=y +CONFIG_SOFTLOCKUP_DETECTOR=y # CONFIG_SCHED_DEBUG is not set -# CONFIG_SCHEDSTATS is not set -# end of Scheduler Debugging - -# -# 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 is not set -# 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 is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_WW_MUTEX_SELFTEST is not set -# CONFIG_SCF_TORTURE_TEST is not set -# CONFIG_CSD_LOCK_WAIT_DEBUG is not set -# end of Lock Debugging (spinlocks, mutexes, etc...) - -# CONFIG_DEBUG_IRQFLAGS is not set -# CONFIG_STACKTRACE is not set -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -# CONFIG_DEBUG_KOBJECT is not set - -# -# Debug kernel data structures -# -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PLIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_MAPLE_TREE is not set -# end of Debug kernel data structures - -# -# RCU Debugging -# -# CONFIG_RCU_SCALE_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_REF_SCALE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=21 -CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 -# CONFIG_RCU_CPU_STALL_CPUTIME is not set -CONFIG_RCU_TRACE=y -# CONFIG_RCU_EQS_DEBUG is not set -# end of RCU Debugging - -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_LATENCYTOP is not set -CONFIG_USER_STACKTRACE_SUPPORT=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACE_CLOCK=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y -CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y -CONFIG_STRICT_DEVMEM=y -# CONFIG_IO_STRICT_DEVMEM is not set - -# -# arm64 Debugging -# +CONFIG_FUNCTION_TRACER=y +CONFIG_FTRACE_SYSCALLS=y CONFIG_PID_IN_CONTEXTIDR=y -# CONFIG_ARM64_RELOC_TEST is not set -# CONFIG_CORESIGHT is not set -# end of arm64 Debugging - -# -# Kernel Testing and Coverage -# -# CONFIG_KUNIT is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set -CONFIG_RUNTIME_TESTING_MENU=y -# CONFIG_TEST_DHRY is not set -# CONFIG_LKDTM is not set -# CONFIG_TEST_MIN_HEAP is not set -# CONFIG_TEST_DIV64 is not set -# CONFIG_TEST_MULDIV64 is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_TEST_REF_TRACKER is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_REED_SOLOMON_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_SCANF is not set -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_UUID is not set -# CONFIG_TEST_XARRAY is not set -# CONFIG_TEST_MAPLE_TREE is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_IDA is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_BITOPS is not set -# CONFIG_TEST_VMALLOC is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_BLACKHOLE_DEV is not set -# CONFIG_FIND_BIT_BENCHMARK is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_SYSCTL is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_TEST_KMOD is not set -# CONFIG_TEST_MEMCAT_P is not set -# CONFIG_TEST_MEMINIT is not set -# CONFIG_TEST_FREE_PAGES is not set -# CONFIG_TEST_FPU is not set -# CONFIG_TEST_OBJPOOL is not set -CONFIG_ARCH_USE_MEMTEST=y -# CONFIG_MEMTEST is not set -# end of Kernel Testing and Coverage - -# -# Rust hacking -# -# end of Rust hacking -# end of Kernel hacking diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf index 022e5724ce73..332698510d64 100644 --- a/config/sources/families/ls1046a.conf +++ b/config/sources/families/ls1046a.conf @@ -32,30 +32,30 @@ case "${BRANCH}" in declare -g KERNEL_MAJOR_MINOR="6.12" declare -g KERNELBRANCH='tag:lf-6.12.49-2.2.0' declare -g LINUXCONFIG="linux-ls1046a-current" + declare -g KERNEL_DESCRIPTION="NXP Layerscape SDK kernel" ;; esac declare -g KERNELPATCHDIR="archive/ls1046a-${KERNEL_MAJOR_MINOR}" -# U-Boot, ATF, and RCW — defaults are Mono Gateway DK forks with custom DDR4 config and RCW -# Other LS1046A boards can override these in their board config (sourced before family) -declare -g BOOTSOURCE="${BOOTSOURCE:-https://github.com/we-are-mono/u-boot}" -declare -g BOOTBRANCH="${BOOTBRANCH:-commit:9f13d11658f696d4d1b4f76fa88264c52bd2e7c2}" +# U-Boot, ATF, and RCW — must be set by board config (sourced before family) +declare -g BOOTSOURCE="${BOOTSOURCE:?BOOTSOURCE must be set by board config}" +declare -g BOOTBRANCH="${BOOTBRANCH:?BOOTBRANCH must be set by board config}" declare -g BOOTPATCHDIR="${BOOTPATCHDIR:-u-boot-ls1046a}" -declare -g UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-;;u-boot.bin bl2_emmc.pbl fip.bin fsl_fman_ucode_ls1046_r1.0_108_4_9.bin u-boot-env.bin}" +declare -g UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:?UBOOT_TARGET_MAP must be set by board config}" -declare -g ATFSOURCE="${ATFSOURCE:-https://github.com/we-are-mono/atf}" +declare -g ATFSOURCE="${ATFSOURCE:?ATFSOURCE must be set by board config}" declare -g ATFDIR="${ATFDIR:-arm-trusted-firmware-ls1046a}" -declare -g ATFBRANCH="${ATFBRANCH:-commit:80a4fbc4d79b16549a2bad4e3532899ce7de4cef}" +declare -g ATFBRANCH="${ATFBRANCH:?ATFBRANCH must be set by board config}" declare -g ATFPATCHDIR="${ATFPATCHDIR:-atf-ls1046a}" -# ATF/RCW platform name — boards can override before family config is sourced -declare -g LS1046A_PLAT="${LS1046A_PLAT:-gateway_dk}" +# ATF/RCW platform name and source — must be set by board config +declare -g LS1046A_PLAT="${LS1046A_PLAT:?LS1046A_PLAT must be set by board config}" declare -g ATF_TARGET_MAP="PLAT=${LS1046A_PLAT} bl31;;build/${LS1046A_PLAT}/release/bl31.bin" -declare -g RCW_SOURCE="${RCW_SOURCE:-https://github.com/we-are-mono/rcw}" -declare -g RCW_BRANCH="${RCW_BRANCH:-commit:a37e83067fb9496dd0be6b4bc24e85361fd2e0a2}" +declare -g RCW_SOURCE="${RCW_SOURCE:?RCW_SOURCE must be set by board config}" +declare -g RCW_BRANCH="${RCW_BRANCH:?RCW_BRANCH must be set by board config}" # FMAN microcode (fetched during family_tweaks) declare -g FMAN_UCODE_SOURCE='https://github.com/NXP/qoriq-fm-ucode.git' @@ -64,14 +64,8 @@ declare -g FMAN_UCODE_FILE='fsl_fman_ucode_ls1046_r1.0_108_4_9.bin' # Helper: ensure FMAN microcode is fetched and cached (sets FMAN_UCODE_DIR) function ensure_fman_ucode_cached() { + fetch_from_repo "${FMAN_UCODE_SOURCE}" "qoriq-fm-ucode" "commit:${FMAN_UCODE_SRCREV}" declare -g FMAN_UCODE_DIR="${SRC}/cache/sources/qoriq-fm-ucode" - if [[ ! -d "${FMAN_UCODE_DIR}/.git" ]]; then - rm -rf "${FMAN_UCODE_DIR}" - run_host_command_logged git clone "${FMAN_UCODE_SOURCE}" "${FMAN_UCODE_DIR}" - pushd "${FMAN_UCODE_DIR}" || exit_with_error "Cannot enter fm-ucode directory" - run_host_command_logged git checkout "${FMAN_UCODE_SRCREV}" - popd - fi } # RCW build needs tcl @@ -100,7 +94,8 @@ function uboot_custom_postprocess() { run_host_command_logged make BOARDS="${LS1046A_PLAT}" popd - local rcw_bin="${rcwdir}/${LS1046A_PLAT}/NN_FFSSPSNP_1133_5A06/rcw_2100_emmcboot.bin" + declare -g RCW_BIN_PATH="${RCW_BIN_PATH:?RCW_BIN_PATH must be set by board config}" + local rcw_bin="${rcwdir}/${LS1046A_PLAT}/${RCW_BIN_PATH}" [[ ! -f "${rcw_bin}" ]] && exit_with_error "RCW binary not found at ${rcw_bin}" # Re-enter ATF directory and build PBL + FIP with BL33=u-boot.bin @@ -131,8 +126,9 @@ function uboot_custom_postprocess() { # Build U-Boot environment binary (8KB at 3MB offset on eMMC) display_alert "LS1046A boot chain" "building U-Boot environment" "info" - "${ubootdir}/tools/mkenvimage" -s 0x2000 -o "${ubootdir}/u-boot-env.bin" "${SRC}/config/bootenv/ls1046a.txt" + "${ubootdir}/tools/mkenvimage" -s 0x2000 -o "${ubootdir}/u-boot-env.bin" "${SRC}/config/bootenv/${BOOTENV_FILE:-ls1046a.txt}" + # Restore cwd — fetch_from_repo changes it, and the framework expects to be in ubootdir cd "${ubootdir}" || exit_with_error "Cannot return to U-Boot directory" } @@ -161,15 +157,4 @@ function family_tweaks() { ensure_fman_ucode_cached mkdir -p "${SDCARD}/lib/firmware/" cp "${FMAN_UCODE_DIR}/${FMAN_UCODE_FILE}" "${SDCARD}/lib/firmware/${FMAN_UCODE_FILE}" - - # Enable IP forwarding (common for gateway devices) - echo "net.ipv4.ip_forward=1" > "${SDCARD}/etc/sysctl.d/99-ls1046a-forwarding.conf" - - # Fan control — install package and enable services - display_alert "Installing fancontrol" "emc2305 + cluster_thermal" "info" - chroot_sdcard_apt_get_install fancontrol lm-sensors -} - -function family_tweaks_bsp() { - : "${destination:?destination is not set}" } diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 112b040e9172..3ef021045398 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -23,8 +23,8 @@ declare -g FMC_COMMIT="5b9f4b16a864e9dfa58cdcc860be278a7f66ac18" declare -g LIBCLI_REPO="https://github.com/dparrish/libcli.git" declare -g LIBCLI_COMMIT="6a3b2f96c4f0916e2603a96bf24d704f6a904e7a" -# Target architecture triplet (Debian multiarch) -declare -g ASK_HOST_TRIPLET="aarch64-linux-gnu" +# Target architecture triplet (Debian multiarch) — derived from KERNEL_COMPILER (e.g. "aarch64-linux-gnu-") +declare -g ASK_HOST_TRIPLET="${KERNEL_COMPILER%-}" # ASK component directories declare -g ASK_CDX_DIR="cdx" @@ -46,12 +46,15 @@ function host_pre_docker_launch__mount_local_ask() { # Uses post_family_config because the kernel patch staging hook needs it before fetch_sources_tools runs function post_family_config__ask_fetch_repo() { # For local file:// repos in Docker, safe.directory is needed (container runs as root) + # Use env vars instead of git config --global to avoid persistent side effects if [[ "${ASK_REPO}" == file://* ]]; then local local_path="${ASK_REPO#file://}" - git config --global --add safe.directory "${local_path}" 2>/dev/null - git config --global --add safe.directory "${local_path}/.git" 2>/dev/null + export GIT_CONFIG_COUNT=2 + export GIT_CONFIG_KEY_0="safe.directory" GIT_CONFIG_VALUE_0="${local_path}" + export GIT_CONFIG_KEY_1="safe.directory" GIT_CONFIG_VALUE_1="${local_path}/.git" fi fetch_from_repo "${ASK_REPO}" "ask-repo" "${ASK_BRANCH}" + unset GIT_CONFIG_COUNT GIT_CONFIG_KEY_0 GIT_CONFIG_VALUE_0 GIT_CONFIG_KEY_1 GIT_CONFIG_VALUE_1 2>/dev/null declare -g ASK_CACHE_DIR="${SRC}/cache/sources/ask-repo" } @@ -61,11 +64,8 @@ function extension_finish_config__ask_enable_headers() { display_alert "ASK extension" "enabling kernel headers for module builds" "info" } -# Add host build dependencies -function add_host_dependencies__ask_deps() { - display_alert "Adding ASK host dependencies" "${EXTENSION}" "debug" - declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} libxml2-dev libtclap-dev libpcap-dev pkg-config" -} +# Host build dependencies — kernel module cross-compilation only needs the kernel source tree +# (libxml2-dev, libtclap-dev, libpcap-dev, pkg-config are installed in-chroot for userspace builds) # Copy ASK kernel patch to userpatches (gitignored) so it's applied during kernel build function post_family_config__ask_kernel_patch() { @@ -73,19 +73,25 @@ function post_family_config__ask_kernel_patch() { [[ -f "${patch_src}" ]] || exit_with_error "ASK kernel patch not found" "${patch_src}" local patch_dst="${SRC}/userpatches/kernel/archive/ls1046a-${KERNEL_MAJOR_MINOR}" mkdir -p "${patch_dst}" + # Renamed to 003- to apply after 001-ina234 and 002-device-tree in the Armbian patch dir cp "${patch_src}" "${patch_dst}/003-mono-gateway-ask-kernel_linux_6_12.patch" display_alert "ASK extension" "ASK kernel patch staged in userpatches" "info" } +function cleanup_ask_module_builddir() { + [[ -n "${ASK_MODULE_BUILDDIR}" && -d "${ASK_MODULE_BUILDDIR}" ]] && rm -rf "${ASK_MODULE_BUILDDIR}" +} + # Build kernel modules after kernel debs are installed in chroot function post_install_kernel_debs__build_ask_modules() { [[ "${INSTALL_HEADERS}" != "yes" ]] && return 0 display_alert "ASK extension" "building kernel modules (host cross-compile)" "info" - local kernel_ver - kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) - [[ -z "${kernel_ver}" ]] && exit_with_error "No kernel version found in ${SDCARD}/lib/modules/" + declare -g ASK_KERNEL_VER + ASK_KERNEL_VER=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + [[ -z "${ASK_KERNEL_VER}" ]] && exit_with_error "No kernel version found in ${SDCARD}/lib/modules/" + local kernel_ver="${ASK_KERNEL_VER}" # Full kernel source tree (needed for CDX — it includes ncsw_config.mk from the FMAN driver) local ksrc="${SRC}/cache/sources/linux-kernel-worktree/${KERNEL_MAJOR_MINOR}__${LINUXFAMILY}__${ARCH}" @@ -95,7 +101,8 @@ function post_install_kernel_debs__build_ask_modules() { local bsp_dir="${SRC}/packages/bsp/gateway-dk" local builddir builddir=$(mktemp -d) - trap "rm -rf '${builddir}'" EXIT + declare -g ASK_MODULE_BUILDDIR="${builddir}" + add_cleanup_handler cleanup_ask_module_builddir # Copy ASK module sources to build dir cp -a "${ASK_CACHE_DIR}/${ASK_CDX_DIR}" "${builddir}/cdx" @@ -130,8 +137,10 @@ function post_install_kernel_debs__build_ask_modules() { mkdir -p "${builddir}/sfp-led" cp "${bsp_dir}/sfp-led.c" "${builddir}/sfp-led/" cp "${bsp_dir}/sfp-led.mk" "${builddir}/sfp-led/Makefile" - make -C "${builddir}/sfp-led" KERNEL_SRC="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" \ + pushd "${builddir}/sfp-led" + make KERNEL_SRC="${ksrc}" ARCH=arm64 CROSS_COMPILE="${cross}" \ || exit_with_error "SFP-LED module build failed" + popd # LP5812: TI 4x3 LED matrix controller (not yet in mainline, targeting 6.19+) display_alert "ASK extension" "building LP5812 LED driver" "info" @@ -160,12 +169,11 @@ function post_install_kernel_debs__build_ask_modules() { # Also install directly into rootfs so they're available during the rest of the build mkdir -p "${SDCARD}/lib/modules/${kernel_ver}/extra" cp "${ASK_MODULE_STAGING}"/*.ko "${SDCARD}/lib/modules/${kernel_ver}/extra/" - chroot_sdcard "depmod -a ${kernel_ver}" + chroot_sdcard "depmod -a ${kernel_ver}" || exit_with_error "depmod failed" cp "${ASK_CACHE_DIR}/config/ask-modules.conf" "${SDCARD}/etc/modules-load.d/" - # Clean up build dir (also handled by EXIT trap on failure) + # Clean up build dir rm -rf "${builddir}" - trap - EXIT display_alert "ASK extension" "kernel modules built and staged" "info" } @@ -192,8 +200,7 @@ function pre_customize_image__000_prepare_ask_patches() { function pre_customize_image__001_build_ask_userspace() { display_alert "ASK extension" "building userspace components" "info" - local kernel_ver - kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) + local kernel_ver="${ASK_KERNEL_VER}" local kdir="/usr/src/linux-headers-${kernel_ver}" # Install build dependencies in chroot @@ -206,29 +213,19 @@ function pre_customize_image__001_build_ask_userspace() { # --- fmlib --- display_alert "ASK extension" "building fmlib" "info" - if [[ ! -d "${SRC}/cache/sources/fmlib" ]]; then - run_host_command_logged git clone "${FMLIB_REPO}" "${SRC}/cache/sources/fmlib" - pushd "${SRC}/cache/sources/fmlib" || exit_with_error "Cannot enter fmlib" - run_host_command_logged git checkout "${FMLIB_COMMIT}" - popd - fi + fetch_from_repo "${FMLIB_REPO}" "fmlib" "commit:${FMLIB_COMMIT}" cp -a "${SRC}/cache/sources/fmlib" "${SDCARD}/tmp/ask-userspace/fmlib" cp "${ASK_CACHE_DIR}/patches/fmlib/"*.patch "${SDCARD}/tmp/ask-userspace/" chroot_sdcard "cd /tmp/ask-userspace/fmlib && \ patch -p1 < /tmp/ask-userspace/01-mono-ask-extensions.patch && \ make KERNEL_SRC=${kdir} libfm-arm.a && \ - make DESTDIR=/ PREFIX=/usr LIB_DEST_DIR=/usr/lib/${ASK_HOST_TRIPLET} install-libfm-arm && \ - rm -rf /usr/src" + make DESTDIR=/ PREFIX=/usr LIB_DEST_DIR=/usr/lib/${ASK_HOST_TRIPLET} install-libfm-arm" \ + || exit_with_error "fmlib build failed" # --- fmc --- display_alert "ASK extension" "building fmc" "info" - if [[ ! -d "${SRC}/cache/sources/fmc" ]]; then - run_host_command_logged git clone "${FMC_REPO}" "${SRC}/cache/sources/fmc" - pushd "${SRC}/cache/sources/fmc" || exit_with_error "Cannot enter fmc" - run_host_command_logged git checkout "${FMC_COMMIT}" - popd - fi + fetch_from_repo "${FMC_REPO}" "fmc" "commit:${FMC_COMMIT}" cp -a "${SRC}/cache/sources/fmc" "${SDCARD}/tmp/ask-userspace/fmc" cp "${ASK_CACHE_DIR}/patches/fmc/"*.patch "${SDCARD}/tmp/ask-userspace/" @@ -245,21 +242,18 @@ function pre_customize_image__001_build_ask_userspace() { install -m 644 source/fmc.h /usr/include/fmc/ && \ install -m 644 source/libfmc.a /usr/lib/${ASK_HOST_TRIPLET}/ && \ install -d /etc/fmc/config && \ - install -m 644 etc/fmc/config/* /etc/fmc/config/" + install -m 644 etc/fmc/config/* /etc/fmc/config/" \ + || exit_with_error "fmc build failed" # --- libcli --- display_alert "ASK extension" "building libcli" "info" - if [[ ! -d "${SRC}/cache/sources/libcli" ]]; then - run_host_command_logged git clone "${LIBCLI_REPO}" "${SRC}/cache/sources/libcli" - pushd "${SRC}/cache/sources/libcli" || exit_with_error "Cannot enter libcli" - run_host_command_logged git checkout "${LIBCLI_COMMIT}" - popd - fi + fetch_from_repo "${LIBCLI_REPO}" "libcli" "commit:${LIBCLI_COMMIT}" cp -a "${SRC}/cache/sources/libcli" "${SDCARD}/tmp/ask-userspace/libcli" chroot_sdcard "cd /tmp/ask-userspace/libcli && \ make CFLAGS='-Wno-calloc-transposed-args' && \ - make PREFIX=/usr DESTDIR=/ install" + make PREFIX=/usr DESTDIR=/ install" \ + || exit_with_error "libcli build failed" # --- libfci --- display_alert "ASK extension" "building libfci" "info" @@ -268,7 +262,8 @@ function pre_customize_image__001_build_ask_userspace() { chroot_sdcard "cd /tmp/ask-userspace/libfci && \ make && \ install -m 644 libfci.a /usr/lib/${ASK_HOST_TRIPLET}/ && \ - install -m 644 include/libfci.h /usr/include/" + install -m 644 include/libfci.h /usr/include/" \ + || exit_with_error "libfci build failed" # --- dpa-app --- display_alert "ASK extension" "building dpa-app" "info" @@ -283,7 +278,8 @@ function pre_customize_image__001_build_ask_userspace() { -I/usr/include/fmc -I/usr/include/fmd -I/usr/include/fmd/integrations \ -I/usr/include/fmd/Peripherals -I/usr/include/fmd/Peripherals/common -I/usr/include/cdx' \ LDFLAGS='-lfmc -lfm-arm -lstdc++ -lxml2 -lpthread -lcli' && \ - install -m 755 dpa_app /usr/bin/" + install -m 755 dpa_app /usr/bin/" \ + || exit_with_error "dpa-app build failed" # Install DPA-App config files (from ASK repo) cp "${ASK_CACHE_DIR}/config/gateway-dk/cdx_cfg.xml" "${SDCARD}/etc/" @@ -310,14 +306,15 @@ function pre_customize_image__001_build_ask_userspace() { LIBFCI_DIR=/tmp/ask-userspace/libfci \ ABM_DIR=/usr \ SYSROOT=/ && \ - install -m 755 src/cmm /usr/bin/" + install -m 755 src/cmm /usr/bin/" \ + || exit_with_error "cmm build failed" # Install and enable CMM service (from ASK repo) # Guarded by ConditionPathExists=/dev/cdx_ctrl — won't start without ASK FMAN ucode on NOR cp "${ASK_CACHE_DIR}/config/cmm.service" "${SDCARD}/etc/systemd/system/" mkdir -p "${SDCARD}/etc/config" cp "${ASK_CACHE_DIR}/config/fastforward" "${SDCARD}/etc/config/" - chroot_sdcard "systemctl enable cmm.service" + chroot_sdcard systemctl enable cmm.service # Pin patched packages — ASK patches add kernel offloading hooks (comcerto-fp, # QOSMARK/QOSCONNMARK) that don't exist upstream. An apt upgrade would replace @@ -327,14 +324,8 @@ function pre_customize_image__001_build_ask_userspace() { chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables" # Install sysctl tuning for conntrack - cat > "${SDCARD}/etc/sysctl.d/99-ls1046a-conntrack.conf" << 'EOF' -net.netfilter.nf_conntrack_acct=1 -net.netfilter.nf_conntrack_checksum=0 -net.netfilter.nf_conntrack_max=131072 -net.netfilter.nf_conntrack_tcp_timeout_established=7440 -net.netfilter.nf_conntrack_udp_timeout=60 -net.netfilter.nf_conntrack_udp_timeout_stream=180 -EOF + install -Dm 644 "${SRC}/packages/bsp/gateway-dk/99-ls1046a-conntrack.conf" \ + "${SDCARD}/etc/sysctl.d/99-ls1046a-conntrack.conf" # Cleanup build sources rm -rf "${SDCARD}/tmp/ask-userspace" "${SDCARD}/tmp/ask-patches" @@ -342,8 +333,6 @@ EOF # --- Package everything as a single gateway-dk-ask .deb --- display_alert "ASK extension" "packaging combined ASK .deb" "info" local pkgname="gateway-dk-ask" - local kernel_ver - kernel_ver=$(ls -1v "${SDCARD}/lib/modules/" | tail -1) local pkgdir pkgdir=$(mktemp -d) mkdir -p "${pkgdir}/DEBIAN" @@ -394,6 +383,7 @@ EOF # Version: kernel version + build date — allows bugfix rebuilds without kernel change local ask_version="${kernel_ver}+$(date +%Y%m%d)" + # Depends uses >= (not =) so ASK can be updated independently without rebuilding the kernel cat > "${pkgdir}/DEBIAN/control" << EOF Package: ${pkgname} Version: ${ask_version} @@ -418,6 +408,23 @@ apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables 2>/dev/null || true EOF chmod 755 "${pkgdir}/DEBIAN/postinst" + cat > "${pkgdir}/DEBIAN/prerm" << 'EOF' +#!/bin/bash +systemctl stop cmm.service 2>/dev/null || true +EOF + chmod 755 "${pkgdir}/DEBIAN/prerm" + + cat > "${pkgdir}/DEBIAN/postrm" << EOF +#!/bin/bash +depmod -a ${kernel_ver} || true +ldconfig || true +systemctl daemon-reload || true +if [ "\$1" = "remove" ] || [ "\$1" = "purge" ]; then + apt-mark unhold libnetfilter-conntrack3 libnfnetlink0 iptables 2>/dev/null || true +fi +EOF + chmod 755 "${pkgdir}/DEBIAN/postrm" + cat > "${pkgdir}/DEBIAN/conffiles" << 'CONFFILES' /etc/cdx_cfg.xml /etc/cdx_pcd.xml @@ -476,13 +483,15 @@ function rebuild_patched_deb() { local workdir="/tmp/ask-rebuild-${pkg}" display_alert "ASK extension" "rebuilding ${pkg}" "info" + # Note: ${debs} is intentionally unquoted — it contains globs that must expand in the chroot chroot_sdcard "set -e && \ - rm -rf ${workdir} && mkdir -p ${workdir} && cd ${workdir} && \ - apt-get source ${pkg} && \ + rm -rf '${workdir}' && mkdir -p '${workdir}' && cd '${workdir}' && \ + apt-get source '${pkg}' && \ cd \$(ls -d ${pkg}-*/ | head -1) && \ - patch -p1 < /tmp/ask-patches/${patch} && \ + patch -p1 < '/tmp/ask-patches/${patch}' && \ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc -us && \ - cd ${workdir} && dpkg -i ${debs} && \ + cd '${workdir}' && dpkg -i ${debs} && \ cp ${debs} /tmp/ask-patched-debs/ && \ - rm -rf ${workdir}" + rm -rf '${workdir}'" \ + || exit_with_error "${pkg} rebuild failed" } diff --git a/packages/bsp/gateway-dk/99-ls1046a-conntrack.conf b/packages/bsp/gateway-dk/99-ls1046a-conntrack.conf new file mode 100644 index 000000000000..a4b2123911da --- /dev/null +++ b/packages/bsp/gateway-dk/99-ls1046a-conntrack.conf @@ -0,0 +1,6 @@ +net.netfilter.nf_conntrack_acct=1 +net.netfilter.nf_conntrack_checksum=0 +net.netfilter.nf_conntrack_max=131072 +net.netfilter.nf_conntrack_tcp_timeout_established=7440 +net.netfilter.nf_conntrack_udp_timeout=60 +net.netfilter.nf_conntrack_udp_timeout_stream=180 diff --git a/packages/bsp/gateway-dk/generate-fancontrol-conf.service b/packages/bsp/gateway-dk/generate-fancontrol-conf.service index 4ab8bd4d076d..3180800b5a9a 100644 --- a/packages/bsp/gateway-dk/generate-fancontrol-conf.service +++ b/packages/bsp/gateway-dk/generate-fancontrol-conf.service @@ -1,5 +1,6 @@ [Unit] Description=Generate fancontrol configuration for Mono Gateway DK +DefaultDependencies=no Before=fancontrol.service After=systemd-udev-settle.service diff --git a/packages/bsp/gateway-dk/sfp-led.c b/packages/bsp/gateway-dk/sfp-led.c index 9dfa4ca28380..8dde4456f284 100644 --- a/packages/bsp/gateway-dk/sfp-led.c +++ b/packages/bsp/gateway-dk/sfp-led.c @@ -109,6 +109,7 @@ struct sfp_led_port { struct delayed_work poll_work; int netdev_retries; + int debug_count; /* Rate limit debug output */ /* Cached state for change detection */ bool last_module_present; @@ -135,14 +136,18 @@ struct sfp_led_priv { static struct net_device *sfp_led_find_netdev(struct device_node *sfp_np) { struct net_device *dev, *found = NULL; - bool need_rtnl; if (!sfp_np) return NULL; - need_rtnl = !rtnl_is_locked(); - if (need_rtnl) - rtnl_lock(); + /* + * Use rtnl_trylock to avoid deadlock: this is called from a + * workqueue, and networking teardown can flush the system workqueue + * while holding rtnl_lock. If we can't get the lock, the caller + * will retry on the next poll cycle. + */ + if (!rtnl_trylock()) + return NULL; for_each_netdev(&init_net, dev) { struct device *parent = dev->dev.parent; @@ -169,8 +174,7 @@ static struct net_device *sfp_led_find_netdev(struct device_node *sfp_np) of_node_put(sfp_ref); } - if (need_rtnl) - rtnl_unlock(); + rtnl_unlock(); return found; } @@ -264,9 +268,6 @@ static bool sfp_led_i2c_los(struct sfp_led_port *port) { union i2c_smbus_data data; int ret; - static int debug_count[2] = {0, 0}; /* Rate limit debug output */ - int port_idx = (port == &port->priv->ports[0]) ? 0 : 1; - if (!port->i2c_adapter) return true; /* Assume no signal if can't check */ @@ -276,14 +277,14 @@ static bool sfp_led_i2c_los(struct sfp_led_port *port) /* Debug: log every 50th read or on error */ if (ret < 0) { - if (debug_count[port_idx]++ % 50 == 0) + if (port->debug_count++ % 50 == 0) dev_dbg(port->priv->dev, "%s: A2h read failed: %d (no DDM?)\n", port->link_led_name, ret); return true; /* Error reading - assume no signal */ } /* Debug: log status byte periodically */ - if (debug_count[port_idx]++ % 50 == 0) + if (port->debug_count++ % 50 == 0) dev_dbg(port->priv->dev, "%s: A2h[110]=0x%02x LOS=%d\n", port->link_led_name, data.byte, (data.byte & SFP_STATUS_LOS) ? 1 : 0); diff --git a/packages/bsp/gateway-dk/sfp-led.mk b/packages/bsp/gateway-dk/sfp-led.mk index 85ec35bbe557..80efeda33a2c 100644 --- a/packages/bsp/gateway-dk/sfp-led.mk +++ b/packages/bsp/gateway-dk/sfp-led.mk @@ -1,6 +1,6 @@ obj-m := sfp-led.o -SRC := $(shell pwd) +SRC := $(PWD) all: $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules diff --git a/packages/bsp/ls1046a/generate-fancontrol-conf b/packages/bsp/ls1046a/generate-fancontrol-conf deleted file mode 100644 index 7f647ae89939..000000000000 --- a/packages/bsp/ls1046a/generate-fancontrol-conf +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# Generate /etc/fancontrol with correct hwmon numbers for Mono Gateway DK -# EMC2305 fan controller driven by cluster_thermal CPU temperature -# Retries for up to 30s in case hwmon devices aren't ready at boot - -FAN_HWMON="" -TEMP_HWMON="" - -for attempt in $(seq 1 6); do - for h in /sys/class/hwmon/hwmon*; do - name=$(cat "$h/name" 2>/dev/null) - case "$name" in - emc2305) FAN_HWMON=$(basename "$h") ;; - cluster_thermal) TEMP_HWMON=$(basename "$h") ;; - esac - done - [ -n "$FAN_HWMON" ] && [ -n "$TEMP_HWMON" ] && break - sleep 5 -done - -if [ -z "$FAN_HWMON" ] || [ -z "$TEMP_HWMON" ]; then - echo "ERROR: Could not find emc2305 or cluster_thermal hwmon devices after 30s" >&2 - exit 1 -fi - -FAN_DEV=$(readlink -f "/sys/class/hwmon/$FAN_HWMON/device" | sed 's|/sys/||') -TEMP_DEV=$(readlink -f "/sys/class/hwmon/$TEMP_HWMON/device" | sed 's|/sys/||') - -cat > /etc/fancontrol << EOF -INTERVAL=10 -DEVPATH=${TEMP_HWMON}=${TEMP_DEV} ${FAN_HWMON}=${FAN_DEV} -DEVNAME=${TEMP_HWMON}=cluster_thermal ${FAN_HWMON}=emc2305 -FCTEMPS=${FAN_HWMON}/pwm1=${TEMP_HWMON}/temp1_input -FCFANS=${FAN_HWMON}/pwm1=${FAN_HWMON}/fan1_input -MINTEMP=${FAN_HWMON}/pwm1=40 -MAXTEMP=${FAN_HWMON}/pwm1=80 -MINSTART=${FAN_HWMON}/pwm1=51 -MINSTOP=${FAN_HWMON}/pwm1=34 -EOF diff --git a/packages/bsp/ls1046a/generate-fancontrol-conf.service b/packages/bsp/ls1046a/generate-fancontrol-conf.service deleted file mode 100644 index 2f83a7e95212..000000000000 --- a/packages/bsp/ls1046a/generate-fancontrol-conf.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Generate fancontrol configuration for Mono Gateway DK -Before=fancontrol.service -DefaultDependencies=no -After=sys-subsystem-hwmon-devices-hwmon0.device - -[Service] -Type=oneshot -ExecStart=/usr/local/bin/generate-fancontrol-conf -RemainAfterExit=yes - -[Install] -WantedBy=fancontrol.service diff --git a/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch b/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch index 8406143931b8..b67b6930d314 100644 --- a/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch +++ b/patch/kernel/archive/ls1046a-6.12/001-hwmon-ina2xx-Add-INA234-support.patch @@ -11,7 +11,6 @@ becomes 1.6mV effective LSB due to the 12-bit format (data in bits Datasheet: https://www.ti.com/product/ina234 -Upstream-Status: Submitted [accepted, pending release] Signed-off-by: Tomaz Zaman --- drivers/hwmon/ina2xx.c | 27 ++++++++++++++++++++------- diff --git a/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch b/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch index c336c607d11a..0a9daed67903 100644 --- a/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch +++ b/patch/kernel/archive/ls1046a-6.12/002-arm64-dts-Add-Mono-Gateway-DK-device-tree.patch @@ -29,10 +29,10 @@ diff --git a/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts b/arch/arm64/boot new file mode 100644 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/mono-gateway-dk.dts -@@ -0,0 +1,1024 @@ +@@ -0,0 +1,1021 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* -+ * Device Tree file for Freescale Layerscape-1046A family SoC. ++ * Device Tree file for Mono Gateway DK (NXP LS1046A). + * + * Copyright 2026 Mono Technologies Inc. + * @@ -43,7 +43,6 @@ new file mode 100644 + +#include +#include -+#include +#include "fsl-ls1046a.dtsi" +#include "qoriq-qman-portals-sdk.dtsi" +#include "qoriq-bman-portals-sdk.dtsi" @@ -349,7 +348,7 @@ new file mode 100644 +&i2c0 { + status = "okay"; + -+ /* Thermal sensors, retimer, clock genenerator, PWM fan */ ++ /* Thermal sensors, retimer, clock generator, PWM fan */ + i2c-mux@70 { + compatible = "nxp,pca9545"; + reg = <0x70>; @@ -364,7 +363,6 @@ new file mode 100644 + retimer: retimer@18 { + compatible = "ti,ds100df410"; + reg = <0x18>; -+ status = "okay"; + }; + }; + @@ -531,7 +529,6 @@ new file mode 100644 + rtc@53 { + compatible = "nxp,pcf2131"; + reg = <0x53>; -+ status = "okay"; + }; + + typec: hd3ss3220@47 { From 114ccf53192cec487df745a582904248c8d85187 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 7 Apr 2026 18:26:05 +0200 Subject: [PATCH 09/14] gateway-dk-ask: pin ASK repo to tag mt-6.12.49-2.2.0 Lock ASK source to a release tag instead of tracking a branch for reproducible builds. --- extensions/gateway-dk-ask.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 3ef021045398..cd4fda2cde09 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -15,7 +15,7 @@ # Source repos and refs (pinned to match Yocto) # For local testing: set ASK_REPO="file:///path/to/ASK" — the Docker mount hook below handles it declare -g ASK_REPO="https://github.com/we-are-mono/ASK.git" -declare -g ASK_BRANCH="branch:mt-6.12.y" +declare -g ASK_BRANCH="tag:mt-6.12.49-2.2.0" declare -g FMLIB_REPO="https://github.com/nxp-qoriq/fmlib.git" declare -g FMLIB_COMMIT="7a58ecaf0d90d71d6b78d3ac7998282a472c4394" declare -g FMC_REPO="https://github.com/nxp-qoriq/fmc.git" From 0aca94e7a5c016eeb0254ed1ea093a203dd8366d Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 7 Apr 2026 21:46:58 +0200 Subject: [PATCH 10/14] gateway-dk: address PR review feedback - Place FMAN firmware in /lib/firmware/updates/ (correct override convention) - Enable cmm.service in postinst for OTA installs - Delete stale /etc/fancontrol before regenerating (hwmon numbers may change) - Remove SRC indirection in sfp-led.mk (use M=$(PWD) directly, matches lp5812.mk) - Document why patched libs are separate debs (system package overrides) - Document userpatches/ as standard Armbian extension patch staging --- config/sources/families/ls1046a.conf | 4 ++-- extensions/gateway-dk-ask.sh | 14 ++++++++++++-- packages/bsp/gateway-dk/generate-fancontrol-conf | 3 +++ packages/bsp/gateway-dk/sfp-led.mk | 8 +++----- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/config/sources/families/ls1046a.conf b/config/sources/families/ls1046a.conf index 332698510d64..b6731b2b7649 100644 --- a/config/sources/families/ls1046a.conf +++ b/config/sources/families/ls1046a.conf @@ -155,6 +155,6 @@ function family_tweaks() { # Install FMAN microcode to rootfs display_alert "Installing FMAN microcode" "${FMAN_UCODE_FILE}" "info" ensure_fman_ucode_cached - mkdir -p "${SDCARD}/lib/firmware/" - cp "${FMAN_UCODE_DIR}/${FMAN_UCODE_FILE}" "${SDCARD}/lib/firmware/${FMAN_UCODE_FILE}" + mkdir -p "${SDCARD}/lib/firmware/updates/" + cp "${FMAN_UCODE_DIR}/${FMAN_UCODE_FILE}" "${SDCARD}/lib/firmware/updates/${FMAN_UCODE_FILE}" } diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index cd4fda2cde09..6369ed662ca2 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -67,7 +67,10 @@ function extension_finish_config__ask_enable_headers() { # Host build dependencies — kernel module cross-compilation only needs the kernel source tree # (libxml2-dev, libtclap-dev, libpcap-dev, pkg-config are installed in-chroot for userspace builds) -# Copy ASK kernel patch to userpatches (gitignored) so it's applied during kernel build +# Copy ASK kernel patch to userpatches (gitignored) so it's applied during kernel build. +# userpatches/ is the Armbian-standard location for extension-provided patches — the build +# framework merges them with patches from patch/kernel/ at build time. The directory is +# gitignored and ephemeral; it does not persist across clean builds. function post_family_config__ask_kernel_patch() { local patch_src="${ASK_CACHE_DIR}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" [[ -f "${patch_src}" ]] || exit_with_error "ASK kernel patch not found" "${patch_src}" @@ -319,7 +322,10 @@ function pre_customize_image__001_build_ask_userspace() { # Pin patched packages — ASK patches add kernel offloading hooks (comcerto-fp, # QOSMARK/QOSCONNMARK) that don't exist upstream. An apt upgrade would replace # them with vanilla Debian builds and break CMM/CDX data-plane acceleration. - # Security updates for these packages must be tracked and re-patched manually. + # These are shipped as separate .debs (not bundled into gateway-dk-ask) because + # they replace system packages and must be managed by dpkg as proper overrides. + # The postinst re-applies holds on every upgrade. Security updates must be + # tracked and re-patched manually. display_alert "ASK extension" "pinning patched packages" "info" chroot_sdcard "apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables" @@ -403,6 +409,10 @@ EOF depmod -a ${kernel_ver} systemctl daemon-reload || true ldconfig || true +# Enable CMM service on OTA install (guarded by ConditionPathExists=/dev/cdx_ctrl at runtime) +if command -v systemctl >/dev/null 2>&1; then + systemctl enable cmm.service 2>/dev/null || true +fi # Re-pin patched ASK libraries — vanilla Debian versions break CMM/CDX offloading apt-mark hold libnetfilter-conntrack3 libnfnetlink0 iptables 2>/dev/null || true EOF diff --git a/packages/bsp/gateway-dk/generate-fancontrol-conf b/packages/bsp/gateway-dk/generate-fancontrol-conf index fd1d25fcf91f..1698fee25ab6 100755 --- a/packages/bsp/gateway-dk/generate-fancontrol-conf +++ b/packages/bsp/gateway-dk/generate-fancontrol-conf @@ -4,6 +4,9 @@ set -e # EMC2305 fan controller driven by cluster_thermal CPU temperature # Retries for up to 30s in case hwmon devices aren't ready at boot +# Remove stale config from previous boot (hwmon numbers may have changed) +rm -f /etc/fancontrol + FAN_HWMON="" TEMP_HWMON="" diff --git a/packages/bsp/gateway-dk/sfp-led.mk b/packages/bsp/gateway-dk/sfp-led.mk index 80efeda33a2c..415a22c91507 100644 --- a/packages/bsp/gateway-dk/sfp-led.mk +++ b/packages/bsp/gateway-dk/sfp-led.mk @@ -1,12 +1,10 @@ obj-m := sfp-led.o -SRC := $(PWD) - all: - $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules modules_install: - $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules_install clean: - $(MAKE) -C $(KERNEL_SRC) M=$(SRC) clean + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean From af52a13c4ffaf9ebf26ab8e1637fafce88a2ace2 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Tue, 7 Apr 2026 22:03:53 +0200 Subject: [PATCH 11/14] gateway-dk-ask: defer ASK_HOST_TRIPLET derivation to post-config hook KERNEL_COMPILER is not set when extension files are sourced. Move ASK_HOST_TRIPLET derivation into extension_finish_config where arch config has already run. --- extensions/gateway-dk-ask.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 6369ed662ca2..873136364676 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -23,9 +23,6 @@ declare -g FMC_COMMIT="5b9f4b16a864e9dfa58cdcc860be278a7f66ac18" declare -g LIBCLI_REPO="https://github.com/dparrish/libcli.git" declare -g LIBCLI_COMMIT="6a3b2f96c4f0916e2603a96bf24d704f6a904e7a" -# Target architecture triplet (Debian multiarch) — derived from KERNEL_COMPILER (e.g. "aarch64-linux-gnu-") -declare -g ASK_HOST_TRIPLET="${KERNEL_COMPILER%-}" - # ASK component directories declare -g ASK_CDX_DIR="cdx" declare -g ASK_FCI_DIR="fci" @@ -61,6 +58,8 @@ function post_family_config__ask_fetch_repo() { # Ensure kernel headers are available for module builds function extension_finish_config__ask_enable_headers() { declare -g INSTALL_HEADERS="yes" + # Derive multiarch triplet here (not at source time) — KERNEL_COMPILER is set by arch config + declare -g ASK_HOST_TRIPLET="${KERNEL_COMPILER%-}" display_alert "ASK extension" "enabling kernel headers for module builds" "info" } From 5d6aa8aefbf002081c10ed9333e00ad0c4a19637 Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Wed, 8 Apr 2026 00:06:43 +0200 Subject: [PATCH 12/14] gateway-dk-ask: use separate LINUXFAMILY to avoid kernel .deb collision When ASK is enabled, the extension applies an extra kernel patch, producing a different kernel binary. Override LINUXFAMILY to ls1046a-ask so the kernel .deb gets a distinct name (linux-image-current-ls1046a-ask) that won't collide with non-ASK builds in the apt repo. - Add post_family_config hook to override LINUXFAMILY and LINUXCONFIG - Symlink kernel config (same config, different name) - Use dynamic ${BRANCH}-${LINUXFAMILY} in ASK .deb Depends - Fix cleanup handler to not fail under set -e --- config/kernel/linux-ls1046a-ask-current.config | 1 + extensions/gateway-dk-ask.sh | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 120000 config/kernel/linux-ls1046a-ask-current.config diff --git a/config/kernel/linux-ls1046a-ask-current.config b/config/kernel/linux-ls1046a-ask-current.config new file mode 120000 index 000000000000..0203f35abbf3 --- /dev/null +++ b/config/kernel/linux-ls1046a-ask-current.config @@ -0,0 +1 @@ +linux-ls1046a-current.config \ No newline at end of file diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 873136364676..953aa054eb2c 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -39,6 +39,15 @@ function host_pre_docker_launch__mount_local_ask() { fi } +# Override LINUXFAMILY so ASK-enabled kernels get distinct .deb names. +# Without this, ASK and non-ASK kernels both produce linux-image-current-ls1046a, +# colliding in the apt repo despite having different content (the ASK kernel patch). +function post_family_config__000_ask_override_family() { + declare -g LINUXFAMILY="${LINUXFAMILY}-ask" + declare -g LINUXCONFIG="linux-${LINUXFAMILY}-${BRANCH}" + display_alert "ASK extension" "LINUXFAMILY=${LINUXFAMILY}, LINUXCONFIG=${LINUXCONFIG}" "info" +} + # Fetch ASK repo (sets ASK_CACHE_DIR for all later build phases) # Uses post_family_config because the kernel patch staging hook needs it before fetch_sources_tools runs function post_family_config__ask_fetch_repo() { @@ -81,7 +90,7 @@ function post_family_config__ask_kernel_patch() { } function cleanup_ask_module_builddir() { - [[ -n "${ASK_MODULE_BUILDDIR}" && -d "${ASK_MODULE_BUILDDIR}" ]] && rm -rf "${ASK_MODULE_BUILDDIR}" + [[ -n "${ASK_MODULE_BUILDDIR}" && -d "${ASK_MODULE_BUILDDIR}" ]] && rm -rf "${ASK_MODULE_BUILDDIR}" || true } # Build kernel modules after kernel debs are installed in chroot @@ -396,7 +405,7 @@ Architecture: arm64 Section: net Priority: optional Maintainer: Mono Technologies -Depends: linux-image-current-ls1046a (>= ${kernel_ver}), libxml2, libpcap0.8 +Depends: linux-image-${BRANCH}-${LINUXFAMILY} (>= ${kernel_ver}), libxml2, libpcap0.8 Description: NXP ASK hardware offloading for Mono Gateway DK Kernel modules (CDX, FCI, auto-bridge, sfp-led, leds-lp5812) and userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm) for From 70d60c2d522f6e71036b06e5fc6a90354ff0070a Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Wed, 8 Apr 2026 00:35:08 +0200 Subject: [PATCH 13/14] gateway-dk-ask: guard ASK_HOST_TRIPLET against unset KERNEL_COMPILER Fail early with a clear error if KERNEL_COMPILER is not set when deriving the multiarch triplet. --- extensions/gateway-dk-ask.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index 953aa054eb2c..ec89755f1aa7 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -68,6 +68,7 @@ function post_family_config__ask_fetch_repo() { function extension_finish_config__ask_enable_headers() { declare -g INSTALL_HEADERS="yes" # Derive multiarch triplet here (not at source time) — KERNEL_COMPILER is set by arch config + [[ -z "${KERNEL_COMPILER}" ]] && exit_with_error "ASK extension: KERNEL_COMPILER is not set, cannot derive host triplet" declare -g ASK_HOST_TRIPLET="${KERNEL_COMPILER%-}" display_alert "ASK extension" "enabling kernel headers for module builds" "info" } From db94f873290ef8d9790a2d02089020018329c0cf Mon Sep 17 00:00:00 2001 From: Tomaz Zaman Date: Wed, 8 Apr 2026 01:01:53 +0200 Subject: [PATCH 14/14] gateway-dk-ask: use KERNELPATCHDIR for patch staging, improve comments - Use ${KERNELPATCHDIR} instead of hardcoded path for userpatches staging - Expand comment on >= kernel dependency to explain rationale clearly --- extensions/gateway-dk-ask.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/extensions/gateway-dk-ask.sh b/extensions/gateway-dk-ask.sh index ec89755f1aa7..a71f78e077ec 100644 --- a/extensions/gateway-dk-ask.sh +++ b/extensions/gateway-dk-ask.sh @@ -83,7 +83,7 @@ function extension_finish_config__ask_enable_headers() { function post_family_config__ask_kernel_patch() { local patch_src="${ASK_CACHE_DIR}/patches/kernel/002-mono-gateway-ask-kernel_linux_6_12.patch" [[ -f "${patch_src}" ]] || exit_with_error "ASK kernel patch not found" "${patch_src}" - local patch_dst="${SRC}/userpatches/kernel/archive/ls1046a-${KERNEL_MAJOR_MINOR}" + local patch_dst="${SRC}/userpatches/kernel/${KERNELPATCHDIR}" mkdir -p "${patch_dst}" # Renamed to 003- to apply after 001-ina234 and 002-device-tree in the Armbian patch dir cp "${patch_src}" "${patch_dst}/003-mono-gateway-ask-kernel_linux_6_12.patch" @@ -398,7 +398,11 @@ function pre_customize_image__001_build_ask_userspace() { # Version: kernel version + build date — allows bugfix rebuilds without kernel change local ask_version="${kernel_ver}+$(date +%Y%m%d)" - # Depends uses >= (not =) so ASK can be updated independently without rebuilding the kernel + # Depends uses >= (not =): this is intentional. The kernel may receive minor version bumps + # without ASK changes. Using = would require rebuilding ASK for every kernel point release + # even when the modules are unchanged. The modules are ABI-compatible within the same + # LINUXFAMILY and BRANCH. DKMS is not used — this is a controlled appliance where both + # packages are built and validated together. cat > "${pkgdir}/DEBIAN/control" << EOF Package: ${pkgname} Version: ${ask_version}