Commit Graph

46644 Commits

Author SHA1 Message Date
Vitaly Kuznetsov ad5475f9fa x86/xen: use xen_vcpu_id mapping for HYPERVISOR_vcpu_op
HYPERVISOR_vcpu_op() passes Linux's idea of vCPU id as a parameter
while Xen's idea is expected. In some cases these ideas diverge so we
need to do remapping.

Convert all callers of HYPERVISOR_vcpu_op() to use xen_vcpu_nr().

Leave xen_fill_possible_map() and xen_filter_cpu_maps() intact as
they're only being called by PV guests before perpu areas are
initialized. While the issue could be solved by switching to
early_percpu for xen_vcpu_id I think it's not worth it: PV guests will
probably never get to the point where their idea of vCPU id diverges
from Xen's.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2016-07-25 13:32:34 +01:00
Vitaly Kuznetsov 88e957d6e4 xen: introduce xen_vcpu_id mapping
It may happen that Xen's and Linux's ideas of vCPU id diverge. In
particular, when we crash on a secondary vCPU we may want to do kdump
and unlike plain kexec where we do migrate_to_reboot_cpu() we try
booting on the vCPU which crashed. This doesn't work very well for
PVHVM guests as we have a number of hypercalls where we pass vCPU id
as a parameter. These hypercalls either fail or do something
unexpected.

To solve the issue introduce percpu xen_vcpu_id mapping. ARM and PV
guests get direct mapping for now. Boot CPU for PVHVM guest gets its
id from CPUID. With secondary CPUs it is a bit more
trickier. Currently, we initialize IPI vectors before these CPUs boot
so we can't use CPUID. Use ACPI ids from MADT instead.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2016-07-25 13:31:16 +01:00
Linus Torvalds b7545b79a1 USB update for 4.8-rc1
Here's the big USB driver update for 4.8-rc1.  Lots of the normal stuff
 in here, musb, gadget, xhci, and other updates and fixes.  All of the
 details are in the shortlog.
 
 All of these have been in linux-next for a while with no reported
 issues.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iFYEABECABYFAleVPioPHGdyZWdAa3JvYWguY29tAAoJEDFH1A3bLfspB5AAnj7a
 VJ2t2kcWzFUNQ6dyJrJCGGRAAKDZmb5CnOGeqJmdVpDzN1CGLYjfiw==
 =47iA
 -----END PGP SIGNATURE-----

Merge tag 'usb-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB updates from Greg KH:
 "Here's the big USB driver update for 4.8-rc1.  Lots of the normal
  stuff in here, musb, gadget, xhci, and other updates and fixes.  All
  of the details are in the shortlog.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'usb-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (169 commits)
  cdc-acm: beautify probe()
  cdc-wdm: use the common CDC parser
  cdc-acm: cleanup error handling
  cdc-acm: use the common parser
  usbnet: move the CDC parser into USB core
  usb: musb: sunxi: Simplify dr_mode handling
  usb: musb: sunxi: make unexported symbols static
  usb: musb: cppi41: add dma channel tracepoints
  usb: musb: cppi41: move struct cppi41_dma_channel to header
  usb: musb: cleanup cppi_dma header
  usb: musb: gadget: add usb-request tracepoints
  usb: musb: host: add urb tracepoints
  usb: musb: add tracepoints to dump interrupt events
  usb: musb: add tracepoints for register access
  usb: musb: dsps: use musb register read/write wrappers instead
  usb: musb: switch dev_dbg to tracepoints
  usb: musb: add tracepoints support for debugging
  usb: quirks: Add no-lpm quirk for Elan
  phy: rcar-gen3-usb2: fix mutex_lock calling in interrupt
  phy: rockhip-usb: use devm_add_action_or_reset()
  ...
2016-07-24 17:22:18 -07:00
David S. Miller de0ba9a0d8 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Just several instances of overlapping changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-24 00:53:32 -04:00
Linus Torvalds 7825e0c429 ARM: SoC fixes
A handful of fixes before final release:
 
 Marvell Armada:
  - One to fix a typo in the devicetree specifying memory ranges for the
    crypto engine
  - Two to deal with marking PCI and device-memory as strongly ordered to
    avoid hardware deadlocks, in particular when enabling above crypto driver.
  - Compile fix for PM
 
 Allwinner:
  - DT clock fixes to deal with u-boot-enabled framebuffer (simplefb).
  - Make R8 (C.H.I.P. SoC) inherit system compatibility from A13 to
    make clocks register proper.
 
 Tegra:
  - Fix SD card voltage setting on the Tegra3 Beaver dev board
 
 Misc:
  - Two maintainers updates for STM32 and STi platforms.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXiw+tAAoJEIwa5zzehBx3nfgP/3jFtZ56HDwQhj90nePZSXWm
 xSRIyB8dpQxEMpOp3VyJsSLtyPoN4oGKz3KAAFawSfqSGYn375oTWCZxtRO0PJyq
 ZvTessM8+QCou7BhwgYaK+qeb+wQMDK8vvhGpJVesdPf9rwJmDwImn5NU1AT/9Jp
 rlymfzKU6E+w24k8tIZlj42E13f/x+g3ykuNkhuEvxt05/PCLbZ2LlIG/HsSWpP+
 Z11S3MRx8IMkURHBfzUwDMESKCz69HXgCYbU1tEUKyWdsucn6sfC56RFhIzG5KOx
 cxr4qX96rE3GMlivjaBYKP7PQdL4yFb1GfkgmiYoLHz4eD6mYqy9fe5NByqKuYff
 qCZJJtjVpjEtAu0IHAkNP+p/2j5B++ewkYMHumXduQX/vylzaMVk0CX4br+vozqr
 llb8mJ9TymjaB6/FlrCg6ZNh0ltvIlDec9FGll+d5zEQ9nRWSX/BO0tFfZkVD+aE
 rxZBAa0vcLxX/OTrxfITPHuCvOFjNVRN0cZdID5sZy9coR/522V6HcW1wzPXfu2E
 /Y1VSIgstwzN7McxY1ZF8FWOEXyf8hFyKWvbZ915bnIA+xSsKdwAid/aBZ406Gwt
 k3lqcKcAIggSd5VdU2KZtRkrtHaebAK4WpLOxsZm5udydoxibBTZ+ehw44ITOYv0
 Hr/1C2Gw0l44OdPL4eoq
 =QMwv
 -----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:
 "A handful of fixes before final release:

  Marvell Armada:
   - One to fix a typo in the devicetree specifying memory ranges for
     the crypto engine
   - Two to deal with marking PCI and device-memory as strongly ordered
     to avoid hardware deadlocks, in particular when enabling above
     crypto driver.
   - Compile fix for PM

  Allwinner:
   - DT clock fixes to deal with u-boot-enabled framebuffer (simplefb).
   - Make R8 (C.H.I.P. SoC) inherit system compatibility from A13 to
     make clocks register proper.

  Tegra:
   - Fix SD card voltage setting on the Tegra3 Beaver dev board

  Misc:
   - Two maintainers updates for STM32 and STi platforms"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: tegra: beaver: Allow SD card voltage to be changed
  MAINTAINERS: update STi maintainer list
  MAINTAINERS: update STM32 maintainers list
  ARM: mvebu: compile pm code conditionally
  ARM: dts: sun7i: Fix pll3x2 and pll7x2 not having a parent clock
  ARM: dts: sunxi: Add pll3 to simplefb nodes clocks lists
  ARM: dts: armada-38x: fix MBUS_ID for crypto SRAM on Armada 385 Linksys
  ARM: mvebu: map PCI I/O regions strongly ordered
  ARM: mvebu: fix HW I/O coherency related deadlocks
  ARM: sunxi/dt: make the CHIP inherit from allwinner,sun5i-a13
2016-07-23 12:32:50 +09:00
Stefan Agner 0a6f366a82 ARM: dts: fix STMicroelectronics compatible strings
Replace the non-standard vendor prefix stm with st for
STMicroelectronics. The drivers do not specify the vendor prefixes
since the I2C Core strips them away from the DT provided compatible
string. Therefore, changing existing device trees does not have any
impact on device detection.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Rob Herring <robh@kernel.org>
2016-07-22 14:53:16 -05:00
Radim Krčmář 912902ce78 KVM/ARM changes for Linux 4.8
- GICv3 ITS emulation
 - Simpler idmap management that fixes potential TLB conflicts
 - Honor the kernel protection in HYP mode
 - Removal of the old vgic implementation
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXkk6wAAoJECPQ0LrRPXpDkIQP/iJ2yXTxrfbJoyaVq1vuMn3R
 UFhVwNXP8OEjQrmp5lvMBazB1MRBkNDzlVXL1fSb+ijKmbIELOqHhO6ijrkK4zmc
 0Ie0x5Bt4gIFPTZyZORVpy1eU/0YFGWERAfsAjYdMCeKwHjaUCRSrZBXF2YsFTfo
 Hh/ILvHa8TjUXWsQXvtZCL6AAnkDKBsbDWqsq5zspuT+PA8umI+dGLIiULXBpc4t
 S2TCDxOU1JgsAn+Y0XVbPXV9id+bs5LRd6nNH/RmipIVqWmukSrScXOjg/po/l2S
 laO4tHmyEeN6ecnCxWttpjacNwyTDNh5n3lL1ceBnBZFqn1k/7NjqV3fQzJxGd1T
 1U6edE9+EuS9uXWF5XcEuAD660EiMs4FLVSjPgqYQtto3gOHilmuWL9eeeOOgCem
 Lknnu/7G8h36PaQuLnEXWXQb7jeS2rTuC0RqxCG62gD9UWEJTckRz5pRh/e6gz7n
 ZVXMrwGiVZ3zR78qE6i2j5CZ6A0BMAK3nZ85AI3kmgKg0CfVY28uPOj8llAOaYm+
 0XVdfRj7ed75eu3GobjHUyZ0fQ40jovmH2vy3mupBm5XBUHgH/j6X510KJ1UTLWI
 C2EO9KogbjoVeu60mQi4bKGSPi8/wdgYqVft/Qzl5D5iFvQ7Ia+TQNMArCQazBID
 Ihe1E09NGrHjV3Yw/GWV
 =2Del
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into next

