I2c device probe not getting called

Hi

I am trying to integrate mma8452 acclerometer to jetson nano through gpio header.

I have added the driver to kernel image(not as module).

I have added the dts entries as below:
i2c@7000c400 {
e2614_mma8452: mma8452@1d {
compatible = “fsl,mma8452”;
reg = <0x1d>;
status = “disabled”;
};
};

fragment-e2614-common@0 {
overrides@13 {
target = <&e2614_mma8452>;
overlay {
status = “okay”;
};
};
};

I am able to flash image and dtb properly, verified the same in /proc/device-tree/.

But the driver probe is not getting called.

Is there anything i am missing?
I added the device tree entry based on other driver entry, i am unsure if it is correct to put entries in e2614.
Please suggest me how i can debug further.

Additionally i am able to detect the i2c device slave address using below i2cdetect command

i2cdetect -r -y 1

so hardware connection is proper.

By the way i am using Jetpack 32.3.1. it’s bit old but right now i don’t have choice

Thanks
rps

there should be mma8452 driver, did you also modify the kernel config to enable this acclerometer ?

Hi @JerryChang

Yes, i did that as well.

I have included config using menuconfig and built the kernel image. And verified it is getting built. I built as part of kernel image only not as modules.

Thanks,
rps

Hi,

Got this issue solved, the status flag set as override in dts was not affecting the driver status.

Changed the status in main entry itself.

Thanks
rps

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.