6462 Commits

Author SHA1 Message Date
Miquel Raynal
7c48dc201b arm64: dts: marvell: armada-37xx: add second UART port
Add a node in Armada 37xx DTSI file for the second UART, with a
different compatible due to its extended IP which has some
differences with the first UART already in place.

Make use of this commit to also fully describe the first port and
use the same clear and named interrupt bindings for both ports.

The standard UART (UART0) uses level-interrupts while the extended
UART (UART1) uses edge-triggered interrupts.

Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-10-30 15:56:22 +01:00
Miquel Raynal
2ff0d0b5bb arm64: dts: marvell: armada-37xx: add UART clock
Add the missing clock property to armada-3700 UART node.

This clock will be used to derive the prescaler value to comply with
the requested baudrate.

Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-10-30 15:56:16 +01:00
Nick Desaulniers
fd9dde6abc arm64: prevent regressions in compressed kernel image size when upgrading to binutils 2.27
Upon upgrading to binutils 2.27, we found that our lz4 and gzip
compressed kernel images were significantly larger, resulting is 10ms
boot time regressions.

As noted by Rahul:
"aarch64 binaries uses RELA relocations, where each relocation entry
includes an addend value. This is similar to x86_64.  On x86_64, the
addend values are also stored at the relocation offset for relative
relocations. This is an optimization: in the case where code does not
need to be relocated, the loader can simply skip processing relative
relocations.  In binutils-2.25, both bfd and gold linkers did this for
x86_64, but only the gold linker did this for aarch64.  The kernel build
here is using the bfd linker, which stored zeroes at the relocation
offsets for relative relocations.  Since a set of zeroes compresses
better than a set of non-zero addend values, this behavior was resulting
in much better lz4 compression.

The bfd linker in binutils-2.27 is now storing the actual addend values
at the relocation offsets. The behavior is now consistent with what it
does for x86_64 and what gold linker does for both architectures.  The
change happened in this upstream commit:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1f56df9d0d5ad89806c24e71f296576d82344613
Since a bunch of zeroes got replaced by non-zero addend values, we see
the side effect of lz4 compressed image being a bit bigger.

To get the old behavior from the bfd linker, "--no-apply-dynamic-relocs"
flag can be used:
$ LDFLAGS="--no-apply-dynamic-relocs" make
With this flag, the compressed image size is back to what it was with
binutils-2.25.

If the kernel is using ASLR, there aren't additional runtime costs to
--no-apply-dynamic-relocs, as the relocations will need to be applied
again anyway after the kernel is relocated to a random address.

If the kernel is not using ASLR, then presumably the current default
behavior of the linker is better. Since the static linker performed the
dynamic relocs, and the kernel is not moved to a different address at
load time, it can skip applying the relocations all over again."

Some measurements:

$ ld -v
GNU ld (binutils-2.25-f3d35cf6) 2.25.51.20141117
                    ^
$ ls -l vmlinux
-rwxr-x--- 1 ndesaulniers eng 300652760 Oct 26 11:57 vmlinux
$ ls -l Image.lz4-dtb
-rw-r----- 1 ndesaulniers eng 16932627 Oct 26 11:57 Image.lz4-dtb

$ ld -v
GNU ld (binutils-2.27-53dd00a1) 2.27.0.20170315
                    ^
pre patch:
$ ls -l vmlinux
-rwxr-x--- 1 ndesaulniers eng 300376208 Oct 26 11:43 vmlinux
$ ls -l Image.lz4-dtb
-rw-r----- 1 ndesaulniers eng 18159474 Oct 26 11:43 Image.lz4-dtb

post patch:
$ ls -l vmlinux
-rwxr-x--- 1 ndesaulniers eng 300376208 Oct 26 12:06 vmlinux
$ ls -l Image.lz4-dtb
-rw-r----- 1 ndesaulniers eng 16932466 Oct 26 12:06 Image.lz4-dtb

By Siqi's measurement w/ gzip:
binutils 2.27 with this patch (with --no-apply-dynamic-relocs):
Image 41535488
Image.gz 13404067

binutils 2.27 without this patch (without --no-apply-dynamic-relocs):
Image 41535488
Image.gz 14125516

Any compression scheme should be able to get better results from the
longer runs of zeros, not just GZIP and LZ4.

10ms boot time savings isn't anything to get excited about, but users of
arm64+compression+bfd-2.27 should not have to pay a penalty for no
runtime improvement.

Reported-by: Gopinath Elanchezhian <gelanchezhian@google.com>
Reported-by: Sindhuri Pentyala <spentyala@google.com>
Reported-by: Wei Wang <wvw@google.com>
Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Suggested-by: Siqi Lin <siqilin@google.com>
Suggested-by: Stephen Hines <srhines@google.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[will: added comment to Makefile]
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-30 13:45:12 +00:00
Masahiro Yamada
d0e470e0db arm64: defconfig: enable CONFIG_GPIO_UNIPHIER
Enable the GPIO controller driver used for UniPhier SoC family.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-10-30 14:41:54 +01:00
Arnd Bergmann
18ea0db308 Amlogic 64-bit DT updates for v4.15, round 2
- add support for new GPIO IRQ driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAln2BpMACgkQWTcYmtP7
 xmV5og//YkRwzS21agdQu3ZYCh/VP5i1CUhXZkp520DSLeY60LZfQNnz1lFvFHjN
 baSW2Gypy9rBjcRr4efl79Qb8v10JvLytUt7LYLHCFaU/u5AeEPFNLc0E4JzKtIB
 n8x99sqoY0NsVBfN4yVLqNmQjUZw87+I0nit/BcOAoHdOTnxtK1GBgcVF3ovRwet
 T/opxgKQeR2rp1NS5kjye9NYt/HK9WCE9e3eoO+h0OjLtlVu9b2M2/XYz2yMKlmj
 T09SWZx9gmqF47B3mXb0/f5KUaYNnnoxVGx8F55oVQhtWZcTt9G67CvBnAdU26Lm
 ftw0uwOF1Rjc4heybJkePm4k5pJTtXtgmCoEQl79/L1v+dvC1d+oPPvExd7Zp5rU
 qiT5SKOIeCP7Bclzbn01mszMFefxmtJe2zyrbwjL/Ntvo/1DlifI70Rjde7rY+Mw
 pWtgONhRjr8Q5XvFXNKVXqeDlLBM8Qv+YOqZ2weMqdBDsbr1LFIeCZOhRNu3O1qR
 bNQ+soVfuHL7ei6lks+cbBApNRDN+J0YIx2Y6alJ/0kjpI2aNWvGPfgdmPq5w4Uw
 rOIRgm19Et5loHbdI60A1VfKNlu+WkrSkESj4h6bQ2pwt1tWso7RrlpfCXROcCbm
 2JicBHIe1665E+FCRZOCPXdPx73SRBIPCVbNL3T1oomaf3prqrE=
 =vVV3
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit DT updates for v4.15, round 2" from Kevin Hilman:
- add support for new GPIO IRQ driver

* tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-gx: add external PHY interrupt on some platforms
  ARM64: dts: meson-gx: add gpio interrupt controller
  ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
  ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