KVM/ARM changes for Linux 4.8

- GICv3 ITS emulation
- Simpler idmap management that fixes potential TLB conflicts
- Honor the kernel protection in HYP mode
- Removal of the old vgic implementation
2016-07-22 20:27:26 +02:00
Eric Auger 180ae7b118 KVM: arm/arm64: Enable irqchip routing
This patch adds compilation and link against irqchip.

Main motivation behind using irqchip code is to enable MSI
routing code. In the future irqchip routing may also be useful
when targeting multiple irqchips.

Routing standard callbacks now are implemented in vgic-irqfd:
- kvm_set_routing_entry
- kvm_set_irq
- kvm_set_msi

They only are supported with new_vgic code.

Both HAVE_KVM_IRQCHIP and HAVE_KVM_IRQ_ROUTING are defined.
KVM_CAP_IRQ_ROUTING is advertised and KVM_SET_GSI_ROUTING is allowed.

So from now on IRQCHIP routing is enabled and a routing table entry
must exist for irqfd injection to succeed for a given SPI. This patch
builds a default flat irqchip routing table (gsi=irqchip.pin) covering
all the VGIC SPI indexes. This routing table is overwritten by the
first first user-space call to KVM_SET_GSI_ROUTING ioctl.

MSI routing setup is not yet allowed.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-07-22 18:52:01 +01:00
Arnd Bergmann d95eabc7b8 Renesas ARM Based SoC DT Fixes for v4.8
* Corrections to r8a7792
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXjDuJAAoJENfPZGlqN0++zTwP/izl3NeRBX9cz+sTDYKb9lB5
 w2OMwUE7p4aC5iFej7CmLLvhgtpC/6RJiD61F6LqHJF3GG5CJrzXo69EYrnU13R2
 4oIEZLdnWawAbAIhzKHvypgXw+6el4X3NSX29yZziVkObWxDczCYKQBNYOhzwRQd
 itoJk6oYOwgUUCkbDY9CfPyym0rHtQ/CXPxL49MZgiKX0Qkq0QyCeT4OC3XGbyu2
 1oJfBDew3i7OQnd+RirmMlVZpHBaDgIKehaUTd1ZNJomAxBuaISpdfmiliU46VcB
 6+LXBTM0LRqIvZTsdEEWd4hvMTC5A4MPb3zTel1lUeucfQrkfKIMfijBt/nNokkG
 vpGQBdCM9FuSXKylAcToFKLKi6AMaXy2dUTi8/fQcNE59VHghrB3eLHPJDRbxkCm
 2CVQ2Kjtjm+Egd+ElYsCkFXtiRqR1xFMIM2HFfGq50GFpR9KF3vwelgSgnQbO9ei
 g9qjNAuoIEJR2o+kj6XKTjGU9qRNC6DoxZLIsg32cUP8E95wU9xWfQaHbWEGUdhh
 kEQkwvVrHsLM6b3ElAj/U7cwK7AI5nDnNucOwbBM6f9XoAeVbgrTy2cz4wDfmfoR
 5lNTuyrLCv0cu0SPOHXgqPti6bxPnzYF7G/Xnm9WbJeJYnA0q2VK+4jl8ItjjgoA
 /0nNwVDhCUVCzX95Vw5g
 =BHVI
 -----END PGP SIGNATURE-----

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

Merge "Renesas ARM Based SoC DT Fixes for v4.8" from Simon Horman:

* Corrections to r8a7792

* tag 'renesas-dt-fixes-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: dts: r8a7792: remove ADSP clock
  ARM: dts: r8a7792: add PLL1 divided by 2 clock
2016-07-21 14:40:28 +02:00
Baruch Siach 17bd274e39 ARM: mps2: fix typo
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-07-21 14:39:21 +02:00
Arnd Bergmann 1b2d8b94c8 mvebu dt for 4.8 (part 1)
Fix dts for the clearfog board (Armada 388 SoC based)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAleKEUcACgkQCwYYjhRyO9UjkgCfQwpZXTOGR/vr8q6YKrCL/E9k
 E34AnRDVoEwPR9+dIT5K+jnJVYDZi+rM
 =JT1u
 -----END PGP SIGNATURE-----

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

Merge "mvebu dt for 4.8 (part 1)" from Gregory CLEMENT:

Fix dts for the clearfog board (Armada 388 SoC based)

* tag 'mvebu-dt-4.8-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: armada-388-clearfog: remove duplicate mdio entry
2016-07-21 14:36:51 +02:00
Arnd Bergmann 262a5d84b2 Allwinner DT changes for 4.8, take 2
Another set of changes for the 4.8 merge window, among which:
   - Reworking of the DT for the tablets based on Allwinner reference design
     and q8 designs to avoid duplication as much as possible
   - Renaming a DT merged in the first PR for consistency
   - Enable a few devices on some boards
   - New boards: Polaroid MID2407PXE03, inet86dz
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXjKQhAAoJEBx+YmzsjxAgGwQQAIbAJ4R3d9eNQO1wGknnmMyV
 M2u6lnLUm1R6b/9EMAqYN5Hm/Dvg13CBXtMz/GaaQJZQHPrWlsRu0XqSYrSiSVMn
 8YcdPmVpflIMrtxP+OjKN1maVnn8kJCnVlku4nEbjN9ScB6tpgs6QcV6uponnD+3
 vt3nU610WxAfXjvvtd4yflYM6/YTxZEn3zACiiv43VP9wZ6noUNEhDeJqS7I52kZ
 AqsRJd0unojfvltejC6G62EmiesA93nX0TI0nKCP0Ink8y0pHTe4/w1nhRPCr1dS
 hJQEihcD/ZNs+k1P5s8UJE86PI4l+Y/AY7r48iEf5vxEnbF0nKdukpVy6/jfheMy
 +tvC0pJjCj5Ed9AxyaCghGhU0/MeEUCNFemgOvbsHQCd1KWramJq8/6joRrzmzDQ
 tvmlNOgJYj53gkkLuKIzQB9zbuqCzLhNDUwx8NUyIgBbUBF33Wxw7XVTmqQuGEl0
 +AC1kPuIFen4aiyN8VYytJhTcjD5MvPOG9PsWs8JDGCjLe4lUJ9ztF5ovxDmTGHh
 plazJb/aMuERrX2Dxi4mHnr01D5D3qVEpGPjw55DiWuXaWXCtKjX6/F8HxZiaDDS
 kJeMPjEkQ7zgVZchDRTsniqHbOOMsbP6DErYwHwXPLNjWyLdhpLgKU4edOW7MEA+
 3tRQScPdk0oqDUq7XIhW
 =QU36
 -----END PGP SIGNATURE-----

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

Merge "Allwinner DT changes for 4.8, take 2" from Maxime Ripard:

Another set of changes for the 4.8 merge window, among which:
  - Reworking of the DT for the tablets based on Allwinner reference design
    and q8 designs to avoid duplication as much as possible
  - Renaming a DT merged in the first PR for consistency
  - Enable a few devices on some boards
  - New boards: Polaroid MID2407PXE03, inet86dz

* tag 'sunxi-dt-for-4.8-2-bis' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (21 commits)
  ARM: dts: sun8i: Add dts file for inet86dz board
  ARM: dts: sun8i: Add dts file for Polaroid MID2407PXE03 tablet
  ARM: dts: sun8i: Use sun8i-reference-design-tablet for ga10h dts
  ARM: dts: sun8i: Use sun8i-reference-design-tablet for polaroid mid2809pxe04
  ARM: dts: sun8i: reference-design-tablet: Add drivevbus-supply
  ARM: dts: Copy sun8i-q8-common.dtsi sun8i-reference-design-tablet.dtsi
  ARM: dts: sun5i: Use sun5i-reference-design-tablet.dtsi for utoo p66 dts
  ARM: dts: sun5i: Use sun5i-reference-design-tablet.dtsi for dit4350 dts
  ARM: dts: sun5i: reference-design-tablet: Remove mention of q8
  ARM: dts: sun5i: reference-design-tablet: Set lradc vref to avcc
  ARM: dts: sun5i: Rename sun5i-q8-common.dtsi sun5i-reference-design-tablet.dtsi
  ARM: dts: sun5i: Move q8 display bits to sun5i-a13-q8-tablet.dts
  ARM: dts: sunxi: Rename sunxi-q8-common.dtsi sunxi-reference-design-tablet.dtsi
  ARM: dts: sun7i: bananapi-m1-plus: red LED is power LED
  ARM: dts: sun7i: bananapi-m1-plus: Unify suffix for board specific labels
  ARM: dts: sun7i: bananapi-m1-plus: Reindent whole file using tabs
  ARM: dts: sun7i: lamobo-r1: Enable audio codec
  ARM: dts: sun7i: lamobo-r1: Fix GPIO flags in reg_ahci_5v
  ARM: dts: sun8i-h3: Rename sinovoip-bpi-m2-plus to bananapi-m2-plus
  ARM: dts: sun7i: lamobo-r1: Remove usb1 vbus regulator
  ...
