linux/Documentation/devicetree/bindings/rtc/s3c-rtc.yaml
Rob Herring 6fdc6e23a7 dt-bindings: Add missing 'unevaluatedProperties'
This doesn't yet do anything in the tools, but make it explicit so we can
check either 'unevaluatedProperties' or 'additionalProperties' is present
in schemas.

'unevaluatedProperties' is appropriate when including another schema (via
'$ref') and all possible properties and/or child nodes are not
explicitly listed in the schema with the '$ref'.

This is in preparation to add a meta-schema to check for missing
'unevaluatedProperties' or 'additionalProperties'. This has been a
constant source of review issues.

Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Wolfram Sang <wsa@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-By: Vinod Koul <vkoul@kernel.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20201005183830.486085-2-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
2020-10-07 11:26:41 -05:00

92 lines
2.1 KiB
YAML

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc/s3c-rtc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung S3C, S5P and Exynos Real Time Clock controller
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
properties:
compatible:
oneOf:
- enum:
- samsung,s3c2410-rtc
- samsung,s3c2416-rtc
- samsung,s3c2443-rtc
- samsung,s3c6410-rtc
- const: samsung,exynos3250-rtc
deprecated: true
reg:
maxItems: 1
clocks:
description:
Must contain a list of phandle and clock specifier for the rtc
clock and in the case of a s3c6410 compatible controller, also
a source clock.
minItems: 1
maxItems: 2
clock-names:
description:
Must contain "rtc" and for a s3c6410 compatible controller
also "rtc_src".
minItems: 1
maxItems: 2
interrupts:
description:
Two interrupt numbers to the cpu should be specified. First
interrupt number is the rtc alarm interrupt and second interrupt number
is the rtc tick interrupt. The number of cells representing a interrupt
depends on the parent interrupt controller.
minItems: 2
maxItems: 2
allOf:
- $ref: rtc.yaml#
- if:
properties:
compatible:
contains:
enum:
- samsung,s3c6410-rtc
- samsung,exynos3250-rtc
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: rtc
- const: rtc_src
else:
properties:
clocks:
minItems: 1
maxItems: 1
clock-names:
items:
- const: rtc
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/exynos5420.h>
#include <dt-bindings/clock/samsung,s2mps11.h>
rtc@10070000 {
compatible = "samsung,s3c6410-rtc";
reg = <0x10070000 0x100>;
interrupts = <0 44 4>, <0 45 4>;
clocks = <&clock CLK_RTC>,
<&s2mps11_osc S2MPS11_CLK_AP>;
clock-names = "rtc", "rtc_src";
};