2017-10-30 14:40:14 +01:00
Arnd Bergmann
e45cba78c6 Freescale arm64 device tree updates for 4.15:
- Add GICv3 ITS node and PCIe devcies for LS1088A support.
  - Enable PCIe support for LS2088A SoC.
  - Add OP-TEE support for various Layerscape SoCs, LS1012A, LS1043A,
    LS1046A, LS1088A and LS208XA.
  - Update DPAA QBMan nodes to use constant defines in the interrupt
    description.
  - Add DSPI device to support SPI-NOR on LS1012A based boards.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJZ7y0kAAoJEFBXWFqHsHzOE70H/iAI1WmTWW1kuc2d7w1pCZrP
 m3aBdavPb6N2XT43HUDo5yuAVl84AvmoHWkOXeiAEgSTwuGCMcAT90P3v+MJQG5P
 xFCuqEAYfKb4BwMNs3oBbgdWBErxOpqFGd58vvXbEHzGv6DCnJRD6euhVNMosTKv
 QI62vZkbD3sR1aUcC/dLG0hCFRb7+fscL+sgtU0vnF5nWKQLXQ/eGCDhhh4mmY/5
 sjgeCqhYeIBrhpoOLm8qK9CkRnf7nPZwSiTFhG1o0nHDqbmzTRU5zQrAEDGB9Ukg
 pWDtHyIEkrmnzOucIbKVpFue7IldkR7WN2rslpkHhtDaK1gIYnhjO26toU7/f2U=
 =T0d9
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt

Pull "Freescale arm64 device tree updates for 4.15" from Shawn Guo:

 - Add GICv3 ITS node and PCIe devcies for LS1088A support.
 - Enable PCIe support for LS2088A SoC.
 - Add OP-TEE support for various Layerscape SoCs, LS1012A, LS1043A,
   LS1046A, LS1088A and LS208XA.
 - Update DPAA QBMan nodes to use constant defines in the interrupt
   description.
 - Add DSPI device to support SPI-NOR on LS1012A based boards.

* tag 'imx-dt64-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: update the DPAA QBMan nodes
  arm64: dts: ls1088a: add PCIe controller DT nodes
  arm64: dts: ls1088a: add gicv3 ITS DT node
  arm64: dts: ls2088a: add pcie support
  arm64: dts: ls: Add optee node
  dt-bindings: mtd: add sst25wf040b and en25s64 to sip-nor list
  dt-bindings: spi: Add fsl,ls1012a-dspi compatible string
  arm64: dts: ls1012a: add the DTS node for DSPI support
2017-10-30 14:38:56 +01:00
Arnd Bergmann
25b8384898 - mt2712: add cpuidle support
-----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEiUuSfQSYnG8EMsBltDliWyzx00MFAlns4G8XHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQtDliWyzx00Mv1BAAq9iFGeVlSTia9VXbd8v4/BQW
 KGxGNt7UNMmk8tlLDNSO4pG4ACkVVTL50t+PNYOCTi7+aTbbeBi6/zXBXvWdwZ1d
 XRmuLwuibpr+ozskVfpV6Ussr0jSV2J3z0DsGIyWBCjlVIqUQM/QZ/4E2P6D8aJn
 NmwI1vx9FV3VQXKMwYuiXmRrSUvJDB26arjl4ryJPLA7OV6K7rS++4U7i88LZLe7
 iIZ/6jqoNqJAnJVgowjVbCADr5yzlGp7q3CD0n0Y3QhMBg8ShVtMAd2NqNU5rFXJ
 vPMIKJccAzxtGieIgBAZjhpm8hQUZFhaEggx5BdQXQriZwK7t56mtaQy4TdhRZwu
 6BT9+9aH1TIpvC7OQtP2Tfg1UHqCfJUMPDAnHyeqUg737aNaiv5VRQkPLjtUZ84B
 6+1zNiZisX0bGD/VW1mxzzssgxbiYetSKX0KiNcHKa84osMwF94BLdCoaMz6VbMT
 i5acAUlhWTI8DHBqGa6kCde97A5LCJiLc5q6B5Ig3CaY48MqIC4vr3CAoOg2YpBZ
 6PsUsgb1PhpkNXheMB7jwyMG6wr7xE0qLSurcXfR2zbOg9GTB0FD8Sf1DGrholv+
 d92nLvyfIWY3y+CwKQtsIkMtQYH4da+izUsEeMmBH9ChyDimE7S3j5dyBaU7XemO
 KvlYHlWjiWThTz7gHAU=
 =D5oL
 -----END PGP SIGNATURE-----

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

Pull "Mediatek: 64-bit DT update for v4.15" from Matthias Brugger:

- mt2712: add cpuidle support

* tag 'v4.14-next-dts64' of https://github.com/mbgg/linux-mediatek:
  arm64: dts: mediatek: Add cpuidle support for MT2712
2017-10-30 14:37:50 +01:00
Arnd Bergmann
a5494aed0d Amlogic 64-bit platforms: DT updates for v4.15
- new SoC support: A113D
 - new boards: Tronsmart Vega S96, Khadas vim2
 - reserved memory fixups
 - gpio-names cleanups
 - MMC cleanups, enable high-speed modes
 - misc cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlnsbzwACgkQWTcYmtP7
 xmWwSw/+LBr7iNv9ugxgfShcd8ugecjJm7eBMD9zKMJaHw+1AUxhexZsCyUQVjDy
 UjAeTTMsugTzIEvQoSI97h82K3uE7/3zqU+UaWziWILegb8b9VnYVzjHUoodNE9Z
 /9gbIb7P55rlJ1BN0zzXcsvEjvC7TrfklgXBfIBK0Ob2zqDHGpiWOFnrQiuZNweA
 tgSemkT4ELZYAksXszFhU1o87QW5IRqXwNX5ech7p3UpUTdDnY1MPNbLRRh9tVWi
 G7EtLJfbSPEHczBBtfcxQkagpk2TjVStMpYgrAaa3eMG5Ervdh3QrdGp8B7bObPY
 rZgYAU1x7q3PBWm07IpnlnprMC3RHP7wdirXVKMNW1DbYqRBoyGeTc9pF+DgiMNP
 wcxsbQgotSZbeke6ODPaP2xEtIqWCgTee/4P6zjOYfsXxphtVkdfLGvICwpximUj
 CqbXZSsn+pg4g1IsGU3EcVLbFzq2A+uv5hkV18b9ouDIN0mm7+/mpyaLeQ8wrl2U
 5f+dCbrU4ypYosnOQIZKla8kHwutWmur6a9+VBPSEVWMXzdUUmBUicxgUYi5DMLZ
 SLXBklAZ74YqnFNZvrNaLvaD2GR5COU8NpW9S3PBxsUqXa57jMUAAOzbeLLvRB87
 57S3pR7f+thG93pe8JFfP/ciVcnAGn9oQkV5LU8k6lTd7gaxtEw=
 =bJwM
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit platforms: DT updates for v4.15" from Kevin Hilman:

- new SoC support: A113D
- new boards: Tronsmart Vega S96, Khadas vim2
- reserved memory fixups
- gpio-names cleanups
- MMC cleanups, enable high-speed modes
- misc cleanups

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson-axg: add initial A113D SoC DT support
  dt-bindings: arm: amlogic: Add Meson AXG binding
  ARM64: dts: meson-gx: remove unnecessary uart compatible
  ARM64: dts: meson-gx: remove unnecessary clocks properties
  ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory zone
  ARM64: dts: meson-gxm: enable HS400 on the vim2
  ARM64: dts: meson-gxbb-nexbox-a95x: Enable USB Nodes
  dt-bindings: arm: amlogic: Add Tronsmart Vega S96 binding
  ARM64: dts: meson-gxm: Add Vega S96 board
  ARM64: dts: meson-gxm: Add support for Khadas VIM2
  ARM64: dts: meson-gxl: Take eMMC data strobe out of eMMC pins
  ARM64: dts: meson-gxl: adjust libretech-cc gpio-line-names
  ARM64: dts: meson-gxl: adjust kvim gpio-line-names
  ARM64: dts: meson-gxbb: adjust odroid-c2 gpio-line-names
  ARM64: dts: meson-gxbb: adjust nanopi-k2 gpio-line-names
  ARM64: dts: meson-gx: adjust gpio-ranges for TEST_N
  ARM64: dts: meson-gx: remove gpio offset
  ARM: dts: meson8: remove gpio offset
  ARM64: dts: meson-gxl-libretech-cc: enable internal phy leds
  ARM64: dts: meson-gxl-libretech-cc: enable saradc
2017-10-30 14:37:17 +01:00
Arnd Bergmann
b295477e00 mvebu dt64 for 4.15 (part 1)
On Armada 7K/8k:
 - Improve network support at SoC and board level
 - Enable watchdog
 - Add UART muxing
 - On 7040 DB: add CD SDIO and NAND support
 - On 8040 DB: add PCIE more ports and SPI1
 
 On Armada 37xx:
  - Fix UART register size
  - Add vmmc regulator for SD on 3720 DB
 -----BEGIN PGP SIGNATURE-----
 
 iIEEABECAEEWIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCWeoPnCMcZ3JlZ29yeS5j
 bGVtZW50QGZyZWUtZWxlY3Ryb25zLmNvbQAKCRALBhiOFHI71eWeAJ4yqhFToGh9
 bLvyANmN33Lp0kYfEwCeKTJv715mvxAfJMYUMX7CUmgEAOs=
 =9sls
 -----END PGP SIGNATURE-----

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

Pull "mvebu dt64 for 4.15 (part 1)" from Gregory CLEMENT:

On Armada 7K/8k:
- Improve network support at SoC and board level
- Enable watchdog
- Add UART muxing
- On 7040 DB: add CD SDIO and NAND support
- On 8040 DB: add PCIE more ports and SPI1

On Armada 37xx:
 - Fix UART register size
 - Add vmmc regulator for SD on 3720 DB

* tag 'mvebu-dt64-4.15-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: marvell: 7040-db: Add the carrier detect pin for SD card on CP
  arm64: dts: marvell: 7040-db: Document the gpio expander
  arm64: dts: marvell: enable additional PCIe ports on Armada 8040 DB
  arm64: dts: marvell: add NAND support on the 7040-DB board
  arm64: dts: marvell: Enable Armada-8040-DB CPS SPI1
  arm64: dts: marvell: 8040-db: enable the SFP ports
  arm64: dts: marvell: 7040-db: enable the SFP port
  arm64: dts: marvell: 7040-db: add comphy reference to Ethernet port
  arm64: dts: marvell: mcbin: add comphy references to Ethernet ports
  arm64: dts: marvell: 37xx: remove empty line
  arm64: dts: marvell: cp110: add PPv2 port interrupts
  arm64: dts: marvell: add comphy nodes on cp110 master and slave
  arm64: dts: marvell: extend the cp110 syscon register area length
  arm64: dts: marvell: enable AP806 watchdog
  arm64: dts: marvell: Fix A37xx UART0 register size
  arm64: dts: marvell: armada-3720-db: Add vmmc regulator for SD slot
  arm64: dts: marvell: add UART muxing on Armada 7K/8K
2017-10-30 14:32:45 +01:00
Arnd Bergmann
a2c614a7db arm64: tegra: Device tree changes for v4.15-rc1
Enables host1x, VIC, PCIe and the BPMP thermal sensor on Tegra186.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlnp4kkTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoRzED/0UbIFfK3R8EreqoPDdxqBZN471PcMo
 zAiYoSZ3WOHhbsexhpgJRUiHUpW4C0RnguG6x1QXN5Gt0EuIy4ydeYjLX6r1jcZi
 74ZxGgHvOipCj83CspGV0oGcys4c3A/KpSLBH/+7oy9YUXQ/xo2g9kj0941wP22a
 4kCiVOSjEXOP7m25GJ4MistFqkIOdkEEWBUGghsCxYFoZEGngKgG0PKEhb4ta/BQ
 i8i6h9NmzF1LyAA2Vka3mn3XmvF+EM58L4eUt3deNlMqW/mIc5wcXJwzXKFbyTxp
 c7V2V0EcU2sANg6/MjAf33VQLg5TkM04REJE7MBZ+FrTLxSn1hA4unLoeWN5Q6Hf
 pRmjvQhH49Dl3rX2cNMGGAHfK4oRsWjfX5dlNBA1ub0HlBlClNRRf87A4rkg12tx
 RIdFGF9B8sjddAUItXdPLzfNqaLkfk9fePS2bRfqChMlPYvPynQrUe3sVKhkjPDm
 O8NevnC+eYYeNWNKRp4RM19RW5/McZup03LQLN62BehQlUxb3Tpe3EIJOdbHdMYb
 5m5cSj9YERk8boS1LOUG3orN/LAAR/G1uU2T12w7+PN8xagN+Uic6JMMF34/87j+
 LdYGEaWV/6tr8J1ull6wFTlsNPmuGJ8IxS5y6o5qn9oZOXK2UVoymluC5kFkx+hB
 oEcNdBIxSM679Q==
 =AvTC
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.15-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt

Pull "arm64: tegra: Device tree changes for v4.15-rc1" from Thierry Reding:

Enables host1x, VIC, PCIe and the BPMP thermal sensor on Tegra186.

* tag 'tegra-for-4.15-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Add BPMP thermal sensor to Tegra186
  arm64: tegra: Enable PCIe on Jetson TX2
  arm64: tegra: Add PCIe node for Tegra186
  arm64: tegra: Add VIC on Tegra186
  arm64: tegra: Add host1x on Tegra186
  arm64: tegra: Add #power-domain-cells for BPMP
2017-10-30 14:27:50 +01:00
Arnd Bergmann
918c822374 Second Round of Renesas ARM64 Based SoC DT Updates for v4.15
* r8a7795 (H3) and r8a7796 (M3-W) SoCs
   - Use R-Car Gen 3 fallback compat string for GPIO
 
     Simon Horman says "Use newly added R-Car GPIO Gen 1, 2 and 3 fallback
     compat strings in peace of now deprecated non-generation specific R-Car
     GPIO fallback compat string in the DT of Renesas ARM and arm64 based
     SoCs.
 
 * r8a7795 (H3) and r8a7796 (M3-W) Salvator boards
   - Add dr_mode property for USB2.0 channel 0
 
     Shimoda-san says "Since Salvator-X[S] have a USB2.0 dual-role channel
     (CN9), this patch
     adds dr_mode property for USB2.0 channel 0 (EHCI/OHCI and HS-USB)
     as "otg".
 
     Using dual-role channel (or not) is related to the type of USB receptor
     on board specification. So, I added the property into the
     salvator-common.dtsi."
 
   - Add pfc node for USB3.0 channel 0
 
     Shimoda-san says "Since a R-Car Gen3 bootloader enables the PFC of
     USB3.0 channel 0, the USB3.0 host controller works without this setting
     on the kernel.  But, this setting should have salvator-common.dtsi. So,
     this patch adds the pfc node for USB3.0 channel 0."
 
 * r8a7795 (H3) and r8a7796 (M3-W) Salvator and ULCB boards
   - Correct audio_clkout
 
     Morimoto-san says ""audio_clkout" is dummy clock of <&rcar_sound 0> to
     avoid clock loop which invites probe conflct. Thus <&rcar_sound 0> and
     "audio_clkout" should be same value."
 
 * r8a7795 (H3) and r8a7796 (M3-W) Salvator and ULCB, and
   r8a77995 (D3) Draak boards
   - Drop "avb_phy_int" from avb_pins
 
     Shimoda-san says "Since the Ethernet AVB driver doesn't support
     AVB_PHY_INT handling and it will be handled by a phy driver as a gpio
     pin, this patch removes the "avb_phy_int" from the avb_pins node."
 
 * r8a77995 (D3) Draak board
   - Enable PWM channels
 
     Shimoda-san says "Each channel connects to LTC2644 for brightness
     control."
 
 * r8a77970 (V3M) Eagle and ULCB Kingfisher boards
   - Add initial device tree support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlnpzqwACgkQ189kaWo3
 T75X7w//Xf29SJUGRAZ8fYnA5b8r+QHvJX/79eI5Z+Nq12UGdPZXS6yhBsfcptD4
 EGY9E6u7O+wJryhZJT50t7Dr19WzGgLDfsqBas9wXxaniAh7sLn4fIvcrwrDf86a
 LJT9JWinjEbOqO4Crc4GEx4i2r/kZVIwL0HOA5o64JclW33NwCAzo7D/Z3uDBrXa
 H16G8webhjCLa4vhdqPmYJO9OlKwtnLcx6XA855do2uUbRF1O7chekyOXFKccOk+
 FvBH96hH7dEBmE9GwrjTiiFOfIDyU7kzDVKwz+UurUC+zrqfc8N12OdttodrN8+i
 iOMGVOMxbAE1eYbvTkxCT7OB0r2GYnFqb5JkNT/3PiEstf3YrxGm15drZYf10d/E
 mgv6ifKgq02cTVjQF3JF7jAcMaHbB18dde86fe5DspAH32SyFzGnUc8I3LwLWScf
 pxIPSycI5rrPwKYbITCPOLbem3nS1PPvOB/r6B+6E/wyrU7OOe0YCr4GsJLhzhrH
 IPNNt0DZa+K7crWbqQetv4+s8Jf61nXp2iUjuKP64k+YDKkM5CcPSsF6PnbiRjXn
 Rt8k2wpNS72Cvq/D+zs9l8ymX1Z7goe66fmYDfCxpd4SehyYL2QAxL6K2eOCOv1C
 MZtbJ18zyUXmsNZvVd/dW4g6W5zOn/l9VpD9oxREo5bFXR7nR/Q=
 =BmC8
 -----END PGP SIGNATURE-----

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

Pull "Second Round of Renesas ARM64 Based SoC DT Updates for v4.15" from Simon Horman:

* r8a7795 (H3) and r8a7796 (M3-W) SoCs
  - Use R-Car Gen 3 fallback compat string for GPIO

    Simon Horman says "Use newly added R-Car GPIO Gen 1, 2 and 3 fallback
    compat strings in peace of now deprecated non-generation specific R-Car
    GPIO fallback compat string in the DT of Renesas ARM and arm64 based
    SoCs.

* r8a7795 (H3) and r8a7796 (M3-W) Salvator boards
  - Add dr_mode property for USB2.0 channel 0

    Shimoda-san says "Since Salvator-X[S] have a USB2.0 dual-role channel
    (CN9), this patch
    adds dr_mode property for USB2.0 channel 0 (EHCI/OHCI and HS-USB)
    as "otg".

    Using dual-role channel (or not) is related to the type of USB receptor
    on board specification. So, I added the property into the
    salvator-common.dtsi."

  - Add pfc node for USB3.0 channel 0

    Shimoda-san says "Since a R-Car Gen3 bootloader enables the PFC of
    USB3.0 channel 0, the USB3.0 host controller works without this setting
    on the kernel.  But, this setting should have salvator-common.dtsi. So,
    this patch adds the pfc node for USB3.0 channel 0."

* r8a7795 (H3) and r8a7796 (M3-W) Salvator and ULCB boards
  - Correct audio_clkout

    Morimoto-san says ""audio_clkout" is dummy clock of <&rcar_sound 0> to
    avoid clock loop which invites probe conflct. Thus <&rcar_sound 0> and
    "audio_clkout" should be same value."

* r8a7795 (H3) and r8a7796 (M3-W) Salvator and ULCB, and
  r8a77995 (D3) Draak boards
  - Drop "avb_phy_int" from avb_pins

    Shimoda-san says "Since the Ethernet AVB driver doesn't support
    AVB_PHY_INT handling and it will be handled by a phy driver as a gpio
    pin, this patch removes the "avb_phy_int" from the avb_pins node."

* r8a77995 (D3) Draak board
  - Enable PWM channels

    Shimoda-san says "Each channel connects to LTC2644 for brightness
    control."

* r8a77970 (V3M) Eagle and ULCB Kingfisher boards
  - Add initial device tree support

* tag 'renesas-arm64-dt2-for-v4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (31 commits)
  arm64: dts: renesas: salvator-common: add dr_mode property for USB2.0 channel 0
  arm64: dts: r8a7796: Use R-Car GPIO Gen3 fallback compat string
  arm64: dts: r8a7795: Use R-Car GPIO Gen3 fallback compat string
  arm64: renesas: ulcb: fixup audio_clkout
  arm64: renesas: salvator-common: fixup audio_clkout
  arm64: dts: renesas: eagle: add EtherAVB support
  arm64: dts: r8a77995: Add INTC-EX device node
  arm64: dts: r8a77970: Add INTC-EX device node
  arm64: dts: r8a7796: Add INTC-EX device node
  arm64: dts: ulcb-kf: hog USB3 hub control gpios
  arm64: dts: ulcb-kf: enable PCA9548 on I2C4
  arm64: dts: ulcb-kf: enable PCA9548 on I2C2
  arm64: dts: ulcb-kf: enable TCA9539 on I2C4
  arm64: dts: ulcb-kf: enable TCA9539 on I2C2
  arm64: dts: ulcb-kf: enable USB3.0 Host
  arm64: dts: ulcb-kf: enable PCIE0/1
  arm64: dts: ulcb-kf: enable USB2.0 Host channel 0
  arm64: dts: ulcb-kf: enable HSUSB
  arm64: dts: ulcb-kf: enable CAN0/1
  arm64: dts: ulcb-kf: enable SCIF1
  ...
