Що нового очікується в ядрі v4.8-rc1 для Intel Edison. Дайджест
Вже минуло близько півтора року з моменту моєї попередньої публікації, присвяченої підтримці 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 заведений на АЦіпу) вибір, Ча вибір
Ближче до ефіру
Крім вищезгаданого робиться крок на зустріч до включення WiFi. І хоча на даний момент частина змін в моєму локальному дереві, завдяки ним картка SDIO, bcm43340, розпізнається драйвером, хоча веде себе досить нестабільно, та й мережі не бачить, хоча інтерфейс wlan0 реєструється.
Робота кипить
Продовжити список цілей, яких я хотів би досягти у ванільному ядрі, можна наступними пунктами (план-мінімум):
- стійка робота PWM
- максимально наблизитися до запуску WiFi
- робота слоту micro-SD
- підтримка CPU C-states у драйвері intel_idle
Вливайся в процес
Роботи як для однієї людини в неробочий час насправді забагато, охочі допомогти приймаються з радістю!
Експериментальне дерево вихідних тут: github.com/andy-shev/linux/commits/eds