Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: mii через userspace
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Славка
Проц mpc8323e ядро 2.6.20
Как можно через userspace записать/считать регистры switch'а ip175c?
Цитата
int getPhy (reg mii)
{
struct mii_ioctl_data *data;
struct ifreq iwr;
int s = socket (AF_INET, SOCK_DGRAM, 0);
if (s < 0)
{
return -1;
}
(void) strncpy (iwr.ifr_name, "eth0", sizeof ("eth0"));
data = (struct mii_ioctl_data *) &iwr.ifr_data;
data->phy_id = mii.p;
data->reg_num = mii.m;
data->val_out = 0;
if (ioctl (s, SIOCGMIIREG, &iwr) == -1) {
fprintf(stderr,"Cannot get PHY %d %d",mii.p,mii.m); //заходит сюды
perror("");
}
close (s);
fprintf(stderr, "PHY %d %d is currently 0x%04X\n",mii.p,mii.m,data->val_out);
return data->val_out;
}

При попытке считать что-то выдает:
Cannot get PHY 29 23Operation not supported
В правильном ли я вообще русле двигаюсь?
На форуме про это ничего не нашел... Есть собственно статейка...
https://dev.openwrt.org/ticket/4050
кернел пропатчил как там написано и все равно...
Славка
Цитата(Славка @ Apr 23 2010, 15:22) *
При попытке считать что-то выдает:
Cannot get PHY 29 23Operation not supported
В правильном ли я вообще русле двигаюсь?

Двигался в правильном русле, все вродь получилось, нужно было добавить в драйвер для Ethernet контроллера поддержку ethtool/mii-tool... сделал по аналогии с других драйверов. И через ioctl записываю и считываю регистры. Кому интересно, могу скинуть ucc_geth драйвер с поддержкой ethtool/mii-tool... ну и рабочую прогу, для настройки vlanов и wanов на свиче ip175c...
romez777
А с IP1725 не доводилось работать? Я сейчас как раз пишу SMI драйвер на gpio пинах для общения с данным чипом.
Славка
Цитата(romez777 @ May 18 2010, 06:37) *
А с IP1725 не доводилось работать? Я сейчас как раз пишу SMI драйвер на gpio пинах для общения с данным чипом.

Нее... Его даж гугл не знает smile.gif
А почему на gpio? этож еще тот геморрой... через ioctl проще же... готовые функции для mdio
romez777
Цитата(Славка @ May 18 2010, 16:43) *
Нее... Его даж гугл не знает smile.gif

Действительно, даже на сайте производителя ни слова.

Цитата
А почему на gpio? этож еще тот геморрой... через ioctl проще же... готовые функции для mdio

Гм.. а драйвер с dev.openwrt.org поймет ли данный чип (у меня никакого софта к нему нет) ?
Славка
Цитата(romez777 @ May 19 2010, 04:04) *
Действительно, даже на сайте производителя ни слова.
Гм.. а драйвер с dev.openwrt.org поймет ли данный чип (у меня никакого софта к нему нет) ?

А как ты собрался писать драйвер без даташита? По идее у тебя должен быть ethernet controller в процессоре (и драйвер к нему соответственно) к которому цепляется физика(phy) в виде этого свича. В драйвере на эзернет контроллер обычно всегда предусмотрены функции работы с физикой. А это и есть те самые функции mdio_read, mdio_write так как физики обычно через них и работают.
Если тебе нужен простой драйвер, то берешь от свича ip175c, качаешь даташит на свой и этот и по аналогии передираешь... не думаю, что они сильно отличатся будут... так как 0,1,2.... регистры у всех свичей одинаковые (скорость, авто-неготейшн, дуплекс, линк), а вот остальные навороты разнятся (влан, спанинг трее, ван)... если тебе они не нужны, то вот такой драйвер куда более понятен и легко переделывается для любого свича...
http://tomoyo.sourceforge.jp/cgi-bin/lxr/s...et/phy/icplus.c
Сделать резет, установить скорости, зарегистрировать в системе... коротко и работает...
romez777
Я говорил, что нет софта (часто к чипу чипмейкеры прикладывают библиотеки, драйверы, референс код и пр.). Даташит как раз есть ) Спасибо за ссылки, обязательно посмотрю.
Славка
Цитата(romez777 @ May 19 2010, 14:10) *
Я говорил, что нет софта (часто к чипу чипмейкеры прикладывают библиотеки, драйверы, референс код и пр.). Даташит как раз есть ) Спасибо за ссылки, обязательно посмотрю.

А к чему ты будешь то подключать сам свич? Твой проц же имеет мак контроллер? вот я про него и говорил. на него есть драйвер, который должен уметь работать со стандартными физиками, и у него есть готовые функции для работы с SMI, чтоб не мучаться с GPIO.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.