2017-10-30 14:26:01 +01:00
Arnd Bergmann
11c3889c23 UniPhier ARM64 SoC DT updates for v4.15
- add thermal monitor and thermal zone nodes
 - add efuse nodes
 - fix W=2 warnings
 - add GPIO controller nodes and related properties
 - add resets properties
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZ7idoAAoJED2LAQed4NsG9HsQAKbgS6BqmEi7l6dg8Iz++DPE
 OkICvN5EPMh0NFujlqfGswmawXgZv1MsvQphFyJ9+a2FC1wC7p8AUqiNmEiXt208
 +ogVs1LVHDJwMyJcP1iL1eGJClMOdX9hQ11qQfSlpKFqN6xy67okigahSEMGRveU
 Bydncrih9/zxepv9pCENjE6wuOO73DpxyKsGooVgCeTKtQfSMpT9OhRqMXsC8e3i
 OswsCPii3JtlYEN6EsBj/zkE349mUwkThA+JEZ0nxzgrMir7+6pDJwfu/Dx4F+Z4
 wupplnHAd4/WzAbySb1VBKiLcFhqf0tcdLLmlqS2zNg4s712BDlS22tsurDvpvLt
 lNPZP+/bxcctgug+4pPy5ogilUzExotd+stHUq9G7zCZKAnK50NNdQDb4uAwbc/l
 7yAgOXXIldP523cX3xTMC6x5k4yJD6icCwtOEKyiUqI3hJUo1BlFS1tzlTic+iOx
 CDyNwBGH5vECCHiJyIQHH5HOQ5dvBuArGgnSWdWqFFdYzsIEKnC9UT+VnHJh9giA
 XeyLj/PMnamsso5j1oKhIuxGLho4ap5w4J99QS7ImBD9LJrIaSFrEY7MzNGref9j
 AdxMKPdkZmJg7Jq2hiwcF/5PF+84rUccu9ESrZ/sure2o8XGu72Bpn6pK25HQERI
 7EROd1eaKQhdUCn0zKXj
 =YY9L
 -----END PGP SIGNATURE-----

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

Pull "UniPhier ARM64 SoC DT updates for v4.15" from Masahiro Yamada:

- add thermal monitor and thermal zone nodes
- add efuse nodes
- fix W=2 warnings
- add GPIO controller nodes and related properties
- add resets properties

* tag 'uniphier-dt64-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  arm64: dts: uniphier: add resets properties
  arm64: dts: uniphier: add eMMC hardware reset provider node
  arm64: dts: uniphier: add GPIO hog definition
  arm64: dts: uniphier: route on-board device IRQ to GPIO controller
  arm64: dts: uniphier: add GPIO controller nodes
  arm64: dts: uniphier: fix W=2 build warnings
  arm64: dts: uniphier: enable NAND for PXs3 reference board
  arm64: dts: uniphier: add efuse node for LD11, LD20, and PXs3
  arm64: dts: uniphier: add nodes of thermal monitor and thermal zone for LD20
2017-10-30 14:17:29 +01:00
Arnd Bergmann
add5c42e99 Allwinner arm64 DT changes for 4.15
Most notable changes:
   - SPI and DMA support on the a64
   - New boards: NanoPi NEO Plus2
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZ6a4VAAoJEBx+YmzsjxAgnL0P/1KkOUnEuo0sW56x9S5BTLob
 tc8HjJtismgCAISKIQmtFSrPQ4LhP2QRSce7a1sqOAp5TXOzKazXo8UJ4Peg7zkQ
 91aqwOn0Bv3azelzzSnTnfLxJBSOuBBu+DfmoEp7nJsnFcon7xzDeRPSVE+r4bDH
 nAygZJq+d9rJogsWA9x20GR+3HsGShPo2GHXWDDP23eCDSA7EzguaJJq2bp58kQV
 lp/naY6BUCQ6svXdM1yoVtx6YbHMMzuV+ltZ8ZnryGtT3Dqm2y+tYGuQ2iBHhCz6
 IWC9pyaVd62exoOr827M+qErJoszPgO9yxjSgQkrpZzzuIo2zsQNWfNIjkuJ2F18
 jVKzCyuYQhLUVnIBpDAcRa33k37SvXJdyZgRdiAin/wGixrRw0LivX3qcpfe1EZB
 MgSsiAa7c82/Fy1gzj+49zcfPkk7cqpQnTK3dDSMRyOsZuN34meiaYvT7tmI44/q
 EQOJvat49Bm/54ueqBHET0dMCY447TDudG9zJinvEGkbCQzTxx1dMk4EP68qnOZF
 /57meyzaNs5Xo9KM/KpSXYC+Z0SKWQBDNVN3rtNLzDg+lQi5GCKVmXss2r5xabYN
 m/dMrZeJskVi+/2IIkNgUop7UgCvNDMq+PtEQMEh7c2ezO4eQWKkz/t2Y6MguK0Y
 NbBLy+4tfmML2mLHyqBB
 =OAav
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt64-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Pull "Allwinner arm64 DT changes for 4.15" from Maxime Ripard:

Most notable changes:
  - SPI and DMA support on the a64
  - New boards: NanoPi NEO Plus2

* tag 'sunxi-dt64-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm: allwinner: Correct unit name in devicetree binding example
  arm64: allwinner: a64: add dma controller references to spi nodes
  arm64: allwinner: a64: Add device node for DMA controller
  arm64: allwinner: a64: Fix node with unit name and no reg property
  arm64: allwinner: a64: Fix simple-bus unit address format error
  arm64: allwinner: h5: add NanoPi NEO Plus2 DT support
  arm64: allwinner: a64: add SPI nodes
2017-10-30 14:13:31 +01:00
Catalin Marinas
6218f96c58 arm64: Implement arch-specific pte_access_permitted()
The generic pte_access_permitted() implementation only checks for
pte_present() (together with the write permission where applicable).
However, for both kernel ptes and PROT_NONE mappings pte_present() also
returns true on arm64 even though such mappings are not user accessible.
Additionally, arm64 now supports execute-only user permission
(PROT_EXEC) which is implemented by clearing the PTE_USER bit.

With this patch the arm64 implementation of pte_access_permitted()
checks for the PTE_VALID and PTE_USER bits together with writable access
if applicable.

Cc: <stable@vger.kernel.org>
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-30 12:41:15 +00:00
Arnd Bergmann
c0dec1ec33 Allwinner DT changes for 4.15
The most notable changes are:
   - Conversion to the last SoC (A10, A20) to the new clock framework
   - HDMI and dual pipeline support for the A10, A20 and A31 DRM driver
   - Support for the various power supplies on a number of boards
   - Fix of DTC warnings on a number of SoCs, but most of them still need
     some work
   - New boards: A20-OLinuXino-MICRO-eMMC, TBS A711, Banana Pi M2 Berry,
     Banana Pi M2 Ultra
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZ6avvAAoJEBx+YmzsjxAgQ9MP/RvW5lGwVg8Y6aIEr8pGBNCO
 pNiQkBToR5HQnCPTBzNfspoaR8w/8H344AGS56+tzjFIF1P2cawzOxEn1oUrOcbM
 mAuSUzekpBoKbad2vXsL6uwY2qo3fv62+I72edZkQ4tSEGLK6ISA49sKzhIfFP/2
 7K92nP9xodKfMu/pn74/jxzSqcOKXDRSsj1Eyht5KL0oiSmwPgZfCFz+ITE5lozt
 mzh19qTdxabXZZ4CxVRCBPz/+p6+lmbnIgh8anjcL0YgLN96B1rly3bqAvAmgw7H
 Bv6nxRhNlEGwvQasgHiSQM7AaVONfPK6WUdDI5Wrpch7de4aFt/Bpz676zeDWWUt
 dH3Nix8z4AAIma1Yw5CM3fJaPY7vKiL8TlWmSzu2Gc+fb1jGIVf/yvDlV9Gu3g6I
 JE6YoQmUDC3Sw2q2fvrCokjGTr24u6Er+mBt7u0qGmv7dx70jTBIosXsGwfcwtj2
 iKGCjbfRU6rzui+YGEgktCz6m8LIdm5T2BkS93hgfVWJPL7oxmDd+rRon2N196ni
 JhM8ieTHrow7Mb365FK66Xa4KK8emhLhH7wubo2l9x5uIfr4iu61gv0rOhAppoCC
 Cop3YyHk1H7SlSUP0tbN2pc36x2wMoPDfAy1MsZNzuD3VXVd//wf9z1c07oL22XA
 TXkVd4c39WYRx6MZlQ7+
 =HjP6
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Pull "Allwinner DT changes for 4.15" from Maxime Ripard:

