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

Commit 593aae21 authored by Kevin Hilman's avatar Kevin Hilman
Browse files

Merge tag 'omap-for-v4.2/wakeirq-drivers-v2' of...

Merge tag 'omap-for-v4.2/wakeirq-drivers-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late

Merge "omap generic wakeirq for v4.2 merge window" from Tony Lindgren:

Omap driver changes for v4.2 to switch drivers over to Linux generic
wake IRQ events for omap_hsmmc, 8250_omap and omap-serial
drivers.

The generic wake IRQs also fix issues that these drivers potentially
have with IRQ re-entrancy at least for serial-omap.

Note that because of dependencies and merge conflicts these are
based on Rafael's pm-wakeirq and Greg's tty-next branches.

* tag 'omap-for-v4.2/wakeirq-drivers-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (148 commits)
  serial: 8250_omap: Move wake-up interrupt to generic wakeirq
  serial: omap: Switch wake-up interrupt to generic wakeirq
  tty: move linux/gsmmux.h to uapi
  doc: dt: add documentation for nxp,lpc1850-uart
  serial: 8250: add LPC18xx/43xx UART driver
  serial: 8250_uniphier: add UniPhier serial driver
  serial: 8250_dw: support ACPI platforms with integrated DMA engine
  serial: of_serial: check the return value of clk_prepare_enable()
  serial: of_serial: use devm_clk_get() instead of clk_get()
  serial: earlycon: Add support for big-endian MMIO accesses
  serial: sirf: use hrtimer for data rx
  serial: sirf: correct the fifo empty_bit
  serial: sirf: fix system hung on console log output
  serial: 8250: remove return statements from void function
  sc16is7xx: use kworker for RS-485 configuration
  sc16is7xx: use kworker to update ier bits
  sc16is7xx: use kworker for md_proc
  sc16is7xx: move RTS delay to workqueue
  sc16is7xx: use kthread_worker for tx_work and irq
  sc16is7xx: use LSR_TEMT_BIT in .tx_empty()
  ...
parents ea21feb3 63e63a19
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
* ARM SBSA defined generic UART
This UART uses a subset of the PL011 registers and consequently lives
in the PL011 driver. It's baudrate and other communication parameters
cannot be adjusted at runtime, so it lacks a clock specifier here.

Required properties:
- compatible: must be "arm,sbsa-uart"
- reg: exactly one register range
- interrupts: exactly one interrupt specifier
- current-speed: the (fixed) baud rate set by the firmware
+10 −2
Original line number Diff line number Diff line
@@ -14,7 +14,14 @@ Required properties:

- interrupts: A single interrupt specifier.

- clocks: Clock driving the hardware.
- clocks : Must contain an entry for each entry in clock-names.
  See ../clocks/clock-bindings.txt for details.
- clock-names:
  - "baud": The clock the baudrate is derived from
  - "bus": The bus clock for register accesses (optional)

For compatibility with older device trees an unnamed clock is used for the
baud clock if the baudclk does not exist. Do not use this for new designs.

Example:

@@ -22,5 +29,6 @@ Example:
		compatible = "mediatek,mt6589-uart", "mediatek,mt6577-uart";
		reg = <0x11006000 0x400>;
		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&uart_clk>;
		clocks = <&uart_clk>, <&bus_clk>;
		clock-names = "baud", "bus";
	};
+28 −0
Original line number Diff line number Diff line
* NXP LPC1850 UART

Required properties:
- compatible	: "nxp,lpc1850-uart", "ns16550a".
- reg		: offset and length of the register set for the device.
- interrupts	: should contain uart interrupt.
- clocks	: phandle to the input clocks.
- clock-names	: required elements: "uartclk", "reg".

Optional properties:
- dmas		: Two or more DMA channel specifiers following the
		  convention outlined in bindings/dma/dma.txt
- dma-names	: Names for the dma channels, if present. There must
		  be at least one channel named "tx" for transmit
		  and named "rx" for receive.

Since it's also possible to also use the of_serial.c driver all
parameters from 8250.txt also apply but are optional.

Example:
uart0: serial@40081000 {
	compatible = "nxp,lpc1850-uart", "ns16550a";
	reg = <0x40081000 0x1000>;
	reg-shift = <2>;
	interrupts = <24>;
	clocks = <&ccu2 CLK_APB0_UART0>, <&ccu1 CLK_CPU_UART0>;
	clock-names = "uartclk", "reg";
};
+37 −0
Original line number Diff line number Diff line
* NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART)
* i2c as bus

Required properties:
- compatible: Should be one of the following:
@@ -31,3 +32,39 @@ Example:
                gpio-controller;
                #gpio-cells = <2>;
        };

* spi as bus

Required properties:
- compatible: Should be one of the following:
  - "nxp,sc16is740" for NXP SC16IS740,
  - "nxp,sc16is741" for NXP SC16IS741,
  - "nxp,sc16is750" for NXP SC16IS750,
  - "nxp,sc16is752" for NXP SC16IS752,
  - "nxp,sc16is760" for NXP SC16IS760,
  - "nxp,sc16is762" for NXP SC16IS762.
- reg: SPI chip select number.
- interrupt-parent: The phandle for the interrupt controller that
  services interrupts for this IC.
- interrupts: Specifies the interrupt source of the parent interrupt
  controller. The format of the interrupt specifier depends on the
  parent interrupt controller.
- clocks: phandle to the IC source clock.

Optional properties:
- gpio-controller: Marks the device node as a GPIO controller.
- #gpio-cells: Should be two. The first cell is the GPIO number and
  the second cell is used to specify the GPIO polarity:
    0 = active high,
    1 = active low.

Example:
	sc16is750: sc16is750@0 {
		compatible = "nxp,sc16is750";
		reg = <0>;
		clocks = <&clk20m>;
		interrupt-parent = <&gpio3>;
		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
		gpio-controller;
		#gpio-cells = <2>;
	};
+7 −0
Original line number Diff line number Diff line
@@ -44,6 +44,11 @@ Required properties:
Note: Each enabled SCIx UART should have an alias correctly numbered in the
"aliases" node.

Optional properties:
  - dmas: Must contain a list of two references to DMA specifiers, one for
	  transmission, and one for reception.
  - dma-names: Must contain a list of two DMA names, "tx" and "rx".

Example:
	aliases {
		serial0 = &scifa0;
@@ -56,4 +61,6 @@ Example:
		interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&mstp2_clks R8A7790_CLK_SCIFA0>;
		clock-names = "sci_ick";
		dmas = <&dmac0 0x21>, <&dmac0 0x22>;
		dma-names = "tx", "rx";
	};
Loading