2016-07-21 14:35:09 +02:00
Mark Brown a485f5fc8c Merge remote-tracking branches 'regulator/topic/qcom-spmi', 'regulator/topic/rn5t618', 'regulator/topic/tps65218' and 'regulator/topic/twl' into regulator-next 2016-07-20 18:02:08 +01:00
Andre Przywara 1085fdc68c KVM: arm64: vgic-its: Introduce new KVM ITS device
Introduce a new KVM device that represents an ARM Interrupt Translation
Service (ITS) controller. Since there can be multiple of this per guest,
we can't piggy back on the existing GICv3 distributor device, but create
a new type of KVM device.
On the KVM_CREATE_DEVICE ioctl we allocate and initialize the ITS data
structure and store the pointer in the kvm_device data.
Upon an explicit init ioctl from userland (after having setup the MMIO
address) we register the handlers with the kvm_io_bus framework.
Any reference to an ITS thus has to go via this interface.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-07-18 18:14:35 +01:00
Andre Przywara b46f01ce4d KVM: arm/arm64: Extend arch CAP checks to allow per-VM capabilities
KVM capabilities can be a per-VM property, though ARM/ARM64 currently
does not pass on the VM pointer to the architecture specific
capability handlers.
Add a "struct kvm*" parameter to those function to later allow proper
per-VM capability reporting.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Eric Auger <eric.auger@linaro.org>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-07-18 18:10:31 +01:00
Hans de Goede de427ad223 ARM: dts: sun8i: Add dts file for inet86dz board
The inet86dz board is a board used in 7" tablets from various oems.

These tablets are a23 based 7" tablets featuring a 1024x600 LCD,
512MB RAM, 4G NAND, rtl8188etv usb wifi, gsl1680 touchschreen,
micro-sd slot, 3.5mm headphone jack and a micro-usb otg connector
which doubles as charging port.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:51 +02:00
Hans de Goede 3e48bb211c ARM: dts: sun8i: Add dts file for Polaroid MID2407PXE03 tablet
The Polaroid MID2407PXE03 is an a23 based 7" tablet based on a M86_MB V2.0
PCB, featuring a 800x480 LCD, 512MB RAM, 4G NAND, esp8089 wifi, gsl1680
touchschreen, micro-sd slot, 3.5mm headphone jack and a micro-usb otg
connector which doubles as charging port.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:50 +02:00
Hans de Goede 8bb55cf157 ARM: dts: sun8i: Use sun8i-reference-design-tablet for ga10h dts
This results in quite a nice cleanup for this dts file.

As an added bonus this also enables backlight, regulator and full otg
support. I've tested that all these works as advertised.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:50 +02:00
Hans de Goede a0e4eb4b81 ARM: dts: sun8i: Use sun8i-reference-design-tablet for polaroid mid2809pxe04
This results in quite a nice cleanup for this dts file.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:49 +02:00
Hans de Goede 672244fa72 ARM: dts: sun8i: reference-design-tablet: Add drivevbus-supply
Add a drivevbus-supply property so that the drivevbus regulator
reports the right voltage value.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:48 +02:00
Hans de Goede edbc6f1f1d ARM: dts: Copy sun8i-q8-common.dtsi sun8i-reference-design-tablet.dtsi
Copy sun8i-q8-common.dtsi to sun8i-reference-design-tablet.dtsi. This
is part of renaming all the sun?i-q8-common.dtsi files to
sun?i-reference-design-tablet.dtsi since most of the hw-config in there
is shared by all sunxi tablets.

Note that in this case we keep sun5i-q8-common.dtsi as it is shared
between a23 / a33 q8 tablets. Also we leave the usb-wifi config in
there (rather then in sun8i-reference-design-tablet.dtsi) as most
sun8i tablets use sdio wifi rather then usb wifi.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:48 +02:00
Hans de Goede 147c6163da ARM: dts: sun5i: Use sun5i-reference-design-tablet.dtsi for utoo p66 dts
This results in a nice cleanup for this dts file.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:47 +02:00
Hans de Goede f51203b253 ARM: dts: sun5i: Use sun5i-reference-design-tablet.dtsi for dit4350 dts
This results in quite a nice cleanup for this dts file.

Note as a side-effect this also enables the on board speaker / headphones
out. I've tested that this works as advertised.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:47 +02:00
Hans de Goede 86ee097432 ARM: dts: sun5i: reference-design-tablet: Remove mention of q8
Remove all mention of q8 from sun5i-reference-design-tablet.dtsi.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:47 +02:00
Hans de Goede 83c9942688 ARM: dts: sun5i: reference-design-tablet: Set lradc vref to avcc
Set lradc vref to the actual avcc ldo, rather then to the fixed 3v0
regulator from common-regulators.dtsi.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:46 +02:00
Hans de Goede 875be91de1 ARM: dts: sun5i: Rename sun5i-q8-common.dtsi sun5i-reference-design-tablet.dtsi
Rename sun5i-q8-common.dtsi to sun5i-reference-design-tablet.dtsi. This
is part of renaming all the sun?i-q8-common.dtsi files to
sun?i-reference-design-tablet.dtsi since most of the hw-config in there
is shared by all sunxi tablets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:45 +02:00
Hans de Goede f4a51e0ff7 ARM: dts: sun5i: Move q8 display bits to sun5i-a13-q8-tablet.dts
This is a preparation patch for renaming sun5i-q8-common.dtsi to
sun5i-reference-design-tablet.dtsi and sharing it between all
the A13 tablet dts files.

Since we only have a panel config for the 18 tablets (for now) move
this to the q8 specific dts file.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:45 +02:00
Hans de Goede 110af36aa0 ARM: dts: sunxi: Rename sunxi-q8-common.dtsi sunxi-reference-design-tablet.dtsi
Rename sunxi-q8-common.dtsi to sunxi-reference-design-tablet.dtsi. This
is part of renaming all the sun?i-q8-common.dtsi files to
sun?i-reference-design-tablet.dtsi since most of the hw-config in there
is shared by all sunxi tablets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-18 11:39:44 +02:00
Matthew McClintock f0d9d0f4b4 watchdog: qcom: add option for standalone watchdog not in timer block
Commit 0dfd582e02 ("watchdog: qcom: use timer devicetree
binding") moved to use the watchdog as a subset timer
register block. Some devices have the watchdog completely
standalone with slightly different register offsets as
well so let's account for the differences here.

The existing "kpss-standalone" compatible string doesn't
make it entirely clear exactly what the device is so
rename to "kpss-wdt" to reflect watchdog timer
functionality. Also update ipq4019 DTS with an SoC
specific compatible.

Signed-off-by: Matthew McClintock <mmcclint@codeaurora.org>
Signed-off-by: Thomas Pedersen <twp@codeaurora.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2016-07-17 21:03:08 +02:00
Matthew McClintock 6e062696d7 watchdog: qcom: update device tree bindings
Update the compatible string to align with driver and also
add SoC specific string to DTS.

CC: linux-watchdog@vger.kernel.org
Signed-off-by: Matthew McClintock <mmcclint@codeaurora.org>
Signed-off-by: Thomas Pedersen <twp@codeaurora.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2016-07-17 21:03:00 +02:00
Arnd Bergmann cd06b2a573 DT Changes for 4.8 #3:
- Lot of fixes for dtc warnings
  - Separate dtb compilation for ARMv4 and ARMv5
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCgAGBQJXiUwhAAoJENiigzvaE+LCoNwP/jAWT4heui8E33BLEm6H5Pba
 g9giAvxq9pJ/jFC8bORvd3HrJoFnDy1wFARxLlk3JU0sC66mlv242jCuzwWUBjwc
 4KCo29V7/FN0gPDMGKyOFnRD70qe38nMqqHjUK2oW8Y3Cjm+Vr6NdsyE6jS8lLT2
 O7l7odmE90cQpBbOG6zznZ52IsiCPjP2vBJonDfLpd4YlwV5ekGUQg8UCxDHMqn0
 RuKRVolx0BaHKZmd4aSbWBFclYk4DDjnxf+aXHC00gXc9O1ysPXASvbYpwoz2h1V
 FtcivUrlp9IHmSlmqJLa8cUZ57j3uwxDczdGhLwies30HxGDloYMZFF90zF07E+S
 NXmWDekcf1duEPi7TqWSPTriP1DwM9hlofNDYbET3dsMuuBJ2toIDNtUgZ20sezR
 /tTT2pS7Y4bOF097E35GNy0i1PMqs/J6Ac1zNHP5uJyfn/+Znczfzs99UWqYW2QY
 WUhATCgb7MMhm3L2p9u2VznrJsWxqfW2LQCO8/nx28GCyjtW0BYIekU+Z0wU2DuY
 tbX0KArOXYrsaBa1RUABUi594DOgPKr3sFRlGnHKzQ8i7IU9pfhGlFJMSueMdFh1
 sOHboHloKUpSlwQLCXOmjRNnLPJ/eMGOHg0bj//I6BXwj1Gnvj4pqiHyz4dl/I/M
 mqr4tcSEpjlxUjgOsaQ3
 =L7OM
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-4.8-dt3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt

Merge "DT Changes for 4.8 #3" from Alexandre Belloni:
 - Lot of fixes for dtc warnings
 - Separate dtb compilation for ARMv4 and ARMv5

* tag 'at91-ab-4.8-dt3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: dts: at91: Don't build unnecessary dtbs
  ARM: dts: at91: sama5d3x: separate motherboard gmac and emac definitions
  ARM: dts: at91: at91sam9g25ek: fix isi endpoint node
  ARM: dts: at91: move isi definition to at91sam9g25ek
  ARM: dts: at91: fix i2c-gpio node name
  ARM: dts: at91: vinco: fix regulator name
  ARM: dts: at91: ariag25 : fix onewire node
  ARM: dts: at91: sama5d4_ma5d4evk: fix regulator names
  ARM: dts: at91: sama5d4_ma5d4: fix regulator names
  ARM: dts: at91: sama5d4_xplained: fix regulator names
  ARM: dts: at91: sama5d3_xplained: fix regulator name
  ARM: dts: at91: sama5d4ek: remove useless lcd_bus
  ARM: dts: at91: Fix USB endpoint nodes
  Documentation: dt: usb: atmel-usb: add unit-address
  ARM: dts: at91: Fix ADC trigger nodes
  Documentation: dt: iio: at91_adc: fix trigger node names
2016-07-15 23:00:19 +02:00
Arnd Bergmann 7aff0f29cd ARM: dts: at91: Don't build unnecessary dtbs
Building both ARMv4 and ARMv5 dtbs when SOC_SAM_V4_V5 is an issue for
kernelci because it will then attempt to boot ARMv4 kernels on at91sam9
which doesn't work.

Use CONFIG_SOC_AT91RM9200 and CONFIG_SOC_AT91SAM9 instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 11:23:59 +02:00
Alexandre Belloni 94197ad713 ARM: dts: at91: sama5d3x: separate motherboard gmac and emac definitions
Separate the definitions for the emac and the gmac in different files and
include them in the final board dts that uses them.

Solves:
Warning (unit_address_vs_reg): Node /ahb/apb/ethernet@f0028000 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /ahb/apb/ethernet@f802c000 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 11:23:46 +02:00
Alexandre Belloni 81c940d9be ARM: dts: at91: at91sam9g25ek: fix isi endpoint node
Add a reg property in the endpoint node as documented in
Documentation/devicetree/bindings/media/video-interfaces.txt

Solves:
Warning (unit_address_vs_reg): Node /ahb/apb/isi@f8048000/port/endpoint@0 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 11:23:45 +02:00
Alexandre Belloni efedc4893b ARM: dts: at91: move isi definition to at91sam9g25ek
The ISI is only present on the at91sam9g25, move the definition to the
at91sam9g25ek board dts to avoid warnings.

Solves the following warning for other 9x5ek boards:
Warning (unit_address_vs_reg): Node /ahb/apb/isi@f8048000 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 11:23:45 +02:00
Alexandre Belloni e152e3f7f4 ARM: dts: at91: fix i2c-gpio node name
i2c-gpio doesn't need a reg property. Change the node names to i2c-gpio-x
as used in other dts to remove the unit-address.

Solves:
Warning (unit_address_vs_reg): Node /i2c@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c@1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c@2 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 11:23:44 +02:00
Richard Cochran 4761adb6f4 arm/xen: Convert to hotplug state machine
Install the callbacks via the state machine and let the core invoke
the callbacks on the already online CPUs.

The get_cpu() in xen_starting_cpu() boils down to preempt_disable() since
we already know the CPU we run on. Disabling preemption shouldn't be required
here from what I see since it we don't switch CPUs while invoking the function.

Signed-off-by: Richard Cochran <rcochran@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: rt@linutronix.de
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/20160713153336.971559670@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-15 10:40:28 +02:00
Richard Cochran 26b8768868 arm/twd: Convert to hotplug state machine
Install the callbacks via the state machine. The callbacks won't be invoked on
already online CPUs.

Signed-off-by: Richard Cochran <rcochran@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160713153336.881124821@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-15 10:40:28 +02:00
Richard Cochran 9eeb226477 arm/l2c: Convert to hotplug state machine
Install the callbacks via the state machine and let the core invoke
the callbacks on the already online CPUs.

Signed-off-by: Richard Cochran <rcochran@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Brad Mouring <brad.mouring@ni.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160713153336.801270887@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-15 10:40:28 +02:00
Thomas Gleixner e5b61bafe7 arm: Convert VFP hotplug notifiers to state machine
Straight forward conversion plus commentary why code which is executed
in hotplug callbacks needs to be invoked before installing them.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160713153335.713612993@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-15 10:40:22 +02:00
Alexandre Belloni d3c1c7181f ARM: dts: at91: vinco: fix regulator name
vcc_3v3_reg is a fixed regulator and doesn't need a reg property. Remove
its unit-address.

Solves:
Warning (unit_address_vs_reg): Node /fixedregulator@0 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:26:09 +02:00
Alexandre Belloni 313dcab072 ARM: dts: at91: ariag25 : fix onewire node
Remove the unit-address from the oneiwire node as it doesn't have a reg
property.

Solves:
Warning (unit_address_vs_reg): Node /onewire@0 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:26:09 +02:00
Alexandre Belloni 6fa3c6bf74 ARM: dts: at91: sama5d4_ma5d4evk: fix regulator names
vcc_mmc1_reg is a fixed regulators and doesn't need a reg property. Remove
its unit-address.

Solves:
Warning (unit_address_vs_reg): Node /fixedregulator@2 has a unit name, but no reg property

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:25:32 +02:00
Alexandre Belloni 33220987e7 ARM: dts: at91: sama5d4_ma5d4: fix regulator names
vcc_3v3_reg and vcc_mmc1_reg are fixed regulators and don't need a
reg property. Remove their unit-address.

Solves:
Warning (unit_address_vs_reg): Node /fixedregulator@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /fixedregulator@1 has a unit name, but no reg property

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:25:12 +02:00
Alexandre Belloni 17995e60f4 ARM: dts: at91: sama5d4_xplained: fix regulator names
vcc_3v3_reg and vcc_mmc1_reg are fixed regulators and don't need a reg
property. Remove their unit-address.

Solves:
Warning (unit_address_vs_reg): Node /fixedregulator@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /fixedregulator@1 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:24:45 +02:00
Alexandre Belloni a63f6a64cc ARM: dts: at91: sama5d3_xplained: fix regulator name
vcc_mmc0_reg is a fixed regulator and doesn't need a reg property. Remove
its unit-address.

Solves:
Warning (unit_address_vs_reg): Node /fixedregulator@0 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:24:44 +02:00
Alexandre Belloni 8aabe9b9a0 ARM: dts: at91: sama5d4ek: remove useless lcd_bus
lcd_bus has never been mainlined and is replaced by the atmel_hlcdc driver.
Remove stale nodes.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:24:24 +02:00
Alexandre Belloni c32b5bcfa3 ARM: dts: at91: Fix USB endpoint nodes
Endpoint nodes have a reg property. Add their mandatory unit-address.

This solves:
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep0 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep1 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep2 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep3 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep4 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep5 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep6 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep7 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep8 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep9 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep10 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep11 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep12 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep13 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep14 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /ahb/gadget@00400000/ep15 has a reg or ranges property, but no unit name

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:23:31 +02:00
Alexandre Belloni c94afa132b ARM: dts: at91: Fix ADC trigger nodes
The triggers don't need a reg property, remove it when prenset. Also remove
the unit-address from their name.

This solves:
Warning (unit_address_vs_reg): Node /ahb/apb/adc@fc034000/trigger@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /ahb/apb/adc@fc034000/trigger@1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /ahb/apb/adc@fc034000/trigger@2 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /ahb/apb/adc@fc034000/trigger@3 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 10:23:14 +02:00
Sergei Shtylyov e0c3f92a08 ARM: dts: r8a7792: remove ADSP clock
Simon Horman told me that R8A7792 has ADSP clock based on an incorrect
table in the most recent R-Car gen2 manual. But when I received that manual
I discovered that this is false: R8A7792 is the only Gen 2 SoC that doesn't
have ADSP at all.  Accordingly remove the ADSP clock from DT for the
r8a7792.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-07-15 13:22:45 +09:00
Sergei Shtylyov 4b9b7b3a2c ARM: dts: r8a7792: add PLL1 divided by 2 clock
Despite the fact that QSPI clock has PLL1/VCOx1/4 clock as a parent, the
latter hasn't been added to the R8A7792 device tree. This patch corrects
that oversight.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-07-15 13:20:39 +09:00
Arnd Bergmann cda1c2bdf6 Merge tag 'sti-late-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into next/late
Merge "STi late updates for v4.8" from 	Patrice Chotard:

- Add STi DT critical clocks declaration
- Remove SPI hack wich has dependecy with critical clocks

These 2 STi DT patches and SPI hack MUST be applied after patches
contained into Stephen Boyd's branch clk-next/clk-st-critical.
This to ensure not to break SPI.

* tag 'sti-late-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  spi: st-ssc4: Remove 'no clocking' hack
  ARM: sti: stih410-clocks: Identify critical clocks
  ARM: sti: stih407-family: Supply defines for CLOCKGEN A0
  clk: st: clkgen-pll: Detect critical clocks
  clk: st: clkgen-fsyn: Detect critical clocks
  clk: st: clk-flexgen: Detect critical clocks
2016-07-14 17:38:54 +02:00
Jisheng Zhang c3fbbf9308 ARM: 8586/1: cpuidle: make arm_cpuidle_suspend() a bit more efficient
Currently, we check cpuidle_ops.suspend every time when entering a
low-power idle state. But this check could be avoided in this hot path
by moving it into arm_cpuidle_read_ops() to reduce arm_cpuidle_suspend
overhead a bit.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 16:30:45 +01:00
Jisheng Zhang f222a76952 ARM: 8585/1: cpuidle: fix !cpuidle_ops[cpu].init case during init
Let's assume cpuidle_ops exists but it doesn't implement the according
init callback, current arm_cpuidle_init() will return success to its
caller, but in fact it should return -EOPNOTSUPP.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 16:30:44 +01:00
Gregory CLEMENT 565068221b ARM: 8561/4: dma-mapping: Fix the coherent case when iommu is used
When doing dma allocation with IOMMU the __iommu_alloc_atomic() was
used even when the system was coherent. However, this function
allocates from a non-cacheable pool, which is fine when the device is
not cache coherent but won't work as expected in the device is cache
coherent. Indeed, the CPU and device must access the memory using the
same cacheability attributes.

Moreover when the devices are coherent, the mmap call must not change
the pg_prot flags in the vma struct. The arm_coherent_iommu_mmap_attrs
has been updated in the same way that it was done for the arm_dma_mmap
in commit 55af8a9164 ("ARM: 8387/1: arm/mm/dma-mapping.c: Add
arm_coherent_dma_mmap").

Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 16:25:31 +01:00
Gregory CLEMENT f127089650 ARM: 8561/3: dma-mapping: Don't use outer_flush_range when the L2C is coherent
When a L2 cache controller is used in a system that provides hardware
coherency, the entire outer cache operations are useless, and can be
skipped.  Moreover, on some systems, it is harmful as it causes
deadlocks between the Marvell coherency mechanism, the Marvell PCIe
controller and the Cortex-A9.

In the current kernel implementation, the outer cache flush range
operation is triggered by the dma_alloc function.
This operation can be take place during runtime and in some
circumstances may lead to the PCIe/PL310 deadlock on Armada 375/38x
SoCs.

This patch extends the __dma_clear_buffer() function to receive a
boolean argument related to the coherency of the system. The same
things is done for the calling functions.

Reported-by: Nadav Haklai <nadavh@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: <stable@vger.kernel.org> # v3.16+
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 16:25:30 +01:00
Doug Anderson 9f6f93543d ARM: 8560/1: errata: Workaround errata A12 825619 / A17 852421
The workaround for both errata is to set bit 24 in the diagnostic
register.  There are no known end-user bugs solved by fixing this
errata, but the fix is trivial and it seems sane to apply it.

The arguments for why this needs to be in the kernel are similar to the
arugments made in the patch "Workaround errata A12 818325/852422 A17
852423".

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 15:32:31 +01:00
Doug Anderson 416bcf2159 ARM: 8559/1: errata: Workaround erratum A12 821420
This erratum has a very simple workaround (set a bit in a register), so
let's apply it.  Apparently the workaround's downside is a very slight
power impact.

Note that applying this errata fixes deadlocks that are easy to
reproduce with real world applications.

The arguments for why this needs to be in the kernel are similar to the
arugments made in the patch "Workaround errata A12 818325/852422 A17
852423".

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 15:32:30 +01:00
Doug Anderson 62c0f4a534 ARM: 8558/1: errata: Workaround errata A12 818325/852422 A17 852423
There are several similar errata on Cortex A12 and A17 that all have the same workaround: setting bit[12] of the Feature Register.
Technically the list of errata are:

- A12 818325: Execution of an UNPREDICTABLE STR or STM instruction
  might deadlock.  Fixed in r0p1.
- A12 852422: Execution of a sequence of instructions might lead to
  either a data corruption or a CPU deadlock.  Not fixed in any A12s
  yet.
- A17 852423: Execution of a sequence of instructions might lead to
  either a data corruption or a CPU deadlock.  Not fixed in any A17s
  yet.

Since A12 got renamed to A17 it seems likely that there won't be any
future Cortex-A12 cores, so we'll enable for all Cortex-A12.

For Cortex-A17 I believe that all known revisions are affected and that all knows revisions means <= r1p2.  Presumably if a new A17 was
released it would have this problem fixed.

Note that in <https://patchwork.kernel.org/patch/4735341/> folks
previously expressed opposition to this change because:
A) It was thought to only apply to r0p0 and there were no known r0p0
   boards supported in mainline.
B) It was argued that such a workaround beloned in firmware.

