GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба #define USBOTG0_BASE 0x04100000 #define USBEHCI1_BASE 0x04200000 #define USBOTG0 ((USBOTG_TypeDef *) USBOTG0_BASE) /*!< \brief USBOTG0 Interface register set access pointer */ #define USBEHCI0 ((USB_EHCI_CapabilityTypeDef *) (USBOTG0_BASE + 0x1000)) /*!< \brief USBEHCI0 Interface register set access pointer */ #define USBOHCI0 ((struct ohci_registers *) (USBOTG0_BASE + 0x1400)) /*!< \brief USBOHCI0 Interface register set access pointer */ #define USBPHY0 ((USBPHYC_TypeDef *) (USBOTG0_BASE + 0x0400)) /*!< \brief USBPHY0 Interface register set access pointer */ #define USBEHCI1 ((USB_EHCI_CapabilityTypeDef *) USBEHCI1_BASE) /*!< \brief USBEHCI1 Interface register set access pointer */ #define USBOHCI1 ((struct ohci_registers *) (USBEHCI1_BASE + 0x0400)) /*!< \brief USBOHCI1 Interface register set access pointer */ #define USBPHY1 ((USBPHYC_TypeDef *) (USBEHCI1_BASE + 0x0800)) /*!< \brief USBPHY1 Interface register set access pointer */ USBEHCI0 вроде есть, регистры все работают, но не работает похоже физика. Даташит про единственный EHCI говорит... У меня USBEHCI1 работает. ps: выше выкладывал этот файл. Изменено 3 августа, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба В 03.08.2022 в 21:28, GenaSPB сказал: EHCI0 вроде есть, регистры все работают, но не работает похоже физика. Тут что-то не то. По вашему с адреса USBOTG0_BASE должны начинаться регистры musb host\device, но т.к. вы пишете, что " регистры EHCI0 все работают," то никакого musb там нет, собственно он где-то по другим адресам, а вот каким я не знаю... В 03.08.2022 в 21:28, GenaSPB сказал: #define USBOTG0 ((USBOTG_TypeDef *) USBOTG0_BASE) /*!< \brief USBOTG0 Interface register set access pointer */ #define USBPHY0 ((USBPHYC_TypeDef *) (USBOTG0_BASE + 0x0400)) Откуда вообще это взято? Тут во 2й строчке бэйс адрес явно некорректный... Изменено 3 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба Musb otg к ehci никакого отношения не имеет. Это разные устройства. Под работает ehci0 я имею в виду что регистры имеют правильные значения и хранят то что им положено раз3меется при включении та4тирования ehci0. Portsc на положенном месте присутствует. Взято в результате разбирательств с контроллером, дампами кусков памяти, разбирательство с загрузчиком xfel. Изменено 3 августа, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба В 03.08.2022 в 22:02, GenaSPB сказал: Musb otg к ehci никакого отношения не имеет. Да все понял, он имеет. но опосредованно... В 03.08.2022 в 21:28, GenaSPB сказал: #define USBOTG0 ((USBOTG_TypeDef *) USBOTG0_BASE) /*!< \brief USBOTG0 Interface register set access pointer */ #define USBEHCI0 ((USB_EHCI_CapabilityTypeDef *) (USBOTG0_BASE + 0x1000)) /*!< \brief USBEHCI0 Interface register set access pointer */ #define USBOHCI0 ((struct ohci_registers *) (USBOTG0_BASE + 0x1400)) /*!< \brief USBOHCI0 Interface register set access pointer */ #define USBPHY0 ((USBPHYC_TypeDef *) (USBOTG0_BASE + 0x0400)) /*!< \brief USBPHY0 Interface register set access pointer */ Вот это уже другое дело, вижу musb регистры, OTG_PHY_CTL заработал, физика подключилась, энумерация флешки на EHCI0 проходит. Супер, теперь есть 2 хоста! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба Про dmac и former descriptor address register есть мысли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба В 03.08.2022 в 22:07, GenaSPB сказал: Про dmac и former descriptor address register есть мысли? Пока это не делал, DMA пока не знаю, куда применить, поэтому пока не скажу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба Как вам удалось? Ehci0? Или otg0? Изменено 3 августа, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба В 03.08.2022 в 22:10, GenaSPB сказал: Как вам удалось? Ehci0? Или otg0? EHCI0 запустилось. Девайс в принципе тоже должен, но у меня есть только код реализации флешки как устройства, а больше надо курить то, что совпадает с даташитом инвентры, что пока влом да и ненужно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба Вот интересно что с phy0 сделали чтобы заработал EHCI0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба В 03.08.2022 в 22:16, GenaSPB сказал: Вот интересно что с phy0 сделали чтобы заработал EHCI0 А вот это самое интересное, о чем я с китайцем на форуме 2 недели переписывался ломая башку о перевод))) Добавьте это после инита клоков и ресета #define REG_PHY_OTGCTL *(volatile uint32_t *)0x04100420 REG_PHY_OTGCTL &= ~(1<<0); // Host mode. Route phy0 to EHCI/OHCI И заработает))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба На манго пи проверю....на плате что в радиостанции стоит на usb0 не заведено питание на разъём . СПАСИБО! Изменено 3 августа, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба В 03.08.2022 в 22:23, GenaSPB сказал: На манго пи проверю... У себя на ней же и уже проверил, все норм, не виснет и не глючит. Потом надо как-то доработать, чтоб оба хоста могли одновременно работать, а не как сейчас или то или другое... Изменено 3 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба Внес регистр в базу, перегенерил header. Вот так... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба В 03.08.2022 в 22:37, GenaSPB сказал: Вот так... Как то так и есть.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба Кстати, а как у OTG выбирается тот пин, на который заведено VBUS? на разных платах вижу это к разным пинам припаяно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться