Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Отладочные платы » SK-iMX233
Разгон DDR до 167МГц
Pavel Ivanchenko
Добавлено 11.05.2010 10:47 Редактировалось 01.06.2010 16:06
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Озадачился разгоном памяти до сабжевой частоты, но пока не понял как в boot_prep скрутить частоту ...
Лучше, чем сделать так, пока не придумал:
Код
void init_clock()
{
HW_CLKCTRL_FRAC_SET(BM_CLKCTRL_FRAC_CLKGATEEMI);
#ifdef EMI_96M
set_emi_frac(30);
#else //EMI_133M
//pi set_emi_frac(33);
set_emi_frac(28);
#endif
HW_CLKCTRL_FRAC_CLR(BM_CLKCTRL_FRAC_CLKGATEEMI);
delay(11000);

#ifdef EMI_96M
HW_CLKCTRL_EMI_WR(BF_CLKCTRL_EMI_DIV_XTAL(1)|
BF_CLKCTRL_EMI_DIV_EMI(3)
);
#else
HW_CLKCTRL_EMI_WR(BF_CLKCTRL_EMI_DIV_XTAL(1)|
BF_CLKCTRL_EMI_DIV_EMI(2)
);
#endif

Проверяю номинал осциллографом, из-за того что она управляется по СKE, точно не измерить, поэтому как то на "глаз" получилось ...

Поднял вопрос поднятия тактовой на форуме FreeScale, говорят "работает до 133М" - явно перестраховываются.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.05.2010 20:09 Редактировалось 11.05.2010 20:30 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Итак, на форуме FreeScale дали внятный ответ, из которого следует, что set_emi_frac(26) делает частоту тактовой DDR 166МГц, что и требовалось получить.
Сейчас имею следующие тайминги:
Код
void init_ddr_mt46v32m16_167Mhz(int ce)
{
HW_DRAM_CTL00_WR(0x01010001);
HW_DRAM_CTL01_WR(0x00010100);
HW_DRAM_CTL02_WR(0x01000101);
HW_DRAM_CTL03_WR(0x00000001);
HW_DRAM_CTL04_WR(0x00000101);
HW_DRAM_CTL05_WR(0x00000000);
HW_DRAM_CTL06_WR(0x00010000);
HW_DRAM_CTL07_WR(0x01000001);
HW_DRAM_CTL09_WR(0x00000001);
HW_DRAM_CTL10_WR(0x07000200);
// HW_DRAM_CTL11_WR(0x00070202); //CAS Lat
HW_DRAM_CTL11_WR(0x00070202);
// HW_DRAM_CTL12_WR(0x02020000);
HW_DRAM_CTL12_WR(0x02020000);
// HW_DRAM_CTL13_WR(0x04040a01); //CAS Lat
HW_DRAM_CTL13_WR(0x05050a01);
HW_DRAM_CTL14_WR(0x00000200|ce);
// HW_DRAM_CTL15_WR(0x02040000);
HW_DRAM_CTL15_WR(0x03050000);
HW_DRAM_CTL16_WR(0x02000000);
// HW_DRAM_CTL17_WR(0x19000f08);
HW_DRAM_CTL17_WR(0x18000d0a);
// HW_DRAM_CTL18_WR(0x0d0d0000);
HW_DRAM_CTL18_WR(0x15150000);
// HW_DRAM_CTL19_WR(0x02021313);
HW_DRAM_CTL19_WR(0x02021313);
// HW_DRAM_CTL20_WR(0x02061521);
HW_DRAM_CTL20_WR(0x03071524);
// HW_DRAM_CTL21_WR(0x0000000a);
HW_DRAM_CTL21_WR(0x0000000c);
HW_DRAM_CTL22_WR(0x00080008);
HW_DRAM_CTL23_WR(0x00200020);
HW_DRAM_CTL24_WR(0x00200020);
HW_DRAM_CTL25_WR(0x00200020);
// HW_DRAM_CTL26_WR(0x000003f7);
HW_DRAM_CTL26_WR(0x00000509);
HW_DRAM_CTL29_WR(0x00000020);
HW_DRAM_CTL30_WR(0x00000020);
HW_DRAM_CTL31_WR(0x00c80000);
// HW_DRAM_CTL32_WR(0x000a23cd);
HW_DRAM_CTL32_WR(0x000d2d62);
HW_DRAM_CTL33_WR(0x000000c8);
// HW_DRAM_CTL34_WR(0x00006665);
HW_DRAM_CTL34_WR(0x000081c7);
HW_DRAM_CTL36_WR(0x00000101);
HW_DRAM_CTL37_WR(0x00040001);
HW_DRAM_CTL38_WR(0x00000000);
HW_DRAM_CTL39_WR(0x00000000);
HW_DRAM_CTL40_WR(0x00010000);
HW_DRAM_CTL08_WR(0x01000000);
}
C которыми ядро "нормально" работает, но memtester (на 45М) находит ошибки.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 04.08.2010 13:38 Редактировалось 04.08.2010 13:39 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Потому как "1 chip enable", GPIO не пойдет - арбитраж шины не сделаете.

PS лучше было это отдельной темой оформить
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233