Commit Graph

49793 Commits

Author SHA1 Message Date
Lucas Stach
4901f343f7 ARM: dts: imx6qp: correct IPU nodes
Reference them by handle and remove the changed clocks that are copied
from the downstream DT and are not part of the mainline binding.

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

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

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

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

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

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

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

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

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

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

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

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

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

   - fix boot failure on nommu caused by ID_PFR1 access

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mvebu fixes for 4.11 (part 1)

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

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

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

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

Allwinner fixes for 4.11, bis

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From: Christoffer Dall <cdall@linaro.org>

KVM/ARM Fixes for v4.11-rc6

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

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

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

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

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

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

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

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

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

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

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

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

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

From

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

to

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

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

From

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

to

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tested on AM572x IDK using cansequence.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Merge tag 'v4.11-rc5' into patchwork

Linux 4.11-rc5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Caused by:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The offsets are automatically generated to avoid hardcoding them.

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

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

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

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

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

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

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

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

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

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

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

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

- Add hecc node for am35x

- Add onenand support for omap3-igep

- Add bluetooth binding for n900/n9/n950

- Configure clocks and SATA for dm81xx

- Update operating points tables for am33xx, am43xx and dra7

- Update SPI flash documentation for w25q64

- Configure SPI NOR for am335x-icev2

- Mux uart0 for am437x-gp-evm

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

- Configure LEDs for am335x-baltos

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

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

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

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

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

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

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

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

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

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

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

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

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

- Rafal:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Also, enables sound and ADC support on
Lego EV3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tested with my Odroid U3.

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

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

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

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

ASoC: Fixes for v4.11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pull "Gemini multiplatform updates" from Linus Walleij:

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

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

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

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

- Drop PM_SUSPEND_STANDBY

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

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

- Configure clockdomain and hwmod for dm81xx SATA

- Mark omap_init_rng as __init

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

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

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

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

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

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

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

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

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

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

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

- Fix OX820 Kconfig

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

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

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

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

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

* testing efforts are divided between two subsystems

* having duplicate drivers for same hardware confuses users

This patch converts davinci_all_defconfig to use libata PATA
drivers.

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

New output example:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tested on DM8168 EVM.

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

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

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

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

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

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

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

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

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

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

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

With this patch, adsp-pil can initialize correctly.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Save configured AUX_CORE_BOOT_1 for later

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

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

Fixes: 3251885285 ("ARM: OMAP4+: Reset CPU1 properly for kexec")
Reported-by: Andrew F. Davis <afd@ti.com>
Cc: Andrew F. Davis <afd@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Tested-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-27 10:10:42 -07:00
Reizer, Eyal
9bcf53f34a ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
mmc2 used for wl12xx was missing the keep-power-in suspend
parameter. As a result the board couldn't reach suspend state.

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

Add support for it in peripheral mode.

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

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

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

Add support for this port.

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

Add device nodes for these controllers.

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

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

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

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

Drop its inclusion for H3 DTSI.

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

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

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

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

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

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

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

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

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

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

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

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

This enables the ACIN power supply subnode in the DT.

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

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

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

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

This adds the AC power supply subnode for AXP20X PMIC.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:39:59 +02:00
Chen-Yu Tsai
85d2913614 ARM: dts: sunxi: Remove no longer used pinctrl/sun4i-a10.h header
All dts files for the sunxi platform have been switched to the generic
pinconf bindings. As a result, the sunxi specific pinctrl macros are
no longer used.

Remove the #include entry with the following command:

    sed --follow-symlinks -i -e '/pinctrl\/sun4i-a10.h/D' \
	arch/arm/boot/dts/sun?i*.*

arch/arm/boot/dts/sun9i-a80.dtsi was then edited to remove the extra
empty line.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:39:58 +02:00
Chen-Yu Tsai
5136914fe0 ARM: dts: sun8i-a23-q8-tablet: Drop pinmux setting for codec PA gpio
The old sunxi specific pinctrl bindings are deprecated, in favor of
the new generic pinconf bindings. Also, we are moving towards handling
GPIO pinmux settings that don't require extra bias or drive strength
settings to use the GPIO bindings only.

This patch removes the last instance of the sunxi specific pinctrl
bindings that use the pinctrl header by dropping the pinmux setting
for the audio codec's PA (external amplifier) control GPIO. The pin
is pulled down externally.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-03-27 13:39:57 +02:00
Greg Kroah-Hartman
57c0eabbd5 Merge 4.11-rc4 into char-misc-next
We want the char-misc fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-27 09:13:04 +02:00
Linus Torvalds
2056b7c7df ARM: SoC fixes for v4.11
- A couple of OMAP 4.11 regression fixes, including a boot regression for
   SmartReflex, hypervisor mode in thumb2 mode, and reference counting of
   device nodes
 
 - A fix for cpu_idle on at91
 
 - Minor DT fixes on across several platforms:
   sunxi, bcm53xx, at91, nsp, ns2, ux500, omap
 
 - A fix to correct an API change in the reset controllers
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIVAwUAWNWBrGCrR//JCVInAQJE/xAArSDx+6i7On53k3QfxkR1mONHrEOlXhlP
 VbTeBfkYtYB08Pgq99QVJE5qYK2N5w2664UNbgs+KKYnYJTNl0G6EW1l7oj+21M+
 xg3e6ctdfeztYeU34q7D2TxzP/EBRHdbpEuT+JHuQOWFYNfGAj2vSt2cdPUael/Q
 D4s4BgeM1dIOzN3z3AvuQpqIhLedVRFAGYAaalKXiwREYUVDgnqhHCPWChVnSQMR
 gnNDYcb5ZxCaELH9gkdVqyfdlScw9juKMg5v7e7KizhBUqOGBT0bguLC9Kfh3mDO
 tIJGwkuqWvc5tAKuAcGklIVOzP8Wtcq0ObrFzLczy6Waf+6aaQl5J8Uw85UR/zg4
 44AHzk++apXTCDlrRzQZIkvaN9TmOBr65qrW1rnqVN72FRS3arDuMV1rEFRdZy2x
 riXmJmENWo+sakst4fTS0QY+/GlPDB8Md4X++Vkl3DgWFgiiBTcPbJCEazsFVip+
 QQzWfXTSB98bCVUuYr5eZgMlPYHrd1ZQIbgzlzIkdUuZ4XCe4MGw88km6TqviBwf
 dduNKnFctkrLAgM3V8rXZBQsZqJHRDmpOfSZ+9XtGYggy83g5FLbkp9h6Ws66SbI
 KCgLzV0THCs/gKLMeDqFerO1xQzxN84pd+YKetnD1RU+5bo98DMUkqgFn+cZyCFA
 dlImlZcN7Pc=
 =zKIg
 -----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 Arnd Bergmann:

 - a couple of OMAP 4.11 regression fixes, including a boot regression
   for SmartReflex, hypervisor mode in thumb2 mode, and reference
   counting of device nodes

 - a fix for cpu_idle on at91

 - minor DT fixes on across several platforms: sunxi, bcm53xx, at91,
   nsp, ns2, ux500, omap

 - a fix to correct an API change in the reset controllers

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits)
  arm64: dts: NS2: Add dma-coherent to relevant DT entries
  reset: fix optional reset_control_get stubs to return NULL
  ARM: sun8i: a23/a33: drop bl_en_pin GPIO pinmux in reference design DTSI
  ARM: dts: sun7i: lamobo-r1: Fix CPU port RGMII settings
  ARM: dts: NSP: GPIO reboot open-source
  ARM: at91: pm: cpu_idle: switch DDR to power-down mode
  ARM: dts: add the AB8500 clocks to the device tree
  ARM: dts: imx6sx-udoo-neo: Fix reboot hang
  ARM: sun8i: Fix the mali clock rate
  ARM: dts: BCM5301X: Correct GIC_PPI interrupt flags
  ARM: dts: BCM5301X: Fix memory start address
  ARM: dts: BCM5301X: Fix UARTs on bcm953012k
  Revert "ARM: at91/dt: sama5d2: Use new compatible for ohci node"
  ARM: OMAP2+: Release device node after it is no longer needed.
  ARM: OMAP2+: Fix device node reference counts
  ARM: OMAP2+: Remove legacy gpmc-nand.c
  ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
  ARM: dts: am335x-pcm953: Fix legacy wakeup source binding
  ARM: omap2plus_defconfig: Enable INPUT_MOUSEDEV as loadable modules
  ARM: dts: am57xx-idk: tpic2810 is on I2C bus, not SPI
  ...
2017-03-24 14:32:21 -07:00
Arnd Bergmann
16c86ef7fc ARM: gemini: don't select SERIAL_OF_PLATFORM
We cannot select the option when SERIAL_8250 is not also set:

warning: (ARCH_GEMINI) selects SERIAL_OF_PLATFORM which has unmet direct dependencies (TTY && HAS_IOMEM && SERIAL_8250 && OF)

This removes the 'select' statement, requiring that users enable the
option manually. Alternatively, we could make it a conditional
'select SERIAL_OF_PLATFORM if SERIAL_8250' or also select a handful
of other symbols that it depends on.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-24 22:12:42 +01:00
Rob Herring
0ef5819589 ARM: dts: alpine: fix PCIe node name
PCIe bridges should have a node name of 'pcie'.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Tsahee Zidenberg <tsahee@annapurnalabs.com>
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
2017-03-24 19:22:45 +01:00
Linus Walleij
e3aeca1d74 ARM: dts: add PCI to the Gemini device trees
The Cortina Gemini has an internal PCI root bus, add this to
the device tree, and add interrupt mapping (swizzling) to the
relevant systems device trees.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Feng-Hsin Chiang <john453@faraday-tech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-24 19:08:03 +01:00
Florian Fainelli
414ce21ae2 This pull request brings in the DT nodes for enabling HDMI audio on
Raspberry Pi, and nodes to describe the DSI and SDHOST hardware
 modules (which are still disabled by default).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE/JuuFDWp9/ZkuCBXtdYpNtH8nugFAljRfb8ACgkQtdYpNtH8
 nugDzhAApB5GSQOTsWUWijmrHVHjEjHxWKRCitLIipN18EPRRJCGzulH/ZSs0DQN
 jOxJadeuZPU7/My26gk40BVmMgE0v/9i+jKUQx6nMgpLzWPy/9XNAscH/vmqblNe
 4GBmFCUbhOB++GWOxqnNw8AzvKXKSMKrAzS0Io/NxgeKkGWJHOk+vnx8p6QDXpI9
 B8AoSUVfSRmQV/gwMMP44FPV3FrTmj9D+IY2zR62XMzaDkn3krdMqhZVn+LetiUx
 A5MiRUIqiU1lKeydTe1GdtXtKyHhhknUSUe/poICRaumr0BLCYlPA54gWzwrEMd9
 Cp3QCCaQ+dYQXtxVWgwtXQim8nRT6iVY4NjbXM3f9KoiVXQ6v9HgIcwyWU9wbqoL
 pbQLltc4vuhJCXEnZmqumfA/TrB35UTaQ11fIYQK4YDVhNete3fNhbK2QwqRV5Om
 /dlc/xVYZE9D8JSfuPZ4OjFrcz602QpX8MzIw3jjYirs+d6gVN5dmAjWI5GdzSeH
 hM7Oh4IZdCxEIDTFSzu/qlvikAOt4CizeFA7JXobCJdR5+hNkpWbVFYncMJCxl6c
 kHbpeXK/nRatGHcz0//0F2/1JSIo7fTQa7xxUjQHul4c/eTvCyIFd/mDQmVeGfBR
 a7fYgDvuYC+OHoetqgkP63kKrRAotohMbFur8hJit6cBmCGgvCo=
 =bTSQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY1VOJAAoJEIfQlpxEBwcE7KoP/3B9blNn/T0vJwVkw0KxkKHL
 nvgRLiu9Rnb103aZlPA89cXxa21E9bjb6fQIt+Oxvh4gg/+L1fKqId3Xah8x8gNw
 FRuYZxbAKw0EmOgBT1cshLp3gKQhA2s2nTvt7BQzNvKFe2aBqTcZF98Y/8NTco25
 7SmDvZCAzsAYUDPtxnAbHU+VrwhS3o8nVIDlWxlkULAU9chkBs6hCIpOR/0+dxgL
 XXZUtrBphF4E9A4lW70QpFjN7cdOuRBFGS1MG2VcIw67s7CDXP47RWh8V9RVWRmk
 gN5uUuxGfMN5YHhULNUF8sK0dhd4LXKDbRDyTzBlkKbHsYWiHk9wKVAzYajIi+w9
 F8z6o7sOugmPuGxUI+lH1pNo5QTvVMb6rHI7+T+XoM3ElnB+SJUaboJhwZLk2zj1
 7P21Gl47XJT0qhtoBv1HLxT/+zOp3jQJeWEpqEejYUW9ebFgYicy2xLZVnMGlyXQ
 +Mqc2wX5VmtrnvWZjH820ncBoOs6MBgu+hKDiPpiuQxgsaDb8UyQG9qVwAbWKVz0
 5Pqx/Yp9lhF2575Ucmz0IB54daQa35kvivnmpMYrcnMNM2rRlQ7Cau0ENOj7Zk3z
 9OE4y/TMFaa8AfBOfdv634QFwR8kMkSCdxoYzAu5P7yuRBbD3946Q0wvgU8YMmaG
 TpS93aglnjv5pzCdfq+a
 =cLA3
 -----END PGP SIGNATURE-----

