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