Встала задача написать "драйвер" который будет показывать состояния портов ввода вывода + менять. контролеер AT91SAM9260
под портами ввода вывода понимается.....эм сам не знаю как объяснить

вообщем имеется на плате 8 клемников в каждом по 2 дырки.
4 из них подписаны как DIN1-DIN4 - это дискретные входы
2 DOUT1-DOUT2 это дискретные выходы и 2 AIN1-AIN2 - это аналоговые входы.
Есть "разводка"(не знаю правельно ли обозвал

DIN1 - подключен к PB0
DIN2 - подключен к PB1
DIN3 - подключен к PB2
DIN4 - подключен к PB3
DOUT1 - подключен к PB30
DOUT2 - подключен к PB31
AIN1 - подключен к PC0
AIN2 - подключен к PC1
Вот вроде и все из теории.
У меня возникли следующие проблемы: с чего начать не знаю

То что я нарыл: судя по всему мне надо использовать: AT91_PIN_PB0, AT91_PIN_PB1, ....
нашел в файле gpio.h набор функций
at91_gpio_init
at91_set_B_periph
at91_set_A_periph
.....
назначение данных функций мне не понятно-документации по ним не нашел

Хотелось бы что кто-нибудь помог разобраться со всем этим
Заранее благодарен!
ЗЫ я не схемотехник, а программист