Now that this same fix solves other errata on real boards (like
rk3288) point A) is addressed.

Point B) is impossible to address on boards like rk3288.  On rk3288
the firmware doesn't stay resident in RAM and isn't involved at all in
the suspend/resume process nor in the SMP bringup process.  That means
that the most the firmware could do would be to set the bit on "core
0" and this bit would be lost at suspend/resume time.  It is true that
we could write a "generic" solution that saved the boot-time "core 0"
value of this register and applied it at SMP bringup / resume time.
However, since this register (described as the "Feature Register" in
errata) appears to be undocumented (as far as I can tell) and is only
modified for these errata, that "generic" solution seems questionably
cleaner.  The generic solution also won't fix existing users that
haven't happened to do a FW update.

Note that in ARM64 presumably PSCI will be universal and fixes like
this will end up in ATF.  Hopefully we are nearing the end of this
style of errata workaround.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Huang Tao <huangtao@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-07-14 15:32:30 +01:00
Arnd Bergmann a185c8639f ARM: tegra: Device tree changes for v4.8-rc1
Some cleanups to existing device tree sources and add Toradex Apalis TK1
 support.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJXg7ZKAAoJEN0jrNd/PrOhSeIP/A3kTBHvCIk9BTZCOAOAb1u0
 NdzJdH/qUFVzPESSbzYeAQpRLFZzFKG+6gCdY3IMsoAXvPwE+pMkJSm7i8zkpTtV
 CvEJOG523MhHde065X+z0LpenRKA92s7E08yoqJaaqkUxeYAGXQi+yURixCZ0kmF
 9bARzmC3b4qo4+nndEvlKdbgycW942LvFHWMdScqkFgV68POpDA3BqFSztI8j741
 1zM9ggcMgxJqYteZYrrdiPUzaoS4j0EEseuzaVETCzon0KICkIW6CMNg0Q0aNfNk
 sidE320KjCihioeYem85vluIBFDLBZCO4SrR0XSj4JKth0/LkEdBakA/tp6kP8u/
 M2g9ZT9k620EcuSf5LEOCHRdSYFF5+b9+qKdKK7ZMO7H55o1G2dHCYNutT8KZDRw
 p7u65EQNZy8yLnCa2lxL6c6pLDcOxp8bON0ZD6+K1B2xfebvko96Ec/eEljqbgLo
 SnWDSkyNFKWljWG11Ie4u43beA7QzwwCvHqyspuPmNHZjMeIp25FqJy4tZ31prDg
 +TuA+13SFaAT4uamD1PYRZSZEaTiLwoD21zxKS4Jy7O6uX4P/pbmpK/ispvJe5FZ
 HWvlbmtWIFgkaY1PlGuBINhuB5es96d4OoXGuGouAk6Xf8PhELk6JSZ2eLEMtfdv
 /Y04dzuWCUKuzOYzGnRz
 =h8a0
 -----END PGP SIGNATURE-----

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

Merge "ARM: tegra: Device tree changes for v4.8-rc1" from Thierry Reding:

Some cleanups to existing device tree sources and add Toradex Apalis TK1
support.

* tag 'tegra-for-4.8-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Initial support for Apalis TK1
  ARM: tegra: Remove commas from unit addresses on Tegra124
  ARM: tegra: Import latest Jetson TK1 spreadsheet
  ARM: tegra: Add spaces around = in properties
  ARM: tegra: Fix a couple of DTC warnings