The most notable changes are:
  - Conversion to the last SoC (A10, A20) to the new clock framework
  - HDMI and dual pipeline support for the A10, A20 and A31 DRM driver
  - Support for the various power supplies on a number of boards
  - Fix of DTC warnings on a number of SoCs, but most of them still need
    some work
  - New boards: A20-OLinuXino-MICRO-eMMC, TBS A711, Banana Pi M2 Berry,
    Banana Pi M2 Ultra
  - New R40 SoC support

* tag 'sunxi-dt-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (63 commits)
  ARM: sun8i: r40: enable USB host for Banana Pi M2 Ultra
  ARM: sun8i: v40: add 5V regulator for Banana Pi M2 Berry
  ARM: sun8i: r40: add 5V regulator for Banana Pi M2 Ultra
  ARM: sun8i: r40: add USB host port nodes for R40
  ARM: dts: sun4i: Enable HDMI support on some A10 devices
  ARM: dts: sun7i: Enable HDMI support on some A20 devices
  ARM: dts: sun7i: Add device nodes for display pipelines
  ARM: dts: sun4i: Add device nodes for display pipelines
  ARM: dts: sun8i: r40: add watchdog device node
  ARM: dts: sun5i: reference-design-tablet: Enable AXP209 AC and battery
  ARM: dts: sun9i: Change node names to remove underscores
  ARM: dts: sun9i: Change node names to remove underscores
  ARM: dts: sun4i: Remove underscores from nodes names
  ARM: dts: sun4i: Provide default muxing for relevant controllers
  ARM: dts: sun4i: Change pinctrl nodes to avoid warning
  ARM: dts: sun6i: Enable HDMI support on some A31/A31s devices
  ARM: dts: sun6i: Add device node for HDMI controller
  ARM: dts: sun4i: Change LRADC node names to avoid warnings
  ARM: dts: sun4i: Remove skeleton and memory to avoid warnings
  ARM: dts: sun4i: Remove gpio-keys warnings
  ...
2017-10-30 11:52:18 +01:00
Arnd Bergmann
5068d87100 mvebu arm64 for 4.15 (part 1)
For Armada 7K/8K, enable NAND, RTC, comphy and 10G PHY in the
 defconfig
 -----BEGIN PGP SIGNATURE-----
 
 iIEEABECAEEWIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCWeoQjSMcZ3JlZ29yeS5j
 bGVtZW50QGZyZWUtZWxlY3Ryb25zLmNvbQAKCRALBhiOFHI71SAGAJwN7iJ6Xywi
 3DGgmYy/KtEm0/ZxcwCfZ6dFcGrSWo4IsPictpUL+x4TETk=
 =Gmg4
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm64-4.15-1' of git://git.infradead.org/linux-mvebu into next/soc

Pull "mvebu arm64 for 4.15 (part 1)" from Gregory CLEMENT:

For Armada 7K/8K, enable NAND, RTC, comphy and 10G PHY in the
defconfig

* tag 'mvebu-arm64-4.15-1' of git://git.infradead.org/linux-mvebu:
  arm64: defconfig: enable RTC on Armada 7K/8K SoCs
  arm64: defconfig: enable NAND on Armada 7K/8K SoCs
  arm64: defconfig: enable Marvell CP110 comphy
  arm64: defconfig: enable the Marvell 10G PHY as a module
2017-10-30 10:38:07 +01:00
Arnd Bergmann
17a8045ba3 arm64: tegra: Default configuration updates for v4.15-rc1
This enables the PCI host controller on 64-bit ARM. It is supported and
 enabled via device tree on Tegra210 and Tegra186.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlnp4n4THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoZQSD/9MJu8m9Qhg6kdN7qiHjry7pTMW5GVV
 EO6L1jSQQo4VedEZbOh9ot46Aj0HGGDVvi9YuQi7UHoV3y2SeWJ/WmFN3sf0FNm5
 PR37c8lOxp3Oj6dGfMGHrpz4P8a0FPiKqqFlI4x/sahKgSta4z7ac1lmGcnYRGEs
 X69zZxEHjvDkkataAkScmSexEZvCvVVORKU/odTtrIAGYE56docCkY4uI34EWJF7
 igT0ammthwCJZIy3Nhbt+5Bvd03PKtAXdmurMrAsX0/DXVjKtUqzSDuN0CBdVPtl
 wzHRO0cKx1m+EEDl4MdxfXfoo92klBRMc0I2Oj0b3+vTZMED1xvieo7vfSeflxRJ
 /hs76EOyUQvgTLuwqrd5v6p916aGu7T4FT1YQchViq/d77BRIjPtR2x8leipKtU+
 d5Am5qHEUdVF8EapEo/4wEzpRdZCCAQ8ZU3p0hq7YM3U5vWbmmnGGgumxNkzYj4e
 7XECrc29BHEBE5Lcn+yUeHbCoED7RjrUXkT/mQ6wzG7dhLb1FQ1VF2lcQKCPVaV0
 8Qt4cY3rSHZXEmKDkeJSzpkNd1cr4W7sXVQkeePgXov7aOrVnW1XYlN+4HWBPrk3
 Or0LBhR84AaB5R01PG5QAdFX/A5pfSCLZlZiCbyk1rRoN26JxX6tHk6ehCAFbrZ2
 eBCNv96QrpCMGw==
 =nDdS
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.15-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc

Pull "arm64: tegra: Default configuration updates for v4.15-rc1" from Thierry Reding:

This enables the PCI host controller on 64-bit ARM. It is supported and
enabled via device tree on Tegra210 and Tegra186.

* tag 'tegra-for-4.15-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: defconfig: Enable Tegra PCI controller
2017-10-30 10:36:47 +01:00
Arnd Bergmann
36a247ba72 UniPhier ARM SoC fixes for v4.14
- Add necessary clock to EHCI node
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZ6iQbAAoJED2LAQed4NsG/+gP/3KBBo4ta73DSJIwNHLO2DJK
 uNLRNHYSAvYTp+DD9sUkyaeU/YeE6A+SqD0Zm6gSPfoJTCYI9dS0ktLPiMhXLu0L
 Qc1JttaKA6SBmydbsLBuzDDSZzTt7D2lUjHECZ/BxTsFEOEWriRA1/LNOx+lmnHj
 F7euH9Tl09W9OcYj1a0qm2B1boMfyVjd3zvWEXU/iKf869J6iNruVo4WUV/3dG55
 mhcgBHF2YX0Rbpl5JPs/bSWDtQVgFP2jAyuQ3L0i0xsomWMdzVSEZbULCFrzG52n
 1IHy7RcnZ0ID7QBozruQVYw689dmRYz1qGRBgHmi739PUY+PgucBo0zKrr0NA0UA
 g2ctaIpZpQ/yp6cmajoVLBfGs7K+bFMwaXXjrbT+2Ug4k+HcSYpAYzgy2JkI3c3C
 574YNo8DrKj/Wji2gg21Ulp7lG6MIwgW2hXQxlX7LFvlEtG5nxjHuSKItdn4FfpJ
 VS0tReyvRvHAyEn8/1g+YltVVPO+9yzdLj4Enm9b2j/kz1Kihq3zb51eJExd9U/E
 mgeYMWXcMST5oiOtFMSFEJSU9mebNFA7PRdLQc5R3RWAOCcwHV0N6WVBrDA8NkGs
 o/wrPXaOXrDHIL8FrilrD4tYcRp6Pa/G8zJUyXt8Fw9ykCzTIvLsn63Qbme4kpga
 LsArieMVrpCEzEb/R5me
 =hxk8
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-fixes-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into fixes

