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

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

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

Jonathan writes:

First set of new device support, cleanups and features for IIO in the 4.16 cycle

New device support
* IDT Z0PT2201 ambient light and UVB sensor
  - new driver and DT bindings.
* MAX30102 (pulse oximetery sensor)
  - support for MAX30105 sensor (smoke detector)  Just goes to show
    how two supposedly totally different applications can use very similar
    devices.
* UVIS25 UV sensor
  - new driver and DT bindings.

Major new features
* at91-sama5d2-adc
  - DMA support including bindings + a fix for an issue with acking the
    interrupt to prevent false overrun reports.
* ina2xx
  - allow control of shunt voltage PGA and bus voltage range to give better
    accuracy in some cases.
* stm32-adc
  - support differential channels (precursor patch reworked how channel names
    were created to enable this).

Cleanups / minor fixes / features
* core
  - mark a deliberate switch fallthrough.
  - macro to populate struct iio_map array elements.
* docs
  - typo fix.
* MAINTAINERS
  - add some missing entries for IIO ABI files.

* ad7152
  - tidy up unlocking paths.
* ad7746
  - tidy up unlocking paths.
* ak8975
  - add an ACPI id found on a prototype board.
* aspeed-adc
  - deassert reset in probe to ensure device is usable.
* bfin-trigger
  - platform_get_irq return value fixing.
* bmc150
  - OF device ID table for i2c (spi to be done).
* cros_ec
  - unused variable cleanup.
* da208
  - ACPI binding seen on Linx 820 tablet.
* ina2xx
  - shift down raw value to drop status flags from value (likely to have
    been hidden in the noise).
  - tidy up a special case that wasn't needed.
* inv_mpu6050
  - i2c_unregister_device knows about null values so don't check it twice.
* kxsd9
  - fix missing MODULE_LICENSE and MODULE_DESCRIPTION.
* max30102
  - missing new lines in dev_err.
  - inconsistent punctuation in error messages.
  - fix LED mode mask number of bits.
  - check return value of power mode functions to handle errors.
  - introduce an intensity channel macro to reduce duplication.
  - fix minor issue where device wasn't necessarily enabled during
    a get temperature.
  - use indicies for LED channels.
  - move the mode seetting to buffer_postenable - precursor to new device
    support.
  - prepare to allow copying of varying numbers of measurement.
* meson-saradc
  - drop irrelevant clock and update bindings.
* mma8452
  - a couple of renames for readability reasons.
* qcom_vadc
  - fix missing MODULE_LICENSE and MODULE_DESCRIPTION.
* st_accel
  - drop an unused variable.
* sx9500
  - add an ACPI id found on a prototype board.
parents dfe571ac 8d05ffd2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1290,7 +1290,7 @@ KernelVersion: 3.4
Contact:	linux-iio@vger.kernel.org
Description:
		Unit-less light intensity. Modifiers both and ir indicate
		that measurements contains visible and infrared light
		that measurements contain visible and infrared light
		components or just infrared light, respectively. Modifier uv indicates
		that measurements contain ultraviolet light components.

+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ Required properties:
			- "clkin" for the reference clock (typically XTAL)
			- "core" for the SAR ADC core clock
		optional clocks:
			- "sana" for the analog clock
			- "adc_clk" for the ADC (sampling) clock
			- "adc_sel" for the ADC (sampling) clock mux
- vref-supply:	the regulator supply for the ADC reference voltage
+3 −1
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ Required properties:
- reg: memory window mapping address and length
- clocks: Input clock used to derive the sample clock. Expected to be the
          SoC's APB clock.
- resets: Reset controller phandle
- #io-channel-cells: Must be set to <1> to indicate channels are selected
                     by index.

@@ -15,6 +16,7 @@ Example:
	adc@1e6e9000 {
		compatible = "aspeed,ast2400-adc";
		reg = <0x1e6e9000 0xb0>;
		clocks = <&clk_apb>;
		clocks = <&syscon ASPEED_CLK_APB>;
		resets = <&syscon ASPEED_RESET_ADC>;
		#io-channel-cells = <1>;
	};
+7 −0
Original line number Diff line number Diff line
@@ -17,6 +17,11 @@ Required properties:
  This property uses the IRQ edge types values: IRQ_TYPE_EDGE_RISING ,
  IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH

Optional properties:
  - dmas: Phandle to dma channel for the ADC.
  - dma-names: Must be "rx" when dmas property is being used.
  See ../../dma/dma.txt for details.

Example:

adc: adc@fc030000 {
@@ -31,4 +36,6 @@ adc: adc@fc030000 {
	vddana-supply = <&vdd_3v3_lp_reg>;
	vref-supply = <&vdd_3v3_lp_reg>;
	atmel,trigger-edge-type = <IRQ_TYPE_EDGE_BOTH>;
	dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
	dma-names = "rx";
}
+24 −0
Original line number Diff line number Diff line
@@ -62,6 +62,15 @@ Required properties:
- st,adc-channels: List of single-ended channels muxed for this ADC.
  It can have up to 16 channels on stm32f4 or 20 channels on stm32h7, numbered
  from 0 to 15 or 19 (resp. for in0..in15 or in0..in19).
- st,adc-diff-channels: List of differential channels muxed for this ADC.
  Depending on part used, some channels can be configured as differential
  instead of single-ended (e.g. stm32h7). List here positive and negative
  inputs pairs as <vinp vinn>, <vinp vinn>,... vinp and vinn are numbered
  from 0 to 19 on stm32h7)
  Note: At least one of "st,adc-channels" or "st,adc-diff-channels" is required.
  Both properties can be used together. Some channels can be used as
  single-ended and some other ones as differential (mixed). But channels
  can't be configured both as single-ended and differential (invalid).
- #io-channel-cells = <1>: See the IIO bindings section "IIO consumers" in
  Documentation/devicetree/bindings/iio/iio-bindings.txt

@@ -111,3 +120,18 @@ Example:
		...
		other adc child nodes follow...
	};

Example to setup:
- channel 1 as single-ended
- channels 2 & 3 as differential (with resp. 6 & 7 negative inputs)

	adc: adc@40022000 {
		compatible = "st,stm32h7-adc-core";
		...
		adc1: adc@0 {
			compatible = "st,stm32h7-adc";
			...
			st,adc-channels = <1>;
			st,adc-diff-channels = <2 6>, <3 7>;
		};
	};
Loading