ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: faa от 19 Июня, 2009, 12:35:25

Название: linux-2.6.30 и Тион
Отправлено: faa от 19 Июня, 2009, 12:35:25
Прикрутил свежее ядро 2.6.30 к Тион-у.
Из коробки работает eth, uart, wdt, rtc, gpio, i2c (через gpio), dma (m2p и p2m).
Добавил fb и ts (перенес из 2.6.21.5), ну и char-драйвер для прошивки fpga xilinx.
Патчи лежат тут ftp://ftp.ntcsm.ru/pub/tion9315/linux-2.6.30-tion-eabi-patch.tar.bz2 (http://ftp://ftp.ntcsm.ru/pub/tion9315/linux-2.6.30-tion-eabi-patch.tar.bz2).
march определяет как TION9315 (tion9315  MACH_TION9315  TION9315  1567) - сотв-но надо править uboot (redboot), чтобы отдавал правильный ID машины при загрузке ядра.
RTC через I2C (isl1208) тоже работает.
В процессе nand, keypad.
ide, spi и pcmcia - пока не пользуем.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 19 Июня, 2009, 15:39:42
Здорово

PCMCI на Тионах (EP93xx) не выведено.
NAND тоже нет, есть NOR.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 19 Июня, 2009, 15:45:05
Мое предыдущее сообщение было в смысле одобрения.
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 20 Июня, 2009, 10:05:18
Здорово

PCMCI на Тионах (EP93xx) не выведено.
NAND тоже нет, есть NOR.

Я в курсе насчет PCMCIA.
А nand мы используем. И keypad тоже. Поэтому придется эти драйверы прикручивать :)
Ну и звук в одном из проектов есть.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 20 Июня, 2009, 11:10:11
keypad был недавно в рассылке arm.linux.org.uk
LCD контроллер тоже был, лучше взять его
IDE был, но в режиме PIO
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 20 Июня, 2009, 12:24:43
keypad был недавно в рассылке arm.linux.org.uk

keypad на 2.6.21.5 у меня работал. портировать только надо на 2.6.30
а ссылочку попобробнее можно? чтоб не перерывать рассылку :)

LCD контроллер тоже был, лучше взять его
IDE был, но в режиме PIO


LCD работает. портанул с 2.6.21.5. используем разрешение 640х480 и 800х480. акселератор работает.
IDE не используем.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 20 Июня, 2009, 14:23:37
http://lists.arm.linux.org.uk/lurker/search/20101130.210000.00000000@sb:matrix,sb:keypad,sb:driver,sb:for,sb:cirrus,sb:ep93xx.en.html

