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

 
 
> 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
 
Start new topic
Ответов
RW9UAO
сообщение Feb 8 2009, 05:09
Сообщение #2


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

Группа: Свой
Сообщений: 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
Сообщение #3


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

Группа: Свой
Сообщений: 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
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 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

Сообщений в этой теме
- EvgS   AT91SAM9260 и DM9161   Jun 13 2007, 10:37
- - Gemm   Цитата(EvgS @ Jun 13 2007, 14:37) Не полу...   Jun 15 2007, 12:35
- - sergeeff   Что то не ясно мне. 9161 link устанавливает соверш...   Jun 15 2007, 18:57
|- - EvgS   Цитата(sergeeff @ Jun 15 2007, 22:57) Что...   Jun 18 2007, 07:22
- - EvgS   Из тестового режима DM9161 вывел, пришлось подать ...   Jun 19 2007, 11:31
- - MiniMax   На оригинаольной плате от ATMEL AT91SAM9260-EK Eth...   Feb 7 2009, 16:59
|- - aaarrr   Цитата(MiniMax @ Feb 7 2009, 19:59) Кто-т...   Feb 7 2009, 17:28
||- - MiniMax   Цитата(aaarrr @ Feb 7 2009, 21:28) А клок...   Feb 7 2009, 17:37
|- - demitry   А что єто за дефайн?- "#define CONFIG_DRIVER_...   Nov 12 2009, 13:45
- - demitry   Рад, что у Вас все получилось в DM9161 только вот ...   Nov 16 2009, 08:53
- - MiniMax   [quote name='demitry' date='Nov 16 200...   Nov 16 2009, 13:28
- - demitry   Большое СПАСИБО Минимаксу!!.. пингим ходят...   Nov 17 2009, 14:31


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 14:01
Рейтинг@Mail.ru


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