From: Christian Mauderer <oss@xxxxxxxxxxxxx> This patch adds the binding documentation for the LED controller found in Ubiquity airCube ISP devices. Signed-off-by: Christian Mauderer <oss@xxxxxxxxxxxxx> --- I tested the patches with a 4.14 and a 4.19 kernel on the current OpenWRT. Although I didn't get the kernel running due to file system problems they build fine with a 5.1-rc7. I shortly described the protocol of the controller in a comment in the driver file in the second patch. Checkpatch gives the following warning for both patches: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? To be honest: I don't know what to do with it. Please excuse my ignorance here. It's the first driver that I want to add to the Linux kernel. Please point me to some documentation if I did miss some big points for submitting patches. .../bindings/leds/leds-ubnt-spi.txt | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/leds-ubnt-spi.txt diff --git a/Documentation/devicetree/bindings/leds/leds-ubnt-spi.txt b/Documentation/devicetree/bindings/leds/leds-ubnt-spi.txt new file mode 100644 index 000000000000..ab1478cdc139 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-ubnt-spi.txt @@ -0,0 +1,49 @@ +Binding for the controller based LED found in Ubiquity airCube ISP and most +likely some other Ubiquity devices. + +The protocol of the controller is quite simple. Only one byte will be sent. The +value of the byte can be between the ubnt-spi,off_bright value and the +ubnt-spi,max_bright value. + +The driver maybe can be used for other devices with a similar protocol too. + +Required properties: +- compatible: Should be "ubnt,spi-led". +- spi-max-frequency: Should be <100000> for this device. + +Optional sub-node properties: +- ubnt-spi,off_bright: The value that will be sent if the LED should be + switched off. Default value is 0. +- ubnt-spi,max_bright: Value for the maximum brightness. Default value for that + is 63. +- label: A label for the LED. If one is given, the LED will be + named "ubnt-spi:<label>" or "ubnt-spi::" otherwise. + +Being a SPI device this driver should be a sub-node of a SPI controller. The +controller only supports one LED. For consistence with other controllers, the +LED is defined as a sub-node. + +Example for the airCube ISP (with SPI controller matching that device): + +led_spi { + compatible = "spi-gpio"; + #address-cells = <1>; + #size-cells = <0>; + + gpio-sck = <&gpio 3 GPIO_ACTIVE_HIGH>; + gpio-mosi = <&gpio 2 GPIO_ACTIVE_HIGH>; + cs-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; + num-chipselects = <1>; + + led_ubnt@0 { + compatible = "ubnt,spi-led"; + reg = <0>; + spi-max-frequency = <100000>; + + led { + label = "system"; + /* keep the LED slightly on to show powered device */ + ubnt-spi,off_bright = /bits/ 8 <4>; + }; + }; +}; -- 2.21.0