Skip to content

Commit 74da27f

Browse files
committed
arch: arm: boot: dts: Add devicetree for ADA4355
Signed-off-by: Pop Ioan Daniel <[email protected]>
1 parent f1a9a8d commit 74da27f

File tree

2 files changed

+234
-0
lines changed

2 files changed

+234
-0
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Analog Devices ada4355
4+
*
5+
* hdl_project: <ada4355_fmc/zed>
6+
* board_revision: <>
7+
*
8+
* Copyright (C) 2025 Analog Devices Inc.
9+
*/
10+
/dts-v1/;
11+
12+
#include <dt-bindings/gpio/gpio.h>
13+
14+
#include "zynq-zed.dtsi"
15+
#include "zynq-zed-adv7511.dtsi"
16+
17+
&fpga_axi {
18+
19+
fmc_i2c: i2c@41620000 {
20+
compatible = "xlnx,axi-iic-1.01.b", "xlnx,xps-iic-2.00.a";
21+
interrupt-parent = <&intc>;
22+
interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
23+
reg = <0x41620000 0x10000>;
24+
25+
#size-cells = <0>;
26+
#address-cells = <1>;
27+
28+
ad7291@2f {
29+
compatible = "adi,ad7291";
30+
reg = <0x2f>;
31+
};
32+
};
33+
34+
rx_dma: rx-dmac@44a30000 {
35+
compatible = "adi,axi-dmac-1.00.a";
36+
reg = <0x44A30000 0x10000>;
37+
#dma-cells = <1>;
38+
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
39+
clocks = <&clkc 16>;
40+
41+
adi,channels {
42+
#size-cells = <0>;
43+
#address-cells = <1>;
44+
45+
dma-channel@0 {
46+
reg = <0>;
47+
adi,source-bus-width = <32>;
48+
adi,source-bus-type = <2>;
49+
adi,destination-bus-width = <64>;
50+
adi,destination-bus-type = <0>;
51+
};
52+
};
53+
};
54+
55+
ada4355: ada4355@44a00000 {
56+
compatible = "adi,axi-adc-10.0.a";
57+
reg = <0x44A00000 0x10000>;
58+
dmas = <&rx_dma 0>;
59+
dma-names = "rx";
60+
61+
spibus-connected = <&adc_ada4355>;
62+
};
63+
};
64+
65+
&spi0 {
66+
status = "okay";
67+
};
68+
69+
#define fmc_spi spi0
70+
71+
/ {
72+
ada4355_fixed_clock: ada4355_fixed_clock{
73+
compatible = "fixed-clock";
74+
#clock-cells = <0>;
75+
clock-frequency = <125000000>;
76+
};
77+
78+
gpio-control@0 {
79+
compatible = "adi,one-bit-adc-dac";
80+
#address-cells = <1>;
81+
#size-cells = <0>;
82+
out-gpios = <&gpio0 86 GPIO_ACTIVE_HIGH>,
83+
<&gpio0 87 GPIO_ACTIVE_HIGH>,
84+
<&gpio0 88 GPIO_ACTIVE_HIGH>,
85+
<&gpio0 90 GPIO_ACTIVE_HIGH>,
86+
<&gpio0 91 GPIO_ACTIVE_HIGH>,
87+
<&gpio0 92 GPIO_ACTIVE_HIGH>,
88+
<&gpio0 93 GPIO_ACTIVE_HIGH>;
89+
90+
channel@0 {
91+
reg = <0>;
92+
label = "GSEL0";
93+
};
94+
channel@1 {
95+
reg = <1>;
96+
label = "GSEL1";
97+
};
98+
channel@2 {
99+
reg = <2>;
100+
label = "FSEL0";
101+
};
102+
channel@3 {
103+
reg = <3>;
104+
label = "GSEL2";
105+
};
106+
channel@4 {
107+
reg = <4>;
108+
label = "GPIO_TEST";
109+
};
110+
channel@5 {
111+
reg = <5>;
112+
label = "GSEL3";
113+
};
114+
channel@6 {
115+
reg = <6>;
116+
label = "FSEL1";
117+
};
118+
};
119+
};
120+
121+
&fmc_spi {
122+
123+
adc_ada4355: adc_ada4355@0 {
124+
compatible = "adi,ada4355";
125+
reg = <0>;
126+
spi-max-frequency = <100000>;
127+
gpio-vld-en-gpios = <&gpio0 89 GPIO_ACTIVE_HIGH>;
128+
129+
clocks = <&ada4355_fixed_clock>;
130+
clock-names = "adc_clk";
131+
num_lanes = <2>;
132+
spi-cpol;
133+
spi-cpha;
134+
};
135+
};
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Analog Devices ada4355
4+
*
5+
* hdl_project: <ada4355_fmc/zed>
6+
* board_revision: <>
7+
*
8+
* Copyright (C) 2025 Analog Devices Inc.
9+
*/
10+
/dts-v1/;
11+
12+
#include <dt-bindings/gpio/gpio.h>
13+
14+
#include "zynq-zed.dtsi"
15+
#include "zynq-zed-adv7511.dtsi"
16+
17+
&fpga_axi {
18+
rx_dma: rx-dmac@44a30000 {
19+
compatible = "adi,axi-dmac-1.00.a";
20+
reg = <0x44A30000 0x10000>;
21+
#dma-cells = <1>;
22+
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
23+
clocks = <&clkc 16>;
24+
25+
adi,channels {
26+
#size-cells = <0>;
27+
#address-cells = <1>;
28+
29+
dma-channel@0 {
30+
reg = <0>;
31+
adi,source-bus-width = <32>;
32+
adi,source-bus-type = <2>;
33+
adi,destination-bus-width = <64>;
34+
adi,destination-bus-type = <0>;
35+
};
36+
};
37+
};
38+
39+
ada4355: ada4355@44a00000 {
40+
compatible = "adi,axi-adc-10.0.a";
41+
reg = <0x44A00000 0x10000>;
42+
dmas = <&rx_dma 0>;
43+
dma-names = "rx";
44+
45+
spibus-connected = <&adc_ada4355>;
46+
};
47+
};
48+
49+
&spi0 {
50+
status = "okay";
51+
};
52+
53+
#define fmc_spi spi0
54+
55+
/ {
56+
ada4355_fixed_clock: ada4355_fixed_clock{
57+
compatible = "fixed-clock";
58+
#clock-cells = <0>;
59+
clock-frequency = <125000000>;
60+
};
61+
62+
gpio-control@0 {
63+
compatible = "adi,one-bit-adc-dac";
64+
#address-cells = <1>;
65+
#size-cells = <0>;
66+
out-gpios = <&gpio0 86 GPIO_ACTIVE_HIGH>,
67+
<&gpio0 87 GPIO_ACTIVE_HIGH>,
68+
<&gpio0 88 GPIO_ACTIVE_HIGH>;
69+
70+
channel@0 {
71+
reg = <0>;
72+
label = "GSEL0";
73+
};
74+
channel@1 {
75+
reg = <1>;
76+
label = "GSEL1";
77+
};
78+
channel@2 {
79+
reg = <2>;
80+
label = "FSEL";
81+
};
82+
};
83+
};
84+
85+
&fmc_spi {
86+
87+
adc_ada4355: adc_ada4355@0 {
88+
compatible = "adi,ada4355";
89+
reg = <0>;
90+
spi-max-frequency = <100000>;
91+
gpio-vld-en-gpios = <&gpio0 89 GPIO_ACTIVE_HIGH>;
92+
93+
clocks = <&ada4355_fixed_clock>;
94+
clock-names = "adc_clk";
95+
num_lanes = <2>;
96+
spi-cpol;
97+
spi-cpha;
98+
};
99+
};

0 commit comments

Comments
 (0)