AnsweredAssumed Answered

Stuck setting up ADF5355

Question asked by chrisfrederickson on Jan 18, 2018
Latest reply on Feb 2, 2018 by chrisfrederickson

Hello. I'm working to get the Linux driver for the ADF5355 working on the Raspberry Pi Compute Module 3 and am stuck. I have compiled the driver as a module and am using the device tree overlay below. There is a device in /sys/bus/spi/devices/spi0.0 that when running cat modalias return spi:adf5355 and looking at uevent returns:

 

OF_NAME=adf5355

OF_FULLNAME=/soc/spi@7e204000/adf5355@0

OF_COMPATIBLE_0=adi,adf5355

OF_COMPATIBLE_N=1

MODALIAS=spi:adf5355

 

The module is not being automatically loaded and adding printks to each function in the module, it looks like none of them are being called. I'm not entirely sure where to go from here. Am I doing something obviously wrong?

 

// Overlay for ADF5355
/ dts - v1 / ;
/ plugin / ;
/
{
compatible = "brcm,bcm2708";
fragment @0
{
target = <&spidev0>;
__overlay__
{
status = "disabled";
};
};
fragment @1
{
target - path = "/";
__overlay__
{
adf5355_clkin:
osc:
oscillator
{
compatible = "fixed-clock";
#clock - cells = < 1 > ;
clock - frequency = <1000000>;
clock - output - names = "osc";
};
};
};
fragment @2
{
target - path = "/";
__overlay__
{
adf5355_reg:
fixedregulator @0
{
compatible = "regulator-fixed";
regulator - name = "adf5355-reg";
regulator - min - microvolt = <3300000>;
regulator - max - microvolt = <3300000>;
};
};
};
fragment @3
{
target = <&spi0>;
__overlay__
{
#address - cells = < 1 > ;
#size - cells = < 0 > ;
status = "okay";
adf5355 @0
{
status = "okay";
compatible = "adi,adf5355";
reg = <0>;
spi - max - frequency = <1000000>;
clocks = <&adf5355_clkin>;
clock - output - names = "adf5355_out";
vcc - supply = <&adf5355_reg>;
regulator - name = "adf5355-reg";
adi, charge - pump - current = <900>;
adi, muxout - select = <6>;
adi, mute - till - lock - enable;
adi, output - a - power = <2>;
adi, output - b - power = <2>;
adi, output - b - enable;
adi, output - a - enable;
adi, charge - pump - negative - bleed - enable;
adi, reference - differential - input - enable;
adi, muxout - level - 3v3 - enable;
adi, power - up - frequency = / bits / 64 < 123000000 > ;
};
};
};
};

Outcomes