Задействоранные ножки на SK-9G45-OEM
IgorT
Пункты: 188
Регистрация: 07.10.2012
Добрый день.
Сижу, разбираюсь с SK-9G45-OEM.
Собрал 3.5.5, долго мучил MMC... оказалось что отличаются ножки, используемые на -OEM и на SK-..
Можно попросить указать, какие порты на плате для каких целей использованы ? ( раз уж нет схемы)
Подозреваю, что Eth у меня тоже из-за .irq_pin не работает.
Подскажете ?
Спасибо.
IgorT
Пункты: 188
Регистрация: 07.10.2012
Заработало, спасибо за наводку по
тактированию.
Quasar_ru
Пункты: 394
Регистрация: 23.10.2012
Цитата Добрый день.
Сижу, разбираюсь с SK-9G45-OEM.
Собрал 3.5.5, долго мучил MMC... оказалось что отличаются ножки, используемые на -OEM и на SK-..
Можно попросить указать, какие порты на плате для каких целей использованы ? ( раз уж нет схемы)
Подозреваю, что Eth у меня тоже из-за .irq_pin не работает.
Подскажете ?
Спасибо.
Я тоже обновился и не работает mmc, в файле board-sam9m10g45ek.c подставил из штатного ядра, все равно не работает:
Цитата /*
* MCI (SD/MMC)
*/
static struct mci_platform_data __initdata mci0_data = {
.slot[0] = {
.bus_width = 4,
.detect_pin = AT91_PIN_PC31,
.wp_pin = -EINVAL,
},
};
static struct mci_platform_data __initdata mci1_data = {
.slot[0] = {
.bus_width = 4,
.detect_pin = AT91_PIN_PD12,
.wp_pin = -EINVAL,
},
};
sasamy
Пункты: 83560
Регистрация: 14.08.2009
Попробуйте собрать с дефолтным конфигои
$ make ARCH=arm at91sam9g45_defconfig
....
Quasar_ru
Пункты: 394
Регистрация: 23.10.2012
Цитата Попробуйте собрать с дефолтным конфигои
$ make ARCH=arm at91sam9g45_defconfig
....
Не помогло. Думаю дальше в чем дело. Появился еще один вопрос. Не работает сеть. Судя по тому, что я прочитал на данном форуме здесь
http://starterkit.ru/html/index.php?name=forum&op=view&id=14053
надо как-то включить клок PHY с процессора, на как это сделать в новых ядрах? В старом я так понимаю это делается следующим кодом:
Цитата static void __init pck1_set_clk(void)
{
struct clk *pck1;
struct clk *plla;
int i;
pck1 = clk_get(NULL, "pck1");
plla = clk_get(NULL, "plla");
at91_set_B_periph(AT91_PIN_PE31, 0); /* PCK1 */
// at91_set_B_periph(AT91_PIN_PA31, 0); /* PCK0 */
clk_set_parent(pck1, plla);
clk_put(plla);
clk_set_rate(pck1,25000000);
clk_enable(pck1);
}
Но в новом ядре нет ни каких clk_get(), clk_put(); Не совсем понятно, как оно у всех после обновления работает?
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
если у вас вот такая плата и кварц на 25МГц рядом с чипом Микрела запаян, то, имхо, внешняя тактовая не нужна..
что у вас в настройках ядра по поводу физики сети?
и как "не работает" сеть?
при старте ядра, что пишет про сеть? что выводит
ifconfig ?
На любой вопрос есть любой ответ.
sasamy
Пункты: 83560
Регистрация: 14.08.2009
Цитата
Но в новом ядре нет ни каких clk_get(), clk_put();
может просто хидер подключить ? :)
#include <linux/clk.h>
Quasar_ru
Пункты: 394
Регистрация: 23.10.2012
Цитата Цитата
если у вас вот такая плата и кварц на 25МГц рядом с чипом Микрела запаян, то, имхо, внешняя тактовая не нужна..
что у вас в настройках ядра по поводу физики сети?
и как "не работает" сеть?
при старте ядра, что пишет про сеть? что выводит
ifconfig ?
Плата без квраца, поэтому нужен клок.
"Не работает" - не поднимает линк. В конфиге физика Micrel присутствует.
Цитата CONFIG_MICREL_PHY=y
ifconfig пишет что сеть якобы есть:
Цитата # ifconfig
eth0 Link encap:Ethernet HWaddr 00:1F:F2:00:00:00
inet addr:192.168.0.136 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST 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:41 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 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)
Quasar_ru
Пункты: 394
Регистрация: 23.10.2012
Цитата Цитата
Но в новом ядре нет ни каких clk_get(), clk_put();
может просто хидер подключить ? :)
#include <linux/clk.h>
Вы не поверите, но действительно стало лучше ) .
В ядре 2.6.36-rc6, которым комплектовалась плата, данные функции присутствуют в файле clock.c, а в новых ядрах, в данном файле я этих функций не обнаружил.
Собственно осталась только проблема с mmc. Собрал ядро 3.9-rc1 аналогично - не работает mmc :-(