|
|
 |
Ответов
|
May 10 2012, 14:25
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 23-07-05
Пользователь №: 7 043

|
Цитата(tturist @ May 10 2012, 09:22)  Есть процессор с одним портом ethernet (АМ1808), linux 2.6.37. Требуется прикрутить ethernet switch (KSZ8863). Подскажите, где можно посмотреть примеры кода? Ткните, плс, в какую-нибудь плату с ethernet switch + linux. В исходных текстах ядра, net/dsa - поддержка switch'а 88EXXXX от Marvell.
|
|
|
|
|
May 11 2012, 13:59
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703

|
Цитата(ObitJr @ May 10 2012, 17:25)  В исходных текстах ядра, net/dsa - поддержка switch'а 88EXXXX от Marvell. Спсб. Но я неточно сформулировал вопрос - скорее хотелось бы воспользоваться стандартным "Generic PHY" драйвером, но не могу найти примера - как сконфигурировать несколько phy к одному сетевому устройству. DSA - любопытная вещь. Опять-таки не могу найти толкового описания принципа работы. Основное что не понятно - DSA требует поддержки в чипе свича или это чисто софтовая примочка линукса?
Сообщение отредактировал tturist - May 11 2012, 14:00
|
|
|
|
|
May 12 2012, 09:21
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 23-07-05
Пользователь №: 7 043

|
Цитата(tturist @ May 11 2012, 16:59)  Спсб. Но я неточно сформулировал вопрос - скорее хотелось бы воспользоваться стандартным "Generic PHY" драйвером, но не могу найти примера - как сконфигурировать несколько phy к одному сетевому устройству. DSA - любопытная вещь. Опять-таки не могу найти толкового описания принципа работы. Основное что не понятно - DSA требует поддержки в чипе свича или это чисто софтовая примочка линукса? Технологию DSA должен поожерживать чип. И похоже что ваш чип ее тоже поддерживает. В сети есть куча исходников где реализовано DSA для 8863. Посмотрите на http://www.eleaks.org/tmp/micrel/
|
|
|
|
|
May 12 2012, 13:39
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703

|
Цитата(ObitJr @ May 12 2012, 12:21)  Технологию DSA должен поожерживать чип. И похоже что ваш чип ее тоже поддерживает. В сети есть куча исходников где реализовано DSA для 8863. Посмотрите на http://www.eleaks.org/tmp/micrel/ Да, спасибо, видел эти исходники. Есть так же поддержка DSA для чипа KSZ8893M в ветке uLinux для BlackFin (вроде как стоит на плате BF518-EZBRD). Но нет ни одного слова про DSA в даташитах KSZ8863 и KSZ8893! И вообще сайт микрела про DSA ничего не знает. Или рассказать не хочет. Странно все это как-то... Кроме загадочных слов из описания DSA про специальный "ethernet header format" - все остальное скрыто туманом. Остается открытым вопрос - как подключить switch без использования DSA.
|
|
|
|
|
May 14 2012, 08:37
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 23-07-05
Пользователь №: 7 043

|
Цитата(tturist @ May 12 2012, 16:39)  Да, спасибо, видел эти исходники. Есть так же поддержка DSA для чипа KSZ8893M в ветке uLinux для BlackFin (вроде как стоит на плате BF518-EZBRD). Но нет ни одного слова про DSA в даташитах KSZ8863 и KSZ8893! И вообще сайт микрела про DSA ничего не знает. Или рассказать не хочет. Странно все это как-то... Кроме загадочных слов из описания DSA про специальный "ethernet header format" - все остальное скрыто туманом.
Остается открытым вопрос - как подключить switch без использования DSA. Берете драйвер под emac вашего процессора, добавляете в список фитеров новый с ID вашего свитча. Базовые функции должны работать. Далее правите под switch если нужно. Я так понял что вы используете davinci_emac. Он, вроде, должен брать первый попавшийся phy (найденный по ID) и использовать его. Насколько я помню, если ID фитера не опознан - используется "Generic PHY".
Сообщение отредактировал ObitJr - May 14 2012, 08:54
|
|
|
|
|
May 15 2012, 11:53
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703

|
Цитата(ObitJr @ May 14 2012, 11:37)  Берете драйвер под emac вашего процессора, добавляете в список фитеров новый с ID вашего свитча. Базовые функции должны работать. Далее правите под switch если нужно.
Я так понял что вы используете davinci_emac. Он, вроде, должен брать первый попавшийся phy (найденный по ID) и использовать его. Насколько я помню, если ID фитера не опознан - используется "Generic PHY". Да, все так - davinci_emac берет первый phy на шине и Generic PHY работает. Но только для первого phy порта. Соответственно если кабель воткнули не в первый, а во второй порт, линка нет, интерфейс не работает. По исходникам Generic PHY у меня складывается впечатление что несколько phy на одном сетевом устройстве не поддерживается (phy_connect() этого вроде не предусматривает). Я конечно могу все это переделать. Но складывается стойкое ощущение что я копаю "не в ту сторону". Как-то все должно быть проще... Но не могу найти примеров - как.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|