Lines Matching refs:indio_dev

298 static int ad9523_read(struct iio_dev *indio_dev, unsigned int addr)  in ad9523_read()  argument
300 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_read()
324 dev_err(&indio_dev->dev, "read failed (%d)", ret); in ad9523_read()
332 static int ad9523_write(struct iio_dev *indio_dev, in ad9523_write() argument
335 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_write()
355 dev_err(&indio_dev->dev, "write failed (%d)", ret); in ad9523_write()
360 static int ad9523_io_update(struct iio_dev *indio_dev) in ad9523_io_update() argument
362 return ad9523_write(indio_dev, AD9523_IO_UPDATE, AD9523_IO_UPDATE_EN); in ad9523_io_update()
365 static int ad9523_vco_out_map(struct iio_dev *indio_dev, in ad9523_vco_out_map() argument
368 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_vco_out_map()
374 ret = ad9523_read(indio_dev, AD9523_PLL1_OUTPUT_CHANNEL_CTRL); in ad9523_vco_out_map()
384 ret = ad9523_write(indio_dev, in ad9523_vco_out_map()
388 ret = ad9523_read(indio_dev, AD9523_PLL1_OUTPUT_CTRL); in ad9523_vco_out_map()
396 ret = ad9523_write(indio_dev, AD9523_PLL1_OUTPUT_CTRL, ret); in ad9523_vco_out_map()
399 ret = ad9523_read(indio_dev, AD9523_PLL1_OUTPUT_CHANNEL_CTRL); in ad9523_vco_out_map()
407 ret = ad9523_write(indio_dev, in ad9523_vco_out_map()
419 static int ad9523_set_clock_provider(struct iio_dev *indio_dev, in ad9523_set_clock_provider() argument
422 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_set_clock_provider()
442 return ad9523_vco_out_map(indio_dev, ch, use_alt_clk_src); in ad9523_set_clock_provider()
445 static int ad9523_store_eeprom(struct iio_dev *indio_dev) in ad9523_store_eeprom() argument
449 ret = ad9523_write(indio_dev, AD9523_EEPROM_CTRL1, in ad9523_store_eeprom()
453 ret = ad9523_write(indio_dev, AD9523_EEPROM_CTRL2, in ad9523_store_eeprom()
461 ret = ad9523_read(indio_dev, in ad9523_store_eeprom()
467 ret = ad9523_write(indio_dev, AD9523_EEPROM_CTRL1, 0); in ad9523_store_eeprom()
471 ret = ad9523_read(indio_dev, AD9523_EEPROM_ERROR_READBACK); in ad9523_store_eeprom()
476 dev_err(&indio_dev->dev, "Verify EEPROM failed"); in ad9523_store_eeprom()
483 static int ad9523_sync(struct iio_dev *indio_dev) in ad9523_sync() argument
487 ret = ad9523_read(indio_dev, AD9523_STATUS_SIGNALS); in ad9523_sync()
494 ret = ad9523_write(indio_dev, AD9523_STATUS_SIGNALS, tmp); in ad9523_sync()
498 ad9523_io_update(indio_dev); in ad9523_sync()
501 ret = ad9523_write(indio_dev, AD9523_STATUS_SIGNALS, tmp); in ad9523_sync()
505 return ad9523_io_update(indio_dev); in ad9523_sync()
512 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in ad9523_store() local
514 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_store()
528 ret = ad9523_sync(indio_dev); in ad9523_store()
531 ret = ad9523_store_eeprom(indio_dev); in ad9523_store()
545 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in ad9523_show() local
547 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_show()
551 ret = ad9523_read(indio_dev, AD9523_READBACK_0); in ad9523_show()
629 static int ad9523_read_raw(struct iio_dev *indio_dev, in ad9523_read_raw() argument
635 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_read_raw()
640 ret = ad9523_read(indio_dev, AD9523_CHANNEL_CLOCK_DIST(chan->channel)); in ad9523_read_raw()
665 static int ad9523_write_raw(struct iio_dev *indio_dev, in ad9523_write_raw() argument
671 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_write_raw()
676 ret = ad9523_read(indio_dev, AD9523_CHANNEL_CLOCK_DIST(chan->channel)); in ad9523_write_raw()
694 ret = ad9523_set_clock_provider(indio_dev, chan->channel, val); in ad9523_write_raw()
714 ret = ad9523_write(indio_dev, AD9523_CHANNEL_CLOCK_DIST(chan->channel), in ad9523_write_raw()
719 ad9523_io_update(indio_dev); in ad9523_write_raw()
725 static int ad9523_reg_access(struct iio_dev *indio_dev, in ad9523_reg_access() argument
729 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_reg_access()
734 ret = ad9523_write(indio_dev, reg | AD9523_R1B, writeval); in ad9523_reg_access()
735 ad9523_io_update(indio_dev); in ad9523_reg_access()
737 ret = ad9523_read(indio_dev, reg | AD9523_R1B); in ad9523_reg_access()
757 static int ad9523_setup(struct iio_dev *indio_dev) in ad9523_setup() argument
759 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_setup()
765 ret = ad9523_write(indio_dev, AD9523_SERIAL_PORT_CONFIG, in ad9523_setup()
772 ret = ad9523_write(indio_dev, AD9523_READBACK_CTRL, in ad9523_setup()
777 ret = ad9523_io_update(indio_dev); in ad9523_setup()
784 ret = ad9523_write(indio_dev, AD9523_PLL1_REF_A_DIVIDER, in ad9523_setup()
789 ret = ad9523_write(indio_dev, AD9523_PLL1_REF_B_DIVIDER, in ad9523_setup()
794 ret = ad9523_write(indio_dev, AD9523_PLL1_FEEDBACK_DIVIDER, in ad9523_setup()
799 ret = ad9523_write(indio_dev, AD9523_PLL1_CHARGE_PUMP_CTRL, in ad9523_setup()
807 ret = ad9523_write(indio_dev, AD9523_PLL1_INPUT_RECEIVERS_CTRL, in ad9523_setup()
818 ret = ad9523_write(indio_dev, AD9523_PLL1_REF_CTRL, in ad9523_setup()
830 ret = ad9523_write(indio_dev, AD9523_PLL1_MISC_CTRL, in ad9523_setup()
836 ret = ad9523_write(indio_dev, AD9523_PLL1_LOOP_FILTER_CTRL, in ad9523_setup()
844 ret = ad9523_write(indio_dev, AD9523_PLL2_CHARGE_PUMP, in ad9523_setup()
850 ret = ad9523_write(indio_dev, AD9523_PLL2_FEEDBACK_DIVIDER_AB, in ad9523_setup()
856 ret = ad9523_write(indio_dev, AD9523_PLL2_CTRL, in ad9523_setup()
869 ret = ad9523_write(indio_dev, AD9523_PLL2_VCO_CTRL, in ad9523_setup()
874 ret = ad9523_write(indio_dev, AD9523_PLL2_VCO_DIVIDER, in ad9523_setup()
894 ret = ad9523_write(indio_dev, AD9523_PLL2_R2_DIVIDER, in ad9523_setup()
899 ret = ad9523_write(indio_dev, AD9523_PLL2_LOOP_FILTER_CTRL, in ad9523_setup()
912 ret = ad9523_write(indio_dev, in ad9523_setup()
928 ret = ad9523_vco_out_map(indio_dev, chan->channel_num, in ad9523_setup()
947 ret = ad9523_write(indio_dev, in ad9523_setup()
955 ret = ad9523_write(indio_dev, AD9523_POWER_DOWN_CTRL, 0); in ad9523_setup()
959 ret = ad9523_write(indio_dev, AD9523_STATUS_SIGNALS, in ad9523_setup()
964 ret = ad9523_io_update(indio_dev); in ad9523_setup()
974 struct iio_dev *indio_dev; in ad9523_probe() local
983 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad9523_probe()
984 if (indio_dev == NULL) in ad9523_probe()
987 st = iio_priv(indio_dev); in ad9523_probe()
1015 spi_set_drvdata(spi, indio_dev); in ad9523_probe()
1019 indio_dev->name = (pdata->name[0] != 0) ? pdata->name : in ad9523_probe()
1021 indio_dev->info = &ad9523_info; in ad9523_probe()
1022 indio_dev->modes = INDIO_DIRECT_MODE; in ad9523_probe()
1023 indio_dev->channels = st->ad9523_channels; in ad9523_probe()
1024 indio_dev->num_channels = pdata->num_channels; in ad9523_probe()
1026 ret = ad9523_setup(indio_dev); in ad9523_probe()
1030 return devm_iio_device_register(&spi->dev, indio_dev); in ad9523_probe()