Pull "UniPhier ARM SoC fixes for v4.14" from Masahiro Yamada:

- Add necessary clock to EHCI node

* tag 'uniphier-fixes-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  arm64: dts: uniphier: add STDMAC clock to EHCI nodes
  ARM: dts: uniphier: add STDMAC clock to EHCI nodes
2017-10-30 10:20:45 +01:00
Jerome Brunet
b94d22d94a ARM64: dts: meson-gx: add external PHY interrupt on some platforms
Add the external PHY interrupt on the nanopi-k2, odroid-c2, p200, p230
and q200

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:44:04 -07:00
Jerome Brunet
9dbb56ea09 ARM64: dts: meson-gx: add gpio interrupt controller
Add gpio interrupt controller to Amlogic GX family SoCs

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:43:29 -07:00
Jerome Brunet
f2c2122a6c ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
select MESON_IRQ_GPIO in Kconfig for Amlogic's meson SoC family

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:43:17 -07:00
Neil Armstrong
e841ec956e ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
Looking at the schematics, the USB Power Supply is shared between the
two USB interfaces,
If the usb0 fails to initialize, the second one won't have power.

Fixes: 5a0803bd5ae2 ("ARM64: dts: meson-gxbb-odroidc2: Enable USB Nodes")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29 08:43:00 -07:00
Will Deacon
d7b1d22d38 arm64: uapi: Remove PSR_Q_BIT
PSTATE.Q only exists for AArch32, which can be referred to using
COMPAT_PSR_Q_BIT. Remove PSR_Q_BIT, since the native bit doesn't exist
in the architecture

Tested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27 16:27:03 +01:00
Will Deacon
b7300d4c03 arm64: traps: Pretty-print pstate in register dumps
We can decode the PSTATE easily enough, so pretty-print it in register
dumps.

Tested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27 16:26:58 +01:00
Will Deacon
a25ffd3a63 arm64: traps: Don't print stack or raw PC/LR values in backtraces
Printing raw pointer values in backtraces has potential security
implications and are of questionable value anyway.

This patch follows x86's lead and removes the "Exception stack:" dump
from kernel backtraces, as well as converting PC/LR values to symbols
such as "sysrq_handle_crash+0x20/0x30".

Tested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27 16:26:53 +01:00
Mark Rutland
42dbf54e88 arm64: consistently log ESR and page table
When we take a fault we can't handle, we try to dump some relevant
information, but we're not consistent about doing so.

In do_mem_abort(), we log the full ESR, but don't dump a page table
walk. In __do_kernel_fault, we dump an attempted decoding of the ESR
(but not the ESR itself) along with a page table walk.

Let's try to make things more consistent by dumping the full ESR in
mem_abort_decode(), and having do_mem_abort dump a page table walk. The
existing dump of the ESR in do_mem_abort() is rendered redundant, and
removed.

Tested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Julien Thierry <julien.thierry@arm.com>
Cc: Kristina Martsenko <kristina.martsenko@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27 16:26:47 +01:00
Andreas Färber
a9ce6f8545 arm64: dts: realtek: Add MeLE V9
Add an initial Device Tree for MeLE V9 Media Player.

Cc: meleservice@mele.cn
Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-10-26 16:24:38 +09:00
Andreas Färber
f8b3436dad arm64: dts: realtek: Factor out common RTD129x parts
Prepares for RTD1293 and RTD1296.

Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-10-26 16:11:54 +09:00
Dave Martin
fa3eb71d96 arm64: asm-bug: Renumber macro local labels to avoid clashes
Currently ASM_BUG() and its constituent macros define local
assembler labels 0, 1 and 2 internally, which carries a high risk
of clash with callers' labels and consequent mis-assembly.

This patch gives the labels a big random offset to minimise the
chance of such errors.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-25 15:57:15 +01:00
Julien Thierry
6436beeee5 arm64: Fix single stepping in kernel traps
Software Step exception is missing after stepping a trapped instruction.

Ensure SPSR.SS gets set to 0 after emulating/skipping a trapped instruction
before doing ERET.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
[will: replaced AARCH32_INSN_SIZE with 4]
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-25 11:57:33 +01:00
Julien Thierry
e28cc02559 arm64: Use existing defines for mdscr
Literal values are being used to set single stepping in mdscr from assembly
code. There are already existing defines representing those values, use
those instead of the literal values.

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-25 11:56:59 +01:00
Will Deacon
087133ac90 locking/qrwlock, arm64: Move rwlock implementation over to qrwlocks
Now that the qrwlock can make use of WFE, remove our homebrewed rwlock
code in favour of the generic queued implementation.

Tested-by: Waiman Long <longman@redhat.com>
Tested-by: Jeremy Linton <jeremy.linton@arm.com>
Tested-by: Adam Wallis <awallis@codeaurora.org>
Tested-by: Jan Glauber <jglauber@cavium.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Jeremy.Linton@arm.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boqun.feng@gmail.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1507810851-306-5-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-25 10:57:25 +02:00
Mark Salyzyn
9ca255bf04 arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io
__memcpy_{to,from}io fall back to byte-at-a-time copying if both the
source and destination pointers are not 8-byte aligned. Since one of the
pointers always points at normal memory, this is unnecessary and
detrimental to performance, so only do byte copying until we hit an 8-byte
boundary for the device pointer.

This change was motivated by performance issues in the pstore driver.
On a test platform, measuring probe time for pstore, console buffer
size of 1/4MB and pmsg of 1/2MB, was in the 90-107ms region. Change
managed to reduce it to 10-25ms, an improvement in boot time.

Cc: Kees Cook <keescook@chromium.org>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-24 16:23:07 +01:00
Will Deacon
1e0c661f05 Merge branch 'for-next/perf' into aarch64/for-next/core
Merge in ARM PMU and perf updates for 4.15:

  - Support for the Statistical Profiling Extension
  - Support for Hisilicon's SoC PMU

Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-24 16:06:56 +01:00
Romain Perier
6f8c539313 arm64: dts: rockchip: add efuse for RK3368 SoCs
This adds the definition for eFuse that is found on RK3368 SoCs with the
corresponding data cells.

Signed-off-by: Romain Perier <romain.perier@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-10-24 15:25:27 +02:00
Ingo Molnar
9babb091e0 Linux 4.14-rc6
-----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJZ7clWAAoJEHm+PkMAQRiG07AH/iKcej+AsurISHx6i/LUEDC1
 a9wo5HAR5kEj+ohdE3JSkD9BHLcyhcCXaqIk9yOrwi9xv1DrPv8U/nGkKzZJzFi2
 mGWK09Zgi+vgSpA+YSErgl05IVGtgaryQQPqQdawpyRpqTUwP0+2pLnKEnJe0f05
 fpv+S4bDKUCuE8GcVNjF9gxXDg8j60fFa+oAcn7QPS6dCun/H6TbDRue5oeky0Y+
 50ZYjjioy9S9DIm2VF7pktMCP/mK/fgb+Q+4Up09VJGHGhq+891SRJ27yDulxo47
 /gq22SRIGBX2PGNllSwhYslgaCRRlYTMBYOIWrBreanA4NpGD662dp+GgWhD154=
 =TAMw
 -----END PGP SIGNATURE-----

