mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
e112f2de15
BCA is a big set / family of Broadcom devices sharing multiple hardware blocks. One of them is timer that actually exists in two versions. It's a part of TWD MFD block. Add binding for it so SoCs can be properly described. Linux (and probably any other OS) doesn't really seem to need a driver for it. it may be needed for bootloaders (e.g. U-Boot) though. Especially for SoCs with CPUs other than Cortex-A9 (which contains arch timers). Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Lee Jones <lee@kernel.org> Link: https://lore.kernel.org/r/20221028115353.13881-1-zajec5@gmail.com
70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/brcm,twd.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom's Timer-Watchdog (aka TWD)
|
|
|
|
maintainers:
|
|
- Rafał Miłecki <rafal@milecki.pl>
|
|
|
|
description: |
|
|
Broadcom has a Timer-Watchdog block used in multiple SoCs (e.g., BCM4908,
|
|
BCM63xx, BCM7038). There are few variants available (they differ slightly in
|
|
registers layout). This block consists of: timers, watchdog and optionally a
|
|
software reset handler.
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- enum:
|
|
- brcm,bcm4908-twd
|
|
- brcm,bcm7038-twd
|
|
- const: simple-mfd
|
|
- const: syscon
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
ranges: true
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 1
|
|
|
|
patternProperties:
|
|
'^timer@[a-f0-9]+$':
|
|
$ref: /schemas/timer/brcm,bcmbca-timer.yaml
|
|
|
|
'^watchdog@[a-f0-9]+$':
|
|
$ref: /schemas/watchdog/brcm,bcm7038-wdt.yaml
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- reg
|
|
|
|
examples:
|
|
- |
|
|
timer-mfd@ff800400 {
|
|
compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
|
|
reg = <0xff800400 0x4c>;
|
|
ranges = <0x00000000 0xff800400 0x4c>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
timer@0 {
|
|
compatible = "brcm,bcm63138-timer";
|
|
reg = <0x0 0x28>;
|
|
};
|
|
|
|
watchdog@28 {
|
|
compatible = "brcm,bcm7038-wdt";
|
|
reg = <0x28 0x8>;
|
|
};
|
|
};
|