http://lists.arm.linux.org.uk/lurker/search/20101130.210000.00000000@sb:ep93xx,sb:framebuffer,sb:driver.en.html
Название: Re: linux-2.6.30 и Тион
Отправлено: Snar от 16 Июля, 2009, 17:35:20
Кстати где-нибудь можно посмотреть ускоренную реализацию blit?А то всё как-то ограничиваются fill и line
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 16 Июля, 2009, 18:07:10
Я не встречал.
Название: Re: linux-2.6.30 и Тион
Отправлено: Snar от 16 Июля, 2009, 18:11:04
Интересно с чем это связано...может есть грабли? хотя в еррате ни слова...
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 20 Июля, 2009, 11:50:23
Кстати где-нибудь можно посмотреть ускоренную реализацию blit?А то всё как-то ограничиваются fill и line
Вот тут есть
http://read.pudn.com/downloads55/sourcecode/windows/vxd/190153/ep93xxfb.c__.htm
 (http://read.pudn.com/downloads55/sourcecode/windows/vxd/190153/ep93xxfb.c__.htm)
и вот еще вариант
void ep93xxfb_imageblit(struct fb_info *p, const struct fb_image *image)
{
    unsigned long blkdestwidth,tmp;
    void * pucBlitBuf;
/*    cfb_imageblit( p , image );
    return;
*/
    if ((image->dx >= p->var.xres) ||
        (image->dy >= p->var.yres) ||
        ((image->dx + image->width - 1) >= p->var.xres) ||
        ((image->dy + image->height - 1) >= p->var.yres))
        return;
    if (epinfo.bpp != image->depth )
        return;

    tmp =  (( image->dx + image->width ) * epinfo.bpp );
    blkdestwidth = tmp / 32;
    if(blkdestwidth > 0 && (tmp % 32 == 0))
        blkdestwidth--;
    blkdestwidth = blkdestwidth - (image->dx * epinfo.bpp) / 32;

    pucBlitBuf = kmalloc(1024*8,GFP_KERNEL);
    copy_from_user(pucBlitBuf, image->data, 5000);

    outl( 0x00000000 , BLOCKCTRL);

    outl( 0x00000000, SRCPIXELSTRT);
    outl( virt_to_phys(pucBlitBuf), BLKSRCSTRT);
    outl( (image->width * epinfo.bpp) / 32 , SRCLINELENGTH);
    outl(((image->width - 1) * epinfo.bpp) / 32, BLKSRCWIDTH );

    outl(((image->dx * epinfo.bpp) & 0x1F) |
         ((((image->dx + image->width - 1) * epinfo.bpp ) & 0x1F) << 16)
         , DESTPIXELSTRT);
    outl((epinfo.fb_phys + (image->dy * epinfo.xres * epinfo.bpp ) / 8 +
         (image->dx * epinfo.bpp ) / 8 )
         , BLKDSTSTRT);
    outl( ((epinfo.xres * epinfo.bpp) / 32), DESTLINELENGTH );
    outl( blkdestwidth, BLKDESTWIDTH );
    outl( image->height - 1 , BLKDESTHEIGHT);
    outl(image->fg_color, BLOCKMASK);
    outl(image->bg_color, BACKGROUND);
    outl( epinfo.pixformat | 0x00000003, BLOCKCTRL );
    ep93xxfb_wait();
}
только вызывается через ioctl
int ep93xxfb_ioctl(struct fb_info *info,unsigned int cmd, unsigned long arg)
{
    struct fb_fillrect fill;
    struct fb_copyarea cparea;
    struct fb_image img;
    struct ep93xx_line line;
    struct ep93xx_cursor cursor;

    switch (cmd) {
        case FBIO_EP93XX_CURSOR:
            copy_from_user(&cursor, (void *)arg, sizeof(struct ep93xx_cursor));
            ep93xxfb_cursor(info,&cursor);
            break;
        case FBIO_EP93XX_LINE:
            copy_from_user(&line, (void *)arg, sizeof(struct ep93xx_line));
            ep93xxfb_line(info,&line);
            break;
        case FBIO_EP93XX_FILL:
            copy_from_user(&fill, (void *)arg, sizeof(struct fb_fillrect));
            ep93xxfb_fillrect(info,&fill);
            break;
        case FBIO_EP93XX_BLIT:
            copy_from_user(&img, (void *)arg, sizeof(struct fb_image));
            ep93xxfb_imageblit(info, &img);
            break;
        case FBIO_EP93XX_COPY:
            copy_from_user(&cparea, (void *)arg, sizeof(struct fb_copyarea));
            ep93xxfb_copyarea(info,&cparea);
            break;
        default:
            return -EFAULT;
    }
    return 0;
}

Постараюсь прикрутить на днях к 2.6.30.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 30 Июля, 2009, 18:18:39
Почти по теме

http://arm.cirrus.com/forum/viewtopic.php?t=3593
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 31 Июля, 2009, 14:22:11
Почти по теме

http://arm.cirrus.com/forum/viewtopic.php?t=3593


В тему :)
Наблюдаю за процессом с большим интересом.
Название: Re: linux-2.6.30 и Тион
Отправлено: scad от 26 Августа, 2009, 14:00:13
Кстати где-нибудь можно посмотреть ускоренную реализацию blit?А то всё как-то ограничиваются fill и line
Вот тут есть
http://read.pudn.com/downloads55/sourcecode/windows/vxd/190153/ep93xxfb.c__.htm
 (http://read.pudn.com/downloads55/sourcecode/windows/vxd/190153/ep93xxfb.c__.htm)
и вот еще вариант
void ep93xxfb_imageblit(struct fb_info *p, const struct fb_image *image)
{
    unsigned long blkdestwidth,tmp;
    void * pucBlitBuf;
/*    cfb_imageblit( p , image );
    return;
*/
    if ((image->dx >= p->var.xres) ||
        (image->dy >= p->var.yres) ||
        ((image->dx + image->width - 1) >= p->var.xres) ||
        ((image->dy + image->height - 1) >= p->var.yres))
        return;
    if (epinfo.bpp != image->depth )
        return;

    tmp =  (( image->dx + image->width ) * epinfo.bpp );
    blkdestwidth = tmp / 32;
    if(blkdestwidth > 0 && (tmp % 32 == 0))
        blkdestwidth--;
    blkdestwidth = blkdestwidth - (image->dx * epinfo.bpp) / 32;

    pucBlitBuf = kmalloc(1024*8,GFP_KERNEL);
    copy_from_user(pucBlitBuf, image->data, 5000);

    outl( 0x00000000 , BLOCKCTRL);

    outl( 0x00000000, SRCPIXELSTRT);
    outl( virt_to_phys(pucBlitBuf), BLKSRCSTRT);
    outl( (image->width * epinfo.bpp) / 32 , SRCLINELENGTH);
    outl(((image->width - 1) * epinfo.bpp) / 32, BLKSRCWIDTH );

    outl(((image->dx * epinfo.bpp) & 0x1F) |
         ((((image->dx + image->width - 1) * epinfo.bpp ) & 0x1F) << 16)
         , DESTPIXELSTRT);
    outl((epinfo.fb_phys + (image->dy * epinfo.xres * epinfo.bpp ) / 8 +
         (image->dx * epinfo.bpp ) / 8 )
         , BLKDSTSTRT);
    outl( ((epinfo.xres * epinfo.bpp) / 32), DESTLINELENGTH );
    outl( blkdestwidth, BLKDESTWIDTH );
    outl( image->height - 1 , BLKDESTHEIGHT);
    outl(image->fg_color, BLOCKMASK);
    outl(image->bg_color, BACKGROUND);
    outl( epinfo.pixformat | 0x00000003, BLOCKCTRL );
    ep93xxfb_wait();
}
только вызывается через ioctl
int ep93xxfb_ioctl(struct fb_info *info,unsigned int cmd, unsigned long arg)
{
    struct fb_fillrect fill;
    struct fb_copyarea cparea;
    struct fb_image img;
    struct ep93xx_line line;
    struct ep93xx_cursor cursor;

    switch (cmd) {
        case FBIO_EP93XX_CURSOR:
            copy_from_user(&cursor, (void *)arg, sizeof(struct ep93xx_cursor));
            ep93xxfb_cursor(info,&cursor);
            break;
        case FBIO_EP93XX_LINE:
            copy_from_user(&line, (void *)arg, sizeof(struct ep93xx_line));
            ep93xxfb_line(info,&line);
            break;
        case FBIO_EP93XX_FILL:
            copy_from_user(&fill, (void *)arg, sizeof(struct fb_fillrect));
            ep93xxfb_fillrect(info,&fill);
            break;
        case FBIO_EP93XX_BLIT:
            copy_from_user(&img, (void *)arg, sizeof(struct fb_image));
            ep93xxfb_imageblit(info, &img);
            break;
        case FBIO_EP93XX_COPY:
            copy_from_user(&cparea, (void *)arg, sizeof(struct fb_copyarea));
            ep93xxfb_copyarea(info,&cparea);
            break;
        default:
            return -EFAULT;
    }
    return 0;
}

Постараюсь прикрутить на днях к 2.6.30.

Попытался использовать приведенный выше код в ядре 2.6.20.4. Разницу при работе с Opie как-то не ощутил. Есть ли программы тестирования производительности графики для ТИОН? Как определить что графический акселератор включен?
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 26 Августа, 2009, 14:08:24
> Есть ли программы тестирования производительности графики для ТИОН?

В QT (или в Opie) есть пример, который рисует что-то на экране и считает сколько успел нарисовать.

> Как определить что графический акселератор включен?

Посмотреть, что эти функции действительно вызваются.
Наверное можно strace'ом, будет показывать системные вызовы (т.е. и ioctl).
Название: Re: linux-2.6.30 и Тион
Отправлено: Snar от 27 Августа, 2009, 15:02:22
Тоже пробовал - результаты те же, похоже QT4 использует другой драйвер, может linuxfb
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 27 Августа, 2009, 15:40:37
Врядли обычная QT4 знает о "граф. ускорителе" EP93xx.

Или вы добавляли эту поддержку?
Название: Re: linux-2.6.30 и Тион
Отправлено: Snar от 27 Августа, 2009, 15:47:35
Я пытался реализовать для qt4 плагин графического драйвера а уж в нем  через ioctl вызывать blit (которая была в ядре), но у меня ничего не получилось - картинка всегда заполнялась "мусором".
Название: Re: linux-2.6.30 и Тион
Отправлено: scad от 28 Августа, 2009, 10:08:25
to Snar
Я вообще-то имел ввиду версию qt-2.3.10 от cirrus-а - в которой реализован драйвер для ep93xx и на базе которой собирается opie из стандартного crater-а.
Цитировать
Я пытался реализовать для qt4 плагин графического драйвера а уж в нем  через ioctl вызывать blit (которая была в ядре), но у меня ничего не получилось - картинка всегда заполнялась "мусором".
Я пошел другим путем и пытаюсь "подружить" DirectFB с поддержкой ep93xx+qt4, которая может работать через него с ТИОН-ом. Пока результат не особо утешительный... :(
Но я думаю стоит приложить усилия для быстрой работы qt4 на тионе, уж очень сладкая это вещь, а qt2 откровенное старье...
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 24 Октября, 2009, 12:53:01
Собрал ядро 2.6.30 с патчами - с Uboot 1.3.3 не пошло, затыкается после надписи Loading Linux.
Может, есть соображения, в чём траблы?
Конфиг по умолчанию - тоже затыкается.
Есть необходимость осуществить поддержку rtl8187, но к сожалению, в ядре, которое собирается (2.4.20.21) дров нет.
Буду признателен за совет. Спасибо.
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 24 Октября, 2009, 14:04:12
Собрал ядро 2.6.30 с патчами - с Uboot 1.3.3 не пошло, затыкается после надписи Loading Linux.

Странно. У меня с redboot 2.6.30 нормально грузится. И пошустрее, чем 2.6.21.5. Ушли траблы с nfsroot - перестал ретрейнится.
На Uboot так и не переполз - недосуг.

ИМХО, проблема может быть в том, что Uboot неверный код машины отдает ядру. Тогда может останавливаться после разархивирования ядра в памяти и попытке его старта (Loading Linux.....). У меня код машины стоит TION9315 и в redboot и в ядре.
$cat mach-types|grep -i tion
tion9315                MACH_TION9315           TION9315                1567
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 24 Октября, 2009, 21:41:38
Буду ковыряться :)
Возможно, разночтение вот в чём: у меня Тион-Про2, а не просто Тион. Если патчи только для Тиона, то будет затыкаться, имхо.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 25 Октября, 2009, 01:29:28
> Возможно, разночтение вот в чём: у меня Тион-Про2, а не просто Тион. Если патчи только для Тиона, то будет затыкаться, имхо.

Вряд ли дело в этом.
 
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 03 Ноября, 2009, 13:47:06
Всё собралось, дело было действительно в константе u-boot.

Почему-то в 2.6.30 не подгружается время из RTC. То есть при каждой загрузке ставится 1970 год.
Вообще, если есть такая возможность, ткните носом в методику написания патчей под тион. Убил неделю на то, чтоб собирать дрова под WLAN на ядро 2.6.20.21 - в итоге одни грабли и лаги :/

Проще уже заняться исправлением исходников ядра и патчингом, тем более, раз осталось сделать MMC, SPI и RTC.

Буду благодарен за помощь.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 03 Ноября, 2009, 20:51:24
> методику написания патчей под тион

Используете систему контроля версий (git, svn, ...) делаете добиваетесь работы (изучаете документацию, существующий аналогичный исходный код, пишите/проверяете) и делаете патчи. Если это всерьёз, то нужно делать для разрабатываемой версии ядра http://www.arm.linux.org.uk/developer/patches/ и подписаться на список рассылки linux-arm-kernel@lists.infradead.org

> осталось сделать MMC, SPI и RTC

IDE, AC97, кому что нужно.
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 03 Ноября, 2009, 23:47:43
Почему-то в 2.6.30 не подгружается время из RTC. То есть при каждой загрузке ставится 1970 год.
Вообще, если есть такая возможность, ткните носом в методику написания патчей под тион. Убил неделю на то, чтоб собирать дрова под WLAN на ядро 2.6.20.21 - в итоге одни грабли и лаги :/

Проще уже заняться исправлением исходников ядра и патчингом, тем более, раз осталось сделать MMC, SPI и RTC.
У меня RTC на ISL1208 работает - патчик есть в архиве для 2.6.30. Только устройство /dev/rtc* правильное надо и/или busybox посвежее.
С WLAN на DLINK DWG-122 под 2.6.20.21 и 2.6.21.5 были грабли - драйверы от производителя чипа (Ralink) собирались и подключались с бубном, но wifi работал. Для DWG-140 на момент 2.6.21 драйвера, ЕМНИП, не было.
DWG-122 и DWG>140 - под 2.6.30 должно быть в "из коробки" - по возможности проверю.
Для чипа из DWG-140 (на Atheros) вроде как открыли и включили в ядро > 2.6.28 - надо проверить :).

