On 05/07/2022 13:42, Pali Rohár wrote: > On Tuesday 05 July 2022 13:36:54 Krzysztof Kozlowski wrote: >> On 05/07/2022 02:04, Pali Rohár wrote: >>> Add device-tree bindings documentation for Turris 1.x RGB LEDs. >>> >>> Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> >>> --- >>> .../bindings/leds/cznic,turris1x-leds.yaml | 116 ++++++++++++++++++ >>> 1 file changed, 116 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/leds/cznic,turris1x-leds.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/leds/cznic,turris1x-leds.yaml b/Documentation/devicetree/bindings/leds/cznic,turris1x-leds.yaml >>> new file mode 100644 >>> index 000000000000..fd09613c8d2d >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/leds/cznic,turris1x-leds.yaml >>> @@ -0,0 +1,116 @@ >>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/leds/cznic,turris1x-leds.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: CZ.NIC's Turris 1.x LEDs driver >>> + >>> +maintainers: >>> + - Pali Rohár <pali@xxxxxxxxxx> >>> + >>> +description: >>> + This module adds support for the RGB LEDs found on the front panel of the >>> + Turris 1.x routers. There are 8 RGB LEDs that are controlled by CZ.NIC CPLD >>> + firmware running on Lattice FPGA. Firmware is open source and available at >>> + https://gitlab.nic.cz/turris/hw/turris_cpld/-/blob/master/CZ_NIC_Router_CPLD.v >>> + >>> +properties: >>> + compatible: >>> + const: cznic,turris1x-leds >>> + >>> + reg: >>> + maxItems: 2 >> >> You need to describe the items, if it is really two items. However your >> example has only one item, so this was not tested and won't work. > > Ehm? Example has two items in the reg. No, you have exactly one item. <0x13 0x1d> Two items are for example: <0x13 0x1d>, <0x23 0x1d> > >> You'll get warning from Rob's robot soon... but you should test the >> bindings instead. > > I have tested bindings on the real hardware and it is working fine > together with the driver from patch 2/2. Bindings cannot be tested on real hardware. Bindings are tested with dt_binding_check, as explained in writing-schema.rst > >>> + >>> + "#address-cells": >>> + const: 1 >>> + >>> + "#size-cells": >>> + const: 0 >>> + >>> +patternProperties: >>> + "^multi-led@[0-7]$": >>> + type: object >>> + $ref: leds-class-multicolor.yaml# >> >> This looks incorrect, unless you rebased on my patchset? > > So what is the correct? (I used inspiration from > cznic,turris-omnia-leds.yaml file) Which according to current multicolor bindings is not correct. Correct is pwm-multicolor. However if you rebase on [1], it looks fine, except missing unevaluatedProperties. [1] https://lore.kernel.org/all/20220624112106.111351-1-krzysztof.kozlowski@xxxxxxxxxx/ > >>> + >>> + properties: >>> + reg: >>> + minimum: 0 >>> + maximum: 7 >>> + >>> + required: >>> + - reg >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + >> >> No blank line. > > Ok. > >>> + #include <dt-bindings/leds/common.h> >>> + >>> + cpld@3,0 { >> >> Generic node name. > > Is not cpld name generic enough? No, it means nothing to me. Just like "a", "ashjd" or "wrls". "The name of a node should be somewhat generic, reflecting the function of the device and not its precise programming model. If appropriate, the name should be one of the following choices:" Best regards, Krzysztof