USB: serial: option: add support for peiker LTE NAD module

Signed-off-by: Matthias Klein <matthias.klein@linux.com>
ARM: dts: imx: use dual-fifo sdma script for ssi

Use dual-fifo sdma scripts instead of shared scripts for ssi on i.MX series.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
ARM: dts: i.MX53: Add alternate pinmux option for i2c_3

Signed-off-by: Rostislav Lisovy <lisovy@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
ARM: dts: i.MX53: Internal keyboard controller

Signed-off-by: Rostislav Lisovy <lisovy@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
ARM: dts: imx53-qsb: SDHC1 does not have cd-gpios

SDHC1 does not have any GPIO for reading the card detection status, so
remove 'cd-gpios'.

After this change card detection works via the internal SD controller mechanism.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
ARM: dts: imx53: make pinctrl nodes board specific

Currently, all pinctrl setting nodes are defined in <soc>.dtsi, so that
boards that share the same pinctrl setting do not have to define it time
and time again in <board>.dts.  However, along with the devices and use
cases being added continuously, the pinctrl setting nodes under iomuxc
becomes more than expected.  This bloats device tree blob for particular
board unnecessarily since only a small subset of those pinctrl setting
nodes will be used by the board.  It impacts not only the DTB file size
but also the run-time device tree lookup efficiency.

The patch provides a solution to avoid this device tree bloating problem
while still keeping boards share the common pinctrl setting data by
using DTC macro support.  It creates <soc>-pingrp.h and move all those
pinctrl setting data into there as macro definitions.  The <board>.dts
will instead define the pinctrl setting nodes that are necessary for the
board by referring to the macros in <soc>-pingrp.h, so that only the
pinctrl setting data that will be used by the board will get compiled
into the DTB for the board.

With the changes, the pinctrl setting nodes becomes local to particular
board, and it makes no sense to continue numbering the setting for
given peripheral.  Thus, all the pinctrl phandler name gets updated to
have only peripheral name in there.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

Conflicts:
	arch/arm/boot/dts/imx53-voipac-bsb.dts
	arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
ARM: imx53: use clock defines in DTS files

For better readability and no need to look up numbers
in the documentation anymore.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

Conflicts:
	arch/arm/boot/dts/imx53.dtsi
ARM: dts: imx53: Add AHCI SATA DT node

The AHCI-IMX driver now supports i.MX53 as well. Add DT node.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Richard Zhu <r65037@freescale.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Linux-IDE <linux-ide@vger.kernel.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
ARM: dts: i.MX: Move include "imxXX-pinfunc.h" into "imxXX-pingrp.h"

Pin function definitions are used for pin groups definitions,
so move the header in the correspond "imxXX-pingrp.h".

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

Conflicts:
	arch/arm/boot/dts/imx25-pingrp.h
	arch/arm/boot/dts/imx25.dtsi
	arch/arm/boot/dts/imx50-pingrp.h
	arch/arm/boot/dts/imx50.dtsi
	arch/arm/boot/dts/imx51-pingrp.h
	arch/arm/boot/dts/imx51.dtsi

	and removed the non-working imx25/51 dts from the makefile
ARM: dts: imx53: Add gpio and input dt includes.

This is to permit to use of the includes in the boards dts.

Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Eric Bénard <eric@eukrea.com>
Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
ARM: dts: add pingroup NAND (as it comes from KARO)

Change imported from linux-next-20140109-karo.diff

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
ARM: dts: imx53: add device tree for optiMEAS smartlog

Signed-off-by: Matthias Klein <matthias.klein@linux.com>
ARM: dts: imx53: add device tree for optiMEAS medilog

Signed-off-by: Matthias Klein <matthias.klein@linux.com>
net: can: flexcan: provide propper return code in ISR

flexcan_irq() always returns IRQ_HANDLED no matter if it actually did
something or not. If the CAN interface is brought up without BERR
reporting on a SoC which has the FLEXCAN_HAS_BROKEN_ERR_STATE feature
then ERR reporting is activated but not really handled. That means on an
open bus one receives a lot of STF_ERR and the only thing that happens
is that the number of interrupts is incremented.
This patch ensures that in such a case the core has a chance to detect
such (or similar) misbehavior and disable the interrupt line.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
net: can: flexcan: disable error interrupts in non ERR-Active state

On imx53 I receive continuously STF_ERR error interrupts after sending a
CAN frame on an open BUS.
This patch disables error interrupts once we leave the ERR-Active state
since I doubt further error interrupts are of any interest especially if
they render the system unresponsible.
According to the manual in this case the system remains in passive state
and RX-err counter is >127 and won't increment any further and so it
won't enter BUS-Off state. Once the system receives a CAN message, the
RX-error counter should by set to 119 … 127 which brings the CAN module
back to ERR-active state which then should activate error reporting
again.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
net: can: flexcan: handle state passive -> warning transition

Once the CAN-bus is open and a packet is sent, the controller switches
into the PASSIVE state. Once the BUS is closed again it goes the back
err-warning. The TX error counter goes 0 -> 0x80 -> 0x7f.
This patch makes sure that the user learns about this state chang
(CAN_STATE_ERROR_WARNING => CAN_STATE_ERROR_PASSIVE)

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
can: flexcan: fix transition from and to freeze mode in chip_{,un}freeze

This patch factors out freeze and unfreeze of the CAN core into seperate
functions. Experiments have shown that the transition from and to freeze mode
may take several microseconds, especially the time entering the freeze mode
depends on the current bitrate.

This patch adds a while loop which polls the Freeze Mode ACK bit (FRZ_ACK) that
indicates a successfull mode change. If the function runs into a timeout a
error value is returned.

Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net: can: flexcan: fix for wrong TX error count behaviour on i.MX53

Once the CAN-bus is open and a packet is sent, the controller switches
into the PASSIVE state and the TX error count goes to 0x80. When the
bus is closed and the packet gets acknowledged the controller switches
to ERROR-WARNING state and the TX error counter is decremented to 0x7f.
Everything OK so far.

When now the bus is open again and a packet is sent, the controller
switches into PASSIVE state and sets the TX error count to 0x86.
When now the bus is closed the TX error is decremented to 0x85, but
the state does not change to ERROR-WARNING. Now with each successfully
transfered packet (in PASSIVE state!) the TX error counter is
decremented, and when the TX error counter reaches 0x7f the controller
switched back into ERROR-WARNING state.

This fix sets the TX error count back to zero when entering the
ERROR-WARNING state (after the first retransfered packet is acknowledged).

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Matthias Klein <matthias.klein@optimeas.de>
apply 3.12.31-rt45 patch

Signed-off-by: Matthias Klein <matthias.klein@linux.com>