BSACPLD 9 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба Всем привет. В FPGA части реализован ATA контролер. Нужно чтобы Linux на HPS мог с ним работать с помощью одного из стандартных драйверов. Насколько я понимаю, для этого нужно прописать ATA контроллер в Device Tree. Подскажите, пожалуйста, как правильно это сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба 19 минут назад, BSACPLD сказал: Нужно чтобы Linux на HPS мог с ним работать с помощью одного из стандартных драйверов. Насколько я понимаю, для этого нужно прописать ATA контроллер в Device Tree. Подскажите, пожалуйста, как правильно это сделать. зачем вам сложности на этом этапе? смотрите подходящий "стандартный" драйвер в ядре, собираете модулем, потом в его функции _probe анализируете чего ему надо из шин, портов и прочих ресурсов, далее адаптируете свою прошивку в фпга или хардкодите ресурсы в драйвере грузите драйвер и лечите ошибки и так пока probe не отработает на 0 а вот потом уже делаете секцию в dts с описанием, из драйвера выносите хардкод-настройки в dts, для общего понимания google->"kernel ata dts" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба На всякий случай, некая библия для создателей драйверов. Вдруг пригодится в будущем https://lwn.net/Kernel/LDD3/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 9 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба Скажем так. Я пытаюсь использовать "стандартный" ATA контроллер. https://opencores.org/projects/ata Вопрос можно ли для работы с ним использовать какой-либо стандартный драйвер для Linux и как прописать его в дерево устройств. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба 20 minutes ago, BSACPLD said: Вопрос можно ли для работы с ним использовать какой-либо стандартный драйвер для Linux и как прописать его в дерево устройств. Все относительно просто: 1. Определиться, с чем на самом деле совместим (и совместим ли вообще) этот "стандартный" контроллер 2. Прошерстить имеющиеся dts, найти пример использования 3. Сделать свой по образцу и подобию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 9 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба 6 minutes ago, aaarrr said: Определиться, с чем на самом деле совместим (и совместим ли вообще) этот "стандартный" контроллер В этом то как раз и проблема. Я не знаю откуда взять информацию о поддерживаемых контроллерах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба А в документации на ваше ядро ничего не сказано по этому поводу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 9 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба Честно говоря я не знаю в каком разделе документации искать данную информацию. Дистрибутив Angstrom Linux. Я брал уже собранный под плату SoCkit. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба Я IP-core имел в виду. На первый взгляд, оно ни с чем не совместимо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба 1 hour ago, BSACPLD said: Честно говоря я не знаю в каком разделе документации искать данную информацию. драйвера под линукс пишутся однотипно, я бы для начала изучил просто принципы: из чего состоят, как писать под linux kernel... вам уже дали совет про __probe как стартовую точку. Вообще если погуглить, в linux kernel есть готовый API для ATA, надо просто написать свой модуль и юзать этот api https://www.kernel.org/doc/html/v5.1/driver-api/libata.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба Вот еще вариант, если погуглить, внизу раздел Kernel configuration https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842339/SATA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба 8 hours ago, BSACPLD said: Подскажите, пожалуйста, как правильно это сделать. Читать сюда. Как я уже говорил, Generic AHCI вам все равно придется делать, это как минимум. 21 minutes ago, new123 said: Вот еще вариант Судя по слову 'HPS' у товарища Intel/Altera. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 июля, 2019 Опубликовано 6 июля, 2019 · Жалоба 12 minutes ago, gosha-z said: у товарища Intel/Altera. у меня тоже. Но удивительный момент. Массу ответов в сложных для себя ситуациях всегда находил на форумах Xilinx =)) Безмерно полезный ресурс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SimpleSoft 0 7 июля, 2019 Опубликовано 7 июля, 2019 · Жалоба 13 hours ago, new123 said: Вот еще вариант, если погуглить, внизу раздел Kernel configuration https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842339/SATA Я думаю это правильный вариант. Там есть Devicetree пример Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 9 7 июля, 2019 Опубликовано 7 июля, 2019 · Жалоба Вроде на pudn есть готовый драйвер под OCIDEC. http://en.pudn.com/Download/item/id/1090382.html Коллеги, у кого есть там аккаунт, помогите, пожалуйста, скачать. Уже скачал Для регистрации использовал кучу учебных примеров еще со времен учебы в университете Вечно эти китайцы любят создавать ненужный гемморой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться