Skip to content

Commit 9bf3fc5

Browse files
committed
Merge tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull devicetree updates from Rob Herring: - Add Krzysztof Kozlowski as co-maintainer for DT bindings providing much needed help. - DT schema validation now takes DTB files as input rather than intermediate YAML files. This decouples the validation from the source level syntax information. There's a bunch of schema fixes as a result of switching to DTB based validation which exposed some errors and incomplete schemas and examples. - Kbuild improvements to explicitly warn users running 'make dt_binding_check' on missing yamllint - Expand DT_SCHEMA_FILES kbuild variable to take just a partial filename or path instead of the full path to 1 file. - Convert various bindings to schema format: mscc,vsc7514-switch, multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma, msm/mdp4, rda,8810pl-uart - New schemas for u-boot environment variable partition, TI clksel - New compatible strings for Renesas RZ/V2L SoC - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated HiSilicon - Add/fix schemas for QEMU Arm 'virt' machine - Drop unused of_alias_get_alias_list() function - Add a script to check DT unittest EXPECT message output. Pass messages also now print by default at PR_INFO level to help test automation. * tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (96 commits) dt-bindings: kbuild: Make DT_SCHEMA_LINT a recursive variable dt-bindings: nvmem: add U-Boot environment variables binding dt-bindings: ufs: qcom: Add SM6350 compatible string dt-bindings: dmaengine: sifive,fu540-c000: include generic schema dt-bindings: gpio: pca95xx: drop useless consumer example Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs" dt-bindings: virtio,mmio: Allow setting devices 'dma-coherent' dt-bindings: gnss: Add two more chips dt-bindings: gnss: Rewrite sirfstar binding in YAML dt-bindings: gnss: Modify u-blox to use common bindings dt-bindings: gnss: Rewrite common bindings in YAML dt-bindings: ata: ahci-platform: Add rk3568-dwc-ahci compatible dt-bindings: ata: ahci-platform: Add power-domains property dt-bindings: ata: ahci-platform: Convert DT bindings to yaml dt-bindings: kbuild: Use DTB files for validation dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate dt-bindings: Add QEMU virt machine compatible dt-bindings: arm: Convert QEMU fw-cfg to DT schema dt-bindings: i2c: at91: Add SAMA7G5 compatible strings list dt-bindings: i2c: convert i2c-at91 to json-schema ...
2 parents bddac7c + 6b49f34 commit 9bf3fc5

File tree

208 files changed

+4441
-2034
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

208 files changed

+4441
-2034
lines changed

Documentation/devicetree/bindings/Makefile

Lines changed: 11 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ DT_DOC_CHECKER ?= dt-doc-validate
33
DT_EXTRACT_EX ?= dt-extract-example
44
DT_MK_SCHEMA ?= dt-mk-schema
55

6-
DT_SCHEMA_LINT = $(shell which yamllint)
6+
DT_SCHEMA_LINT = $(shell which yamllint || \
7+
echo "warning: python package 'yamllint' not installed, skipping" >&2)
78

8-
DT_SCHEMA_MIN_VERSION = 2021.2.1
9+
DT_SCHEMA_MIN_VERSION = 2022.3
910

1011
PHONY += check_dtschema_version
1112
check_dtschema_version:
@@ -24,18 +25,11 @@ quiet_cmd_extract_ex = DTEX $@
2425
$(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE
2526
$(call if_changed,extract_ex)
2627

27-
# Use full schemas when checking %.example.dts
28-
DT_TMP_SCHEMA := $(obj)/processed-schema-examples.json
29-
3028
find_all_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
31-
-name 'processed-schema*' ! \
32-
-name '*.example.dt.yaml' \)
29+
-name 'processed-schema*' \)
3330

34-
ifeq ($(DT_SCHEMA_FILES),)
35-
find_cmd = $(find_all_cmd)
36-
else
37-
find_cmd = echo $(addprefix $(srctree)/, $(DT_SCHEMA_FILES))
38-
endif
31+
find_cmd = $(find_all_cmd) | grep -F "$(DT_SCHEMA_FILES)"
32+
CHK_DT_DOCS := $(shell $(find_cmd))
3933

