ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: 0xff от 08 Сентября, 2010, 11:31:58

Название: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 08 Сентября, 2010, 11:31:58
Пытаюсь портировать 2.6.32 на Тион-Про270, за основу брал конфиги из wiki. Ядро виснет после Uncompressing kernel image... booting... Куда копать?

Портировал u-boot-2009.11, запускаю из-под него.
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: asv от 09 Сентября, 2010, 08:49:32
Вероятно bi_arch_number не тот.

Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: laborer от 09 Сентября, 2010, 10:38:35
Пытаюсь портировать 2.6.32 на Тион-Про270, за основу брал конфиги из wiki. Ядро виснет после Uncompressing kernel image... booting... Куда копать?

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

Посмотрите здесь: http://tocolinux.sourceforge.net/
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 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
}

В чем может быть проблема?
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 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 не включается
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: asv от 10 Сентября, 2010, 16:39:43
> но LCD не включается

Подсветка?
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 10 Сентября, 2010, 22:52:49
Подсветка?
Померил напряжение на выходах подсветки с адаптера (A080SN01), там стабильно 4.8В, независимо от того включен режим PWM или GPIO. Пробовал менять значение яркости по-умолчанию - что 1023, что 500, эффект один. Установка значения 0 в режиме GPIO тоже не влияет...

Получается, что подсветка включена, а сам экран нет?
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 10 Сентября, 2010, 23:58:21
Ложная тревога. В режиме GPIO работает, правда все в каких-то красных тонах... Надо с режимами повозиться. А PWM видимо неправильно инициализируется через pwm_backlight. Копаем дальше
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: asv от 11 Сентября, 2010, 10:56:06
> правда все в каких-то красных тонах

Видимо, LCD-контроллер процессора настроен не в 18 bpp.
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 11 Сентября, 2010, 14:54:08
Случайно обнаружил следующее... если прикоснуться к 24 ноге на разъеме платы (т.е. как бы притянуть к нулю?), то краснота исчезает, что похоже на правду, т.к. 24 нога это старший бит красного цвета. Остальные цвета тоже "шумят", но не так сильно, видимо, младшие разряды только задеваются. Кстати, этот же "шум" и на VGA разъеме, та же краснота.

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

Не пойму, это проблема в источнике питания или все-таки в настройках? Сейчас Тион питается от системника компьютерного, в понедельник попробую от нормального источника.
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: asv от 11 Сентября, 2010, 15:16:27
> Не пойму, это проблема в источнике питания или все-таки в настройках?

Ещё раз:
LCD-контроллер процессора настроен не в 18 bpp
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 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 пока не понял...
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 15 Сентября, 2010, 14:07:53
Теперь в регистрах одно и то же... но с изображением все равно проблема
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: asv от 16 Сентября, 2010, 09:13:44
> Теперь в регистрах одно и то же... но с изображением все равно проблема

Значит не во всех.
Название: Re: Ядро 2.6.32 и Тион-Про270
Отправлено: 0xff от 16 Сентября, 2010, 16:59:32
Во всех

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

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