mantech 48 25 января, 2023 Опубликовано 25 января, 2023 (изменено) · Жалоба Приветствую. Пришла пора поразбираться с OHCI USB портом процессора Allwinner, сделал инициализацию, control-запросы, энумерацию... В результате при подключении обычной проводной мыши происходит ее определение, чтение HID репорта и начало работы с interrupt ED Вот тут моя соображалка перестает нормально работать, ибо так и не понял, что не так. Делаю, инит новой ED. ED0 - была создана для контрол-запросов, ED1 - для interrupt, создаю для нее новый TD, а адрес ED1 записываю первым в массив HCCA. ohci_hcca->int_table[0]=(uint32_t)usbhMouse->ohci_Ep1 ; Что еще нужно сделать, чтоб оно заработало? создаю для нее новый TD usbhMouse->OHtd_HID = usbh_OHtd_init(); usbhMouse->OHtd_HID->hwINFO = TD_DP_IN|TD_T_DATA0|TD_R|TD_DI;//0x03540000L; usbhMouse->OHtd_HID->hwCBP = (uint32_t)usbhMouse->usbhMouseData; usbhMouse->OHtd_HID->hwNextTD = 0; usbhMouse->OHtd_HID->hwBE = ((uint32_t)usbhMouse->usbhMouseData)+(usbhMouse->int_transfer_size-1); //In bytes В параметрах адресации ED1 прописываю: usbhMouse->ohci_Ep1->hwHeadP = usbhMouse->OHtd_HID; usbhMouse->ohci_Ep1->hwTailP = usbhMouse->OHtd_HID; usbhMouse->ohci_Ep1->hwNextED = 0; Может у кого есть-какие-то примеры работы с interrupt на OHCI, был бы очень рад))) Изменено 25 января, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 28 января, 2023 Опубликовано 28 января, 2023 · Жалоба Вообщем пока ни к чему не привело, поэкспериментировал с регистрами интервалов, ибо где ни смотрел, все магические цифры и у всех разные. В результате при первом движении мыши выдается 1 раз ответ и потом молчит, может там какой флаг сбросить надо, в контроллере от IMX надо было реинициализировать TD, но тут такого флага нет, вообщем х.з. нигде толком не объяснено, печально... А исходники словно маньяки пишут, мильон оберток и структур(( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 29 января, 2023 Опубликовано 29 января, 2023 (изменено) · Жалоба В 28.01.2023 в 12:59, mantech сказал: Вообщем пока ни к чему не привело, Интересно, видимо никто с усб связываться не хочет... В любом случае проблема решена - надо просто внимательнее читать доки, или как там раньше - RTFM))) - нужно было просто восстанавливать дескрипторы конечной точки после получения пакета данных. Изменено 29 января, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться