mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-25 12:44:01 +00:00
Samsung Exynos SoC reuses several devices from older designs, thus historically we kept the old (block's) compatible only. This works fine and there is no bug here, however guidelines expressed in Documentation/devicetree/bindings/writing-bindings.rst state that: 1. Compatibles should be specific. 2. We should add new compatibles in case of bugs or features. Add compatibles specific to each SoC in front of all old-SoC-like compatibles. Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20231108104343.24192-7-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
97 lines
2.3 KiB
YAML
97 lines
2.3 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
|
|
- items:
|
|
- enum:
|
|
- samsung,exynos7-rtc
|
|
- samsung,exynos850-rtc
|
|
- const: 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";
|
|
};
|