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

Commit fdc719b6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull staging driver tree update from Greg Kroah-Hartman:
 "Here's the big staging driver tree update for 3.10-rc1

  This update contains loads of comedi driver cleanups and fixes in
  here, iio updates, android driver changes, and other various staging
  driver cleanups.

  Thanks to some drivers being removed, and the comedi driver cleanups,
  we have removed more code than we added:

   627 files changed, 65145 insertions(+), 76321 deletions(-)

  which is always nice to see.

  All of these have been in linux-next for a while."

* tag 'staging-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (940 commits)
  staging: comedi: ni_labpc: fix legacy driver build
  staging: comedi: das800: cleanup the cio-das802/16 fifo comments
  staging: comedi: das800: rename CamelCase vars in das800_ai_do_cmd()
  staging: comedi: das800: tidy up the private data
  staging: comedi: das800: tidy up das800_interrupt()
  staging: comedi: das800: tidy up das800_ai_insn_read()
  staging: comedi: das800: tidy up das800_di_insn_bits()
  staging: comedi: das800: tidy up das800_do_insn_bits()
  staging: comedi: das800: remove extra divisor calculation call
  staging: comedi: das800: rename {enable,disable}_das800
  staging: comedi: das800: tidy up subdevice init
  staging: comedi: das800: allow attaching without interrupt support
  staging: comedi: das800: interrupts are required for async command support
  staging: comedi: das800: tidy up das800_ai_do_cmdtest()
  staging: comedi: das800: remove 'volatile' on private data variables
  staging: comedi: das800: cleanup the boardinfo
  staging: comedi: das800: cleanup range table declarations
  staging: comedi: das800: introduce das800_ind_{write, read}()
  staging: comedi: das800: remove forward declarations
  staging: comedi: das800: move das800_set_frequency()
  ...
parents 2794b5d4 a0eeed40
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -14,9 +14,19 @@ Required properties:
  - atmel,adc-status-register: Offset of the Interrupt Status Register
  - atmel,adc-trigger-register: Offset of the Trigger Register
  - atmel,adc-vref: Reference voltage in millivolts for the conversions
  - atmel,adc-res: List of resolution in bits supported by the ADC. List size
		   must be two at least.
  - atmel,adc-res-names: Contains one identifier string for each resolution
			 in atmel,adc-res property. "lowres" and "highres"
			 identifiers are required.

Optional properties:
  - atmel,adc-use-external: Boolean to enable of external triggers
  - atmel,adc-use-res: String corresponding to an identifier from
		       atmel,adc-res-names property. If not specified, the highest
		       resolution will be used.
  - atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion
  - atmel,adc-sample-hold-time: Sample and Hold Time in microseconds
 
Optional trigger Nodes:
  - Required properties:
