Skip to content

Commit 54bc53d

Browse files
committed
arm: dts: xilinx: Add dts for AD4052 on cora
Add device tree for using AD4052 on CoraZ7. Signed-off-by: Jorge Marques <jorge.marques@analog.com>
1 parent 07be710 commit 54bc53d

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/*
3+
* Analog Devices AD4052
4+
*
5+
* hdl_project: <ad4052_ardz/coraz7s>
6+
* Link: https://github.com/analogdevicesinc/hdl/tree/main/projects/ad4052_ardz
7+
* board_revision: <A>
8+
*
9+
* Copyright (C) 2026 Analog Devices Inc.
10+
*/
11+
/dts-v1/;
12+
#include "zynq-coraz7s.dtsi"
13+
#include "zynq-coraz7s-axi-sysid.dtsi"
14+
#include <dt-bindings/interrupt-controller/irq.h>
15+
#include <dt-bindings/gpio/gpio.h>
16+
#include <dt-bindings/iio/adc/adi,ad4052.h>
17+
18+
/ {
19+
vdd: regulator-vdd {
20+
compatible = "regulator-fixed";
21+
regulator-name = "vdd-fixed-supply";
22+
regulator-min-microvolt = <3300000>;
23+
regulator-max-microvolt = <3300000>;
24+
regulator-always-on;
25+
};
26+
27+
vio: regulator-vio {
28+
compatible = "regulator-fixed";
29+
regulator-name = "vio-fixed-supply";
30+
regulator-min-microvolt = <3300000>;
31+
regulator-max-microvolt = <3300000>;
32+
regulator-always-on;
33+
};
34+
35+
ref: regulator-ref {
36+
compatible = "regulator-fixed";
37+
regulator-name = "ref-fixed-supply";
38+
regulator-min-microvolt = <2500000>;
39+
regulator-max-microvolt = <2500000>;
40+
regulator-always-on;
41+
};
42+
};
43+
44+
&fpga_axi {
45+
rx_dma: dma-controller@44a30000 {
46+
compatible = "adi,axi-dmac-1.00.a";
47+
reg = <0x44a30000 0x1000>;
48+
#dma-cells = <1>;
49+
interrupt-parent = <&intc>;
50+
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
51+
clocks = <&clkc 15>;
52+
};
53+
54+
spi_clk: clock-controller@44a70000 {
55+
compatible = "adi,axi-clkgen-2.00.a";
56+
reg = <0x44a70000 0x10000>;
57+
#clock-cells = <0>;
58+
clocks = <&clkc 15>, <&clkc 15>;
59+
clock-names = "s_axi_aclk", "clkin1";
60+
clock-output-names = "spi_clk";
61+
};
62+
63+
adc_trigger: pwm@44b00000 {
64+
compatible = "adi,axi-pwmgen-2.00.a";
65+
reg = <0x44b00000 0x1000>;
66+
#pwm-cells = <2>;
67+
clocks = <&spi_clk>;
68+
};
69+
70+
axi_spi_engine: spi@44a00000 {
71+
compatible = "adi,axi-spi-engine-1.00.a";
72+
reg = <0x44a00000 0x1FF>;
73+
interrupt-parent = <&intc>;
74+
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
75+
clocks = <&clkc 15>, <&spi_clk>;
76+
clock-names = "s_axi_aclk", "spi_clk";
77+
78+
dmas = <&rx_dma 0>;
79+
dma-names = "offload0-rx";
80+
trigger-sources = <&ad4052 AD4052_TRIGGER_EVENT_DATA_READY
81+
AD4052_TRIGGER_PIN_GP1>;
82+
83+
#address-cells = <0x1>;
84+
#size-cells = <0x0>;
85+
86+
ad4052: ad4052@0 {
87+
compatible = "adi,ad4052";
88+
reg = <0>;
89+
vdd-supply = <&vdd>;
90+
vio-supply = <&vio>;
91+
ref-supply = <&ref>;
92+
spi-max-frequency = <16000000>;
93+
94+
#trigger-source-cells = <2>;
95+
96+
pwms = <&adc_trigger 0 10000 0>;
97+
98+
interrupt-parent = <&gpio0>;
99+
interrupts = <86 IRQ_TYPE_EDGE_RISING>,
100+
<87 IRQ_TYPE_EDGE_FALLING>;
101+
interrupt-names = "gp0", "gp1";
102+
cnv-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH>;
103+
};
104+
};
105+
};

0 commit comments

Comments
 (0)