mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
iio: adc: adi-axi-adc: add num lanes support
Add support for setting the number of lanes enabled. Reviewed-by: Nuno Sá <nuno.sa@analog.com> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> Link: https://patch.msgid.link/20250516082630.8236-8-antoniu.miclaus@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
d2ca659c3d
commit
569ddc4116
|
|
@ -44,6 +44,7 @@
|
|||
#define ADI_AXI_ADC_REG_CONFIG_CMOS_OR_LVDS_N BIT(7)
|
||||
|
||||
#define ADI_AXI_ADC_REG_CTRL 0x0044
|
||||
#define ADI_AXI_ADC_CTRL_NUM_LANES_MSK GENMASK(12, 8)
|
||||
#define ADI_AXI_ADC_CTRL_SYNC_MSK BIT(3)
|
||||
#define ADI_AXI_ADC_CTRL_DDR_EDGESEL_MASK BIT(1)
|
||||
|
||||
|
|
@ -438,6 +439,19 @@ static int axi_adc_ad408x_interface_data_align(struct iio_backend *back,
|
|||
1, timeout_us);
|
||||
}
|
||||
|
||||
static int axi_adc_num_lanes_set(struct iio_backend *back,
|
||||
unsigned int num_lanes)
|
||||
{
|
||||
struct adi_axi_adc_state *st = iio_backend_get_priv(back);
|
||||
|
||||
if (!num_lanes)
|
||||
return -EINVAL;
|
||||
|
||||
return regmap_update_bits(st->regmap, ADI_AXI_ADC_REG_CTRL,
|
||||
ADI_AXI_ADC_CTRL_NUM_LANES_MSK,
|
||||
FIELD_PREP(ADI_AXI_ADC_CTRL_NUM_LANES_MSK, num_lanes));
|
||||
}
|
||||
|
||||
static struct iio_buffer *axi_adc_request_buffer(struct iio_backend *back,
|
||||
struct iio_dev *indio_dev)
|
||||
{
|
||||
|
|
@ -628,6 +642,7 @@ static const struct iio_backend_ops adi_ad408x_ops = {
|
|||
.data_sample_trigger = axi_adc_data_sample_trigger,
|
||||
.filter_type_set = axi_adc_ad408x_filter_type_set,
|
||||
.interface_data_align = axi_adc_ad408x_interface_data_align,
|
||||
.num_lanes_set = axi_adc_num_lanes_set,
|
||||
.debugfs_reg_access = iio_backend_debugfs_ptr(axi_adc_reg_access),
|
||||
.debugfs_print_chan_status = iio_backend_debugfs_ptr(axi_adc_debugfs_print_chan_status),
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user