I am trying to use the adf4350 Linux kernel driver on a my Beaglebone embedded board.
The driver is compiled correctly (also because it's already included in the kernel source), but nothing is working as reported here in the Driver Testing section from the ADF4350 IIO Wideband Synthesizer Linux Driver page.
Once the driver is loaded, no directory is being created in /sys/bus/iio directory, and nothing is also reported from dmesg output.
I also tried to compile the device-tree file posted in the section Devicetree binding modifyng it as follows:
compatible = "adi,adf4351";
reg = <4>;
spi-max-frequency = <10000000>;
/* clocks = <&clk0_ad9523 9>;*/
clock-names = "clkin";
adi,channel-spacing = <10000>;
adi,power-up-frequency = <2400000000>;
adi,charge-pump-current = <2500>;
adi,output-power = <3>;
commenting the line 8 due to the error
ERROR (phandle_references): Reference to non-existent node or label "clk0_ad9523"
Warning: Input tree has errors, output forced
however with the modifications applied, now the warnings are:
Warning (reg_format): "reg" property in /adf4351-rx-lpc@4 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value for /adf4351-rx-lpc@4
Warning (avoid_default_addr_size): Relying on default #size-cells value for /adf4351-rx-lpc@4
and if I execute
echo "adf4530" > /sys/devices/platform/bone_capemgr/slots
I obtain the error
bash: echo: write error: No such file or directory
Is the devicetree file mandatory to work with the driver ?
What could be the cause I don't see the /sys/bus/iio/iio:device0 once the driver is loaded ?