Глава 5.7: Подсистема pinctrl в Linux Kernel

8 подписчиков

12+
12+

3 просмотра

19 дней назад

ПожаловатьсяНарушение авторских прав

8 подписчиков

12+
12+

3 просмотра

19 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 просмотра

19 дней назад

Пошаговое объяснение и демонстрация на Raspberry Pi 3 В этом видео мы глубоко разбираем тему управления выводами (пинами) через подсистему pinctrl, применительно к Linux-драйверам и Raspberry Pi 3. Основано на материале pinctrl.rst, а также расширено важными подробностями из ядра Linux и технической документации Broadcom. 🧠 Что вы узнаете: 🔹 Что такое pinctrl: Почему раньше каждая архитектура управляла пинами по-своему; Как pinctrl решает эту проблему через единый API; Как связаны pinctrl_ops, pinmux_ops и pinconf_ops. 🔧 Что делает подсистема: Управляет мультиплексированием функций (ALT0, ALT1...); Устанавливает pull-up, pull-down, disable и другие параметры; Позволяет драйверам устройств использовать pinctrl из probe(). 📂 Структура ядра: Компонент Назначение pinctrl-core.c Базовая логика подсистемы pinctrl-bcm2835.c Драйвер pinmux/pull для Raspberry Pi pinctrl_ops Получение групп пинов pinmux_ops Назначение функции пина pinconf_ops Конфигурация уровня пина 📄 Пример из Device Tree: dts Копировать Редактировать pinctrl-names = "default"; pinctrl-0 = &uart0_pins; uart0_pins: uart0_pins { pins = "gpio14", "gpio15"; function = "alt0"; bias-disable; }; Всё это применяется автоматически в probe() драйвера через: c Копировать Редактировать devm_pinctrl_get_select_default(&pdev-dev); 🔎 Дополнительно в видео: Как &uart0 — это ссылка на label uart0: в .dts; Что такое serial@7e201000 и почему это физический адрес устройства; Как reg = 0x7e201000 0x1000 определяет MMIO доступ; Как проверить текущее состояние пинов через raspi-gpio get. 📦 Подходит для: Встраиваемых разработчиков на Linux; Авторов драйверов под Raspberry Pi; Инженеров, использующих Device Tree и GPIO; Студентов и преподавателей embedded-направления. 🔖 Хэштеги: #Linux #GPIO #DeviceTree #pinctrl #RaspberryPi3 #KernelDrivers #ALTfunctions #pullup #pinmux #EmbeddedLinux

Название:

Глава 5.7: Подсистема pinctrl в Linux Kernel

Категория:

Разное