Commit graph

533,379 commits

Author SHA1 Message Date
Olof Johansson
b1d725ee58 Omap dts changes for v4.3 merge window. There are also related
changes for reemoteproc platform_data and audio options for
 omap2plus_defconfig to keep audio working when changing boards
 to use SIMPLE_CARD. The summary of changes is:
 
 - A large set of audio related changes for SIMPLE_CARD from
   Peter Ujfalusi <peter.ujfalusi@ti.com> for am335x and am437x
 
 - Pinctrl dts defines for dra7 virtual mode to configure timings
 
 - Change to use cpsw slave0 for dra7 Ethernet
 
 - Remove unconfigured and wrong l3-mux entry for dm816x
 
 - Add support for Gumstix Palo35 and TobiDuo boards, and  Overo
   PoP NAND and McBSP2
 
 - Start using new HDMI binding for tilcdc
 
 - Start using new sDMA crossbar for dra7
 
 - Start using rproc for am335x and am437x M3 coprocessor
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVpj6yAAoJEBvUPslcq6VzfckP/AvU56IuA4wHlnHgLGtXprhb
 etGAW40xAzWlBF+fZcIUkKnRmncJ59j5s9Ou9D47q0PvDobRDiqYsZUg7M4qd1SX
 DhiALUhZS1q5+JvW5CCUhz3kKsQ1iSicJE+0lSOmlHNfXK0r8DO868M6+TQqVHlW
 0B5bo9cKDjWxF19wQfUv1Q3PtYcTXZI/oDFGH3zD2PhPZQLkTGs9h2rhrmqqpcuj
 OH6qRUOQmpCVTjrcp1aqODn8qy3laivSH5TUyqsuYt7uPVIwPNtZFNLSCLHSs4o2
 N8EgOV/R09+4u4JRIXra1ooawJp+izSt6057180UZfkdnkV/qX9dYshs4v95QN1U
 iiv2fFTtSvlwHKAFn27LKS1crDtcNKDmlGePOnYufCfcRl+Zy6t48o49LBS7Xyoq
 nafdLpqSRhhjkNNwgSNaBLHbZS6alRnTQIDykLlVTkIcMXF13AN5yOZs2gqT5+HQ
 SLohf5PAb1u4iGRW+4vF5jGFKAANZEdpOMSxy1BVOKRsE712C81hTzgN1/z28IW5
 REB1OHMnguf78fIqnhPYl9ml69Q358YtLtHQacqzCxA8QpHn/dEe+F6CyJINCl53
 qJwg8UpEUQRheJJJTGlZ1tSpy7gnn89ZPx0QVQZPYYvO/fWA9C6Vq6RJ5PNTy69Q
 q7uHoCL0bETCNK0BiUEH
 =sPfQ
 -----END PGP SIGNATURE-----

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

Merge "omap dts changes for v4.3, part 1" from Tony Lindgren:

Omap dts changes for v4.3 merge window. There are also related
changes for reemoteproc platform_data and audio options for
omap2plus_defconfig to keep audio working when changing boards
to use SIMPLE_CARD. The summary of changes is:

- A large set of audio related changes for SIMPLE_CARD from
  Peter Ujfalusi <peter.ujfalusi@ti.com> for am335x and am437x

- Pinctrl dts defines for dra7 virtual mode to configure timings

- Change to use cpsw slave0 for dra7 Ethernet

- Remove unconfigured and wrong l3-mux entry for dm816x

- Add support for Gumstix Palo35 and TobiDuo boards, and  Overo
  PoP NAND and McBSP2

- Start using new HDMI binding for tilcdc

- Start using new sDMA crossbar for dra7

- Start using rproc for am335x and am437x M3 coprocessor

* tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (32 commits)
  ARM: dts: am335x-evm: Switch using simple-audio-card for audio support
  ARM: dts: am335x-evm: Add sleep pin settings for mcasp1
  ARM: dts: am335x-evm: Rename pinctrl section for McASP1
  ARM: dts: am335x-evm: Fix mcasp1 node's indentation
  ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support
  ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1
  ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation
  ARM: dts: am437x-gp-evm: Enable analog audio via simple-card
  ARM: dts: am437x-gp-evm: McASP1 node for audio support
  ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec
  ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d
  ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux
  ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card
  ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec
  ARM: dts: am43xx-epos-evm: McASP1 node for audio support
  ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218
  ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux
  ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support
  ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1
  ARM: omap2plus_defconfig: Enable audio related config options
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-15 10:17:26 -04:00
Peter Ujfalusi
80edaaead3 ARM: dts: am335x-evm: Switch using simple-audio-card for audio support
The sound support consist only Headset output on the board and can be
handled by "simple-audio-card"

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:28:25 -07:00
Peter Ujfalusi
e4e0b70224 ARM: dts: am335x-evm: Add sleep pin settings for mcasp1
When McASP is not in use the pins can be put to sleep mode to conserve
power.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:28:14 -07:00
Peter Ujfalusi
11fd9a9b2c ARM: dts: am335x-evm: Rename pinctrl section for McASP1
Use mcasp1_pins as name for the pinctrl section needed for McASP1 instead
of the am335x_evm_audio_pins name.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:28:03 -07:00
Peter Ujfalusi
a6ccad683f ARM: dts: am335x-evm: Fix mcasp1 node's indentation
The section had two tabs instead of one.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:27:53 -07:00
Peter Ujfalusi
b3c616ef7f ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support
The sound support consist only Headset output on the board and can be
handled by "simple-audio-card"

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:27:34 -07:00
Peter Ujfalusi
ed8830f2e9 ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1
When McASP is not in use the pins can be put to sleep mode to conserve
power.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:27:23 -07:00
Peter Ujfalusi
c8b518ada5 ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation
The section had two tabs instead of one.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:27:13 -07:00
Peter Ujfalusi
cf9a4850e9 ARM: dts: am437x-gp-evm: Enable analog audio via simple-card
The board uses McASP1 <-> tlv320aic3106 for analog audio and has
Headphone out and Line in connectors.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:27:02 -07:00
Peter Ujfalusi
d3d92af19e ARM: dts: am437x-gp-evm: McASP1 node for audio support
Add node for McASP1 along with the needed pinctrl entries.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:26:52 -07:00
Peter Ujfalusi
6076b15928 ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec
Analog audio is using this codec on the board.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:26:32 -07:00
Peter Ujfalusi
390810a962 ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d
The same regulator is used by other chips on the board. The power path is:
VBAT -> TPS63031 - Enable signal is V1_8D regulator -> V3_3D.
V3_3D is used by SD slot and tlv320aic3106 codec as well.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:26:21 -07:00
Peter Ujfalusi
593113e7bc ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux
GPIO5_8 is used as a mux switch between LCD and HDMI displays. This mux
affects audio routing as well since in LCD mode HDMI audio is not possible
and when HDMI is selected analog audio is not working.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:26:03 -07:00
Peter Ujfalusi
22d7fb57ad ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card
Use simple card for audio support on ePOS-EVM.
The audio on the board is: McASP1 <-> tlv320aic3111 codec.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:25:51 -07:00
Peter Ujfalusi
cbfc7e6fff ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec
Analog audio is using this codec on the board.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:25:40 -07:00
Peter Ujfalusi
06e2bf6b37 ARM: dts: am43xx-epos-evm: McASP1 node for audio support
Add node for McASP1 along with the needed pinctrl entries.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:25:29 -07:00
Peter Ujfalusi
7ec341d969 ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218
The VBAT and DCDC4 regulator is needed for audio support (tlv320aic3111)

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:25:18 -07:00
Peter Ujfalusi
56fd3dc793 ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux
GPIO2_1 is used as a mux switch between LCD and HDMI displays. This mux
affects audio routing as well since in LCD mode HDMI audio is not possible
and when HDMI is selected analog audio is not working.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:25:04 -07:00
Peter Ujfalusi
20746c508b ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support
The sound support consist only Headset output on the board and can be
handled by "simple-audio-card".
Also enable the Line-In route as the board has support for it.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:24:52 -07:00
Peter Ujfalusi
7155ace481 ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1
When McASP is not in use the pins can be put to sleep mode to conserve
power.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:24:35 -07:00
Peter Ujfalusi
da4cada871 ARM: omap2plus_defconfig: Enable audio related config options
More and more boards are moving to have audio support via simple-card.
At the same time enable options needed for most am335x and am43xx board for
audio support: McASP and TLV320AIC3X codecs.
The later two has been selected by the CONFIG_SND_AM33XX_SOC_EVM option, but
the aim is to convert all boards to use simple card.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:23:08 -07:00
Nishanth Menon
601b29aa48 pinctrl: dra: dt-bindings: Add virtual mode configuration option
In addition to the regular mux configuration such as mux mode 1,
2 etc, certain pins of DRA7 require to have "virtual mode" also
programmed. This allows for predefined delay characteristics to
be used by the SoC to meet timing characterstics needed for the
interface.

