Перейти к содержанию
    

PCIe endpoint на Zynq 7015

Всем привет!  Есть кастомная плата на Xilinx Zyqn 7015 c интерфейсом PCIe и запущенным Линуксом на ней. Задача - воткнуть эту плату в обычный PC, так чтобы она определилась в системе, ну и для последующего обмена данными. Для этого в процессорную систему было добавлено ядро PCIe и сконфигурировано как endpoint. Далее, был cгенерирован общий файл .dts, в котором имеется описание устройства PCIe. На этом успешные действия закончились) Уже на этапе генерации .dtb стали появляться варнинги, а при попытке запуска линукса с созданным .dtb, вываливаются ошибки при парсинге devicetree. Искал в гугле пример devicetree для endpoint, но именно для Xilinx ничего путного не нашел. Насколько я понял, devicetree был сгенерирован для Root Port и в нем надо что-то добавить/удалить/изменить, но вот что? Может кто нибудь помочь разобраться в теме? Скриншоты devicetree, dtb и лога загрузи линукса в приложении

devtree.thumb.png.a02c9e12241a4ce82878ffa237d05d9e.pngdtb.thumb.png.9c7357c2c1c2e17aabed21a771995f57.pngputty.png.a8bfe619b310cbc545ec4709e50efd95.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

device tree чем генерирован? В нем address-cells=3, а reg явно формата address-cells=1.  То же и к прерываниям относится, и номера прерываний странные - с 1 по 4. 

petalinux, например, device-tree правильно делает обычно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 часа назад, Dvorkin сказал:

device tree чем генерирован? В нем address-cells=3, а reg явно формата address-cells=1.  То же и к прерываниям относится, и номера прерываний странные - с 1 по 4. 

petalinux, например, device-tree правильно делает обычно.

C petalinux не работал. Линуксовое ядро и u-boot, собирал вручную. Исходники для devicetree била сгенерированы с помощью .tcl скрипта:

hsi::open_hw_design *.xsa
hsi::set_repo_path E:/Xilinx/device-tree-xlnx
hsi::create_sw_design device-tree -os device_tree -proc ps7_cortexa9_0
hsi::generate_target -dir dt/

Изменено пользователем ddkarp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, ddkarp said:

Исходники для devicetree била сгенерированы с помощью .tcl скрипта:

hsi::open_hw_design *.xsa
hsi::set_repo_path E:/Xilinx/device-tree-xlnx
hsi::create_sw_design device-tree -os device_tree -proc ps7_cortexa9_0
hsi::generate_target -dir dt/

 

Так я не делал, ничего сказать не могу. Xilinx SDK генерил не совсем правильно dt, а с деревом от petalinux проблем никогда не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Dvorkin said:

Так я не делал, ничего сказать не могу. Xilinx SDK генерил не совсем правильно dt, а с деревом от petalinux проблем никогда не было.

pcie блок там вроде же в pl. При чём тут dev tree?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 11/9/2022 at 3:58 PM, dmitry-tomsk said:

pcie блок там вроде же в pl. При чём тут dev tree?

В device tree описываются устройства, которые обслуживают драйвера ОС. И неважно, где эти устройства, ведь у каждого есть адрес и прочие ресурсы. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Dvorkin said:

В device tree описываются устройства, которые обслуживают драйвера ОС. И неважно, где эти устройства, ведь у каждого есть адрес и прочие ресурсы. 

у pcie в pl нет ни адреса, ни ресуров. К нему мост или xdma нужно сначала прикрутить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 minutes ago, dmitry-tomsk said:

у pcie в pl нет ни адреса, ни ресуров. К нему мост или xdma нужно сначала прикрутить

Да, в Zynq нет ресурсов, а драйвер на компе должен же знать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня в PL реализовано ядро PCIe, со своими адресами и настроено оно как endpoint. На сколько я понимаю в devicetree ядро прописалось, но с настройками для rootcomplex. При загрузке, ядро линукса выдает ошибки и говорит что не может распарсить PCIe.

Снимок экрана от 2022-11-14 10-59-01.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...