Commit fe3c22bd authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull char/misc updates from Greg KH:
 "Here's the big char/misc driver tree merge for 3.11-rc1

  A variety of different driver patches here.  All of these have been in
  linux-next for a while, and the networking patches were acked-by David
  Miller, as it made sense for those patches to come through this tree"

* tag 'char-misc-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (102 commits)
  Revert "char: misc: assign file->private_data in all cases"
  drivers: uio_pdrv_genirq: Use of_match_ptr() macro
  mei: check whether hw start has succeeded
  mei: check if the hardware reset succeeded
  mei: mei_cl_connect: don't multiply the timeout twice
  mei: do not override a client writing state when buffering
  mei: move mei_cl_irq_write_complete to client.c
  UIO: Fix concurrency issue
  drivers: uio_dmem_genirq: Use of_match_ptr() macro
  char: misc: assign file->private_data in all cases
  drivers: hv: allocate synic structures before hv_synic_init()
  drivers: hv: check interrupt mask before read_index
  vme: vme_tsi148.c: fix error return code in tsi148_probe()
  FMC: fix error handling in probe() function
  fmc: avoid readl/writel namespace conflict
  FMC: NULL dereference on allocation failure
  UIO: fix uio_pdrv_genirq with device tree but no interrupt
  UIO: allow binding uio_pdrv_genirq.c to devices using command line option
  FMC: add a char-device mezzanine driver
  FMC: add a driver to write mezzanine EEPROM
  ...
parents ce49b628 38067269
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -187,6 +187,8 @@ firmware_class/
	- request_firmware() hotplug interface info.
flexible-arrays.txt
	- how to make use of flexible sized arrays in linux
fmc/
	- information about the FMC bus abstraction
frv/
	- Fujitsu FR-V Linux documentation.
futex-requeue-pi.txt
+19 −0
Original line number Diff line number Diff line
Atmel AT91RM9200 CompactFlash

Required properties:
- compatible : "atmel,at91rm9200-cf".
- reg : should specify localbus address and size used.
- gpios : specifies the gpio pins to control the CF device. Detect
  and reset gpio's are mandatory while irq and vcc gpio's are
  optional and may be set to 0 if not present.

Example:
compact-flash@50000000 {
	compatible = "atmel,at91rm9200-cf";
	reg = <0x50000000 0x30000000>;
	gpios = <&pioC 13 0	/* irq */
		 &pioC 15 0 	/* detect */
		 0		/* vcc */
		 &pioC  5 0	/* reset */
		>;
};
+15 −0
Original line number Diff line number Diff line
EXTCON FOR TWL CHIPS

PALMAS USB COMPARATOR
Required Properties:
 - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb"
 - vbus-supply : phandle to the regulator device tree node.

Optional Properties:
 - ti,wakeup : To enable the wakeup comparator in probe

palmas-usb {
       compatible = "ti,twl6035-usb", "ti,palmas-usb";
       vbus-supply = <&smps10_reg>;
       ti,wakeup;
};
+156 −0
Original line number Diff line number Diff line
Device tree bindings for MVEBU Device Bus controllers

The Device Bus controller available in some Marvell's SoC allows to control
different types of standard memory and I/O devices such as NOR, NAND, and FPGA.
The actual devices are instantiated from the child nodes of a Device Bus node.

Required properties:

 - compatible:          Currently only Armada 370/XP SoC are supported,
                        with this compatible string:

                        marvell,mvebu-devbus

 - reg:                 A resource specifier for the register space.
                        This is the base address of a chip select within
			the controller's register space.
                        (see the example below)

 - #address-cells:      Must be set to 1
 - #size-cells:         Must be set to 1
 - ranges:              Must be set up to reflect the memory layout with four
                        integer values for each chip-select line in use:
                        0 <physical address of mapping> <size>

Mandatory timing properties for child nodes:

Read parameters:

 - devbus,turn-off-ps:  Defines the time during which the controller does not
                        drive the AD bus after the completion of a device read.
                        This prevents contentions on the Device Bus after a read
                        cycle from a slow device.

 - devbus,bus-width:    Defines the bus width (e.g. <16>)

 - devbus,badr-skew-ps: Defines the time delay from from A[2:0] toggle,
                        to read data sample. This parameter is useful for
                        synchronous pipelined devices, where the address
                        precedes the read data by one or two cycles.

 - devbus,acc-first-ps: Defines the time delay from the negation of
                        ALE[0] to the cycle that the first read data is sampled
                        by the controller.

 - devbus,acc-next-ps:  Defines the time delay between the cycle that
                        samples data N and the cycle that samples data N+1
                        (in burst accesses).

 - devbus,rd-setup-ps:  Defines the time delay between DEV_CSn assertion to
			DEV_OEn assertion. If set to 0 (default),
                        DEV_OEn and DEV_CSn are asserted at the same cycle.
                        This parameter has no affect on <acc-first-ps> parameter
                        (no affect on first data sample). Set <rd-setup-ps>
                        to a value smaller than <acc-first-ps>.

 - devbus,rd-hold-ps:   Defines the time between the last data sample to the
			de-assertion of DEV_CSn. If set to 0 (default),
			DEV_OEn and DEV_CSn are de-asserted at the same cycle
			(the cycle of the last data sample).
                        This parameter has no affect on DEV_OEn de-assertion.
                        DEV_OEn is always de-asserted the next cycle after
                        last data sampled. Also this parameter has no
                        affect on <turn-off-ps> parameter.
                        Set <rd-hold-ps> to a value smaller than <turn-off-ps>.

Write parameters:

 - devbus,ale-wr-ps:    Defines the time delay from the ALE[0] negation cycle
			to the DEV_WEn assertion.

 - devbus,wr-low-ps:    Defines the time during which DEV_WEn is active.
                        A[2:0] and Data are kept valid as long as DEV_WEn
                        is active. This parameter defines the setup time of
                        address and data to DEV_WEn rise.

 - devbus,wr-high-ps:   Defines the time during which DEV_WEn is kept
                        inactive (high) between data beats of a burst write.
                        DEV_A[2:0] and Data are kept valid (do not toggle) for
                        <wr-high-ps> - <tick> ps.
			This parameter defines the hold time of address and
			data after DEV_WEn rise.

 - devbus,sync-enable: Synchronous device enable.
                       1: True
                       0: False

An example for an Armada XP GP board, with a 16 MiB NOR device as child
is showed below. Note that the Device Bus driver is in charge of allocating
the mbus address decoding window for each of its child devices.
The window is created using the chip select specified in the child
device node together with the base address and size specified in the ranges
property. For instance, in the example below the allocated decoding window
will start at base address 0xf0000000, with a size 0x1000000 (16 MiB)
for chip select 0 (a.k.a DEV_BOOTCS).

This address window handling is done in this mvebu-devbus only as a temporary
solution. It will be removed when the support for mbus device tree binding is
added.

The reg property implicitly specifies the chip select as this:

  0x10400: DEV_BOOTCS
  0x10408: DEV_CS0
  0x10410: DEV_CS1
  0x10418: DEV_CS2
  0x10420: DEV_CS3

Example:

	devbus-bootcs@d0010400 {
		status = "okay";
		ranges = <0 0xf0000000 0x1000000>; /* @addr 0xf0000000, size 0x1000000 */
		#address-cells = <1>;
		#size-cells = <1>;

		/* Device Bus parameters are required */

		/* Read parameters */
		devbus,bus-width    = <8>;
		devbus,turn-off-ps  = <60000>;
		devbus,badr-skew-ps = <0>;
		devbus,acc-first-ps = <124000>;
		devbus,acc-next-ps  = <248000>;
		devbus,rd-setup-ps  = <0>;
		devbus,rd-hold-ps   = <0>;

		/* Write parameters */
		devbus,sync-enable = <0>;
		devbus,wr-high-ps  = <60000>;
		devbus,wr-low-ps   = <60000>;
		devbus,ale-wr-ps   = <60000>;

		flash@0 {
			compatible = "cfi-flash";

			/* 16 MiB */
			reg = <0 0x1000000>;
			bank-width = <2>;
			#address-cells = <1>;
			#size-cells = <1>;

			/*
			 * We split the 16 MiB in two partitions,
			 * just as an example.
			 */
			partition@0 {
				label = "First";
				reg = <0 0x800000>;
			};

			partition@800000 {
				label = "Second";
				reg = <0x800000 0x800000>;
			};
		};
	};
+38 −0
Original line number Diff line number Diff line

Documentation in this directory comes from sections of the manual we
wrote for the externally-developed fmc-bus package. The complete
manual as of today (2013-02) is available in PDF format at
http://www.ohwr.org/projects/fmc-bus/files

00-INDEX
	- this file.

FMC-and-SDB.txt
	- What are FMC and SDB, basic concepts for this framework

API.txt
	- The functions that are exported by the bus driver

parameters.txt
	- The module parameters

carrier.txt
	- writing a carrier (a device)

mezzanine.txt
	- writing code for your mezzanine (a driver)

identifiers.txt
	- how identification and matching works

fmc-fakedev.txt
	- about drivers/fmc/fmc-fakedev.ko

fmc-trivial.txt
	- about drivers/fmc/fmc-trivial.ko

fmc-write-eeprom.txt
	- about drivers/fmc/fmc-write-eeprom.ko

fmc-chardev.txt
	- about drivers/fmc/fmc-chardev.ko
Loading