[Sensors] [DB820c] Using Accel/Gyro Sensor in Linux


I am using latest OpenEmbedded Release on DragonBoard820c(p4).
Release: http://snapshots.linaro.org/96boards/dragonboard820c/linaro/openembedded/rocko/latest/rpb/1

root@dragonboard-820c:~# uname -a
Linux dragonboard-820c 4.11.12+linaro #1 SMP PREEMPT Thu Mar 22 03:17:34 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

Issue :
According to the schematics of DB820cp4, it seems that accel/gyro and magnetometer sensors can either be connected on SSC I2C or BLSP I2C. I believe that resistors on BLSP I2C connections are DNI which means that sensors are connected to SSC I2C. Kindly Confirm the connection?

Incase sensors are connected to SSC, Can you please let us know how can we access them?


in the current version of the boards (up to P4) the sensors are indeed connected to the SSC I2C. The board can be reworked to route them to the BLSP I2C instead. In future rev of the board (P5 and beyond), they will be routed by default to BLSP I2C.

Thanks for the reply,

  1. Is it possible to access sensors on SSC I2C without doing rework in the current Linaro/Open Embedded release?
  2. Is any mechanism available in kernel such that we can access SSC I2C from application processor(same as accessing BLSP I2C)?


sorry, I should have mentioned that in my answer… There is currently no software available to use sensors from SSC, the Linaro releases, and we are not planning to do that work yet (and it’s not very clear how the QCOM specific API on SSC would integrate with existing Linux drivers for sensor). I don’t even remember if the SSC firmware is included in the QCOM firmware release.

i confirm that SSC firmware are not included in the firmware package from Qualcomm on QDN for DB820c. So basically with the existing release and firmware, it’s just not possible to use SSC.

Hi @anon91830841 @krupal

I am looking for the same SSC driver support. In Android releases from QDN i found that SLPI_PROC is used to handle that driver.
Can you suggest ways to add such similar support in Debian releases ?

Yash M J

If your main objective is just to use those sensors, your much easier option would be to move some 0R’s on the board in order to switch them onto working i2c busses. The board layout is such that they can be moved easily. Though if it was me, I’d use the “solder blob” approach rather than trying to stick the tiny 0R’s into a different spot. Check the schematics and the assembly files to locate the appropriate points on the board.