реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> AT91SAM9260 и DM9161, Не работает инициализация PHY
EvgS
сообщение Jun 13 2007, 10:37
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 13-06-07
Пользователь №: 28 396



Не получается инициализировать Ethernet в АТ91SAM9260 и DM9161: не проходит автоматическое определение сети. Обмен с DM9161 есть, т. е. данные записываются и читаются. Запускаю автоматическую настройку и всё окончания этой процедуры не видно, выхожу по тайм-ауту. Работаю на плате AT91SAM9260-EK от фирмы Atmel. Может кто-то сталкивался с такой проблемой или работал с PHY DM9161?
Go to the top of the page
 
+Quote Post
Gemm
сообщение Jun 15 2007, 12:35
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 2-08-05
Из: Коломна
Пользователь №: 7 283



Цитата(EvgS @ Jun 13 2007, 14:37) *
Не получается инициализировать Ethernet в АТ91SAM9260 и DM9161: не проходит автоматическое определение сети. Обмен с DM9161 есть, т. е. данные записываются и читаются. Запускаю автоматическую настройку и всё окончания этой процедуры не видно, выхожу по тайм-ауту. Работаю на плате AT91SAM9260-EK от фирмы Atmel. Может кто-то сталкивался с такой проблемой или работал с PHY DM9161?


Работал с этим физиклом на плате от Аргуссофта, но автоопределения не запускал. Просто из соответствующих регистров читал скорость и дуплекс. Потом мы сменили физикл на RTL8201, и вот там пришлсь запускать auto negatiation, ждать завершения - и только после этого читать данные регистров.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jun 15 2007, 18:57
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Что то не ясно мне. 9161 link устанавливает совершенно самостоятельно. То есть без всякого вмешательства со стороны процессора. Если на плате установлен светодиод на выходе link - то он загорается, если 9161 к сети подцепился. Если не загорается - проверяй физическое подсоединение к сети.
Go to the top of the page
 
+Quote Post
EvgS
сообщение Jun 18 2007, 07:22
Сообщение #4





Группа: Новичок
Сообщений: 3
Регистрация: 13-06-07
Пользователь №: 28 396



Цитата(sergeeff @ Jun 15 2007, 22:57) *
Что то не ясно мне. 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 из тестового режима???
Go to the top of the page
 
+Quote Post
EvgS
сообщение Jun 19 2007, 11:31
Сообщение #5





Группа: Новичок
Сообщений: 3
Регистрация: 13-06-07
Пользователь №: 28 396



Из тестового режима DM9161 вывел, пришлось подать на него программный Reset от микропроцессора.
Теперь не работатет ни передача ни приём. процессор и PHY друг друга не слышат при передаче данных
Go to the top of the page
 
+Quote Post
MiniMax
сообщение Feb 7 2009, 16:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



На оригинаольной плате от 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 ?

Сообщение отредактировал MiniMax - Feb 7 2009, 17:01
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 7 2009, 17:28
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MiniMax @ Feb 7 2009, 19:59) *
Кто-то пробовал режим MII ?

А клоки-то на него правильно поданы для MII? (25MHz на XT1 вместо 50MHz на XT2).
DM9161AEP замечательно работает с SAM7X в режиме MII, EMAC'и у SAM7X и SAM9260 одинаковые.
Go to the top of the page
 
+Quote Post
MiniMax
сообщение Feb 7 2009, 17:37
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



Цитата(aaarrr @ Feb 7 2009, 21:28) *
А клоки-то на него правильно поданы для MII? (25MHz на XT1 вместо 50MHz на XT2).
DM9161AEP замечательно работает с SAM7X в режиме MII, EMAC'и у SAM7X и SAM9260 одинаковые.


25MHz кварц подключен правильно ( S7,S8 замкнуты)
Мне кажется , что проблема в U-boot.
Есть у кого скомпилированный рабочий U-boot для MII на AT91SAM9260-EK плате ?
Go to the top of the page
 
+Quote Post
RW9UAO
сообщение Feb 8 2009, 05:09
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 115
Регистрация: 23-01-07
Пользователь №: 24 688



я помудохался в свое время с этим давикомом на rm9200. QNX драйвер делал. запустил режим RMII, а на MII забил. auto negatiation работал вроде нормально. вычитывал содержимое регистров и наверх отдавал 10/100 и FD/HD и no cable.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Feb 8 2009, 11:50
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(RW9UAO @ Feb 8 2009, 08:09) *
я помудохался в свое время с этим давикомом на rm9200. QNX драйвер делал. запустил режим RMII, а на MII забил. auto negatiation работал вроде нормально. вычитывал содержимое регистров и наверх отдавал 10/100 и FD/HD и no cable.


Могу подтвердить. Аналогично, режим RMII на готовой микроплатке ECO920 (rm9200 + davicom) - без проблем, а MII - ни в какую.
Go to the top of the page
 
+Quote Post
MiniMax
сообщение Feb 10 2009, 11:14
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



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

Кто-нибудь сталкивался с такой проблемой ?
Go to the top of the page
 
+Quote Post
MiniMax
сообщение Feb 11 2009, 08:04
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



Цитата(MiniMax @ Feb 10 2009, 15:14) *
Похоже, что надо патчить 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) работают очень хорошо


Сообщение отредактировал MiniMax - Feb 11 2009, 08:05
Go to the top of the page
 
+Quote Post
demitry
сообщение Nov 12 2009, 13:45
Сообщение #13





Группа: Участник
Сообщений: 7
Регистрация: 9-06-09
Пользователь №: 50 122



А что єто за дефайн?- "#define CONFIG_DRIVER_DM9161AEP 1"
и какой убут используете.. ?

Сообщение отредактировал demitry - Nov 12 2009, 13:46
Go to the top of the page
 
+Quote Post
demitry
сообщение Nov 16 2009, 08:53
Сообщение #14





Группа: Участник
Сообщений: 7
Регистрация: 9-06-09
Пользователь №: 50 122



Рад, что у Вас все получилось в 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

Помогите! -)), рад бы взглянуть на ваши исходники..
Go to the top of the page
 
+Quote Post
MiniMax
сообщение Nov 16 2009, 13:28
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



[quote name='demitry' date='Nov 16 2009, 11:53' post='678606'
Помогите! -)), рад бы взглянуть на ваши исходники..
[/quote]

Архив (8MB) с исходниками, BIN файлом и т.д. можно скачать отсюда
http://www.bipom.com/support/mmarm9260/u-b...2008.10.tar.bz2
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 11:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01514 секунд с 7
ELECTRONIX ©2004-2016