Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:9
Форум » starterkit.ru » Embedded Linux
Помогите с MMc/SD картой.
Lavin
Добавлено 13.09.2010 22:46
0
Сообщение: 1
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Доброе время суток.
Из коробки плата видела все карточки.
Сейчас решил отказаться от картридера и использовать встроенные возможности.Взял ванильное ядро 2.6.35.
По правил следующие места касающееся mmc
Код

/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 0,
.wire4 = 1,
.det_pin = AT91_PIN_PA4,
// .det_pin = ... not connected
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};

/* MMC */
at91_add_device_mmc(0, &ek_mmc_data);

в конфиге следующее
Код

[dima@laptop linux-2.6.35]$ cat .config | grep MMC
CONFIG_MMC=y
CONFIG_MMC_DEBUG=y
CONFIG_MMC_UNSAFE_RESUME=y
# MMC/SD/SDIO Card Drivers
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_TEST=y
# MMC/SD/SDIO Host Controller Drivers
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_AT91=y
# CONFIG_MMC_ATMELMCI is not set
# CONFIG_MMC_SPI is not set
[dima@laptop linux-2.6.35]$ cat .config | grep AT91
CONFIG_ARCH_AT91=y
CONFIG_HAVE_AT91_DATAFLASH_CARD=y
CONFIG_HAVE_AT91_USART3=y
CONFIG_HAVE_AT91_USART4=y
CONFIG_HAVE_AT91_USART5=y
# Atmel AT91 System-on-Chip
# CONFIG_ARCH_AT91RM9200 is not set
CONFIG_ARCH_AT91SAM9260=y
# CONFIG_ARCH_AT91SAM9261 is not set
# CONFIG_ARCH_AT91SAM9G10 is not set
# CONFIG_ARCH_AT91SAM9263 is not set
# CONFIG_ARCH_AT91SAM9RL is not set
# CONFIG_ARCH_AT91SAM9G20 is not set
# CONFIG_ARCH_AT91SAM9G45 is not set
# CONFIG_ARCH_AT91CAP9 is not set
# CONFIG_ARCH_AT91X40 is not set
CONFIG_AT91_PMC_UNIT=y
# AT91SAM9260 Variants
# CONFIG_ARCH_AT91SAM9260_SAM9XE is not set
# AT91SAM9260 / AT91SAM9XE Board Type
CONFIG_MACH_AT91SAM9260EK=y
# AT91 Board Options
CONFIG_MTD_AT91_DATAFLASH_CARD=y
# AT91 Feature Selections
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
CONFIG_AT91_TIMER_HZ=100
CONFIG_AT91_EARLY_DBGU=y
# CONFIG_AT91_EARLY_USART0 is not set
# CONFIG_AT91_EARLY_USART1 is not set
# CONFIG_AT91_EARLY_USART2 is not set
# CONFIG_AT91_EARLY_USART3 is not set
# CONFIG_AT91_EARLY_USART4 is not set
# CONFIG_AT91_EARLY_USART5 is not set
CONFIG_AT91SAM9X_WATCHDOG=y
# Atmel devices (AVR32 and AT91)
CONFIG_USB_GADGET_AT91=y
CONFIG_USB_AT91=m
CONFIG_MMC_AT91=y
CONFIG_RTC_DRV_AT91SAM9=y
CONFIG_RTC_DRV_AT91SAM9_RTT=0
CONFIG_RTC_DRV_AT91SAM9_GPBR=0

в логе загруки
Код

