I’m trying to interface an AD74413R connected to SPI3 CS0 on a custom Orin NX carrier board. I’m using the following devicetree entries:
spi@3230000 { //SPI1 Customer Usage SPI3
status = "okay";
nvidia,enable-hw-based-cs;
/delete-node/ spi@0;
/delete-node/ spi@1;
ad74413r@0 {
compatible = "adi,ad74413r";
status = "okay";
reg = <0>;
spi-max-frequency = <1000000>;
/*spi-cpol;*/
spi-cpha;
interrupt-parent = <&gpio>;
interrupts = <TEGRA234_MAIN_GPIO(A, 6) IRQ_TYPE_EDGE_FALLING>;
refin-supply = <&ad74413r_refin>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 { reg = <0>; adi,ch-func = <0> /*<CH_FUNC_HIGH_IMPEDANCE>*/; };
channel@1 { reg = <1>; adi,ch-func = <1> /*<CH_FUNC_HIGH_IMPEDANCE>*/; };
channel@2 { reg = <2>; adi,ch-func = <2> /*<CH_FUNC_HIGH_IMPEDANCE>*/; };
channel@3 { reg = <3>; adi,ch-func = <3> /*<CH_FUNC_HIGH_IMPEDANCE>*/; };
};
};
The kernel can communicate with the IC but failes to fully initialize the device:
[ 10.198167] ad74413r spi1.0: Bad CRC ff for ffffff
[ 10.198173] ad74413r: probe of spi1.0 failed with error -22
A logic analyzer shows that the first two transactions are a success:
but the following transactions seem strange. CS is elongated on the third transaction and completely failes to go low on the fourth transaction:
Can you give me any hint on how to set up my device to successfully interface with the IC?
Thanks.

