Не совсем с ходу заметил на ИМС DDR3 Samsung примечание
Ключевое слово для поиска downshift в PDF на k4b2g1646F(Q).
Так вот, посмотрев код инициализации, не совсем понял, программируются ли данные регистры у самих микросхем памяти. Судя по всему нет, в скрипте не увидел. Тыкните носом...
На Micron`е таких примечаний нет, она работает на сниженных тактовых с нормальными настройками...
Тайминги описываемые в мануалах должен выдавать контроллер памяти, настройка которого и осуществляется в скрипте.
В сами микросхемы памяти ничего не пишется.
На сайте nxp был excel документ для вычисления значений регистров (для подстановки в скрипт) в зависимости от таймингов чипа (в ручную мозг вывихнете битовые поля составлять и обязательно ошибетесь).
Да, раньше был у меня u-boot, который по переменным окружения грузил бинарь с SD-карты с тестом памяти и калибровкой...
Почитал документацию. Тайминги tAA/tRCD/tRP задаются действительно в DDR3 контроллере IMX6Q. Вы правы.
Не совсем так, некоторые тайминги (CAS Latency например) и значения ODT задаются в регистрах MR0-MR3 самой DDR3 памяти.
ODT также есть и у процессора.
Попробовал покалибровать плату на 528 МГц...
Максимум чего вышло, это грузиться ОС. Вызов приложения, использующего GPU - всё смерть...
При переходе на k4b2g1646E-BIH9 на k4b2g1646F-BMK на своем железе тоже столкнулись с проблемой неработоспособности системы. Именно при работе с GPU... Тогда выключили динамическое управление питание и активировали встроенное LDO. Как ни странно, всё заработало...