Calibrating delay loop... 97.89 BogoMIPS (lpj=489472)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
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
i2c-gpio i2c-gpio: using pins 55 (SDA) and 56 (SCL)
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource pit
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: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
fuse init (API version 7.14)
msgmni has been set to 120
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
ssc ssc.0: Atmel SSC device at 0xc4828000 (irq 14)
atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffc8000 (irq 12)
mtd_dataflash spi0.0: AT45DB321x (4224 KBytes) pagesize 528 bytes, OTP
Creating 2 MTD partitions on "at45db321d":
0x000000000000-0x000000001080 : "Bootstrap"
0x000000001080-0x000000420000 : "Kernel"
atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13)
macb macb: invalid hw address, using random
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (de:5a:7f:18:60:e2)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1)
usbmon: debugfs is not available
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
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0
rtc-at91sam9 at91_rtt.0: rtc0: SET TIME!
i2c /dev entries driver
AT91SAM9 Watchdog: sorry, watchdog is disabled
at91_wdt: probe of at91_wdt failed with error -5
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
tlv320aic23b spi1.0: tlv320aic23b: supported bitrate is 48000 (64 divider)
ALSA device list:
#0: AT91SAM9260-EK external DAC on irq 14
TCP cubic registered
NET: Registered protocol family 17
rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock
Waiting for root device /dev/mmcblk0p1...

и тишина. Где может быть сабака зарыта?
Смутило то что в папочке linux-2.6.35/arch/arm/mach-at91/include/mach/ лежит файлик at91_mci.h но для AT91RM9200 так и должно быть?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.09.2010 09:29 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
и тишина. Где может быть сабака зарыта?

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 14.09.2010 09:37 Сообщение: 3
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
У меня в 2.6.32.8 работает без проблем. Выбор .35 принципиален?
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 14.09.2010 11:27 Редактировалось 14.09.2010 16:34 Сообщение: 4
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Т.е. это сугубо от версии ядра зависит? Могу и 32е по пробовать.Зеркало то локальное)
Если можно выложите минимимальные телодвижения что бы ванильное ядро увидело карточку.
С картридером работает но надо без сделать.Решить сам данную проблему я не могу.Уже 3ю неделю бьюсь и никак.
Updated
Скачал,поменял частоту на 12мгц и
.slot_b = 0,
.wire4 = 1, и статически включил модуль ммс
в логе нисло о sd или mmc нет...По пробую его модулем собрать ,авось тогда заработает,но что то мне подсказывает что не в этом дело.
А не может быть дело в загрузчике? Раньше был U-Boot сейчас его выкинул...
2 Strijar вы каким загрузчиком пользуетесь?
Такое ощущение что у тех кто пользуется U-Boot'ом все работает...
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 14.09.2010 16:37 Сообщение: 5
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
Да у меня U-Boot 1.1.5, вроде как даже тот который с платой шел
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.09.2010 16:47 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Такое ощущение что у тех кто пользуется U-Boot'ом все работает...

я выпадаю из числа у тех кто
ибо у меня Uboot 1.3.4 - могу грузиться прямо с SD
и в то же время ядро 2.6.35 не видит эту же SD

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 14.09.2010 16:53 Сообщение: 7
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Хотелось бы увидеть конфиг и diff того человека у которого без U-Boot работает.
Но все же странно почему sd/mmc драйвер "молчит". Нислова в консольку не плюет...Хотя включен в сборку...
И вообще может ли в зугрузчике быть дело?Такое ощущение что какой то регистр не так выставлен и по этому драйвер думает что ему не надо подавать признаков жизни.Даже DBUG опция не "оживляет" его.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 14.09.2010 17:39 Сообщение: 8
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
u-boot тут точно не причем, драйвер сам потом все инициализирует.
Вы просто начните сравнивать конфиги, те что с платой шли с тем что сейчас имеете.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.09.2010 17:44 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Хотелось бы увидеть конфиг и diff того человека у которого без U-Boot работает.

вроде Саша (sasamy) баловался запуском Bootstrap->Kernel->Rootfs

Цитата
Но все же странно почему sd/mmc драйвер "молчит". Нислова в консольку не плюет...

а что мешает разыскать этот драйвер в сорцах, найти функцию _probe и натолкать туда диагностики типа
Код
printk("*** Driver MCI probe\n");
printk("*** Driver MCI step1\n");
printk("*** Driver MCI step2\n");
printk("*** Driver MCI finish\n");

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 14.09.2010 18:02 Сообщение: 10
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
То что с платой шло "потерялось" за 2 года.
Да вроде и делаю все как у sasamy только вот не работает.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux