1caf0fb3bSMauro Carvalho ChehabWhat: /sys/bus/iio/devices/iio:deviceX/buffer/length 2caf0fb3bSMauro Carvalho ChehabKernelVersion: 2.6.35 3caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 4caf0fb3bSMauro Carvalho ChehabDescription: 5caf0fb3bSMauro Carvalho Chehab Number of scans contained by the buffer. 6caf0fb3bSMauro Carvalho Chehab 7caf0fb3bSMauro Carvalho Chehab Since Kernel 5.11, multiple buffers are supported. 8caf0fb3bSMauro Carvalho Chehab so, it is better to use, instead: 9*3a0d390bSMauro Carvalho Chehab 10caf0fb3bSMauro Carvalho Chehab /sys/bus/iio/devices/iio:deviceX/bufferY/length 11caf0fb3bSMauro Carvalho Chehab 12caf0fb3bSMauro Carvalho ChehabWhat: /sys/bus/iio/devices/iio:deviceX/buffer/enable 13caf0fb3bSMauro Carvalho ChehabKernelVersion: 2.6.35 14caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 15caf0fb3bSMauro Carvalho ChehabDescription: 16caf0fb3bSMauro Carvalho Chehab Actually start the buffer capture up. Will start trigger 17caf0fb3bSMauro Carvalho Chehab if first device and appropriate. 18caf0fb3bSMauro Carvalho Chehab 19caf0fb3bSMauro Carvalho Chehab Since Kernel 5.11, multiple buffers are supported. 20caf0fb3bSMauro Carvalho Chehab so, it is better to use, instead: 21*3a0d390bSMauro Carvalho Chehab 22caf0fb3bSMauro Carvalho Chehab /sys/bus/iio/devices/iio:deviceX/bufferY/enable 23caf0fb3bSMauro Carvalho Chehab 24caf0fb3bSMauro Carvalho ChehabWhat: /sys/bus/iio/devices/iio:deviceX/scan_elements 25caf0fb3bSMauro Carvalho ChehabKernelVersion: 2.6.37 26caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 27caf0fb3bSMauro Carvalho ChehabDescription: 28caf0fb3bSMauro Carvalho Chehab Directory containing interfaces for elements that will be 29caf0fb3bSMauro Carvalho Chehab captured for a single triggered sample set in the buffer. 30caf0fb3bSMauro Carvalho Chehab 31caf0fb3bSMauro Carvalho Chehab Since kernel 5.11 the scan_elements attributes are merged into 32caf0fb3bSMauro Carvalho Chehab the bufferY directory, to be configurable per buffer. 33caf0fb3bSMauro Carvalho Chehab 34caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_x_en 35caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_y_en 36caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_z_en 37caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_x_en 38caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_y_en 39caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_z_en 40caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_x_en 41caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_y_en 42caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_z_en 43caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_en 44caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_en 45caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_tilt_comp_en 46caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_tilt_comp_en 47caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_timestamp_en 48caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_supply_en 49caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_en 50caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY-voltageZ_en 51caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_i_en 52caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_q_en 53caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_i_en 54caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_q_en 55caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_incli_x_en 56caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_incli_y_en 57caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_pressureY_en 58caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_pressure_en 59caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_quaternion_en 60caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_proximity_en 61caf0fb3bSMauro Carvalho ChehabKernelVersion: 2.6.37 62caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 63caf0fb3bSMauro Carvalho ChehabDescription: 64caf0fb3bSMauro Carvalho Chehab Scan element control for triggered data capture. 65caf0fb3bSMauro Carvalho Chehab 66caf0fb3bSMauro Carvalho Chehab Since kernel 5.11 the scan_elements attributes are merged into 67caf0fb3bSMauro Carvalho Chehab the bufferY directory, to be configurable per buffer. 68caf0fb3bSMauro Carvalho Chehab 69caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_type 70caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_type 71caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_type 72caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_incli_type 73caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_type 74caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_type 75caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_supply_type 76caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_i_type 77caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_q_type 78caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_i_type 79caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_q_type 80caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_timestamp_type 81caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_pressureY_type 82caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_pressure_type 83caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_quaternion_type 84caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_proximity_type 85caf0fb3bSMauro Carvalho ChehabKernelVersion: 2.6.37 86caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 87caf0fb3bSMauro Carvalho ChehabDescription: 88caf0fb3bSMauro Carvalho Chehab Description of the scan element data storage within the buffer 89caf0fb3bSMauro Carvalho Chehab and hence the form in which it is read from user-space. 90caf0fb3bSMauro Carvalho Chehab Form is [be|le]:[s|u]bits/storagebits[>>shift]. 91caf0fb3bSMauro Carvalho Chehab be or le specifies big or little endian. s or u specifies if 92caf0fb3bSMauro Carvalho Chehab signed (2's complement) or unsigned. bits is the number of bits 93caf0fb3bSMauro Carvalho Chehab of data and storagebits is the space (after padding) that it 94caf0fb3bSMauro Carvalho Chehab occupies in the buffer. shift if specified, is the shift that 95caf0fb3bSMauro Carvalho Chehab needs to be applied prior to masking out unused bits. Some 96caf0fb3bSMauro Carvalho Chehab devices put their data in the middle of the transferred elements 97caf0fb3bSMauro Carvalho Chehab with additional information on both sides. Note that some 98caf0fb3bSMauro Carvalho Chehab devices will have additional information in the unused bits 99caf0fb3bSMauro Carvalho Chehab so to get a clean value, the bits value must be used to mask 100caf0fb3bSMauro Carvalho Chehab the buffer output value appropriately. The storagebits value 101caf0fb3bSMauro Carvalho Chehab also specifies the data alignment. So s48/64>>2 will be a 102caf0fb3bSMauro Carvalho Chehab signed 48 bit integer stored in a 64 bit location aligned to 103caf0fb3bSMauro Carvalho Chehab a 64 bit boundary. To obtain the clean value, shift right 2 104caf0fb3bSMauro Carvalho Chehab and apply a mask to zero the top 16 bits of the result. 105caf0fb3bSMauro Carvalho Chehab For other storage combinations this attribute will be extended 106caf0fb3bSMauro Carvalho Chehab appropriately. 107caf0fb3bSMauro Carvalho Chehab 108caf0fb3bSMauro Carvalho Chehab Since kernel 5.11 the scan_elements attributes are merged into 109caf0fb3bSMauro Carvalho Chehab the bufferY directory, to be configurable per buffer. 110caf0fb3bSMauro Carvalho Chehab 111caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_index 112caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_supply_index 113caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_i_index 114caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltageY_q_index 115caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_i_index 116caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_voltage_q_index 117caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_x_index 118caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_y_index 119caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_accel_z_index 120caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_x_index 121caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_y_index 122caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_anglvel_z_index 123caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_x_index 124caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_y_index 125caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_magn_z_index 126caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_index 127caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_index 128caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_tilt_comp_index 129caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_tilt_comp_index 130caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_incli_x_index 131caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_incli_y_index 132caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_timestamp_index 133caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_pressureY_index 134caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_pressure_index 135caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_rot_quaternion_index 136caf0fb3bSMauro Carvalho ChehabWhat: /sys/.../iio:deviceX/scan_elements/in_proximity_index 137caf0fb3bSMauro Carvalho ChehabKernelVersion: 2.6.37 138caf0fb3bSMauro Carvalho ChehabDescription: 139caf0fb3bSMauro Carvalho Chehab A single positive integer specifying the position of this 140caf0fb3bSMauro Carvalho Chehab scan element in the buffer. Note these are not dependent on 141caf0fb3bSMauro Carvalho Chehab what is enabled and may not be contiguous. Thus for user-space 142caf0fb3bSMauro Carvalho Chehab to establish the full layout these must be used in conjunction 143caf0fb3bSMauro Carvalho Chehab with all _en attributes to establish which channels are present, 144caf0fb3bSMauro Carvalho Chehab and the relevant _type attributes to establish the data storage 145caf0fb3bSMauro Carvalho Chehab format. 146caf0fb3bSMauro Carvalho Chehab 147caf0fb3bSMauro Carvalho Chehab Since kernel 5.11 the scan_elements attributes are merged into 148caf0fb3bSMauro Carvalho Chehab the bufferY directory, to be configurable per buffer. 149caf0fb3bSMauro Carvalho Chehab 150caf0fb3bSMauro Carvalho ChehabWhat: /sys/bus/iio/devices/iio:deviceX/buffer/watermark 151caf0fb3bSMauro Carvalho ChehabKernelVersion: 4.2 152caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 153caf0fb3bSMauro Carvalho ChehabDescription: 154caf0fb3bSMauro Carvalho Chehab A single positive integer specifying the maximum number of scan 155caf0fb3bSMauro Carvalho Chehab elements to wait for. 156caf0fb3bSMauro Carvalho Chehab 157caf0fb3bSMauro Carvalho Chehab Poll will block until the watermark is reached. 158caf0fb3bSMauro Carvalho Chehab 159caf0fb3bSMauro Carvalho Chehab Blocking read will wait until the minimum between the requested 160caf0fb3bSMauro Carvalho Chehab read amount or the low water mark is available. 161caf0fb3bSMauro Carvalho Chehab 162caf0fb3bSMauro Carvalho Chehab Non-blocking read will retrieve the available samples from the 163caf0fb3bSMauro Carvalho Chehab buffer even if there are less samples then watermark level. This 164caf0fb3bSMauro Carvalho Chehab allows the application to block on poll with a timeout and read 165caf0fb3bSMauro Carvalho Chehab the available samples after the timeout expires and thus have a 166caf0fb3bSMauro Carvalho Chehab maximum delay guarantee. 167caf0fb3bSMauro Carvalho Chehab 168caf0fb3bSMauro Carvalho Chehab Since Kernel 5.11, multiple buffers are supported. 169caf0fb3bSMauro Carvalho Chehab so, it is better to use, instead: 170*3a0d390bSMauro Carvalho Chehab 171caf0fb3bSMauro Carvalho Chehab /sys/bus/iio/devices/iio:deviceX/bufferY/watermark 172caf0fb3bSMauro Carvalho Chehab 173caf0fb3bSMauro Carvalho ChehabWhat: /sys/bus/iio/devices/iio:deviceX/buffer/data_available 174caf0fb3bSMauro Carvalho ChehabKernelVersion: 4.16 175caf0fb3bSMauro Carvalho ChehabContact: linux-iio@vger.kernel.org 176caf0fb3bSMauro Carvalho ChehabDescription: 177caf0fb3bSMauro Carvalho Chehab A read-only value indicating the bytes of data available in the 178caf0fb3bSMauro Carvalho Chehab buffer. In the case of an output buffer, this indicates the 179caf0fb3bSMauro Carvalho Chehab amount of empty space available to write data to. In the case of 180caf0fb3bSMauro Carvalho Chehab an input buffer, this indicates the amount of data available for 181caf0fb3bSMauro Carvalho Chehab reading. 182caf0fb3bSMauro Carvalho Chehab 183caf0fb3bSMauro Carvalho Chehab Since Kernel 5.11, multiple buffers are supported. 184caf0fb3bSMauro Carvalho Chehab so, it is better to use, instead: 185*3a0d390bSMauro Carvalho Chehab 186caf0fb3bSMauro Carvalho Chehab /sys/bus/iio/devices/iio:deviceX/bufferY/data_available 187