2016-07-14 15:39:27 +02:00
Arnd Bergmann 70814a9b32 ARM: tegra: Core SoC changes for v4.8-rc1
Some cleanups to eliminate sparse warnings and a section mismatch.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJXg7YdAAoJEN0jrNd/PrOhXy0P/0IEMndWkrubAOvf0bnV4hR0
 /SiNGiS+ROyTDd8LkntXJFTgwPzEd/pHUL6z/X2imLvVurAwDP19zEO9rm7CzFaL
 goOnCSm5VEz6euwzh+i7PYlDYSETZ+Iy+izO3r6vWMJJxsHbYZ5POxJvCM7e14pp
 V70vRXwSaQqUBzX5jykFmIeypQ1q/o/VeMsEeLfKQXBYqq3Z4F4x91E1UVgopp5z
 mpE0O1v191ZpwqdFJUfzTBwM7nrDruYNedrw2jCQDcr3O5bmns1IQPymJGLO6iJk
 rKfL6NXHJD7IH3RH4rd3hW7j2It6crSLbyZSnfNNxC9eFpfgnQk+jXe6/oo712Ng
 FPwvB0Hy/z+q5hXfEEB9lgxB8AurnLHm5Kt8qxmsdBMsJ0KbL2kUSUrlpOcWcatO
 QeBAC+mO4Ff4lUM5eCkH9uetmB2TO4/WkCgL0iTQt4Taq4qY/9jS5WABsu0L7htX
 2L0jWxffmrNBREysRmXJltV7H9ZujEkGaQcGvdDFtv2nOGVivbw2n8YCB4MIz/1h
 WLUjNKbm9HhneH/Croxtt7dYytR7tFgEbVXP2+s/nTq2LgQb7iAJZeBV6pp3VY6L
 aEzYCvRCTDW/QVqnGg97I7dWK//j20oLYN3+PwjrM2dATJ8OIN8Zrk28ljB+9Cto
 uNsiRRInpuW8t18Y4BMD
 =ZvUr
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.8-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/cleanup

Merge "ARM: tegra: Core SoC changes for v4.8-rc1" into next/cleanup:

Some cleanups to eliminate sparse warnings and a section mismatch.

* tag 'tegra-for-4.8-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Remove board_init_funcs array
  ARM: tegra: pm: Add tegra_cpu_do_idle() prototype
  ARM: tegra: irq: Add missing irq.h include
  ARM: tegra: cpuidle: Add missing cpuidle.h include
  ARM: tegra: hotplug: Include missing common.h
2016-07-14 15:37:41 +02:00
Arnd Bergmann 4756f881ba Samsung mach/soc update for v4.8, part 3:
Just cleanup - fix Sparse warning and constify passed iomem address.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXg8ATAAoJEME3ZuaGi4PXUL0P+QHP+LO5aKxRLFqYfGXwIWcG
 NyAaHTRuSRu8wTvZKsPfr1l65ItfUxCwvW1N3ZCElF7+lLPR/W7INVpYsOfLa/6o
 MeTELRPItCKuRXW8dmuCmsSYRIzFNVtozOhD4RhGd/SgWB8qTFSe7sZNShib70dL
 ys8EHvWxBvuqRRAmf3riJ4jZPR9CaY/27oQclpkcxe65U6wTcsXY6dsmfsizcLB3
 j6aYDs4rkoDhg+GGQk/Th5w+z+Q2k44SZbs/lGy2GEBStOSePNUH4r61Yn+mdQx5
 X5Fd82H6AOCLSdUaslHdaBeE5PJeZIS4bdM+QnOxefPA5In9siOlgN0/H3xYlVYz
 gWgWJoydkYMRxPLvJMlV/G/XzyOVJFdHcp3JNGq1L2g6jeO7fGWAD0x1P3xdwOTD
 W4e9deeWlsgiucrKT0ZoK7AEouOM0kLx1s9T1q4sL7ht0KSNA+BLjBYtMkKC7kCy
 MW1vnyMYf2pXSAElZQXw/y0LiLxNSKDv2Utz7fCn73kBhjaI8ZYo9Mi2aOoLv1Lr
 coNyQPGXh3dCleHUORM+X9HCkaezsxGhnlmtpfr754QyG8DyAWLeRQ7KDVlCNmEr
 ns9Ji9RDAfWXB1UM5DzYWYyDPPKyefkxe4FxUT1m7sLQ+Sa1JeIIB0MlAs74gKTZ
 nXiMR/UR0BY4wr+Zv1K7
 =jpFy
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-4.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc

Merge "Samsung mach/soc update for v4.8, part 3: from Krzysztof Kozlowski:

Just cleanup - fix Sparse warning and constify passed iomem address.

* tag 'samsung-soc-4.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c64xx: smartq: Avoid sparse warnings
  ARM: SAMSUNG: Constify iomem address passed to s5p_init_cpu
2016-07-14 15:36:01 +02:00
Arnd Bergmann f1844aca29 This is a set of cleanups for the Ux500 that reduce the number
of machine-local files and boardfile-type data for regulators
 and ASoC.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXhLdvAAoJEEEQszewGV1znkoQAMJy4s/VnTrhL5PdMdYu/Zr6
 rLr1EyQDJZTErmGnmRnlKoLfsxTs6of4Yka2nKJJJO13FMy4eHyHHi7Wbc+WHfbO
 oYEOQSK2y44niXBhSCm0P34CrMRSJuoh0LbnFyZfCcVgwYbyyklkwok4crIxkq3b
 bQg+/lA8pal2tM7Y7hC/f2u54Qi6jqPrEfzZc01PnbfS64Joiup8se5+CHTHwSeT
 v3nQy8TlQFJR9Suq0D8BxPZnBIHkTIJJkzQOc8Rzg7YNqq2WsXn3JZRaK0yYn/Vg
 E1BOjCypVSxSIkx46hUjCv+9xoWRfIvbJZXwYk1VYzw2vUvn9WAMJEhwWDdReJ//
 PpehqKG7yn2VYCBt0WF67CZC3AIYRPyfIbG3q4pKfn80/apAHkjJXO7QupHZdWsT
 QGxe/vGHjhXW+m8ptoePuIynBf4GJhN8TYbzoR9jptAgkl9/CgQmD0FQjMmrJHFo
 REeTvvddPsA5wQdbFRnmlRm9CPUaU6dGx9UwEIHs79pjR7IzWGf+wRxdJg3x28Z/
 Y6SVQkCcUoT1AX67XpEP2QgUo+wzUM5IObcjur+io8nLKQ1h9WfmBKZCZ3UIp8Uf
 incRtLP6UvLWcbLCHGy0pGlZ/4OFFyDDW7I9t1prHBCuIOmh18pWuzkJsXZUoRXQ
 FiVEOb7mF7lCTrgh65aR
 =VLJl
 -----END PGP SIGNATURE-----

Merge tag 'ux500-cleanup-bundle' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/drivers

Merge "Ux500 cleanups from Arnd" from Linus Walleij:

This is a set of cleanups for the Ux500 that reduce the number
of machine-local files and boardfile-type data for regulators
and ASoC.

* tag 'ux500-cleanup-bundle' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: consolidate base platform files
  ARM: ux500: move soc_id driver to drivers/soc
  ARM: ux500: call ux500_setup_id later
  ARM: ux500: consolidate soc_device code in id.c
  ARM: ux500: remove cpu_is_u* helpers
  ARM: ux500: use CLK_OF_DECLARE()
  ARM: ux500: move l2x0 init to .init_irq
  mfd: db8500 stop passing around platform data
  ASoC: ab8500-codec: remove platform data based probe
  ARM: ux500: move ab8500_regulator_plat_data into driver
  ARM: ux500: remove unused regulator data
2016-07-14 15:23:19 +02:00
Arnd Bergmann 772a7f2297 A defconfig update for omap2plus_defconfig to fix changed USB
Kconfig dependencies for v4.8 merge window. Otherwise things
 like USB Ethernet on omap3 beagle, omap4 panda and omap5-uevm
 won't work without manual configuration.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXg1ijAAoJEBvUPslcq6VzG4YP/1fHehNHXf/+JgAHFbpL2hm+
 57fpjnmxnB7maFGdhz72PKP1vi4APyZUrgzOxuft4IcVgAN71jTeO8B5Oj2ROAn7
 TyB99ob5OJ7/uzUSOsIUSDvGw+F0+bL6jj2X7vBphPF740QY3wOacchVBXzOLewc
 QN9PfivuJDLmk1+rm9iFZcO7uIOBiIiUH3D+KwIcWt2M4EfFMNJZlXYK+vHwCXOJ
 xCRBXzV53wNOZYcEdRSW2qPJ1qnZGbx4N4NybAGmjeREPpgP9sJxE4sHcdnTR8hR
 AymoNJa/5GPK0qnRik1MkOLRNrGnOi89zn36LTJnmZ+mDrqp6yBpYrGw+I6yJ2Kc
 rspkgDitjklQQHu0DdXojtxXNKaU9aAhKdlc7ILD/LMaAjAgiDMRegohZ3mFbpOH
 KeUpuC1C8YclNwvGSV1ZizQzFESP3MGLx9j/THFnr5k6Ef5N70L8Yo+jvhMw6mxY
 YBmi5dcY+xqds5SOGbbkLfnbqEJzJwV5gYKgQ2qIGxkSpP3PHxAtao+LSUT5U2it
 N4FJi4Aqv2V04A3NCxd2zYxqPukxaIR93wpWV7YgfpAfhMPbz88LIZBnj9c3Fe9X
 EtPikpDhXu4aJV/BSiqOPYKrvWmcpXPI/1pNBt1unA9DG/heBLrwp6igwWgzXInh
 +ZwKaZ/5AJlyVphgsO0r
 =8O1H
 -----END PGP SIGNATURE-----

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

Merge "omap2plus_defconfig fix for v4.8 merge window" from Tony Lindgren:

