1GPIO via CREG (control registers) driver
2
331                 9        7        5           0   < bit number
4|                  |        |        |           |
5[     not used     | gpio-1 | gpio-0 | <-shift-> ]   < 32 bit register
6                       ^        ^
7                       |        |
8                write 0x2 == set output to "1" (activate)
9                write 0x3 == set output to "0" (deactivate)
10
11Required properties:
12- compatible : "snps,creg-gpio"
13- reg : Exactly one register range with length 0x4.
14- #gpio-cells : Should be one - the pin number.
15- gpio-controller : Marks the device node as a GPIO controller.
16- gpio-count: Number of GPIO pins.
17- gpio-bit-per-line: Number of bits per gpio line (see picture).
18- gpio-first-shift: Shift (in bits) of the first GPIO field in register
19  (see picture).
20- gpio-activate-val: Value should be set in corresponding field to set
21  output to "1" (see picture). Applied to all GPIO ports.
22- gpio-deactivate-val: Value should be set in corresponding field to set
23  output to "0" (see picture). Applied to all GPIO ports.
24
25Optional properties:
26- gpio-bank-name: name of bank (as default driver name is used is used)
27- gpio-default-val: array of default output values (must me 0 or 1)
28
29Example (see picture):
30
31gpio: gpio@f00014b0 {
32	compatible = "snps,creg-gpio";
33	reg = <0xf00014b0 0x4>;
34	gpio-controller;
35	#gpio-cells = <1>;
36	gpio-bank-name = "hsdk-spi-cs";
37	gpio-count = <2>;
38	gpio-first-shift = <5>;
39	gpio-bit-per-line = <2>;
40	gpio-activate-val = <2>;
41	gpio-deactivate-val = <3>;
42	gpio-default-val = <1 1>;
43};
44