linux-loongson/Documentation/devicetree/bindings/soc/socionext/socionext,uniphier-soc-glue.yaml
Rob Herring 805e640e09 dt-bindings: soc: socionext,uniphier-soc-glue: Make child node names fixed names
The child nodes 'pinctrl', 'usb-hub', and 'clock-controller' in the
socionext,uniphier-soc-glue binding are not patterns, but the full node
name, so move them to 'properties'. As patterns, they were missing start
and end anchors so any prefix or suffix was allowed.

Fixes: 0611adff8b ("dt-bindings: soc: socionext: Add UniPhier SoC-glue logic")
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/20230120020339.3223112-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
2023-01-23 17:13:28 -06:00

115 lines
2.6 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/socionext/socionext,uniphier-soc-glue.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Socionext UniPhier SoC-glue logic
maintainers:
- Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
description: |+
SoC-glue logic implemented on Socionext UniPhier SoCs is a collection of
miscellaneous function registers handling signals outside system components.
properties:
compatible:
items:
- enum:
- socionext,uniphier-ld4-soc-glue
- socionext,uniphier-pro4-soc-glue
- socionext,uniphier-pro5-soc-glue
- socionext,uniphier-pxs2-soc-glue
- socionext,uniphier-sld8-soc-glue
- socionext,uniphier-ld11-soc-glue
- socionext,uniphier-ld20-soc-glue
- socionext,uniphier-pxs3-soc-glue
- socionext,uniphier-nx1-soc-glue
- const: simple-mfd
- const: syscon
reg:
maxItems: 1
pinctrl:
$ref: /schemas/pinctrl/socionext,uniphier-pinctrl.yaml#
usb-hub:
$ref: /schemas/phy/socionext,uniphier-usb2-phy.yaml#
clock-controller:
$ref: /schemas/clock/socionext,uniphier-clock.yaml#
allOf:
- if:
not:
properties:
compatible:
contains:
enum:
- socionext,uniphier-pro4-soc-glue
- socionext,uniphier-ld11-soc-glue
then:
properties:
usb-hub: false
- if:
not:
properties:
compatible:
contains:
const: socionext,uniphier-pro4-soc-glue
then:
properties:
clock-controller: false
required:
- compatible
- reg
additionalProperties: false
examples:
- |
syscon@5f800000 {
compatible = "socionext,uniphier-pro4-soc-glue",
"simple-mfd", "syscon";
reg = <0x5f800000 0x2000>;
pinctrl {
compatible = "socionext,uniphier-pro4-pinctrl";
};
usb-hub {
compatible = "socionext,uniphier-pro4-usb2-phy";
#address-cells = <1>;
#size-cells = <0>;
phy@0 {
reg = <0>;
#phy-cells = <0>;
};
phy@1 {
reg = <1>;
#phy-cells = <0>;
};
phy@2 {
reg = <2>;
#phy-cells = <0>;
};
phy@3 {
reg = <3>;
#phy-cells = <0>;
};
};
clock-controller {
compatible = "socionext,uniphier-pro4-sg-clock";
#clock-cells = <1>;
};
};