Skip to content

Commit 3a75f85

Browse files
committed
dt-bindings: iio: frequency: add adf41513
ultralow noise PLL frequency synthesizer that can be used to implement local oscillators (LOs) as high as 26.5 GHz Signed-off-by: Rodrigo Alencar <[email protected]>
1 parent 81f27aa commit 3a75f85

File tree

2 files changed

+204
-0
lines changed

2 files changed

+204
-0
lines changed
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/iio/frequency/adi,adf41513.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices ADF41513 PLL Frequency Synthesizer
8+
9+
maintainers:
10+
- Rodrigo Alencar <[email protected]>
11+
12+
description:
13+
The ADF41513 is an ultralow noise frequency synthesizer that can be used to
14+
implement local oscillators (LOs) as high as 26.5 GHz in the upconversion and
15+
downconversion sections of wireless receivers and transmitters. The ADF41510
16+
supports frequencies up to 10 GHz.
17+
18+
https://www.analog.com/en/products/adf41513.html
19+
https://www.analog.com/en/products/adf41510.html
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- adi,adf41510
25+
- adi,adf41513
26+
27+
reg:
28+
maxItems: 1
29+
30+
spi-max-frequency:
31+
maximum: 25000000
32+
33+
clocks:
34+
maxItems: 1
35+
description: Clock that provides the reference input frequency.
36+
37+
'#clock-cells':
38+
const: 0
39+
40+
clock-output-names:
41+
maxItems: 1
42+
43+
vcc-supply:
44+
description: Power supply for the device (3.3V)
45+
46+
enable-gpios:
47+
description:
48+
GPIO that controls the chip enable pin. A logic low on this pin
49+
powers down the device and puts the charge pump output into
50+
three-state mode.
51+
maxItems: 1
52+
53+
lock-detect-gpios:
54+
description:
55+
GPIO for lock detect functionality. When configured for digital lock
56+
detect, this pin will output a logic high when the PLL is locked.
57+
maxItems: 1
58+
59+
adi,power-up-frequency:
60+
$ref: /schemas/types.yaml#/definitions/uint64
61+
minimum: 1000000000
62+
maximum: 26500000000
63+
default: 10000000000
64+
description:
65+
The PLL tunes to this frequency (in Hz) on driver probe.
66+
Range is 1 GHz to 26.5 GHz for ADF41513, and 1 GHz to 10 GHz for ADF41510.
67+
68+
adi,reference-div-factor:
69+
$ref: /schemas/types.yaml#/definitions/uint32
70+
minimum: 1
71+
maximum: 32
72+
default: 1
73+
description:
74+
Minimum value for the reference division factor (R Counter). The driver
75+
will increment R Counter as needed to achieve a PFD frequency within the
76+
allowed range. High R counter values will reduce the PFD frequency, which
77+
lowers the frequency resolution, and affects phase noise performance.
78+
79+
adi,reference-doubler-enable:
80+
description:
81+
Enables the reference doubler. The maximum reference frequency when
82+
the doubler is enabled is 225 MHz.
83+
type: boolean
84+
85+
adi,reference-div2-enable:
86+
description:
87+
Enables the reference divide-by-2 function. This provides a 50%
88+
duty cycle signal to the PFD.
89+
type: boolean
90+
91+
adi,charge-pump-resistor-ohms:
92+
minimum: 1800
93+
maximum: 10000
94+
default: 2700
95+
description:
96+
External charge pump resistor (R_SET) value in ohms. This sets the maximum
97+
charge pump current along with the charge pump current setting.
98+
99+
adi,charge-pump-current-microamp:
100+
description:
101+
Charge pump current (I_CP) in microamps. The value will be rounded to the
102+
nearest supported value. Range of acceptable values depends on the
103+
charge pump resistor value, such that 810 mV <= I_CP * R_SET <= 12960 mV.
104+
This value depends on the loop filter design.
105+
106+
adi,muxout-select:
107+
description:
108+
On chip multiplexer output selection.
109+
high_z - MUXOUT Pin set to high-Z. (default)
110+
muxout_high - MUXOUT Pin set to high.
111+
muxout_low - MUXOUT Pin set to low.
112+
f_div_rclk - MUXOUT Pin set to R divider output
113+
f_div_nclk - MUXOUT Pin set to N divider output
114+
lock_detect - MUXOUT Pin set to Digital lock detect
115+
serial_data - MUXOUT Pin set to Serial data output
116+
readback - MUXOUT Pin set to Readback mode
117+
f_div_clk1 - MUXOUT Pin set to CLK1 divider output
118+
f_div_rclk_2 - MUXOUT Pin set to R divider/2 output
119+
f_div_nclk_2 - MUXOUT Pin set to N divider/2 output
120+
enum: [high_z, muxout_high, muxout_low, f_div_rclk, f_div_nclk, lock_detect,
121+
serial_data, readback, f_div_clk1, f_div_rclk_2, f_div_nclk_2]
122+
123+
adi,muxout-level-1v8-enable:
124+
description:
125+
Set MUXOUT and DLD logic levels to 1.8V. Default is 3.3V.
126+
type: boolean
127+
128+
adi,phase-detector-polarity-positive-enable:
129+
description:
130+
Set phase detector polarity to positive. Default is negative.
131+
Use positive polarity with non-inverting loop filter and VCO with
132+
positive tuning slope, or with inverting loop filter and VCO with
133+
negative tuning slope.
134+
type: boolean
135+
136+
adi,phase-resync-period-ns:
137+
default: 0
138+
description:
139+
When this value is non-zero, enable phase resync functionality, which
140+
produces a consistent output phase offset with respect to the input
141+
reference. The value specifies the resync period in nanoseconds, used
142+
to configure clock dividers with respect to the PFD frequency. This value
143+
should be set to a value that is at least as long as the worst case lock
144+
time, i.e., it depends mostly on the loop filter design.
145+
146+
required:
147+
- compatible
148+
- reg
149+
- clocks
150+
- vcc-supply
151+
152+
allOf:
153+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
154+
155+
unevaluatedProperties: false
156+
157+
examples:
158+
- |
159+
spi {
160+
#address-cells = <1>;
161+
#size-cells = <0>;
162+
163+
pll@0 {
164+
compatible = "adi,adf41513";
165+
reg = <0>;
166+
spi-max-frequency = <10000000>;
167+
clocks = <&ref_clk>;
168+
vcc-supply = <&vcc_3v3>;
169+
#clock-cells = <0>;
170+
171+
adi,power-up-frequency = /bits/ 64 <12000000000>;
172+
adi,charge-pump-current-microamp = <2400>;
173+
adi,phase-detector-polarity-positive-enable;
174+
};
175+
};
176+
- |
177+
#include <dt-bindings/gpio/gpio.h>
178+
spi {
179+
#address-cells = <1>;
180+
#size-cells = <0>;
181+
182+
/* Example with advanced features enabled */
183+
pll@0 {
184+
compatible = "adi,adf41513";
185+
reg = <0>;
186+
spi-max-frequency = <25000000>;
187+
clocks = <&ref_clk>;
188+
vcc-supply = <&vcc_3v3>;
189+
enable-gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
190+
lock-detect-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
191+
#clock-cells = <0>;
192+
clock-output-names = "adf41513_clk";
193+
194+
adi,power-up-frequency = /bits/ 64 <15500000000>;
195+
adi,charge-pump-current-microamp = <3600>;
196+
adi,charge-pump-resistor-ohms = <2700>;
197+
adi,reference-doubler-enable;
198+
adi,muxout-select = "lock_detect";
199+
adi,phase-resync-period-ns = <0>;
200+
adi,phase-detector-polarity-positive-enable;
201+
};
202+
};
203+
...

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1606,6 +1606,7 @@ M: Rodrigo Alencar <[email protected]>
16061606
16071607
S: Supported
16081608
W: https://ez.analog.com/linux-software-drivers
1609+
F: Documentation/devicetree/bindings/iio/frequency/adi,adf41513.yaml
16091610
F: drivers/iio/frequency/adf41513.c
16101611

16111612
ANALOG DEVICES INC ADF4377 DRIVER

0 commit comments

Comments
 (0)