| /kernel/linux/linux-6.6/Documentation/driver-api/iio/ |
| D | hw-consumer.rst | 2 HW consumer 4 An IIO device can be directly connected to another device in hardware. In this 5 case the buffers between IIO provider and IIO consumer are handled by hardware. 6 The Industrial I/O HW consumer offers a way to bond these IIO devices without 8 :file:`drivers/iio/buffer/hw-consumer.c` 11 * struct iio_hw_consumer — Hardware consumer structure 12 * :c:func:`iio_hw_consumer_alloc` — Allocate IIO hardware consumer 13 * :c:func:`iio_hw_consumer_free` — Free IIO hardware consumer 14 * :c:func:`iio_hw_consumer_enable` — Enable IIO hardware consumer 15 * :c:func:`iio_hw_consumer_disable` — Disable IIO hardware consumer [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/iio/ |
| D | hw-consumer.rst | 2 HW consumer 4 An IIO device can be directly connected to another device in hardware. In this 5 case the buffers between IIO provider and IIO consumer are handled by hardware. 6 The Industrial I/O HW consumer offers a way to bond these IIO devices without 8 :file:`drivers/iio/buffer/hw-consumer.c` 11 * struct iio_hw_consumer — Hardware consumer structure 12 * :c:func:`iio_hw_consumer_alloc` — Allocate IIO hardware consumer 13 * :c:func:`iio_hw_consumer_free` — Free IIO hardware consumer 14 * :c:func:`iio_hw_consumer_enable` — Enable IIO hardware consumer 15 * :c:func:`iio_hw_consumer_disable` — Disable IIO hardware consumer [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/buffer/ |
| D | industrialio-hw-consumer.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Author: Lars-Peter Clausen <lars@metafoo.de> 12 #include <linux/iio/iio.h> 13 #include <linux/iio/consumer.h> 14 #include <linux/iio/hw-consumer.h> 15 #include <linux/iio/buffer_impl.h> 18 * struct iio_hw_consumer - IIO hw consumer block 20 * @channels: IIO provider channels. 57 list_for_each_entry(buf, &hwc->buffers, head) { in iio_hw_consumer_get_buffer() 58 if (buf->indio_dev == indio_dev) in iio_hw_consumer_get_buffer() [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 8 tristate "IIO callback buffer used for push in-kernel interfaces" 10 Should be selected by any drivers that do in-kernel push 11 usage. That is, those where the data is pushed to the consumer. 16 Provides the generic IIO DMA buffer infrastructure that can be used by 17 drivers for devices with DMA support to implement the IIO buffer. 26 Provides a bonding of the generic IIO DMA buffer infrastructure with the 36 Provides a way to bonding when an IIO device has a direct connection 40 Should be selected by drivers that want to use the generic Hw consumer
|
| /kernel/linux/linux-5.10/drivers/iio/buffer/ |
| D | industrialio-hw-consumer.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Author: Lars-Peter Clausen <lars@metafoo.de> 12 #include <linux/iio/iio.h> 13 #include <linux/iio/consumer.h> 14 #include <linux/iio/hw-consumer.h> 15 #include <linux/iio/buffer_impl.h> 18 * struct iio_hw_consumer - IIO hw consumer block 20 * @channels: IIO provider channels. 55 size_t mask_size = BITS_TO_LONGS(indio_dev->masklength) * sizeof(long); in iio_hw_consumer_get_buffer() 58 list_for_each_entry(buf, &hwc->buffers, head) { in iio_hw_consumer_get_buffer() [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 8 tristate "IIO callback buffer used for push in-kernel interfaces" 10 Should be selected by any drivers that do in-kernel push 11 usage. That is, those where the data is pushed to the consumer. 16 Provides the generic IIO DMA buffer infrastructure that can be used by 17 drivers for devices with DMA support to implement the IIO buffer. 26 Provides a bonding of the generic IIO DMA buffer infrastructure with the 36 Provides a way to bonding when an IIO device has a direct connection 40 Should be selected by drivers that want to use the generic Hw consumer
|
| /kernel/linux/linux-6.6/drivers/staging/iio/Documentation/ |
| D | inkernel.txt | 3 The IIO subsystem can act as a layer under other elements of the kernel 7 Describing the channel mapping (iio/machine.h) 17 adc_channel_label identifies the channel on the IIO device by being 20 consumer_dev_name allows identification of the consumer device. 21 This are then used to find the channel mapping from the consumer device (see 24 Finally consumer_channel is a string identifying the channel to the consumer. 27 An array of these structures is then passed to the IIO driver. 36 The result of this is that the IIO core now has all the information needed 37 to associate a given channel with the consumer requesting it. 39 Acting as an IIO consumer (consumer.h) [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/iio/Documentation/ |
| D | inkernel.txt | 3 The IIO subsystem can act as a layer under other elements of the kernel 7 Describing the channel mapping (iio/machine.h) 17 adc_channel_label identifies the channel on the IIO device by being 20 consumer_dev_name allows identification of the consumer device. 21 This are then used to find the channel mapping from the consumer device (see 24 Finally consumer_channel is a string identifying the channel to the consumer. 27 An array of these structures is then passed to the IIO driver. 36 The result of this is that the IIO core now has all the information needed 37 to associate a given channel with the consumer requesting it. 39 Acting as an IIO consumer (consumer.h) [all …]
|
| /kernel/linux/linux-6.6/include/linux/iio/ |
| D | consumer.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Industrial I/O in kernel consumer interface 11 #include <linux/iio/types.h> 19 * struct iio_channel - everything needed for a consumer to use a channel 22 * @data: Data about the channel used by consumer. 31 * iio_channel_get() - get description of all that is needed to access channel. 32 * @dev: Pointer to consumer device. Device name must match 34 * with which the desired provider to consumer mapping 36 * @consumer_channel: Unique name to identify the channel on the consumer 38 * the consumer. E.g. 'battery_voltage' [all …]
|
| D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 16 * iio_map_array_register() - tell the core about inkernel consumers 24 * iio_map_array_unregister() - tell the core to remove consumer mappings for 31 * devm_iio_map_array_register - device-managed version of iio_map_array_register 34 * @maps: Pointer to an IIO map object which is to be registered to this IIO device 36 * This function will call iio_map_array_register() to register an IIO map object 38 * handle de-registration of the IIO map object when the device's refcount goes to
|
| /kernel/linux/linux-5.10/include/linux/iio/ |
| D | consumer.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Industrial I/O in kernel consumer interface 11 #include <linux/iio/types.h> 18 * struct iio_channel - everything needed for a consumer to use a channel 21 * @data: Data about the channel used by consumer. 30 * iio_channel_get() - get description of all that is needed to access channel. 31 * @dev: Pointer to consumer device. Device name must match 33 * with which the desired provider to consumer mapping 35 * @consumer_channel: Unique name to identify the channel on the consumer 37 * the consumer. E.g. 'battery_voltage' [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/iio/ |
| D | iio-bindings.txt | 2 from Lars-Peter Clausen [1]. 4 Sources of IIO channels can be represented by any node in the device 5 tree. Those nodes are designated as IIO providers. IIO consumer 6 nodes use a phandle and IIO specifier pair to connect IIO provider 7 outputs to IIO inputs. Similar to the gpio specifiers, an IIO 8 specifier is an array of one or more cells identifying the IIO 9 output on a device. The length of an IIO specifier is defined by the 10 value of a #io-channel-cells property in the IIO provider node. 12 [1] https://marc.info/?l=linux-iio&m=135902119507483&w=2 14 ==IIO providers== [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/iio/adc/ |
| D | at91-sama5d2_adc.txt | 4 - compatible: Should be "atmel,sama5d2-adc" or "microchip,sam9x60-adc". 5 - reg: Should contain ADC registers location and length. 6 - interrupts: Should contain the IRQ line for the ADC. 7 - clocks: phandle to device clock. 8 - clock-names: Must be "adc_clk". 9 - vref-supply: Supply used as reference for conversions. 10 - vddana-supply: Supply for the adc device. 11 - atmel,min-sample-rate-hz: Minimum sampling rate, it depends on SoC. 12 - atmel,max-sample-rate-hz: Maximum sampling rate, it depends on SoC. 13 - atmel,startup-time-ms: Startup time expressed in ms, it depends on SoC. [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/ |
| D | industrialio-backend.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Framework to handle complex IIO aggregate devices. 6 * can be "linked" against one or multiple backend devices. All the IIO and 11 * ------------------------------------------------------- 12 * ------------------ | ------------ ------------ ------- FPGA| 13 * | ADC |------------------------| | ADC CORE |---------| DMA CORE |------| RAM | | 14 * | (Frontend/IIO) | Serial Data (eg: LVDS) | |(backend) |---------| |------| | | 15 * | |------------------------| ------------ ------------ ------- | 16 * ------------------ ------------------------------------------------------- 19 * - Backends should register themselves with devm_iio_backend_register() [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/light/ |
| D | cm3605.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/iio/iio.h> 14 #include <linux/iio/sysfs.h> 15 #include <linux/iio/events.h> 16 #include <linux/iio/consumer.h> /* To get our ADC channel */ 17 #include <linux/iio/types.h> /* To deal with our ADC channel */ 22 #include <linux/regulator/consumer.h> 23 #include <linux/gpio/consumer.h> 35 * struct cm3605 - CM3605 state 39 * @aout: IIO ADC channel to convert the AOUT signal [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/light/ |
| D | cm3605.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <linux/iio/iio.h> 15 #include <linux/iio/sysfs.h> 16 #include <linux/iio/events.h> 17 #include <linux/iio/consumer.h> /* To get our ADC channel */ 18 #include <linux/iio/types.h> /* To deal with our ADC channel */ 23 #include <linux/regulator/consumer.h> 24 #include <linux/gpio/consumer.h> 36 * struct cm3605 - CM3605 state 40 * @aout: IIO ADC channel to convert the AOUT signal [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/adc/ |
| D | ad7766.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 #include <linux/gpio/consumer.h> 14 #include <linux/regulator/consumer.h> 18 #include <linux/iio/iio.h> 19 #include <linux/iio/buffer.h> 20 #include <linux/iio/trigger.h> 21 #include <linux/iio/trigger_consumer.h> 22 #include <linux/iio/triggered_buffer.h> 70 struct iio_dev *indio_dev = pf->indio_dev; in ad7766_trigger_handler() 74 ret = spi_sync(ad7766->spi, &ad7766->msg); in ad7766_trigger_handler() [all …]
|
| D | rcar-gyroadc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Renesas R-Car GyroADC driver 17 #include <linux/regulator/consumer.h> 22 #include <linux/iio/iio.h> 23 #include <linux/iio/sysfs.h> 24 #include <linux/iio/trigger.h> 26 #define DRIVER_NAME "rcar-gyroadc" 77 const unsigned long clk_mhz = clk_get_rate(priv->clk) / 1000000; in rcar_gyroadc_hw_init() 79 (priv->mode == RCAR_GYROADC_MODE_SELECT_1_MB88101A) ? 10 : 5; in rcar_gyroadc_hw_init() 83 * According to the R-Car Gen2 datasheet Rev. 1.01, Sept 08 2014, in rcar_gyroadc_hw_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/adc/ |
| D | ad7766.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 #include <linux/gpio/consumer.h> 14 #include <linux/regulator/consumer.h> 18 #include <linux/iio/iio.h> 19 #include <linux/iio/buffer.h> 20 #include <linux/iio/trigger.h> 21 #include <linux/iio/trigger_consumer.h> 22 #include <linux/iio/triggered_buffer.h> 69 struct iio_dev *indio_dev = pf->indio_dev; in ad7766_trigger_handler() 73 ret = spi_sync(ad7766->spi, &ad7766->msg); in ad7766_trigger_handler() [all …]
|
| /kernel/linux/linux-6.6/drivers/power/supply/ |
| D | lego_ev3_battery.c | 18 #include <linux/gpio/consumer.h> 19 #include <linux/iio/consumer.h> 20 #include <linux/iio/types.h> 46 val->intval = batt->technology; in lego_ev3_battery_get_property() 49 /* battery voltage is iio channel * 2 + Vce of transistor */ in lego_ev3_battery_get_property() 50 ret = iio_read_channel_processed(batt->iio_v, &val->intval); in lego_ev3_battery_get_property() 54 val->intval *= 2000; in lego_ev3_battery_get_property() 55 val->intval += 50000; in lego_ev3_battery_get_property() 58 ret = iio_read_channel_processed(batt->iio_i, &val2); in lego_ev3_battery_get_property() 64 val->intval += val2; in lego_ev3_battery_get_property() [all …]
|
| D | generic-adc-battery.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Generic battery driver using IIO 10 #include <linux/gpio/consumer.h> 18 #include <linux/iio/consumer.h> 19 #include <linux/iio/types.h> 21 #include <linux/devm-helpers.h> 62 schedule_delayed_work(&adc_bat->bat_work, msecs_to_jiffies(0)); in gab_ext_power_changed() 71 * should correspond one-to-one with enum chan_type. 82 if (!adc_bat->charge_finished) in gab_charge_finished() 84 return gpiod_get_value(adc_bat->charge_finished); in gab_charge_finished() [all …]
|
| /kernel/linux/linux-5.10/drivers/power/supply/ |
| D | lego_ev3_battery.c | 18 #include <linux/gpio/consumer.h> 19 #include <linux/iio/consumer.h> 20 #include <linux/iio/types.h> 46 val->intval = batt->technology; in lego_ev3_battery_get_property() 49 /* battery voltage is iio channel * 2 + Vce of transistor */ in lego_ev3_battery_get_property() 50 ret = iio_read_channel_processed(batt->iio_v, &val->intval); in lego_ev3_battery_get_property() 54 val->intval *= 2000; in lego_ev3_battery_get_property() 55 val->intval += 50000; in lego_ev3_battery_get_property() 58 ret = iio_read_channel_processed(batt->iio_i, &val2); in lego_ev3_battery_get_property() 64 val->intval += val2; in lego_ev3_battery_get_property() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/iio/adc/ |
| D | ingenic,adc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 # Copyright 2019-2020 Artur Rojek 4 --- 5 $id: http://devicetree.org/schemas/iio/adc/ingenic,adc.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Ingenic JZ47xx ADC controller IIO 11 - Artur Rojek <contact@artur-rojek.eu> 18 https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml, 19 giving a phandle and IIO specifier pair ("io-channels") to the ADC controller. 24 - ingenic,jz4725b-adc [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/dac/ |
| D | dpot-dac.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * IIO DAC emulation driver using a digital potentiometer 15 * .------. 16 * .-----------. | | 17 * | vref |--' .---. 18 * | regulator |--. | | 19 * '-----------' | | d | 22 * | | t |<---------+ 24 * | '---' dac output voltage 26 * '------+------------+ [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/dac/ |
| D | dpot-dac.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * IIO DAC emulation driver using a digital potentiometer 15 * .------. 16 * .-----------. | | 17 * | vref |--' .---. 18 * | regulator |--. | | 19 * '-----------' | | d | 22 * | | t |<---------+ 24 * | '---' dac output voltage 26 * '------+------------+ [all …]
|