собственно сам Reset, и в обработчике прерывания должны "отпустить" isi->reset_complete, но вся проблема в том что обработчик прерывания не вызывается (в вставил irqreturn_t isi_interrupt(int irq, void *dev_id) printk(KERN_EMERG "AT91: isi_interrupt .\n");).
Собрал i2ctool,
# i2cdetect –l
i2c-0 i2c i2c-gpio-1 I2C adapter
# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- AT91: isi_interrupt .
-- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
То есть при работе i2cdetect 0 прерывание вызывается.
[quote]Вобщем, делаю тоже самое для 9g45, после добавления isi_set_clk в board_init, получаю:
LD .tmp_vmlinux1
arch/arm/mach-at91/built-in.o: In function `ek_board_init':
leds.c:(.init.text+0x1d00): undefined reference to `clk_set_parent'
leds.c:(.init.text+0x1d0c): undefined reference to `clk_set_rate'
make: *** [.tmp_vmlinux1] Error 1
Будь то еще какой хидер добавить нужно.[/quote]
У меня такой ошибки не возникало, но вообще странно эти функции реализованы в cloc.c и не выкидываются препроцессором если есть CONFIG_AT91_PROGRAMMABLE_CLOCKS, а make его компилирует если
obj-$(CONFIG_AT91_PMC_UNIT) += clock.o
а в at91sam9263ek_defconfig CONFIG_AT91_PROGRAMMABLE_CLOCKS как раз отсутствует.
[quote]Вобщем, делаю тоже самое для 9g45, после добавления isi_set_clk в board_init, получаю:
LD .tmp_vmlinux1
arch/arm/mach-at91/built-in.o: In function `ek_board_init':
leds.c:(.init.text+0x1d00): undefined reference to `clk_set_parent'
leds.c:(.init.text+0x1d0c): undefined reference to `clk_set_rate'
make: *** [.tmp_vmlinux1] Error 1
Будь то еще какой хидер добавить нужно.[/quote]
Павел, у Вас эти функции прописаны в leds.c. Такие же функции прописаны в файле борды board-9260ek.c для работы аудиокодеков. Т.е. достаточно там посмотреть какой хидер надо прописать в leds.c:)