Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Процессорные модули » SK-A40i-SODIMM
Драйвер SPI для A40I отсутствует в buildroot
tdv linsys
Добавлено 22.05.2023 18:49
0
Сообщение: 1
tdv linsys
0

Пункты: 85
Регистрация: 22.05.2023
Запускаем плату SK-A40I-SODIMM.
Необходим включить SPI на канале spi1.
В buildroot на скаченной виртульной машине драйвер SPI
для процессора A40I отсутствует.

Где можно скачать драйвер и пример его настройки.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.05.2023 19:40 Сообщение: 2
sasamy
4.70

Пункты: 76968
Регистрация: 14.08.2009
Цитата

Запускаем плату SK-A40I-SODIMM.
Необходим включить SPI на канале spi1.


драйвер spi включен в ядре

Цитата

пример его настройки


драйверы Linux работают в ядре, надо описать нужное устройстве в DT, есть опциональная возможность управлять spi из юзерспейс, для этого надо описать драйвер для трансляции запросов из юзерспейс

http://starterkit.ru/html/index.php?name=forum&op=view&id=29807#31319

и включить его в ядре

make linux-menuconfig

Device Drivers --->
[*] SPI support --->
<*> User mode SPI device driver support
Спуститься к концу Подняться к началу
Персональная информация
tdv linsys
Добавлено 23.05.2023 08:50 Сообщение: 3
tdv linsys
0

Пункты: 85
Регистрация: 22.05.2023
Все данные рекомендации были выполнены .

Драйвер spidev включается, только если активировать в ядре "Allwinner A31 SPI controller".

Что соответствует подключению драйвера процессора A31 - файл spi-sun6i.c.

В исходниках \drivers есть только 2 драйвера для Allwinner spi-sun6i.c и spi-sun4i.c . Это для других серий процессоров.

Для A40I файла нет.

Соответственно в таком варианте использования уже при загрузке не подключаются DMA :
[ 2.710685] sun6i-spi 1c06000.spi: Failed to request TX DMA channel
[ 2.716975] sun6i-spi 1c06000.spi: Failed to request RX DMA channel


Где скачать драйвер для sun8i (a40i) и как его правильно подключить.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.05.2023 10:17 Сообщение: 4
sasamy
4.70

Пункты: 76968
Регистрация: 14.08.2009
Цитата

Для A40I файла нет.


у a40i такой же spi контроллер как у "A31 - файл spi-sun6i.c." - он включен в конфиге, собирается и прописан в DT. Почему не используется dma не могу сказать - драйвер dma есть но для spi каналы dma не описаны.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.05.2023 14:18 Редактировалось 31.05.2023 14:18 Сообщение: 5
sasamy
4.70

Пункты: 76968
Регистрация: 14.08.2009
Цитата
Почему не используется dma не могу сказать - драйвер dma есть но для spi каналы dma не описаны.


Попробовал дописать dma для spi1 - вроде работает, данные принимает те же что и отправляет, прерывание одно вместо нескольких сотен на тесте. Для включения dma допишите выделенный текст в файле

buildroot-2022.08.4-sk-a40i/output/build/linux-custom/arch/arm/boot/dts/sun8i-r40.dtsi

Цитата

spi1: spi@1c06000 {
compatible = "allwinner,sun8i-r40-spi",
"allwinner,sun8i-h3-spi";
reg = <0x01c06000 0x1000>;
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
clock-names = "ahb", "mod";
resets = <&ccu RST_BUS_SPI1>;
status = "disabled";

dmas = <&dma 25>, <&dma 25>;
dma-names = "rx", "tx";

#address-cells = <1>;
#size-cells = <0>;
};
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-A40i-SODIMM