This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320AIC3262: Platform driver vs I2C driver

Part Number: TLV320AIC3262
Other Parts Discussed in Thread: AM5728, TLV320ADC5140, BEAGLEBONE, TLV320AIC3212, TEST

Hi,

I have a custom board based on TI AM5728 EVM. I have connected TLV320AIC3262 Audio Codec on I2C on the custom board.

I have downloaded the TLV320AIC3262 driver provided by TI as on this post (https://e2e.ti.com/support/audio-group/audio/f/audio-forum/773056/faq-linux-drivers-device-drivers-for-aic31xx-dac31xx-aic325x-aic320x-aic326x-aic321x

I have cross-compiled this TLV320AIC3262 driver for my custom board (https://git.ti.com/cgit/ti-analog-linux-kernel/dmurphy-analog/tree/sound/soc/codecs/tlv320aic326x.c?h=tlv320aic3268_44_kernel&id=07adbd28685347b6dad5c6dd651f8b2bfa0ddaf8

However, I am unable to insert this driver as it is a platform driver. Can you provide an I2C driver for TLV320AIC3262 Audio Codec device?

Kindly acknowledge and revert.

Regards,

Devashish

  • Hi 

    There's I2C code in tlv320aic326x.c.

    Maybe you need to modify DTS file.The example is:

    &i2c0 {
    tda19988: tda19988@70 {
    compatible = "nxp,tda998x";
    reg = <0x70>;

    pinctrl-names = "default", "off";
    pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
    pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;

    /* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
    /* video-ports = <0x234501>; */

    #sound-dai-cells = <0>;
    audio-ports = < TDA998x_I2S 0x03>;

    ports {
    port@0 {
    hdmi_0: endpoint@0 {
    remote-endpoint = <&lcdc_0>;
    };
    };
    };
    };
    };

    &i2c2 {
    #address-cells=<1>;
    #size-cells=<0>;
    tlv320adc5140: tlv320adc5140@4c {
    compatible = "ti,tlv320adc5140";
    #sound-dai-cells = <0>;
    reg = <0x4c>;
    ti,mic-bias-source = <1>;
    ti,pdm-edge-select = <0 0 0 0>;
    ti,gpi-config = <0 0 0 0>;
    ti,gpo-config-1 = <0 0>;
    ti,gpo-config-2 = <0 0>;
    ti,gpo-config-3 = <0 0>;
    ti,gpo-config-4 = <0 0>;
    ti,ch-order = <0 1 2 3>;
    ti,asi-tx-drive = <0>;
    reset-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
    };
    };

    &rtc {
    system-power-controller;
    };

    &mcasp0 {
    #sound-dai-cells = <0>;
    pinctrl-names = "default";
    pinctrl-0 = <&mcasp0_pins>;
    status = "okay";
    op-mode = <0>; /* MCASP_IIS_MODE */
    tdm-slots = <2>;
    serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
    1 2 0 0
    >;
    tx-num-evt = <32>;
    rx-num-evt = <32>;
    };

    / {
    clk_mcasp0_fixed: clk_mcasp0_fixed {
    #clock-cells = <0>;
    compatible = "fixed-clock";
    clock-frequency = <24576000>;
    };

    clk_mcasp0: clk_mcasp0 {
    #clock-cells = <0>;
    compatible = "gpio-gate-clock";
    clocks = <&clk_mcasp0_fixed>;
    enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
    };

    sound {
    compatible = "simple-audio-card";
    simple-audio-card,name = "TI BeagleBone Black";
    simple-audio-card,dai-link@0 {
    format = "i2s";
    bitclock-master = <&dailink0_master>;
    frame-master = <&dailink0_master>;

    dailink0_master: cpu {
    sound-dai = <&mcasp0>;
    clocks = <&clk_mcasp0>;
    };

    codec {
    sound-dai = <&tda19988>;
    };
    };
    simple-audio-card,dai-link@1 {
    format = "i2s";
    bitclock-master = <&sound0_1_master>;
    frame-master = <&sound0_1_master>;

    sound0_1_master: cpu {
    sound-dai = <&mcasp0>;
    clocks = <&clk_mcasp0>;
    };

    codec {
    sound-dai = <&tlv320adc5140>;
    };
    };
    };
    };

  • Hi,

    I am using the following DTS configuration.

    / {
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    
                    cpu_dai: simple-audio-card,cpu {
                            sound-dai = <&mcasp3>;
                            clocks = <&clkout2_clk>;
                    };
    
                    sound0_master: simple-audio-card,codec {
                            sound-dai = <&tlv320aic3212>;
                            clocks = <&clkout2_clk>;
                    };
            };
    
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    	
    	tlv320aic3212: tlv320aic3212@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    
    };
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };

    The clocks are defined in another file. The audio device is connected on I2C bus 3 at address 0x18.

    With the above DTS entries, the probe function is not invoked. 

    Regards,

    Devashish

  • Hi Devashish,could you let us know what's your platform and kernel version?

  • And can you provide .config file too?Its location is kernel folder.

  • Hi Raphael,

    I am using TI AM5728 based custom board.

    The Linux version is 4.19.94 - armv7l GNU/Linux

    I have attached ".config" file. 

    #
    # Automatically generated file; DO NOT EDIT.
    # Linux/arm 4.19.94 Kernel Configuration
    #
    
    #
    # Compiler: arm-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0
    #
    CONFIG_CC_IS_GCC=y
    CONFIG_GCC_VERSION=80300
    CONFIG_CLANG_VERSION=0
    CONFIG_CC_HAS_ASM_GOTO=y
    CONFIG_IRQ_WORK=y
    CONFIG_BUILDTIME_EXTABLE_SORT=y
    
    #
    # General setup
    #
    CONFIG_INIT_ENV_ARG_LIMIT=32
    # CONFIG_COMPILE_TEST is not set
    CONFIG_LOCALVERSION=""
    CONFIG_LOCALVERSION_AUTO=y
    CONFIG_BUILD_SALT=""
    CONFIG_HAVE_KERNEL_GZIP=y
    CONFIG_HAVE_KERNEL_LZMA=y
    CONFIG_HAVE_KERNEL_XZ=y
    CONFIG_HAVE_KERNEL_LZO=y
    CONFIG_HAVE_KERNEL_LZ4=y
    # CONFIG_KERNEL_GZIP is not set
    CONFIG_KERNEL_LZMA=y
    # CONFIG_KERNEL_XZ is not set
    # CONFIG_KERNEL_LZO is not set
    # CONFIG_KERNEL_LZ4 is not set
    CONFIG_DEFAULT_HOSTNAME="(none)"
    CONFIG_SWAP=y
    CONFIG_SYSVIPC=y
    CONFIG_SYSVIPC_SYSCTL=y
    CONFIG_POSIX_MQUEUE=y
    CONFIG_POSIX_MQUEUE_SYSCTL=y
    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_GENERIC_IRQ_CHIP=y
    CONFIG_IRQ_DOMAIN=y
    CONFIG_IRQ_DOMAIN_HIERARCHY=y
    CONFIG_GENERIC_MSI_IRQ=y
    CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
    CONFIG_HANDLE_DOMAIN_IRQ=y
    CONFIG_IRQ_FORCED_THREADING=y
    CONFIG_SPARSE_IRQ=y
    # CONFIG_GENERIC_IRQ_DEBUGFS is not set
    CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
    CONFIG_ARCH_CLOCKSOURCE_DATA=y
    CONFIG_GENERIC_TIME_VSYSCALL=y
    CONFIG_GENERIC_CLOCKEVENTS=y
    CONFIG_ARCH_HAS_TICK_BROADCAST=y
    CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
    
    #
    # Timers subsystem
    #
    CONFIG_TICK_ONESHOT=y
    CONFIG_NO_HZ_COMMON=y
    # CONFIG_HZ_PERIODIC is not set
    CONFIG_NO_HZ_IDLE=y
    # CONFIG_NO_HZ_FULL is not set
    CONFIG_NO_HZ=y
    CONFIG_HIGH_RES_TIMERS=y
    # CONFIG_PREEMPT_NONE is not set
    # CONFIG_PREEMPT_VOLUNTARY is not set
    CONFIG_PREEMPT=y
    CONFIG_PREEMPT_COUNT=y
    
    #
    # CPU/Task time and stats accounting
    #
    CONFIG_TICK_CPU_ACCOUNTING=y
    # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
    # CONFIG_IRQ_TIME_ACCOUNTING is not set
    CONFIG_BSD_PROCESS_ACCT=y
    # CONFIG_BSD_PROCESS_ACCT_V3 is not set
    # CONFIG_TASKSTATS is not set
    CONFIG_CPU_ISOLATION=y
    
    #
    # RCU Subsystem
    #
    CONFIG_PREEMPT_RCU=y
    # CONFIG_RCU_EXPERT is not set
    CONFIG_SRCU=y
    CONFIG_TREE_SRCU=y
    CONFIG_TASKS_RCU=y
    CONFIG_RCU_STALL_COMMON=y
    CONFIG_RCU_NEED_SEGCBLIST=y
    CONFIG_BUILD_BIN2C=y
    CONFIG_IKCONFIG=y
    CONFIG_IKCONFIG_PROC=y
    CONFIG_LOG_BUF_SHIFT=17
    CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
    CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
    CONFIG_GENERIC_SCHED_CLOCK=y
    CONFIG_CGROUPS=y
    CONFIG_PAGE_COUNTER=y
    CONFIG_MEMCG=y
    CONFIG_MEMCG_SWAP=y
    CONFIG_MEMCG_SWAP_ENABLED=y
    CONFIG_MEMCG_KMEM=y
    CONFIG_BLK_CGROUP=y
    # CONFIG_DEBUG_BLK_CGROUP is not set
    CONFIG_CGROUP_WRITEBACK=y
    CONFIG_CGROUP_SCHED=y
    CONFIG_FAIR_GROUP_SCHED=y
    CONFIG_CFS_BANDWIDTH=y
    # CONFIG_RT_GROUP_SCHED is not set
    CONFIG_CGROUP_PIDS=y
    # CONFIG_CGROUP_RDMA is not set
    CONFIG_CGROUP_FREEZER=y
    CONFIG_CPUSETS=y
    CONFIG_PROC_PID_CPUSET=y
    CONFIG_CGROUP_DEVICE=y
    CONFIG_CGROUP_CPUACCT=y
    CONFIG_CGROUP_PERF=y
    # CONFIG_CGROUP_DEBUG is not set
    CONFIG_NAMESPACES=y
    CONFIG_UTS_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 is not set
    # CONFIG_SYSFS_DEPRECATED is not set
    # 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_CC_OPTIMIZE_FOR_PERFORMANCE=y
    # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
    CONFIG_SYSCTL=y
    CONFIG_ANON_INODES=y
    CONFIG_HAVE_UID16=y
    CONFIG_BPF=y
    CONFIG_EXPERT=y
    CONFIG_UID16=y
    CONFIG_MULTIUSER=y
    # CONFIG_SGETMASK_SYSCALL is not set
    CONFIG_SYSFS_SYSCALL=y
    # CONFIG_SYSCTL_SYSCALL is not set
    CONFIG_FHANDLE=y
    CONFIG_POSIX_TIMERS=y
    CONFIG_PRINTK=y
    CONFIG_PRINTK_NMI=y
    CONFIG_BUG=y
    CONFIG_ELF_CORE=y
    CONFIG_BASE_FULL=y
    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_ADVISE_SYSCALLS=y
    CONFIG_MEMBARRIER=y
    CONFIG_KALLSYMS=y
    CONFIG_KALLSYMS_ALL=y
    CONFIG_KALLSYMS_BASE_RELATIVE=y
    # CONFIG_BPF_SYSCALL is not set
    # CONFIG_USERFAULTFD is not set
    CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
    CONFIG_RSEQ=y
    # CONFIG_DEBUG_RSEQ is not set
    CONFIG_EMBEDDED=y
    CONFIG_HAVE_PERF_EVENTS=y
    CONFIG_PERF_USE_VMALLOC=y
    # CONFIG_PC104 is not set
    
    #
    # Kernel Performance Events And Counters
    #
    CONFIG_PERF_EVENTS=y
    # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
    CONFIG_VM_EVENT_COUNTERS=y
    # CONFIG_SLUB_DEBUG is not set
    # CONFIG_SLUB_MEMCG_SYSFS_ON is not set
    CONFIG_COMPAT_BRK=y
    # CONFIG_SLAB is not set
    CONFIG_SLUB=y
    # CONFIG_SLOB is not set
    CONFIG_SLAB_MERGE_DEFAULT=y
    # CONFIG_SLAB_FREELIST_RANDOM is not set
    # CONFIG_SLAB_FREELIST_HARDENED is not set
    CONFIG_SLUB_CPU_PARTIAL=y
    CONFIG_SYSTEM_DATA_VERIFICATION=y
    # CONFIG_PROFILING is not set
    CONFIG_ARM=y
    CONFIG_ARM_HAS_SG_CHAIN=y
    CONFIG_MIGHT_HAVE_PCI=y
    CONFIG_SYS_SUPPORTS_APM_EMULATION=y
    CONFIG_HAVE_PROC_CPU=y
    CONFIG_STACKTRACE_SUPPORT=y
    CONFIG_LOCKDEP_SUPPORT=y
    CONFIG_TRACE_IRQFLAGS_SUPPORT=y
    CONFIG_RWSEM_XCHGADD_ALGORITHM=y
    CONFIG_ARCH_HAS_BANDGAP=y
    CONFIG_FIX_EARLYCON_MEM=y
    CONFIG_GENERIC_HWEIGHT=y
    CONFIG_GENERIC_CALIBRATE_DELAY=y
    CONFIG_ZONE_DMA=y
    CONFIG_ARCH_SUPPORTS_UPROBES=y
    CONFIG_ARM_PATCH_PHYS_VIRT=y
    CONFIG_GENERIC_BUG=y
    CONFIG_PGTABLE_LEVELS=3
    
    #
    # System Type
    #
    CONFIG_MMU=y
    CONFIG_ARCH_MMAP_RND_BITS_MIN=8
    CONFIG_ARCH_MMAP_RND_BITS_MAX=16
    CONFIG_ARCH_MULTIPLATFORM=y
    # CONFIG_ARCH_EBSA110 is not set
    # CONFIG_ARCH_EP93XX is not set
    # CONFIG_ARCH_FOOTBRIDGE is not set
    # CONFIG_ARCH_NETX is not set
    # CONFIG_ARCH_IOP13XX is not set
    # CONFIG_ARCH_IOP32X is not set
    # CONFIG_ARCH_IOP33X is not set
    # CONFIG_ARCH_IXP4XX is not set
    # CONFIG_ARCH_DOVE is not set
    # CONFIG_ARCH_KS8695 is not set
    # CONFIG_ARCH_W90X900 is not set
    # CONFIG_ARCH_LPC32XX is not set
    # CONFIG_ARCH_PXA is not set
    # CONFIG_ARCH_RPC is not set
    # CONFIG_ARCH_SA1100 is not set
    # CONFIG_ARCH_S3C24XX is not set
    # CONFIG_ARCH_DAVINCI is not set
    # CONFIG_ARCH_OMAP1 is not set
    
    #
    # Multiple platform selection
    #
    
    #
    # CPU Core family selection
    #
    # CONFIG_ARCH_MULTI_V6 is not set
    CONFIG_ARCH_MULTI_V7=y
    CONFIG_ARCH_MULTI_V6_V7=y
    # CONFIG_ARCH_VIRT is not set
    # CONFIG_ARCH_ACTIONS is not set
    # CONFIG_ARCH_ALPINE is not set
    # CONFIG_ARCH_ARTPEC is not set
    # CONFIG_ARCH_AT91 is not set
    # CONFIG_ARCH_AXXIA is not set
    # CONFIG_ARCH_BCM is not set
    # CONFIG_ARCH_BERLIN is not set
    # CONFIG_ARCH_DIGICOLOR is not set
    # CONFIG_ARCH_EXYNOS is not set
    # CONFIG_ARCH_HIGHBANK is not set
    # CONFIG_ARCH_HISI is not set
    # CONFIG_ARCH_MXC is not set
    # CONFIG_ARCH_KEYSTONE is not set
    # CONFIG_ARCH_MEDIATEK is not set
    # CONFIG_ARCH_MESON is not set
    # CONFIG_ARCH_MMP is not set
    # CONFIG_ARCH_MVEBU is not set
    # CONFIG_ARCH_NPCM is not set
    CONFIG_ARCH_OMAP=y
    
    #
    # TI OMAP Common Features
    #
    
    #
    # OMAP Feature Selections
    #
    CONFIG_OMAP_RESET_CLOCKS=y
    CONFIG_OMAP_32K_TIMER=y
    CONFIG_MACH_OMAP_GENERIC=y
    
    #
    # TI OMAP/AM/DM/DRA Family
    #
    # CONFIG_ARCH_OMAP3 is not set
    # CONFIG_ARCH_OMAP4 is not set
    # CONFIG_SOC_OMAP5 is not set
    # CONFIG_SOC_AM33XX is not set
    # CONFIG_SOC_AM43XX is not set
    CONFIG_SOC_DRA7XX=y
    CONFIG_ARCH_OMAP2PLUS=y
    CONFIG_OMAP_INTERCONNECT_BARRIER=y
    
    #
    # TI OMAP2/3/4 Specific Features
    #
    CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
    # CONFIG_SOC_HAS_OMAP2_SDRC is not set
    CONFIG_SOC_HAS_REALTIME_COUNTER=y
    
    #
    # OMAP Legacy Platform Data Board Type
    #
    # CONFIG_OMAP5_ERRATA_801819 is not set
    # CONFIG_ARCH_SIRF is not set
    # CONFIG_ARCH_QCOM is not set
    # CONFIG_ARCH_REALVIEW is not set
    # CONFIG_ARCH_ROCKCHIP is not set
    # CONFIG_ARCH_S5PV210 is not set
    # CONFIG_ARCH_RENESAS is not set
    # CONFIG_ARCH_SOCFPGA is not set
    # CONFIG_PLAT_SPEAR is not set
    # CONFIG_ARCH_STI is not set
    # CONFIG_ARCH_STM32 is not set
    # CONFIG_ARCH_SUNXI is not set
    # CONFIG_ARCH_TANGO is not set
    # CONFIG_ARCH_TEGRA is not set
    # CONFIG_ARCH_UNIPHIER is not set
    # CONFIG_ARCH_U8500 is not set
    # CONFIG_ARCH_VEXPRESS is not set
    # CONFIG_ARCH_WM8850 is not set
    # CONFIG_ARCH_ZX is not set
    # CONFIG_ARCH_ZYNQ is not set
    
    #
    # Processor Type
    #
    CONFIG_CPU_V7=y
    CONFIG_CPU_THUMB_CAPABLE=y
    CONFIG_CPU_32v6K=y
    CONFIG_CPU_32v7=y
    CONFIG_CPU_ABRT_EV7=y
    CONFIG_CPU_PABRT_V7=y
    CONFIG_CPU_CACHE_V7=y
    CONFIG_CPU_CACHE_VIPT=y
    CONFIG_CPU_COPY_V6=y
    CONFIG_CPU_TLB_V7=y
    CONFIG_CPU_HAS_ASID=y
    CONFIG_CPU_CP15=y
    CONFIG_CPU_CP15_MMU=y
    
    #
    # Processor Features
    #
    CONFIG_ARM_LPAE=y
    CONFIG_ARM_THUMB=y
    # CONFIG_ARM_THUMBEE is not set
    CONFIG_ARM_VIRT_EXT=y
    CONFIG_SWP_EMULATE=y
    # CONFIG_CPU_ICACHE_DISABLE is not set
    # CONFIG_CPU_BPREDICT_DISABLE is not set
    CONFIG_CPU_SPECTRE=y
    CONFIG_HARDEN_BRANCH_PREDICTOR=y
    CONFIG_KUSER_HELPERS=y
    CONFIG_VDSO=y
    CONFIG_OUTER_CACHE=y
    CONFIG_OUTER_CACHE_SYNC=y
    CONFIG_MIGHT_HAVE_CACHE_L2X0=y
    CONFIG_CACHE_L2X0=y
    # CONFIG_CACHE_L2X0_PMU is not set
    # CONFIG_PL310_ERRATA_588369 is not set
    # CONFIG_PL310_ERRATA_727915 is not set
    # CONFIG_PL310_ERRATA_753970 is not set
    # CONFIG_PL310_ERRATA_769419 is not set
    CONFIG_ARM_L1_CACHE_SHIFT_6=y
    CONFIG_ARM_L1_CACHE_SHIFT=6
    CONFIG_ARM_DMA_MEM_BUFFERABLE=y
    CONFIG_ARM_HEAVY_MB=y
    CONFIG_DEBUG_ALIGN_RODATA=y
    # CONFIG_ARM_ERRATA_430973 is not set
    CONFIG_ARM_ERRATA_643719=y
    # CONFIG_ARM_ERRATA_720789 is not set
    # CONFIG_ARM_ERRATA_754322 is not set
    # CONFIG_ARM_ERRATA_754327 is not set
    # CONFIG_ARM_ERRATA_764369 is not set
    # CONFIG_ARM_ERRATA_775420 is not set
    CONFIG_ARM_ERRATA_798181=y
    # CONFIG_ARM_ERRATA_773022 is not set
    # CONFIG_ARM_ERRATA_818325_852422 is not set
    # CONFIG_ARM_ERRATA_821420 is not set
    # CONFIG_ARM_ERRATA_825619 is not set
    # CONFIG_ARM_ERRATA_852421 is not set
    # CONFIG_ARM_ERRATA_852423 is not set
    
    #
    # Bus support
    #
    CONFIG_PCI=y
    CONFIG_PCI_DOMAINS=y
    CONFIG_PCI_DOMAINS_GENERIC=y
    CONFIG_PCI_SYSCALL=y
    CONFIG_PCIEPORTBUS=y
    CONFIG_PCIEAER=y
    # CONFIG_PCIEAER_INJECT is not set
    # CONFIG_PCIE_ECRC is not set
    CONFIG_PCIEASPM=y
    # CONFIG_PCIEASPM_DEBUG is not set
    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_MSI_IRQ_DOMAIN=y
    CONFIG_PCI_QUIRKS=y
    # CONFIG_PCI_DEBUG is not set
    # CONFIG_PCI_STUB is not set
    # CONFIG_PCI_IOV is not set
    # CONFIG_PCI_PRI is not set
    # CONFIG_PCI_PASID is not set
    CONFIG_PCI_LABEL=y
    # CONFIG_HOTPLUG_PCI is not set
    
    #
    # PCI controller drivers
    #
    
    #
    # Cadence PCIe controllers support
    #
    CONFIG_PCIE_CADENCE=y
    CONFIG_PCIE_CADENCE_HOST=y
    CONFIG_PCIE_CADENCE_EP=y
    CONFIG_PCI_J721E=y
    # CONFIG_PCI_FTPCI100 is not set
    # CONFIG_PCI_HOST_GENERIC is not set
    # CONFIG_PCIE_XILINX is not set
    # CONFIG_PCI_V3_SEMI is not set
    # CONFIG_PCIE_ALTERA is not set
    
    #
    # DesignWare PCI Core Support
    #
    CONFIG_PCIE_DW=y
    CONFIG_PCIE_DW_HOST=y
    CONFIG_PCIE_DW_EP=y
    CONFIG_PCI_DRA7XX=y
    CONFIG_PCI_DRA7XX_HOST=y
    CONFIG_PCI_DRA7XX_EP=y
    # CONFIG_PCIE_DW_PLAT_HOST is not set
    # CONFIG_PCIE_DW_PLAT_EP is not set
    # CONFIG_PCI_LAYERSCAPE is not set
    
    #
    # PCI Endpoint
    #
    CONFIG_PCI_ENDPOINT=y
    CONFIG_PCI_ENDPOINT_CONFIGFS=y
    CONFIG_PCI_EPF_TEST=y
    CONFIG_PCI_EPF_NTB=y
    
    #
    # PCI switch controller drivers
    #
    # CONFIG_PCI_SW_SWITCHTEC is not set
    # CONFIG_PCCARD is not set
    
    #
    # Kernel Features
    #
    CONFIG_HAVE_SMP=y
    CONFIG_SMP=y
    CONFIG_SMP_ON_UP=y
    CONFIG_ARM_CPU_TOPOLOGY=y
    # CONFIG_SCHED_MC is not set
    # CONFIG_SCHED_SMT is not set
    CONFIG_HAVE_ARM_SCU=y
    CONFIG_HAVE_ARM_ARCH_TIMER=y
    # CONFIG_MCPM is not set
    # CONFIG_BIG_LITTLE is not set
    CONFIG_VMSPLIT_3G=y
    # CONFIG_VMSPLIT_2G is not set
    # CONFIG_VMSPLIT_1G is not set
    CONFIG_PAGE_OFFSET=0xC0000000
    CONFIG_NR_CPUS=2
    CONFIG_HOTPLUG_CPU=y
    # CONFIG_ARM_PSCI is not set
    CONFIG_ARCH_NR_GPIO=512
    CONFIG_HZ_FIXED=0
    CONFIG_HZ_100=y
    # CONFIG_HZ_200 is not set
    # CONFIG_HZ_250 is not set
    # CONFIG_HZ_300 is not set
    # CONFIG_HZ_500 is not set
    # CONFIG_HZ_1000 is not set
    CONFIG_HZ=100
    CONFIG_SCHED_HRTICK=y
    # CONFIG_THUMB2_KERNEL is not set
    CONFIG_ARM_PATCH_IDIV=y
    CONFIG_AEABI=y
    # CONFIG_OABI_COMPAT is not set
    CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
    CONFIG_HAVE_ARCH_PFN_VALID=y
    CONFIG_HAVE_GENERIC_GUP=y
    CONFIG_HIGHMEM=y
    CONFIG_HIGHPTE=y
    CONFIG_HW_PERF_EVENTS=y
    CONFIG_SYS_SUPPORTS_HUGETLBFS=y
    CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
    CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
    CONFIG_ARM_MODULE_PLTS=y
    CONFIG_FORCE_MAX_ZONEORDER=11
    CONFIG_ALIGNMENT_TRAP=y
    # CONFIG_UACCESS_WITH_MEMCPY is not set
    CONFIG_SECCOMP=y
    # CONFIG_PARAVIRT is not set
    # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
    # CONFIG_XEN is not set
    
    #
    # Boot options
    #
    CONFIG_USE_OF=y
    CONFIG_ATAGS=y
    # CONFIG_DEPRECATED_PARAM_STRUCT is not set
    CONFIG_ZBOOT_ROM_TEXT=0x0
    CONFIG_ZBOOT_ROM_BSS=0x0
    CONFIG_ARM_APPENDED_DTB=y
    CONFIG_ARM_ATAG_DTB_COMPAT=y
    CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
    # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
    CONFIG_CMDLINE=""
    CONFIG_KEXEC=y
    CONFIG_ATAGS_PROC=y
    # CONFIG_CRASH_DUMP is not set
    CONFIG_AUTO_ZRELADDR=y
    CONFIG_EFI_STUB=y
    CONFIG_EFI=y
    CONFIG_DMI=y
    
    #
    # CPU Power Management
    #
    
    #
    # 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=y
    # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
    CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
    CONFIG_CPU_FREQ_GOV_POWERSAVE=y
    CONFIG_CPU_FREQ_GOV_USERSPACE=y
    CONFIG_CPU_FREQ_GOV_ONDEMAND=y
    CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
    CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
    
    #
    # CPU frequency scaling drivers
    #
    CONFIG_CPUFREQ_DT=y
    CONFIG_CPUFREQ_DT_PLATDEV=y
    # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
    # CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
    CONFIG_ARM_TI_CPUFREQ=y
    # CONFIG_QORIQ_CPUFREQ is not set
    
    #
    # CPU Idle
    #
    CONFIG_CPU_IDLE=y
    CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
    CONFIG_CPU_IDLE_GOV_LADDER=y
    CONFIG_CPU_IDLE_GOV_MENU=y
    CONFIG_DT_IDLE_STATES=y
    
    #
    # ARM CPU Idle Drivers
    #
    CONFIG_ARM_CPUIDLE=y
    
    #
    # Floating point emulation
    #
    
    #
    # At least one emulation must be selected
    #
    CONFIG_VFP=y
    CONFIG_VFPv3=y
    CONFIG_NEON=y
    CONFIG_KERNEL_MODE_NEON=y
    
    #
    # Power management options
    #
    CONFIG_SUSPEND=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_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_DPM_WATCHDOG is not set
    # CONFIG_APM_EMULATION is not set
    CONFIG_PM_CLK=y
    # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
    CONFIG_CPU_PM=y
    CONFIG_ARCH_SUSPEND_POSSIBLE=y
    CONFIG_ARM_CPU_SUSPEND=y
    CONFIG_ARCH_HIBERNATION_POSSIBLE=y
    
    #
    # Firmware Drivers
    #
    # CONFIG_ARM_SCMI_PROTOCOL is not set
    # CONFIG_ARM_SCPI_PROTOCOL is not set
    # CONFIG_FIRMWARE_MEMMAP is not set
    # CONFIG_DMIID is not set
    # CONFIG_DMI_SYSFS is not set
    # CONFIG_FW_CFG_SYSFS is not set
    CONFIG_HAVE_ARM_SMCCC=y
    # CONFIG_GOOGLE_FIRMWARE is not set
    
    #
    # EFI (Extensible Firmware Interface) Support
    #
    CONFIG_EFI_VARS=m
    CONFIG_EFI_ESRT=y
    CONFIG_EFI_VARS_PSTORE=m
    # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
    CONFIG_EFI_PARAMS_FROM_FDT=y
    CONFIG_EFI_RUNTIME_WRAPPERS=y
    CONFIG_EFI_ARMSTUB=y
    CONFIG_EFI_ARMSTUB_DTB_LOADER=y
    # CONFIG_EFI_BOOTLOADER_CONTROL is not set
    CONFIG_EFI_CAPSULE_LOADER=m
    # CONFIG_EFI_TEST is not set
    # CONFIG_RESET_ATTACK_MITIGATION is not set
    
    #
    # Tegra firmware driver
    #
    CONFIG_ARM_CRYPTO=y
    CONFIG_CRYPTO_SHA1_ARM=m
    CONFIG_CRYPTO_SHA1_ARM_NEON=m
    CONFIG_CRYPTO_SHA1_ARM_CE=m
    CONFIG_CRYPTO_SHA2_ARM_CE=m
    CONFIG_CRYPTO_SHA256_ARM=m
    CONFIG_CRYPTO_SHA512_ARM=m
    CONFIG_CRYPTO_AES_ARM=m
    CONFIG_CRYPTO_AES_ARM_BS=m
    CONFIG_CRYPTO_AES_ARM_CE=m
    CONFIG_CRYPTO_GHASH_ARM_CE=m
    CONFIG_CRYPTO_CRC32_ARM_CE=m
    CONFIG_CRYPTO_CHACHA20_NEON=m
    # CONFIG_VIRTUALIZATION is not set
    
    #
    # General architecture-dependent options
    #
    CONFIG_CRASH_CORE=y
    CONFIG_KEXEC_CORE=y
    CONFIG_HAVE_OPROFILE=y
    # CONFIG_KPROBES is not set
    CONFIG_JUMP_LABEL=y
    # CONFIG_STATIC_KEYS_SELFTEST is not set
    CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
    CONFIG_ARCH_USE_BUILTIN_BSWAP=y
    CONFIG_HAVE_KPROBES=y
    CONFIG_HAVE_KRETPROBES=y
    CONFIG_HAVE_OPTPROBES=y
    CONFIG_HAVE_NMI=y
    CONFIG_HAVE_ARCH_TRACEHOOK=y
    CONFIG_HAVE_DMA_CONTIGUOUS=y
    CONFIG_GENERIC_SMP_IDLE_THREAD=y
    CONFIG_GENERIC_IDLE_POLL_SETUP=y
    CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
    CONFIG_ARCH_HAS_SET_MEMORY=y
    CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
    CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
    CONFIG_HAVE_RSEQ=y
    CONFIG_HAVE_CLK=y
    CONFIG_HAVE_HW_BREAKPOINT=y
    CONFIG_HAVE_PERF_REGS=y
    CONFIG_HAVE_PERF_USER_STACK_DUMP=y
    CONFIG_HAVE_ARCH_JUMP_LABEL=y
    CONFIG_HAVE_RCU_TABLE_FREE=y
    CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
    CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
    CONFIG_SECCOMP_FILTER=y
    CONFIG_HAVE_STACKPROTECTOR=y
    CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
    CONFIG_STACKPROTECTOR=y
    CONFIG_STACKPROTECTOR_STRONG=y
    CONFIG_HAVE_CONTEXT_TRACKING=y
    CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
    CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
    CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
    CONFIG_MODULES_USE_ELF_REL=y
    CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
    CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
    CONFIG_HAVE_EXIT_THREAD=y
    CONFIG_ARCH_MMAP_RND_BITS=8
    CONFIG_CLONE_BACKWARDS=y
    CONFIG_OLD_SIGSUSPEND3=y
    CONFIG_OLD_SIGACTION=y
    CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
    CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
    CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
    CONFIG_STRICT_KERNEL_RWX=y
    CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
    CONFIG_STRICT_MODULE_RWX=y
    CONFIG_ARCH_HAS_PHYS_TO_DMA=y
    CONFIG_REFCOUNT_FULL=y
    
    #
    # GCOV-based kernel profiling
    #
    # CONFIG_GCOV_KERNEL is not set
    CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
    CONFIG_PLUGIN_HOSTCC=""
    CONFIG_HAVE_GCC_PLUGINS=y
    CONFIG_RT_MUTEXES=y
    CONFIG_BASE_SMALL=0
    CONFIG_MODULES=y
    CONFIG_MODULE_FORCE_LOAD=y
    CONFIG_MODULE_UNLOAD=y
    CONFIG_MODULE_FORCE_UNLOAD=y
    CONFIG_MODVERSIONS=y
    CONFIG_MODULE_SRCVERSION_ALL=y
    # CONFIG_MODULE_SIG is not set
    # CONFIG_MODULE_COMPRESS is not set
    # CONFIG_TRIM_UNUSED_KSYMS is not set
    CONFIG_MODULES_TREE_LOOKUP=y
    CONFIG_BLOCK=y
    CONFIG_LBDAF=y
    CONFIG_BLK_SCSI_REQUEST=y
    CONFIG_BLK_DEV_BSG=y
    CONFIG_BLK_DEV_BSGLIB=y
    # CONFIG_BLK_DEV_INTEGRITY is not set
    # CONFIG_BLK_DEV_ZONED is not set
    # CONFIG_BLK_DEV_THROTTLING is not set
    CONFIG_BLK_CMDLINE_PARSER=y
    # CONFIG_BLK_WBT is not set
    # CONFIG_BLK_CGROUP_IOLATENCY is not set
    CONFIG_BLK_DEBUG_FS=y
    # CONFIG_BLK_SED_OPAL is not set
    
    #
    # Partition Types
    #
    CONFIG_PARTITION_ADVANCED=y
    # CONFIG_ACORN_PARTITION is not set
    # CONFIG_AIX_PARTITION is not set
    # CONFIG_OSF_PARTITION is not set
    # CONFIG_AMIGA_PARTITION is not set
    # CONFIG_ATARI_PARTITION is not set
    # CONFIG_MAC_PARTITION is not set
    CONFIG_MSDOS_PARTITION=y
    # CONFIG_BSD_DISKLABEL is not set
    # CONFIG_MINIX_SUBPARTITION is not set
    # CONFIG_SOLARIS_X86_PARTITION is not set
    # CONFIG_UNIXWARE_DISKLABEL is not set
    # CONFIG_LDM_PARTITION is not set
    # CONFIG_SGI_PARTITION is not set
    # CONFIG_ULTRIX_PARTITION is not set
    # CONFIG_SUN_PARTITION is not set
    # CONFIG_KARMA_PARTITION is not set
    CONFIG_EFI_PARTITION=y
    # CONFIG_SYSV68_PARTITION is not set
    CONFIG_CMDLINE_PARTITION=y
    CONFIG_BLK_MQ_PCI=y
    CONFIG_BLK_MQ_VIRTIO=y
    
    #
    # IO Schedulers
    #
    CONFIG_IOSCHED_NOOP=y
    CONFIG_IOSCHED_DEADLINE=y
    CONFIG_IOSCHED_CFQ=y
    # CONFIG_CFQ_GROUP_IOSCHED is not set
    # CONFIG_DEFAULT_DEADLINE is not set
    CONFIG_DEFAULT_CFQ=y
    # CONFIG_DEFAULT_NOOP is not set
    CONFIG_DEFAULT_IOSCHED="cfq"
    CONFIG_MQ_IOSCHED_DEADLINE=y
    CONFIG_MQ_IOSCHED_KYBER=y
    # CONFIG_IOSCHED_BFQ is not set
    CONFIG_ASN1=y
    CONFIG_UNINLINE_SPIN_UNLOCK=y
    CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
    CONFIG_MUTEX_SPIN_ON_OWNER=y
    CONFIG_RWSEM_SPIN_ON_OWNER=y
    CONFIG_LOCK_SPIN_ON_OWNER=y
    CONFIG_FREEZER=y
    
    #
    # Executable file formats
    #
    CONFIG_BINFMT_ELF=y
    # CONFIG_BINFMT_ELF_FDPIC is not set
    CONFIG_ELFCORE=y
    CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
    CONFIG_BINFMT_SCRIPT=y
    # CONFIG_BINFMT_FLAT is not set
    # CONFIG_BINFMT_MISC is not set
    CONFIG_COREDUMP=y
    
    #
    # Memory Management options
    #
    CONFIG_FLATMEM=y
    CONFIG_FLAT_NODE_MEM_MAP=y
    CONFIG_HAVE_MEMBLOCK=y
    CONFIG_NO_BOOTMEM=y
    CONFIG_MEMORY_ISOLATION=y
    CONFIG_SPLIT_PTLOCK_CPUS=4
    CONFIG_COMPACTION=y
    CONFIG_MIGRATION=y
    CONFIG_PHYS_ADDR_T_64BIT=y
    CONFIG_BOUNCE=y
    # CONFIG_KSM is not set
    CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
    # CONFIG_TRANSPARENT_HUGEPAGE is not set
    # CONFIG_CLEANCACHE is not set
    # CONFIG_FRONTSWAP is not set
    CONFIG_CMA=y
    # CONFIG_CMA_DEBUG is not set
    # CONFIG_CMA_DEBUGFS is not set
    CONFIG_CMA_AREAS=7
    # CONFIG_ZPOOL is not set
    # CONFIG_ZBUD is not set
    # CONFIG_ZSMALLOC is not set
    CONFIG_GENERIC_EARLY_IOREMAP=y
    # CONFIG_IDLE_PAGE_TRACKING is not set
    CONFIG_FRAME_VECTOR=y
    # CONFIG_PERCPU_STATS is not set
    # CONFIG_GUP_BENCHMARK is not set
    CONFIG_ARCH_HAS_PTE_SPECIAL=y
    CONFIG_NET=y
    CONFIG_NET_INGRESS=y
    CONFIG_NET_EGRESS=y
    
    #
    # Networking options
    #
    CONFIG_PACKET=y
    # CONFIG_PACKET_DIAG is not set
    CONFIG_UNIX=y
    # CONFIG_UNIX_DIAG is not set
    # CONFIG_TLS is not set
    CONFIG_XFRM=y
    CONFIG_XFRM_ALGO=m
    CONFIG_XFRM_USER=m
    # 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_IPCOMP=m
    CONFIG_NET_KEY=m
    # CONFIG_NET_KEY_MIGRATE is not set
    CONFIG_INET=y
    CONFIG_IP_MULTICAST=y
    # CONFIG_IP_ADVANCED_ROUTER is not set
    CONFIG_IP_ROUTE_CLASSID=y
    CONFIG_IP_PNP=y
    CONFIG_IP_PNP_DHCP=y
    CONFIG_IP_PNP_BOOTP=y
    CONFIG_IP_PNP_RARP=y
    # CONFIG_NET_IPIP is not set
    # CONFIG_NET_IPGRE_DEMUX is not set
    CONFIG_NET_IP_TUNNEL=y
    # CONFIG_IP_MROUTE is not set
    # CONFIG_SYN_COOKIES is not set
    # CONFIG_NET_IPVTI is not set
    # CONFIG_NET_FOU is not set
    # CONFIG_NET_FOU_IP_TUNNELS is not set
    CONFIG_INET_AH=m
    CONFIG_INET_ESP=m
    # CONFIG_INET_ESP_OFFLOAD is not set
    CONFIG_INET_IPCOMP=m
    CONFIG_INET_XFRM_TUNNEL=m
    CONFIG_INET_TUNNEL=y
    CONFIG_INET_XFRM_MODE_TRANSPORT=m
    CONFIG_INET_XFRM_MODE_TUNNEL=m
    CONFIG_INET_XFRM_MODE_BEET=m
    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_MD5SIG is not set
    CONFIG_IPV6=y
    CONFIG_IPV6_ROUTER_PREF=y
    # CONFIG_IPV6_ROUTE_INFO is not set
    CONFIG_IPV6_OPTIMISTIC_DAD=y
    CONFIG_INET6_AH=m
    CONFIG_INET6_ESP=m
    # CONFIG_INET6_ESP_OFFLOAD is not set
    CONFIG_INET6_IPCOMP=m
    CONFIG_IPV6_MIP6=m
    # CONFIG_IPV6_ILA is not set
    CONFIG_INET6_XFRM_TUNNEL=m
    CONFIG_INET6_TUNNEL=m
    CONFIG_INET6_XFRM_MODE_TRANSPORT=y
    CONFIG_INET6_XFRM_MODE_TUNNEL=y
    CONFIG_INET6_XFRM_MODE_BEET=y
    # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
    # 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=m
    CONFIG_IPV6_MULTIPLE_TABLES=y
    # CONFIG_IPV6_SUBTREES is not set
    # CONFIG_IPV6_MROUTE is not set
    # CONFIG_IPV6_SEG6_LWTUNNEL is not set
    # CONFIG_IPV6_SEG6_HMAC is not set
    # CONFIG_NETWORK_SECMARK is not set
    CONFIG_NET_PTP_CLASSIFY=y
    # CONFIG_NETWORK_PHY_TIMESTAMPING is not set
    CONFIG_NETFILTER=y
    CONFIG_NETFILTER_ADVANCED=y
    CONFIG_BRIDGE_NETFILTER=m
    
    #
    # Core Netfilter Configuration
    #
    CONFIG_NETFILTER_INGRESS=y
    CONFIG_NETFILTER_FAMILY_BRIDGE=y
    CONFIG_NETFILTER_FAMILY_ARP=y
    # CONFIG_NETFILTER_NETLINK_ACCT is not set
    # CONFIG_NETFILTER_NETLINK_QUEUE is not set
    # CONFIG_NETFILTER_NETLINK_LOG is not set
    # CONFIG_NETFILTER_NETLINK_OSF is not set
    CONFIG_NF_CONNTRACK=m
    # CONFIG_NF_LOG_NETDEV is not set
    # CONFIG_NF_CONNTRACK_MARK is not set
    # CONFIG_NF_CONNTRACK_ZONES is not set
    CONFIG_NF_CONNTRACK_PROCFS=y
    # CONFIG_NF_CONNTRACK_EVENTS is not set
    # 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 is not set
    # 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 is not set
    # CONFIG_NF_CT_NETLINK is not set
    CONFIG_NF_NAT=m
    CONFIG_NF_NAT_NEEDED=y
    CONFIG_NF_NAT_PROTO_DCCP=y
    CONFIG_NF_NAT_PROTO_UDPLITE=y
    CONFIG_NF_NAT_PROTO_SCTP=y
    # CONFIG_NF_TABLES is not set
    CONFIG_NETFILTER_XTABLES=m
    
    #
    # Xtables combined modules
    #
    CONFIG_NETFILTER_XT_MARK=m
    # CONFIG_NETFILTER_XT_CONNMARK is not set
    
    #
    # Xtables targets
    #
    CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
    # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
    # CONFIG_NETFILTER_XT_TARGET_HMARK is not set
    CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
    # CONFIG_NETFILTER_XT_TARGET_LED is not set
    # CONFIG_NETFILTER_XT_TARGET_LOG is not set
    CONFIG_NETFILTER_XT_TARGET_MARK=m
    CONFIG_NETFILTER_XT_NAT=m
    # 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 is not set
    # CONFIG_NETFILTER_XT_TARGET_TEE is not set
    # CONFIG_NETFILTER_XT_TARGET_TCPMSS 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=m
    # 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 is not set
    CONFIG_NETFILTER_XT_MATCH_CPU=m
    # 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=m
    # CONFIG_NETFILTER_XT_MATCH_L2TP is not set
    CONFIG_NETFILTER_XT_MATCH_LENGTH=m
    CONFIG_NETFILTER_XT_MATCH_LIMIT=m
    CONFIG_NETFILTER_XT_MATCH_MAC=m
    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_OWNER is not set
    CONFIG_NETFILTER_XT_MATCH_POLICY=m
    # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
    CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
    # 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=m
    # CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
    # CONFIG_NETFILTER_XT_MATCH_STATE is not set
    # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
    # CONFIG_NETFILTER_XT_MATCH_STRING is not set
    # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
    # CONFIG_NETFILTER_XT_MATCH_TIME is not set
    # CONFIG_NETFILTER_XT_MATCH_U32 is not set
    # CONFIG_IP_SET is not set
    # CONFIG_IP_VS is not set
    
    #
    # IP: Netfilter Configuration
    #
    CONFIG_NF_DEFRAG_IPV4=m
    # CONFIG_NF_SOCKET_IPV4 is not set
    # CONFIG_NF_TPROXY_IPV4 is not set
    # CONFIG_NF_DUP_IPV4 is not set
    # CONFIG_NF_LOG_ARP is not set
    # CONFIG_NF_LOG_IPV4 is not set
    # CONFIG_NF_REJECT_IPV4 is not set
    CONFIG_NF_NAT_IPV4=m
    CONFIG_NF_NAT_MASQUERADE_IPV4=y
    CONFIG_IP_NF_IPTABLES=m
    # CONFIG_IP_NF_MATCH_AH is not set
    # CONFIG_IP_NF_MATCH_ECN is not set
    # CONFIG_IP_NF_MATCH_TTL is not set
    CONFIG_IP_NF_FILTER=m
    # CONFIG_IP_NF_TARGET_REJECT is not set
    # CONFIG_IP_NF_TARGET_SYNPROXY is not set
    CONFIG_IP_NF_NAT=m
    CONFIG_IP_NF_TARGET_MASQUERADE=m
    # CONFIG_IP_NF_TARGET_NETMAP is not set
    # CONFIG_IP_NF_TARGET_REDIRECT is not set
    # CONFIG_IP_NF_MANGLE is not set
    # CONFIG_IP_NF_RAW is not set
    CONFIG_IP_NF_ARPTABLES=m
    CONFIG_IP_NF_ARPFILTER=m
    CONFIG_IP_NF_ARP_MANGLE=m
    
    #
    # IPv6: Netfilter Configuration
    #
    # CONFIG_NF_SOCKET_IPV6 is not set
    # CONFIG_NF_TPROXY_IPV6 is not set
    # CONFIG_NF_DUP_IPV6 is not set
    # CONFIG_NF_REJECT_IPV6 is not set
    # CONFIG_NF_LOG_IPV6 is not set
    # CONFIG_NF_NAT_IPV6 is not set
    # CONFIG_IP6_NF_IPTABLES is not set
    CONFIG_NF_DEFRAG_IPV6=m
    CONFIG_BRIDGE_NF_EBTABLES=m
    CONFIG_BRIDGE_EBT_BROUTE=m
    CONFIG_BRIDGE_EBT_T_FILTER=m
    CONFIG_BRIDGE_EBT_T_NAT=m
    CONFIG_BRIDGE_EBT_802_3=m
    CONFIG_BRIDGE_EBT_AMONG=m
    CONFIG_BRIDGE_EBT_ARP=m
    CONFIG_BRIDGE_EBT_IP=m
    CONFIG_BRIDGE_EBT_IP6=m
    CONFIG_BRIDGE_EBT_LIMIT=m
    CONFIG_BRIDGE_EBT_MARK=m
    CONFIG_BRIDGE_EBT_PKTTYPE=m
    CONFIG_BRIDGE_EBT_STP=m
    CONFIG_BRIDGE_EBT_VLAN=m
    CONFIG_BRIDGE_EBT_ARPREPLY=m
    CONFIG_BRIDGE_EBT_DNAT=m
    CONFIG_BRIDGE_EBT_MARK_T=m
    CONFIG_BRIDGE_EBT_REDIRECT=m
    CONFIG_BRIDGE_EBT_SNAT=m
    CONFIG_BRIDGE_EBT_LOG=m
    CONFIG_BRIDGE_EBT_NFLOG=m
    # CONFIG_BPFILTER is not set
    # CONFIG_IP_DCCP is not set
    CONFIG_IP_SCTP=m
    # CONFIG_SCTP_DBG_OBJCNT is not set
    CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
    # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
    # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
    CONFIG_SCTP_COOKIE_HMAC_MD5=y
    # CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set
    CONFIG_INET_SCTP_DIAG=m
    # CONFIG_RDS is not set
    # CONFIG_TIPC is not set
    # CONFIG_ATM is not set
    # CONFIG_L2TP is not set
    CONFIG_STP=m
    CONFIG_BRIDGE=m
    CONFIG_BRIDGE_IGMP_SNOOPING=y
    # CONFIG_BRIDGE_VLAN_FILTERING is not set
    CONFIG_HAVE_NET_DSA=y
    CONFIG_NET_DSA=m
    CONFIG_NET_DSA_LEGACY=y
    CONFIG_VLAN_8021Q=m
    # CONFIG_VLAN_8021Q_GVRP is not set
    # CONFIG_VLAN_8021Q_MVRP is not set
    # CONFIG_DECNET is not set
    CONFIG_LLC=m
    # 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_CBQ=m
    CONFIG_NET_SCH_HTB=m
    CONFIG_NET_SCH_HFSC=m
    CONFIG_NET_SCH_PRIO=m
    CONFIG_NET_SCH_MULTIQ=m
    CONFIG_NET_SCH_RED=m
    CONFIG_NET_SCH_SFB=m
    CONFIG_NET_SCH_SFQ=m
    CONFIG_NET_SCH_TEQL=m
    CONFIG_NET_SCH_TBF=m
    # CONFIG_NET_SCH_CBS is not set
    # CONFIG_NET_SCH_ETF is not set
    CONFIG_NET_SCH_GRED=m
    CONFIG_NET_SCH_DSMARK=m
    CONFIG_NET_SCH_NETEM=m
    CONFIG_NET_SCH_DRR=m
    CONFIG_NET_SCH_MQPRIO=m
    # CONFIG_NET_SCH_SKBPRIO is not set
    CONFIG_NET_SCH_CHOKE=m
    CONFIG_NET_SCH_QFQ=m
    CONFIG_NET_SCH_CODEL=m
    CONFIG_NET_SCH_FQ_CODEL=m
    # CONFIG_NET_SCH_CAKE is not set
    # CONFIG_NET_SCH_FQ is not set
    # CONFIG_NET_SCH_HHF is not set
    # CONFIG_NET_SCH_PIE is not set
    CONFIG_NET_SCH_INGRESS=m
    # CONFIG_NET_SCH_PLUG is not set
    # CONFIG_NET_SCH_DEFAULT is not set
    
    #
    # Classification
    #
    CONFIG_NET_CLS=y
    CONFIG_NET_CLS_BASIC=m
    CONFIG_NET_CLS_TCINDEX=m
    CONFIG_NET_CLS_ROUTE4=m
    CONFIG_NET_CLS_FW=m
    CONFIG_NET_CLS_U32=m
    # CONFIG_CLS_U32_PERF is not set
    CONFIG_CLS_U32_MARK=y
    CONFIG_NET_CLS_RSVP=m
    CONFIG_NET_CLS_RSVP6=m
    CONFIG_NET_CLS_FLOW=m
    # CONFIG_NET_CLS_CGROUP is not set
    # CONFIG_NET_CLS_BPF is not set
    # CONFIG_NET_CLS_FLOWER is not set
    # CONFIG_NET_CLS_MATCHALL is not set
    CONFIG_NET_EMATCH=y
    CONFIG_NET_EMATCH_STACK=32
    CONFIG_NET_EMATCH_CMP=m
    CONFIG_NET_EMATCH_NBYTE=m
    CONFIG_NET_EMATCH_U32=m
    CONFIG_NET_EMATCH_META=m
    CONFIG_NET_EMATCH_TEXT=m
    # CONFIG_NET_EMATCH_CANID is not set
    # CONFIG_NET_EMATCH_IPT is not set
    CONFIG_NET_CLS_ACT=y
    CONFIG_NET_ACT_POLICE=m
    CONFIG_NET_ACT_GACT=m
    CONFIG_GACT_PROB=y
    CONFIG_NET_ACT_MIRRED=m
    # CONFIG_NET_ACT_SAMPLE is not set
    CONFIG_NET_ACT_IPT=m
    CONFIG_NET_ACT_NAT=m
    CONFIG_NET_ACT_PEDIT=m
    CONFIG_NET_ACT_SIMP=m
    CONFIG_NET_ACT_SKBEDIT=m
    CONFIG_NET_ACT_CSUM=m
    # CONFIG_NET_ACT_VLAN is not set
    # CONFIG_NET_ACT_BPF is not set
    # CONFIG_NET_ACT_SKBMOD is not set
    # CONFIG_NET_ACT_IFE is not set
    # CONFIG_NET_ACT_TUNNEL_KEY is not set
    CONFIG_NET_CLS_IND=y
    CONFIG_NET_SCH_FIFO=y
    # CONFIG_DCB 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 is not set
    # CONFIG_MPLS is not set
    # CONFIG_NET_NSH is not set
    CONFIG_HSR_PRP=y
    CONFIG_NET_SWITCHDEV=y
    # CONFIG_NET_L3_MASTER_DEV is not set
    # CONFIG_NET_NCSI is not set
    CONFIG_RPS=y
    CONFIG_RFS_ACCEL=y
    CONFIG_XPS=y
    # CONFIG_CGROUP_NET_PRIO is not set
    # CONFIG_CGROUP_NET_CLASSID is not set
    CONFIG_NET_RX_BUSY_POLL=y
    CONFIG_BQL=y
    # CONFIG_BPF_JIT is not set
    CONFIG_NET_FLOW_LIMIT=y
    
    #
    # Network testing
    #
    # CONFIG_NET_PKTGEN is not set
    # CONFIG_HAMRADIO is not set
    CONFIG_CAN=m
    CONFIG_CAN_RAW=m
    CONFIG_CAN_BCM=m
    CONFIG_CAN_GW=m
    
    #
    # CAN Device Drivers
    #
    # CONFIG_CAN_VCAN is not set
    # CONFIG_CAN_VXCAN is not set
    # CONFIG_CAN_SLCAN is not set
    CONFIG_CAN_DEV=m
    CONFIG_CAN_CALC_BITTIMING=y
    CONFIG_CAN_FLEXCAN=m
    # CONFIG_CAN_GRCAN is not set
    # CONFIG_CAN_TI_HECC is not set
    CONFIG_CAN_C_CAN=m
    CONFIG_CAN_C_CAN_PLATFORM=m
    # CONFIG_CAN_C_CAN_PCI is not set
    # CONFIG_CAN_CC770 is not set
    # CONFIG_CAN_IFI_CANFD is not set
    CONFIG_CAN_M_CAN=m
    # CONFIG_CAN_PEAK_PCIEFD is not set
    CONFIG_CAN_RCAR=m
    # CONFIG_CAN_RCAR_CANFD is not set
    # CONFIG_CAN_SJA1000 is not set
    # CONFIG_CAN_SOFTING is not set
    
    #
    # CAN SPI interfaces
    #
    # CONFIG_CAN_HI311X is not set
    CONFIG_CAN_MCP251X=m
    
    #
    # CAN USB interfaces
    #
    # CONFIG_CAN_8DEV_USB is not set
    # CONFIG_CAN_EMS_USB is not set
    # CONFIG_CAN_ESD_USB2 is not set
    # CONFIG_CAN_GS_USB is not set
    # CONFIG_CAN_KVASER_USB is not set
    # CONFIG_CAN_MCBA_USB is not set
    # CONFIG_CAN_PEAK_USB is not set
    # CONFIG_CAN_UCAN is not set
    # CONFIG_CAN_DEBUG_DEVICES is not set
    CONFIG_BT=m
    CONFIG_BT_BREDR=y
    # CONFIG_BT_RFCOMM is not set
    # CONFIG_BT_BNEP is not set
    # CONFIG_BT_HIDP is not set
    CONFIG_BT_HS=y
    CONFIG_BT_LE=y
    # CONFIG_BT_LEDS is not set
    # CONFIG_BT_SELFTEST is not set
    CONFIG_BT_DEBUGFS=y
    
    #
    # Bluetooth device drivers
    #
    CONFIG_BT_BCM=m
    # 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 is not set
    # CONFIG_BT_HCIUART_3WIRE is not set
    # CONFIG_BT_HCIUART_INTEL is not set
    CONFIG_BT_HCIUART_BCM=y
    # CONFIG_BT_HCIUART_QCA is not set
    # CONFIG_BT_HCIUART_AG6XX is not set
    # CONFIG_BT_HCIUART_MRVL is not set
    # CONFIG_BT_HCIBCM203X is not set
    # CONFIG_BT_HCIBPA10X is not set
    # CONFIG_BT_HCIBFUSB is not set
    # CONFIG_BT_HCIVHCI is not set
    CONFIG_BT_MRVL=m
    CONFIG_BT_MRVL_SDIO=m
    # CONFIG_BT_MTKUART is not set
    # CONFIG_AF_RXRPC is not set
    # CONFIG_AF_KCM is not set
    CONFIG_FIB_RULES=y
    CONFIG_WIRELESS=y
    CONFIG_CFG80211=m
    CONFIG_NL80211_TESTMODE=y
    # 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_MINSTREL_HT=y
    # CONFIG_MAC80211_RC_MINSTREL_VHT is not set
    CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
    CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
    # CONFIG_MAC80211_MESH is not set
    CONFIG_MAC80211_LEDS=y
    # CONFIG_MAC80211_DEBUGFS is not set
    # CONFIG_MAC80211_MESSAGE_TRACING is not set
    # CONFIG_MAC80211_DEBUG_MENU is not set
    CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
    # CONFIG_WIMAX is not set
    CONFIG_RFKILL=y
    CONFIG_RFKILL_LEDS=y
    CONFIG_RFKILL_INPUT=y
    CONFIG_RFKILL_GPIO=y
    # CONFIG_NET_9P is not set
    # CONFIG_CAIF is not set
    CONFIG_RPMSG_PROTO=m
    # 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_NET_DEVLINK is not set
    CONFIG_MAY_USE_DEVLINK=y
    CONFIG_FAILOVER=y
    CONFIG_HAVE_EBPF_JIT=y
    
    #
    # Device Drivers
    #
    
    #
    # Generic Driver Options
    #
    CONFIG_UEVENT_HELPER=y
    CONFIG_UEVENT_HELPER_PATH=""
    CONFIG_DEVTMPFS=y
    CONFIG_DEVTMPFS_MOUNT=y
    CONFIG_STANDALONE=y
    CONFIG_PREVENT_FIRMWARE_BUILD=y
    
    #
    # Firmware loader
    #
    CONFIG_FW_LOADER=y
    CONFIG_EXTRA_FIRMWARE=""
    # CONFIG_FW_LOADER_USER_HELPER is not set
    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_AUTOPROBE=y
    CONFIG_SOC_BUS=y
    CONFIG_REGMAP=y
    CONFIG_REGMAP_I2C=y
    CONFIG_REGMAP_SPI=y
    CONFIG_REGMAP_MMIO=y
    CONFIG_REGMAP_IRQ=y
    CONFIG_DMA_SHARED_BUFFER=y
    # CONFIG_DMA_FENCE_TRACE is not set
    CONFIG_DMA_CMA=y
    
    #
    # Default contiguous memory area size:
    #
    CONFIG_CMA_SIZE_MBYTES=24
    CONFIG_CMA_SIZE_SEL_MBYTES=y
    # CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
    # CONFIG_CMA_SIZE_SEL_MIN is not set
    # CONFIG_CMA_SIZE_SEL_MAX is not set
    CONFIG_CMA_ALIGNMENT=8
    CONFIG_GENERIC_ARCH_TOPOLOGY=y
    
    #
    # Bus devices
    #
    # CONFIG_BRCMSTB_GISB_ARB is not set
    CONFIG_OMAP_INTERCONNECT=y
    CONFIG_OMAP_OCP2SCP=y
    CONFIG_SIMPLE_PM_BUS=y
    CONFIG_TI_SYSC=y
    # CONFIG_VEXPRESS_CONFIG is not set
    # CONFIG_CONNECTOR is not set
    # CONFIG_GNSS is not set
    CONFIG_MTD=y
    CONFIG_MTD_TESTS=m
    # CONFIG_MTD_REDBOOT_PARTS is not set
    CONFIG_MTD_CMDLINE_PARTS=y
    # CONFIG_MTD_AFS_PARTS is not set
    CONFIG_MTD_OF_PARTS=y
    # CONFIG_MTD_AR7_PARTS is not set
    
    #
    # Partition parsers
    #
    
    #
    # User Modules And Translation Layers
    #
    CONFIG_MTD_BLKDEVS=y
    CONFIG_MTD_BLOCK=y
    # CONFIG_FTL is not set
    # CONFIG_NFTL is not set
    # CONFIG_INFTL is not set
    # CONFIG_RFD_FTL is not set
    # CONFIG_SSFDC is not set
    # CONFIG_SM_FTL is not set
    # CONFIG_MTD_OOPS is not set
    # CONFIG_MTD_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 is not set
    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
    
    #
    # Mapping drivers for chip access
    #
    CONFIG_MTD_COMPLEX_MAPPINGS=y
    # CONFIG_MTD_PHYSMAP is not set
    # CONFIG_MTD_PHYSMAP_OF is not set
    # CONFIG_MTD_PCI is not set
    # CONFIG_MTD_GPIO_ADDR is not set
    # CONFIG_MTD_INTEL_VR_NOR is not set
    # CONFIG_MTD_PLATRAM is not set
    # CONFIG_MTD_LATCH_ADDR is not set
    
    #
    # Self-contained MTD device drivers
    #
    # CONFIG_MTD_PMC551 is not set
    # CONFIG_MTD_DATAFLASH is not set
    CONFIG_MTD_M25P80=y
    # CONFIG_MTD_MCHP23K256 is not set
    # CONFIG_MTD_SST25L is not set
    # CONFIG_MTD_BCM47XXSFLASH is not set
    # CONFIG_MTD_SLRAM is not set
    # CONFIG_MTD_PHRAM is not set
    # CONFIG_MTD_MTDRAM is not set
    # CONFIG_MTD_BLOCK2MTD is not set
    
    #
    # Disk-On-Chip Device Drivers
    #
    # CONFIG_MTD_DOCG3 is not set
    # CONFIG_MTD_ONENAND is not set
    CONFIG_MTD_NAND_ECC=y
    # CONFIG_MTD_NAND_ECC_SMC is not set
    CONFIG_MTD_NAND=y
    # CONFIG_MTD_NAND_ECC_BCH is not set
    CONFIG_MTD_NAND_DENALI=y
    # CONFIG_MTD_NAND_DENALI_PCI is not set
    CONFIG_MTD_NAND_DENALI_DT=y
    # CONFIG_MTD_NAND_GPIO is not set
    CONFIG_MTD_NAND_OMAP2=y
    CONFIG_MTD_NAND_OMAP_BCH=y
    CONFIG_MTD_NAND_OMAP_BCH_BUILD=y
    # CONFIG_MTD_NAND_RICOH is not set
    # CONFIG_MTD_NAND_DISKONCHIP is not set
    # CONFIG_MTD_NAND_DOCG4 is not set
    # CONFIG_MTD_NAND_CAFE is not set
    # CONFIG_MTD_NAND_NANDSIM is not set
    CONFIG_MTD_NAND_BRCMNAND=y
    # CONFIG_MTD_NAND_PLATFORM is not set
    # CONFIG_MTD_SPI_NAND is not set
    
    #
    # LPDDR & LPDDR2 PCM memory drivers
    #
    # CONFIG_MTD_LPDDR is not set
    # CONFIG_MTD_LPDDR2_NVM is not set
    CONFIG_MTD_SPI_NOR=y
    # CONFIG_MTD_MT81xx_NOR is not set
    # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
    CONFIG_SPI_CADENCE_QUADSPI=y
    CONFIG_MTD_UBI=y
    CONFIG_MTD_UBI_WL_THRESHOLD=4096
    CONFIG_MTD_UBI_BEB_LIMIT=20
    # CONFIG_MTD_UBI_FASTMAP is not set
    # CONFIG_MTD_UBI_GLUEBI is not set
    # CONFIG_MTD_UBI_BLOCK is not set
    CONFIG_MTD_HYPERBUS=y
    CONFIG_HBMC_AM654=y
    CONFIG_DTC=y
    CONFIG_OF=y
    # CONFIG_OF_UNITTEST is not set
    CONFIG_OF_FLATTREE=y
    CONFIG_OF_EARLY_FLATTREE=y
    CONFIG_OF_KOBJ=y
    CONFIG_OF_DYNAMIC=y
    CONFIG_OF_ADDRESS=y
    CONFIG_OF_IRQ=y
    CONFIG_OF_NET=y
    CONFIG_OF_MDIO=y
    CONFIG_OF_RESERVED_MEM=y
    CONFIG_OF_RESOLVE=y
    CONFIG_OF_OVERLAY=y
    CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
    # CONFIG_PARPORT is not set
    CONFIG_BLK_DEV=y
    # CONFIG_BLK_DEV_NULL_BLK is not set
    CONFIG_CDROM=y
    # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
    # CONFIG_BLK_DEV_DAC960 is not set
    # CONFIG_BLK_DEV_UMEM is not set
    CONFIG_BLK_DEV_LOOP=y
    CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
    # CONFIG_BLK_DEV_CRYPTOLOOP is not set
    # CONFIG_BLK_DEV_DRBD is not set
    # CONFIG_BLK_DEV_NBD is not set
    # CONFIG_BLK_DEV_SX8 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_VIRTIO_BLK_SCSI is not set
    # CONFIG_BLK_DEV_RBD is not set
    # CONFIG_BLK_DEV_RSXX is not set
    
    #
    # NVME Support
    #
    CONFIG_NVME_CORE=m
    CONFIG_BLK_DEV_NVME=m
    # CONFIG_NVME_MULTIPATH is not set
    # CONFIG_NVME_FC is not set
    # CONFIG_NVME_TARGET is not set
    
    #
    # Misc devices
    #
    CONFIG_AD525X_DPOT=y
    CONFIG_AD525X_DPOT_I2C=y
    # CONFIG_AD525X_DPOT_SPI is not set
    # CONFIG_DUMMY_IRQ is not set
    # CONFIG_PHANTOM is not set
    # CONFIG_SGI_IOC4 is not set
    # CONFIG_TIFM_CORE is not set
    CONFIG_ICS932S401=y
    # CONFIG_ENCLOSURE_SERVICES is not set
    # CONFIG_HP_ILO is not set
    CONFIG_APDS9802ALS=y
    CONFIG_ISL29003=y
    # CONFIG_ISL29020 is not set
    # CONFIG_SENSORS_TSL2550 is not set
    # CONFIG_SENSORS_BH1770 is not set
    # CONFIG_SENSORS_APDS990X is not set
    # CONFIG_HMC6352 is not set
    # CONFIG_DS1682 is not set
    # CONFIG_USB_SWITCH_FSA9480 is not set
    # CONFIG_LATTICE_ECP3_CONFIG is not set
    CONFIG_SRAM=y
    CONFIG_SRAM_EXEC=y
    CONFIG_PCI_ENDPOINT_TEST=m
    CONFIG_DMA_BUF_PHYS=y
    # CONFIG_C2PORT is not set
    
    #
    # EEPROM support
    #
    CONFIG_EEPROM_AT24=m
    # CONFIG_EEPROM_AT25 is not set
    # CONFIG_EEPROM_LEGACY 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_CB710_CORE is not set
    
    #
    # Texas Instruments shared transport line discipline
    #
    # CONFIG_TI_ST is not set
    # CONFIG_SENSORS_LIS3_SPI is not set
    # CONFIG_SENSORS_LIS3_I2C is not set
    # CONFIG_ALTERA_STAPL is not set
    
    #
    # Intel MIC & related support
    #
    
    #
    # Intel MIC Bus Driver
    #
    
    #
    # SCIF Bus Driver
    #
    
    #
    # VOP Bus Driver
    #
    
    #
    # Intel MIC Host Driver
    #
    
    #
    # Intel MIC Card Driver
    #
    
    #
    # SCIF Driver
    #
    
    #
    # Intel MIC Coprocessor State Management (COSM) Drivers
    #
    
    #
    # VOP Driver
    #
    # CONFIG_ECHO is not set
    # CONFIG_MISC_RTSX_PCI is not set
    # CONFIG_MISC_RTSX_USB is not set
    CONFIG_HAVE_IDE=y
    # CONFIG_IDE is not set
    
    #
    # SCSI device support
    #
    CONFIG_SCSI_MOD=y
    # CONFIG_RAID_ATTRS is not set
    CONFIG_SCSI=y
    CONFIG_SCSI_DMA=y
    CONFIG_SCSI_MQ_DEFAULT=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_CHR_DEV_OSST is not set
    CONFIG_BLK_DEV_SR=y
    # CONFIG_BLK_DEV_SR_VENDOR is not set
    # CONFIG_CHR_DEV_SG is not set
    # CONFIG_CHR_DEV_SCH is not set
    # CONFIG_SCSI_CONSTANTS is not set
    # CONFIG_SCSI_LOGGING is not set
    # CONFIG_SCSI_SCAN_ASYNC is not set
    
    #
    # SCSI Transports
    #
    # CONFIG_SCSI_SPI_ATTRS is not set
    # CONFIG_SCSI_FC_ATTRS is not set
    # CONFIG_SCSI_ISCSI_ATTRS is not set
    # CONFIG_SCSI_SAS_ATTRS is not set
    # CONFIG_SCSI_SAS_LIBSAS is not set
    # CONFIG_SCSI_SRP_ATTRS is not set
    CONFIG_SCSI_LOWLEVEL=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_SMARTPQI is not set
    CONFIG_SCSI_UFSHCD=y
    # CONFIG_SCSI_UFSHCD_PCI is not set
    CONFIG_SCSI_UFSHCD_PLATFORM=y
    CONFIG_SCSI_UFS_CDNS_PLATFORM=y
    # CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
    CONFIG_SCSI_UFS_BSG=y
    # CONFIG_SCSI_HPTIOP is not set
    # CONFIG_SCSI_SNIC is not set
    # CONFIG_SCSI_DMX3191D 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_NSP32 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
    # CONFIG_SCSI_OSD_INITIATOR is not set
    CONFIG_ATA=m
    CONFIG_ATA_VERBOSE_ERROR=y
    CONFIG_SATA_PMP=y
    
    #
    # Controllers with non-SFF native interface
    #
    CONFIG_SATA_AHCI=m
    CONFIG_SATA_MOBILE_LPM_POLICY=0
    CONFIG_SATA_AHCI_PLATFORM=m
    CONFIG_AHCI_DM816=m
    # CONFIG_AHCI_CEVA is not set
    # CONFIG_AHCI_QORIQ is not set
    # CONFIG_SATA_INIC162X is not set
    # CONFIG_SATA_ACARD_AHCI is not set
    # CONFIG_SATA_SIL24 is not set
    CONFIG_ATA_SFF=y
    
    #
    # SFF controllers with custom DMA interface
    #
    # CONFIG_PDC_ADMA is not set
    # CONFIG_SATA_QSTOR is not set
    # CONFIG_SATA_SX4 is not set
    CONFIG_ATA_BMDMA=y
    
    #
    # SATA SFF controllers with BMDMA
    #
    # CONFIG_ATA_PIIX is not set
    # CONFIG_SATA_DWC is not set
    CONFIG_SATA_MV=m
    # CONFIG_SATA_NV is not set
    # CONFIG_SATA_PROMISE is not set
    # CONFIG_SATA_SIL is not set
    # CONFIG_SATA_SIS is not set
    # CONFIG_SATA_SVW is not set
    # CONFIG_SATA_ULI is not set
    # CONFIG_SATA_VIA is not set
    # CONFIG_SATA_VITESSE is not set
    
    #
    # PATA SFF controllers with BMDMA
    #
    # CONFIG_PATA_ALI is not set
    # CONFIG_PATA_AMD is not set
    # CONFIG_PATA_ARTOP is not set
    # CONFIG_PATA_ATIIXP is not set
    # CONFIG_PATA_ATP867X is not set
    # CONFIG_PATA_CMD64X is not set
    # CONFIG_PATA_CYPRESS is not set
    # CONFIG_PATA_EFAR is not set
    # CONFIG_PATA_HPT366 is not set
    # CONFIG_PATA_HPT37X is not set
    # CONFIG_PATA_HPT3X2N is not set
    # CONFIG_PATA_HPT3X3 is not set
    # CONFIG_PATA_IT8213 is not set
    # CONFIG_PATA_IT821X is not set
    # CONFIG_PATA_JMICRON is not set
    # CONFIG_PATA_MARVELL is not set
    # CONFIG_PATA_NETCELL is not set
    # CONFIG_PATA_NINJA32 is not set
    # CONFIG_PATA_NS87415 is not set
    # CONFIG_PATA_OLDPIIX is not set
    # CONFIG_PATA_OPTIDMA is not set
    # CONFIG_PATA_PDC2027X is not set
    # CONFIG_PATA_PDC_OLD is not set
    # CONFIG_PATA_RADISYS is not set
    # CONFIG_PATA_RDC is not set
    # CONFIG_PATA_SCH is not set
    # CONFIG_PATA_SERVERWORKS is not set
    # CONFIG_PATA_SIL680 is not set
    # CONFIG_PATA_SIS is not set
    # CONFIG_PATA_TOSHIBA is not set
    # CONFIG_PATA_TRIFLEX is not set
    # CONFIG_PATA_VIA is not set
    # CONFIG_PATA_WINBOND is not set
    
    #
    # PIO-only SFF controllers
    #
    # CONFIG_PATA_CMD640_PCI is not set
    # CONFIG_PATA_MPIIX is not set
    # CONFIG_PATA_NS87410 is not set
    # CONFIG_PATA_OPTI is not set
    # CONFIG_PATA_PLATFORM is not set
    # CONFIG_PATA_RZ1000 is not set
    
    #
    # Generic fallback / legacy drivers
    #
    # CONFIG_ATA_GENERIC is not set
    # CONFIG_PATA_LEGACY 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
    CONFIG_NETDEVICES=y
    CONFIG_MII=y
    CONFIG_NET_CORE=y
    # CONFIG_BONDING is not set
    # CONFIG_DUMMY 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 is not set
    # CONFIG_IPVLAN is not set
    # CONFIG_VXLAN is not set
    # CONFIG_GENEVE is not set
    # CONFIG_GTP is not set
    # CONFIG_MACSEC is not set
    # CONFIG_NETCONSOLE is not set
    CONFIG_NTB_NETDEV=m
    # CONFIG_TUN is not set
    # CONFIG_TUN_VNET_CROSS_LE is not set
    # CONFIG_VETH is not set
    CONFIG_VIRTIO_NET=y
    # CONFIG_NLMON is not set
    # CONFIG_ARCNET is not set
    
    #
    # CAIF transport drivers
    #
    
    #
    # 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_MT7530 is not set
    # CONFIG_NET_DSA_MV88E6060 is not set
    # CONFIG_MICROCHIP_KSZ is not set
    # CONFIG_NET_DSA_MV88E6XXX is not set
    # CONFIG_NET_DSA_QCA8K is not set
    # CONFIG_NET_DSA_REALTEK_SMI 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 is not set
    CONFIG_ETHERNET=y
    # CONFIG_NET_VENDOR_3COM is not set
    # CONFIG_NET_VENDOR_ADAPTEC is not set
    # CONFIG_NET_VENDOR_AGERE is not set
    CONFIG_NET_VENDOR_ALACRITECH=y
    # CONFIG_SLICOSS is not set
    # CONFIG_NET_VENDOR_ALTEON is not set
    # CONFIG_ALTERA_TSE is not set
    # CONFIG_NET_VENDOR_AMAZON is not set
    # CONFIG_NET_VENDOR_AMD is not set
    CONFIG_NET_VENDOR_AQUANTIA=y
    # CONFIG_NET_VENDOR_ARC is not set
    # CONFIG_NET_VENDOR_ATHEROS is not set
    CONFIG_NET_VENDOR_AURORA=y
    # CONFIG_AURORA_NB8800 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=m
    CONFIG_TIGON3_HWMON=y
    # CONFIG_BNX2X is not set
    # CONFIG_SYSTEMPORT is not set
    # CONFIG_BNXT is not set
    # CONFIG_NET_VENDOR_BROCADE is not set
    CONFIG_NET_VENDOR_CADENCE=y
    CONFIG_MACB=y
    CONFIG_MACB_USE_HWSTAMP=y
    # CONFIG_MACB_PCI is not set
    # CONFIG_NET_VENDOR_CAVIUM is not set
    # CONFIG_NET_VENDOR_CHELSIO is not set
    # CONFIG_NET_VENDOR_CIRRUS is not set
    # CONFIG_NET_VENDOR_CISCO is not set
    CONFIG_NET_VENDOR_CORTINA=y
    # CONFIG_GEMINI_ETHERNET is not set
    # CONFIG_DM9000 is not set
    # CONFIG_DNET is not set
    # CONFIG_NET_VENDOR_DEC is not set
    # CONFIG_NET_VENDOR_DLINK is not set
    # CONFIG_NET_VENDOR_EMULEX is not set
    # CONFIG_NET_VENDOR_EZCHIP is not set
    # CONFIG_NET_VENDOR_FARADAY is not set
    # CONFIG_NET_VENDOR_HISILICON is not set
    # CONFIG_NET_VENDOR_HP is not set
    CONFIG_NET_VENDOR_HUAWEI=y
    # CONFIG_NET_VENDOR_I825XX is not set
    CONFIG_NET_VENDOR_INTEL=y
    # CONFIG_E100 is not set
    CONFIG_E1000=m
    CONFIG_E1000E=m
    # CONFIG_IGB is not set
    # CONFIG_IGBVF is not set
    # CONFIG_IXGB 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_JME is not set
    CONFIG_NET_VENDOR_MARVELL=y
    # CONFIG_MVMDIO is not set
    CONFIG_SKGE=m
    # CONFIG_SKGE_DEBUG is not set
    # CONFIG_SKGE_GENESIS is not set
    # CONFIG_SKY2 is not set
    # CONFIG_NET_VENDOR_MELLANOX is not set
    CONFIG_NET_VENDOR_MICREL=y
    # CONFIG_KS8842 is not set
    CONFIG_KS8851=y
    # CONFIG_KS8851_MLL is not set
    # CONFIG_KSZ884X_PCI is not set
    # CONFIG_NET_VENDOR_MICROCHIP is not set
    CONFIG_NET_VENDOR_MICROSEMI=y
    # CONFIG_MSCC_OCELOT_SWITCH is not set
    # CONFIG_NET_VENDOR_MYRI is not set
    # CONFIG_FEALNX is not set
    # CONFIG_NET_VENDOR_NATSEMI is not set
    CONFIG_NET_VENDOR_NETERION=y
    # CONFIG_S2IO is not set
    # CONFIG_VXGE is not set
    # CONFIG_NET_VENDOR_NETRONOME is not set
    CONFIG_NET_VENDOR_NI=y
    # CONFIG_NET_VENDOR_NVIDIA is not set
    # CONFIG_NET_VENDOR_OKI is not set
    # CONFIG_ETHOC is not set
    CONFIG_NET_VENDOR_PACKET_ENGINES=y
    # CONFIG_HAMACHI is not set
    # CONFIG_YELLOWFIN is not set
    # CONFIG_NET_VENDOR_QLOGIC is not set
    # CONFIG_NET_VENDOR_QUALCOMM is not set
    # CONFIG_NET_VENDOR_RDC is not set
    # CONFIG_NET_VENDOR_REALTEK is not set
    # CONFIG_NET_VENDOR_RENESAS is not set
    # CONFIG_NET_VENDOR_ROCKER is not set
    # CONFIG_NET_VENDOR_SAMSUNG is not set
    # CONFIG_NET_VENDOR_SEEQ is not set
    CONFIG_NET_VENDOR_SOLARFLARE=y
    # CONFIG_SFC is not set
    # CONFIG_SFC_FALCON is not set
    # CONFIG_NET_VENDOR_SILAN is not set
    # CONFIG_NET_VENDOR_SIS is not set
    CONFIG_NET_VENDOR_SMSC=y
    # CONFIG_SMC91X is not set
    # CONFIG_EPIC100 is not set
    # CONFIG_SMC911X is not set
    CONFIG_SMSC911X=y
    # CONFIG_SMSC9420 is not set
    CONFIG_NET_VENDOR_SOCIONEXT=y
    # CONFIG_NET_VENDOR_STMICRO is not set
    # CONFIG_NET_VENDOR_SUN is not set
    # CONFIG_NET_VENDOR_SYNOPSYS is not set
    # CONFIG_NET_VENDOR_TEHUTI is not set
    CONFIG_NET_VENDOR_TI=y
    CONFIG_TI_DAVINCI_MDIO=y
    CONFIG_TI_DAVINCI_CPDMA=y
    CONFIG_TI_CPSW_PHY_SEL=y
    CONFIG_TI_CPSW_ALE=y
    CONFIG_TI_CPSW=y
    CONFIG_TI_CPTS=y
    CONFIG_TI_CPTS_MOD=y
    # CONFIG_TLAN is not set
    CONFIG_TI_PRUETH=m
    CONFIG_TI_PTP_BC=y
    CONFIG_TI_1PPS_DM_TIMER=y
    # CONFIG_NET_VENDOR_VIA is not set
    # CONFIG_NET_VENDOR_WIZNET is not set
    # CONFIG_FDDI is not set
    # CONFIG_HIPPI is not set
    CONFIG_MDIO_DEVICE=y
    CONFIG_MDIO_BUS=y
    # CONFIG_MDIO_BCM_UNIMAC is not set
    # CONFIG_MDIO_BITBANG is not set
    # CONFIG_MDIO_BUS_MUX_GPIO is not set
    # CONFIG_MDIO_BUS_MUX_MMIOREG is not set
    # CONFIG_MDIO_HISI_FEMAC is not set
    # CONFIG_MDIO_MSCC_MIIM is not set
    CONFIG_PHYLINK=m
    CONFIG_PHYLIB=y
    CONFIG_SWPHY=y
    # CONFIG_LED_TRIGGER_PHY is not set
    
    #
    # MII PHY device drivers
    #
    # CONFIG_SFP is not set
    # CONFIG_AMD_PHY is not set
    # CONFIG_AQUANTIA_PHY is not set
    # CONFIG_AX88796B_PHY is not set
    CONFIG_AT803X_PHY=y
    # CONFIG_BCM7XXX_PHY is not set
    # CONFIG_BCM87XX_PHY is not set
    # CONFIG_BROADCOM_PHY is not set
    # CONFIG_CICADA_PHY is not set
    # CONFIG_CORTINA_PHY is not set
    # CONFIG_DAVICOM_PHY is not set
    # CONFIG_DP83822_PHY is not set
    # CONFIG_DP83TC811_PHY is not set
    CONFIG_DP83848_PHY=y
    CONFIG_DP83867_PHY=y
    CONFIG_FIXED_PHY=y
    # CONFIG_ICPLUS_PHY is not set
    # CONFIG_INTEL_XWAY_PHY is not set
    # CONFIG_LSI_ET1011C_PHY is not set
    # CONFIG_LXT_PHY is not set
    CONFIG_MARVELL_PHY=y
    # CONFIG_MARVELL_10G_PHY is not set
    CONFIG_MICREL_PHY=y
    CONFIG_MICROCHIP_PHY=m
    # CONFIG_MICROCHIP_T1_PHY is not set
    # CONFIG_MICROSEMI_PHY is not set
    # CONFIG_NATIONAL_PHY is not set
    # CONFIG_QSEMI_PHY is not set
    CONFIG_REALTEK_PHY=y
    # CONFIG_RENESAS_PHY is not set
    CONFIG_ROCKCHIP_PHY=y
    CONFIG_SMSC_PHY=y
    # CONFIG_STE10XP is not set
    # CONFIG_TERANETICS_PHY is not set
    # CONFIG_VITESSE_PHY is not set
    # CONFIG_XILINX_GMII2RGMII is not set
    # CONFIG_MICREL_KS8995MA is not set
    # CONFIG_PPP is not set
    # CONFIG_SLIP is not set
    
    #
    # Host-side USB support is needed for USB Network Adapter support
    #
    CONFIG_USB_NET_DRIVERS=m
    # CONFIG_USB_CATC is not set
    # CONFIG_USB_KAWETH is not set
    CONFIG_USB_PEGASUS=m
    # CONFIG_USB_RTL8150 is not set
    CONFIG_USB_RTL8152=m
    CONFIG_USB_LAN78XX=m
    CONFIG_USB_USBNET=m
    CONFIG_USB_NET_AX8817X=m
    CONFIG_USB_NET_AX88179_178A=m
    CONFIG_USB_NET_CDCETHER=m
    # CONFIG_USB_NET_CDC_EEM is not set
    CONFIG_USB_NET_CDC_NCM=m
    # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
    # CONFIG_USB_NET_CDC_MBIM is not set
    # CONFIG_USB_NET_DM9601 is not set
    # CONFIG_USB_NET_SR9700 is not set
    # CONFIG_USB_NET_SR9800 is not set
    CONFIG_USB_NET_SMSC75XX=m
    CONFIG_USB_NET_SMSC95XX=m
    # CONFIG_USB_NET_GL620A is not set
    CONFIG_USB_NET_NET1080=m
    # CONFIG_USB_NET_PLUSB is not set
    # CONFIG_USB_NET_MCS7830 is not set
    # CONFIG_USB_NET_RNDIS_HOST is not set
    CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
    CONFIG_USB_NET_CDC_SUBSET=m
    # CONFIG_USB_ALI_M5632 is not set
    # CONFIG_USB_AN2720 is not set
    CONFIG_USB_BELKIN=y
    CONFIG_USB_ARMLINUX=y
    # CONFIG_USB_EPSON2888 is not set
    # CONFIG_USB_KC2190 is not set
    CONFIG_USB_NET_ZAURUS=m
    # CONFIG_USB_NET_CX82310_ETH is not set
    # CONFIG_USB_NET_KALMIA is not set
    # CONFIG_USB_NET_QMI_WWAN is not set
    # CONFIG_USB_HSO is not set
    # CONFIG_USB_NET_INT51X1 is not set
    # CONFIG_USB_IPHETH is not set
    # CONFIG_USB_SIERRA_NET is not set
    # CONFIG_USB_VL600 is not set
    # CONFIG_USB_NET_CH9200 is not set
    CONFIG_WLAN=y
    # CONFIG_WIRELESS_WDS is not set
    CONFIG_WLAN_VENDOR_ADMTEK=y
    # CONFIG_ADM8211 is not set
    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 is not set
    # CONFIG_WCN36XX is not set
    CONFIG_WLAN_VENDOR_ATMEL=y
    # CONFIG_ATMEL is not set
    # CONFIG_AT76C50X_USB is not set
    CONFIG_WLAN_VENDOR_BROADCOM=y
    CONFIG_B43=m
    CONFIG_B43_BCMA=y
    CONFIG_B43_SSB=y
    CONFIG_B43_BUSES_BCMA_AND_SSB=y
    # CONFIG_B43_BUSES_BCMA is not set
    # CONFIG_B43_BUSES_SSB is not set
    CONFIG_B43_PCI_AUTOSELECT=y
    CONFIG_B43_PCICORE_AUTOSELECT=y
    # CONFIG_B43_SDIO is not set
    CONFIG_B43_BCMA_PIO=y
    CONFIG_B43_PIO=y
    CONFIG_B43_PHY_G=y
    CONFIG_B43_PHY_N=y
    CONFIG_B43_PHY_LP=y
    CONFIG_B43_PHY_HT=y
    CONFIG_B43_LEDS=y
    CONFIG_B43_HWRNG=y
    # CONFIG_B43_DEBUG is not set
    # CONFIG_B43LEGACY is not set
    CONFIG_BRCMUTIL=m
    # CONFIG_BRCMSMAC is not set
    CONFIG_BRCMFMAC=m
    CONFIG_BRCMFMAC_PROTO_BCDC=y
    CONFIG_BRCMFMAC_SDIO=y
    # CONFIG_BRCMFMAC_USB is not set
    # CONFIG_BRCMFMAC_PCIE is not set
    # CONFIG_BRCM_TRACING is not set
    # CONFIG_BRCMDBG is not set
    CONFIG_WLAN_VENDOR_CISCO=y
    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
    # CONFIG_IWLWIFI_BCAST_FILTERING is not set
    # CONFIG_IWLWIFI_PCIE_RTPM is not set
    
    #
    # Debugging Options
    #
    # CONFIG_IWLWIFI_DEBUG is not set
    CONFIG_WLAN_VENDOR_INTERSIL=y
    # CONFIG_HOSTAP is not set
    # CONFIG_HERMES is not set
    # CONFIG_P54_COMMON is not set
    # CONFIG_PRISM54 is not set
    CONFIG_WLAN_VENDOR_MARVELL=y
    # CONFIG_LIBERTAS is not set
    # CONFIG_LIBERTAS_THINFIRM is not set
    CONFIG_MWIFIEX=m
    CONFIG_MWIFIEX_SDIO=m
    # CONFIG_MWIFIEX_PCIE is not set
    # CONFIG_MWIFIEX_USB is not set
    # CONFIG_MWL8K is not set
    CONFIG_WLAN_VENDOR_MEDIATEK=y
    # CONFIG_MT7601U is not set
    # CONFIG_MT76x0U is not set
    # CONFIG_MT76x2E is not set
    # CONFIG_MT76x2U is not set
    CONFIG_WLAN_VENDOR_RALINK=y
    CONFIG_RT2X00=m
    # CONFIG_RT2400PCI is not set
    # CONFIG_RT2500PCI is not set
    # CONFIG_RT61PCI is not set
    # CONFIG_RT2800PCI is not set
    # CONFIG_RT2500USB is not set
    # CONFIG_RT73USB is not set
    CONFIG_RT2800USB=m
    CONFIG_RT2800USB_RT33XX=y
    CONFIG_RT2800USB_RT35XX=y
    # CONFIG_RT2800USB_RT3573 is not set
    # CONFIG_RT2800USB_RT53XX is not set
    # CONFIG_RT2800USB_RT55XX is not set
    # CONFIG_RT2800USB_UNKNOWN is not set
    CONFIG_RT2800_LIB=m
    CONFIG_RT2X00_LIB_USB=m
    CONFIG_RT2X00_LIB=m
    CONFIG_RT2X00_LIB_FIRMWARE=y
    CONFIG_RT2X00_LIB_CRYPTO=y
    CONFIG_RT2X00_LIB_LEDS=y
    # CONFIG_RT2X00_DEBUG 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_RTL8XXXU is not set
    CONFIG_WLAN_VENDOR_RSI=y
    # CONFIG_RSI_91X 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=m
    CONFIG_WLCORE=m
    # CONFIG_WLCORE_SPI is not set
    CONFIG_WLCORE_SDIO=m
    CONFIG_WILINK_PLATFORM_DATA=y
    CONFIG_WLAN_VENDOR_ZYDAS=y
    # CONFIG_USB_ZD1201 is not set
    # CONFIG_ZD1211RW is not set
    CONFIG_WLAN_VENDOR_QUANTENNA=y
    # CONFIG_QTNFMAC_PEARL_PCIE is not set
    # CONFIG_MAC80211_HWSIM is not set
    # CONFIG_USB_NET_RNDIS_WLAN is not set
    
    #
    # Enable WiMAX (Networking options) to see the WiMAX drivers
    #
    # CONFIG_WAN is not set
    # CONFIG_VMXNET3 is not set
    # CONFIG_NETDEVSIM is not set
    CONFIG_NET_FAILOVER=y
    # CONFIG_ISDN is not set
    # CONFIG_NVM is not set
    
    #
    # Input device support
    #
    CONFIG_INPUT=y
    CONFIG_INPUT_LEDS=y
    # CONFIG_INPUT_FF_MEMLESS is not set
    CONFIG_INPUT_POLLDEV=m
    # CONFIG_INPUT_SPARSEKMAP is not set
    CONFIG_INPUT_MATRIXKMAP=m
    
    #
    # Userland interfaces
    #
    # CONFIG_INPUT_MOUSEDEV is not set
    CONFIG_INPUT_JOYDEV=y
    CONFIG_INPUT_EVDEV=y
    # CONFIG_INPUT_EVBUG is not set
    
    #
    # Input Device Drivers
    #
    CONFIG_INPUT_KEYBOARD=y
    # CONFIG_KEYBOARD_ADC is not set
    # CONFIG_KEYBOARD_ADP5588 is not set
    # CONFIG_KEYBOARD_ADP5589 is not set
    CONFIG_KEYBOARD_ATKBD=y
    CONFIG_KEYBOARD_QT1070=m
    # CONFIG_KEYBOARD_QT2160 is not set
    # CONFIG_KEYBOARD_DLINK_DIR685 is not set
    # CONFIG_KEYBOARD_LKKBD is not set
    CONFIG_KEYBOARD_GPIO=y
    # CONFIG_KEYBOARD_GPIO_POLLED is not set
    # CONFIG_KEYBOARD_TCA6416 is not set
    # CONFIG_KEYBOARD_TCA8418 is not set
    CONFIG_KEYBOARD_MATRIX=m
    # CONFIG_KEYBOARD_LM8323 is not set
    # CONFIG_KEYBOARD_LM8333 is not set
    # CONFIG_KEYBOARD_MAX7359 is not set
    # CONFIG_KEYBOARD_MCS is not set
    # CONFIG_KEYBOARD_MPR121 is not set
    # CONFIG_KEYBOARD_NEWTON is not set
    # CONFIG_KEYBOARD_OPENCORES is not set
    CONFIG_KEYBOARD_SAMSUNG=m
    # 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_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=y
    CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y
    # 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=m
    CONFIG_MOUSE_ELAN_I2C=y
    CONFIG_MOUSE_ELAN_I2C_I2C=y
    # CONFIG_MOUSE_ELAN_I2C_SMBUS 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=y
    CONFIG_TOUCHSCREEN_PROPERTIES=y
    # CONFIG_TOUCHSCREEN_ADS7846 is not set
    # CONFIG_TOUCHSCREEN_AD7877 is not set
    # CONFIG_TOUCHSCREEN_AD7879 is not set
    # CONFIG_TOUCHSCREEN_ADC is not set
    # CONFIG_TOUCHSCREEN_AR1021_I2C is not set
    CONFIG_TOUCHSCREEN_ATMEL_MXT=m
    # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
    # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
    # CONFIG_TOUCHSCREEN_BU21013 is not set
    # CONFIG_TOUCHSCREEN_BU21029 is not set
    # CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
    # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
    # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
    # CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
    # CONFIG_TOUCHSCREEN_DYNAPRO is not set
    # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
    # CONFIG_TOUCHSCREEN_EETI is not set
    # CONFIG_TOUCHSCREEN_EGALAX is not set
    # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
    # CONFIG_TOUCHSCREEN_EXC3000 is not set
    # CONFIG_TOUCHSCREEN_FUJITSU is not set
    CONFIG_TOUCHSCREEN_GOODIX=m
    # CONFIG_TOUCHSCREEN_HIDEEP is not set
    # CONFIG_TOUCHSCREEN_ILI210X is not set
    # CONFIG_TOUCHSCREEN_S6SY761 is not set
    # CONFIG_TOUCHSCREEN_GUNZE is not set
    # CONFIG_TOUCHSCREEN_EKTF2127 is not set
    # CONFIG_TOUCHSCREEN_ELAN is not set
    # CONFIG_TOUCHSCREEN_ELO is not set
    # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
    # CONFIG_TOUCHSCREEN_WACOM_I2C is not set
    # CONFIG_TOUCHSCREEN_MAX11801 is not set
    # CONFIG_TOUCHSCREEN_MCS5000 is not set
    CONFIG_TOUCHSCREEN_MMS114=m
    # CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
    # CONFIG_TOUCHSCREEN_MTOUCH is not set
    # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
    # CONFIG_TOUCHSCREEN_INEXIO is not set
    # CONFIG_TOUCHSCREEN_MK712 is not set
    # CONFIG_TOUCHSCREEN_PENMOUNT is not set
    CONFIG_TOUCHSCREEN_EDT_FT5X06=m
    # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
    # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
    CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
    CONFIG_TOUCHSCREEN_PIXCIR=m
    # CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
    # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
    # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
    # CONFIG_TOUCHSCREEN_TSC_SERIO is not set
    # CONFIG_TOUCHSCREEN_TSC2004 is not set
    # CONFIG_TOUCHSCREEN_TSC2005 is not set
    # CONFIG_TOUCHSCREEN_TSC2007 is not set
    # CONFIG_TOUCHSCREEN_RM_TS is not set
    # CONFIG_TOUCHSCREEN_SILEAD is not set
    # CONFIG_TOUCHSCREEN_SIS_I2C is not set
    CONFIG_TOUCHSCREEN_ST1232=m
    # CONFIG_TOUCHSCREEN_STMFTS is not set
    # CONFIG_TOUCHSCREEN_SUR40 is not set
    # CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
    # CONFIG_TOUCHSCREEN_SX8654 is not set
    # CONFIG_TOUCHSCREEN_TPS6507X is not set
    # CONFIG_TOUCHSCREEN_ZET6223 is not set
    # CONFIG_TOUCHSCREEN_ZFORCE is not set
    # CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
    # CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
    CONFIG_INPUT_MISC=y
    # CONFIG_INPUT_AD714X is not set
    # CONFIG_INPUT_ATMEL_CAPTOUCH is not set
    # CONFIG_INPUT_BMA150 is not set
    # CONFIG_INPUT_E3X0_BUTTON is not set
    # CONFIG_INPUT_MMA8450 is not set
    # CONFIG_INPUT_GP2A is not set
    # CONFIG_INPUT_GPIO_BEEPER is not set
    CONFIG_INPUT_GPIO_DECODER=m
    CONFIG_INPUT_CPCAP_PWRBUTTON=m
    # CONFIG_INPUT_ATI_REMOTE2 is not set
    # CONFIG_INPUT_KEYSPAN_REMOTE is not set
    # CONFIG_INPUT_KXTJ9 is not set
    # CONFIG_INPUT_POWERMATE is not set
    # CONFIG_INPUT_YEALINK is not set
    # CONFIG_INPUT_CM109 is not set
    # CONFIG_INPUT_REGULATOR_HAPTIC is not set
    # CONFIG_INPUT_TPS65218_PWRBUTTON is not set
    # CONFIG_INPUT_TWL6040_VIBRA is not set
    # CONFIG_INPUT_UINPUT is not set
    # CONFIG_INPUT_PALMAS_PWRBUTTON is not set
    # CONFIG_INPUT_PCF8574 is not set
    # CONFIG_INPUT_PWM_BEEPER is not set
    # CONFIG_INPUT_PWM_VIBRA is not set
    # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
    CONFIG_INPUT_ADXL34X=m
    CONFIG_INPUT_ADXL34X_I2C=m
    CONFIG_INPUT_ADXL34X_SPI=m
    # CONFIG_INPUT_IMS_PCU is not set
    # CONFIG_INPUT_CMA3000 is not set
    # CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
    # CONFIG_INPUT_DRV260X_HAPTICS is not set
    # CONFIG_INPUT_DRV2665_HAPTICS is not set
    # CONFIG_INPUT_DRV2667_HAPTICS is not set
    # CONFIG_RMI4_CORE is not set
    
    #
    # Hardware I/O ports
    #
    CONFIG_SERIO=y
    CONFIG_SERIO_SERPORT=y
    # 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
    
    #
    # Character devices
    #
    CONFIG_TTY=y
    CONFIG_VT=y
    CONFIG_CONSOLE_TRANSLATIONS=y
    CONFIG_VT_CONSOLE=y
    CONFIG_VT_CONSOLE_SLEEP=y
    CONFIG_HW_CONSOLE=y
    CONFIG_VT_HW_CONSOLE_BINDING=y
    CONFIG_UNIX98_PTYS=y
    CONFIG_LEGACY_PTYS=y
    CONFIG_LEGACY_PTY_COUNT=256
    # CONFIG_SERIAL_NONSTANDARD is not set
    # CONFIG_NOZOMI is not set
    # CONFIG_N_GSM is not set
    # CONFIG_TRACE_SINK is not set
    CONFIG_LDISC_AUTOLOAD=y
    CONFIG_DEVMEM=y
    # CONFIG_DEVKMEM is not set
    
    #
    # Serial drivers
    #
    CONFIG_SERIAL_EARLYCON=y
    CONFIG_SERIAL_8250=y
    CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
    # CONFIG_SERIAL_8250_FINTEK is not set
    CONFIG_SERIAL_8250_CONSOLE=y
    CONFIG_SERIAL_8250_DMA=y
    CONFIG_SERIAL_8250_PCI=y
    CONFIG_SERIAL_8250_EXAR=y
    CONFIG_SERIAL_8250_NR_UARTS=10
    CONFIG_SERIAL_8250_RUNTIME_UARTS=10
    CONFIG_SERIAL_8250_EXTENDED=y
    # CONFIG_SERIAL_8250_MANY_PORTS is not set
    # CONFIG_SERIAL_8250_ASPEED_VUART is not set
    CONFIG_SERIAL_8250_SHARE_IRQ=y
    # CONFIG_SERIAL_8250_DETECT_IRQ is not set
    # CONFIG_SERIAL_8250_RSA is not set
    CONFIG_SERIAL_8250_FSL=y
    # CONFIG_SERIAL_8250_DW is not set
    # CONFIG_SERIAL_8250_EM is not set
    # CONFIG_SERIAL_8250_RT288X is not set
    CONFIG_SERIAL_8250_OMAP=y
    CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
    # CONFIG_SERIAL_8250_MOXA is not set
    CONFIG_SERIAL_OF_PLATFORM=y
    
    #
    # Non-8250 serial port support
    #
    # CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
    # CONFIG_SERIAL_MAX3100 is not set
    # CONFIG_SERIAL_MAX310X is not set
    # CONFIG_SERIAL_UARTLITE is not set
    CONFIG_SERIAL_CORE=y
    CONFIG_SERIAL_CORE_CONSOLE=y
    # CONFIG_SERIAL_JSM is not set
    # CONFIG_SERIAL_OMAP is not set
    # CONFIG_SERIAL_SCCNXP is not set
    # CONFIG_SERIAL_SC16IS7XX is not set
    CONFIG_SERIAL_BCM63XX=y
    CONFIG_SERIAL_BCM63XX_CONSOLE=y
    # CONFIG_SERIAL_ALTERA_JTAGUART is not set
    # CONFIG_SERIAL_ALTERA_UART is not set
    # CONFIG_SERIAL_IFX6X60 is not set
    # CONFIG_SERIAL_XILINX_PS_UART is not set
    # CONFIG_SERIAL_ARC is not set
    # CONFIG_SERIAL_RP2 is not set
    # CONFIG_SERIAL_FSL_LPUART is not set
    # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
    # CONFIG_SERIAL_ST_ASC is not set
    # CONFIG_SERIAL_PRU_SUART is not set
    CONFIG_SERIAL_DEV_BUS=y
    CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
    # CONFIG_TTY_PRINTK is not set
    CONFIG_HVC_DRIVER=y
    # CONFIG_HVC_DCC is not set
    CONFIG_VIRTIO_CONSOLE=y
    # CONFIG_IPMI_HANDLER is not set
    CONFIG_HW_RANDOM=y
    # CONFIG_HW_RANDOM_TIMERIOMEM is not set
    CONFIG_HW_RANDOM_OMAP=y
    # CONFIG_HW_RANDOM_VIRTIO is not set
    # CONFIG_APPLICOM is not set
    # CONFIG_RAW_DRIVER is not set
    # CONFIG_TCG_TPM is not set
    CONFIG_DEVPORT=y
    # CONFIG_XILLYBUS is not set
    
    #
    # I2C support
    #
    CONFIG_I2C=y
    CONFIG_I2C_BOARDINFO=y
    CONFIG_I2C_COMPAT=y
    CONFIG_I2C_CHARDEV=y
    CONFIG_I2C_MUX=y
    
    #
    # Multiplexer I2C Chip support
    #
    CONFIG_I2C_ARB_GPIO_CHALLENGE=m
    # 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_PINCTRL=y
    # CONFIG_I2C_MUX_REG is not set
    CONFIG_I2C_DEMUX_PINCTRL=y
    # CONFIG_I2C_MUX_MLXCPLD is not set
    CONFIG_I2C_HELPER_AUTO=y
    CONFIG_I2C_ALGOBIT=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_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_CBUS_GPIO is not set
    # CONFIG_I2C_DESIGNWARE_PLATFORM is not set
    # CONFIG_I2C_DESIGNWARE_PCI is not set
    CONFIG_I2C_EMEV2=m
    # CONFIG_I2C_GPIO is not set
    # CONFIG_I2C_OCORES is not set
    CONFIG_I2C_OMAP=y
    # CONFIG_I2C_PCA_PLATFORM is not set
    # CONFIG_I2C_RK3X is not set
    # CONFIG_I2C_SIMTEC is not set
    # CONFIG_I2C_XILINX is not set
    
    #
    # External I2C/SMBus adapter drivers
    #
    # CONFIG_I2C_DIOLAN_U2C is not set
    # CONFIG_I2C_PARPORT_LIGHT is not set
    # CONFIG_I2C_ROBOTFUZZ_OSIF is not set
    # CONFIG_I2C_TAOS_EVM is not set
    # CONFIG_I2C_TINY_USB is not set
    
    #
    # Other I2C/SMBus bus drivers
    #
    # CONFIG_I2C_STUB is not set
    CONFIG_I2C_SLAVE=y
    CONFIG_I2C_SLAVE_EEPROM=y
    # CONFIG_I2C_DEBUG_CORE is not set
    # CONFIG_I2C_DEBUG_ALGO is not set
    # CONFIG_I2C_DEBUG_BUS is not set
    CONFIG_SPI=y
    # CONFIG_SPI_DEBUG is not set
    CONFIG_SPI_MASTER=y
    CONFIG_SPI_MEM=y
    
    #
    # SPI Master Controller Drivers
    #
    # CONFIG_SPI_ALTERA is not set
    # CONFIG_SPI_AXI_SPI_ENGINE is not set
    CONFIG_SPI_BITBANG=m
    # CONFIG_SPI_CADENCE is not set
    # CONFIG_SPI_DESIGNWARE is not set
    CONFIG_SPI_GPIO=m
    # CONFIG_SPI_FSL_SPI is not set
    # CONFIG_SPI_OC_TINY is not set
    CONFIG_SPI_OMAP24XX=y
    CONFIG_SPI_TI_QSPI=y
    # CONFIG_SPI_PXA2XX is not set
    # CONFIG_SPI_ROCKCHIP is not set
    # CONFIG_SPI_SC18IS602 is not set
    # CONFIG_SPI_XCOMM is not set
    # CONFIG_SPI_XILINX is not set
    # CONFIG_SPI_ZYNQMP_GQSPI is not set
    
    #
    # 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=y
    # 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
    
    #
    # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
    #
    CONFIG_PINCTRL=y
    CONFIG_GENERIC_PINCTRL_GROUPS=y
    CONFIG_PINMUX=y
    CONFIG_GENERIC_PINMUX_FUNCTIONS=y
    CONFIG_PINCONF=y
    CONFIG_GENERIC_PINCONF=y
    # CONFIG_DEBUG_PINCTRL is not set
    # CONFIG_PINCTRL_AMD is not set
    # CONFIG_PINCTRL_MCP23S08 is not set
    CONFIG_PINCTRL_SINGLE=y
    # CONFIG_PINCTRL_SX150X is not set
    CONFIG_PINCTRL_PALMAS=y
    CONFIG_PINCTRL_TI_IODELAY=y
    CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
    CONFIG_GPIOLIB=y
    CONFIG_GPIOLIB_FASTPATH_LIMIT=512
    CONFIG_OF_GPIO=y
    CONFIG_GPIOLIB_IRQCHIP=y
    CONFIG_DEBUG_GPIO=y
    CONFIG_GPIO_SYSFS=y
    
    #
    # Memory mapped GPIO drivers
    #
    # CONFIG_GPIO_74XX_MMIO is not set
    # CONFIG_GPIO_ALTERA is not set
    # CONFIG_GPIO_DWAPB is not set
    # CONFIG_GPIO_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_HLWD is not set
    # CONFIG_GPIO_MB86S7X is not set
    # CONFIG_GPIO_MOCKUP is not set
    # CONFIG_GPIO_MPC8XXX is not set
    CONFIG_GPIO_OMAP=y
    CONFIG_GPIO_SYSCON=y
    # CONFIG_GPIO_XILINX is not set
    # CONFIG_GPIO_ZEVIO is not set
    
    #
    # I2C GPIO expanders
    #
    # CONFIG_GPIO_ADP5588 is not set
    # CONFIG_GPIO_ADNP is not set
    # CONFIG_GPIO_MAX7300 is not set
    # CONFIG_GPIO_MAX732X is not set
    CONFIG_GPIO_PCA953X=y
    CONFIG_GPIO_PCA953X_IRQ=y
    CONFIG_GPIO_PCF857X=y
    CONFIG_GPIO_TPIC2810=m
    
    #
    # MFD GPIO expanders
    #
    # CONFIG_HTC_EGPIO is not set
    # CONFIG_GPIO_LP873X is not set
    # CONFIG_GPIO_LP87565 is not set
    CONFIG_GPIO_PALMAS=y
    # CONFIG_GPIO_TPS65218 is not set
    # CONFIG_GPIO_TPS6586X is not set
    CONFIG_GPIO_TPS65910=y
    # CONFIG_GPIO_TWL6040 is not set
    
    #
    # 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
    
    #
    # 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=m
    # CONFIG_GPIO_XRA1403 is not set
    
    #
    # USB GPIO expanders
    #
    CONFIG_W1=m
    
    #
    # 1-wire Bus Masters
    #
    # CONFIG_W1_MASTER_MATROX is not set
    # CONFIG_W1_MASTER_DS2490 is not set
    # CONFIG_W1_MASTER_DS2482 is not set
    # CONFIG_W1_MASTER_DS1WM is not set
    # CONFIG_W1_MASTER_GPIO is not set
    CONFIG_HDQ_MASTER_OMAP=m
    
    #
    # 1-wire Slaves
    #
    # CONFIG_W1_SLAVE_THERM is not set
    # CONFIG_W1_SLAVE_SMEM is not set
    # CONFIG_W1_SLAVE_DS2405 is not set
    # CONFIG_W1_SLAVE_DS2408 is not set
    # CONFIG_W1_SLAVE_DS2413 is not set
    # CONFIG_W1_SLAVE_DS2406 is not set
    # CONFIG_W1_SLAVE_DS2423 is not set
    # CONFIG_W1_SLAVE_DS2805 is not set
    # CONFIG_W1_SLAVE_DS2431 is not set
    # CONFIG_W1_SLAVE_DS2433 is not set
    # CONFIG_W1_SLAVE_DS2438 is not set
    # CONFIG_W1_SLAVE_DS2780 is not set
    # CONFIG_W1_SLAVE_DS2781 is not set
    # CONFIG_W1_SLAVE_DS28E04 is not set
    # CONFIG_W1_SLAVE_DS28E17 is not set
    CONFIG_POWER_AVS=y
    CONFIG_POWER_RESET=y
    # CONFIG_POWER_RESET_BRCMKONA is not set
    # CONFIG_POWER_RESET_BRCMSTB is not set
    CONFIG_POWER_RESET_GPIO=y
    CONFIG_POWER_RESET_GPIO_RESTART=y
    # CONFIG_POWER_RESET_LTC2952 is not set
    # CONFIG_POWER_RESET_RESTART is not set
    # CONFIG_POWER_RESET_VERSATILE 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_POWER_SUPPLY=y
    # CONFIG_POWER_SUPPLY_DEBUG is not set
    # CONFIG_PDA_POWER is not set
    # CONFIG_GENERIC_ADC_BATTERY is not set
    # CONFIG_TEST_POWER is not set
    # CONFIG_CHARGER_ADP5061 is not set
    CONFIG_BATTERY_ACT8945A=y
    CONFIG_BATTERY_CPCAP=m
    # CONFIG_BATTERY_DS2760 is not set
    # CONFIG_BATTERY_DS2780 is not set
    # CONFIG_BATTERY_DS2781 is not set
    # CONFIG_BATTERY_DS2782 is not set
    # CONFIG_BATTERY_LEGO_EV3 is not set
    CONFIG_BATTERY_SBS=y
    # CONFIG_CHARGER_SBS is not set
    # CONFIG_MANAGER_SBS is not set
    # CONFIG_BATTERY_BQ27XXX is not set
    CONFIG_BATTERY_MAX17040=m
    CONFIG_BATTERY_MAX17042=m
    # CONFIG_BATTERY_MAX1721X is not set
    CONFIG_CHARGER_CPCAP=m
    # CONFIG_CHARGER_ISP1704 is not set
    # CONFIG_CHARGER_MAX8903 is not set
    # CONFIG_CHARGER_LP8727 is not set
    # CONFIG_CHARGER_GPIO is not set
    # CONFIG_CHARGER_MANAGER is not set
    # CONFIG_CHARGER_LTC3651 is not set
    # CONFIG_CHARGER_DETECTOR_MAX14656 is not set
    # CONFIG_CHARGER_BQ2415X is not set
    # CONFIG_CHARGER_BQ24190 is not set
    # CONFIG_CHARGER_BQ24257 is not set
    # CONFIG_CHARGER_BQ24735 is not set
    # CONFIG_CHARGER_BQ25890 is not set
    # CONFIG_CHARGER_SMB347 is not set
    CONFIG_CHARGER_TPS65090=y
    # CONFIG_CHARGER_TPS65217 is not set
    # CONFIG_BATTERY_GAUGE_LTC2941 is not set
    # CONFIG_CHARGER_RT9455 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_ADM1021 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_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_ASC7621 is not set
    # CONFIG_SENSORS_ASPEED is not set
    # CONFIG_SENSORS_ATXP1 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_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=y
    # CONFIG_SENSORS_HIH6130 is not set
    CONFIG_SENSORS_IIO_HWMON=y
    # CONFIG_SENSORS_IT87 is not set
    # CONFIG_SENSORS_JC42 is not set
    # CONFIG_SENSORS_POWR1220 is not set
    # CONFIG_SENSORS_LINEAGE is not set
    # CONFIG_SENSORS_LTC2945 is not set
    # CONFIG_SENSORS_LTC2990 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_MAX1111 is not set
    # CONFIG_SENSORS_MAX16065 is not set
    # CONFIG_SENSORS_MAX1619 is not set
    # CONFIG_SENSORS_MAX1668 is not set
    # CONFIG_SENSORS_MAX197 is not set
    # CONFIG_SENSORS_MAX31722 is not set
    # CONFIG_SENSORS_MAX6621 is not set
    # CONFIG_SENSORS_MAX6639 is not set
    # CONFIG_SENSORS_MAX6642 is not set
    # CONFIG_SENSORS_MAX6650 is not set
    # CONFIG_SENSORS_MAX6697 is not set
    # CONFIG_SENSORS_MAX31790 is not set
    # CONFIG_SENSORS_MCP3021 is not set
    # CONFIG_SENSORS_TC654 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 is not set
    # 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=y
    # 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=y
    # CONFIG_SENSORS_PC87360 is not set
    # CONFIG_SENSORS_PC87427 is not set
    CONFIG_SENSORS_NTC_THERMISTOR=m
    # CONFIG_SENSORS_NCT6683 is not set
    # CONFIG_SENSORS_NCT6775 is not set
    # CONFIG_SENSORS_NCT7802 is not set
    # CONFIG_SENSORS_NCT7904 is not set
    # CONFIG_SENSORS_NPCM7XX is not set
    # CONFIG_SENSORS_PCF8591 is not set
    # CONFIG_PMBUS is not set
    CONFIG_SENSORS_PWM_FAN=m
    # CONFIG_SENSORS_SHT15 is not set
    # CONFIG_SENSORS_SHT21 is not set
    # CONFIG_SENSORS_SHT3x 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 is not set
    # 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_SMM665 is not set
    # CONFIG_SENSORS_ADC128D818 is not set
    # CONFIG_SENSORS_ADS1015 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=m
    # CONFIG_SENSORS_INA3221 is not set
    # CONFIG_SENSORS_TC74 is not set
    # CONFIG_SENSORS_THMC50 is not set
    CONFIG_SENSORS_TMP102=y
    # 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_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_THERMAL=y
    # CONFIG_THERMAL_STATISTICS is not set
    CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
    CONFIG_THERMAL_HWMON=y
    CONFIG_THERMAL_OF=y
    CONFIG_THERMAL_WRITABLE_TRIPS=y
    CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
    # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
    # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
    # CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
    CONFIG_THERMAL_GOV_FAIR_SHARE=y
    CONFIG_THERMAL_GOV_STEP_WISE=y
    CONFIG_THERMAL_GOV_BANG_BANG=y
    CONFIG_THERMAL_GOV_USER_SPACE=y
    CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
    CONFIG_CPU_THERMAL=y
    # CONFIG_CLOCK_THERMAL is not set
    # CONFIG_DEVFREQ_THERMAL is not set
    CONFIG_THERMAL_EMULATION=y
    # CONFIG_QORIQ_THERMAL is not set
    
    #
    # ACPI INT340X thermal drivers
    #
    
    #
    # Texas Instruments thermal drivers
    #
    CONFIG_TI_SOC_THERMAL=y
    CONFIG_TI_THERMAL=y
    CONFIG_DRA752_THERMAL=y
    # CONFIG_QCOM_SPMI_TEMP_ALARM is not set
    # CONFIG_GENERIC_ADC_THERMAL is not set
    CONFIG_WATCHDOG=y
    CONFIG_WATCHDOG_CORE=y
    # CONFIG_WATCHDOG_NOWAYOUT is not set
    CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
    # CONFIG_WATCHDOG_SYSFS is not set
    
    #
    # Watchdog Device Drivers
    #
    # CONFIG_SOFT_WATCHDOG is not set
    # CONFIG_GPIO_WATCHDOG is not set
    # CONFIG_XILINX_WATCHDOG is not set
    # CONFIG_ZIIRAVE_WATCHDOG is not set
    # CONFIG_CADENCE_WATCHDOG is not set
    # CONFIG_FTWDT010_WATCHDOG is not set
    # CONFIG_DW_WATCHDOG is not set
    CONFIG_OMAP_WATCHDOG=m
    # CONFIG_MAX63XX_WATCHDOG is not set
    # CONFIG_ALIM7101_WDT is not set
    # CONFIG_I6300ESB_WDT 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
    
    #
    # Watchdog Pretimeout Governors
    #
    # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
    CONFIG_SSB_POSSIBLE=y
    CONFIG_SSB=m
    CONFIG_SSB_SPROM=y
    CONFIG_SSB_BLOCKIO=y
    CONFIG_SSB_PCIHOST_POSSIBLE=y
    CONFIG_SSB_PCIHOST=y
    CONFIG_SSB_B43_PCI_BRIDGE=y
    CONFIG_SSB_SDIOHOST_POSSIBLE=y
    # CONFIG_SSB_SDIOHOST is not set
    CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
    CONFIG_SSB_DRIVER_PCICORE=y
    # CONFIG_SSB_DRIVER_GPIO is not set
    CONFIG_BCMA_POSSIBLE=y
    CONFIG_BCMA=m
    CONFIG_BCMA_BLOCKIO=y
    CONFIG_BCMA_HOST_PCI_POSSIBLE=y
    CONFIG_BCMA_HOST_PCI=y
    CONFIG_BCMA_HOST_SOC=y
    CONFIG_BCMA_DRIVER_PCI=y
    CONFIG_BCMA_SFLASH=y
    CONFIG_BCMA_DRIVER_GMAC_CMN=y
    CONFIG_BCMA_DRIVER_GPIO=y
    # CONFIG_BCMA_DEBUG is not set
    
    #
    # Multifunction device drivers
    #
    CONFIG_MFD_CORE=y
    CONFIG_MFD_ACT8945A=y
    # CONFIG_MFD_AS3711 is not set
    # CONFIG_MFD_AS3722 is not set
    # CONFIG_PMIC_ADP5520 is not set
    # CONFIG_MFD_AAT2870_CORE is not set
    # CONFIG_MFD_ATMEL_FLEXCOM is not set
    # CONFIG_MFD_ATMEL_HLCDC is not set
    # CONFIG_MFD_BCM590XX is not set
    # CONFIG_MFD_BD9571MWV is not set
    # CONFIG_MFD_AXP20X_I2C is not set
    # CONFIG_MFD_CROS_EC is not set
    # CONFIG_MFD_MADERA is not set
    # CONFIG_MFD_ASIC3 is not set
    # CONFIG_PMIC_DA903X is not set
    # CONFIG_MFD_DA9052_SPI is not set
    # CONFIG_MFD_DA9052_I2C is not set
    # CONFIG_MFD_DA9055 is not set
    # CONFIG_MFD_DA9062 is not set
    # CONFIG_MFD_DA9063 is not set
    # CONFIG_MFD_DA9150 is not set
    # CONFIG_MFD_DLN2 is not set
    # CONFIG_MFD_MC13XXX_SPI is not set
    # CONFIG_MFD_MC13XXX_I2C is not set
    # CONFIG_MFD_HI6421_PMIC is not set
    # CONFIG_HTC_PASIC3 is not set
    # CONFIG_HTC_I2CPLD is not set
    # CONFIG_LPC_ICH is not set
    # CONFIG_LPC_SCH 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_MAX14577 is not set
    # CONFIG_MFD_MAX77620 is not set
    # CONFIG_MFD_MAX77686 is not set
    # CONFIG_MFD_MAX77693 is not set
    # CONFIG_MFD_MAX77843 is not set
    # CONFIG_MFD_MAX8907 is not set
    # CONFIG_MFD_MAX8925 is not set
    # CONFIG_MFD_MAX8997 is not set
    # CONFIG_MFD_MAX8998 is not set
    # CONFIG_MFD_MT6397 is not set
    # CONFIG_MFD_MENF21BMC is not set
    # CONFIG_EZX_PCAP is not set
    CONFIG_MFD_CPCAP=y
    # CONFIG_MFD_VIPERBOARD is not set
    # CONFIG_MFD_RETU is not set
    # CONFIG_MFD_PCF50633 is not set
    # CONFIG_MFD_PM8XXX is not set
    # CONFIG_MFD_RDC321X is not set
    # CONFIG_MFD_RT5033 is not set
    # CONFIG_MFD_RC5T583 is not set
    # CONFIG_MFD_RK808 is not set
    # CONFIG_MFD_RN5T618 is not set
    # CONFIG_MFD_SEC_CORE is not set
    # CONFIG_MFD_SI476X_CORE is not set
    # CONFIG_MFD_SM501 is not set
    # CONFIG_MFD_SKY81452 is not set
    # CONFIG_MFD_SMSC is not set
    # CONFIG_ABX500_CORE is not set
    # CONFIG_MFD_STMPE is not set
    CONFIG_MFD_SYSCON=y
    CONFIG_MFD_TI_AM335X_TSCADC=m
    # CONFIG_MFD_LP3943 is not set
    # CONFIG_MFD_LP8788 is not set
    # CONFIG_MFD_TI_LMU is not set
    CONFIG_MFD_OMAP_USB_HOST=y
    CONFIG_MFD_PALMAS=y
    # CONFIG_TPS6105X is not set
    # CONFIG_TPS65010 is not set
    # CONFIG_TPS6507X is not set
    # CONFIG_MFD_TPS65086 is not set
    CONFIG_MFD_TPS65090=y
    CONFIG_MFD_TPS65217=y
    CONFIG_MFD_TI_LP873X=y
    CONFIG_MFD_TI_LP87565=y
    CONFIG_MFD_TPS65218=y
    CONFIG_MFD_TPS6586X=y
    CONFIG_MFD_TPS65910=y
    # CONFIG_MFD_TPS65912_I2C is not set
    # CONFIG_MFD_TPS65912_SPI is not set
    # CONFIG_MFD_TPS80031 is not set
    # CONFIG_TWL4030_CORE is not set
    CONFIG_TWL6040_CORE=y
    # CONFIG_AIC3XXX_CORE is not set
    # CONFIG_MFD_WL1273_CORE is not set
    # CONFIG_MFD_LM3533 is not set
    # CONFIG_MFD_TC3589X is not set
    # CONFIG_MFD_T7L66XB is not set
    # CONFIG_MFD_TC6387XB is not set
    # CONFIG_MFD_TC6393XB is not set
    # CONFIG_MFD_VX855 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_RAVE_SP_CORE is not set
    CONFIG_REGULATOR=y
    # CONFIG_REGULATOR_DEBUG is not set
    CONFIG_REGULATOR_FIXED_VOLTAGE=y
    # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
    # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
    # CONFIG_REGULATOR_88PG86X is not set
    # CONFIG_REGULATOR_ACT8865 is not set
    CONFIG_REGULATOR_ACT8945A=y
    # CONFIG_REGULATOR_AD5398 is not set
    # CONFIG_REGULATOR_ANATOP is not set
    CONFIG_REGULATOR_CPCAP=y
    # CONFIG_REGULATOR_DA9210 is not set
    # CONFIG_REGULATOR_DA9211 is not set
    # CONFIG_REGULATOR_FAN53555 is not set
    CONFIG_REGULATOR_GPIO=y
    # CONFIG_REGULATOR_ISL9305 is not set
    # CONFIG_REGULATOR_ISL6271A is not set
    # CONFIG_REGULATOR_LP3971 is not set
    # CONFIG_REGULATOR_LP3972 is not set
    # CONFIG_REGULATOR_LP872X is not set
    CONFIG_REGULATOR_LP873X=y
    # CONFIG_REGULATOR_LP8755 is not set
    CONFIG_REGULATOR_LP87565=y
    # CONFIG_REGULATOR_LTC3589 is not set
    # CONFIG_REGULATOR_LTC3676 is not set
    # CONFIG_REGULATOR_MAX1586 is not set
    # CONFIG_REGULATOR_MAX8649 is not set
    # CONFIG_REGULATOR_MAX8660 is not set
    # CONFIG_REGULATOR_MAX8952 is not set
    # CONFIG_REGULATOR_MAX8973 is not set
    # CONFIG_REGULATOR_MT6311 is not set
    CONFIG_REGULATOR_PALMAS=y
    CONFIG_REGULATOR_PBIAS=y
    # CONFIG_REGULATOR_PFUZE100 is not set
    # CONFIG_REGULATOR_PV88060 is not set
    # CONFIG_REGULATOR_PV88080 is not set
    # CONFIG_REGULATOR_PV88090 is not set
    # CONFIG_REGULATOR_PWM is not set
    # CONFIG_REGULATOR_QCOM_SPMI is not set
    CONFIG_REGULATOR_TI_ABB=y
    # CONFIG_REGULATOR_SY8106A is not set
    # CONFIG_REGULATOR_TPS51632 is not set
    CONFIG_REGULATOR_TPS62360=y
    CONFIG_REGULATOR_TPS65023=y
    CONFIG_REGULATOR_TPS6507X=y
    CONFIG_REGULATOR_TPS65090=y
    # CONFIG_REGULATOR_TPS65132 is not set
    CONFIG_REGULATOR_TPS65217=y
    CONFIG_REGULATOR_TPS65218=y
    CONFIG_REGULATOR_TPS6524X=y
    CONFIG_REGULATOR_TPS6586X=y
    CONFIG_REGULATOR_TPS65910=y
    # CONFIG_REGULATOR_VCTRL is not set
    CONFIG_CEC_CORE=y
    # CONFIG_RC_CORE is not set
    CONFIG_MEDIA_SUPPORT=y
    
    #
    # Multimedia core support
    #
    CONFIG_MEDIA_CAMERA_SUPPORT=y
    # CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
    # CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
    # CONFIG_MEDIA_RADIO_SUPPORT is not set
    # CONFIG_MEDIA_SDR_SUPPORT is not set
    CONFIG_MEDIA_CEC_SUPPORT=y
    CONFIG_MEDIA_CONTROLLER=y
    CONFIG_VIDEO_DEV=y
    CONFIG_VIDEO_V4L2_SUBDEV_API=y
    CONFIG_VIDEO_V4L2=y
    # CONFIG_VIDEO_ADV_DEBUG is not set
    # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
    # CONFIG_VIDEO_PCI_SKELETON is not set
    CONFIG_V4L2_MEM2MEM_DEV=y
    # CONFIG_V4L2_FLASH_LED_CLASS is not set
    CONFIG_V4L2_FWNODE=m
    
    #
    # Media drivers
    #
    CONFIG_MEDIA_USB_SUPPORT=y
    
    #
    # Webcam devices
    #
    CONFIG_USB_VIDEO_CLASS=m
    CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
    CONFIG_USB_GSPCA=m
    # CONFIG_USB_M5602 is not set
    # CONFIG_USB_STV06XX is not set
    # CONFIG_USB_GL860 is not set
    # CONFIG_USB_GSPCA_BENQ is not set
    # CONFIG_USB_GSPCA_CONEX is not set
    # CONFIG_USB_GSPCA_CPIA1 is not set
    # CONFIG_USB_GSPCA_DTCS033 is not set
    # CONFIG_USB_GSPCA_ETOMS is not set
    # CONFIG_USB_GSPCA_FINEPIX is not set
    # CONFIG_USB_GSPCA_JEILINJ is not set
    # CONFIG_USB_GSPCA_JL2005BCD is not set
    # CONFIG_USB_GSPCA_KINECT is not set
    # CONFIG_USB_GSPCA_KONICA is not set
    # CONFIG_USB_GSPCA_MARS is not set
    # CONFIG_USB_GSPCA_MR97310A is not set
    # CONFIG_USB_GSPCA_NW80X is not set
    # CONFIG_USB_GSPCA_OV519 is not set
    # CONFIG_USB_GSPCA_OV534 is not set
    # CONFIG_USB_GSPCA_OV534_9 is not set
    # CONFIG_USB_GSPCA_PAC207 is not set
    # CONFIG_USB_GSPCA_PAC7302 is not set
    # CONFIG_USB_GSPCA_PAC7311 is not set
    # CONFIG_USB_GSPCA_SE401 is not set
    # CONFIG_USB_GSPCA_SN9C2028 is not set
    # CONFIG_USB_GSPCA_SN9C20X is not set
    # CONFIG_USB_GSPCA_SONIXB is not set
    # CONFIG_USB_GSPCA_SONIXJ is not set
    # CONFIG_USB_GSPCA_SPCA500 is not set
    # CONFIG_USB_GSPCA_SPCA501 is not set
    # CONFIG_USB_GSPCA_SPCA505 is not set
    # CONFIG_USB_GSPCA_SPCA506 is not set
    # CONFIG_USB_GSPCA_SPCA508 is not set
    # CONFIG_USB_GSPCA_SPCA561 is not set
    # CONFIG_USB_GSPCA_SPCA1528 is not set
    # CONFIG_USB_GSPCA_SQ905 is not set
    # CONFIG_USB_GSPCA_SQ905C is not set
    # CONFIG_USB_GSPCA_SQ930X is not set
    # CONFIG_USB_GSPCA_STK014 is not set
    # CONFIG_USB_GSPCA_STK1135 is not set
    # CONFIG_USB_GSPCA_STV0680 is not set
    # CONFIG_USB_GSPCA_SUNPLUS is not set
    # CONFIG_USB_GSPCA_T613 is not set
    # CONFIG_USB_GSPCA_TOPRO is not set
    # CONFIG_USB_GSPCA_TOUPTEK is not set
    # CONFIG_USB_GSPCA_TV8532 is not set
    # CONFIG_USB_GSPCA_VC032X is not set
    # CONFIG_USB_GSPCA_VICAM is not set
    # CONFIG_USB_GSPCA_XIRLINK_CIT is not set
    # CONFIG_USB_GSPCA_ZC3XX is not set
    # CONFIG_USB_PWC is not set
    # CONFIG_VIDEO_CPIA2 is not set
    # CONFIG_USB_ZR364XX is not set
    # CONFIG_USB_STKWEBCAM is not set
    # CONFIG_USB_S2255 is not set
    # CONFIG_VIDEO_USBTV is not set
    
    #
    # Webcam, TV (analog/digital) USB devices
    #
    # CONFIG_VIDEO_EM28XX is not set
    
    #
    # USB HDMI CEC adapters
    #
    # CONFIG_USB_PULSE8_CEC is not set
    # CONFIG_USB_RAINSHADOW_CEC is not set
    # CONFIG_MEDIA_PCI_SUPPORT is not set
    CONFIG_V4L_PLATFORM_DRIVERS=y
    # CONFIG_VIDEO_CAFE_CCIC is not set
    # CONFIG_VIDEO_CADENCE is not set
    # CONFIG_VIDEO_MUX is not set
    CONFIG_SOC_CAMERA=m
    CONFIG_SOC_CAMERA_PLATFORM=m
    # CONFIG_VIDEO_XILINX is not set
    CONFIG_VIDEO_TI_CAL=m
    CONFIG_VIDEO_TI_VIP=m
    CONFIG_V4L_MEM2MEM_DRIVERS=y
    # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
    # CONFIG_VIDEO_SH_VEU is not set
    CONFIG_VIDEO_TI_VPE=m
    # CONFIG_VIDEO_TI_VPE_DEBUG is not set
    CONFIG_VIDEO_TI_VPDMA=m
    CONFIG_VIDEO_TI_SC=m
    CONFIG_VIDEO_TI_CSC=m
    CONFIG_V4L_TEST_DRIVERS=y
    # CONFIG_VIDEO_VIMC is not set
    CONFIG_VIDEO_VIVID=m
    # CONFIG_VIDEO_VIVID_CEC is not set
    CONFIG_VIDEO_VIVID_MAX_DEVS=64
    # CONFIG_VIDEO_VIM2M is not set
    # CONFIG_VIDEO_VICODEC is not set
    CONFIG_CEC_PLATFORM_DRIVERS=y
    # CONFIG_CEC_GPIO is not set
    
    #
    # Supported MMC/SDIO adapters
    #
    # CONFIG_CYPRESS_FIRMWARE is not set
    CONFIG_VIDEOBUF2_CORE=y
    CONFIG_VIDEOBUF2_V4L2=y
    CONFIG_VIDEOBUF2_MEMOPS=y
    CONFIG_VIDEOBUF2_DMA_CONTIG=y
    CONFIG_VIDEOBUF2_VMALLOC=m
    CONFIG_VIDEO_V4L2_TPG=m
    
    #
    # Media ancillary drivers (tuners, sensors, i2c, spi, frontends)
    #
    # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
    
    #
    # I2C Encoders, decoders, sensors and other helper chips
    #
    
    #
    # Audio decoders, processors and mixers
    #
    # CONFIG_VIDEO_TVAUDIO is not set
    # CONFIG_VIDEO_TDA7432 is not set
    # CONFIG_VIDEO_TDA9840 is not set
    # CONFIG_VIDEO_TDA1997X is not set
    # CONFIG_VIDEO_TEA6415C is not set
    # CONFIG_VIDEO_TEA6420 is not set
    # CONFIG_VIDEO_MSP3400 is not set
    # CONFIG_VIDEO_CS3308 is not set
    # CONFIG_VIDEO_CS5345 is not set
    # CONFIG_VIDEO_CS53L32A is not set
    # CONFIG_VIDEO_TLV320AIC23B is not set
    # CONFIG_VIDEO_UDA1342 is not set
    # CONFIG_VIDEO_WM8775 is not set
    # CONFIG_VIDEO_WM8739 is not set
    # CONFIG_VIDEO_VP27SMPX is not set
    # CONFIG_VIDEO_SONY_BTF_MPX is not set
    
    #
    # RDS decoders
    #
    # CONFIG_VIDEO_SAA6588 is not set
    
    #
    # Video decoders
    #
    CONFIG_VIDEO_ADV7180=m
    # CONFIG_VIDEO_ADV7183 is not set
    # CONFIG_VIDEO_ADV748X is not set
    # CONFIG_VIDEO_ADV7604 is not set
    # CONFIG_VIDEO_ADV7842 is not set
    # CONFIG_VIDEO_BT819 is not set
    # CONFIG_VIDEO_BT856 is not set
    # CONFIG_VIDEO_BT866 is not set
    # CONFIG_VIDEO_KS0127 is not set
    CONFIG_VIDEO_ML86V7667=m
    # CONFIG_VIDEO_AD5820 is not set
    # CONFIG_VIDEO_AK7375 is not set
    # CONFIG_VIDEO_DW9714 is not set
    # CONFIG_VIDEO_DW9807_VCM is not set
    # CONFIG_VIDEO_SAA7110 is not set
    # CONFIG_VIDEO_SAA711X is not set
    # CONFIG_VIDEO_TC358743 is not set
    # CONFIG_VIDEO_TVP514X is not set
    # CONFIG_VIDEO_TVP5150 is not set
    # CONFIG_VIDEO_TVP7002 is not set
    # CONFIG_VIDEO_TW2804 is not set
    # CONFIG_VIDEO_TW9903 is not set
    # CONFIG_VIDEO_TW9906 is not set
    # CONFIG_VIDEO_TW9910 is not set
    # CONFIG_VIDEO_VPX3220 is not set
    
    #
    # Video and audio decoders
    #
    # CONFIG_VIDEO_SAA717X is not set
    # CONFIG_VIDEO_CX25840 is not set
    
    #
    # Video encoders
    #
    # CONFIG_VIDEO_SAA7127 is not set
    # CONFIG_VIDEO_SAA7185 is not set
    # CONFIG_VIDEO_ADV7170 is not set
    # CONFIG_VIDEO_ADV7175 is not set
    # CONFIG_VIDEO_ADV7343 is not set
    # CONFIG_VIDEO_ADV7393 is not set
    # CONFIG_VIDEO_ADV7511 is not set
    # CONFIG_VIDEO_AD9389B is not set
    # CONFIG_VIDEO_AK881X is not set
    # CONFIG_VIDEO_THS8200 is not set
    
    #
    # Camera sensor devices
    #
    # CONFIG_VIDEO_IMX258 is not set
    # CONFIG_VIDEO_IMX274 is not set
    # CONFIG_VIDEO_OV2640 is not set
    CONFIG_VIDEO_OV2659=m
    # CONFIG_VIDEO_OV2680 is not set
    # CONFIG_VIDEO_OV2685 is not set
    CONFIG_VIDEO_OV5640=m
    # CONFIG_VIDEO_OV5645 is not set
    # CONFIG_VIDEO_OV5647 is not set
    # CONFIG_VIDEO_OV6650 is not set
    # CONFIG_VIDEO_OV5670 is not set
    # CONFIG_VIDEO_OV5695 is not set
    # CONFIG_VIDEO_OV7251 is not set
    # CONFIG_VIDEO_OV772X is not set
    # CONFIG_VIDEO_OV7640 is not set
    # CONFIG_VIDEO_OV7670 is not set
    # CONFIG_VIDEO_OV7740 is not set
    # CONFIG_VIDEO_OV9650 is not set
    # CONFIG_VIDEO_OV13858 is not set
    CONFIG_VIDEO_OV1063X=m
    CONFIG_VIDEO_OV490=m
    # CONFIG_VIDEO_VS6624 is not set
    # CONFIG_VIDEO_MT9M032 is not set
    # CONFIG_VIDEO_MT9M111 is not set
    # CONFIG_VIDEO_MT9P031 is not set
    # CONFIG_VIDEO_MT9T001 is not set
    # CONFIG_VIDEO_MT9T112 is not set
    # CONFIG_VIDEO_MT9V011 is not set
    # CONFIG_VIDEO_MT9V032 is not set
    # CONFIG_VIDEO_MT9V111 is not set
    CONFIG_VIDEO_MT9T11X=m
    # CONFIG_VIDEO_SR030PC30 is not set
    # CONFIG_VIDEO_NOON010PC30 is not set
    # CONFIG_VIDEO_M5MOLS is not set
    # CONFIG_VIDEO_RJ54N1 is not set
    # CONFIG_VIDEO_S5K6AA is not set
    # CONFIG_VIDEO_S5K6A3 is not set
    # CONFIG_VIDEO_S5K4ECGX is not set
    # CONFIG_VIDEO_S5K5BAF is not set
    # CONFIG_VIDEO_SMIAPP is not set
    # CONFIG_VIDEO_ET8EK8 is not set
    # CONFIG_VIDEO_S5C73M3 is not set
    
    #
    # Flash devices
    #
    # CONFIG_VIDEO_ADP1653 is not set
    # CONFIG_VIDEO_LM3560 is not set
    # CONFIG_VIDEO_LM3646 is not set
    
    #
    # Video improvement chips
    #
    # CONFIG_VIDEO_UPD64031A is not set
    # CONFIG_VIDEO_UPD64083 is not set
    
    #
    # Audio/Video compression chips
    #
    # CONFIG_VIDEO_SAA6752HS is not set
    
    #
    # SDR tuner chips
    #
    
    #
    # Miscellaneous helper chips
    #
    # CONFIG_VIDEO_THS7303 is not set
    # CONFIG_VIDEO_M52790 is not set
    # CONFIG_VIDEO_I2C is not set
    
    #
    # Sensors used on soc_camera driver
    #
    
    #
    # soc_camera sensor drivers
    #
    # CONFIG_SOC_CAMERA_MT9M001 is not set
    # CONFIG_SOC_CAMERA_MT9M111 is not set
    # CONFIG_SOC_CAMERA_MT9T112 is not set
    # CONFIG_SOC_CAMERA_MT9V022 is not set
    # CONFIG_SOC_CAMERA_OV5642 is not set
    # CONFIG_SOC_CAMERA_OV772X is not set
    # CONFIG_SOC_CAMERA_OV9640 is not set
    # CONFIG_SOC_CAMERA_OV9740 is not set
    # CONFIG_SOC_CAMERA_RJ54N1 is not set
    # CONFIG_SOC_CAMERA_TW9910 is not set
    
    #
    # SPI helper chips
    #
    # CONFIG_VIDEO_GS1662 is not set
    
    #
    # Media SPI Adapters
    #
    
    #
    # Customise DVB Frontends
    #
    
    #
    # Tools to develop new frontends
    #
    
    #
    # Graphics support
    #
    # CONFIG_VGA_ARB is not set
    # CONFIG_IMX_IPUV3_CORE is not set
    CONFIG_DRM=y
    CONFIG_DRM_MIPI_DSI=y
    # CONFIG_DRM_DP_AUX_CHARDEV is not set
    # CONFIG_DRM_DEBUG_MM is not set
    # CONFIG_DRM_DEBUG_SELFTEST is not set
    CONFIG_DRM_KMS_HELPER=y
    CONFIG_DRM_KMS_FB_HELPER=y
    CONFIG_DRM_FBDEV_EMULATION=y
    CONFIG_DRM_FBDEV_OVERALLOC=100
    # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
    # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
    # CONFIG_DRM_DP_CEC is not set
    CONFIG_DRM_GEM_CMA_HELPER=y
    CONFIG_DRM_KMS_CMA_HELPER=y
    CONFIG_DRM_VM=y
    
    #
    # I2C encoder or helper chips
    #
    # CONFIG_DRM_I2C_CH7006 is not set
    # CONFIG_DRM_I2C_SIL164 is not set
    CONFIG_DRM_I2C_NXP_TDA998X=y
    # CONFIG_DRM_I2C_NXP_TDA9950 is not set
    # CONFIG_DRM_HDLCD is not set
    # CONFIG_DRM_MALI_DISPLAY is not set
    # CONFIG_DRM_RADEON is not set
    # CONFIG_DRM_AMDGPU is not set
    
    #
    # ACP (Audio CoProcessor) Configuration
    #
    
    #
    # AMD Library routines
    #
    # CONFIG_DRM_NOUVEAU is not set
    # CONFIG_DRM_VGEM is not set
    # CONFIG_DRM_VKMS is not set
    # CONFIG_DRM_EXYNOS is not set
    # CONFIG_DRM_UDL is not set
    # CONFIG_DRM_AST is not set
    # CONFIG_DRM_MGAG200 is not set
    # CONFIG_DRM_CIRRUS_QEMU is not set
    # CONFIG_DRM_ARMADA is not set
    # CONFIG_DRM_RCAR_DW_HDMI is not set
    # CONFIG_DRM_RCAR_LVDS is not set
    CONFIG_DRM_OMAP=y
    CONFIG_DRM_OMAP_WB=y
    CONFIG_OMAP2_DSS_INIT=y
    CONFIG_OMAP_DSS_BASE=y
    CONFIG_OMAP2_DSS=y
    # CONFIG_OMAP2_DSS_DEBUG is not set
    CONFIG_OMAP2_DSS_DEBUGFS=y
    # CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
    CONFIG_OMAP2_DSS_DPI=y
    # CONFIG_OMAP2_DSS_VENC is not set
    CONFIG_OMAP2_DSS_HDMI_COMMON=y
    CONFIG_OMAP4_DSS_HDMI=y
    CONFIG_OMAP4_DSS_HDMI_CEC=y
    CONFIG_OMAP5_DSS_HDMI=y
    # CONFIG_OMAP2_DSS_SDI is not set
    # CONFIG_OMAP2_DSS_DSI is not set
    CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
    CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
    
    #
    # OMAPDRM External Display Device Drivers
    #
    # CONFIG_DRM_OMAP_ENCODER_OPA362 is not set
    CONFIG_DRM_OMAP_ENCODER_TPD12S015=y
    CONFIG_DRM_OMAP_DRA7EVM_ENCODER_TPD12S015=y
    CONFIG_DRM_OMAP_CONNECTOR_HDMI=y
    # CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV is not set
    # CONFIG_DRM_OMAP_PANEL_DSI_CM is not set
    # CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM is not set
    # CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02 is not set
    # CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01 is not set
    # CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1 is not set
    # CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1 is not set
    # CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11 is not set
    CONFIG_DRM_TILCDC=y
    # CONFIG_DRM_QXL is not set
    # CONFIG_DRM_BOCHS is not set
    # CONFIG_DRM_VIRTIO_GPU is not set
    # CONFIG_DRM_FSL_DCU is not set
    # CONFIG_DRM_STM is not set
    CONFIG_DRM_PANEL=y
    
    #
    # Display Panels
    #
    # CONFIG_DRM_PANEL_ARM_VERSATILE is not set
    # CONFIG_DRM_PANEL_LVDS is not set
    CONFIG_DRM_PANEL_SIMPLE=y
    # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
    # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
    # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
    # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
    # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
    # CONFIG_DRM_PANEL_LG_LG4573 is not set
    # CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
    CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
    # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
    # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
    # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
    # CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
    # CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
    # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
    # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
    # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
    # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
    # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
    CONFIG_DRM_BRIDGE=y
    CONFIG_DRM_PANEL_BRIDGE=y
    
    #
    # Display Interface Bridges
    #
    # CONFIG_DRM_ANALOGIX_ANX78XX is not set
    # CONFIG_DRM_CDNS_DSI is not set
    CONFIG_DRM_CDNS_MHDP=m
    CONFIG_DRM_CDNS_MHDP_J721E=y
    # CONFIG_DRM_DUMB_VGA_DAC is not set
    # CONFIG_DRM_LVDS_ENCODER is not set
    # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
    # CONFIG_DRM_NXP_PTN3460 is not set
    # CONFIG_DRM_PARADE_PS8622 is not set
    # CONFIG_DRM_SIL_SII8620 is not set
    CONFIG_DRM_SII902X=y
    # CONFIG_DRM_SII9234 is not set
    # CONFIG_DRM_THINE_THC63LVD1024 is not set
    CONFIG_DRM_TOSHIBA_TC358767=y
    CONFIG_DRM_TOSHIBA_TC358768=y
    CONFIG_DRM_TI_TFP410=y
    # CONFIG_DRM_I2C_ADV7511 is not set
    # CONFIG_DRM_STI is not set
    # CONFIG_DRM_ARCPGU is not set
    # CONFIG_DRM_HISI_HIBMC is not set
    # CONFIG_DRM_MXSFB is not set
    # CONFIG_DRM_TINYDRM is not set
    # CONFIG_DRM_PL111 is not set
    # CONFIG_DRM_TVE200 is not set
    CONFIG_DRM_TIDSS=y
    CONFIG_DRM_TIDSS_DSS6=y
    CONFIG_DRM_TIDSS_DSS7=y
    CONFIG_DRM_TIDSS_WB=y
    CONFIG_DRM_LEGACY=y
    # CONFIG_DRM_TDFX is not set
    # CONFIG_DRM_R128 is not set
    # CONFIG_DRM_MGA is not set
    # CONFIG_DRM_VIA is not set
    # CONFIG_DRM_SAVAGE is not set
    CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
    
    #
    # Frame buffer Devices
    #
    CONFIG_FB_CMDLINE=y
    CONFIG_FB_NOTIFY=y
    CONFIG_FB=y
    # CONFIG_FIRMWARE_EDID is not set
    CONFIG_FB_CFB_FILLRECT=y
    CONFIG_FB_CFB_COPYAREA=y
    CONFIG_FB_CFB_IMAGEBLIT=y
    CONFIG_FB_SYS_FILLRECT=y
    CONFIG_FB_SYS_COPYAREA=y
    CONFIG_FB_SYS_IMAGEBLIT=y
    # CONFIG_FB_FOREIGN_ENDIAN is not set
    CONFIG_FB_SYS_FOPS=y
    CONFIG_FB_DEFERRED_IO=y
    CONFIG_FB_BACKLIGHT=y
    # CONFIG_FB_MODE_HELPERS is not set
    # CONFIG_FB_TILEBLITTING is not set
    
    #
    # Frame buffer hardware drivers
    #
    # CONFIG_FB_CIRRUS is not set
    # CONFIG_FB_PM2 is not set
    # CONFIG_FB_CYBER2000 is not set
    # CONFIG_FB_ASILIANT is not set
    # CONFIG_FB_IMSTT is not set
    # CONFIG_FB_EFI is not set
    # CONFIG_FB_OPENCORES is not set
    # CONFIG_FB_S1D13XXX is not set
    # CONFIG_FB_NVIDIA is not set
    # CONFIG_FB_RIVA is not set
    # CONFIG_FB_I740 is not set
    # CONFIG_FB_MATROX is not set
    # CONFIG_FB_RADEON is not set
    # CONFIG_FB_ATY128 is not set
    # CONFIG_FB_ATY is not set
    # CONFIG_FB_S3 is not set
    # CONFIG_FB_SAVAGE is not set
    # CONFIG_FB_SIS is not set
    # CONFIG_FB_NEOMAGIC is not set
    # CONFIG_FB_KYRO is not set
    # CONFIG_FB_3DFX is not set
    # CONFIG_FB_VOODOO1 is not set
    # CONFIG_FB_VT8623 is not set
    # CONFIG_FB_TRIDENT is not set
    # CONFIG_FB_ARK is not set
    # CONFIG_FB_PM3 is not set
    # CONFIG_FB_CARMINE is not set
    # CONFIG_FB_SMSCUFX is not set
    # CONFIG_FB_UDL is not set
    # CONFIG_FB_IBM_GXT4500 is not set
    # CONFIG_FB_VIRTUAL is not set
    # CONFIG_FB_METRONOME is not set
    # CONFIG_FB_MB862XX is not set
    # CONFIG_FB_BROADSHEET is not set
    # CONFIG_FB_SIMPLE is not set
    CONFIG_FB_SSD1307=y
    # CONFIG_FB_SM712 is not set
    CONFIG_BACKLIGHT_LCD_SUPPORT=y
    # CONFIG_LCD_CLASS_DEVICE is not set
    CONFIG_BACKLIGHT_CLASS_DEVICE=y
    CONFIG_BACKLIGHT_GENERIC=y
    CONFIG_BACKLIGHT_PWM=y
    # CONFIG_BACKLIGHT_PM8941_WLED is not set
    # CONFIG_BACKLIGHT_ADP8860 is not set
    # CONFIG_BACKLIGHT_ADP8870 is not set
    # CONFIG_BACKLIGHT_LM3630A is not set
    # CONFIG_BACKLIGHT_LM3639 is not set
    # CONFIG_BACKLIGHT_LP855X is not set
    # CONFIG_BACKLIGHT_TPS65217 is not set
    CONFIG_BACKLIGHT_GPIO=y
    # CONFIG_BACKLIGHT_LV5207LP is not set
    # CONFIG_BACKLIGHT_BD6107 is not set
    # CONFIG_BACKLIGHT_ARCXCNN is not set
    CONFIG_BACKLIGHT_LED=y
    CONFIG_VIDEOMODE_HELPERS=y
    CONFIG_HDMI=y
    
    #
    # Console display driver support
    #
    CONFIG_DUMMY_CONSOLE=y
    CONFIG_FRAMEBUFFER_CONSOLE=y
    CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
    # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
    # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
    # CONFIG_LOGO is not set
    CONFIG_SOUND=y
    CONFIG_SND=y
    CONFIG_SND_TIMER=y
    CONFIG_SND_PCM=y
    CONFIG_SND_PCM_ELD=y
    CONFIG_SND_PCM_IEC958=y
    CONFIG_SND_DMAENGINE_PCM=y
    CONFIG_SND_HWDEP=m
    CONFIG_SND_RAWMIDI=m
    CONFIG_SND_JACK=y
    CONFIG_SND_JACK_INPUT_DEV=y
    # CONFIG_SND_OSSEMUL is not set
    CONFIG_SND_PCM_TIMER=y
    # CONFIG_SND_HRTIMER is not set
    # CONFIG_SND_DYNAMIC_MINORS is not set
    CONFIG_SND_SUPPORT_OLD_API=y
    CONFIG_SND_PROC_FS=y
    CONFIG_SND_VERBOSE_PROCFS=y
    # CONFIG_SND_VERBOSE_PRINTK is not set
    # CONFIG_SND_DEBUG is not set
    # CONFIG_SND_SEQUENCER is not set
    CONFIG_SND_DRIVERS=y
    # CONFIG_SND_DUMMY is not set
    # CONFIG_SND_ALOOP is not set
    # CONFIG_SND_MTPAV is not set
    # CONFIG_SND_SERIAL_U16550 is not set
    # CONFIG_SND_MPU401 is not set
    CONFIG_SND_PCI=y
    # CONFIG_SND_AD1889 is not set
    # CONFIG_SND_ALS300 is not set
    # CONFIG_SND_ALI5451 is not set
    # CONFIG_SND_ATIIXP is not set
    # CONFIG_SND_ATIIXP_MODEM is not set
    # CONFIG_SND_AU8810 is not set
    # CONFIG_SND_AU8820 is not set
    # CONFIG_SND_AU8830 is not set
    # CONFIG_SND_AW2 is not set
    # CONFIG_SND_AZT3328 is not set
    # CONFIG_SND_BT87X is not set
    # CONFIG_SND_CA0106 is not set
    # CONFIG_SND_CMIPCI is not set
    # CONFIG_SND_OXYGEN is not set
    # CONFIG_SND_CS4281 is not set
    # CONFIG_SND_CS46XX is not set
    # CONFIG_SND_CTXFI is not set
    # CONFIG_SND_DARLA20 is not set
    # CONFIG_SND_GINA20 is not set
    # CONFIG_SND_LAYLA20 is not set
    # CONFIG_SND_DARLA24 is not set
    # CONFIG_SND_GINA24 is not set
    # CONFIG_SND_LAYLA24 is not set
    # CONFIG_SND_MONA is not set
    # CONFIG_SND_MIA is not set
    # CONFIG_SND_ECHO3G is not set
    # CONFIG_SND_INDIGO is not set
    # CONFIG_SND_INDIGOIO is not set
    # CONFIG_SND_INDIGODJ is not set
    # CONFIG_SND_INDIGOIOX is not set
    # CONFIG_SND_INDIGODJX is not set
    # CONFIG_SND_EMU10K1 is not set
    # CONFIG_SND_EMU10K1X is not set
    # CONFIG_SND_ENS1370 is not set
    # CONFIG_SND_ENS1371 is not set
    # CONFIG_SND_ES1938 is not set
    # CONFIG_SND_ES1968 is not set
    # CONFIG_SND_FM801 is not set
    # CONFIG_SND_HDSP is not set
    # CONFIG_SND_HDSPM is not set
    # CONFIG_SND_ICE1712 is not set
    # CONFIG_SND_ICE1724 is not set
    # CONFIG_SND_INTEL8X0 is not set
    # CONFIG_SND_INTEL8X0M is not set
    # CONFIG_SND_KORG1212 is not set
    # CONFIG_SND_LOLA is not set
    # CONFIG_SND_LX6464ES is not set
    # CONFIG_SND_MAESTRO3 is not set
    # CONFIG_SND_MIXART is not set
    # CONFIG_SND_NM256 is not set
    # CONFIG_SND_PCXHR is not set
    # CONFIG_SND_RIPTIDE is not set
    # CONFIG_SND_RME32 is not set
    # CONFIG_SND_RME96 is not set
    # CONFIG_SND_RME9652 is not set
    # CONFIG_SND_SE6X is not set
    # CONFIG_SND_SONICVIBES is not set
    # CONFIG_SND_TRIDENT is not set
    # CONFIG_SND_VIA82XX is not set
    # CONFIG_SND_VIA82XX_MODEM is not set
    # CONFIG_SND_VIRTUOSO is not set
    # CONFIG_SND_VX222 is not set
    # CONFIG_SND_YMFPCI is not set
    
    #
    # HD-Audio
    #
    # CONFIG_SND_HDA_INTEL is not set
    CONFIG_SND_HDA_PREALLOC_SIZE=64
    # CONFIG_SND_ARM is not set
    # CONFIG_SND_SPI is not set
    CONFIG_SND_USB=y
    CONFIG_SND_USB_AUDIO=m
    # CONFIG_SND_USB_UA101 is not set
    # CONFIG_SND_USB_CAIAQ is not set
    # CONFIG_SND_USB_6FIRE is not set
    # CONFIG_SND_USB_HIFACE is not set
    # CONFIG_SND_BCD2000 is not set
    # CONFIG_SND_USB_POD is not set
    # CONFIG_SND_USB_PODHD is not set
    # CONFIG_SND_USB_TONEPORT is not set
    # CONFIG_SND_USB_VARIAX is not set
    CONFIG_SND_SOC=y
    CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
    # CONFIG_SND_SOC_AMD_ACP is not set
    # CONFIG_SND_ATMEL_SOC is not set
    # CONFIG_SND_DESIGNWARE_I2S is not set
    
    #
    # SoC Audio for Freescale CPUs
    #
    
    #
    # Common SoC Audio options for Freescale CPUs:
    #
    # CONFIG_SND_SOC_FSL_ASRC is not set
    # CONFIG_SND_SOC_FSL_SAI is not set
    # CONFIG_SND_SOC_FSL_SSI is not set
    # CONFIG_SND_SOC_FSL_SPDIF is not set
    # CONFIG_SND_SOC_FSL_ESAI is not set
    # CONFIG_SND_SOC_IMX_AUDMUX is not set
    # CONFIG_SND_I2S_HI6210_I2S is not set
    # CONFIG_SND_SOC_IMG is not set
    
    #
    # STMicroelectronics STM32 SOC audio support
    #
    
    #
    # Audio support for Texas Instruments SoCs
    #
    CONFIG_SND_SOC_TI_EDMA_PCM=y
    CONFIG_SND_SOC_TI_SDMA_PCM=y
    
    #
    # Texas Instruments DAI support for:
    #
    CONFIG_SND_SOC_DAVINCI_MCASP=y
    # CONFIG_SND_SOC_OMAP_MCBSP is not set
    
    #
    # Audio support for boards with Texas Instruments SoCs
    #
    CONFIG_SND_SOC_OMAP_HDMI=m
    # CONFIG_SND_SOC_XTFPGA_I2S is not set
    # CONFIG_ZX_TDM is not set
    CONFIG_SND_SOC_I2C_AND_SPI=y
    
    #
    # CODEC drivers
    #
    # CONFIG_SND_SOC_AC97_CODEC is not set
    # CONFIG_SND_SOC_ADAU1701 is not set
    # CONFIG_SND_SOC_ADAU1761_I2C is not set
    # CONFIG_SND_SOC_ADAU1761_SPI is not set
    # CONFIG_SND_SOC_ADAU7002 is not set
    # CONFIG_SND_SOC_AK4104 is not set
    # CONFIG_SND_SOC_AK4458 is not set
    # CONFIG_SND_SOC_AK4554 is not set
    # CONFIG_SND_SOC_AK4613 is not set
    # CONFIG_SND_SOC_AK4642 is not set
    # CONFIG_SND_SOC_AK5386 is not set
    # CONFIG_SND_SOC_AK5558 is not set
    # CONFIG_SND_SOC_ALC5623 is not set
    # CONFIG_SND_SOC_BD28623 is not set
    # CONFIG_SND_SOC_BT_SCO is not set
    # CONFIG_SND_SOC_CPCAP is not set
    # CONFIG_SND_SOC_CS35L32 is not set
    # CONFIG_SND_SOC_CS35L33 is not set
    # CONFIG_SND_SOC_CS35L34 is not set
    # CONFIG_SND_SOC_CS35L35 is not set
    # CONFIG_SND_SOC_CS42L42 is not set
    # CONFIG_SND_SOC_CS42L51_I2C is not set
    # CONFIG_SND_SOC_CS42L52 is not set
    # CONFIG_SND_SOC_CS42L56 is not set
    # CONFIG_SND_SOC_CS42L73 is not set
    # CONFIG_SND_SOC_CS4265 is not set
    # CONFIG_SND_SOC_CS4270 is not set
    # CONFIG_SND_SOC_CS4271_I2C is not set
    # CONFIG_SND_SOC_CS4271_SPI is not set
    # CONFIG_SND_SOC_CS42XX8_I2C is not set
    # CONFIG_SND_SOC_CS43130 is not set
    # CONFIG_SND_SOC_CS4349 is not set
    # CONFIG_SND_SOC_CS53L30 is not set
    CONFIG_SND_SOC_HDMI_CODEC=y
    # CONFIG_SND_SOC_ES7134 is not set
    # CONFIG_SND_SOC_ES7241 is not set
    # CONFIG_SND_SOC_ES8316 is not set
    # CONFIG_SND_SOC_ES8328_I2C is not set
    # CONFIG_SND_SOC_ES8328_SPI is not set
    # CONFIG_SND_SOC_GTM601 is not set
    # CONFIG_SND_SOC_INNO_RK3036 is not set
    # CONFIG_SND_SOC_MAX98504 is not set
    # CONFIG_SND_SOC_MAX9867 is not set
    # CONFIG_SND_SOC_MAX98927 is not set
    # CONFIG_SND_SOC_MAX98373 is not set
    # CONFIG_SND_SOC_MAX9860 is not set
    # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
    # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
    # CONFIG_SND_SOC_PCM1681 is not set
    # CONFIG_SND_SOC_PCM1789_I2C is not set
    # CONFIG_SND_SOC_PCM179X_I2C is not set
    # CONFIG_SND_SOC_PCM179X_SPI is not set
    # CONFIG_SND_SOC_PCM186X_I2C is not set
    # CONFIG_SND_SOC_PCM186X_SPI is not set
    CONFIG_SND_SOC_PCM3168A=m
    CONFIG_SND_SOC_PCM3168A_I2C=m
    # CONFIG_SND_SOC_PCM3168A_SPI is not set
    # CONFIG_SND_SOC_PCM512x_I2C is not set
    # CONFIG_SND_SOC_PCM512x_SPI is not set
    # CONFIG_SND_SOC_RT5616 is not set
    # CONFIG_SND_SOC_RT5631 is not set
    # CONFIG_SND_SOC_SGTL5000 is not set
    # CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
    # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
    CONFIG_SND_SOC_SPDIF=m
    # CONFIG_SND_SOC_SSM2305 is not set
    # CONFIG_SND_SOC_SSM2602_SPI is not set
    # CONFIG_SND_SOC_SSM2602_I2C is not set
    # CONFIG_SND_SOC_SSM4567 is not set
    # CONFIG_SND_SOC_STA32X is not set
    # CONFIG_SND_SOC_STA350 is not set
    # CONFIG_SND_SOC_STI_SAS is not set
    # CONFIG_SND_SOC_TAS2552 is not set
    # CONFIG_SND_SOC_TAS5086 is not set
    # CONFIG_SND_SOC_TAS571X is not set
    # CONFIG_SND_SOC_TAS5720 is not set
    # CONFIG_SND_SOC_TAS6424 is not set
    # CONFIG_SND_SOC_TDA7419 is not set
    # CONFIG_SND_SOC_TFA9879 is not set
    # CONFIG_SND_SOC_TLV320AIC23_I2C is not set
    # CONFIG_SND_SOC_TLV320AIC23_SPI is not set
    CONFIG_SND_SOC_TLV320AIC31XX=m
    # CONFIG_SND_SOC_AIC3262 is not set
    # CONFIG_SND_SOC_AIC3266 is not set
    # CONFIG_SND_SOC_AIC3268 is not set
    # CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
    # CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
    CONFIG_SND_SOC_TLV320AIC3X=m
    # CONFIG_SND_SOC_TS3A227E is not set
    # CONFIG_SND_SOC_TSCS42XX is not set
    # CONFIG_SND_SOC_TSCS454 is not set
    # CONFIG_SND_SOC_WM8510 is not set
    # CONFIG_SND_SOC_WM8523 is not set
    # CONFIG_SND_SOC_WM8524 is not set
    # CONFIG_SND_SOC_WM8580 is not set
    # CONFIG_SND_SOC_WM8711 is not set
    # CONFIG_SND_SOC_WM8728 is not set
    # CONFIG_SND_SOC_WM8731 is not set
    # CONFIG_SND_SOC_WM8737 is not set
    # CONFIG_SND_SOC_WM8741 is not set
    # CONFIG_SND_SOC_WM8750 is not set
    # CONFIG_SND_SOC_WM8753 is not set
    # CONFIG_SND_SOC_WM8770 is not set
    # CONFIG_SND_SOC_WM8776 is not set
    # CONFIG_SND_SOC_WM8782 is not set
    # CONFIG_SND_SOC_WM8804_I2C is not set
    # CONFIG_SND_SOC_WM8804_SPI is not set
    # CONFIG_SND_SOC_WM8903 is not set
    # CONFIG_SND_SOC_WM8960 is not set
    # CONFIG_SND_SOC_WM8962 is not set
    # CONFIG_SND_SOC_WM8974 is not set
    # CONFIG_SND_SOC_WM8978 is not set
    # CONFIG_SND_SOC_WM8985 is not set
    # CONFIG_SND_SOC_ZX_AUD96P22 is not set
    # CONFIG_SND_SOC_MAX9759 is not set
    # CONFIG_SND_SOC_MT6351 is not set
    # CONFIG_SND_SOC_NAU8540 is not set
    # CONFIG_SND_SOC_NAU8810 is not set
    # CONFIG_SND_SOC_NAU8824 is not set
    # CONFIG_SND_SOC_TPA6130A2 is not set
    CONFIG_SND_SIMPLE_CARD_UTILS=m
    CONFIG_SND_SIMPLE_CARD=m
    CONFIG_SND_SIMPLE_SCU_CARD=m
    CONFIG_SND_AUDIO_GRAPH_CARD=m
    CONFIG_SND_AUDIO_GRAPH_SCU_CARD=m
    
    #
    # HID support
    #
    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_CHERRY is not set
    # CONFIG_HID_CHICONY is not set
    # CONFIG_HID_CORSAIR is not set
    # CONFIG_HID_COUGAR is not set
    # CONFIG_HID_PRODIKEYS is not set
    # CONFIG_HID_CMEDIA is not set
    # CONFIG_HID_CYPRESS is not set
    # CONFIG_HID_DRAGONRISE is not set
    # CONFIG_HID_EMS_FF is not set
    # CONFIG_HID_ELAN is not set
    # CONFIG_HID_ELECOM is not set
    # CONFIG_HID_ELO is not set
    # CONFIG_HID_EZKEY is not set
    # CONFIG_HID_GEMBIRD is not set
    # CONFIG_HID_GFRM is not set
    # CONFIG_HID_HOLTEK is not set
    # CONFIG_HID_GOOGLE_HAMMER 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_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_LOGITECH is not set
    # CONFIG_HID_MAGICMOUSE is not set
    # CONFIG_HID_MAYFLASH is not set
    # CONFIG_HID_REDRAGON is not set
    # CONFIG_HID_MICROSOFT is not set
    # CONFIG_HID_MONTEREY is not set
    CONFIG_HID_MULTITOUCH=m
    # CONFIG_HID_NTI is not set
    # CONFIG_HID_NTRIG is not set
    # CONFIG_HID_ORTEK is not set
    # CONFIG_HID_PANTHERLORD is not set
    # CONFIG_HID_PENMOUNT is not set
    # CONFIG_HID_PETALYNX is not set
    # CONFIG_HID_PICOLCD is not set
    # CONFIG_HID_PLANTRONICS is not set
    # CONFIG_HID_PRIMAX is not set
    # CONFIG_HID_RETRODE is not set
    # CONFIG_HID_ROCCAT is not set
    # CONFIG_HID_SAITEK is not set
    # CONFIG_HID_SAMSUNG is not set
    # CONFIG_HID_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_THINGM is not set
    # CONFIG_HID_THRUSTMASTER is not set
    # CONFIG_HID_UDRAW_PS3 is not set
    # CONFIG_HID_WACOM is not set
    # CONFIG_HID_WIIMOTE is not set
    # CONFIG_HID_XINMO is not set
    # CONFIG_HID_ZEROPLUS is not set
    # CONFIG_HID_ZYDACRON is not set
    # CONFIG_HID_SENSOR_HUB is not set
    # CONFIG_HID_ALPS is not set
    
    #
    # USB HID support
    #
    CONFIG_USB_HID=m
    # CONFIG_HID_PID is not set
    # CONFIG_USB_HIDDEV is not set
    
    #
    # USB HID Boot Protocol drivers
    #
    # CONFIG_USB_KBD is not set
    # CONFIG_USB_MOUSE is not set
    
    #
    # I2C HID support
    #
    # CONFIG_I2C_HID is not set
    CONFIG_USB_OHCI_LITTLE_ENDIAN=y
    CONFIG_USB_SUPPORT=y
    CONFIG_USB_COMMON=m
    CONFIG_USB_ARCH_HAS_HCD=y
    CONFIG_USB=m
    CONFIG_USB_PCI=y
    CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
    
    #
    # Miscellaneous USB options
    #
    CONFIG_USB_DEFAULT_PERSIST=y
    # CONFIG_USB_DYNAMIC_MINORS is not set
    CONFIG_USB_OTG=y
    # CONFIG_USB_OTG_WHITELIST is not set
    # CONFIG_USB_OTG_BLACKLIST_HUB is not set
    # CONFIG_USB_OTG_FSM is not set
    # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
    # CONFIG_USB_MON is not set
    # CONFIG_USB_WUSB_CBAF is not set
    
    #
    # USB Host Controller Drivers
    #
    # CONFIG_USB_C67X00_HCD is not set
    CONFIG_USB_XHCI_HCD=m
    # CONFIG_USB_XHCI_DBGCAP is not set
    CONFIG_USB_XHCI_PCI=m
    CONFIG_USB_XHCI_PLATFORM=m
    CONFIG_USB_EHCI_HCD=m
    # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
    CONFIG_USB_EHCI_TT_NEWSCHED=y
    CONFIG_USB_EHCI_PCI=m
    CONFIG_USB_EHCI_HCD_OMAP=m
    # CONFIG_USB_EHCI_HCD_PLATFORM is not set
    # CONFIG_USB_OXU210HP_HCD is not set
    # CONFIG_USB_ISP116X_HCD is not set
    # CONFIG_USB_FOTG210_HCD is not set
    # CONFIG_USB_MAX3421_HCD is not set
    CONFIG_USB_OHCI_HCD=m
    CONFIG_USB_OHCI_HCD_PCI=m
    # CONFIG_USB_OHCI_HCD_SSB is not set
    # CONFIG_USB_OHCI_HCD_PLATFORM is not set
    # CONFIG_USB_UHCI_HCD is not set
    # CONFIG_USB_SL811_HCD is not set
    CONFIG_USB_R8A66597_HCD=m
    # CONFIG_USB_HCD_BCMA is not set
    # CONFIG_USB_HCD_SSB is not set
    # CONFIG_USB_HCD_TEST_MODE is not set
    
    #
    # USB Device Class drivers
    #
    CONFIG_USB_ACM=m
    # CONFIG_USB_PRINTER is not set
    # CONFIG_USB_WDM is not set
    # CONFIG_USB_TMC is not set
    
    #
    # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
    #
    
    #
    # also be needed; see USB_STORAGE Help for more info
    #
    CONFIG_USB_STORAGE=m
    # CONFIG_USB_STORAGE_DEBUG is not set
    # CONFIG_USB_STORAGE_REALTEK is not set
    # CONFIG_USB_STORAGE_DATAFAB is not set
    # CONFIG_USB_STORAGE_FREECOM is not set
    # CONFIG_USB_STORAGE_ISD200 is not set
    # CONFIG_USB_STORAGE_USBAT is not set
    # CONFIG_USB_STORAGE_SDDR09 is not set
    # CONFIG_USB_STORAGE_SDDR55 is not set
    # CONFIG_USB_STORAGE_JUMPSHOT is not set
    # CONFIG_USB_STORAGE_ALAUDA is not set
    # CONFIG_USB_STORAGE_ONETOUCH is not set
    # CONFIG_USB_STORAGE_KARMA is not set
    # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
    # CONFIG_USB_STORAGE_ENE_UB6250 is not set
    CONFIG_USB_UAS=m
    
    #
    # USB Imaging devices
    #
    # CONFIG_USB_MDC800 is not set
    # CONFIG_USB_MICROTEK is not set
    # CONFIG_USBIP_CORE is not set
    CONFIG_USB_CDNS3=m
    CONFIG_USB_CDNS3_GADGET=y
    CONFIG_USB_CDNS3_HOST=y
    CONFIG_USB_MUSB_HDRC=m
    # CONFIG_USB_MUSB_HOST is not set
    # CONFIG_USB_MUSB_GADGET is not set
    CONFIG_USB_MUSB_DUAL_ROLE=y
    
    #
    # Platform Glue Layer
    #
    CONFIG_USB_MUSB_TUSB6010=m
    CONFIG_USB_MUSB_OMAP2PLUS=m
    CONFIG_USB_MUSB_AM35X=m
    CONFIG_USB_MUSB_DSPS=m
    CONFIG_USB_MUSB_AM335X_CHILD=m
    
    #
    # MUSB DMA mode
    #
    # CONFIG_MUSB_PIO_ONLY is not set
    CONFIG_USB_INVENTRA_DMA=y
    CONFIG_USB_TI_CPPI41_DMA=y
    CONFIG_USB_TUSB_OMAP_DMA=y
    CONFIG_USB_DWC3=m
    # CONFIG_USB_DWC3_HOST is not set
    # CONFIG_USB_DWC3_GADGET is not set
    CONFIG_USB_DWC3_DUAL_ROLE=y
    
    #
    # Platform Glue Driver Support
    #
    CONFIG_USB_DWC3_OMAP=m
    CONFIG_USB_DWC3_HAPS=m
    CONFIG_USB_DWC3_OF_SIMPLE=m
    # CONFIG_USB_DWC2 is not set
    # CONFIG_USB_CHIPIDEA is not set
    CONFIG_USB_ISP1760=m
    CONFIG_USB_ISP1760_HCD=y
    CONFIG_USB_ISP1761_UDC=y
    # CONFIG_USB_ISP1760_HOST_ROLE is not set
    # CONFIG_USB_ISP1760_GADGET_ROLE is not set
    CONFIG_USB_ISP1760_DUAL_ROLE=y
    
    #
    # USB port drivers
    #
    CONFIG_USB_SERIAL=m
    # CONFIG_USB_SERIAL_GENERIC is not set
    # CONFIG_USB_SERIAL_SIMPLE is not set
    # CONFIG_USB_SERIAL_AIRCABLE is not set
    # CONFIG_USB_SERIAL_ARK3116 is not set
    # CONFIG_USB_SERIAL_BELKIN is not set
    # CONFIG_USB_SERIAL_CH341 is not set
    # CONFIG_USB_SERIAL_WHITEHEAT is not set
    # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
    CONFIG_USB_SERIAL_CP210X=m
    # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
    # CONFIG_USB_SERIAL_EMPEG is not set
    CONFIG_USB_SERIAL_FTDI_SIO=m
    # CONFIG_USB_SERIAL_VISOR is not set
    # CONFIG_USB_SERIAL_IPAQ is not set
    # CONFIG_USB_SERIAL_IR is not set
    # CONFIG_USB_SERIAL_EDGEPORT is not set
    # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
    # CONFIG_USB_SERIAL_F81232 is not set
    # CONFIG_USB_SERIAL_F8153X is not set
    # CONFIG_USB_SERIAL_GARMIN is not set
    # CONFIG_USB_SERIAL_IPW is not set
    # CONFIG_USB_SERIAL_IUU is not set
    # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
    # CONFIG_USB_SERIAL_KEYSPAN is not set
    # CONFIG_USB_SERIAL_KLSI is not set
    # CONFIG_USB_SERIAL_KOBIL_SCT is not set
    # CONFIG_USB_SERIAL_MCT_U232 is not set
    # CONFIG_USB_SERIAL_METRO is not set
    # CONFIG_USB_SERIAL_MOS7720 is not set
    # CONFIG_USB_SERIAL_MOS7840 is not set
    # CONFIG_USB_SERIAL_MXUPORT is not set
    # CONFIG_USB_SERIAL_NAVMAN is not set
    CONFIG_USB_SERIAL_PL2303=m
    # CONFIG_USB_SERIAL_OTI6858 is not set
    # CONFIG_USB_SERIAL_QCAUX is not set
    # CONFIG_USB_SERIAL_QUALCOMM is not set
    # CONFIG_USB_SERIAL_SPCP8X5 is not set
    # CONFIG_USB_SERIAL_SAFE is not set
    # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
    # CONFIG_USB_SERIAL_SYMBOL is not set
    # CONFIG_USB_SERIAL_TI is not set
    # CONFIG_USB_SERIAL_CYBERJACK is not set
    # CONFIG_USB_SERIAL_XIRCOM is not set
    CONFIG_USB_SERIAL_WWAN=m
    CONFIG_USB_SERIAL_OPTION=m
    # CONFIG_USB_SERIAL_OMNINET is not set
    # CONFIG_USB_SERIAL_OPTICON is not set
    # CONFIG_USB_SERIAL_XSENS_MT is not set
    # CONFIG_USB_SERIAL_WISHBONE is not set
    # CONFIG_USB_SERIAL_SSU100 is not set
    # CONFIG_USB_SERIAL_QT2 is not set
    # CONFIG_USB_SERIAL_UPD78F0730 is not set
    # CONFIG_USB_SERIAL_DEBUG is not set
    
    #
    # USB Miscellaneous drivers
    #
    # CONFIG_USB_EMI62 is not set
    # CONFIG_USB_EMI26 is not set
    # CONFIG_USB_ADUTUX is not set
    # CONFIG_USB_SEVSEG is not set
    # CONFIG_USB_LEGOTOWER is not set
    # CONFIG_USB_LCD is not set
    # CONFIG_USB_CYPRESS_CY7C63 is not set
    # CONFIG_USB_CYTHERM is not set
    # CONFIG_USB_IDMOUSE is not set
    # CONFIG_USB_FTDI_ELAN is not set
    # CONFIG_USB_APPLEDISPLAY is not set
    # CONFIG_USB_SISUSBVGA is not set
    # CONFIG_USB_LD is not set
    # CONFIG_USB_TRANCEVIBRATOR is not set
    # CONFIG_USB_IOWARRIOR is not set
    CONFIG_USB_TEST=m
    # 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=m
    # CONFIG_USB_HSIC_USB4604 is not set
    # CONFIG_USB_LINK_LAYER_TEST is not set
    # CONFIG_USB_CHAOSKEY is not set
    
    #
    # USB Physical Layer drivers
    #
    CONFIG_USB_PHY=y
    CONFIG_NOP_USB_XCEIV=m
    CONFIG_AM335X_CONTROL_USB=m
    CONFIG_AM335X_PHY_USB=m
    CONFIG_USB_GPIO_VBUS=m
    CONFIG_USB_ISP1301=m
    # CONFIG_USB_ULPI is not set
    CONFIG_USB_GADGET=m
    # CONFIG_USB_GADGET_DEBUG is not set
    # CONFIG_USB_GADGET_DEBUG_FILES is not set
    # CONFIG_USB_GADGET_DEBUG_FS is not set
    CONFIG_USB_GADGET_VBUS_DRAW=2
    CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32
    # CONFIG_U_SERIAL_CONSOLE is not set
    
    #
    # USB Peripheral Controller
    #
    # CONFIG_USB_FOTG210_UDC is not set
    # CONFIG_USB_GR_UDC is not set
    # CONFIG_USB_R8A66597 is not set
    # CONFIG_USB_PXA27X is not set
    # CONFIG_USB_MV_UDC is not set
    # CONFIG_USB_MV_U3D is not set
    # CONFIG_USB_SNP_UDC_PLAT is not set
    # CONFIG_USB_M66592 is not set
    # CONFIG_USB_BDC_UDC is not set
    # CONFIG_USB_AMD5536UDC is not set
    # CONFIG_USB_NET2272 is not set
    # CONFIG_USB_NET2280 is not set
    # CONFIG_USB_GOKU is not set
    # CONFIG_USB_EG20T is not set
    # CONFIG_USB_GADGET_XILINX is not set
    # CONFIG_USB_DUMMY_HCD is not set
    CONFIG_USB_LIBCOMPOSITE=m
    CONFIG_USB_F_ACM=m
    CONFIG_USB_F_SS_LB=m
    CONFIG_USB_U_SERIAL=m
    CONFIG_USB_U_ETHER=m
    CONFIG_USB_U_AUDIO=m
    CONFIG_USB_F_SERIAL=m
    CONFIG_USB_F_OBEX=m
    CONFIG_USB_F_NCM=m
    CONFIG_USB_F_ECM=m
    CONFIG_USB_F_EEM=m
    CONFIG_USB_F_SUBSET=m
    CONFIG_USB_F_RNDIS=m
    CONFIG_USB_F_MASS_STORAGE=m
    CONFIG_USB_F_FS=m
    CONFIG_USB_F_UAC1=m
    CONFIG_USB_F_UAC1_LEGACY=m
    CONFIG_USB_F_UAC2=m
    CONFIG_USB_F_UVC=m
    CONFIG_USB_F_MIDI=m
    CONFIG_USB_F_HID=m
    CONFIG_USB_F_PRINTER=m
    CONFIG_USB_CONFIGFS=m
    CONFIG_USB_CONFIGFS_SERIAL=y
    CONFIG_USB_CONFIGFS_ACM=y
    CONFIG_USB_CONFIGFS_OBEX=y
    CONFIG_USB_CONFIGFS_NCM=y
    CONFIG_USB_CONFIGFS_ECM=y
    CONFIG_USB_CONFIGFS_ECM_SUBSET=y
    CONFIG_USB_CONFIGFS_RNDIS=y
    CONFIG_USB_CONFIGFS_EEM=y
    CONFIG_USB_CONFIGFS_MASS_STORAGE=y
    CONFIG_USB_CONFIGFS_F_LB_SS=y
    CONFIG_USB_CONFIGFS_F_FS=y
    CONFIG_USB_CONFIGFS_F_UAC1=y
    CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
    CONFIG_USB_CONFIGFS_F_UAC2=y
    CONFIG_USB_CONFIGFS_F_MIDI=y
    CONFIG_USB_CONFIGFS_F_HID=y
    CONFIG_USB_CONFIGFS_F_UVC=y
    CONFIG_USB_CONFIGFS_F_PRINTER=y
    CONFIG_USB_ZERO=m
    # CONFIG_USB_ZERO_HNPTEST is not set
    CONFIG_USB_AUDIO=m
    # CONFIG_GADGET_UAC1 is not set
    CONFIG_USB_ETH=m
    CONFIG_USB_ETH_RNDIS=y
    # CONFIG_USB_ETH_EEM is not set
    CONFIG_USB_G_NCM=m
    CONFIG_USB_GADGETFS=m
    CONFIG_USB_FUNCTIONFS=m
    CONFIG_USB_FUNCTIONFS_ETH=y
    CONFIG_USB_FUNCTIONFS_RNDIS=y
    CONFIG_USB_FUNCTIONFS_GENERIC=y
    CONFIG_USB_MASS_STORAGE=m
    CONFIG_USB_G_SERIAL=m
    CONFIG_USB_MIDI_GADGET=m
    CONFIG_USB_G_PRINTER=m
    CONFIG_USB_CDC_COMPOSITE=m
    CONFIG_USB_G_ACM_MS=m
    CONFIG_USB_G_MULTI=m
    CONFIG_USB_G_MULTI_RNDIS=y
    CONFIG_USB_G_MULTI_CDC=y
    CONFIG_USB_G_HID=m
    CONFIG_USB_G_DBGP=m
    # CONFIG_USB_G_DBGP_PRINTK is not set
    CONFIG_USB_G_DBGP_SERIAL=y
    CONFIG_USB_G_WEBCAM=m
    # CONFIG_TYPEC is not set
    CONFIG_USB_ROLE_SWITCH=m
    # CONFIG_USB_LED_TRIG is not set
    # CONFIG_USB_ULPI_BUS is not set
    # CONFIG_UWB is not set
    CONFIG_MMC=y
    CONFIG_PWRSEQ_EMMC=y
    # CONFIG_PWRSEQ_SD8787 is not set
    CONFIG_PWRSEQ_SIMPLE=y
    CONFIG_MMC_BLOCK=y
    CONFIG_MMC_BLOCK_MINORS=16
    # 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_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=y
    CONFIG_MMC_SDHCI_OF_AT91=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_OMAP=y
    CONFIG_MMC_OMAP_HS=y
    # 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=y
    # CONFIG_MMC_TOSHIBA_PCI is not set
    # CONFIG_MMC_MTK is not set
    # CONFIG_MMC_SDHCI_XENON is not set
    CONFIG_MMC_SDHCI_OMAP=y
    CONFIG_MMC_SDHCI_AM654=y
    # CONFIG_MEMSTICK is not set
    CONFIG_NEW_LEDS=y
    CONFIG_LEDS_CLASS=y
    CONFIG_LEDS_CLASS_FLASH=m
    # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
    
    #
    # LED drivers
    #
    # CONFIG_LEDS_AAT1290 is not set
    # CONFIG_LEDS_AS3645A is not set
    # CONFIG_LEDS_BCM6328 is not set
    # CONFIG_LEDS_BCM6358 is not set
    CONFIG_LEDS_CPCAP=m
    # CONFIG_LEDS_CR0014114 is not set
    # CONFIG_LEDS_LM3530 is not set
    # CONFIG_LEDS_LM3642 is not set
    # CONFIG_LEDS_LM3692X is not set
    # CONFIG_LEDS_LM3601X 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_LP5521 is not set
    # CONFIG_LEDS_LP5523 is not set
    # CONFIG_LEDS_LP5562 is not set
    # CONFIG_LEDS_LP8501 is not set
    # CONFIG_LEDS_LP8860 is not set
    # CONFIG_LEDS_PCA955X is not set
    # CONFIG_LEDS_PCA963X is not set
    # CONFIG_LEDS_DAC124S085 is not set
    CONFIG_LEDS_PWM=y
    # CONFIG_LEDS_REGULATOR is not set
    # CONFIG_LEDS_BD2802 is not set
    # CONFIG_LEDS_LT3593 is not set
    # CONFIG_LEDS_TCA6507 is not set
    CONFIG_LEDS_TLC591XX=y
    # CONFIG_LEDS_LM355x is not set
    # CONFIG_LEDS_KTD2692 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
    
    #
    # LED Triggers
    #
    CONFIG_LEDS_TRIGGERS=y
    CONFIG_LEDS_TRIGGER_TIMER=y
    CONFIG_LEDS_TRIGGER_ONESHOT=y
    # CONFIG_LEDS_TRIGGER_DISK is not set
    # CONFIG_LEDS_TRIGGER_MTD is not set
    CONFIG_LEDS_TRIGGER_HEARTBEAT=y
    CONFIG_LEDS_TRIGGER_BACKLIGHT=y
    CONFIG_LEDS_TRIGGER_CPU=y
    # CONFIG_LEDS_TRIGGER_ACTIVITY is not set
    CONFIG_LEDS_TRIGGER_GPIO=y
    CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
    
    #
    # iptables trigger is under Netfilter config (LED target)
    #
    CONFIG_LEDS_TRIGGER_TRANSIENT=y
    CONFIG_LEDS_TRIGGER_CAMERA=y
    # CONFIG_LEDS_TRIGGER_PANIC is not set
    # CONFIG_LEDS_TRIGGER_NETDEV is not set
    # CONFIG_ACCESSIBILITY is not set
    # CONFIG_INFINIBAND is not set
    CONFIG_EDAC_ATOMIC_SCRUB=y
    CONFIG_EDAC_SUPPORT=y
    CONFIG_EDAC=y
    CONFIG_EDAC_LEGACY_SYSFS=y
    # CONFIG_EDAC_DEBUG is not set
    CONFIG_EDAC_TI=m
    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=y
    CONFIG_RTC_NVMEM=y
    
    #
    # RTC interfaces
    #
    CONFIG_RTC_INTF_SYSFS=y
    CONFIG_RTC_INTF_PROC=y
    CONFIG_RTC_INTF_DEV=y
    # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
    # CONFIG_RTC_DRV_TEST is not set
    
    #
    # I2C RTC drivers
    #
    # CONFIG_RTC_DRV_ABB5ZES3 is not set
    # CONFIG_RTC_DRV_ABX80X is not set
    CONFIG_RTC_DRV_DS1307=m
    # CONFIG_RTC_DRV_DS1307_CENTURY is not set
    # CONFIG_RTC_DRV_DS1374 is not set
    # CONFIG_RTC_DRV_DS1672 is not set
    # CONFIG_RTC_DRV_HYM8563 is not set
    # CONFIG_RTC_DRV_MAX6900 is not set
    # CONFIG_RTC_DRV_RS5C372 is not set
    # CONFIG_RTC_DRV_ISL1208 is not set
    # CONFIG_RTC_DRV_ISL12022 is not set
    # CONFIG_RTC_DRV_ISL12026 is not set
    # CONFIG_RTC_DRV_X1205 is not set
    # CONFIG_RTC_DRV_PCF8523 is not set
    # CONFIG_RTC_DRV_PCF85063 is not set
    # CONFIG_RTC_DRV_PCF85363 is not set
    # CONFIG_RTC_DRV_PCF8563 is not set
    # CONFIG_RTC_DRV_PCF8583 is not set
    # CONFIG_RTC_DRV_M41T80 is not set
    # CONFIG_RTC_DRV_BQ32K is not set
    CONFIG_RTC_DRV_PALMAS=m
    CONFIG_RTC_DRV_TPS6586X=m
    CONFIG_RTC_DRV_TPS65910=m
    # CONFIG_RTC_DRV_S35390A is not set
    # CONFIG_RTC_DRV_FM3130 is not set
    # CONFIG_RTC_DRV_RX8010 is not set
    # CONFIG_RTC_DRV_RX8581 is not set
    # CONFIG_RTC_DRV_RX8025 is not set
    # CONFIG_RTC_DRV_EM3027 is not set
    # CONFIG_RTC_DRV_RV8803 is not set
    
    #
    # SPI RTC drivers
    #
    # CONFIG_RTC_DRV_M41T93 is not set
    # CONFIG_RTC_DRV_M41T94 is not set
    # CONFIG_RTC_DRV_DS1302 is not set
    # CONFIG_RTC_DRV_DS1305 is not set
    # CONFIG_RTC_DRV_DS1343 is not set
    # CONFIG_RTC_DRV_DS1347 is not set
    # CONFIG_RTC_DRV_DS1390 is not set
    # CONFIG_RTC_DRV_MAX6916 is not set
    # CONFIG_RTC_DRV_R9701 is not set
    # CONFIG_RTC_DRV_RX4581 is not set
    # CONFIG_RTC_DRV_RX6110 is not set
    # CONFIG_RTC_DRV_RS5C348 is not set
    # CONFIG_RTC_DRV_MAX6902 is not set
    # CONFIG_RTC_DRV_PCF2123 is not set
    # CONFIG_RTC_DRV_MCP795 is not set
    CONFIG_RTC_I2C_AND_SPI=y
    
    #
    # SPI and I2C RTC drivers
    #
    # CONFIG_RTC_DRV_DS3232 is not set
    # CONFIG_RTC_DRV_PCF2127 is not set
    # CONFIG_RTC_DRV_RV3029C2 is not set
    
    #
    # Platform RTC drivers
    #
    # CONFIG_RTC_DRV_CMOS is not set
    # CONFIG_RTC_DRV_DS1286 is not set
    # CONFIG_RTC_DRV_DS1511 is not set
    # CONFIG_RTC_DRV_DS1553 is not set
    # CONFIG_RTC_DRV_DS1685_FAMILY is not set
    # CONFIG_RTC_DRV_DS1742 is not set
    # CONFIG_RTC_DRV_DS2404 is not set
    CONFIG_RTC_DRV_EFI=m
    # CONFIG_RTC_DRV_STK17TA8 is not set
    # CONFIG_RTC_DRV_M48T86 is not set
    # CONFIG_RTC_DRV_M48T35 is not set
    # CONFIG_RTC_DRV_M48T59 is not set
    # CONFIG_RTC_DRV_MSM6242 is not set
    # CONFIG_RTC_DRV_BQ4802 is not set
    # CONFIG_RTC_DRV_RP5C01 is not set
    # CONFIG_RTC_DRV_V3020 is not set
    # CONFIG_RTC_DRV_ZYNQMP is not set
    
    #
    # on-CPU RTC drivers
    #
    CONFIG_RTC_DRV_OMAP=m
    # CONFIG_RTC_DRV_FTRTC010 is not set
    # CONFIG_RTC_DRV_SNVS is not set
    # CONFIG_RTC_DRV_R7301 is not set
    CONFIG_RTC_DRV_CPCAP=m
    
    #
    # HID Sensor RTC drivers
    #
    # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
    CONFIG_DMADEVICES=y
    # CONFIG_DMADEVICES_DEBUG is not set
    
    #
    # DMA Devices
    #
    CONFIG_DMA_ENGINE=y
    CONFIG_DMA_VIRTUAL_CHANNELS=y
    CONFIG_DMA_OF=y
    # CONFIG_ALTERA_MSGDMA is not set
    # CONFIG_DW_AXI_DMAC is not set
    CONFIG_FSL_EDMA=y
    # CONFIG_INTEL_IDMA64 is not set
    # CONFIG_NBPFAXI_DMA is not set
    # CONFIG_QCOM_HIDMA_MGMT is not set
    # CONFIG_QCOM_HIDMA is not set
    CONFIG_DW_DMAC_CORE=y
    CONFIG_DW_DMAC=y
    # CONFIG_DW_DMAC_PCI is not set
    CONFIG_TI_CPPI41=y
    CONFIG_TI_EDMA=y
    CONFIG_DMA_OMAP=y
    CONFIG_TI_DMA_CROSSBAR=y
    
    #
    # DMA Clients
    #
    # CONFIG_ASYNC_TX_DMA is not set
    # CONFIG_DMATEST is not set
    
    #
    # DMABUF options
    #
    CONFIG_SYNC_FILE=y
    # CONFIG_SW_SYNC is not set
    # CONFIG_AUXDISPLAY is not set
    CONFIG_UIO=m
    # CONFIG_UIO_CIF is not set
    # CONFIG_UIO_PDRV_GENIRQ is not set
    # CONFIG_UIO_DMEM_GENIRQ is not set
    # CONFIG_UIO_AEC is not set
    # CONFIG_UIO_SERCOS3 is not set
    # CONFIG_UIO_PCI_GENERIC is not set
    # CONFIG_UIO_NETX is not set
    # CONFIG_UIO_PRUSS is not set
    # CONFIG_UIO_MF624 is not set
    # CONFIG_VFIO is not set
    # CONFIG_VIRT_DRIVERS is not set
    CONFIG_VIRTIO=y
    CONFIG_VIRTIO_MENU=y
    CONFIG_VIRTIO_PCI=y
    CONFIG_VIRTIO_PCI_LEGACY=y
    # CONFIG_VIRTIO_BALLOON is not set
    # CONFIG_VIRTIO_INPUT is not set
    CONFIG_VIRTIO_MMIO=y
    # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
    
    #
    # Microsoft Hyper-V guest support
    #
    CONFIG_STAGING=y
    # CONFIG_PRISM2_USB is not set
    # CONFIG_COMEDI is not set
    # CONFIG_RTL8192U is not set
    # CONFIG_RTLLIB is not set
    # CONFIG_RTL8723BS is not set
    # CONFIG_R8712U is not set
    # CONFIG_R8188EU is not set
    # CONFIG_R8822BE is not set
    # CONFIG_RTS5208 is not set
    # CONFIG_VT6655 is not set
    # CONFIG_VT6656 is not set
    
    #
    # IIO staging drivers
    #
    
    #
    # Accelerometers
    #
    # CONFIG_ADIS16203 is not set
    # CONFIG_ADIS16240 is not set
    
    #
    # Analog to digital converters
    #
    # CONFIG_AD7606 is not set
    # CONFIG_AD7780 is not set
    # CONFIG_AD7816 is not set
    # CONFIG_AD7192 is not set
    # CONFIG_AD7280 is not set
    
    #
    # Analog digital bi-direction converters
    #
    # CONFIG_ADT7316 is not set
    
    #
    # Capacitance to digital converters
    #
    # CONFIG_AD7150 is not set
    # CONFIG_AD7152 is not set
    # CONFIG_AD7746 is not set
    
    #
    # Direct Digital Synthesis
    #
    # CONFIG_AD9832 is not set
    # CONFIG_AD9834 is not set
    
    #
    # Network Analyzer, Impedance Converters
    #
    # CONFIG_AD5933 is not set
    
    #
    # Active energy metering IC
    #
    # CONFIG_ADE7854 is not set
    
    #
    # Resolver to digital converters
    #
    # CONFIG_AD2S90 is not set
    # CONFIG_AD2S1210 is not set
    # CONFIG_FB_SM750 is not set
    # CONFIG_FB_XGI is not set
    
    #
    # Speakup console speech
    #
    # CONFIG_SPEAKUP is not set
    # CONFIG_STAGING_MEDIA is not set
    
    #
    # Android
    #
    # CONFIG_ASHMEM is not set
    # CONFIG_ANDROID_VSOC is not set
    CONFIG_ION=y
    CONFIG_ION_SYSTEM_HEAP=y
    CONFIG_ION_CARVEOUT_HEAP=y
    CONFIG_ION_CHUNK_HEAP=y
    # CONFIG_ION_CMA_HEAP is not set
    CONFIG_ION_TI=y
    CONFIG_STAGING_BOARD=y
    # CONFIG_LTE_GDM724X is not set
    # CONFIG_MTD_SPINAND_MT29F is not set
    # CONFIG_DGNC is not set
    # CONFIG_GS_FPGABOOT is not set
    # CONFIG_UNISYSSPAR is not set
    # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
    # CONFIG_FB_TFT is not set
    # CONFIG_WILC1000_SDIO is not set
    # CONFIG_WILC1000_SPI is not set
    # CONFIG_MOST is not set
    # CONFIG_KS7010 is not set
    # CONFIG_GREYBUS is not set
    # CONFIG_PI433 is not set
    # CONFIG_MTK_MMC is not set
    
    #
    # Gasket devices
    #
    # CONFIG_XIL_AXIS_FIFO is not set
    # CONFIG_EROFS_FS is not set
    # CONFIG_GOLDFISH is not set
    # CONFIG_CHROME_PLATFORMS is not set
    # CONFIG_MELLANOX_PLATFORM is not set
    CONFIG_CLKDEV_LOOKUP=y
    CONFIG_HAVE_CLK_PREPARE=y
    CONFIG_COMMON_CLK=y
    
    #
    # Common Clock Framework
    #
    # CONFIG_CLK_HSDK is not set
    # CONFIG_COMMON_CLK_MAX9485 is not set
    # CONFIG_COMMON_CLK_SI5351 is not set
    # CONFIG_COMMON_CLK_SI514 is not set
    # CONFIG_COMMON_CLK_SI544 is not set
    # CONFIG_COMMON_CLK_SI570 is not set
    # CONFIG_COMMON_CLK_CDCE706 is not set
    # CONFIG_COMMON_CLK_CDCE925 is not set
    # CONFIG_COMMON_CLK_CS2000_CP is not set
    # CONFIG_CLK_TWL6040 is not set
    # CONFIG_CLK_QORIQ is not set
    CONFIG_COMMON_CLK_PALMAS=y
    # CONFIG_COMMON_CLK_PWM is not set
    # CONFIG_COMMON_CLK_VC5 is not set
    # CONFIG_COMMON_CLK_TI_ADPLL is not set
    CONFIG_HWSPINLOCK=y
    CONFIG_HWSPINLOCK_OMAP=y
    
    #
    # Clock Source drivers
    #
    CONFIG_TIMER_OF=y
    CONFIG_TIMER_PROBE=y
    CONFIG_OMAP_DM_TIMER=y
    CONFIG_CLKSRC_MMIO=y
    CONFIG_CLKSRC_TI_32K=y
    CONFIG_ARM_ARCH_TIMER=y
    CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
    # CONFIG_ARM_GLOBAL_TIMER is not set
    # CONFIG_ARM_TIMER_SP804 is not set
    CONFIG_MAILBOX=y
    # CONFIG_PLATFORM_MHU is not set
    CONFIG_OMAP2PLUS_MBOX=y
    CONFIG_OMAP_MBOX_KFIFO_SIZE=256
    # CONFIG_ALTERA_MBOX is not set
    # CONFIG_MAILBOX_TEST is not set
    CONFIG_IOMMU_API=y
    CONFIG_IOMMU_SUPPORT=y
    
    #
    # Generic IOMMU Pagetable Support
    #
    # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
    # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
    # CONFIG_IOMMU_DEBUGFS is not set
    # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
    CONFIG_OF_IOMMU=y
    CONFIG_OMAP_IOMMU=y
    CONFIG_OMAP_IOMMU_DEBUG=y
    # CONFIG_ARM_SMMU is not set
    
    #
    # Remoteproc drivers
    #
    CONFIG_REMOTEPROC=m
    CONFIG_OMAP_REMOTEPROC=m
    CONFIG_OMAP_REMOTEPROC_WATCHDOG=y
    CONFIG_PRU_REMOTEPROC=m
    
    #
    # Rpmsg drivers
    #
    CONFIG_RPMSG=y
    # CONFIG_RPMSG_CHAR is not set
    # CONFIG_RPMSG_QCOM_GLINK_RPM is not set
    CONFIG_RPMSG_VIRTIO=m
    CONFIG_RPMSG_RPC=m
    CONFIG_RPMSG_PRU=m
    
    #
    # Rpmsg virtual device drivers
    #
    CONFIG_RPMSG_KDRV=y
    CONFIG_RPMSG_KDRV_DISPLAY=y
    CONFIG_RPMSG_KDRV_ETH_SWITCH=m
    
    #
    # SOC (System On Chip) specific Drivers
    #
    
    #
    # Amlogic SoC drivers
    #
    
    #
    # Broadcom SoC drivers
    #
    # CONFIG_SOC_BRCMSTB is not set
    
    #
    # NXP/Freescale QorIQ SoC drivers
    #
    
    #
    # i.MX SoC drivers
    #
    
    #
    # Qualcomm SoC drivers
    #
    CONFIG_SOC_TI=y
    CONFIG_TI_PRUSS=m
    
    #
    # Xilinx SoC drivers
    #
    # CONFIG_XILINX_VCU is not set
    CONFIG_PM_DEVFREQ=y
    
    #
    # DEVFREQ Governors
    #
    CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
    # 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=y
    
    #
    # Extcon Device Drivers
    #
    # CONFIG_EXTCON_ADC_JACK is not set
    # CONFIG_EXTCON_GPIO is not set
    # CONFIG_EXTCON_MAX3355 is not set
    CONFIG_EXTCON_PALMAS=m
    # CONFIG_EXTCON_RT8973A is not set
    # CONFIG_EXTCON_SM5502 is not set
    CONFIG_EXTCON_USB_GPIO=m
    CONFIG_MEMORY=y
    # CONFIG_TI_EMIF is not set
    CONFIG_OMAP_GPMC=y
    # CONFIG_OMAP_GPMC_DEBUG is not set
    CONFIG_IIO=y
    CONFIG_IIO_BUFFER=y
    # CONFIG_IIO_BUFFER_CB is not set
    # CONFIG_IIO_BUFFER_HW_CONSUMER is not set
    CONFIG_IIO_KFIFO_BUF=y
    CONFIG_IIO_TRIGGERED_BUFFER=y
    CONFIG_IIO_CONFIGFS=y
    CONFIG_IIO_TRIGGER=y
    CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
    # CONFIG_IIO_SW_DEVICE is not set
    CONFIG_IIO_SW_TRIGGER=y
    
    #
    # Accelerometers
    #
    # CONFIG_ADIS16201 is not set
    # CONFIG_ADIS16209 is not set
    # CONFIG_BMA180 is not set
    # CONFIG_BMA220 is not set
    # CONFIG_BMC150_ACCEL is not set
    # CONFIG_DA280 is not set
    # CONFIG_DA311 is not set
    # CONFIG_DMARD06 is not set
    # CONFIG_DMARD09 is not set
    # CONFIG_DMARD10 is not set
    # CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set
    # CONFIG_IIO_ST_ACCEL_3AXIS is not set
    # CONFIG_KXSD9 is not set
    # CONFIG_KXCJK1013 is not set
    # CONFIG_MC3230 is not set
    # CONFIG_MMA7455_I2C is not set
    # CONFIG_MMA7455_SPI is not set
    # CONFIG_MMA7660 is not set
    # CONFIG_MMA8452 is not set
    # CONFIG_MMA9551 is not set
    # CONFIG_MMA9553 is not set
    # CONFIG_MXC4005 is not set
    # CONFIG_MXC6255 is not set
    # CONFIG_SCA3000 is not set
    # CONFIG_STK8312 is not set
    # CONFIG_STK8BA50 is not set
    
    #
    # Analog to digital converters
    #
    # CONFIG_AD7266 is not set
    # CONFIG_AD7291 is not set
    # CONFIG_AD7298 is not set
    # CONFIG_AD7476 is not set
    # CONFIG_AD7766 is not set
    # CONFIG_AD7791 is not set
    # CONFIG_AD7793 is not set
    # CONFIG_AD7887 is not set
    # CONFIG_AD7923 is not set
    # CONFIG_AD799X is not set
    # CONFIG_CC10001_ADC is not set
    CONFIG_CPCAP_ADC=m
    # CONFIG_ENVELOPE_DETECTOR is not set
    # CONFIG_HI8435 is not set
    # CONFIG_HX711 is not set
    # CONFIG_INA2XX_ADC is not set
    # CONFIG_LTC2471 is not set
    # CONFIG_LTC2485 is not set
    # CONFIG_LTC2497 is not set
    # CONFIG_MAX1027 is not set
    # CONFIG_MAX11100 is not set
    # CONFIG_MAX1118 is not set
    # CONFIG_MAX1363 is not set
    # CONFIG_MAX9611 is not set
    # CONFIG_MCP320X is not set
    # CONFIG_MCP3422 is not set
    # CONFIG_NAU7802 is not set
    # CONFIG_PALMAS_GPADC is not set
    # CONFIG_QCOM_SPMI_IADC is not set
    # CONFIG_QCOM_SPMI_VADC is not set
    # CONFIG_SD_ADC_MODULATOR is not set
    # CONFIG_TI_ADC081C is not set
    # CONFIG_TI_ADC0832 is not set
    # CONFIG_TI_ADC084S021 is not set
    # CONFIG_TI_ADC12138 is not set
    # CONFIG_TI_ADC108S102 is not set
    # CONFIG_TI_ADC128S052 is not set
    # CONFIG_TI_ADC161S626 is not set
    # CONFIG_TI_ADS1015 is not set
    # CONFIG_TI_ADS7950 is not set
    # CONFIG_TI_ADS8688 is not set
    CONFIG_TI_AM335X_ADC=m
    # CONFIG_TI_TLC4541 is not set
    CONFIG_VF610_ADC=m
    
    #
    # Analog Front Ends
    #
    # CONFIG_IIO_RESCALE is not set
    
    #
    # Amplifiers
    #
    # CONFIG_AD8366 is not set
    
    #
    # Chemical Sensors
    #
    # CONFIG_ATLAS_PH_SENSOR is not set
    # CONFIG_BME680 is not set
    # CONFIG_CCS811 is not set
    # CONFIG_IAQCORE is not set
    # CONFIG_VZ89X is not set
    
    #
    # Hid Sensor IIO Common
    #
    
    #
    # SSP Sensor Common
    #
    # CONFIG_IIO_SSP_SENSORHUB is not set
    
    #
    # Counters
    #
    
    #
    # Digital to analog converters
    #
    # CONFIG_AD5064 is not set
    # CONFIG_AD5360 is not set
    # CONFIG_AD5380 is not set
    # CONFIG_AD5421 is not set
    # CONFIG_AD5446 is not set
    # CONFIG_AD5449 is not set
    # CONFIG_AD5592R is not set
    # CONFIG_AD5593R is not set
    # CONFIG_AD5504 is not set
    # CONFIG_AD5624R_SPI is not set
    # CONFIG_LTC2632 is not set
    # CONFIG_AD5686_SPI is not set
    # CONFIG_AD5696_I2C is not set
    # CONFIG_AD5755 is not set
    # CONFIG_AD5758 is not set
    # CONFIG_AD5761 is not set
    # CONFIG_AD5764 is not set
    # CONFIG_AD5791 is not set
    # CONFIG_AD7303 is not set
    # CONFIG_AD8801 is not set
    # CONFIG_DPOT_DAC is not set
    # CONFIG_DS4424 is not set
    # CONFIG_M62332 is not set
    # CONFIG_MAX517 is not set
    # CONFIG_MAX5821 is not set
    # CONFIG_MCP4725 is not set
    # CONFIG_MCP4922 is not set
    # CONFIG_TI_DAC082S085 is not set
    # CONFIG_TI_DAC5571 is not set
    # CONFIG_VF610_DAC is not set
    
    #
    # IIO dummy driver
    #
    
    #
    # Frequency Synthesizers DDS/PLL
    #
    
    #
    # Clock Generator/Distribution
    #
    # CONFIG_AD9523 is not set
    
    #
    # Phase-Locked Loop (PLL) frequency synthesizers
    #
    # CONFIG_ADF4350 is not set
    
    #
    # Digital gyroscope sensors
    #
    # CONFIG_ADIS16080 is not set
    # CONFIG_ADIS16130 is not set
    # CONFIG_ADIS16136 is not set
    # CONFIG_ADIS16260 is not set
    # CONFIG_ADXRS450 is not set
    # CONFIG_BMG160 is not set
    CONFIG_MPU3050=y
    CONFIG_MPU3050_I2C=y
    # CONFIG_IIO_ST_GYRO_3AXIS is not set
    # CONFIG_ITG3200 is not set
    
    #
    # Health Sensors
    #
    
    #
    # Heart Rate Monitors
    #
    # CONFIG_AFE4403 is not set
    # CONFIG_AFE4404 is not set
    # CONFIG_MAX30100 is not set
    # CONFIG_MAX30102 is not set
    
    #
    # Humidity sensors
    #
    # CONFIG_AM2315 is not set
    # CONFIG_DHT11 is not set
    # CONFIG_HDC100X is not set
    # CONFIG_HTS221 is not set
    # CONFIG_HTU21 is not set
    # CONFIG_SI7005 is not set
    # CONFIG_SI7020 is not set
    
    #
    # Inertial measurement units
    #
    # CONFIG_ADIS16400 is not set
    # CONFIG_ADIS16480 is not set
    # CONFIG_BMI160_I2C is not set
    # CONFIG_BMI160_SPI is not set
    # CONFIG_KMX61 is not set
    # CONFIG_INV_MPU6050_I2C is not set
    # CONFIG_INV_MPU6050_SPI is not set
    # CONFIG_IIO_ST_LSM6DSX is not set
    
    #
    # Light sensors
    #
    # CONFIG_ADJD_S311 is not set
    # CONFIG_AL3320A is not set
    # CONFIG_APDS9300 is not set
    # CONFIG_APDS9960 is not set
    # CONFIG_BH1750 is not set
    # CONFIG_BH1780 is not set
    # CONFIG_CM32181 is not set
    # CONFIG_CM3232 is not set
    # CONFIG_CM3323 is not set
    # CONFIG_CM3605 is not set
    CONFIG_CM36651=m
    # CONFIG_GP2AP020A00F is not set
    CONFIG_SENSORS_ISL29018=y
    CONFIG_SENSORS_ISL29028=y
    # CONFIG_ISL29125 is not set
    # CONFIG_JSA1212 is not set
    # CONFIG_RPR0521 is not set
    # CONFIG_LTR501 is not set
    # CONFIG_LV0104CS is not set
    # CONFIG_MAX44000 is not set
    # CONFIG_OPT3001 is not set
    # CONFIG_PA12203001 is not set
    # CONFIG_SI1133 is not set
    # CONFIG_SI1145 is not set
    # CONFIG_STK3310 is not set
    # CONFIG_ST_UVIS25 is not set
    # CONFIG_TCS3414 is not set
    # CONFIG_TCS3472 is not set
    # CONFIG_SENSORS_TSL2563 is not set
    # CONFIG_TSL2583 is not set
    # CONFIG_TSL2772 is not set
    # CONFIG_TSL4531 is not set
    # CONFIG_US5182D is not set
    # CONFIG_VCNL4000 is not set
    # CONFIG_VEML6070 is not set
    # CONFIG_VL6180 is not set
    # CONFIG_ZOPT2201 is not set
    
    #
    # Magnetometer sensors
    #
    # CONFIG_AK8974 is not set
    CONFIG_AK8975=y
    # CONFIG_AK09911 is not set
    # CONFIG_BMC150_MAGN_I2C is not set
    # CONFIG_BMC150_MAGN_SPI is not set
    # CONFIG_MAG3110 is not set
    # CONFIG_MMC35240 is not set
    # CONFIG_IIO_ST_MAGN_3AXIS is not set
    # CONFIG_SENSORS_HMC5843_I2C is not set
    # CONFIG_SENSORS_HMC5843_SPI is not set
    
    #
    # Multiplexers
    #
    # CONFIG_IIO_MUX is not set
    
    #
    # Inclinometer sensors
    #
    
    #
    # Triggers - standalone
    #
    CONFIG_IIO_HRTIMER_TRIGGER=y
    # CONFIG_IIO_INTERRUPT_TRIGGER is not set
    # CONFIG_IIO_TIGHTLOOP_TRIGGER is not set
    # CONFIG_IIO_SYSFS_TRIGGER is not set
    
    #
    # Digital potentiometers
    #
    # CONFIG_AD5272 is not set
    # CONFIG_DS1803 is not set
    # CONFIG_MAX5481 is not set
    # CONFIG_MAX5487 is not set
    # CONFIG_MCP4018 is not set
    # CONFIG_MCP4131 is not set
    # CONFIG_MCP4531 is not set
    # CONFIG_TPL0102 is not set
    
    #
    # Digital potentiostats
    #
    # CONFIG_LMP91000 is not set
    
    #
    # Pressure sensors
    #
    # CONFIG_ABP060MG is not set
    # CONFIG_BMP280 is not set
    # CONFIG_HP03 is not set
    # CONFIG_MPL115_I2C is not set
    # CONFIG_MPL115_SPI is not set
    # CONFIG_MPL3115 is not set
    # CONFIG_MS5611 is not set
    # CONFIG_MS5637 is not set
    # CONFIG_IIO_ST_PRESS is not set
    # CONFIG_T5403 is not set
    # CONFIG_HP206C is not set
    # CONFIG_ZPA2326 is not set
    
    #
    # Lightning sensors
    #
    # CONFIG_AS3935 is not set
    
    #
    # Proximity and distance sensors
    #
    # CONFIG_ISL29501 is not set
    # CONFIG_LIDAR_LITE_V2 is not set
    # CONFIG_RFD77402 is not set
    # CONFIG_SRF04 is not set
    # CONFIG_SX9500 is not set
    # CONFIG_SRF08 is not set
    
    #
    # Resolver to digital converters
    #
    # CONFIG_AD2S1200 is not set
    
    #
    # Temperature sensors
    #
    # CONFIG_MAXIM_THERMOCOUPLE is not set
    # CONFIG_MLX90614 is not set
    # CONFIG_MLX90632 is not set
    # CONFIG_TMP006 is not set
    # CONFIG_TMP007 is not set
    # CONFIG_TSYS01 is not set
    # CONFIG_TSYS02D is not set
    CONFIG_NTB=m
    # CONFIG_NTB_IDT is not set
    CONFIG_NTB_EPF=m
    # CONFIG_NTB_SWITCHTEC is not set
    # CONFIG_NTB_PINGPONG is not set
    # CONFIG_NTB_TOOL is not set
    # CONFIG_NTB_PERF is not set
    CONFIG_NTB_TRANSPORT=m
    # CONFIG_VME_BUS is not set
    CONFIG_PWM=y
    CONFIG_PWM_SYSFS=y
    CONFIG_PWM_FSL_FTM=m
    # CONFIG_PWM_OMAP_DMTIMER is not set
    # CONFIG_PWM_PCA9685 is not set
    CONFIG_PWM_TIECAP=y
    CONFIG_PWM_TIEHRPWM=y
    CONFIG_PWM_TIPWMSS=y
    
    #
    # IRQ chip support
    #
    CONFIG_IRQCHIP=y
    CONFIG_ARM_GIC=y
    CONFIG_ARM_GIC_MAX_NR=1
    CONFIG_OMAP_IRQCHIP=y
    CONFIG_IRQ_CROSSBAR=y
    # CONFIG_IPACK_BUS is not set
    CONFIG_RESET_CONTROLLER=y
    CONFIG_RESET_TI_SYSCON=y
    # CONFIG_FMC is not set
    
    #
    # PHY Subsystem
    #
    CONFIG_GENERIC_PHY=y
    # CONFIG_BCM_KONA_USB2_PHY is not set
    CONFIG_PHY_CADENCE_TORRENT=y
    CONFIG_PHY_CADENCE_SIERRA=y
    # CONFIG_PHY_PXA_28NM_HSIC is not set
    # CONFIG_PHY_PXA_28NM_USB2 is not set
    CONFIG_PHY_CPCAP_USB=m
    # CONFIG_PHY_MAPPHONE_MDM6600 is not set
    CONFIG_PHY_DM816X_USB=m
    CONFIG_OMAP_CONTROL_PHY=y
    CONFIG_OMAP_USB2=m
    CONFIG_TI_PIPE3=y
    # 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_PMU=y
    CONFIG_RAS=y
    
    #
    # Android
    #
    CONFIG_ANDROID=y
    # CONFIG_ANDROID_BINDER_IPC is not set
    # CONFIG_LIBNVDIMM is not set
    # CONFIG_DAX is not set
    CONFIG_NVMEM=y
    
    #
    # HW tracing support
    #
    # CONFIG_STM is not set
    # CONFIG_INTEL_TH is not set
    # CONFIG_FPGA is not set
    # CONFIG_FSI is not set
    CONFIG_TEE=y
    
    #
    # TEE drivers
    #
    CONFIG_OPTEE=y
    CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1
    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=y
    CONFIG_PM_OPP=y
    # CONFIG_SIOX is not set
    # CONFIG_SLIMBUS is not set
    
    #
    # File systems
    #
    CONFIG_DCACHE_WORD_ACCESS=y
    CONFIG_FS_IOMAP=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_ENCRYPTION is not set
    # 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 is not set
    # CONFIG_NILFS2_FS is not set
    # CONFIG_F2FS_FS is not set
    CONFIG_FS_POSIX_ACL=y
    CONFIG_EXPORTFS=y
    # CONFIG_EXPORTFS_BLOCK_OPS is not set
    CONFIG_FILE_LOCKING=y
    CONFIG_MANDATORY_FILE_LOCKING=y
    # CONFIG_FS_ENCRYPTION is not set
    CONFIG_FSNOTIFY=y
    CONFIG_DNOTIFY=y
    CONFIG_INOTIFY_USER=y
    # CONFIG_FANOTIFY is not set
    # CONFIG_QUOTA is not set
    CONFIG_AUTOFS4_FS=y
    CONFIG_AUTOFS_FS=y
    # CONFIG_FUSE_FS is not set
    CONFIG_OVERLAY_FS=y
    # 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
    
    #
    # Caches
    #
    # CONFIG_FSCACHE is not set
    
    #
    # CD-ROM/DVD Filesystems
    #
    # CONFIG_ISO9660_FS is not set
    # CONFIG_UDF_FS is not set
    
    #
    # DOS/FAT/NT Filesystems
    #
    CONFIG_FAT_FS=y
    CONFIG_MSDOS_FS=y
    CONFIG_VFAT_FS=y
    CONFIG_FAT_DEFAULT_CODEPAGE=437
    CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
    # CONFIG_FAT_DEFAULT_UTF8 is not set
    CONFIG_NTFS_FS=y
    # CONFIG_NTFS_DEBUG is not set
    # CONFIG_NTFS_RW is not set
    
    #
    # Pseudo filesystems
    #
    CONFIG_PROC_FS=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_HUGETLBFS is not set
    CONFIG_MEMFD_CREATE=y
    CONFIG_CONFIGFS_FS=y
    CONFIG_EFIVAR_FS=m
    CONFIG_MISC_FILESYSTEMS=y
    # CONFIG_ORANGEFS_FS is not set
    # CONFIG_ADFS_FS is not set
    # CONFIG_AFFS_FS is not set
    # CONFIG_ECRYPT_FS is not set
    # CONFIG_HFS_FS is not set
    # CONFIG_HFSPLUS_FS is not set
    # CONFIG_BEFS_FS is not set
    # CONFIG_BFS_FS is not set
    # CONFIG_EFS_FS is not set
    # CONFIG_JFFS2_FS is not set
    CONFIG_UBIFS_FS=y
    # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
    CONFIG_UBIFS_FS_LZO=y
    CONFIG_UBIFS_FS_ZLIB=y
    # CONFIG_UBIFS_ATIME_SUPPORT is not set
    CONFIG_UBIFS_FS_XATTR=y
    # CONFIG_UBIFS_FS_ENCRYPTION is not set
    CONFIG_UBIFS_FS_SECURITY=y
    # CONFIG_CRAMFS is not set
    CONFIG_SQUASHFS=y
    CONFIG_SQUASHFS_FILE_CACHE=y
    # CONFIG_SQUASHFS_FILE_DIRECT is not set
    CONFIG_SQUASHFS_DECOMP_SINGLE=y
    # CONFIG_SQUASHFS_DECOMP_MULTI is not set
    # CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
    # CONFIG_SQUASHFS_XATTR is not set
    CONFIG_SQUASHFS_ZLIB=y
    # CONFIG_SQUASHFS_LZ4 is not set
    CONFIG_SQUASHFS_LZO=y
    CONFIG_SQUASHFS_XZ=y
    # CONFIG_SQUASHFS_ZSTD is not set
    # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
    # CONFIG_SQUASHFS_EMBEDDED is not set
    CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
    # CONFIG_VXFS_FS is not set
    # CONFIG_MINIX_FS is not set
    # CONFIG_OMFS_FS is not set
    # CONFIG_HPFS_FS is not set
    # CONFIG_QNX4FS_FS is not set
    # CONFIG_QNX6FS_FS is not set
    # CONFIG_ROMFS_FS is not set
    CONFIG_PSTORE=y
    CONFIG_PSTORE_DEFLATE_COMPRESS=y
    # CONFIG_PSTORE_LZO_COMPRESS is not set
    # CONFIG_PSTORE_LZ4_COMPRESS is not set
    # CONFIG_PSTORE_LZ4HC_COMPRESS is not set
    # CONFIG_PSTORE_842_COMPRESS is not set
    # CONFIG_PSTORE_ZSTD_COMPRESS is not set
    CONFIG_PSTORE_COMPRESS=y
    CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
    CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
    CONFIG_PSTORE_CONSOLE=y
    CONFIG_PSTORE_PMSG=y
    CONFIG_PSTORE_RAM=y
    # CONFIG_SYSV_FS is not set
    # CONFIG_UFS_FS is not set
    CONFIG_NETWORK_FILESYSTEMS=y
    CONFIG_NFS_FS=y
    CONFIG_NFS_V2=y
    CONFIG_NFS_V3=y
    CONFIG_NFS_V3_ACL=y
    CONFIG_NFS_V4=y
    # CONFIG_NFS_SWAP is not set
    # CONFIG_NFS_V4_1 is not set
    CONFIG_ROOT_NFS=y
    # CONFIG_NFS_USE_LEGACY_DNS is not set
    CONFIG_NFS_USE_KERNEL_DNS=y
    # CONFIG_NFSD is not set
    CONFIG_GRACE_PERIOD=y
    CONFIG_LOCKD=y
    CONFIG_LOCKD_V4=y
    CONFIG_NFS_ACL_SUPPORT=y
    CONFIG_NFS_COMMON=y
    CONFIG_SUNRPC=y
    CONFIG_SUNRPC_GSS=y
    # CONFIG_SUNRPC_DEBUG is not set
    # CONFIG_CEPH_FS is not set
    CONFIG_CIFS=m
    # CONFIG_CIFS_STATS2 is not set
    CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
    # CONFIG_CIFS_WEAK_PW_HASH is not set
    # CONFIG_CIFS_UPCALL is not set
    CONFIG_CIFS_XATTR=y
    CONFIG_CIFS_POSIX=y
    CONFIG_CIFS_ACL=y
    CONFIG_CIFS_DEBUG=y
    # CONFIG_CIFS_DEBUG2 is not set
    # CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
    # CONFIG_CIFS_DFS_UPCALL 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=y
    # CONFIG_NLS_ISO8859_2 is not set
    # CONFIG_NLS_ISO8859_3 is not set
    # CONFIG_NLS_ISO8859_4 is not set
    # CONFIG_NLS_ISO8859_5 is not set
    # CONFIG_NLS_ISO8859_6 is not set
    # CONFIG_NLS_ISO8859_7 is not set
    # CONFIG_NLS_ISO8859_9 is not set
    # CONFIG_NLS_ISO8859_13 is not set
    # CONFIG_NLS_ISO8859_14 is not set
    # CONFIG_NLS_ISO8859_15 is not set
    # CONFIG_NLS_KOI8_R is not set
    # CONFIG_NLS_KOI8_U is not set
    # CONFIG_NLS_MAC_ROMAN is not set
    # CONFIG_NLS_MAC_CELTIC is not set
    # CONFIG_NLS_MAC_CENTEURO is not set
    # CONFIG_NLS_MAC_CROATIAN is not set
    # CONFIG_NLS_MAC_CYRILLIC is not set
    # CONFIG_NLS_MAC_GAELIC is not set
    # CONFIG_NLS_MAC_GREEK is not set
    # CONFIG_NLS_MAC_ICELAND is not set
    # CONFIG_NLS_MAC_INUIT is not set
    # CONFIG_NLS_MAC_ROMANIAN is not set
    # CONFIG_NLS_MAC_TURKISH is not set
    CONFIG_NLS_UTF8=y
    # CONFIG_DLM is not set
    
    #
    # Security options
    #
    CONFIG_KEYS=y
    # CONFIG_PERSISTENT_KEYRINGS is not set
    # CONFIG_BIG_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_SECURITY is not set
    # CONFIG_SECURITYFS is not set
    CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
    # CONFIG_HARDENED_USERCOPY is not set
    # CONFIG_FORTIFY_SOURCE is not set
    # CONFIG_STATIC_USERMODEHELPER is not set
    CONFIG_DEFAULT_SECURITY_DAC=y
    CONFIG_DEFAULT_SECURITY=""
    CONFIG_CRYPTO=y
    
    #
    # Crypto core or helper
    #
    CONFIG_CRYPTO_ALGAPI=y
    CONFIG_CRYPTO_ALGAPI2=y
    CONFIG_CRYPTO_AEAD=m
    CONFIG_CRYPTO_AEAD2=y
    CONFIG_CRYPTO_BLKCIPHER=m
    CONFIG_CRYPTO_BLKCIPHER2=y
    CONFIG_CRYPTO_HASH=y
    CONFIG_CRYPTO_HASH2=y
    CONFIG_CRYPTO_RNG=m
    CONFIG_CRYPTO_RNG2=y
    CONFIG_CRYPTO_RNG_DEFAULT=m
    CONFIG_CRYPTO_AKCIPHER2=y
    CONFIG_CRYPTO_AKCIPHER=y
    CONFIG_CRYPTO_KPP2=y
    CONFIG_CRYPTO_KPP=m
    CONFIG_CRYPTO_ACOMP2=y
    CONFIG_CRYPTO_RSA=y
    # CONFIG_CRYPTO_DH is not set
    CONFIG_CRYPTO_ECDH=m
    CONFIG_CRYPTO_MANAGER=y
    CONFIG_CRYPTO_MANAGER2=y
    CONFIG_CRYPTO_USER=m
    CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
    CONFIG_CRYPTO_GF128MUL=m
    CONFIG_CRYPTO_NULL=m
    CONFIG_CRYPTO_NULL2=y
    # CONFIG_CRYPTO_PCRYPT is not set
    CONFIG_CRYPTO_WORKQUEUE=y
    CONFIG_CRYPTO_CRYPTD=m
    # CONFIG_CRYPTO_MCRYPTD is not set
    CONFIG_CRYPTO_AUTHENC=m
    CONFIG_CRYPTO_TEST=m
    CONFIG_CRYPTO_SIMD=m
    CONFIG_CRYPTO_ENGINE=m
    
    #
    # Authenticated Encryption with Associated Data
    #
    CONFIG_CRYPTO_CCM=m
    CONFIG_CRYPTO_GCM=m
    # CONFIG_CRYPTO_CHACHA20POLY1305 is not set
    # CONFIG_CRYPTO_AEGIS128 is not set
    # CONFIG_CRYPTO_AEGIS128L is not set
    # CONFIG_CRYPTO_AEGIS256 is not set
    # CONFIG_CRYPTO_MORUS640 is not set
    # CONFIG_CRYPTO_MORUS1280 is not set
    CONFIG_CRYPTO_SEQIV=m
    CONFIG_CRYPTO_ECHAINIV=m
    
    #
    # Block modes
    #
    CONFIG_CRYPTO_CBC=m
    # CONFIG_CRYPTO_CFB is not set
    CONFIG_CRYPTO_CTR=m
    # CONFIG_CRYPTO_CTS is not set
    CONFIG_CRYPTO_ECB=m
    # CONFIG_CRYPTO_LRW is not set
    # CONFIG_CRYPTO_PCBC is not set
    # CONFIG_CRYPTO_XTS is not set
    # CONFIG_CRYPTO_KEYWRAP is not set
    
    #
    # Hash modes
    #
    CONFIG_CRYPTO_CMAC=m
    CONFIG_CRYPTO_HMAC=m
    # CONFIG_CRYPTO_XCBC is not set
    # CONFIG_CRYPTO_VMAC is not set
    
    #
    # Digest
    #
    CONFIG_CRYPTO_CRC32C=y
    # CONFIG_CRYPTO_CRC32 is not set
    # CONFIG_CRYPTO_CRCT10DIF is not set
    CONFIG_CRYPTO_GHASH=m
    # CONFIG_CRYPTO_POLY1305 is not set
    CONFIG_CRYPTO_MD4=m
    CONFIG_CRYPTO_MD5=m
    # CONFIG_CRYPTO_MICHAEL_MIC is not set
    # CONFIG_CRYPTO_RMD128 is not set
    # CONFIG_CRYPTO_RMD160 is not set
    # CONFIG_CRYPTO_RMD256 is not set
    # CONFIG_CRYPTO_RMD320 is not set
    CONFIG_CRYPTO_SHA1=m
    CONFIG_CRYPTO_SHA256=m
    CONFIG_CRYPTO_SHA512=m
    # CONFIG_CRYPTO_SHA3 is not set
    # CONFIG_CRYPTO_SM3 is not set
    # CONFIG_CRYPTO_TGR192 is not set
    # CONFIG_CRYPTO_WP512 is not set
    
    #
    # Ciphers
    #
    CONFIG_CRYPTO_AES=y
    # CONFIG_CRYPTO_AES_TI is not set
    # CONFIG_CRYPTO_ANUBIS is not set
    CONFIG_CRYPTO_ARC4=m
    # CONFIG_CRYPTO_BLOWFISH is not set
    # CONFIG_CRYPTO_CAMELLIA is not set
    # CONFIG_CRYPTO_CAST5 is not set
    # CONFIG_CRYPTO_CAST6 is not set
    CONFIG_CRYPTO_DES=m
    # CONFIG_CRYPTO_FCRYPT is not set
    # CONFIG_CRYPTO_KHAZAD is not set
    # CONFIG_CRYPTO_SALSA20 is not set
    CONFIG_CRYPTO_CHACHA20=m
    # CONFIG_CRYPTO_SEED is not set
    # CONFIG_CRYPTO_SERPENT is not set
    # CONFIG_CRYPTO_SM4 is not set
    # CONFIG_CRYPTO_TEA is not set
    # CONFIG_CRYPTO_TWOFISH is not set
    
    #
    # Compression
    #
    CONFIG_CRYPTO_DEFLATE=y
    CONFIG_CRYPTO_LZO=y
    # CONFIG_CRYPTO_842 is not set
    # CONFIG_CRYPTO_LZ4 is not set
    # CONFIG_CRYPTO_LZ4HC is not set
    # CONFIG_CRYPTO_ZSTD is not set
    
    #
    # Random Number Generation
    #
    # CONFIG_CRYPTO_ANSI_CPRNG is not set
    CONFIG_CRYPTO_DRBG_MENU=m
    CONFIG_CRYPTO_DRBG_HMAC=y
    # CONFIG_CRYPTO_DRBG_HASH is not set
    # CONFIG_CRYPTO_DRBG_CTR is not set
    CONFIG_CRYPTO_DRBG=m
    CONFIG_CRYPTO_JITTERENTROPY=m
    CONFIG_CRYPTO_USER_API=m
    CONFIG_CRYPTO_USER_API_HASH=m
    CONFIG_CRYPTO_USER_API_SKCIPHER=m
    CONFIG_CRYPTO_USER_API_RNG=m
    CONFIG_CRYPTO_USER_API_AEAD=m
    CONFIG_CRYPTO_HASH_INFO=y
    CONFIG_CRYPTO_HW=y
    CONFIG_CRYPTO_DEV_OMAP=m
    CONFIG_CRYPTO_DEV_OMAP_SHAM=m
    CONFIG_CRYPTO_DEV_OMAP_AES=m
    CONFIG_CRYPTO_DEV_OMAP_DES=m
    CONFIG_CRYPTO_DEV_VIRTIO=m
    # CONFIG_CRYPTO_DEV_CCREE is not set
    CONFIG_ASYMMETRIC_KEY_TYPE=y
    CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
    CONFIG_X509_CERTIFICATE_PARSER=y
    CONFIG_PKCS7_MESSAGE_PARSER=y
    # CONFIG_PKCS7_TEST_KEY is not set
    # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
    
    #
    # Certificates for signature checking
    #
    CONFIG_SYSTEM_TRUSTED_KEYRING=y
    CONFIG_SYSTEM_TRUSTED_KEYS=""
    # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
    # CONFIG_SECONDARY_TRUSTED_KEYRING is not set
    # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
    
    #
    # Library routines
    #
    CONFIG_BITREVERSE=y
    CONFIG_HAVE_ARCH_BITREVERSE=y
    CONFIG_RATIONAL=y
    CONFIG_GENERIC_STRNCPY_FROM_USER=y
    CONFIG_GENERIC_STRNLEN_USER=y
    CONFIG_GENERIC_NET_UTILS=y
    CONFIG_GENERIC_PCI_IOMAP=y
    CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
    CONFIG_CRC_CCITT=m
    CONFIG_CRC16=y
    # CONFIG_CRC_T10DIF is not set
    CONFIG_CRC_ITU_T=m
    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=m
    # CONFIG_CRC8 is not set
    # CONFIG_RANDOM32_SELFTEST is not set
    CONFIG_ZLIB_INFLATE=y
    CONFIG_ZLIB_DEFLATE=y
    CONFIG_LZO_COMPRESS=y
    CONFIG_LZO_DECOMPRESS=y
    CONFIG_LZ4_DECOMPRESS=y
    CONFIG_XZ_DEC=y
    CONFIG_XZ_DEC_X86=y
    CONFIG_XZ_DEC_POWERPC=y
    CONFIG_XZ_DEC_IA64=y
    CONFIG_XZ_DEC_ARM=y
    CONFIG_XZ_DEC_ARMTHUMB=y
    CONFIG_XZ_DEC_SPARC=y
    CONFIG_XZ_DEC_BCJ=y
    # CONFIG_XZ_DEC_TEST is not set
    CONFIG_DECOMPRESS_GZIP=y
    CONFIG_DECOMPRESS_BZIP2=y
    CONFIG_DECOMPRESS_LZMA=y
    CONFIG_DECOMPRESS_XZ=y
    CONFIG_DECOMPRESS_LZO=y
    CONFIG_DECOMPRESS_LZ4=y
    CONFIG_GENERIC_ALLOCATOR=y
    CONFIG_REED_SOLOMON=y
    CONFIG_REED_SOLOMON_ENC8=y
    CONFIG_REED_SOLOMON_DEC8=y
    CONFIG_BCH=y
    CONFIG_TEXTSEARCH=y
    CONFIG_TEXTSEARCH_KMP=m
    CONFIG_TEXTSEARCH_BM=m
    CONFIG_TEXTSEARCH_FSM=m
    CONFIG_ASSOCIATIVE_ARRAY=y
    CONFIG_HAS_IOMEM=y
    CONFIG_HAS_IOPORT_MAP=y
    CONFIG_HAS_DMA=y
    CONFIG_NEED_DMA_MAP_STATE=y
    CONFIG_ARCH_DMA_ADDR_T_64BIT=y
    CONFIG_HAVE_GENERIC_DMA_COHERENT=y
    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_CORDIC is not set
    # CONFIG_DDR is not set
    # CONFIG_IRQ_POLL is not set
    CONFIG_MPILIB=y
    CONFIG_LIBFDT=y
    CONFIG_OID_REGISTRY=y
    CONFIG_UCS2_STRING=y
    CONFIG_FONT_SUPPORT=y
    # CONFIG_FONTS is not set
    CONFIG_FONT_8x8=y
    CONFIG_FONT_8x16=y
    CONFIG_SG_SPLIT=y
    CONFIG_SG_POOL=y
    CONFIG_ARCH_HAS_SG_CHAIN=y
    CONFIG_SBITMAP=y
    # CONFIG_STRING_SELFTEST is not set
    
    #
    # Kernel hacking
    #
    
    #
    # printk and dmesg options
    #
    CONFIG_PRINTK_TIME=y
    CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
    CONFIG_CONSOLE_LOGLEVEL_QUIET=4
    CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
    # CONFIG_BOOT_PRINTK_DELAY is not set
    # CONFIG_DYNAMIC_DEBUG is not set
    
    #
    # Compile-time checks and compiler options
    #
    # CONFIG_DEBUG_INFO is not set
    CONFIG_ENABLE_MUST_CHECK=y
    CONFIG_FRAME_WARN=1024
    # CONFIG_STRIP_ASM_SYMS is not set
    # CONFIG_READABLE_ASM is not set
    # CONFIG_UNUSED_SYMBOLS is not set
    # CONFIG_PAGE_OWNER is not set
    CONFIG_DEBUG_FS=y
    # CONFIG_HEADERS_CHECK is not set
    # CONFIG_DEBUG_SECTION_MISMATCH is not set
    CONFIG_SECTION_MISMATCH_WARN_ONLY=y
    CONFIG_FRAME_POINTER=y
    # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
    CONFIG_MAGIC_SYSRQ=y
    CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
    CONFIG_MAGIC_SYSRQ_SERIAL=y
    CONFIG_DEBUG_KERNEL=y
    
    #
    # Memory Debugging
    #
    # CONFIG_PAGE_EXTENSION is not set
    # CONFIG_DEBUG_PAGEALLOC is not set
    # CONFIG_PAGE_POISONING is not set
    # CONFIG_DEBUG_RODATA_TEST is not set
    # CONFIG_DEBUG_OBJECTS is not set
    # CONFIG_SLUB_STATS is not set
    CONFIG_HAVE_DEBUG_KMEMLEAK=y
    # CONFIG_DEBUG_KMEMLEAK is not set
    # CONFIG_DEBUG_STACK_USAGE is not set
    # CONFIG_DEBUG_VM is not set
    CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
    # CONFIG_DEBUG_VIRTUAL is not set
    # CONFIG_DEBUG_MEMORY_INIT is not set
    # CONFIG_DEBUG_PER_CPU_MAPS is not set
    # CONFIG_DEBUG_HIGHMEM is not set
    CONFIG_ARCH_HAS_KCOV=y
    CONFIG_CC_HAS_SANCOV_TRACE_PC=y
    # CONFIG_KCOV is not set
    # CONFIG_DEBUG_SHIRQ is not set
    
    #
    # Debug Lockups and Hangs
    #
    # CONFIG_SOFTLOCKUP_DETECTOR is not set
    # CONFIG_DETECT_HUNG_TASK is not set
    # CONFIG_WQ_WATCHDOG is not set
    # CONFIG_PANIC_ON_OOPS is not set
    CONFIG_PANIC_ON_OOPS_VALUE=0
    CONFIG_PANIC_TIMEOUT=0
    CONFIG_SCHED_DEBUG=y
    CONFIG_SCHED_INFO=y
    CONFIG_SCHEDSTATS=y
    # CONFIG_SCHED_STACK_END_CHECK is not set
    # CONFIG_DEBUG_TIMEKEEPING is not set
    # CONFIG_DEBUG_PREEMPT is not set
    
    #
    # Lock Debugging (spinlocks, mutexes, etc...)
    #
    CONFIG_LOCK_DEBUGGING_SUPPORT=y
    # CONFIG_PROVE_LOCKING is not set
    # CONFIG_LOCK_STAT is not set
    # CONFIG_DEBUG_RT_MUTEXES is not set
    # CONFIG_DEBUG_SPINLOCK 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_STACKTRACE is not set
    # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
    # CONFIG_DEBUG_KOBJECT is not set
    # CONFIG_DEBUG_BUGVERBOSE is not set
    # CONFIG_DEBUG_LIST is not set
    # CONFIG_DEBUG_PI_LIST is not set
    # CONFIG_DEBUG_SG is not set
    # CONFIG_DEBUG_NOTIFIERS is not set
    # CONFIG_DEBUG_CREDENTIALS is not set
    
    #
    # RCU Debugging
    #
    # CONFIG_RCU_PERF_TEST is not set
    # CONFIG_RCU_TORTURE_TEST is not set
    CONFIG_RCU_CPU_STALL_TIMEOUT=21
    # CONFIG_RCU_TRACE is not set
    # CONFIG_RCU_EQS_DEBUG is not set
    # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
    # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
    # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
    # CONFIG_NOTIFIER_ERROR_INJECTION is not set
    # CONFIG_FAULT_INJECTION is not set
    # CONFIG_LATENCYTOP is not set
    CONFIG_HAVE_FUNCTION_TRACER=y
    CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
    CONFIG_HAVE_DYNAMIC_FTRACE=y
    CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
    CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
    CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
    CONFIG_HAVE_C_RECORDMCOUNT=y
    CONFIG_TRACING_SUPPORT=y
    # CONFIG_FTRACE is not set
    # CONFIG_DMA_API_DEBUG is not set
    CONFIG_RUNTIME_TESTING_MENU=y
    # CONFIG_LKDTM is not set
    # CONFIG_TEST_LIST_SORT is not set
    # CONFIG_TEST_SORT is not set
    # CONFIG_BACKTRACE_SELF_TEST is not set
    # CONFIG_RBTREE_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_STRING_HELPERS is not set
    # CONFIG_TEST_KSTRTOX is not set
    # CONFIG_TEST_PRINTF is not set
    # CONFIG_TEST_BITMAP is not set
    # CONFIG_TEST_BITFIELD is not set
    # CONFIG_TEST_UUID is not set
    # CONFIG_TEST_OVERFLOW is not set
    # CONFIG_TEST_RHASHTABLE is not set
    # CONFIG_TEST_HASH is not set
    # CONFIG_TEST_IDA is not set
    # CONFIG_TEST_LKM is not set
    # CONFIG_TEST_USER_COPY is not set
    # CONFIG_TEST_BPF 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_MEMTEST is not set
    # CONFIG_BUG_ON_DATA_CORRUPTION is not set
    # CONFIG_SAMPLES is not set
    CONFIG_HAVE_ARCH_KGDB=y
    # CONFIG_KGDB is not set
    # CONFIG_UBSAN is not set
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    # CONFIG_STRICT_DEVMEM is not set
    # CONFIG_ARM_PTDUMP_DEBUGFS is not set
    # CONFIG_DEBUG_WX is not set
    # CONFIG_ARM_UNWIND is not set
    # CONFIG_DEBUG_USER is not set
    # CONFIG_DEBUG_LL is not set
    CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
    CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
    # CONFIG_PID_IN_CONTEXTIDR is not set
    # CONFIG_CORESIGHT is not set

    Regards,

    Devashish

  • Hi Devashish,you can try to modify .config file as below to force simple card automaticlly.

    CONFIG_SND_SIMPLE_CARD_UTILS=y

    CONFIG_SND_SIMPLE_CARD=y

    CONFIG_SND_SIMPLE_SCU_CARD=y

    Regards

    Raphael

  • Hi,

    After enabling the above options, I am getting kernel panic.

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #92 SMP PREEMPT Fri Jan 7 2
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00000211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=269dc834-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735824K/3944448K available (10240K kernel code, 337K rwdata, 2912K rodata, 2048K init, 278K bss, 52976K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 338 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000018] Switching to timer-based delay loop, resolution 162ns
    [    0.000296] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000306] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000804] Console: colour dummy device 80x30
    [    0.000847] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000862] pid_max: default: 32768 minimum: 301
    [    0.000984] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000997] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001553] CPU: Testing write buffer coherency: ok
    [    0.001590] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001805] /cpus/cpu@0 missing clock-frequency property
    [    0.001825] /cpus/cpu@1 missing clock-frequency property
    [    0.001837] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059877] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079880] rcu: Hierarchical SRCU implementation.
    [    0.100069] EFI services will not be available.
    [    0.119931] smp: Bringing up secondary CPUs ...
    [    0.200311] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200318] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200442] smp: Brought up 1 node, 2 CPUs
    [    0.200453] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200462] CPU: All CPU(s) started in HYP mode.
    [    0.200470] CPU: Virtualization extensions available.
    [    0.201047] devtmpfs: initialized
    [    0.221679] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.221959] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221978] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.224618] pinctrl core: initialized pinctrl subsystem
    [    0.225149] DMI not present or invalid.
    [    0.225427] NET: Registered protocol family 16
    [    0.226581] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.227535] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.421707] cpuidle: using governor ladder
    [    0.421742] cpuidle: using governor menu
    [    0.432146] OMAP GPIO hardware version 0.1
    [    0.458619] No ATAGs?
    [    0.458692] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.458708] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.459564] OMAP DMA hardware revision 0.0
    [    0.471350] edma 43300000.edma: memcpy is disabled
    [    0.474686] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.481894] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.482730] evm_5v0: supplied by main_12v0
    [    0.486178] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.486355] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.486595] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.486842] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.487215] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.487392] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.487683] iommu: Adding device 58820000.ipu to group 1
    [    0.487773] iommu: Adding device 55020000.ipu to group 2
    [    0.487909] iommu: Adding device 40800000.dsp to group 0
    [    0.488155] iommu: Adding device 41000000.dsp to group 3
    [    0.489329] SCSI subsystem initialized
    [    0.490374] palmas 0-0058: Irq flag is 0x00000008
    [    0.512501] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.514078] SMPS12: supplied by regulator-dummy
    [    0.515736] SMPS3: supplied by regulator-dummy
    [    0.517379] SMPS45: supplied by regulator-dummy
    [    0.519150] SMPS6: supplied by regulator-dummy
    [    0.520537] SMPS7: supplied by regulator-dummy
    [    0.521908] SMPS8: supplied by regulator-dummy
    [    0.523147] SMPS9: supplied by regulator-dummy
    [    0.523815] LDO1: supplied by regulator-dummy
    [    0.531626] LDO2: supplied by regulator-dummy
    [    0.541493] LDO3: supplied by regulator-dummy
    [    0.541608] random: fast init done
    [    0.551498] LDO4: supplied by regulator-dummy
    [    0.561529] LDO5: supplied by regulator-dummy
    [    0.562205] LDO6: supplied by regulator-dummy
    [    0.562905] LDO7: supplied by regulator-dummy
    [    0.563588] LDO8: supplied by regulator-dummy
    [    0.564279] LDO9: supplied by regulator-dummy
    [    0.571553] LDOLN: supplied by regulator-dummy
    [    0.581564] LDOUSB: supplied by regulator-dummy
    [    0.593764] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.594657] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.595278] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.595679] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.596186] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.596407] media: Linux media interface: v0.10
    [    0.596445] videodev: Linux video capture interface: v2.00
    [    0.596526] pps_core: LinuxPPS API ver. 1 registered
    [    0.596536] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.596557] PTP clock support registered
    [    0.596587] EDAC MC: Ver: 3.0.0
    [    0.597370] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.597619] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.598143] Advanced Linux Sound Architecture Driver Initialized.
    [    0.598582] Bluetooth: Core ver 2.22
    [    0.598622] NET: Registered protocol family 31
    [    0.598631] Bluetooth: HCI device and connection manager initialized
    [    0.598645] Bluetooth: HCI socket layer initialized
    [    0.598658] Bluetooth: L2CAP socket layer initialized
    [    0.598694] Bluetooth: SCO socket layer initialized
    [    0.599046] clocksource: Switched to clocksource arch_sys_counter
    [    0.607331] NET: Registered protocol family 2
    [    0.607903] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.607932] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.607970] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.608038] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.608114] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.608139] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.608258] NET: Registered protocol family 1
    [    0.628689] RPC: Registered named UNIX socket transport module.
    [    0.628700] RPC: Registered udp transport module.
    [    0.628708] RPC: Registered tcp transport module.
    [    0.628716] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.629799] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.630006] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.631013] Initialise system trusted keyrings
    [    0.631153] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.636171] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.646674] NFS: Registering the id_resolver key type
    [    0.646696] Key type id_resolver registered
    [    0.646705] Key type id_legacy registered
    [    0.646746] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.650163] Key type asymmetric registered
    [    0.650175] Asymmetric key parser 'x509' registered
    [    0.650227] bounce: pool size: 64 pages
    [    0.650261] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
    [    0.650272] io scheduler noop registered
    [    0.650281] io scheduler deadline registered
    [    0.650385] io scheduler cfq registered (default)
    [    0.650396] io scheduler mq-deadline registered
    [    0.650405] io scheduler kyber registered
    [    0.656285] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.661162] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.661564] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.661612] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.661639] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.761723] dra7-pcie 51000000.pcie: Link up
    [    0.761864] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    0.761878] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.761889] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.761901] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.768287] PCI: bus0: Fast back to back transfers disabled
    [    0.804964] PCI: bus1: Fast back to back transfers disabled
    [    0.805031] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    0.805051] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [    0.805068] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20203fff 64bit]
    [    0.805120] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    0.805135] pci 0000:00:00.0:   bridge window [mem 0x20200000-0x202fffff]
    [    0.805465] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    0.805596] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    0.806741] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    0.806818] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    0.806978] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    0.810282] vdd_3v3: supplied by regen1
    [    0.810514] aic_dvdd_fixed: supplied by vdd_3v3
    [    0.810583] vtt_fixed: supplied by smps3
    [    0.855905] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.859522] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    0.860465] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.046661] console [ttyS2] enabled
    [    2.052370] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.052911] random: crng init done
    [    2.081703] tpm tpm0: starting up the TPM manually
    [    2.144707] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    2.151818] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    2.163921] panel-simple display: display supply power not found, using dummy regulator
    [    2.172064] panel-simple display: Linked as a consumer to regulator.0
    [    2.186907] brd: module loaded
    [    2.196389] loop: module loaded
    [    2.203877] libphy: Fixed MDIO Bus: probed
    [    2.269076] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    2.276771] libphy: 48485000.mdio: probed
    [    2.284990] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    2.294711] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    2.304972] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:5e:fa
    [    2.311610] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    2.317995] cpsw 48484000.ethernet: ALE Table size 1024
    [    2.323306] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    2.331331] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:5e:fb
    [    2.339752]  DEBUG: keypad irq = 102
    [    2.343348] 
    [    2.343348] DEBUG: Autorepeat disabled 
    [    2.349019] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    2.381022] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    2.421019] rtc-ds1307 2-006f: registered as rtc0
    [    2.428713] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    2.441783] i2c /dev entries driver
    [    2.448809] gpio-fan gpio_fan: GPIO fan initialized
    [    2.457270] cpu cpu0: Linked as a consumer to regulator.6
    [    2.462804] cpu cpu0: Linked as a consumer to regulator.29
    [    2.469998] sdhci: Secure Digital Host Controller Interface driver
    [    2.476206] sdhci: Copyright(c) Pierre Ossman
    [    2.481843] sdhci-pltfm: SDHCI platform and OF driver helper
    [    2.488200] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    2.497038] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    2.501870] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    2.508896] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    2.515778] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    2.522422] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    2.529342] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    2.536281] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    2.569345] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    2.577270] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    2.584104] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    2.590759] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    2.623686] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    2.631755] ledtrig-cpu: registered to indicate activity on CPUs
    [    2.642567] 
    [    2.642567] TLV3262: Inside aic326x_probe 2595 
    [    2.651077] mmc0: host does not support reading read-only switch, assuming write-enable
    [    2.651816] NET: Registered protocol family 10
    [    2.664040] mmc0: new high speed SDXC card at address aaaa
    [    2.680359] mmcblk0: mmc0:aaaa SL64G 59.5 GiB 
    [    2.680914] Segment Routing with IPv6
    [    2.680969] mmc1: new DDR MMC card at address 0001
    [    2.693439] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.699831] NET: Registered protocol family 17
    [    2.704505] Key type dns_resolver registered
    [    2.708962]  mmcblk0: p1 p2
    [    2.709399] Registering SWP/SWPB emulation handler
    [    2.717058] mmcblk1: mmc1:0001 S0J57X 29.6 GiB 
    [    2.717447] omap_voltage_late_init: Voltage driver support not added
    [    2.722488] mmcblk1boot0: mmc1:0001 S0J57X partition 1 31.5 MiB
    [    2.728010] Power Management for TI OMAP4+ devices.
    [    2.734341] mmcblk1boot1: mmc1:0001 S0J57X partition 2 31.5 MiB
    [    2.739477] Loading compiled-in X.509 certificates
    [    2.749691] mmcblk1rpmb: mmc1:0001 S0J57X partition 3 4.00 MiB, chardev (243:0)
    [    2.769403] dmm 4e000000.dmm: workaround for errata i878 in use
    [    2.776740] dmm 4e000000.dmm: initialized all PAT entries
    [    2.782998] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    2.790073] DSS: OMAP DSS rev 6.1
    [    2.794260] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    2.829405] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    2.836046] [drm] No driver support for vblank timestamp query.
    [    2.845095] [drm] Enabling DMM ywrap scrolling
    [    2.854302] Console: switching to colour frame buffer device 128x37
    [    2.864593] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    2.871626] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    2.879333] 
    [    2.879333] TLV3262: Inside aic3262_codec_probe 2443 
    [    2.885891] driver_init: Allocated Major Number: 242
    [    2.885891] 
    [    2.892373] driver_init: Registered cfw driver
    [    2.904283] Unable to handle kernel NULL pointer dereference at virtual address 00000044
    [    2.912420] pgd = 0189ecc7
    [    2.915134] [00000044] *pgd=80000080004003, *pmd=00000000
    [    2.920570] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
    [    2.926075] Modules linked in:
    [    2.929143] CPU: 1 PID: 18 Comm: kworker/1:0 Not tainted 4.19.94-gbe5389fd85 #92
    [    2.936565] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    2.942688] Workqueue: events deferred_probe_work_func
    [    2.947849] PC is at aic3262_codec_probe+0x194/0x33c
    [    2.952833] LR is at vprintk_emit+0x1b0/0x210
    [    2.957205] pc : [<c08c4c30>]    lr : [<c0287844>]    psr: 60000013
    [    2.963494] sp : ef8cbc48  ip : ef8cbb98  fp : ef8cbc7c
    [    2.968737] r10: 00000000  r9 : eecea3ac  r8 : eecea37c
    [    2.973980] r7 : 00000000  r6 : 00000000  r5 : eeb91200  r4 : eecea340
    [    2.980531] r3 : 1efe27a2  r2 : 1efe27a2  r1 : 2eef8000  r0 : 00000033
    [    2.987084] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [    2.994245] Control: 30c5387d  Table: 80003000  DAC: 55555555
    [    3.000013] Process kworker/1:0 (pid: 18, stack limit = 0x7cebc8df)
    [    3.006303] Stack: (0xef8cbc48 to 0xef8cc000)
    [    3.010676] bc40:                   00000000 c0e73f3c 00000000 00000000 eecea334 c1204c48
    [    3.018886] bc60: eecea340 eeba0440 eecea37c eecea3ac ef8cbcc4 ef8cbc80 c08b0b08 c08c4aa8
    [    3.027096] bc80: c04d9784 eeba0440 eeba0440 00000001 00000001 1efe27a2 c0c991e0 eeba0440
    [    3.035305] bca0: eed04000 eeb84780 eed045a4 000005a4 00000000 eeba0554 ef8cbd34 ef8cbcc8
    [    3.043515] bcc0: c08b3480 c08b08ac 00000000 eeba04c0 60000013 c0e755d4 eeba0548 c12474ec
    [    3.051724] bce0: eeba05cc c0e54d7c eeba0570 eeba04c8 eeba0554 c1204c48 c12474fc eeba05e4
    [    3.059933] bd00: 00000000 1efe27a2 ef8cbd34 ef0387c0 eeba0440 c1204c48 efac6c10 00000000
    [    3.068142] bd20: efac6c10 00000000 ef8cbd54 ef8cbd38 c08c0ed8 c08b2e6c eeba0440 efac6c10
    [    3.076351] bd40: c1204c48 effaaf88 ef8cbd9c ef8cbd58 c08c7db4 c08c0ea4 00000000 ef8cbd68
    [    3.084560] bd60: c03cddf4 00000000 efac6c10 1efe27a2 00000000 efac6c10 00000000 c1249070
    [    3.092768] bd80: 00000000 00000000 c1249070 00000004 ef8cbdbc ef8cbda0 c06d8630 c08c7b0c
    [    3.100978] bda0: c1290998 efac6c10 c129099c 00000000 ef8cbdec ef8cbdc0 c06d6680 c06d85ec
    [    3.109186] bdc0: 00000000 efac6c10 c1249070 efac6c10 c06d6af0 00000001 c1237d04 00000000
    [    3.117395] bde0: ef8cbe24 ef8cbdf0 c06d68e0 c06d6488 c086b120 c0868fd0 ef8cbe24 ef8cbe08
    [    3.125604] be00: c1249070 ef8cbe7c efac6c10 c06d6af0 00000001 c1237d04 ef8cbe44 ef8cbe28
    [    3.133813] be20: c06d6b94 c06d6884 00000000 c1204c48 ef8cbe7c c06d6af0 ef8cbe74 ef8cbe48
    [    3.142022] be40: c06d4838 c06d6afc ef8cbe74 ef87716c eece9d38 1efe27a2 efac6c10 c1204c48
    [    3.150232] be60: efac6c44 c1237ce4 ef8cbeac ef8cbe78 c06d63fc c06d47bc ef8cbec4 efac6c10
    [    3.158441] be80: 00000001 1efe27a2 efac6c10 efac6c10 efac6c10 c1237f28 c1237ce4 00000000
    [    3.166650] bea0: ef8cbebc ef8cbeb0 c06d6c04 c06d6330 ef8cbedc ef8cbec0 c06d5764 c06d6bfc
    [    3.174859] bec0: efac6c10 c1237cc8 c1237cc8 c1237ce4 ef8cbefc ef8cbee0 c06d5c24 c06d56e4
    [    3.183068] bee0: c1237d00 ef85c900 eff5ed80 eff62000 ef8cbf34 ef8cbf00 c02464d0 c06d5bc8
    [    3.191276] bf00: 00000008 eff5ed98 c1203d00 ef85c900 ef85c914 eff5ed80 00000008 eff5ed98
    [    3.199485] bf20: c1203d00 eff5ed80 ef8cbf74 ef8cbf38 c02474fc c02462e8 ef875540 c0de76c0
    [    3.207694] bf40: c1252bd2 ffffe000 c024c2ec ef8755c0 ef875540 00000000 ef8ca000 ef85c900
    [    3.215902] bf60: c024724c ef88bd9c ef8cbfac ef8cbf78 c024c7b4 c0247258 ef8755dc ef8755dc
    [    3.224112] bf80: 00000000 ef875540 c024c654 00000000 00000000 00000000 00000000 00000000
    [    3.232321] bfa0: 00000000 ef8cbfb0 c02010d8 c024c660 00000000 00000000 00000000 00000000
    [    3.240530] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.248739] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [    3.256945] Backtrace: 
    [    3.259402] [<c08c4a9c>] (aic3262_codec_probe) from [<c08b0b08>] (soc_probe_component+0x268/0x3c4)
    [    3.268398]  r9:eecea3ac r8:eecea37c r7:eeba0440 r6:eecea340 r5:c1204c48 r4:eecea334
    [    3.276172] [<c08b08a0>] (soc_probe_component) from [<c08b3480>] (snd_soc_register_card+0x620/0xf2c)
    [    3.285342]  r10:eeba0554 r9:00000000 r8:000005a4 r7:eed045a4 r6:eeb84780 r5:eed04000
    [    3.293200]  r4:eeba0440
    [    3.295741] [<c08b2e60>] (snd_soc_register_card) from [<c08c0ed8>] (devm_snd_soc_register_card+0x40/0x78)
    [    3.305347]  r10:00000000 r9:efac6c10 r8:00000000 r7:efac6c10 r6:c1204c48 r5:eeba0440
    [    3.313206]  r4:ef0387c0
    [    3.315749] [<c08c0e98>] (devm_snd_soc_register_card) from [<c08c7db4>] (asoc_simple_card_probe+0x2b4/0x544)
    [    3.325616]  r7:effaaf88 r6:c1204c48 r5:efac6c10 r4:eeba0440
    [    3.331299] [<c08c7b00>] (asoc_simple_card_probe) from [<c06d8630>] (platform_drv_probe+0x50/0xa0)
    [    3.340294]  r10:00000004 r9:c1249070 r8:00000000 r7:00000000 r6:c1249070 r5:00000000
    [    3.348152]  r4:efac6c10
    [    3.350694] [<c06d85e0>] (platform_drv_probe) from [<c06d6680>] (really_probe+0x204/0x2c0)
    [    3.358990]  r7:00000000 r6:c129099c r5:efac6c10 r4:c1290998
    [    3.364671] [<c06d647c>] (really_probe) from [<c06d68e0>] (driver_probe_device+0x68/0x180)
    [    3.372967]  r10:00000000 r9:c1237d04 r8:00000001 r7:c06d6af0 r6:efac6c10 r5:c1249070
    [    3.380826]  r4:efac6c10 r3:00000000
    [    3.384415] [<c06d6878>] (driver_probe_device) from [<c06d6b94>] (__device_attach_driver+0xa4/0xc8)
    [    3.393497]  r9:c1237d04 r8:00000001 r7:c06d6af0 r6:efac6c10 r5:ef8cbe7c r4:c1249070
    [    3.401272] [<c06d6af0>] (__device_attach_driver) from [<c06d4838>] (bus_for_each_drv+0x88/0xcc)
    [    3.410091]  r7:c06d6af0 r6:ef8cbe7c r5:c1204c48 r4:00000000
    [    3.415772] [<c06d47b0>] (bus_for_each_drv) from [<c06d63fc>] (__device_attach+0xd8/0x140)
    [    3.424068]  r7:c1237ce4 r6:efac6c44 r5:c1204c48 r4:efac6c10
    [    3.429750] [<c06d6324>] (__device_attach) from [<c06d6c04>] (device_initial_probe+0x14/0x18)
    [    3.438308]  r8:00000000 r7:c1237ce4 r6:c1237f28 r5:efac6c10 r4:efac6c10
    [    3.445035] [<c06d6bf0>] (device_initial_probe) from [<c06d5764>] (bus_probe_device+0x8c/0x94)
    [    3.453682] [<c06d56d8>] (bus_probe_device) from [<c06d5c24>] (deferred_probe_work_func+0x68/0x94)
    [    3.462676]  r7:c1237ce4 r6:c1237cc8 r5:c1237cc8 r4:efac6c10
    [    3.468358] [<c06d5bbc>] (deferred_probe_work_func) from [<c02464d0>] (process_one_work+0x1f4/0x404)
    [    3.477526]  r7:eff62000 r6:eff5ed80 r5:ef85c900 r4:c1237d00
    [    3.483207] [<c02462dc>] (process_one_work) from [<c02474fc>] (worker_thread+0x2b0/0x568)
    [    3.491417]  r10:eff5ed80 r9:c1203d00 r8:eff5ed98 r7:00000008 r6:eff5ed80 r5:ef85c914
    [    3.499276]  r4:ef85c900
    [    3.501819] [<c024724c>] (worker_thread) from [<c024c7b4>] (kthread+0x160/0x168)
    [    3.509243]  r10:ef88bd9c r9:c024724c r8:ef85c900 r7:ef8ca000 r6:00000000 r5:ef875540
    [    3.517101]  r4:ef8755c0
    [    3.519644] [<c024c654>] (kthread) from [<c02010d8>] (ret_from_fork+0x14/0x3c)
    [    3.526892] Exception stack(0xef8cbfb0 to 0xef8cbff8)
    [    3.531961] bfa0:                                     00000000 00000000 00000000 00000000
    [    3.540170] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.548378] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    3.555018]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c024c654
    [    3.562876]  r4:ef875540
    [    3.565417] Code: e3030f74 e5856100 e34c00e7 ebe70c5a (e5d72044) 
    [    3.571569] ---[ end trace 299d40d65c0abd96 ]---

    Here's the driver I am using on my board. I have made few changes to make it compatible with my Linux kernel version (codec is replaced by component)

    Please check.

    Regards,

    Devashish

    8322.tlv320aic326x.ctlv320aic326x.h

  • Hi Raphael,

    This is a gentle reminder that I am waiting for your reply to this post.

    Regards,

    Devashish

  • Hi Devashish,

    Please try this driver code.


    8322.tlv320aic326x(1).c

    And could you advise where is the "driver_init"?

    Regards

    Raphael

  • Hi Raphael,

    I tried with the driver code you sent. I am still getting kernel panic. Here are the logs -

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #93 SMP PREEMPT Tue Jan 112
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00000211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=269dc834-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735824K/3944448K available (10240K kernel code, 337K rwdata, 2912K rodata, 2048K init, 278K bss, 52976K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 338 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000018] Switching to timer-based delay loop, resolution 162ns
    [    0.000291] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000300] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000792] Console: colour dummy device 80x30
    [    0.000836] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000851] pid_max: default: 32768 minimum: 301
    [    0.000974] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000988] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001551] CPU: Testing write buffer coherency: ok
    [    0.001588] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001807] /cpus/cpu@0 missing clock-frequency property
    [    0.001828] /cpus/cpu@1 missing clock-frequency property
    [    0.001840] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059886] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079891] rcu: Hierarchical SRCU implementation.
    [    0.100078] EFI services will not be available.
    [    0.119942] smp: Bringing up secondary CPUs ...
    [    0.200322] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200328] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200452] smp: Brought up 1 node, 2 CPUs
    [    0.200464] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200473] CPU: All CPU(s) started in HYP mode.
    [    0.200481] CPU: Virtualization extensions available.
    [    0.201069] devtmpfs: initialized
    [    0.221411] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.221684] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221702] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.224347] pinctrl core: initialized pinctrl subsystem
    [    0.224879] DMI not present or invalid.
    [    0.225158] NET: Registered protocol family 16
    [    0.226318] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.227269] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.422687] cpuidle: using governor ladder
    [    0.422724] cpuidle: using governor menu
    [    0.433146] OMAP GPIO hardware version 0.1
    [    0.459561] No ATAGs?
    [    0.459635] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.459651] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.460535] OMAP DMA hardware revision 0.0
    [    0.472189] edma 43300000.edma: memcpy is disabled
    [    0.475496] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.482559] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.483388] evm_5v0: supplied by main_12v0
    [    0.486839] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.487014] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.487253] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.487500] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.487868] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.488044] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.488337] iommu: Adding device 58820000.ipu to group 1
    [    0.488423] iommu: Adding device 55020000.ipu to group 2
    [    0.488554] iommu: Adding device 40800000.dsp to group 0
    [    0.488793] iommu: Adding device 41000000.dsp to group 3
    [    0.489969] SCSI subsystem initialized
    [    0.491073] palmas 0-0058: Irq flag is 0x00000008
    [    0.522109] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.523694] SMPS12: supplied by regulator-dummy
    [    0.525359] SMPS3: supplied by regulator-dummy
    [    0.526995] SMPS45: supplied by regulator-dummy
    [    0.528780] SMPS6: supplied by regulator-dummy
    [    0.530173] SMPS7: supplied by regulator-dummy
    [    0.531547] SMPS8: supplied by regulator-dummy
    [    0.532787] SMPS9: supplied by regulator-dummy
    [    0.533463] LDO1: supplied by regulator-dummy
    [    0.541256] LDO2: supplied by regulator-dummy
    [    0.550978] random: fast init done
    [    0.551146] LDO3: supplied by regulator-dummy
    [    0.561133] LDO4: supplied by regulator-dummy
    [    0.571150] LDO5: supplied by regulator-dummy
    [    0.571830] LDO6: supplied by regulator-dummy
    [    0.572521] LDO7: supplied by regulator-dummy
    [    0.573212] LDO8: supplied by regulator-dummy
    [    0.573906] LDO9: supplied by regulator-dummy
    [    0.581177] LDOLN: supplied by regulator-dummy
    [    0.591194] LDOUSB: supplied by regulator-dummy
    [    0.603389] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.604300] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.604941] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.605357] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.605871] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.606079] media: Linux media interface: v0.10
    [    0.606118] videodev: Linux video capture interface: v2.00
    [    0.606197] pps_core: LinuxPPS API ver. 1 registered
    [    0.606207] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.606228] PTP clock support registered
    [    0.606256] EDAC MC: Ver: 3.0.0
    [    0.611215] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.611467] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.611987] Advanced Linux Sound Architecture Driver Initialized.
    [    0.612401] Bluetooth: Core ver 2.22
    [    0.612441] NET: Registered protocol family 31
    [    0.612450] Bluetooth: HCI device and connection manager initialized
    [    0.612465] Bluetooth: HCI socket layer initialized
    [    0.612478] Bluetooth: L2CAP socket layer initialized
    [    0.612513] Bluetooth: SCO socket layer initialized
    [    0.612896] clocksource: Switched to clocksource arch_sys_counter
    [    0.621131] NET: Registered protocol family 2
    [    0.621714] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.621743] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.621781] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.621849] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.621924] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.621949] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.622071] NET: Registered protocol family 1
    [    0.642499] RPC: Registered named UNIX socket transport module.
    [    0.642510] RPC: Registered udp transport module.
    [    0.642519] RPC: Registered tcp transport module.
    [    0.642528] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.643615] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.643819] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.644818] Initialise system trusted keyrings
    [    0.644972] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.649969] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.650453] NFS: Registering the id_resolver key type
    [    0.650479] Key type id_resolver registered
    [    0.650488] Key type id_legacy registered
    [    0.650528] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.653868] Key type asymmetric registered
    [    0.653880] Asymmetric key parser 'x509' registered
    [    0.653928] bounce: pool size: 64 pages
    [    0.653962] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
    [    0.653974] io scheduler noop registered
    [    0.653983] io scheduler deadline registered
    [    0.654085] io scheduler cfq registered (default)
    [    0.654096] io scheduler mq-deadline registered
    [    0.654106] io scheduler kyber registered
    [    0.659958] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.664831] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.665234] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.665283] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.665310] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.765401] dra7-pcie 51000000.pcie: Link up
    [    0.765535] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    0.765550] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.765562] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.765573] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.771958] PCI: bus0: Fast back to back transfers disabled
    [    0.808800] PCI: bus1: Fast back to back transfers disabled
    [    0.808866] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    0.808887] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [    0.808904] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20203fff 64bit]
    [    0.808956] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    0.808970] pci 0000:00:00.0:   bridge window [mem 0x20200000-0x202fffff]
    [    0.809295] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    0.809427] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    0.810574] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    0.810652] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    0.810808] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    0.814077] vdd_3v3: supplied by regen1
    [    0.814312] aic_dvdd_fixed: supplied by vdd_3v3
    [    0.814383] vtt_fixed: supplied by smps3
    [    0.859307] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.862873] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    0.863859] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.050169] console [ttyS2] enabled
    [    2.055875] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.056416] random: crng init done
    [    2.085457] tpm tpm0: starting up the TPM manually
    [    2.148430] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    2.155537] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    2.167630] panel-simple display: display supply power not found, using dummy regulator
    [    2.175775] panel-simple display: Linked as a consumer to regulator.0
    [    2.190569] brd: module loaded
    [    2.200049] loop: module loaded
    [    2.207482] libphy: Fixed MDIO Bus: probed
    [    2.272924] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    2.280621] libphy: 48485000.mdio: probed
    [    2.289048] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    2.298769] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    2.309025] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:5e:fa
    [    2.315661] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    2.322046] cpsw 48484000.ethernet: ALE Table size 1024
    [    2.327357] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    2.335377] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:5e:fb
    [    2.343797]  DEBUG: keypad irq = 102
    [    2.347393] 
    [    2.347393] DEBUG: Autorepeat disabled 
    [    2.353085] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    2.395152] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    2.433461] rtc-ds1307 2-006f: SET TIME!
    [    2.439341] rtc-ds1307 2-006f: registered as rtc0
    [    2.447142] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    2.460212] i2c /dev entries driver
    [    2.467206] gpio-fan gpio_fan: GPIO fan initialized
    [    2.475716] cpu cpu0: Linked as a consumer to regulator.6
    [    2.481216] cpu cpu0: Linked as a consumer to regulator.29
    [    2.488412] sdhci: Secure Digital Host Controller Interface driver
    [    2.494717] sdhci: Copyright(c) Pierre Ossman
    [    2.500431] sdhci-pltfm: SDHCI platform and OF driver helper
    [    2.506796] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    2.515647] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    2.520451] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    2.527484] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    2.534366] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    2.540969] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    2.547914] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    2.554881] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    2.586063] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    2.593816] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    2.600617] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    2.607197] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    2.640078] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    2.648817] ledtrig-cpu: registered to indicate activity on CPUs
    [    2.660146] 
    [    2.660146] TLV3262: Inside aic326x_probe 2602 
    [    2.668866] NET: Registered protocol family 10
    [    2.674000] Segment Routing with IPv6
    [    2.676371] mmc0: host does not support reading read-only switch, assuming write-enable
    [    2.677715] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.688860] mmc1: new DDR MMC card at address 0001
    [    2.692023] NET: Registered protocol family 17
    [    2.696730] mmc0: new high speed SDXC card at address aaaa
    [    2.701116] Key type dns_resolver registered
    [    2.710889] Registering SWP/SWPB emulation handler
    [    2.711183] mmcblk1: mmc1:0001 S0J57X 29.6 GiB 
    [    2.715739] omap_voltage_late_init: Voltage driver support not added
    [    2.720669] mmcblk0: mmc0:aaaa SL64G 59.5 GiB 
    [    2.726665] Power Management for TI OMAP4+ devices.
    [    2.731535] mmcblk1boot0: mmc1:0001 S0J57X partition 1 31.5 MiB
    [    2.742309] Loading compiled-in X.509 certificates
    [    2.742831] mmcblk1boot1: mmc1:0001 S0J57X partition 2 31.5 MiB
    [    2.753282] mmcblk1rpmb: mmc1:0001 S0J57X partition 3 4.00 MiB, chardev (243:0)
    [    2.767046]  mmcblk0: p1 p2
    [    2.770507] dmm 4e000000.dmm: workaround for errata i878 in use
    [    2.777847] dmm 4e000000.dmm: initialized all PAT entries
    [    2.784093] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    2.791145] DSS: OMAP DSS rev 6.1
    [    2.795343] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    2.833258] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    2.839899] [drm] No driver support for vblank timestamp query.
    [    2.848965] [drm] Enabling DMM ywrap scrolling
    [    2.858221] Console: switching to colour frame buffer device 128x37
    [    2.868581] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    2.875626] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    2.883322] 
    [    2.883322] TLV3262: Inside aic3262_codec_probe 2443 
    [    2.889877] aic3262_codec_probe:2460!
    [    2.893564] aic3262_codec_probe:2462!
    [    2.897237] aic3262_codec_probe:2464!
    [    2.900912] driver_init: Allocated Major Number: 242
    [    2.900912] 
    [    2.907395] driver_init: Registered cfw driver
    [    2.921949] aic3262_codec_probe:2474!
    [    2.925637] aic3262_codec_probe:2476!
    [    2.929315] 
    [    2.929315] TLV3262: Before Printing aic3262_codec_probe 2485 
    [    2.936676] Unable to handle kernel NULL pointer dereference at virtual address 00000044
    [    2.944810] pgd = 3b01cc3a
    [    2.947524] [00000044] *pgd=80000080004003, *pmd=00000000
    [    2.952957] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
    [    2.958461] Modules linked in:
    [    2.961526] CPU: 1 PID: 38 Comm: kworker/1:1 Not tainted 4.19.94-gbe5389fd85 #93
    [    2.968950] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    2.975072] Workqueue: events deferred_probe_work_func
    [    2.980233] PC is at aic3262_codec_probe+0x1f8/0x3a4
    [    2.985218] LR is at vprintk_emit+0x1b0/0x210
    [    2.989589] pc : [<c08c4c94>]    lr : [<c0287844>]    psr: 60000013
    [    2.995879] sp : ef045c48  ip : ef045b98  fp : ef045c7c
    [    3.001122] r10: 00000000  r9 : efa1f0ac  r8 : efa1f07c
    [    3.006365] r7 : 00000000  r6 : 00000000  r5 : efa1f040  r4 : eeb87800
    [    3.012916] r3 : 1efe27a2  r2 : 1efe27a2  r1 : 2eef8000  r0 : 00000033
    [    3.019469] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [    3.026630] Control: 30c5387d  Table: 80003000  DAC: 55555555
    [    3.032396] Process kworker/1:1 (pid: 38, stack limit = 0x62662f22)
    [    3.038686] Stack: (0xef045c48 to 0xef046000)
    [    3.043058] 5c40:                   00000000 c0e73f64 00000000 00000000 efa1f034 c1204c48
    [    3.051267] 5c60: efa1f040 eed66840 efa1f07c efa1f0ac ef045cc4 ef045c80 c08b0b08 c08c4aa8
    [    3.059477] 5c80: c04d9784 eed66840 eed66840 00000001 00000001 1efe27a2 c0c991e0 eed66840
    [    3.067687] 5ca0: ee931000 ee90df40 ee9315a4 000005a4 00000000 eed66954 ef045d34 ef045cc8
    [    3.075897] 5cc0: c08b3480 c08b08ac 00000000 eed668c0 60000013 c0e75608 eed66948 c12474ec
    [    3.084105] 5ce0: eed669cc c0e54d8c eed66970 eed668c8 eed66954 c1204c48 c12474fc eed669e4
    [    3.092314] 5d00: 00000000 1efe27a2 ef045d34 ef028440 eed66840 c1204c48 efac6c10 00000000
    [    3.100522] 5d20: efac6c10 00000000 ef045d54 ef045d38 c08c0ed8 c08b2e6c eed66840 efac6c10
    [    3.108731] 5d40: c1204c48 effaaf88 ef045d9c ef045d58 c08c7e1c c08c0ea4 00000000 ef045d68
    [    3.116939] 5d60: c03cddf4 00000000 efac6c10 1efe27a2 00000000 efac6c10 00000000 c1249070
    [    3.125149] 5d80: 00000000 00000000 c1249070 00000004 ef045dbc ef045da0 c06d8630 c08c7b74
    [    3.133357] 5da0: c1290998 efac6c10 c129099c 00000000 ef045dec ef045dc0 c06d6680 c06d85ec
    [    3.141567] 5dc0: 00000000 efac6c10 c1249070 efac6c10 c06d6af0 00000001 c1237d04 00000000
    [    3.149776] 5de0: ef045e24 ef045df0 c06d68e0 c06d6488 c086b120 c0868fd0 ef045e24 ef045e08
    [    3.157985] 5e00: c1249070 ef045e7c efac6c10 c06d6af0 00000001 c1237d04 ef045e44 ef045e28
    [    3.166194] 5e20: c06d6b94 c06d6884 00000000 c1204c48 ef045e7c c06d6af0 ef045e74 ef045e48
    [    3.174403] 5e40: c06d4838 c06d6afc ef045e74 ef87716c efa1b2b8 1efe27a2 efac6c10 c1204c48
    [    3.182611] 5e60: efac6c44 c1237ce4 ef045eac ef045e78 c06d63fc c06d47bc ef045ec4 efac6c10
    [    3.190819] 5e80: 00000001 1efe27a2 efac6c10 efac6c10 efac6c10 c1237f28 c1237ce4 00000000
    [    3.199029] 5ea0: ef045ebc ef045eb0 c06d6c04 c06d6330 ef045edc ef045ec0 c06d5764 c06d6bfc
    [    3.207237] 5ec0: efac6c10 c1237cc8 c1237cc8 c1237ce4 ef045efc ef045ee0 c06d5c24 c06d56e4
    [    3.215446] 5ee0: c1237d00 efa1b000 eff5ed80 eff62000 ef045f34 ef045f00 c02464d0 c06d5bc8
    [    3.223655] 5f00: 00000008 eff5ed98 c1203d00 efa1b000 efa1b014 eff5ed80 00000008 eff5ed98
    [    3.231864] 5f20: c1203d00 eff5ed80 ef045f74 ef045f38 c02474fc c02462e8 efa1a300 c0de76d0
    [    3.240074] 5f40: c1252bd2 ffffe000 c024c2ec efa1a340 efa1a300 00000000 ef044000 efa1b000
    [    3.248283] 5f60: c024724c ef8cbe74 ef045fac ef045f78 c024c7b4 c0247258 efa1a35c efa1a35c
    [    3.256492] 5f80: 00000000 efa1a300 c024c654 00000000 00000000 00000000 00000000 00000000
    [    3.264701] 5fa0: 00000000 ef045fb0 c02010d8 c024c660 00000000 00000000 00000000 00000000
    [    3.272909] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.281118] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [    3.289324] Backtrace: 
    [    3.291782] [<c08c4a9c>] (aic3262_codec_probe) from [<c08b0b08>] (soc_probe_component+0x268/0x3c4)
    [    3.300778]  r9:efa1f0ac r8:efa1f07c r7:eed66840 r6:efa1f040 r5:c1204c48 r4:efa1f034
    [    3.308553] [<c08b08a0>] (soc_probe_component) from [<c08b3480>] (snd_soc_register_card+0x620/0xf2c)
    [    3.317722]  r10:eed66954 r9:00000000 r8:000005a4 r7:ee9315a4 r6:ee90df40 r5:ee931000
    [    3.325581]  r4:eed66840
    [    3.328123] [<c08b2e60>] (snd_soc_register_card) from [<c08c0ed8>] (devm_snd_soc_register_card+0x40/0x78)
    [    3.337728]  r10:00000000 r9:efac6c10 r8:00000000 r7:efac6c10 r6:c1204c48 r5:eed66840
    [    3.345587]  r4:ef028440
    [    3.348130] [<c08c0e98>] (devm_snd_soc_register_card) from [<c08c7e1c>] (asoc_simple_card_probe+0x2b4/0x544)
    [    3.357996]  r7:effaaf88 r6:c1204c48 r5:efac6c10 r4:eed66840
    [    3.363679] [<c08c7b68>] (asoc_simple_card_probe) from [<c06d8630>] (platform_drv_probe+0x50/0xa0)
    [    3.372675]  r10:00000004 r9:c1249070 r8:00000000 r7:00000000 r6:c1249070 r5:00000000
    [    3.380534]  r4:efac6c10
    [    3.383077] [<c06d85e0>] (platform_drv_probe) from [<c06d6680>] (really_probe+0x204/0x2c0)
    [    3.391373]  r7:00000000 r6:c129099c r5:efac6c10 r4:c1290998
    [    3.397054] [<c06d647c>] (really_probe) from [<c06d68e0>] (driver_probe_device+0x68/0x180)
    [    3.405352]  r10:00000000 r9:c1237d04 r8:00000001 r7:c06d6af0 r6:efac6c10 r5:c1249070
    [    3.413210]  r4:efac6c10 r3:00000000
    [    3.416798] [<c06d6878>] (driver_probe_device) from [<c06d6b94>] (__device_attach_driver+0xa4/0xc8)
    [    3.425881]  r9:c1237d04 r8:00000001 r7:c06d6af0 r6:efac6c10 r5:ef045e7c r4:c1249070
    [    3.433656] [<c06d6af0>] (__device_attach_driver) from [<c06d4838>] (bus_for_each_drv+0x88/0xcc)
    [    3.442475]  r7:c06d6af0 r6:ef045e7c r5:c1204c48 r4:00000000
    [    3.448155] [<c06d47b0>] (bus_for_each_drv) from [<c06d63fc>] (__device_attach+0xd8/0x140)
    [    3.456452]  r7:c1237ce4 r6:efac6c44 r5:c1204c48 r4:efac6c10
    [    3.462132] [<c06d6324>] (__device_attach) from [<c06d6c04>] (device_initial_probe+0x14/0x18)
    [    3.470690]  r8:00000000 r7:c1237ce4 r6:c1237f28 r5:efac6c10 r4:efac6c10
    [    3.477419] [<c06d6bf0>] (device_initial_probe) from [<c06d5764>] (bus_probe_device+0x8c/0x94)
    [    3.486065] [<c06d56d8>] (bus_probe_device) from [<c06d5c24>] (deferred_probe_work_func+0x68/0x94)
    [    3.495059]  r7:c1237ce4 r6:c1237cc8 r5:c1237cc8 r4:efac6c10
    [    3.500742] [<c06d5bbc>] (deferred_probe_work_func) from [<c02464d0>] (process_one_work+0x1f4/0x404)
    [    3.509910]  r7:eff62000 r6:eff5ed80 r5:efa1b000 r4:c1237d00
    [    3.515591] [<c02462dc>] (process_one_work) from [<c02474fc>] (worker_thread+0x2b0/0x568)
    [    3.523801]  r10:eff5ed80 r9:c1203d00 r8:eff5ed98 r7:00000008 r6:eff5ed80 r5:efa1b014
    [    3.531659]  r4:efa1b000
    [    3.534204] [<c024724c>] (worker_thread) from [<c024c7b4>] (kthread+0x160/0x168)
    [    3.541629]  r10:ef8cbe74 r9:c024724c r8:efa1b000 r7:ef044000 r6:00000000 r5:efa1a300
    [    3.549487]  r4:efa1a340
    [    3.552030] [<c024c654>] (kthread) from [<c02010d8>] (ret_from_fork+0x14/0x3c)
    [    3.559280] Exception stack(0xef045fb0 to 0xef045ff8)
    [    3.564348] 5fa0:                                     00000000 00000000 00000000 00000000
    [    3.572557] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.580765] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    3.587405]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c024c654
    [    3.595264]  r4:efa1a300
    [    3.597805] Code: e3030fa8 e5846100 e34c00e7 ebe70c41 (e5d72044) 
    [    3.603947] ---[ end trace 6b5a366da2c0d04a ]---
    

    The "driver_int" is present in aic3xxx/aic3xxx_cfw_ops.c file. I have attached it for your reference.

    aic3xxx_cfw_ops.c
    /*
     * linux/sound/soc/codecs/aic3xxx/aic3xxx_cfw_ops.c
     *
     * Copyright (C) 2011 Texas Instruments Inc.,
     *
     * This package is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     *
     * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
     * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
     * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
     *
     */
    
    #include <linux/module.h>
    #include <linux/delay.h>
    #include <sound/pcm.h>
    #include <sound/pcm_params.h>
    #include <sound/soc.h>
    #include <linux/slab.h>
    #include <sound/tlv.h>
    
    /* FIXME to be removed/replaced */
    #define warn(fmt, ...)	printk(fmt "\n", ##__VA_ARGS__)
    #define error(fmt, ...)	printk(fmt "\n", ##__VA_ARGS__)
    #define DBG printk
    
    #include "aic3xxx_cfw.h"
    #include "aic3xxx_cfw_ops.h"
    
    
    /* **Code beyond this point is compilable on host** */
    
    /*
     * Firmware version numbers are used to make sure that the
     * host and target code stay in sync.  It is _not_ recommended
     * to provide this number from the outside (E.g., from a makefile)
     * Instead, a set of automated tools are relied upon to keep the numbers
     * in sync at the time of host testing.
     */
    #undef CFW_FW_IF_ID
    #define CFW_FW_IF_ID 0x3FA6D547
    static int aic3xxx_cfw_dlimage(struct cfw_state *ps, struct cfw_image *pim);
    static int aic3xxx_cfw_dlcfg(struct cfw_state *ps, struct cfw_image *pim);
    static int aic3xxx_cfw_dlctl(struct cfw_state *ps, struct cfw_block *pb,
    			     u32 mute_flags);
    
    static void aic3xxx_cfw_dlcmds(struct cfw_state *ps, struct cfw_block *pb);
    static int aic3xxx_cfw_set_mode_id(struct cfw_state *ps);
    static int aic3xxx_cfw_mute(struct cfw_state *ps, int mute, u32 flags);
    static int aic3xxx_cfw_setmode_cfg_u(struct cfw_state *ps, int mode, int cfg);
    static int aic3xxx_cfw_setcfg_u(struct cfw_state *ps, int cfg);
    static int aic3xxx_cfw_transition_u(struct cfw_state *ps, char *ttype);
    static int aic3xxx_cfw_set_pll_u(struct cfw_state *ps, int asi);
    static int aic3xxx_cfw_control_u(struct cfw_state *ps, char *cname, int param);
    static struct cfw_project *aic3xxx_cfw_unpickle(void *pcfw, int n);
    
    static void aic3xxx_wait(struct cfw_state *ps, unsigned int reg, u8 mask,
    			 u8 data);
    static void aic3xxx_set_bits(u8 *data, u8 mask, u8 val);
    static int aic3xxx_driver_init(struct cfw_state *ps);
    
    int aic3xxx_cfw_init(struct cfw_state *ps, const struct aic3xxx_codec_ops *ops,
    		     struct snd_soc_component *component)
    {
    	ps->ops = ops;
    	ps->component = component;
    	ps->pjt = NULL;
    	mutex_init(&ps->mutex);
    
    	/* FIXME Need a special CONFIG flag to disable debug driver */
    	aic3xxx_driver_init(ps);
    	return 0;
    }
    
    int aic3xxx_cfw_lock(struct cfw_state *ps, int lock)
    {
    	if (lock)
    		mutex_lock(&ps->mutex);
    	else
    		mutex_unlock(&ps->mutex);
    	return 0;
    }
    
    int aic3xxx_cfw_reload(struct cfw_state *ps, void *pcfw, int n)
    {
    	ps->pjt = aic3xxx_cfw_unpickle(pcfw, n);
    	ps->cur_mode_id =
    	    ps->cur_mode = ps->cur_pll = ps->cur_pfw =
    	    ps->cur_ovly = ps->cur_cfg = -1;
    	if (ps->pjt == NULL)
    		return -1;
    	return 0;
    }
    
    int aic3xxx_cfw_setmode(struct cfw_state *ps, int mode)
    {
    	struct cfw_project *pjt;
    	int ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	pjt = ps->pjt;
    	if (pjt == NULL) {
    		aic3xxx_cfw_lock(ps, 0);
    		return -1;
    	}
    	ret = aic3xxx_cfw_setmode_cfg_u(ps, mode, pjt->mode[mode]->cfg);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    int aic3xxx_cfw_setcfg(struct cfw_state *ps, int cfg)
    {
    	int ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	ret = aic3xxx_cfw_setcfg_u(ps, cfg);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    static int aic3xxx_cfw_setcfg_u(struct cfw_state *ps, int cfg)
    {
    	struct cfw_project *pjt = ps->pjt;
    	struct cfw_pfw *pfw;
    	struct cfw_image *patch;
    
    	if (pjt == NULL)
    		return -1;
    	if (ps->cur_pfw < 0 || ps->cur_pfw >= pjt->npfw)
    		return -1;	/* Non miniDSP */
    	if (ps->cur_cfg == cfg)
    		return 0;
    	pfw = pjt->pfw[ps->cur_pfw];
    	if (pfw->ncfg == 0 && cfg != 0)
    		return -1;
    	if (cfg > 0 && cfg >= pfw->ncfg)
    		return -1;
    	ps->cur_cfg = cfg;
    	aic3xxx_cfw_set_mode_id(ps);
    	patch =
    	    pfw->ovly_cfg[CFW_OCFG_NDX(pfw, ps->cur_ovly, ps->cur_cfg)];
    	if (pfw->ncfg != 0)
    		return aic3xxx_cfw_dlcfg(ps, patch);
    	return 0;
    }
    
    int aic3xxx_cfw_setmode_cfg(struct cfw_state *ps, int mode, int cfg)
    {
    	int ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	ret = aic3xxx_cfw_setmode_cfg_u(ps, mode, cfg);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    static int aic3xxx_cfw_setmode_cfg_u(struct cfw_state *ps, int mode, int cfg)
    {
    	struct cfw_project *pjt = ps->pjt;
    	struct cfw_mode *pmode;
    	int which = 0, ocndx;
    
    	if (pjt == NULL)
    		goto err;
    	if ((mode < 0) || (mode >= pjt->nmode))
    		goto err;
    	if (cfg < 0)
    		goto err;
    	if (mode == ps->cur_mode)
    		return aic3xxx_cfw_setcfg_u(ps, cfg);
    
    	/* Apply exit sequence for previous mode if present */
    	if (ps->cur_mode >= 0)
    		aic3xxx_cfw_dlcmds(ps, pjt->mode[ps->cur_mode]->exit);
    	pmode = pjt->mode[mode];
    	if (pjt->mode[mode]->pfw < pjt->npfw) { /* New mode uses miniDSP */
    		struct cfw_image *im;
    		struct cfw_pfw *pfw = pjt->pfw[pmode->pfw];
    
    		/* Make sure cfg is valid and supported in this mode */
    		if (pfw->ncfg == 0 && cfg != 0)
    			goto err;
    		if (cfg > 0 && cfg >= pfw->ncfg)
    			goto err;
    
    		/*
    		 * Decisions about which miniDSP to stop/restart are taken
    		 * on the basis of sections present in the _base_ image
    		 * This allows for correct sync mode operation even in cases
    		 * where the base PFW uses both miniDSPs where a particular
    		 * overlay applies only to one
    		 */
    		im = pfw->base;
    		if (im->block[CFW_BLOCK_A_INST])
    			which |= AIC3XXX_COPS_MDSP_A;
    		if (im->block[CFW_BLOCK_D_INST])
    			which |= AIC3XXX_COPS_MDSP_D;
    
    		if (pmode->pfw != ps->cur_pfw) {
    
    			/* New mode requires different PFW */
    			ps->cur_pfw = pmode->pfw;
    			ps->cur_ovly = 0;
    			ps->cur_cfg = 0;
    
    			which = ps->ops->stop(ps->component, which);
    			aic3xxx_cfw_dlimage(ps, im);
    			if (pmode->ovly && pmode->ovly < pfw->novly) {
    
    				/* New mode uses ovly */
    				ocndx = CFW_OCFG_NDX(pfw, pmode->ovly, cfg);
    				aic3xxx_cfw_dlimage(ps,
    						    pfw->ovly_cfg[ocndx]);
    			} else if (pfw->ncfg > 0) {
    
    				/* new mode needs only a cfg change */
    				ocndx = CFW_OCFG_NDX(pfw, 0, cfg);
    				aic3xxx_cfw_dlimage(ps,
    						    pfw->ovly_cfg[ocndx]);
    			}
    			ps->ops->restore(ps->component, which);
    
    		} else if (pmode->ovly != ps->cur_ovly) {
    
    			/* New mode requires only an ovly change */
    			ocndx = CFW_OCFG_NDX(pfw, pmode->ovly, cfg);
    			which = ps->ops->stop(ps->component, which);
    			aic3xxx_cfw_dlimage(ps, pfw->ovly_cfg[ocndx]);
    			ps->ops->restore(ps->component, which);
    		} else if (pfw->ncfg > 0 && cfg != ps->cur_cfg) {
    
    			/* New mode requires only a cfg change */
    			ocndx = CFW_OCFG_NDX(pfw, pmode->ovly, cfg);
    			aic3xxx_cfw_dlcfg(ps, pfw->ovly_cfg[ocndx]);
    		}
    		ps->cur_ovly = pmode->ovly;
    		ps->cur_cfg = cfg;
    
    		ps->cur_mode = mode;
    		aic3xxx_cfw_set_pll_u(ps, 0);
    
    	} else if (pjt->mode[mode]->pfw != 0xFF) {
    
    		/* Not bypass mode */
    		warn("Bad pfw setting detected (%d).  Max pfw=%d",
    		     pmode->pfw, pjt->npfw);
    	}
    	ps->cur_mode = mode;
    	aic3xxx_cfw_set_mode_id(ps);
    
    	/* Transition to netural mode */
    	aic3xxx_cfw_transition_u(ps, "NEUTRAL");
    
    	/* Apply entry sequence if present */
    	aic3xxx_cfw_dlcmds(ps, pmode->entry);
    
    	DBG("setmode_cfg: DONE (mode=%d pfw=%d ovly=%d cfg=%d)",
    	    ps->cur_mode, ps->cur_pfw, ps->cur_ovly, ps->cur_cfg);
    	return 0;
    
    err:
    	DBG("Failed to set firmware mode");
    	return -EINVAL;
    }
    
    int aic3xxx_cfw_transition(struct cfw_state *ps, char *ttype)
    {
    	int ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	ret = aic3xxx_cfw_transition_u(ps, ttype);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    static int aic3xxx_cfw_transition_u(struct cfw_state *ps, char *ttype)
    {
    	int i;
    
    	if (ps->pjt == NULL)
    		return -EINVAL;
    	for (i = 0; i < CFW_TRN_N; ++i) {
    		if (!strcasecmp(ttype, cfw_transition_id[i])) {
    			struct cfw_transition *pt = ps->pjt->transition[i];
    			DBG("Sending transition %s[%d]", ttype, i);
    			if (pt)
    				aic3xxx_cfw_dlcmds(ps, pt->block);
    			return 0;
    		}
    	}
    	warn("Transition %s not present or invalid", ttype);
    	return 0;
    }
    
    int aic3xxx_cfw_set_pll(struct cfw_state *ps, int asi)
    {
    	int ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	ret = aic3xxx_cfw_set_pll_u(ps, asi);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    static int aic3xxx_cfw_set_pll_u(struct cfw_state *ps, int asi)
    {
    	struct cfw_project *pjt = ps->pjt;
    	int pll_id;
    
    	if (pjt == NULL)
    		return -EINVAL;
    	if (ps->cur_mode < 0)
    		return -EINVAL;
    	pll_id = pjt->mode[ps->cur_mode]->pll;
    	if (ps->cur_pll != pll_id) {
    		DBG("Re-configuring PLL: %s==>%d", pjt->pll[pll_id]->name,
    		    pll_id);
    		aic3xxx_cfw_dlcmds(ps, pjt->pll[pll_id]->seq);
    		ps->cur_pll = pll_id;
    	}
    	return 0;
    }
    
    int aic3xxx_cfw_control(struct cfw_state *ps, char *cname, int param)
    {
    	int ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	ret = aic3xxx_cfw_control_u(ps, cname, param);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    static int aic3xxx_cfw_control_u(struct cfw_state *ps, char *cname, int param)
    {
    	struct cfw_pfw *pfw;
    	int i;
    
    	if (ps->cur_pfw < 0 || ps->cur_pfw >= ps->pjt->npfw) {
    		warn("Not in MiniDSP mode");
    		return 0;
    	}
    	pfw = ps->pjt->pfw[ps->cur_pfw];
    	for (i = 0; i < pfw->nctrl; ++i) {
    		struct cfw_control *pc = pfw->ctrl[i];
    		if (strcasecmp(cname, pfw->ctrl[i]->name))
    			continue;
    		if (param < 0 || param > pc->imax) {
    			warn("Parameter out of range\n");
    			return -EINVAL;
    		}
    		DBG("Sending control %s[%d]", cname, param);
    		pc->icur = param;
    		aic3xxx_cfw_dlctl(ps, pc->output[param], pc->mute_flags);
    		return 0;
    	}
    	warn("Control named %s not found in pfw %s", cname, pfw->name);
    
    	return -EINVAL;
    }
    
    static void aic3xxx_cfw_op(struct cfw_state *ps, unsigned char *var,
    			   struct cfw_cmd_op cmd)
    {
    	u32 op1, op2;
    	u32 cid = cmd.cid;
    
    	op1 = cmd.op1;
    	op2 = cmd.op2;
    	if (cid & CFW_CMD_OP1_ID)
    		op1 = var[op1];
    	if (cid & CFW_CMD_OP2_ID)
    		op2 = var[op2];
    	cid &= ~(CFW_CMD_OP1_ID | CFW_CMD_OP2_ID);
    
    	switch (cid) {
    	case CFW_CMD_OP_ADD:
    		var[cmd.dst] = op1 + op2;
    		break;
    	case CFW_CMD_OP_SUB:
    		var[cmd.dst] = op1 - op2;
    		break;
    	case CFW_CMD_OP_MUL:
    		var[cmd.dst] = op1 * op2;
    		break;
    	case CFW_CMD_OP_DIV:
    		var[cmd.dst] = op1 / op2;
    		break;
    	case CFW_CMD_OP_AND:
    		var[cmd.dst] = op1 & op2;
    		break;
    	case CFW_CMD_OP_OR:
    		var[cmd.dst] = op1 | op2;
    		break;
    	case CFW_CMD_OP_SHL:
    		var[cmd.dst] = (op1 << op2);
    		break;
    	case CFW_CMD_OP_SHR:
    		var[cmd.dst] = (op1 >> op2);
    		break;
    	case CFW_CMD_OP_RR:
    		while (op2--)
    			var[cmd.dst] = (op1 >> 1) | ((op1 & 1) << 7);
    		break;
    	case CFW_CMD_OP_XOR:
    		var[cmd.dst] = op1 ^ op2;
    		break;
    	case CFW_CMD_OP_NOT:
    		var[cmd.dst] = ~op1;
    		break;
    	case CFW_CMD_OP_LNOT:
    		var[cmd.dst] = !op1;
    		break;
    	default:
    		break;
    	}
    }
    
    static void aic3xxx_cfw_dlcmds(struct cfw_state *ps, struct cfw_block *pb)
    {
    	int pc = 0, cond = 0;
    	unsigned char var[256];
    
    	if (!pb)
    		return;
    	while (pc < pb->ncmds) {
    		union cfw_cmd *c = &(pb->cmd[pc]);
    		if (c->cid != CFW_CMD_BRANCH_IM &&
    		    c->cid != CFW_CMD_BRANCH_ID && c->cid != CFW_CMD_NOP)
    			cond = 0;
    		switch (c->cid) {
    		case 0 ... (CFW_CMD_NOP - 1):
    			ps->ops->reg_write(ps->component, c->reg.bpod,
    					   c->reg.data);
    			pc += 1;
    			break;
    		case CFW_CMD_NOP:
    			pc += 1;
    			break;
    		case CFW_CMD_DELAY:
    			mdelay(c->delay.delay);
    			pc += 1;
    			break;
    		case CFW_CMD_UPDTBITS:
    			ps->ops->set_bits(ps->component, c[1].reg.bpod,
    					  c->bitop.mask, c[1].reg.data);
    			pc += 2;
    			break;
    		case CFW_CMD_WAITBITS:
    			aic3xxx_wait(ps, c[1].reg.bpod, c->bitop.mask,
    				     c[1].reg.data);
    			pc += 2;
    			break;
    		case CFW_CMD_LOCK:
    			if (c->delay.delay)
    				ps->ops->lock(ps->component);
    			else
    				ps->ops->unlock(ps->component);
    			pc += 1;
    			break;
    		case CFW_CMD_BURST:
    			ps->ops->bulk_write(ps->component, c[1].reg.bpod,
    					    c->bhdr.len, c[1].burst.data);
    			pc += CFW_CMD_BURST_LEN(c->bhdr.len);
    			break;
    		case CFW_CMD_RBURST:
    			ps->ops->bulk_read(ps->component, c[1].reg.bpod,
    					    c->bhdr.len, c[1].burst.data);
    			pc += CFW_CMD_BURST_LEN(c->bhdr.len);
    			break;
    		case CFW_CMD_LOAD_VAR_IM:
    			aic3xxx_set_bits(&var[c->ldst.dvar],
    					 c->ldst.mask, c->ldst.svar);
    			pc += 1;
    			break;
    		case CFW_CMD_LOAD_VAR_ID:
    			if (c->ldst.svar != c->ldst.dvar) {
    				aic3xxx_set_bits(&var[c->ldst.dvar],
    						 c->ldst.mask,
    						 var[c->ldst.svar]);
    				pc += 1;
    			} else {
    				u8 data;
    				data = ps->ops->reg_read(ps->component,
    							c[1].reg.bpod);
    				aic3xxx_set_bits(&var[c->ldst.dvar],
    						 c->ldst.mask, data);
    				pc += 2;
    			}
    			break;
    		case CFW_CMD_STORE_VAR:
    			if (c->ldst.svar != c->ldst.dvar)
    				ps->ops->set_bits(ps->component,
    						  c[1].reg.bpod,
    						  var[c->ldst.dvar],
    						  var[c->ldst.svar]);
    			else
    				ps->ops->set_bits(ps->component,
    						  c[1].reg.bpod,
    						  c->ldst.mask,
    						  var[c->ldst.svar]);
    			pc += 2;
    			break;
    		case CFW_CMD_COND:
    			cond = var[c->cond.svar] & c->cond.mask;
    			pc += 1;
    			break;
    		case CFW_CMD_BRANCH:
    			pc = c->branch.address;
    			break;
    		case CFW_CMD_BRANCH_IM:
    			if (c->branch.match == cond)
    				pc = c->branch.address;
    			else
    				pc += 1;
    			break;
    		case CFW_CMD_BRANCH_ID:
    			if (var[c->branch.match] == cond)
    				pc = c->branch.address;
    			else
    				pc += 1;
    			break;
    		case CFW_CMD_PRINT:
    			{
    				union cfw_cmd *parglist =
    				    c + CFW_CMD_PRINT_ARG(c->print);
    				printk(c->print.fmt,
    				     var[parglist->print_arg[0]],
    				     var[parglist->print_arg[1]],
    				     var[parglist->print_arg[2]],
    				     var[parglist->print_arg[3]]);
    				pc += CFW_CMD_PRINT_LEN(c->print);
    			}
    			break;
    		case CFW_CMD_OP_START ... CFW_CMD_OP_END:
    			aic3xxx_cfw_op(ps, var, c->op);
    			pc += 1;
    			break;
    		default:
    			warn("Unknown cmd command %x. Skipped", c->cid);
    			pc += 1;
    			break;
    		}
    	}
    }
    
    static void aic3xxx_wait(struct cfw_state *ps, unsigned int reg, u8 mask,
    			 u8 data)
    {
    	while ((ps->ops->reg_read(ps->component, reg) & mask) != data)
    		mdelay(2);
    }
    
    static void aic3xxx_set_bits(u8 *data, u8 mask, u8 val)
    {
    	*data = (*data & (~mask)) | (val & mask);
    }
    
    static const struct {
    	u32 mdsp;
    	int buf_a, buf_b;
    	u32 swap;
    } csecs[] = {
    	{
    		.mdsp = AIC3XXX_COPS_MDSP_A,
    		.swap = AIC3XXX_ABUF_MDSP_A,
    		.buf_a = CFW_BLOCK_A_A_COEF,
    		.buf_b = CFW_BLOCK_A_B_COEF
    	},
    	{
    		.mdsp = AIC3XXX_COPS_MDSP_D,
    		.swap = AIC3XXX_ABUF_MDSP_D1,
    		.buf_a = CFW_BLOCK_D_A1_COEF,
    		.buf_b = CFW_BLOCK_D_B1_COEF
    	},
    	{
    		.mdsp = AIC3XXX_COPS_MDSP_D,
    		.swap = AIC3XXX_ABUF_MDSP_D2,
    		.buf_a = CFW_BLOCK_D_A2_COEF,
    		.buf_b = CFW_BLOCK_D_B2_COEF
    	},
    };
    static int aic3xxx_cfw_dlctl(struct cfw_state *ps, struct cfw_block *pb,
    			     u32 mute_flags)
    {
    	int i, btype = pb->type;
    	int run_state = ps->ops->lock(ps->component);
    
    	DBG("Download CTL");
    	for (i = 0; i < sizeof(csecs) / sizeof(csecs[0]); ++i) {
    		if (csecs[i].buf_a != btype && csecs[i].buf_b != btype)
    			continue;
    		DBG("\tDownload once to %d", btype);
    		aic3xxx_cfw_dlcmds(ps, pb);
    		if (run_state & csecs[i].mdsp) {
    			DBG("\tDownload again to make sure it reaches B");
    			aic3xxx_cfw_mute(ps, 1, run_state & mute_flags);
    			ps->ops->bswap(ps->component, csecs[i].swap);
    			aic3xxx_cfw_mute(ps, 0, run_state & mute_flags);
    			aic3xxx_cfw_dlcmds(ps, pb);
    		}
    		break;
    	}
    	ps->ops->unlock(ps->component);
    	return 0;
    }
    
    static int aic3xxx_cfw_dlcfg(struct cfw_state *ps, struct cfw_image *pim)
    {
    	int i, run_state, swap;
    
    	DBG("Download CFG %s", pim->name);
    	run_state = ps->ops->lock(ps->component);
    	swap = 0;
    	for (i = 0; i < sizeof(csecs) / sizeof(csecs[0]); ++i) {
    		if (!pim->block[csecs[i].buf_a])
    			continue;
    		aic3xxx_cfw_dlcmds(ps, pim->block[csecs[i].buf_a]);
    		aic3xxx_cfw_dlcmds(ps, pim->block[csecs[i].buf_b]);
    		if (run_state & csecs[i].mdsp)
    			swap |= csecs[i].swap;
    	}
    	if (swap) {
    		aic3xxx_cfw_mute(ps, 1, run_state & pim->mute_flags);
    		ps->ops->bswap(ps->component, swap);
    		aic3xxx_cfw_mute(ps, 0, run_state & pim->mute_flags);
    		for (i = 0; i < sizeof(csecs) / sizeof(csecs[0]); ++i) {
    			if (!pim->block[csecs[i].buf_a])
    				continue;
    			if (!(run_state & csecs[i].mdsp))
    				continue;
    			aic3xxx_cfw_dlcmds(ps, pim->block[csecs[i].buf_a]);
    			aic3xxx_cfw_dlcmds(ps, pim->block[csecs[i].buf_b]);
    		}
    	}
    	ps->ops->unlock(ps->component);
    	return 0;
    }
    
    static int aic3xxx_cfw_dlimage(struct cfw_state *ps, struct cfw_image *pim)
    {
    	int i;
    
    	if (!pim)
    		return 0;
    	DBG("Download IMAGE %s", pim->name);
    	for (i = 0; i < CFW_BLOCK_N; ++i)
    		aic3xxx_cfw_dlcmds(ps, pim->block[i]);
    	return 0;
    }
    
    static int aic3xxx_cfw_mute(struct cfw_state *ps, int mute, u32 flags)
    {
    	if ((flags & AIC3XXX_COPS_MDSP_D) && (flags & AIC3XXX_COPS_MDSP_A))
    		aic3xxx_cfw_transition_u(ps,
    					 mute ? "AD_MUTE" : "AD_UNMUTE");
    	else if (flags & AIC3XXX_COPS_MDSP_D)
    		aic3xxx_cfw_transition_u(ps, mute ? "D_MUTE" : "D_UNMUTE");
    	else if (flags & AIC3XXX_COPS_MDSP_A)
    		aic3xxx_cfw_transition_u(ps, mute ? "A_MUTE" : "A_UNMUTE");
    	return 0;
    }
    
    static inline void *aic3xxx_cfw_ndx2ptr(void *p, u8 *base)
    {
    	return &base[(int)p];
    }
    static inline char *aic3xxx_cfw_desc(void *p, u8 *base)
    {
    	if (p)
    		return aic3xxx_cfw_ndx2ptr(p, base);
    	return NULL;
    }
    
    static void aic3xxx_cfw_unpickle_image(struct cfw_image *im, void *p)
    {
    	int i;
    
    	im->desc = aic3xxx_cfw_desc(im->desc, p);
    	for (i = 0; i < CFW_BLOCK_N; ++i)
    		if (im->block[i])
    			im->block[i] = aic3xxx_cfw_ndx2ptr(im->block[i], p);
    }
    
    static void aic3xxx_cfw_unpickle_control(struct cfw_control *ct, void *p)
    {
    	int i;
    
    	ct->output = aic3xxx_cfw_ndx2ptr(ct->output, p);
    	ct->desc = aic3xxx_cfw_desc(ct->desc, p);
    	for (i = 0; i <= ct->imax; ++i)
    		ct->output[i] = aic3xxx_cfw_ndx2ptr(ct->output[i], p);
    }
    
    static unsigned int crc32(unsigned int *pdata, int n)
    {
    	u32 crc = 0, i, crc_poly = 0x04C11DB7;	/* CRC - 32 */
    	u32 msb;
    	u32 residue_value = 0;
    	int bits;
    
    	for (i = 0; i < (n >> 2); i++) {
    		bits = 32;
    		while (--bits >= 0) {
    			msb = crc & 0x80000000;
    			crc = (crc << 1) ^ ((*pdata >> bits) & 1);
    			if (msb)
    				crc = crc ^ crc_poly;
    		}
    		pdata++;
    	}
    
    	switch (n & 3) {
    	case 0:
    		break;
    	case 1:
    		residue_value = (*pdata & 0xFF);
    		bits = 8;
    		break;
    	case 2:
    		residue_value = (*pdata & 0xFFFF);
    		bits = 16;
    		break;
    	case 3:
    		residue_value = (*pdata & 0xFFFFFF);
    		bits = 24;
    		break;
    	}
    
    	if (n & 3) {
    		while (--bits >= 0) {
    			msb = crc & 0x80000000;
    			crc = (crc << 1) ^ ((residue_value >> bits) & 1);
    			if (msb)
    				crc = crc ^ crc_poly;
    		}
    	}
    	return crc;
    }
    
    static int crc_chk(void *p, int n)
    {
    	struct cfw_project *pjt = (void *) p;
    	u32 crc = pjt->cksum, crc_comp;
    
    	pjt->cksum = 0;
    	DBG("Entering crc %d", n);
    	crc_comp = crc32(p, n);
    	if (crc_comp != crc) {
    		DBG("CRC mismatch 0x%08X != 0x%08X", crc, crc_comp);
    		return 0;
    	}
    	DBG("CRC pass");
    	pjt->cksum = crc;
    	return 1;
    }
    
    static struct cfw_project *aic3xxx_cfw_unpickle(void *p, int n)
    {
    	struct cfw_project *pjt = p;
    	int i, j;
    
    	if (pjt->magic != CFW_FW_MAGIC || pjt->size != n ||
    	    pjt->if_id != CFW_FW_IF_ID || !crc_chk(p, n)) {
    		error("Version mismatch: unable to load firmware\n");
    		return NULL;
    	}
    	DBG("Loaded firmware inside unpickle\n");
    
    	pjt->desc = aic3xxx_cfw_desc(pjt->desc, p);
    	pjt->transition = aic3xxx_cfw_ndx2ptr(pjt->transition, p);
    	for (i = 0; i < CFW_TRN_N; i++) {
    		if (!pjt->transition[i])
    			continue;
    		pjt->transition[i] = aic3xxx_cfw_ndx2ptr(pjt->transition[i], p);
    		pjt->transition[i]->desc = aic3xxx_cfw_desc(
    						pjt->transition[i]->desc, p);
    		pjt->transition[i]->block = aic3xxx_cfw_ndx2ptr(
    						pjt->transition[i]->block, p);
    	}
    	pjt->pll = aic3xxx_cfw_ndx2ptr(pjt->pll, p);
    	for (i = 0; i < pjt->npll; i++) {
    		pjt->pll[i] = aic3xxx_cfw_ndx2ptr(pjt->pll[i], p);
    		pjt->pll[i]->desc = aic3xxx_cfw_desc(pjt->pll[i]->desc, p);
    		pjt->pll[i]->seq = aic3xxx_cfw_ndx2ptr(pjt->pll[i]->seq, p);
    	}
    
    	pjt->pfw = aic3xxx_cfw_ndx2ptr(pjt->pfw, p);
    	for (i = 0; i < pjt->npfw; i++) {
    		DBG("loading pfw %d\n", i);
    		pjt->pfw[i] = aic3xxx_cfw_ndx2ptr(pjt->pfw[i], p);
    		pjt->pfw[i]->desc = aic3xxx_cfw_desc(pjt->pfw[i]->desc, p);
    		if (pjt->pfw[i]->base) {
    			pjt->pfw[i]->base = aic3xxx_cfw_ndx2ptr(
    							pjt->pfw[i]->base, p);
    			aic3xxx_cfw_unpickle_image(pjt->pfw[i]->base, p);
    		}
    		pjt->pfw[i]->ovly_cfg = aic3xxx_cfw_ndx2ptr(
    						pjt->pfw[i]->ovly_cfg, p);
    		for (j = 0; j < pjt->pfw[i]->novly * pjt->pfw[i]->ncfg; ++j) {
    			pjt->pfw[i]->ovly_cfg[j] = aic3xxx_cfw_ndx2ptr(
    						pjt->pfw[i]->ovly_cfg[j], p);
    			aic3xxx_cfw_unpickle_image(pjt->pfw[i]->ovly_cfg[j], p);
    		}
    		if (pjt->pfw[i]->nctrl)
    			pjt->pfw[i]->ctrl = aic3xxx_cfw_ndx2ptr(
    							pjt->pfw[i]->ctrl, p);
    		for (j = 0; j < pjt->pfw[i]->nctrl; ++j) {
    			pjt->pfw[i]->ctrl[j] = aic3xxx_cfw_ndx2ptr(
    						pjt->pfw[i]->ctrl[j], p);
    			aic3xxx_cfw_unpickle_control(pjt->pfw[i]->ctrl[j], p);
    		}
    	}
    
    	DBG("loaded pfw's\n");
    	pjt->mode = aic3xxx_cfw_ndx2ptr(pjt->mode, p);
    	for (i = 0; i < pjt->nmode; i++) {
    		pjt->mode[i] = aic3xxx_cfw_ndx2ptr(pjt->mode[i], p);
    		pjt->mode[i]->desc = aic3xxx_cfw_desc(pjt->mode[i]->desc, p);
    		if (pjt->mode[i]->entry)
    			pjt->mode[i]->entry = aic3xxx_cfw_ndx2ptr(
    						pjt->mode[i]->entry, p);
    		if (pjt->mode[i]->exit)
    			pjt->mode[i]->exit = aic3xxx_cfw_ndx2ptr(
    						pjt->mode[i]->exit, p);
    	}
    	if (pjt->asoc_toc)
    		pjt->asoc_toc = aic3xxx_cfw_ndx2ptr(pjt->asoc_toc, p);
    	else {
    		warn("asoc_toc not defined.  FW version mismatch?");
    		return NULL;
    	}
    	DBG("loaded modes");
    	return pjt;
    }
    static int aic3xxx_cfw_set_mode_id(struct cfw_state *ps)
    {
    	struct cfw_asoc_toc *toc = ps->pjt->asoc_toc;
    	int i;
    
    	for (i = 0; i < toc->nentries; ++i) {
    		if (toc->entry[i].cfg == ps->cur_cfg &&
    		    toc->entry[i].mode == ps->cur_mode) {
    			ps->cur_mode_id = i;
    			return 0;
    		}
    	}
    	DBG("Unknown mode,cfg combination [%d,%d]", ps->cur_mode,
    	    ps->cur_cfg);
    	return -1;
    }
    
    /* **Code beyond this point is not compilable on host** */
    
    static int aic3xxx_get_control(struct snd_kcontrol *kcontrol,
    			       struct snd_ctl_elem_value *ucontrol)
    {
    	struct cfw_state *ps = (struct cfw_state *)kcontrol->private_value;
    	struct cfw_pfw *pfw;
    	int i;
    
    	if (ps->cur_pfw >= ps->pjt->npfw) {
    		DBG("Not in MiniDSP mode");
    		return 0;
    	}
    	pfw = ps->pjt->pfw[ps->cur_pfw];
    	for (i = 0; i < pfw->nctrl; ++i) {
    		if (!strcasecmp(kcontrol->id.name, pfw->ctrl[i]->name)) {
    			struct cfw_control *pc = pfw->ctrl[i];
    			ucontrol->value.integer.value[0] = pc->icur;
    			return 0;
    		}
    	}
    	return 0;
    }
    
    static int aic3xxx_put_control(struct snd_kcontrol *kcontrol,
    			       struct snd_ctl_elem_value *ucontrol)
    {
    	struct cfw_state *ps = (struct cfw_state *)kcontrol->private_value;
    
    	aic3xxx_cfw_control(ps, kcontrol->id.name,
    			    ucontrol->value.integer.value[0]);
    	return 0;
    }
    
    static int aic3xxx_info_control(struct snd_kcontrol *kcontrol,
    				struct snd_ctl_elem_info *ucontrol)
    {
    	struct cfw_state *ps = (struct cfw_state *)kcontrol->private_value;
    	struct cfw_pfw *pfw;
    	int i;
    
    	if (ps->cur_pfw >= ps->pjt->npfw) {
    		DBG("Not in MiniDSP mode");
    		return 0;
    	}
    	pfw = ps->pjt->pfw[ps->cur_pfw];
    	for (i = 0; i < pfw->nctrl; ++i) {
    		if (!strcasecmp(kcontrol->id.name, pfw->ctrl[i]->name)) {
    			struct cfw_control *pc = pfw->ctrl[i];
    			ucontrol->value.integer.min = 0;
    			ucontrol->value.integer.max = pc->imax;
    			if (pc->imax == 1)
    				ucontrol->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN;
    			else
    				ucontrol->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
    		}
    	}
    
    	ucontrol->count = 1;
    	return 0;
    }
    int aic3xxx_cfw_add_controls(struct snd_soc_component *component, struct cfw_state *ps)
    {
    	int i, j;
    	struct cfw_pfw *pfw;
    
    	for (j = 0; j < ps->pjt->npfw; ++j) {
    		pfw = ps->pjt->pfw[j];
    
    		for (i = 0; i < pfw->nctrl; ++i) {
    			struct cfw_control *pc = pfw->ctrl[i];
    			struct snd_kcontrol_new *generic_control =
    			    kzalloc(sizeof(struct snd_kcontrol_new),
    				    GFP_KERNEL);
    			unsigned int *tlv_array =
    			    kzalloc(4 * sizeof(unsigned int), GFP_KERNEL);
    
    			if (generic_control == NULL)
    				return -ENOMEM;
    			generic_control->access =
    			    SNDRV_CTL_ELEM_ACCESS_TLV_READ |
    			    SNDRV_CTL_ELEM_ACCESS_READWRITE;
    			tlv_array[0] = SNDRV_CTL_TLVT_DB_SCALE;
    			tlv_array[1] = 2 * sizeof(unsigned int);
    			tlv_array[2] = pc->min;
    			tlv_array[3] = ((pc->step) & TLV_DB_SCALE_MASK);
    			if (pc->step > 0)
    				generic_control->tlv.p = tlv_array;
    			generic_control->name = pc->name;
    			generic_control->private_value = (unsigned long) ps;
    			generic_control->get = aic3xxx_get_control;
    			generic_control->put = aic3xxx_put_control;
    			generic_control->info = aic3xxx_info_control;
    			generic_control->iface = SNDRV_CTL_ELEM_IFACE_MIXER;
    			snd_soc_add_component_controls(component, generic_control, 1);
    			DBG("Added control %s", pc->name);
    		}
    	}
    	return 0;
    
    }
    
    
    static int aic3xxx_get_mode(struct snd_kcontrol *kcontrol,
    			    struct snd_ctl_elem_value *ucontrol)
    {
    	struct soc_enum *e = (struct soc_enum *) kcontrol->private_value;
    	struct cfw_state *ps = (struct cfw_state *) e->mask;
    
    	ucontrol->value.enumerated.item[0] = ps->cur_mode_id;
    
    	return 0;
    }
    
    static int aic3xxx_put_mode(struct snd_kcontrol *kcontrol,
    			    struct snd_ctl_elem_value *ucontrol)
    {
    	struct soc_enum *e = (struct soc_enum *) kcontrol->private_value;
    	struct cfw_state *ps = (struct cfw_state *) e->mask;
    	struct cfw_asoc_toc *toc;
    	int index, ret;
    
    	aic3xxx_cfw_lock(ps, 1);
    	toc = ps->pjt->asoc_toc;
    
    	index = ucontrol->value.enumerated.item[0];
    	if (index < 0 || index >= toc->nentries) {
    		aic3xxx_cfw_lock(ps, 0);
    		return -EINVAL;
    	}
    	ret = aic3xxx_cfw_setmode_cfg_u(ps, toc->entry[index].mode,
    				      toc->entry[index].cfg);
    	aic3xxx_cfw_lock(ps, 0);
    	return ret;
    }
    
    int aic3xxx_cfw_add_modes(struct snd_soc_component *component, struct cfw_state *ps)
    {
    	int j;
    	struct cfw_asoc_toc *toc = ps->pjt->asoc_toc;
    	struct soc_enum *mode_cfg_enum =
    	    kzalloc(sizeof(struct soc_enum), GFP_KERNEL);
    	struct snd_kcontrol_new *mode_cfg_control =
    	    kzalloc(sizeof(struct snd_kcontrol_new), GFP_KERNEL);
    	char **enum_texts;
    
    	if (mode_cfg_enum == NULL)
    		goto mem_err;
    	if (mode_cfg_control == NULL)
    		goto mem_err;
    
    	mode_cfg_enum->texts = kzalloc(toc->nentries * sizeof(char *),
    								GFP_KERNEL);
    	if (mode_cfg_enum->texts == NULL)
    		goto mem_err;
    	/* Hack to overwrite the const * const pointer */
    	enum_texts = (char **) mode_cfg_enum->texts;
    
    	for (j = 0; j < toc->nentries; j++)
    		enum_texts[j] = toc->entry[j].etext;
    
    	mode_cfg_enum->reg = j;
    	/* mode_cfg_enum->max = toc->nentries; */
    	mode_cfg_enum->mask = (unsigned int) ps;
    	mode_cfg_control->name = "Codec Firmware Setmode";
    	mode_cfg_control->get = aic3xxx_get_mode;
    	mode_cfg_control->put = aic3xxx_put_mode;
    	/*mode_cfg_control->info = snd_soc_info_enum_ext;*/
    	mode_cfg_control->private_value = (unsigned long) mode_cfg_enum;
    	mode_cfg_control->iface = SNDRV_CTL_ELEM_IFACE_MIXER;
    	snd_soc_add_component_controls(component, mode_cfg_control, 1);
    	return 0;
    mem_err:
    	kfree(mode_cfg_control);
    	kfree(mode_cfg_enum);
    	kfree(mode_cfg_enum->texts);
    	return -ENOMEM;
    
    }
    
    #if defined(CONFIG_AIC3111_CODEC) || defined(CONFIG_AIC3111_CORE)
    
    #	define AIC3XXX_CFW_DEVICE "aic3111_cfw"
    #elif defined(CONFIG_AIC3256_CODEC) || defined(CONFIG_AIC3256_CORE)
    
    #	define AIC3XXX_CFW_DEVICE "aic3256_cfw"
    #elif defined(CONFIG_AIC3262_CODEC) || defined(CONFIG_AIC3262_CORE)
    #	define AIC3XXX_CFW_DEVICE "aic3262_cfw"
    #else
    #	define AIC3XXX_CFW_DEVICE "aic3xxx_cfw"
    #endif
    
    static int aic3xxx_cfw_open(struct inode *in, struct file *filp)
    {
    	struct cfw_state *ps = container_of(in->i_cdev, struct cfw_state, cdev);
    	if (ps->is_open) {
    		warn("driver_open: device is already open");
    		return -1;
    	}
    	ps->is_open++;
    	filp->private_data = ps;
    	return 0;
    }
    static int aic3xxx_cfw_release(struct inode *in, struct file *filp)
    {
    	struct cfw_state *ps = filp->private_data;
    	ps->is_open--;
    	return ps->is_open;
    }
    static long aic3xxx_cfw_ioctl(struct file *filp,
    			unsigned int cmd, unsigned long arg)
    {
    	return 0;
    }
    static ssize_t aic3xxx_cfw_rw(struct file *filp, char __user *buf,
    			   size_t count, loff_t *offset)
    {
    	struct cfw_state *ps = filp->private_data;
    	struct cfw_block *kbuf = kmalloc(count, GFP_KERNEL);
    	if (!kbuf || copy_from_user(kbuf, buf, count)) {
    		warn("dev_rw: Allocation or copy failure");
    		goto err;
    	}
    	if (count != CFW_BLOCK_SIZE(kbuf->ncmds)) {
    		warn("dev_rw: Bad packet received\n");
    		goto err;
    	}
    	aic3xxx_cfw_dlcmds(ps, kbuf);
    	if (copy_to_user(buf, kbuf, count)) {
    		warn("dev_rw: copy failure");
    		goto err;
    	}
    	kfree(kbuf);
    	return count;
    err:
    	kfree(kbuf);
    	return -EINVAL;
    }
    
    static const struct file_operations aic3xxx_cfw_fops = {
    	.owner = THIS_MODULE,
    	.open = aic3xxx_cfw_open,
    	.release = aic3xxx_cfw_release,
    	.read = aic3xxx_cfw_rw,
    	.write = (ssize_t (*)(struct file *filp, const char __user *buf,
    			size_t count, loff_t *offset))aic3xxx_cfw_rw,
    	.unlocked_ioctl = aic3xxx_cfw_ioctl,
    };
    static int aic3xxx_driver_init(struct cfw_state *ps)
    {
    	int err;
    
    	dev_t dev = MKDEV(0, 0);
    
    	err = alloc_chrdev_region(&dev, 0, 1, AIC3XXX_CFW_DEVICE);
    	if (err < 0) {
    		warn("driver_init: Error allocating device number");
    		return err;
    	}
    	warn("driver_init: Allocated Major Number: %d\n", MAJOR(dev));
    
    	cdev_init(&(ps->cdev), &aic3xxx_cfw_fops);
    	ps->cdev.owner = THIS_MODULE;
    	ps->cdev.ops = &aic3xxx_cfw_fops;
    	ps->is_open = 0;
    
    	err = cdev_add(&(ps->cdev), dev, 1);
    	if (err < 0) {
    		warn("driver_init: cdev_add failed");
    		unregister_chrdev_region(dev, 1);
    		return err;
    	}
    	warn("driver_init: Registered cfw driver");
    	return 0;
    }
    
    MODULE_DESCRIPTION("ASoC tlv320aic3xxx codec driver firmware functions");
    MODULE_AUTHOR("Hari Rajagopala <harik@ti.com>");
    MODULE_LICENSE("GPL");
    

    Regards,

    Devashish

  • Hi Devashish,

    Help me check whether control in following log is valid. It seem that control is a invalid param which cause crash.

    If so, we will check internally.

    printk(KERN_ALERT "\nPRINTING aic3xxx/control - \n irq = %d \n irq_base = %d \n book_no = %d \n page_no = %d ",control->irq,control->irq_base,control->book_no,control->page_no);

     

  • Hi ,

    Yes. It seems the control is causing the crash. The following debug print never comes in the dmesg log

    printk(KERN_ALERT "\nPRINTING aic3xxx/control - \n irq = %d \n irq_base = %d \n book_no = %d \n page_no = %d ",control->irq,control->irq_base,control->book_no,control->page_no);

    Can you please check internally? Because I haven't done any changes in this leg of the code. This is provided by TI.

    Also please find the DTS entries that I am using below. I have a few observations.

    / {
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    
                    cpu_dai: simple-audio-card,cpu {
                            sound-dai = <&mcasp3>;
                            clocks = <&clkout2_clk>;
                    };
    
                    sound0_master: simple-audio-card,codec {
                            sound-dai = <&tlv320aic3212>;
                            clocks = <&clkout2_clk>;
                    };
            };
            
            tlv320aic3212: tlv320aic3212@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    };
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };

    If I put the "tlv320aic3212" node inside "&i2c4" node, the probe function is never invoked. That's why I am putting "tlv320aic3212" node inside "/" node. 

    But as the AIC3262 device is connected to I2C4 bus at reg 0x18, so shouldn't it come under "&i2c4" node in dts?

    Please revert.

    Regards,

    Devashish

  • I saw the control is got the value in  tlv320aic3xxx in drivers/mfd. Have you compiled the tlv320aic3xxx in drivers/mfd into the kernel, and do you have seem the log in bootup? try it and check whether the control can work. Thanks.

  • Hi Shenghao,

    Yes, I am compiling the tlv320aic3xxx in the drivers/mfd into the kernel. See the drivers/mfd/Makefile below.

    I have also added debug prints in drivers/mfd/tlv320aic3xxx-i2c.c & drivers/mfd/tlv320aic3xxx-core.c but I can't see debug prints in the logs. This means the tlv320aic3xxx mfd driver is not getting called.

    What else is required to make it work? Do I have to add it in the DTS?

    Regards,

    Devashish

  • Hi Shenghao,

    I am still suspecting that my DTS file is not correct. Can you verify once?

    / {
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    
                    cpu_dai: simple-audio-card,cpu {
                            sound-dai = <&mcasp3>;
                            clocks = <&clkout2_clk>;
                    };
    
                    sound0_master: simple-audio-card,codec {
                            sound-dai = <&tlv320aic3212>;
                            clocks = <&clkout2_clk>;
                    };
            };
            
            tlv320aic3262: tlv320aic3262@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    };
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };

    If I put the "tlv320aic3212" node inside "&i2c4" node, the probe function is never invoked. That's why I am putting "tlv320aic3212" node inside "/" node. 

    But as the AIC3262 device is connected to I2C4 bus at reg 0x18, so shouldn't it come under "&i2c4" node in dts?

    Kindly revert.

    Regards,

    Devashish

  • Hi Devashish

    In following setting, I have not seen any definition on tlv320aic3212. Kindly share your full dts with me

    sound0_master: simple-audio-card,codec {
    sound-dai = <&tlv320aic3212>;
    clocks = <&clkout2_clk>;
    };

  • Hi,

    Please find the DTS below.

    8468.am57xx-beagle-x15-common.txt
    /*
     * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    
    /dts-v1/;
    
    #include "dra74x.dtsi"
    #include "am57xx-commercial-grade.dtsi"
    #include "dra74x-mmc-iodelay.dtsi"
    #include "dra74-ipu-dsp-common.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/leds-pca955x.h>
    #include <dt-bindings/input/input.h>
    
    / {
    	compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
    
    
    	aliases {
    		rtc0 = &mcp_rtc;
    		rtc1 = &tps659038_rtc;
    		rtc2 = &rtc;
    		display0 = "/display";
    		display1 = "/connector";
    		sound0 = &sound0;
    		sound1 = &hdmi;
    	};
    	
    	gpio_keys {
    		compatible = "gpio-keys";
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		USER1 {
    			gpios = <&gpio1 14 0>;
    			label = "HOOK_INT";
    			linux,code = <KEY_UP>;
    		};
    
    
    		USER2 {
    			gpios = <&gpio2 6 1>;
    			label = "KEYL_INT";
    			linux,code = <KEY_HOME>;
    		};
    
    		USER3 {
    			gpios = <&gpio5 1 0>;
    			label = "HEADSET_INT";
    			linux,code = <KEY_DOWN>;
    		};
    
    	};
    
    	chosen {
    		stdout-path = &uart3;
    	};
    
    	memory@0 {
    		device_type = "memory";
    		reg = <0x0 0x80000000 0x0 0x80000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    	ipu2_memory_region: ipu2-memory@95800000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x95800000 0x0 0x3800000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	dsp1_memory_region: dsp1-memory@99000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x99000000 0x0 0x4000000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	ipu1_memory_region: ipu1-memory@9d000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x9d000000 0x0 0x2000000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	dsp2_memory_region: dsp2-memory@9f000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x9f000000 0x0 0x800000>;
    			    reusable;
    			    status = "okay";
    		    };
    	};
    
    	main_12v0: fixedregulator-main_12v0 {
    		   /* main supply */
    		   compatible = "regulator-fixed";
    		   regulator-name = "main_12v0";
    		   regulator-min-microvolt = <12000000>;
    		   regulator-max-microvolt = <12000000>;
    		   regulator-always-on;
    		   regulator-boot-on;
    	   };
    
    	evm_5v0: fixedregulator-evm_5v0 {
    		 /* Output of TPS54531D */
    		 compatible = "regulator-fixed";
    		 regulator-name = "evm_5v0";
    		 regulator-min-microvolt = <5000000>;
    		 regulator-max-microvolt = <5000000>;
    		 vin-supply = <&main_12v0>;
    		 regulator-always-on;
    		 regulator-boot-on;
    	 };
    
    	vdd_3v3: fixedregulator-vdd_3v3 {
    		 compatible = "regulator-fixed";
    		 regulator-name = "vdd_3v3";
    		 vin-supply = <&regen1>;
    		 regulator-min-microvolt = <3300000>;
    		 regulator-max-microvolt = <3300000>;
    	 };
    
    	aic_dvdd: fixedregulator-aic_dvdd {
    		  compatible = "regulator-fixed";
    		  regulator-name = "aic_dvdd_fixed";
    		  vin-supply = <&vdd_3v3>;
    		  regulator-min-microvolt = <1800000>;
    		  regulator-max-microvolt = <1800000>;
    	  };
    
    	vtt_fixed: fixedregulator-vtt {
    		   /* TPS51200 */
    		   compatible = "regulator-fixed";
    		   regulator-name = "vtt_fixed";
    		   vin-supply = <&smps3_reg>;
    		   regulator-min-microvolt = <3300000>;
    		   regulator-max-microvolt = <3300000>;
    		   regulator-always-on;
    		   regulator-boot-on;
    		   enable-active-high;
    		   gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
    	   };
    
    	gpio_fan: gpio_fan {
    		  /* Based on 5v 500mA AFB02505HHB */
    		  compatible = "gpio-fan";
    		  gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
    		  gpio-fan,speed-map = <0     0>,
    			  <13000 1>;
    		  #cooling-cells = <2>;
    	  };
    
    	clk_ov5640_fixed: clk_ov5640_fixed {
    			  compatible = "fixed-clock";
    			  #clock-cells = <0>;
    			  clock-frequency = <24000000>;
    		  };
    
    	clk_ov5640: clk_ov5640 {
    		    compatible = "gpio-gate-clock";
    		    #clock-cells = <0>;
    		    clocks = <&clk_ov5640_fixed>;
    		    enable-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>; //[04]
                    };
    
    	lcd0: display {
                  compatible = "bolymin,btz070f-chc" ,"panel-dpi";
                  //compatible = "osddisplays,osd070t1718-19ts" ,"panel-dpi";
                  backlight = <&lcd_bl>;
                  enable-gpios = <&gpio5 12 GPIO_ACTIVE_HIGH>;
                  label = "lcd";
    
                  /*panel-timing {
    				clock-frequency = <51200000>;
    				de-active = <1>;
    				hactive = <1024>;
    				hback-porch = <12>;
    				hfront-porch = <85>;
    				hsync-active = <0>;
    				hsync-len = <8>;
    				pixelclk-active = <1>;
    				vactive = <600>;
    				vback-porch = <12>;
    				vfront-porch = <12>;
    				vsync-active = <0>;
    				vsync-len = <8>;
    			};*/
    
                  port {
                       lcd_in: endpoint {
                               remote-endpoint = <&dpi_out>;
                               };
                  };
             };
    
             lcd_bl: backlight {
                     compatible = "pwm-backlight";
                     brightness-levels = <0 32 64 96 128 160 192 255>;
                     default-brightness-level = <8>;
                     pwms = <&ehrpwm0 0 50000 0>;
             };
    
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
    /*              
                    simple-audio-card,widgets =
                    //      "Speaker", "Headphone Speaker",
                            "Microphone", "Microphone External",
                            "Speaker", "Speaker External",
                            "Speaker", "Handset Speaker",
                            "Microphone", "Handset Microphone";
                    simple-audio-card,routing =
                    //      "Headphone Speaker", "HPL",
                    //      "Headphone Speaker", "HPR",
                            "Speaker External",     "SPKL",
                            "Speaker External",     "SPKR",
                            "Handset Speaker",      "RECL",
                            "Handset Speaker",      "RECR",
                            "IN3L", "Microphone External",
                            "IN3R", "Microphone External"; */
                            
                    simple-audio-card,format = "dsp_b";
                    //simple-audio-card,bitclock-master = <&sound0_master>;
                    //simple-audio-card,frame-master = <&sound0_master>;
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    
                    cpu_dai: simple-audio-card,cpu {
                            sound-dai = <&mcasp3>;
                            clocks = <&clkout2_clk>;
                    };
    
                    sound0_master: simple-audio-card,codec {
                            sound-dai = <&tlv320aic3262>;
                            clocks = <&clkout2_clk>;
                    };
            };
    	
    	tlv320aic3262: tlv320aic3262@18 {
                  	      #sound-dai-cells = <0>;
    	              compatible = "ti,aic3262";
            	      reg = <0x18>;
    	              assigned-clocks = <&clkoutmux2_clk_mux>;
            	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	              adc-settle-ms = <40>;
            	      status ="okay";
    	};
    	
    };
    
    &i2c1 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tps659038: tps659038@58 {
    		compatible = "ti,tps659038";
    		reg = <0x58>;
    		interrupt-parent = <&gpio1>;
    		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
    
    		#interrupt-cells = <2>;
    		interrupt-controller;
    
    		ti,system-power-controller;
    		ti,palmas-override-powerhold;
    
    		tps659038_pmic {
    			compatible = "ti,tps659038-pmic";
    
    			regulators {
    				smps12_reg: smps12 {
    					/* VDD_MPU */
    					regulator-name = "smps12";
    					regulator-min-microvolt = < 850000>;
    					regulator-max-microvolt = <1250000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps3_reg: smps3 {
    					/* VDD_DDR */
    					regulator-name = "smps3";
    					regulator-min-microvolt = <1350000>;
    					regulator-max-microvolt = <1350000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps45_reg: smps45 {
    					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
    					regulator-name = "smps45";
    					regulator-min-microvolt = < 850000>;
    					regulator-max-microvolt = <1250000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps6_reg: smps6 {
    					/* VDD_CORE */
    					regulator-name = "smps6";
    					regulator-min-microvolt = <850000>;
    					regulator-max-microvolt = <1150000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				/* SMPS7 unused */
    
    				smps8_reg: smps8 {
    					/* VDD_1V8 */
    					regulator-name = "smps8";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				/* SMPS9 unused */
    
    				ldo1_reg: ldo1 {
    					/* VDD_SD / VDDSHV8  */
    					regulator-name = "ldo1";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-boot-on;
    					regulator-always-on;
    				};
    
    				ldo2_reg: ldo2 {
    					/* VDD_SHV5 */
    					regulator-name = "ldo2";
    					regulator-min-microvolt = <3300000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo3_reg: ldo3 {
    					/* VDDA_1V8_PHYA */
    					regulator-name = "ldo3";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo4_reg: ldo4 {
    					/* VDDA_1V8_PHYB */
    					regulator-name = "ldo4";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo9_reg: ldo9 {
    					/* VDD_RTC */
    					regulator-name = "ldo9";
    					regulator-min-microvolt = <1050000>;
    					regulator-max-microvolt = <1050000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldoln_reg: ldoln {
    					/* VDDA_1V8_PLL */
    					regulator-name = "ldoln";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldousb_reg: ldousb {
    					/* VDDA_3V_USB: VDDA_USBHS33 */
    					regulator-name = "ldousb";
    					regulator-min-microvolt = <3300000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-boot-on;
    				};
    
    				regen1: regen1 {
    					/* VDD_3V3_ON */
    					regulator-name = "regen1";
    					regulator-boot-on;
    					regulator-always-on;
    				};
    			};
    		};
    
    		tps659038_rtc: tps659038_rtc {
    			compatible = "ti,palmas-rtc";
    			interrupt-parent = <&tps659038>;
    			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
    			wakeup-source;
    		};
    
    		tps659038_pwr_button: tps659038_pwr_button {
    			compatible = "ti,palmas-pwrbutton";
    			interrupt-parent = <&tps659038>;
    			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
    			wakeup-source;
    			ti,palmas-long-press-seconds = <12>;
    		};
    
    		tps659038_gpio: tps659038_gpio {
    			compatible = "ti,palmas-gpio";
    			gpio-controller;
    			#gpio-cells = <2>;
    		};
    
    		extcon_usb2: tps659038_usb {
    			compatible = "ti,palmas-usb-vid";
    			ti,enable-vbus-detection;
    			vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
    		};
    
    	};
    
    	eeprom: eeprom@50 {
    		compatible = "atmel,24c256"; //[05]
    		reg = <0x50>;
    	};
    };
    
    /* [00] ::  Added Temp sensor & LED controller */
    &i2c2 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	proc_temp: lm75@48 {
                       compatible = "national,lm75a";
                       reg = <0x48>;
    	           interrupt-parent = <&gpio7>;
    		   interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
    		   #thermal-sensor-cells = <1>;
            };
    
            handset_temp: lm75@49 {
                       compatible = "national,lm75a";
                       reg = <0x49>;
    	           interrupt-parent = <&gpio6>;
    		   interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
    		   #thermal-sensor-cells = <0>;
            };
    
    	pca9550: pca9550@60 {
                     compatible = "nxp,pca9550";
    		 #address-cells = <1>;
    		 #size-cells = <0>;
                     reg = <0x60>;
    
                     led@0 {
                            label = "green:power";
                            reg = <0>;
                            type = <PCA955X_TYPE_LED>;
                     };
    		
    		 led@1 {
                            label = "red:power";
                            linux,default-trigger = "default-on";
                            reg = <1>;
                            type = <PCA955X_TYPE_LED>;
                     };
    
            };
    
    	tpm: tpm@29 {
    		compatible = "atmel,at97sc3204t";
    		reg = <0x29>;
    	};
    		
    };
    
    //[00]
    &vin3a {
            vin3a_ep: endpoint {
                    remote-endpoint = <&cam>;
                    slave-mode;
            };
    };
    
    &vip2 {
            status = "okay";
    };
    
    /* [00] ::  Added Camera & RTC */
    &i2c3 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	mcp_rtc: rtc@6f {
    		compatible = "microchip,mcp7941x";
    		reg = <0x6f>;
    		interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
    				      <&dra7_pmx_core 0x424>;
    		interrupt-names = "irq", "wakeup";
    
    		vcc-supply = <&vdd_3v3>;
    		wakeup-source;
    	};
    
    
    	ov5640@3c {
                    compatible = "ovti,ov5640";
                    reg = <0x3c>;
                    clocks = <&clk_ov5640>;
                    clock-names = "xclk";
                    powerdown-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
    
                    port {
                            cam: endpoint {
                                    bus-width = <8>;
                                    data-shift = <0>;
    				hsync-active = <1>;
    				vsync-active = <0>;
    				pclk-sample = <0>;
                                    remote-endpoint = <&vin3a_ep>;
                            };
                    };
            };
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    	
    };
    
    &ehrpwm0 {
            status = "okay";
    };
    
    &epwmss0 {
            status = "okay";
    };
    
    /*
    &ehrpwm1 {
            status = "okay";
    };
    
    &epwmss1 {
            status = "okay";
    };
    &ehrpwm2 {
            status = "okay";
    };
    
    &epwmss2 {
            status = "okay";
    };
    */
    
    /* [00] ::  Added Touch panel entries */
    &i2c5 {
            status = "okay";
            clock-frequency = <400000>;
    
            polytouch: edt-ft5x06@38 {
    	        compatible = "edt,edt-ft5x06";
    	        reg = <0x38>;
    	        attb-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
    	        interrupt-parent = <&gpio5>;
    	        interrupts = <9 0>;
            //reset-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
            //wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
    /* AKSHI*/
                    threshold = <20>;          
    	        touchscreen-size-x = <1024>;
    	        touchscreen-size-y = <600>;
    	        wakeup-source;
        };
    
    };
    
    //Sample code to control GPIO from device tree
    /*
    &gpio5 {
            p18 {
                    gpio-hog;
                    gpios = <18 0>;
                    line-name = "cm-camen-gpio";
                    output-low;
            };
    };
    */
    
    &gpio7 {
    	ti,no-reset-on-init;
    	ti,no-idle-on-init;
    };
    
    &cpu0 {
    	vdd-supply = <&smps12_reg>;
    	voltage-tolerance = <1>;
    };
    
    &uart3 {
    	status = "okay";
    	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
    			      <&dra7_pmx_core 0x3f8>;
    };
    
    
    &davinci_mdio {
    	phy0: ethernet-phy@0 {
    		reg = <0>;
    	};
    
    	phy1: ethernet-phy@1 {
    		reg = <1>;
    	};
    };
    
    &mac {
    	status = "okay";
    	dual_emac;
    };
    
    &cpsw_emac0 {
    	phy-handle = <&phy0>;
    	phy-mode = "rgmii";
    	dual_emac_res_vlan = <1>;
    };
    
    
    &cpsw_emac1 {
    	phy-handle = <&phy1>;
    	phy-mode = "rgmii";
    	dual_emac_res_vlan = <2>;
    }; 
    
    &mmc1 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc1_pins_default>;
    
    	bus-width = <4>;
    	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ /* Check For Custom Board */
    	no-1-8-v;
    };
    
    &mmc2 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc2_pins_default>;
    
    	vmmc-supply = <&vdd_3v3>;
    	vqmmc-supply = <&vdd_3v3>;
    	bus-width = <8>;
    	non-removable;
    	no-1-8-v;
    };
    
    &sata {
    	status = "okay";
    };
    
    &usb2_phy1 {
    	phy-supply = <&ldousb_reg>;
    };
    
    &usb2_phy2 {
    	phy-supply = <&ldousb_reg>;
    };
    
    &usb1 {
    	dr_mode = "host";
    };
    
    &omap_dwc3_2 {
    	extcon = <&extcon_usb2>;
    };
    
    &usb2 {
    	/*
    	 * Stand alone usage is peripheral only.
    	 * However, with some resistor modifications
    	 * this port can be used via expansion connectors
    	 * as "host" or "dual-role". If so, provide
    	 * the necessary dr_mode override in the expansion
    	 * board's DT.
    	 */
    	dr_mode = "peripheral";
    };
    
    &cpu_trips {
    	cpu_alert1: cpu_alert1 {
    		temperature = <50000>; /* millicelsius */
    		hysteresis = <2000>; /* millicelsius */
    		type = "active";
    	};
    };
    
    &cpu_cooling_maps {
    	map1 {
    		trip = <&cpu_alert1>;
    		cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    	};
    };
    
    &thermal_zones {
    	board_thermal: board_thermal {
    		polling-delay-passive = <1250>; /* milliseconds */
    		polling-delay = <1500>; /* milliseconds */
    
    				/* sensor       ID */
    		thermal-sensors = <&proc_temp 0>;
    
    		board_trips: trips {
    			board_alert0: board_alert {
    				temperature = <40000>; /* millicelsius */
    				hysteresis = <2000>; /* millicelsius */
    				type = "active";
    			};
    
    			board_crit: board_crit {
    				temperature = <105000>; /* millicelsius */
    				hysteresis = <0>; /* millicelsius */
    				type = "critical";
    			};
    		};
    
    		board_cooling_maps: cooling-maps {
    			map0 {
    				trip = <&board_alert0>;
    				cooling-device =
    				  <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    			};
    		};
           };
    };
    
    &gpu {
    	status = "ok";
    };
    
    //[02]
    &keypad {
        status = "okay";
    };
    
    &dss {
    	status = "ok";
            vdda_video-supply = <&ldoln_reg>;
            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
    
                    port {
                            reg = <0>;
                            dpi_out: endpoint {
                                    data-lines = <24>;
                                    remote-endpoint = <&lcd_in>;
                            };
                    };
            };
    };
    
    
    &bb2d {
    	status = "okay";
    };
    
    
    //[03]
    &pcie1_rc {
    	status = "okay";
    	//gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; //Remap PERST to GPIO
    };
    
    &pcie1_phy {
    	status = "okay";
    };
    
    /*
    &pcie2_rc {
    	status = "okay";
    	//gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
    };
    
    &pcie2_phy {
    	status = "okay";
    };*/
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };
    
    
    &pruss_soc_bus1 {
    	status = "okay";
    
    	pruss1: pruss@4b200000 {
    		status = "okay";
    	};
    };
    
    &pruss_soc_bus2 {
    	status = "okay";
    
    	pruss2: pruss@4b280000 {
    		status = "okay";
    	};
    };
    
    &ipu2 {
    	status = "okay";
    	memory-region = <&ipu2_memory_region>;
    };
    
    &ipu1 {
    	status = "okay";
    	memory-region = <&ipu1_memory_region>;
    };
    
    &dsp1 {
    	status = "okay";
    	memory-region = <&dsp1_memory_region>;
    };
    
    &dsp2 {
    	status = "okay";
    	memory-region = <&dsp2_memory_region>;
    };
    
    #include "dra7-ipu-common-early-boot.dtsi"
    

    Regards,

    Devashish

  • Hi Devashish,can you confirm which device you are using?TLV320AIC3262 or TLV320AIC3212?

  • Hi Raphael,

    I am using TLV320AIC3262 AudioCodec.

  • Hi Devashish,

    You can reference this dts

    8468.am57xx-beagle-x15-common (2).txt
    /*
     * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    
    /dts-v1/;
    
    #include "dra74x.dtsi"
    #include "am57xx-commercial-grade.dtsi"
    #include "dra74x-mmc-iodelay.dtsi"
    #include "dra74-ipu-dsp-common.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/leds-pca955x.h>
    #include <dt-bindings/input/input.h>
    
    / {
    	compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
    
    
    	aliases {
    		rtc0 = &mcp_rtc;
    		rtc1 = &tps659038_rtc;
    		rtc2 = &rtc;
    		display0 = "/display";
    		display1 = "/connector";
    		sound0 = &sound0;
    		sound1 = &hdmi;
    	};
    	
    	gpio_keys {
    		compatible = "gpio-keys";
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		USER1 {
    			gpios = <&gpio1 14 0>;
    			label = "HOOK_INT";
    			linux,code = <KEY_UP>;
    		};
    
    
    		USER2 {
    			gpios = <&gpio2 6 1>;
    			label = "KEYL_INT";
    			linux,code = <KEY_HOME>;
    		};
    
    		USER3 {
    			gpios = <&gpio5 1 0>;
    			label = "HEADSET_INT";
    			linux,code = <KEY_DOWN>;
    		};
    
    	};
    
    	chosen {
    		stdout-path = &uart3;
    	};
    
    	memory@0 {
    		device_type = "memory";
    		reg = <0x0 0x80000000 0x0 0x80000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    	ipu2_memory_region: ipu2-memory@95800000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x95800000 0x0 0x3800000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	dsp1_memory_region: dsp1-memory@99000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x99000000 0x0 0x4000000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	ipu1_memory_region: ipu1-memory@9d000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x9d000000 0x0 0x2000000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	dsp2_memory_region: dsp2-memory@9f000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x9f000000 0x0 0x800000>;
    			    reusable;
    			    status = "okay";
    		    };
    	};
    
    	main_12v0: fixedregulator-main_12v0 {
    		   /* main supply */
    		   compatible = "regulator-fixed";
    		   regulator-name = "main_12v0";
    		   regulator-min-microvolt = <12000000>;
    		   regulator-max-microvolt = <12000000>;
    		   regulator-always-on;
    		   regulator-boot-on;
    	   };
    
    	evm_5v0: fixedregulator-evm_5v0 {
    		 /* Output of TPS54531D */
    		 compatible = "regulator-fixed";
    		 regulator-name = "evm_5v0";
    		 regulator-min-microvolt = <5000000>;
    		 regulator-max-microvolt = <5000000>;
    		 vin-supply = <&main_12v0>;
    		 regulator-always-on;
    		 regulator-boot-on;
    	 };
    
    	vdd_3v3: fixedregulator-vdd_3v3 {
    		 compatible = "regulator-fixed";
    		 regulator-name = "vdd_3v3";
    		 vin-supply = <&regen1>;
    		 regulator-min-microvolt = <3300000>;
    		 regulator-max-microvolt = <3300000>;
    	 };
    
    	aic_dvdd: fixedregulator-aic_dvdd {
    		  compatible = "regulator-fixed";
    		  regulator-name = "aic_dvdd_fixed";
    		  vin-supply = <&vdd_3v3>;
    		  regulator-min-microvolt = <1800000>;
    		  regulator-max-microvolt = <1800000>;
    	  };
    
    	vtt_fixed: fixedregulator-vtt {
    		   /* TPS51200 */
    		   compatible = "regulator-fixed";
    		   regulator-name = "vtt_fixed";
    		   vin-supply = <&smps3_reg>;
    		   regulator-min-microvolt = <3300000>;
    		   regulator-max-microvolt = <3300000>;
    		   regulator-always-on;
    		   regulator-boot-on;
    		   enable-active-high;
    		   gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
    	   };
    
    	gpio_fan: gpio_fan {
    		  /* Based on 5v 500mA AFB02505HHB */
    		  compatible = "gpio-fan";
    		  gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
    		  gpio-fan,speed-map = <0     0>,
    			  <13000 1>;
    		  #cooling-cells = <2>;
    	  };
    
    	clk_ov5640_fixed: clk_ov5640_fixed {
    			  compatible = "fixed-clock";
    			  #clock-cells = <0>;
    			  clock-frequency = <24000000>;
    		  };
    
    	clk_ov5640: clk_ov5640 {
    		    compatible = "gpio-gate-clock";
    		    #clock-cells = <0>;
    		    clocks = <&clk_ov5640_fixed>;
    		    enable-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>; //[04]
                    };
    
    	lcd0: display {
                  compatible = "bolymin,btz070f-chc" ,"panel-dpi";
                  //compatible = "osddisplays,osd070t1718-19ts" ,"panel-dpi";
                  backlight = <&lcd_bl>;
                  enable-gpios = <&gpio5 12 GPIO_ACTIVE_HIGH>;
                  label = "lcd";
    
                  /*panel-timing {
    				clock-frequency = <51200000>;
    				de-active = <1>;
    				hactive = <1024>;
    				hback-porch = <12>;
    				hfront-porch = <85>;
    				hsync-active = <0>;
    				hsync-len = <8>;
    				pixelclk-active = <1>;
    				vactive = <600>;
    				vback-porch = <12>;
    				vfront-porch = <12>;
    				vsync-active = <0>;
    				vsync-len = <8>;
    			};*/
    
                  port {
                       lcd_in: endpoint {
                               remote-endpoint = <&dpi_out>;
                               };
                  };
             };
    
             lcd_bl: backlight {
                     compatible = "pwm-backlight";
                     brightness-levels = <0 32 64 96 128 160 192 255>;
                     default-brightness-level = <8>;
                     pwms = <&ehrpwm0 0 50000 0>;
             };
    
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
    /*              
                    simple-audio-card,widgets =
                    //      "Speaker", "Headphone Speaker",
                            "Microphone", "Microphone External",
                            "Speaker", "Speaker External",
                            "Speaker", "Handset Speaker",
                            "Microphone", "Handset Microphone";
                    simple-audio-card,routing =
                    //      "Headphone Speaker", "HPL",
                    //      "Headphone Speaker", "HPR",
                            "Speaker External",     "SPKL",
                            "Speaker External",     "SPKR",
                            "Handset Speaker",      "RECL",
                            "Handset Speaker",      "RECR",
                            "IN3L", "Microphone External",
                            "IN3R", "Microphone External"; */
                            
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&sound0_master>;
                    simple-audio-card,frame-master = <&sound0_master>;
                    //simple-audio-card,bitclock-master = <&cpu_dai>;
                    //simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    
                    sound0_master: cpu {
                            sound-dai = <&mcasp3>;
                            clocks = <&clk_mcasp3>;
                    };
    
                                   codec {
    				sound-dai = <&tlv320aic3262>;
    			};
            };	
    };
    
    &i2c1 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tps659038: tps659038@58 {
    		compatible = "ti,tps659038";
    		reg = <0x58>;
    		interrupt-parent = <&gpio1>;
    		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
    
    		#interrupt-cells = <2>;
    		interrupt-controller;
    
    		ti,system-power-controller;
    		ti,palmas-override-powerhold;
    
    		tps659038_pmic {
    			compatible = "ti,tps659038-pmic";
    
    			regulators {
    				smps12_reg: smps12 {
    					/* VDD_MPU */
    					regulator-name = "smps12";
    					regulator-min-microvolt = < 850000>;
    					regulator-max-microvolt = <1250000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps3_reg: smps3 {
    					/* VDD_DDR */
    					regulator-name = "smps3";
    					regulator-min-microvolt = <1350000>;
    					regulator-max-microvolt = <1350000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps45_reg: smps45 {
    					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
    					regulator-name = "smps45";
    					regulator-min-microvolt = < 850000>;
    					regulator-max-microvolt = <1250000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps6_reg: smps6 {
    					/* VDD_CORE */
    					regulator-name = "smps6";
    					regulator-min-microvolt = <850000>;
    					regulator-max-microvolt = <1150000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				/* SMPS7 unused */
    
    				smps8_reg: smps8 {
    					/* VDD_1V8 */
    					regulator-name = "smps8";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				/* SMPS9 unused */
    
    				ldo1_reg: ldo1 {
    					/* VDD_SD / VDDSHV8  */
    					regulator-name = "ldo1";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-boot-on;
    					regulator-always-on;
    				};
    
    				ldo2_reg: ldo2 {
    					/* VDD_SHV5 */
    					regulator-name = "ldo2";
    					regulator-min-microvolt = <3300000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo3_reg: ldo3 {
    					/* VDDA_1V8_PHYA */
    					regulator-name = "ldo3";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo4_reg: ldo4 {
    					/* VDDA_1V8_PHYB */
    					regulator-name = "ldo4";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo9_reg: ldo9 {
    					/* VDD_RTC */
    					regulator-name = "ldo9";
    					regulator-min-microvolt = <1050000>;
    					regulator-max-microvolt = <1050000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldoln_reg: ldoln {
    					/* VDDA_1V8_PLL */
    					regulator-name = "ldoln";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldousb_reg: ldousb {
    					/* VDDA_3V_USB: VDDA_USBHS33 */
    					regulator-name = "ldousb";
    					regulator-min-microvolt = <3300000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-boot-on;
    				};
    
    				regen1: regen1 {
    					/* VDD_3V3_ON */
    					regulator-name = "regen1";
    					regulator-boot-on;
    					regulator-always-on;
    				};
    			};
    		};
    
    		tps659038_rtc: tps659038_rtc {
    			compatible = "ti,palmas-rtc";
    			interrupt-parent = <&tps659038>;
    			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
    			wakeup-source;
    		};
    
    		tps659038_pwr_button: tps659038_pwr_button {
    			compatible = "ti,palmas-pwrbutton";
    			interrupt-parent = <&tps659038>;
    			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
    			wakeup-source;
    			ti,palmas-long-press-seconds = <12>;
    		};
    
    		tps659038_gpio: tps659038_gpio {
    			compatible = "ti,palmas-gpio";
    			gpio-controller;
    			#gpio-cells = <2>;
    		};
    
    		extcon_usb2: tps659038_usb {
    			compatible = "ti,palmas-usb-vid";
    			ti,enable-vbus-detection;
    			vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
    		};
    
    	};
    
    	eeprom: eeprom@50 {
    		compatible = "atmel,24c256"; //[05]
    		reg = <0x50>;
    	};
    };
    
    /* [00] ::  Added Temp sensor & LED controller */
    &i2c2 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	proc_temp: lm75@48 {
                       compatible = "national,lm75a";
                       reg = <0x48>;
    	           interrupt-parent = <&gpio7>;
    		   interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
    		   #thermal-sensor-cells = <1>;
            };
    
            handset_temp: lm75@49 {
                       compatible = "national,lm75a";
                       reg = <0x49>;
    	           interrupt-parent = <&gpio6>;
    		   interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
    		   #thermal-sensor-cells = <0>;
            };
    
    	pca9550: pca9550@60 {
                     compatible = "nxp,pca9550";
    		 #address-cells = <1>;
    		 #size-cells = <0>;
                     reg = <0x60>;
    
                     led@0 {
                            label = "green:power";
                            reg = <0>;
                            type = <PCA955X_TYPE_LED>;
                     };
    		
    		 led@1 {
                            label = "red:power";
                            linux,default-trigger = "default-on";
                            reg = <1>;
                            type = <PCA955X_TYPE_LED>;
                     };
    
            };
    
    	tpm: tpm@29 {
    		compatible = "atmel,at97sc3204t";
    		reg = <0x29>;
    	};
    		
    };
    
    //[00]
    &vin3a {
            vin3a_ep: endpoint {
                    remote-endpoint = <&cam>;
                    slave-mode;
            };
    };
    
    &vip2 {
            status = "okay";
    };
    
    /* [00] ::  Added Camera & RTC */
    &i2c3 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	mcp_rtc: rtc@6f {
    		compatible = "microchip,mcp7941x";
    		reg = <0x6f>;
    		interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
    				      <&dra7_pmx_core 0x424>;
    		interrupt-names = "irq", "wakeup";
    
    		vcc-supply = <&vdd_3v3>;
    		wakeup-source;
    	};
    
    
    	ov5640@3c {
                    compatible = "ovti,ov5640";
                    reg = <0x3c>;
                    clocks = <&clk_ov5640>;
                    clock-names = "xclk";
                    powerdown-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
    
                    port {
                            cam: endpoint {
                                    bus-width = <8>;
                                    data-shift = <0>;
    				hsync-active = <1>;
    				vsync-active = <0>;
    				pclk-sample = <0>;
                                    remote-endpoint = <&vin3a_ep>;
                            };
                    };
            };
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    	
    	tlv320aic3262: tlv320aic3262@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";//genjudaima
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    };
    
    &ehrpwm0 {
            status = "okay";
    };
    
    &epwmss0 {
            status = "okay";
    };
    
    /*
    &ehrpwm1 {
            status = "okay";
    };
    
    &epwmss1 {
            status = "okay";
    };
    &ehrpwm2 {
            status = "okay";
    };
    
    &epwmss2 {
            status = "okay";
    };
    */
    
    /* [00] ::  Added Touch panel entries */
    &i2c5 {
            status = "okay";
            clock-frequency = <400000>;
    
            polytouch: edt-ft5x06@38 {
    	        compatible = "edt,edt-ft5x06";
    	        reg = <0x38>;
    	        attb-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
    	        interrupt-parent = <&gpio5>;
    	        interrupts = <9 0>;
            //reset-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
            //wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
    /* AKSHI*/
                    threshold = <20>;          
    	        touchscreen-size-x = <1024>;
    	        touchscreen-size-y = <600>;
    	        wakeup-source;
        };
    
    };
    
    //Sample code to control GPIO from device tree
    /*
    &gpio5 {
            p18 {
                    gpio-hog;
                    gpios = <18 0>;
                    line-name = "cm-camen-gpio";
                    output-low;
            };
    };
    */
    
    &gpio7 {
    	ti,no-reset-on-init;
    	ti,no-idle-on-init;
    };
    
    &cpu0 {
    	vdd-supply = <&smps12_reg>;
    	voltage-tolerance = <1>;
    };
    
    &uart3 {
    	status = "okay";
    	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
    			      <&dra7_pmx_core 0x3f8>;
    };
    
    
    &davinci_mdio {
    	phy0: ethernet-phy@0 {
    		reg = <0>;
    	};
    
    	phy1: ethernet-phy@1 {
    		reg = <1>;
    	};
    };
    
    &mac {
    	status = "okay";
    	dual_emac;
    };
    
    &cpsw_emac0 {
    	phy-handle = <&phy0>;
    	phy-mode = "rgmii";
    	dual_emac_res_vlan = <1>;
    };
    
    
    &cpsw_emac1 {
    	phy-handle = <&phy1>;
    	phy-mode = "rgmii";
    	dual_emac_res_vlan = <2>;
    }; 
    
    &mmc1 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc1_pins_default>;
    
    	bus-width = <4>;
    	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ /* Check For Custom Board */
    	no-1-8-v;
    };
    
    &mmc2 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc2_pins_default>;
    
    	vmmc-supply = <&vdd_3v3>;
    	vqmmc-supply = <&vdd_3v3>;
    	bus-width = <8>;
    	non-removable;
    	no-1-8-v;
    };
    
    &sata {
    	status = "okay";
    };
    
    &usb2_phy1 {
    	phy-supply = <&ldousb_reg>;
    };
    
    &usb2_phy2 {
    	phy-supply = <&ldousb_reg>;
    };
    
    &usb1 {
    	dr_mode = "host";
    };
    
    &omap_dwc3_2 {
    	extcon = <&extcon_usb2>;
    };
    
    &usb2 {
    	/*
    	 * Stand alone usage is peripheral only.
    	 * However, with some resistor modifications
    	 * this port can be used via expansion connectors
    	 * as "host" or "dual-role". If so, provide
    	 * the necessary dr_mode override in the expansion
    	 * board's DT.
    	 */
    	dr_mode = "peripheral";
    };
    
    &cpu_trips {
    	cpu_alert1: cpu_alert1 {
    		temperature = <50000>; /* millicelsius */
    		hysteresis = <2000>; /* millicelsius */
    		type = "active";
    	};
    };
    
    &cpu_cooling_maps {
    	map1 {
    		trip = <&cpu_alert1>;
    		cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    	};
    };
    
    &thermal_zones {
    	board_thermal: board_thermal {
    		polling-delay-passive = <1250>; /* milliseconds */
    		polling-delay = <1500>; /* milliseconds */
    
    				/* sensor       ID */
    		thermal-sensors = <&proc_temp 0>;
    
    		board_trips: trips {
    			board_alert0: board_alert {
    				temperature = <40000>; /* millicelsius */
    				hysteresis = <2000>; /* millicelsius */
    				type = "active";
    			};
    
    			board_crit: board_crit {
    				temperature = <105000>; /* millicelsius */
    				hysteresis = <0>; /* millicelsius */
    				type = "critical";
    			};
    		};
    
    		board_cooling_maps: cooling-maps {
    			map0 {
    				trip = <&board_alert0>;
    				cooling-device =
    				  <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    			};
    		};
           };
    };
    
    &gpu {
    	status = "ok";
    };
    
    //[02]
    &keypad {
        status = "okay";
    };
    
    &dss {
    	status = "ok";
            vdda_video-supply = <&ldoln_reg>;
            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
    
                    port {
                            reg = <0>;
                            dpi_out: endpoint {
                                    data-lines = <24>;
                                    remote-endpoint = <&lcd_in>;
                            };
                    };
            };
    };
    
    
    &bb2d {
    	status = "okay";
    };
    
    
    //[03]
    &pcie1_rc {
    	status = "okay";
    	//gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; //Remap PERST to GPIO
    };
    
    &pcie1_phy {
    	status = "okay";
    };
    
    /*
    &pcie2_rc {
    	status = "okay";
    	//gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
    };
    
    &pcie2_phy {
    	status = "okay";
    };*/
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };
    
    
    &pruss_soc_bus1 {
    	status = "okay";
    
    	pruss1: pruss@4b200000 {
    		status = "okay";
    	};
    };
    
    &pruss_soc_bus2 {
    	status = "okay";
    
    	pruss2: pruss@4b280000 {
    		status = "okay";
    	};
    };
    
    &ipu2 {
    	status = "okay";
    	memory-region = <&ipu2_memory_region>;
    };
    
    &ipu1 {
    	status = "okay";
    	memory-region = <&ipu1_memory_region>;
    };
    
    &dsp1 {
    	status = "okay";
    	memory-region = <&dsp1_memory_region>;
    };
    
    &dsp2 {
    	status = "okay";
    	memory-region = <&dsp2_memory_region>;
    };
    
    #include "dra7-ipu-common-early-boot.dtsi"
    

  • Hi Raphael,

    I am getting following error on compiling with the DTS you'd sent.

    "arch/arm/boot/dts/am57xx-beagle-x15-revc.dtb: ERROR (phandle_references): /sound0/cpu: Reference to non-existent node or label "clk_mcasp3"

    The node clk_mcasp3 is missing from the DTS.

    Regards,

    Devashish

  • Hi Devashish,

    You can use clocks = <&clkout2_clk> as your original dts setting.

  • Hi Raphael,

    I tried with clocks = <&clkout2_clk> earlier today. 

    The probe function inside the driver code (sound/soc/codecs/tlv320aic326x.c) is not getting invoked with the DTS setting you have provided. 

    However, and as I mentioned before, if I put the <tlv320aic3262> node outside <&i2c4> in the DTS, the probe function is invoked but throws kernel panic.

    Regards,

    Devashish

  • Hi Raphael,

    This is a gentle reminder that I am awaiting your reply to this post.

  • Hi Devashish,

    kindly try following

    / {
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    				
    				simple-audio-card, dai-link@0 {
    					cpu_dai: cpu {
    							sound-dai = <&mcasp3>;
    							clocks = <&clkout2_clk>;
    					};
    
    					codec {
    							sound-dai = <&tlv320aic3212>;
    							clocks = <&clkout2_clk>;
    					};
    				};
            };
    
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    	
    	tlv320aic3212: tlv320aic3212@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    
    };
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };

  • Hi Raphael,

    I tried with your DTS setting but still, the probe function is not getting invoked. I have attached DMESG logs for your reference.

    The probe is invoked only when I put the <tlv320aic3262> node outside <&i2c4> in the DTS.

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #127 SMP PREEMPT Thu Jan 22
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00000211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=cff27fd3-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735828K/3944448K available (10240K kernel code, 336K rwdata, 2876K rodata, 2048K init, 278K bss, 52972K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 337 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000019] Switching to timer-based delay loop, resolution 162ns
    [    0.000298] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000308] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000814] Console: colour dummy device 80x30
    [    0.000857] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000872] pid_max: default: 32768 minimum: 301
    [    0.000997] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001010] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001572] CPU: Testing write buffer coherency: ok
    [    0.001609] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001827] /cpus/cpu@0 missing clock-frequency property
    [    0.001848] /cpus/cpu@1 missing clock-frequency property
    [    0.001861] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059879] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079883] rcu: Hierarchical SRCU implementation.
    [    0.100070] EFI services will not be available.
    [    0.119934] smp: Bringing up secondary CPUs ...
    [    0.200315] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200321] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200445] smp: Brought up 1 node, 2 CPUs
    [    0.200458] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200466] CPU: All CPU(s) started in HYP mode.
    [    0.200475] CPU: Virtualization extensions available.
    [    0.201054] devtmpfs: initialized
    [    0.221346] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.221606] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221624] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.224261] pinctrl core: initialized pinctrl subsystem
    [    0.224785] DMI not present or invalid.
    [    0.225062] NET: Registered protocol family 16
    [    0.226212] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.227157] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.420926] cpuidle: using governor ladder
    [    0.420962] cpuidle: using governor menu
    [    0.431425] OMAP GPIO hardware version 0.1
    [    0.457844] No ATAGs?
    [    0.457919] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.457935] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.458794] OMAP DMA hardware revision 0.0
    [    0.470540] edma 43300000.edma: memcpy is disabled
    [    0.473916] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.481146] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.481974] evm_5v0: supplied by main_12v0
    [    0.485419] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.485600] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.485843] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.486087] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.486459] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.486638] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.486924] iommu: Adding device 58820000.ipu to group 1
    [    0.487011] iommu: Adding device 55020000.ipu to group 2
    [    0.487141] iommu: Adding device 40800000.dsp to group 0
    [    0.487383] iommu: Adding device 41000000.dsp to group 3
    [    0.488562] SCSI subsystem initialized
    [    0.489626] palmas 0-0058: Irq flag is 0x00000008
    [    0.512088] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.513674] SMPS12: supplied by regulator-dummy
    [    0.515351] SMPS3: supplied by regulator-dummy
    [    0.516989] SMPS45: supplied by regulator-dummy
    [    0.518774] SMPS6: supplied by regulator-dummy
    [    0.520176] SMPS7: supplied by regulator-dummy
    [    0.521572] SMPS8: supplied by regulator-dummy
    [    0.522825] SMPS9: supplied by regulator-dummy
    [    0.523493] LDO1: supplied by regulator-dummy
    [    0.531238] LDO2: supplied by regulator-dummy
    [    0.540824] random: fast init done
    [    0.541095] LDO3: supplied by regulator-dummy
    [    0.551111] LDO4: supplied by regulator-dummy
    [    0.561132] LDO5: supplied by regulator-dummy
    [    0.561814] LDO6: supplied by regulator-dummy
    [    0.562520] LDO7: supplied by regulator-dummy
    [    0.563211] LDO8: supplied by regulator-dummy
    [    0.563910] LDO9: supplied by regulator-dummy
    [    0.571148] LDOLN: supplied by regulator-dummy
    [    0.581174] LDOUSB: supplied by regulator-dummy
    [    0.593363] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.594258] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.594879] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.595384] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.595891] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.596109] media: Linux media interface: v0.10
    [    0.596147] videodev: Linux video capture interface: v2.00
    [    0.596226] pps_core: LinuxPPS API ver. 1 registered
    [    0.596236] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.596256] PTP clock support registered
    [    0.596286] EDAC MC: Ver: 3.0.0
    [    0.597069] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.597319] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.597799] Advanced Linux Sound Architecture Driver Initialized.
    [    0.598233] Bluetooth: Core ver 2.22
    [    0.598271] NET: Registered protocol family 31
    [    0.598280] Bluetooth: HCI device and connection manager initialized
    [    0.598294] Bluetooth: HCI socket layer initialized
    [    0.598306] Bluetooth: L2CAP socket layer initialized
    [    0.598346] Bluetooth: SCO socket layer initialized
    [    0.598705] clocksource: Switched to clocksource arch_sys_counter
    [    0.606997] NET: Registered protocol family 2
    [    0.607576] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.607605] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.607644] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.607712] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.607785] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607810] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607935] NET: Registered protocol family 1
    [    0.628372] RPC: Registered named UNIX socket transport module.
    [    0.628382] RPC: Registered udp transport module.
    [    0.628391] RPC: Registered tcp transport module.
    [    0.628399] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.629480] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.629686] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.630684] Initialise system trusted keyrings
    [    0.630818] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.635850] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.646345] NFS: Registering the id_resolver key type
    [    0.646367] Key type id_resolver registered
    [    0.646376] Key type id_legacy registered
    [    0.646416] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.649852] Key type asymmetric registered
    [    0.649865] Asymmetric key parser 'x509' registered
    [    0.649918] bounce: pool size: 64 pages
    [    0.649953] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.649964] io scheduler noop registered
    [    0.649973] io scheduler deadline registered
    [    0.650076] io scheduler cfq registered (default)
    [    0.650087] io scheduler mq-deadline registered
    [    0.650096] io scheduler kyber registered
    [    0.655940] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.660804] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.661211] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.661260] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.661288] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.761375] dra7-pcie 51000000.pcie: Link up
    [    0.761512] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    0.761527] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.761538] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.761549] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.767977] PCI: bus0: Fast back to back transfers disabled
    [    0.804669] PCI: bus1: Fast back to back transfers disabled
    [    0.804736] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    0.804757] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [    0.804774] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20203fff 64bit]
    [    0.804827] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    0.804841] pci 0000:00:00.0:   bridge window [mem 0x20200000-0x202fffff]
    [    0.805168] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    0.805297] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    0.806438] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    0.806515] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    0.806672] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    0.809938] vdd_3v3: supplied by regen1
    [    0.810172] aic_dvdd_fixed: supplied by vdd_3v3
    [    0.810242] vtt_fixed: supplied by smps3
    [    0.855672] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.859281] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    0.860233] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.046602] console [ttyS2] enabled
    [    2.052297] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.052825] random: crng init done
    [    2.091268] tpm tpm0: starting up the TPM manually
    [    2.154290] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    2.161403] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    2.173546] panel-simple display: display supply power not found, using dummy regulator
    [    2.181689] panel-simple display: Linked as a consumer to regulator.0
    [    2.196485] brd: module loaded
    [    2.205913] loop: module loaded
    [    2.213378] libphy: Fixed MDIO Bus: probed
    [    2.278733] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    2.286430] libphy: 48485000.mdio: probed
    [    2.295072] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    2.304794] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    2.315043] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:5e:fa
    [    2.321680] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    2.328064] cpsw 48484000.ethernet: ALE Table size 1024
    [    2.333376] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    2.341400] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:5e:fb
    [    2.349808]  DEBUG: keypad irq = 102
    [    2.353404] 
    [    2.353404] DEBUG: Autorepeat disabled 
    [    2.359087] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    2.400714] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    2.440697] rtc-ds1307 2-006f: registered as rtc0
    [    2.448371] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    2.461448] i2c /dev entries driver
    [    2.468456] gpio-fan gpio_fan: GPIO fan initialized
    [    2.476759] cpu cpu0: Linked as a consumer to regulator.6
    [    2.482283] cpu cpu0: Linked as a consumer to regulator.29
    [    2.489990] sdhci: Secure Digital Host Controller Interface driver
    [    2.496194] sdhci: Copyright(c) Pierre Ossman
    [    2.501217] sdhci-pltfm: SDHCI platform and OF driver helper
    [    2.507571] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    2.516425] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    2.521240] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    2.528265] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    2.535146] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    2.541784] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    2.548707] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    2.555643] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    2.588848] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    2.597080] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    2.603912] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    2.610696] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    2.641488] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    2.649511] ledtrig-cpu: registered to indicate activity on CPUs
    [    2.662871] NET: Registered protocol family 10
    [    2.668038] Segment Routing with IPv6
    [    2.671812] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.678181] NET: Registered protocol family 17
    [    2.682862] Key type dns_resolver registered
    [    2.687293] Registering SWP/SWPB emulation handler
    [    2.692157] omap_voltage_late_init: Voltage driver support not added
    [    2.698581] Power Management for TI OMAP4+ devices.
    [    2.704048] Loading compiled-in X.509 certificates
    [    2.712357] mmc1: new DDR MMC card at address 0001
    [    2.717185] mmc0: host does not support reading read-only switch, assuming write-enable
    [    2.730167] mmc0: new high speed SDXC card at address aaaa
    [    2.736164] mmcblk1: mmc1:0001 S0J57X 29.6 GiB 
    [    2.741224] mmcblk1boot0: mmc1:0001 S0J57X partition 1 31.5 MiB
    [    2.747550] mmcblk1boot1: mmc1:0001 S0J57X partition 2 31.5 MiB
    [    2.754118] mmcblk0: mmc0:aaaa SL64G 59.5 GiB 
    [    2.759112] mmcblk1rpmb: mmc1:0001 S0J57X partition 3 4.00 MiB, chardev (244:0)
    [    2.766511]  mmcblk0: p1 p2
    [    2.770249] dmm 4e000000.dmm: workaround for errata i878 in use
    [    2.777609] dmm 4e000000.dmm: initialized all PAT entries
    [    2.783862] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    2.790935] DSS: OMAP DSS rev 6.1
    [    2.795115] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    2.829061] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    2.835702] [drm] No driver support for vblank timestamp query.
    [    2.844750] [drm] Enabling DMM ywrap scrolling
    [    2.853945] Console: switching to colour frame buffer device 128x37
    [    2.864250] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    2.871290] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    2.879907] input: gpio_keys as /devices/platform/gpio_keys/input/input2
    [    2.887341] rtc-ds1307 2-006f: setting system clock to 2022-01-20 11:55:44 UTC (1642679744)
    [    2.896350] ALSA device list:
    [    2.899344]   No soundcards found.
    [    2.969285] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.977447] VFS: Mounted root (ext4 filesystem) on device 179:50.
    [    2.993695] devtmpfs: mounted
    [    2.997578] Freeing unused kernel memory: 2048K
    [    3.002239] Run /sbin/init as init process
    [    3.362380] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -I)
    [    3.384334] systemd[1]: Detected architecture arm.
    
    Welcome to Arago 2019.11!
    
    [    3.441676] systemd[1]: Set hostname to <am57xx-evm>.
    [    3.635451] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
    [    3.652828] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
    [    3.886730] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    3.923877] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [    3.959754] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    3.989037] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    4.028808] systemd[1]: Reached target Slices.
    [  OK  ] Reached target Slices.
    [  OK  ] Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Reached target Paths.
    [  OK  ] Listening on Process Core Dump Socket.
    [  OK  ] Reached target Swap.
    [  OK  ] Listening on Journal Socket.
    [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
             Starting Journal Service...
             Mounting POSIX Message Queue File System...
             Starting Load Kernel Modules...
    [    4.408425] cmemk: loading out-of-tree module taints kernel.
    [    4.415071] CMEMK module: reference Linux version 4.19.94
    [    4.421714] allocated heap buffer 0x40500000 of size 0x100000
    [    4.427569] cmemk initialized
             Mounting Temporary Directory (/tmp)...
    [    4.448692] cryptodev: driver 1.9 loaded.
    [  OK  ] Listening on udev Control Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    4.514020] usbcore: registered new interface driver usbfs
    [    4.519682] usbcore: registered new interface driver hub
    [    4.525090] usbcore: registered new device driver usb
    [  OK  ] Listening on udev Kernel Socket.
    [    4.547766] usbcore: registered new interface driver ftdi_sio
    [    4.553603] usbserial: USB Serial support registered for FTDI USB Serial Device
             Starting udev Coldplug all Devices...
             Mounting Kernel Debug File System...
             Starting Remount Root and Kernel File Systems...
    [    4.644926] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [  OK  ] Created slice system-getty.slice.
    [  OK  ] Reached target Remote File Systems.
    [  OK  ] Started Journal Service.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Started Remount Root and Kernel File Systems.
             Starting Create Static Device Nodes in /dev...
             Mounting Kernel Configuration File System...
             Starting Apply Kernel Variables...
             Starting Flush Journal to Persistent Storage...
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started Apply Kernel Variables.
    [    5.106730] systemd-journald[110]: Received request to flush runtime journal from PID 1
             Starting udev Kernel Device Manager...
    [  OK  ] Reached target Local File Systems (Pre).
    [  OK  ] Reached target Containers.
             Mounting /media/ram...
             Mounting /var/volatile...
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started Flush Journal to Persistent Storage.
    [  OK  ] Mounted /media/ram.
    [  OK  ] Mounted /var/volatile.
    [  OK  ] Started udev Coldplug all Devices.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
    [    5.456443] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
             Starting Create Volatile Files and Directories...
    [  OK  ] Started Load/Save Random Seed.
    [    5.510857] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [    5.523253] omap-rproc 58820000.ipu: assigned reserved memory node ipu1-memory@9d000000
    [    5.538865] remoteproc remoteproc0: 58820000.ipu is available
    [    5.555309] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [    5.600781] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [  OK  ] Started Create Volatile Files and Directories.
    [    5.637785] omap-rproc 55020000.ipu: assigned reserved memory node ipu2-memory@95800000
    [    5.682476] remoteproc remoteproc1: 55020000.ipu is available
             Starting Update UTMP about System Boot/Shutdown...
    [    5.703561] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [    5.716569] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [    5.738763] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000
             Starting Network Time Synchronization...
    [    5.790501] remoteproc remoteproc2: 40800000.dsp is available
             Starting Network Service...
    [    5.834249] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [    5.865355] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [    5.878874] omap-rproc 41000000.dsp: assigned reserved memory node dsp2-memory@9f000000
    [    5.888826] remoteproc remoteproc3: 41000000.dsp is available
    [  OK  ] Found device /dev/ttyS2.
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [    6.077183] remoteproc remoteproc0: powering up 58820000.ipu
    [    6.083178] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 6887428
    [    6.091815] Error: Driver 'palmas-rtc' is already registered, aborting...
    [    6.106277] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    6.106543] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
    [    6.121245] remoteproc remoteproc0: registered virtio0 (type 7)
    [    6.134507] remoteproc remoteproc0: remote processor 58820000.ipu is now up
    [    6.213615] Error: Driver 'palmas-rtc' is already registered, aborting...
    [    6.246287] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    6.254385] Driver for 1-wire Dallas network protocol.
    [    6.260365] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    6.348351] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    6.362788] remoteproc remoteproc1: powering up 55020000.ipu
    [    6.368750] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3747220
    [    6.400253] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [    6.428778] omap_hdq 480b2000.1w: OMAP HDQ Hardware Rev 0.:. Driver in Interrupt mode
    [    6.508083] ov5640 2-003c: 2-003c supply DOVDD not found, using dummy regulator
    [    6.526087] ov5640 2-003c: Linked as a consumer to regulator.0
    [    6.532561] ov5640 2-003c: 2-003c supply DVDD not found, using dummy regulator
    [    6.540541] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    6.548549] remoteproc remoteproc1: registered virtio1 (type 7)
    [    6.554686] ov5640 2-003c: 2-003c supply AVDD not found, using dummy regulator
    [    6.564975] remoteproc remoteproc1: remote processor 55020000.ipu is now up
    [    6.573993] ov5640 2-003c: ov5640_read_reg: error: reg=300a
    [    6.585004] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x65
    [    6.598792] ov5640 2-003c: ov5640_check_chip_id: failed to read chip identifier
    [    6.607819] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x66
    [    6.618289] ov5640: probe of 2-003c failed with error -121
    [    6.639101] omap_rtc 48838000.rtc: registered as rtc2
    [    6.651624] w1_master_driver w1_bus_master1: Attaching one wire slave 01.000000000000 crc 3d
    [    6.685753] w1_master_driver w1_bus_master1: Family 1 for 01.000000000000.3d is not registered.
    [    6.841732] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [    6.848865] omap-des 480a5000.des: will run requests pump with realtime priority
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Initialization.
    [    7.171667] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [  OK  ] Listening on dropbear.socket.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [    7.236610] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
    [    7.237007] phy phy-4a084000.phy.3: Linked as a consumer to regulator.23
    [    7.255587] net eth1: initializing cpsw version 1.15 (0)
    [    7.264906] phy phy-4a085000.phy.4: Linked as a consumer to regulator.23
    [    7.371086] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
    [    7.388950] vpe 489d0000.vpe: Device registered as /dev/video0
    [    7.477331] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [    7.491404] omap-aes 4b500000.aes: will run requests pump with realtime priority
    [    7.503184] Microsemi GE VSC8502 SyncE 48485000.mdio:01: attached PHY driver [Microsemi GE VSC8502 SyncE] (mii_bus:phy_addr=48485000.mdio:01, irq=POLL)
    [    7.503372] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    [    7.528817] omap-aes 4b700000.aes: will run requests pump with realtime priority
    [    7.538258] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [    7.557867] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    7.566917] net eth0: initializing cpsw version 1.15 (0)
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [    7.591924] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [  OK  ] Reached target Sockets.
             Starting Reboot and dump vmcore via kexec...
    [  OK  ] Reached target Basic System.
    [    7.762113] vip 48990000.vip: loading firmware vpdma-1b8.bin
    [    7.777672] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
    [    7.789606] vip 48990000.vip: VPDMA firmware loaded
    [    7.806493] Microsemi GE VSC8502 SyncE 48485000.mdio:00: attached PHY driver [Microsemi GE VSC8502 SyncE] (mii_bus:phy_addr=48485000.mdio:00, irq=POLL)
    [    7.825657] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [  OK  ] Started Periodic Command Scheduler.
    [    7.951118] ahci 4a140000.sata: controller can't do 64bit DMA, forcing 32bit
    [    7.960514] ahci 4a140000.sata: forcing port_map 0x0 -> 0x1
    [    7.966145] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
             [    7.981917] ahci 4a140000.sata: flags: ncq sntf pm led clo only pmp pio slum part ccc apst 
    Starting Login Service...
    [    8.005531] scsi host0: ahci
    [    8.009427] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 84
    [  OK  ] Started Job spooling tools.
             Starting TI MultiCore Tools Daemon...
             Starting rc.pvr.service...
             Starting TI IPC Daemon...
    [  OK  ] Started D-Bus System Message Bus.
             Starting Print notice about GPLv3 packages...
    [    8.199326] remoteproc remoteproc2: powering up 40800000.dsp
    [    8.207574] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 20482288
    [    8.216805] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [    8.222797] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [    8.222992] Intel(R) Wireless WiFi driver for Linux
    [    8.233676] Copyright(c) 2003- 2015 Intel Corporation
    [    8.240690] iwlwifi 0000:01:00.0: enabling device (0140 -> 0142)
             Starting RPC Bind Service...
    [  OK  ] Reached target System Time Synchronized.
    [    8.275535] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-38.ucode failed with error -2
    [    8.289960] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-37.ucode failed with error -2
    [    8.306225] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-36.ucode failed with error -2
    [    8.319363] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-35.ucode failed with error -2
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Reached target Timers.
    [  OK  ] [    8.342759] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-34.ucode failed with error -2
    Started Network Service.
    [  OK  ] Started Reboot and[    8.357967] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    8.365033] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-33.ucode failed with error -2
     dump vmcore via kexec.
    [    8.365957] ata1: SATA link down (SStatus 0 SControl 300)
    [    8.378577] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-32.ucode failed with error -2
    [    8.395554] remoteproc remoteproc2: registered virtio2 (type 7)
    [    8.439497] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-31.ucode failed with error -2
    [    8.449292] remoteproc remoteproc2: remote processor 40800000.dsp is now up
    [    8.461481] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-9260-th-b0-jf-b0-30.ucode failed with error -2
    [    8.473592] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3d
    [  OK  ] Started TI IPC Daemon.
    [    8.491207] remoteproc remoteproc3: powering up 41000000.dsp
    [    8.496990] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 20482288
    [    8.497130] iwlwifi 0000:01:00.0: no suitable firmware found!
    [    8.585870] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [    8.591868] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [    8.606271] iwlwifi 0000:01:00.0: minimum version required: iwlwifi-9260-th-b0-jf-b0-30
    [    8.654301] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
    [    8.728517] iwlwifi 0000:01:00.0: maximum version supported: iwlwifi-9260-th-b0-jf-b0-38
    [  OK  ] Started TI MultiCore Tools Daemon.
    [    8.815998] iwlwifi 0000:01:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
    [  OK  ] Started rc.pvr.service.
    [  OK  ] Started RPC Bind Service.
    [    8.948119] virtio_rpmsg_bus virtio3: rpmsg host is online
    [    8.993139] remoteproc remoteproc3: registered virtio3 (type 7)
    [    9.024746] remoteproc remoteproc3: remote processor 41000000.dsp is now up
    [    9.067753] virtio_rpmsg_bus virtio3: creating channel rpmsg-proto addr 0x3d
    [    9.927980] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [    9.928019] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [    9.932576] NET: Registered protocol family 45
    [    9.960067] dwc3 48890000.usb: Failed to get clk 'ref': -2
    [    9.967479] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: probing service dce-callback with src 1024 dst 101
    [    9.972745] rpmsg_rpc virtio1.rpmsg-rpc.-1.102: probing service rpmsg-dce with src 1025 dst 102
    [    9.972836] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: published functions = 4
    [    9.973012] dwc3 488d0000.usb: Failed to get clk 'ref': -2
    [    9.973667] rpmsg_rpc virtio1.rpmsg-rpc.-1.102: published functions = 9
    [   10.122142] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   10.122166] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [   10.139596] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [   10.139648] xhci-hcd xhci-hcd.0.auto: irq 189, io mem 0x48890000
    [   10.140017] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [   10.140023] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   10.140028] usb usb1: Product: xHCI Host Controller
    [   10.140033] usb usb1: Manufacturer: Linux 4.19.94-gbe5389fd85 xhci-hcd
    [   10.140036] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   10.140538] hub 1-0:1.0: USB hub found
    [   10.140580] hub 1-0:1.0: 1 port detected
    [   10.140906] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   10.140920] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [   10.140932] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [   10.141403] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   10.141526] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
    [   10.141532] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   10.141536] usb usb2: Product: xHCI Host Controller
    [   10.141540] usb usb2: Manufacturer: Linux 4.19.94-gbe5389fd85 xhci-hcd
    [   10.141545] usb usb2: SerialNumber: xhci-hcd.0.auto
    [   10.141910] hub 2-0:1.0: USB hub found
    [   10.141937] hub 2-0:1.0: 1 port detected
    [   10.170679] remoteproc remoteproc4: 4b234000.pru is available
    [   10.170752] pru-rproc 4b234000.pru: PRU rproc node pru@4b234000 probed successfully
    [   10.171621] remoteproc remoteproc5: 4b238000.pru is available
    [   10.171687] pru-rproc 4b238000.pru: PRU rproc node pru@4b238000 probed successfully
    [   10.172437] remoteproc remoteproc6: 4b2b4000.pru is available
    [   10.172495] pru-rproc 4b2b4000.pru: PRU rproc node pru@4b2b4000 probed successfully
    [   10.172784] remoteproc remoteproc7: 4b2b8000.pru is available
    [   10.172845] pru-rproc 4b2b8000.pru: PRU rproc node pru@4b2b8000 probed successfully
    [   10.508858] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
    [   10.539237] usb 2-1: New USB device found, idVendor=0451, idProduct=8140, bcdDevice= 1.00
    [   10.550457] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [   10.589578] hub 2-1:1.0: USB hub found
    [   10.594976] hub 2-1:1.0: 4 ports detected
    [   10.688774] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   10.880606] usb 1-1: New USB device found, idVendor=0451, idProduct=8142, bcdDevice= 1.00
    [   10.888927] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [   10.896107] usb 1-1: SerialNumber: 2B0C18792D53
    [   10.973211] hub 1-1:1.0: USB hub found
    [   10.977235] hub 1-1:1.0: 4 ports detected
    [   11.348742] usb 1-1.3: new full-speed USB device number 3 using xhci-hcd
    [   11.479711] usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x3 has wMaxPacketSize 0, skipping
    [   11.489107] usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x83 has wMaxPacketSize 0, skipping
    [   11.499077] usb 1-1.3: New USB device found, idVendor=8087, idProduct=0025, bcdDevice= 0.02
    [   11.507670] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            autoconf
            bash-dev
            bash
            bc
            binutils-dev
            binutils
            bison-dev
            bison
            cifs-utils
            cpio
            cpp-symlinks
            cpp
            dosfstools
            elfutils-dev
            elfutils
            findutils
            g++-symlinks
            g++
            gawk
            gcc-symlinks
            gcc
            gdb
            gdbc6x
            gdbserver
            gettext
            glmark2
            gstreamer1.0-libav
            gzip
            hidapi
            libasm1
            libbfd
            libcairo-perf-utils
            libdw1
            libelf1
            libgdbm-compat4
            libgdbm-dev
            libgdbm6
            libgettextlib
            libgettextsrc
            libgmp10
            libidn2-0
            libmavconn
            libmpc3
            libmpfr6
            libreadline-dev
            libreadline7
            libunistring2
            m4-dev
            m4
            make
            mavlink
            mavros-extras
            mavros-msgs
            mavros
            nettle
            parted
            pdm-anomaly-detection
            socketcan-interface
            swig-dev
            swig
            which
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    [  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
             Starting File System Check on /dev/mmcblk0p1...
             Starting weston.service...
    [  OK  ] Created slice system-systemd\x2dbacklight.slice.
             Starting Load/Save Screen Backlight�…ightness of backlight:backlight...
             Starting Network Name Resolution...
             Starting Wait for Network to be Configured...
    [  OK  ] Started Login Service.
    [  OK  ] Started Load/Save Screen Backlight Brightness of backlight:backlight.
    [  OK  ] Started weston.service.
             Starting Matrix GUI...
             Starting telnetd.service...
    [  OK  ] Started File System Check on /dev/mmcblk0p1.
    [FAILED] Failed to start Matrix GUI.
    See 'systemctl status matrix-gui-2.0.service' for details.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Started telnetd.service.
             Starting thttpd.service...
             Starting initrcS.service...
             Starting Avahi mDNS/DNS-SD Stack...
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Reached target Network.
             Starting Lightning Fast Webserver With Light System Requirements...
    [  OK  ] Started Redis In-Memory Data Store.
             Starting Enable and configure wl18xx bluetooth stack...
             Starting Simple Network Management Protocol (SNMP) Daemon....
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting Permit User Sessions...
             Mounting /run/media/mmcblk0p1...
    [  OK  ] Started thttpd.service.
    [  OK  ] Started Lightning Fast Webserver With Light System Requirements.
    [  OK  ] Started Enable and configure wl18xx bluetooth stack.
    [  OK  ] Started Permit User Sessions.
    [FAILED] Failed to start Simple Network Management Protocol (SNMP) Daemon..
    See 'systemctl status snmpd.service' for details.
    [  OK  ] Mounted /run/media/mmcblk0p1.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Stopped Periodic Command Scheduler.
    [  OK  ] Started Periodic Command Scheduler.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [  OK  ] Started Synchronize System and HW clocks.
    [  OK  ] Started initrcS.service.
    [   16.417339] Initializing XFRM netlink socket
    [   20.536720] cryptd: max_cpu_qlen set to 1000
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am57xx-evm ttyS2
    
    Arago 2019.11 am57xx-evm ttyS2
    

    Kindly acknowledge.

    Regards,

    Devashish

  • It is impossible, I wonder what the definition of other i2c devices in this DTS is?

  • Hi,

    I am attaching the DTS file for your perusal.

    Kindly acknowledge.

    /*
     * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    
    /dts-v1/;
    
    #include "dra74x.dtsi"
    #include "am57xx-commercial-grade.dtsi"
    #include "dra74x-mmc-iodelay.dtsi"
    #include "dra74-ipu-dsp-common.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/leds-pca955x.h>
    #include <dt-bindings/input/input.h>
    
    / {
    	compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
    
    
    	aliases {
    		rtc0 = &mcp_rtc;
    		rtc1 = &tps659038_rtc;
    		rtc2 = &rtc;
    		display0 = "/display";
    		display1 = "/connector";
    		sound0 = &sound0;
    		sound1 = &hdmi;
    	};
    	
    	gpio_keys {
    		compatible = "gpio-keys";
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		USER1 {
    			gpios = <&gpio1 14 0>; 
    			label = "HOOK_INT";
    			linux,code = <KEY_UP>;
    		};
    
    
    		USER2 {
    			gpios = <&gpio2 6 1>;
    			label = "KEYL_INT";
    			linux,code = <KEY_HOME>;
    		};
    
    		USER3 {
    			gpios = <&gpio5 1 0>;
    			label = "HEADSET_INT";
    			linux,code = <KEY_DOWN>;
    		};
    
    	};
    
    	chosen {
    		stdout-path = &uart3;
    	};
    
    	memory@0 {
    		device_type = "memory";
    		reg = <0x0 0x80000000 0x0 0x80000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    	ipu2_memory_region: ipu2-memory@95800000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x95800000 0x0 0x3800000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	dsp1_memory_region: dsp1-memory@99000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x99000000 0x0 0x4000000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	ipu1_memory_region: ipu1-memory@9d000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x9d000000 0x0 0x2000000>;
    			    reusable;
    			    status = "okay";
    		    };
    
    	dsp2_memory_region: dsp2-memory@9f000000 {
    			    compatible = "shared-dma-pool";
    			    reg = <0x0 0x9f000000 0x0 0x800000>;
    			    reusable;
    			    status = "okay";
    		    };
    	};
    
    	main_12v0: fixedregulator-main_12v0 {
    		   /* main supply */
    		   compatible = "regulator-fixed";
    		   regulator-name = "main_12v0";
    		   regulator-min-microvolt = <12000000>;
    		   regulator-max-microvolt = <12000000>;
    		   regulator-always-on;
    		   regulator-boot-on;
    	   };
    
    	evm_5v0: fixedregulator-evm_5v0 {
    		 /* Output of TPS54531D */
    		 compatible = "regulator-fixed";
    		 regulator-name = "evm_5v0";
    		 regulator-min-microvolt = <5000000>;
    		 regulator-max-microvolt = <5000000>;
    		 vin-supply = <&main_12v0>;
    		 regulator-always-on;
    		 regulator-boot-on;
    	 };
    
    	vdd_3v3: fixedregulator-vdd_3v3 {
    		 compatible = "regulator-fixed";
    		 regulator-name = "vdd_3v3";
    		 vin-supply = <&regen1>;
    		 regulator-min-microvolt = <3300000>;
    		 regulator-max-microvolt = <3300000>;
    	 };
    
    	aic_dvdd: fixedregulator-aic_dvdd {
    		  compatible = "regulator-fixed";
    		  regulator-name = "aic_dvdd_fixed";
    		  vin-supply = <&vdd_3v3>;
    		  regulator-min-microvolt = <1800000>;
    		  regulator-max-microvolt = <1800000>;
    	  };
    
    	vtt_fixed: fixedregulator-vtt {
    		   /* TPS51200 */
    		   compatible = "regulator-fixed";
    		   regulator-name = "vtt_fixed";
    		   vin-supply = <&smps3_reg>;
    		   regulator-min-microvolt = <3300000>;
    		   regulator-max-microvolt = <3300000>;
    		   regulator-always-on;
    		   regulator-boot-on;
    		   enable-active-high;
    		   gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
    	   };
    
    	gpio_fan: gpio_fan {
    		  /* Based on 5v 500mA AFB02505HHB */
    		  compatible = "gpio-fan";
    		  gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
    		  gpio-fan,speed-map = <0     0>,
    			  <13000 1>;
    		  #cooling-cells = <2>;
    	  };
    
    	clk_ov5640_fixed: clk_ov5640_fixed {
    			  compatible = "fixed-clock";
    			  #clock-cells = <0>;
    			  clock-frequency = <24000000>;
    		  };
    
    	clk_ov5640: clk_ov5640 {
    		    compatible = "gpio-gate-clock";
    		    #clock-cells = <0>;
    		    clocks = <&clk_ov5640_fixed>;
    		    enable-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>;
                    };
    
    	lcd0: display {
                  compatible = "bolymin,btz070f-chc" ,"panel-dpi";
                  //compatible = "osddisplays,osd070t1718-19ts" ,"panel-dpi";
                  backlight = <&lcd_bl>;
                  enable-gpios = <&gpio5 12 GPIO_ACTIVE_HIGH>;
                  label = "lcd";
    
                  /*panel-timing {
    				clock-frequency = <51200000>;
    				de-active = <1>;
    				hactive = <1024>;
    				hback-porch = <12>;
    				hfront-porch = <85>;
    				hsync-active = <0>;
    				hsync-len = <8>;
    				pixelclk-active = <1>;
    				vactive = <600>;
    				vback-porch = <12>;
    				vfront-porch = <12>;
    				vsync-active = <0>;
    				vsync-len = <8>;
    			};*/
    
                  port {
                       lcd_in: endpoint {
                               remote-endpoint = <&dpi_out>;
                               };
                  };
             };
    
             lcd_bl: backlight {
                     compatible = "pwm-backlight";
                     brightness-levels = <0 32 64 96 128 160 192 255>;
                     default-brightness-level = <8>;
                     pwms = <&ehrpwm0 0 50000 0>;
             };
    
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
    /*              
                    simple-audio-card,widgets =
                    //      "Speaker", "Headphone Speaker",
                            "Microphone", "Microphone External",
                            "Speaker", "Speaker External",
                            "Speaker", "Handset Speaker",
                            "Microphone", "Handset Microphone";
                    simple-audio-card,routing =
                    //      "Headphone Speaker", "HPL",
                    //      "Headphone Speaker", "HPR",
                            "Speaker External",     "SPKL",
                            "Speaker External",     "SPKR",
                            "Handset Speaker",      "RECL",
                            "Handset Speaker",      "RECR",
                            "IN3L", "Microphone External",
                            "IN3R", "Microphone External"; */
                    simple-audio-card,format = "dsp_b";
                    //simple-audio-card,bitclock-master = <&sound0_master>;
                    //simple-audio-card,frame-master = <&sound0_master>;
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    		
    		simple-audio-card,dai-link@0 {
    			cpu_dai: cpu {
    				sound-dai = <&mcasp3>;
    				clocks = <&clkout2_clk>;
    			};
    			codec {
    				sound-dai = <&tlv320aic3212>;
    				clocks = <&clkout2_clk>;
    			};
    		};
    	};	
    };
    
    &i2c1 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tps659038: tps659038@58 {
    		compatible = "ti,tps659038";
    		reg = <0x58>;
    		interrupt-parent = <&gpio1>;
    		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
    
    		#interrupt-cells = <2>;
    		interrupt-controller;
    
    		ti,system-power-controller;
    		ti,palmas-override-powerhold;
    
    		tps659038_pmic {
    			compatible = "ti,tps659038-pmic";
    
    			regulators {
    				smps12_reg: smps12 {
    					/* VDD_MPU */
    					regulator-name = "smps12";
    					regulator-min-microvolt = < 850000>;
    					regulator-max-microvolt = <1250000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps3_reg: smps3 {
    					/* VDD_DDR */
    					regulator-name = "smps3";
    					regulator-min-microvolt = <1350000>;
    					regulator-max-microvolt = <1350000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps45_reg: smps45 {
    					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
    					regulator-name = "smps45";
    					regulator-min-microvolt = < 850000>;
    					regulator-max-microvolt = <1250000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				smps6_reg: smps6 {
    					/* VDD_CORE */
    					regulator-name = "smps6";
    					regulator-min-microvolt = <850000>;
    					regulator-max-microvolt = <1150000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				/* SMPS7 unused */
    
    				smps8_reg: smps8 {
    					/* VDD_1V8 */
    					regulator-name = "smps8";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				/* SMPS9 unused */
    
    				ldo1_reg: ldo1 {
    					/* VDD_SD / VDDSHV8  */
    					regulator-name = "ldo1";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-boot-on;
    					regulator-always-on;
    				};
    
    				ldo2_reg: ldo2 {
    					/* VDD_SHV5 */
    					regulator-name = "ldo2";
    					regulator-min-microvolt = <3300000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo3_reg: ldo3 {
    					/* VDDA_1V8_PHYA */
    					regulator-name = "ldo3";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo4_reg: ldo4 {
    					/* VDDA_1V8_PHYB */
    					regulator-name = "ldo4";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldo9_reg: ldo9 {
    					/* VDD_RTC */
    					regulator-name = "ldo9";
    					regulator-min-microvolt = <1050000>;
    					regulator-max-microvolt = <1050000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldoln_reg: ldoln {
    					/* VDDA_1V8_PLL */
    					regulator-name = "ldoln";
    					regulator-min-microvolt = <1800000>;
    					regulator-max-microvolt = <1800000>;
    					regulator-always-on;
    					regulator-boot-on;
    				};
    
    				ldousb_reg: ldousb {
    					/* VDDA_3V_USB: VDDA_USBHS33 */
    					regulator-name = "ldousb";
    					regulator-min-microvolt = <3300000>;
    					regulator-max-microvolt = <3300000>;
    					regulator-boot-on;
    				};
    
    				regen1: regen1 {
    					/* VDD_3V3_ON */
    					regulator-name = "regen1";
    					regulator-boot-on;
    					regulator-always-on;
    				};
    			};
    		};
    
    		tps659038_rtc: tps659038_rtc {
    			compatible = "ti,palmas-rtc";
    			interrupt-parent = <&tps659038>;
    			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
    			wakeup-source;
    		};
    
    		tps659038_pwr_button: tps659038_pwr_button {
    			compatible = "ti,palmas-pwrbutton";
    			interrupt-parent = <&tps659038>;
    			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
    			wakeup-source;
    			ti,palmas-long-press-seconds = <12>;
    		};
    
    		tps659038_gpio: tps659038_gpio {
    			compatible = "ti,palmas-gpio";
    			gpio-controller;
    			#gpio-cells = <2>;
    		};
    
    		extcon_usb2: tps659038_usb {
    			compatible = "ti,palmas-usb-vid";
    			ti,enable-vbus-detection;
    			vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
    		};
    
    	};
    
    	eeprom: eeprom@50 {
    		compatible = "atmel,24c256"; //[05]
    		reg = <0x50>;
    	};
    };
    
    /* [00] ::  Added Temp sensor & LED controller */
    &i2c2 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	proc_temp: lm75@48 {
                       compatible = "national,lm75a";
                       reg = <0x48>;
    	           interrupt-parent = <&gpio7>;
    		   interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
    		   #thermal-sensor-cells = <1>;
            };
    
            handset_temp: lm75@49 {
                       compatible = "national,lm75a";
                       reg = <0x49>;
    	           interrupt-parent = <&gpio6>;
    		   interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
    		   #thermal-sensor-cells = <0>;
            };
    
    	pca9550: pca9550@60 {
                     compatible = "nxp,pca9550";
    		 #address-cells = <1>;
    		 #size-cells = <0>;
                     reg = <0x60>;
    
                     led@0 {
                            label = "green:power";
                            reg = <0>;
                            type = <PCA955X_TYPE_LED>;
                     };
    		
    		 led@1 {
                            label = "red:power";
                            linux,default-trigger = "default-on";
                            reg = <1>;
                            type = <PCA955X_TYPE_LED>;
                     };
    
            };
    
    	tpm: tpm@29 {
    		compatible = "atmel,at97sc3204t";
    		reg = <0x29>;
    	};
    		
    };
    
    &vin3a {
            vin3a_ep: endpoint {
                    remote-endpoint = <&cam>;
                    slave-mode;
            };
    };
    
    &vip2 {
            status = "okay";
    };
    
    &i2c3 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	mcp_rtc: rtc@6f {
    		compatible = "microchip,mcp7941x";
    		reg = <0x6f>;
    		interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
    				      <&dra7_pmx_core 0x424>;
    		interrupt-names = "irq", "wakeup";
    
    		vcc-supply = <&vdd_3v3>;
    		wakeup-source;
    	};
    
    
    	ov5640@3c {
                    compatible = "ovti,ov5640";
                    reg = <0x3c>;
                    clocks = <&clk_ov5640>;
                    clock-names = "xclk";
                    powerdown-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
    
                    port {
                            cam: endpoint {
                                    bus-width = <8>;
                                    data-shift = <0>;
    				hsync-active = <1>;
    				vsync-active = <0>;
    				pclk-sample = <0>;
                                    remote-endpoint = <&vin3a_ep>;
                            };
                    };
            };
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tlv320aic3212: tlv320aic3212@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    };
    
    &ehrpwm0 {
            status = "okay";
    };
    
    &epwmss0 {
            status = "okay";
    };
    
    /*
    &ehrpwm1 {
            status = "okay";
    };
    
    &epwmss1 {
            status = "okay";
    };
    &ehrpwm2 {
            status = "okay";
    };
    
    &epwmss2 {
            status = "okay";
    };
    */
    
    &i2c5 {
            status = "okay";
            clock-frequency = <400000>;
    
            polytouch: edt-ft5x06@38 {
    	        compatible = "edt,edt-ft5x06";
    	        reg = <0x38>;
    	        attb-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
    	        interrupt-parent = <&gpio5>;
    	        interrupts = <9 0>;
            //reset-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
            //wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
                    threshold = <20>;          
    	        touchscreen-size-x = <1024>;
    	        touchscreen-size-y = <600>;
    	        wakeup-source;
        };
    
    };
    
    //Sample code to control GPIO from device tree
    /*
    &gpio5 {
            p18 {
                    gpio-hog;
                    gpios = <18 0>;
                    line-name = "cm-camen-gpio";
                    output-low;
            };
    };
    */
    
    &gpio7 {
    	ti,no-reset-on-init;
    	ti,no-idle-on-init;
    };
    
    &cpu0 {
    	vdd-supply = <&smps12_reg>;
    	voltage-tolerance = <1>;
    };
    
    &uart3 {
    	status = "okay";
    	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
    			      <&dra7_pmx_core 0x3f8>;
    };
    
    
    &davinci_mdio {
    	phy0: ethernet-phy@0 {
    		reg = <0>;
    	};
    
    	phy1: ethernet-phy@1 {
    		reg = <1>;
    	};
    };
    
    &mac {
    	status = "okay";
    	dual_emac;
    };
    
    &cpsw_emac0 {
    	phy-handle = <&phy0>;
    	phy-mode = "rgmii";
    	dual_emac_res_vlan = <1>;
    };
    
    
    &cpsw_emac1 {
    	phy-handle = <&phy1>;
    	phy-mode = "rgmii";
    	dual_emac_res_vlan = <2>;
    }; 
    
    &mmc1 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc1_pins_default>;
    
    	bus-width = <4>;
    	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ /* Check For Custom Board */
    	no-1-8-v;
    };
    
    &mmc2 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc2_pins_default>;
    
    	vmmc-supply = <&vdd_3v3>;
    	vqmmc-supply = <&vdd_3v3>;
    	bus-width = <8>;
    	non-removable;
    	no-1-8-v;
    };
    
    &sata {
    	status = "okay";
    };
    
    &usb2_phy1 {
    	phy-supply = <&ldousb_reg>;
    };
    
    &usb2_phy2 {
    	phy-supply = <&ldousb_reg>;
    };
    
    &usb1 {
    	dr_mode = "host";
    };
    
    &omap_dwc3_2 {
    	extcon = <&extcon_usb2>;
    };
    
    &usb2 {
    	/*
    	 * Stand alone usage is peripheral only.
    	 * However, with some resistor modifications
    	 * this port can be used via expansion connectors
    	 * as "host" or "dual-role". If so, provide
    	 * the necessary dr_mode override in the expansion
    	 * board's DT.
    	 */
    	dr_mode = "peripheral";
    };
    
    &cpu_trips {
    	cpu_alert1: cpu_alert1 {
    		temperature = <50000>; /* millicelsius */
    		hysteresis = <2000>; /* millicelsius */
    		type = "active";
    	};
    };
    
    &cpu_cooling_maps {
    	map1 {
    		trip = <&cpu_alert1>;
    		cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    	};
    };
    
    &thermal_zones {
    	board_thermal: board_thermal {
    		polling-delay-passive = <1250>; /* milliseconds */
    		polling-delay = <1500>; /* milliseconds */
    
    				/* sensor       ID */
    		thermal-sensors = <&proc_temp 0>;
    
    		board_trips: trips {
    			board_alert0: board_alert {
    				temperature = <40000>; /* millicelsius */
    				hysteresis = <2000>; /* millicelsius */
    				type = "active";
    			};
    
    			board_crit: board_crit {
    				temperature = <105000>; /* millicelsius */
    				hysteresis = <0>; /* millicelsius */
    				type = "critical";
    			};
    		};
    
    		board_cooling_maps: cooling-maps {
    			map0 {
    				trip = <&board_alert0>;
    				cooling-device =
    				  <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    			};
    		};
           };
    };
    
    &gpu {
    	status = "ok";
    };
    
    &keypad {
        status = "okay";
    };
    
    &dss {
    	status = "ok";
            vdda_video-supply = <&ldoln_reg>;
            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
    
                    port {
                            reg = <0>;
                            dpi_out: endpoint {
                                    data-lines = <24>;
                                    remote-endpoint = <&lcd_in>;
                            };
                    };
            };
    };
    
    
    &bb2d {
    	status = "okay";
    };
    
    &pcie1_rc {
    	status = "okay";
    	//gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; //Remap PERST to GPIO
    };
    
    &pcie1_phy {
    	status = "okay";
    };
    
    /*
    &pcie2_rc {
    	status = "okay";
    	//gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
    };
    
    &pcie2_phy {
    	status = "okay";
    };*/
    
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };
    
    
    &pruss_soc_bus1 {
    	status = "okay";
    
    	pruss1: pruss@4b200000 {
    		status = "okay";
    	};
    };
    
    &pruss_soc_bus2 {
    	status = "okay";
    
    	pruss2: pruss@4b280000 {
    		status = "okay";
    	};
    };
    
    &ipu2 {
    	status = "okay";
    	memory-region = <&ipu2_memory_region>;
    };
    
    &ipu1 {
    	status = "okay";
    	memory-region = <&ipu1_memory_region>;
    };
    
    &dsp1 {
    	status = "okay";
    	memory-region = <&dsp1_memory_region>;
    };
    
    &dsp2 {
    	status = "okay";
    	memory-region = <&dsp2_memory_region>;
    };
    
    #include "dra7-ipu-common-early-boot.dtsi"

    Regards,

    Devashish

  • Hi Devashish,

    As the 3262 code is for kernel 4.4 and we are working on a new code to support kernel 4.19.We will release it to you when it finished.Because we have no hardware set on hand yet,you still need to test it. 

  • Hi Raphael,

    What's the timeline for this new 3262 driver code?

    I shall be able to test it as soon as you release it.

    Regards,

    Devashish

  • Hi Devashish,

    Attached zip file is the driver code of kernel 4.19.We have no hardware before Chinese New Year,so not test it yet.3262-E2E.zip

  • Hi Raphael,

    Thanks for sharing the driver code. 

    I integrated this with my kernel and compiled it. I am getting kernel panic when the board boots. Here are the logs -

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #129 SMP PREEMPT Thu Jan 22
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00001211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=a521ddd7-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735828K/3944448K available (10240K kernel code, 335K rwdata, 2876K rodata, 2048K init, 278K bss, 52972K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 336 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000019] Switching to timer-based delay loop, resolution 162ns
    [    0.000296] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000305] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000798] Console: colour dummy device 80x30
    [    0.000842] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000857] pid_max: default: 32768 minimum: 301
    [    0.000985] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000997] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001554] CPU: Testing write buffer coherency: ok
    [    0.001590] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001804] /cpus/cpu@0 missing clock-frequency property
    [    0.001824] /cpus/cpu@1 missing clock-frequency property
    [    0.001837] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059881] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079885] rcu: Hierarchical SRCU implementation.
    [    0.100074] EFI services will not be available.
    [    0.119937] smp: Bringing up secondary CPUs ...
    [    0.200317] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200324] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200447] smp: Brought up 1 node, 2 CPUs
    [    0.200458] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200467] CPU: All CPU(s) started in HYP mode.
    [    0.200475] CPU: Virtualization extensions available.
    [    0.201050] devtmpfs: initialized
    [    0.220743] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.220997] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221016] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.223657] pinctrl core: initialized pinctrl subsystem
    [    0.224185] DMI not present or invalid.
    [    0.224464] NET: Registered protocol family 16
    [    0.225617] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.226565] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.420690] cpuidle: using governor ladder
    [    0.420726] cpuidle: using governor menu
    [    0.431092] OMAP GPIO hardware version 0.1
    [    0.457286] No ATAGs?
    [    0.457359] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.457376] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.458234] OMAP DMA hardware revision 0.0
    [    0.469898] edma 43300000.edma: memcpy is disabled
    [    0.473238] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.480198] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.481060] evm_5v0: supplied by main_12v0
    [    0.484500] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.484681] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.484922] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.485164] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.485543] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.485722] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.486010] iommu: Adding device 58820000.ipu to group 1
    [    0.486096] iommu: Adding device 55020000.ipu to group 2
    [    0.486225] iommu: Adding device 40800000.dsp to group 0
    [    0.486464] iommu: Adding device 41000000.dsp to group 3
    [    0.487636] SCSI subsystem initialized
    [    0.488695] palmas 0-0058: Irq flag is 0x00000008
    [    0.512104] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.513697] SMPS12: supplied by regulator-dummy
    [    0.515368] SMPS3: supplied by regulator-dummy
    [    0.517009] SMPS45: supplied by regulator-dummy
    [    0.518801] SMPS6: supplied by regulator-dummy
    [    0.520205] SMPS7: supplied by regulator-dummy
    [    0.521593] SMPS8: supplied by regulator-dummy
    [    0.522854] SMPS9: supplied by regulator-dummy
    [    0.523532] LDO1: supplied by regulator-dummy
    [    0.531242] LDO2: supplied by regulator-dummy
    [    0.540947] random: fast init done
    [    0.541109] LDO3: supplied by regulator-dummy
    [    0.551111] LDO4: supplied by regulator-dummy
    [    0.561134] LDO5: supplied by regulator-dummy
    [    0.561819] LDO6: supplied by regulator-dummy
    [    0.562511] LDO7: supplied by regulator-dummy
    [    0.563205] LDO8: supplied by regulator-dummy
    [    0.563898] LDO9: supplied by regulator-dummy
    [    0.571152] LDOLN: supplied by regulator-dummy
    [    0.581170] LDOUSB: supplied by regulator-dummy
    [    0.593353] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.594256] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.594871] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.595377] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.595878] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.596097] media: Linux media interface: v0.10
    [    0.596134] videodev: Linux video capture interface: v2.00
    [    0.596210] pps_core: LinuxPPS API ver. 1 registered
    [    0.596220] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.596239] PTP clock support registered
    [    0.596269] EDAC MC: Ver: 3.0.0
    [    0.597037] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.597287] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.597765] Advanced Linux Sound Architecture Driver Initialized.
    [    0.598192] Bluetooth: Core ver 2.22
    [    0.598229] NET: Registered protocol family 31
    [    0.598238] Bluetooth: HCI device and connection manager initialized
    [    0.598252] Bluetooth: HCI socket layer initialized
    [    0.598264] Bluetooth: L2CAP socket layer initialized
    [    0.598303] Bluetooth: SCO socket layer initialized
    [    0.598662] clocksource: Switched to clocksource arch_sys_counter
    [    0.606829] NET: Registered protocol family 2
    [    0.607408] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.607437] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.607475] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.607543] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.607615] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607639] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607765] NET: Registered protocol family 1
    [    0.628205] RPC: Registered named UNIX socket transport module.
    [    0.628215] RPC: Registered udp transport module.
    [    0.628224] RPC: Registered tcp transport module.
    [    0.628232] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.629321] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.629527] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.630503] Initialise system trusted keyrings
    [    0.630644] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.635615] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.646111] NFS: Registering the id_resolver key type
    [    0.646133] Key type id_resolver registered
    [    0.646142] Key type id_legacy registered
    [    0.646181] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.649601] Key type asymmetric registered
    [    0.649614] Asymmetric key parser 'x509' registered
    [    0.649666] bounce: pool size: 64 pages
    [    0.649701] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.649713] io scheduler noop registered
    [    0.649722] io scheduler deadline registered
    [    0.649821] io scheduler cfq registered (default)
    [    0.649832] io scheduler mq-deadline registered
    [    0.649842] io scheduler kyber registered
    [    0.655655] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.660489] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.660895] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.660942] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.660970] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    1.661235] dra7-pcie 51000000.pcie: Phy link never came up
    [    1.661371] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    1.661385] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    1.661398] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    1.661409] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    1.667807] PCI: bus0: Fast back to back transfers disabled
    [    1.673821] PCI: bus1: Fast back to back transfers enabled
    [    1.673886] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    1.673905] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    1.674235] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    1.674366] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    1.675494] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    1.675572] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    1.675725] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    1.678990] vdd_3v3: supplied by regen1
    [    1.679236] aic_dvdd_fixed: supplied by vdd_3v3
    [    1.679306] vtt_fixed: supplied by smps3
    [    1.723792] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    1.727331] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    1.728272] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.894928] console [ttyS2] enabled
    [    2.900636] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.901166] random: crng init done
    [    2.931229] tpm tpm0: starting up the TPM manually
    [    2.994283] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    3.001403] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    3.013506] panel-simple display: display supply power not found, using dummy regulator
    [    3.021651] panel-simple display: Linked as a consumer to regulator.0
    [    3.036376] brd: module loaded
    [    3.045790] loop: module loaded
    [    3.053190] libphy: Fixed MDIO Bus: probed
    [    3.118727] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    3.126421] libphy: 48485000.mdio: probed
    [    3.134858] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    3.144578] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    3.154834] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:5e:fa
    [    3.161467] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    3.167851] cpsw 48484000.ethernet: ALE Table size 1024
    [    3.173171] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    3.181181] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:5e:fb
    [    3.189605]  DEBUG: keypad irq = 102
    [    3.193202] 
    [    3.193202] DEBUG: Autorepeat disabled 
    [    3.198882] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    3.240684] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    3.280649] rtc-ds1307 2-006f: registered as rtc0
    [    3.288295] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    3.301377] i2c /dev entries driver
    [    3.308361] gpio-fan gpio_fan: GPIO fan initialized
    [    3.316671] cpu cpu0: Linked as a consumer to regulator.6
    [    3.322195] cpu cpu0: Linked as a consumer to regulator.29
    [    3.329913] sdhci: Secure Digital Host Controller Interface driver
    [    3.336116] sdhci: Copyright(c) Pierre Ossman
    [    3.341137] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.347479] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    3.356332] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    3.361149] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    3.368174] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.375056] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    3.381696] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    3.388606] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.395553] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    3.428735] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    3.436971] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.443805] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    3.450590] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.481452] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    3.489480] ledtrig-cpu: registered to indicate activity on CPUs
    [    3.500030] Unable to handle kernel NULL pointer dereference at virtual address 00000014
    [    3.508244] pgd = ad70de63
    [    3.511083] [00000014] *pgd=80000080004003, *pmd=00000000
    [    3.516612] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
    [    3.522117] Modules linked in:
    [    3.525185] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.94-gbe5389fd85 #129
    [    3.532434] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    3.538555] PC is at aic3xxx_i2c_probe+0x10/0x11c
    [    3.543283] LR is at i2c_device_probe+0x24c/0x26c
    [    3.548003] pc : [<c08b72cc>]    lr : [<c07d4088>]    psr: 60000013
    [    3.554293] sp : ef88bd58  ip : ef88bd80  fp : ef88bd7c
    [    3.559536] r10: 00000000  r9 : c1247014  r8 : 00000000
    [    3.564778] r7 : efbd0a00  r6 : c1247014  r5 : c08b72bc  r4 : efbd0a20
    [    3.571329] r3 : c0c9750c  r2 : 00000074  r1 : 00000000  r0 : efbd0a00
    [    3.577881] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [    3.585043] Control: 30c5387d  Table: 80003000  DAC: fffffffd
    [    3.590810] Process swapper/0 (pid: 1, stack limit = 0xd2d585ce)
    [    3.596838] Stack: (0xef88bd58 to 0xef88c000)
    [    3.601208] bd40:                                                       ef88bd7c ef88bd68
    [    3.609418] bd60: efbd0a20 c08b72bc c1247014 efbd0a00 ef88bda4 ef88bd80 c07d4088 c08b72c8
    [    3.617627] bd80: c1290258 efbd0a20 c129025c 00000000 00000000 c1247014 ef88bdd4 ef88bda8
    [    3.625836] bda0: c06d6680 c07d3e48 00000000 efbd0a20 c1247014 efbd0a54 c06d69f8 00000000
    [    3.634045] bdc0: c104b834 c105f738 ef88be0c ef88bdd8 c06d68e0 c06d6488 efbd0a00 c1247014
    [    3.642255] bde0: c1247014 c06d69f8 efbd0a20 c1247014 efbd0a54 c06d69f8 00000000 c104b834
    [    3.650464] be00: ef88be2c ef88be10 c06d6aec c06d6884 efbbae34 c1204c48 c1247014 c06d69f8
    [    3.658673] be20: ef88be5c ef88be30 c06d474c c06d6a04 ef88be68 efa02c58 efbbae34 69dac049
    [    3.666883] be40: c1247014 c1240040 eed15700 00000000 ef88be6c ef88be60 c06d5fb8 c06d46dc
    [    3.675093] be60: ef88be94 ef88be70 c06d5a30 c06d5fa0 c0e6bf80 ef88be80 c1247014 c1204c48
    [    3.683302] be80: ffffe000 c1036fec ef88beac ef88be98 c06d74bc c06d5878 c1246ff8 c1204c48
    [    3.691512] bea0: ef88bec4 ef88beb0 c07d3b48 c06d744c c1254000 c1204c48 ef88bed4 ef88bec8
    [    3.699721] bec0: c1037008 c07d3b10 ef88bf4c ef88bed8 c02025b8 c1036ff8 00000000 c0de1714
    [    3.707930] bee0: c0de16f4 c0de1700 c0ded67c c1204c48 00000000 c0de16cc 00000006 00000006
    [    3.716138] bf00: 00000000 c0e48b40 c10004f0 c0ecd144 ef88bf34 eff690c4 00000000 69dac049
    [    3.724347] bf20: 00000000 69dac049 c1254000 00000007 c1254000 c1254000 c10004f0 c104b854
    [    3.732556] bf40: ef88bf94 ef88bf50 c1000fe8 c0202540 00000006 00000006 00000000 c10004f0
    [    3.740765] bf60: c0ecd144 000000e9 ffffe000 00000000 c0a77488 00000000 00000000 00000000
    [    3.748974] bf80: 00000000 00000000 ef88bfac ef88bf98 c0a77498 c1000e30 00000000 c0a77488
    [    3.757183] bfa0: 00000000 ef88bfb0 c02010d8 c0a77494 00000000 00000000 00000000 00000000
    [    3.765392] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.773600] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [    3.781807] Backtrace: 
    [    3.784264] [<c08b72bc>] (aic3xxx_i2c_probe) from [<c07d4088>] (i2c_device_probe+0x24c/0x26c)
    [    3.792823]  r7:efbd0a00 r6:c1247014 r5:c08b72bc r4:efbd0a20
    [    3.798508] [<c07d3e3c>] (i2c_device_probe) from [<c06d6680>] (really_probe+0x204/0x2c0)
    [    3.806631]  r9:c1247014 r8:00000000 r7:00000000 r6:c129025c r5:efbd0a20 r4:c1290258
    [    3.814406] [<c06d647c>] (really_probe) from [<c06d68e0>] (driver_probe_device+0x68/0x180)
    [    3.822703]  r10:c105f738 r9:c104b834 r8:00000000 r7:c06d69f8 r6:efbd0a54 r5:c1247014
    [    3.830562]  r4:efbd0a20 r3:00000000
    [    3.834151] [<c06d6878>] (driver_probe_device) from [<c06d6aec>] (__driver_attach+0xf4/0xf8)
    [    3.842621]  r9:c104b834 r8:00000000 r7:c06d69f8 r6:efbd0a54 r5:c1247014 r4:efbd0a20
    [    3.850395] [<c06d69f8>] (__driver_attach) from [<c06d474c>] (bus_for_each_dev+0x7c/0xbc)
    [    3.858604]  r7:c06d69f8 r6:c1247014 r5:c1204c48 r4:efbbae34
    [    3.864284] [<c06d46d0>] (bus_for_each_dev) from [<c06d5fb8>] (driver_attach+0x24/0x28)
    [    3.872318]  r7:00000000 r6:eed15700 r5:c1240040 r4:c1247014
    [    3.877999] [<c06d5f94>] (driver_attach) from [<c06d5a30>] (bus_add_driver+0x1c4/0x208)
    [    3.886036] [<c06d586c>] (bus_add_driver) from [<c06d74bc>] (driver_register+0x7c/0x110)
    [    3.894158]  r7:c1036fec r6:ffffe000 r5:c1204c48 r4:c1247014
    [    3.899840] [<c06d7440>] (driver_register) from [<c07d3b48>] (i2c_register_driver+0x44/0x88)
    [    3.908310]  r5:c1204c48 r4:c1246ff8
    [    3.911900] [<c07d3b04>] (i2c_register_driver) from [<c1037008>] (aic3xxx_i2c_driver_init+0x1c/0x20)
    [    3.921068]  r5:c1204c48 r4:c1254000
    [    3.924658] [<c1036fec>] (aic3xxx_i2c_driver_init) from [<c02025b8>] (do_one_initcall+0x84/0x1b0)
    [    3.933566] [<c0202534>] (do_one_initcall) from [<c1000fe8>] (kernel_init_freeable+0x1c4/0x258)
    [    3.942297]  r8:c104b854 r7:c10004f0 r6:c1254000 r5:c1254000 r4:00000007
    [    3.949028] [<c1000e24>] (kernel_init_freeable) from [<c0a77498>] (kernel_init+0x10/0x11c)
    [    3.957325]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0a77488
    [    3.965183]  r4:00000000
    [    3.967725] [<c0a77488>] (kernel_init) from [<c02010d8>] (ret_from_fork+0x14/0x3c)
    [    3.975322] Exception stack(0xef88bfb0 to 0xef88bff8)
    [    3.980391] bfa0:                                     00000000 00000000 00000000 00000000
    [    3.988600] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.996809] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    4.003447]  r5:c0a77488 r4:00000000
    [    4.007034] Code: e1a0c00d e92dd8f0 e24cb004 e24dd008 (e5912014) 
    [    4.014243] ---[ end trace 00c724385c07474c ]---
    [    4.019006] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [    4.019006] 
    [    4.028181] CPU1: stopping
    [    4.030900] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D           4.19.94-gbe5389fd85 #129
    [    4.039544] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    4.045659] Backtrace: 
    [    4.048117] [<c020ca34>] (dump_backtrace) from [<c020cd6c>] (show_stack+0x18/0x1c)
    [    4.055716]  r7:ef8c1f08 r6:60000193 r5:00000000 r4:c12508ec
    [    4.061399] [<c020cd54>] (show_stack) from [<c0a63184>] (dump_stack+0x9c/0xb0)
    [    4.068652] [<c0a630e8>] (dump_stack) from [<c020f6b8>] (handle_IPI+0x1b0/0x1dc)
    [    4.076076]  r7:ef8c1f08 r6:00000001 r5:00000000 r4:c1066cfc
    [    4.081761] [<c020f508>] (handle_IPI) from [<c056e2a8>] (gic_handle_irq+0x7c/0x80)
    [    4.089360]  r6:fa212000 r5:fa21200c r4:c1205104
    [    4.093996] [<c056e22c>] (gic_handle_irq) from [<c02019f8>] (__irq_svc+0x58/0x8c)
    [    4.101506] Exception stack(0xef8c1f08 to 0xef8c1f50)
    [    4.106576] 1f00:                   00000000 000007e8 eff5c50c c021ab60 ffffe000 c1204c7c
    [    4.114785] 1f20: c1204cc4 00000002 00000000 00000000 c10664f0 ef8c1f64 ef8c1f68 ef8c1f58
    [    4.122992] 1f40: c0208ea8 c0208eac 60000013 ffffffff
    [    4.128063]  r9:ef8c0000 r8:00000000 r7:ef8c1f3c r6:ffffffff r5:60000013 r4:c0208eac
    [    4.135840] [<c0208e6c>] (arch_cpu_idle) from [<c0a7d1dc>] (default_idle_call+0x30/0x34)
    [    4.143965] [<c0a7d1ac>] (default_idle_call) from [<c025a9a8>] (do_idle+0x204/0x2ac)
    [    4.151739] [<c025a7a4>] (do_idle) from [<c025ad3c>] (cpu_startup_entry+0x20/0x24)
    [    4.159339]  r10:00000000 r9:412fc0f2 r8:80007000 r7:c1254290 r6:00000001 r5:ef8c0000
    [    4.167197]  r4:00000087
    [    4.169739] [<c025ad1c>] (cpu_startup_entry) from [<c020f25c>] (secondary_start_kernel+0x174/0x180)
    [    4.178821] [<c020f0e8>] (secondary_start_kernel) from [<8020236c>] (0x8020236c)
    [    4.186245]  r7:c1254290 r6:30c0387d r5:00000000 r4:af875180
    [    4.191931] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [    4.191931]  ]---
    

    I am using the same DTS setting that I had sent before.

    Please check.

    Regards,

    Devashish

  • Hi Rapahel,

    Did you get the hardware? Did you test the driver?

    I'm waiting for your reply.

    Regards,

    Devashish

  • Hi Rapahel,

    This is a gentle reminder that I am waiting for your reply on this post.

    Did you test the driver yet?

    Regards,

    Devashish

  • Hi 

    Not test it yet because the EVM shipment meet logistic issue.

    Did you test the driver with your setup?

  • Hi,

    Yeah, I already did it.

    Hi Raphael,

    Thanks for sharing the driver code. 

    I integrated this with my kernel and compiled it. I am getting kernel panic when the board boots. Here are the logs -

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #129 SMP PREEMPT Thu Jan 22
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00001211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=a521ddd7-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735828K/3944448K available (10240K kernel code, 335K rwdata, 2876K rodata, 2048K init, 278K bss, 52972K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 336 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000019] Switching to timer-based delay loop, resolution 162ns
    [    0.000296] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000305] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000798] Console: colour dummy device 80x30
    [    0.000842] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000857] pid_max: default: 32768 minimum: 301
    [    0.000985] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000997] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001554] CPU: Testing write buffer coherency: ok
    [    0.001590] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001804] /cpus/cpu@0 missing clock-frequency property
    [    0.001824] /cpus/cpu@1 missing clock-frequency property
    [    0.001837] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059881] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079885] rcu: Hierarchical SRCU implementation.
    [    0.100074] EFI services will not be available.
    [    0.119937] smp: Bringing up secondary CPUs ...
    [    0.200317] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200324] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200447] smp: Brought up 1 node, 2 CPUs
    [    0.200458] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200467] CPU: All CPU(s) started in HYP mode.
    [    0.200475] CPU: Virtualization extensions available.
    [    0.201050] devtmpfs: initialized
    [    0.220743] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.220997] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221016] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.223657] pinctrl core: initialized pinctrl subsystem
    [    0.224185] DMI not present or invalid.
    [    0.224464] NET: Registered protocol family 16
    [    0.225617] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.226565] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.420690] cpuidle: using governor ladder
    [    0.420726] cpuidle: using governor menu
    [    0.431092] OMAP GPIO hardware version 0.1
    [    0.457286] No ATAGs?
    [    0.457359] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.457376] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.458234] OMAP DMA hardware revision 0.0
    [    0.469898] edma 43300000.edma: memcpy is disabled
    [    0.473238] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.480198] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.481060] evm_5v0: supplied by main_12v0
    [    0.484500] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.484681] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.484922] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.485164] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.485543] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.485722] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.486010] iommu: Adding device 58820000.ipu to group 1
    [    0.486096] iommu: Adding device 55020000.ipu to group 2
    [    0.486225] iommu: Adding device 40800000.dsp to group 0
    [    0.486464] iommu: Adding device 41000000.dsp to group 3
    [    0.487636] SCSI subsystem initialized
    [    0.488695] palmas 0-0058: Irq flag is 0x00000008
    [    0.512104] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.513697] SMPS12: supplied by regulator-dummy
    [    0.515368] SMPS3: supplied by regulator-dummy
    [    0.517009] SMPS45: supplied by regulator-dummy
    [    0.518801] SMPS6: supplied by regulator-dummy
    [    0.520205] SMPS7: supplied by regulator-dummy
    [    0.521593] SMPS8: supplied by regulator-dummy
    [    0.522854] SMPS9: supplied by regulator-dummy
    [    0.523532] LDO1: supplied by regulator-dummy
    [    0.531242] LDO2: supplied by regulator-dummy
    [    0.540947] random: fast init done
    [    0.541109] LDO3: supplied by regulator-dummy
    [    0.551111] LDO4: supplied by regulator-dummy
    [    0.561134] LDO5: supplied by regulator-dummy
    [    0.561819] LDO6: supplied by regulator-dummy
    [    0.562511] LDO7: supplied by regulator-dummy
    [    0.563205] LDO8: supplied by regulator-dummy
    [    0.563898] LDO9: supplied by regulator-dummy
    [    0.571152] LDOLN: supplied by regulator-dummy
    [    0.581170] LDOUSB: supplied by regulator-dummy
    [    0.593353] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.594256] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.594871] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.595377] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.595878] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.596097] media: Linux media interface: v0.10
    [    0.596134] videodev: Linux video capture interface: v2.00
    [    0.596210] pps_core: LinuxPPS API ver. 1 registered
    [    0.596220] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.596239] PTP clock support registered
    [    0.596269] EDAC MC: Ver: 3.0.0
    [    0.597037] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.597287] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.597765] Advanced Linux Sound Architecture Driver Initialized.
    [    0.598192] Bluetooth: Core ver 2.22
    [    0.598229] NET: Registered protocol family 31
    [    0.598238] Bluetooth: HCI device and connection manager initialized
    [    0.598252] Bluetooth: HCI socket layer initialized
    [    0.598264] Bluetooth: L2CAP socket layer initialized
    [    0.598303] Bluetooth: SCO socket layer initialized
    [    0.598662] clocksource: Switched to clocksource arch_sys_counter
    [    0.606829] NET: Registered protocol family 2
    [    0.607408] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.607437] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.607475] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.607543] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.607615] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607639] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607765] NET: Registered protocol family 1
    [    0.628205] RPC: Registered named UNIX socket transport module.
    [    0.628215] RPC: Registered udp transport module.
    [    0.628224] RPC: Registered tcp transport module.
    [    0.628232] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.629321] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.629527] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.630503] Initialise system trusted keyrings
    [    0.630644] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.635615] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.646111] NFS: Registering the id_resolver key type
    [    0.646133] Key type id_resolver registered
    [    0.646142] Key type id_legacy registered
    [    0.646181] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.649601] Key type asymmetric registered
    [    0.649614] Asymmetric key parser 'x509' registered
    [    0.649666] bounce: pool size: 64 pages
    [    0.649701] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.649713] io scheduler noop registered
    [    0.649722] io scheduler deadline registered
    [    0.649821] io scheduler cfq registered (default)
    [    0.649832] io scheduler mq-deadline registered
    [    0.649842] io scheduler kyber registered
    [    0.655655] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.660489] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.660895] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.660942] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.660970] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    1.661235] dra7-pcie 51000000.pcie: Phy link never came up
    [    1.661371] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    1.661385] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    1.661398] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    1.661409] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    1.667807] PCI: bus0: Fast back to back transfers disabled
    [    1.673821] PCI: bus1: Fast back to back transfers enabled
    [    1.673886] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    1.673905] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    1.674235] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    1.674366] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    1.675494] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    1.675572] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    1.675725] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    1.678990] vdd_3v3: supplied by regen1
    [    1.679236] aic_dvdd_fixed: supplied by vdd_3v3
    [    1.679306] vtt_fixed: supplied by smps3
    [    1.723792] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    1.727331] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    1.728272] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.894928] console [ttyS2] enabled
    [    2.900636] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.901166] random: crng init done
    [    2.931229] tpm tpm0: starting up the TPM manually
    [    2.994283] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    3.001403] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    3.013506] panel-simple display: display supply power not found, using dummy regulator
    [    3.021651] panel-simple display: Linked as a consumer to regulator.0
    [    3.036376] brd: module loaded
    [    3.045790] loop: module loaded
    [    3.053190] libphy: Fixed MDIO Bus: probed
    [    3.118727] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    3.126421] libphy: 48485000.mdio: probed
    [    3.134858] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    3.144578] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    3.154834] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:5e:fa
    [    3.161467] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    3.167851] cpsw 48484000.ethernet: ALE Table size 1024
    [    3.173171] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    3.181181] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:5e:fb
    [    3.189605]  DEBUG: keypad irq = 102
    [    3.193202] 
    [    3.193202] DEBUG: Autorepeat disabled 
    [    3.198882] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    3.240684] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    3.280649] rtc-ds1307 2-006f: registered as rtc0
    [    3.288295] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    3.301377] i2c /dev entries driver
    [    3.308361] gpio-fan gpio_fan: GPIO fan initialized
    [    3.316671] cpu cpu0: Linked as a consumer to regulator.6
    [    3.322195] cpu cpu0: Linked as a consumer to regulator.29
    [    3.329913] sdhci: Secure Digital Host Controller Interface driver
    [    3.336116] sdhci: Copyright(c) Pierre Ossman
    [    3.341137] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.347479] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    3.356332] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    3.361149] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    3.368174] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.375056] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    3.381696] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    3.388606] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.395553] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    3.428735] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    3.436971] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.443805] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    3.450590] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.481452] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    3.489480] ledtrig-cpu: registered to indicate activity on CPUs
    [    3.500030] Unable to handle kernel NULL pointer dereference at virtual address 00000014
    [    3.508244] pgd = ad70de63
    [    3.511083] [00000014] *pgd=80000080004003, *pmd=00000000
    [    3.516612] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
    [    3.522117] Modules linked in:
    [    3.525185] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.94-gbe5389fd85 #129
    [    3.532434] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    3.538555] PC is at aic3xxx_i2c_probe+0x10/0x11c
    [    3.543283] LR is at i2c_device_probe+0x24c/0x26c
    [    3.548003] pc : [<c08b72cc>]    lr : [<c07d4088>]    psr: 60000013
    [    3.554293] sp : ef88bd58  ip : ef88bd80  fp : ef88bd7c
    [    3.559536] r10: 00000000  r9 : c1247014  r8 : 00000000
    [    3.564778] r7 : efbd0a00  r6 : c1247014  r5 : c08b72bc  r4 : efbd0a20
    [    3.571329] r3 : c0c9750c  r2 : 00000074  r1 : 00000000  r0 : efbd0a00
    [    3.577881] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [    3.585043] Control: 30c5387d  Table: 80003000  DAC: fffffffd
    [    3.590810] Process swapper/0 (pid: 1, stack limit = 0xd2d585ce)
    [    3.596838] Stack: (0xef88bd58 to 0xef88c000)
    [    3.601208] bd40:                                                       ef88bd7c ef88bd68
    [    3.609418] bd60: efbd0a20 c08b72bc c1247014 efbd0a00 ef88bda4 ef88bd80 c07d4088 c08b72c8
    [    3.617627] bd80: c1290258 efbd0a20 c129025c 00000000 00000000 c1247014 ef88bdd4 ef88bda8
    [    3.625836] bda0: c06d6680 c07d3e48 00000000 efbd0a20 c1247014 efbd0a54 c06d69f8 00000000
    [    3.634045] bdc0: c104b834 c105f738 ef88be0c ef88bdd8 c06d68e0 c06d6488 efbd0a00 c1247014
    [    3.642255] bde0: c1247014 c06d69f8 efbd0a20 c1247014 efbd0a54 c06d69f8 00000000 c104b834
    [    3.650464] be00: ef88be2c ef88be10 c06d6aec c06d6884 efbbae34 c1204c48 c1247014 c06d69f8
    [    3.658673] be20: ef88be5c ef88be30 c06d474c c06d6a04 ef88be68 efa02c58 efbbae34 69dac049
    [    3.666883] be40: c1247014 c1240040 eed15700 00000000 ef88be6c ef88be60 c06d5fb8 c06d46dc
    [    3.675093] be60: ef88be94 ef88be70 c06d5a30 c06d5fa0 c0e6bf80 ef88be80 c1247014 c1204c48
    [    3.683302] be80: ffffe000 c1036fec ef88beac ef88be98 c06d74bc c06d5878 c1246ff8 c1204c48
    [    3.691512] bea0: ef88bec4 ef88beb0 c07d3b48 c06d744c c1254000 c1204c48 ef88bed4 ef88bec8
    [    3.699721] bec0: c1037008 c07d3b10 ef88bf4c ef88bed8 c02025b8 c1036ff8 00000000 c0de1714
    [    3.707930] bee0: c0de16f4 c0de1700 c0ded67c c1204c48 00000000 c0de16cc 00000006 00000006
    [    3.716138] bf00: 00000000 c0e48b40 c10004f0 c0ecd144 ef88bf34 eff690c4 00000000 69dac049
    [    3.724347] bf20: 00000000 69dac049 c1254000 00000007 c1254000 c1254000 c10004f0 c104b854
    [    3.732556] bf40: ef88bf94 ef88bf50 c1000fe8 c0202540 00000006 00000006 00000000 c10004f0
    [    3.740765] bf60: c0ecd144 000000e9 ffffe000 00000000 c0a77488 00000000 00000000 00000000
    [    3.748974] bf80: 00000000 00000000 ef88bfac ef88bf98 c0a77498 c1000e30 00000000 c0a77488
    [    3.757183] bfa0: 00000000 ef88bfb0 c02010d8 c0a77494 00000000 00000000 00000000 00000000
    [    3.765392] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.773600] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [    3.781807] Backtrace: 
    [    3.784264] [<c08b72bc>] (aic3xxx_i2c_probe) from [<c07d4088>] (i2c_device_probe+0x24c/0x26c)
    [    3.792823]  r7:efbd0a00 r6:c1247014 r5:c08b72bc r4:efbd0a20
    [    3.798508] [<c07d3e3c>] (i2c_device_probe) from [<c06d6680>] (really_probe+0x204/0x2c0)
    [    3.806631]  r9:c1247014 r8:00000000 r7:00000000 r6:c129025c r5:efbd0a20 r4:c1290258
    [    3.814406] [<c06d647c>] (really_probe) from [<c06d68e0>] (driver_probe_device+0x68/0x180)
    [    3.822703]  r10:c105f738 r9:c104b834 r8:00000000 r7:c06d69f8 r6:efbd0a54 r5:c1247014
    [    3.830562]  r4:efbd0a20 r3:00000000
    [    3.834151] [<c06d6878>] (driver_probe_device) from [<c06d6aec>] (__driver_attach+0xf4/0xf8)
    [    3.842621]  r9:c104b834 r8:00000000 r7:c06d69f8 r6:efbd0a54 r5:c1247014 r4:efbd0a20
    [    3.850395] [<c06d69f8>] (__driver_attach) from [<c06d474c>] (bus_for_each_dev+0x7c/0xbc)
    [    3.858604]  r7:c06d69f8 r6:c1247014 r5:c1204c48 r4:efbbae34
    [    3.864284] [<c06d46d0>] (bus_for_each_dev) from [<c06d5fb8>] (driver_attach+0x24/0x28)
    [    3.872318]  r7:00000000 r6:eed15700 r5:c1240040 r4:c1247014
    [    3.877999] [<c06d5f94>] (driver_attach) from [<c06d5a30>] (bus_add_driver+0x1c4/0x208)
    [    3.886036] [<c06d586c>] (bus_add_driver) from [<c06d74bc>] (driver_register+0x7c/0x110)
    [    3.894158]  r7:c1036fec r6:ffffe000 r5:c1204c48 r4:c1247014
    [    3.899840] [<c06d7440>] (driver_register) from [<c07d3b48>] (i2c_register_driver+0x44/0x88)
    [    3.908310]  r5:c1204c48 r4:c1246ff8
    [    3.911900] [<c07d3b04>] (i2c_register_driver) from [<c1037008>] (aic3xxx_i2c_driver_init+0x1c/0x20)
    [    3.921068]  r5:c1204c48 r4:c1254000
    [    3.924658] [<c1036fec>] (aic3xxx_i2c_driver_init) from [<c02025b8>] (do_one_initcall+0x84/0x1b0)
    [    3.933566] [<c0202534>] (do_one_initcall) from [<c1000fe8>] (kernel_init_freeable+0x1c4/0x258)
    [    3.942297]  r8:c104b854 r7:c10004f0 r6:c1254000 r5:c1254000 r4:00000007
    [    3.949028] [<c1000e24>] (kernel_init_freeable) from [<c0a77498>] (kernel_init+0x10/0x11c)
    [    3.957325]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0a77488
    [    3.965183]  r4:00000000
    [    3.967725] [<c0a77488>] (kernel_init) from [<c02010d8>] (ret_from_fork+0x14/0x3c)
    [    3.975322] Exception stack(0xef88bfb0 to 0xef88bff8)
    [    3.980391] bfa0:                                     00000000 00000000 00000000 00000000
    [    3.988600] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    3.996809] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    4.003447]  r5:c0a77488 r4:00000000
    [    4.007034] Code: e1a0c00d e92dd8f0 e24cb004 e24dd008 (e5912014) 
    [    4.014243] ---[ end trace 00c724385c07474c ]---
    [    4.019006] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [    4.019006] 
    [    4.028181] CPU1: stopping
    [    4.030900] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D           4.19.94-gbe5389fd85 #129
    [    4.039544] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    4.045659] Backtrace: 
    [    4.048117] [<c020ca34>] (dump_backtrace) from [<c020cd6c>] (show_stack+0x18/0x1c)
    [    4.055716]  r7:ef8c1f08 r6:60000193 r5:00000000 r4:c12508ec
    [    4.061399] [<c020cd54>] (show_stack) from [<c0a63184>] (dump_stack+0x9c/0xb0)
    [    4.068652] [<c0a630e8>] (dump_stack) from [<c020f6b8>] (handle_IPI+0x1b0/0x1dc)
    [    4.076076]  r7:ef8c1f08 r6:00000001 r5:00000000 r4:c1066cfc
    [    4.081761] [<c020f508>] (handle_IPI) from [<c056e2a8>] (gic_handle_irq+0x7c/0x80)
    [    4.089360]  r6:fa212000 r5:fa21200c r4:c1205104
    [    4.093996] [<c056e22c>] (gic_handle_irq) from [<c02019f8>] (__irq_svc+0x58/0x8c)
    [    4.101506] Exception stack(0xef8c1f08 to 0xef8c1f50)
    [    4.106576] 1f00:                   00000000 000007e8 eff5c50c c021ab60 ffffe000 c1204c7c
    [    4.114785] 1f20: c1204cc4 00000002 00000000 00000000 c10664f0 ef8c1f64 ef8c1f68 ef8c1f58
    [    4.122992] 1f40: c0208ea8 c0208eac 60000013 ffffffff
    [    4.128063]  r9:ef8c0000 r8:00000000 r7:ef8c1f3c r6:ffffffff r5:60000013 r4:c0208eac
    [    4.135840] [<c0208e6c>] (arch_cpu_idle) from [<c0a7d1dc>] (default_idle_call+0x30/0x34)
    [    4.143965] [<c0a7d1ac>] (default_idle_call) from [<c025a9a8>] (do_idle+0x204/0x2ac)
    [    4.151739] [<c025a7a4>] (do_idle) from [<c025ad3c>] (cpu_startup_entry+0x20/0x24)
    [    4.159339]  r10:00000000 r9:412fc0f2 r8:80007000 r7:c1254290 r6:00000001 r5:ef8c0000
    [    4.167197]  r4:00000087
    [    4.169739] [<c025ad1c>] (cpu_startup_entry) from [<c020f25c>] (secondary_start_kernel+0x174/0x180)
    [    4.178821] [<c020f0e8>] (secondary_start_kernel) from [<8020236c>] (0x8020236c)
    [    4.186245]  r7:c1254290 r6:30c0387d r5:00000000 r4:af875180
    [    4.191931] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [    4.191931]  ]---

    I am using the same DTS setting that I had sent before.

    Please check.

    Regards,

    Devashish

  • Hi

    [    3.924658] [<c1036fec>] (aic3xxx_i2c_driver_init) from [<c02025b8>] (do_one_initcall+0x84/0x1b0)

    Could you advise where is "aic3xxx_i2c_driver_init"?

  • Hi,

    I searched this in my Linux kernel but didn't find it's definition or declaration.

    //Inside Linux kernel directory
    grep -r "aic3xxx_i2c_driver_init" *
    
    
    Binary file sound/soc/codecs/aic326x/tlv320aic3xxx-i2c.o matches
    System.map:c1036fec t aic3xxx_i2c_driver_init
    System.map:c105f734 t __initcall_aic3xxx_i2c_driver_init6
    Binary file vmlinux matches
    Binary file vmlinux.o matches
    

    I don't know how this is coming in the kernel panic trace.

    Kindly acknowledge.

    Regards,

    Devashish

  • Hi 

    As there's no aic3xxx_i2c_driver_init in the new driver code,so I am not sure how it goes to the kernel panic trace.

    I suggest you delete all the old code file and related config items,make file etc and use the new ones to try.

    In order to support both 32-bit and 64-bit Linux system. The firmware-parsing code in drive has been rewritten.

    0385.tlv320aic3262.7z