dt-bindings: soc: socionext: Add UniPhier system controller

Add devicetree binding schema for the system controller implemented on
Socionext Uniphier SoCs.

This system controller has multiple functions such as clock control,
reset control, internal watchdog timer, thermal management, and so on.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221213082449.2721-10-hayashi.kunihiko@socionext.com
Signed-off-by: Rob Herring <robh@kernel.org>
pull/938/head
Kunihiko Hayashi 2022-12-13 17:24:41 +09:00 committed by Rob Herring
parent e8c650f627
commit 75c7aaa66f
2 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,104 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/socionext/socionext,uniphier-sysctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Socionext UniPhier system controller
maintainers:
- Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
description: |+
System controller implemented on Socionext UniPhier SoCs has multiple
functions such as clock control, reset control, internal watchdog timer,
thermal management, and so on.
properties:
compatible:
items:
- enum:
- socionext,uniphier-ld4-sysctrl
- socionext,uniphier-pro4-sysctrl
- socionext,uniphier-pro5-sysctrl
- socionext,uniphier-pxs2-sysctrl
- socionext,uniphier-sld8-sysctrl
- socionext,uniphier-ld11-sysctrl
- socionext,uniphier-ld20-sysctrl
- socionext,uniphier-pxs3-sysctrl
- socionext,uniphier-nx1-sysctrl
- const: simple-mfd
- const: syscon
reg:
maxItems: 1
clock-controller:
$ref: /schemas/clock/socionext,uniphier-clock.yaml#
reset-controller:
$ref: /schemas/reset/socionext,uniphier-reset.yaml#
watchdog:
$ref: /schemas/watchdog/socionext,uniphier-wdt.yaml#
thermal-sensor:
$ref: /schemas/thermal/socionext,uniphier-thermal.yaml#
allOf:
- if:
properties:
compatible:
contains:
const: socionext,uniphier-ld4-sysctrl
then:
properties:
watchdog: false
- if:
properties:
compatible:
contains:
enum:
- socionext,uniphier-ld4-sysctrl
- socionext,uniphier-pro4-sysctrl
- socionext,uniphier-sld8-sysctrl
- socionext,uniphier-ld11-sysctrl
then:
properties:
thermal-sensor: false
additionalProperties: false
required:
- compatible
- reg
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
syscon@61840000 {
compatible = "socionext,uniphier-ld20-sysctrl",
"simple-mfd", "syscon";
reg = <0x61840000 0x4000>;
clock-controller {
compatible = "socionext,uniphier-ld20-clock";
#clock-cells = <1>;
};
reset-controller {
compatible = "socionext,uniphier-ld20-reset";
#reset-cells = <1>;
};
watchdog {
compatible = "socionext,uniphier-wdt";
};
thermal-sensor {
compatible = "socionext,uniphier-ld20-thermal";
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
#thermal-sensor-cells = <0>;
};
};

View File

@ -3103,6 +3103,7 @@ S: Maintained
F: Documentation/devicetree/bindings/arm/socionext/uniphier.yaml
F: Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
F: Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
F: Documentation/devicetree/bindings/soc/socionext/socionext,uniphier*.yaml
F: arch/arm/boot/dts/uniphier*
F: arch/arm/include/asm/hardware/cache-uniphier.h
F: arch/arm/mach-uniphier/