Commit Graph

49827 Commits

Author SHA1 Message Date
Stefan Agner a027d49fc1 ARM: dts: imx7-colibri: use OF graph to describe the display
To make use of the new eLCDIF DRM driver OF graph description is
required. Describe the display using OF graph nodes.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:19 +08:00
Gary Bisson b721c91bdc ARM: dts: imx6qp-nitrogen6_som2: add Quad Plus variant of the SOM
https://boundarydevices.com/product/nit6x-som-v2/

Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:18 +08:00
Jagan Teki 43d25bb731 ARM: dts: imx6q-icore: Add touchscreen node
max11801 touchscreen on Engicam iCoreM6 Quad module is
connected via i2c1, so add max11801: touchscreen@48 on i2c1.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Domenico Acri <domenico.acri@engicam.com>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:18 +08:00
Vivien Didelot 1cb1a68ded ARM: dts: vf610-zii-dev-rev-b: change switch2 label
Rename the switch2@0 label of the switch2 node to switch@0 to respect
the general unit@address DTS rule, and be consistent with the other
switch nodes of the DTS file.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:17 +08:00
Jagan Teki d199356af0 ARM: dts: imx6ul-[geam|isiot]: Add sai2 node
Add Synchronous Audio Interface(SAI) node for Engicam GEAM6UL
and Is.IoT MX6UL variant module boards.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:17 +08:00
Jagan Teki 35d38f30ee ARM: dts: imx6ul-isiot-common: Add touchscreen node
Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
modules, the touchscreen controlled 'st,stmpe-ts' connected via
i2c with st,stmpe811 mfd interface.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:16 +08:00
Jagan Teki e13d0250e8 ARM: dts: imx6ul-isiot: Add i2c nodes
Add support for i2c nodes i2c1 and i2c2 on Is.IoT MX6UL
eMMC variant boards.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:16 +08:00
Jagan Teki 0760c782cf ARM: dts: imx6ul-isiot: Add imx6ul-isiot-common.dtsi
lcdif nodes are differ wrt specific LCD connected on Is.IoT MX6UL
module, so create separate file 'imx6ul-isiot-common.dtsi' for common
lcdif node structure and include the same on respective dts.

More common nodes will add in future patches.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:15 +08:00
Jagan Teki 3e176720e6 ARM: dts: imx6ul-isiot: Add backlight support for lcdif
This patch add support for lcdif backlight on Is.IoT MX6UL
variant boards.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:14 +08:00
Jagan Teki f3e16144d3 ARM: dts: imx6ul-geam: Add backlight support for lcdif
This patch add support for lcdif backlight on GEAM6UL
variant boards.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:14 +08:00
Lucas Stach d763762e3b ARM: dts: imx6: add ZII RDU2 boards
This adds support for the Zodiac Inflight Innovations RDU2 board,
which has both a Quad and a QuadPlus variant.

