Commit Graph

2469 Commits

Author SHA1 Message Date
Antoine Tenart
1c3554fa94 arm64: dts: add the Alpine v2 EVP
This patch adds the initial support for the Alpine v2 EVP board from
Annapurna Labs (Amazon).

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Barak Wasserstrom <barak@annapurnalabs.com>
Signed-off-by: Tsahee Zidenberg <tsahee@annapurnalabs.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:58:03 +01:00
Arnd Bergmann
56c8b00fdb arm: Xilinx ZynqMP dt patches for v4.6
- Extract clock information from EP108
 - Sort GPIO node
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlbO/SIACgkQykllyylKDCEL9QCfdcFczSmk3OWvubtp1/d7YoMs
 MhoAn33UBIqTGcmYgpRljfhWWStW1eRE
 =wlZ0
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-dt-for-4.6' of https://github.com/Xilinx/linux-xlnx into next/dt64

Merge "ARM: Xilinx ZynqMP dt patches for v4.6" from Michal Simek:

- Extract clock information from EP108
- Sort GPIO node

* tag 'zynqmp-dt-for-4.6' of https://github.com/Xilinx/linux-xlnx:
  ARM64: zynqmp: Extract clock information from EP108
  ARM64: zynqmp: Keep gpio node alphabetically sorted
2016-02-26 22:51:16 +01:00
Arnd Bergmann
f6c7017c60 Add nor-flash to mt8173 SoC.
Add efuse device to mt1873 SoC.
 Fix power-domain issue mt8173-evb which uses older chip revision.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJWyuyIAAoJELQ5Ylss8dNDTCwP/0zxGGAFsulImbY/NBs1Ho8W
 uukfro+mAMDvJbzV8qgNU4knBLMryPWMp/RGXVwNb2EPCazf8vxGQOy9+hNh19mF
 01CLqs0T3HVb3F1G1ZmpCz/BJy2D6pdLXBMF6fzdglxhUt4aiO5OxLpUFpcB45l5
 vBjPxGEA1/192s7+2aHQKBANd+qYfkQB+Xt7nXIrhuV6cEkzKX4aPehIy1vvGMEm
 NC7+zZpQKaYvlbu6GL94/ZFtBHzF9TmYgQSb305ML35zZSk+zfb3CeH/i4L9RUBC
 DB8Of6Oy6oku+m6Pk+OzjH+vfN6EOyDfxJt010J5zqZXjJv4BhZv8gMawuKjKUek
 HuELW0lY4ArxBOoQ8rftzXIXzKAwK79Ir0tMIY7hXzRr/4i/iTuY4IcNE/TjiHV8
 KsTsMmHAdCzkLrTqasad743NBHOEARA+HEiM0pne/us/oaPznJ2cC5LC2t+UBqnY
 G481YhG/nVlk2dSthMjwsct8Zt6agfSH+YBDurYwep31G2gIwjqT9GEoiVrmGRVw
 NlMIhbA3GFNiUP+EGALDvVTbb0Q86Y4oI+dh+iLdHQXtw66rUoqyJDLJWHkZoOL6
 V3dUMSV+PuB1z7z6a59ihnVIKlHzk4hPYgUBLvd0mHTBI/ZQp7/RZze0osTHIY56
 i+RSMpxi4ZU2m7PGvZfe
 =fziL
 -----END PGP SIGNATURE-----

Merge tag 'v4.5-next-dts64' of https://github.com/mbgg/linux-mediatek into next/dt64

Merge "ARM: mediatek: dts updates for v4.6" from Matthias Brugger:

Add nor-flash to mt8173 SoC.
Add efuse device to mt8173 SoC.
Fix power-domain issue mt8173-evb which uses older chip revision.

* tag 'v4.5-next-dts64' of https://github.com/mbgg/linux-mediatek:
  ARM64: dts: Mediatek: mt8173-evb: fix access MMC fail issue
  dts: arm64: Add EFUSE device node
  arm64: dts: mt8173: Add nor flash node
2016-02-26 22:29:42 +01:00
Michal Simek
5087bccb2f ARM64: zynqmp: Extract clock information from EP108
Extract clocks and put it specific file to help with platform
autogeneration.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-25 14:01:03 +01:00
Michal Simek
72e5df437b ARM64: zynqmp: Keep gpio node alphabetically sorted
No functional change.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-25 14:00:50 +01:00
Olof Johansson
072201624a mvebu dt64 for 4.6 (part 1)
Device tree part of the Armada 3700 support:
 - binding for the Armada 3700 SoCs
 - device tree files for the SoCs and a board
 - tidy up the Marvell related files
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlbEltYACgkQCwYYjhRyO9UZxACgi1NcAIrem831BSMOHVRBphAB
 qT8An3bCV/tPx2QYz0kKYmGfyb7VtTzo
 =IdEY
 -----END PGP SIGNATURE-----

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

