11 #include <linux/types.h>
13 #include <linux/device.h>
15 #include <linux/slab.h>
17 #include <linux/module.h>
22 #define DRV_NAME "ad9852"
24 #define addr_phaad1 0x0
25 #define addr_phaad2 0x1
26 #define addr_fretu1 0x2
27 #define addr_fretu2 0x3
28 #define addr_delfre 0x4
29 #define addr_updclk 0x5
30 #define addr_ramclk 0x6
31 #define addr_contrl 0x7
32 #define addr_optskm 0x8
33 #define addr_optskr 0xa
34 #define addr_dacctl 0xb
36 #define COMPPD (1 << 4)
37 #define REFMULT2 (1 << 2)
38 #define BYPPLL (1 << 5)
39 #define PLLRANG (1 << 6)
41 #define OSKEN (1 << 5)
43 #define read_bit (1 << 7)
81 spi_message_init(&msg);
82 spi_message_add_tail(&xfer, &msg);
90 spi_message_init(&msg);
91 spi_message_add_tail(&xfer, &msg);
99 spi_message_init(&msg);
100 spi_message_add_tail(&xfer, &msg);
108 spi_message_init(&msg);
109 spi_message_add_tail(&xfer, &msg);
117 spi_message_init(&msg);
118 spi_message_add_tail(&xfer, &msg);
126 spi_message_init(&msg);
127 spi_message_add_tail(&xfer, &msg);
135 spi_message_init(&msg);
136 spi_message_add_tail(&xfer, &msg);
144 spi_message_init(&msg);
145 spi_message_add_tail(&xfer, &msg);
153 spi_message_init(&msg);
154 spi_message_add_tail(&xfer, &msg);
162 spi_message_init(&msg);
163 spi_message_add_tail(&xfer, &msg);
171 spi_message_init(&msg);
172 spi_message_add_tail(&xfer, &msg);
179 return ret ? ret : len;
202 spi_message_init(&
msg);
203 spi_message_add_tail(&xfer, &
msg);
215 static struct attribute *ad9852_attributes[] = {
216 &iio_dev_attr_dds.dev_attr.attr,
221 .attrs = ad9852_attributes,
224 static const struct iio_info ad9852_info = {
225 .attrs = &ad9852_attribute_group,
241 spi_set_drvdata(spi, idev);
245 idev->
dev.parent = &spi->
dev;
246 idev->
info = &ad9852_info;
280 .probe = ad9852_probe,