Hi Lars,
On 10/22/21 11:06 AM, Lars-Peter Clausen wrote:
Ok, that's a bit odd that it works with the MPSoC controller. What I'd
do is check `/sys/bus/spi/devices/`. Your device will be there even if
driver has not been loaded. And then check the `modalias` and `uevent`
files of the device. Check if those files look different when using
your controller vs. the MPSoC.
I checked these files after my system boot and with my custom controller:
root@star-module:/sys/bus/spi/devices/spi1.0# cat modalias
spi:ltc6951
root@star-module:/sys/bus/spi/devices/spi1.0# cat uevent
OF_NAME=ltc6951
OF_FULLNAME=/amba_pl@0/spi_ctrl@80020000/ltc6951@0
OF_COMPATIBLE_0=adi,ltc6951
OF_COMPATIBLE_N=1
MODALIAS=spi:ltc6951
Then have to do a manual modprobe of my ltc6951:
root@star-module:/sys/bus/spi/drivers# modprobe ltc6951
[ 643.347655] probe ltc6951 driver ok
and after that one it finally pops up here:
root@star-module:/sys/bus/spi/drivers/ltc6951# ls
bind module spi1.0 uevent unbind
and also shows up here:
root@star-module:/sys/bus/spi/drivers# ls
at25 ltc6951 max310x mtd_dataflash spi-nor wl1271_spi
and pops up as an iio device:
root@star-module:/sys/bus/spi/devices/spi1.0# ls
driver iio:device1 of_node statistics uevent
driver_override modalias power subsystem
So I believe it isn't an issue with MODALIASs right? I still wonder if
it has to do with the fact that both drivers are out of tree modules and
not compiled in my linux kernel ?
That is not the case with the default Zynq MPSoc Cadence controller
because that driver is compiled statically in the kernel.
Regards
Henk