A defconfig update for omap2plus_defconfig to fix changed USB
Kconfig dependencies for v4.8 merge window. Otherwise things
like USB Ethernet on omap3 beagle, omap4 panda and omap5-uevm
won't work without manual configuration.

* tag 'omap-for-v4.8/defconfig-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: omap2plus_defconfig: Fix USB selection to keep Ethernet working
2016-07-14 15:16:02 +02:00
Arnd Bergmann fa3533e778 Highlights:
-----------
 - Enable DRM_STI for STMicroelectronics DRM Support
 - VIDEO_STI_BDISP for STMicroelectronics BDISP 2D
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXg1IJAAoJEMrHeC97M/+malAP/3ZyyPhsiYQLa7nVWiVG2qpD
 UjMYiPXtD9/IONb/5Og/RV5oehneE8qQ2vcWxO1i+CGoTxEI8kg1xmuoCVimeCmY
 Z91MuevCdxWUSmm4xrF1Ii0dBILOWC+eKnZ3yecAdQeglecVOmDzpAa9ASQwU0M0
 0NHL3GqoYkNgD+8FnIHeXiF5PBkabN4gZcMeyP6D1ODcyFb0SLmPiXDPLlLa3xpC
 JUNRdkfebeIjxrbgI/XGEpffy5evnYpVaViP+LCmuwi9I/oQzfUF1POmg4IyKYF2
 mta8IKpve0ZuJYV8kAgKztMuAHQ3W5tQkuzcRauWmxw7CFSRr7ZrHajuN8M0Z9IJ
 1zk1P57IVVPt+W6Dc3aunMQ5d2xCWFzPmsvMCODLO4RM1kCsn/NIBH9yZ6CZAMZ5
 NOFBPVVCDm9kCi4DAwVsKsWcMkfN9SKrVwj7VnZBxsP3juUZFhIjig/4PpzMBHa1
 RxDjZ78MJWG8uS6gbl+UutvA4a9PxBGDTigHFPvg2zyMFeTjoEPje0DYkjG9BREK
 KTU/S1xfyBOrgXjAo039PDUUGdZme2qQ/0DY5j9WSX2Jye3DaxpS53/lB43DSLe4
 5t5Zv/9s7OYy+xbly5KTj+TUmyL7j8NRtFb7A7wNn7eASqYL4z83rEPwsXJamCv8
 qKOY3u4HgHw6guifiwfd
 =F1FV
 -----END PGP SIGNATURE-----

Merge tag 'sti-defconfig-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into next/defconfig

Merge "STi defconfig updates for v4.8" from Patrice Chotard:

- Enable DRM_STI for STMicroelectronics DRM Support
- VIDEO_STI_BDISP for STMicroelectronics BDISP 2D

* tag 'sti-defconfig-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  ARM: multi_v7_defconfig: enable STMicroelectronics DRM Support
  ARM: multi_v7_defconfig: enable STMicroelectronics BDISP 2D blitter driver
2016-07-14 15:11:40 +02:00
Arnd Bergmann a98405432e Highlights:
-----------
 - Add a dummy L2 cache's write_sec callback as in non secure mode execution,
    we can't get access to L2 cache secure registers
 - Cosmetics change, in case of dump_stack, update the hardware name with a
    more generic for the STi SoCs family
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXg0vhAAoJEMrHeC97M/+mGfAP+wdA0bcdHJ4RmnqKxc4f6qrB
 QPnYFSgN2VWX/PkIPRI6zuWfRfkCrjjXTrJHD7GabeZmjFBeREJ5Y4g13kO7fEcH
 UUnok7zeB39dEAppRVibObJSbFyVPwo1vUOKRzYQTBCavcMMyP38aCRldi9tqmvp
 VEh0i7hgBEtL11nMPVcn0sge7l5EfXe54xZFAgbcDwJ4VtWXT8FbAnkPNrUs5Nmg
 KtOkCWa4pdqWA7ns1IwBwMiAJ84XAVPVwBNFwcF573tqa93XHhLzjDM/w875Gc8E
 IpkxnasI/yHWExbbPH43I0Namgm74I9mP1s/o85L/ZVENGb+0YdHXI3jrlGTMhpC
 dKFijHKBOKEhleQ12rtLNHulUT1mqAvdS5AABNtSTjEHHlKkQt5ehE/r/9O84tro
 abZVJSbiP850cpMO9nrG8Zs3XME/f5kB4b7HcfYtEwcS4Ecch8nd7ENe92WzbeOQ
 3I7Kk0PMm2eMkupfVTiZ2ltlc4kxWElWW5SDWZcP4bS87xi5uGGeUeOgnoLAeDOL
 HCWmy5WeoZfE+cdwUk59VT2BRmYaD2sRpnClX/gbFlGN815pw6dmGJEqJpQUktg0
 O5dVZpM1nHr8zufONL7sY6EofXQZ5b1gDeTzEcr4nuCbkf7ec6l5cAE7whkH3LnZ
 WSDuaDSIn4FCLtSbtxxz
 =T9v2
 -----END PGP SIGNATURE-----

Merge tag 'sti-soc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into next/soc

Merge "STi SoC changes for v4.8" from Patrice Chotard:

- Add a dummy L2 cache's write_sec callback as in non secure mode execution,
   we can't get access to L2 cache secure registers
- Cosmetics change, in case of dump_stack, update the hardware name with a
   more generic for the STi SoCs family

* tag 'sti-soc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  ARM: sti: Implement dummy L2 cache's write_sec
  ARM: STi: Update machine _namestr to be more generic.
2016-07-14 15:08:15 +02:00
Arnd Bergmann 979f97ddad ARM: s3c64xx: avoid warning about 'struct device_node'
The change to simplify of_platform_populate() had an unintended
side-effect of introducing a build warning on s3c64xx:

In file included from arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c:18:0:
arch/arm/mach-s3c64xx/common.h:27:30: error: 'struct device_node' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]

This adds a forward-declaration for the structure name in the
header to avoid the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 850bea2335 ("arm: Remove unnecessary of_platform_populate with default match table")
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-07-14 14:46:43 +02:00
Sekhar Nori 933b11aeed ARM: davinci: fix build break because of undeclared dm365_evm_snd_data
commit 6bce5efd44 ("ARM: davinci: remove unused davinci-i2s pdata")
removed all instances of davinci-i2s pdata. However, on DM365 EVM,
the same platform data is passed to the voicecodec present on that
device.

This causes build breakage when voicecodec support is enabled:

arch/arm/mach-davinci/board-dm365-evm.c:764:17: error: 'dm365_evm_snd_data' undeclared (first use in this function)

voicecodec driver does not use the platform data as well, and
it is safe to remove it.

Fixes: 6bce5efd44 ("ARM: davinci: remove unused davinci-i2s pdata")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-07-14 14:44:43 +02:00
Sebastian Andrzej Siewior 7fbbaebf8c ARM/mvebu: Convert to hotplug state machine
Install the callbacks via the state machine.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160713153333.503198935@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-14 09:34:30 +02:00
Arnaldo Carvalho de Melo f2d3adf46d kvm arm/arm64: Remove trailing whitespace from headers
Noticed while making a copy of these files to tools/ where those kernel
files were being directly accessed, which we're not allowing anymore to
avoid that changes in the kernel side break tooling.

Cc: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Eric Auger <eric.auger@linaro.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-82thftcdhj2j5wt6ir4vuyhk@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-07-12 15:20:36 -03:00
Lee Jones f221d8100e ARM: sti: stih410-clocks: Identify critical clocks
Lots of platforms contain clocks which if turned off would prove fatal.
The only way to recover is to restart the board(s).  This driver takes
references to clocks which are required to be always-on.  The Common
Clk Framework will then take references to them.  This way they will
not be turned off during the clk_disabled_unused() procedure.

In this patch we are identifying clocks, which if gated would render
the STiH410 development board unserviceable.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-07-12 13:22:51 +02:00
Arnd Bergmann a16729ea82 ARM: ux500: consolidate base platform files
The cpu.c and cache-l2x0.c files hold only two or three simple
functions each, and they are all called from the machine
descriptors, so we can just move them all into the same file
for simplicity and consistency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:09 +02:00
Arnd Bergmann 18a9927878 ARM: ux500: move soc_id driver to drivers/soc
As the ux500 id code is basically a standalone driver, we can move it
out of the arch code into drivers/soc/ux500.

This is a user-visible change, as it moves all the devices in sysfs
from /sys/devices/soc0/ to /sys/devices/ and leaves the soc0 node as a
separate device.

Originally the idea was to put all on-chip devices under the soc node,
and ux500 was the first platform to have this device, but later platforms
almost all didn't follow that pattern, so this makes the platform do
the same thing as everyone else.

Since the platform is really obsolete now, I am optimistic that nothing
will break after moving the devices around.

As the SoC driver no longer has access to the private header files,
I'm changing the code to instead look up the address of the backupram
from devicetree, which is a good idea anyway.

Finally, having a separate Kconfig symbol means the driver is now
optional and could even be a loadable module rather than always being
built-in if we allowed that for soc_device.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[Fixup mising Makefile, fixup BB_UID_BASE to fc0]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:09 +02:00
Arnd Bergmann f15601d62b ARM: ux500: call ux500_setup_id later
ux500_setup_id is currently called from u8500_map_io(), which is
really early, but nothing relies on the ID any more, other than
a printk message that is not really all that important to
have early during boot.

