Невозможно изменить регистр CCM_CACRR для настройки тактовой частоты imx6ul ARM - PullRequest
0 голосов
/ 31 января 2019

В настоящее время я пытаюсь улучшить производительность моей системы, которая использует MCIMX6G2AVM05AB micro.Я пытаюсь настроить тактовую частоту процессора на максимальные значения (наша система в настоящее время настроена на работу на частоте 396 МГц, и я хотел бы использовать ее на частоте 528 МГц).К сожалению, я столкнулся с некоторыми проблемами, связанными с изменением делителей тактовых импульсов ARM с u-boot, и в интернете было обнаружено недостаточно информации;

Пожалуйста, обратитесь к следующему описанию с указанием шагов, которые необходимо выполнить для изменения частоты: 1. Из u-boot измените функцию arch_cpu_init (), чтобы настроить PLL1, а затем получить желаемую тактовую частоту.1.1 Согласно imx6ul TRM (18.5.1.5.3 смена часов PLL) и некоторым советам на форумах (https://community.nxp.com/thread/384261). РЕЗУЛЬТАТ: После изменения регистра CCM_ANALOG_PLL_ARMn часы PLL1 настроены на 528 МГц. 2. Из u-boot изменитеРегистр CCM_CACRR для обработки корневого делителя ARM РЕЗУЛЬТАТ: Система зависает и система не продолжает инициализацию системы. 2.1 Модификация регистра CCM_CACRR применялась на разных этапах загрузки / ядра (board_init_r, board_init_r, kernel (с использованием сценария, выполняемогоПроцесс инициализации, который использовал утилиту devmem2)), но как только реестр был изменен, система зависает.

Вопросы: Проблема 1: 1. Как можно безопасно изменить регистр CCM_CACRR для изменения корневого делителя ARM?есть ограничение / ошибки для изменения этого регистра? 3. Существует ли правильная процедура, чтобы избежать зависания системы?

Проблема 2: 4. Как я могу убедиться, что IMX6UL действительно работает с указанной частотой? Примечание: Iпытался подключить CLK01 и CLKO2 к часам ARM (arm_clk_root) но похоже, что этот подход не поддерживается в imx6ul (https://community.nxp.com/thread/430464). 5. Возможно ли, что микро работает с частотой, отличной от той, которая настроена в регистрах CCM_CACRR и CCM_ANALOG_PLL_ARMn?Примечание: я спрашиваю об этом, потому что я видел, что некоторые люди сожалеют о выходной тактовой частоте ARM для других версий imx6 (https://community.nxp.com/thread/340705).

Проблема 3: После использования утилит ЦП Linux (cat / sys /devices / system / cpu / cpu0 / cpufreq / cpuinfo_cur_freq) в соответствии с главой 18 в i.MX_Linux_Reference_Manual, мы читаем, что imx6ul работает на частоте 528 МГц, но после чтения регистров (CCM_CACRR и CCM_ANALOG_PLL_MARN обнаружены, что мы обнаруживаем, что мы обнаруживаем, что мы обнаруживаем, что мы обнаруживаем, что мы настроены на синхронизацию)396 МГц. 6. Какой подход / поддержка в порядке, регистрирует измерения или утилиту ЦП Linux?

...