Skip to content

Commit 23e6418

Browse files
committed
drivers: iio: adc: Update ad7779 to use upstream iio_backend
Signed-off-by: Ioana Risteiu <Ioana.Risteiu@analog.com>
1 parent e1bd265 commit 23e6418

File tree

2 files changed

+332
-86
lines changed

2 files changed

+332
-86
lines changed
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+
/dts-v1/;
3+
#include "zynq-zed.dts"
4+
5+
#include <dt-bindings/gpio/gpio.h>
6+
#include <dt-bindings/interrupt-controller/irq.h>
7+
8+
/ {
9+
vref: regulator-vref {
10+
compatible = "regulator-fixed";
11+
regulator-name = "fixed-supply";
12+
regulator-min-microvolt = <3600000>;
13+
regulator-max-microvolt = <3600000>;
14+
regulator-always-on;
15+
};
16+
17+
clocks {
18+
ad7779_mclk: clock@0 {
19+
#clock-cells = <0>;
20+
compatible = "fixed-clock";
21+
clock-frequency = <4096000>;
22+
};
23+
24+
axi_clk: clock@1 {
25+
compatible = "fixed-clock";
26+
clock-frequency = <100000000>;
27+
clock-output-names = "axi-clk";
28+
#clock-cells = <0>;
29+
};
30+
};
31+
32+
fpga-axi@0 {
33+
compatible = "simple-bus";
34+
#address-cells = <0x1>;
35+
#size-cells = <0x1>;
36+
ranges;
37+
38+
rx_dma: dmac@7c480000 {
39+
compatible = "adi,axi-dmac-1.00.a";
40+
reg = <0x7c480000 0x1000>;
41+
#dma-cells = <1>;
42+
interrupt-parent = <&intc>;
43+
interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
44+
clocks = <&clkc 16>;
45+
46+
adi,channels {
47+
#size-cells = <0>;
48+
#address-cells = <1>;
49+
50+
dma_channel: dma-channel@0 {
51+
reg = <0>;
52+
adi,source-bus-width = <256>;
53+
adi,source-bus-type = <2>;
54+
adi,destination-bus-width = <64>;
55+
adi,destination-bus-type = <0>;
56+
};
57+
};
58+
};
59+
60+
iio_backend: axi_adc@43c00000 {
61+
compatible = "adi,axi-adc-10.0.a";
62+
reg = <0x43c00000 0x10000>;
63+
dmas = <&rx_dma 0>;
64+
dma-names = "rx";
65+
clocks = <&axi_clk>;
66+
spibus-connected = <&ad7779>;
67+
};
68+
};
69+
};
70+
71+
&gpio0 {
72+
status = "okay";
73+
};
74+
75+
&spi0 {
76+
#address-cells = <1>;
77+
#size-cells = <0>;
78+
status = "okay";
79+
80+
ad7779: adc@0 {
81+
compatible = "adi,ad7779";
82+
reg = <0>;
83+
spi-max-frequency = <20000000>;
84+
85+
vref-supply = <&vref>;
86+
87+
start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
88+
reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
89+
90+
clocks = <&ad7779_mclk>;
91+
clock-names = "mclk";
92+
adi,data-lines = <8>;
93+
94+
//interrupt-parent = <&intc>;
95+
//interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
96+
97+
io-backends = <&iio_backend>;
98+
};
99+
};

0 commit comments

Comments
 (0)