Мне нужно установить драйвер на Ubuntu с этим руководством , но у меня возникли некоторые проблемы с некоторыми его частями.
Ниже приведено определение, которое будет добавлено в файл определения платформы:
Я использую Ubuntu 18.04 и копаюсь там, где может быть файл данных платформы. находится и я увидел /lib/modules/$(uname -r)/build/include/linux/platform_data/nxp-nci.h.
Это правильный файл определения платформы?
pn5xx_i2c.h должен быть включен в файл определения платформы
Поскольку в инструкции была часть, в которой говорится, что «файл pn5xx_i2c.h должен быть скопирован для включения подпапки ядра ядра / linux», для этого я просто сослался на файл pn5xx_i2c.h в файле nxp-nci.h, добавив:
#include<linux/pn5xx_i2c.h>
Затем объявленная структура nfc_board_info должна быть добавлена к платформе с помощью специальной процедуры (специфичной для платформы).
Насколько я понимаю, мне пришлось бы отредактировать эту часть кода:
static struct i2c_board_info __initdata nfc_board_info[] = {
{
I2C_BOARD_INFO("pn547", 0x28),
.platform_data = &nfc_pdata,
},
};
, которую я добавил в файл nxp-nci.h, и изменить 0x28 на мою платформу.
Предполагая, что я выполнил эту часть правильно, должен быть создан узел устройства /dev/pn544
, который я могу проверить, запустив cd /dev/
и ls
. Однако в папке my / dev нет устройства pn544, поэтому в одном из процессов должно быть что-то не так.
Я также попытался использовать дерево устройств, как было предложено здесь , , но я не нашел никаких файлов .dts из папки /lib/modules/$(uname -r)/build/arch/arm/boot/dts
. Мне также сказали, что это может быть неприменимо, потому что мой компьютер не является устройством Linux на основе ARM.
Я пропустил процесс или это была проблема совместимости NFC с Ubuntu?