У меня есть проект встроенного Linux, работающего на SoC NXP Imx6, и я пытаюсь использовать его SPI. Поскольку нет драйвера, поддерживающего как ведущий, так и подчиненный режим, я сначала попытался справиться с этим сам из пользовательского пространства. Я использовал mmap для доступа к регистрам SPI, но когда я пытаюсь прочитать/записать их с помощью mmap, система зависает, и мне приходится перезагружаться. Затем я сделал то же самое в пользовательском драйвере spi-imx, но мне нужно дождаться прибытия драйвера в функцию spi_imx_transfer, чтобы получить доступ к регистрам.
Я новичок в управлении устройствами Linux, поэтому удивляюсь, почему с помощью того же метода я могу получить доступ к регистрам других устройств, но не к SPI. Почему Linux зависает, когда я пытаюсь прочитать эти регистры? Можно ли читать или записывать их из пользовательского пространства или ранее в моем драйвере устройства?
Есть ли способ разрешить (или разблокировать?) доступ к регистрам?
Любой совет приветствуется.