дерево устройств tx6s usbotg меняется само по себе

У меня есть SoC tx6s-8035, которую мы интегрировали в специальную плату. Мы подключили Asix 88772B к порту usbotg, и нам нужно, чтобы он запускался в режиме хоста.

Мы заземлили вывод USBOTG_ID и надеялись, что он запустится в режиме хоста. К сожалению, этого не произошло.

Я изучил проблему и обнаружил странное поведение... Я добавил dr_mode = host в качестве дополнительного свойства в официальное дерево устройств. После этого я изменил драйвер ci_hdrc_imx, чтобы он печатал то, что он получил в device_node, и он сказал «периферия». Я проследил проблему, и когда вызывается функция of_usb_get_dr_mode(), дерево устройств уже содержит dr_mode = peripheral.

Любые идеи? Я просто не представляю, что там происходит...

p.s.: Я перепроверил, правильно ли обновляю дерево устройств.


person Attila Horvath    schedule 14.12.2015    source источник
comment
Я использую тег KARO-TX6-2015-08-24 из официального репозитория git с заводской конфигурацией и деревом устройств. (кроме свойства, которое я упомянул выше)   -  person Attila Horvath    schedule 14.12.2015


Ответы (1)


Я нашел проблему:

U-boot переопределяет свойство «dr_mode» с его параметром «usbotg», поэтому мне пришлось изменить переменную среды в u-boot, и с тех пор он работает.

Может быть, это помогает и другим.

person Attila Horvath    schedule 05.01.2016