Уже прошло около полутора лет с момента моей предыдущей публикации, посвящённой поддержке Intel Atom Z34xx, а попросту говоря Intel Edison, ванильным ядром Linux. Здесь я рассмотрю новшества, которые ждут своей очереди в ядро версии v4.8-rc1.

Я долго жаловался на отсутствие драйвера Power Management Unit (PwrMU) для платформы, пока сам не сел и не почистил известный код до состояния, позволившего включить его в ванильное ядро. Таким образом устройства южного моста, а это почти все устройства, которые используются для периферии и IoT, не потребляют лишней энергии. Наличие драйвера позволило продолжить работу над остальными частями платформы.

GPIO и pinctrl


Самыми важными драйверами на любой встраиваемой платформе являются GPIO и pinctrl. Без них большинство устройств на плате будут работать неверно или вообще не работать. Как относительно недавно выяснилось задекларированный ранее в ванильных ядрах GPIO драйвер в принципе был неработоспособным, а pinctrl и вовсе отсутствовал. Необходимость наличия этих драйверов вызвана использованием некоторых конктактных площадок (pad'ов) в разных режимах для контроллеров других устройств и шин.

Драйверы последовательных шин


Наконец-то обрадуются пользователи устройств, подключенных к контроллерам последовательных шин, а именно SPI и I2C. В ожидаемой новой версии будет включена поддержка этих контроллеров для Intel Atom Z34xx, помимо этого по умолчанию будут инициализироваться расширители GPIO (PCAL9555a), установленные на плату Edison-Arduino, и SPI5 получит своё специальное устройство /dev/spidev5.1 (сигнал выбора чипа 0 заведен на АЦП, а выбор чипа 1 — подключаемое пользователем устройство).

Ближе к эфиру


Помимо вышеупомянутого делается шаг на встречу к включению WiFi. И хотя на данный момент часть изменений в моём локальном дереве, благодаря ним карточка SDIO, bcm43340, распознаётся драйвером, хотя ведёт себя весьма нестабильно, да и сети не видит, хотя интерфейс wlan0 регистрируется.

Работа кипит


Продолжить список целей, которых я хотел бы достичь в ванильном ядре, можно следующими пунктами (план-минимум):
  • устойчивая работа PWM
  • максимально приблизиться к запуску WiFi
  • работа слота micro-SD
  • поддержка CPU C-states в драйвере intel_idle


Вливайся в процесс


Работы как для одного человека в нерабочее время на самом деле многовато, желающие помочь принимаются с радостью!

Экспериментальное дерево исходников здесь: github.com/andy-shev/linux/commits/eds
Поделиться с друзьями
-->

Комментарии (0)