Provide easy to use macro to do the same.

It is important to note that the official TI guidelines recommend
to do as minimal pin reconfiguration beyond the bootloader given
the design of the hardware involved which can result in substantial
glitches which may impair functionality of certain peripherals.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:11 -07:00
Vignesh R
ad548430ab ARM: dts: DRA72: switch to cpsw slave0 for ethernet
On DRA72 EVM, cpsw slave1 is muxed with VIN2A, hence switch to cpsw
slave0 for ethernet. Add gpio hog entry to pcf_gpio_21 in order to
select cpsw slave0.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:11 -07:00
Tony Lindgren
71bed41c62 ARM: dts: Remove L3 compatible value for dm816x
The interconnects on dm816x are like on omap4, so we should use
l3-noc instead of l3-smx. But as the related SoC specific
l3_target_data is still missing from omap_l3_noc let's just
remove the entry for now.

Cc: Brian Hutchinson <b.hutchman@gmail.com>
Reported-by: Matthijs van Duin <matthijsvanduin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:11 -07:00
Adam YH Lee
3353b693a1 ARM: dts: overo: Add device tree for Palo35 board
Also, reduce the maximum SPI device speed to the max. supported by the
LCD controller used on the LGPhilips LB035Q02 panel for this board.

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:11 -07:00
Ash Charles
98ce6007ef ARM: dts: overo: Support PoP NAND
Some Overo COM models include NAND flash in the on-board
package-on-package (PoP) chip.  Add this to the base Overo devicetree.

Most commonly, this is 512MB NAND from the Micron MT29C4G96MAZ family
but, as discussed [1], several different sized are possible. To
support different sizes, the last partition should fill to the end of
the chip (i.e. MTDPART_SIZ_FULL).

With thanks to Florian Vaussard for the original patch [2] and Adam Lee for
updating it here.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175760.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175449.html

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:11 -07:00
Adam YH Lee
d765af89a4 ARM: dts: overo: Enable McBSP2 for all Overo COMs
Both Gumstix Overo and Overo Storm COMs use TWL4030 audio module
connected to the McBSP2.  As such, enable the McBSP2 module in the
common device tree file, omap3-overo-base.dtsi, rather than in the
processor-specific device tree files, omap3-overo.dtsi and
omap3-overo-storm.dtsi.  This corrects audio on the Storm COMs where
the setting was accidentally missing from the device tree.

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:10 -07:00
Ash Charles
72f5d5d524 ARM: dts: Add DTS for Gumstix TobiDuo expansion board
The Gumstix "Tobi-Duo" expansion board [1] can be used with either
OMAP3 Overo or Overo Storm COMs.  It provides two NICs using LAN9221
chips.
It is necessary to duplicate the interface information for the
second SMSC9221 chip as discussed [2].

[1] https://store.gumstix.com/index.php/products/241/
[2] http://www.spinics.net/lists/linux-omap/msg115282.html

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:10 -07:00
Jyri Sarha
34c900a60b ARM: dts: am335x-boneblack: Use new binding for HDMI
Use new binding for the external tda19988 HDMI encoder.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 04:15:10 -07:00
Peter Ujfalusi
3a0830de58 ARM: dts: dra7x: Integrate sDMA crossbar
The sDMA requests are routed through the DMA crossbar and without the
crossbar only peripherals using DMA request 0-127 can be used.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 03:28:06 -07:00
Suman Anna
3402042287 ARM: dts: AM4372: Add the wkupm3 rproc node
Add the Wakeup M3 remote processor device node for
the AM4372 SoC. The WkupM3 remote processor is used
to implement and achieve low-power functionality on
the AM33xx & AM43xx SoCs.

This node is added as a child of the recently added
l4_wkup node to reflect its presence within the SoC.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 02:58:11 -07:00
Suman Anna
d129be27b8 ARM: dts: AM33xx: Update and move wkup_m3 node to l4 node
The WakeupM3 remote processor device node has been moved to
be a child node of the newly created l4_wkup node, to reflect
its presence properly within the SoC. The node was added
previously before any driver support, it is now updated as
per the wkup_m3_rproc bindings added alongside the driver
support.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 02:58:11 -07:00
Dave Gerlach
6da74c5416 ARM: OMAP2+: Use pdata-quirks for wkup_m3 reset management
Use pdata-quirks to provide platform data required for reset
management during boot and shutdown of the wkup_m3 processor
on both the AM33xx and AM43xx SoCs. The WkupM3 remote processor
is used to implement and achieve low-power functionality on
the AM33xx & AM43xx SoCs.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14 02:58:11 -07:00
Olof Johansson
216883a420 Renesas ARM Based SoC DT Updates for v4.3
* Configure IRLM mode via DT on r8a7779 SoC
 * Use "arm,gic-400" for GIC on r8a777[01349] and r8a73a4 SoCs
 * Add pinctrl and gpio-hog for lcdc0 to armadillo800eva board
 * EtherAVB DT support for r8a7790 SoC
 * Minimal device tree for r8a7793 SoC and its Gose board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVn2b7AAoJENfPZGlqN0++a/UQAKDrWeL9Ju7UIWFR9VzZHb7L
 8daaSWHT54JKgdKOa94fgkTTdSG86El+sLXXGpTVIz9rcItNrfdZ7zqrAgkja1XS
 couQl2KfkNnBjlNocQ13cpSYDj1DGfuflSimcR2KJb7EhTGHnLZLl0GC+gSnIOQo
 KJQ1TGMhNRViWdfjdAROg/rYKfhaVW93qEKatkz47nN8fIAg9q3wYzsE1ePzvG9U
 dJ6/hhoVY8ibj0TIotRuTmyDfbnoX3m/Q+4InGBKOkjCdf8SauKBrRVQfkPkjKE0
 XWQDbIZZBoV62vhYSSi5mJ9s/ap6onS8FwGC5kcu7nFTVBeRCJgxFJen7oNkiZXN
 MoDoCZKDdgHbK/I/JRO9xBewRPAs2rvsZGyd/j0gp2X1l53XqQTpjNiwvZ7rrsuA
 p+gu1KI7Bgyhi8nQTMsLVF64N7n5ZaYkoopTeU+vXpbSajaZtGByVgcQInFTm4wn
 /pujdJ3wsDdsYDvWcU1oBQjp4uspXesyeLpI6tio7/nzwhF8apZ/HFwuaGnRH2cA
 2VYzConXI41GVwMvEyu7hLEdh9aZPKyPnz8XKIunHEV5XejJyWRPPTbyCOegjM27
 7GrC+2kaIe6Wo0iOS3MpmZM66rNzfLJm5rvGaTWpa0ToRtuyC+e9tzZNAxGgZSny
 tlNVACQ6Xn44Sv120Yyu
 =vwn6
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Merge "Renesas ARM Based SoC DT Updates for v4.3" from Simon Horman:

* Configure IRLM mode via DT on r8a7779 SoC
* Use "arm,gic-400" for GIC on r8a777[01349] and r8a73a4 SoCs
* Add pinctrl and gpio-hog for lcdc0 to armadillo800eva board
* EtherAVB DT support for r8a7790 SoC
* Minimal device tree for r8a7793 SoC and its Gose board

* tag 'renesas-dt-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7779: Configure IRLM mode via DT
  ARM: shmobile: r8a7794 dtsi: Use "arm,gic-400" for GIC
  ARM: shmobile: r8a7793 dtsi: Use "arm,gic-400" for GIC
  ARM: shmobile: r8a7791 dtsi: Use "arm,gic-400" for GIC
  ARM: shmobile: r8a7790 dtsi: Use "arm,gic-400" for GIC
  ARM: shmobile: r8a73a4 dtsi: Use "arm,gic-400" for GIC
  ARM: shmobile: armadillo800eva dts: Add pinctrl and gpio-hog for lcdc0
  ARM: shmobile: r8a7790: add EtherAVB DT support
  ARM: shmobile: r8a7790: add EtherAVB clocks
  ARM: shmobile: r8a7793: add minimal Gose board device tree
  ARM: shmobile: add r8a7793 minimal SoC device tree
