Skip to content

Commit ea6cfa6

Browse files
committed
microblaze: dts: vcu118_quad_ad9084: Add external primary/second board DTS variants
Add DTS files for VCU118 quad AD9084 RevB external primary and second board configurations, for both default and 26.4 GHz lane rate profiles. These override the adf4030 node and configure JESD204 FSM stop states. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
1 parent 709d5fa commit ea6cfa6

File tree

4 files changed

+578
-0
lines changed

4 files changed

+578
-0
lines changed
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Analog Devices Quad-AD9084 RevB
4+
* https://wiki.analog.com/resources/tools-software/linux-drivers/iio-mxfe/ad9084
5+
* https://wiki.analog.com/resources/eval/user-guides/ad9084_fmca_ebz/ad9084_fmca_ebz_hdl
6+
*
7+
* hdl_project: <quad_apollo/vcu118>
8+
* board_revision: <Rev.B>
9+
*
10+
* Copyright (C) 2024 Analog Devices Inc.
11+
*/
12+
13+
#define DEVICE_PROFILE_NAME "id01_uc43.bin"
14+
15+
#define MHz 1000000
16+
17+
#define FREQ_J1_MHz (400 * MHz)
18+
#define TX_CORE_CLK_MHz (400 * MHz)
19+
#define RX_CORE_CLK_MHz (400 * MHz)
20+
#define FPGA_REFCLK_CLK_MHz (400 * MHz)
21+
22+
#define SYSREF_CLK_MHz (2 * 6250000)
23+
24+
#include "vcu118_quad_ad9084_revB.dts"
25+
#include <dt-bindings/jesd204/device-states.h>
26+
27+
&axi_ethernet {
28+
local-mac-address = [00 0a 35 00 90 84];
29+
};
30+
31+
&axi_spi_2 {
32+
33+
/delete-node/ adf4030;
34+
35+
adf4030: adf4030@4 {
36+
#clock-cells = <1>;
37+
compatible = "adi,adf4030";
38+
reg = <4>;
39+
40+
#address-cells = <1>;
41+
#size-cells = <0>;
42+
#io-channel-cells = <1>;
43+
44+
spi-max-frequency = <1000000>;
45+
clocks = <&ltc6952 5>;
46+
clock-names = "refin";
47+
clock-output-names = "adf4030_bsync_0", "adf4030_bsync_1",
48+
"adf4030_bsync_2", "adf4030_bsync_3", "adf4030_bsync_4",
49+
"adf4030_bsync_5", "adf4030_bsync_6", "adf4030_bsync_7",
50+
"adf4030_bsync_8", "adf4030_bsync_9";
51+
label = "adf4030";
52+
53+
jesd204-device;
54+
#jesd204-cells = <2>;
55+
jesd204-sysref-provider;
56+
57+
adi,vco-frequency-hz = <2500000000>; /* 2.5 GHz */
58+
adi,bsync-frequency-hz = <SYSREF_CLK_MHz>;
59+
adi,bsync-autoalign-reference-channel = <9>; /* J46_J47_UFL */
60+
adi,bsync-autoalign-iteration-count = <6>;
61+
adi,bsync-secondary-frequency-hz = <12500000>; /* 12.5 MHz */
62+
63+
channel@0 {
64+
reg = <0>;
65+
adi,extended-name = "APOLLO_SYSREF_0";
66+
adi,output-en;
67+
adi,input-output-reconfig-en;
68+
auto-align-on-sync-en;
69+
adi,rcm = <1>;
70+
adi,link-rx-en;
71+
adi,float-rx-en;
72+
};
73+
channel@1 {
74+
reg = <1>;
75+
adi,extended-name = "APOLLO_SYSREF_1";
76+
adi,output-en;
77+
adi,input-output-reconfig-en;
78+
auto-align-on-sync-en;
79+
adi,rcm = <1>;
80+
adi,link-rx-en;
81+
adi,float-rx-en;
82+
};
83+
channel@2 {
84+
reg = <2>;
85+
adi,extended-name = "APOLLO_SYSREF_2";
86+
adi,output-en;
87+
adi,input-output-reconfig-en;
88+
auto-align-on-sync-en;
89+
adi,rcm = <1>;
90+
adi,link-rx-en;
91+
adi,float-rx-en;
92+
};
93+
channel@3 {
94+
reg = <3>;
95+
adi,extended-name = "APOLLO_SYSREF_3";
96+
adi,output-en;
97+
adi,input-output-reconfig-en;
98+
auto-align-on-sync-en;
99+
adi,rcm = <1>;
100+
adi,link-rx-en;
101+
adi,float-rx-en;
102+
};
103+
channel@4 {
104+
reg = <4>;
105+
adi,extended-name = "FPGA_SYSREF_0"; /* RES rotate option for J40/J41 U.FL output */
106+
adi,output-en;
107+
adi,input-output-reconfig-en;
108+
auto-align-on-sync-en;
109+
adi,rcm = <62>;
110+
adi,link-rx-en;
111+
adi,float-rx-en;
112+
};
113+
// channel@5 {
114+
// reg = <5>;
115+
// adi,extended-name = "FPGA_SYSREF_1"; /* RES rotate option for J42/J43 U.FL output */
116+
// adi,output-en;
117+
// adi,input-output-reconfig-en;
118+
// adi,rcm = <62>;
119+
// };
120+
channel@6 {
121+
reg = <6>;
122+
adi,extended-name = "LTC6953_OUT_6";
123+
adi,link-rx-en;
124+
adi,float-rx-en;
125+
};
126+
/* BSYNC7 unused */
127+
channel@8 {
128+
reg = <8>;
129+
adi,extended-name = "LTC6952_OUT_8";
130+
adi,link-rx-en;
131+
adi,float-rx-en;
132+
};
133+
channel@9 {
134+
reg = <9>;
135+
adi,extended-name = "J46_J47_UFL";
136+
/delete-property/ adi,output-en;
137+
adi,input-output-reconfig-en;
138+
auto-align-on-sync-en;
139+
adi,rcm = <62>;
140+
};
141+
};
142+
};
143+
144+
&trx0_ad9084 {
145+
146+
jesd204-stop-states = <
147+
JESD204_FSM_STATE_OPT_POST_SETUP_STAGE1
148+
JESD204_FSM_STATE_OPT_POST_SETUP_STAGE2
149+
JESD204_FSM_STATE_OPT_POST_SETUP_STAGE3>;
150+
};
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Analog Devices Quad-AD9084 RevB
4+
* https://wiki.analog.com/resources/tools-software/linux-drivers/iio-mxfe/ad9084
5+
* https://wiki.analog.com/resources/eval/user-guides/ad9084_fmca_ebz/ad9084_fmca_ebz_hdl
6+
*
7+
* hdl_project: <quad_apollo/vcu118>
8+
* board_revision: <Rev.B>
9+
*
10+
* Copyright (C) 2024 Analog Devices Inc.
11+
*/
12+
13+
#define DEVICE_PROFILE_NAME "id01_uc43.bin"
14+
15+
#define MHz 1000000
16+
17+
#define FREQ_J1_MHz (400 * MHz)
18+
#define TX_CORE_CLK_MHz (400 * MHz)
19+
#define RX_CORE_CLK_MHz (400 * MHz)
20+
#define FPGA_REFCLK_CLK_MHz (400 * MHz)
21+
22+
#define SYSREF_CLK_MHz (2 * 6250000)
23+
24+
#include "vcu118_quad_ad9084_revB.dts"
25+
#include <dt-bindings/jesd204/device-states.h>
26+
27+
&axi_ethernet {
28+
local-mac-address = [00 0a 35 02 90 84];
29+
};
30+
31+
&axi_spi_2 {
32+
33+
/delete-node/ adf4030;
34+
35+
adf4030: adf4030@4 {
36+
#clock-cells = <1>;
37+
compatible = "adi,adf4030";
38+
reg = <4>;
39+
40+
#address-cells = <1>;
41+
#size-cells = <0>;
42+
#io-channel-cells = <1>;
43+
44+
spi-max-frequency = <1000000>;
45+
clocks = <&ltc6952 5>;
46+
clock-names = "refin";
47+
clock-output-names = "adf4030_bsync_0", "adf4030_bsync_1",
48+
"adf4030_bsync_2", "adf4030_bsync_3", "adf4030_bsync_4",
49+
"adf4030_bsync_5", "adf4030_bsync_6", "adf4030_bsync_7",
50+
"adf4030_bsync_8", "adf4030_bsync_9";
51+
label = "adf4030";
52+
53+
jesd204-device;
54+
#jesd204-cells = <2>;
55+
jesd204-sysref-provider;
56+
57+
adi,vco-frequency-hz = <2500000000>; /* 2.5 GHz */
58+
adi,bsync-frequency-hz = <SYSREF_CLK_MHz>;
59+
adi,bsync-autoalign-reference-channel = <9>; /* J46_J47_UFL */
60+
adi,bsync-autoalign-iteration-count = <6>;
61+
adi,bsync-secondary-frequency-hz = <12500000>; /* 12.5 MHz */
62+
63+
channel@0 {
64+
reg = <0>;
65+
adi,extended-name = "APOLLO_SYSREF_0";
66+
adi,output-en;
67+
adi,input-output-reconfig-en;
68+
auto-align-on-sync-en;
69+
adi,rcm = <1>;
70+
adi,link-rx-en;
71+
adi,float-rx-en;
72+
};
73+
channel@1 {
74+
reg = <1>;
75+
adi,extended-name = "APOLLO_SYSREF_1";
76+
adi,output-en;
77+
adi,input-output-reconfig-en;
78+
auto-align-on-sync-en;
79+
adi,rcm = <1>;
80+
adi,link-rx-en;
81+
adi,float-rx-en;
82+
};
83+
channel@2 {
84+
reg = <2>;
85+
adi,extended-name = "APOLLO_SYSREF_2";
86+
adi,output-en;
87+
adi,input-output-reconfig-en;
88+
auto-align-on-sync-en;
89+
adi,rcm = <1>;
90+
adi,link-rx-en;
91+
adi,float-rx-en;
92+
};
93+
channel@3 {
94+
reg = <3>;
95+
adi,extended-name = "APOLLO_SYSREF_3";
96+
adi,output-en;
97+
adi,input-output-reconfig-en;
98+
auto-align-on-sync-en;
99+
adi,rcm = <1>;
100+
adi,link-rx-en;
101+
adi,float-rx-en;
102+
};
103+
channel@4 {
104+
reg = <4>;
105+
adi,extended-name = "FPGA_SYSREF_0"; /* RES rotate option for J40/J41 U.FL output */
106+
adi,output-en;
107+
adi,input-output-reconfig-en;
108+
auto-align-on-sync-en;
109+
adi,rcm = <62>;
110+
adi,link-rx-en;
111+
adi,float-rx-en;
112+
};
113+
// channel@5 {
114+
// reg = <5>;
115+
// adi,extended-name = "FPGA_SYSREF_1"; /* RES rotate option for J42/J43 U.FL output */
116+
// adi,output-en;
117+
// adi,input-output-reconfig-en;
118+
// adi,rcm = <62>;
119+
// };
120+
channel@6 {
121+
reg = <6>;
122+
adi,extended-name = "LTC6953_OUT_6";
123+
adi,link-rx-en;
124+
adi,float-rx-en;
125+
};
126+
/* BSYNC7 unused */
127+
channel@8 {
128+
reg = <8>;
129+
adi,extended-name = "LTC6952_OUT_8";
130+
adi,link-rx-en;
131+
adi,float-rx-en;
132+
};
133+
channel@9 {
134+
reg = <9>;
135+
adi,extended-name = "J46_J47_UFL";
136+
/delete-property/ adi,output-en;
137+
adi,input-output-reconfig-en;
138+
auto-align-on-sync-en;
139+
adi,rcm = <62>;
140+
};
141+
};
142+
};
143+
144+
&trx0_ad9084 {
145+
146+
jesd204-stop-states = <
147+
JESD204_FSM_STATE_OPT_POST_SETUP_STAGE1
148+
JESD204_FSM_STATE_OPT_POST_SETUP_STAGE2
149+
JESD204_FSM_STATE_OPT_POST_SETUP_STAGE3>;
150+
};

0 commit comments

Comments
 (0)