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

Merge tag 'iio-for-3.19a' of...

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

Jonathan writes:

First round of new drivers, features and cleanups for IIO in the 3.19 cycle.

New drivers / supported parts
* rockchip - rk3066-tsadc variant
* si7020 humidity and temperature sensor
* mcp320x - add mcp3001, mcp3002, mcp3004, mcp3008, mcp3201, mcp3202
* bmp280 pressure and temperature sensor
* Qualcomm SPMI PMIC current ADC driver
* Exynos_adc - support exynos7

New features
* vf610-adc - add temperature sensor support
* Documentation of current attributes, scaled pressure, offset and
  scaled humidity, RGBC intensity gain factor and scale applied to
  differential voltage channels.
* Bring iio_event_monitor up to date with newer modifiers.
* Add of_xlate function to allow for complex channel mappings from the
  device tree.
* Add -g parameter to generic_buffer example to allow for devices with
  directly fed (no trigger) buffers.
* Move exynos driver over to syscon for PMU register access.

Cleanups, fixes for new drivers
* lis3l02dq drop an unneeded else.
* st sensors - renam st_sensors to st_sensor_settings (for clarity)
* st sensors - drop an unused parameter from all the probe utility
  functions.
* vf610 better error handling and tidy up.
* si7020 - cleanups following merge
* as3935 - drop some unnecessary semicolons.
* bmp280 - fix the pressure calculation.
parents 7be921a2 4e4cd14e
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -200,6 +200,13 @@ Description:
		Raw pressure measurement from channel Y. Units after
		application of scale and offset are kilopascal.

What:		/sys/bus/iio/devices/iio:deviceX/in_pressureY_input
What:		/sys/bus/iio/devices/iio:deviceX/in_pressure_input
KernelVersion:	3.8
Contact:	linux-iio@vger.kernel.org
Description:
		Scaled pressure measurement from channel Y, in kilopascal.

What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_raw
KernelVersion:	3.14
Contact:	linux-iio@vger.kernel.org
@@ -231,6 +238,7 @@ 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
What:		/sys/bus/iio/devices/iio:deviceX/in_pressure_offset
What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_offset
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
Description:
@@ -251,6 +259,7 @@ Description:
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_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-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_accel_scale
@@ -266,6 +275,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_magnetic_tilt_comp_sca
What:		/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_pressure_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
Description:
@@ -328,6 +338,10 @@ Description:
		are listed in this attribute.

What		/sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain
What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_red_hardwaregain
What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_green_hardwaregain
What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_blue_hardwaregain
What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_clear_hardwaregain
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
Description:
@@ -1028,3 +1042,12 @@ Contact: linux-iio@vger.kernel.org
Description:
		Raw value of rotation from true/magnetic north measured with
		or without compensation from tilt sensors.

What:		/sys/bus/iio/devices/iio:deviceX/in_currentX_raw
KernelVersion:	3.18
Contact:	linux-iio@vger.kernel.org
Description:
		Raw current measurement from channel X. Units are in milliamps
		after application of scale and offset. If no offset or scale is
		present, output should be considered as processed with the
		unit in milliamps.
+9 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ Required properties:
				future controllers.
			Must be "samsung,exynos3250-adc" for
				controllers compatible with ADC of Exynos3250.
			Must be "samsung,exynos7-adc" for
				the ADC in Exynos7 and compatibles
			Must be "samsung,s3c2410-adc" for
				the ADC in s3c2410 and compatibles
			Must be "samsung,s3c2416-adc" for
@@ -43,13 +45,16 @@ Required properties:
				   compatible ADC block)
- vdd-supply		VDD input supply.

- samsung,syscon-phandle Contains the PMU system controller node
			(To access the ADC_PHY register on Exynos5250/5420/5800/3250)

Note: child nodes can be added for auto probing from device tree.

Example: adding device info in dtsi file

adc: adc@12D10000 {
	compatible = "samsung,exynos-adc-v1";
	reg = <0x12D10000 0x100>, <0x10040718 0x4>;
	reg = <0x12D10000 0x100>;
	interrupts = <0 106 0>;
	#io-channel-cells = <1>;
	io-channel-ranges;
@@ -58,13 +63,14 @@ adc: adc@12D10000 {
	clock-names = "adc";

	vdd-supply = <&buck5_reg>;
	samsung,syscon-phandle = <&pmu_system_controller>;
};

Example: adding device info in dtsi file for Exynos3250 with additional sclk

adc: adc@126C0000 {
	compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
	reg = <0x126C0000 0x100>, <0x10020718 0x4>;
	reg = <0x126C0000 0x100>;
	interrupts = <0 137 0>;
	#io-channel-cells = <1>;
	io-channel-ranges;
@@ -73,6 +79,7 @@ adc: adc@126C0000 {
	clock-names = "adc", "sclk";

	vdd-supply = <&buck5_reg>;
	samsung,syscon-phandle = <&pmu_system_controller>;
};

Example: Adding child nodes in dts file
+46 −0
Original line number Diff line number Diff line
Qualcomm's SPMI PMIC current ADC

QPNP PMIC current ADC (IADC) provides interface to clients to read current.
A 16 bit ADC is used for current measurements. IADC can measure the current
through an external resistor (channel 1) or internal (built-in) resistor
(channel 0). When using an external resistor it is to be described by
qcom,external-resistor-micro-ohms property.

IADC node:

- compatible:
    Usage: required
    Value type: <string>
    Definition: Should contain "qcom,spmi-iadc".

- reg:
    Usage: required
    Value type: <prop-encoded-array>
    Definition: IADC base address and length in the SPMI PMIC register map

- interrupts:
    Usage: optional
    Value type: <prop-encoded-array>
    Definition: End of ADC conversion.

- qcom,external-resistor-micro-ohms:
    Usage: optional
    Value type: <u32>
    Definition: Sense resister value in micro Ohm.
                If not defined value of 10000 micro Ohms will be used.

Example:
	/* IADC node */
	pmic_iadc: iadc@3600 {
		compatible = "qcom,spmi-iadc";
		reg = <0x3600 0x100>;
		interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
		qcom,external-resistor-micro-ohms = <10000>;
		#io-channel-cells  = <1>;
	};

	/* IIO client node */
	bat {
		io-channels = <&pmic_iadc  0>;
		io-channel-names = "iadc";
	};
+1 −1
Original line number Diff line number Diff line
Rockchip Successive Approximation Register (SAR) A/D Converter bindings

Required properties:
- compatible: Should be "rockchip,saradc"
- compatible: Should be "rockchip,saradc" or "rockchip,rk3066-tsadc"
- reg: physical base address of the controller and length of memory mapped
       region.
- interrupts: The interrupt number to the cpu. The interrupt specifier format
+2 −1
Original line number Diff line number Diff line
@@ -311,12 +311,13 @@
		adc: adc@126C0000 {
			compatible = "samsung,exynos3250-adc",
				     "samsung,exynos-adc-v2";
			reg = <0x126C0000 0x100>, <0x10020718 0x4>;
			reg = <0x126C0000 0x100>;
			interrupts = <0 137 0>;
			clock-names = "adc", "sclk";
			clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
			#io-channel-cells = <1>;
			io-channel-ranges;
			samsung,syscon-phandle = <&pmu_system_controller>;
			status = "disabled";
		};

Loading