mvebu dt64 for 4.6 (part 1)

Device tree part of the Armada 3700 support:
- binding for the Armada 3700 SoCs
- device tree files for the SoCs and a board
- tidy up the Marvell related files

* tag 'mvebu-dt64-4.6-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: add the Marvell Armada 3700 family and a development board
  devicetree: bindings: add DT binding for the Marvell Armada 3700 SoC family
  Documentation: dt: Tidy up the Marvell related files
  Documentation: dt-bindings: Add a new compatible for the Armada 3700

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:49:05 -08:00
Suravee Suthikulpanit
18f94513ea arm64: dts: amd: Fix-up for ccn504 and kcs nodes
This is a fix-up patch based on the review comment from
Arnd regarding:
    * fix ccn504 address in the node name
    * remove kcs interrupt-name

Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:02:19 -08:00
Olof Johansson
4375acc3e2 Define the tuning-related mmc clocks and move from
gpio-key,wakeup to the more generic wakeup-source property.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWuwVbAAoJEPOmecmc0R2B5b4H/j869d1n99jqv+we15c0B87e
 bYjNk9UKW4me+rrpU4PLBVyj15KYj+otAS/aB9S5Z+GckRWHLIB4FppE+cCyqAvb
 jmLle+vrMcni23AfbVB9nBzcx/PpE+G0NB9s/PDo07B4MxpeShvYDCW/x3u7ak2r
 VotY8hqp3SI7JVXskknmiJtaxA9RI+CpVPucBJ6SZL5CYFgLSYqo0JiW7ArRWoeb
 /vdbmMN+9CwbYAaWPzkVgPvCTNqsKJeP3K05u+zxOqV++YIva8H2Ml59euxC3CsY
 0IssrCVb0iwlBEF+Lxya/tJJe7lZ5iTcjfE/NMI4lmxvFTUFNMKt8v79kLIKEx0=
 =+Sh9
 -----END PGP SIGNATURE-----

Merge tag 'v4.6-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt64

Define the tuning-related mmc clocks and move from
gpio-key,wakeup to the more generic wakeup-source property.

* tag 'v4.6-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
  arm64: dts: rockchip: add rk3368 tuning clk for emmc and sdmmc

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:51:45 -08:00
Eddie Huang
3ea064b1e5 ARM64: dts: Mediatek: mt8173-evb: fix access MMC fail issue
MT8173 E1 chip has one bug that if turn off USB power domain, vcore
power will also be off, thus cause modules using vcore power domain
fail, like MMC. The E1 chip only found on MT8173-evb board and this
board only has E1 chip, so implement this as a board specific
workaround.

Pwrapper use vcore power, so add pwrapper using USB power domain to
keep USB power domain not to zero and disabled.

Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-19 11:05:09 +01:00
Gregory CLEMENT
adbc3695d9 arm64: dts: add the Marvell Armada 3700 family and a development board
Add initial dtsi files to support Marvell Armada 3700 SoC with Cortex-A53
CPUs. There are two members in this family: the Armada 3710 (Single CPU)
and the Armada 3720 (Dual CPUs).

It also adds a dts file for the Marvell Armada 3720 DB board.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-17 16:09:55 +01:00
andrew-ct.chen@mediatek.com
93e9f5ee1e dts: arm64: Add EFUSE device node
Add Mediatek MT8173 EFUSE device node

Signed-off-by: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:26:18 +01:00
Bayi Cheng
86cb8a88d4 arm64: dts: mt8173: Add nor flash node
Add Mediatek nor flash node

Signed-off-by: Bayi Cheng <bayi.cheng@mediatek.com>
Acked-by: Brian Norris <computersforpeace@gmail.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium. org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:25:27 +01:00
Sudeep Holla
e6f49b118f arm64: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
Keyboard driver for GPIO buttons(gpio-keys) checks for the legacy
"gpio-key,wakeup" boolean property to enable gpio buttons as wakeup
source.

Few dts files assign value "1" to gpio-key,wakeup and in one instance a
value "0" is assigned probably assuming it won't be enabled as a wakeup
source. Since the presence of the boolean property indicates it is
enabled, value of "0" have no value.

This patch replaces the legacy "gpio-key,wakeup" with the unified
"wakeup-source" property which inturn fixes the above mentioned issue.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-02-10 00:23:24 +01:00
Olof Johansson
efa9b9e39e Renesas ARM64 Based SoC DT Updates for v4.6
* Use SCIF fallback compatibility strings
 * Add Baud Rate Generator (BRG) support for (H)SCIF
 * Enable SCIF_CLK frequency and pins
 * Enable USB 3.0 host
 * Add Add USB-DMAC device nodes
 * Complete SYS-DMAC device nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWs16GAAoJENfPZGlqN0++j9IP/ixHDobnJAUKz0KSIv5esGl7
 pZIX08cKi45N0L3PTFDsABr0Mwafcs/lTepOZCMgdgoXFJOjbHe3r1cBKVptyqbz
 Ox7xYXG7TbONhSe77IbhtwIFXcG6BmNt/x2eKiJVw4/riSgBWvP8OScfcH9qJL3u
 kl32/wIwqAQaYazMHDfE7u1jIRW2JrqHI4cXjR+y7sgl1+VsnvSYjKA4nwc0TcP/
 QU6QCyLq27TUn3ViSGPHGqEj3mNy+aWla7rgsCydH3W9jCGKb4W+AnX1ee5lRzhP
 uFrU/MgRJ+XLKrhcrZk7H/0IEtDYRUyEnD9wXEhtdIKkeacVvwB5egrm6V25y3O6
 1rqpZl3qya6pOiTtGZD7fc5pAWCXJSgvzjUPA2FfwT5U+UeBMP3AEoZagITw3xNX
 FInFt+GBnPCZ06OUBISCbVzOFv9CKYy/EQKFxMKkieQhSTJaZPAj3hHA6hmz64jZ
 c4LTe+qoHBMKO0XfjmK+j6ASiU0kjduFRWEvRIRYE4mmOLnuQIAH4xQGDCSnIdaw
 wnYlH6npMJiVL0x+nrEIiM7KcoHXDrl3lD/b4Usogbw8q5WLtVwPxId7ZdTOUfKF
 VGzClqflVt/1SWTgZkKcKO212Q5VUhdN29JID6z6pqYwWwUPNxwSJl7wdwURqa2M
 Lx8bf318ssvbLMCUOntR
 =vJZy
 -----END PGP SIGNATURE-----

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

Renesas ARM64 Based SoC DT Updates for v4.6

* Use SCIF fallback compatibility strings
* Add Baud Rate Generator (BRG) support for (H)SCIF
* Enable SCIF_CLK frequency and pins
* Enable USB 3.0 host
* Add Add USB-DMAC device nodes
* Complete SYS-DMAC device nodes

* tag 'renesas-arm64-dt-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: dts: salvator-x: Enable SCIF_CLK frequency and pins
  arm64: dts: r8a7795: Add BRG support for (H)SCIF
  arm64: dts: r8a7795: Rename the serial port clock to fck
  arm64: dts: r8a7795: Add SCIF fallback compatibility strings
  arm64: dts: r8a7795: Add USB-DMAC device nodes
  arm64: dts: salvator-x: enable usb3.0 host channel 0
  arm64: dts: r8a7795: Add USB3.0 host device nodes
  arm64: dts: r8a7795: Complete SYS-DMAC nodes

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:40:32 -08:00
Suravee Suthikulpanit
4a6e0a771e dtb: amd: Add support for AMD/Linaro 96Boards Enterprise Edition Server board
Add device tree file for AMD/Linaro 96Boards Enterprise Edition Server
(Husky) Board. This is based on the AMD Seattle Rev.B0 system

Signed-off-by: Leo Duran <leo.duran@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:31 -08:00
Suravee Suthikulpanit
49449828ba dtb: amd: Add support for new AMD Overdrive boards
Add device tree files for AMD Overdrive boards which comes with
AMD Seattle Revision B0 and B1 SOCs.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:28 -08:00
Tom Lendacky
08b8940efc dtb: amd: Add AMD XGBE device tree file
Add AMD XGBE device tree file, which is available in AMD Seattle RevB.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:25 -08:00
Brijesh Singh
71edbebb12 dtb: amd: Add KCS device tree node
Add KCS device node to support IPMI solution on Overdrive
system.

Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:22 -08:00
Suravee Suthikulpanit
fb8d5e0983 dtb: amd: Add PERF CCN-504 device tree node
Add PERF CCN-504 device tree node.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:20 -08:00
Suravee Suthikulpanit
ce00c22fc1 dtb: amd: Misc changes for GPIO devices
Add new GPIO device nodes and fix clock on gpio0.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:17 -08:00
Suravee Suthikulpanit
7973a3fbbb dtb: amd: Misc changes for SATA device tree nodes
Add new SATA1 device node, and fix the register range size of SATA0.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:14 -08:00
Suravee Suthikulpanit
1584fd1373 dtb: amd: Misc changes for I2C device nodes
Add new i2c1 device node, and fix the incorrect clock frequency.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:11 -08:00
Suravee Suthikulpanit
4bc529e182 dtb: amd: Fix typo in SPI device nodes
Remove invalid entry in the SPI device nodes.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:08 -08:00
Suravee Suthikulpanit
c91cb9123c dtb: amd: Fix DMA ranges in device tree
Fix DMA ranges of smb0 and pcie0 nodes in AMD Seattle SOC.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:05 -08:00
Brijesh Singh
4852773806 dtb: amd: Fix GICv2 hypervisor and virtual interface sizes
This patch fixes incorrect sizes of the GICv2 device tree node.
This has triggered error message when booting Xen hypervisor.