2015-07-14 11:51:16 +02:00
Masahiro Yamada
3fbf02a85b ARM: dts: UniPhier: add USB EHCI device nodes
No dedicated driver compatible with "socionext,uniphier-ehci" has
been supported in the mainline yet, so it falls into "generic-ehci"
and it works well enough with our USB 2.0 host controllers.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-14 11:21:45 +02:00
Masahiro Yamada
1bf4250702 ARM: dts: UniPhier: add on-chip UART device nodes
The UniPhier on-chip UART driver was merged into the mainline by
commit 1a8d2903cb ("serial: 8250_uniphier: add UniPhier serial
driver").

Add device nodes to make it really available.

We no longer have to depend on the on-board UART device (16550A),
so let's change the chosen and aliases to point to the on-chip ones.
Also, turn on the on-board Ethernet device.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-14 11:21:43 +02:00
Baruch Siach
475c3eeff5 ARM: digicolor: dts: use stdout-path for console configuration
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-14 11:20:33 +02:00
Baruch Siach
1172f67f95 ARM: digicolor: enable watchdog device
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-14 11:20:30 +02:00
Linus Torvalds
bc0195aad0 Linux 4.2-rc2 2015-07-12 15:10:30 -07:00
Linus Torvalds
01e2d0627a Revert "drm/i915: Use crtc_state->active in primary check_plane func"
This reverts commit dec4f799d0.

Jörg Otte reports a NULL pointder dereference due to this commit, as
'crtc_state' very much can be NULL:

        crtc_state = state->base.state ?
                intel_atomic_get_crtc_state(state->base.state, intel_crtc) : NULL;

So the change to test 'crtc_state->base.active' cannot possibly be
correct as-is.

There may be some other minimal fix (like just checking crtc_state for
NULL), but I'm just reverting it now for the rc2 release, and people
like Daniel Vetter who actually know this code will figure out what the
right solution is in the longer term.

Reported-and-bisected-by: Jörg Otte <jrg.otte@gmail.com>
Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
CC: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-07-12 15:00:20 -07:00
Linus Torvalds
c83727a656 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull VFS fixes from Al Viro:
 "Fixes for this cycle regression in overlayfs and a couple of
  long-standing (== all the way back to 2.6.12, at least) bugs"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  freeing unlinked file indefinitely delayed
  fix a braino in ovl_d_select_inode()
  9p: don't leave a half-initialized inode sitting around
2015-07-12 14:09:36 -07:00
Linus Torvalds
7fbb58a065 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS fixes from Ralf Baechle:
 "A fair number of 4.2 fixes also because Markos opened the flood gates.

   - Patch up the math used calculate the location for the page bitmap.

   - The FDC (Not what you think, FDC stands for Fast Debug Channel) IRQ
     around was causing issues on non-Malta platforms, so move the code
     to a Malta specific location.

   - A spelling fix replicated through several files.

   - Fix to the emulation of an R2 instruction for R6 cores.

   - Fix the JR emulation for R6.

   - Further patching of mindless 64 bit issues.

   - Ensure the kernel won't crash on CPUs with L2 caches with >= 8
     ways.

   - Use compat_sys_getsockopt for O32 ABI on 64 bit kernels.

   - Fix cache flushing for multithreaded cores.

   - A build fix"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: O32: Use compat_sys_getsockopt.
  MIPS: c-r4k: Extend way_string array
  MIPS: Pistachio: Support CDMM & Fast Debug Channel
  MIPS: Malta: Make GIC FDC IRQ workaround Malta specific
  MIPS: c-r4k: Fix cache flushing for MT cores
  Revert "MIPS: Kconfig: Disable SMP/CPS for 64-bit"
  MIPS: cps-vec: Use macros for various arithmetics and memory operations
  MIPS: kernel: cps-vec: Replace KSEG0 with CKSEG0
  MIPS: kernel: cps-vec: Use ta0-ta3 pseudo-registers for 64-bit
  MIPS: kernel: cps-vec: Replace mips32r2 ISA level with mips64r2
  MIPS: kernel: cps-vec: Replace 'la' macro with PTR_LA
  MIPS: kernel: smp-cps: Fix 64-bit compatibility errors due to pointer casting
  MIPS: Fix erroneous JR emulation for MIPS R6
  MIPS: Fix branch emulation for BLTC and BGEC instructions
  MIPS: kernel: traps: Fix broken indentation
  MIPS: bootmem: Don't use memory holes for page bitmap
  MIPS: O32: Do not handle require 32 bytes from the stack to be readable.
  MIPS, CPUFREQ: Fix spelling of Institute.
  MIPS: Lemote 2F: Fix build caused by recent mass rename.
2015-07-12 13:55:24 -07:00
Linus Torvalds
1daa1cfb7a Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Thomas Gleixner:

 - the high latency PIT detection fix, which slipped through the cracks
   for rc1

 - a regression fix for the early printk mechanism

 - the x86 part to plug irq/vector related hotplug races

 - move the allocation of the espfix pages on cpu hotplug to non atomic
   context.  The current code triggers a might_sleep() warning.

 - a series of KASAN fixes addressing boot crashes and usability

 - a trivial typo fix for Kconfig help text

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/kconfig: Fix typo in the CONFIG_CMDLINE_BOOL help text
  x86/irq: Retrieve irq data after locking irq_desc
  x86/irq: Use proper locking in check_irq_vectors_for_cpu_disable()
  x86/irq: Plug irq vector hotplug race
  x86/earlyprintk: Allow early_printk() to use console style parameters like '115200n8'
  x86/espfix: Init espfix on the boot CPU side
  x86/espfix: Add 'cpu' parameter to init_espfix_ap()
  x86/kasan: Move KASAN_SHADOW_OFFSET to the arch Kconfig
  x86/kasan: Add message about KASAN being initialized
  x86/kasan: Fix boot crash on AMD processors
  x86/kasan: Flush TLBs after switching CR3
  x86/kasan: Fix KASAN shadow region page tables
  x86/init: Clear 'init_level4_pgt' earlier
  x86/tsc: Let high latency PIT fail fast in quick_pit_calibrate()
2015-07-12 10:02:38 -07:00
Linus Torvalds
7b732169e9 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fixes from Thomas Gleixner:
 "This update from the timer departement contains:

   - A series of patches which address a shortcoming in the tick
     broadcast code.

     If the broadcast device is not available or an hrtimer emulated
     broadcast device, some of the original assumptions lead to boot
     failures.  I rather plugged all of the corner cases instead of only
     addressing the issue reported, so the change got a little larger.

     Has been extensivly tested on x86 and arm.

   - Get rid of the last holdouts using do_posix_clock_monotonic_gettime()

   - A regression fix for the imx clocksource driver

   - An update to the new state callbacks mechanism for clockevents.
     This is required to simplify the conversion, which will take place
     in 4.3"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  tick/broadcast: Prevent NULL pointer dereference
  time: Get rid of do_posix_clock_monotonic_gettime
  cris: Replace do_posix_clock_monotonic_gettime()
  tick/broadcast: Unbreak CONFIG_GENERIC_CLOCKEVENTS=n build
  tick/broadcast: Handle spurious interrupts gracefully
  tick/broadcast: Check for hrtimer broadcast active early
  tick/broadcast: Return busy when IPI is pending
  tick/broadcast: Return busy if periodic mode and hrtimer broadcast
  tick/broadcast: Move the check for periodic mode inside state handling
  tick/broadcast: Prevent deep idle if no broadcast device available
  tick/broadcast: Make idle check independent from mode and config
  tick/broadcast: Sanity check the shutdown of the local clock_event
  tick/broadcast: Prevent hrtimer recursion
  clockevents: Allow set-state callbacks to be optional
  clocksource/imx: Define clocksource for mx27
2015-07-12 09:36:59 -07:00
Linus Torvalds
c4bc680cf7 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fix from Thomas Gleixner:
 "A single fix for a cpu hotplug race vs. interrupt descriptors:

  Prevent irq setup/teardown across the cpu starting/dying parts of cpu
  hotplug so that the starting/dying cpu has a stable view of the
  descriptor space.  This has been an issue for all architectures in the
  cpu dying phase, where interrupts are migrated away from the dying
  cpu.  In the starting phase its mostly a x86 issue vs the vector space
  update"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  hotplug: Prevent alloc/free of irq descriptors during cpu up/down
2015-07-12 09:15:02 -07:00
Al Viro
75a6f82a0d freeing unlinked file indefinitely delayed
Normally opening a file, unlinking it and then closing will have
the inode freed upon close() (provided that it's not otherwise busy and
has no remaining links, of course).  However, there's one case where that
does *not* happen.  Namely, if you open it by fhandle with cold dcache,
then unlink() and close().

	In normal case you get d_delete() in unlink(2) notice that dentry
is busy and unhash it; on the final dput() it will be forcibly evicted from
dcache, triggering iput() and inode removal.  In this case, though, we end
up with *two* dentries - disconnected (created by open-by-fhandle) and
regular one (used by unlink()).  The latter will have its reference to inode
dropped just fine, but the former will not - it's considered hashed (it
is on the ->s_anon list), so it will stay around until the memory pressure
will finally do it in.  As the result, we have the final iput() delayed
indefinitely.  It's trivial to reproduce -

void flush_dcache(void)
{
        system("mount -o remount,rw /");
}

static char buf[20 * 1024 * 1024];

main()
{
        int fd;
        union {
                struct file_handle f;
                char buf[MAX_HANDLE_SZ];
        } x;
        int m;

        x.f.handle_bytes = sizeof(x);
        chdir("/root");
        mkdir("foo", 0700);
        fd = open("foo/bar", O_CREAT | O_RDWR, 0600);
        close(fd);
        name_to_handle_at(AT_FDCWD, "foo/bar", &x.f, &m, 0);
        flush_dcache();
        fd = open_by_handle_at(AT_FDCWD, &x.f, O_RDWR);
        unlink("foo/bar");
        write(fd, buf, sizeof(buf));
        system("df .");			/* 20Mb eaten */
        close(fd);
        system("df .");			/* should've freed those 20Mb */
        flush_dcache();
        system("df .");			/* should be the same as #2 */
}

will spit out something like
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root         322023 303843      1131 100% /
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root         322023 303843      1131 100% /
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root         322023 283282     21692  93% /
- inode gets freed only when dentry is finally evicted (here we trigger
than by remount; normally it would've happened in response to memory
pressure hell knows when).

Cc: stable@vger.kernel.org # v2.6.38+; earlier ones need s/kill_it/unhash_it/
Acked-by: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-07-12 11:27:04 -04:00
Al Viro
9391dd00d1 fix a braino in ovl_d_select_inode()
when opening a directory we want the overlayfs inode, not one from
the topmost layer.

Reported-By: Andrey Jr. Melnikov <temnota.am@gmail.com>
Tested-By: Andrey Jr. Melnikov <temnota.am@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-07-12 11:22:05 -04:00
Al Viro
0a73d0a204 9p: don't leave a half-initialized inode sitting around
Cc: stable@vger.kernel.org # all branches
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-07-12 11:22:05 -04:00
Linus Torvalds
59c3cb553f Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm
Pull libnvdimm fixes from Dan Williams:
 "1) Fixes for a handful of smatch reports (Thanks Dan C.!) and minor
     bug fixes (patches 1-6)

  2) Correctness fixes to the BLK-mode nvdimm driver (patches 7-10).

     Granted these are slightly large for a -rc update.  They have been
     out for review in one form or another since the end of May and were
     deferred from the merge window while we settled on the "PMEM API"
     for the PMEM-mode nvdimm driver (ie memremap_pmem, memcpy_to_pmem,
     and wmb_pmem).

     Now that those apis are merged we implement them in the BLK driver
     to guarantee that mmio aperture moves stay ordered with respect to
     incoming read/write requests, and that writes are flushed through
     those mmio-windows and platform-buffers to be persistent on media.

  These pass the sub-system unit tests with the updates to
  tools/testing/nvdimm, and have received a successful build-report from
  the kbuild robot (468 configs).

  With acks from Rafael for the touches to drivers/acpi/"

* 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm:
  nfit: add support for NVDIMM "latch" flag
  nfit: update block I/O path to use PMEM API
  tools/testing/nvdimm: add mock acpi_nfit_flush_address entries to nfit_test
  tools/testing/nvdimm: fix return code for unimplemented commands
  tools/testing/nvdimm: mock ioremap_wt
  pmem: add maintainer for include/linux/pmem.h
  nfit: fix smatch "use after null check" report
  nvdimm: Fix return value of nvdimm_bus_init() if class_create() fails
  libnvdimm: smatch cleanups in __nd_ioctl
  sparse: fix misplaced __pmem definition
2015-07-11 20:44:31 -07:00
Linus Torvalds
e49251988b Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
 "Mostly slight adjusments for new drivers, but also one core fix for
  which finally the dependencies are now available as well"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: Mark instantiated device nodes with OF_POPULATE
  i2c: jz4780: Fix return value if probe fails
  i2c: xgene-slimpro: Fix missing mbox_free_channel call in probe error path
  i2c: I2C_MT65XX should depend on HAS_DMA
2015-07-11 11:24:15 -07:00