Add a yamllint config file and support for running yamllint on DT
binding schema files. This runs on the whole tree as yamllint is Python
and suffers from Python's slow startup times.
Users can run on individual files doing:
yamllint -c Documentation/devicetree/bindings/.yamllint <binding file>
Link: https://lore.kernel.org/r/20201009170557.168785-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Document the PowerPC specific 'sleep' property as a schema. It is
currently only documented in booting-without-of.rst which is getting
removed.
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20201008142420.2083861-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
In order to add meta-schema checks for additional/unevaluatedProperties
being present, all schema need to make this explicit. As common/shared
schema are included by other schemas, they should always allow for
additionalProperties.
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Sebastian Reichel <sre@kernel.org>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-By: Vinod Koul <vkoul@kernel.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20201005183830.486085-5-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
In cases where we don't reference another schema, 'additionalProperties'
can be used instead. This is preferred for now as 'unevaluatedProperties'
support isn't implemented yet.
In a few cases, this means adding some missing property definitions of
which most are for SPI bus properties. 'unevaluatedProperties' is not going
to work for the SPI bus properties anyways as they are evaluated from the
parent node, not the SPI child node.
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20201005183830.486085-3-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
This doesn't yet do anything in the tools, but make it explicit so we can
check either 'unevaluatedProperties' or 'additionalProperties' is present
in schemas.
'unevaluatedProperties' is appropriate when including another schema (via
'$ref') and all possible properties and/or child nodes are not
explicitly listed in the schema with the '$ref'.
This is in preparation to add a meta-schema to check for missing
'unevaluatedProperties' or 'additionalProperties'. This has been a
constant source of review issues.
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Wolfram Sang <wsa@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-By: Vinod Koul <vkoul@kernel.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20201005183830.486085-2-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Revised patch fixing six spelling errors within
Documentation/devicetree/bindings/. "specfied" replaced with "specified"
in all three files modified. "atleast" seperated into "at least" three
times in samsung-pinctrl.txt. This should remove any confusion that a
reader might have.
Signed-off-by: Marlon Rac Cambasis <marlonrc08@gmail.com>
Link: https://lore.kernel.org/r/20201007071705.GA11381@marlonpc-debian
Signed-off-by: Rob Herring <robh@kernel.org>
Convert the Hisilicon Hi6220 domain controllers binding to DT schema
format using json-schema. All of them are grouped into one yaml file, to
help users understand differences and avoid repeated descriptions.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200930031712.2365-16-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
There are two vendor prefixes for Gateworks: "gw" and "gateworks".
Favor the longer one (more descriptive) and mark "gw" as deprecated so
it will not be used in new bindings.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201003103335.23404-1-krzk@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Update the AM65x HwSpinlock example to fix couple of warnings
that started showing up after the conversion of K3 bindings to
YAML format in commit 66e06509aa ("dt-bindings: arm: ti:
Convert K3 board/soc bindings to DT schema").
compatible: ['ti,am654'] is not valid under any of the given schemas (Possible causes of the failure):
compatible: ['ti,am654'] is too short
compatible:0: 'ti,am654' is not one of ['ti,am654-evm']
Also, fix one of the node names while at this.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Suman Anna <s-anna@ti.com>
Link: https://lore.kernel.org/r/20200928225155.12432-1-s-anna@ti.com
Signed-off-by: Rob Herring <robh@kernel.org>
The i.MX 53 and i.MX6Q DTS use two compatibles, i.MX 6SL/6SLL/SX three
so update the binding to fix dtbs_check warnings like:
serial@21ec000: compatible: ['fsl,imx6q-uart', 'fsl,imx21-uart'] is not valid under any of the given schemas
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200925212649.23183-1-krzk@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Add quite common property - power-domains - to fix dtbs_check warnings
like:
arch/arm64/boot/dts/freescale/imx8qxp-mek.dt.yaml:
mailbox@5d280000: 'power-domains' does not match any of the regexes: 'pinctrl-[0-9]+'
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201002161837.5784-1-krzk@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Pattern properties go under 'patternProperties', not 'properties'.
Otherwise, the pattern is treated as a literal string.
A corresponding meta-schema check has been added to catch bad DT property
names like this.
Fixes: e0f946915b ("dt-bindings: mfd: ti,j721e-system-controller.yaml: Add J721e system controller")
Cc: Roger Quadros <rogerq@ti.com>
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20201002230606.3522954-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Some DSI controllers are missing a reference to the recently added
dsi-controller.yaml schema. Add it and we can drop the duplicate parts.
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Robert Chiras <robert.chiras@nxp.com>
Cc: Philippe Cornu <philippe.cornu@st.com>
Cc: Yannick Fertre <yannick.fertre@st.com>
Reviewed-by: Guido Günther <agx@sigxcpu.org>
Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20201002225924.3513700-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Board/SoC top-level compatible bindings should be constrained to the root
node. Add the missing constraints that the node name must be "/".
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: Krzysztof Halasa <khalasa@piap.pl>
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Anders Berg <anders.berg@lsi.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Alexandre TORGUE <alexandre.torgue@st.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20201001200943.1193870-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Convert the Hisilicon Hip06 SoCs implement a Low Pin Count (LPC)
controller binding to DT schema format using json-schema.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200929141454.2312-18-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
Convert the Hisilicon Bootwrapper boot method binding to DT schema format
using json-schema.
The property boot-method contains two groups of physical address range
information: bootwrapper and relocation. The "uint32-array" type is not
suitable for it, because the field "address" and "size" may occupy one or
two cells respectively. Use "minItems: 1" and "maxItems: 2" to allow it
can be written in "<addr size addr size>" or "<addr size>, <addr size>"
format.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200929141454.2312-15-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
Convert the Hisilicon system controller and its variants binding to DT
schema format using json-schema. All of them are grouped into one yaml
file, to help users understand differences and avoid repeated
descriptions.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200929141454.2312-11-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
Convert Hisilicon SoC bindings to DT schema format using json-schema.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Split the devicetree bindings of each Hisilicon controller from
hisilicon.txt into a separate file, the file name is the compatible name
attach the .txt file name extension.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200929141454.2312-4-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
The compatible strings of Hi6220 SRAM controller, HiP05/HiP06 PCIe-SAS
subsystem controller, HiP05/HiP06 PERI subsystem controller and
HiP05/HiP06 DSA subsystem controller is in syscon.yaml now.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200929141454.2312-3-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
When building with
$ HOST_EXTRACFLAGS=-g make
the expectation is that host tools are built with debug informations.
This however doesn't happen if the Makefile assigns a new value to the
HOST_EXTRACFLAGS instead of appending to it. So use += instead of := for
the first assignment.
Fixes: e3fd9b5384 ("scripts/dtc: consolidate include path options in Makefile")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Rob Herring <robh@kernel.org>
The default sizes in examples for 'reg' are 1 cell each. Fix the
incorrect sizes in zynqmp examples:
Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dpdma.example.dt.yaml: example-0: dma-controller@fd4c0000:reg:0: [0, 4249616384, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.example.dt.yaml: example-0: display@fd4a0000:reg:0: [0, 4249485312, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.example.dt.yaml: example-0: display@fd4a0000:reg:1: [0, 4249526272, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.example.dt.yaml: example-0: display@fd4a0000:reg:2: [0, 4249530368, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.example.dt.yaml: example-0: display@fd4a0000:reg:3: [0, 4249534464, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
Cc: Hyun Kwon <hyun.kwon@xilinx.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: dri-devel@lists.freedesktop.org
Cc: dmaengine@vger.kernel.org
Acked-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Improve grammar in recently added sentences:
- Drop superfluous "be" in front of "have",
- Add missing articles.
Fixes: 73f76a41c4 ("dt-bindings: example: Extend based on practice")
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20200925111429.3146-1-geert+renesas@glider.be
Signed-off-by: Rob Herring <robh@kernel.org>
Add common properties appearing in DTSes (iommus, power-domains) to fix
dtbs_check warnings like:
arch/arm/boot/dts/exynos4210-i9100.dt.yaml: rotator@12810000:
'iommus', 'power-domains' do not match any of the regexes: 'pinctrl-[0-9]+'
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200923150339.12497-1-krzk@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
The LM81 and DS1780 are close relatives of the ADM9240 and already
supported by the same driver. Document them as trivial devices.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Link: https://lore.kernel.org/r/20200923051637.30464-1-chris.packham@alliedtelesis.co.nz
Signed-off-by: Rob Herring <robh@kernel.org>
The i.MX 7ULP DTSes use two compatibles so update the binding to fix
dtbs_check warnings like:
arch/arm/boot/dts/imx7ulp-com.dt.yaml: gpio@40ae0000:
compatible: ['fsl,imx7ulp-gpio', 'fsl,vf610-gpio'] is too long
arch/arm/boot/dts/imx7ulp-com.dt.yaml: gpio@40ae0000:
compatible: Additional items are not allowed ('fsl,vf610-gpio' was unexpected)
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
The current binding for the RPi firmware uses the simple-bus compatible as
a fallback to benefit from its automatic probing of child nodes.
However, simple-bus also comes with some constraints, like having the ranges,
our case.
Let's switch to simple-mfd that provides the same probing logic without
those constraints.
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20200924082642.18144-1-maxime@cerno.tech
Signed-off-by: Rob Herring <robh@kernel.org>
There is a bug in the device tree binding for cznic,turris-omnia-leds
which causes make dt_binding_check to complain.
The reason is that the multi-led property binding's regular expression
does not contain the `@` character, while the example nodes do.
Fix this, and also adjust the maximum address to 'b' as there are 12
LEDs.
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Link: https://lore.kernel.org/r/20200915005426.15957-1-marek.behun@nic.cz
Signed-off-by: Rob Herring <robh@kernel.org>
Extend the example schema with common rules which seems to be not that
obvious:
1. Expecting arrays of phandles to be always ordered, regardless if
"xxx-names" is provided (e.g. clocks),
2. Add example of altering a property based on presence of other
property,
3. Document usage of unevaluatedProperties.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200910184706.9677-1-krzk@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>