Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61e33120 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'iio-for-v4.2b' of...

Merge tag 'iio-for-v4.2b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second set of new driver, functionality and cleanups for IIO in the 4.2 cycle.

Core functionality
* i and q modifiers from quadrature channels.
* IIO_CHAN_INFO_OVERSAMPLING_RATIO added.
* High pass filter attributes added to mirror the existing low pass filter
  ones.

Core cleanups
* Make IIO tools building more cross compiler friendly.
* Substantial rework of the function __iio_update_buffers to greatly simplify
  a hideously evolved function.

New drivers and support
* ACPI0008 ambient light sensor driver. This one has been around a long time to
  will be good to finally get it into mainline.
* Berlin SOC ADC support.
* BMC150 magnetometer.  The accelerometer in the same package has been supported
  for quite some time, so good to have this half as well.
* m62332 DAC driver
* MEMSIC MMC35420 magnetometer.
* ROHM BH1710 and similar ambient light sensors.
* Sensortek STK3310 light sensor.
* Sensortek STK8312 accelerometer.
* Sensortek STK8BA50 accelerometer.
* ti-adc128s052 gains support form the adc122s021 2 channel ADC.

Driver cleanups and functionality.
* Allow various drivers to compile with !GPIOLIB if COMPILE_TEST enabled.
* bmc150 - decouple trigger from buffer to allow other triggers to be used.
* bmg160 - decouple trigger from buffer to allow other triggers to be used.
  Fix a trivial unused field.
* Constify a load of platform_device_id structures.
* inv_mpu6050 - device tree bindings.
* hid-sensors - fix a memory leak during probe if certain errors occur.
* ltr501 - illuminance channel derived (in an non obvious fashion) from the
  intensity channels.
* ltr501 - fix a boundary check on the proximity threshold.
* mlx90614 - drop a pointless return.
* mma8452 - Debugfs register access and fix a bug that had no effect (by
  coincidence)
* ti_am335x_adc - add device tree bindings for sample-delay, open-delay and
  averaging.  The ideal settings for these tend to be board design specific.
parents 936a0cd5 884ca456
Loading
Loading
Loading
Loading
+88 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ Description:

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_raw
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
Description:
@@ -81,6 +83,11 @@ Description:
		unique to allow association with event codes. Units after
		application of scale and offset are millivolts.

		Channels with 'i' and 'q' modifiers always exist in pairs and both
		channels refer to the same signal. The 'i' channel contains the in-phase
		component of the signal while the 'q' channel contains the quadrature
		component.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_raw
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
@@ -246,8 +253,16 @@ What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_z_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_q_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_i_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_current_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_i_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_q_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_current_q_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_current_i_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_tempY_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_temp_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_pressureY_offset
@@ -273,14 +288,22 @@ Description:
		to the _raw output.

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_i_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage_q_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_scale
What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_scale
What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_supply_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_current_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_i_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_currentY_q_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_current_i_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_current_q_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
@@ -328,6 +351,10 @@ Description:

What		/sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_voltageY_i_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_voltageY_q_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_voltage_i_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_voltage_q_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_voltage_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_accel_x_calibscale
What		/sys/bus/iio/devices/iio:deviceX/in_accel_y_calibscale
@@ -420,6 +447,16 @@ Description:
		to the underlying data channel, then this parameter
		gives the 3dB frequency of the filter in Hz.

What:		/sys/.../in_accel_filter_high_pass_3db_frequency
What:		/sys/.../in_anglvel_filter_high_pass_3db_frequency
What:		/sys/.../in_magn_filter_high_pass_3db_frequency
KernelVersion:	4.2
Contact:	linux-iio@vger.kernel.org
Description:
		If a known or controllable high pass filter is applied
		to the underlying data channel, then this parameter
		gives the 3dB frequency of the filter in Hz.

What:		/sys/bus/iio/devices/iio:deviceX/out_voltageY_raw
What:		/sys/bus/iio/devices/iio:deviceX/out_altvoltageY_raw
KernelVersion:	2.6.37
@@ -880,6 +917,26 @@ Description:
		met before an event is generated. If direction is not
		specified then this period applies to both directions.

What:		/sys/.../events/in_accel_thresh_rising_low_pass_filter_3db
What:		/sys/.../events/in_anglvel_thresh_rising_low_pass_filter_3db
What:		/sys/.../events/in_magn_thresh_rising_low_pass_filter_3db
KernelVersion:	4.2
Contact:	linux-iio@vger.kernel.org
Description:
		If a low pass filter can be applied to the event generation
		this property gives its 3db frequency in Hz.
		A value of zero disables the filter.

What:		/sys/.../events/in_accel_thresh_rising_high_pass_filter_3db
What:		/sys/.../events/in_anglvel_thresh_rising_high_pass_filter_3db
What:		/sys/.../events/in_magn_thresh_rising_high_pass_filter_3db
KernelVersion:	4.2
Contact:	linux-iio@vger.kernel.org
Description:
		If a high pass filter can be applied to the event generation
		this property gives its 3db frequency in Hz.
		A value of zero disables the filter.