Signed-off-by: Brijesh Singh <brijeshkumar.singh@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:38:02 -08:00
Linus Torvalds
c17dfb019d ARM: SoC fixes for v4.5-rc
The first real batch of fixes for this release cycle, so there are a few more
 than usual.
 
 Most of these are fixes and tweaks to board support (DT bugfixes, etc). I've
 also picked up a couple of small cleanups that seemed innocent enough that
 there was little reason to wait (const/__initconst and Kconfig deps).
 
 Quite a bit of the changes on OMAP were due to fixes to no longer write to
 rodata from assembly when ARM_KERNMEM_PERMS was enabled, but there were also
 other fixes.
 
 Kirkwood had a bunch of gpio fixes for some boards. OMAP had RTC fixes
 on OMAP5, and Nomadik had changes to MMC parameters in DT.
 
 All in all, mostly the usual mix of various fixes.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWt8K0AAoJEIwa5zzehBx3HxsQAJMqKkTCr/2hzHTw5V8sTgDf
 zrVYEi5WF5IGLR4eON31rF31tbEmQd0bqVlsTLy/yK3hu1gTQwDyqBJqoEQBMQUW
 lBShtVERP3mNUm0yICeupaWIhoRqaymlwFKKfq93f+YTn27pEDQ1ImEHuARlbAKa
 3zCd91ClRRm3WxrBXj9srt/NyMX7BlcHLjcN1BurpVkR0aciW1B692Lb8LotEP4k
 D1CLNZeQEwV+uOHcJsvjEdB/Uh42+dpsxbIAaBW2cFB0iuX3BsnmferoFe0cXmpC
 wO5ffvzr0LCMsrUzUsbvn0RgRtMDi2RxrS1n0cXrAVPP6OEeOaMLwGdPUGvQ2EVI
 cvCHpw3qXRz7CTERpy7bv0YugIY3vZPukJrne2ZEH7cpA/JLsuqlKm/cOmPRB7gJ
 tC2mXlP5jHbbGRiq/Kk3QB7QsKIxHfIalCZMMiRe0ldWSDW6jDpvrv4Nsfzs3etN
 LaB0iIm3f5DqOFjjZi+LVUJUGE3M8/3Fs2f70rCdPKDGq9fTqD3+2mK7l80ZaYXG
 J3wPKM+9WXGISakS/biQzvYA9iDnbDZCTUxBIM6VlvcHmARJEH3TS5ZjR0eaIb7w
 Sqx7e2ufm/2wpGINDoT1qms14cI8ayj7iq+8fDnI3R9XSXxeKk5J5jo9fKnbnDWP
 4A4Ai+NYBv/rDWjkg19s
 =1iBu
 -----END PGP SIGNATURE-----

Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "The first real batch of fixes for this release cycle, so there are a
  few more than usual.

  Most of these are fixes and tweaks to board support (DT bugfixes,
  etc).  I've also picked up a couple of small cleanups that seemed
  innocent enough that there was little reason to wait (const/
  __initconst and Kconfig deps).

  Quite a bit of the changes on OMAP were due to fixes to no longer
  write to rodata from assembly when ARM_KERNMEM_PERMS was enabled, but
  there were also other fixes.

  Kirkwood had a bunch of gpio fixes for some boards.  OMAP had RTC
  fixes on OMAP5, and Nomadik had changes to MMC parameters in DT.

  All in all, mostly the usual mix of various fixes"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (46 commits)
  ARM: multi_v7_defconfig: enable DW_WATCHDOG
  ARM: nomadik: fix up SD/MMC DT settings
  ARM64: tegra: Add chosen node for tegra132 norrin
  ARM: realview: use "depends on" instead of "if" after prompt
  ARM: tango: use "depends on" instead of "if" after prompt
  ARM: tango: use const and __initconst for smp_operations
  ARM: realview: use const and __initconst for smp_operations
  bus: uniphier-system-bus: revive tristate prompt
  arm64: dts: Add missing DMA Abort interrupt to Juno
  bus: vexpress-config: Add missing of_node_put
  ARM: dts: am57xx: sbc-am57x: correct Eth PHY settings
  ARM: dts: am57xx: cl-som-am57x: fix CPSW EMAC pinmux
  ARM: dts: am57xx: sbc-am57x: fix UART3 pinmux
  ARM: dts: am57xx: cl-som-am57x: update SPI Flash frequency
  ARM: dts: am57xx: cl-som-am57x: set HOST mode for USB2
  ARM: dts: am57xx: sbc-am57x: fix SB-SOM EEPROM I2C address
  ARM: dts: LogicPD Torpedo: Revert Duplicative Entries
  ARM: dts: am437x: pixcir_tangoc: use correct flags for irq types
  ARM: dts: am4372: fix irq type for arm twd and global timer
  ARM: dts: at91: sama5d4 xplained: fix phy0 IRQ type
  ...