Merge tag 'bcm2835-dt-next-2017-03-21' into devicetree/next

This pull request brings in the DT nodes for enabling HDMI audio on
Raspberry Pi, and nodes to describe the DSI and SDHOST hardware
modules (which are still disabled by default).

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-03-24 10:12:31 -07:00
Arnd Bergmann
bf3f53089c This pull request contains Broadcom ARM-based SoCs Device Tree fixes for 4.11,
please pull the following:
 
 - Jon fixes a reboot issue on most Northstar Plus platforms by adding the
   "open-source" property to the "gpio-restart" Device Tree nodes
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY0rfzAAoJEIfQlpxEBwcEzCAQALNT1HOloxI7D+Ki1w5/ANum
 IsZIfzffFV/gJW1tZDhbLnNcPU+H8W9hGi3veAOihlbJSMHkEV5ECYzx9CImwLyg
 0le6H68w4eZwJQ4ZCyyu3qXPjhic6v3Dtzw2nqvWytRAbcyGh8k8z6riVRucCXJU
 wvzjARTga1u2UffvVsQEw6o7MQE0B+1KcqGh+g069IQVQzTjTxPGOvQF2hfqabUt
 45x2w5wlUKGX+SodqweDzFQu1tKErjkt8EH5zvqjeMRGFxHaDFXw4FuRWrkzp9ic
 gE+3d/IuHxYivNsPg90y029e+ihTTxPfT1cLRJkN7kbzBKYngH+/T1HLb7EFJbcO
 /haqnevKaWp3MCwkpH4LDQ3akKIaZvbo16qdxCNvQ80biTwHqOo5e+roMyk9Y9Ka
 vYw22yW0LfeRHPnkQBIBOwS9b31r2D9FePKRrkNFZXy0247w0TW4lSUovvnIdwTq
 awBBBkTS56ovnjmU08/72DVj4JE2/3mwqkYHUfEXls4RA8oYF4maHSEZI/FF16/2
 YiMVE9fBaRjLKXthxuVaMsGUz94QR2W9gaOq8UV5E/ZM9YCckR+J28mhHehV+S2U
 jsDv3iXgLpnYOnBqdoXLbcHr9QFx0OtItgACs3AlYP0SMmUryXrPdzVUY9cQBjJR
 drXgohtIcxX1j0CHxDWf
 =CKev
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.11/devicetree-fixes-2' of http://github.com/Broadcom/stblinux into fixes

Pull "Broadcom arm Device Tree fixes for 4.11 (part 2)" from Florian Fainelli:

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

- Jon fixes a reboot issue on most Northstar Plus platforms by adding the
  "open-source" property to the "gpio-restart" Device Tree nodes

* tag 'arm-soc/for-4.11/devicetree-fixes-2' of http://github.com/Broadcom/stblinux:
  ARM: dts: NSP: GPIO reboot open-source
2017-03-24 17:49:40 +01:00
Keerthy
80ba72efdf ARM: dts: OMAP4460: Thermal: Add slope and offset values
Currently the slope and offset values for calculating the
hot spot temperature of a particular thermal zone is part
of driver data. Pass them here instead and obtain the values
while of node parsing.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-24 07:27:08 -07:00
Keerthy
5379c2dba0 ARM: dts: OMAP443x: Thermal: Add slope and offset values
Currently the slope and offset values for calculating the
hot spot temperature of a particular thermal zone is part
of driver data. Pass them here instead and obtain the values
while of node parsing.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-24 07:26:58 -07:00
Keerthy
257b1b7cbf ARM: dts: OMAP5: Thermal: Add slope and offset values
Currently the slope and offset values for calculating the
hot spot temperature of a particular thermal zone is part
of driver data. Pass them here instead and obtain the values
while of node parsing.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-24 07:26:50 -07:00
Keerthy
fb51ae0a11 ARM: dts: DRA7: Thermal: Add slope and offset values
Currently the slope and offset values for calculating the
hot spot temperature of a particular thermal zone is part
of driver data. Pass them here instead and obtain the values
while of node parsing.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-24 07:26:38 -07:00
Keerthy
a761d517bb ARM: dts: omap3: Add cpu_thermal zone
Add cpu_thermal zone.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-24 07:24:44 -07:00
Herbert Xu
2e6d603e51 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Merging 4.11-rc3 to pick up md5 removal from /dev/random.
2017-03-24 21:58:58 +08:00
Alexandre TORGUE
500cdb23d6 ARM: dts: stm32: Add STM32H743 MCU and STM32H743i-EVAL board
Add basic support for STM32H743 MCU and his eval board.
The STMicrolectornics's STM32H743 MCU is based on  Cortex-M7 core
running up to @400MHz with 2MB internal flash and 1MB internal RAM.

For more details see:
Documentation/arm/stm32/stm32h743-overview.txt

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 11:59:29 +01:00
Alexandre TORGUE
c6ed0f31ce ARM: stm32: Add a new SOC - STM32H743
The STM32H743 is a Cortex-M7 MCU running at 400MHz and containing 1MBytes
internal RAM.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 11:37:24 +01:00
Alexandre TORGUE
1e2f0169df ARM: stm32: Introduce MACH_STM32H743 flag
This patch introduces the MACH_STM32H743 to make possible to only select
STM32H743 pinctrl driver

By default, all the MACH_STM32Fxxx flags will be set with STM32 defconfig.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 09:35:28 +01:00
Alexandre TORGUE
bcb84fb4d6 ARM: stm32: create dedicated kconfig for STM32 machine
Create a dedicated Kconfig file in mach-stm32/ and move existing stm32
configs inside.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 09:35:12 +01:00
Chris Brandt
3932197c01 ARM: dts: r7s72100: add power-domains to sdhi
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Fixes: 6647469792 ("ARM: dts: r7s72100: add sdhi to device tree")
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-03-24 07:57:00 +01:00
Vignesh R
bb7d97862e ARM: dts: am437x-gp-evm: Add pinmux for uart0
Add pinmux for rx,tx,cts and rts lines of uart0. This will enable uart0
to use hardware flow control.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:55:35 -07:00
Franklin S Cooper Jr
14eb6855b2 ARM: dts: am335x-icev2: Add SPI based NOR
Enable support for W25Q64CVSSIG which is a Winbond 64 Mbit SPI NOR.

At boot you will see the following message:
m25p80 spi1.0: found s25fl064k, expected w25q64

This is because the JEDEC ID for this chip is the same as s25fl064k.
However, this should be harmless since both chips are essentially the
same.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:55:35 -07:00
Dave Gerlach
a4e5e9f938 ARM: dts: dra7: Add updated operating-points-v2 table for cpu
After the ti-cpufreq driver has been added, we can now drop the
operating-points table present in dra7.dtsi for the cpu and add an
operating-points-v2 table with all OPPs available for all silicon
revisions. Also add necessary data for use by ti-cpufreq to selectively
enable the appropriate OPPs at runtime as part of the operating-points
table.

As we now need to define voltage ranges for each OPP, we define the
minimum and maximum voltage to match the ranges possible for AVS class0
voltage as defined by the DRA7/AM57 Data Manual, with the exception of
using a range for OPP_OD based on historical data to ensure that SoCs
from older lots still continue to boot, even though more optimal voltages
are now the standard. Once an AVS Class0 driver is in place it will be
possible for these OPP voltages to be adjusted to any voltage within the
provided range.

