Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
9ceb2b2
ARM: dts: xilinx: Fix clock controller node conflict
machschmitt Mar 19, 2026
856390c
dt-bindings: iio: adc: adi,ad4134: Add adi,adc-frame property
machschmitt Jul 2, 2024
48e6ce0
dt-bindings: iio: adc: adi,ad4134: Add cs-gpios property
machschmitt Jul 2, 2024
51dc556
dt-bindings: iio: adc: adi,ad4134: Add compatible for AD7134
machschmitt Jul 2, 2024
4ff04d0
iio: adc: ad4134: Add missing include for error macros
PIoandan Jul 2, 2024
9bde84f
iio: adc: ad4134: Add support for ADC output frame config
PIoandan Jul 2, 2024
85c7512
iio: adc: ad4134: Add iio_chan_spec_ext_info for the ODR
PIoandan Jul 2, 2024
a96ecd3
iio: adc: ad4134: Add support for cs-gpio synchronization signal
PIoandan Jul 2, 2024
25e5745
iio: adc: ad4134: Add support for channel digital filter config
PIoandan Jul 2, 2024
71d1f87
iio: adc: ad4134: Add support for device synchronization
PIoandan Jul 2, 2024
3d3742a
iio: adc: ad4134: Get number of ADCs available
machschmitt Jun 5, 2024
2749425
iio: adc: ad4134: Simplify with scoped child node iterator
machschmitt Mar 19, 2026
b20dcf6
iio: adc: ad4134: Add support for dual ADC setups
PIoandan Jul 2, 2024
7cf4130
iio: adc: ad4134: Assign iio_info for all devices
machschmitt Jul 25, 2024
b77cd44
iio: adc: ad4134: Add functionality for PWM trigger and make ODR PWM …
PIoandan Mar 29, 2024
5940fae
iio: adc: ad4134: Implement GPIO controller interface
PIoandan Jun 14, 2024
4cf6dd8
iio: adc: ad4134: Complement comment about ODR PWM duty cycle
machschmitt Jan 23, 2025
fd6012d
iio: adc: ad4134: Adjust ODR PWM duty_cycle
machschmitt Feb 17, 2025
0150bf1
iio: adc: ad4134: Don't call clk_round_rate() to set sys_clk_rate
machschmitt Feb 17, 2025
8b91950
iio: adc: ad4134: Set storagebits to 32
machschmitt Feb 19, 2025
8298aa2
iio: adc: ad4134: Set transfer bits_per_word equal to realbits + CRC …
machschmitt Feb 26, 2025
648fc69
iio: adc: ad4134: Update attribute name from "ad7134_sync" to "ad4134…
machschmitt Nov 18, 2025
b578a8a
iio: adc: ad4134: Set static visibility GPIO setup routine
machschmitt Mar 19, 2026
3a5bf2d
iio: adc: ad4134: [WIP] Completeley rewrite SPI offload support
machschmitt Mar 17, 2026
98306d3
iio: adc: ad4134: Do offload setup after SPI offload device probe
machschmitt Mar 24, 2026
0099ea7
iio: adc: ad4134: Use SPI Engine connected device pointer to config o…
machschmitt Mar 24, 2026
f4aa5dc
iio: adc: ad4134: Use SPI offload connected device to optimize messages
machschmitt Mar 25, 2026
2311684
iio: adc: ad4134: Drop odr_set_freq
machschmitt Mar 25, 2026
d08542d
iio: adc: ad4134: Provide correct sampling frequency with new offload
machschmitt Mar 25, 2026
18d0cb5
iio: adc: ad4134: Fail if no offload device is found
machschmitt Mar 25, 2026
9715910
iio: adc: ad4134: Use same transfer bits per word and size as previou…
machschmitt Mar 31, 2026
5470c7b
iio: adc: ad4134: Adjust ODR PWM period check
machschmitt Mar 31, 2026
05257ee
iio: adc: ad4134: Start ODR PWM optimization with a non-zero duty length
machschmitt Mar 31, 2026
6f7fc61
iio: adc: ad4134: Start ODR on device power up and keep it free running
machschmitt Apr 23, 2026
48f10dd
iio: adc: ad4134: Set proper IIO buffer shift and endianness properites
machschmitt Apr 23, 2026
183847f
iio: adc: ad4134: Adjust SPI transfer to multi-lane data capture
machschmitt Apr 23, 2026
8969bb3
iio: adc: ad4134: Adjust SPI transfer params to cope with 2 devices
machschmitt Apr 23, 2026
2e217de
iio: adc: ad4134: Extract synchronization procedure into own function
machschmitt Apr 23, 2026
3c6e045
iio: adc: ad4134: Do automatic multi-device synchronization when appl…
machschmitt Apr 23, 2026
e46a455
iio: adc: ad4143: Drop automatic multi-device synchronization
machschmitt May 11, 2026
1ba7e13
iio: adc: ad4134: Add author
machschmitt May 8, 2026
95522b8
iio: adc: ad4134: Add soft reset device attribute
machschmitt May 8, 2026
7a2ae60
iio: adc: ad4134: [HACK] Set duo device GPIO for soft reset
machschmitt May 8, 2026
d5d8708
ARM: dts: Add device tree for AD7134(-24) on ZedBoard
machschmitt Mar 19, 2026
2d61418
ARM: dts: Add device tree for AD7134(-24CRC) on ZedBoard
machschmitt Mar 19, 2026
9df3655
ARM: dts: Add device tree for AD7134(-16) on ZedBoard
machschmitt Mar 19, 2026
9dfaf08
ARM: dts: Add device tree for AD7134(-16CRC) on ZedBoard
machschmitt Mar 19, 2026
3eaef3c
ARM: dts: Add device tree for the CN0561 project on ZedBoard
machschmitt Mar 19, 2026
2839377
ARM: dts: zynq-zed-adv7511-ad4134: Add adi,adc-frame value for single…
machschmitt Jan 10, 2025
9968a64
ARM: dts: zynq-zed-adv7511-ad4134: Update to new clock name
machschmitt Jan 17, 2025
6815f43
ARM: dts: zynq-zed-adv7511-ad4134: Use trigger_pwm
machschmitt Jan 17, 2025
2e0f389
ARM: dts: zynq-zed-adv7511-ad4134: Set system base clock to 100 MHz
machschmitt Jan 23, 2025
c375007
ARM: dts: zynq-zed-adv7511-ad4134: Adjust spi-max-frequency
machschmitt Jan 23, 2025
79aba2e
ARM: dts: zynq-zed-adv7511-ad4134: Add output name to axi_clkgen
machschmitt Feb 12, 2025
cdb499c
ARM: dts: Rename AD4134 dts to specify precision bits
machschmitt Feb 17, 2025
7c98634
ARM: dts: Add AD4134-16, AD4134-16CRC, and AD4134-24CRC
machschmitt Feb 17, 2025
17824b4
ARM: dts: zynq-zed-adv7511-ad4134-24: Use offload trigger
machschmitt Mar 17, 2026
10a683e
ARM: dts: zynq-zed-adv7511-ad4134-24: Fix PWM clock cells
machschmitt Mar 17, 2026
733db43
ARM: dts: zynq-zed-adv7511-ad4134-24: Use current/updated SPI Engine
machschmitt Mar 19, 2026
1866225
ARM: dts: zynq-zed-adv7511-ad7134-24: Fix PWM clock cells
machschmitt Mar 19, 2026
807d8f2
ARM: dts: zynq-zed-adv7511-ad7134-24: Use offload trigger
machschmitt Mar 19, 2026
a8d69c7
ARM: dts: zynq-zed-adv7511-ad7134-24: Adjust AXI clock generator names
machschmitt Mar 19, 2026
89eb3b6
ARM: dts: zynq-zed-adv7511-cn0561-24: Adjust AXI clock generator names
machschmitt Mar 19, 2026
374fb0f
ARM: dts: zynq-zed-adv7511-cn0561-24: Fix PWM clock cells
machschmitt Mar 19, 2026
9260f34
ARM: dts: zynq-zed-adv7511-cn0561-24: Use offload trigger
machschmitt Mar 19, 2026
edcd9d5
ARM: dts: Add device tree for using AD4134 on ZedBoard
machschmitt Jan 26, 2026
2eac372
ARM: dts: zynq-zed-adv7511-ad7134-24: Drop spi-cpha
machschmitt Mar 31, 2026
8971b04
ARM: dts: zynq-zed-adv7511-ad7134-24: Fix external clock frequency
machschmitt Apr 22, 2026
4e64317
ARM: dts: zynq-zed-adv7511-ad4134-24: Fix external clock frequency
machschmitt Apr 23, 2026
19cb87c
ARM: dts: zynq-zed-adv7511-ad4134-24: Set 4-line rx-bus-width
machschmitt Apr 23, 2026
112c65f
ARM: dts: zynq-zed-adv7511-ad7134-24: Set 8-line rx-bus-width
machschmitt Apr 23, 2026
694b645
ARM: dts: zynq-zed-adv7511-ad4134-24: Use AXI Clock as basis for PWM
machschmitt May 8, 2026
2c5d752
ARM: dts: zynq-zed-adv7511-ad4134-24: Set PWM cells 3rd specifier
machschmitt May 8, 2026
c492e3d
ARM: dts: zynq-zed-adv7511-ad7134-24: Use AXI Clock as basis for PWM
machschmitt May 8, 2026
8e92b8e
ARM: dts: zynq-zed-adv7511-ad7134-24: Set PWM cells 3rd specifier
machschmitt May 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions Documentation/devicetree/bindings/iio/adc/adi,ad4134.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
Expand All @@ -18,8 +18,12 @@

properties:
compatible:
enum:
- adi,ad4134
oneOf:
- const: adi,ad4134
- items:
- enum:
- adi,ad7134
- const: adi,ad4134

reg:
maxItems: 1
Expand All @@ -30,6 +34,12 @@
reset-gpios:
maxItems: 1

cs-gpios:
description:
Used to synchronize devices when two or more ADCs are used for
synchronized data sampling.
maxItems: 1

clocks:
maxItems: 1

Expand All @@ -56,6 +66,15 @@
iovdd-supply: true
refin-supply: true

adi,adc-frame:
$ref: /schemas/types.yaml#/definitions/string
enum: [ 16-bit, 16-bit+CRC, 24-bit, 24-bit+CRC ]
default: 24-bit
description:
Describes how the ADC data packet should be configured. The data packet
size is 16-bit when "16-bit" is selected, 24-bit when "16-bit+CRC" or
"24-bit" are selected, and 32-bit when "24-bit+CRC" is set.

adi,spi-engine:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle of the SPI slave connected to the SPI engine master
Expand Down Expand Up @@ -104,6 +123,7 @@
iovdd-supply = <&iovdd>;
refin-supply = <&refin>;

adi,adc-frame = "24-bit";
adi,spi-engine = <&ad4134_spi_engine>;
};
};
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad3552r-hs.dts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
};

