dts: bindings: add nrf-fll16m and nrf-lfclk bindings
Add bindings for nrf-fll16m and nrf-lfclk and update in-tree nodes and boards to use them in place of the fixed-clock binding. Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This commit is contained in:
parent
cd89d98e44
commit
fbebb5dce5
42
dts/bindings/clock/nordic,nrf-fll16m.yaml
Normal file
42
dts/bindings/clock/nordic,nrf-fll16m.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: |
|
||||
Nordic FLL16M
|
||||
|
||||
The FLL16M can use the following clocks as clock sources:
|
||||
|
||||
- HFXO: The HFXO clock is used as a clock source if the
|
||||
FLL16M mode is BYPASS, or if the FLL16M mode is
|
||||
closed-loop and the LFXO clock is not available.
|
||||
|
||||
- LFXO: The LFXO clock is used as a clock source if the
|
||||
FLL16M mode is closed-loop and the LFXO clock is
|
||||
available.
|
||||
|
||||
Devicetree example:
|
||||
|
||||
fll16m {
|
||||
open-loop-accuracy-ppm = <20000>;
|
||||
closed-loop-base-accuracy-ppm = <5000>;
|
||||
clocks = <&hfxo>, <&lfxo>;
|
||||
clock-names = "hfxo", "lfxo";
|
||||
};
|
||||
|
||||
compatible: "nordic,nrf-fll16m"
|
||||
|
||||
include: fixed-clock.yaml
|
||||
|
||||
properties:
|
||||
clock-frequency:
|
||||
const: 16000000
|
||||
|
||||
open-loop-accuracy-ppm:
|
||||
type: int
|
||||
description: Clock accuracy in parts per million if open-loop clock source is used.
|
||||
|
||||
closed-loop-base-accuracy-ppm:
|
||||
type: int
|
||||
description: |
|
||||
Base clock accuracy in parts per million if closed-loop clock source is used.
|
||||
The actual accuracy is this property plus the accuracy of the HFXO or LFXO.
|
||||
42
dts/bindings/clock/nordic,nrf-lfclk.yaml
Normal file
42
dts/bindings/clock/nordic,nrf-lfclk.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: |
|
||||
nRF LFCLK (Low Frequency CLocK)
|
||||
|
||||
The LFCLK can use the following clocks as clock sources:
|
||||
|
||||
- HFXO: The HFXO clock is used as a clock source if the
|
||||
LFCLK SYNTH mode is selected and the LFXO clock is not
|
||||
available. The HFXO clock is used indirectly through
|
||||
the FLL16M clock in BYPASS mode.
|
||||
|
||||
- LFXO: The LFXO clock is used as a clock source if the
|
||||
LFCLK SYNTH mode is selected and the LFXO clock is
|
||||
available. The LFXO clock is used indirectly through
|
||||
the FLL16M clock in BYPASS mode.
|
||||
|
||||
Devicetree example:
|
||||
|
||||
lfclk {
|
||||
lfrc-accuracy-ppm = <500>;
|
||||
lflprc-accuracy-ppm = <1000>;
|
||||
clocks = <&hfxo>, <&lfxo>;
|
||||
clock-names = "hfxo", "lfxo";
|
||||
};
|
||||
|
||||
compatible: "nordic,nrf-lfclk"
|
||||
|
||||
include: fixed-clock.yaml
|
||||
|
||||
properties:
|
||||
clock-frequency:
|
||||
const: 32768
|
||||
|
||||
lfrc-accuracy-ppm:
|
||||
type: int
|
||||
description: Clock accuracy in parts per million if LFRC clock source is used.
|
||||
|
||||
lflprc-accuracy-ppm:
|
||||
type: int
|
||||
description: Clock accuracy in parts per million if LFLPRC clock source is used.
|
||||
@ -156,9 +156,13 @@
|
||||
};
|
||||
|
||||
fll16m: fll16m {
|
||||
compatible = "fixed-clock";
|
||||
compatible = "nordic,nrf-fll16m";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <DT_FREQ_M(16)>;
|
||||
open-loop-accuracy-ppm = <20000>;
|
||||
closed-loop-base-accuracy-ppm = <5000>;
|
||||
clocks = <&hfxo>, <&lfxo>;
|
||||
clock-names = "hfxo", "lfxo";
|
||||
};
|
||||
|
||||
hsfll120: hsfll120 {
|
||||
@ -169,9 +173,14 @@
|
||||
};
|
||||
|
||||
lfclk: lfclk {
|
||||
compatible = "fixed-clock";
|
||||
compatible = "nordic,nrf-lfclk";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
status = "okay";
|
||||
lfrc-accuracy-ppm = <500>;
|
||||
lflprc-accuracy-ppm = <1000>;
|
||||
clocks = <&hfxo>, <&lfxo>;
|
||||
clock-names = "hfxo", "lfxo";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user