October 2017
Intermediate to advanced
586 pages
14h 8m
English
Every GPIO controller declared in the DT must have the Boolean property gpio-controller set. Some controllers provide IRQs mapped to the GPIO. In that case, the interrupt-cells property should be set too; usually you use 2, but it depends on the need. The first cell is the pin number, and the second represents the interrupt flag.
gpio-cells should be set to identify how many cells are used to describe a GPIO specifier. You usually use <2>, the first cell to identify the GPIO number, and the second for flags. Actually, most non-memory mapped GPIO controllers do not use flags:
expander_1: mcp23016@27 { compatible = "microchip,mcp23016"; interrupt-controller; gpio-controller; #gpio-cells = <2>; interrupt-parent = ...