drozd
Пункты: 957
Регистрация: 28.09.2010
Пол: Мужчина
Здравствуйте!
Пробовал через dtsi менять disabled на enabled. Uart не ушел, can не появился. Хотя в dtsi оба disabled. Похоже, не туда полез.
Как включать/выключать интерфейсы?
Правлю три dts, из которых выходят dtb. Вычистил все, связанное с uart3. Can нету.
В общем, как включить can?
sasamy
Пункты: 83540
Регистрация: 14.08.2009
Цитата
В общем, как включить can?
для платы SK-iMX6ULL DTS файл imx6ull-sk-sb.dts (sb - single board).
Отключить uart3
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
fsl,uart-has-rtscts;
/* for DTE mode, add below change */
/* fsl,dte-mode; */
/* pinctrl-0 = <&pinctrl_uart3dte>; */
status = "disabled";
};
Включить flexcan - добавить
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1>;
xceiver-supply = <®_can_3v3>;
status = "okay";
};
дописать пины
&iomuxc {
pinctrl-names = "default";
...
pinctrl_flexcan1: flexcan1grp {
fsl,pins = <
MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x1b020
MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x1b020
>;
};
....
пересобрать ядро
./kernel_rebuild.sh
drozd
Пункты: 957
Регистрация: 28.09.2010
Пол: Мужчина
Чего-то не хватает. Где can должен всплыть? Как eth через ifconfig? Или должен появиться в dev?
Нашел, где он должен появиться. Но его там нет. Есть ttymxc3 в dev.
sasamy
Пункты: 83540
Регистрация: 14.08.2009
Цитата Но его там нет
покажите выхлоп
ls /dev/ttymxc*
dmesg | grep can
ifconfig can0
ls -l $(which ip)
Цитата
Есть ttymxc3 в dev
это uart4 по DTS
drozd
Пункты: 957
Регистрация: 28.09.2010
Пол: Мужчина
/dev/ttymxc0 /dev/ttymxc1 /dev/ttymxc2 /dev/ttymxc3 /dev/ttymxc4
can: controller area network core (rev 20120528 abi 9)
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20161123 t)
can: netlink gateway (rev 20130117) max_hops=1
can-3v3: disabling
ifconfig: can0: error fetching interface information: Device not found
-rwxr-xr-x 1 root root 336208 Aug 17 2018 /sbin/ip
В dts покосил все уарты. Они мне ни один не нужны. Все равно повылезали.
sasamy
Пункты: 83540
Регистрация: 14.08.2009
Цитата
В dts покосил все уарты. Они мне ни один не нужны. Все равно повылезали.
у меня такое ощущение что после изменений в DTS и пересборки, на плате (на диске в /boot) вы не заменили imx6ull-sk-sb.dtb. Других объяснений почему все уарты присутствуют в /dev нет
Это может произойти если при компиляции DTS есть ошибка (например случайная синтаксическая ошибка при изменении) - тогда на плате останется старый imx6ull-sk-sb.dtb.
Смотрите лог сборки ядра - нет ли там ошибок DTC
drozd
Пункты: 957
Регистрация: 28.09.2010
Пол: Мужчина
Я копирую файлы u-boot.imx, zImage, rootfs.tar и imx6ull-sk-sb.dtb в каталог с MfgTool2.exe. Дальше вся надежда на MfgTool2.exe. DTB всегда свежий.
sasamy
Пункты: 83540
Регистрация: 14.08.2009
Цитата Я копирую файлы u-boot.imx, zImage, rootfs.tar и imx6ull-sk-sb.dtb в каталог с MfgTool2.exe. Дальше вся надежда на MfgTool2.exe
http://www.starterkit.ru/html/doc/Manual-SK-iMX6ULL.pdf
стр. 9
Цитата
Для обновления КФС или ядра Linux на модуле SK-iMX6ULL, необходимо скопировать файл
output/images/footfs.tar в mfgtools\Profiles\Linux\OS Firmware\files
Цитата
DTB всегда свежий.
однозначно нет, иначе давно бы все работало
drozd
Пункты: 957
Регистрация: 28.09.2010
Пол: Мужчина
Вот я дебил!!! Не туда копировал. Все появилось. Спасибо!!!