Re: [PATCH v6 1/2] iio: frequency: adrf6780: add support for ADRF6780
From: Andy Shevchenko <hidden>
Date: 2021-07-16 14:54:06
Also in:
linux-iio, lkml
On Fri, Jul 16, 2021 at 2:43 PM Antoniu Miclaus [off-list ref] wrote:
The ADRF6780 is a silicon germanium (SiGe) design, wideband, microwave upconverter optimized for point to point microwave radio designs operating in the 5.9 GHz to 23.6 GHz frequency range.
Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ADRF6780.pdf
Is it one line? If not, please put on one line and drop below the blank line so it will go as a tag.
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
First question is why not to use the regmap API (I have heard it has gained support of 17 bit)? ...
+ depends on COMMON_CLK
Is it mandatory for any function inside the device? ...
+static int adrf6780_spi_read(struct adrf6780_dev *dev, unsigned int reg,
+ unsigned int *val)
+{
+ int ret;
+ struct spi_transfer t = {0};+ dev->data[0] = 0x80 | (reg << 1);
This 0x80 I guess is pretty much standard and regmap SPI supports it.
+ dev->data[1] = 0x0; + dev->data[2] = 0x0; + + t.rx_buf = &dev->data[0]; + t.tx_buf = &dev->data[0]; + t.len = 3; + + ret = spi_sync_transfer(dev->spi, &t, 1); + if (ret) + return ret; + + *val = (get_unaligned_be24(&dev->data[0]) >> 1) & GENMASK(15, 0); + + return ret; +}
...
+ usleep_range(200, 250);
Needs a comment. -- With Best Regards, Andy Shevchenko