Я несколько раз пытался наладить загрузку ядер 4.4, 4.9, 4.13 в плату с SAM9G45 и со всеми ядрами из этой линейки вылезает проблема: at91bootstrap загружает ядро в память, передает ему управление и дальше в консоль не выводится ни байта.
Раньше что-то подобное уже бывало, решалось обновлеием device tree, поскольку в скриптах с новой мажорной версией появлялись новые обязательные конструкции. И тут обнаружил новую команду stdout-path в секции chosen и другой набор секций частот кварцев. После полнго приведения моего DTS в соответствие с at91sam9m10g45.dts ядро все равно не проранивает ни байта при загрузке.
с полгода назад смотрел исходники, там были убраны MachId для китов 9G45 на который настроен юбут. т.е. юбут давал старый айди, который новое ядро не понимало и бодро останавливало загрузку с подобными симптомами..
вечно забываю, что надо включить в ядре, чтобы оно выдало диагностику в консоль при такой коллизии (вроде debug в cmdline и что-то в менюконфиг взвести)..
поищите, может есть рабочая связка u-boot и kernel для 9g45, вот ее и надо затачивать под существующее железо..
помнится, что у Атмела (ныне Микрочип) был неофициальный сайт с форумом, что можно было поискать инфу..
Интересно. Вообще в 3.x было наоборот - код проверки machid работал только для софтового bsp - в конце файла плата регистрировалась с явным указанием идентификатора, а в DTS-версии BSP идентификатор нгде не фигурировал и проверка не выполнялась. А в 4.x выпилив софтовые BSP, разработчики вероятно избавились и от поддержаниясписка плат и проверки.
А по поводу отладочного вывода ядра - попробую поискать.
Похоже, проблема решилась. После сброса конфигурации и внимательного прохода по опциям ядро загрузилось, и сразу обнаружило NAND, что очень порадовало.
Теперь вот еще одна забота - как прописать временные характеристики CS0, к которому подключена ПЛИС, в device tree