The board supports different panels, with the bootloader patching
in the correct compatible, depending on the hardware configuration.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Tested-by: Chris Healy <cphealy@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:13 +08:00
Lucas Stach 54458dac34 ARM: dts: imx6qp: add PRG nodes and hook up to IPUs
Add the DT nodes for the Prefetch Resolve Gaskets found on i.MX6QP
and hook them up to the assigned IPU nodes.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:13 +08:00
Lucas Stach 3062cf55e1 ARM: dts: imx6qp: add PRE nodes
Add the DT nodes for the Prefetch Resolve Engines found on i.MX6QP.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:12 +08:00
Rob Herring 3e1b857786 ARM: dts: imx: fix PCI bus dtc warnings
dtc recently added PCI bus checks. Fix these warnings.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:12 +08:00
Uwe Kleine-König d6f4996e7d ARM: dts: imx25-pinfunc: Move MX25_PAD_TDO__TDO to a more sensible place
The pinfunc definitions are ordered by mux_reg and so automatically by
conf_reg, too. PAD_TDO is the only pad that has a conf_reg but no
mux_reg. Put it to the place where it its in the order of conf_regs
instead of the top.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:11 +08:00
Uwe Kleine-König e87c981cbd ARM: dts: imx25-pinfunc: remove duplicate definition
This was introduced in commit 18e2b50407 ("ARM: dts: imx25-pinfunc:
more defines").

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:10 +08:00
Tim Harvey 0afe7a3492 ARM: dts: imx: add Gateworks Ventana GW5904 support
The Gateworks Ventana GW5904 is a single-board computer based on the NXP
IMX6 SoC with the following features:
 * IMX6 DualLite Soc (supports IMX6S,IMX6DL,IMX6Q)
 * 2048MB DDR3 DRAM (4x64bit) (options up to 4GiB)
 * 8GB eMMC
 * Gateworks System Controller:
  - hardware watchdog
  - hardware monitor
  - pushbutton controller
  - EEPROM storage
  - power control
 * JTAG programmable
 * 1x miniPCIe socket (with PCIe, USB)
 * 1x miniPCIe socket (USB)
 * 1x M.2 socket (USB, 2x SIM)
 * Inertial Module (LSM9DS1 9DOF: 3x acc, 3x rate, 3x mag)
 * GPS (optional uBlox EVA-M8M)
 * Application headers:
  - 2x RS232 UART (TX/RX/CTS/RTS)
  - 8x TTL GPIO (3x configurable as PWM)
  - 1x LVDS display 3D+C with i2c touch and PWM backlight
 * MV88E6176 GbE Switch (uplink to IMX FEC)
 * Front panel connectors:
  - 1x user programmable LED
  - 1x configurable user pushbutton
  - 1x USB OTG
  - 4x GbE LAN

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:10 +08:00
Andrey Smirnov e6e9d8ec4a ARM: dts: imx7s: Do not claim i.MX51 compatibility for SRC
System Reset Controller in i.MX7 doesn't have any commonality with IP
block found in i.MX5 and i.MX6 SoC families. Given that and the new
upstream driver for i.MX7 variant (see
https://lkml.org/lkml/2017/2/21/466) remove "fsl,imx51-src" from
compatibility string.

Cc: yurovsky@gmail.com
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:09 +08:00
Jagan Teki 7fdebe492e ARM: dts: imx6q-icore: Add LVDS support
Add LVDS display support for OpenFrame Capacitive touch 7 inc
display which is supported by Engicam i.CoreM6 QDL Starter Kit.

Cc: Domenico Acri <domenico.acri@engicam.com>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:09 +08:00
Jagan Teki 4ae366fdce ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 12.3 initial support
i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus
openframe display carriers" which are good solution for develop
user friendly graphic user interface.

General features:
CPU           NXP i.MX6Q rev1.2 at 792 MHz
RAM           1GB, 32, 64 bit, DDR3-800/1066
NAND          SLC,512MB
LVDS Display  TFT 12.3" industrial, 1280x480 resolution
Backlight     LED backlight, brightness 350 Cd/m2
Power supply  15 to 30 Vdc

Cc: Domenico Acri <domenico.acri@engicam.com>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:08 +08:00
Jagan Teki 6652ac3393 ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 10.1 initial support
i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus
openframe display carriers" which are good solution for develop
user friendly graphic user interface.

General features:
CPU           NXP i.MX6Q rev1.2 at 792 MHz
RAM           1GB, 32, 64 bit, DDR3-800/1066
NAND          SLC,512MB
LVDS Display  TFT 10.1" industrial, 1280x800 resolution
Backlight     LED backlight, brightness 350 Cd/m2
Power supply  15 to 30 Vdc

Cc: Domenico Acri <domenico.acri@engicam.com>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:08 +08:00
Jagan Teki a673356c64 ARM: dts: imx6qdl-icore: Add backlight support for lvds
This patch add support for lvds backlight on i.CoreM6 QDL
variant boards.

Cc: Domenico Acri <domenico.acri@engicam.com>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:07 +08:00
Peter Senna Tschudin ed7740e357 ARM: dts: imx6q-b850v3: Use megachips-stdpxxxx-ge-b850v3-fw bridges (LVDS-DP++)
Configures the megachips-stdpxxxx-ge-b850v3-fw bridges on the GE
B850v3 dts file.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Martyn Welch <martyn.welch@collabora.co.uk>
Cc: Martin Donnelly <martin.donnelly@ge.com>
Cc: Javier Martinez Canillas <javier@dowhile0.org>
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Rob Herring <robh@kernel.org>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Peter Senna Tschudin <peter.senna@collabora.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:07 +08:00
Marco Franchi fd1eb46c38 ARM: dts: imx7d-sdb: Add sht11 Click Board support
The imx7d-sdb has a mickro bus connector that can be connected to a
Sensirion SHT11 click board (temperature and humidity sensor):

https://shop.mikroe.com/click/sensors/sht1x

Add a new device tree file to describe such hardware.

Signed-off-by: Marco Franchi <marco.franchi@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:06 +08:00
Andrew Lunn fef5c646db ARM: dts: vf610-zii-dev-c: Wire up PHY interrupts
The PHYs embedded in the switch direct there interrupts through the
switch interrupt controllers. Now that devel C has its switch
interrupts connected to the SoC, the PHY interrupts can be used by
phylib. Explicitly include MDIO nodes in the switch device tree nodes,
and link the PHY interrupts back to the switch interrupt
controller. Also, link the ports to the PHYs on the MDIO bus.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:05 +08:00
Andrew Lunn 51dab7d9a2 ARM: dts: vf610-zii-dev: Wire up devel C switch interrupts
The devel B and devel C board use the same GPIO lines for interrupts
from the two switches. Move the pinmux nodes from devel B into the
shared .dtsi file, and wire up the interrupts on devel C.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:05 +08:00
Fabio Estevam e3abb14e81 ARM: dts: imx6sx: Make UART compatible to 'imx6q-uart'
UART on i.MX6SX (like all other i.MX6 SoC variants) has the same
programming model as the 'imx6q-uart' type, so add it to the compatible
UART string.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:04 +08:00
Ken Lin 3592374d10 ARM: dts: imx6q-bx50v3: fix at25 spi-clk frequency issue
Change the maxium spi clock frequency from 20MHz to 10MHz to meet the
operation voltage range requirement recommended in AT25 datasheet.

Signed-off-by: Ken Lin <yungching0725@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:04 +08:00
Alexander Kurz fe64d0540b ARM: dts: imx50: imx50-esdhc use imx53-esdhc
According to the reference manuals, both imx50/imx53 SOC seem to share
the same eSDHC controller, especially the section on "Multi-block Read"
mentioned in commit 361b848202 ("mmc: sdhci-esdhc-imx: fix multiblock
reads on i.MX53") is identical for both SOC.
Hence, let imx50 use imx53-esdhc.

Signed-off-by: Alexander Kurz <akurz@blala.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:03 +08:00
Peng Fan 9f29183fa3 ARM: dts: imx7s: enable ocotp
Enable ocotp for i.mx7D/S.
Correct the clock entry and compatible string.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:03 +08:00
Lucas Stach 4901f343f7 ARM: dts: imx6qp: correct IPU nodes
Reference them by handle and remove the changed clocks that are copied
from the downstream DT and are not part of the mainline binding.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:02 +08:00
Lucas Stach c871b91eb8 ARM: dts: imx6qp: reference MMDC node by handle and remove duplication
Referencing the node by handle make the QP DT more resilent against
changes of the base DT. Also remove the duplicated reg property, it's
not needed as it the same as in the base DT, just the compatible is
actually different.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:02 +08:00
Lucas Stach 3b3a95c8be ARM: dts: imx6qp: reference PCIe node by handle
By using the handle, we can avoid some duplication of the base DT
and so avoid any maintenance overhead in the QP DT if the referenced
node changes.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:01 +08:00
Uwe Kleine-König 10ad0dda7c ARM: imx25: set default phy_type and dr_mode for usbotg port
All currently supported i.MX25-based machines use phy_type = "utmi" and
dr_mode = "otg".  So this seems to be a sensible default.

This also doesn't hurt out-of-tree machines because up to now they had
to specify these two properties in the machine.dts which still takes
precedence by just overwriting the defaults added here.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:00 +08:00
Michael Heimpold 4105daf4cf ARM: dts: add support for I2SE Duckbill 2 SPI
This machine is based on I2SE's Duckbill 2 board and is sold as part
of I2SE's PLC Bundle for IoT. This is a development kit for Homeplug
Green PHY based powerline products based on Qualcomms QCA7000 chip.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:16:00 +08:00
Michael Heimpold 41e0b8c701 ARM: dts: add support for I2SE Duckbill 2 EnOcean
This machine is based on I2SE's Duckbill 2 board and features a
EnOcean daugther board based on the popular TCM310 chipset.
This product is intended to be used for e.g. home automation purposes.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:15:59 +08:00
Michael Heimpold 7f0e2da55a ARM: dts: add support for I2SE Duckbill 2 485
This machine is based on I2SE's Duckbill 2 board and features a
RS-485 daugther board. This device is intended to be used for
e.g. home automation purposes.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:15:59 +08:00
Michael Heimpold c98cea9f58 ARM: dts: add support for I2SE Duckbill 2 boards
This machine is an USB pen drive sized development board,
based on NXP's i.MX28 CPU. In contrast to the previous
model "Duckbill", the "Duckbill 2" series has internal
eMMC storage.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-10 16:14:46 +08:00
Tony Lindgren b4e1566e4c Merge branch 'omap-for-v4.12/dt-droid4-v2' into omap-for-v4.12/dt-v2 2017-04-09 16:35:51 -07:00
Tony Lindgren 8434fbefc6 ARM: dts: omap4-droid4: Add CPCAP PMIC OTG PHY configuration
Add CPCAP PMIC OTG PHY configuration.

Cc: devicetree@vger.kernel.org
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Tested-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-09 16:22:08 -07:00
Tony Lindgren 8a1a625965 ARM: dts: omap4-droid4: Add CPCAP PMIC battery charger configuration
Add CPCAP PMIC battery charger configuration.

Cc: devicetree@vger.kernel.org
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Tested-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-09 16:21:59 -07:00
Tony Lindgren 94b9a8a6fd ARM: dts: omap4-droid4: Add CPCAP PMIC ADC configuration
Add CPCAP PMIC ADC configuration.

Cc: devicetree@vger.kernel.org
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Tested-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-09 16:20:29 -07:00
Linus Torvalds 462e9a355e Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
 "A number of ARM fixes:

   - prevent oopses caused by dma_get_sgtable() and declared DMA
     coherent memory

   - fix boot failure on nommu caused by ID_PFR1 access

   - a number of kprobes fixes from Jon Medhurst and Masami Hiramatsu"

* 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8665/1: nommu: access ID_PFR1 only if CPUID scheme
  ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
  arm: kprobes: Align stack to 8-bytes in test code
  arm: kprobes: Fix the return address of multiple kretprobes
  arm: kprobes: Skip single-stepping in recursing path if possible
  arm: kprobes: Allow to handle reentered kprobe on single-stepping
2017-04-09 09:05:25 -07:00
Christoffer Dall f7214e6023 KVM: arm/arm64: Advertise support for KVM_CAP_ARM_USER_IRQ
Now that we support both timers and PMU reporting interrupts
to userspace, we can advertise this support.

Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2017-04-09 07:49:40 -07:00
Christoffer Dall 3dbbdf7863 KVM: arm/arm64: Report PMU overflow interrupts to userspace irqchip
When not using an in-kernel VGIC, but instead emulating an interrupt
controller in userspace, we should report the PMU overflow status to
that userspace interrupt controller using the KVM_CAP_ARM_USER_IRQ
feature.

Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2017-04-09 07:49:39 -07:00
Alexander Graf d9e1397783 KVM: arm/arm64: Support arch timers with a userspace gic
If you're running with a userspace gic or other interrupt controller
(that is no vgic in the kernel), then you have so far not been able to
use the architected timers, because the output of the architected
timers, which are driven inside the kernel, was a kernel-only construct
between the arch timer code and the vgic.

This patch implements the new KVM_CAP_ARM_USER_IRQ feature, where we use a
side channel on the kvm_run structure, run->s.regs.device_irq_level, to
always notify userspace of the timer output levels when using a userspace
irqchip.

This works by ensuring that before we enter the guest, if the timer
output level has changed compared to what we last told userspace, we
don't enter the guest, but instead return to userspace to notify it of
the new level.  If we are exiting, because of an MMIO for example, and
the level changed at the same time, the value is also updated and
userspace can sample the line as it needs.  This is nicely achieved
simply always updating the timer_irq_level field after the main run
loop.

Note that the kvm_timer_update_irq trace event is changed to show the
host IRQ number for the timer instead of the guest IRQ number, because
the kernel no longer know which IRQ userspace wires up the timer signal
to.

Also note that this patch implements all required functionality but does
not yet advertise the capability.

Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2017-04-09 07:49:38 -07:00
Alexander Graf 3fe17e6826 KVM: arm/arm64: Add ARM user space interrupt signaling ABI
We have 2 modes for dealing with interrupts in the ARM world. We can
either handle them all using hardware acceleration through the vgic or
we can emulate a gic in user space and only drive CPU IRQ pins from
there.

Unfortunately, when driving IRQs from user space, we never tell user
space about events from devices emulated inside the kernel, which may
result in interrupt line state changes, so we lose out on for example
timer and PMU events if we run with user space gic emulation.

Define an ABI to publish such device output levels to userspace.

Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-04-09 07:49:38 -07:00
Marc Zyngier d9118c87d2 ARM: hyp-stub: Zero r0 on successful stub handling
We now return HVC_STUB_ERR when a stub hypercall fails, but we
leave whatever was in r0 on success. Zeroing it on return seems
like a good idea.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:36 -07:00
Marc Zyngier ecb5d61daa ARM: hyp-stub/KVM: Kill __hyp_get_vectors
Nobody is using __hyp_get_vectors anymore, so let's remove both
implementations (hyp-stub and KVM).

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:34 -07:00
Marc Zyngier 4897e36c8d ARM: decompressor: Remove __hyp_get_vectors usage
When the compressed image needs to be relocated to avoid being
overwritten by the decompression process, we need to relocate
the hyp vectors as well so that we can find them once the
decompression has taken effect.

For that, we perform the following calculation:
	u32 v = __hyp_get_vectors();
	v += offset;
	__hyp_set_vectors(v);

But we're guaranteed that the initial value of v as returned by
__hyp_get_vectors is always __hyp_stub_vectors, because we have
just set it by calling __hyp_stub_install.

So let's remove the use of __hyp_get_vectors, and directly use
__hyp_stub_vectors instead.

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:33 -07:00
Marc Zyngier 47eb3cba48 arm/arm64: KVM: Use HVC_RESET_VECTORS to reinit HYP mode
Instead of trying to compare the value given by __hyp_get_vectors(),
which doesn't offer any real guarantee to be the stub's address, use
HVC_RESET_VECTORS to make sure we're in a sane state to reinstall
KVM across PM events.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:33 -07:00
Marc Zyngier 9e9ebd01a3 arm/arm64: KVM: Remove kvm_get_idmap_start
With __cpu_reset_hyp_mode having become fairly dumb, there is no
need for kvm_get_idmap_start anymore.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:32 -07:00
Marc Zyngier 0fb265930d arm/arm64: KVM: Use __hyp_reset_vectors() directly
__cpu_reset_hyp_mode doesn't need to be passed any argument now,
as the hyp-stub implementations are self-contained, and is now
reduced to just calling __hyp_reset_vectors(). Let's drop the
wrapper and use the stub hypercall directly.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:32 -07:00
Marc Zyngier 386627d825 ARM: KVM: Gracefully handle hyp-stubs being restored from under our feet
Should kvm_reboot() be invoked while guest is running, an IPI
wil be issued, forcing the guest to exit and HYP being reset to
the stubs. We will then try to reenter the guest, only to get
an error (HVC_STUB_ERR).

This patch allows this case to be gracefully handled by exiting
the run loop.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:31 -07:00
Marc Zyngier 4d5f9c14fb ARM: KVM: Implement HVC_SOFT_RESTART in the init code
Another missing stub hypercall is HVC_SOFT_RESTART. It turns out
that it is pretty easy to implement in terms of HVC_RESET_VECTORS
(since it needs to turn the MMU off).

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:30 -07:00
Marc Zyngier a92ce8f6ab ARM: KVM: Convert __cpu_reset_hyp_mode to using __hyp_reset_vectors
We are now able to use the hyp stub to reset HYP mode. Time to
kiss __kvm_hyp_reset goodbye, and use __hyp_reset_vectors.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:30 -07:00
Marc Zyngier 6bebcecb6c ARM: KVM: Allow the main HYP code to use the init hyp stub implementation
We now have a full hyp-stub implementation in the KVM init code,
but the main KVM code only supports HVC_GET_VECTORS, which is not
enough.

Instead of reinventing the wheel, let's reuse the init implementation
by branching to the idmap page when called with a hyp-stub hypercall.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:29 -07:00
Marc Zyngier 5d224aa7d4 ARM: KVM: Implement HVC_GET_VECTORS in the init code
Now that we have an infrastructure to handle hypercalls in the KVM
init code, let's implement HVC_GET_VECTORS there.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:29 -07:00
Marc Zyngier bc845e4fbb ARM: KVM: Implement HVC_RESET_VECTORS stub hypercall in the init code
In order to restore HYP mode to its original condition, KVM currently
implements __kvm_hyp_reset(). As we're moving towards a hyp-stub
defined API, it becomes necessary to implement HVC_RESET_VECTORS.

This patch adds the HVC_RESET_VECTORS hypercall to the KVM init
code, which so far lacked any form of hypercall support.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:28 -07:00
Marc Zyngier 7d1bf4e057 ARM: hyp-stub: Implement HVC_RESET_VECTORS stub hypercall
Let's define a new stub hypercall that resets the HYP configuration
to its default: hyp-stub vectors, and MMU disabled.

Of course, for the hyp-stub itself, this is a trivial no-op.
Hypervisors will have a bit more work to do.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:27 -07:00
Marc Zyngier 4c70cf07ce ARM: hyp-stub: Define a return value for failed stub calls
Define a standard return value to be returned when a hyp stub
call fails.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:27 -07:00
Marc Zyngier cf763e4ede ARM: Expose the VA/IDMAP offset
The KVM code needs to be able to compute the address of
symbols in its idmap page (the equivalent of a virt_to_idmap()
call). Unfortunately, virt_to_idmap is slightly complicated,
depending on the use of arch_phys_to_idmap_offset or not, and
none of that is readily available at HYP.

Instead, expose a single kimage_voffset variable which contains the
offset between a kernel VA and its idmap address, enabling the
VA->IDMAP conversion. This allows the KVM code to behave similarily
to its arm64 counterpart.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:26 -07:00
Marc Zyngier 6b52f7bdb8 ARM: hyp-stub: Use r1 for the soft-restart address
It is not really obvious why the restart address should be in r3
when communicated to the hyp-stub. r1 should be perfectly adequate,
and consistent with the rest of the code.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:25 -07:00
Marc Zyngier 6b85677c38 ARM: Update cpu_v7_reset documentation
cpu_v7_reset() now takes a second parameter indicating whether
we should reboot in HYP or not. Update the documentation to
reflect this.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:25 -07:00
Marc Zyngier 467f97b72b ARM: KVM: Convert KVM to use HVC_GET_VECTORS
The conversion of the HYP stub ABI to something similar to arm64
left the KVM code broken, as it doesn't know about the new
stub numbering. Let's move the various #defines to virt.h, and
let KVM use HVC_GET_VECTORS.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:24 -07:00
Russell King 9da5ac236d ARM: soft-reboot into same mode that we entered the kernel
When we soft-reboot (eg, kexec) from one kernel into the next, we need
to ensure that we enter the new kernel in the same processor mode as
when we were entered, so that (eg) the new kernel can install its own
hypervisor - the old kernel's hypervisor will have been overwritten.

In order to do this, we need to pass a flag to cpu_reset() so it knows
what to do, and we need to modify the kernel's own hypervisor stub to
allow it to handle a soft-reboot.

As we are always guaranteed to install our own hypervisor if we're
entered in HYP32 mode, and KVM will have moved itself out of the way
on kexec/normal reboot, we can assume that our hypervisor is in place
when we want to kexec, so changing our hypervisor API should not be a
problem.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:24 -07:00
Russell King 1342337bc8 ARM: hyp-stub: improve ABI
Improve the hyp-stub ABI to allow it to do more than just get/set the
vectors.  We follow the example in ARM64, where r0 is used as an opcode
with the other registers as an argument.

Tested-by: Keerthy <j-keerthy@ti.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:49:23 -07:00
Marc Zyngier 9d0d4d34d9 arm: KVM: Treat CP15 accessors returning false as successful
Instead of considering that a CP15 accessor has failed when
returning false, let's consider that it is *always* successful
(after all, we won't stand for an incomplete emulation).

The return value now simply indicates whether we should skip
the instruction (because it has now been emulated), or if we
should leave the PC alone if the emulation has injected an
exception.

Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-04-09 07:49:17 -07:00
Marc Zyngier b1d4cb6983 arm: KVM: Make unexpected register accesses inject an undef
Reads from write-only system registers are generally confined to
EL1 and not propagated to EL2 (that's what the architecture
mantates). In order to be sure that we have a sane behaviour
even in the unlikely event that we have a broken system, we still
handle it in KVM. Same goes for write to RO registers.

In that case, let's inject an undef into the guest.

Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-04-09 07:49:16 -07:00
Christoffer Dall 328e566479 KVM: arm/arm64: vgic: Defer touching GICH_VMCR to vcpu_load/put
We don't have to save/restore the VMCR on every entry to/from the guest,
since on GICv2 we can access the control interface from EL1 and on VHE
systems with GICv3 we can access the control interface from KVM running
in EL2.

GICv3 systems without VHE becomes the rare case, which has to
save/restore the register on each round trip.

Note that userspace accesses may see out-of-date values if the VCPU is
running while accessing the VGIC state via the KVM device API, but this
is already the case and it is up to userspace to quiesce the CPUs before
reading the CPU registers from the GIC for an up-to-date view.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:45:22 -07:00
Suzuki K Poulose 056aad67f8 kvm: arm/arm64: Rework gpa callback handlers
In order to perform an operation on a gpa range, we currently iterate
over each page in a user memory slot for the given range. This is
inefficient while dealing with a big range (e.g, a VMA), especially
while unmaping a range. At present, with stage2 unmap on a range with
a hugepage backed region, we clear the PMD when we unmap the first
page in the loop. The remaining iterations simply traverse the page table
down to the PMD level only to see that nothing is in there.

This patch reworks the code to invoke the callback handlers on the
biggest range possible within the memory slot to to reduce the number of
times the handler is called.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-09 07:42:50 -07:00
Olof Johansson 5fa22a6e1a mvebu fixes for 4.11 (part 1)
Fix build of the board code for orion5x when some parts are configured
 as module.
 -----BEGIN PGP SIGNATURE-----
 
 iIEEABECAEEWIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCWOZCvyMcZ3JlZ29yeS5j
 bGVtZW50QGZyZWUtZWxlY3Ryb25zLmNvbQAKCRALBhiOFHI71T0FAKCSnAXO/JTf
 qi3kMJf02SqH4zzMvwCfUvomlQrn7uQlmmzy7NkKvDdJgHY=
 =gps1
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-fixes-4.11-1' of git://git.infradead.org/linux-mvebu into fixes

mvebu fixes for 4.11 (part 1)

Fix build of the board code for orion5x when some parts are configured
as module.

* tag 'mvebu-fixes-4.11-1' of git://git.infradead.org/linux-mvebu:
  ARM: orion5x: only call into phylib when available

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-07 16:50:16 -07:00
Olof Johansson 12d28f94eb Allwinner fixes for 4.11, bis
Two fixes for the recent A33 cpufreq support, and one to fix a missing
 register in the A64 USB PHY node.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY5e/6AAoJEBx+YmzsjxAgzZcQALIDcB8ZnbHib3NjHJUFYqLI
 k2P32R93xCf1hiUhvhMB97dZNgOXqx4nyO2OabrUr9K++6ZNt7p+lIp1lnmNWnG1
 Ali6xu02UHLGHlBjqePYc5FbNbpIOa+0TkiOYvqo6CmLycsjvcbb5Ia3dAILyR/K
 NgkdGcsHV96EH4gPNzqchtaqBL/cTidHUZiIZv9Zg5zaSerRYG078VPSQ/qcA/sx
 ji/JWta/hAGHpignUzXM9dkaw2a11LEOh7YWU78WPAjRZbidgo7d3Tw7wuvE5+hd
 bUVG+T91Im3QEvOixaduw8gZ7R5345gQP2OFnm7eRRXnbQEx242z7lRnRwD/xor+
 IHYDj+Psbspeaw1oR3KrVk76neCAOHnb9O8pIXu5eHrMwB34kgUNkRx/0wuvRzu8
 fkwPtn403hzJdZa81OUGw3x8x1SndXgWPg2ez7z7Y2HjBF3U1585TvckWNrh+Xib
 2dT2PLY7GKwCehAR/dAr/RY4jT95nZC6nfDTRkCchv4HOnSOTLr5W2jlhuwhmuMi
 mcbIYhJrWRMZfe+3mg983g5DL4Z6k3lnn+Wv6AInk1TrP4TVsmgdmuCcyx116AsY
 ikCtk2SMG6QYUiy2XV5mKokaf+ex2ms0qvEJQestx3yXtU3IXOuI2qqdbTPb8XQS
 XsyqK7bEgpmLUe1y3W+z
 =lFNZ
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-fixes-for-4.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into fixes

Allwinner fixes for 4.11, bis

Two fixes for the recent A33 cpufreq support, and one to fix a missing
register in the A64 USB PHY node.

* tag 'sunxi-fixes-for-4.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: allwinner: a64: add pmu0 regs for USB PHY
  ARM: sun8i: a33: add operating-points-v2 property to all nodes
  ARM: sun8i: a33: remove highest OPP to fix CPU crashes

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-07 16:49:43 -07:00
Paolo Bonzini 4b4357e025 kvm: make KVM_COALESCED_MMIO_PAGE_OFFSET public
Its value has never changed; we might as well make it part of the ABI instead
of using the return value of KVM_CHECK_EXTENSION(KVM_CAP_COALESCED_MMIO).

Because PPC does not always make MMIO available, the code has to be made
dependent on CONFIG_KVM_MMIO rather than KVM_COALESCED_MMIO_PAGE_OFFSET.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
2017-04-07 16:49:01 +02:00
Paolo Bonzini 3042255899 kvm: make KVM_CAP_COALESCED_MMIO architecture agnostic
Remove code from architecture files that can be moved to virt/kvm, since there
is already common code for coalesced MMIO.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
[Removed a pointless 'break' after 'return'.]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
2017-04-07 16:49:00 +02:00
Alexander Kochetkov 500d0aa918 ARM: dts: rockchip: disable arm-global-timer for rk3188
The clocksource and the sched_clock provided by the arm_global_timer
are quite unstable because their rates depend on the cpu frequency.

On the other side, the arm_global_timer has a higher rating than the
rockchip_timer, it will be selected by default by the time framework
while we want to use the stable rockchip clocksource.

Let's disable the arm_global_timer in order to have the rockchip
clocksource selected by default.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
2017-04-07 16:23:07 +02:00
Alexander Kochetkov 627988a66a ARM: dts: rockchip: Add timer entries to rk3188 SoC
The patch add two timers to all rk3188 based boards.

The first timer is from alive subsystem and it act as a backup
for the local timers at sleep time. It act the same as other
SoC rockchip timers already present in kernel.

The second timer is from CPU subsystem and act as replacement
for the arm-global-timer clocksource and sched clock. It run
at stable frequency 24MHz.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
2017-04-07 16:23:06 +02:00
Alexander Kochetkov b72af3462d ARM: dts: rockchip: Update compatible property for rk322x timer
Property set to '"rockchip,rk3228-timer", "rockchip,rk3288-timer"'
to match devicetree bindings.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Suggested-by: Heiko Stübner <heiko@sntech.de>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2017-04-07 16:23:05 +02:00
Linus Walleij ba3fae06c7 ARM/clk: move the ICST library to drivers/clk
This moves the ICST clock divider helper library from
arch/arm/common to drivers/clk/versatile so it is maintained
with the other clock drivers.

We keep the structure as a helper library intact and do not
fuse it with the clk-icst.c Versatile ICST clock driver: there
may be other users out there that need to use this library for
their clocking, and then it will be helpful to keep the
library contained. (The icst.[c|h] files could just be moved
to drivers/clk/lib or a similar location to share the library.)

Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-04-07 11:58:12 +02:00
Linus Walleij b6acb2e4d9 ARM: plat-versatile: remove stale clock header
All the Versatile platforms (Integrator, Versatile, RealView
Versatile Express) have been migrated to use the drivers/clk
subsystem. Clean out this header that is not referenced
anywhere anymore.

Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-04-07 11:57:57 +02:00
Linus Walleij 390d2d490b irqchip/faraday: Replace moxa with ftintc010
The Moxa Art interrupt controller is very very likely just an instance
of the Faraday FTINTC010 interrupt controller from Faraday Technology.
An indication would be its close association with the FA526 ARM core
and the fact that the register layout is the same.

The implementation in irq-moxart.c can probably be right off replaced
with the irq-ftintc010.c driver by adding a compatible string, selecting
this irqchip from the machine and run.

As a bonus we have an irqchip driver supporting high/low and
rising/falling edges for the Moxa Art, and shared code with the Gemini
platform.

Acked-by: Olof Johansson <olof@lixom.net>
Tested-by: Jonas Jensen <jonas.jensen@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-04-07 10:36:30 +01:00
Joel Stanley 97bae47812 ARM: configs: aspeed: Add new drivers
- LPC Host Controller
 - Pulse Width Modulation and Tachometer
 - Analog to Digital converter

These three new drivers for the Aspeed SoCs will appear in 4.12. This
defconfig is based on next-20170406.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 15:29:50 +09:30
Joel Stanley c0e25cba4b ARM: configs: aspeed: Update configs for BMC systems
Developers can develop and users can test with this config against an
OpenBMC userspace. It turns off debugging features to ensure network
performance is high.

Tested-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 15:29:32 +09:30
Rick Altherr 78a2569fa6 arm: dts: aspeed: Describe ADCs for AST2400/AST2500
Signed-off-by: Rick Altherr <raltherr@google.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 13:09:47 +09:30
Lei YU 71b8b86c75 ARM: dts: aspeed: romulus: Add UART1
Romulus has a RS-232 connection on the back of chassis, add UART1 to use
this connection.

Signed-off-by: Lei YU <mine260309@gmail.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 12:25:26 +09:30
Joel Stanley 23491da8f5 ARM: dts: aspeed: Update watchdog compatible strings
The string was changed when upstreaming the driver. Put the correct
string for generation 4 and 5 systems, as well as fix the reg length for
ast2500 systems.

Acked-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 12:25:26 +09:30
Cédric Le Goater 63c6527b7f ARM: dts: aspeed: Add a fastread property
All chips on OpenPOWER platforms support the fastread SPI command.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 11:50:35 +09:30
Cédric Le Goater 1142aea9ff ARM: dts: aspeed: Add SPI controller bindings to Romulus
Romulus systems have one MX25L25635 (32768 Kbytes) flash module for
the BMC firmware and other MT25QL512A (65536 Kbytes) for the host.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 11:50:28 +09:30
Joel Stanley 491bdcfa8c ARM: dts: aspeed: Make G4 clocks fixed
We do not yet have a clk driver upstream. So that users can boot the
unmodified upstream kernel, add fixed-clock and clock-frequency
properties to all of the clocks.

The values are taken from the Palmetto system. This is the only upstream
dts. It also happens to match all of the systems seen so far.

Acked-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 11:15:30 +09:30
Joel Stanley 8b9102da97 ARM: dts: aspeed: Make G5 clocks fixed
We do not yet have a clk driver upstream. So that users can boot the
unmodified upstream kernel, add fixed-clock and clock-frequency
properties to all of the clocks.

The values are taken from the ast2500evb. This is the only upstream dts.
It also happens to match all of the systems I have seen so far.

Acked-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-04-07 11:14:50 +09:30
Andy Gross 21677ecca2 Revert "ARM: dts: qcom: msm8974: Add USB gadget nodes"
This reverts commit 769907ae6e.

This change caused issues with people using USB gadget for serial
consoles.  In addition, with the other USB changes coming in, it
makes sense to revert this patch and apply the new set as it
becomes ready.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-04-06 18:48:53 -05:00
Al Viro fccfb99508 Merge commit 'b4fb8f66f1ae2e167d06c12d018025a8d4d3ba7e' into uaccess.ia64
backmerge of mainline ia64 fix
2017-04-06 19:35:03 -04:00
Wadim Egorov 8150773244 ARM: dts: rockchip: Add support for PCM-947 carrier board
Add basic support for the PCM-947 carrier board, a RK3288 based development
board made by PHYTEC. This board works in a combination with
the phyCORE-RK3288 System on Module.

Following interfaces and devices are available on the PCM-947 carrier board:

  - 2x UART
  - micro SDMMC
  - USB host and USB otg
  - USB 3503 HSIC hub
  - Ethernet
  - 2nd alternative KSZ9031 ethernet phy
  - Display connectors: PHYTEC LVDS, DDG LVDS, parallel signals, HDMI
  - Parallel Camera CIF
  - SGTL5000-32QFN audio codec
  - 4x LEDs connected via PCA9533
  - 2 user buttons
  - Expansion connectors for WiFi and other modules
  - RTC RV-4162-C7
  - Resistive touch STMPE811
  - EEPROM M24C32

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-04-06 23:38:18 +02:00
Wadim Egorov 903d31e346 ARM: dts: rockchip: Add support for phyCORE-RK3288 SoM
The phyCORE-RK3288 is a SoM (System on Module) containing a RK3288 SoC.
The module can be connected to different carrier boards.
It can be also equipped with different RAM, SPI flash and eMMC variants.
The Rapid Development Kit option is using the following setup:

  - 1 GB DDR3 RAM (2 Banks)
  - 1x 4 KB EEPROM
  - DP83867 Gigabit Ethernet PHY
  - 16 MB SPI Flash
  - 4 GB eMMC Flash

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-04-06 23:24:49 +02:00
Al Viro 054838bc01 Merge commit 'fc69910f329d' into uaccess.mips
backmerge of a build fix from mainline
2017-04-06 02:07:33 -04:00
Russell King 3872fe83a2 Merge branch 'kprobe-fixes' of https://git.linaro.org/people/tixy/kernel into fixes 2017-04-05 23:43:03 +01:00
Geert Uytterhoeven eb77d7260c ARM: dts: r8a7791: Drop _clk suffix from external CAN clock node name
The current practice is to not add _clk suffixes to clock node names in
DT, as these names are used as the actual clock names.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-05 14:16:34 -04:00
Geert Uytterhoeven 5b476a9610 ARM: dts: r8a7790: Drop _clk suffix from external CAN clock node name
The current practice is to not add _clk suffixes to clock node names in
DT, as these names are used as the actual clock names.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-05 14:16:02 -04:00
Jacopo Mondi e533a459f0 ARM: dts: genmai: Enable rtc and rtc_x1 clock
Enable the 32.768 kHz RTC_X1 clock by setting the frequency value to
non-zero and enable the realtime clock.

Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-05 14:15:08 -04:00
Dmitry Torokhov d99caa472c Input: eeti_ts - switch to gpiod API
gpiod API allows standard way of specifying GPIO polarity and takes it into
account when reading or setting GPIO state. It also allows us to switch to
common way of obtaining GPIO descriptor and away form legacy platform data.

Reviewed-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-04-05 08:52:33 -07:00
Dmitry Torokhov d422be5f62 Input: eeti_ts - expect platform code to set interrupt trigger
Instead of keying interrupt trigger off GPIO polarity, let's rely on
platform code to set it up properly for us.

Reviewed-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-04-05 08:52:13 -07:00
Ralph Sennhauser 34240c26d1 ARM: dts: armada-385-linksys: disk-activity trigger for all
Commit a4ee7e18d8 ("ARM: dts: armada: Add default trigger for sata
led") adds the default trigger to individual boards, move it to
armada-385-linksys.dtsi which effectively enables the definition for
the WRT1900ACS (Shelby) as well as for future boards.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-04-05 17:25:17 +02:00
Radim Krčmář 6fd6410311 KVM/ARM Fixes for v4.11-rc6
Fixes include:
  - Fix a problem with GICv3 userspace save/restore
  - Clarify GICv2 userspace save/restore ABI
  - Be more careful in clearing GIC LRs
  - Add missing synchronization primitive to our MMU handling code
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJY5MItAAoJEEtpOizt6ddy4mUH/1Z2rt2mUAYFQpWD/vy9WMxf
 zJKMtcLlZZGjeU78zFfWuOxEo1bbDO+tOTV1docNnY8xjyszCZ5XKOqMeo2a7Vfh
 1QYHxJTOmgxcRmMsOnJpqUXhhYm9hDxrbU88U/wvoNllLjWBea01ZXiJbWFPBssT
 jrdtcCVstDGp3x3D91RgYNNzj9jNw80RBekACZZwYokDRpBZyUb8DYKfUgABFEKT
 UPiHrxb8UOVqvbCuXMBNzhUZcuMoAh3oY02R9sV7u1QOXAJYfRV4fOV12fIcYbHf
 tnyU8cCxEkSI1pHrpVG6SStcMt8yznQ+UPo0okQNBJXim2yI8+QKHtQlvx7Tjo8=
 =tPDd
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-for-v4.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm

From: Christoffer Dall <cdall@linaro.org>

KVM/ARM Fixes for v4.11-rc6

Fixes include:
 - Fix a problem with GICv3 userspace save/restore
 - Clarify GICv2 userspace save/restore ABI
 - Be more careful in clearing GIC LRs
 - Add missing synchronization primitive to our MMU handling code
2017-04-05 16:27:47 +02:00
Fabien DESSENNE 8fbbcbdd1d ARM: configs: stm32: Add crypto support
Add STM32 crypto support in stm32_defconfig file.

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-04-05 21:58:34 +08:00
Fabien DESSENNE 2e3db29318 ARM: dts: stm32: enable CRC on stm32746g-eval board
Enable the CRC (CRC32 crypto) on stm32746g-eval board

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-04-05 21:58:34 +08:00
Fabien DESSENNE 115d691fc3 ARM: dts: stm32: Add CRC support to stm32f746
Add CRC (CRC32 crypto) support to stm32f746.

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-04-05 21:58:34 +08:00
Quentin Schulz 367d2b0cb1 ARM: sun8i: sina33: add highest OPP of CPUs
The A33 supports 1.1GHz and 1.2GHz frequencies at 1.32V and the Sinlinx
SinA33 has its cpu-supply property set in the cpu DT node.

Therefore, CPUfreq knows how to handle the regulator in charge of the
CPU and can adjust its voltage to match the OPP.

Add these two CPU frequencies to the CPU OPP table of the Sinlinx
SinA33.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-05 14:11:36 +02:00
Maxime Ripard e846011ee2 ARM: sun8i: a33: Add devfreq-based GPU cooling
This adds GPU thermal throttling for the Allwinner A33.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
2017-04-05 14:11:19 +02:00
Quentin Schulz a5ce7a3d44 ARM: sun8i: a33: add CPU thermal throttling
This adds CPU thermal throttling for the Allwinner A33. It uses the
thermal sensor present in the SoC's GPADC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-05 14:07:52 +02:00
Quentin Schulz a424f635a7 ARM: sun8i: a33: add thermal sensor
This adds the DT node for the thermal sensor present in the Allwinner
A33 GPADC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-05 14:06:54 +02:00
Ard Biesheuvel 138728dd4e efi/arm-stub: Correct FDT and initrd allocation rules for arm64
On arm64, we have made some changes over the past year to the way the
kernel itself is allocated and to how it deals with the initrd and FDT.
This patch brings the allocation logic in the EFI stub in line with that,
which is necessary because the introduction of KASLR has created the
possibility for the initrd to be allocated in a place where the kernel
may not be able to map it. (This is mostly a theoretical scenario, since
it only affects systems where the physical memory footprint exceeds the
size of the linear mapping.)

Since we know the kernel itself will be covered by the linear mapping,
choose a suitably sized window (i.e., based on the size of the linear
region) covering the kernel when allocating memory for the initrd.

The FDT may be anywhere in memory on arm64 now that we map it via the
fixmap, so we can lift the address restriction there completely.

Tested-by: Richard Ruigrok <rruigrok@codeaurora.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/20170404160245.27812-4-ard.biesheuvel@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-04-05 12:27:23 +02:00
Patrick Menschel cb44b46d8e ARM: dts: sun7i: fix device node ordering
This patch changes the device node position of ps20 and ps21 to fix
ordering by rising physical address.

From

uart7: serial@01c29c00
i2c0: i2c@01c2ac00
i2c1: i2c@01c2b000
i2c2: i2c@01c2b400
i2c3: i2c@01c2b800
i2c4: i2c@01c2c000
gmac: ethernet@01c50000
hstimer@01c60000
gic: interrupt-controller@01c81000
ps20: ps2@01c2a000
ps21: ps2@01c2a400

to

uart7: serial@01c29c00
ps20: ps2@01c2a000
ps21: ps2@01c2a400
i2c0: i2c@01c2ac00
i2c1: i2c@01c2b000
i2c2: i2c@01c2b400
i2c3: i2c@01c2b800
i2c4: i2c@01c2c000
gmac: ethernet@01c50000
hstimer@01c60000
gic: interrupt-controller@01c81000

Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-05 08:20:52 +02:00
Patrick Menschel a2294bd618 ARM: dts: sun4i: fix device node ordering
This patch changes the device node position of ps20 and ps21 to fix
ordering by rising physical address.

From

uart7: serial@01c29c00
i2c0: i2c@01c2ac00
i2c1: i2c@01c2b000
i2c2: i2c@01c2b400
ps20: ps2@01c2a000
ps21: ps2@01c2a400

to

uart7: serial@01c29c00
ps20: ps2@01c2a000
ps21: ps2@01c2a400
i2c0: i2c@01c2ac00
i2c1: i2c@01c2b000
i2c2: i2c@01c2b400

Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-05 08:20:30 +02:00
Chris Brandt 931f3dc3f0 ARM: dts: rskrza1: add rtc DT support
Enable the realtime clock.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-04 13:07:55 -04:00
Chris Brandt f90c36448a ARM: dts: rskrza1: set rtc_x1 clock value
Enable the 32.768 kHz RTC_X1 clock by setting the frequency value to
non-zero.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-04 12:58:50 -04:00
Chris Brandt 3b5e3f0455 ARM: dts: r7s72100: add rtc to device tree
Add the realtime clock device node.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-04 12:58:37 -04:00
Chris Brandt deddcb891d ARM: dts: r7s72100: add RTC_X clock inputs to device tree
Add the RTC clocks to device tree. The frequencies must be fixed values
according to the hardware manual.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-04 12:58:02 -04:00
Chris Brandt 929ded3dd7 ARM: dts: r7s72100: add rtc clock to device tree
Add the realtime clock functional clock source.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-04 12:57:24 -04:00
Geert Uytterhoeven ebf06af55c ARM: dts: koelsch: Correct clock frequency of X2 DU clock input
The X2 crystal oscillator on the Koelsch development board provides a
74.25 MHz clock, not a 148.5 MHz clock.

Fixes: cd21cb46e1 ("ARM: shmobile: koelsch: Add DU external pixel clocks to DT")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-04 12:55:33 -04:00
Tony Lindgren 22d653429e ARM: dts: omap4-droid4: Stop disabling SRAM and GPMC
I disabled SRAM and GPMC originally when seeing errors with
omap_barriers_init(). But that is no longer happening probably
because the memory range is now properly configured to 1021 MB
instead of 1024 MB. So let's enable SRAM and GPMC so we get
omap_barriers_init() working and can idle the GPMC.

Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-04 09:22:30 -07:00
Tony Lindgren 4fd14a4954 ARM: dts: omap4-droid4: Fix interrupt triggering for cpcap
The CPCAP PMIC interrupt is level high sensitive despite it being
requested as edge high triggered in the Motorola Linux kernel.

Note that also the related driver change is needed posted as
"mfd: cpcap: Fix interrupt to use level interrupt".

Fixes: 56e1d40d3b ("mfd: cpcap: Add minimal support")
Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-04 09:22:25 -07:00
Dave Gerlach ae3874cc93 ARM: keystone: Drop PM domain support for k2g
K2G will use a different power domain driver than the rest of the
keystone family in order to make use of the TI SCI protocol so prevent
the standard keystone pm_domain code from registering itself in
preparation for a new driver.

Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-04-04 08:59:28 -07:00
Dave Gerlach 52835d59fc soc: ti: Add ti_sci_pm_domains driver
Introduce a ti_sci_pm_domains driver to act as a generic pm domain
provider to allow each device to attach and associate it's ti-sci-id so
that it can be controlled through the TI SCI protocol.

This driver implements a simple genpd where each device node has a
phandle to the power domain node and also must provide an index which
represents the ID to be passed with TI SCI representing the device using
a single phandle cell. The driver manually parses the phandle to get the
cell value. Through this interface the genpd dev_ops start and stop
hooks will use TI SCI to turn on and off each device as determined by
pm_runtime usage.

Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-04-04 08:59:27 -07:00
Roger Quadros 7faddeb460 ARM: omap2plus_defconfig: Enable TI Ethernet PHY
DP83848_PHY i.e. [TI TLK10X 10/100 Mbps PHY] is used on the
am335x-icev2 board. Enable the PHY driver for it.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-04 08:58:32 -07:00
Roger Quadros c0bde0bf2b ARM: dts: am335x-icev2: Add CPSW ethernet0 and ethernet1
Enable the 2 ethernet ports as CPSW ports in dual-mac mode

Signed-off-by: Roger Quadros <rogerq@ti.com>
[nsekhar@ti.com: use AM33XX_IOPAD()]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-04 08:57:21 -07:00
Schuyler Patton 0e1b211693 ARM: dts: am57xx-idk: Add DCAN support
AM571x IDK and the AM572x IDK use CAN1 interface.
This patch enables it for both boards.

Tested on AM572x IDK using cansequence.

Signed-off-by: Schuyler Patton <spatton@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
[nsekhar@ti.com: move to use DRA7XX_CORE_IOPAD())
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-04 08:53:27 -07:00
Dave Gerlach 04abaf07f6 ARM: OMAP2+: omap_device: Sync omap_device and pm_runtime after probe defer
Starting from commit 5de85b9d57 ("PM / runtime: Re-init runtime PM
states at probe error and driver unbind") pm_runtime core now changes
device runtime_status back to after RPM_SUSPENDED after a probe defer.
Certain OMAP devices make use of "ti,no-idle-on-init" flag which causes
omap_device_enable to be called during the BUS_NOTIFY_ADD_DEVICE event
during probe, along with pm_runtime_set_active.

This call to pm_runtime_set_active typically will prevent a call to
pm_runtime_get in a driver probe function from re-enabling the
omap_device. However, in the case of a probe defer that happens before
the driver probe function is able to run, such as a missing pinctrl
states defer, pm_runtime_reinit will set the device as RPM_SUSPENDED and
then once driver probe is actually able to run, pm_runtime_get will see
the device as suspended and call through to the omap_device layer,
attempting to enable the already enabled omap_device and causing errors
like this:

omap-gpmc 50000000.gpmc: omap_device: omap_device_enable() called from
invalid state 1
omap-gpmc 50000000.gpmc: use pm_runtime_put_sync_suspend() in driver?

We can avoid this error by making sure the pm_runtime status of a device
matches the omap_device state before a probe attempt. By extending the
omap_device bus notifier to act on the BUS_NOTIFY_BIND_DRIVER event we
can check if a device is enabled in omap_device but with a pm_runtime
status of RPM_SUSPENDED and once again mark the device as RPM_ACTIVE to
avoid a second incorrect call to omap_device_enable.

Fixes: 5de85b9d57 ("PM / runtime: Re-init runtime PM states at probe
error and driver unbind")
Tested-by: Franklin S Cooper Jr. <fcooper@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-04-04 08:49:56 -07:00
Icenowy Zheng d7bb5b9661 ARM: sunxi: h3/h5: switch apb0-related clocks to r_ccu
Now we have driver for the PRCM CCU, switch to use it instead of
old-style clock nodes for apb0-related clocks in sunxi-h3-h5.dtsi .

The mux 3 of R_CCU is still the internal oscillator, which is said to be
16MHz plus minus 30%, and get a measured value of 15MHz~16MHz on my two
H3 boards and one H5 board.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-04 17:45:24 +02:00
Patrick Menschel 86daa3d30b ARM: dts: sun7i: Add can0_pins_a pinctrl settings
The A20 SoC has an on-board CAN controller. This patch adds
the pinctrl settings for pins PH20 and PH21.

This patch is adapted from the description in
Documentation/devicetree/bindings/net/can/sun4i_can.txt

Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-04 17:42:22 +02:00
Patrick Menschel d2a20efbb1 ARM: dts: sun7i: Add CAN node
The A20 SoC has an on-board CAN controller.
This patch adds the device node.

The CAN controller is inherited from the A10 SoC and uses the same driver.

This patch is adapted from the description in
Documentation/devicetree/bindings/net/can/sun4i_can.txt

Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-04 17:42:10 +02:00
Patrick Menschel 908370f6cd ARM: dts: sun4i: Add can0_pins_a pinctrl settings
The A10 SoC has an on-board CAN controller. This patch adds the
pinctrl settings for pins PH20 and PH21.

This patch is adapted from the description in
Documentation/devicetree/bindings/net/can/sun4i_can.txt

Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-04 17:41:48 +02:00
Patrick Menschel adb83474c1 ARM: dts: sun4i: Add CAN node
The A10 SoC has an on-board CAN controller.
This patch adds the device node.

This patch is adapted from the description in
Documentation/devicetree/bindings/net/can/sun4i_can.txt

Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-04 17:41:47 +02:00
Mauro Carvalho Chehab 7ca0ef3da0 Linux 4.11-rc5
-----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJY4ZYkAAoJEHm+PkMAQRiGsq4H/R4PMXDoe2XhSSk7IoT97pXV
 /A8np/scAPjzEgYUidbb54OSqWwsPRuPGWONTFeSrE2u0L4wln/REI91jg7QetLq
 IisncExlYeJ/XQ+iO0ZZh9fLbqwIlEJFdSXmyIFr3m/TBxe8a61C8j93oNgM1tHT
 yuwzlq7c3sLq2hsmUG2HyL2kJsEfRasv4Rk0yhFuti12zVsBoTW4qmZuMauq+gdf
 f7cSYgiHhPTdb2o+azg5O7uYNHaQQBxdUMlIuhhYtVOUq+pFDO23SLHSFIW2NwOm
 Zn5R6CFSrLsCw0Bx0v8Xlc151QUbaRK4h9lhUhkBr6d3uNShU1NQ9JojpSvYwBo=
 =vP6E
 -----END PGP SIGNATURE-----

Merge tag 'v4.11-rc5' into patchwork

Linux 4.11-rc5

* tag 'v4.11-rc5': (1168 commits)
  Linux 4.11-rc5
  tty: pl011: fix earlycon work-around for QDF2400 erratum 44
  kasan: do not sanitize kexec purgatory
  drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
  mm/hugetlb.c: don't call region_abort if region_chg fails
  kasan: report only the first error by default
  hugetlbfs: initialize shared policy as part of inode allocation
  mm: fix section name for .data..ro_after_init
  mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd()
  mm: workingset: fix premature shadow node shrinking with cgroups
  mm: rmap: fix huge file mmap accounting in the memcg stats
  mm: move mm_percpu_wq initialization earlier
  mm: migrate: fix remove_migration_pte() for ksm pages
  nfs: flexfiles: fix kernel OOPS if MDS returns unsupported DS type
  NFSv4.1 fix infinite loop on IO BAD_STATEID error
  serial: 8250_EXAR: fix duplicate Kconfig text and add missing help text
  tty/serial: atmel: fix TX path in atmel_console_write()
  tty/serial: atmel: fix race condition (TX+DMA)
  serial: mxs-auart: Fix baudrate calculation
  irqchip/mips-gic: Fix Local compare interrupt
  ...
2017-04-04 11:11:43 -03:00
Jon Hunter 7e10cf7436 soc/tegra: Move Tegra flowctrl driver
The flowctrl driver is required for both ARM and ARM64 Tegra devices
and in order to enable support for it for ARM64, move the Tegra flowctrl
driver into drivers/soc/tegra.

By moving the flowctrl driver, tegra_flowctrl_init() is now called by
via an early initcall and to prevent this function from attempting to
mapping IO space for a non-Tegra device, a test for 'soc_is_tegra()'
is also added.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-04-04 15:48:04 +02:00
Jon Hunter 07d76e953b ARM: tegra: Remove unnecessary inclusion of flowctrl header
The Tegra flowctrl.h header is included unnecessarily by the Tegra
sleep.S source file. Remove this unnecessary inclusion.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-04-04 15:43:52 +02:00
Martin Kaiser 24bb244e02 ARM: i.MX25: globally disable supervisor protect
The problem described in commit 6befda9a27 ("ARM: i.MX53: globally
disable supervisor protect") for the i.MX53 platform applies to i.MX25
as well.

E.g. CSPI1+SDMA and SSI1+SDMA are not working with the default AIPS
configuration. Modifiy the AIPS configuration to allow access to the bus
by SDMA and peripherals.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-04-04 21:11:16 +08:00
Christoffer Dall 5b0d2cc280 KVM: arm64: Ensure LRs are clear when they should be
We currently have some code to clear the list registers on GICv3, but we
never call this code, because the caller got nuked when removing the old
vgic.  We also used to have a similar GICv2 part, but that got lost in
the process too.

Let's reintroduce the logic for GICv2 and call the logic when we
initialize the use of hypervisors on the CPU, for example when first
loading KVM or when exiting a low power state.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-04-04 14:33:58 +02:00
Suzuki K Poulose 8b3405e345 kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd
In kvm_free_stage2_pgd() we don't hold the kvm->mmu_lock while calling
unmap_stage2_range() on the entire memory range for the guest. This could
cause problems with other callers (e.g, munmap on a memslot) trying to
unmap a range. And since we have to unmap the entire Guest memory range
holding a spinlock, make sure we yield the lock if necessary, after we
unmap each PUD range.

Fixes: commit d5d8184d35 ("KVM: ARM: Memory virtualization setup")
Cc: stable@vger.kernel.org # v3.10+
Cc: Paolo Bonzini <pbonzin@redhat.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
[ Avoid vCPU starvation and lockup detector warnings ]
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-04 14:33:50 +02:00
Dmitry Torokhov 2d38849989 Input: eeti_ts - respect interrupt set in client structure
Instead of expecting that GPIO is always interrupt source, let's use
interrupt specified in I2C client.

Reviewed-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-04-03 16:24:33 -07:00
Alexander Syring 47a6b0ef3c ARM: sun7i: cubietruck: enable ACIN und USB power supply subnode
The Cubietruck has an AXP209 PMIC and can be power-supplied by ACIN via
 the CHG-IN pin or by USB.

This enables the ACIN and the USB power supply subnode in the DT.

Signed-off-by: Alexander Syring <alex@asyring.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-04-03 13:47:44 +02:00
Geert Uytterhoeven 57ff9d736e ARM: dts: r8a7794: Add Z2 clock
Add the Z2 clock (Cortex-A7 CPU core clock), which uses a fixed divider,
and link the first CPU node to it.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-03 06:34:24 -04:00
Geert Uytterhoeven 7b39e985cf ARM: dts: r8a7792: Correct Z clock
Unlike other R-Car Gen2 SoCs with Cortex-A15 CPU cores, R-Car V2H does
not have a programmable Z clock (Cortex-A15 CPU core clock), but uses a
fixed divider.
This is similar to the Z2 clock (Cortex-A7 CPU core clock) on R-Car E2.

Hence:
  - Remove the Z clock output from the cpg_clocks node, as this implied
    a programmable clock,
  - Add the Z clock as a fixed factor clock,
  - Let the first CPU node point to the new Z clock,
  - Remove the Z clock index from the bindings (this definition was used
    by r8a7792.dtsi only, and was not a contract between DT and driver).

Fixes: 7c4163aae3 ("ARM: dts: r8a7792: initial SoC device tree")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-03 06:33:23 -04:00
Geert Uytterhoeven 1cd9028027 ARM: dts: r8a7793: Correct parent of SSI[0-9] clocks
The SSI-ALL gate clock is located in between the P clock and the
individual SSI[0-9] clocks, hence the former should be listed as their
parent.

Fixes: 072d326542 ("ARM: dts: r8a7793: add MSTP10 clocks to device tree")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-03 06:32:54 -04:00
Geert Uytterhoeven 16fe68dcab ARM: dts: r8a7791: Correct parent of SSI[0-9] clocks
The SSI-ALL gate clock is located in between the P clock and the
individual SSI[0-9] clocks, hence the former should be listed as their
parent.

Fixes: ee9141522d ("ARM: shmobile: r8a7791: add MSTP10 support on DTSI")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-03 06:32:43 -04:00
Geert Uytterhoeven d13d4e063d ARM: dts: r8a7790: Correct parent of SSI[0-9] clocks
The SSI-ALL gate clock is located in between the P clock and the
individual SSI[0-9] clocks, hence the former should be listed as their
parent.

Fixes: bcde372254 ("ARM: shmobile: r8a7790: add MSTP10 support on DTSI")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-03 06:32:33 -04:00
Chris Brandt 91a7c50cb4 ARM: dts: r7s72100: fix ethernet clock parent
Technically, the Ethernet block is run off the 133MHz Bus (B) clock, not
the 33MHz Peripheral 0 (P0) clock.

Fixes: 969244f9c7 ("ARM: dts: r7s72100: add ethernet clock to device tree")
Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-04-03 06:16:35 -04:00
Bruno Herrera b1f81e0ccb ARM: dts: stm32: Enable USB HS in FS mode (embedded phy) on stm32f429-disco
This patch enables USB HS working in FS mode on stm32f429-disco
with 5V VBUS enable.

Signed-off-by: Bruno Herrera <bruherrera@gmail.com>
Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-04-03 10:28:18 +02:00
Bruno Herrera c888cc51cf ARM: dts: stm32: Enable USB FS on stm32f469-disco
This patch enables USB FS on stm32f469-disco with 5V VBUS enable.

Signed-off-by: Bruno Herrera <bruherrera@gmail.com>
Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-04-03 10:28:13 +02:00
Bruno Herrera cd9ef1eff0 ARM: dts: stm32: Add USB FS support for STM32F429 MCU
This patch adds the USB pins and nodes for USB FS core.

Signed-off-by: Bruno Herrera <bruherrera@gmail.com>
Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-04-03 10:28:04 +02:00
Peter Zijlstra b5effd3815 debug: Fix __bug_table[] in arch linker scripts
The kbuild test robot reported this build failure on a number
of architectures:

 >         make.cross ARCH=arm
 >    lib/lib.a(bug.o): In function `find_bug':
 > >> lib/bug.c:135: undefined reference to `__start___bug_table'
 > >> lib/bug.c:135: undefined reference to `__stop___bug_table'

Caused by:

  19d436268d ("debug: Add _ONCE() logic to report_bug()")

Which moved the BUG_TABLE from RO_DATA_SECTION() to RW_DATA_SECTION(),
but a number of architectures don't use RW_DATA_SECTION(), so they
ended up with no __bug_table[] ...

Ideally all those would use RW_DATA_SECTION() in their linker scripts,
but that's for another day.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kbuild test robot <fengguang.wu@intel.com>
Cc: kbuild-all@01.org
Cc: tipbuild@zytor.com
Link: http://lkml.kernel.org/r/20170330154927.o6qmgfp4bdhrajbm@hirez.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-04-03 10:22:40 +02:00
Antoine Tenart ffdc394e1b ARM: dts: alpine: add valid clock-frequency values
Update the Alpine clock-frequency values with valid default values. The
bootloader can still update these values if needed, but at least we can
boot if it does not.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
2017-04-03 09:06:55 +02:00
Antoine Tenart 5254588801 ARM: dts: alpine: add spaces before the uart node units.
Cosmetic cleanup to have consistent node definitions. Add a space before
the node units which do not have one.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
2017-04-03 09:06:53 +02:00
Antoine Tenart 70c4b99a3a ARM: dts: alpine: remove 0x's from the uart1 node unit address
Remove 0x's from the uart1 node unit address to have consistent nodes.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
2017-04-03 09:06:49 +02:00
Al Viro bee3f412d6 Merge branch 'parisc-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux into uaccess.parisc 2017-04-02 10:33:48 -04:00
Linus Torvalds 0fc04f9113 sound fixes for 4.11-rc5
At this time, most of changes are for ASoC, while we got one fix for
 yet another race of ALSA sequencer core and a usual HD-audio quirk.
 
 The ASoC changes are mostly small and device-specific fixes.  A
 slightly large volume is seen in sun8i-codec, which is a new code in
 4.11, and we'd like to fix user-visible stuff before the official 4.1
 release.
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCAAsFiEECxfAB4MH3rD5mfB6bDGAVD0pKaQFAljeLGMOHHRpd2FpQHN1
 c2UuZGUACgkQbDGAVD0pKaSqhhAArkaOfZ/5Dz+ejvjhvYO/usH0eTEmi6KaE/Ra
 5Vl7WrnixcpXvIu6MwDJCcgCMuayJ83K3GC3PoER9FPXSJJAiowzmDRRuTfUzyQP
 JzgR9DPuRrbk+ErOn/gK1P1PHVQjMXB5U+L67oV+FTbcqdATQGVQqDqaQH+jX9MD
 ymMzrd0hR6gFbxKFCO5Pg+BQIyIo7ZzrD8hYHsvFKA5i/NIxQFHvnae2NzBytn8Q
 NnXbBN6Cnf3h6M/+oYnW5FQ4Ik6jhH4iuXe2XrGY03NoN5t2eXe1247bK3ty/9i+
 OCBwuFDadOnfkABr0xDMZGaCrbdMdUlh78SLEapszcuTvNrnW3zbul9WXIrDO/tn
 MfRJwfAcoc7FzhmrFSGlicNAqUFMU5HkO7atQyu/FafN3Q5vUhV1+yVZKZsXbJm/
 pOxOSdt2PCQeA8WZhT5GoP8uPTyu+EW4wU93Gy1Fj1YjmkYh65kmDQRCHTZu6l7u
 T/hZtBrQDkalExxGVGkrIG6P3Fi+g/ztBIM70XkxAIVLclKOru+ghwNt0ru0ltOb
 ayr01QdLlSAx1MCvHnWvQmNIyPvKJKAOz8geBtY0fEXdrivnYv9nSXbXyq+SXYfk
 4sTDbgo9+VUHv8LO3K/BDUqcpaES4bgHIFbS7IO3hqL7t6xdR5+QtwDr+GAJV27e
 P5NHP4s=
 =qutY
 -----END PGP SIGNATURE-----

Merge tag 'sound-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "At this time, most of changes are for ASoC, while we got one fix for
  yet another race of ALSA sequencer core and a usual HD-audio quirk.

  The ASoC changes are mostly small and device-specific fixes. A
  slightly large volume is seen in sun8i-codec, which is a new code in
  4.11, and we'd like to fix user-visible stuff before the official 4.1
  release"

* tag 'sound-4.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (27 commits)
  ALSA: hda - fix a problem for lineout on a Dell AIO machine
  ASoC: simple-card: fix simple_dai clk lookup
  ASoC: STI: Fix reader substream pointer set
  ALSA: seq: Fix race during FIFO resize
  ARM: dts: sun8i: Update audio-routing with renamed widgets
  ASoC: sun8i-codec: Convert to use SND_SOC_DAPM_AIF_IN
  ASoC: sun8i-codec: Fix space on audio-routing widget
  ASoC: sun8i-codec: Update mixer to use SOC_DAPM_DOUBLE
  ASoC: sun8i-codec: Remove analog "HP" widget
  ASoC: rt5665: fix wrong shift rt5665_if2_1_adc_in_enum
  ASoC: rt5665: fix define of RT5665_HP_DRIVER_5X
  ASoC: rcar: dma: remove unnecessary "volatile"
  ASoC: rcar: clear DE bit only in PDMACHCR when it stops
  ASoC: rsnd: fix sound route path when using SRC6/SRC9
  ASoC: don't dereference NULL pcm_{new,free}
  ASoC: rt5665: CLKDET is also a power of ASRC
  ASoC: rt5665: Vref3 is necessary for Mono Amp
  ASoC: rt5665: increase LDO level
  ASoC: rt5665: fix getting wrong work handler container
  ASoC: atmel-classd: fix audio clock rate
  ...
2017-03-31 11:53:49 -07:00
Alexandre Belloni b32de9dd38 ARM: at91: move SoC detection to its own driver
To simplify machine init and as the soc_device struct is not used as the
parent for on-chip devices anymore, move SoC detection to its own driver.

Change in dmesg:
 - before:
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: Detected SoC family: sama5d2
AT91: Detected SoC: sama5d27, revision 0
No ATAGs?
clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 184217874325 ns
at_xdmac f0010000.dma-controller: 16 channels, mapped at 0xe085b000
SCSI subsystem initialized

 - after:
DMA: preallocated 256 KiB pool for atomic coherent allocations
No ATAGs?
clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 184217874325 ns
at_xdmac f0010000.dma-controller: 16 channels, mapped at 0xe0859000
AT91: Detected SoC family: sama5d2
AT91: Detected SoC: sama5d27, revision 0
SCSI subsystem initialized

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:10 +02:00
Alexandre Belloni 8c9290aee1 ARM: at91: pm: correct typo
Add a missing bracket at the end of Anti's email

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:10 +02:00
Alexandre Belloni e56d75a9cf ARM: at91: pm: Remove at91_pm_set_standby
Merge at91_pm_set_standby() in at91_dt_ramc as this is the only callsite.
That moves it to the init section.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:09 +02:00
Alexandre Belloni 1346919285 ARM: at91: pm: Merge all at91sam9*_pm_init
The PM initialization is now identical for all at91sam9. Merge the
functions.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:09 +02:00
Alexandre Belloni 13f16017d3 ARM: at91: pm: Tie the USB clock mask to the pmc
The USB clocks mask (uhp_udp_mask) depends on the pmc. Tie it to the pmc id
instead of the SoC.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:08 +02:00
Alexandre Belloni aab02d611f ARM: at91: pm: Tie the memory controller type to the ramc id
Instead of relying on the SoC type to select the memory controller type,
use the device tree ids as they are parsed anyway.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:08 +02:00
Alexandre Belloni 56387634b7 ARM: at91: pm: Workaround DDRSDRC self-refresh bug with LPDDR1 memories.
As already explained for pm_suspend.S, the DDRSDR controller fails to put
LPDDR1 memories in self-refresh. Force the controller to think it has DDR2
memories during the self-refresh period, as the DDR2 self-refresh spec is
equivalent to LPDDR1, and is correctly implemented in the controller.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:07 +02:00
Alexandre Belloni 5a2d4f053f ARM: at91: pm: Simplify at91rm9200_standby
Since 2008, AT91_MC_SDRAMC_LPR is set to 0 at kernel initialization. There
is no use saving, changing and restoring it.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:06 +02:00
Alexandre Belloni 65cc1a59d1 ARM: at91: pm: Use struct at91_pm_data in pm_suspend.S
The number of register we can safely pass to at91_pm_suspend_in_sram is
limited. Instead, pass the address to the at91_pm_data structure.

The offsets are automatically generated to avoid hardcoding them.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:05 +02:00
Alexandre Belloni 9e07c3ce2c ARM: at91: pm: Move global variables into at91_pm_data
Instead of having separate global variables to hold IP addresses, move them
to struct at91_pm_data.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:05 +02:00
Alexandre Belloni 4d767bc3c3 ARM: at91: pm: Move at91_ramc_read/write to pm.c
Those macros are only used in pm.c, move them there so we can remove the
test on __ASSEMBLY__.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:04 +02:00
Alexandre Belloni 9824c447aa ARM: at91: pm: Cleanup headers
Remove unnecessary header inclusions and reorder the remaining ones.

Acked-by: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-31 20:36:04 +02:00
Alexandre TORGUE a1365c4081 ARM: configs: Add new config fragment to change RAM start point
Add a new fragment to over-ride the RAM start point to 0xd0000000.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-31 14:19:40 +02:00
M'boumba Cedric Madianga 0899cd2a5f ARM: configs: stm32: Add I2C support
This patch adds I2C support for STM32 default configuration

Signed-off-by: M'boumba Cedric Madianga <cedric.madianga@gmail.com>
Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-31 14:19:18 +02:00
Arnd Bergmann 4a85aae62c multi_v7_defconfig: make Rockchip DRM drivers built-in
These cause warnings in linux-next, as the symbols have become 'bool' there:

arch/arm/configs/multi_v7_defconfig:600:warning: symbol value 'm' invalid for ROCKCHIP_INNO_HDMI
arch/arm/configs/multi_v7_defconfig:599:warning: symbol value 'm' invalid for ROCKCHIP_DW_MIPI_DSI
arch/arm/configs/multi_v7_defconfig:598:warning: symbol value 'm' invalid for ROCKCHIP_DW_HDMI
arch/arm/configs/multi_v7_defconfig:597:warning: symbol value 'm' invalid for ROCKCHIP_ANALOGIX_DP

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-31 12:30:03 +02:00
Arnd Bergmann 3f5099f0c7 Merge tag 'arm-soc/for-4.11/devicetree-fixes' of http://github.com/Broadcom/stblinux into fixes
There was a little conflict between the v4.11 bugfixes and the new changes for 4.12,
this merges the fixes into the 4.12 branch to avoid having to resolve it again.

* Broadcom fixes in mainline
  ARM: dts: BCM5301X: Correct GIC_PPI interrupt flags
  ARM: dts: BCM5301X: Fix memory start address
  ARM: dts: BCM5301X: Fix UARTs on bcm953012k

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-31 12:19:39 +02:00
Arnd Bergmann 944d01c5f5 Devicetree changes for omaps for v4.12 merge window:
- Add hecc node for am35x
 
 - Add onenand support for omap3-igep
 
 - Add bluetooth binding for n900/n9/n950
 
 - Configure clocks and SATA for dm81xx
 
 - Update operating points tables for am33xx, am43xx and dra7
 
 - Update SPI flash documentation for w25q64
 
 - Configure SPI NOR for am335x-icev2
 
 - Mux uart0 for am437x-gp-evm
 
 - Add thermal zones for omap3, omap4, omap5, dra7
 
 - Configure LEDs for am335x-baltos
 
 - A series of droid 4 changes to configure various devices
   such as keypad, regulators, gpio-keys, rtc, power button,
   compass, accelerometer, touchscreen, backlight, poweroff,
   tmp105, HDMI, LCD panel and LEDs, EHCI, and micro-SD
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlja1soRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPS9hAAsFKL0gkbNG+u0P12y73IShSgt0Xhffmq
 ChwdxMsRrPi5IJEOyPjcn3/HzWibBb/v+do1LIIM9i8Q+PchX+6DgssTYZEq5CAZ
 szMvwNfqrT2AmV2iwM4u6xOaM+hAY9RoAtYikQpJ8Wm6vH9Dgy1Ve4ge2NmKna6P
 0wnRJHIBJOzfGq4cP75QXqy2m/LJ4wwmP8pVzVa/9l/XtFlrsNT7n/kQ203PgYtR
 k/nkr/Z3XEyY/nCaKosUbHS6o+CCMcxpdF2RjWcrlqvHg4xdm8eB+ilJh3be0eWH
 7NMakynGXuqiI5lCqLeOpkBftD/kqSTojYuSY11nOhT+hHtoRe+KbOWYTf5UK7vb
 rGXERxoZYm0WVtePDPAb+cyc7XdPTmqkXMJwCBKfomcndgcSQJqYgeUv380+5blF
 76rhOq3xiKEDOPly8tjDS+4saZ+zEHj6dINhu+Lv56uQJCm0Y7o0j/RO4KMmZYAv
 Ht71lOM7xNEAhw/Opk03A1ERkQNDuK1lmjW4M5hmHDskboB0RLOnGBLDDvWBIH/Q
 H129hbDyEjEgMqgTuZi3cEt83jvQ0clzwjnmDDBW9O/nk1OpUHzPD4MMELNo+hBR
 g1BOKjAQ6nwN3yV9i+eyiY+nk822Hu1L5CpXXDrP0XZlVOhGFbSS+6/uCztfBhcl
 p7uZtAidu68=
 =CRcK
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.12/dt-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Pull "Devicetree changes for omaps for v4.12 merge window" from Tony Lindgren:

- Add hecc node for am35x

- Add onenand support for omap3-igep

- Add bluetooth binding for n900/n9/n950

- Configure clocks and SATA for dm81xx

- Update operating points tables for am33xx, am43xx and dra7

- Update SPI flash documentation for w25q64

- Configure SPI NOR for am335x-icev2

- Mux uart0 for am437x-gp-evm

- Add thermal zones for omap3, omap4, omap5, dra7

- Configure LEDs for am335x-baltos

- A series of droid 4 changes to configure various devices
  such as keypad, regulators, gpio-keys, rtc, power button,
  compass, accelerometer, touchscreen, backlight, poweroff,
  tmp105, HDMI, LCD panel and LEDs, EHCI, and micro-SD

* tag 'omap-for-v4.12/dt-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (35 commits)
  ARM: dts: am335x-baltos: add LED support
  ARM: dts: omap4-droid4: Fix MMC1 card for detect GPIO and regulator
  ARM: dts: OMAP4460: Thermal: Add slope and offset values
  ARM: dts: OMAP443x: Thermal: Add slope and offset values
  ARM: dts: OMAP5: Thermal: Add slope and offset values
  ARM: dts: DRA7: Thermal: Add slope and offset values
  ARM: dts: omap3: Add cpu_thermal zone
  ARM: dts: am437x-gp-evm: Add pinmux for uart0
  ARM: dts: am335x-icev2: Add SPI based NOR
  Documentation: devicetree: mtd: add w25q64 to list of supported SPI flashes
  ARM: dts: dra7: Add updated operating-points-v2 table for cpu
  ARM: dts: am4372: Update operating-points-v2 table for cpu
  ARM: dts: am335x-boneblack: Enable 1GHz OPP for cpu
  ARM: dts: am33xx: Add updated operating-points-v2 table for cpu
  ARM: dts: dm8168-evm: add SATA node
  ARM: dts: dm8168-evm: add the external reference clock for SATA
  ARM: dts: N9/N950: add bluetooth
  ARM: dts: N900: Add bluetooth
  ARM: dts: omap4-droid4: Configure EHCI so modems can be accessed
  ARM: dts: motorola-cpcap-mapphone: add LEDs
  ...
2017-03-31 12:11:03 +02:00
Arnd Bergmann 5ea67992f7 Contains one new board, the Tinkerboard from Asus based on the rk3288,
definitions for the mmc resets in the socs reset controller, sound
 support for the Rock2, dma support for mmc controllers on the rk3188
 and a led-fix for the MiQi board and and irq-fix for older Cortex-A9 socs.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAljY6NUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgTORB/49/3AhQ9neAjN5igVGMxv2PX5OPkYz07wJ
 AgPPyUDBchXIU2teAuPzv/T9rS0wAJR58qLL7JiYjYz+II/XE3qWJUjiT5p5mjsp
 ko4ijesWraf5C7z2ltL0T25lIyZwkjCJgjMzIxLMOsDgF4nN1yBxYh18CXXyc3sL
 G3GYVGwEAhM9EwFjzrpyL7guFe2ZiKAZ7QmVeLmsDT9goECgz1XebuM+3idbOwJB
 JjhmOmiSuUAHZO6o3soOZiDzb6xD9MELp/5a6MAoyoBWfnzHFtvsGwD/npDBEFB8
 7JP9z4tc+LgKlIjg3QWUU52FVm1vEKA8p7jMNLpZmlMkc7pNPjLf
 =oPg4
 -----END PGP SIGNATURE-----

Merge tag 'v4.12-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Pull "Rockchip dts32 updates for 4.12 part1" from Heiko Stübner:

Contains one new board, the Tinkerboard from Asus based on the rk3288,
definitions for the mmc resets in the socs reset controller, sound
support for the Rock2, dma support for mmc controllers on the rk3188
and a led-fix for the MiQi board and and irq-fix for older Cortex-A9 socs.

* tag 'v4.12-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: setup DMA-channels for mmc0 and emmc for rk3188
  ARM: dts: rockchip: fix PPI misconfiguration on Cortex-A9 socs
  ARM: dts: rockchip: add rk322x dw-mmc resets
  ARM: dts: rockchip: add rk3066/rk3188 dw-mmc resets
  ARM: dts: rockchip: add rk3036 dw-mmc resets
  ARM: dts: rockchip: add rk3288 dw-mmc resets
  ARM: dts: rockchip: add dts for RK3288-Tinker board
  dt-bindings: add rk3288-based Asus Tinker board
  ARM: dts: rockchip: fix the MiQi board's LED definition
  ARM: dts: rockchip: Add support for ES8388 to the Radxa Rock 2
2017-03-31 12:09:39 +02:00
Arnd Bergmann f63c00bcd1 DTS updates for the Gemini on top of the multiplatform base:
- Add the power controller to the DTS.
 - Augment the GPIO nodes to also include the Faraday
   compatible.
 - Add the PCI bus host and config to the Gemini device trees.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJY2WqsAAoJEEEQszewGV1zLDwP/jEiGTQwVdZZJO1/NfLlE4fv
 yXsA9Uu1BxB+n0XvcXL1+kSR3Bpn7ozl6cqPBvoaVYinafrPfQKJOn48Lmeory8x
 pswzdnG4vEiRka7z1WZjr9eAOIMeloYkl6KSkH+kJxQpJx5kHAehAeTPNJ5dwY2w
 WuKbVP2Fjgc6wtqVANGneeKGln1sdYHe5VoPov4SS4L/sWANUW2Zjdl9onnzJYHX
 NkEq5XwEafYcPOmbC1b8GgeU/UHLmkk1njfIHLlPwjcTqYaKZHa7C5TT2Uy459AO
 bgVE30StqzXIQBQGzIjN0CcJJabWYaF1RyI5qaoxWcGIATcZq2BmCAZpM6naMFvx
 EiHE/nAYoqpcGnfy8vOtqufVhi9Qpk3eGUqkcQoTClgPkiFdMVs60IbBAD38qOF6
 msOqj1l94YPimt3YdLRtZXq5vkw/446MrbLUdyJQ62N4xTZNkE+V0AHmmSJIDLKc
 1uaER+Wl+l7jQ2g5e2CobZEuVOsoFPc14xS0hsr5J4sA6DWU0LzUCEfUuiTuTBEB
 17ciL66LGCTvlz9ViHbdSg56ReRq+eCOQD5cSElF3UoWlMXPaC5bc9LYrj/vybO9
 8RyCz+FW0Aai8sdLDDIlUuj2wM9B8uBAyM0yStXfy6RR60rjdJOo5M0fow177H9l
 Xq3vEH59C5Fl9SrA5JOR
 =AkSm
 -----END PGP SIGNATURE-----

Merge tag 'gemini-dts-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt

Pull "DTS updates for the Gemini on top of the multiplatform base" from Linus Walleij:

- Add the power controller to the DTS.
- Augment the GPIO nodes to also include the Faraday
  compatible.
- Add the PCI bus host and config to the Gemini device trees.

* tag 'gemini-dts-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: add PCI to the Gemini device trees
  ARM: dts: augment Gemini GPIO nodes
  ARM: dts: add power controller to the Gemini DTS
2017-03-31 12:05:13 +02:00
Arnd Bergmann 1b18832977 This pull request contains Broadcom ARM-based SoCs Device Tree updates for
4.12, please pull the following:
 
 - Rafal:
 
 	* adds basic support for the Linksys EA9200, Linksys EA6300 V1, Linksys
 	  EA9500, TP-Link Archer C5 V2 which are all based on BCM470x SoCs with
 	  a bunch of BCM43602 radios.
 
 	* updates the BCM5301X DTS and DTS include file and moves the serial
 	  console parameters to the DTS include file since all BCM5301X that we have so
 	  far are consistent in using the same UART. He also does the same for the
 	  BCM53573 DTS.
 
 	* makes some updates to the Tenda AC9 platform by describing its
 	  PCIe controllers and endpoints in order to be able to represent GPIOs attached
 	  to the on-chip Wi-Fi module. Once done, he adds the 2Ghz LED which is connected
 	  to one of these GPIOs.
 
 	* re-licenses the DTS files he created to the ISC license
 
 	* removes the use of the non-existend "default-off" LED trigger in the
 	  BCM53573 and BCM5301X DTS files
 
 - Aditya adds missing Netgear R8000 LEDS and keys for WAN status LEDS and brightness
 
 - Jon:
 	* adds NAND controller Device Tree nodes to the BCM953012K reference board
 
   	* converts the BCM5301X SoC to use the recently introduced Broadcom QSPI controller
   	  Device Tree nodes.
 
 	* fixes the GIC PPI interrupt flags that the kernel now
   	  reports about.
 
 	* adds ARM TWD watchdog entries to the BCM5301X DTS include file
   	* adds I2C entries to the BCM5301X DTS include files.
 
 	* disables i2c by default in the Northstar Plus DTS include file, and
 	 ,enables it at the board level instead.
 
 	* adds USB (OHCI & EHCI) Device Tree nodes to the Northstar Plus DTS
 	  include files.
 
 - Steven adds the mailbox (PDC) unit and the crytographic unit (SPU) to the
   Broadcom Northstar Plus SoC DTS include file. Steven also adds proper ethernet
   aliases to the BCM53012HR board since some bootloaders require that for MAC address
   patching.
 
 - Eric adds the DSI and its corresponding clock nodes to the BCM283x DTS files
   but leaves them disabled by default (overlays should take care of enabling it)
 
 - Boris adds support for HDMI audio and related DMA channels to the BCM283x SoCs
 
 - Gerd adds support for the BCM2835 specific SDHCI controller to the BCM283x SoCs
 
 - Rob fixes the iProc msi-controller name and unit address now that DTC can produce
   additional errors
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY1VzSAAoJEIfQlpxEBwcEI+EQALcm2qF0IP/y3xYB4kmNBf3b
 Xnb81oMhMcfFHj6CSQDdSObj8lv9FU4RoktosNtqYUTgvZUGsf/5GqWcwoYekH7W
 +1yrHdX9Cjx9B8A5FyQDIRyYZVbQ3yON0MhEo7X9gIPbi03uAdsIEOW4v+5DbRat
 X1aPhy0NkybhpDKzSudFejvIIM0IdjhhnUuBg3JtBC1mAMX0cnh+/lzxdxFXRMlV
 YvHGi3KYSGR4hEYnAlyHlFJsuTHYNN9rHKO0QyMTMGF2GyrLUuo9kO68kxmRzxEU
 LEcDFG/6oPQlzmc/KRIQHWjW+jBRvTn6n3cqwBHbwJc4P0S+f7b0UlG/uEwsfeD/
 jf8vIMFTa/IOgP4cabnDms8NW+x5Dl4ppizB5WB/3lFG09iSFJNNHBHnFLPF/N7A
 aw70ui47SbPbNxstAenHd/yJrkkNleitr1YQTQLLORof9+h0bePgxphM0AKgBrFU
 fEiC916fDkuyIj7+Qq2TUUiJnhfUA1bT6Vav+L3Hc4mWMS+xDuOLYIZv+Isf1eam
 duOQ3ECHHqP9VXf2qug4xwsAHalu3FTZT+FJEgJsFJ47mUnA4v7ySN0//Ta1crX3
 4P2Stt/0x0Ai/8Gx4DhqAI7CsIsRpb9FJ0KOUJTad/AlO5NAQvvzQoDjvVUQR7Km
 wIZiU2hq+PrtjLlc7bot
 =VFXn
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.12/devicetree' of http://github.com/Broadcom/stblinux into next/dt

Pull "Broadcom devicetree changes for 4.12" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoCs Device Tree updates for
4.12, please pull the following:

- Rafal:

	* adds basic support for the Linksys EA9200, Linksys EA6300 V1, Linksys
	  EA9500, TP-Link Archer C5 V2 which are all based on BCM470x SoCs with
	  a bunch of BCM43602 radios.

	* updates the BCM5301X DTS and DTS include file and moves the serial
	  console parameters to the DTS include file since all BCM5301X that we have so
	  far are consistent in using the same UART. He also does the same for the
	  BCM53573 DTS.

	* makes some updates to the Tenda AC9 platform by describing its
	  PCIe controllers and endpoints in order to be able to represent GPIOs attached
	  to the on-chip Wi-Fi module. Once done, he adds the 2Ghz LED which is connected
	  to one of these GPIOs.

	* re-licenses the DTS files he created to the ISC license

	* removes the use of the non-existend "default-off" LED trigger in the
	  BCM53573 and BCM5301X DTS files

- Aditya adds missing Netgear R8000 LEDS and keys for WAN status LEDS and brightness

- Jon:
	* adds NAND controller Device Tree nodes to the BCM953012K reference board

  	* converts the BCM5301X SoC to use the recently introduced Broadcom QSPI controller
  	  Device Tree nodes.

	* fixes the GIC PPI interrupt flags that the kernel now
  	  reports about.

	* adds ARM TWD watchdog entries to the BCM5301X DTS include file
  	* adds I2C entries to the BCM5301X DTS include files.

	* disables i2c by default in the Northstar Plus DTS include file, and
	 ,enables it at the board level instead.

	* adds USB (OHCI & EHCI) Device Tree nodes to the Northstar Plus DTS
	  include files.

- Steven adds the mailbox (PDC) unit and the crytographic unit (SPU) to the
  Broadcom Northstar Plus SoC DTS include file. Steven also adds proper ethernet
  aliases to the BCM53012HR board since some bootloaders require that for MAC address
  patching.

- Eric adds the DSI and its corresponding clock nodes to the BCM283x DTS files
  but leaves them disabled by default (overlays should take care of enabling it)

- Boris adds support for HDMI audio and related DMA channels to the BCM283x SoCs

- Gerd adds support for the BCM2835 specific SDHCI controller to the BCM283x SoCs

- Rob fixes the iProc msi-controller name and unit address now that DTC can produce
  additional errors

* tag 'arm-soc/for-4.12/devicetree' of http://github.com/Broadcom/stblinux: (27 commits)
  ARM: dts: bcm: fix msi-controller name and unit address
  ARM: dts: BCM53573: Specify serial console parameters
  ARM: dts: BCM5301X: Specify serial console params in dtsi files
  ARM: dts: NSP: Add crypto (SPU) to dtsi
  ARM: dts: NSP: Add mailbox (PDC) to NSP
  ARM: dts: BCM953012HR: Add ethernet aliases
  ARM: dts: BCM5301X: Add support for TP-LINK Archer C5 V2
  ARM: dts: NSP: disable i2c DT entry by default
  ARM: dts: NSP: Add EHCI/OHCI USB nodes to device tree
  ARM: dts: BCM5301X: Add I2C support to the DT
  ARM: dts: BCM5301X: Add TWD WD Support to DT
  ARM: dts: BCM5301X: Correct GIC_PPI interrupt flags
  ARM: dts: bcm2835: add sdhost controller to devicetree
  ARM: dts: bcm283x: Add HDMI audio related properties
  ARM: dts: BCM5301X: Don't use nonexistent "default-off" LED trigger
  ARM: dts: BCM53573: Don't use nonexistent "default-off" LED trigger
  ARM: dts: BCM5301X: Add missing Netgear R8000 LEDs and Keys
  ARM: dts: BCM5301X: Relicense DTS files I created to the ISC
  ARM: dts: bcm2835: Add the DSI module nodes and clocks.
  ARM: dts: BCM53573: Add Tenda AC9 2 GHz LED
  ...
2017-03-31 12:02:22 +02:00
Arnd Bergmann b916a60994 mvebu dt for 4.12 (part 1)
- Add node lable for Armada 38x
 - Add support for Synology DS116 NAS and Linksys WRT1900ACS
 - Update mbus controller description on Armada 38x allowing entering in standby
 - Add default trigger for sata led on various linksys boards
 - Update newly added armada-xp-98dx3236
 - Enable hardware buffer manager support for the devices in the
   Linksys WRT AC Serie
 -----BEGIN PGP SIGNATURE-----
 
 iIEEABECAEEWIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCWNVVVyMcZ3JlZ29yeS5j
 bGVtZW50QGZyZWUtZWxlY3Ryb25zLmNvbQAKCRALBhiOFHI71f1XAJ0WIMcrTJPA
 uiYAEbN2f+InledW9wCeOD5+hJTSEFFznZSfbzN4Morh0tw=
 =+cen
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-4.12-1' of git://git.infradead.org/linux-mvebu into next/dt

Pull "mvebu dt for 4.12 (part 1)" from Gregory CLEMENT:

- Add node lable for Armada 38x
- Add support for Synology DS116 NAS and Linksys WRT1900ACS
- Update mbus controller description on Armada 38x allowing entering in standby
- Add default trigger for sata led on various linksys boards
- Update newly added armada-xp-98dx3236
- Enable hardware buffer manager support for the devices in the
  Linksys WRT AC Serie

* tag 'mvebu-dt-4.12-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: mvebu: linksys: enable buffer manager support
  ARM: dts: mvebu: remove unnecessary PCI range from 98dx3236
  ARM: dts: mvebu: Move mv98dx3236 clock bindings
  ARM: dts: Use armada-370-xp as a base for armada-xp-98dx3236
  ARM: dts: armada-xp-98dx3236: combine dfx server nodes
  ARM: dts: armada: Add default trigger for sata led
  ARM: dts: armada-38x: Adjust mbus controller description on Armada 38x
  ARM: dts: armada-385: add support for the Linksys WRT1900ACS (Shelby)
  ARM: dts: armada-385-synology-ds116: add support for Synology DS116 NAS
  ARM: dts: armada-38x add node labels
2017-03-31 12:01:24 +02:00
Arnd Bergmann 2c5ad9764e DaVinci device tree updates to enable
Video display on DA850 along with some
 whitespace clean-up.
 
 Also, enables sound and ADC support on
 Lego EV3.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY0hYtAAoJEGFBu2jqvgRNJzoQAIUrXYqHYaD+ZuvVrtUfK0b2
 IG4bd9gQ09s+jVOPdhtiT+FGwTWXFTBValLAABWyjP9YV0SL6JNR0Kn6lXjZk3BD
 Kprctk/EpphdmKurSEFRERulws7VOtagx88qUZqDPjootMbUGxFU7yYXzUoD1o/U
 VmQfV0jpNuLZ5abRld7Qyar5Oh6w1r58YQtbHNT82Dwkk1NfXNEEL+9WJA6Eqx8L
 nQBv4Yep8KuTw5PN3nWIYWQfVuKkRbdSHvnuuaCB0sxQLCQLOLtPhFlf2f9fsBaO
 enxfZcKzRuH21E0aRGjQKrtoWGiZqNOoZb2nPYjcEmtgcBeoZJPtp4A9U9AEOUyO
 GM9RfiWeszfcgQ9Yi6TiXqFJBVON61LAhe5IGYWGyOHsgzAFRTDqSmQ9aYL0vGzy
 Z49OYTHsA22YeSHtXoFRZD9owJAouHL3dIdw97FB4gC9DeqM04+8a8nkFhg14URW
 1NlaocDxFUO351OgVS+9W5P1GtvN0mYekMlk2VkS1UQihwBg2Q30RKU4Hvf2EnkH
 c3B2DMWAO/lQHSQWxdpdrTzZdIdjjCSe07JoIC1A+8cWg5NOV4AncM+gAwxHRlOu
 Sfbyb9dEa+0cFlz/3QGiALbmht2T/4TQFI3kkrwvU3lTFp0CZ/QCn5VpL4uBzOKH
 4xZ3qSUCItMDS8xgsjp7
 =DFR4
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.12/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt

Pull "DaVinci DT updates for v4.12" from Sekhar Nori:

DaVinci device tree updates to enable
Video display on DA850 along with some
whitespace clean-up.

Also, enables sound and ADC support on
Lego EV3.

* tag 'davinci-for-v4.12/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: dts: da850-evm: add the output port to the vpif node
  ARM: dts: da850-evm: add IO expander node on UI card
  ARM: dts: da850: add vpif video display pins
  ARM: dts: da850-evm: fix whitespace errors
  ARM: da850-lego-ev3: Add device tree node for sound
  ARM: da850-lego-ev3: Add device tree node for A/DC
2017-03-31 12:00:34 +02:00
Linus Walleij 0409d756d0 ARM: dts: augment Moxa ART GPIO node
The Moxa ART GPIO is a Faraday FTGPIO010. Augment the DTS node
to indicate both compatible values for the SoC and the IP part.
Also increase the register range to 0x100, it has at least 0x48
bytes of registers, and a few extra will not hurt.

Tested-by: Jonas Jensen <jonas.jensen@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-31 11:59:56 +02:00
Arnd Bergmann c83e93e64d UniPhier ARM SoC DT updates for v4.12
- Remove skeleton.dtsi inclusion
 - Fix W=* build warnings
 - Fix eMMC pin-mux node
 - Add pagesize properties to EEPROM nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY0bjZAAoJED2LAQed4NsGKyAP/3clkx8xiQDd4yTRbY23NCr8
 x3KdvyYXzt+St8QGAsyE7W2juuEzb0hDDctzmn2UPH6xGtFwKa0FzjW+H5W9z3og
 3YfS0S1hLxv+7dLxUTrpZYqpJOBaPQsm9Cr16qTemggpVudzAQYtncMhR1QJGnDq
 u/k1M+YP4hy3lT4fK1wCVJuogR9x2KktPjqaAQ9iXo5m/ko9V4hww4HneOnfe6gp
 A3IxgNtfBrzXS1aMHGywTu4JMmLpbnwYQ20USEU4D8DudWCyUQFlEDQG0kbRNSGN
 jFpfSaU40ENx60noIkg8VHpAfLHtPbQ03QRfUdkkP2jO7G716e5vAsL3fSE2udAu
 z3TzDVlOslAtDWjGSJGF/2Q/KvWXWMaPGeeOzHZv5pX2BXgweTZ5dq6eikSPxA3M
 j8jox/uqyEYhmFgJ7acJuTtItrU4WwoxH7EHIWo0nS7SMicGgu8vVSgO5Cn2N6rw
 4JxIhaMGLH0+pW/N9UDd+eGT7fBGpxFDIL1mw2uf85R2slGAxmsi0TykTFfiIvlZ
 PoCrHdsXBnGHKkCmnG1zaALDCUNTB20l+ZoRt50tqSwFDeXqHfzQMCNJS3URE254
 HNC4A+4lcHsYqpQ5fNQAj7u05TmEyNBbuYMnerCEwmF04tu/Y1Uo/4if11dtmTwL
 SfBIc94pDWXfS751WtBL
 =8/Z2
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt

Pull "UniPhier ARM SoC DT updates for v4.12" from Masahiro Yamada:

- Remove skeleton.dtsi inclusion
- Fix W=* build warnings
- Fix eMMC pin-mux node
- Add pagesize properties to EEPROM nodes

* tag 'uniphier-dt-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  ARM: dts: uniphier: add pagesize property to EEPROM of proto boards
  ARM: dts: uniphier: add pagesize property to EEPROM of Support Card
  ARM: dts: uniphier: fix pin groups of eMMC pin-mux node
  ARM: dts: uniphier: move memory node below aliases node
  ARM: dts: uniphier: fix no unit name warnings
  ARM: dts: uniphier: remove skeleton.dtsi inclusion
2017-03-31 11:58:50 +02:00
Arnd Bergmann f30c110dc2 This pull request contains Broadcom ARM-based SoCs defconfig updates for 4.12,
please pull the following:
 
 - Gerd enables the BCM2835 MMC driver which yields better performance than the
   default one (iProc)
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY1VYTAAoJEIfQlpxEBwcEDFEQALMGsJbpByPosCKn5SNCiXlA
 QqQU4TuE2SNC5C/OVDyFeWXbDOa0AEu35Pi/y87vm4k1hfpAyOSqBY9JY/IG0C1p
 yd+4Gbi8l1VtY4/4XJntaPmyaJ3Vk0ftL4/La6eTkJPQ/4Z8s79Jses41VQmVzZ/
 tuhn7rQ3exFVOOgkpDfrC1mruHrIqx+97ASwea7ONhTfNVUSmdY8MoHJ71YvWms2
 ZUIYq0Dmt58dEnE9h5UoWlf29Ib0L4HQ0GCc+CaO7tQ2fE4YpllT4x4p/PiQnR3t
 XTE1KaT1aGOGDYzPoDJNjGk3+/I0fJXCuPX3kZis1nbUR9rFKDhNQcVF64YGaNQX
 Y3DIvcx7v1zd6eEOt6QzckQgIXmfYSLLsvv/V22ev+H6m/oYPJSnD/5W2uCGbXVu
 5UYggVEC7JPhFcprvskOpV10EW4ewzC2XKKxgll21GTqu8Pkt9Qgo65gpz2pVqGa
 UAygdt7shFHQ/4ZHaZt2IYaBXDOwIZjp2M9pUp2KzKn2NuvieBR3A2M03vyJIQ04
 KqDy4G0Sc6r5Sk6zOYZ7j3zpteqHDENpkuJ1OembnOoF49GO3CCKpyqZ1utKuMSF
 UCjFHey4RcS98ZMK/e60WIS4tSr5uk2uOfRpvDGrw3ctbbD0sqZzlnEhCFTXhEwy
 iMRCbqgMGUlOCaV2h0gN
 =lxDs
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.12/defconfig' of http://github.com/Broadcom/stblinux into next/defconfig

Pull "Broadcom defconfig changes for 4.12" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoCs defconfig updates for 4.12,
please pull the following:

- Gerd enables the BCM2835 MMC driver which yields better performance than the
  default one (iProc)

* tag 'arm-soc/for-4.12/defconfig' of http://github.com/Broadcom/stblinux:
  arm: set CONFIG_MMC_BCM2835=y in bcm2835_defconfig and multi_v7_defconfig
  ARM: bcm2835: Enable missing CMA settings for VC4 driver
2017-03-31 11:00:13 +02:00
Arnd Bergmann b69bad75a8 This pull request contains Broadcom ARM-based SoC Kconfig/platform changes for
4.12, please pull the following:
 
 - Al enables ZONE_DMA for BRCMSTB platforms since a bunch of on-chip
   peripherals such as USB (OHCI and EHCI) and SDHCI cannot support physical
   addresses > 32-bit. This is only required when ARM_LPAE is enabled
 
 - Danesh enables ARCH_HAS_HOLES_MEMORYMODEL in order for the kernel to provide
   a pfn_valid() implementation despite BRCMSTB enabling the SPARSEMEM model by
   default.
 
 - Florian adds support for a new 28nm generation chip: 7260 by updating the
   runtime detection UART debuggin stub used for DEBUG_LL.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY1VVsAAoJEIfQlpxEBwcEaMkQAKKUiXK0AP/GHTX7WcCxZO6y
 TpU1o++HEMVZP7jCfoqeSVB/wWsxRjha4GVaH/9d6xHxJMx8+gBwzok7o7mkbnDc
 sjcfZS4aRXjM8J+xPAt0GqN5gde/GP4z83Z5XR1kNFG6Ngdo4gaHRF/R3HanBWJZ
 +94K+W3RlBTBsk0NGHAjhOWpG6/a0xwRyt90bh3D/bkSB6xQIhEKvOauQ9MOdOJ2
 9X4qHYavty2VcEEsmT9dXZifR5uQ9fkx5Vsv0SujzfLPsPwK1gm8MspQ1wjg74IG
 jbxAh6gNJeWJeU5D9MtWIWTYDJSJKpNWjpkrpbRbMn88tmEsp5Pjywk7s0RogKf4
 34Nm1xt2d5ktoVP8uI8SjujGRwN4IzmcUEObTa8XiRdjRhKhHSQXGg4eIyagNt4b
 pc4HPml28n0COIZOaOHz82SlkRSSk58eyuY/RuRhduNBILpBDpS4H4sZHzLLD5qE
 msrcwElTUrIDUeQkEONq14ErqR2wxmN2PF87UBkUd5PsVBnUq8JvHldQVRJzUrrI
 ouT6P769HeJWzCcDRiorI2EIyEubVG2pEY3LGSu3W9egJ6qKVb1D+1w2gQLnsB4+
 tfxhpaTjG6EIIH29eMl18lAgNCXf7nCaDst/kxVZOSWACEhipCV+Ldke4ji3333j
 SJKzQ3fPkfX6W+m79tis
 =xKpO
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.12/soc' of http://github.com/Broadcom/stblinux into next/soc

Pull "Broadcom soc changes for 4.12" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoC Kconfig/platform changes for
4.12, please pull the following:

- Al enables ZONE_DMA for BRCMSTB platforms since a bunch of on-chip
  peripherals such as USB (OHCI and EHCI) and SDHCI cannot support physical
  addresses > 32-bit. This is only required when ARM_LPAE is enabled

- Danesh enables ARCH_HAS_HOLES_MEMORYMODEL in order for the kernel to provide
  a pfn_valid() implementation despite BRCMSTB enabling the SPARSEMEM model by
  default.

- Florian adds support for a new 28nm generation chip: 7260 by updating the
  runtime detection UART debuggin stub used for DEBUG_LL.

* tag 'arm-soc/for-4.12/soc' of http://github.com/Broadcom/stblinux:
  ARM: brcmstb: Add entry for 7260
  ARM: brcmstb: Enable ARCH_HAS_HOLES_MEMORYMODEL
  ARM: brcmstb: Enable ZONE_DMA for non 64-bit capable peripherals
2017-03-31 10:51:42 +02:00
Krzysztof Kozlowski a1146328ec Add to hdmi-cec node a phandle to hdmi node for new hdmi-cec notifier.
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY3XeWAAoJEME3ZuaGi4PXidMP/0InGSAaFgXPHcw8J+TRw+jn
 rltCF+AqP84xESfOsf0SpdnNIi/Iflb7arARmmmdbwywzCtYtxVZVk1ysTOfu7At
 8awJAnkWYHD9olhe/Ga8UgdhRwv2uZarmEVNWBo9nj7A7J63jseGEDdPcTWPgOMP
 DZKGrfsBfo1HDCnzrV4w4yoydSbOgKA1onXjHna5p7n8XRPv2a2taUId1VypGAyZ
 NYsRJGn/WD5jYmyvzW6wZrijv+8qxKnuCl24HoWSprJRCrYscMSpVA+cJK71sYqB
 Gm3Ji2AgDpZNpKhyhm08IL9ChvWHKGtIY3+eAtcdZ18JEP7Yh7ejPhlA5+DCyhMP
 JzL5qBoS38rDaeXr/H6r7U3ytcyuolt9ZO2DwcFBg8PNC8uZllNqPaz8HzX+sf7n
 wKQVDlqnhSmytkCvBIO8V6Zh6lOff3sfHQ55JOmnRfn3P2DVHZDyEbZyc3dN/Zpf
 NtEjd2UXI3phmslSHROWEzBa0lkffXwZvCpArJeIQikkWO3Jhmm9zWvZmrSFVCDb
 zTPiKL8nQXZDcjgaYpwej8B9HO9DndvyLLRwhCHg0Tw0Hb7pr/tu7xhcrfHRLA9d
 AwcmjvLkANMs6pwzIrx7DQ5euua4vOE9VtCXuUKGg1wbOD3GA7hoq3N3S5hVV/JZ
 M/osnbiBLvzJVCRoYDaP
 =0SuK
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-hdmi-cec-4.12' into next/dt

Add to hdmi-cec node a phandle to hdmi node for new hdmi-cec notifier.
2017-03-31 00:27:18 +03:00
Hans Verkuil 192c1df4a7 ARM: dts: exynos: add HDMI controller phandle to exynos4.dtsi
Add the new hdmi phandle to exynos4.dtsi. This phandle is needed by the
s5p-cec driver to initialize the CEC notifier framework.

Tested with my Odroid U3.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-03-31 00:21:18 +03:00
Ard Biesheuvel ea2d9a96b6 ARM: 8663/1: wire up HWCAP/HWCAP2 feature bits to the CPU modalias
Wire up the generic support for exposing CPU feature bits via the
modalias in /sys/device/system/cpu. This allows udev to automatically
load modules for things like crypto algorithms that are implemented
using optional instructions.

Since it is non-trivial to transparantly support both HWCAP and HWCAP2
capabilities in the cpu_feature() macro (which allows a module's hwcap
dependency and init routine to be declared using a single invocation of
module_cpu_feature_match()), support only HWCAP2 for now, which covers
the capabilities that are most likely to be useful in this manner.
Module dependencies on HWCAP will need to be declared explicitly via a
MODULE_DEVICE_TABLE(cpu, ...) declaration.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-03-30 19:45:52 +01:00
Takashi Iwai 9dfcce42b0 ASoC: Fixes for v4.11
A relatively large pile of fixes for mainline, the first since the merge
 window.  The biggest block of changes here by volume is the sun8i-codec
 set, the driver was newly added in the merge window but it was realized
 that renaming some of the user visible controls was required so these
 are being pushed for v4.11 to avoid the original code appearing in a
 release.  Otherwise it's all fairly standard bugfix stuff.
 -----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCAAxFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAljdNc0THGJyb29uaWVA
 a2VybmVsLm9yZwAKCRAk1otyXVSH0IgMB/9SGwZvXPsI0w2q/f7pP4Q7SntvmywP
 o+gyktSaC/nLDpdPkdOBMekzhpkzvEgJsg/07iop/J/qsYSgmRoT+UkGB5KMBYxS
 aFse8ya9NavulcuCksINMr+kPrd9bMGzev0Y2v9p6nOAZ0Yhqoi0cK/JNeLH8WBE
 amgWI7MbZ3vAR5jviKINw57crXsqeJcH7u1IkFNznhUb5MfzO7MdAby2nYnlFiTs
 D7XeA/OV/cffwdsI5fylrD0zCd6DekZImjrv31nGi36DIZ275V4uDiN/XQFel069
 cQc4CYLgMWXiXGZaRmxjqPZ/Om14VY6i17VsoriNhU8e5CtQlynOogV/
 =k725
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v4.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v4.11

A relatively large pile of fixes for mainline, the first since the merge
window.  The biggest block of changes here by volume is the sun8i-codec
set, the driver was newly added in the merge window but it was realized
that renaming some of the user visible controls was required so these
are being pushed for v4.11 to avoid the original code appearing in a
release.  Otherwise it's all fairly standard bugfix stuff.
2017-03-30 20:03:25 +02:00
Arnd Bergmann 7012d8c48b DaVinci defconfig updates for enabling
Video capture and display on DA850 and
 an ADC driver thats used by Lego EV3.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY0hU2AAoJEGFBu2jqvgRNuMkP/j8UBLrRD7TkGTPKNUQ+L1mD
 lAffnqdwVWf9w21/Loefsw6gpr1F036VTDDzFGixbBWxzH4EG7S6CBGaedK85H8d
 +BEhgQzQWaMfcKVeM/xUJoIP6F+s9yvrfMYY0PrUYuiqcNwKBF0dYVjV9hevTAxX
 QW0sj28X1ZAtZKxlkLEGxA0YNsDSyoA/CLR3PYxiEg0JsvsS0ZDNByT2WLe6u8mX
 PMgjdGDwHGkk22CSl4MXl/Lp9s6LXgIiYFhAV/bmtiHShh791ePErZhVoOnXCboJ
 JCC+3CswUSQ4Ub9qt+xhQOr9YUqPIlNVPAkHuu/L5qOuoHNOIIThd1ymcpCGA1CB
 oYwlAvZSNp+Yf92f7javhrKNj4aJUDvZ/Odm1yp13Bje4UmoEIL66LIvqd4B9vTZ
 hjxyX8eFTmQjE9Vjq70vi71sAu8dp3A7YgG9uzXMk+mHwI9PIGU0dQjXIzPe6/W6
 kWMDkZ9ESTLeCKraL69zH22GGfm0+YtnMa7al9buzMIqywGdfDHiw5UqjGFSGTlH
 DFn6hoqADxz8F/CIk1MaqJbSpWW5OsvyrC2as0udXcMxiaoGacLeynljcD8X+stX
 pz5T7wUM8kP3w24oTYO1h+bWk4QaZyNnUFgoT/JBdGVRDtl/Bp6k61pHmGfusuti
 CuKUZb3qinFpyrLzqbVs
 =wj14
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.12/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/defconfig

Pull "DaVinci defconfig updates for v4.12" from Sekhar Nori:

DaVinci defconfig updates for enabling
Video capture and display on DA850 and
an ADC driver thats used by Lego EV3.

* tag 'davinci-for-v4.12/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci_all_defconfig: Enable TI ADS7950
  ARM: davinci_all_defconfig: enable IRQ support for pca953x
  ARM: davinci_all_defconfig: enable VPIF display modules
2017-03-30 17:43:15 +02:00
Masahiro Yamada aa9daa310d ARM: mmp: let clk_disable() return immediately if clk is NULL
In many of clk_disable() implementations, it is a no-op for a NULL
pointer input, but this is one of the exceptions.

Making it treewide consistent will allow clock consumers to call
clk_disable() without NULL pointer check.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-30 17:38:34 +02:00
Masahiro Yamada e1ffaa551c ARM: w90x900: let clk_disable() return immediately if clk is NULL
In many of clk_disable() implementations, it is a no-op for a NULL
pointer input, but this is one of the exceptions.

Making it treewide consistent will allow clock consumers to call
clk_disable() without NULL pointer check.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Wan Zongshun <mcuos.com@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-30 17:37:19 +02:00
Alexandre TORGUE 5758d31ac8 ARM: configs: stm32: Set CPU_V7M_NUM_IRQ to max value
stm32_defconfig is used for several STM32 MCU: STM32F429, STM32F469,
STM32F746 and now STM32H743. Each of MCU listed have different interrupts
number mapped on NVIC. STM32F429: 81, STM32F469: 92, STM32F746: 97 and
STM32H743: 149. I could set CPU_V7M_NUM_IRQ to 149 but in order to avoid
forgetting to update this value for next STM32 MCU I prefer to set it to
max value: 240.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-30 17:34:14 +02:00
Russell King 485a9d2cfa ARM: dts: clearfog: keep dts alphabetically ordered
Keep the clearfog DTS file ordered alphabetically - Florian placed the
MDIO entry after pinctrl, which mis-orders the file.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-03-30 17:33:05 +02:00
Arnd Bergmann d43e85b7d7 ARM: orion5x: only call into phylib when available
Board code cannot call mdiobus_register_board_info() when phylib
or mdio_device is a loadable module:

arch/arm/plat-orion/common.o: In function `orion_ge00_switch_init':
:(.init.text+0x474): undefined reference to `mdiobus_register_board_info'

I had a number of ideas for how this could be solved, but after the MDIO
code got split out from PHYLIB it has gotten too hard, so I'm basically
giving up, and only call the mdiobus_register_board_info() function
if the MDIO layer is built-in to avoid the link error. This is similar
to how we handle PHY registration on other ARM platforms.

Fixes: 90eff9096c ("net: phy: Allow splitting MDIO bus/device support from PHYs")
Fixes: 648ea01340 ("net: phy: Allow pre-declaration of MDIO devices")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-03-30 17:30:39 +02:00
Arnd Bergmann 88f31b1d5c Gemini multiplatform updates:
- Select the poweroff driver so the system can properly shut down.
   This driver is merged in the power tree.
 - Select the right Faraday GPIO block (we renamed it).
 - Do not select SERIAL_OF_PLATFORM that just create Kconfig
   warnings on us. We'll put that into the defconfig instead.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJY2WosAAoJEEEQszewGV1zsWcP/0/j6k55yHiGTBU5sXjxQyY3
 dCP+S1366nsTFWnobwqdEM0TTtM8Z1k7XNQ2u5/awPoFjdbcS4nrcmf0M1aVOIvt
 iPV/lOVwEp+m9fEX70Wns+8lblkLcc96zOV3LMJM29PN+Apru7Vp0ISnWyxAeG3d
 7ZnHtDXrAfMM0h+14A1a+qG1SqU4rE5MHWuGj9m2UTqzB6KUtEnPsSeUqqZKLniO
 TxoO2Zaa6+G0Xlh9wPLJV/vc2GEfrC/2UsjYxd8D3r3s4Iz3Xn1x1u+jQp4CJLp0
 EAytTnoITetKwkxiIKJ1vMPI9danJ2+fY+SazTCJT1p7Y97SoSOQXqtKeTFHxcFz
 KXjMPvYo/SMj5t7Sy1FkYjKTASXeFX1EFlInqII0mGzAjosp2gjfB9BsJMUdbU3v
 qNuSkZJz9+us3WD9AdfQJKTIoyGXhbdlN1oETcjvGRZvhHAHa99rKdCno+UWy5XA
 t2bX9IF2o2qFwIME13+u8c2xTnciyDGApCYcDF4Icaa0HOat0yXB7nOKgzuAYD4e
 obbBkN6Zc9sijcK+FE0vq+N4QVaHAAh2U7RF/Kly0GCxFKbXZbccxXAwuWbcIXKP
 2LwsxSHRWyizH3OH7ug4SS6EwVZQ/xtqBpmau5qlsn+E0ZWO1AJfxUVDRKoScWYU
 eqdNi5fZedcMQFLqvBJe
 =g/Tl
 -----END PGP SIGNATURE-----

Merge tag 'gemini-multiplat-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/soc

Pull "Gemini multiplatform updates" from Linus Walleij:

- Select the poweroff driver so the system can properly shut down.
  This driver is merged in the power tree.
- Select the right Faraday GPIO block (we renamed it).
- Do not select SERIAL_OF_PLATFORM that just create Kconfig
  warnings on us. We'll put that into the defconfig instead.

* tag 'gemini-multiplat-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: gemini: don't select SERIAL_OF_PLATFORM
  ARM: gemini: select the right GPIO block
  ARM: gemini: select gemini poweroff
2017-03-30 17:22:40 +02:00
Arnd Bergmann 59bc516c8b SoC changes for omaps for v4.12 merge window:
- Drop PM_SUSPEND_STANDBY
 
 - Clean up hwmod code in preparation to eventually dynamically
   allocating hwmod data based on device tree data
 
 - Implement hwmod workaround for dra7 DCAN1 and OTG module to prevent
   clockdomain from entering HW_AUTO
 
 - Configure clockdomain and hwmod for dm81xx SATA
 
 - Mark omap_init_rng as __init
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlja0g8RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXMB+A//VmbKMoDFNOSjYZP7gFKsnYrSzJQUgWvU
 vLxI2bKjJvX2oTKaPTMhZdLzmEEVE9RcPec+4X80WgRLbmWdj+o3gkEDygjXJi9Q
 ATlS6Qop9r6KEmvL4KsQnNjws0WxFXfASUxiztnJvL9fgH0svII6DpamtXN7iRwz
 PmgBPcsOEOlTAnMWYr/zLbTtp6ajWkRiHetdLCgHfSRuKgo6e16OswOo+Fj2HM49
 o9OSlSyWmu6jjJSrUWYo6mokexKWkNflV1z1XTgOhfi/LJKWcmlYjqwW+ycXm2h7
 /Q8/YSwNXRHEetLsfNQwmvVoV6lsTkeebJ8DHsPbE1V4780TrXNpVhlZXD5OdTYZ
 sgX+ubSSSwsT2JIyUFNxXwJqrZy2J7Rt//59ccJb7TtlTRDsDDvJHdSKeo+YVyys
 4Cw1prelcK7yR5OFS2FRopUTXsoXtjnVDP6Y/jboPn6oihnI1Mvs0iAecgLwUUN4
 jvhjvI1gSHRg/kqG0dJ77TUUyzx8N4+NQOILJJqrxea7YgfmJx4zCJP1q3FpeUVc
 b0W/zTyFZKz5b9n28s0aq4ancbGiLMFh4+Vifwbx0NQsD9tajYyP4QhbPtIrwozh
 k7GcB+tPoLWPpTA88L2KLXkfgAb6kon76w/CjECDlkygmOo/7k/6ULnBhUxq+Qll
 hbHbhxC/30Q=
 =736B
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.12/soc-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "SoC changes for omaps for v4.12 merge window" from Tony Lindgren:

- Drop PM_SUSPEND_STANDBY

- Clean up hwmod code in preparation to eventually dynamically
  allocating hwmod data based on device tree data

- Implement hwmod workaround for dra7 DCAN1 and OTG module to prevent
  clockdomain from entering HW_AUTO

- Configure clockdomain and hwmod for dm81xx SATA

- Mark omap_init_rng as __init

* tag 'omap-for-v4.12/soc-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: mark omap_init_rng as __init
  ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA
  ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
  ARM: DRA7: hwmod: Fix DCAN1 stuck in transition
  ARM: OMAP2+ hwmod: Allow modules to disable HW_AUTO
  ARM: OMAP2+: omap_hwmod: provide space for more hwmod flags
  ARM: OMAP2+: Make hwmod clkdm_name const
  ARM: OMAP2+: Remove unused CLOCKACT_TEST_ICLK
  ARM: OMAP2+: Use list_for_each_entry for hwmod slave_ports
  ARM: OMAP2+: Remove mostly unused hwmod linkspace
  ARM: OMAP: PM: Drop useless checks for PM_SUSPEND_STANDBY
2017-03-30 17:15:51 +02:00
Arnd Bergmann 2235ac90e4 v4.12 SoC updates for DaVinci include necessary pdata-quirks
to make video capture and display work on da850.
 
 VPIF driver which supports video capture and display on
 da850 is a legacy driver.  It does not have DT equavalents
 for all things that are used on platform data.
 
 Attempts were made to pass data via DT[1], but linux-media
 does not yet have a good way of describing subdevices in
 device tree. This is work in progress. As soon as bindings
 are defined and implementation is available, we can shift
 to using that. For now we are stuck with using pdata.
 
 The pull request also has some clean-up for PM, and a fix
 for pdata quirks mechanism.
 
 [1] https://marc.info/?l=devicetree&m=147982998517384
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY0hxKAAoJEGFBu2jqvgRNzxAP/RmizxLl+C7QnP/PLCTqDVaq
 uHO6ygepNYKSYnVfzFg9p2a5K3GYw0Ky3UkpRWthnEp3NpB1kGFHqByxSN+IkLAo
 Sxut53kfaT/OT2vjeMz03WTcTGMxTqKKnIh9dIcTyJbRUm8Gtl7Za7V8JQ+M82xM
 nBhdEwDtKtD1jmV/H5CGQNKyVyNBMYZQyMaJxqHlcuSd/VgUwFZp6ayrn+qcFQah
 n339e38WR4R+T9w9irzIXw+vEvvzWhdapYOPMBNFXRfL2mh1pCdXTzZduQxK2wJg
 OLdSSnTZeUZB2m8gyQWeJJj9wxNpCNA8MXfnE/vnDntEaiFHkEpNNEWh+MS32KDz
 +offax32WhmNR/TW23QSlC3V2+F4WDtSJuYD7Hg/E6OBCgMiDK6CjH1PrUKyDhv1
 eIWSN/hNZcYyMfqXgNCrQXCt2L5bCBAS/qp4de3BykaiBrFGxdcnV4NRt2wTqpJm
 H9bNv+P9eOalAz/7RrAPcrEQS8QFbWRyCpLB66s6YM99ejtj1tBqRfeQpppdtq2D
 lUkXXMX31+MSrOz+7jgrw0gdHbs0O0XjXWRN3Y1p0F3OfmhFMTMKCjBkDOvcqEnP
 RHMfqUL1uwEst+VSlZDrO7qXyQoji7YxYzsgzn0it72uAYDcI2dVoCuAbtW0Gxjn
 ge/5BFgGlIfRUh6+XaJe
 =70/w
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.12/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Pull "DaVinci SoC updates for v4.12" from Sekhar Nori:

v4.12 SoC updates for DaVinci include necessary pdata-quirks
to make video capture and display work on da850.

VPIF driver which supports video capture and display on
da850 is a legacy driver.  It does not have DT equavalents
for all things that are used on platform data.

Attempts were made to pass data via DT[1], but linux-media
does not yet have a good way of describing subdevices in
device tree. This is work in progress. As soon as bindings
are defined and implementation is available, we can shift
to using that. For now we are stuck with using pdata.

The pull request also has some clean-up for PM, and a fix
for pdata quirks mechanism.

[1] https://marc.info/?l=devicetree&m=147982998517384

* tag 'davinci-for-v4.12/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: add pdata-quirks for da850-evm vpif display
  ARM: da850-evm: add a fixed regulator for the UI board IO expander
  ARM: davinci: da8xx: add pdata-quirks for VPIF capture
  ARM: davinci: da8xx: add OF_DEV_AUXDATA() for vpif
  ARM: davinci: board-da850-evm: add I2C ID for VPIF
  ARM: davinci: allow having multiple pdata-quirks
  ARM: davinci: PM: Drop useless check for PM_SUSPEND_STANDBY
2017-03-30 17:08:34 +02:00
Arnd Bergmann d5ac992763 - Fix OX820 Kconfig
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYz6KAAAoJEHfc29rIyEnRHS8QAJgKBnw378O0PGo1mWaQdRiV
 vafXx6AsimNkOoMYnZc8IOH/LmW7FNB1p0FEpGmhYMHPPCroS3tImLCD7YXkpzNd
 DPPyyv8JA+YpUKjILKG92k7gxVJGRq3KtahQEr61S2MhMyZYnS81H1Z97qeBuqPo
 yLScFUgsHtAPL6AUCcR4dXWVxPTY4NbJlzz5pVaIALpZ0rQ55drlg4kJ82IXSGu5
 S9D1pK5snUyDeqbWu8HAa/8wVpbtf++pYQ7Zn0UsaDhEIgw2BDAg75OWw689HZor
 wOp+6kwOGABkkNxG9oIXhaSylUd17dR8meN+8ZyKXFJQYDB/fyTeL44k50k5Tvho
 KUrKpCN9O2DSJ2zta1KR0Qdl2nrgjLtHbnwumD/0W1nlnPQHi5ZRuzJgBXrB8Zms
 ZrNRdkzyyiMHWG5x71g0MaM3TWZsnTv7uc/qKGwWHfl+QnESS35g9EWLW35FWY7C
 6qScxa5pd8TH5TTRTgi1vvbeDm12f+d68P42NY93hNCHTOicPH3ykJWUsAFqr4Uv
 Ae3+lizNwp2OYLQoEz2HHtLb8Kx5cP76Ds0CfhQCsynEkPAkH3+3OQbApjj6OJVS
 l+OaYcornBIGGOQcMC/kauld5sQSEORs1NIB5an5vF4+C4w/LHZjZaWsDI5ogFSW
 Bo3ZgybX5Ax0+G3Zq6Ku
 =v8X8
 -----END PGP SIGNATURE-----

Merge tag 'oxnas-arm-soc-for-4.12' of https://github.com/OXNAS/linux into next/fixes-non-critical

Pull "ARM: OXNAS SoC update for 4.12" from Neil Armstrong:

- Fix OX820 Kconfig

* tag 'oxnas-arm-soc-for-4.12' of https://github.com/OXNAS/linux:
  ARM: oxnas: remove redundant select CPU_V6K
2017-03-30 17:00:34 +02:00
Leonard Crestez c5054a98bc ARM: imx_v6_v7_defconfig: Select SMSC_PHY
The imx6sl-evk board has a LAN8720A ethernet phy supported by SMSC_PHY.
Add this driver to the default imx config since the device is present on
one of the evaluation boards.

This used to work mostly fine with the generic phy driver until
commit 0878fff1f4 ("net: phy: Do not perform software reset for
Generic PHY"). The fact that soft reset is no longer performed
apparently causes RX to sometimes failes which can cause netboot to
timeout on DHCP. This is eventually retried and it works after link
up/down but can takes 90 seconds to reach the login prompt.

This was generated with "make savedefconfig" and it includes a few
additional minor cleanups.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-03-30 21:21:34 +08:00
David Lechner 96f24474a8 ARM: dts: da850: move spi0_cs3_pin pinconf node
This moves the spi0_cs3_pin pinconf node from the LEGO EV3 file to the
common DA850 include file. This node is applicable to any board, and
therefore belongs in the common file.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2017-03-30 16:17:47 +05:30
Sekhar Nori 2e5d77ef04 ARM: davinci_all_defconfig: convert to use libata PATA
IDE subsystem has been deprecated since 2009 and the majority
(if not all) of Linux distributions have switched to use
libata for ATA support exclusively.  However there are still
some users (mostly old or/and embedded non-x86 systems) that
have not converted from using IDE subsystem to libata PATA
drivers.  This doesn't seem to be good thing in the long-term
for Linux as while there is less and less PATA systems left
in use:

* testing efforts are divided between two subsystems

* having duplicate drivers for same hardware confuses users

This patch converts davinci_all_defconfig to use libata PATA
drivers.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
[b.zolnierkie: split from bigger patch + added patch description]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2017-03-30 16:16:17 +05:30
Sekhar Nori 28d4d1d0e4 ARM: davinci: add pata_bk3710 libata driver support
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
[b.zolnierkie: split from bigger patch + preserved old driver support]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2017-03-30 16:15:29 +05:30
Kees Cook dd59f974bd ARM: 8666/1: mm: dump: Add domain to output
This adds the memory domain (on non-LPAE) to the PMD and PTE dumps. This
isn't in the regular PMD bits because I couldn't find a clean way to
fall back to retain some of the PMD bits when reporting PTE. So this is
special-cased currently.

New output example:

  ---[ Modules ]---
  0x7f000000-0x7f001000       4K KERNEL      ro x  SHD MEM/CACHED/WBWA
  0x7f001000-0x7f002000       4K KERNEL      ro NX SHD MEM/CACHED/WBWA
  0x7f002000-0x7f004000       8K KERNEL      RW NX SHD MEM/CACHED/WBWA
  ---[ Kernel Mapping ]---
  0x80000000-0x80100000       1M KERNEL      RW NX SHD
  0x80100000-0x80800000       7M KERNEL      ro x  SHD
  0x80800000-0x80b00000       3M KERNEL      ro NX SHD
  0x80b00000-0xa0000000     501M KERNEL      RW NX SHD
  ...
  ---[ Vectors ]---
  0xffff0000-0xffff1000       4K VECTORS USR ro x  SHD MEM/CACHED/WBWA
  0xffff1000-0xffff2000       4K VECTORS     ro x  SHD MEM/CACHED/WBWA

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-03-29 17:39:17 +01:00
afzal mohammed 3cc070c1c8 ARM: 8665/1: nommu: access ID_PFR1 only if CPUID scheme
Greg upon trying to boot no-MMU Kernel on ARM926EJ reported boot
failure. He root caused it to ID_PFR1 access introduced by the
commit mentioned in the fixes tag below.

All CP15 processors need not have processor feature registers, only
for architectures defined by CPUID scheme would have it. Hence check
for it before accessing processor feature register, ID_PFR1.

Fixes: f8300a0b5d ("ARM: 8647/2: nommu: dynamic exception base address setting")
Reported-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com>
Tested-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-03-29 17:38:41 +01:00
Russell King 916a008b4b ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
dma_get_sgtable() tries to create a scatterlist table containing valid
struct page pointers for the coherent memory allocation passed in to it.

However, memory can be declared via dma_declare_coherent_memory(), or
via other reservation schemes which means that coherent memory is not
guaranteed to be backed by struct pages.  In such cases, the resulting
scatterlist table contains pointers to invalid pages, which causes
kernel oops later.

This patch adds detection of such memory, and refuses to create a
scatterlist table for such memory.

Reported-by: Shuah Khan <shuahkhan@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-03-29 17:36:23 +01:00
Loic Pallardy 6eb0d80d1d ARM: dts: STiH407-family: update rproc node names to avoid conflict
The two st231-rproc nodes have the same name; Due to that it was
impossible to distinguish them in remoteproc sysfs and debugfs
interface.
This patch provides them a name related to their functionality.

Signed-off-by: Loic Pallardy <loic.pallardy@st.com>
2017-03-29 17:07:14 +02:00
Chen-Yu Tsai 69e3a9461f ARM: dts: sun5i: Add interrupt for display backend
The display backend on sun5i shares the same interrupt line as the
display frontend. Add it.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-29 09:08:37 +02:00
Al Viro 4de5b63e76 arm: switch to RAW_COPY_USER
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2017-03-28 18:23:22 -04:00
Al Viro 0f9b38cd79 arm: switch to generic extable.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2017-03-28 18:23:22 -04:00
Jonathan Neuschäfer 8067669150 ARM: qcom_defconfig: Enable Qualcomm remoteproc and related drivers
An adsp-pil node is present in at least the MSM8974 SoC. Simply enable
all Qualcomm remoteproc drivers to avoid more work in the future.

The SMP2P driver is required for adsp-pil to initialize correctly.

Enable the SMSM driver at Bjorn Andersson's request: "We also need
CONFIG_QCOM_SMSM=y here, its currently used to signal state of the ring
buffers for WiFi."

CONFIG_QCOM_WCNSS_CTRL is required to load firmware/configuration data
into the WCNSS core, which handles WiFi and Bluetooth.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-03-28 16:23:24 -05:00
Arnd Bergmann f0e6876606 ARM: OMAP2+: mark omap_init_rng as __init
I found this section mismatch when building with an older
compiler release:

WARNING: vmlinux.o(.text+0x3051c): Section mismatch in reference from the
function omap_init_rng() to the function .init.text:omap_device_build()

Obviously this one function should be __init as well. Normally
we don't get a warning as the function gets inlined into its
caller.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[tony@atomide.com: formatted error message a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:10:09 -07:00
Kevin Hilman 49e9e6163c ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA
Add the SATA clockdomain (part of CM_DEFAULT) and a hwmod for the SATA
block on dm81xx.

Tested on DM8168 EVM.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
[Bartosz: removed an unused define]
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:10:03 -07:00
Roger Quadros e2d54fe769 ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
It seems that if L3_INIT clkdomain is kept in HW_AUTO while usb_otg_ss
is in use then there are random chances that the usb_otg_ss module
will fail to completely idle. i.e. IDLEST = 0x2 instead of 0x3.

Preventing L3_INIT from HW_AUTO while usb_otg_ss module is in use
fixes this issue.

We don't know yet if usb_otg_ss instances 3 and 4 are affected by this
issue or not so don't add this flag for those instances.

Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:09:58 -07:00
Roger Quadros a241623836 ARM: DRA7: hwmod: Fix DCAN1 stuck in transition
Add HWMOD_CLKDM_NOAUTO flag to DCAN1 module.

Without this DCAN1 module remains stuck in transition
after the CAN interface is brought down. This is also suggested
in Errata i893 "DCAN Initialization Sequence".

Add the HWMOD_CLKDM_NOAUTO to DCAN2 module as well
as it is mentioned in Errata i893.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:09:54 -07:00
Tony Lindgren da72e49364 Merge branch 'omap-for-v4.12/dt-droid4-v2' into omap-for-v4.12/dt-v2 2017-03-28 14:00:55 -07:00
Georgi Djakov 9db9559cfa ARM: dts: qcom: msm8974: Add RPMCC DT node
Add the RPM Clock Controller DT node for msm8974-based platforms, so that
drivers can use the clocks provided by the RPM processor.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-03-28 16:00:36 -05:00
Linus Walleij 3869fd6a76 ARM: dts: fix typo on APQ8060 Dragonboard
The DTS referred to SDC5 when it meant SDC1.

Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-03-28 16:00:36 -05:00
Linus Walleij dfc1401026 ARM: dts: add SDC2 and SDC4 to the MSM8660 family
To make the picture complete, add DTS entries also for the
second and fourth MMC/SD blocks on the MSM8660. SDC2 is
an 8-bit interface and SDC4 is a 4-bit interface.

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-03-28 16:00:35 -05:00
Jonathan Neuschäfer 4d931755fe ARM: dts: msm8974: Hook up adsp-pil's xo clock
Without this patch (and with CONFIG_QCOM_ADSP_PIL), I get this error:

	[    0.711529] qcom_adsp_pil adsp-pil: failed to get xo clock
	[    0.711540] remoteproc remoteproc0: releasing adsp-pil

With this patch, adsp-pil can initialize correctly.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-03-28 16:00:35 -05:00
Ivan T. Ivanov 1e20223d8e ARM: dts: qcom: Add msm8974 CoreSight components
Add initial set of CoreSight components found on Qualcomm
msm8974 and apq8074 based platforms, including the APQ8074
Dragonboard board.

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-03-28 16:00:35 -05:00
Al Viro db68ce10c4 new helper: uaccess_kernel()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2017-03-28 16:43:25 -04:00
Sjoerd Simons 7301f269dd ARM: dts: rockchip: Enable sata support on rock2 square
The Rock 2 square board has a USB -> SATA converter hooked up to its usb
host1 connection. Enable the usb controller and always turn on the power
on the 5V sata power connector (controlled by gpio).

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-03-28 22:20:14 +02:00
Marek Szyprowski e8bb467359 dmaengine: pl330: remove pdata based initialization
This driver is now used only on platforms which support device tree, so
it is safe to remove legacy platform data based initialization code.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
For plat-samsung:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2017-03-28 21:37:48 +05:30
Yegor Yefremov 21339f57e8 ARM: dts: am335x-baltos: add LED support
All three devices provide GPIO based LEDs named power,
wlan and app.

Place LEDs definition into a separate dtsi file as not all
devices including am335x-baltos.dtsi have the same LED layout.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 09:06:43 -07:00
Tony Lindgren 26bfad63ca ARM: dts: omap4-droid4: Fix MMC1 card for detect GPIO and regulator
There's a typo, it should be GPIO176 and not GPIO106.

And it seems I messed up the regulators at some point while trying
to figure out what devices the regulators are used. The correct
regulator for MMC1 is vwlan2.

Fixes: 0d4cb3ccee ("ARM: dts: Configure regulators for droid 4")
Reported-by: Sebastian Reichel <sre@kernel.org>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Tested-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 08:57:25 -07:00
Neil Armstrong 8d1b908fe7 ARM: dts: meson8b: Add gpio-ranges properties
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-03-28 07:56:16 -07:00
Neil Armstrong 90f349ade2 ARM: dts: meson8: Add gpio-ranges properties
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-03-28 07:56:06 -07:00
Wei Yongjun f147140c7f ARM: hisi: fix error return code in hip04_smp_init()
Fix to return error code -ENODEV from the of_find_compatible_node()
error handling case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-03-28 15:30:54 +01:00
Geert Uytterhoeven 403fe77e22 ARM: dts: silk: Correct clock of DU1
The second channel of the display unit uses a different module clock
than the first channel.

Fixes: 84e734f497 ("ARM: dts: silk: add DU DT support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-03-28 14:29:50 +02:00
Geert Uytterhoeven 7f698bf60e ARM: dts: alt: Correct clock of DU1
The second channel of the display unit uses a different module clock
than the first channel.

Fixes: 876e7fb9f4 ("ARM: shmobile: r8a7794: alt: Enable VGA port")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-03-28 14:29:45 +02:00
Geert Uytterhoeven 89675f36c9 ARM: dts: r8a7794: Correct clock of DU1
The second channel of the display unit uses a different module clock
than the first channel.

Fixes: 46c4f13d04 ("ARM: shmobile: r8a7794: Add DU node to device tree")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-03-28 14:26:17 +02:00
Geert Uytterhoeven 1764f8081f ARM: dts: r8a7794: Add DU1 clock to device tree
Add the missing module clock for the second channel of the display unit.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-03-28 14:17:51 +02:00
Tony Lindgren 351b7c4907 ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot
Commit 3251885285 ("ARM: OMAP4+: Reset CPU1 properly for kexec") started
unconditionally resetting CPU1 because of a kexec boot issue I was seeing
earlier on omap4 when doing kexec boot between two different kernel
versions.

This caused issues on some systems. We should only reset CPU1 as a last
resort option, and try to avoid it where possible. Doing an unconditional
CPU1 reset causes issues for example when booting a bootloader configured
secure OS running on CPU1 as reported by Andrew F. Davis <afd@ti.com>.

We can't completely remove the reset of CPU1 as it would break kexec
booting from older kernels. But we can limit the CPU1 reset to cases
where CPU1 is wrongly parked within the memory area used by the booting
kernel. Then later on we can add support for parking CPU1 for kexec out
of the SDRAM back to bootrom.

So let's first fix the regression reported by Andrew by making CPU1 reset
conditional. To do this, we need to:

1. Save configured AUX_CORE_BOOT_1 for later

2. Modify AUX_CORE_BOOT_0 reading code to for HS SoCs to return
   the whole register instead of the CPU mask

3. Check if CPU1 is wrongly parked into the booting kernel by the
   previous kernel and reset if needed

Fixes: 3251885285 ("ARM: OMAP4+: Reset CPU1 properly for kexec")
Reported-by: Andrew F. Davis <afd@ti.com>
Cc: Andrew F. Davis <afd@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Tested-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-27 10:10:42 -07:00
Baruch Siach 10b6c0c2e2 ARM: dts: bcm2835: add index to the ethernet alias
An alias name should have an index number even when it is the only of its type.
This allows U-Boot to add the local-mac-address property. Otherwise U-Boot
skips the alias.

Fixes: 6a93792774 ("ARM: bcm2835: dt: Add the ethernet to the device trees")
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-27 10:10:39 -07:00
Baruch Siach e1be65a5e4 ARM: dts: bcm2835: fix uart0/uart1 pins
According to the BCM2835 ARM Peripherals document uart1 doesn't map to pins
36-39, but uart0 does.

Also, split into separate Rx/Tx and CST/RTS groups to match other uart nodes.

Fixes: 21ff843931 ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.")
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-27 10:10:15 -07:00
Baruch Siach 843b2287fb ARM: dts: bcm2835: fix i2c0 pins
According to the BCM2835 ARM Peripherals document i2c0 doesn't map to pins 32,
34 but to 28, 29.

Fixes: 21ff843931 ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.")
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-27 10:10:12 -07:00
Baruch Siach ec8542cb8a ARM: dts: bcm2835: fix uart0 pinctrl node names
Downstream kernel uses pins 32, 33 as UART0 (PL011) Rx/Tx to communicate with
the Bluetooth chip. So ALT3 of these pins is most likely not CTS/RTS. Change
the node name to reflect that. This matches section 6.2 "Alternative Function
Assignments" in the BCM2835 ARM Peripherals document.

With this change in place, adding

  &uart0 {
	 pinctrl-names = "default";
	 pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
	 status = "okay";
  };

to bcm2837-rpi-3-b.dts does the right thing on my Raspberry Pi 3.

Pins 30, 31 are CTS/RTS of UART0 in alternate function 3. Rename uart0_gpio30
as well.

While at it, fix a little typo in a nearby comment.

Fixes: 21ff843931 ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.")
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-27 10:09:55 -07:00
Reizer, Eyal 9bcf53f34a ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
mmc2 used for wl12xx was missing the keep-power-in suspend
parameter. As a result the board couldn't reach suspend state.

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-27 10:09:08 -07:00
Icenowy Zheng 72897fa31f ARM: sun8i: h2+: enable USB OTG for Orange Pi Zero board
Orange Pi Zero board features a USB OTG port, which has a ID pin, and
can be used to power up the board. However, even if the board is powered
via +5V pin in GPIO/expansion headers, the VBUS in the OTG port cannot
be powered up, thus it's impossible to use it in host mode with simple
OTG cables.

Add support for it in peripheral mode.

If someone really want to use it in host mode, the mode of PHY can be
switch via sysfs, then use a powered USB OTG cable or powered USB HUB to
power up external USB devices.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:45:32 +02:00
Icenowy Zheng 2e77b3afdd ARM: sun8i: h3: enable USB OTG on Orange Pi One
Orange Pi One features a MicroUSB port that can work in both host mode
and peripheral mode.

When in host mode, its VBUS is controlled via a GPIO; when in peripheral
mode, its VBUS cannot be used to power up the board.

Add support for this port.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:45:30 +02:00
Icenowy Zheng da89e1d5cb ARM: sunxi: h3/h5: add usb_otg and OHCI/EHCI for usbc0 on H3/H5
Allwinner H3/H5 have a dual-routed USB PHY0 -- routed to either OHCI/EHCI
or MUSB controller.

Add device nodes for these controllers.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:43:21 +02:00
Andre Przywara 0127216f22 arm: sun8i: h3: split Allwinner H3 .dtsi
The new Allwinner H5 SoC is pin-compatible to the H3 SoC, but with the
Cortex-A7 cores replaced by Cortex-A53 cores and the MMC controller
updated. So we should really share almost the whole .dtsi.
In preparation for that move the peripheral parts of the existing
sun8i-h3.dtsi into a new sunxi-h3-h5.dtsi.
The actual sun8i-h3.dtsi then includes that and defines the H3 specific
parts on top of it.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
[Icenowy: also split out mmc and gic, as well as pio and ccu's
 compatible, and make drop of skeleton into a seperated patch]
Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:53 +02:00
Icenowy Zheng a0f4e1836b arm: sun8i: h3: correct the GIC compatible in H3 to gic-400
According to the datasheets provided by Allwinner, both Allwinner H3 and
H5 use GIC-400 as their interrupt controller.

For better device tree reusing, correct the GIC compatible in H3 DTSI to
"arm,gic-400", thus this node can be reused in H5.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:52 +02:00
Icenowy Zheng 94be9207c0 arm: sun8i: h3: drop pinctrl-a10.h inclusion for H3 DTSI
After converting to generic pinconf binding, pinctrl-a10.h is now not
used at all.

Drop its inclusion for H3 DTSI.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:52 +02:00
Icenowy Zheng 7fd9d54229 arm: sun8i: h3: drop skeleton.dtsi inclusion in H3 DTSI
The skeleton.dtsi file is now deprecated, and do not exist in ARM64
environment.

Since we will soon reuse most part of H3 DTSI for H5, which is an ARM64
chip, drop skeleton.dtsi inclusion now.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:51 +02:00
Ezequiel Garcia b9f4bc3031 ARM: dts: sun7i: Use axp209.dtsi on A20-OLinuXino-Micro
This commit makes use of the axp209.dtsi file to define the
AXP209 PMIC. While here, define the rails that are enabled on
this board.

Tested checking the regulator voltage varies according to the
CPU frequency.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:03 +02:00
Chen-Yu Tsai 2ca5fbc961 ARM: dts: sun6i: sina31s: Enable SPDIF out
The SinA31s has a coaxial SPDIF output. Enable it.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:02 +02:00
Quentin Schulz bc57e37e32 ARM: sun8i: sina33: add cpu-supply
This adds the cpu-supply DT property to the cpu0 DT node needed by
the board to adapt the regulator voltage depending on the currently used
OPP.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:01 +02:00
Quentin Schulz e6bd37627e ARM: sun8i: a33: add all operating points
This adds almost all operating points allowed for the A33 as defined by
fex files available at:
https://github.com/linux-sunxi/sunxi-boards/tree/master/sys_config/a33

There are more possible frequencies in this patch than there are in the
fex files because the fex files only give an interval of possible
frequencies for a given voltage. All supported frequencies are defined
in the original driver code in Allwinner vendor tree.

There are two missing frequencies though: 1104MHz and 1200MHz which
require the CPU to have 1.32V supplied, which is higher than the default
voltage.

Without all A33 boards defining the CPU regulator, we cannot have these
two frequencies as it would cause the CPU to try to run a higher
frequency without "overvolting" which is very likely to crash the CPU.

Therefore, these two frequencies must be enabled on a per-board basis.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:01 +02:00
Quentin Schulz 3472307584 ARM: sun5i: chip: enable ACIN power supply subnode
The NextThing Co. CHIP has an AXP209 PMIC and can be power-supplied by
ACIN via the CHG-IN pin.

This enables the ACIN power supply subnode in the DT.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:00 +02:00
Quentin Schulz bd69ad59aa ARM: dts: sun8i: sina33: enable ACIN power supply subnode
The Sinlinx SinA33 has an AXP223 PMIC and an ACIN connector, thus, we
enable the ACIN power supply in its Device Tree.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:40:00 +02:00
Quentin Schulz dd663e7d9b ARM: dtsi: axp22x: add AC power supply subnode
The X-Powers AXP22X PMIC exposes the status of AC power supply.

This adds the AC power supply subnode for the AXP22X PMIC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:39:59 +02:00
Quentin Schulz 7d15af5750 ARM: dtsi: axp209: add AC power supply subnode
The X-Powers AXP20X PMIC exposes the status of AC power supply, the
current current and voltage supplied to the board by the AC power
supply.

This adds the AC power supply subnode for AXP20X PMIC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:39:59 +02:00