3690
правок
Строка 80: | Строка 80: | ||
См. http://olimex.wordpress.com/2012/09/11/imx233-olinuxino-gpios-faster-and-faster/ , https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/iMX233/gpio-mmap.h | См. http://olimex.wordpress.com/2012/09/11/imx233-olinuxino-gpios-faster-and-faster/ , https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/iMX233/gpio-mmap.h | ||
===GPIO и Device Tree=== | |||
Указывать GPIO в Device Tree необходимо для настройки GPIO для работы в режиме программного SPI, I2C, для использования GPIO в качестве источника прерываний и т.д. | |||
Так например на пин 10@UEXT1 (CS) и пины 5@UEXT2 (SCL), 6@UEXT2 (SDA), 10@UEXT2 (CS) выведены линии GPIO процессора. Их можно сконфигурировать для использования например в качестве chip-select для SPI или в качестве I2C. | |||
GPIO процессора и периферийных устройств разбиты на банки (gpiochip). GPIO процессора разбиты на 3 банка по 32 GPIO: gpio0, gpio1, gpio2. Адресация GPIO в Device Tree происходит по номеру банка и номеру GPIO *внутри* банка. | |||
====Пример 1==== | |||
Определим сигнал 6@UEXT2 (SDA) в качестве источника прерываний для драйвера mrf24j40. Согласно таблице [[Список GPIO]], сигнал соответствует GPIO 53 процессора. 53 принадлежит второму банку gpio (от 32 до 63). Номер GPIO внутри банка 53-32=21 : | |||
<pre> | |||
6lowpan@0 { | |||
compatible = "microchip,mrf24j40"; | |||
spi-max-frequency = <100000>; | |||
reg = <6>; | |||
interrupt-parent = <&gpio1>; | |||
interrupts = <21 0>; | |||
}; | |||
</pre> |