Есть задача - подключить по I2C устройство (микросхема PCF8574).
К контроллеру подключил. Но в /dev устройства i2c нету(согласно мане /Documentation/i2c/dev-interface).
Надо пересобирать ядро с поддержкой именно этого девайса (PCF8574)? но ведь по идее I2C это стандартный интерфейс и ядру должно быть пофиг какое там конкретное железо сидит...
или я копаю не там?
допустим в системе есть драйвер подержки pcf8574..
в ядре взведены необходимые галочки и ядро пересобрано с учетом подключенного драйвера или драйвер собран отдельно в виде модуля..
не худо бы прописать в \arch\arm\mach-at91\board-sam9260ek.c
в этой структуре свое устройство: static struct i2c_board_info __initdata ek_i2c_devices[]
imho, ядру вообще все пофиг :)
человеку надо - человек суетится :))
если не срастется, то лог загрузки сюда, хотя бы типа dmesg | grep i2c
Значит, что для ядра порты расширителя будут под номерами 128..135.
Появится также /sys/class/gpio/gpiochip128/device/ и /sys/class/gpio/gpiochip136/ (для моего случая).
У меня на этом порту отладочные светодиоды (включаються 0 на выходе).
В боард файле есть такое определение
С такими настройками у меня в /sys/class/leds/ восемь папочек DS1-DS8 (светодиоды). В каждой папочке есть фалик trigger. Через него можно светодиод включить, заставить моргать по разному. Я например включаю сетодиод при запуске ssh сервера (через скрипт запуска). Сразу видно когда к плате уже можно обращаться по ssh.
В конфиге включено ?
GPIO_SYSFS
GPIO_PCF857x
Я описал ситуацию для ядра 2.6.33-rc8. Для ядра 2.6.28 надо посмотреть есть ли драйвер pcf857x (не помну начиная с какого убрали из исходников pcf8574.c а добавили универсальный драйвер pcf857x.c для 8-ми и 16-ти битных расширителей портов). Если есть то можно попробовать
{
I2C_BOARD_INFO("pcf857x", 0x20),
.type = "pcf8574",
.platform_data = &pcf857x_data[0],
},
чем черт не шутит, может поможет.
И не много не по теме. У вас в логох я видел
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
tlv320aic23b spi1.0: tlv320aic23b: supported bitrate is 47348 (66 divider)
ALSA device list:
#0: AT91SAM9260 external CODEC on irq 14
При возпроизведении звука небольших щелчков не замечали?
Естественно вы их будете замечать - частота дискретизации не совпадает да еще такая разница большая. Я для этого специально подбирал частоту plla - чтобы не было ошибки при выбре делителя для ssc.