mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 14:12:51 +00:00
dee5183d5f
The use of 'oneOf' to include 1 of 3 possible child node schemas results in error messages containing the actual error message(s) for the correct SoC buried in the tons of error messages from the 2 schemas that don't apply. It also causes the pinctrl schema to be applied twice as it will be applied when the compatible matches. All that's really needed in the parent schema is to ensure one of the possible compatible strings is present in the pinctrl node so that its schema will be applied separately. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au> Link: https://lore.kernel.org/r/20240430172520.535179-1-robh@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
119 lines
2.6 KiB
YAML
119 lines
2.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/aspeed,ast2x00-scu.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Aspeed System Control Unit
|
|
|
|
description:
|
|
The Aspeed System Control Unit manages the global behaviour of the SoC,
|
|
configuring elements such as clocks, pinmux, and reset.
|
|
|
|
maintainers:
|
|
- Joel Stanley <joel@jms.id.au>
|
|
- Andrew Jeffery <andrew@aj.id.au>
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- enum:
|
|
- aspeed,ast2400-scu
|
|
- aspeed,ast2500-scu
|
|
- aspeed,ast2600-scu
|
|
- const: syscon
|
|
- const: simple-mfd
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
ranges: true
|
|
|
|
'#address-cells':
|
|
const: 1
|
|
|
|
'#size-cells':
|
|
const: 1
|
|
|
|
'#clock-cells':
|
|
const: 1
|
|
|
|
'#reset-cells':
|
|
const: 1
|
|
|
|
patternProperties:
|
|
'^p2a-control@[0-9a-f]+$':
|
|
description: See Documentation/devicetree/bindings/misc/aspeed-p2a-ctrl.txt
|
|
type: object
|
|
|
|
'^pinctrl(@[0-9a-f]+)?$':
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- aspeed,ast2400-pinctrl
|
|
- aspeed,ast2500-pinctrl
|
|
- aspeed,ast2600-pinctrl
|
|
|
|
required:
|
|
- compatible
|
|
|
|
'^interrupt-controller@[0-9a-f]+$':
|
|
description: See Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2xxx-scu-ic.txt
|
|
type: object
|
|
|
|
'^silicon-id@[0-9a-f]+$':
|
|
description: Unique hardware silicon identifiers within the SoC
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- enum:
|
|
- aspeed,ast2400-silicon-id
|
|
- aspeed,ast2500-silicon-id
|
|
- aspeed,ast2600-silicon-id
|
|
- const: aspeed,silicon-id
|
|
|
|
reg:
|
|
description:
|
|
The reg should be the unique silicon id register, and not backwards
|
|
compatible one in eg. the 2600.
|
|
minItems: 1
|
|
items:
|
|
- description: silicon id information registers
|
|
- description: unique chip id registers
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- ranges
|
|
- '#address-cells'
|
|
- '#size-cells'
|
|
- '#clock-cells'
|
|
- '#reset-cells'
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
syscon@1e6e2000 {
|
|
compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
|
|
reg = <0x1e6e2000 0x1a8>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x1e6e2000 0x1000>;
|
|
|
|
silicon-id@7c {
|
|
compatible = "aspeed,ast2500-silicon-id", "aspeed,silicon-id";
|
|
reg = <0x7c 0x4>, <0x150 0x8>;
|
|
};
|
|
};
|
|
...
|