4034
quiet_cmd_yamllint = LINT $(src)
4135
cmd_yamllint = ($(find_cmd) | \
@@ -72,35 +66,14 @@ override DTC_FLAGS := \
7266
# Disable undocumented compatible checks until warning free
7367
override DT_CHECKER_FLAGS ?=
7468

75-
$(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
69+
$(obj)/processed-schema.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
7670
$(call if_changed_rule,chkdt)
7771

78-
ifeq ($(DT_SCHEMA_FILES),)
79-
80-
# Unless DT_SCHEMA_FILES is specified, use the full schema for dtbs_check too.
81-
# Just copy processed-schema-examples.json
82-
83-
$(obj)/processed-schema.json: $(obj)/processed-schema-examples.json FORCE
84-
$(call if_changed,copy)
85-
86-
DT_SCHEMA_FILES = $(DT_DOCS)
87-
88-
else
89-
90-
# If DT_SCHEMA_FILES is specified, use it for processed-schema.json
91-
92-
$(obj)/processed-schema.json: DT_MK_SCHEMA_FLAGS := -u
93-
$(obj)/processed-schema.json: $(DT_SCHEMA_FILES) check_dtschema_version FORCE
94-
$(call if_changed,mk_schema)
95-
96-
endif
97-
98-
always-$(CHECK_DT_BINDING) += processed-schema-examples.json
99-
always-$(CHECK_DTBS) += processed-schema.json
100-
always-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES))
101-
always-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES))
72+
always-y += processed-schema.json
73+
always-$(CHECK_DT_BINDING) += $(patsubst $(srctree)/$(src)/%.yaml,%.example.dts, $(CHK_DT_DOCS))
74+
always-$(CHECK_DT_BINDING) += $(patsubst $(srctree)/$(src)/%.yaml,%.example.dtb, $(CHK_DT_DOCS))
10275

10376
# Hack: avoid 'Argument list too long' error for 'make clean'. Remove most of
10477
# build artifacts here before they are processed by scripts/Makefile.clean
10578
clean-files = $(shell find $(obj) \( -name '*.example.dts' -o \
106-
-name '*.example.dt.yaml' \) -delete 2>/dev/null)
79+
-name '*.example.dtb' \) -delete 2>/dev/null)

Documentation/devicetree/bindings/arm/arm,cci-400.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ examples:
119119
arm,hbi = <0x249>;
120120
interrupt-parent = <&gic>;
121121
122+
gic: interrupt-controller {
123+
interrupt-controller;
124+
#interrupt-cells = <3>;
125+
};
126+
122127
/*
123128
* This CCI node corresponds to a CCI component whose control
124129
* registers sits at address 0x000000002c090000.

Documentation/devicetree/bindings/arm/cpu-capacity.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ Example 1 (ARM 64-bit, 6-cpu system, two clusters):
6262
The capacities-dmips-mhz or DMIPS/MHz values (scaled to 1024)
6363
are 1024 and 578 for cluster0 and cluster1. Further normalization
6464
is done by the operating system based on cluster0@max-freq=1100 and
65-
custer1@max-freq=850, final capacities are 1024 for cluster0 and
66-
446 for cluster1 (576*850/1100).
65+
cluster1@max-freq=850, final capacities are 1024 for cluster0 and
66+
446 for cluster1 (578*850/1100).
6767

6868
cpus {
6969
#address-cells = <2>;

Documentation/devicetree/bindings/arm/cpus.yaml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -233,17 +233,19 @@ properties:
233233
- ti,am4372
234234

235235
cpu-release-addr:
236-
$ref: '/schemas/types.yaml#/definitions/uint64'
237-
236+
oneOf:
237+
- $ref: '/schemas/types.yaml#/definitions/uint32'
238+
- $ref: '/schemas/types.yaml#/definitions/uint64'
238239
description:
240+
The DT specification defines this as 64-bit always, but some 32-bit Arm
241+
systems have used a 32-bit value which must be supported.
239242
Required for systems that have an "enable-method"
240243
property value of "spin-table".
241-
On ARM v8 64-bit systems must be a two cell
242-
property identifying a 64-bit zero-initialised
243-
memory location.
244244

245245
cpu-idle-states:
246246
$ref: '/schemas/types.yaml#/definitions/phandle-array'
247+
items:
248+
maxItems: 1
247249
description: |
248250
List of phandles to idle state nodes supported
249251
by this cpu (see ./idle-states.yaml).

Documentation/devicetree/bindings/arm/fw-cfg.txt

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)