2016-02-07 15:23:20 -08:00
Linus Torvalds
df48ab3c2f arm64 fixes:
- Add missing PAN toggling in the futex code
 
 - Fix missing #include that briefly caused issues in -next
 
 - Allow changing of vmalloc permissions with set_memory_* (used by bpf)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCgAGBQJWs2KkAAoJELescNyEwWM0kn4H+gIGvX7Dk792AJlLj8u1hIb6
 m+Z4hgLcNIFZCWEGEEWOjHAJ1n2+SgRPdJgDmhN4KP+5Oh9+Qkqhj3wDy7RB05Bf
 q3B/dZzr/rASRpycOyNL4CoyqScS7YsP9+X+7tNC8dAMr8UeYahvVKYVwzMlXfDh
 4hh3gZkhBQ/hIUse02VtE+OR6lbZAwMYahrM2T9YHslNKanQkpezqBVD4Ic0J5ic
 Jkpep8tBdTBLrFm4WERoO6vv8YCrXDP+6DutAO/nOmvHTr07LgkRwiOn+HmoCxiv
 Ir5j01SV2SNlr7AfLBWBLN/NluoRByzmQ6SeEsQ3thN35fIsVndStKcAQAAu1nU=
 =pr2h
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "Nothing particularly interesting here, but all important fixes
  nonetheless:

   - Add missing PAN toggling in the futex code

   - Fix missing #include that briefly caused issues in -next

   - Allow changing of vmalloc permissions with set_memory_* (used by
     bpf)"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: asm: Explicitly include linux/personality.h in asm/page.h
  arm64: futex.h: Add missing PAN toggling
  arm64: allow vmalloc regions to be set with set_memory_*
2016-02-04 14:09:55 -08:00
Mark Brown
3e275c64a9 arm64: asm: Explicitly include linux/personality.h in asm/page.h
asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.