@@ -40,6 +50,9 @@ adc0: adc@fffb0000 {
	atmel,adc-trigger-register = <0x08>;
	atmel,adc-use-external;
	atmel,adc-vref = <3300>;
	atmel,adc-res = <8 10>;
	atmel,adc-res-names = "lowres", "highres";
	atmel,adc-use-res = "lowres";

	trigger@0 {
		trigger-name = "external-rising";
+60 −0
Original line number Diff line number Diff line
Samsung Exynos Analog to Digital Converter bindings

The devicetree bindings are for the new ADC driver written for
Exynos4 and upward SoCs from Samsung.

New driver handles the following
1. Supports ADC IF found on EXYNOS4412/EXYNOS5250
   and future SoCs from Samsung
2. Add ADC driver under iio/adc framework
3. Also adds the Documentation for device tree bindings

Required properties:
- compatible:		Must be "samsung,exynos-adc-v1"
				for exynos4412/5250 controllers.
			Must be "samsung,exynos-adc-v2" for
				future controllers.
- reg:			Contains ADC register address range (base address and
			length) and the address of the phy enable register.
- interrupts: 		Contains the interrupt information for the timer. The
			format is being dependent on which interrupt controller
			the Samsung device uses.
- #io-channel-cells = <1>; As ADC has multiple outputs
- clocks		From common clock binding: handle to adc clock.
- clock-names		From common clock binding: Shall be "adc".
- vdd-supply		VDD input supply.

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>;
	interrupts = <0 106 0>;
	#io-channel-cells = <1>;
	io-channel-ranges;

	clocks = <&clock 303>;
	clock-names = "adc";

	vdd-supply = <&buck5_reg>;
};


Example: Adding child nodes in dts file

adc@12D10000 {

	/* NTC thermistor is a hwmon device */
	ncp15wb473@0 {
		compatible = "ntc,ncp15wb473";
		pullup-uV = <1800000>;
		pullup-ohm = <47000>;
		pulldown-ohm = <0>;
		io-channels = <&adc 4>;
	};
};

Note: Does not apply to ADC driver under arch/arm/plat-samsung/
Note: The child node can be added under the adc node or separately.
+97 −0
Original line number Diff line number Diff line
This binding is derived from clock bindings, and based on suggestions
from Lars-Peter Clausen [1].

Sources of IIO channels can be represented by any node in the device
tree. Those nodes are designated as IIO providers. IIO consumer
nodes use a phandle and IIO specifier pair to connect IIO provider
outputs to IIO inputs. Similar to the gpio specifiers, an IIO
specifier is an array of one or more cells identifying the IIO
output on a device. The length of an IIO specifier is defined by the
value of a #io-channel-cells property in the IIO provider node.

[1] http://marc.info/?l=linux-iio&m=135902119507483&w=2

==IIO providers==

Required properties:
#io-channel-cells: Number of cells in an IIO specifier; Typically 0 for nodes
		   with a single IIO output and 1 for nodes with multiple
		   IIO outputs.

Example for a simple configuration with no trigger:

	adc: voltage-sensor@35 {
		compatible = "maxim,max1139";
		reg = <0x35>;
		#io-channel-cells = <1>;
	};

Example for a configuration with trigger:

	adc@35 {
		compatible = "some-vendor,some-adc";
		reg = <0x35>;

		adc1: iio-device@0 {
			#io-channel-cells = <1>;
			/* other properties */
		};
		adc2: iio-device@1 {
			#io-channel-cells = <1>;
			/* other properties */
		};
	};

==IIO consumers==

Required properties:
io-channels:	List of phandle and IIO specifier pairs, one pair
		for each IIO input to the device. Note: if the
		IIO provider specifies '0' for #io-channel-cells,
		then only the phandle portion of the pair will appear.

Optional properties:
io-channel-names:
		List of IIO input name strings sorted in the same
		order as the io-channels property. Consumers drivers
		will use io-channel-names to match IIO input names
		with IIO specifiers.
io-channel-ranges:
		Empty property indicating that child nodes can inherit named
		IIO channels from this node. Useful for bus nodes to provide
		and IIO channel to their children.

For example:

	device {
		io-channels = <&adc 1>, <&ref 0>;
		io-channel-names = "vcc", "vdd";
	};

This represents a device with two IIO inputs, named "vcc" and "vdd".
The vcc channel is connected to output 1 of the &adc device, and the
vdd channel is connected to output 0 of the &ref device.

==Example==

	adc: max1139@35 {
		compatible = "maxim,max1139";
		reg = <0x35>;
		#io-channel-cells = <1>;
	};

	...

	iio_hwmon {
		compatible = "iio-hwmon";
		io-channels = <&adc 0>, <&adc 1>, <&adc 2>,
			<&adc 3>, <&adc 4>, <&adc 5>,
			<&adc 6>, <&adc 7>, <&adc 8>,
			<&adc 9>;
	};

	some_consumer {
		compatible = "some-consumer";
		io-channels = <&adc 10>, <&adc 11>;
		io-channel-names = "adc1", "adc2";
	};
+15 −0
Original line number Diff line number Diff line
Platform DesignWare HS OTG USB 2.0 controller
-----------------------------------------------------

Required properties:
- compatible : "snps,dwc2"
- reg : Should contain 1 register range (address and length)
- interrupts : Should contain 1 interrupt

Example:

        usb@101c0000 {
                compatible = "ralink,rt3050-usb, snps,dwc2";
                reg = <0x101c0000 40000>;
                interrupts = <18>;
        };
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ Required properties:
- crtc: the crtc this display is connected to, see below
Optional properties:
- interface_pix_fmt: How this display is connected to the
  crtc. Currently supported types: "rgb24", "rgb565"
  crtc. Currently supported types: "rgb24", "rgb565", "bgr666"
- edid: verbatim EDID data block describing attached display.
- ddc: phandle describing the i2c bus handling the display data
  channel
Loading