Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Процессорные модули » SK-9G45-OEM
Совместимость SK-9G45-OEM V1.E с SK-MAT91SAM9G45, ядро 3.7.10, загрузка с SD
asy
Добавлено 19.10.2013 19:16 Редактировалось 19.10.2013 20:29
0
Сообщение: 1
asy
0

Пункты: 2790
Регистрация: 28.10.2012
Пол: Мужчина
Приветствую.

Лето кончилось, возвращаемся к arm-ам...

Я правильно понимаю, что несмотря на аналогичный микроконтроллер, эта плата отличается от SK-MAT91SAM9G45 уже на стадии работы с SD ? Собранное с патчем http://starterkit-org.googlecode.com/files/linux-3.7.10-SK-MAT91SAM9G45.patch ядро на SK-9G45-OEM не загружается. Ну ладно, это призказка.

Ядро новое, тем не менее, необходимо. Изучение linux-2.6.36-rc6 с ftp.starterkit.ru показало различие в структурах mci0_data и mci1_data. Различия были учтены, но не тут-то было. Загрузка с SD встаёт на
Код
atmel_mci atmel_mci.0: version: 0x410
atmel_mci atmel_mci.0: using dma0chan0 for DMA transfers
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 27, 1 slots
atmel_mci atmel_mci.1: version: 0x410
atmel_mci atmel_mci.1: using dma0chan1 for DMA transfers
atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 45, 1 slots
Waiting for root device /dev/mmcblk0p2...

У кого-нибудь есть идеи, куда дальше копать ? Может, кто-то делал уже ? Сходу видно, что отличаются прерывания. В случае 2.6.36 используются 11 и 29:
Код
atmel_mci atmel_mci.0: Using dma0chan0 for DMA transfers
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
atmel_mci atmel_mci.1: Using dma0chan1 for DMA transfers
atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 29, 1 slots

Код

/*
* MCI (SD/MMC)
*/
static struct mci_platform_data __initdata mci0_data = {
.slot[0] = {
.bus_width = 4,
.detect_pin = AT91_PIN_PC31,
.wp_pin = -1,
},
};

static struct mci_platform_data __initdata mci1_data = {
.slot[0] = {
.bus_width = 4,
.detect_pin = AT91_PIN_PD12,
// .wp_pin = AT91_PIN_PD29,
},
};

"at91_add_device_mci(1, &mci1_data);" раскомментировать не забыл.
Спуститься к концу Подняться к началу
Персональная информация
asy
Добавлено 19.10.2013 22:13 Редактировалось 19.10.2013 22:13 Сообщение: 2
asy
0

Пункты: 2790
Регистрация: 28.10.2012
Пол: Мужчина
Пока удалось загрузиться с 3.2.18 с патчем http://starterkit-org.googlecode.com/files/linux-3.2.18-oem.patch. Но для 3.7.10 патч не помогает.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 19.10.2013 22:31 Сообщение: 3
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
у меня под 3.6.0 крутится 9m10 (брат-близнец 9g45)
в файле борды
Код
/*
* MCI (SD/MMC)
*/
static struct mci_platform_data __initdata mci0_data = {
.slot[0] = {
.bus_width = 4,
.detect_pin = AT91_PIN_PA31,
.wp_pin = -EINVAL,
},
};

в логе
Код
root@arm9m10:~# uname -a
Linux arm9m10 3.6.0 #99 PREEMPT Sun Mar 17 22:41:58 MSK 2013 armv5tejl GNU/Linux
root@arm9m10:~# dmesg |grep mci
atmel_mci atmel_mci.0: version: 0x410
atmel_mci atmel_mci.0: using dma0chan1 for DMA transfers
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 27, 1 slots
root@arm9m10:~# dmesg |grep mmc
Kernel command line: console=ttyS0,115200 rw rootwait root=/dev/mmcblk0p2
Waiting for root device /dev/mmcblk0p2...
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SD card at address b368
mmcblk0: mmc0:b368 SDC 1.85 GiB
mmcblk0: p1 p2 p3
EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
Adding 128516k swap on /dev/mmcblk0p3. Priority:-1 extents:1 across:128516k SS
root@arm9m10:~# cat /proc/interrupts
CPU0
17: 6717 AIC at91_tick, at91_rtc, ttyS0
27: 3330940 AIC atmel_mci.0
34: 398001216 AIC tc_clkevt
35: 0 AIC atmel_pwm
36: 0 AIC atmel_tsadcc
37: 63949 AIC at_hdmac
38: 0 AIC ohci_hcd:usb1
39: 0 AIC atmel_lcdfb
40: 394161 AIC AC97C
41: 665917 AIC eth0
79: 0 GPIO mmc-detect
99: 4 GPIO user_but
Err: 0


попробуйте вместо -1 прописать -EINVAL..
вроде на 3.6.0 переход был несложный..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
asy
Добавлено 20.10.2013 00:38 Сообщение: 4
asy
0

Пункты: 2790
Регистрация: 28.10.2012
Пол: Мужчина
-EINVAL попробовал, не помогает. А PIN от версии ядра не должен же меняться ?

linux-3.2.18-oem.patch наложился без ошибок на 3.2.51, собралось и тоже работает. Модуль option для gsm-модемов в 3.2.51 выглядит достаточно свежим, так что необходимость разбираться с 3.7 и более свежими ядрами пока отодвигается. Но рано или поздно заниматься придётся...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 20.10.2013 15:45 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
ну не знаю, что там у вас за патч и что он делает..
взял ванильное (с kernel.org) 3.7.0, развернул, сложил свой файл борды, в конфиге поправил строку загрузки, в логе:
Код
root@arm9g45:~# uname -a
Linux arm9g45 3.7.0 #1 Sun Oct 20 15:16:30 MSK 2013 armv5tejl GNU/Linux
root@arm9g45:~# dmesg |grep mci
atmel_mci atmel_mci.0: version: 0x410
atmel_mci atmel_mci.0: using dma0chan1 for DMA transfers
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 27, 1 slots
root@arm9g45:~# dmesg |grep mmc
Kernel command line: console=ttyS0,115200 rw rootwait root=/dev/mmcblk0p2
Waiting for root device /dev/mmcblk0p2...
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SDHC card at address 0001
mmcblk0: mmc0:0001 00000 7.46 GiB
mmcblk0: p1 p2 p3
EXT2-fs (mmcblk0p2): warning: mounting ext3 filesystem as ext2
EXT2-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended


Цитата
А PIN от версии ядра не должен же меняться ?

PIN - это с какой функцией? если детект карточки, то в китах он заведен на PA31 и вероятно используется драйвером. у вас кстати:
Код
.detect_pin = AT91_PIN_PC31

а куда он по факту подключен?

в файле борды ничего более по поводу mmc нет, в функции начального инита вот такое (т.к. карточка одна):
Код
at91_add_device_mci(0, &mci0_data);
// at91_add_device_mci(1, &mci1_data);

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 21.10.2013 08:23 Сообщение: 6
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
В OEM на 3.6.4 ядре у меня
Цитата
.detect_pin = AT91_PIN_PC31,

могу выложиьб конфиг и файлы боарды, если надо...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-9G45-OEM