Information from SPRS953, Revised December 2015.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
eviewed-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:45:12 -07:00
Dave Gerlach
ca167c8760 ARM: dts: am4372: Update operating-points-v2 table for cpu
The operatings-points-v2 table for am4372 was merged before any user of
it was present in the kernel and before the binding had been finalized.
The new ti-cpufreq driver and binding expects the platform specific
properties to be part of the operating-points-v2 table rather than the
cpu node so let's move them there as the only user is the ti-cpufreq
driver.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
eviewed-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:45:05 -07:00
Dave Gerlach
bc4b1736f2 ARM: dts: am335x-boneblack: Enable 1GHz OPP for cpu
Although all PG2.0 silicon may not support 1GHz OPP for the MPU, older
Beaglebone Blacks may have PG2.0 silicon populated and these particular
parts are guaranteed to support the OPP, so enable it for PG2.0 on
am335x-boneblack only.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
eviewed-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:44:56 -07:00
Dave Gerlach
72ac40fcb1 ARM: dts: am33xx: Add updated operating-points-v2 table for cpu
After the ti-cpufreq driver has been added, we can now drop the
operating-points table present in am33xx.dtsi for the cpu and add an
operating-points-v2 table with all OPPs available for all silicon
revisions. Also add necessary data for use by ti-cpufreq to selectively
enable the appropriate OPPs at runtime as part of the operating-points
table.

Information from AM335x Data Manual, SPRS717i, Revised December 2015,
Table 5-7.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
eviewed-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:43:12 -07:00
Bartosz Golaszewski
9f6b5728ba ARM: dts: dm8168-evm: add SATA node
Add the SATA controller node to the dm8168-evm device tree.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:23:49 -07:00
Bartosz Golaszewski
69dfc190c4 ARM: dts: dm8168-evm: add the external reference clock for SATA
This board has an external oscillator supplying the reference clock
signal for SATA. Its rate is fixed at 100Mhz. Add a corresponding
device tree node.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:23:44 -07:00
Bartosz Golaszewski
10685a5d83 ARM: omap2plus_defconfig: enable ahci-dm816 module
This is now supported on the dm8168-evm board, so enable it in
the defconfig for omap2+.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:23:18 -07:00
Roger Quadros
8ff42da411 ARM: OMAP2+ hwmod: Allow modules to disable HW_AUTO
Introduce HWMOD_CLKDM_NOAUTO flag that allows the hwmod's
clockdomain to be prevented from HW_AUTO while the hwmod is active.

This is needed to workaround some modules which don't function
correctly with HW_AUTO. e.g. DCAN on DRA7.

Signed-off-by: Roger Quadros <rogerq@ti.com>
[nsekhar@ti.com: rebased to v4.9 kernel]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:19:59 -07:00
Sekhar Nori
390c06828d ARM: OMAP2+: omap_hwmod: provide space for more hwmod flags
'flags' member of omap_hwmod structure is fast running
out of space with 16 different flags already defined.

Make flags a 32-bit entity so as to allow for more flags.

This results is a ~2.3K data section size increase with
omap2plus_defconfig on v4.11-rc2.

before:
   text	   data	    bss	    dec	    hex	filename
8186930	3082444	8252992	19522366	129e33e	vmlinux

after:
   text	   data	    bss	    dec	    hex	filename
8186922	3084812	8252992	19524726	129ec76	vmlinux

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:19:26 -07:00
Rob Herring
7d79f6098d ARM: dts: ti: fix PCI bus dtc warnings
dtc recently added PCI bus checks. Fix these warnings.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: "Benoît Cousson" <bcousson@baylibre.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 11:43:32 -07:00
Yegor Yefremov
ce2899428e ARM: dts: am335x-baltos: disable EEE for Atheros 8035 PHY
Though cpsw doesn't support EEE feature, Atheros 8035 provides
automatic EEE support that is enabled by default. This causes
occasional link drops when link partner also announces EEE support.
These link drops occur on both 100Mbit/s and 1000Mbit/s speeds.
So disable EEE advertising completely.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 11:42:55 -07:00
Adam Ford
06e1a5cc57 ARM: dts: OMAP3: Fix MFG ID EEPROM
The manufacturing information is stored in the EEPROM.  This chip
is an AT24C64 not not (nor has it ever been) 24C02.  This patch will
correctly address the EEPROM to read the entire contents and not just
256 bytes (of 0xff).

Fixes: 5e3447a29a ("ARM: dts: LogicPD Torpedo: Add AT24 EEPROM Support")

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 11:41:51 -07:00