Signed-off-by: Mark Brown <broonie@kernel.org>
[will: moved #include inside #ifndef __ASSEMBLY__ block]
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-02-03 19:22:02 +00:00
Geert Uytterhoeven
a3fc85e27b arm64: dts: salvator-x: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates:
  - SCIF:
      - Supports now 50, 230400, 460800, 500000, and 921600 bps,
      - Perfect match for standard 50-460800, and 9216000 bps.
  - HSCIF:
      - Supports now 50, 75, and 110 bps,
      - Perfect match for standard 50-460800, and 9216000 bps.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-03 10:04:33 +01:00
Geert Uytterhoeven
3da41e4cf6 arm64: dts: r8a7795: Add BRG support for (H)SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depend on
the actual board.

Add the two optional clock sources (S3D1 and SCIF_CLK for the internal
resp. external clock) for the Baud Rate Generator for External Clock
(BRG) to all SCIF and HSCIF device nodes.

This increases the range and accuracy of supported baud rates on
(H)SCIF.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-03 10:04:29 +01:00
Geert Uytterhoeven
69e359ca88 arm64: dts: r8a7795: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

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>
2016-02-03 10:03:51 +01:00
James Morse
811d61e384 arm64: futex.h: Add missing PAN toggling
futex.h's futex_atomic_cmpxchg_inatomic() does not use the
__futex_atomic_op() macro and needs its own PAN toggling. This was missed
when the feature was implemented.

Fixes: 338d4f49d6 ("arm64: kernel: Add support for Privileged Access Never")
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-02-02 15:59:21 +00:00
Ard Biesheuvel
95f5c80050 arm64: allow vmalloc regions to be set with set_memory_*
The range of set_memory_* is currently restricted to the module address
range because of difficulties in breaking down larger block sizes.
vmalloc maps PAGE_SIZE pages so it is safe to use as well. Update the
function ranges and add a comment explaining why the range is restricted
the way it is.

Suggested-by: Laura Abbott <labbott@fedoraproject.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-02-02 15:42:15 +00:00
Geert Uytterhoeven
653f502d77 arm64: dts: r8a7795: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-02 12:20:08 +01:00
Yoshihiro Shimoda
652a4306be arm64: dts: r8a7795: Add USB-DMAC device nodes
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-02 12:20:04 +01:00
Yoshihiro Shimoda
856ea9eddb arm64: dts: salvator-x: enable usb3.0 host channel 0
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-02 10:48:56 +01:00
Linus Torvalds
34229b2774 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
 "This looks like a lot but it's a mixture of regression fixes as well
  as fixes for longer standing issues.

   1) Fix on-channel cancellation in mac80211, from Johannes Berg.

   2) Handle CHECKSUM_COMPLETE properly in xt_TCPMSS netfilter xtables
      module, from Eric Dumazet.

   3) Avoid infinite loop in UDP SO_REUSEPORT logic, also from Eric
      Dumazet.

   4) Avoid a NULL deref if we try to set SO_REUSEPORT after a socket is
      bound, from Craig Gallek.

   5) GRO key comparisons don't take lightweight tunnels into account,
      from Jesse Gross.

   6) Fix struct pid leak via SCM credentials in AF_UNIX, from Eric
      Dumazet.

   7) We need to set the rtnl_link_ops of ipv6 SIT tunnels before we
      register them, otherwise the NEWLINK netlink message is missing
      the proper attributes.  From Thadeu Lima de Souza Cascardo.

   8) Several Spectrum chip bug fixes for mlxsw switch driver, from Ido
      Schimmel

   9) Handle fragments properly in ipv4 easly socket demux, from Eric
      Dumazet.

  10) Don't ignore the ifindex key specifier on ipv6 output route
      lookups, from Paolo Abeni"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (128 commits)
  tcp: avoid cwnd undo after receiving ECN
  irda: fix a potential use-after-free in ircomm_param_request
  net: tg3: avoid uninitialized variable warning
  net: nb8800: avoid uninitialized variable warning
  net: vxge: avoid unused function warnings
  net: bgmac: clarify CONFIG_BCMA dependency
  net: hp100: remove unnecessary #ifdefs
  net: davinci_cpdma: use dma_addr_t for DMA address
  ipv6/udp: use sticky pktinfo egress ifindex on connect()
  ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()
  netlink: not trim skb for mmaped socket when dump
  vxlan: fix a out of bounds access in __vxlan_find_mac
  net: dsa: mv88e6xxx: fix port VLAN maps
  fib_trie: Fix shift by 32 in fib_table_lookup
  net: moxart: use correct accessors for DMA memory
  ipv4: ipconfig: avoid unused ic_proto_used symbol
  bnxt_en: Fix crash in bnxt_free_tx_skbs() during tx timeout.
  bnxt_en: Exclude rx_drop_pkts hw counter from the stack's rx_dropped counter.
  bnxt_en: Ring free response from close path should use completion ring
  net_sched: drr: check for NULL pointer in drr_dequeue
  ...
2016-02-01 15:56:08 -08:00
Olof Johansson
aa5306a370 vexpress fixes for v4.5
Couple of minor fixes for vexpress platforms:
 1. Add missing of_node_put in vexpress config bus
 2. Add missing DMA-330 abort interrupt on Juno platforms
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWr2b+AAoJEABBurwxfuKYlp8P/jdQGvYBU9u3I0H/LxqzNse8
 XmE4OPWzt8VHVPNeEf3DTAwSZGdFA6nN60s0TjhjQoNR3ugADi9aLQ/sgv7HVTF8
 LHo8ZuYGEte+b9taTcLb/fYVZbX2zrge1eVRR2OUhpvCnQb45Ne3VulvpBAhx32u
 WGA+1UXR93PL6arj7Sb34bnPoTpRMrE1595oenVamKLB2GNRJDp2KjkEr8fW+jb5
 a9OHp6S25ADIzIff3psXJqltDmFFCFtS0FXtzRhgKigHnJ7mohI8C6rvTU8jm1qB
 QlwIpIpMdSj9OnT4eLcqLNhGcx/P6GiA2z1rZ70qbQEo0qaYm4LM7G9BsvW5+bSB
 ZqDyURqLS2A0rC7lpcFVbGssoqTkVKWx4Y2VT6x8jJCLd5hkqp7lrhAAXcPP2Qhm
 1zG5VvsFED0klUGs4E+71HnjxSIU0NchS1kZqL2yUIn5Mg3ZatgXGNOTvcSz2bGt
 HH5vKVH499TM2MuN7mlu7wdKM+CIAStbQylX9iOLE7Oc034DhR6XvIE6QTWjWpS9
 um/oQpkgGqsuj/XoSu7B9iFdCGEf4/uff5PuVI6LN3rOOVOSw/glZHT4CXdCedGC
 R9P/6KOJ/8nv4NJIDxa4+meW6DLI+a2bfRPshbeg1wZtvr3QompS0I3RQozhC/mF
 HvjVjQKUr162PgGUw2BU
 =E8cV
 -----END PGP SIGNATURE-----

