mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-17 21:50:44 -05:00
dt-bindings: dpll: Add DPLL device and pin
Add a common DT schema for DPLL device and its associated pins. The DPLL (device phase-locked loop) is a device used for precise clock synchronization in networking and telecom hardware. The device includes one or more DPLLs (channels) and one or more physical input/output pins. Each DPLL channel is used either to provide a pulse-per-clock signal or to drive an Ethernet equipment clock. The input and output pins have the following properties: * label: specifies board label * connection type: specifies its usage depending on wiring * list of supported or allowed frequencies: depending on how the pin is connected and where) * embedded sync capability: indicates whether the pin supports this Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Ivan Vecera <ivecera@redhat.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Link: https://patch.msgid.link/20250704182202.1641943-2-ivecera@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
f47e8f618c
commit
0afcee10dd
76
Documentation/devicetree/bindings/dpll/dpll-device.yaml
Normal file
76
Documentation/devicetree/bindings/dpll/dpll-device.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dpll/dpll-device.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Digital Phase-Locked Loop (DPLL) Device
|
||||
|
||||
maintainers:
|
||||
- Ivan Vecera <ivecera@redhat.com>
|
||||
|
||||
description:
|
||||
Digital Phase-Locked Loop (DPLL) device is used for precise clock
|
||||
synchronization in networking and telecom hardware. The device can
|
||||
have one or more channels (DPLLs) and one or more physical input and
|
||||
output pins. Each DPLL channel can either produce pulse-per-clock signal
|
||||
or drive ethernet equipment clock. The type of each channel can be
|
||||
indicated by dpll-types property.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^dpll(@.*)?$"
|
||||
|
||||
"#address-cells":
|
||||
const: 0
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
dpll-types:
|
||||
description: List of DPLL channel types, one per DPLL instance.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
items:
|
||||
enum: [pps, eec]
|
||||
|
||||
input-pins:
|
||||
type: object
|
||||
description: DPLL input pins
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^pin@[0-9a-f]+$":
|
||||
$ref: /schemas/dpll/dpll-pin.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
output-pins:
|
||||
type: object
|
||||
description: DPLL output pins
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^pin@[0-9]+$":
|
||||
$ref: /schemas/dpll/dpll-pin.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: true
|
||||
45
Documentation/devicetree/bindings/dpll/dpll-pin.yaml
Normal file
45
Documentation/devicetree/bindings/dpll/dpll-pin.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dpll/dpll-pin.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: DPLL Pin
|
||||
|
||||
maintainers:
|
||||
- Ivan Vecera <ivecera@redhat.com>
|
||||
|
||||
description: |
|
||||
The DPLL pin is either a physical input or output pin that is provided
|
||||
by a DPLL( Digital Phase-Locked Loop) device. The pin is identified by
|
||||
its physical order number that is stored in reg property and can have
|
||||
an additional set of properties like supported (allowed) frequencies,
|
||||
label, type and may support embedded sync.
|
||||
|
||||
Note that the pin in this context has nothing to do with pinctrl.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: Hardware index of the DPLL pin.
|
||||
maxItems: 1
|
||||
|
||||
connection-type:
|
||||
description: Connection type of the pin
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [ext, gnss, int, mux, synce]
|
||||
|
||||
esync-control:
|
||||
description: Indicates whether the pin supports embedded sync functionality.
|
||||
type: boolean
|
||||
|
||||
label:
|
||||
description: String exposed as the pin board label
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
|
||||
supported-frequencies-hz:
|
||||
description: List of supported frequencies for this pin, expressed in Hz.
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
@@ -7335,6 +7335,8 @@ M: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
|
||||
M: Jiri Pirko <jiri@resnulli.us>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: Documentation/devicetree/bindings/dpll/dpll-device.yaml
|
||||
F: Documentation/devicetree/bindings/dpll/dpll-pin.yaml
|
||||
F: Documentation/driver-api/dpll.rst
|
||||
F: drivers/dpll/*
|
||||
F: include/linux/dpll.h
|
||||
|
||||
Reference in New Issue
Block a user