1*4882a593Smuzhiyun* NXP - pca955x LED driver 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunThe PCA955x family of chips are I2C LED blinkers whose pins not used 4*4882a593Smuzhiyunto control LEDs can be used as general purpose I/Os. The GPIO pins can 5*4882a593Smuzhiyunbe input or output, and output pins can also be pulse-width controlled. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunRequired properties: 8*4882a593Smuzhiyun- compatible : should be one of : 9*4882a593Smuzhiyun "nxp,pca9550" 10*4882a593Smuzhiyun "nxp,pca9551" 11*4882a593Smuzhiyun "nxp,pca9552" 12*4882a593Smuzhiyun "ibm,pca9552" 13*4882a593Smuzhiyun "nxp,pca9553" 14*4882a593Smuzhiyun- #address-cells: must be 1 15*4882a593Smuzhiyun- #size-cells: must be 0 16*4882a593Smuzhiyun- reg: I2C slave address. depends on the model. 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunOptional properties: 19*4882a593Smuzhiyun- gpio-controller: allows pins to be used as GPIOs. 20*4882a593Smuzhiyun- #gpio-cells: must be 2. 21*4882a593Smuzhiyun- gpio-line-names: define the names of the GPIO lines 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunLED sub-node properties: 24*4882a593Smuzhiyun- reg : number of LED line. 25*4882a593Smuzhiyun from 0 to 1 for the pca9550 26*4882a593Smuzhiyun from 0 to 7 for the pca9551 27*4882a593Smuzhiyun from 0 to 15 for the pca9552 28*4882a593Smuzhiyun from 0 to 3 for the pca9553 29*4882a593Smuzhiyun- type: (optional) either 30*4882a593Smuzhiyun PCA955X_TYPE_NONE 31*4882a593Smuzhiyun PCA955X_TYPE_LED 32*4882a593Smuzhiyun PCA955X_TYPE_GPIO 33*4882a593Smuzhiyun see dt-bindings/leds/leds-pca955x.h (default to LED) 34*4882a593Smuzhiyun- label : (optional) 35*4882a593Smuzhiyun see Documentation/devicetree/bindings/leds/common.txt 36*4882a593Smuzhiyun- linux,default-trigger : (optional) 37*4882a593Smuzhiyun see Documentation/devicetree/bindings/leds/common.txt 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunExamples: 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunpca9552: pca9552@60 { 42*4882a593Smuzhiyun compatible = "nxp,pca9552"; 43*4882a593Smuzhiyun #address-cells = <1>; 44*4882a593Smuzhiyun #size-cells = <0>; 45*4882a593Smuzhiyun reg = <0x60>; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun gpio-controller; 48*4882a593Smuzhiyun #gpio-cells = <2>; 49*4882a593Smuzhiyun gpio-line-names = "GPIO12", "GPIO13", "GPIO14", "GPIO15"; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun gpio@12 { 52*4882a593Smuzhiyun reg = <12>; 53*4882a593Smuzhiyun type = <PCA955X_TYPE_GPIO>; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun gpio@13 { 56*4882a593Smuzhiyun reg = <13>; 57*4882a593Smuzhiyun type = <PCA955X_TYPE_GPIO>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun gpio@14 { 60*4882a593Smuzhiyun reg = <14>; 61*4882a593Smuzhiyun type = <PCA955X_TYPE_GPIO>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun gpio@15 { 64*4882a593Smuzhiyun reg = <15>; 65*4882a593Smuzhiyun type = <PCA955X_TYPE_GPIO>; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun led@0 { 69*4882a593Smuzhiyun label = "red:power"; 70*4882a593Smuzhiyun linux,default-trigger = "default-on"; 71*4882a593Smuzhiyun reg = <0>; 72*4882a593Smuzhiyun type = <PCA955X_TYPE_LED>; 73*4882a593Smuzhiyun }; 74*4882a593Smuzhiyun led@1 { 75*4882a593Smuzhiyun label = "green:power"; 76*4882a593Smuzhiyun reg = <1>; 77*4882a593Smuzhiyun type = <PCA955X_TYPE_LED>; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun led@2 { 80*4882a593Smuzhiyun label = "pca9552:yellow"; 81*4882a593Smuzhiyun reg = <2>; 82*4882a593Smuzhiyun type = <PCA955X_TYPE_LED>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun led@3 { 85*4882a593Smuzhiyun label = "pca9552:white"; 86*4882a593Smuzhiyun reg = <3>; 87*4882a593Smuzhiyun type = <PCA955X_TYPE_LED>; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun}; 90