EvgS 0 13 июня, 2007 Опубликовано 13 июня, 2007 · Жалоба Не получается инициализировать Ethernet в АТ91SAM9260 и DM9161: не проходит автоматическое определение сети. Обмен с DM9161 есть, т. е. данные записываются и читаются. Запускаю автоматическую настройку и всё окончания этой процедуры не видно, выхожу по тайм-ауту. Работаю на плате AT91SAM9260-EK от фирмы Atmel. Может кто-то сталкивался с такой проблемой или работал с PHY DM9161? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gemm 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба Не получается инициализировать Ethernet в АТ91SAM9260 и DM9161: не проходит автоматическое определение сети. Обмен с DM9161 есть, т. е. данные записываются и читаются. Запускаю автоматическую настройку и всё окончания этой процедуры не видно, выхожу по тайм-ауту. Работаю на плате AT91SAM9260-EK от фирмы Atmel. Может кто-то сталкивался с такой проблемой или работал с PHY DM9161? Работал с этим физиклом на плате от Аргуссофта, но автоопределения не запускал. Просто из соответствующих регистров читал скорость и дуплекс. Потом мы сменили физикл на RTL8201, и вот там пришлсь запускать auto negatiation, ждать завершения - и только после этого читать данные регистров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба Что то не ясно мне. 9161 link устанавливает совершенно самостоятельно. То есть без всякого вмешательства со стороны процессора. Если на плате установлен светодиод на выходе link - то он загорается, если 9161 к сети подцепился. Если не загорается - проверяй физическое подсоединение к сети. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgS 0 18 июня, 2007 Опубликовано 18 июня, 2007 · Жалоба Что то не ясно мне. 9161 link устанавливает совершенно самостоятельно. То есть без всякого вмешательства со стороны процессора. Если на плате установлен светодиод на выходе link - то он загорается, если 9161 к сети подцепился. Если не загорается - проверяй физическое подсоединение к сети. Почему не работает, вроде ясно: DM9161 включается в тестовом режиме (после сброса выход RX-DV защёлкивает 1). Теперь не могу понять как его из этого режима вывести. Можно ли его вывести в нормальный режим программным путём записью какого-нибудь бита в управляющий регистр? Апаратная доработка стандартной Atlmel-овской платы поиогло (подтянули вход RX-DV к 0), но хотелось бы сделать это без аппаратной доработки, плата-то должна быть рабочая. В примерах на SAM7 используют вход PWRDOWN, его завели на выход микропроцессора и перед настройкой PHY выставляют на выходе связанном с RX-DV сигнал 0 и подают PWDOWN. Но у меня на плате PWDOWN жестко посажен на землю. А запись в регистр 0 бит 11 (PowerDown) ничего не даёт: из тестового режима PHY не выходит. Как вывести DM9161 из тестового режима??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgS 0 19 июня, 2007 Опубликовано 19 июня, 2007 · Жалоба Из тестового режима DM9161 вывел, пришлось подать на него программный Reset от микропроцессора. Теперь не работатет ни передача ни приём. процессор и PHY друг друга не слышат при передаче данных Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiniMax 0 7 февраля, 2009 Опубликовано 7 февраля, 2009 (изменено) · Жалоба На оригинаольной плате от ATMEL AT91SAM9260-EK Ethernet работает без проблем в режите RMII ( микросхема DM9161AEP) в U-boot моей сборки. Попробовал переключить в MII режим. R49, R50, R127 удалены из платы. S7,S8 замкнуты. Скомпилировал новый U-boot c /* Ethernet */ #define CONFIG_DRIVER_ETHER 1 #define CONFIG_DRIVER_DM9161AEP 1 #define CONFIG_MACB 1 #undef CONFIG_RMII #define CONFIG_MII 1 #define CONFIG_NET_MULTI 1 #define CONFIG_NET_RETRY_COUNT 20 #define CONFIG_RESET_PHY_R 1 #undef CONFIG_BOOTP_DNS2 #undef CONFIG_CMD_SNTP Не работает. И похоже, что не у меня одного http://www.at91.com/samphpbb/viewtopic.php?p=12486 http://www.at91.com/samphpbb/viewtopic.php...p;sk=t&sd=a Это лог регистров Davicom macb0: PHYID1=0x0181 macb0: PHYID2=0xb8a0 macb0: DM9161 reset... DM9161_BMCR Basic Mode Control Register = 0x3100 DM9161_BMSR Basic Mode Status Register = 0x7849 DM9161_PHYID1 PHY Idendifier Register 1 = 0x0181 DM9161_PHYID2 PHY Idendifier Register 2 = 0xb8a0 DM9161_ANAR Auto_Negotiation Advertisement Register = 0x01e1 DM9161_ANLPAR Auto_negotiation Link Partner Ability Register = 0x0000 DM9161_ANER Auto-negotiation Expansion Register = 0x0000 DM9161_DSCR Specified Configuration Register = 0x0d14 DM9161_DSCSR Specified Configuration and Status Register = 0xf200 DM9161_10BTCSR 10BASE-T Configuration and Satus Register = 0x5800 DM9161_MDINTR Specified Interrupt Register = 0x1f00 DM9161_RECR Specified Receive Error Counter Register = 0x0000 DM9161_DISCR Specified Disconnect Counter Register = 0x0000 DM9161_RLSR Hardware Reset Latch State Register = 0xdee0 macb0: Autonegotiation timed out (status=0x7849) macb0: link down (status: 0x7849) Кто-то пробовал режим MII ? Изменено 7 февраля, 2009 пользователем MiniMax Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 7 февраля, 2009 Опубликовано 7 февраля, 2009 · Жалоба Кто-то пробовал режим MII ? А клоки-то на него правильно поданы для MII? (25MHz на XT1 вместо 50MHz на XT2). DM9161AEP замечательно работает с SAM7X в режиме MII, EMAC'и у SAM7X и SAM9260 одинаковые. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiniMax 0 7 февраля, 2009 Опубликовано 7 февраля, 2009 · Жалоба А клоки-то на него правильно поданы для MII? (25MHz на XT1 вместо 50MHz на XT2). DM9161AEP замечательно работает с SAM7X в режиме MII, EMAC'и у SAM7X и SAM9260 одинаковые. 25MHz кварц подключен правильно ( S7,S8 замкнуты) Мне кажется , что проблема в U-boot. Есть у кого скомпилированный рабочий U-boot для MII на AT91SAM9260-EK плате ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rw9uao 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба я помудохался в свое время с этим давикомом на rm9200. QNX драйвер делал. запустил режим RMII, а на MII забил. auto negatiation работал вроде нормально. вычитывал содержимое регистров и наверх отдавал 10/100 и FD/HD и no cable. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба я помудохался в свое время с этим давикомом на rm9200. QNX драйвер делал. запустил режим RMII, а на MII забил. auto negatiation работал вроде нормально. вычитывал содержимое регистров и наверх отдавал 10/100 и FD/HD и no cable. Могу подтвердить. Аналогично, режим RMII на готовой микроплатке ECO920 (rm9200 + davicom) - без проблем, а MII - ни в какую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiniMax 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба U-boot заработал с MII режимом :-) /* * Disable pull-up on: * RXDV (PA17) => PHY normal mode (not Test mode) * ERX0 (PA14) => PHY ADDR0 * ERX1 (PA15) => PHY ADDR1 * ERX2 (PA25) => PHY ADDR2 * ERX3 (PA26) => PHY ADDR3 * ECRS (PA28) => PHY ADDR4 => PHYADDR = 0x0 * * PHY has internal pull-down */ writel(pin_to_mask(AT91_PIN_PA14) | pin_to_mask(AT91_PIN_PA15) | pin_to_mask(AT91_PIN_PA17) | pin_to_mask(AT91_PIN_PA25) | pin_to_mask(AT91_PIN_PA26) | pin_to_mask(AT91_PIN_PA28) | pin_to_mask(AT91_PIN_PA29), pin_to_controller(AT91_PIN_PA0) + PIO_PUDR); Просто добавил pin_to_mask(AT91_PIN_PA29) в board/atmel/at91sam9260ek/at91sam9260ek.c Осталась проблема с Linux MACB_mii_bus: probed eth0: Atmel MACB at 0xfffc4000 irq 21 (00:50:c2:90:46:00) eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1) ... eth0: link up (100/Full) ... ifconfig eth0 Link encap:Ethernet HWaddr 00:50:C2:90:46:55 inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:21 Base address:0x4000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Все определилось. Линк есть. Но "пинги не ходят". Похоже, что надо патчить Linux драйвер, который думает, по всей вероятности, что чип находится в режиме RMII Кто-нибудь сталкивался с такой проблемой ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiniMax 0 11 февраля, 2009 Опубликовано 11 февраля, 2009 (изменено) · Жалоба Похоже, что надо патчить Linux драйвер, который думает, по всей вероятности, что чип находится в режиме RMII Решил и эту проблему. В arch/arm/mach-at91/board-sam9260ek.c надо заменить .is_rmii = 1," на ".is_rmii = 0, /* * MACB Ethernet device */ static struct at91_eth_data __initdata ek_macb_data = { .phy_irq_pin = AT91_PIN_PA7, .is_rmii = 0, }; Вывод. В связке AT91SAM9260+ DM9161AEP оба режима ( MII и RMII) работают очень хорошо Изменено 11 февраля, 2009 пользователем MiniMax Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demitry 0 12 ноября, 2009 Опубликовано 12 ноября, 2009 (изменено) · Жалоба А что єто за дефайн?- "#define CONFIG_DRIVER_DM9161AEP 1" и какой убут используете.. ? Изменено 12 ноября, 2009 пользователем demitry Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demitry 0 16 ноября, 2009 Опубликовано 16 ноября, 2009 · Жалоба Рад, что у Вас все получилось в DM9161 только вот у меня с ним аналогичные проблемы. Мудохаюсь неприлично долго. Подключение DM9161 к AT91sam9xe аналогично подключению в At91sam9260. Учел Ваши рекомендации относительно "pin_to_mask(AT91_PIN_PA29),", 25MHz кварц подключен правильно ( S7,S8 замкнуты, R49, R50, R127 - их нет). Устанавливаю ipaddr, netmask, serverip, ethaddr, gatewayip, hostname U-Boot> ping #.#.#.# Trying macb0 Dm. macb_writel(macb, USRIO, MACB_BIT(CLKEN)); macb0: PHY present at 1 macb0: Starting autonegotiation... macb0: Autonegotiation complete macb0: link up, 100Mbps full-duplex (lpa: 0x45e1) Using macb0 device sending ARP for 3538a8c0 ARP broadcast 1 packet received packet received ..................... Receive from protocol 0x800 Got IP len=78, v=45 packet received packet received ..................... Got IP len=78, v=45 packet received packet received Receive from protocol 0x800 Got IP len=78, v=45 ping failed; host #.#.#.# is not alive Помогите! -)), рад бы взглянуть на ваши исходники.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiniMax 0 16 ноября, 2009 Опубликовано 16 ноября, 2009 · Жалоба [quote name='demitry' date='Nov 16 2009, 11:53' post='678606' Помогите! -)), рад бы взглянуть на ваши исходники.. Архив (8MB) с исходниками, BIN файлом и т.д. можно скачать отсюда http://www.bipom.com/support/mmarm9260/u-b...2008.10.tar.bz2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться