ЗАО «ЗЭО»

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

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

Новости:

Автор Тема: Про новые ядра для TionPro28  (Прочитано 21867 раз)

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

lman

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 43
Про новые ядра для TionPro28
« : 12 Июня, 2013, 00:05:25 »

Нашел тут недавно ссылку на ядра 3.0 и выше для семейства i.MX28.
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/
В перспективах когда они будут адаптированы для TionPro28 и будут ли вообще?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Про новые ядра для TionPro28
« Ответ #1 : 14 Июня, 2013, 13:29:28 »

Пока в планах нет, потому что:

1. Нет полноценного BSP от Freescale.
2. Нет существенных изменений для микропроцессоров между 2.6 и 3.0.
Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Про новые ядра для TionPro28
« Ответ #2 : 26 Марта, 2014, 18:04:38 »

Здравствуйте, "Пока в планах нет" в таком случае, не могли бы вы написать список официальных патчей от freescale которые были использованы в  tion_pro28_svn2203.patch, tion_pro28_svn2203-2461.patch, tion_pro28_svn2461-2840.patch.
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Про новые ядра для TionPro28
« Ответ #3 : 26 Марта, 2014, 18:14:27 »

Патчи 0001-0571.
Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Про новые ядра для TionPro28
« Ответ #4 : 26 Марта, 2014, 19:53:08 »

1 на linux-2.6-imx-2.6.35.3.tar.bz2
2 патчил tion-pro28_patch_freescale.tar.gz
3 патчил tion_pro28_svn2203.patch, tion_pro28_svn2203-2461.patch, tion_pro28_svn2461-2840.patch
4 сравнил diff пункт 2 и 3 
Открываю блокнотом пункт 4
diff -r -d -p -u -P linux-2.6-imx-2.6.35.3-free/arch/arm/mach-mx23/serial.c linux-2.6-imx-2.6.35.3/arch/arm/mach-mx23/serial.c
--- linux-2.6-imx-2.6.35.3-free/arch/arm/mach-mx23/serial.c 2014-03-25 20:31:13.316495513 +0400
+++ linux-2.6-imx-2.6.35.3/arch/arm/mach-mx23/serial.c 2014-03-25 20:33:49.364490314 +0400
@@ -1,5 +1,5 @@
 /*
-  * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved.
+  * Copyright (C) 2010-2011 Freescale Semiconductor, Inc. All Rights Reserved.
   *
   * This program is distributed in the hope that it will be useful,
   * This program is free software; you can redistribute it and/or modify
@@ -73,7 +73,7 @@ static struct mxs_auart_plat_data mxs_au
 #ifdef CONFIG_MXS_AUART1_DMA_ENABLE
  .dma_mode = 1,
 #endif
- .dma_rx_buffer_size = 8,
+ .dma_rx_buffer_size = 4096,
  .timeout = HZ,
 };
 #endif
данный кусок содержит патч tion_pro28_svn2203-2461.patch явно от официального патча
Потому и задаю вопрос. Может, я что не так сделал?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Про новые ядра для TionPro28
« Ответ #5 : 26 Марта, 2014, 20:15:17 »

Вы сделали все правильно, это, видимо, патч от freescale, который был применен нами позже, чем основная часть патчей.

На данный момент в патче svn2840 есть ошибка. Образ может не собраться с ошибкой в файле mx28evk_pins.c. Если ошибка возникнет - добавьте символ "{" между строками 675-676.

Новый патч с исправлением этой ошибки, а также с некоторыми другими изменениями, добавим на сайт в ближайшие дни.
Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Про новые ядра для TionPro28
« Ответ #6 : 26 Марта, 2014, 20:41:24 »

Это все замечательно, но на будущее при правки исходников добовляйте пожалуйста  коментарии к коду, хотябы с названием фирмы, а то например tion_pro28_svn2203-2461.patch
Index: arch/arm/mach-mx28/emi.S
===================================================================
--- arch/arm/mach-mx28/emi.S (revision 2203)
+++ arch/arm/mach-mx28/emi.S (revision 2461)
@@ -69,14 +69,14 @@
  orr r2, r2,  #MX28_SOC_IO_ADDRESS(CLKCTRL_PHYS_ADDR)&0xFF0000
  orr r2, r2,  #MX28_SOC_IO_ADDRESS(CLKCTRL_PHYS_ADDR)&0xFF000000
 
- mov r0, r2
- bl lock_vector_tlb
-
  mov r0, #MX28_SOC_IO_ADDRESS(DRAM_PHYS_ADDR)&0xFF
  orr r0, r0, #MX28_SOC_IO_ADDRESS(DRAM_PHYS_ADDR)&0xFF00
  orr r0, r0, #MX28_SOC_IO_ADDRESS(DRAM_PHYS_ADDR)&0xFF0000
  orr r0, r0, #MX28_SOC_IO_ADDRESS(DRAM_PHYS_ADDR)&0xFF000000
 
+ adr r3, __mx28_emisetting
+
+ bl lock_vector_tlb
  @ Make sure emi not busy
 2:
  ldr r1, [r0, #HW_DRAM_CTL08]
@@ -199,17 +199,26 @@
  .space MX28_DRAMCTRLREGNUM*4
 
 lock_vector_tlb:
-        mov r1, r0 @ set r1 to the value of the address to be locked down
-        mcr p15,0,r1,c8,c7,1    @ invalidate TLB single entry to ensure that
+
+ mov r1, #0x0
+        mcr p15,0,r1,c7,c10,4    @ invalidate TLB single entry to ensure that
+
+        mcr p15,0,r0,c8,c7,1    @ invalidate TLB single entry to ensure that
                                 @ LockAddr is not already in the TLB
-        mrc p15,0,r0,c10,c0,0   @ read the lockdown register
-        orr r0,r0,#1            @ set the preserve bit
-        mcr p15,0,r0,c10,c0,0   @ write to the lockdown register
-        ldr r1,[r1]             @ TLB will miss, and entry will be loaded
-        mrc p15,0,r0,c10,c0,0   @ read the lockdown register (victim will have
+        mcr p15,0,r2,c8,c7,1    @ invalidate TLB single entry to ensure that
+                                @ LockAddr is not already in the TLB
+        mcr p15,0,r3,c8,c7,1    @ invalidate TLB single entry to ensure that
+                                @ LockAddr is not already in the TLB
+        mrc p15,0,r1,c10,c0,0   @ read the lockdown register
+        orr r1,r1,#1            @ set the preserve bit
+        mcr p15,0,r1,c10,c0,0   @ write to the lockdown register
+        ldr r1,[r0]             @ TLB will miss, and entry will be loaded
+        ldr r1,[r2]             @ TLB will miss, and entry will be loaded
+        ldr r1,[r3]             @ TLB will miss, and entry will be loaded
+        mrc p15,0,r1,c10,c0,0   @ read the lockdown register (victim will have
                                 @ incremented)
-        bic r0,r0,#1            @ clear preserve bit
-        mcr p15,0,r0,c10,c0,0   @ write to the lockdown registerADR r1,LockAddr
+        bic r1,r1,#1            @ clear preserve bit
+        mcr p15,0,r1,c10,c0,0   @ write to the lockdown registerADR r1,LockAddr
         mov pc,lr
 
 __mxs_flush_cache_addr:
Явно же не ваща правка, а потом ломай голову, что где когда =(.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Про новые ядра для TionPro28
« Ответ #7 : 27 Марта, 2014, 13:08:20 »

> Явно же не ваща правка, а потом ломай голову, что где когда =(.

И вы предлагаете делать какие-то метки комментариями в коде?
Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Про новые ядра для TionPro28
« Ответ #8 : 27 Марта, 2014, 13:51:28 »

Дико извиняюсь, но после анализа ваших пачей, потерял дар русского языка.
« Последнее редактирование: 27 Марта, 2014, 13:55:39 от Vek »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Про новые ядра для TionPro28
« Ответ #9 : 27 Марта, 2014, 14:00:43 »

По моему, лучше делать онлайн репозиторий, сторонние патчи, естественно, оформлять в отдельные коммиты.

Если и брать новое ядро, то лучше пытаться начинать с последнего мейнстрим
http://www.zao-zeo.ru/forum/index.php?topic=782.msg4348#msg4348
Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Про новые ядра для TionPro28
« Ответ #10 : 28 Марта, 2014, 21:59:18 »

Мучаю yocto 1.5.1 с ядром imx_2.6.35_maintain, u-boot-fslc_2013.10 в них git сразу имеется
ММС flash , LCD вроде осилил остался вопрос про lcdif.h 217
val &= ~(BM_LCDIF_VDCTRL0_VSYNC_POL |
BM_LCDIF_VDCTRL0_HSYNC_POL |
BM_LCDIF_VDCTRL0_ENABLE_POL |
BM_LCDIF_VDCTRL0_DOTCLK_POL);

val |= BM_LCDIF_VDCTRL0_ENABLE_POL | BM_LCDIF_VDCTRL0_DOTCLK_POL;
__raw_writel(val, REGS_LCDIF_BASE + HW_LCDIF_VDCTRL0);
BM_LCDIF_VDCTRL0_ENABLE_POL - по схеме он LCD_ENABLE, можно ли с помощью этого бита проинвертировать сигнал, и заменить DD1 на адапторе перемычкой, для 3.5 дисплея PH320240T-006-IP1Q ?


Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Про новые ядра для TionPro28
« Ответ #11 : 29 Марта, 2014, 13:37:38 »

> BM_LCDIF_VDCTRL0_ENABLE_POL - по схеме он LCD_ENABLE, можно ли с помощью
> этого бита проинвертировать сигнал, и заменить DD1 на адапторе перемычкой,
> для 3.5 дисплея PH320240T-006-IP1Q ?

Изменить полярность сигнала enable (blank) можно и этим битом и микросхемой.
Какой способ выбрать зависит от наличия адаптеров разных типов, количества
адаптеров, желания изменять исходный код в будущем и пр.
Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: Про новые ядра для TionPro28
« Ответ #12 : 09 Июня, 2014, 14:33:07 »

На данный момент в патче svn2840 есть ошибка. Образ может не собраться с ошибкой в файле mx28evk_pins.c. Если ошибка возникнет - добавьте символ "{" между строками 675-676.

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

Вот только обещанный исправленный патч так и не появился....

Установил LTIB от Freescale - L2.6.35_10.12.01_ER_source.
Далее пытаюсь применить ваши патчи, после применения файла tion_pro28_svn2461-2840.patch при сборке ядра выпадает ошибка:
...

arch/arm/mach-mx28/mx28evk_pins.c:680: warning: braces around scalar initializer
arch/arm/mach-mx28/mx28evk_pins.c:680: warning: (near initialization for 'mx28evk_fixed_pins[64].name')
arch/arm/mach-mx28/mx28evk_pins.c:681: error: field name not in record or union initializer
arch/arm/mach-mx28/mx28evk_pins.c:681: error: (near initialization for 'mx28evk_fixed_pins[64].name')
arch/arm/mach-mx28/mx28evk_pins.c:682: error: field name not in record or union initializer
arch/arm/mach-mx28/mx28evk_pins.c:682: error: (near initialization for 'mx28evk_fixed_pins[64].name')

...

arch/arm/mach-mx28/mx28evk_pins.c:741: warning: excess elements in scalar initializer
arch/arm/mach-mx28/mx28evk_pins.c:741: warning: (near initialization for 'mx28evk_fixed_pins[64].pullup')
arch/arm/mach-mx28/mx28evk_pins.c:744: error: expected '}' before ';' token

...

Наткнулся сейчас на этот топик, попытался сделать:
Цитировать
добавьте символ "{" между строками 675-676

...результат лучше ни стал.

Просьба выложить исправленный патч.
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Про новые ядра для TionPro28
« Ответ #13 : 09 Июня, 2014, 16:32:40 »

Вот только обещанный исправленный патч так и не появился....

Просьба выложить исправленный патч.

Патч был добавлен еще 2014/03/26 22:19 - tion-pro28_patch_svn2840-2909.zip
Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: Про новые ядра для TionPro28
« Ответ #14 : 10 Июня, 2014, 07:46:10 »

Патч был добавлен еще 2014/03/26 22:19 - tion-pro28_patch_svn2840-2909.zip

Благодарю, действительно помогло, просто после каждого патча делал сборку, поэтому далее пробовать ни стал.
Откомпилил, но собрать по прежнему не удается:
Executing(%install): /bin/sh -e /home/paul/ltib/tmp/rpm-tmp.29844
+ umask 022
+ cd /home/paul/ltib/rpm/BUILD
+ cd linux-2.6.35.3
+ eval echo
+ echo
+ PKG_KERNEL_PATH_PRECONFIG=
+ eval echo
+ echo
+ PKG_KERNEL_KBUILD_PRECONFIG=
+ eval echo
+ echo
+ DTC_NAMES=
+ eval echo
+ echo
+ SYSCFG_DTC_PATH=
+ DTC_PAD=%dtc_pad
+ [ %dtc_pad = %dtc_pad ]
+ DTC_PAD=1024
+ KSRC_DIR=/home/paul/ltib/rpm/BUILD/linux-2.6.35.3
+ cd /home/paul/ltib/rpm/BUILD/linux-2.6.35.3
+ KBOUT=
+ [ -n  ]
+ KBOUT=.
+ [ arm = ppc -a -f arch/powerpc/Kconfig ]
+ grep -q CONFIG_XIP_KERNEL=y ./.config
+ BOOT_KERNEL=arch/arm/boot/zImage
+ rm -rf /home/paul/ltib/tmp/kernel
+ mkdir -p /home/paul/ltib/tmp/kernel//opt/freescale/rootfs/arm/boot
+ grep -q ^CONFIG_MODULES= ./.config
+ make ARCH=arm CROSS_COMPILE= HOSTCC=ccache /usr/bin/gcc -B/usr/bin/ DEPMOD=/bin/true INSTALL_MOD_PATH=/home/paul/ltib/tmp/kernel//opt/freescale/rootfs/arm modules_install
Warning: you may need to install module-init-tools
See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt
rm: invalid option -- '5'
Try `rm --help' for more information.
make: *** [_modinst_] Error 1
error: Bad exit status from /home/paul/ltib/tmp/rpm-tmp.29844 (%install)

Уже  самая новая версия module-init-tools установлена.
Куда копать?
Записан