What:		/sys/.../events/in_activity_still_thresh_rising_en
What:		/sys/.../events/in_activity_still_thresh_falling_en
What:		/sys/.../events/in_activity_walking_thresh_rising_en
@@ -1016,6 +1073,10 @@ What: /sys/.../iio:deviceX/scan_elements/in_timestamp_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_supply_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY-voltageZ_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_i_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_q_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_i_en
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_q_en
What:		/sys/.../iio:deviceX/scan_elements/in_incli_x_en
What:		/sys/.../iio:deviceX/scan_elements/in_incli_y_en
What:		/sys/.../iio:deviceX/scan_elements/in_pressureY_en
@@ -1034,6 +1095,10 @@ What: /sys/.../iio:deviceX/scan_elements/in_incli_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_supply_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_i_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_q_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_i_type
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_q_type
What:		/sys/.../iio:deviceX/scan_elements/in_timestamp_type
What:		/sys/.../iio:deviceX/scan_elements/in_pressureY_type
What:		/sys/.../iio:deviceX/scan_elements/in_pressure_type
@@ -1071,6 +1136,10 @@ Description:

What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_index
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_supply_index
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_i_index
What:		/sys/.../iio:deviceX/scan_elements/in_voltageY_q_index
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_i_index
What:		/sys/.../iio:deviceX/scan_elements/in_voltage_q_index
What:		/sys/.../iio:deviceX/scan_elements/in_accel_x_index
What:		/sys/.../iio:deviceX/scan_elements/in_accel_y_index
What:		/sys/.../iio:deviceX/scan_elements/in_accel_z_index
@@ -1230,6 +1299,8 @@ Description:
		or without compensation from tilt sensors.

What:		/sys/bus/iio/devices/iio:deviceX/in_currentX_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_currentX_i_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_currentX_q_raw
KernelVersion:	3.18
Contact:	linux-iio@vger.kernel.org
Description:
@@ -1238,6 +1309,11 @@ Description:
		present, output should be considered as processed with the
		unit in milliamps.

		Channels with 'i' and 'q' modifiers always exist in pairs and both
		channels refer to the same signal. The 'i' channel contains the in-phase
		component of the signal while the 'q' channel contains the quadrature
		component.

What:		/sys/.../iio:deviceX/in_energy_en
What:		/sys/.../iio:deviceX/in_distance_en
What:		/sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en
@@ -1375,3 +1451,15 @@ Description:
		The emissivity ratio of the surface in the field of view of the
		contactless temperature sensor.  Emissivity varies from 0 to 1,
		with 1 being the emissivity of a black body.

What:		/sys/bus/iio/devices/iio:deviceX/in_magn_x_oversampling_ratio
What:		/sys/bus/iio/devices/iio:deviceX/in_magn_y_oversampling_ratio
What:		/sys/bus/iio/devices/iio:deviceX/in_magn_z_oversampling_ratio
KernelVersion:	4.2
Contact:	linux-iio@vger.kernel.org
Description:
		Hardware applied number of measurements for acquiring one
		data point. The HW will do <type>[_name]_oversampling_ratio
		measurements and return the average value as output data. Each
		value resulted from <type>[_name]_oversampling_ratio measurements
		is considered as one sample for <type>[_name]_sampling_frequency.
+19 −0
Original line number Diff line number Diff line
* Berlin Analog to Digital Converter (ADC)

The Berlin ADC has 8 channels, with one connected to a temperature sensor.
It is part of the system controller register set. The ADC node should be a
sub-node of the system controller node.

Required properties:
- compatible: must be "marvell,berlin2-adc"
- interrupts: the interrupts for the ADC and the temperature sensor
- interrupt-names: should be "adc" and "tsen"

Example:

adc: adc {
	compatible = "marvell,berlin2-adc";
	interrupt-parent = <&sic>;
	interrupts = <12>, <14>;
	interrupt-names = "adc", "tsen";
};
+2 −2
Original line number Diff line number Diff line
* Texas Instruments' ADC128S052 ADC chip
* Texas Instruments' ADC128S052 and ADC122S021 ADC chip

Required properties:
 - compatible: Should be "ti,adc128s052"
 - compatible: Should be "ti,adc128s052" or "ti,adc122s021"
 - reg: spi chip select number for the device
 - vref-supply: The regulator supply for ADC reference voltage

+17 −0
Original line number Diff line number Diff line
InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device

http://www.invensense.com/mems/gyro/mpu6050.html

Required properties:
 - compatible : should be "invensense,mpu6050"
 - reg : the I2C address of the sensor
 - interrupt-parent : should be the phandle for the interrupt controller
 - interrupts : interrupt mapping for GPIO IRQ

Example:
	mpu6050@68 {
		compatible = "invensense,mpu6050";
		reg = <0x68>;
		interrupt-parent = <&gpio1>;
		interrupts = <18 1>;
	};
+22 −0
Original line number Diff line number Diff line
* Bosch BMC150 magnetometer sensor

http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS000-04.pdf

Required properties:

  - compatible : should be "bosch,bmc150_magn"
  - reg : the I2C address of the magnetometer

Optional properties:

  - interrupt-parent : phandle to the parent interrupt controller
  - interrupts : interrupt mapping for GPIO IRQ

Example:

bmc150_magn@12 {
        compatible = "bosch,bmc150_magn";
        reg = <0x12>;
        interrupt-parent = <&gpio1>;
        interrupts = <0 1>;
};
Loading