As per i.MX6ULL schematic, eCompass MAG3110FCR2 sensor is attached to i2c bus.
Release Notes https://www.nxp.com/docs/en/release-note/i.MX_Linux_Release_Notes.pdf page#20
"Supports the MAG3110FCR2 sensor on i.MX 6 boards.
Supports the FXLS8471 sensor on i.MX 6UltraLite EVK board.
Supports MPL3115A2, FXOS8700CQR1, and FXAS21002CQR1 sensors on all thei.MX 7 boards
By this we get an impression that MAG3110FCR2 sensor is supported on all i.MX boards mentioned in supported boards section which includes i.MX6ULL.
Now in reference Manual https://www.nxp.com/docs/en/reference-manual/i.MX_Reference_Manual_Linux.pdf page# 19 , it is stated that:
" i.MX supports magnetometer sensors for the following SoC:
i.MX 6 SABRE, 6SoloLite, and 6SoloX supports the MAG3110FCR2 sensor.
i.MX 6UltraLite EVK supports the FXLS8471 sensor.• i.MX 7Dual supports the MPL3115A2, FXOs8700CQR1 and FXAS21002CQR1sensors."
in boot logs we get:
root@imx6ull14x14evk:~# dmesg | grep mag
[ 1.919010] mag3110 0-000e: 0-000e supply vdd not found, using dummy regulator
[ 1.927356] mag3110 0-000e: 0-000e supply vddio not found, using dummy regulator
[ 1.935043] mag3110 0-000e: check mag3110 chip ID
[ 1.940226] mag3110 0-000e: read chip ID 0xfffffffa is not equal to 0xc4!
[ 1.947419] mag3110: probe of 0-000e failed with error -22
Am i missing something? Is mag3110 supported on i.MX6ull?
if it is supported, could you please point out why is it reading the wrong CHIP id?
@igorpadykovthanks for the reply.
This document is about i.MX6UL. Following this document, I configured kernel configurations to add SENSORS_MAG3110 and SENSOR_FXLS8471
And then tried enabling sensors.
root@imx6ull14x14evk:~# echo 1 > /sys/devices/virtual/input/input3/enable -sh: /sys/devices/virtual/input/input3/enable: No such file or directory
However i am able to enable FXLS8471Q Accelerometer and read it's data.
So, the questions are
U1302 MAG3110 in included on SPF-28616_C1.pdf schematic p.8
@igorpadykovthanks a lot.
So, it is established that MAG3110 sensor is present and supported .. Am i right in my conclusion?
If yes, Could you please guide me, why is it giving the wrong chip ID?
[ 1.929618] mag3110 0-000e: read chip ID 0xfffffffa is not equal to 0xc4!
How can we make this work?