AnsweredAssumed Answered

Yocto - enable AD7298 with IIO on imx6ul

Question asked by Ryan Shuttleworth on Jul 5, 2017
Latest reply on Jul 5, 2017 by igorpadykov

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.

Outcomes