If we move the call to ux500_setup_id() into ux500_soc_device_init(),
that file becomes usuable almost entirely standalone, and we can kill
off the u8500_map_io() callback as it just does the default
debug_ll_io_init() now.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:08 +02:00
Arnd Bergmann cd1dc431d0 ARM: ux500: consolidate soc_device code in id.c
Nothing else uses the global dbx500_asic_id structure, so
we can merge the two small files that reference it into one.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:08 +02:00
Arnd Bergmann 4cf124f9a9 ARM: ux500: remove cpu_is_u* helpers
These functions are all unused now and can be removed.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:07 +02:00
Arnd Bergmann 269f1aac14 ARM: ux500: use CLK_OF_DECLARE()
The ux500 DT support predates the CLK_OF_DECLARE macro and calls
directly into the clk driver from platform code.

Converting this to CLK_OF_DECLARE makes the code much nicer and
similar to how modern platforms do it today. It also removes the
last user of cpu_is_u8500_family() etc.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:07 +02:00
Arnd Bergmann 1e6cbc0691 ARM: ux500: move l2x0 init to .init_irq
The generic IRQ init function also enables the l2 cache
implicitly when the machine descriptor sets an .l2c_aux_mask.

Let's use that on ux500 and remove the ux500_l2x0_init()
along with the cpu_is_u8500_family checks.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:24:06 +02:00
Arnd Bergmann 4e657946cb mfd: db8500 stop passing around platform data
Except for the constant DB8500_PRCMU_FW_VERSION_OFFSET number, nothing
is ever passed through the platform data and used in a driver, so we
can simply stop passing it around.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:23:58 +02:00
Arnd Bergmann 79886be097 ARM: ux500: move ab8500_regulator_plat_data into driver
There is only one instance of ab8500_regulator_platform_data, and it's
safe to assume we won't ever merge another one, so it's rather pointless
to pass it through multiple levels of platform data pointers.

This moves the structure and everything referenced by it into the
driver that uses it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:23:50 +02:00
Arnd Bergmann 37dc78d9b1 ARM: ux500: remove unused regulator data
Most of the board-mop500-regulators.c file is never referenced and
can simply be removed.

Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-07-12 11:23:42 +02:00
Michael Turquette 3c67d1162a Merge branch 'clk-sunxi-ng' into clk-next 2016-07-11 14:39:47 -07:00
Maxime Ripard f38f519923 ARM: dt: sun8i: switch the H3 to the new CCU driver
Now that we have a different clock representation, switch to it.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Link: lkml.kernel.org/r/20160629190535.11855-15-maxime.ripard@free-electrons.com
2016-07-11 14:38:01 -07:00
Russell King d261861ab5 ARM: dts: armada-388-clearfog: remove duplicate mdio entry
The clearfog DTS should not be defining the on-board phy, this device
is located on the microsom.  Remove the duplicated definition.

Reported-by: Jon Nettleton <jon@solid-run.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-07-11 18:05:48 +02:00
Thierry Reding 3981b11fda ARM: s3c64xx: smartq: Avoid sparse warnings
The smartq_map_io() and smartq_machine_init() functions are used by both
SmartQ 5 and SmartQ 7 machines and exported via the mach-smartq.h header
file. However that header file is not included by the mach-smartq.c file
that implements them, causing sparse warnings.

Include mach-smartq.h from mach-smartq.c to fix these warnings.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-07-11 17:44:11 +02:00
Marcel Ziswiler 85afd20e4b ARM: tegra: Initial support for Apalis TK1
This patch adds the device tree to support Toradex Apalis TK1 a
computer on module which can be used on different carrier boards.

The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality which is not yet
supported. Anything that is not self contained on the module is disabled
by default.

The device tree for the Evaluation Board includes the module's device
tree and enables the supported peripherals of the carrier board (the
Evaluation Board supports almost all of them).

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-07-11 16:48:10 +02:00
Marcel Ziswiler b5896f67ab ARM: tegra: Remove commas from unit addresses on Tegra124
Remove commas from unit addresses as suggested by Rob Herring upon me
posting initial Apalis TK1 support:

	http://article.gmane.org/gmane.linux.ports.tegra/26608

Please keep the remaining 0, notation on the GPU node in place as a
former mainline U-Boot version was looking for that particular notation
in order to perform required fix-ups on it.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-07-11 16:48:09 +02:00
Stephen Warren aee7a747af ARM: tegra: Import latest Jetson TK1 spreadsheet
This imports v11 of "Jetson TK1 Development Platform Pin Mux" from
https://developer.nvidia.com/embedded/downloads.

The new version defines the mux option for the MIPI pad ctrl selection.
The OWR pin no longer has an entry in the configuration table because
the only mux option it support is OWR, that feature isn't supported, and
hence can't conflict with any other pin. This pin can only usefully be
used as a GPIO.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-07-11 16:48:09 +02:00
Arnd Bergmann da35cbcafa ARM: tegra: Remove board_init_funcs array
In a configuration that enables CONFIG_UBSAN_SANITIZE_ALL, I am getting
a section mismatch warning for tegra20:

WARNING: arch/arm/mach-tegra/built-in.o(.data+0x6e0): Section mismatch in reference from the variable board_init_funcs to the function .init.text:paz00_init()

The array is no longer useful here since there is only one entry,
so we can simply call the function directly after checking
of_machine_is_compatible(). This fixes the section mismatch
and is easier to read.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-07-11 16:47:53 +02:00
Thierry Reding 4ec2e60186 ARM: tegra: Add spaces around = in properties
This seems to have been copied and pasted since the beginning of time,
though only until Tegra124, likely because that DT was written from
scratch or it was fixed along the way.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-07-11 16:46:26 +02:00
Thierry Reding ca3226d389 ARM: tegra: Fix a couple of DTC warnings
Add unit-addresses to nodes that have a reg property to avoid warnings
on newer versions of DTC.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-07-11 16:46:26 +02:00
Patrice Chotard afd9dc4562 ARM: multi_v7_defconfig: enable STMicroelectronics DRM Support
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2016-07-11 09:42:59 +02:00
Patrice Chotard 24f9172011 ARM: multi_v7_defconfig: enable STMicroelectronics BDISP 2D blitter driver
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2016-07-11 09:42:59 +02:00
Tony Lindgren 0992b2f16b ARM: omap2plus_defconfig: Fix USB selection to keep Ethernet working
With the recent Kconfig changes we need to now enable
the PHYs to keep USB working.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-07-11 00:24:27 -07:00
Patrice Chotard 7b8e0188fa ARM: sti: Implement dummy L2 cache's write_sec
This patch implements the write_sec callback that handle PL310
secure registers writes.
This callback is just a stub for now, to avoid system crash.
Later, it could handle SMC calls so that TZ handles the needed writes.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2016-07-11 09:15:44 +02:00
Peter Griffin 50fdda702f ARM: STi: Update machine _namestr to be more generic.
This string is used by dump_stack and as we now support
more SoC's than just STiH415/6 it is misleading to have
the current string in the stack trace.

This patch updates it to be more generic for the STi
family of SoCs.

So instead of looking like this

[  271.672555] Hardware name: STiH415/416 SoC with Flattened Device Tree
[  271.678998] [<c0310490>] (unwind_backtrace) from [<c030bb54>] (show_stack+0x10/0x14)
[  271.686746] [<c030bb54>] (show_stack) from [<c058bc4c>] (dump_stack+0x98/0xac)
[snip]

it now looks like this:

[    2.669879] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.6.0-rc3-00026-g38a1ce6-dirty #76
[    2.677973] Hardware name: STi SoC with Flattened Device Tree
[    2.683723] [<c0310490>] (unwind_backtrace) from [<c030bb54>] (show_stack+0x10/0x14)
[    2.691472] [<c030bb54>] (show_stack) from [<c058bc0c>] (dump_stack+0x98/0xac)
[snip]

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
2016-07-11 09:15:29 +02:00
Chen-Yu Tsai 1384a147b1 ARM: dts: sun7i: bananapi-m1-plus: red LED is power LED
The red led on the Bananapi M1+ is wired to light up as soon as the
board is powered, and continues to be lit while the GPIO is floating.

Rename the LED to "pwr", remove the default trigger, and mark it as
default on.

Also fix the pinmux node that was specifying a different pin for this
LED.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-11 08:26:17 +02:00
Chen-Yu Tsai 28b725e0a4 ARM: dts: sun7i: bananapi-m1-plus: Unify suffix for board specific labels
The dts file uses "bananapi" for some labels and "bananapim1plus" for
other. Use the shortened "bpi_m1p" suffix for all board specific labels.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-11 08:26:17 +02:00
Chen-Yu Tsai 8b0b593af7 ARM: dts: sun7i: bananapi-m1-plus: Reindent whole file using tabs
The bananapi-m1-plus dts file was indented using 4 spaces, without
tabs. This does not match the code style.

Reindent the whole file before we do anything else.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-11 08:26:17 +02:00
Chen-Yu Tsai 6be9aa1341 ARM: dts: sun7i: lamobo-r1: Enable audio codec
Lamobo R1 has a headphone jack for audio output, and an onboard
microphone. These are tied to the SoC's internal audio codec.

Enable the audio codec.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-11 08:26:17 +02:00