Skip to content

Commit ae0e6a5

Browse files
committed
ARM: dts: xilinx: Add dts for AD4000 on cora
Add device tree for using AD4000 on CoraZ7. Signed-off-by: Marcelo Schmitt <[email protected]>
1 parent 286057f commit ae0e6a5

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 AD4000
4+
*
5+
* hdl_project: <pulsar_adc/coraz7s>
6+
* Link: https://github.com/analogdevicesinc/hdl/tree/main/projects/pulsar_adc
7+
* board_revision: <A>
8+
*
9+
* Copyright (C) 2025 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+
17+
/ {
18+
adc_vref: regulator-vref {
19+
compatible = "regulator-fixed";
20+
regulator-name = "EVAL 5V Vref";
21+
regulator-min-microvolt = <5000000>;
22+
regulator-max-microvolt = <5000000>;
23+
regulator-always-on;
24+
};
25+
26+
adc_vdd: regulator-vdd {
27+
compatible = "regulator-fixed";
28+
regulator-name = "Eval VDD supply";
29+
regulator-min-microvolt = <5000000>;
30+
regulator-max-microvolt = <5000000>;
31+
regulator-always-on;
32+
};
33+
34+
adc_vio: regulator-vio {
35+
compatible = "regulator-fixed";
36+
regulator-name = "Eval VIO supply";
37+
regulator-min-microvolt = <3300000>;
38+
regulator-max-microvolt = <3300000>;
39+
regulator-always-on;
40+
};
41+
42+
trigger_pwm: adc-pwm-trigger {
43+
compatible = "pwm-trigger";
44+
#trigger-source-cells = <0>;
45+
pwms = <&adc_trigger 0 1000000 0>;
46+
};
47+
};
48+
49+
&fpga_axi {
50+
adc_trigger: pwm@0x44b00000 {
51+
compatible = "adi,axi-pwmgen-2.00.a";
52+
reg = <0x44b00000 0x1000>;
53+
label = "adc_conversion_trigger";
54+
#pwm-cells = <2>;
55+
clocks = <&clkc 15>, <&spi_clk>;
56+
clock-names = "axi", "ext";
57+
};
58+
59+
spi_engine: spi@44a00000 {
60+
compatible = "adi,axi-spi-engine-1.00.a";
61+
reg = <0x44a00000 0x10000>;
62+
interrupt-parent = <&intc>;
63+
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
64+
clocks = <&clkc 15 &spi_clk>;
65+
clock-names = "s_axi_aclk", "spi_clk";
66+
67+
dmas = <&rx_dma 0>;
68+
dma-names = "offload0-rx";
69+
trigger-sources = <&trigger_pwm>;
70+
71+
#address-cells = <0x1>;
72+
#size-cells = <0x0>;
73+
74+
adc@0 {
75+
compatible = "adi,ad4000";
76+
reg = <0>;
77+
spi-max-frequency = <100000000>;
78+
vdd-supply = <&adc_vdd>;
79+
vio-supply = <&adc_vio>;
80+
ref-supply = <&adc_vref>;
81+
adi,high-z-input;
82+
};
83+
};
84+
85+
rx_dma: dma-controller@44a30000 {
86+
compatible = "adi,axi-dmac-1.00.a";
87+
reg = <0x44a30000 0x1000>;
88+
#dma-cells = <1>;
89+
interrupt-parent = <&intc>;
90+
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
91+
clocks = <&clkc 16>;
92+
};
93+
94+
spi_clk: clock-controller@0x44a70000 {
95+
compatible = "adi,axi-clkgen-2.00.a";
96+
reg = <0x44a70000 0x10000>;
97+
#clock-cells = <0>;
98+
clocks = <&clkc 15>, <&clkc 15>;
99+
clock-names = "clkin1", "s_axi_aclk";
100+
clock-output-names = "spi_clk";
101+
102+
assigned-clocks = <&spi_clk>;
103+
assigned-clock-rates = <200000000>;
104+
};
105+
};

0 commit comments

Comments
 (0)