Skip to content

Commit ea9e315

Browse files
krzkrobherring
authored andcommitted
dt-bindings: incomplete-devices: document devices without bindings
There are devices in the wild with non-updatable firmware coming with ACPI tables with rejected compatibles, e.g. "ltr,ltrf216a". Linux kernel still supports this device via ACPI PRP0001, however the compatible was never accepted to bindings. There are also several early PowerPC or SPARC platforms using compatibles for their OpenFirmware, but without in-tree DTS. Often the legacy compatible is not correct in terms of current Devicetree specification, e.g. missing vendor prefix. Finally there are also Linux-specific tools and test code with compatibles. Add a schema covering above cases purely to satisfy the DT schema and scripts/checkpatch.pl checks for undocumented compatibles. For ltr,ltrf216a this also documents the consensus: compatible is allowed only via ACPI PRP0001, but not bindings. Link: https://lore.kernel.org/all/[email protected]/ Link: https://lore.kernel.org/lkml/20220731173446.7400bfa8@jic23-huawei/T/#me55be502302d70424a85368c2645c89f860b7b40 Cc: Marek Vasut <[email protected]> Cc: Jonathan Cameron <[email protected]> Cc: Sebastian Reichel <[email protected]> Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Herring (Arm) <[email protected]>
1 parent 556bc13 commit ea9e315

File tree

1 file changed

+137
-0
lines changed

1 file changed

+137
-0
lines changed
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/incomplete-devices.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Rejected, Legacy or Incomplete Devices
8+
9+
maintainers:
10+
- Rob Herring <[email protected]>
11+
12+
description:
13+
Some devices will not or should not get a proper Devicetree bindings, but
14+
their compatibles are present in Linux drivers for various reasons.
15+
16+
Examples are devices using ACPI PRP0001 with non-updatable firmware/ACPI
17+
tables or old PowerPC platforms without in-tree DTS.
18+
19+
Following list of devices is an incomplete schema with a goal to pass DT schema
20+
checks on undocumented compatibles but also reject any DTS file using such
21+
un-approved compatible.
22+
23+
Usage of any of following compatibles is not allowed in Devicetree sources,
24+
even if they come from immutable firmware.
25+
26+
properties:
27+
compatible:
28+
oneOf:
29+
- description:
30+
Rejected compatibles in Devicetree, but used in ACPI-based devices
31+
with non-updatable firmware/ACPI tables (via ACPI PRP0001)
32+
enum:
33+
- broadcom,bcm5241
34+
- ltr,ltrf216a
35+
36+
- description: Legacy compatibles used on Macintosh devices
37+
enum:
38+
- adm1030
39+
- bmac+
40+
- heathrow-media-bay
41+
- keylargo-media-bay
42+
- lm87cimt
43+
- MAC,adm1030
44+
- MAC,ds1775
45+
- max6690
46+
- ohare-media-bay
47+
- ohare-swim3
48+
- smu-sat
49+
- swim3
50+
51+
- description: Legacy compatibles used on other PowerPC devices
52+
enum:
53+
- 1682m-rng
54+
- IBM,lhca
55+
- IBM,lhea
56+
- IBM,lhea-ethernet
57+
- mpc5200b-fec-phy
58+
- mpc5200-serial
59+
- mpc5200-sram
60+
- ohci-be
61+
- ohci-bigendian
62+
- ohci-le
63+
64+
- description: Legacy compatibles used on SPARC devices
65+
enum:
66+
- bq4802
67+
- ds1287
68+
- isa-m5819p
69+
- isa-m5823p
70+
- m5819
71+
- sab82532
72+
- SUNW,bbc-beep
73+
- SUNW,bbc-i2c
74+
- SUNW,CS4231
75+
- SUNW,ebus-pic16f747-env
76+
- SUNW,kt-cwq
77+
- SUNW,kt-mau
78+
- SUNW,n2-cwq
79+
- SUNW,n2-mau
80+
- SUNW,niusl
81+
- SUNW,smbus-beep
82+
- SUNW,sun4v-console
83+
- SUNW,sun4v-pci
84+
- SUNW,vf-cwq
85+
- SUNW,vf-mau
86+
87+
- description: Incomplete and/or legacy compatibles for unknown devices
88+
enum:
89+
- electra-cf
90+
- i2cpcf,8584
91+
- virtio,uml
92+
93+
- description: Linux kernel unit tests and sample code
94+
enum:
95+
- audio-graph-card2-custom-sample
96+
- compat1
97+
- compat2
98+
- compat3
99+
- linux,spi-loopback-test
100+
- mailbox-test
101+
- regulator-virtual-consumer
102+
103+
- description:
104+
Devices on MIPS platform, without any DTS users. These are
105+
unlikely to get converted to DT schema.
106+
enum:
107+
- mti,ranchu
108+
109+
- description:
110+
Devices on PowerPC platform, without any DTS users. These are
111+
unlikely to get converted to DT schema.
112+
enum:
113+
- fujitsu,coral
114+
- fujitsu,lime
115+
- fujitsu,MB86276
116+
- fujitsu,MB86277
117+
- fujitsu,MB86293
118+
- fujitsu,MB86294
119+
- fujitsu,mint
120+
- ibm,axon-msic
121+
- ibm,pmemory
122+
- ibm,pmemory-v2
123+
- ibm,power-rng
124+
- ibm,ppc4xx-spi
125+
- ibm,sdram-4xx-ddr2
126+
- ibm,secureboot
127+
- ibm,secureboot-v1
128+
- ibm,secureboot-v2
129+
- ibm,secvar-backend
130+
- sgy,gpio-halt
131+
- wrs,epld-localbus
132+
133+
required:
134+
- compatible
135+
- broken-usage-of-incorrect-compatible
136+
137+
additionalProperties: false

0 commit comments

Comments
 (0)