Merge tag 'vexpress-for-v4.5/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into fixes

vexpress fixes for v4.5

Couple of minor fixes for vexpress platforms:
1. Add missing of_node_put in vexpress config bus
2. Add missing DMA-330 abort interrupt on Juno platforms

* tag 'vexpress-for-v4.5/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: Add missing DMA Abort interrupt to Juno
  bus: vexpress-config: Add missing of_node_put

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-01 12:27:18 -08:00
Jon Hunter
43acf83166 ARM64: tegra: Add chosen node for tegra132 norrin
The NVIDIA bootloader, nvtboot, expects the "chosen" node to be present
in the device-tree blob and if it is not then it fails to boot the kernel.
Add the chosen node so we can boot the kernel on Tegra132 Norrin with the
nvtboot bootloader.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-01 12:20:11 -08:00
Robin Murphy
aeb2ee5683 arm64: dts: Add missing DMA Abort interrupt to Juno
The DMA-330 has an "irq_abort" interrupt line on which it signals faults
separately from the "irq[n:0]" channel interrupts. On Juno, this is
wired up to SPI 92; add it to the DT so that DMAC faults are correctly
reported for the driver to reset the thing, rather than leaving it
locked up and waiting to time out.

CC: Liviu Dudau <liviu.dudau@arm.com>
CC: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2016-02-01 09:59:59 +00:00
Mika Penttilä
57adec866c arm64: mm: avoid calling apply_to_page_range on empty range
Calling apply_to_page_range with an empty range results in a BUG_ON
from the core code. This can be triggered by trying to load the st_drv
module with CONFIG_DEBUG_SET_MODULE_RONX enabled:

  kernel BUG at mm/memory.c:1874!
  Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
  Modules linked in:
  CPU: 3 PID: 1764 Comm: insmod Not tainted 4.5.0-rc1+ #2
  Hardware name: ARM Juno development board (r0) (DT)
  task: ffffffc9763b8000 ti: ffffffc975af8000 task.ti: ffffffc975af8000
  PC is at apply_to_page_range+0x2cc/0x2d0
  LR is at change_memory_common+0x80/0x108

This patch fixes the issue by making change_memory_common (called by the
set_memory_* functions) a NOP when numpages == 0, therefore avoiding the
erroneous call to apply_to_page_range and bringing us into line with x86
and s390.

