Enable AD7298 with IIO on imx6ul with Yocto

Hello all. I am trying, unsuccessfully, to enable an IIO driver, AD7298 ADC on an imx6ul using Yocto.  To do this I am using a pattern that has been successful for activating and deactivating other kernel features:

 

Recipe (liunux-imx_%.bbappend):


FILESEXTRAPATHS_prepend := "${THISDIR}:/files:"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI += "file://kernel-features.cfg"


do_configure_append() {
        cat ../*.cfg >> ${B}/.config
}

Cfg. File (kernel-features.cfg):

CONFIG_AD7298=y

However, when I attempt this for the AD7298 I get the following error:


| NOTE: make -j 2 zImage CC=arm-poky-linux-gnueabi-gcc   LD=arm-poky-linux-gnueabi-ld.bfd   LOADADDR=0x10008000
|   GEN     /home/colby/fsl-release-bsp/build/tmp/work/imx6ulevk_koala_bb_512-poky-linux-gnueabi/linux-imx/3.14.52-r0/build/Makefile
| scripts/kconfig/conf --silentoldconfig Kconfig
|
| .config:4167:warning: override: reassigning to symbol AD7298
| *
| * Restart config...
| *
| *
| * Accelerometers
| *
| Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer (ADIS16201) [N/m/y/?] n
| Analog Devices ADIS16203 Programmable 360 Degrees Inclinometer (ADIS16203) [N/m/y/?] n
| Analog Devices ADIS16204 Programmable High-g Digital Impact Sensor and Recorder (ADIS16204) [N/m/y/?] n
| Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer (ADIS16209) [N/m/y/?] n
| Analog Devices ADIS16220 Programmable Digital Vibration Sensor (ADIS16220) [N/m/y/?] n
| Analog Devices ADIS16240 Programmable Impact Sensor and Recorder (ADIS16240) [N/m/y/?] n
| ST Microelectronics LIS3L02DQ Accelerometer Driver (LIS3L02DQ) [N/m/y/?] n
| VTI SCA3000 series accelerometers (SCA3000) [N/m/y/?] (NEW) aborted!
|
| Console input/output is redirected. Run 'make oldconfig' to update configuration.
|
| make[4]: *** [silentoldconfig] Error 1
| make[3]: *** [silentoldconfig] Error 2
| make[2]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
| make[1]: *** [sub-make] Error 2
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/colby/fsl-release-bsp/build/tmp/work/imx6ulevk_koala_bb_512-poky-linux-gnueabi/linux-imx/3.14.52-r0/temp/log.do_compile.98577)
ERROR: Task 76 (/home/colby/fsl-release-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx_3.14.52.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3456 tasks of which 3449 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
No currently running tasks (3456 of 3505)

I have tried adding "inherit autotools gettext" to the recipe which results in the error above going away only to be followed by a new error:

| NOTE: make -j 2 zImage CC=arm-poky-linux-gnueabi-gcc   LD=arm-poky-linux-gnueabi-ld.bfd   LOADADDR=0x10008000
| make: *** No rule to make target `zImage'.  Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/colby/fsl-release-bsp/build/tmp/work/imx6ulevk_koala_bb_512-poky-linux-gnueabi/linux-imx/3.14.52-r0/temp/log.do_compile.128287)

I have searched extensively for insight into both issues but have so come up empty handed and the log files mentioned in the error messages are essentially a copy of what is printed.  So, my questions are:

- What is the correct procedure for enabling the AD7298 IIO driver for the imx6ul in Yocto?

- Why does the above procedure work for other kernel features and not this one?

Any insight would be greatly appreciated, thanks.

Parents
  • 0
    •  Analog Employees 
    on Jul 13, 2017 7:34 AM over 3 years ago

    Hi,

    I'm sorry, I'm not too familiar with Yocto. I can't really say anything beyond what is in the manuals. The AD7298 driver is not special in any regards and enabling it should work like any other driver.

    What you are seeing in you log is that the kernel has an symbol that is not configured in the configuration and hence asks for user input on whether the symbol should be enabled or not. But that doesn't work because it is not an interactive session, which is why it aborts. You could try to manual add the missing symbol (SCA3000) to your config as a workaround and see if that works.

    - Lars

Reply
  • 0
    •  Analog Employees 
    on Jul 13, 2017 7:34 AM over 3 years ago

    Hi,

    I'm sorry, I'm not too familiar with Yocto. I can't really say anything beyond what is in the manuals. The AD7298 driver is not special in any regards and enabling it should work like any other driver.

    What you are seeing in you log is that the kernel has an symbol that is not configured in the configuration and hence asks for user input on whether the symbol should be enabled or not. But that doesn't work because it is not an interactive session, which is why it aborts. You could try to manual add the missing symbol (SCA3000) to your config as a workaround and see if that works.

    - Lars

Children
No Data