карамболь 1 March 5, 2021 Posted March 5, 2021 · Report post Здравствуйте. Не получается сторожевой таймер запустить на ZynqMP. В DTB все прописал watchdog0: watchdog@fd4d0000 { compatible = "cdns,wdt-r1p2"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 113 1>; reg = <0x0 0xfd4d0000 0x0 0x1000>; timeout-sec = <60>; reset-on-timeout; }; ................. &watchdog0 { status = "okay"; }; в ядре нужные галочки установил. root@igor-VirtualBox:~# dmesg | grep wdt [ 7.585896] zynqmp_clk_mux_get_parent() getparent failed for clock: lpd_wdt, ret = -22 [ 8.749524] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s [ 8.757062] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s root@igor-VirtualBox:~# echo s > /dev/watchdog0 [ 1536.392464] watchdog: watchdog0: watchdog did not stop! Для настройки использую рабочий код, который прекрасно функционирует на 5-й Арии int fd = open("/dev/watchdog", O_WRONLY); if (fd == -1) { exit(EXIT_FAILURE); } //int interval = 3; int interval = 10; ioctl(fd, WDIOC_SETTIMEOUT, &interval); while(1) { ioctl(fd, WDIOC_KEEPALIVE, &timeout); sleep(2); } Запускаю код, удаляю - в консоли root@igor-VirtualBox:~# [ 1825.753499] watchdog: watchdog1: watchdog did not stop! root@igor-VirtualBox:~# [ 1831.966288] cdns-wdt ff150000.watchdog: Watchdog timed out. Internal reset not enabled WTF "Internal reset not enabled" ? Что ему еще надо ? Quote Share this post Link to post Share on other sites More sharing options...
карамболь 1 March 6, 2021 Posted March 6, 2021 · Report post неужели никто на поднимал пса на Цинке ? Мне нужно, в случае зависания Линукса, перезагрузить PS Quote Share this post Link to post Share on other sites More sharing options...
attaboy 0 March 9, 2021 Posted March 9, 2021 · Report post На fpga-systems.ru недавно была серия стримов по работе с Zync. Рекомендую, там же в чате есть спецы по Zync, вероятно ответят и на этот вопрос Quote Share this post Link to post Share on other sites More sharing options...
gosha-z 3 March 9, 2021 Posted March 9, 2021 · Report post On 3/5/2021 at 3:28 PM, карамболь said: zynqmp_clk_mux_get_parent() getparent failed for clock: lpd_wdt, ret = -22 Это ATF копать надо, хилые там накосячили изрядно... Quote Share this post Link to post Share on other sites More sharing options...
карамболь 1 March 10, 2021 Posted March 10, 2021 · Report post 16 hours ago, gosha-z said: Это ATF копать надо, хилые там накосячили изрядно... Да вроде PMU этим рулит. Нашел похожие траблы у коллег и варианты решения - типа пропатчить фирмваре PMU. Посмотрел этот патч, сравнил со своим - очень отличается. Понатыкал дефайнов, как советуют - загрузка отваливается на определенном этапе, видимо как раз сброс срабатывает, там 60 сек по дефолту. Отложил пока. Как мне кажется, проще свой модуль на ФПГА запилить (у меня так на Альтере реализовано) - выход модуля на ногу внешнего сброса. Дешево и сердито Quote Share this post Link to post Share on other sites More sharing options...
gosha-z 3 March 10, 2021 Posted March 10, 2021 · Report post PMU, но через ATF - там тоже проверки есть. И -ENODEV больше на ATF похоже Quote Share this post Link to post Share on other sites More sharing options...
карамболь 1 March 25, 2021 Posted March 25, 2021 · Report post On 3/10/2021 at 10:35 AM, gosha-z said: PMU, но через ATF - там тоже проверки есть. И -ENODEV больше на ATF похоже вы это имели ввиду ? It is also necessary to build ATF with following flags (see APU Idling for details) ZYNQMP_WARM_RESTART=1 здесь нарыл https://www.linuxsecrets.com/xilinx/Zynq Ultrascale Plus Restart solution.html Quote Share this post Link to post Share on other sites More sharing options...
карамболь 1 March 26, 2021 Posted March 26, 2021 · Report post В общем, Watchdog работает. Нужно было добавить в PMU ENABLE_RECOVERY_RESET_SYSTEM_VAL = 1 Сейчас другая проблема. Если сразу после загрузки Линукса не начать пинать Watchdog, то система перезагружается. Как сделать, чтобы Watchdog включался из юзер спейса ? Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 May 31, 2021 Posted May 31, 2021 · Report post На голом железе без операционки недавно поднимал, тоже была проблема https://forums.xilinx.com/t5/Processor-System-Design-and-AXI/Ultrascale-watchdog-timer-does-not-expire/m-p/1240523#M57888 Quote Share this post Link to post Share on other sites More sharing options...
карамболь 1 June 1, 2021 Posted June 1, 2021 · Report post 17 hours ago, ovn said: На голом железе без операционки недавно поднимал, тоже была проблема https://forums.xilinx.com/t5/Processor-System-Design-and-AXI/Ultrascale-watchdog-timer-does-not-expire/m-p/1240523#M57888 не понял... WTD не запускается из-за сброса APU ? Это как ? Можно ссылку на объяснение от xilinx ? Спасибо Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 4, 2021 Posted June 4, 2021 (edited) · Report post 01.06.2021 в 10:04, карамболь сказал: не понял... WTD не запускается из-за сброса APU ? Это как ? Можно ссылку на объяснение от xilinx ? Спасибо Сам не знаю, галочку снял и сторожевой таймер запустился, как связано, без понятия. Подобных глюков в IDE полно. Edited June 4, 2021 by ovn Quote Share this post Link to post Share on other sites More sharing options...