Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Процессорные модули » SK-A40i-NANO(-2E)(-V)
Назначение LED для ethernet
Kamil_ufa
Добавлено 04.04.2024 18:15
0
Сообщение: 1
Kamil_ufa
0

Пункты: 272
Регистрация: 01.04.2024
Добрый день!

На плате SK-a40i-nano2e не выведены ethernet LED (link и передача данных). Есть ли возможность задействовав GPIO контроллера выдавать индикацию этих сигналов, пусть даже после загрузки ОС?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 05.04.2024 11:22 Сообщение: 2
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
Цитата
Добрый день!

На плате SK-a40i-nano2e не выведены ethernet LED (link и передача данных). Есть ли возможность задействовав GPIO контроллера выдавать индикацию этих сигналов, пусть даже после загрузки ОС?


надо включить в ядре драйверы и поискать примеры - я не пробовал

Location:
-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> PHY Device support and infrastructure (PHYLIB [=y])
-> Support LED triggers for tracking link state (LED_TRIGGER_PHY [=y])

Location:
-> Device Drivers
-> LED Support (NEW_LEDS [=y])
-> LED Trigger support (LEDS_TRIGGERS [=y])
-> LED Netdev Trigger (LEDS_TRIGGER_NETDEV [=y])

https://stackoverflow.com/questions/63484352/device-tree-config-for-netdev-trigger-sources-to-control-led-based-on-link-statu
Спуститься к концу Подняться к началу
Персональная информация
yided
Добавлено 09.04.2024 16:12 Сообщение: 3
yided
0

Пункты: 29
Регистрация: 09.04.2024
Пол: Мужчина
Из: Ереван
Прикольно)
Спуститься к концу Подняться к началу
Персональная информация
Perevezentsev
Добавлено 27.05.2024 17:40 Сообщение: 4
Perevezentsev
5

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

надо включить в ядре драйверы и поискать примеры - я не пробовал

Добрый день. Не стал создавать новую тему, так как вопрос похожий.
На плате есть свободные пины PI12 и PI13. Подскажите, пожалуйста, как и где их сконфигурировать (один на gnd, другой на +3.3) и как потом ими управлять, по каким номерам GPIO и какой командой?
В dts файле PI12 используется для rts UART4 "rts-gpios=<PIN_PI12GPIO_ACTIVE_HIGH>", других упоминаний не нашел.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 27.05.2024 19:02 Сообщение: 5
sasamy
4.71

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

Добрый день. Не стал создавать новую тему, так как вопрос похожий.


все вопросы похожие, ответы разные
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 27.05.2024 20:04 Сообщение: 6
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
Цитата
На плате есть свободные пины PI12 и PI13. Подскажите, пожалуйста, как и где их сконфигурировать (один на gnd, другой на +3.3) и как потом ими управлять, по каким номерам GPIO и какой командой?
[quote]

порты нумеруются начиная с 0

#define PA 0
#define PB 1
#define PC 2
#define PD 3
#define PE 4
#define PF 5
#define PG 6
#define PH 7
#define PI 8

номер gpio = номер порта * 32 + номер пина

например для PI12: 8 * 32 + 12 = 268

Установить можено командой gpioset

gpioset 0 268=1
gpioset 0 268=0

первая в 1 устанавливает (+3.3) вторая в 0

[quote]
В dts файле PI12 используется для rts UART4 "rts-gpios=<PIN_PI12GPIO_ACTIVE_HIGH>", других упоминаний не нашел.


если пин используется в DT то его надо освободить - закоментировать закоментировать

/*
rts-gpios = <PIN_PI 12 GPIO_ACTIVE_HIGH>;
linux,rs485-enabled-at-boot-time;
*/

Посмотреть информацию о пинах можно командой gpioinfo, например пин PI12

Цитата

# gpioinfo | grep 268
line 268: unnamed "rts" output active-high [used]
Спуститься к концу Подняться к началу
Персональная информация
Perevezentsev
Добавлено 27.05.2024 23:52 Сообщение: 7
Perevezentsev
5

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


порты нумеруются начиная с 0


Спасибо большое
Спуститься к концу Подняться к началу
Персональная информация
Perevezentsev
Добавлено 31.05.2024 02:15 Сообщение: 8
Perevezentsev
5

Пункты: 937
Регистрация: 08.10.2023
Цитата
Добрый день!

На плате SK-a40i-nano2e не выведены ethernet LED (link и передача данных). Есть ли возможность задействовав GPIO контроллера выдавать индикацию этих сигналов, пусть даже после загрузки ОС?

1. Открываем sun8i-a40i-nano2e-none-sk.dts на виртуалке из папки output/build/linux-custom/arch/arm/boot/dts/
2. Проверяем там не используются ли выбранные нами пины. Если используются, то комментируем их.
3. Затем после regulators добавляем код светодиода с привязкой к нужному пину, чтоб получилось так:
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;

reg_3p3v: regulator@0 {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

reg_usb0_vbus: regulator@1 {
reg = <1>;
compatible = "regulator-fixed";
regulator-name = "usb0_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
/*
gpio = <PIN_PE 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
*/
};
};
leds {
compatible = "gpio-leds";
eth0_link {
gpios = <&pio 8 13 GPIO_ACTIVE_LOW>;
default-state = "off";
linux,default-trigger = "f802c000.ethernet-ffffffff:00:link";
};
};
4. Выполняем эти пункты make linux-menuconfig
надо включить в ядре драйверы и поискать примеры - я не пробовал

Location:
-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> PHY Device support and infrastructure (PHYLIB [=y])
-> Support LED triggers for tracking link state (LED_TRIGGER_PHY [=y])

Location:
-> Device Drivers
-> LED Support (NEW_LEDS [=y])
-> LED Trigger support (LEDS_TRIGGERS [=y])
-> LED Netdev Trigger (LEDS_TRIGGER_NETDEV [=y])

5. собираем make
6. объединяем образы, заливаем через флешку,заходим в putty и пишем cat /sys/class/leds/eth0_link/trigger
ниже будет показан список возможных триггеров. Тот, что сейчас выбран,будет в квадратных скобках.
7. Привязываем нужный триггер. Я привязал вот такой: echo 1c0b080.mdio-mii:00:link > /sys/class/leds/eth0_link/trigger
и теперь при подключении кабеля изернет светится светодиод (кабеля нет - на пине 3.3 вольта, кабель воткнут - 0 (gnd)) это задается в dts GPIO_ACTIVE_LOW. GPIO_ACTIVE_HIGH - будет наоборот.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-A40i-NANO(-2E)(-V)