&fpga_axi {
ref_clk: clock-controller@44B00000 {
ref_clk: spi-clock-controller@44B00000 {
compatible = "adi,axi-clkgen-2.00.a";
reg = <0x44B00000 0x10000>;
#clock-cells = <0>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4000.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
clocks = <&clkc 17>;
};

spi_clk: clock-controller@0x44a70000 {
spi_clk: spi-clock-controller@0x44a70000 {
compatible = "adi,axi-clkgen-2.00.a";
reg = <0x44a70000 0x10000>;
#clock-cells = <0>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4030-24.dts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
clocks = <&clkc 15>;
};

spi_clk: clock-controller@44a70000 {
spi_clk: spi-clock-controller@44a70000 {
compatible = "adi,axi-clkgen-2.00.a";
reg = <0x44a70000 0x10000>;
#clock-cells = <0>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4032-24.dts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
clocks = <&clkc 15>;
};

spi_clk: clock-controller@44a70000 {
spi_clk: spi-clock-controller@44a70000 {
compatible = "adi,axi-clkgen-2.00.a";
reg = <0x44a70000 0x10000>;
#clock-cells = <0>;
Expand Down
21 changes: 21 additions & 0 deletions arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4134-16.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Analog Devices AD7134
* https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad4134
* https://wiki.analog.com/resources/eval/user-guides/ad4134
*
* hdl_project: <ad7134_fmc/zed>
*
* Copyright (C) 2024 Analog Devices, Inc.
*/
/dts-v1/;

#include "zynq-zed-adv7511-ad4134-24.dts"

&spi0 {
status = "okay";

ad4134: adc@0 {
adi,adc-frame = "16-bit";

Check failure on line 19 in arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4134-16.dts

View workflow job for this annotation

GitHub Actions / checks / checks

checkpatch: code indent should use tabs where possible + adi,adc-frame = "16-bit";$
};
};
21 changes: 21 additions & 0 deletions arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4134-16CRC.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Analog Devices AD7134
* https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad4134
* https://wiki.analog.com/resources/eval/user-guides/ad4134
*
* hdl_project: <ad7134_fmc/zed>
*
* Copyright (C) 2024 Analog Devices, Inc.
*/
/dts-v1/;

#include "zynq-zed-adv7511-ad4134-24.dts"

&spi0 {
status = "okay";

ad4134: adc@0 {
adi,adc-frame = "16-bit+CRC";
};
};
144 changes: 144 additions & 0 deletions arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4134-24.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Analog Devices AD4134
* https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad4134
* https://wiki.analog.com/resources/eval/user-guides/ad4134
*
* hdl_project: <ad4134_fmc/zed>
*
* Copyright (C) 2022 Analog Devices, Inc.
*/
/dts-v1/;

#include <dt-bindings/gpio/gpio.h>

#include "zynq-zed.dtsi"
#include "zynq-zed-adv7511.dtsi"

/ {
avdd5: regulator-avdd5 {
compatible = "regulator-fixed";
regulator-name = "avdd5";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};

avdd1v8: regulator-avdd1v8 {
compatible = "regulator-fixed";
regulator-name = "avdd1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};

iovdd: regulator-iovdd {
compatible = "regulator-fixed";
regulator-name = "iovdd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};

refin: regulator-refin {
compatible = "regulator-fixed";
regulator-name = "refin";
regulator-min-microvolt = <4096000>;
regulator-max-microvolt = <4096000>;
regulator-always-on;
};

trigger_pwm: adc-pwm-trigger {
compatible = "pwm-trigger";
#trigger-source-cells = <0>;
pwms = <&ad4134_odr_generator 0 1000000 0>;
};

clocks {
cnv_ext_clk: ext-clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <48000000>;
clock-output-names = "cnv_ext_clk";
};
};
};

&fpga_axi {
rx_dma: dma-controller@44a30000 {
compatible = "adi,axi-dmac-1.00.a";
reg = <0x44a30000 0x1000>;
#dma-cells = <1>;
interrupt-parent = <&intc>;
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clkc 15>;
};

axi_spi_engine_0: spi@44a00000 {
compatible = "adi,axi-spi-engine-1.00.a";
reg = <0x44a00000 0x10000>;
interrupt-parent = <&intc>;
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clkc 15 &spi_clk>;
clock-names = "s_axi_aclk", "spi_clk";
dmas = <&rx_dma 0>;
dma-names = "offload0-rx";
trigger-sources = <&trigger_pwm>;
#address-cells = <0x1>;
#size-cells = <0x0>;

ad4134_spi_engine: spi_engine@0 {
compatible = "adi,ad4134-spi-engine";
reg = <0>;

spi-max-frequency = <50000000>;

spi-cpha;
spi-rx-bus-width = <1>, <1>, <1>, <1>; /* 4 lanes of 1 bit each */
};
};

ad4134_odr_generator: pwm@44b00000 {
compatible = "adi,axi-pwmgen-2.00.a";
reg = <0x44b00000 0x10000>;
#pwm-cells = <3>;
clocks = <&clkc 15>;
clock-names = "axi";
};

spi_clk: spi-clock-controller@44b10000 {
compatible = "adi,axi-clkgen-2.00.a";
reg = <0x44b10000 0x10000>;
#clock-cells = <0>;
clocks = <&clkc 15>, <&clkc 15>;
clock-names = "clkin1", "s_axi_aclk";
clock-output-names = "clkin1", "spi_clk";
};
};

&spi0 {
status = "okay";

ad4134: adc@0 {
compatible = "adi,ad4134";
reg = <0>;

spi-max-frequency = <10000000>;

reset-gpios = <&gpio0 86 GPIO_ACTIVE_LOW>;

clocks = <&cnv_ext_clk>;
clock-names = "cnv_ext_clk";

pwm-names = "odr";
pwms = <&ad4134_odr_generator 1 1000000 0>;

avdd5-supply = <&avdd5>;
avdd1v8-supply = <&avdd1v8>;
iovdd-supply = <&iovdd>;
refin-supply = <&refin>;

adi,spi-engine = <&ad4134_spi_engine>;
adi,adc-frame = "24-bit";
};
};
21 changes: 21 additions & 0 deletions arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad4134-24CRC.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Analog Devices AD7134
* https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad4134
* https://wiki.analog.com/resources/eval/user-guides/ad4134
*
* hdl_project: <ad7134_fmc/zed>
*
* Copyright (C) 2024 Analog Devices, Inc.
*/
/dts-v1/;

#include "zynq-zed-adv7511-ad4134-24.dts"

&spi0 {
status = "okay";

ad4134: adc@0 {
adi,adc-frame = "24-bit+CRC";
};
};
Loading
Loading