ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Ядро 2.6.32 и Тион-Про270  (Прочитано 8932 раз)

0 Пользователей и 1 Гость просматривают эту тему.

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Ядро 2.6.32 и Тион-Про270
« : 08 Сентября, 2010, 11:31:58 »

Пытаюсь портировать 2.6.32 на Тион-Про270, за основу брал конфиги из wiki. Ядро виснет после Uncompressing kernel image... booting... Куда копать?

Портировал u-boot-2009.11, запускаю из-под него.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #1 : 09 Сентября, 2010, 08:49:32 »

Вероятно bi_arch_number не тот.

Записан

laborer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 29
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #2 : 09 Сентября, 2010, 10:38:35 »

Пытаюсь портировать 2.6.32 на Тион-Про270, за основу брал конфиги из wiki. Ядро виснет после Uncompressing kernel image... booting... Куда копать?

Портировал u-boot-2009.11, запускаю из-под него.

Посмотрите здесь: http://tocolinux.sourceforge.net/
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #3 : 10 Сентября, 2010, 13:22:08 »

Спасибо за наводки

Похоже проблема была в районе кода со строкой fb_get_options("pxafb", &opt), которая перекочевала из инициализации Тиона в ядре 2.6.22... Сейчас убрал этот кусок, система запускается, но pxafb не инициализируется, выдает
[  104.537542] pxa2xx-fb pxa2xx-fb: failed to get suitable mode
[  104.538099] pxa2xx-fb: probe of pxa2xx-fb failed with error -22

Режим задаю и инициализирую  так:
static struct pxafb_mode_info tion270_lcd_mode = {
.pixclock = 21600,
.xres = 800,
.yres = 600,
.bpp = 18,
.hsync_len = 40,
.left_margin = 100,
.right_margin = 50,
.vsync_len = 2,
.upper_margin = 30,
.lower_margin = 10,
};

static struct pxafb_mach_info tion270_lcd_info = {
.modes = &tion270_lcd_mode,
.num_modes = 1,
.lcd_conn = LCD_COLOR_TFT_18BPP,
};

static void __init tion270_lcd_init(void)
{
set_pxa_fb_info(&tion270_lcd_info);
}

static void __init tion270_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(tion270_pin_config));

/* Reset UCB1400 */
GPSR2 &= ~(1u << 31);
udelay(12);

printk(KERN_INFO "tion270: Add platform devices...");
platform_add_devices(ARRAY_AND_SIZE(tion270_devices));
printk(KERN_INFO "Ok\n");

#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
printk(KERN_INFO "tion270: Initializing LCD...");
tion270_lcd_init();
printk(KERN_INFO "Ok\n");

printk(KERN_INFO "tion270: Registering backlight device...");
tion270_backlight_register();
printk(KERN_INFO "Ok\n");
#endif
}

В чем может быть проблема?
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #4 : 10 Сентября, 2010, 16:36:03 »

В новом ядре такие режимы как 18BPP задаются теперь хитрым образом... Раньше было достаточно указать
static struct pxafb_mode_info tion270_lcd_mode = {
// -- cut --
.bpp = 18,
// -- cut --
};
а теперь надо
static struct pxafb_mode_info tion270_lcd_mode = {
// -- cut --
.bpp = 24,
.depth = 18,
// -- cut --
};

Попутно еще выяснилось, что метод передачи режима pxafb, через video=pxafb:tag=vga, теперь тоже не работает, говорит
pxa2xx-fb pxa2xx-fb: unknown option: tag=vga
pxa2xx-fb: probe of pxa2xx-fb failed with error -22

Сам разбор строки, который был в ядре 2.6.22 Тиона работает.

Теперь пытаюсь завести сам LCD, режим проходит, никто не ругается, но LCD не включается
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #5 : 10 Сентября, 2010, 16:39:43 »

> но LCD не включается

Подсветка?
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #6 : 10 Сентября, 2010, 22:52:49 »

Подсветка?
Померил напряжение на выходах подсветки с адаптера (A080SN01), там стабильно 4.8В, независимо от того включен режим PWM или GPIO. Пробовал менять значение яркости по-умолчанию - что 1023, что 500, эффект один. Установка значения 0 в режиме GPIO тоже не влияет...

Получается, что подсветка включена, а сам экран нет?
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #7 : 10 Сентября, 2010, 23:58:21 »

Ложная тревога. В режиме GPIO работает, правда все в каких-то красных тонах... Надо с режимами повозиться. А PWM видимо неправильно инициализируется через pwm_backlight. Копаем дальше
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #8 : 11 Сентября, 2010, 10:56:06 »

> правда все в каких-то красных тонах

Видимо, LCD-контроллер процессора настроен не в 18 bpp.
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #9 : 11 Сентября, 2010, 14:54:08 »

Случайно обнаружил следующее... если прикоснуться к 24 ноге на разъеме платы (т.е. как бы притянуть к нулю?), то краснота исчезает, что похоже на правду, т.к. 24 нога это старший бит красного цвета. Остальные цвета тоже "шумят", но не так сильно, видимо, младшие разряды только задеваются. Кстати, этот же "шум" и на VGA разъеме, та же краснота.

Честно говоря, удивлен находке, т.к. при первом включении такой проблемы не было, правда прошивка была заводская.

Не пойму, это проблема в источнике питания или все-таки в настройках? Сейчас Тион питается от системника компьютерного, в понедельник попробую от нормального источника.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #10 : 11 Сентября, 2010, 15:16:27 »

> Не пойму, это проблема в источнике питания или все-таки в настройках?

Ещё раз:
LCD-контроллер процессора настроен не в 18 bpp
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #11 : 15 Сентября, 2010, 12:55:35 »

Откомпилил pxafb в дебаг режиме на новом и старом ядре.

Состояние регистров в 2.6.22.19

Цитировать
[    0.600000] fdadr0 0xa0600fe0
[    0.600000] fdadr1 0xa0600fd0
[    0.600000] reg_lccr0 0x043008f8
[    0.600000] reg_lccr1 0x63319e7f
[    0.600000] reg_lccr2 0x1e0a05df
[    0.600000] reg_lccr3 0xc6300001

В 2.6.32.21
Цитировать
[    5.098411] fdadr0 0xa7979c60
[    5.098428] fdadr1 0x00000000
[    5.098447] reg_lccr0 0x043008f8
[    5.098465] reg_lccr1 0x2758ff1f
[    5.098484] reg_lccr2 0x01180a57
[    5.098503] reg_lccr3 0xc6300001

Таким образом, и там и там - 18bpp... reg_lccr1 и reg_lccr2 разные, т.к. разрешение разное стоит. Сейчас для чистоты эксперимента попробую совсем одинаковые настройки сделать

Что такое fdadr0 и fdadr1 пока не понял...
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #12 : 15 Сентября, 2010, 14:07:53 »

Теперь в регистрах одно и то же... но с изображением все равно проблема
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #13 : 16 Сентября, 2010, 09:13:44 »

> Теперь в регистрах одно и то же... но с изображением все равно проблема

Значит не во всех.
Записан

0xff

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 19
Re: Ядро 2.6.32 и Тион-Про270
« Ответ #14 : 16 Сентября, 2010, 16:59:32 »

Во всех

Косяк не в настройках LCD контроллера. Забыл сконфигурировать пины LDD16 и LDD17, соответственно, они болтались без притяжки, давая шум на выходе.

Неделя времени на такую фигню - это эпик фейл )
Записан