Есть такой вопрос по работе с spidev:
Добавил в файл mx53_loco.c следующую структуру
{
.modalias = "spidev",
.max_speed_hz = 1000 * 1000,
.bus_num = 0,
.chip_select = 0,
.platform_data = NULL,
.mode = SPI_MODE_1,
},
В итоге в /dev появилось устройство spidev0.0. Но при обращении к данному устройству данные выдаются на пины, которые заданы для spi0_gpio, а не на те, которые соответствуют CSPI0 у процессора.
Это так и должно быть или здесь есть какая-то ошибка?
И по самим передаваемым данным есть тоже проблема: клок сигнал есть, а вот сигнала с данными почему-то нету.
Не подскажете возможную причину?
По большому счету мне без разницы через чего выводится.
Непонятно тогда почему через spi_gpio клок сигнал есть, а данных нет? Я то как раз думал, что дело именно в spi_gpio.
Но в итоге в /dev устройство spidev не появляется. Через spi_gpio проверил, клок сигнал есть, все отлично работает. Подумал, что проблема в конфликте с тачскрином - убрал все упоминания о нём из mx53_loco.c, кроме структуры и строки
spi_register_board_info(mxc_ts_device, ARRAY_SIZE(mxc_ts_device));
Но это тоже не помогло. Подскажите, пожалуйста, в чем может быть проблема?
Большое спасибо. Сегодня наконец-то добрался до платы:
Cделал как вы сказали по аналогии с mx53_evk.c, spidev появился, но только после включения
#CONFIG_SPI_MXC = y
но клок сигнала на выводах нету, и появился только spidev1.0. Буду дальше смотреть.
По чипселектам точно индийские танцы, по крайней мере в mx53_ard.c обходятся без них.