Cc: <stable@vger.kernel.org>
Reviewed-by: Laura Abbott <labbott@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Mika Penttilä <mika.penttila@nextfour.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-26 15:56:44 +00:00
Will Deacon
531d306731 arm64: defconfig: updates for 4.5
Based on requests, update our defconfig so that:

  - We don't build any modules
  - PL031 is enabled (RTC emulated by qemu)
  - Xen guest support is enabled
  - The Uniphier built-in I2C controller is enabled
  - PCI host controller drivers for the various arm64 SoCs are enabled
  - Device passthrough works on Seattle using SMMU and VFIO
  - The Hisilicon IRQ controller (mbigen) is enabled

Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-26 11:24:41 +00:00
dann frazier
67dfa1751c arm64: errata: Add -mpc-relative-literal-loads to build flags
GCC6 (and Linaro's 2015.12 snapshot of GCC5) has a new default that uses
adrp/ldr or adrp/add to address literal pools. When CONFIG_ARM64_ERRATUM_843419
is enabled, modules built with this toolchain fail to load:

  module libahci: unsupported RELA relocation: 275

This patch fixes the problem by passing '-mpc-relative-literal-loads'
to the compiler.

Cc: stable@vger.kernel.org
Fixes: df057cc7b4 ("arm64: errata: add module build workaround for erratum #843419")
BugLink: http://bugs.launchpad.net/bugs/1533009
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Christophe Lyon <christophe.lyon@linaro.org>
Signed-off-by: Dann Frazier <dann.frazier@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-26 11:17:23 +00:00
William Cohen
728dabd6d1 Eliminate the .eh_frame sections from the aarch64 vmlinux and kernel modules
By default the aarch64 gcc generates .eh_frame sections.  Unlike
.debug_frame sections, the .eh_frame sections are loaded into memory
when the associated code is loaded.  On an example kernel being built
with this default the .eh_frame section in vmlinux used an extra 1.7MB
of memory.  The x86 disables the creation of the .eh_frame section.
The aarch64 should probably do the same to save some memory.

Signed-off-by: William Cohen <wcohen@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-26 11:14:13 +00:00
Yoshihiro Shimoda
171f2ef822 arm64: dts: r8a7795: Add USB3.0 host device nodes
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-01-26 09:41:34 +09:00
Masanari Iida
b3122023df arm64: Fix an enum typo in mm/dump.c
This patch fixes a typo in mm/dump.c:
"MODUELS_END_NR" should be "MODULES_END_NR".

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-25 11:53:03 +00:00
Catalin Marinas
ac15bd63bb arm64: Honour !PTE_WRITE in set_pte_at() for kernel mappings
Currently, set_pte_at() only checks the software PTE_WRITE bit for user
mappings when it sets or clears the hardware PTE_RDONLY accordingly. The
kernel ptes are written directly without any modification, relying
solely on the protection bits in macros like PAGE_KERNEL. However,
modifying kernel pte attributes via pte_wrprotect() would be ignored by
set_pte_at(). Since pte_wrprotect() does not set PTE_RDONLY (it only
clears PTE_WRITE), the new permission is not taken into account.

This patch changes set_pte_at() to adjust the read-only permission for
kernel ptes as well. As a side effect, existing PROT_* definitions used
for kernel ioremap*() need to include PTE_DIRTY | PTE_WRITE.

(additionally, white space fix for PTE_KERNEL_ROX)

Acked-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-25 11:09:06 +00:00
Lorenzo Pieralisi
f436b2ac90 arm64: kernel: fix architected PMU registers unconditional access
The Performance Monitors extension is an optional feature of the
AArch64 architecture, therefore, in order to access Performance
Monitors registers safely, the kernel should detect the architected
PMU unit presence through the ID_AA64DFR0_EL1 register PMUVer field
before accessing them.

This patch implements a guard by reading the ID_AA64DFR0_EL1 register
PMUVer field to detect the architected PMU presence and prevent accessing
PMU system registers if the Performance Monitors extension is not
implemented in the core.

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: <stable@vger.kernel.org>
Fixes: 60792ad349 ("arm64: kernel: enforce pmuserenr_el0 initialization and restore")
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-25 11:09:06 +00:00
Ard Biesheuvel
7b1af97957 arm64: kasan: ensure that the KASAN zero page is mapped read-only
When switching from the early KASAN shadow region, which maps the
entire shadow space read-write, to the permanent KASAN shadow region,
which uses a zero page to shadow regions that are not subject to
instrumentation, the lowest level table kasan_zero_pte[] may be
reused unmodified, which means that the mappings of the zero page
that it contains will still be read-write.

So update it explicitly to map the zero page read only when we
activate the permanent mapping.

Acked-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-25 11:09:05 +00:00
Ard Biesheuvel
75feee3d9d arm64: hide __efistub_ aliases from kallsyms
Commit e8f3010f73 ("arm64/efi: isolate EFI stub from the kernel
proper") isolated the EFI stub code from the kernel proper by prefixing
all of its symbols with __efistub_, and selectively allowing access to
core kernel symbols from the stub by emitting __efistub_ aliases for
functions and variables that the stub can access legally.

As an unintended side effect, these aliases are emitted into the
kallsyms symbol table, which means they may turn up in backtraces,
e.g.,

  ...
  PC is at __efistub_memset+0x108/0x200
  LR is at fixup_init+0x3c/0x48
  ...
  [<ffffff8008328608>] __efistub_memset+0x108/0x200
  [<ffffff8008094dcc>] free_initmem+0x2c/0x40
  [<ffffff8008645198>] kernel_init+0x20/0xe0
  [<ffffff8008085cd0>] ret_from_fork+0x10/0x40

The backtrace in question has nothing to do with the EFI stub, but
simply returns one of the several aliases of memset() that have been
recorded in the kallsyms table. This is undesirable, since it may
suggest to people who are not aware of this that the issue they are
seeing is somehow EFI related.

So hide the __efistub_ aliases from kallsyms, by emitting them as
absolute linker symbols explicitly. The distinction between those
and section relative symbols is completely irrelevant to these
definitions, and to the final link we are performing when these
definitions are being taken into account (the distinction is only
relevant to symbols defined inside a section definition when performing
a partial link), and so the resulting values are identical to the
original ones. Since absolute symbols are ignored by kallsyms, this
will result in these values to be omitted from its symbol table.

After this patch, the backtrace generated from the same address looks
like this:
  ...
  PC is at __memset+0x108/0x200
  LR is at fixup_init+0x3c/0x48
  ...
  [<ffffff8008328608>] __memset+0x108/0x200
  [<ffffff8008094dcc>] free_initmem+0x2c/0x40
  [<ffffff8008645198>] kernel_init+0x20/0xe0
  [<ffffff8008085cd0>] ret_from_fork+0x10/0x40

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-01-25 11:09:04 +00:00