Merge tag 'v4.14-rc6' into locking/core, to pick up fixes

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-24 13:17:20 +02:00
Masahiro Yamada
76c48e1eca arm64: dts: uniphier: add resets properties
Add resets properties to all nodes that have reset lines.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24 02:12:57 +09:00
Masahiro Yamada
b6e5ec203b arm64: dts: uniphier: add eMMC hardware reset provider node
Add mmc-pwrseq-emmc node to perform standard eMMC hardware reset
procedure.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24 02:12:38 +09:00
Masahiro Yamada
15e85695e5 arm64: dts: uniphier: add GPIO hog definition
Interrupt lines from on-board devices are connected to the GPIO
controller.  Add GPIO hogging so that the corresponding GPIO line
is automatically requested.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24 02:10:47 +09:00
Masahiro Yamada
429f203eb7 arm64: dts: uniphier: route on-board device IRQ to GPIO controller
Interrupt lines from on-board devices are connected to the GPIO
controller.  Handle this correctly.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24 02:10:47 +09:00
Masahiro Yamada
277b51e705 arm64: dts: uniphier: add GPIO controller nodes
The GPIO controller also acts as an interrupt controller and the
interrupt lines are connected to the AIDET block.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24 02:10:41 +09:00
Masahiro Yamada
9cd7d03f20 arm64: dts: uniphier: fix W=2 build warnings
Fix warnings like follows:

Warning (node_name_chars_strict): Character '_' not recommended in ...

Commit 8654cb8d0371 ("dtc: update warning settings for new bus and
node/property name checks") says these checks are a bit subjective,
but Rob also says to not add new W=2 warnings.

The exising warnings should be fixed in order to catch new ones
easily.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24 01:28:46 +09:00
Masahiro Yamada
ae4cce8788 arm64: dts: uniphier: enable NAND for PXs3 reference board
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-23 10:09:48 +09:00
Keiji Hayashibara
f05851e1d0 arm64: dts: uniphier: add efuse node for LD11, LD20, and PXs3
Add efuse node for UniPhier LD11, LD20, and PXs3.
This efuse node is included in soc-glue.

Signed-off-by: Keiji Hayashibara <hayashibara.keiji@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-23 10:09:12 +09:00
Julien Thierry
f9b269f309 arm/arm64: kvm: Disable branch profiling in HYP code
When HYP code runs into branch profiling code, it attempts to jump to
unmapped memory, causing a HYP Panic.

Disable the branch profiling for code designed to run at HYP mode.

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2017-10-21 17:03:20 +02:00
Dongjiu Geng
fd6c8c206f arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort
When a exception is trapped to EL2, hardware uses  ELR_ELx to hold
the current fault instruction address. If KVM wants to inject a
abort to 32 bit guest, it needs to set the LR register for the
guest to emulate this abort happened in the guest. Because ARM32
architecture is pipelined execution, so the LR value has an offset to
the fault instruction address.

The offsets applied to Link value for exceptions as shown below,
which should be added for the ARM32 link register(LR).

Table taken from ARMv8 ARM DDI0487B-B, table G1-10:
Exception			Offset, for PE state of:
				A32 	  T32
Undefined Instruction 		+4 	  +2
Prefetch Abort 			+4 	  +4
Data Abort 			+8 	  +8
IRQ or FIQ 			+4 	  +4

  [ Removed unused variables in inject_abt to avoid compile warnings.
    -- Christoffer ]

Cc: <stable@vger.kernel.org>
Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
Tested-by: Haibin Zhang <zhanghaibin7@huawei.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-10-21 17:03:15 +02:00
Arnd Bergmann
6bf99a6cb6 Allwinner fixes for 4.14
Two fixes, one for the A31 DRM binding, and one for a missing regulator on
 the pine MMC controller.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZ6axFAAoJEBx+YmzsjxAgRPQQAL8SNIbznqcV1ncW1SXBH/hg
 W1UCfclJfCJ1nrctsfXIgDpIJAGjVR+PEh8kBHgyqknqLJ6bQpJOqfHzSZk+SWF4
 1NuosdxLMW9V9wrwzNUUYD6Jh3VoJAgKDcWBPeY9eUvvLq6wnzXmSXPBtTUlXuNp
 XcXoT7TCSlUZ0rvJKPe2ON+BH1hjYhNnHs07TN2x2lbYQMbEcLLzqBOyfxESzQ5w
 hAb8gpJhGSDAk2pJXtyviSNokx5fqSePnKmfPNG42QHXq+cvt6aCcosqZ9u3OuAx
 eNTVTZPlvnQ/GfjEouG4NTjYbv5cXdN8itqaSypMeN+8xpOJ/mFDa8K/vzyzF2Kr
 6svpe4SC0YB6z4YtKFLR0Q6a/MlgMNq02WW5l+oq8e44pwyPRYFeTNNP8yD9ZO0k
 xlhgNyo+/KIXGx6XBga27x3IyaWopGslLK/UjG4El0jOAPISiuZcbF6GCsFht7dk
 YSVEVQ842v2iX817kaDy1zGTOy0b9j9/AOu6ctZlsP9XM9YaMxi7pFrb+UFu6FSJ
 yRR8TNZjjrSMsuDc8yrbH0/nWcgkmQtYXa2iQ4/2ILlW63zrm2yM7w8CKygyZ25D
 NhuK/yQ+PEsKYDAJ3s3T3hUbirAmQx3KUmv6Jr7UUPaj6V5a62Jl/pt5+oSlGQm7
 EBkvmIV+XXwmqng7Y/WF
 =Cvge
 -----END PGP SIGNATURE-----

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

Pull "Allwinner fixes for 4.14" from Maxime Ripard:

Two fixes, one for the A31 DRM binding, and one for a missing regulator on
the pine MMC controller.

* tag 'sunxi-fixes-for-4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: sun6i: Fix endpoint IDs in second display pipeline
  arm64: allwinner: a64: pine64: Use dcdc1 regulator for mmc0
2017-10-20 22:24:48 +02:00
Masahiro Yamada
deaa55196e arm64: dts: uniphier: add STDMAC clock to EHCI nodes
Without the STDMAC clock enabled, the USB 2.0 hosts do not work.
This clock must be explicitly listed in the "clocks" property because
it is independent of the other clocks.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-21 01:24:05 +09:00
Sean Wang
598f9b2ec4 arm64: mediatek: cleanup message for platform selection
The latest kernel tree already can support more MediaTek platforms such as
MT2712 and MT7622, so additional descriptions for those platforms are added
and certain cleanups are also being made here.

Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-10-20 13:13:07 +02:00
Yoshihiro Shimoda
e9ce35386b arm64: dts: renesas: salvator-common: add dr_mode property for USB2.0 channel 0
Since Salvator-X[S] have a USB2.0 dual-role channel (CN9), this patch
adds dr_mode property for USB2.0 channel 0 (EHCI/OHCI and HS-USB)
as "otg".

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-10-20 12:05:36 +02:00