Comments 4
Если что, то работа с gpio через /sys/class/gpio deprecated.
Всесто него теперь рекомендуется использовать gpio uapi, статья на хабре
Всесто него теперь рекомендуется использовать gpio uapi, статья на хабре
То чувство, когда большинство ссылок в статье сразу отмечены, как посещённые.
На Apollo Lake сначала на GPIO сделали эмуляцию JTAG. Что бы FPGA загрузить из Linux. Грузилось ацки долго. Оптимизировали через /dev/mem и вычисление нужного регистра в памяти. Стало быстрее. Ноги использовали те, на которых — SPI. После чего сделали скрестили ежа с ужом: пока нужен был двусторонний обмен, дёргали ножки битбангом, а когда основной код шился — там всё в одну сторону летело и уже сильно походило на SPI, включили SPI контроллер и… Около секундны на то, что изначально требовало 2-3 минуты (или даже больше).
//так получилось, что я работаю над портированием coreboot для кастомной платы
как успехи, какими средствами для отладки пользовались в процессе?
Хватало Post карты, UART, USB-Debug, или вынуюдены были использовать чтото более серьезное?
Имели доступ к оранжевым книгам или пользовались исключительно открытыми источниками информации?
Мне интересно какой порог вхождения в тему для адаптации своей кастомной платы под coreboot
как успехи, какими средствами для отладки пользовались в процессе?
Хватало Post карты, UART, USB-Debug, или вынуюдены были использовать чтото более серьезное?
Имели доступ к оранжевым книгам или пользовались исключительно открытыми источниками информации?
Мне интересно какой порог вхождения в тему для адаптации своей кастомной платы под coreboot
Разработка о которой шла речь в данной статье уже завершена. И это был уже не первый наш проект на coreboot.
Для своих плат мы просто снимаем лог с UART, т.к. специально проектировали платы с соответствующим SuperIO, чтобы была такая возможность. В этом случае необходимости ни в Post карте, ни в USB-debug не возникает.
При портировании coreboot на проприетарные платы как-то пришлось ковыряться с LPC анализатором, чтобы посмотреть, как надо инициализировать местный SuperIO на который не было даташита в открытом доступе.
Помимо открытых источников информации у нас есть NDA с Intel и AMD, это даёт нам доступ к программным даташитам на процессор и чипсет, этого хватает. Без них же остаётся только уповать на то, что в coreboot всё портировали правильно (спойлер — это маловероятно), и модификация крайне затруднена.
В итоге порог вхождения в тему зависит от того насколько ваша кастомная плата будет отличаться от ближайшего аналога в coreboot, и от того насколько хорошо этот аналог поддерживается сам в coreboot.
Для своих плат мы просто снимаем лог с UART, т.к. специально проектировали платы с соответствующим SuperIO, чтобы была такая возможность. В этом случае необходимости ни в Post карте, ни в USB-debug не возникает.
При портировании coreboot на проприетарные платы как-то пришлось ковыряться с LPC анализатором, чтобы посмотреть, как надо инициализировать местный SuperIO на который не было даташита в открытом доступе.
Помимо открытых источников информации у нас есть NDA с Intel и AMD, это даёт нам доступ к программным даташитам на процессор и чипсет, этого хватает. Без них же остаётся только уповать на то, что в coreboot всё портировали правильно (спойлер — это маловероятно), и модификация крайне затруднена.
В итоге порог вхождения в тему зависит от того насколько ваша кастомная плата будет отличаться от ближайшего аналога в coreboot, и от того насколько хорошо этот аналог поддерживается сам в coreboot.
Sign up to leave a comment.
Связь драйвера и устройства по _HID методу ACPI на примере GPIO контроллера Lynxpoint