Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
AM3352: настройка USB0 в режим хоста - ARM - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » ARM
AM3352: настройка USB0 в режим хоста
JollyJoker
Добавлено 19.02.2013 20:33
0
Сообщение: 1
JollyJoker
0

Пункты: 698
Регистрация: 06.04.2010
Добрый день, столкнулся со следующей проблемой. Есть плата с процессором AM3352, ставлю на него Linux 3.2, из всех настроек USB нашел только следующее:

Код

static struct omap_musb_board_data musb_board_data = {
.interface_type = MUSB_INTERFACE_ULPI,
/*
* mode[0:3] = USB0PORT's mode
* mode[4:7] = USB1PORT's mode
* AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
*/
.mode = (MUSB_HOST << 4) | MUSB_HOST,
.power = 500,
.instances = 1,
};

MUSB_HOST я поставил вместо MUSB_OTG. При загрузке ядра видно, что инициализируются оба,
Код

[ 0.129211] SCSI subsystem initialized
[ 0.130889] usbcore: registered new interface driver usbfs
[ 0.131195] usbcore: registered new interface driver hub
[ 0.131378] usbcore: registered new device driver usb
[ 0.131530] musb-ti81xx musb-ti81xx: musb0, board_mode=0x11, plat_mode=0x1
[ 0.131835] musb-ti81xx musb-ti81xx: musb1, board_mode=0x11, plat_mode=0x1
[ 0.132049] musb-ti81xx musb-ti81xx: musb2 get mem resource failed
[ 0.149017] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[ 0.150451] tps65910 1-002d: could not be detected
[ 0.152160] Switching to clocksource gp timer
[ 0.167785] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.167938] musb-hdrc musb-hdrc.0: dma type: pio
[ 0.168273] MUSB0 controller's USBSS revision = 4ea20800
[ 0.168487] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[ 0.168579] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[ 0.168701] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.168731] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.168731] usb usb1: Product: MUSB HDRC host driver
[ 0.168762] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
[ 0.168762] usb usb1: SerialNumber: musb-hdrc.0
[ 0.169586] hub 1-0:1.0: USB hub found
[ 0.169616] hub 1-0:1.0: 1 port detected
[ 0.170196] musb-hdrc musb-hdrc.0: USB Host mode controller at d083c000 using PIO, IRQ 18
[ 0.170379] musb-hdrc musb-hdrc.1: dma type: pio
[ 0.170684] MUSB1 controller's USBSS revision = 4ea20800
[ 0.170867] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[ 0.170898] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[ 0.170989] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.171020] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.171020] usb usb2: Product: MUSB HDRC host driver
[ 0.171020] usb usb2: Manufacturer: Linux 3.2.0 musb-hcd
[ 0.171051] usb usb2: SerialNumber: musb-hdrc.1
[ 0.171844] hub 2-0:1.0: USB hub found
[ 0.171875] hub 2-0:1.0: 1 port detected
[ 0.172515] musb-hdrc musb-hdrc.1: USB Host mode controller at d083e800 using PIO, IRQ 19


Код

root@am335x-evm:/# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Но работате только один USB, который изначально был сконфигурирован как HOST, на втыкание устройств в USB0 ядро никак не реагирует. Дорожки прозвонил, подключение пинов USB0 и USB1 одинаковое. Подскажите, в чем может быть причина?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.02.2013 09:16 Редактировалось 20.02.2013 09:17 Сообщение: 2
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Плату сами разводили или готовый кит ? Посмотрите разницу внешних соединений у этих портов.
Спуститься к концу Подняться к началу
Персональная информация
JollyJoker
Добавлено 20.02.2013 09:23 Редактировалось 20.02.2013 09:25 Сообщение: 3
JollyJoker
0

Пункты: 698
Регистрация: 06.04.2010
Плата с процессором и памятью покупная, плата с интерфейсами собственного производства.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.02.2013 10:06 Редактировалось 20.02.2013 10:06 Сообщение: 4
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Посмотрите - есть ли разница у этих портов в подключении пинов USBХ_VBUSIN
Спуститься к концу Подняться к началу
Персональная информация
JollyJoker
Добавлено 20.02.2013 12:35 Сообщение: 5
JollyJoker
0

Пункты: 698
Регистрация: 06.04.2010
Нет, все одинаково. Питание есть и на ноге и на устройстве. Мне кажется, что в настройках ядра что-то надо еще исправить. Но пока ничего путного найти не могу.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 20.02.2013 15:51 Сообщение: 6
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Нет, все одинаково. Питание есть и на ноге и на устройстве. Мне кажется, что в настройках ядра что-то надо еще исправить. Но пока ничего путного найти не могу.

укажите хоть с каким файлом борды работаете, в этих омапах черт ногу сломит..
ничего похожего не писали?
Код
static struct usbhs_omap_board_data cm_t3517_ehci_pdata __initdata = {
.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,

.phy_reset = true,
.reset_gpio_port[0] = HSUSB1_RESET_GPIO,
.reset_gpio_port[1] = HSUSB2_RESET_GPIO,
.reset_gpio_port[2] = -EINVAL,

посмотреть или проверить не на чем, все только в теории..
правильность функций пинов в хидерном файле проверили, может там ошибка вкралась?

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
JollyJoker
Добавлено 20.02.2013 17:16 Редактировалось 20.02.2013 17:28 Сообщение: 7
JollyJoker
0

Пункты: 698
Регистрация: 06.04.2010
Там сборная солянка получается, из ванильного ядра, берутся часть функций из файлов:
board-ti8168evm.c
board-omap3beagle.c
основным файлом является board-am335xevm.c

На форуме TI нашел похожий вопрос, из ответа следует, что указанной мной структуру достаточно, для изменения режима работы USB.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.02.2013 18:03 Редактировалось 20.02.2013 18:15 Сообщение: 8
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

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


Кроме этого там есть такой радостный ответ
Цитата

In host mode VBUS is detected on the USB0_VBUS and USB1_VBUS pins after the USB0_DRVVBUS and USB1_DRVVBUS pins are set high

Цитата

I read the thread you provided. I found my design is similar with his: connect the usbx_vbus to VCC directly. His board is working fine now.


Я смотрел по схеме am3874, там аналогичные ф-ции выполняют пины с названиями USBХ_VBUSIN, поэтому проверьте на всякий еще раз :)
Еще посмотрите - имеет ли этот пин альтернативные ф-ии и не переключается ли он кем-то, а вообще согласен - в исходниках TI черт ногу сломит.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 20.02.2013 18:33 Сообщение: 9
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
а чего-то не видать всякие EHCI/OHCI иниты, они вроде раньше должны идти..
и вот это настораживает:
Код
[ 0.167785] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)

на марвелле я как-то упустил резистор на VbusUSB - юсб наглухо молчало, пока резистор не припаял..

Цитата
Еще посмотрите - имеет ли этот пин альтернативные ф-ии и не переключается ли он кем-то,

аналогично хотел посоветовать, т.ч. +1

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
JollyJoker
Добавлено 21.02.2013 19:57 Сообщение: 10
JollyJoker
0

Пункты: 698
Регистрация: 06.04.2010
Проблема решилась. Действительно, необходимо только заменить MUSB_OTG на MUSB_HOST в файле board-am335xevm.c.
А проблема оказалось в канифоли, которая набилась в ответный разъем.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » ARM