SPI не критично, все равно там скорость маловата - проще SPI через FPGA/CPLD сделать.
RTC работает.
MMC отпало само собой (?) - подключил на "мамке" для ТИОН NAND-flash на 1ГБайт (больше чипов под рукой не было, да и задача не требовала).
IDE - не актуально.
AC97 под 2.6.21.5 пел => под 2.6.30 можно перетащить. Правда, в 2.6.30 (или чуть ранее) API сильно "покорежен" в правильную сторону, но  "решабельно".
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 04 Ноября, 2009, 08:48:57
Цитировать
У меня RTC на ISL1208 работает - патчик есть в архиве для 2.6.30.

Так я, собственно, и брал этот патч :) Может быть, накрутил что-то в конфиге, конечно.
Я, вообще, юзаю debian lenny с флэшки, busybox не собирал, то есть я использую ядро в отдельности, только модули на КФС заливаю.

WLAN на ralink я под 2.6.20.21 завёл без проблем, да и на rtl8187 тоже, но в режиме клиента. Я-то хотел в режиме softap, а softap есть только в дровах, которые поддерживают mac80211, а оный был включен лишь в 2.6.24 :/

Насчёт SPI и MMC - ну, да, скорость маловата (порядка 450кБ/сек), но всё же. Может быть есть какие-то наработки, ну, или линки, чтоб я попробовал прикрутить это всё к ядру? Жалко занимать USB под карту памяти КФС :) Ну и плюс - вопрос загрузки, с MMCSPI всегда будет /dev/mmcblk0, а вот с USB имя устройства может плавать при вставлении "левой" флешки :)

IDE я тоже не использую, но, в общем-то, там разводка стандартная, поэтому можно попробовать содрать IDE-патч с 2.6.20.21.
Звук мне, вообще, проверить не на чем, к сожалению :/

И, кстати, совсем забыл спросить - а чем вызвано использование MACH_TION9315 вместо обычной константы?
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 04 Ноября, 2009, 12:28:58
И, кстати, совсем забыл спросить - а чем вызвано использование MACH_TION9315 вместо обычной константы?
Исторически :)
Купили ТИОН. Машинка новая, со своей спецификой, камень EP9315, а пользуют сборку и конфиги от edb9312.
Ну я и зарегистрировал машинку.
ДВК написал. Но разработчики остались на edb9312.
А у меня заказчики при загрузке видят "Tion-board ZAO-ZEO" - мелочь, а приятно :) И cat /proc/cpuinfo об этом же говорит ;)
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 04 Ноября, 2009, 13:03:03
> Ну я и зарегистрировал машинку.

Значит придётся всё-таки переходить в mainstream.
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 06 Ноября, 2009, 09:11:32
Собрал самое свежее ядро из git-а для EDB9312, всё запустилось, но вот незадача - в конфиге стоит использование консоли на FrameBuffer, а так же включен в ядро модуль EP93xxfb. Результат - при загрузке Framebuffer даже не пытается инициализоваться - на монике логотип из u-boot'а, а после загрузки udev - полный мусор.
В /dev/ устройства fb0 нет.
Долго смотрел на патч 2.6.30 в отношении framebuffer - так и не нашёл там особой разницы с модулем, который теперь есть в ядре.

Может, есть идеи, что я делаю не так? Может, упустил какой-то конфиг в ядре или ещё что-то? Помогите, пожалуйста...
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 06 Ноября, 2009, 09:25:10
Собрал самое свежее ядро из git-а для EDB9312, всё запустилось, но вот незадача - в конфиге стоит использование консоли на FrameBuffer, а так же включен в ядро модуль EP93xxfb. Результат - при загрузке Framebuffer даже не пытается инициализоваться - на монике логотип из u-boot'а, а после загрузки udev - полный мусор.
В /dev/ устройства fb0 нет.

Ядру сказать console на ttyAM0 и через minicom посмотреть, что ядро пишет при старте, особенно когда fb инициализирует (если инициализирует).
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 06 Ноября, 2009, 09:55:33
Так точно и сделано, консоль у меня всегда через uart1. Ядро просто не инициализирует fb0, даже не пытается!

Я вот до сих пор не могу понять, как же (и где) задаётся базовая конфигурация системы?
Касаемо часов в 2.6.30: tion9315.c изучил, исправил I2C с il1208 на ds1337 в настройках, чтоб заработали часы.

Так вот вопрос - а почему ядро само не подключает все модули (или не ищет оборудование?), которые заданы в конфиге =y? Получается, что поиск оборудования никак не производится при загрузке, тогда как быть?

Очевидно, что с fb те же грабли - при загрузке ядро просто не знает о его существовании, и никто потом не говорит, что, вообще, какой-то фреймбуфер в системе есть.

Кстати, когда пытался к разрабатываемому ядру прикрутить SPI, то пришлось его инициализацию тоже вручную делать в machine_init. Так и должно быть?
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 06 Ноября, 2009, 11:11:29
> Касаемо часов в 2.6.30: tion9315.c изучил, исправил I2C с il1208 на ds1337 в настройках, чтоб заработали часы.

Заработали?

>при загрузке ядро просто не знает о его существовании, и никто потом не говорит, что, вообще, какой-то фреймбуфер в системе есть.

Вы ep93xx_register_fb где-нибудь вызываете (arch/arm/mach-ep93xx/)?
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 06 Ноября, 2009, 12:25:42
Странно.
У меня в конфиге стоит
# Graphics support
#
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set

#
# Frame buffer hardware drivers
#
CONFIG_FB_EP93XX=y
# CONFIG_FB_ARMCLCD is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set

ep93xx_register_fb нигде не вызываю. Но fb инициализируется.
При загрузке ядра:
io scheduler anticipatory registered
ep93xxfb_alloc_videomem - exit
Console: switching to colour frame buffer device 80x30
fb0: EP93xx frame buffer at 640x480x16bpp
Module fpgaboot init
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 06 Ноября, 2009, 12:46:14
Да, часы заработали. Я просто добавил ещё одну строку в массив, которая описывает ds1337.

А вот ep93xx_register_fb нигде не вызываю.
В 2.6.30 тоже нигде не вызывается - и инициализируется всё, а вот в 2.6.32 - нет, и не пойму, куда копать :/

Я уже два дня гугл терроризирую по вопросу, как правильно инициализировать ARM, но ничего не нашёл.
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 06 Ноября, 2009, 13:18:59
В 2.6.30 тоже нигде не вызывается - и инициализируется всё, а вот в 2.6.32 - нет, и не пойму, куда копать :/

До 2.6.32 я еще не добрался :)
На досуге посмотрю, что там не так.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 06 Ноября, 2009, 13:32:50
Возможно, именно эта функция не вызывается, но где-то (в init драйвера или в arch/arm/mach) регистрируется platform device для fb.
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 06 Ноября, 2009, 18:19:42
Бинго! (с) ;)

Наконец-то кто-то разъяснил, что же тут происходит. Спасибо, asv :)

В 2.6.20.21 и в 2.6.30 platform_device_register делается внутри драйвера по условию
ret = platform_driver_register(....);
if (!ret)
   platform_device_register(....);

В исходниках 2.6.32-git нифига, кроме driver_register нет. Вот теперь я думаю, куда вносить изменения? В драйвер (как сделано сейчас на 2.6.30 и 2.6.20.21), или в описание архитектуры машины?
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 06 Ноября, 2009, 18:33:17
В описание архитектуры.
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 06 Ноября, 2009, 22:26:45
Знатный затык...
В общем, в 2.6.32 не напрасно fb не был включен при загрузке - при попытке добавления инициализации fb в init machine - кернел паник. Видимо, ребята что-то не дописали ;)

Взял ep93xx-fb.c от 2.6.30, поставил в 2.6.32. В пару заголовочных файлов дописал недостающие дефайны. В итоге - вылетает с ошибкой
ep93xxfb_init: can't get irq 31, err -22

Самое интересное, что функции request_irq передаются нормальные параметры (номер прерывания - 31, адрес процедуры - есть, явно не NULL). В итоге она всё равно возвращает -EINVAL.

Пробовал ради интереса поставить вместо 31 прерывания, скажем, 30 - вообще, виснет всё при загрузке.
Вроде, 31 прерывание ничем не занято, но оно у не желает регистрироваться...
Третий час пошёл, как бьюсь головой о стену - ноль-эффект.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 06 Ноября, 2009, 22:55:12
> инициализации fb в init machine - кернел паник.

Лог?
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 06 Ноября, 2009, 23:17:40
Лог:
Случай а) - портирован fb с 2.6.30:
Linux version 2.6.32-rc6-00075-g7c9abfb-dirty (root@cheee) (gcc version 4.1.2) #52 Fri Nov 6 22:21:37 MSK 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: Cirrus Logic EDB9312 Evaluation Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16192
Kernel command line: noinitrd rootdelay=10 root=/dev/sda1 console=ttyAM0,57600 video=ep93xxfb:vout=1,vmode=16
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 61016KB available (3380K code, 263K data, 104K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:120
VIC @fefb0000: id 0x00041190, vendor 0x41
VIC @fefc0000: id 0x00041190, vendor 0x41
Console: colour dummy device 80x30
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
ep93xx: PLL1 running at 399 MHz, PLL2 at 192 MHz
ep93xx: FCLK 199 MHz, HCLK 99 MHz, PCLK 49 MHz
M2P DMA subsystem initialized
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (extended precision)
JFFS2 version 2.2. (NAND) б╘ 2001-2006 Red Hat, Inc.
msgmni has been set to 119
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
[b]ep93xxfb_init: can't get irq 31, err -22[/b]
Serial: AMBA driver
apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a AMBA
console [ttyAM0] enabled
apb:uart2: ttyAM1 at MMIO 0x808d0000 (irq = 54) is a AMBA
apb:uart3: ttyAM2 at MMIO 0x808e0000 (irq = 55) is a AMBA
nbd: registered device at major 43
physmap platform flash device: 02000000 at 60000000
physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
Reducing visibility of 65536KiB chip to 32768KiB
Searching for RedBoot partition table in physmap-flash.0 at offset 0x1fc0000
No RedBoot partition table detected in physmap-flash.0
ep93xx-eth version 0.1 loading
eth0: ep93xx on-chip ethernet, IRQ 39, 0e:00:00:ea:18:f0.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ep93xx-ohci ep93xx-ohci: EP93xx OHCI
ep93xx-ohci ep93xx-ohci: new USB bus registered, assigned bus number 1
ep93xx-ohci ep93xx-ohci: irq 56, io mem 0x80020000
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EP93xx OHCI
usb usb1: Manufacturer: Linux 2.6.32-rc6-00075-g7c9abfb-dirty ohci_hcd
usb usb1: SerialNumber: ep93xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
rtc-ds1307 0-0068: rtc core: registered ds1337 as rtc0
i2c-gpio i2c-gpio.0: using pins 49 (SDA) and 48 (SCL)
ep93xx_wdt: EP93XX watchdog, driver version 0.3
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
Registered led device: platform:grled
Registered led device: platform:rdled
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
rtc-ds1307 0-0068: setting system clock to 2009-11-06 19:24:47 UTC (1257535487)
Waiting 10sec before mounting root device...

Случай б) - попытка запустить код ядра 2.6.32 из git.
в core.c добавлен следующий кусок кода:
ep93xx_register_fb(&ep93xxfb_data);Примечательно то, что все функции и необходимые массивы уже объявлены и заполнены в этом core.c

Результат исполнения:
Linux version 2.6.32-rc6-00075-g7c9abfb-dirty (root@cheee) (gcc version 4.1.2) #55 Fri Nov 6 23:17:11 MSK 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: Cirrus Logic EDB9312 Evaluation Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16192
Kernel command line: noinitrd rootdelay=10 root=/dev/sda1 console=ttyAM0,57600 video=ep93xxfb:vout=1,vmode=16
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 61076KB available (3324K code, 259K data, 104K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:120
VIC @fefb0000: id 0x00041190, vendor 0x41
VIC @fefc0000: id 0x00041190, vendor 0x41
Console: colour dummy device 80x30
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
ep93xx: PLL1 running at 399 MHz, PLL2 at 192 MHz
ep93xx: FCLK 199 MHz, HCLK 99 MHz, PCLK 49 MHz
M2P DMA subsystem initialized
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (extended precision)
JFFS2 version 2.2. (NAND) б╘ 2001-2006 Red Hat, Inc.
msgmni has been set to 119
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
------------[ cut here ]------------
WARNING: at mm/page_alloc.c:1805 __alloc_pages_nodemask+0x144/0x504()
Modules linked in:
[<c0028b9c>] (unwind_backtrace+0x0/0xd4) from [<c00405b0>] (warn_slowpath_common+0x48/0x64)
[<c00405b0>] (warn_slowpath_common+0x48/0x64) from [<c006e918>] (__alloc_pages_nodemask+0x144/0x504)
[<c006e918>] (__alloc_pages_nodemask+0x144/0x504) from [<c00294c8>] (__dma_alloc+0x160/0x3b0)
[<c00294c8>] (__dma_alloc+0x160/0x3b0) from [<c0029738>] (dma_alloc_writecombine+0x20/0x2c)
[<c0029738>] (dma_alloc_writecombine+0x20/0x2c) from [<c0013c58>] (ep93xxfb_probe+0xe8/0x3b8)
[<c0013c58>] (ep93xxfb_probe+0xe8/0x3b8) from [<c018bd2c>] (platform_drv_probe+0x1c/0x24)
[<c018bd2c>] (platform_drv_probe+0x1c/0x24) from [<c018adc0>] (driver_probe_device+0xc0/0x174)
[<c018adc0>] (driver_probe_device+0xc0/0x174) from [<c018aed0>] (__driver_attach+0x5c/0x7c)
[<c018aed0>] (__driver_attach+0x5c/0x7c) from [<c018a174>] (bus_for_each_dev+0x4c/0x84)
[<c018a174>] (bus_for_each_dev+0x4c/0x84) from [<c018a74c>] (bus_add_driver+0xa0/0x22c)
[<c018a74c>] (bus_add_driver+0xa0/0x22c) from [<c018b1c4>] (driver_register+0xa8/0x134)
[<c018b1c4>] (driver_register+0xa8/0x134) from [<c00223a0>] (do_one_initcall+0x60/0x1ac)
[<c00223a0>] (do_one_initcall+0x60/0x1ac) from [<c0008894>] (kernel_init+0x8c/0x100)
[<c0008894>] (kernel_init+0x8c/0x100) from [<c0023e98>] (kernel_thread_exit+0x0/0x8)
---[ end trace da227214a82491b7 ]---
ep93xx-fb: probe of ep93xx-fb failed with error -12
Serial: AMBA driver
apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a AMBA
console [ttyAM0] enabled
apb:uart2: ttyAM1 at MMIO 0x808d0000 (irq = 54) is a AMBA
apb:uart3: ttyAM2 at MMIO 0x808e0000 (irq = 55) is a AMBA
nbd: registered device at major 43
physmap platform flash device: 02000000 at 60000000
physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
Reducing visibility of 65536KiB chip to 32768KiB
Searching for RedBoot partition table in physmap-flash.0 at offset 0x1fc0000
No RedBoot partition table detected in physmap-flash.0
ep93xx-eth version 0.1 loading
eth0: ep93xx on-chip ethernet, IRQ 39, 0e:00:00:ea:18:f0.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ep93xx-ohci ep93xx-ohci: EP93xx OHCI
ep93xx-ohci ep93xx-ohci: new USB bus registered, assigned bus number 1
ep93xx-ohci ep93xx-ohci: irq 56, io mem 0x80020000
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EP93xx OHCI
usb usb1: Manufacturer: Linux 2.6.32-rc6-00075-g7c9abfb-dirty ohci_hcd
usb usb1: SerialNumber: ep93xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
rtc-ds1307 0-0068: rtc core: registered ds1337 as rtc0
i2c-gpio i2c-gpio.0: using pins 49 (SDA) and 48 (SCL)
ep93xx_wdt: EP93XX watchdog, driver version 0.3
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
Registered led device: platform:grled
Registered led device: platform:rdled
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
rtc-ds1307 0-0068: setting system clock to 2009-11-06 20:20:27 UTC (1257538827)
Waiting 10sec before mounting root device...
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 06 Ноября, 2009, 23:40:07
ep93xxfb_mach_info заполнено при вызове ep93xx_register_fb?
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 06 Ноября, 2009, 23:42:06
Взял ep93xx-fb.c от 2.6.30, поставил в 2.6.32. В пару заголовочных файлов дописал недостающие дефайны. В итоге - вылетает с ошибкой
ep93xxfb_init: can't get irq 31, err -22

Самое интересное, что функции request_irq передаются нормальные параметры (номер прерывания - 31, адрес процедуры - есть, явно не NULL). В итоге она всё равно возвращает -EINVAL.

Пробовал ради интереса поставить вместо 31 прерывания, скажем, 30 - вообще, виснет всё при загрузке.
Вроде, 31 прерывание ничем не занято, но оно у не желает регистрироваться...
Третий час пошёл, как бьюсь головой о стену - ноль-эффект.

В irqs.h прописано?
#define IRQ_EP93XX_GRAPHICS             31
#define EP93XX_VIC1_VALID_IRQ_MASK      0xfffffffc

ЗЫ: Патч в студию.
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 07 Ноября, 2009, 00:20:02
> ep93xxfb_mach_info заполнено при вызове ep93xx_register_fb?
... говорили же мне, что после работы не стоит заниматься программированием :) Нет, конечно, там стоит заглушка :/ Попробую завтра расковырять тогда, что делать-то.

В irqs.h прописано?
Маску забыл поправить - из-за этого грабли были с -EINVAL. Поправил на нормальную - ядро просто затыкается.
## Booting kernel from Legacy Image at 60100000 ...
   Image Name:   Linux-2.6.32-rc6-00075-g7c9abfb-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1912416 Bytes =  1.8 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Патча нет. Если подскажете, как правильно с помощью улиты git его сделать - сделаю. Но я просто заменил текст ep93xx-fb.c на тот, который был в патче 2.6.30, добавил пару строк в irqs.h и ещё несколько в другие заголовочники, содержащие DEVCFG.
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 07 Ноября, 2009, 00:43:49
Вот для начала работы с git:
http://www.ibm.com/developerworks/ru/library/l-git/index.html (http://www.ibm.com/developerworks/ru/library/l-git/index.html)
http://www.opennet.ru/tips/info/2179.shtml (http://www.opennet.ru/tips/info/2179.shtml)
http://blog.nsws.ru/rabota-s-git-dlya-nachinayushhix.html (http://blog.nsws.ru/rabota-s-git-dlya-nachinayushhix.html)

Ключевое слово git diff.

man git
или http://www.kernel.org/pub/software/scm/git/docs/ (http://www.kernel.org/pub/software/scm/git/docs/)
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 07 Ноября, 2009, 08:50:40
Патч портирования fb на 2.6.32 прикреплён. Затыкается после Uncompressing linux..... done. Booting the kernel.

Попробовал заполнить структуру и вызвать штатный fb - результат такой же, затыкается после вышеуказанной надписи. Что-то дело зашло в тупик :/
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 07 Ноября, 2009, 10:18:07
http://progit.org/book/
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 07 Ноября, 2009, 11:50:57
Патч добавления инициализации стандартного для 2.6.32 fb в mach/core.c
Результат всё тот же - затык на стадии инициализации...

Дайте тапком по голове, потому что я уже ничего не могу понять :) Кучу вариантов перебрал - грабли одинаковые...
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 07 Ноября, 2009, 18:53:46
Работает на 5.7 экране, только сообщается нулевая частота обновления экрана

cat /sys/class/graphics/fb0/modes
U:640x480p-0

Патчи для http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm.git/
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 07 Ноября, 2009, 19:17:01
Однако, ерунда какая-то происходит. Смотрю на свой код, смотрю на этот - ну логической разницы не вижу в fb, хоть убейте :)

Спасибо :) Сейчас попробую...
Вопрос тогда такой - войдёт ли данный патч в mainline?

Add:
Кстати, если поставить VGA режимы только - показывает частоту обновления. Имхо, в патче забита строчка с неверными таймингами (можно проверить это улитой fbset -i) - ну, результат очевиден. Заданная там строчка на моей системе ставит 640х480 100Гц, и моник орёт, что режим неверный :)
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 07 Ноября, 2009, 22:39:12
> Вопрос тогда такой - войдёт ли данный патч в mainline?

Попробуем

Обновление:
- SDSEL bits from video attribs register
- pixclock, video blank function, register PWM

Разница от предыдущего патча tion-mach.patch: tion-mach_to_v1.patch

PS. .config пропустил прошлый раз
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 08 Ноября, 2009, 00:32:36
Уже потестил. Хотел отписаться про найденный баг с видеоадаптером при уходе в blank, но опоздал :)
VGA режимы работают нормально. Переставлял на ходу с fbset - всё окей.

Но есть одно "но" - если ядро загружается с режимом меньшим по разрешению (объёму памяти), чем выставляется, то при выполнении команды fbset <большее_разрешение> - система повиснет. Пробовал методом тыка изменять fbset -xres на +1, +2 от текущего разрешения - на экране мусорные полосы появляются. То есть происходит наложение видеопамяти на оперативку.
Отсюда понятно, почему получается зависание при переключении на больший режим. Видимо, надо регистрировать сразу больше памяти под фреймбуфер для порядка.

PS: кстати, касаемо видеорежимов. Пробовал играться с -rgba, и задумался - LCD подключается как 6/6/6, а 16 бит - это 5/6/5. Как разведены на плате оставшиеся два бита (R,B)? Посылал по мылу запрос на принципиалку - что-то не ответили. Может быть, есть у кого? Мне как электронщику в 100 раз понятнее принципиалка :)
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 08 Ноября, 2009, 00:41:36
Отсюда понятно, почему получается зависание при переключении на больший режим. Видимо, надо регистрировать сразу больше памяти под фреймбуфер для порядка.

ЕМНИП, в каком-то из старых вариантов от cirrus так и было - драйвер запрашивал память для максимального разрешения и на 24 бита на точку.
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 08 Ноября, 2009, 01:08:57
Попробуем

Неужели это случилось? ;)

ЗЫ: Если включат в основную ветку - это ж насколько будет легче сопровождать.
ЗЫЗЫ: ИМХО, ТИОН-ы ничуть не хуже micro9 и TS.
Вот только FPGA-шечки иногда очень не хватает.

Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 08 Ноября, 2009, 11:16:44
PS: кстати, касаемо видеорежимов. Пробовал играться с -rgba, и задумался - LCD подключается как 6/6/6, а 16 бит - это 5/6/5. Как разведены на плате оставшиеся два бита (R,B)? Посылал по мылу запрос на принципиалку - что-то не ответили. Может быть, есть у кого? Мне как электронщику в 100 раз понятнее принципиалка :)

Руководство решило принципиальные схемы на сайте убрать.
В данном случае можно посмотреть схемы адаптеров http://www.zao-zeo.ru/dokuwiki/doku.php/adapters:display:main
На адаптерах для плат на базе EP93xx выведены 18 сигналов (6 6 6), но при работе используются только 16 (5 6 5). Дисплеи же бывают и 18 и 24 битные.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 08 Ноября, 2009, 11:18:43
ЕМНИП, в каком-то из старых вариантов от cirrus так и было - драйвер запрашивал память для максимального разрешения и на 24 бита на точку.

Да, но резервировать 3 МБ (24*2180*1024), должен быть способ получше.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 08 Ноября, 2009, 11:46:29

Неужели это случилось? ;)


Пока ещё нет, но уже видно трех заинтересованных. Сделаю на wiki страницу
http://www.zao-zeo.ru/dokuwiki/doku.php/linux-dev

Можно было бы сделать и репозиторий, но кто за ним будет следить?
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 08 Ноября, 2009, 11:51:10
Цитировать
На адаптерах для плат на базе EP93xx выведены 18 сигналов (6 6 6), но при работе используются только 16 (5 6 5).
Понятно, то есть при выводе цветов R и B осуществляется сдвиг налево на 1 бит, чтоб яркость выровнять.
[offtopic]У меня валяется дисплей от старого бука 800х600 с дохлой подсветкой. Подключал - нормально, вроде, только цвета оценить не смог - вот соберу подсветку на светодиодах, тогда сделаю :) [/offtopic]

Цитировать
Да, но резервировать 3 МБ (24*2180*1024), должен быть способ получше.
Гм, кажется, в интегрированных видюхах на матерях так сразу и делается, только объём видео ОЗУ задаётся в биосе.
В принципе, можно сделать настройку при компайле ядра, сколько минимум ОЗУ выделять - и если при инициализации выставляется режим с большим кол-вом требуемой памяти, видеобуфер автоматически расширяется. Ну, а если юзер при сборке ядра выставил 600кБ видео ОЗУ, а потом захотел программно поставить 1280х1024х24 - это его грабли как бы.
Вариант номер два - задавать объём требуемой видеопамяти как параметр ядра при загрузке. Если не задано - выделяется сколько надо под заданный видеорежим (или под дефолтый, если видеорежим не задан). Ну, или как-то так...

Цитировать
Можно было бы сделать и репозиторий, но кто за ним будет следить?
Имхо, смысла немного. По идее, изменения в ядро принимаются от всех желающих - можно попробовать дать им патчик. Он всё равно ничего не меняет по сути, кроме как добавляет новую платформу. Думаю, что должны принять.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 08 Ноября, 2009, 12:31:29
Имхо, смысла немного. По идее, изменения в ядро принимаются от всех желающих - можно попробовать дать им патчик. Он всё равно ничего не меняет по сути, кроме как добавляет новую платформу. Думаю, что должны принять.

Я думаю рано еще пробовать, пользы особой нет.

Пока можно обойтись и наборами патчей, но нужно делать и остальное, поэтому будут изменения, а конфликты проще решать в системе.
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 08 Ноября, 2009, 13:08:07
По поводу вики:

Цитировать
NOR Flash
Определяется и работала
Надо вызывать парсинг параметров, заданный в окружении uboot, чтоб было правильное разделение mtd на mtd0,1,2, а то получается один большой блок - и в кучу. В 2.6.20.21 парсинг был.

Цитировать
LED
Работают
Хм, у меня зелёный светится постоянно, а красный молчит. Вроде, в настройках ядра все heartbeat LED выставлены - всё равно что-то не то. Не критично, конечно, но хотелось бы разобраться.

Цитировать
Периферия
RTC
Проверить
ИМС M41T00 на I2C
Работает без проблем. И читается, и пишется hwclock.

Кстати, вопрос. А нужно ли включить встроенный в ep93xx RTC? Есть ли смысл?
Если включить, получаются rtc0 и rtc1, причём, кажется, rtc0 - встроенный в ep93xx.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 08 Ноября, 2009, 13:24:14
По поводу вики:

Цитировать
NOR Flash
Определяется и работала
Надо вызывать парсинг параметров, заданный в окружении uboot, чтоб было правильное разделение mtd на mtd0,1,2, а то получается один большой блок - и в кучу. В 2.6.20.21 парсинг был.

Не было, разделение задавалось в коде и соответствовало разделению U-Boot по умолчанию.
Да, можно использовать передаваемые из U-Boot ядру tag'и.

Цитировать
LED
Хм, у меня зелёный светится постоянно, а красный молчит. Вроде, в настройках ядра все heartbeat LED выставлены - всё равно что-то не то. Не критично, конечно, но хотелось бы разобраться.

Это еще после U-Boot такое состояние. CONFIG_LEDS_GPIO не хватает в конфигурации?

Цитировать
Периферия
RTC
Проверить
ИМС M41T00 на I2C
Работает без проблем. И читается, и пишется hwclock.

Патч?

Цитировать
Кстати, вопрос. А нужно ли включить встроенный в ep93xx RTC? Есть ли смысл?
Если включить, получаются rtc0 и rtc1, причём, кажется, rtc0 - встроенный в ep93xx.

В конфигурации можно задать с какого rtc# читать время при загрузке.
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 08 Ноября, 2009, 13:36:24
Цитировать
Периферия
RTC
Проверить
ИМС M41T00 на I2C
Работает без проблем. И читается, и пишется hwclock.
Патч?

Хм, никакого патча не потребовалось. Завелось на tion-pro2 сразу. Я лишь в конфигурации отметил GPIO I2C, и в RTC отметил дрова под m41t00/ds1307/ds1337.
Лог вот:
rtc-ds1307 0-0068: rtc core: registered m41t00 as rtc0
....
rtc-ds1307 0-0068: setting system clock to 2009-11-08 10:33:37 UTC (1257676417)


Цитировать
В конфигурации можно задать с какого rtc# читать время при загрузке.
Это понятно. Вот в чём и вопрос - а есть ли смысл пользоваться часами ep93xx, если они после каждого ресета сбрасываются? :)

Цитировать
Это еще после U-Boot такое состояние. CONFIG_LEDS_GPIO не хватает в конфигурации?
Добавил - светодиоды, вообще, погасли. Такое впечатление, что триггеры не срабатывают.
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_GPIO_PLATFORM=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
Остальные все не поставлены. Конфиг триггеров взял подобно 2.6.20.21. Но там-то мигали, а тут - тишина. Кажется, в machine_inin что-то не хватает, связанное с регистрацией триггеров для светиков.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 16 Ноября, 2009, 20:38:56
Добавил - светодиоды, вообще, погасли. Такое впечатление, что триггеры не срабатывают.
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_GPIO_PLATFORM=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
Остальные все не поставлены. Конфиг триггеров взял подобно 2.6.20.21. Но там-то мигали, а тут - тишина. Кажется, в machine_inin что-то не хватает, связанное с регистрацией триггеров для светиков.

Состояние можно менять через /sys/class/leds/
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 16 Ноября, 2009, 20:40:11
Добавлена матричная клавиатура.

P.S. Если править сообщение, то уведомления не приходят. Лучше не править без надобности.
Название: Re: linux-2.6.30 и Тион
Отправлено: aserg от 15 Декабря, 2009, 14:45:35
Господа, раскритикуйте меня пожалуйста. Нет возможности перепрошивать UBoot, а хочется запустить свежее ядро.
Если сделать следующий хак:

В файле arch/arm/boot/compressed/head.S заменить
1:        mov r7, r1          @ save architecture ID*/
на
1:      ldr r7, =0x061f

То есть выдать себя за MACH_TION9315
Вот первые строчки загрузки.

Linux version 2.6.30.10 (root@build) (gcc version 3.3.6) #9 PREEMPT Tue Dec 15 10:12:11 MSK 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: ZAO ZEO TION9315 SBC module

Ядро стартует, доходит до монтирования ФС и падает в кернел паник.
Не вылезет ли дальше чего-нибудь интересного??
Плата - TionPro V2
Название: Re: linux-2.6.30 и Тион
Отправлено: aserg от 13 Января, 2010, 19:13:40
Здравствуйте!

Беру самый свежачок - 2.6.32.3 + tion-mach_v1.patch

Собираю, запускаю - все нормально, кроме того, что "сбита палитра" на мониторе
Такое ощущение что fb0 использует 256 цветов, хотя fbset выдает

mode "640x480-72"
        # D: 32,400 MHz, H: 37,675 kHz, V: 72,312 Hz
        geometry 640 480 640 480 16
        timings 30864 40 140 8 30 40 3
        accel false
        rgba 5/11,6/5,5/0,0/0
endmode

Ни у кого таких проблем не возникало? Может я какой патч пропустил??
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 13 Января, 2010, 19:37:03
В tion-mach_v1.patch сделан только 5.7" дисплей, основная разница с VGA это: EP93XXFB_PCLK_FALLING
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 14 Января, 2010, 12:10:08
Дабы не плодить темы спрошу тут...

Небольшая вводная: есть своя железка, в коротой установлен Тион. На нем изначально установлен загрузчик uboot и linux "от производителя". Решил опробовать ядро 2.6.32.3. Все необходимое взял тут http://www.zao-zeo.ru/dokuwiki/doku.php/linux-dev (http://www.zao-zeo.ru/dokuwiki/doku.php/linux-dev) и тут http://www.zao-zeo.ru/dokuwiki/doku.php/u-boot (http://www.zao-zeo.ru/dokuwiki/doku.php/u-boot). Взял чистый u-boot 1.3.3 и накатил сверху сперва u-boot-1.3.3_tion-tion270-series_svn775_200910071153.tar.gz, а затем u-boot_arch-number.patch. Далее
make tion_config
make CROSS_COMPILE=arm-linux-uclibcgnueabi-
Полученный u-boot.bin при помощи download.exe закатал на Тион.
ПРи старте имеем следующее
## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0 MB


U-Boot 1.3.3 (Jan 12 2010 - 17:07:28)

CPU:   Cirrus Logic EP9315 rev. E2
DRAM:  64 MB
Flash:  0 kB
Hit any key to stop autoboot:  0
$
В чем я мог ошибиться... где что подправить надо???

Заранее благодарен за ответ.

P.S. Перед прошиванием флеш не форматировал... мож из-за этого?
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 14 Января, 2010, 12:27:24
Это сообщение относиться к этому U-Boot?
## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0 MB

Т.е. не определилась Flash, 'flinfo' что выводит?


> P.S. Перед прошиванием флеш не форматировал... мож из-за этого?

download сотрёт записываемую область


> Дабы не плодить темы спрошу тут

Если существующие темы не подходят, то почему не создать? Из обсуждения делаете солянку.
Название: Re: linux-2.6.30 и Тион
Отправлено: aserg от 14 Января, 2010, 13:40:27
asv, спасибо. Что я только не перепробовал уже.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 14 Января, 2010, 13:43:47
> Что я только не перепробовал уже.

Работает? Добавили (по человечески) настройки для VGA и проверили?
Название: Re: linux-2.6.30 и Тион
Отправлено: aserg от 14 Января, 2010, 14:34:36
Да, работает. Я убрал флаг EP93XXFB_PCLK_FALLING из tion_fb_mach_info. Если по человечески, то наверное надо добавить соответствующий режим в tion_fb_modes[], и реализовать выбор режима через параметры передаваемые ядру, как это в 20м ядре было?
Название: Re: linux-2.6.30 и Тион
Отправлено: aserg от 15 Января, 2010, 10:40:37
ДД!
Ради интереса решил попробовать IDE жесткий диск. Соединил с Тионом, питание подал со стационарного компа - включаю машинку и... тишина. В миникоме ничего не слышно. Вытаскиваю IDE шлейф - все работает. В документации никаких особенностей подключения не нашел. Может я чтото не так делаю?
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 15 Января, 2010, 12:52:26
> Может я чтото не так делаю?

Может быть
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 15 Января, 2010, 14:29:19
...
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Cirrus Logic EP93XX IDE initialization.
hda: ST3160021A, ATA DISK drive
        device configured for speed X66
ide0 at 0x800-0x807,0x406 on irq 40
hda: max request size: 512KiB
hda: Host Protected Area detected.
        current capacity is 312575599 sectors (160038 MB)
        native  capacity is 312581808 sectors (160041 MB)
hda: Host Protected Area disabled.
hda: 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63, UDMA(33)
hda: cache flushes supported
 hda: hda1 hda2 < hda5 >

# fdisk /dev/hda

The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *           1        8924    71681998+   7  HPFS/NTFS
/dev/hda2            8925       19455    84590257+   f  Win95 Ext'd (LBA)
/dev/hda5            8925       19455    84590226    7  HPFS/NTFS

Command (m for help): q

/ # uname -a
Linux (none) 2.6.20.21 #3 PREEMPT Fri Nov 13 11:06:38 MSK 2009 armv4tl unknown
/ #
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 27 Января, 2010, 13:33:07
В начале предыдущей страницы svts обсуждал вопрос разбиения на партиции mtd-устройства. Интересно, получилось этот вопрос разрешить?
На странице http://www.zao-zeo.ru/dokuwiki/doku.php/linux-dev (http://www.zao-zeo.ru/dokuwiki/doku.php/linux-dev) в секции "NOR Flash" уважаемый asv написал, что "... Или ничего не делать, а задавать раздел повторно в cmdline.". При загрузке ядра передаю таблицу разделов в ядро linux-2.6.32.3:
[    0.000000] Kernel command line: root=/dev/ram console=ttyAM0,57600 mtdparts=physmap-flash:512k,2560k,5M
(кстати, как правильно mtdparts=physmap-flash или mtdparts=flash... пробывал по разному)
В процессе загрузки имеем такие логи:
[    1.580000] physmap platform flash device: 00800000 at 60000000
[    1.610000] physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
[    1.620000]  Amd/Fujitsu Extended Query Table at 0x0041
[    1.630000] number of CFI chips: 1
[    1.640000] cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
[    1.650000] RedBoot partition parsing not available
[    1.670000] mtd: Giving out device 0 to physmap-flash.0
[    1.680000] mtd: Giving out device 1 to SRAM
Т.е. до момента разбора mtdparts дело не доходит. В итоге, для флеша содается только mtd0.
/ # mtd_debug info /dev/mtd0
mtd.flags =
mtd.size = 8388608 (8M)
mtd.erasesize = 131072 (128K)
mtd.oobblock = 1
mtd.oobsize = 0
mtd.ecctype = (unknown ECC type - new MTD API maybe?)
regions = 2

region[0].offset = 0x00000000
region[0].erasesize = 16384 (16K)
region[0].numblocks = 8
region[0].regionindex = 0
region[1].offset = 0x00020000
region[1].erasesize = 131072 (128K)
region[1].numblocks = 63
region[1].regionindex = 1
/ # 
Хотя утилита показывает наличие каких-то 2-х регионов на флеше. Что нужно подправить в mtd, чотбы mtdparts отрабатывался?

И еще один вопрос: пытаюсь создать на mtd1 (sram-память) jffs2  раздел:
/ # mtd_debug info /dev/mtd1
mtd.type = MTD_RAM
mtd.flags =
mtd.size = 524288 (512K)
mtd.erasesize = 8192 (8K)
mtd.oobblock = 1
mtd.oobsize = 0
mtd.ecctype = (unknown ECC type - new MTD API maybe?)
regions = 0
/ #
/ #
/ # mkfs.jffs2 -o /dev/mtdblock1 --pad=524288 -e 8192
mkfs.jffs2: mkfs.jffs2://proc/108/exe: No such file or directory
Segmentation fault
/ #
Pid 108 принадлежит [khubd]. В чем может быть причина???
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 27 Января, 2010, 14:19:45
В конф. ядра включён параметр анализа строки mtd-конфигурации?


> И еще один вопрос: пытаюсь создать на mtd1 (sram-память) jffs2  раздел:

 -o, --output=FILE
              Write JFFS2 image to file FILE.  Default is the standard output.

То есть вы создаёте файл образа, потом его записываете на нужный полностью стёртый mtd-раздел.
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 27 Января, 2010, 14:32:24
> В конф. ядра включён параметр анализа строки mtd-конфигурации?

угу...
CONFIG_MTD_PARTITIONS = y
CONFIG_MTD_CMDLINE_PARTS = y

> -o, --output=FILE
>              Write JFFS2 image to file FILE.  Default is the standard output.

>То есть вы создаёте файл образа, потом его записываете на нужный полностью стёртый >mtd-раздел.

По крайней мере на другом контроллере так работало... правда там был RedBoot....

Попробывал просто в файл:
/ # mkfs.jffs2 -o /tmp/mtd1 --pad=524288 -e 8192
mkfs.jffs2: mkfs.jffs2://proc/108/exe: No such file or directory
Segmentation fault
Т.е. какой-то трабл с самим mkfs?
Точнее с системой... сам собрал щас mkfs.jffs2: при запуске на тионе такойже мессадж...
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 27 Января, 2010, 14:41:39
Вы это из / что-ли выполняете?
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 27 Января, 2010, 14:45:28
Да... из корня... а это как-то может повлиять :) ?
/ # which mkfs.jffs2
/usr/sbin/mkfs.jffs2
/ #
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 27 Января, 2010, 14:49:43
Так что:
1. /proc, /tmp, /sys, кое-что из /var вам на jffs совершенно не нужно
2. Это причина segfault

Сделайте jffs при сборке КФС (проще) или сделайте образ из пустого каталога, а после записи его и монтирования mtd скопируете на него нужные директории.
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 27 Января, 2010, 14:51:55
победил трабл с mkfs.jffs2 ...
забыл добавить параметр --root= :) и все стало замечательно: и в файл и в девайс...
Остается вопрос по mtdparts...
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 28 Января, 2010, 16:15:06
Так никто больше и не смотрел как работает mtdparts в параметрах нового ядра для Тиона?
Название: Re: linux-2.6.30 и Тион
Отправлено: speculzzz от 08 Февраля, 2010, 08:44:45
В общем, правильно писать так mtdparts=physmap-flash.0:....
Название: Re: linux-2.6.30 и Тион
Отправлено: dimaz от 20 Февраля, 2010, 14:17:29
Может кто-нить кинуть пример конфига для ядра 2.6.32 под тион про v2?
И ещё вопросец: для ядра 2.6.32 уже не надо никаких сторонних патчей для тиона? Всё из коробки работает?
Название: Re: linux-2.6.30 и Тион
Отправлено: svts от 22 Февраля, 2010, 17:13:35
Конфиг для ядра можно применить тот же, который лежит в вики в разделе "разработка"
Линк: http://www.zao-zeo.ru/media/files/linux/ep93xx-dev/tion.config

Вообще, все патчи отсюда http://www.zao-zeo.ru/dokuwiki/doku.php/linux-dev надо применить к 2.6.32, чтоб заработала клава и видео.

От себя добавлю, что после установки новой версии u-boot (svn894) получаю "Warning: can't read MAC from SPI flash" - и МАК сетевушки по-прежнему читается нулями. Никто не пробовал ставить новую версию, какие у кого результаты?

UPD: вопрос с MAC в SPI решился командой download -n XxXxXxXxXxXx, где XxXx - mac сетевушки.
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 15 Сентября, 2010, 18:00:08
Пытаюсь собрать ядро 2.6.30 для Тиона Про2:
wget http://mirror.yandex.ru/kernel.org/linux/kernel/v2.6/linux-2.6.30.tar.bz2
tar xjf linux-2.6.30.tar.bz2
cd linux-2.6.30
wget ftp://ftp.ntcsm.ru/pub/tion9315/linux-2.6.30-tion-eabi-patch.tar.bz2
tar xjf linux-2.6.30-tion-eabi-patch.tar.bz2
patch -p1 < linux-2.6.30-tion-eabi-drivers.patch
patch -p1 < linux-2.6.30-tion-eabi-drivers.patch

export PATH=/home/geo/zaozeo/ep93xx-eabi-fast/bin:$PATH
export CROSS_COMPILE=arm-linux-
export ARCH=arm

make tion9315_defconfig
make menuconfig
# включаю USB-UART cp2101 модулем #
make
make uImage

На плате прошит U-Boot, собранный согласно инструкциям (до этого также пробовал U-Boot http://www.zao-zeo.ru/media/files/u-boot/u-boot-1.3.3_svn894_tion-ep93xx-series_bin.tar.gz (http://www.zao-zeo.ru/media/files/u-boot/u-boot-1.3.3_svn894_tion-ep93xx-series_bin.tar.gz) со страницы вики):
wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.3.tar.bz2
tar xjf u-boot-1.3.3.tar.bz2
cd u-boot-1.3.3
wget http://www.zao-zeo.ru/media/files/u-boot/patch/u-boot-1.3.3_tion-tion270-series_svn894_201002151634.tar.gz
tar xzf u-boot-1.3.3_tion-tion270-series_svn894_201002151634.tar.gz
patch -p1 < u-boot-1.3.3_tion-tion270-series_svn894_201002151634/u-boot-1.3.3_tion-tion270-series_svn894.patch
wget http://www.zao-zeo.ru/media/files/linux/ep93xx-dev/u-boot_arch-number.patch
patch -p1 < u-boot_arch-number.patch

Гружу ядро по сети - затыкается на "Uncompressing linux......done, booting the kernel"
В чём может быть проблема?
Название: Re: linux-2.6.30 и Тион
Отправлено: faa от 15 Сентября, 2010, 18:55:52
Пытаюсь собрать ядро 2.6.30 для Тиона Про2:


А смысл? Возьмите сразу 2.6.35, завернутое в свежий buildroot. Ссылка есть в http://www.zao-zeo.ru/forum/index.php?topic=436.0 (http://www.zao-zeo.ru/forum/index.php?topic=436.0).
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 17 Сентября, 2010, 16:18:48
Спасибо, обратил внимание уже. Но пока тоже не поддается (задал вопрос в соответствующей теме).
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 28 Сентября, 2010, 11:52:31
Ядро не грузилось потому, что U-boot был старый, команда
./download -p USB0 -s 2 uboot/my-u-boot6.bin
записывала его (как я понимаю) только в оперативную память и на этом останавливалась (я почему-то подумал, что так и надо).
С download дальше пока не разбирался, залил U-boot  из-под Windows - ядро 2.6.30 загрузилось.
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 28 Сентября, 2010, 11:57:08
> ./download -p USB0 -s 2 uboot/my-u-boot6.bin

Обычно U-Boot записывают в параллельную Flash, а не в последовательную (-s2).
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 29 Сентября, 2010, 14:38:54
Да, уже понял ошибку, опытным путём.
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 13 Октября, 2010, 13:47:50
Не могу заставить работать rtc с этим ядром (КФС от buildroot-2009.08).
При загрузке ругается:
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)Перед этим делал
cp -a /dev/rtc /dev/rtc0, потому что rtc0 не существовал и не создавался
hwclock -f /dev/rtc0 выдаёт:
hwclock: can't open 'dev/rtc0При сборке ядра указал собирать драйвер M41T00/ds1307/ds1337 (модулем). После загрузки этого модуля ничего не меняется.
Нужно как-то по-специальному создать устройство /dev/rtc0 или где-то еще проблема?
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 13 Октября, 2010, 18:50:55
.config ядра?
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 14 Октября, 2010, 09:42:35
Прикрепил конфиг
Название: Re: linux-2.6.30 и Тион
Отправлено: asv от 14 Октября, 2010, 12:35:47
Ещё нужен лог загрузки ядра и какая плата?
Название: Re: linux-2.6.30 и Тион
Отправлено: vitvrn от 14 Октября, 2010, 14:19:26
Плата Тион-Про v2 rev.3