Тема: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31
[size=4]Введение:[/size]
Добрый день, дорогие друзья! Так сказать товарищи по платформе
Заранее извиняюсь перед модераторами, если тема размещена в неправильном разделе, и буду рад, если её переместят в правильный. (Флейм, например. Или где у вас тут обсуждаются околонокиевые вещи? ) Тема - небольшой аналог данной темки, и будет интересна лишь узкому кругу разработчиков.
Собственно имеется такой вот девайс: http://habrahabr.ru/blogs/gadgets/113321/
Вкратце: Внутри линь (Mobilinux 4.1 с ведром 2.6.10_dev), 64 RAM и камень ARM11 (arm1176jz-s) работающий на частотах от 133 (при простое и выключенной подсветке) до 532 (при нагрузке). Т.е режимы работы процессора следующие:
- 133 MHz
- 266 MHz
- 399 MHz
- 532 MHz
Т.к устройство мне уже практически не нужно, мне бы хотелось just for fun увеличить частоту процессора при нагрузке до 600-800(900) MHz. В принципе для этого имеется всё что нужно, а именно:
1. Исходники ядра.
2. Тулчейн для сборки ядра.
3. Программа для сборки прошивки.
4. Флешер.
Я подсмотрел некоторые действия по разгону смартфонов работающих под управлением Meego/Maemo вот здесь:
http://goo.gl/Tpz08
И думаю, что слишком сильно способы отличаться не будут.
Главной целью данной темы служит нахождение и изменение в сорцах ядра тех параметров, которые отвечают за работу процессора, его частоту (вольтаж/vsel??)
[size=4]Общая информация:[/size]
При стандартном кастомном ядре устройство выдаёт следующее на команду cat /proc/cpuinfo:
cat /proc/cpuinfo
Processor : Some Random V6 Processor rev 1 (v6l)
BogoMIPS : 354.70
Features : swp half thumb fastmult vfp edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant : 0x1
CPU part : 0xb36
CPU revision : 1
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : Motorola Product - SCM-A11 Phone
Revision : 0021
Serial : 0000000000000000
Производительность тестируется графическим* бенчмарком GPmark и составляет такую картину:
[size=1]* Т.к графического акселератора в девайсе нет, вся нагрузка приходиться на CPU.[/size]
[size=4]Инструменты:[/size]
1. Cорцы ядра нашего телефона с патчами от Motorol'ки:
http://rghost.ru/28528111 и http://zalil.ru/31993702
2. Лог компиляции ядра:
http://pastebin.com/4tZFL6fg
3. Папка arch/arm/mach-mxc91231, которая судя по логу компилируется (аналог arch/arm/mach-omap2 в Maemo):
http://rghost.ru/28529211 http://zalil.ru/31993735
[size=4]Экспериментальная часть:[/size]
Я буду уведомлять вас о результатах данной работы, и отправлять результаты бенчмарков итд. итп.
От вас мне лишь требуется так сказать наставление на путь истинный. К сожалению я не знаю что именно править в исходниках ядра. Проверка результатов будет лежать на мне.
На данный момент я набрался смелости и попробовал изменить файл arch/arm/mach-mxc91231/clock.c:
Заменив в нём значения с 26000000 на 60000000. (Якобы эквивалентно повышению частоты работы с 26 до 60 мгц??)
...
#define MXC_PLL_REF_CLK 60000000
#define NO_UPDATE -1
/*
* Define reference clock inputs
*/
#define CKIH_CLK_FREQ 60000000
#ifdef CONFIG_MOT_WFN420
...
При включении устройства получил следующие проблемы:
1. Телефон не определяет батарею. Но работает.
2. На дисплее появились артефакты (синие линии), видные только на чёрном фоне. (Скриншоты снимаются нормально.)
Я так понял это точно частота чего либо другого. Например DSP/MXC?? Изменение его частоты и вызвало данный баг. Гугление MXC_PLL_REF_CLK для меня ничего вразумительного не дало.
Как видно из бенчмарка, результаты немного "просели":
Зато в cat /proc/cpuinfo поменялось значение BogoMIPS с 354.70 до:
BogoMIPS : 354.71
Как я понял, изменения данных значений лишь частично влияют на общую производительность устройства.
Нормальную работу девайса удалось вернуть прошивкой нормального (стабильного) ядра.
Проверьте файлик arch/arm/mach-mxc91231/mxc_pm.c там очень много значений частот процессора, вот только как править даже и не знаю
Ну собственно меня пока только на это и хватило. Выслушаю и попробую реализовать ваши идеи. С удовольствием отвечу на вопросы об устройстве.