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

Плата zcu102. Проблема "pcie link is down"

Добрый день. Столкнулся с интересной ситуацией.

Аппаратная часть: плата zcu102, диск формата M.2, переходник PCIe (для подключения M.2), SD карта.

Программы: petalinux 2019.1, vivado 2019.1.

Проект: на основе bsp (zcu102) + hdf-файл (custom)

Краткое описание процесса "погружения":

1. Загрузчик (SD карта) + rootFS (SD карта) => всё ОК.

2. Загрузчик (SD карта) + rootFS (M.2 диск, вставленный в PCIe разъём zcu102) => всё OK.

3. Загрузчик (QSPI) + rootFS (SD карта) => всё ОК.

4. Загрузчик (QSPI) + rootFS (M.2 диск, вставленный в PCIe разъём zcu102) => ПРОБЛЕМА:

  • nwl-pcie fd0e0000.pcie: Link is DOWN

и далее приблизительно такой текст:

  • Waiting for root device /dev/nvmeb0p1

после которого загрузка прекращается.

В интернете предложены пути решения проблемы "nwl-pcie fd0e0000.pcie: Link is DOWN".

Я попробовал некоторые решения, которые не привели к успеху, например: 

1. Сброс, как здесь https://www.mail-archive.com/[email protected]/msg07127.html

2. Сброс, как здесь (вариант c перекомпиляцией fsbl) https://support.xilinx.com/s/question/0D52E00006iHlZrSAK/zynq-ultrascale-pcie-root-port-lessons-learned?language=en_US

Может быть дело не в сбросе?!

Есть ещё, на мой взгляд, "мистические" варианты, например вот этот (я не пробовал):

https://support.xilinx.com/s/question/0D52E00006hpNMVSA2/zcu102-no-pcie-link-up?language=en_US

 

Помогите, пожалуйста, разобраться.

Что можно ещё попробовать (предпринять)?

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


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

Я так понимаю, устройство используется в качестве root, и подключается внешний накопитель. Есть ли уверенность, что сам порт работает. Есть ли возможность вывести статусы типа LTSSM ядра PCI-E? Или например, загрузиться с другого носителя, но к этому root порту подключить иное устройство, или то же что сейчас, и вывести sudo lspci -vvv ?

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


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

Если делается все ровно по quicktake video - оно работает. Надо смотреть настройки корки и DT

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


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

Добрый вечер. Спасибо за советы (идеи). Проблему удалось решить. Дело было в сбросе. Как оказалось, загрузка с primary flash (QSPI) на плате zcu102 выполняется быстрее, чем с SD-карты. В результате при загрузке с QSPI сигнал сброса для PCIe выполняется раньше, чем устанавливается тактовая частота для PCIe, поэтому нужно дождаться тактовой, а уже потом выставлять сигнал сброса для PCIe. Решение:  перекомпиляция fsbl со вставкой sleep (1000 ms) перед выставлением сигнала сброса для PCIe.

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


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

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

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

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

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

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

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

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

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

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