Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
yocto не могу создать spidevX.X
goodman
Добавлено 18.02.2022 15:41
0
Сообщение: 1
goodman
0

Пункты: 185
Регистрация: 18.02.2022
Пол: Мужчина
Добрый день. Очень нужен совет.
Есть готовое ПО которое сейчас работает на распберри, моя задача проверить его работу с spi и прочим на стартерките.
Перепробовал уже много разных советов, сейчас остановился на этом этапе:
Через bitbake -c menuconfig virtual/kernel включил user mode spi driver support,
в imx8mmsk-yocto-bsp-4.14.98/build/tmp/work-shared/sk-imx8mm-mipi/kernel-source/arch/arm64/boot/dts/freescale/fsl-imx8dxp.dtsi
для ecspi1: ecspi@30820000 поставил "okay" и добавил
spidev0: spi@0 {
reg = <0>;
compatible = "spidev";
spi-max-frequency = <500000>;
status = "okay";
};


Не появляется spidev и все тут(
в /sys/class есть spidev, spi_master и spi_slave. в dmesg только "spi_imx 30820000.ecspi: probed"
Я понимаю что делаю что-то не то или не там, но вот где и что незнаю (прошу отнестись с пониманием т.к. электроникой и собиранием линукса никогда не занимался.)

плата: SK-iMX8Mini-MOD + SK-iMX8Mini-MB-LCD
Спасибо.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.02.2022 09:34 Сообщение: 2
sasamy
4.71

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

плата: SK-iMX8Mini-MOD + SK-iMX8Mini-MB-LCD


для этой платы исправлять нужно

imx8mmsk-yocto-bsp-4.14.98/build/tmp/work-shared/sk-imx8mm-mipi/kernel-source/arch/arm64/boot/dts/freescale/sk-imx8mm-mb-mipi.dts

секция ecspi1

&ecspi1 {
#address-cells = <1>;
#size-cells = <0>;
fsl,spi-num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1>;
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
status = "okay";

spidev0: spi@0 {
reg = <0>;
compatible = "spidev";
spi-max-frequency = <500000>;
status = "okay";
};

};
Спуститься к концу Подняться к началу
Персональная информация
goodman
Добавлено 21.02.2022 14:40 Сообщение: 3
goodman
0

Пункты: 185
Регистрация: 18.02.2022
Пол: Мужчина
Спасибо за ответ.
1. В пятницу вечером досмотрелся, что пишу не в ту секцию файла fsl-imx8dxp.dtsi. Я писал в ecspi1(spi0) а надо было в ecspi2(spi1). В итоге spidev1.0 появился но не заработал.

2. Сегодня утром по совету sasamy пересобрал с изменениями в sk-imx8mm-mb-mipi.dts. spidev1.0 появился но опять же не работает.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.02.2022 19:48 Сообщение: 4
sasamy
4.71

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

1. В пятницу вечером досмотрелся, что пишу не в ту секцию файла fsl-imx8dxp.dtsi. Я писал в ecspi1(spi0) а надо было в ecspi2(spi1). В итоге spidev1.0 появился но не заработал.


fsl-imx8dxp.dtsi не имеет никакого отношения к платам starterkit, он от другого процессора, что бы вы там не написали это никак не влияет если у вас действительно местная плата

Цитата

2. Сегодня утром по совету sasamy пересобрал с изменениями в sk-imx8mm-mb-mipi.dts. spidev1.0 появился но опять же не работает.


после испраления должно появиться устройство /dev/spidev0.0

если не появилось - посмотрите есть ли в начале вложение для can и закоментируйте его

/dts-v1/;

#include "fsl-imx8mm.dtsi"
/* #include "sk-imx8mm-can.dtsi" */
Спуститься к концу Подняться к началу
Персональная информация
goodman
Добавлено 22.02.2022 14:42 Редактировалось 22.02.2022 14:44 Сообщение: 5
goodman
0

Пункты: 185
Регистрация: 18.02.2022
Пол: Мужчина
Добрый день. Спасибо за помощь, у меня наконец то все заработало!
1. По поводу "fsl-imx8dxp.dtsi" - прошу прощения не то имя файла написал еще в первом посте, экспериментровал я конечно же с fsl-imx8mm.dtsi

2.
Цитата
#include "sk-imx8mm-can.dtsi"
этой строчки в конфиге не было.

3. сбросил виртуалку, изменил ecspi1
Цитата
&ecspi1 {
#address-cells = <1>;
#size-cells = <0>;
fsl,spi-num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1>;
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
status = "okay";

spidev0: spi@0 {
reg = <0>;
compatible = "spidev";
spi-max-frequency = <500000>;
status = "okay";
};
};


4.spidev0.0 появился после отключения uart3
Цитата
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
status = "disabled";
};
Спуститься к концу Подняться к началу
Персональная информация
goodman
Добавлено 25.02.2022 11:12 Сообщение: 6
goodman
0

Пункты: 185
Регистрация: 18.02.2022
Пол: Мужчина
Добрый день. Что бы не плодить тем, продолжу тут.

Теперь не получается включить uart4(((
Убрал комментарий в sk-imx8mm-mipi.dts:
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
status = "okay";
};

Естественно ничего не заработало. Что еще надо сделать что бы его включить?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 27.02.2022 11:33 Сообщение: 7
sasamy
4.71

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

Теперь не получается включить uart4(((
Убрал комментарий в sk-imx8mm-mipi.dts:
&uart4 {


uart4 штатно зарезервирован для ядра cortex-m4, его недостаточно включить в DTS ядра - нужно ещё переключить на ядро cortex-a53 в ATF

https://community.toradex.com/t/enable-uart4-on-the-verdin/12397
Спуститься к концу Подняться к началу
Персональная информация
goodman
Добавлено 04.03.2022 10:50 Редактировалось 04.03.2022 10:52 Сообщение: 8
goodman
0

Пункты: 185
Регистрация: 18.02.2022
Пол: Мужчина
Цитата
Цитата

Теперь не получается включить uart4(((
Убрал комментарий в sk-imx8mm-mipi.dts:
&uart4 {


uart4 штатно зарезервирован для ядра cortex-m4, его недостаточно включить в DTS ядра - нужно ещё переключить на ядро cortex-a53 в ATF

https://community.toradex.com/t/enable-uart4-on-the-verdin/12397


Добрый день.
Я много чего перепробовал уже, эту страницу я видел, но сделать то, что там советуют я не могу. Видимо это из-за разных версий ядра. Я использую вашу виртуалку с яндекс диска, (на виртуалке оно 4.14 у них как я понимаю речь о 5-й).

Например тут https://community.nxp.com/t5/i-MX-Processors/imx8m-mini-uart4/m-p/968599

предлагают поправить структуру
Цитата
struct imx_rdc_cfg
,я этого сделать не могу в файле ее нет.
Нашел что для 4-го надо поправить
Цитата
mmio_write_32(IMX_RDC_BASE + 0x518, 0xfс);
, поправлял не помогло, ощущение такое что не пересобирается.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux