AnsweredAssumed Answered

linux kernel: what imx6-specific code is called with gpio_set_value()?

Question asked by Ed Sutter on Apr 18, 2018
Latest reply on Apr 18, 2018 by Ed Sutter

I am debugging an issue on an imx6dl based system running a relatively old kernel/uboot.  I have a device tied to ecspi5 that works as expected, but I just noticed that the first access to this device corrupts a few -other- bits in a GPIO data register.  In the process of debugging this, I see that spi_imx_chipselect() (in {KERNEL}/devices/spi/spi-imx.c) calls gpio_set_value() and it appears that it is this call that mucks up a few other bits in GPIO1_DR.

I'm not really sure if my problem is in my device tree or possibly just an issue with my kernel.

So, right now I'm just trying to figure out what device-specific code is actually called below gpio_set_value() that actually sets the chipselect bit used with SPI.  I'm hoping to find a problem there (but not sure)...

Any thoughts?

Ed

 

PS... If there are any good documents on device tree and IMX6 specifics, I could use a pointer to that as well.

Outcomes