Lines Matching refs:indio_dev

299 static int ad9523_read(struct iio_dev *indio_dev, unsigned int addr)  in ad9523_read()  argument
301 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_read()
325 dev_err(&indio_dev->dev, "read failed (%d)", ret); in ad9523_read()
333 static int ad9523_write(struct iio_dev *indio_dev, in ad9523_write() argument
336 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_write()
356 dev_err(&indio_dev->dev, "write failed (%d)", ret); in ad9523_write()
361 static int ad9523_io_update(struct iio_dev *indio_dev) in ad9523_io_update() argument
363 return ad9523_write(indio_dev, AD9523_IO_UPDATE, AD9523_IO_UPDATE_EN); in ad9523_io_update()
366 static int ad9523_vco_out_map(struct iio_dev *indio_dev, in ad9523_vco_out_map() argument
369 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_vco_out_map()
375 ret = ad9523_read(indio_dev, AD9523_PLL1_OUTPUT_CHANNEL_CTRL); in ad9523_vco_out_map()
385 ret = ad9523_write(indio_dev, in ad9523_vco_out_map()
389 ret = ad9523_read(indio_dev, AD9523_PLL1_OUTPUT_CTRL); in ad9523_vco_out_map()
397 ret = ad9523_write(indio_dev, AD9523_PLL1_OUTPUT_CTRL, ret); in ad9523_vco_out_map()
400 ret = ad9523_read(indio_dev, AD9523_PLL1_OUTPUT_CHANNEL_CTRL); in ad9523_vco_out_map()
408 ret = ad9523_write(indio_dev, in ad9523_vco_out_map()
420 static int ad9523_set_clock_provider(struct iio_dev *indio_dev, in ad9523_set_clock_provider() argument
423 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_set_clock_provider()
443 return ad9523_vco_out_map(indio_dev, ch, use_alt_clk_src); in ad9523_set_clock_provider()
446 static int ad9523_store_eeprom(struct iio_dev *indio_dev) in ad9523_store_eeprom() argument
450 ret = ad9523_write(indio_dev, AD9523_EEPROM_CTRL1, in ad9523_store_eeprom()
454 ret = ad9523_write(indio_dev, AD9523_EEPROM_CTRL2, in ad9523_store_eeprom()
462 ret = ad9523_read(indio_dev, in ad9523_store_eeprom()
468 ret = ad9523_write(indio_dev, AD9523_EEPROM_CTRL1, 0); in ad9523_store_eeprom()
472 ret = ad9523_read(indio_dev, AD9523_EEPROM_ERROR_READBACK); in ad9523_store_eeprom()
477 dev_err(&indio_dev->dev, "Verify EEPROM failed"); in ad9523_store_eeprom()
484 static int ad9523_sync(struct iio_dev *indio_dev) in ad9523_sync() argument
488 ret = ad9523_read(indio_dev, AD9523_STATUS_SIGNALS); in ad9523_sync()
495 ret = ad9523_write(indio_dev, AD9523_STATUS_SIGNALS, tmp); in ad9523_sync()
499 ad9523_io_update(indio_dev); in ad9523_sync()
502 ret = ad9523_write(indio_dev, AD9523_STATUS_SIGNALS, tmp); in ad9523_sync()
506 return ad9523_io_update(indio_dev); in ad9523_sync()
513 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in ad9523_store() local
515 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_store()
529 ret = ad9523_sync(indio_dev); in ad9523_store()
532 ret = ad9523_store_eeprom(indio_dev); in ad9523_store()
546 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in ad9523_show() local
548 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_show()
552 ret = ad9523_read(indio_dev, AD9523_READBACK_0); in ad9523_show()
630 static int ad9523_read_raw(struct iio_dev *indio_dev, in ad9523_read_raw() argument
636 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_read_raw()
641 ret = ad9523_read(indio_dev, AD9523_CHANNEL_CLOCK_DIST(chan->channel)); in ad9523_read_raw()
666 static int ad9523_write_raw(struct iio_dev *indio_dev, in ad9523_write_raw() argument
672 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_write_raw()
677 ret = ad9523_read(indio_dev, AD9523_CHANNEL_CLOCK_DIST(chan->channel)); in ad9523_write_raw()
695 ret = ad9523_set_clock_provider(indio_dev, chan->channel, val); in ad9523_write_raw()
715 ret = ad9523_write(indio_dev, AD9523_CHANNEL_CLOCK_DIST(chan->channel), in ad9523_write_raw()
720 ad9523_io_update(indio_dev); in ad9523_write_raw()
726 static int ad9523_reg_access(struct iio_dev *indio_dev, in ad9523_reg_access() argument
730 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_reg_access()
735 ret = ad9523_write(indio_dev, reg | AD9523_R1B, writeval); in ad9523_reg_access()
736 ad9523_io_update(indio_dev); in ad9523_reg_access()
738 ret = ad9523_read(indio_dev, reg | AD9523_R1B); in ad9523_reg_access()
758 static int ad9523_setup(struct iio_dev *indio_dev) in ad9523_setup() argument
760 struct ad9523_state *st = iio_priv(indio_dev); in ad9523_setup()
766 ret = ad9523_write(indio_dev, AD9523_SERIAL_PORT_CONFIG, in ad9523_setup()
773 ret = ad9523_write(indio_dev, AD9523_READBACK_CTRL, in ad9523_setup()
778 ret = ad9523_io_update(indio_dev); in ad9523_setup()
785 ret = ad9523_write(indio_dev, AD9523_PLL1_REF_A_DIVIDER, in ad9523_setup()
790 ret = ad9523_write(indio_dev, AD9523_PLL1_REF_B_DIVIDER, in ad9523_setup()
795 ret = ad9523_write(indio_dev, AD9523_PLL1_FEEDBACK_DIVIDER, in ad9523_setup()
800 ret = ad9523_write(indio_dev, AD9523_PLL1_CHARGE_PUMP_CTRL, in ad9523_setup()
808 ret = ad9523_write(indio_dev, AD9523_PLL1_INPUT_RECEIVERS_CTRL, in ad9523_setup()
819 ret = ad9523_write(indio_dev, AD9523_PLL1_REF_CTRL, in ad9523_setup()
831 ret = ad9523_write(indio_dev, AD9523_PLL1_MISC_CTRL, in ad9523_setup()
837 ret = ad9523_write(indio_dev, AD9523_PLL1_LOOP_FILTER_CTRL, in ad9523_setup()
845 ret = ad9523_write(indio_dev, AD9523_PLL2_CHARGE_PUMP, in ad9523_setup()
851 ret = ad9523_write(indio_dev, AD9523_PLL2_FEEDBACK_DIVIDER_AB, in ad9523_setup()
857 ret = ad9523_write(indio_dev, AD9523_PLL2_CTRL, in ad9523_setup()
870 ret = ad9523_write(indio_dev, AD9523_PLL2_VCO_CTRL, in ad9523_setup()
875 ret = ad9523_write(indio_dev, AD9523_PLL2_VCO_DIVIDER, in ad9523_setup()
895 ret = ad9523_write(indio_dev, AD9523_PLL2_R2_DIVIDER, in ad9523_setup()
900 ret = ad9523_write(indio_dev, AD9523_PLL2_LOOP_FILTER_CTRL, in ad9523_setup()
913 ret = ad9523_write(indio_dev, in ad9523_setup()
929 ret = ad9523_vco_out_map(indio_dev, chan->channel_num, in ad9523_setup()
948 ret = ad9523_write(indio_dev, in ad9523_setup()
956 ret = ad9523_write(indio_dev, AD9523_POWER_DOWN_CTRL, 0); in ad9523_setup()
960 ret = ad9523_write(indio_dev, AD9523_STATUS_SIGNALS, in ad9523_setup()
965 ret = ad9523_io_update(indio_dev); in ad9523_setup()
982 struct iio_dev *indio_dev; in ad9523_probe() local
991 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad9523_probe()
992 if (indio_dev == NULL) in ad9523_probe()
995 st = iio_priv(indio_dev); in ad9523_probe()
1031 spi_set_drvdata(spi, indio_dev); in ad9523_probe()
1035 indio_dev->name = (pdata->name[0] != 0) ? pdata->name : in ad9523_probe()
1037 indio_dev->info = &ad9523_info; in ad9523_probe()
1038 indio_dev->modes = INDIO_DIRECT_MODE; in ad9523_probe()
1039 indio_dev->channels = st->ad9523_channels; in ad9523_probe()
1040 indio_dev->num_channels = pdata->num_channels; in ad9523_probe()
1042 ret = ad9523_setup(indio_dev); in ad9523_probe()
1046 return devm_iio_device_register(&spi->dev, indio_dev); in ad9523_probe()