Commit Graph

44876 Commits

Author SHA1 Message Date
Roger Quadros
be3f39c835 ARM: dts: am437x: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
79c0826117 ARM: dts: dra7: Remove redundant nand property
wait pin monitoring is not used for nand so it is pointless to
have the gpmc,wait-monitoring-ns property.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
488f270d90 ARM: dts: dra7: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:12:45 -08:00
Arnd Bergmann
d9fa15a56a Warning fixes for DaVinci collected while testing
randconfig builds.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJWzCVjAAoJEGFBu2jqvgRNqk0P/ivmR6jiw5h9GuRJR6Ha72Iu
 OJ/kMquhYWjh4ksGqdZmsqwe/oxP+ybh7soYqtoeXS026om41XmwS8GleIf6Di7x
 BAGdDm9b9cP6aJpN7N2dMEXbD5CiZfbPV5Ncceih9rxvg2BfTK/bVQYAkMo6Sym0
 nsY2Fd66sXJIXL1Z8wPxkxRgiHXe4v0BXgMK8Juo79aI357iB2mFNQRtoSPBPBVt
 2GE3Eg3oqbJU6iofF98Gm9XFv9rs73Urcs8RgZ9BVm1jnEeYttyYHnLE+I7krem4
 JR5Pl4ti6dgbWHsdRYtqY4dU/sHZn278ufADSbepanZ2ZMYWsGoKDYnN6hP4Ob0R
 iKERUyjEFh+tZd3lwOdKoNv/jUWxB2CGPEqH9Elm3TksHZfphXm57tRBQ2hWpV/S
 Eq5ODO9xihZc9A46QHLs6XVU+Y5vUEGABN9ogmGMb0UmPoCSs3SuVCe0k54g7dUK
 vz6JdVsIi+y2vV8XyPczJ5vYqfKowU/84ECkG7CKzGxUnYbNCWJtYUVHj4POwjpT
 sEK63nat870+LmOQGTkfrcgKxHv0U0iPzfzZ5baId+JXKb7GrzkrtJgulVcDua75
 t+1cqsK3dphT553xi3X/jI6L4L5wKLwpIxgURiMHGt/+b568C1ik92cywHdl0Ph4
 XlmDWipNnXRVLWP8fFJo
 =x4Fa
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.6/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical

Warning fixes for DaVinci collected while testing
randconfig builds.

* tag 'davinci-for-v4.6/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: make I2C support optional
  ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT
  ARM: davinci: avoid unused mityomapl138_pn_info variable
  ARM: davinci: limit DT support to DA850
2016-02-26 17:47:49 +01:00
Arnd Bergmann
ef2b1d777d ARM: prima2: always enable reset controller
The atlas7 clock controller driver registers a reset controller
for itself, which causes a link error when the subsystem is
disabled:

drivers/built-in.o: In function `atlas7_clk_init':
drivers/clk/sirf/clk-atlas7.c:1681: undefined reference to `reset_controller_register'

As the clk driver does not have a Kconfig symbol for itself
but it always built-in when the platform is enabled, we have
to ensure that the reset controller subsystem is also built-in
in this case.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Fixes: 301c5d2940 ("clk: sirf: add CSR atlas7 clk and reset support")
2016-02-26 17:46:29 +01:00
Arnd Bergmann
5d37e80b80 ARM: socfpga: hide unused functions
The cpu_die and cpu_kill callbacks are only used when CONFIG_HOTPLUG_CPU
is enabled, otherwise we get a warning about them:

arch/arm/mach-socfpga/platsmp.c:102:13: error: 'socfpga_cpu_die' defined but not used [-Werror=unused-function]
arch/arm/mach-socfpga/platsmp.c:115:12: error: 'socfpga_cpu_kill' defined but not used [-Werror=unused-function]

This adds the appropriate #ifdef.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2016-02-26 17:44:54 +01:00
Linus Walleij
302cff1a16 ARM: ux500: fix ureachable iounmap()
The code was executing a return with a pointer before reaching
iounmap().

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 17:43:48 +01:00
Arnd Bergmann
6ad7313b53 ARM: ks8695: fix __initdata annotation
Clang complains about the __initdata section attribute being in the
wrong place in two files of ks8695:

arch/arm/mach-ks8695/cpu.c:37:31: error: '__section__' attribute only applies to functions and global variables
arch/arm/mach-ks8695/board-og.c:83:31: error: '__section__' attribute only applies to functions and global variables

This moves the attribute to the correct place.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Greg Ungerer <gerg@uclinux.org>
2016-02-26 17:30:48 +01:00
Stefan Agner
4736af6782 ARM: multi_v7_defconfig: enable useful configurations for Vybrid
Enable configuration options useful for Vybrid:
- NFC NAND driver
- USB dual-role controller (and Chipidea Gadget support)
- Built-in EDMA DMA driver (to be available at LPUART probe)
- Vybrid ADC driver
- IIO hwmon support (used in i.MX 23/28, patch pending for Vybrid)

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 17:18:57 +01:00
Chen Gang
4e0b6ca9da asm-generic: page.h: Remove useless get_user_page and free_user_page
They are not symmetric with each other, neither are used in real world
(can not be found by grep command in source code root directory), so
remove them.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 15:24:55 +01:00
Linus Torvalds
73056bbc68 KVM/ARM fixes:
- Fix per-vcpu vgic bitmap allocation
 - Do not give copy random memory on MMIO read
 - Fix GICv3 APR register restore order
 
 KVM/x86 fixes:
 - Fix ubsan warning
 - Fix hardware breakpoints in a guest vs. preempt notifiers
 - Fix Hurd
 
 Generic:
 - use __GFP_NOWARN together with GFP_NOWAIT
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQEcBAABAgAGBQJWzsReAAoJEL/70l94x66DT6cH/3K/X/eciQIQTjLWKQ9BUhsN
 +4WN+PX51GCvRZgoGgXXxTUzWVpSHNE7iD5FR/yqiUpC6lq+GWYKyQYBU6S2tw7N
 QrzVFUAOIAExfzw4ztLz8pvIIwsF6EC2sA0DRZO85FWApO4P3BJN/1nBa+THJchH
 6RamguztCjVSfboFwpulPzmgzJwIQ1ai+KoO1z/1ifrxjOHLytF5wn6UegPXIkc6
 PAWG0b6w2ZnSwTNhEdsjzlcEANd/otwOoTlcft//KLuBkSS0GgU3vgxv7OXeSn67
 +Wa9wWT/rU6M4Ol0noXcyr/kiF5629bQ4IyLK7YFgOUPFt4Tmg+A1ABGc92WJa4=
 =/9Sf
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Paolo Bonzini:
 "KVM/ARM fixes:
   - Fix per-vcpu vgic bitmap allocation
   - Do not give copy random memory on MMIO read
   - Fix GICv3 APR register restore order

  KVM/x86 fixes:
   - Fix ubsan warning
   - Fix hardware breakpoints in a guest vs. preempt notifiers
   - Fix Hurd

  Generic:
   - use __GFP_NOWARN together with GFP_NOWAIT"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: x86: MMU: fix ubsan index-out-of-range warning
  arm64: KVM: vgic-v3: Restore ICH_APR0Rn_EL2 before ICH_APR1Rn_EL2
  KVM: async_pf: do not warn on page allocation failures
  KVM: x86: fix conversion of addresses to linear in 32-bit protected mode
  KVM: x86: fix missed hardware breakpoints
  arm/arm64: KVM: Feed initialized memory to MMIO accesses
  KVM: arm/arm64: vgic: Ensure bitmaps are long enough
2016-02-25 19:53:54 -08:00
Arnd Bergmann
15925cfcf8 ARM: s3c24xx: Avoid warning for inb/outb
s3c24xx implements its own inb/outb macros, but the implementation
prints warnings when the port number argument is not a 32-bit scalar:

drivers/scsi/pas16.c: In function 'NCR5380_pwrite':
arch/arm/mach-s3c24xx/include/mach/io.h:193:68: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 #define __ioaddrc(port) ((__PORT_PCIO(port) ? PCIO_BASE + (port) : (void __iomem *)(port)))

This slightly modifies the definition of the __ioaddrc macro to avoid
the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-26 08:44:52 +09:00
Kevin Smith
1594d568c6 clk: mvebu: Move corediv config to mvebu config
The core clock does not depend on corediv, so enabling corediv
based on the clock is not really correct.  Move the corediv
config option from the clock driver Kconfig to the mvebu Kconfig
so that it can be enabled by the MACH option instead.

This also enables corediv on Armada 375 and 38X, which was
previously missing.

Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-02-25 15:05:53 -08:00
Yangbo Lu
3db66fdc5f ARM: dts: ls1021a: add 1588 timer node
Add the 1588 timer node for ls1021a platform to
support gianfar ptp driver.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-25 16:22:02 -05:00
Hans de Goede
fe0a8ea1fb ARM: dts: sun8i: Add ir receiver nodes to H3 dtsi
The H3 ir receiver is completely compatible with the one found in the A31.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 11:38:42 -08:00
Krzysztof Adamski
9338536731 ARM: dts: sun8i-h3: Add R_PIO controller node to the dtsi
Add the corresponding device node for R_PIO on H3 to the dtsi. Support
for the controller was added in earlier commit.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 11:33:36 -08:00
Krzysztof Adamski
097872945e dts: sun8i-h3: Add APB0 related clocks and resets
APB0 is bearly mentioned in H3 User Manual and it is only setup in the
Allwinners kernel dump for CIR. I have verified experimentally that the
gate for R_PIO exists and works, though. There are probably other gates
there but I don't know their order right now and I don't have access to
their peripherals on my board to test them.

After some experiments and reviewing how this is organized on other
sunxi SoCs, I couldn't actually find any way to disable clocks for R_PIO
and they are working properly without doing anything so I assume they
are connected straight to the 24Mhz oscillator for now.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 11:33:05 -08:00
Jelle de Jong
f9ca30440c ARM: dts: sun7i: Add dts file for the lamobo-r1 board
The lamobo-r1 board, sometimes called the BPI-R1 but not labelled as such
on the PCB, is meant as a A20 based router board. As such the board comes
with a built-in switch chip giving it 5 gigabit ethernet ports, and it
has a large empty area on the pcb with mounting holes which will fit a
2.5 inch harddisk. To complete its networking features it has a
Realtek RTL8192CU for WiFi 802.11 b/g/n.

Signed-off-by: Jelle de Jong <jelledejong@powercraft.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 10:12:27 -08:00
Vitaly Andrianov
5b7551db86 ARM: dts: keystone: Add minimum support for K2G evm
Add barebones K2G evm dts. This DTS allows the board to boot using a
ram based filesystem.

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:27:39 -08:00
Vitaly Andrianov
734539eaf4 ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
K2G is the newest addition of TI's Keystone 2 product family. It is a
single core Cortex A15 and a C66x DSP.

K2G supports standard peripherals such as SPI, UART, MMC and USB 2.0.

Includes two dual-core Programmable Real-time Unit and Industrial
Communication Subsystems (PRU-ICSS).

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

This device is targeted for a variety of applications which include, but
are not limited to:

Home audio
Professional audio
Industrial Programmable Logic Control

The peripheral nodes that have been included in this patch have been
tested during bring-up. Since all peripherals will not necessarily be
used on all boards, disable all peripherals by default. This allow
the board dts to selectively choose which peripherals it wants to
enable.

This SoC now uses the next generation of power management architecture
with the PM functionality located in a microcontroller embedded in the SOC.

Support for this new PM architecture along with other peripherals will be
added in future patches.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:25:35 -08:00
Nishanth Menon
3b2d3dc9fb ARM: keystone: Create new binding for K2G SoC
K2G SoC family is the newest version of the Keystone family of processors.

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

Add new bindings for K2G and the K2G evm. Also document these new bindings.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:23:34 -08:00
Arnd Bergmann
60f2395231 ARM: mvebu: mark mvebu_hwcc_pci_nb as __maybe_unused
The coherency notifier block is only used when CONFIG_PCI
is enabled, otherwise we get a warning:

arch/arm/mach-mvebu/coherency.c:110:30: warning: 'mvebu_hwcc_pci_nb' defined but not used [-Wunused-variable]

There is no nice way to use an if(IS_ENABLED()) check here to
let the compiler know that it might be used, so let's mark
the structure as __maybe_unused.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-25 15:39:20 +01:00
Arnd Bergmann
d3201ede94 ARM: mv78xx0: avoid unused function warning
mv78xx0 produces a harmless warning when CONFIG_CACHE_FEROCEON_L2 is
disabled:

arch/arm/mach-mv78xx0/common.c:385:19: warning: 'is_l2_writethrough' defined but not used [-Wunused-function]

This avoids the warning by changing the #ifdef to an if(IS_ENABLED())
check with the same resulting object code.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-25 15:38:38 +01:00
Arnd Bergmann
993e221518 ARM: orion: only select I2C_BOARDINFO when using I2C
If we select I2C_BOARDINFO and I2C is disabled, we get a
harmless Kconfig warning:

warning: (MACH_DOVE_DB && MACH_DB88F5281 && MACH_RD88F5182 && MACH_RD88F5182_DT && MACH_KUROBOX_PRO && MACH_DNS323 && MACH_LINKSTATION_PRO && MACH_LINKSTATION_LSCHL && MACH_LINKSTATION_LS_HGL && MACH_NET2BIG) selects I2C_BOARDINFO which has unmet direct dependencies (I2C)

Making the select itself conditional avoids the warning and
makes the kernel slightly smaller as the compiler will be
able to drop the unused board info.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-25 15:37:16 +01:00
Michal Simek
8fff2f752f ARM: zynq: Move early printk virtual address to vmalloc area
The patch
"ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000"
(sha1: 6ff0966052)
has moved also start of VMALLOC area because size didn't change.
That's why origin location of vmalloc was
   vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
and now is
   vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)

That's why uart virtual addresses need to be changed to reflect this new
memory setup. Starting address should be vmalloc start address.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2016-02-25 14:06:03 +01:00
Michal Simek
07bf429da1 ARM: zynq: Use earlycon instead of earlyprintk
Use early console instead of earlyprintk which is supposed to use for
very early debugging (DEBUG_LL).

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-25 14:01:34 +01:00
Marcelo Tosatti
8577370fb0 KVM: Use simple waitqueue for vcpu->wq
The problem:

On -rt, an emulated LAPIC timer instances has the following path:

1) hard interrupt
2) ksoftirqd is scheduled
3) ksoftirqd wakes up vcpu thread
4) vcpu thread is scheduled

This extra context switch introduces unnecessary latency in the
LAPIC path for a KVM guest.

The solution:

Allow waking up vcpu thread from hardirq context,
thus avoiding the need for ksoftirqd to be scheduled.

Normal waitqueues make use of spinlocks, which on -RT
are sleepable locks. Therefore, waking up a waitqueue
waiter involves locking a sleeping lock, which
is not allowed from hard interrupt context.

cyclictest command line:

This patch reduces the average latency in my tests from 14us to 11us.

Daniel writes:
Paolo asked for numbers from kvm-unit-tests/tscdeadline_latency
benchmark on mainline. The test was run 1000 times on
tip/sched/core 4.4.0-rc8-01134-g0905f04:

  ./x86-run x86/tscdeadline_latency.flat -cpu host

with idle=poll.

The test seems not to deliver really stable numbers though most of
them are smaller. Paolo write:

"Anything above ~10000 cycles means that the host went to C1 or
lower---the number means more or less nothing in that case.

The mean shows an improvement indeed."

Before:

               min             max         mean           std
count  1000.000000     1000.000000  1000.000000   1000.000000
mean   5162.596000  2019270.084000  5824.491541  20681.645558
std      75.431231   622607.723969    89.575700   6492.272062
min    4466.000000    23928.000000  5537.926500    585.864966
25%    5163.000000  1613252.750000  5790.132275  16683.745433
50%    5175.000000  2281919.000000  5834.654000  23151.990026
75%    5190.000000  2382865.750000  5861.412950  24148.206168
max    5228.000000  4175158.000000  6254.827300  46481.048691

After
               min            max         mean           std
count  1000.000000     1000.00000  1000.000000   1000.000000
mean   5143.511000  2076886.10300  5813.312474  21207.357565
std      77.668322   610413.09583    86.541500   6331.915127
min    4427.000000    25103.00000  5529.756600    559.187707
25%    5148.000000  1691272.75000  5784.889825  17473.518244
50%    5160.000000  2308328.50000  5832.025000  23464.837068
75%    5172.000000  2393037.75000  5853.177675  24223.969976
max    5222.000000  3922458.00000  6186.720500  42520.379830

[Patch was originaly based on the swait implementation found in the -rt
 tree. Daniel ported it to mainline's version and gathered the
 benchmark numbers for tscdeadline_latency test.]

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: linux-rt-users@vger.kernel.org
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1455871601-27484-4-git-send-email-wagi@monom.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-02-25 11:27:16 +01:00
Maxime Coquelin
c8cc1b727f ARM: dts: stm32429i-eval: Add USB HS host mode support
This patch adds USB HS support in host mode only.
This port supports OTG mode, but the device more is not working
properly as of now.
Once the device mode fixed, the node will be updated to support OTG.

Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-25 10:41:16 +01:00
Paolo Bonzini
0fb00d326f KVM/ARM fixes for 4.5-rc6
- Fix per-vcpu vgic bitmap allocation
 - Do not give copy random memory on MMIO read
 - Fix GICv3 APR register restore order
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWzefIAAoJECPQ0LrRPXpDHkEQAIPGVBEilV0Na9QfIcQBiSxK
 IGwFSXAIa2sScfjAyDPbSME/R912XTzdfXLgvYjoUhP8WUX3g/2dRD7OcYOh33zB
 MgUg6QRSIUIyXj6HzOsFnt/rOWlEchjGXzcyVzlQTRjJhIRyHnFprUJsVbPk1Wc8
 NJSXlyAYc3dHmJB29NjAgWRhZGmBx9SddRPfHFYLv9DoVkFGpD+TYL6XMeyfY8Eh
 PVjGipi8K8kl4DJb/pc5kOhtqoXu30JqVlgvpUAQEPSbYQSBbdmjRpd1Ol7M73b1
 sX1+UQmuIk3wcij/YpD3Ep70N5pfjgGAqms1vzBvTk6PKTXKtrjj15uOYcWgx38Z
 W9llAnlzOY5+1htirxiIdfy44gxChcWb5XTykxnJXKEaEQdVHx5E8Yc9Nf3TbNMr
 cLJh5CX9KowOxjW/HmbXXKrL2VNyb0XaecH0VWUV/QNeVqvbY/o38VRgTU0EMuoJ
 nY1QeP3DOQfpq44UHhhzY9gx3myxW4MBr/C/vcbsNi3KiHwP1BIDygenf1cq+FID
 4t/qXEJ+7ScEcDeiw+dTRPodD+6BwL4SH67aGbrxYE2yU9vugdkq2EtP3i5Z0iga
 cKPdzAcFoBJJF4OKcTjdk34dEzGiSVcDdNXhAmIzpHL6xqMwyYNIYUyrHivu3QwP
 8Ctb1ReLpiF574/JhDMo
 =/Pum
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-for-4.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master

KVM/ARM fixes for 4.5-rc6

- Fix per-vcpu vgic bitmap allocation
- Do not give copy random memory on MMIO read
- Fix GICv3 APR register restore order
2016-02-25 09:53:55 +01:00
Sekhar Nori
1c96bee4df ARM: DRA7: hwmod: Add custom reset handler for PCIeSS
Add a custom reset handler for DRA7x PCIeSS. This
handler is required to deassert PCIe hardreset lines
after they have been asserted.

This enables the PCIe driver to access registers after
PCIeSS has been runtime enabled without having to
deassert hardreset lines itself.

With this patch applied, used lspci to make sure
connected PCIe device enumerates on DRA74x and DRA72x
EVMs.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reported-by: Richard Cochran <richardcochran@gmail.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2016-02-25 00:17:42 -07:00
Pankaj Dubey
ce7f8ce016 ARM: SAMSUNG: Remove unused register offset definition
This patch cleans up various map.h under mach-exynos, mach-s3c24xx and
plat-samsung by removing unused register offset. This patch also does a
minor nitpick of changing EXYNOS4 to EXYNOS from comment section of
header file "mach-exynos/include/mach/map.h".

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 13:24:27 +09:00
Pankaj Dubey
a4781441f2 ARM: EXYNOS: Cleanup header files inclusion
This includes trivial cleanup in exynos files such as
 - remove unused header files inclusion from exynos.c, s5p-dev-mfc.c,
   firmware.c, pm.c.
 - move inclusion of of.h from common.h to pm.c where it is really
   required

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 13:24:06 +09:00
Simon Horman
d92df7e599 ARM: dts: r8a7790: use fallback etheravb compatibility string
Use recently added fallback compatibility string in r8a7790 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
2016-02-25 13:12:37 +09:00
Wolfram Sang
880cb57024 ARM: dts: r8a7790: lager: use demuxer for IIC0/I2C0
Make it possible to select which I2C IP core you want to run on the
EXIO-A connector. This is the reference how to use this feature. Update
the copyright while we are here.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-25 13:12:32 +09:00
Olof Johansson
82767de15a SoCFPGA defconfig update for v4.6
-Enable initrd/initramfs support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWxub8AAoJEBmUBAuBoyj00JwP/j8MN1EN1QIYRD4XdaMomxTP
 w0HdOtlCLIJLkEmDoHcSvDpgK8wnq6u+s1e43ZwopS/poD2biN6Te6ySYibPKBie
 zrCVvRbiqUzZiw0ueMJA8udOHTuwys3L6rN8bG3VV5+xHizUdZHSB0/b2oxIXxba
 TIRg+0JULjXHQphIPSBhTX/6dN4lx8s6gAJAQeLL329zSMo6rdmudjVTVykMzXod
 DdOaC3osmBa5ZwZY7Tr7KIBwUZThimEqgeBravr2y/TSPRwBDSFEP6el967qe+t/
 omHtWxXPxEsYCagcgaM4gXw7MFK4Ons6oS4SDef3t1W5Ta0nOUlt8nBSY/oI5zY1
 nxwICZkjLiN1hCWU6KWuGcKeIL97A1QIh1rzNxI9Sro44dcGzST4g5w6q5bcX66z
 jrzBiQtBG96qXStc02Zy+9Qljxc43fwBL70XlVKRmlanQg2CVUI0BFzjSsjYSksQ
 hKfHrwU475jCaBdBGDuxQzafYlvFhkogUbsu7o5TJ/s2bWl4j++gerL/MigL2uzS
 Bt4vNYpxntkeSYeN9iIiL9UB/K4mqJv9+fSVYZQ4Htf4uQqIqeNxgHd5K5aQ1jt2
 lCtjRdbjfR1bTcbxB3Vc+HZVH06hk9beUaPa6ZQ2h5Tqi/2eizCYDmnASw6i51YR
 ofceQAAg+bGeGz2eUeTA
 =sOpf
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_defconfig_for_v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/defconfig

SoCFPGA defconfig update for v4.6
-Enable initrd/initramfs support

* tag 'socfpga_defconfig_for_v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: socfpga_defconfig: enable support for initramfs/initrd support

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 17:23:54 -08:00
Olof Johansson
2bc51d76d2 DT changes for 4.6:
- Addition of the ADC for sama5d2 and sama5d2_xplained
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWxSixAAoJEKbNnwlvZCyzHXkP/13kVbgjNALTrvv4RUISGVYq
 Nl4xVwg/3oObrouxQ/nw0AI5EU92HdR0R4T87fueJupPn4YWYf7BpmMWqECDTA6M
 y6EBkKT35sV5zAVT6HWBhmGGnHCS7aisAE6Tfenao0gbK+31i/9F3SHF7atyJ3T8
 y4gyBWl/o4Nuz6UyfkntxM9vy0N1WstC1ekvYeIcc8ePr5E7/3UHTgeb42UAWcHj
 akoZwxmEeTTidaZujZZPPvKSMagz2wcnICKZ7OPXTJLtgf1ib7m3qHZnyXKWRQ/W
 CB9z8pybMPdCib1WH/lWlv6NOb1s/j+l0Aw9NQqVshLt/tmjbpo0HMNwZ2rt4iN4
 I5CLc8RaiF2PhP0Sq1hzaHjwLTEgsno4b+JhndI1+hFiPeAsB4vtLPhGupasdbJy
 MCi0We4h95WUdOo/vf+khpb2O3SATZli8QFHzgHNyfnNm63ETzU+o3l43Iph+04M
 rc/4l8yRt2IMl+22tLZvqziIyzXotqq51E7bT6eg83YBSrlvOHibp6bo0LriADv8
 zDrvr4quZ33vMKXtgk/jOEVXulrmVX2ePFuyUpcoKYks+cWF7pgx9pFxLTnpFieS
 DN2l6swjXE+aA5Gn8VyFiJgCpUnzpYjH++VAoa7IKUxjcj+YjeSrsVW2fFlkP46F
 +ZT01bhSD6TG9uC5r/Cu
 =mzUX
 -----END PGP SIGNATURE-----

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

DT changes for 4.6:
 - Addition of the ADC for sama5d2 and sama5d2_xplained

* tag 'at91-ab-4.6-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: dts: at91: sama5d2 Xplained: enable the adc device
  ARM: dts: at91: sama5d2: add adc device

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 17:19:04 -08:00
Pankaj Dubey
bfce552d0b drivers: soc: Add support for Exynos PMU driver
This patch moves Exynos PMU driver implementation from "arm/mach-exynos"
to "drivers/soc/samsung". This driver is mainly used for setting misc
bits of register from PMU IP of Exynos SoC which will be required to
configure before Suspend/Resume. Currently all these settings are done
in "arch/arm/mach-exynos/pmu.c" but moving ahead for ARM64 based SoC
support, there is a need of this PMU driver in driver/* folder.

This driver uses existing DT binding information and there should
be no functionality change in the supported platforms.

Signed-off-by: Amit Daniel Kachhap <amitdanielk@gmail.com>
[tested on Peach-Pi (Exynos5880)]
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[for testing on Trats2 (Exynos4412) and Odroid XU3 (Exynos5422)]
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[k.kozlowski: Rebased, add necessary infrastructure for building and
selecting drivers/soc because original patchset was on top of movement
SROMc to drivers/soc]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:18:07 +09:00
Olof Johansson
f628c64fc0 drivers update for 4.6:
- Big PMC rework that touches clk, PM, usb
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWxSJHAAoJEKbNnwlvZCyzEGsQALRmJvHYqYNPRgHKHlFGV4Uh
 KuDuT0O/hVQqf1WB+gXt6E2WbDTzU+QGV8jux2zvZdi4ExdjZBTM9o1iQrORRyr0
 AHcXsNRkbZ5t7mNp1WVQGMCmK3M/cuN2BmtPQzozmFyo4UNlPzxH7//DbhbrLxqI
 zuYmxs5z1RMflIJTo4LfJGXzo6QzwrsRmiPANIr9niICa51F6x0HYMZTn1IMMGG/
 KbJ9Rx8fOEqRgCo9LIvJPZa4jvFNjyqQN74qqX66XZW3LBJK4M5q+F/LUaw6M7Bi
 7KVc47yRTujGOEHz/jhsf4IVbkUg1vidicIL1VMz9xjD1ZbjjCr0pdFlU/76r4BB
 Ot2alkE56+zSAbpBaWGQ9nih97GF/vpwlD+qeGs+UwhmF69wmTOrtSEi1uL+gRzM
 sdGXhQtMVPHJuK9fuZBP4bjgnAryZSpJHk/7VcEJ7rvuyXgXZGKdqN3lt8hjWyoi
 SuOQ+mqpt726o1fGA8/kKwr/Po6BhYBYLw1SAJjBZ5BF4fTi+9d2Q1C/M8F9X0wE
 UMXYfTkr4URDiNLFh8vyJoq/B0pN7FxtcPtaSoaCZO2jP5rXn36Axre35Si76WTb
 ndT4YlSKCwOrhk84on2ym3yHEwOCJndB7F+CqiA2t/qool4aD2vcqDzlmeZoUT8r
 qMB7zXbgpZ1ezqm6RKUB
 =V4yQ
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-4.6-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/drivers

From Alexandre Belloni:

"This is a rework of the PMC driver. It touches multiple subsystems so
the easiest path is through arm-soc."

drivers update for 4.6:
 - Big PMC rework that touches clk, PM, usb

* tag 'at91-ab-4.6-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  clk: at91: remove useless includes
  clk: at91: pmc: remove useless capacities handling
  clk: at91: pmc: drop at91_pmc_base
  usb: gadget: atmel: access the PMC using regmap
  ARM: at91: remove useless includes and function prototypes
  ARM: at91: pm: move idle functions to pm.c
  ARM: at91: pm: find and remap the pmc
  ARM: at91: pm: simply call at91_pm_init
  clk: at91: pmc: move pmc structures to C file
  clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe
  clk: at91: remove IRQ handling and use polling
  clk: at91: make use of syscon/regmap internally
  clk: at91: make use of syscon to share PMC registers in several drivers

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 17:17:01 -08:00
Pankaj Dubey
92c4bf0473 ARM: EXYNOS: Split up exynos5420 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos5420,
PMU configuration data and functions handing data into exynos5420
SoC specific PMU file mach-exynos/exynos5420-pmu.c.

[tested on Peach-Pi (Exynos5880)]
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:56 +09:00
Pankaj Dubey
3900d6a85e ARM: EXYNOS: Split up exynos5250 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos5250,
PMU configuration data and functions handing data into exynos5250
SoC specific PMU file mach-exynos/exynos5250-pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:56 +09:00
Pankaj Dubey
73d72ed8e9 ARM: EXYNOS: Split up exynos4 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos4210,
exynos4412 and exynos4212 PMU configuration data and functions handing
data into a common exynos4 SoC specific PMU file mach-exynos/exynos4-pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[for testing on Trats2 (Exynos4412, S2R, reboot, poweroff)]
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:55 +09:00
Pankaj Dubey
c21100c94d ARM: EXYNOS: Split up exynos3250 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos3250 PMU
configuration data and functions handing those data into exynos3250
SoC specific PMU file mach-exynos/exynos3250-pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:47 +09:00
Pankaj Dubey
2262d6ef51 ARM: EXYNOS: Move pmu specific headers under "linux/soc/samsung"
Moving Exynos PMU specific header file into "include/linux/soc/samsung"
thus updated affected files under "mach-exynos" to use new location of
these header files.

Signed-off-by: Amit Daniel Kachhap <amitdanielk@gmail.com>
[tested on Peach-Pi (Exynos5880)]
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[for testing on Trats2 (Exynos4412) and Odroid XU3 (Exynos5422)]
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:36 +09:00
Pankaj Dubey
18fd9c6330 ARM: EXYNOS: Correct header comment in Kconfig file
This patch corrects header comment of Kconfig file by changing EXYNOS4 to
EXYNOS.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:57 +09:00
Bartlomiej Zolnierkiewicz
25ef3f52e5 ARM: EXYNOS: Use generic cpufreq driver for Exynos5422/5800
The new CPU clock type allows the use of generic cpufreq-dt driver
for Exynos5422/5800.

Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:57 +09:00
Bartlomiej Zolnierkiewicz
2c828cfc2a ARM: EXYNOS: Use generic cpufreq driver for Exynos5420
The new CPU clock type allows the use of cpufreq-dt driver
for Exynos5420.

Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:56 +09:00
Masahiro Yamada
036a5cf8d6 ARM: s3c64xx: use "depends on" instead of "if" after prompt
This platform recently moved to multi-platform, so missed the global
fixup by commit e324654294 ("ARM: use "depends on" for SoC configs
instead of "if" after prompt").  Fix it now.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:56 +09:00
Geliang Tang
81c258467c ARM: plat-samsung: use to_platform_device()
Use to_platform_device() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:36 +09:00
Pankaj Dubey
f2cac8051d ARM: EXYNOS: Code cleanup in map.h
Remove unused exynos5440 uart offset macro.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:08:29 +09:00
Pankaj Dubey
1c6c224225 ARM: EXYNOS: Remove unused static mapping of CMU for exynos5
Remove unused static mapping of exynos5 CMU and related code.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:08:20 +09:00
Olof Johansson
1a2a8de690 defconfig update for 4.6:
- Addition of sama5d2 ADC to sama5_defconfig
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWxSM+AAoJEKbNnwlvZCyzk+0QAINwcLZxwssiMGWftriC/jSq
 H1uHmL6i3+UveUpT65senATRfSgZLfWVWCsnWphJOW0kLPQT048ForLHXhipzs+Z
 6ckvXQ4h9xF0aBFAGCMc3kbFhpNlg8TFiuCpxbkjhJJ4Kajk2p0moDd51pn10vLf
 x5xbz9h3XLkKShUlNWwOqAxEtXdIJRPM9sQ1/nFI497G0EAskk/G+IE/TOIX8WVM
 973bKOxJwz5ueQVSmcM3oTDdZF6gPSihjtlL9bqbfLmeW3CVoa828Y0JtGSc+ajv
 ++JvZDQCw654N0AgFqQICxXnGc2Nkt6j4EVdu8G3YY3xf9iy9C6iw9HZMGBjeumz
 bqrUyOtKVz10NBcvjG/nVyE+uZXXBOOWtby7JK48TGfYrJwFRirFEb3605HcEWwJ
 FRMhh1ztMGadMK4WxjLdbO2PnOoWI2z96CLY10mTV8Z1N4vV1yvUvQIfDmjqPSkU
 u2qn3eAwsOzACaGej4RKGDiCk8HolxgWr5xtHT71YRxchhOpUKmT2nDxxo7E9YLn
 xo4P46JvqKwuMIyKLlxe6gAGaI3j5avRvYywKDWEtWwUI2hhFXUCOzZMg/DCGv3v
 JZAhRGaD1hiNFX6TZkDPNwOnr7IUBDNQ8lG4JjUzqujmvEES7f0sUOGCWFqZ+xHv
 vg0wHnKd54y4kC2cI6vE
 =8vI6
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-4.6-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/defconfig

defconfig update for 4.6:
 - Addition of sama5d2 ADC to sama5_defconfig

* tag 'at91-ab-4.6-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: at91/defconfig: add sama5d2 adc support in sama5_defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:56:20 -08:00
Olof Johansson
c74f162e84 mvebu arm64 for 4.6 (part 1)
Non dt part of the Armada 3700 support:
 - Kconfig update
 - defconfig update
 - documentation update (including MAINTAINERS:)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEUEABECAAYFAlbElN0ACgkQCwYYjhRyO9XkzgCfaYJggCHzsLpMvnTK1bMNgPCY
 jYkAmOIRjMJskq40RBXSXpyoJboqyZs=
 =tAva
 -----END PGP SIGNATURE-----

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

mvebu arm64 for 4.6 (part 1)

Non dt part of the Armada 3700 support:
- Kconfig update
- defconfig update
- documentation update (including MAINTAINERS:)

* tag 'mvebu-arm64-4.6-1' of git://git.infradead.org/linux-mvebu:
  arm64: defconfig: enable Armada 3700 related config
  Documentation: arm: update supported Marvell EBU processors
  MAINTAINERS: Extend dts entry for ARM64 mvebu files
  arm64: add mvebu architecture entry
  irqchip/armada-370-xp: Do not enable it by default when ARCH_MVEBU is selected
  ARM: mvebu: Use the ARMADA_370_XP_IRQ option
  irqchip/armada-370-xp: Allow allocation of multiple MSIs
  irqchip/armada-370-xp: Use shorter names for irq_chip
  irqchip/armada-370-xp: Use PCI_MSI_DOORBELL_START where appropriate
  irqchip/armada-370-xp: Use the generic MSI infrastructure
  irqchip/armada-370-xp: Add Kconfig option for the driver

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:46:14 -08:00
Javier Martinez Canillas
1462b1373d ARM: dts: exynos: Move syscon reboot/poweroff to common dtsi
All Exynos SoCs have the same syscon reboot and poweroff device nodes so
there is no need to duplicate the same on each SoC dtsi and can be moved
to a common dtsi that can be included by all the SoCs dtsi files.

Suggested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung,com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 09:23:07 +09:00
Olof Johansson
5dab9f62a4 Versatile family cleanups step 1:
- Finalize RealView the PB1176 and PB11MPCore device trees
 - Move Versatile to use the power/reset driver instead of a
   custom restart hook
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwZOHAAoJEEEQszewGV1zsg8P/3xtEDPR9GJAuzzgV8o8hmpA
 psFc4PmdQcp1e19gb2oi0oKcv9xDzsKGavy/BYMMn9HQ6v4wTmtM9qMwNgRyTWZq
 RyAtnPxUP543Qiae1tdPBp700cyg8UsEcL56qhwemCOucjwD6wZNiAAs6bUh9mYa
 J1liSaarw+XOhzUdfqffk0JUac1oqnvdiiOLwAXsdWbCfNdkJGbfZ0N5TuUANMhM
 RXeqq8giEZAbvQtqumZv6c7Qk02zeG6tYq6R7lsW65IIvOhVk2rxYdC8ZhPTojxR
 V7jMLnA4xYn5IaLE4l7Z32AqKWGnsThmdP4OEMLnRhEduutHWUVj3XHlPAlS1pN1
 cD+mHuP48+5AscEL6Xf6+jeVYFkdER3RX9DgGZxUgLENw9T4g0/vq2DSGijwPuDN
 NB++vroPQoFEoPzCOx+JvO88VctabzuV7Z6rIvSLcIwPAhHvzMk1G+gy6hrUz5Bc
 cfovCqw1C8Y15srcIRhNr8dxDyZ3bpsatbSQNgPly4cHnAHLB8olTpXdfBzKIbKO
 FQmiAh+aPljOXxJT5yTg+3isIWA2tkc67WNiuX3+aKp38Ux2TNvDYCGf+LXF0RsU
 hgLGe3f4Bqw9xIMPYqQZM2UBl91p48ErhhmNJCWjceVgLEDHsCxaIvCx+oqLyYdv
 00TEPFLVtam4SJbqgJwq
 =NvEo
 -----END PGP SIGNATURE-----

Merge tag 'versatile-dt-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt

Versatile DT cleanups from Linus Walleij:

"this is a first pull request for my cleanups for the Versatile, as
the finished stuff should not be sitting in my tree but in ARM SoC.
This completes the ARM RealView PB1176 and PB11MPCore device trees,
and moves the Versatile to use power/reset.

The idea is to keep working on this cleanup branch and send additional
patches on top of this one as the prerequisites are merged into the MTD
and FBDEV subsystems. So please create a special versatile cleanup branch
(or suggest another approach).

As it happens, board files and device trees need to change at the same
time to make logical sense, especially for Versatile where auxdata is
replaced with DT entries, such as when reset is moved in the last patch
in this set. The MTD and CLCD changes will share this characteristic."

Versatile family cleanups step 1:
- Finalize RealView the PB1176 and PB11MPCore device trees
- Move Versatile to use the power/reset driver instead of a
  custom restart hook

* tag 'versatile-dt-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: versatile: move restart to the device tree
  ARM: realview: add the DS1338 RTC to PB1176 DT
  ARM: pb1176: add ethernet to devicetree
  ARM: pb1176: add ISP1761 USB OTG host controller
  ARM: pb1176: add AACI to the device tree
  ARM: pb1176: add ICST307 clocks to the device tree
  ARM: realview: fix up PB11MP flash compat strings
  ARM: realview: add flash devices to the PB1176 DTS

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:17:36 -08:00
Olof Johansson
797bc81398 plat-versatile cleanup:
- Removes the clock.c in plat-versatile that is no longer used
 - Move ARM to use the generic clockdev.h header
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwZYlAAoJEEEQszewGV1zXG0P/RYCHGp3A5V610OxgHxW9Req
 UQnruSBOELJAXLKrRytmRywrZYoTosjlfIugwvcs/ej9GymeMT6NeyPwZGvqGG20
 LE8JNuAC8KjgPkQoWrKsTKD1zCffU5VxoMaZuCKcFtEkhHDCXUS7/MFV5t9uGlbY
 dZs4NLw7P77+SK1iFcUqAly7I7XBhDIpiWZcZFMs2I/mQRnMt+kIDyc1FEwoPfjr
 xhqawOUjDD5ezpc+N8B91BAeOQ5kH4bdvsnK8H2+LA9rsdicnXts0mjgYEWCla3O
 a7mwKfZHYS3icAOnc/tMr8UVmo1vAfvNmHF1g7d449r6OxOSSu0bI2IvGyZcQ2Cv
 LriVp+SXg6PkqAXwPMZzmxiqeStEKz8MTKHrAiiuOwcwTncphysXLZzj1K5JlGxV
 noMvuipVht9LZPY0PY9qFrTxcN/s7FrhEzzyFnHJ8HCSj9JgmG852YxS1l1Blr0c
 QzQ7c9cIKBTwgH00n8qGZUdohwJ/oMuzxGJ+/Kbo6kdLWaSjnlzBJmqHbw5JO753
 F+sm1dreXK7HD8RXKeqZP2gUfEToV7FiPEu9GcGrRwU35nVIEruISnQH2GlnaTdl
 V08RIT6vrYJ5+x3AJMvyjbrF4VK0brNvWcKDq6WFfNZG8aV4AGIxrLRqN7FNdBOn
 p5R+RfTHWYRGWlrwdTHf
 =Hj7K
 -----END PGP SIGNATURE-----

Merge tag 'plat-versatile-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup

plat-versatile cleanup:
- Removes the clock.c in plat-versatile that is no longer used
- Move ARM to use the generic clockdev.h header

* tag 'plat-versatile-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: Use generic clkdev.h header
  ARM: plat-versatile: Remove unused clock.c file

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:06:09 -08:00
Olof Johansson
7f544a5109 Defconfig (exynos and multi_v7) changes for Exynos based boards for v4.6:
1. exynos defconfig:
    a. Enable NEON and accelerated crypto,
    b. Enable s5p-secss driver (Security SubSystem block for accelerating
       some cryptographic operations),
 2. exynos and multi_v7: Remove MAX77802 RTC Kconfig because the driver
    was combined into existing rtc-max77686 driver. This depends on changes
    from RTC tree.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwRlWAAoJEME3ZuaGi4PXngMP/3Xp+doDPiz+hTj8IIovy58u
 9XMBIdT4A8dklpVGUC6m6JQOGgM8M/5r/SNwZkOpmIo/8uZYZhbe8vpz5/k2XRwr
 6JT6dZ8KU01TKzggsjOnJzFvKkSRnW7eMl1zG+qSlLodOoEdXjQq2rihTeWlKtAw
 6KBZCmzaqswATS5ZVrcy56w8q3Gdw6HSs2k1GUwEtgM3FCBlf8S9OhVmgHdspYuU
 MjMPSkfgHy8TfDR9YHV/sr8b/qO9vBHBEGW/QxCp/roXOrzeVbXsKB5AXP/mMKMT
 vJcctLAC8TBT/CE3qCwetMwFIM4hEpMpVXpu45HuGCnrdBASmRvn/4wRuuCDb12V
 g71/93lg6R1+t2mtDLVfSxmgMGBW1vK0HFS14CHgmF+mMvH7D3LN7LdC/xBVonwE
 nF+E6HF8nqksHOkdIYbHZGfxeuMvWw5RST6IyNhqeQ/QRlwtSAgwmbx9xjB8hcmE
 WeZkUlwexXmUKp29tcBsN/n5l7m91JJ1KhFReuuB7TX7zJ9cF4hUC8otdQzwTDGd
 qGDQnxjpMp7kYWL0ip+BRrZEICdgNqMAUnkH8q/R3AH0zkodzp+UAA5oNoY2Q7n4
 3UV8jvZnQKtUGx54P+2bYnVbZK6QKcCUt1Uk2SngsToiq7es2sW4kMXZSOmfxrQ6
 WqiiM0lklrISYrzi+KmG
 =SU+0
 -----END PGP SIGNATURE-----

Merge tag 'samsung-defconfig-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig

Defconfig (exynos and multi_v7) changes for Exynos based boards for v4.6:
1. exynos defconfig:
   a. Enable NEON and accelerated crypto,
   b. Enable s5p-secss driver (Security SubSystem block for accelerating
      some cryptographic operations),
2. exynos and multi_v7: Remove MAX77802 RTC Kconfig because the driver
   was combined into existing rtc-max77686 driver. This depends on changes
   from RTC tree.

* tag 'samsung-defconfig-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: multi_v7_defconfig: Remove MAX77802 RTC Kconfig symbol
  ARM: exynos_defconfig: Remove MAX77802 RTC Kconfig symbol
  rtc: max77686: Cleanup and reduce dmesg output
  rtc: Remove Maxim 77802 driver
  rtc: max77686: Properly handle regmap_irq_get_virq() error code
  rtc: max77686: Fix unsupported year message
  rtc: max77686: Add max77802 support
  rtc: max77686: Add an indirection level to access RTC registers
  rtc: max77686: Use a driver data struct instead hard-coded values
  rtc: max77686: Use usleep_range() instead of msleep()
  rtc: max77686: Use ARRAY_SIZE() instead of current array length
  rtc: max77686: Fix max77686_rtc_read_alarm() return value
  ARM: exynos_defconfig: Enable s5p-secss driver
  ARM: exynos_defconfig: Enable NEON, accelerated crypto and cpufreq stats

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:33:10 -08:00
Olof Johansson
fab4db0d35 Samsung DeviceTree updates and improvements for v4.6:
1. Add SROM controller device nodes.
 2. Add Ethernet chip as child of SROM controller on SMDK5410.
 3. Allow simultaneous usage exynos-rng and s5p-sss drivers on Exynos5.
 4. Cleanup CPU configuration on Exynos542x/5800.
 5. Add necessary nodes for cpufreq-dt driver on Exynos542x/5800 (OPPs,
    regulator supplies) which allows frequency and voltage scalling
    of this SoC.
 6. Minor cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwRf5AAoJEME3ZuaGi4PXrAIP/RGMMvPNhSRp5EMbrZlK3gsg
 Q32cZgxXGW5AIgxhhXkBCDrfUFD3bpw7hAM4eWOScJvZWp0MagQJC7/9AKZ4/fRh
 J5gDmGyRrhhotUR2lzrJrN5YBffOlWiJ9VnVapWfdkYUDXXsL76xHdXnPyOnVlOv
 VcUh1g7Tbv1ao0U3tuY2PSpryk4Vi9R/SBSSQu9Tn6UChAFyZTpbPgbeS24tKkas
 jJDbfJS6eIBnyoImGiKC1E9eaERL2lh9YjZ323tzNSav4BYRLLlRe3olZf7uKQRs
 GIlyJbtcYu72+IANXkjjF+pKen3x8b1BWrUbyWD4nxRkn0gR6czRAzqw+sX0bBRl
 hYPd/IxnilgJni06e76YL0qwdSjvOThgiMNhojrU4y21Tr3xqzC6TJQiLK4dWlTD
 RiAReOCQTfxV3dlQpLixIN1icRlwkJz2JO791iavIEilZIT0dRrNkzQNILWj0GMU
 x9/JS/axja/ckKImMRVMd3ZCtDkYD4B0QzFEElcTe9oIhEmfk3VYZIxXu4a9U+5q
 NWU/hPxHoOk16tq6G8TvwwTCH561HTWnkXn1kpku8gr5x8rO9tH5KfgWX8syZAoh
 a/ugdzntt0GOZpSRhOYE9zXjKBlxiidq53fdVDFTw95V6r6JJYNWfmkWXbT2jteR
 L/UrZA45YPJCydvtRztE
 =OC9Z
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt

Samsung DeviceTree updates and improvements for v4.6:
1. Add SROM controller device nodes.
2. Add Ethernet chip as child of SROM controller on SMDK5410.
3. Allow simultaneous usage exynos-rng and s5p-sss drivers on Exynos5.
4. Cleanup CPU configuration on Exynos542x/5800.
5. Add necessary nodes for cpufreq-dt driver on Exynos542x/5800 (OPPs,
   regulator supplies) which allows frequency and voltage scalling
   of this SoC.
6. Minor cleanups.

* tag 'samsung-dt-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: Replace legacy *,wakeup property with wakeup-source for exynos boards
  ARM: dts: Add GSCL block parent clock management to pm domain on exynos542x
  ARM: dts: Extend existing CPU OPP for exynos5800
  ARM: dts: Add CPU OPP properties for exynos542x/5800
  ARM: dts: Add cluster regulator supply properties for exynos542x/5800
  ARM: dts: Make CPU configuration more readable on exynos542x/5800
  ARM: dts: Replace legacy *,wakeup property with wakeup-source on s5pv210
  ARM: dts: Allow simultaneous usage exynos-rng and s5p-sss drivers on exynos5
  ARM: dts: Add Ethernet chip to exynos5410-smdk5410
  ARM: dts: Add SROM to exynos5410
  ARM: dts: Add SROM device node for exynos5
  ARM: dts: Add SROM device node for exynos4
  ARM: dts: Add pinctrl support to exynos5410

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:30:50 -08:00
Olof Johansson
5dc1104960 Fixes from Arnd for harmless warnings for Exynos and S3C platforms.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwRT1AAoJEME3ZuaGi4PXidgP/RnaUx1W+wRaNVotyheUBcQE
 KnzrC4DOzXq6Qc+ax/wH3bEbWQF9Qs1TGWe/JYPCiNUZo+Xa5xRMhfJfCNPeYjZp
 +dZz6W4BV1zDCQF2qi3qeprXtJqhvGISo1RnC3VuvDuMfgfyVZEYeWzQcSAQDOSp
 WIa/Z9A9KIWW8rm8eQCVR5SLShKLb+aDAkLtJ3bwPMwDs0I3cYlcXJaIV0Pb+oWR
 31mBUlWxZI7Xi21rpzT0d4HqqhbGvUakLKfCADzJzG+jdVagsppqZ0R7iPkWCNxZ
 TWdMF2tY6+HGs1aVJFVcoU5OEYbeq4q5vd8rq8KVnBJaybNsB2qSw8jgkH16vwBR
 MzCUM85cpNe2MPRao3rDjRHtSrbwTITKZbYl7epCLyDDalrskFpn4ekaoZvGQzDP
 G1oJjSO3AKvEa87kDwiLJngdePMIObTXKPbQIEdqRUD3k/QXSLx9ph0Ox9nHheWR
 1G37yKgvu+eU1hJQQTIc+Xvs8bpM9l0Ll9ghXvb2d1RLj/9oaYwo+RjA6Lr5f/bV
 hrnFezSO3tQIBzdROl9N5gYRcZ81w0RTEBgWbWZIQBGk6H/Bugo3NAgqkSTXOD3e
 7x/WAGmvxZocDZTUS4K2uX5MrKkW/NiWlsmiKyx8Tov04QWt08z5epbCLDH5Tw01
 7r4UlBa8l9r+xRV1zaYo
 =apUL
 -----END PGP SIGNATURE-----

Merge tag 'samsung-fixes-non-critical-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/fixes-non-critical

Fixes from Arnd for harmless warnings for Exynos and S3C platforms.

* tag 'samsung-fixes-non-critical-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: EXYNOS: select THERMAL_OF
  ARM: s3c64xx: mark regulator init data as unused
  ARM: s3c24xx: fix unused gta02_configure_pmu_for_charger warning
  ARM: s3c24xx: allow selecting S3C2440_XTAL_16934400 for s3c2442
  ARM: s3c24xx: don't select EEPROM_AT24

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:18:08 -08:00
Olof Johansson
fc2834a465 Renesas ARM Based SoC DT Updates for v4.6
* Use SCIF and USBHS fallback compatibility strings
 * Add Baud Rate Generator (BRG) support for (H)SCIF
 * Enable SCIF_CLK frequency and pins
 * Use GIC_* defines
 * Enable audio on r8a7793/gose
 * Enable HDMI vidio out on r8a7793
 * Enable i2c on r8a7793/gose
 * Enable QSPI on alt
 * Enable GPIO keys and leds on gise
 * Enable audio on porter
 * Enable DU on porter
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvirlAAoJENfPZGlqN0++H/MQAI7AQMgaAV5ejeyl7bgtsrBM
 7Xq8MojRIMqCXgpEGsJ09jqnuOQIDHEaAHLNX4FWwGmJD95yCudFoeNagr79b9WF
 oBHtkB9p60hw1Qz1fx9d/CjQrmAk7/TiLGBa81wNiz2D7xxmqXxYB3mdsA2oNmdV
 2RPnROPM6uiZMhFM5ePiS9ku++Mv5/lvQZYnMlP8PilPpfp1VHCjcN/CXE+3AzV2
 xH75tyg1A60rRmn4f2MP9kigQXC9OBdcGchI1ejwCnMGfw0THWjchAnNQ7GpV54a
 N0C0pCIfGrluBXHUmvN9Fof1t5R+PNc4tyaC1SHpAEKp1uq9xKAadzonbQy9UWA2
 A+iFCx0vkPo/JEbui1gE3Pixekthlk9kEXeJVBhobiraDoAIqLir5EztYLgPZUGg
 wLxm1gAB6N7DrJGXxsl1ZsnkcZH4Qooy3D7kCYCqGGdse7hCIRLKdG/GXA8BK9Yz
 fYPQH34kqwNpOi3Um3/VivYJjk0srTsLNMNsRTDWe7WwH7h/eK7+XuhfnJaO8di+
 V0l6ptjldLwVFbpkr1RrUpIHTXoud99SfEAdu2SLADL6pumApjN2TjGTtdCzavSl
 XgdshCsPiPOZ7Ou8VFDSFjfGkkEBXOAw5CJTAy+mcxn1b+vEQ5scIv0uAD1koLTS
 5KyhSNdtYuBTjWk1lDlg
 =YmRO
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC DT Updates for v4.6

* Use SCIF and USBHS fallback compatibility strings
* Add Baud Rate Generator (BRG) support for (H)SCIF
* Enable SCIF_CLK frequency and pins
* Use GIC_* defines
* Enable audio on r8a7793/gose
* Enable HDMI vidio out on r8a7793
* Enable i2c on r8a7793/gose
* Enable QSPI on alt
* Enable GPIO keys and leds on gise
* Enable audio on porter
* Enable DU on porter

* tag 'renesas-dt-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (68 commits)
  ARM: dts: silk: Enable SCIF_CLK frequency and pins
  ARM: dts: porter: Enable SCIF_CLK frequency and pins
  ARM: dts: marzen: Enable SCIF_CLK frequency and pins
  ARM: dts: lager: Enable SCIF_CLK frequency and pins
  ARM: dts: koelsch: Enable SCIF_CLK frequency and pins
  ARM: dts: gose: Enable SCIF_CLK frequency and pins
  ARM: dts: bockw: Enable SCIF_CLK frequency and pins
  ARM: dts: alt: Enable SCIF_CLK frequency and pins
  ARM: dts: r8a7794: Add BRG support for (H)SCIF
  ARM: dts: r8a7793: Add BRG support for SCIF
  ARM: dts: r8a7791: Add BRG support for (H)SCIF
  ARM: dts: r8a7790: Add BRG support for (H)SCIF
  ARM: dts: r8a7779: Add BRG support for SCIF
  ARM: dts: r8a7778: Add BRG support for SCIF
  ARM: dts: r8a7794: Rename the serial port clock to fck
  ARM: dts: r8a7793: Rename the serial port clock to fck
  ARM: dts: r8a7791: Rename the serial port clock to fck
  ARM: dts: r8a7790: Rename the serial port clock to fck
  ARM: dts: r8a7779: Rename the serial port clock to fck
  ARM: dts: r8a7778: Rename the serial port clock to fck
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:02:53 -08:00
Lars Persson
39b898a049 ARM: multi_v7_defconfig: add MACH_ARTPEC6
Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:57:58 -08:00
Lars Persson
f68a4535a4 ARM: dts: artpec: add Artpec-6 development board dts
Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:56:55 -08:00
Lars Persson
f56454fa90 ARM: dts: artpeg: add Artpec-6 SoC dtsi file
Initial device tree for the Artpec-6 SoC.

Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:56:49 -08:00
Lars Persson
590b460c3e arm: initial machine port for artpec-6 SoC
Basic machine port for the Artpec-6 SoC from Axis
Communications.

Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:55:47 -08:00
Olof Johansson
d16073d385 Assorted bunch of 32bit Rockchip devicetree changes. More clocks,
nodes and fixes like the increased drive-strength on the firefly.
 Most interesting is maybe the enablement of the pl330 option
 for handling the broken flushp operation that is present on the
 current Rockchip SoCs. Together with the driver-side enablement
 this should give us working dma finally.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWvGKWAAoJEPOmecmc0R2B2j4IAKSBKgak7uASVfvycAnJ/E7a
 jNjcz9s/SAWGAu+ES36rX23r1/u/UlkdDX0yS0vCFR4eHNn35uUrl3lQdqjFEDXZ
 f/c9gCrHsfvQQJPLGRzkhFIrQ6L/Anrgk5nq75+C4GvMFRDsDo5qqRnS0iP3wIZP
 VALc9PFqq9kJnnrdFymHVgc9ETCR+kTM9YGqDTzHYT2pHKxkBTAANx+Pr7/1Ib0b
 BM/he5i7/K+NVb9pjw6t8JbyT2JgST+UcNFeGn6jYylYdW4awFzFvJN0Q9pp989y
 7mjJe6Suh36tjp0kX0DnOvBCWYXB2i62cSsjFxsf8rZGjCbZ3YtXS15EWwXsxto=
 =wj5r
 -----END PGP SIGNATURE-----

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

Assorted bunch of 32bit Rockchip devicetree changes. More clocks,
nodes and fixes like the increased drive-strength on the firefly.
Most interesting is maybe the enablement of the pl330 option
for handling the broken flushp operation that is present on the
current Rockchip SoCs. Together with the driver-side enablement
this should give us working dma finally.

* tag 'v4.6-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (30 commits)
  ARM: dts: cros-ec-keyboard: Add LOCK key to keyboard matrix
  ARM: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
  ARM: dts: rockchip: add arm,pl330-broken-no-flushp quirk for rk3036 SoCs
  ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3xxx platform
  ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3288 platform
  dt-bindings: rockchip-dw-mshc: add RK3036 dw-mshc description
  ARM: dts: rockchip: increase the mclk_fs to 512 for kylin board
  ARM: dts: rockchip: support the spi for rk3036
  ARM: dts: rockchip: add mclk for rt5616 on rk3036 kylin board
  ARM: dts: rockchip: add the leds control for rk3036-kylin board
  ARM: dts: rockchip: add tsadc node
  clk: rockchip: Add new id for rk3066 tsadc clock
  ARM: dts: rockchip: add clock-cells for usb phy nodes
  ARM: dts: rockchip: Assign RK3288 EDP_24M input centrally
  ARM: dts: rockchip: add soc-specific compatibles for rk3036 SoCs
  ARM: dts: rockchip: Bump sd card pin drive strength up on firefly boards
  dt-bindings: rockchip-dw-mshc: add RK3368 dw-mshc description
  ARM: dts: rockchip: Add the SDIO wifi on Radxa Rock2 square
  ARM: dts: rockchip: Add the iodomains for the Rock2 SOM
  ARM: dts: rockchip: add rk3288 mipi_dsi nodes
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:52:42 -08:00
Olof Johansson
6ba1c64cd2 Highlights:
-----------
  - Make STM32 to select PINCTRL
  - Introduce MACH_STM32F429 flag
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvIShAAoJEMo4jShGhw+JL6YP/3wmZoz3Bc6ILf8kmhvc+D4n
 mavOrXTj7Wy7ZfVFLTx5KrfBcTcXkeEP1ZSSSgSDVuhdWxn+SAnvm7DM4vLWklOf
 Q0ApxTk7QR0KBCvziGMUdL7dh+jAaN/cCsmOgbDwgMaJBmhkJVGJHM3VjDu0hKEw
 0LCaXyrn1xqD8bGuRSGh15eJ7jbsOAJlsjtWBs/EVLB3M4jjvW8ZOWgfgcb6EEJc
 OtaOXKZqlxveLy6fboOX8Brp3VlbZk6kv15OlpG0gGP4XfHeQTsAz3MswzSuYVIU
 1z+Z0qeHq6Ky540RPEy2xrQmgCnURN6y6zE+jbZzYRMkLFh85GvF/8bcmTB/0bMA
 7Lfzihrq+V6sASbjdVCelpc3Ulm1pSkUejVvrGNI9NzKcZ5fzalHz1c2l1Vc8/Ub
 ZOj45jOBUQQJrOealfofd20I6lXl3g59GZccNq/xI0/ywo5SRfeSvnS0fCPAgHEx
 6wlE+747RfSkndYpNUOknoWc0mkfD7PPYB5WZlKohq4Km7fnryXuaYMnQwALRYDC
 2N1F53sOWO4KeXUrhC8BcZEcQjwfqi8bbLBulYyy37GxS8DadoSZ07ljV7yldbMQ
 iYAQ1SVh/vSchaovM2tiua9Q+O59OOZAt+xDpJMU4GvVmPBWlrFsJ/pLXla4IfQK
 429BIEpyBTpFno/+wC0V
 =4+0S
 -----END PGP SIGNATURE-----

Merge tag 'stm32-soc-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/soc

Highlights:
-----------
 - Make STM32 to select PINCTRL
 - Introduce MACH_STM32F429 flag

* tag 'stm32-soc-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32:
  ARM: mach-stm32: Select pinctrl
  ARM: Kconfig: Introduce MACH_STM32F429 flag

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:47:45 -08:00
Olof Johansson
4d66fb810a Highlights:
-----------
  - Add DMA controller node to stm32f429 MCU
  - Add pinctrl & gpio nodes to stm32f429 MCU
  - Remap stm32429-eval board SD-Ram to 0x0 for performance boost
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvINRAAoJEMo4jShGhw+JVb4P/3d4IzEqBAtG/MPmFv/htev9
 jH98flRic0a1KWYhUcHjGYc4klALodof2aj3h6yWkm70dYNYonP99wBWrN/PieMi
 wMPwMBlBP++ufnsghnlbTqOHGXPxEgv7NMNvWukqD18MUkS1aLAqLo6CDtCRuEIH
 fTuhF+ONcrXEdYbjzx3G4lAm96DNWYCecfNCdnTn+XXE+q+M0eTSQYcVDZ4xkvBO
 qo89o1XexgXZhTySxbD9xIob82g3fnflwD7CG6EyKV3URAH3OF72JzwiFwt5hjXJ
 E6BT529LQ0krO4nkSVxhiwuTWn2eeIYoYfJph3ja+117EaDcPahMYQJ+/JT7+mx4
 4fe7Jxwj6KdHRQktJ8hVyZHqroqcFLy+EknuLXjgezVFn58H4m11lJ6WuQVrWjqK
 FuEqVxwNwmC96VXWo+fcimECV3r0QeduDwLqxDzEaFwvwbMzccb+t8F5Qo9TXvzz
 GT99Q4FJ2yVWDwukpZrk7z0wxfCYiyZNHCwiqaz8RsSgxTADBijTM0yUzkCNJftZ
 tBjAJqLHbrjc1IMTccoyYVoaN5/NPImrbglaxAvogTg3Kemi2QziWijniG1bBF1U
 0xW0zb2qFbQCvKwKnn5dBx5jjcUySJwnVvQFsV6veDrhZJP3J/4305tJPvB1z7fM
 +TUUTqOx4GjtHimlgc1U
 =j6TZ
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt

Highlights:
-----------
 - Add DMA controller node to stm32f429 MCU
 - Add pinctrl & gpio nodes to stm32f429 MCU
 - Remap stm32429-eval board SD-Ram to 0x0 for performance boost

* tag 'stm32-dt-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32:
  ARM: dts: stm32f429: Boost perfs by remapping SDRAM Bank 1 to 0x0
  ARM: dts: Add leds support to STM32F429 boards
  ARM: dts: Add USART1 pin config to STM32F429 boards
  ARM: dts: Add pinctrl node to STM32F429
  includes: dt-bindings: Add STM32F429 pinctrl DT bindings
  ARM: dts: Add STM32 DMA support for STM32F429 MCU

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:46:41 -08:00
Olof Johansson
9a9f182606 Merge branch 'lpc32xx/dt' of https://github.com/vzapolskiy/linux into next/dt
Merge DT changes for lpc32xx from Vladimir Zapolskiy:

"The changes add description of clock providers and clock consumers,
define default irq types of SoC controllers and add PHY3250 board
regulators.

I'm adding an official LPC32xx maintainer Roland to Cc, however he seems
to be unresponsive for a quite long time (since 2014)."

* 'lpc32xx/dt' of https://github.com/vzapolskiy/linux:
  arm: dts: phy3250: add SD fixed regulator
  arm: dts: phy3250: add lcd and backlight fixed regulators
  arm: dts: lpc32xx: assign interrupt types
  arm: dts: lpc32xx: remove clock frequency property from UART device nodes
  arm: dts: lpc32xx: add USB clock controller
  arm: dts: lpc32xx: add clock properties to device nodes
  arm: dts: lpc32xx: add clock controller device node
  arm: dts: lpc32xx: add device nodes for external oscillators
  dt-bindings: create arm/nxp folder and move LPC32xx SoC description to it

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:38:58 -08:00
Olof Johansson
1e4ee8791f Merge branch 'lpc32xx/soc' of https://github.com/vzapolskiy/linux into next/cleanup
From Vladimir Zapolskiy:

"The main change is a switchover to a common clock framework driver for
LPC32xx, this also allows to reuse a shared LPC32xx clockevent driver, and
hence remove legacy clock and timer drivers from arch/arm/mach-lpc32xx.

I'm adding an official LPC32xx maintainer Roland to Cc, however he seems
to be unresponsive for a quite long time (since 2014)."

* 'lpc32xx/soc' of https://github.com/vzapolskiy/linux:
  arm: lpc32xx: remove direct control of GPIOs from shared mach file
  arm: lpc32xx: remove selected HAVE_IDE
  arm: lpc32xx: switch to common clock framework

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 12:21:24 -08:00
Sudeep Holla
a6b1786897 ARM: dts: spear: replace gpio-key,wakeup with wakeup-source property
Keyboard driver for GPIO buttons(gpio-keys) checks for the legacy
"gpio-key,wakeup" boolean property to enable gpio buttons as wakeup
source.

Few dts files assign value "1" to gpio-key,wakeup which is incorrect.
Since the presence of the boolean property indicates it is enabled,
value of "0" or "1" have no significance.

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

Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 12:20:26 -08:00
Olof Johansson
e631847a9b This makes the RealView defconfig select SMP on UP
so we only need one defconfig for RealView, then adds
 USB mass storage configuration.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWubQdAAoJEEEQszewGV1z+/sQAIG5oQTEIcL1hqpvXt45aXWV
 EXDegA0Dn++yCHoxlG0f4UJvzuxwddvwPNGyaYGfSne3dJg25ufIFYwElXdcnhAe
 cbjS2BNOi7iYqv/WNRl+Afk1Aft0exjoQkT/ZVEFYrw6ZawxLneiSDTo5sTyqGBd
 T215nH7oAa1Yo6CPrzLBLlefWtINgzB0FSAoGQPe4dXWa9IIiqftSYjIzkEjVprI
 KYm14QMT7eiZgOzBr22zp+pGCrO3iE+EKbMXbYHCRYjonfpxxiV9BupBBjkBpUPO
 fDm/G7RX+Eu/DfogM3UvbWIgiRMwSPSk2eN65TY/K/+V7Zk577utBSYqmt+Hrobp
 QxqbeAdLk5yrT5LK7o6mgEhGX0Ur4QYAHY73lDOXQKG7ArOYwexyXEeVhgtj4mJh
 xa3nGLcIFeyZJj4J6brxy4JKku9yt/IyeRHimMeH+wPPI2trdVKQuGJjmJdrIwHH
 QWG4Igav+Xvde8y7GgKBP3d74chf5RTs71gTBImvdnFuWZHjTCyWipDSzTBjYGXi
 +PFiE/gAKHjF0wQd+bQzvMcBvVAOPYkOfCmGYGk16rQSpNHH+gcLzO/LxSNiahxn
 5HmR+KpW8fWiGrRdtdHQP2LqLTNHgU2UgNU/1nmm7mQOdfcGTjS7UTHM58A3hxlL
 NceDiHuVmWywr6XqJJTp
 =tRLy
 -----END PGP SIGNATURE-----

Merge tag 'realview-defconfig-redux' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/defconfig

This makes the RealView defconfig select SMP on UP
so we only need one defconfig for RealView, then adds
USB mass storage configuration.

* tag 'realview-defconfig-redux' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: realview: enable USB storage in the defconfig
  ARM: realview: delete realview-smp_defconfig
  ARM: realview: activate SMP on the default defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 12:17:50 -08:00
Olof Johansson
d877a214d5 Renesas ARM Based SoC Fixes for v4.5
* Avoid writing to .text
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWxqjiAAoJENfPZGlqN0++L3cP/2sJqc/apSDngPLv/K+JajST
 bsnJXwwSKtqybzlBr6SbjCcE1XCorKg1ShdTxeW4lwWMqYCpeB70gDrIYETQq3y8
 nNP5vyKfUbr53CNPNE5XabUXdZvUq0ZiNUU80t6wGqqzLYz+aho0u8fC20P280w3
 557YY6Kq+Kt38E8SbO7NeowjBMQHVnvMlQq7mtmoCCCNHc9qYF/rweCqPj37+Mpy
 K5MMHEnYciVGyIBry41e5Wi9DXTbMnnutw6PwGmuBIwujcNut2dckS59GDUsh3HB
 N6tP0H03xks+DUfPZVis8+k7b9nKELJZ5IDYIxE39M8uKb3sjBW6spuoV3yjooql
 k6EpiQqL+ux5opF9+WV3A3ZJN+w1IQs0B/OGqEj1JcRj003A+GRmG3HB0SIteNUB
 GhFPAUyX9WLFopEi3flkOatRbYgod3w6YkKA7nNjaR+z2TVFZ+O+GTfuXyRnjy16
 qDRqJhGrAgH5JputXBKCepnA068laK+kpFuvCxGt5LvTJovHO4xAM3kqwBCJ6ZbQ
 RL21bVlq1OK+t3gyNMLJa1eS0Ew3HMLGlWZfiI6FI8PlZPKwb91LYqprOyxPRitf
 +3AjWu7BmFDgLwHVsiibDpdS3TDGopv5u60/APuOxyAQ/PgDhFZjXhg5grHn+hxS
 Y1mjE1NH4RnTYKgSWapu
 =i1ze
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Fixes for v4.5

* Avoid writing to .text

* tag 'renesas-soc-fixes-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove shmobile_boot_arg
  ARM: shmobile: Move shmobile_smp_{mpidr, fn, arg}[] from .text to .bss
  ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
  ARM: shmobile: Move shmobile_scu_base from .text to .bss

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 08:48:22 -08:00
Marc Zyngier
1d6a821277 arm/arm64: KVM: Feed initialized memory to MMIO accesses
On an MMIO access, we always copy the on-stack buffer info
the shared "run" structure, even if this is a read access.
This ends up leaking up to 8 bytes of uninitialized memory
into userspace, depending on the size of the access.

An obvious fix for this one is to only perform the copy if
this is an actual write.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-02-24 11:53:09 +00:00
Heikki Krogerus
d54bbaf45a ARM: tegra: use build-in device properties with rfkill_gpio
Pass the rfkill name and type to the device with properties
instead of driver specific platform data.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
CC: Alexandre Courbot <gnurou@gmail.com>
CC: Thierry Reding <thierry.reding@gmail.com>
CC: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Thierry Reding <treding@nvidia.com>
Tested-by: Marc Dietrich <marvin24@gmx.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2016-02-24 09:13:08 +01:00
Olof Johansson
9fa6c2b1aa Two omap fixes for omaps against v4.5-rc5:
- Yet another fix for n900 onenand to avoid corruption. This time to
   fix the issue of mounting onenand back and forth between the original
   maemo kernel and mainline Linux kernel. And it also seems there will
   be two more fixes coming via the MTD tree as issues were discovered
   also in the onenand driver during testing.
 
 - Revert tps65217 regulator clean up as it breaks MMC for am335x
   variants. The proper way to clean this up is just to rename the
   tps65217.dtsi file into tps65217-am335x.dtsi as a similar setup
   is used on many am335x boards.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWy321AAoJEBvUPslcq6Vz0osQAI7OJXSLqdmle3eV2Y2AbdpJ
 jgZV31sjxCgnE91toURDpzzCNmpBwXKX8m2CToE4gCfERS9iNI1CXnV63AoR6A1Q
 mUbzWDuulTDlwdEs/1n2E6QlYi/HYISYUI0sEZdK71nyStNDjsXfALpTfOSMMFj/
 Jcr8FcCTM8ZdfvzAungijzc4szAJ1PHuV68PUbgE6t9c6s0zQfrT1E+Ty9CLPkyk
 jnVCLCCrgHe+9oIXDQYE0z473h69Ij9PfIJmcYlTH+Gcu8hIT2FK9UyrgUQcKrSl
 w4l1u8ZOA9225oYDjLE7RczPAsauIX1VHBqsNEVhmWsMc4LIjWdM+kF/8nB4Rve2
 UfGjtfdVIN07PksilvCJr4HhZI8eTfWRvMgsGN8ypTZX8roFoHHwzjwrS245X5ve
 VMdS3ZcTZsR8SoHrSYCJzfs10d27JDfL3ya5ekQREEJsANxwVSk2aHwRyTnxdMFd
 lMmbzWKiYtzLs8Uvol+4h/wp8LCllP7/LKE8SkN/D6gc+jCzu5M4uOgj1c5lZtjM
 mFawFqpO4a2bQbcyTLCzQ2oHaTAW+suXZ5TcszKblm35gSY61kK0uTP89lRS/6Fv
 UF7+SqJwmM4eaqS5KvfkT/8GcOkWpG/iXtoNlIMiTNyMNjWutJ/WpTaUQ34TdwGV
 etQjXrmU5xEI1Kow7T+h
 =tAiy
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.5/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Two omap fixes for omaps against v4.5-rc5:

- Yet another fix for n900 onenand to avoid corruption. This time to
  fix the issue of mounting onenand back and forth between the original
  maemo kernel and mainline Linux kernel. And it also seems there will
  be two more fixes coming via the MTD tree as issues were discovered
  also in the onenand driver during testing.

- Revert tps65217 regulator clean up as it breaks MMC for am335x
  variants. The proper way to clean this up is just to rename the
  tps65217.dtsi file into tps65217-am335x.dtsi as a similar setup
  is used on many am335x boards.

* tag 'omap-for-v4.5/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption
  Revert "regulator: tps65217: remove tps65217.dtsi file"

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:10:11 -08:00
Ludovic Desroches
5e45a2589d ARM: at91/dt: fix typo in sama5d2 pinmux descriptions
PIN_PA15 macro has the same value as PIN_PA14 so we were overriding PA14
mux/configuration.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Reported-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Fixes: 7f16cb676c ("ARM: at91/dt: add sama5d2 pinmux")
Cc: <stable@vger.kernel.org> # v4.4+
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:08:19 -08:00
Olof Johansson
b223c9f593 The i.MX fixes for v4.5:
- Drop the bogus interrupt-parent from i.MX6 CAAM node, which leads to
    the CAAM IRQs not getting unmasked at the GPC level.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJWwEEWAAoJEFBXWFqHsHzOvv4H/29Q3aZBN/L/0JzPyCckfWSw
 /l2UGsFW5UIBPbrOPW9tEPd4WRAUQ3BJKM2iNvvSSeNMvEO/Ni1+CtzQabCv7CGb
 sKRZOIQ8e8782K4aNmCMMwrVBhPMAewFuh4DkCDdN55sE5kN9CkDO0d6jzaHsDJf
 8GnuT5kq6qblV1HdsdVnEBjwL73v3wByUhUN3T6BplM4l9GtRRu7ox6s3dDdM4jG
 ohBRafPo0s+pMOI8LRs7howHQwAuSHCMP7zOzqCOwvSAa+GOwKIjpQFvAKU+mfex
 h+c2bdNxSCkDPG/QBwfk723qRWrDND0hMetHGNFn1zh8s0HhBzp7bNXKnLC5JF8=
 =9ONj
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes

The i.MX fixes for v4.5:
 - Drop the bogus interrupt-parent from i.MX6 CAAM node, which leads to
   the CAAM IRQs not getting unmasked at the GPC level.

* tag 'imx-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6: remove bogus interrupt-parent from CAAM node

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:05:58 -08:00
Olof Johansson
e3acd74f92 Few fixes for omaps against v4.5-rc3:
- Improve omap_device error message to tell driver writers what is
   wrong after commit 5de85b9d57 ("PM / runtime: Re-init runtime PM
   states at probe error and driver unbind"). There will be also a
   handful of driver related fixes also queued separately. But adding
   this error message makes it easy to fix any omap_device using
   drivers suffering from this issue so I think it's important to
   have.
 
 - Also related to commit 5de85b9d57 discussion, let's fix a bug
   where disabling PM runtime via sysfs will also cause the hardware
   state to be different from PM runtime state.
 
 - Fix audio clocks for beagle-x15.
 
 - Use wakeup-source instead of gpio-key,wakeup for the new entries
   that sneaked in during the merge window.
 
 - Fix a legacy booting vs device tree based booting regression for
   n900 where the legacy user space expects to have the device
   revision available in /proc/atags also when booted with device
   tree.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvmElAAoJEBvUPslcq6VzZ7sQAIdMX4Tn1z1lWA/dOvjczzSf
 5hZM9CBAn3McXAFKjKRLHbUDfkRGv/VQunbaZaQ8/nJQX3vlW9sd56oqHioQ2kAT
 DwrxdtX4aUasleGQmQh/gK0CI/eOhKpkARVrFr9XyAYS+My8xPes7sWlM5y9GCUO
 zJXsUH/FtXH/IgSO76QfkFceVUedNy0lYZqgEy5DcwJIwO5ZjuYF75Iy5xRDnX4G
 VSKKA8ap0qrTrAU2zBfb/djcLxt/7MgE0HBGMnEIXNRnQtFzw5NUzTibA0LUuj27
 YgpdcdiuBz6icCIuNJZH8GjWsx9J4BalHb2+qhDQtm0EJhV+uhpbXJ3BoPqvVw/7
 6Sv767DnbsBs2L8w1i0+DspRjJxKEfJxifISlbOz2g0O17Lbm1y+CPu767TUiuQ/
 KNHNfuI3uIxFfTZKEA6ae42wwFGP2B3SEaPOH5uINB6HjybNpRb6/xQNRe5OfY8E
 dG5Y8hsPjqsx9HiD2eqlpYlb8o7Yhf5vowXFG6EvwLM6rm1lL/9pOh3HGQXin075
 QTWHkhpwS/ihpEeRgJiG1sNTY5EjiqDvCZSDADpg1Nx4+RgdWm/WBxJEiflmaC0h
 ONdjcCsoApnrRRaWmVEUaYvZl9JmkUNH1r//PbWI9pDgvSqQUFOFEQmOoAo2W1xj
 4L6GzuxjNCERq8mc/8tC
 =1rk2
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.5/fixes-rc3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Few fixes for omaps against v4.5-rc3:

- Improve omap_device error message to tell driver writers what is
  wrong after commit 5de85b9d57 ("PM / runtime: Re-init runtime PM
  states at probe error and driver unbind"). There will be also a
  handful of driver related fixes also queued separately. But adding
  this error message makes it easy to fix any omap_device using
  drivers suffering from this issue so I think it's important to
  have.

- Also related to commit 5de85b9d57 discussion, let's fix a bug
  where disabling PM runtime via sysfs will also cause the hardware
  state to be different from PM runtime state.

- Fix audio clocks for beagle-x15.

- Use wakeup-source instead of gpio-key,wakeup for the new entries
  that sneaked in during the merge window.

- Fix a legacy booting vs device tree based booting regression for
  n900 where the legacy user space expects to have the device
  revision available in /proc/atags also when booted with device
  tree.

* tag 'omap-for-v4.5/fixes-rc3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix omap_device for module reload on PM runtime forbid
  ARM: OMAP2+: Improve omap_device error for driver writers
  ARM: DTS: am57xx-beagle-x15: Select SYS_CLK2 for audio clocks
  ARM: dts: am335x/am57xx: replace gpio-key,wakeup with wakeup-source property
  ARM: OMAP2+: Set system_rev from ATAGS for n900

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:05:11 -08:00
Olof Johansson
74a46ec6fb Merge tag 'mvebu-fixes-4.5-2' of git://git.infradead.org/linux-mvebu into fixes
mvebu fixes for 4.5 (part 2)

- Fix the missing mtd flash on linkstation lswtgl
- Use unique machine name for the kirkwood ds112 (for Debian flash-kernel tool)

* tag 'mvebu-fixes-4.5-2' of git://git.infradead.org/linux-mvebu:
  ARM: dts: orion5x: fix the missing mtd flash on linkstation lswtgl
  ARM: dts: kirkwood: use unique machine name for ds112

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:04:59 -08:00
Sricharan R
0a5d0f85bb dts: msm8974: Add dma channels for blsp2_i2c1 node
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:52:25 -06:00
Sricharan R
62bc817922 dts: msm8974: Add blsp2_bam dma node
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:52:25 -06:00
Stephen Boyd
65d4e83e34 ARM: dts: qcom: Remove size elements from pmic reg properties
The #size-cells for the pmics are 0, but we specify a size in the
reg property so that MPP and GPIO modules can figure out how many
pins there are. Now that we've done that by counting irqs, we can
remove the size elements in the reg properties and be DT
compliant.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:52:25 -06:00
John Stultz
46fb5280a0 devicetree: Add DTS file to support the Nexus7 2013 (flo) device.
This patch adds a dts file to support the Nexus7 2013
device. Its based off of the qcom-apq8064-ifc6410.dts
which is similar hardware.

Also includes some comments and context folded in
from Vinay Simha BN <simhavcs@gmail.com>

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Vinay Simha BN <simhavcs@gmail.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:33:55 -06:00
John Stultz
5d31f6065f devicetree: qcom-apq8064.dtsi: Add i2c3 address-cells and size-cells values
This adds address-cell and size-cell values to the i2c3 bus
in the qcom-apq8064.dtsi, which is needed to describe devices
on that bus.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Vinay Simha BN <simhavcs@gmail.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:33:48 -06:00
Stephen Boyd
30fc4212d5 arm: dts: qcom: Add more board clocks
These clocks are fixed rate board sources that should be in DT.
Add them.

Cc: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Bjorn Andersson
7ccb11e7b7 ARM: dts: qcom: msm8974: Add WCNSS SMP2P node
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Bjorn Andersson
9af88b2ded ARM: dts: qcom: msm8974: Add smsm node
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Bjorn Andersson
ca3971cf77 ARM: dts: qcom: msm8974: Add additional reserved regions
This adds the additional reserved regions found on 8974 based devices.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Georgi Djakov
aac1b2977d arm: dts: qcom: apq8064: Add RPMCC DT node
Add the RPM Clock Controller DT node.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Maxime Coquelin
a985b66ae5 ARM: dts: stm32f429: Fix clocks referenced by GPIO banks
All the clocks referenced by the GPIO banks were not the good ones.

Reported-by: Bruno Herrera <bruherrera@gmail.com>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-23 13:35:25 +01:00
Pali Rohár
b950762c3b ARM: dts: n900: Rename isp1704 to isp1707 to match correct name
This change does not break existing userspace or Maemo software because
isp1704_charger.c always export power supply device under isp1704 name.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2016-02-23 03:25:54 +01:00
Linus Torvalds
692b8c663c Xen bug fixes for 4.5-rc5
- Two scsiback fixes (resource leak and spurious warning).
 - Fix DMA mapping of compound pages on arm/arm64.
 - Fix some pciback regressions in MSI-X handling.
 - Fix a pcifront crash due to some uninitialize state.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJWyvatAAoJEFxbo/MsZsTRBFcH+wWnv0/N+gKib3cKCI4lwmTg
 n8iVgf8dNWwD36M2s/OlzCAglAIt8Xr6ySNvPqTerpm7lT9yXlIVQxGXTbIGuTAA
 h8Kt8WiC0BNLHHlLxBuCz62KR47DvMhsr84lFURE8FmpUiulFjXmRcbrZkHIMYRS
 l/X+xJWO1vxwrSYho0P9n3ksTWHm488DTPvZz3ICNI2G2sndDfbT3gv3tMDaQhcX
 ZaQR93vtIoldqk29Ga59vaVtksbgxHZIbasY9PQ8rqOxHJpDQbPzpjocoLxAzf50
 cioQVyKQ7i9vUvZ+B3TTAOhxisA2hDwNhLGQzmjgxe2TXeKdo3yjYwO6m1dDBzY=
 =VY/S
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-4.5-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen bug fixes from David Vrabel:

 - Two scsiback fixes (resource leak and spurious warning).

 - Fix DMA mapping of compound pages on arm/arm64.

 - Fix some pciback regressions in MSI-X handling.

 - Fix a pcifront crash due to some uninitialize state.

* tag 'for-linus-4.5-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/pcifront: Fix mysterious crashes when NUMA locality information was extracted.
  xen/pcifront: Report the errors better.
  xen/pciback: Save the number of MSI-X entries to be copied later.
  xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMORY
  xen: fix potential integer overflow in queue_reply
  xen/arm: correctly handle DMA mapping of compound pages
  xen/scsiback: avoid warnings when adding multiple LUNs to a domain
  xen/scsiback: correct frontend counting
2016-02-22 13:57:01 -08:00
Nishanth Menon
b9d3ec1d98 ARM: dts: am57xx-beagle-x15: Add eeprom information
Add EEPROM at 0x50 that describes the board configuration.
This is useful for userspace programs that may need to check board
revision and other similar information.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 11:18:40 -08:00
Adam Ford
89077c7145 ARM: dts: Add HSUSB2 EHCI Support to Logic PD DM37xx SOM-LV
The Logic PD SOM-LV has a USB Host Controller connected to 3-port
hub.  This enables the pin muxing for the host controller and
ehci-phy.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 11:07:28 -08:00
Tony Lindgren
8d08394f41 Merge branch 'n900-keys' into omap-for-v4.6/dt 2016-02-22 11:02:18 -08:00
Pali Rohár
97d7f2ff38 ARM: dts: n900: Use linux input defines instead hardcoded constants
This makes DTS structure more readable.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-By: Sebastian Reichel <sre@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:58:06 -08:00
Adam Ford
ab8dd3aed0 ARM: DTS: Add minimal Support for Logic PD DM3730 SOM-LV
The Logic PD DM37xx SOM-LV devkit consists of a base board and a SOM.
While the SOM (System on Module) supports Bluetooth and WiFi, LPD did not
obtain an FCC ID, so anyone who uses it will have to go through certification.

I have only tested the Type 28 Display, SMSC9211 Ethernet, SD/MMC and basic
power management, however the overall current seems high.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:56:38 -08:00
Adam Ford
730d7dcf03 ARM: dts: omap3logic: Add PWM-Backlight
The backlight pin is shared with Timer 10 PWM.  This patch allows the
pwm_bl driver to enable the pwm run by this timer to dim the backlight.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:17:42 -08:00
Nishanth Menon
4a64f3222e ARM: omap2plus_defconfig: Enable AT24 eeprom
AT24 compatible eeproms are used in BB family and X15 boards.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:13:28 -08:00
Javier Martinez Canillas
b7d6073cad ARM: omap2plus_defconfig: Enable TI TVP5150 video decoder support
Many OMAP3 boards have a TVP5150/1 video decoder attached to the OMAP3
ISP so enable support for its driver as a module to be able to test it.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:11:05 -08:00
Javier Martinez Canillas
ea00ab5ba6 ARM: omap2plus_defconfig: Enable ISP support and dependencies
The OMAP3 SoC has a Image Signal Processor (ISP) that's used to accelerate
camera images processing. The ISP driver implements V4L2, Media Controller
and V4L2 sub-dev interfaces so enable support for the driver and all these
dependencies to allow video capture to be tested using this HW IP block.

Also, disable the I2C ancillary drivers auto-select option since the media
driver does not auto-select the ancillary devices that are attached to the
bridge because this depends on what's present in the supported OMAP boards.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:10:27 -08:00
Javier Martinez Canillas
57228f664b ARM: omap2plus_defconfig: Enable OMAP IOMMU support
OMAP3 media platform drivers (i.e: omap3isp) needs IOMMU support so
enable it to be able to test the OMAP3 Image Signal Processor (ISP).

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:10:06 -08:00
Peter Ujfalusi
731ec4d881 ARM: OMAP2+: DMA: Provide dma_slave_map to omap-dma for legacy boot
We still have some boards booting in legacy mode and they will need to have
the device/slave -> filter_fn mapping so we can convert the OMAP drivers
to use the new dmaengine API for requesting channels.
Only some OMAP24xx and OMAP3xxx boards can boot in legacy mode which means
we only need to provide the map for these SoCs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:00:50 -08:00
Peter Ujfalusi
c4e357839e ARM: OMAP1: DMA: Provide dma_slave_map to omap-dma
OMAP1 can not boot in DT mode and to be able to clean up the driver
regarding to the dmaengine API use (switching to the new API) the
device/slave -> filter mapping needs to be provided to the omap-dma driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:59:44 -08:00
Ivaylo Dimitrov
05cf1e030b ARM: dts: omap3-n900: Allow gpio keys to be disabled
Add linux,can-disable; to all gpios exported from gpio-keys driver, so
userspace can disable them

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:56:45 -08:00
Ivaylo Dimitrov
3f315c5b85 ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption
Commit e7b11dc7b7 ("ARM: OMAP2+: Fix onenand rate detection to avoid
filesystem corruption") partially fixed onenand configuration when GPMC
module is reset. Finish the job by also providing the correct values in
ONENAND_REG_SYS_CFG1 register.

Fixes: e7b11dc7b7 ("ARM: OMAP2+: Fix onenand rate detection to avoid
filesystem corruption")
Cc: stable@vger.kernel.org # v4.2+
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:24:10 -08:00
Tony Lindgren
d9d806b902 ARM: OMAP2+: Fix out of range register access with syscon_config.max_register
If syscon_config.max_register is initialized like it should be, we have
omap_ctrl_read/write() fail with out of range register access at least
for omap3.

We have omap3.dtsi setting up a regmap range for scm_conf, but we now
have omap_ctrl_read/write() also attempt to use the regmap. However,
omap_ctrl_read/write() is also used for other register ranges in the
system control module (SCM).

Let's fix the issue by just removing the regmap_read/write() usage for
control module as suggested by Tero Kristo <t-kristo@ti.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:22:38 -08:00
Masahiro Yamada
f57deb0be5 ARM: 8543/1: decompressor: rename suffix_y to compress-y
The "$(suffix_y)" no longer appears in the file names, but it just
specifies the method of the file compression.  The "compress-y" sounds
more suitable.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:31 +00:00
Masahiro Yamada
53f67545c2 ARM: 8542/1: decompressor: merge piggy.*.S and simplify Makefile
The files piggy.$(suffix).S are similar enough to be merged into a
single file.  This also allows clean up of the Makefile.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:31 +00:00
Masahiro Yamada
b0b6abe5fd ARM: 8541/1: decompressor: drop redundant FORCE in Makefile
The object "piggy.$(suffix_y).o" is created from "piggy.$(suffix).S"
by the following pattern rule defined in scripts/Makefile.build:

  $(obj)/%.o: $(src)/%.S FORCE
          $(call if_changed_dep,as_o_S)

FORCE is already added to the prerequisite of the object there.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:31 +00:00
Masahiro Yamada
822ec1b6ea ARM: 8540/1: decompressor: use clean-files instead of extra-y to clean files
This code works fine here, but it is tricky to use "extra-y" for
specifying files to be removed during "make clean".  Kbuild provides
"clean-files" for this purpose.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:30 +00:00
Masahiro Yamada
684c12014b ARM: 8539/1: decompressor: drop more unneeded assignments to "targets"
The objects "font.o" and "misc.o" are contained in $(OBJS), and it
is already added to the "targets".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:30 +00:00
Masahiro Yamada
b44c72de44 ARM: 8538/1: decompressor: drop unneeded assignments to "targets"
The "targets" exists to specify which files need the corresponding
".*_cmd" files to be included during the build.  In other words, it
is used for files that need to detect the change of the command line
by if_changed, if_changed_dep, and if_changed_rule.  While, these
files are just copied by "$(call cmd,shipped)".  Adding them to the
"targets" is meaningless because $(call cmd,...) never creates
".*_cmd" files.  Such files as ".lib1funcs.S.cmd", ".ashldi3.S.cmd"
do not exist in the first place.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:29 +00:00
Arnd Bergmann
4d2b7d4cb4 ARM: 8532/1: uncompress: mark putc as inline
When CONFIG_DEBUG_ICEDCC is set, we don't use the platform
specific putc() function, but use icedcc_putc() instead, so
putc is unused and causes a compile time warning:

In file included from ../arch/arm/boot/compressed/misc.c:28:0:
arch/arm/mach-rpc/include/mach/uncompress.h:79:13: warning: 'putc' defined but not used [-Wunused-function]
arch/arm/mach-w90x900/include/mach/uncompress.h:30:13: warning: 'putc' defined but not used [-Wunused-function]

On most platforms, this does not happen, because putc is defined
as 'static inline' so the compiler will automatically drop it
when it's unused.

This changes the remaining seven platforms to behave the same way.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:55:42 +00:00
Arnd Bergmann
7d74a5f076 ARM: 8531/1: turn init_new_context into an inline function
Almost all architectures define init_new_context() as a function,
but on ARM, it's a macro and that causes a compiler warning when
its return code is not used:

drivers/firmware/efi/arm-runtime.c: In function 'efi_virtmap_init':
arch/arm/include/asm/mmu_context.h:88:34: warning: statement with no effect [-Wunused-value]
 #define init_new_context(tsk,mm) 0
drivers/firmware/efi/arm-runtime.c:47:2: note: in expansion of macro 'init_new_context'
  init_new_context(NULL, &efi_mm);

This changes the definition into an inline function, which gcc does
not warn about.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:55:42 +00:00
Arnd Bergmann
9e0087e64e ARM: 8530/1: remove VIRT_TO_BUS
All drivers that are relevant for rpc or footbridge have stopped
using virt_to_bus a while ago, so we can remove it and avoid some
harmless randconfig warnings for drivers that we do not care about:

drivers/atm/zatm.c: In function 'poll_rx':
drivers/atm/zatm.c:401:18: warning: 'bus_to_virt' is deprecated [-Wdeprecated-declarations]
   skb = ((struct rx_buffer_head *) bus_to_virt(here[2]))->skb;

FWIW, the remaining drivers using this are:

ATM:  firestream, zatm, ambassador, horizon
ISDN: hisax/netjet
V4L:  STA2X11, zoran
Net:  Appletalk LTPC, Tulip DE4x5, Toshiba IrDA
WAN:  comtrol sv11, cosa, lanmedia, sealevel
SCSI: DPT_I2O, buslogic
VME:  CA91C142

My best guess is that all of the above are so hopelessly obsolete that
we are best off removing all of them form the kernel, but that can be
done another time.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:55:42 +00:00
Kees Cook
1475399207 ARM: 8537/1: drop unused DEBUG_RODATA from XIP_KERNEL
With CONFIG_DEBUG_RODATA not being sensible under XIP_KERNEL, remove it
from the XIP linker script.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:43 +00:00
Arnd Bergmann
91c617d7a3 ARM: 8536/1: mm: hide __start_rodata_section_aligned for non-debug builds
The __start_rodata_section_aligned is only referenced by the
DEBUG_RODATA code, which is only used when the MMU is enabled,
but the definition fails on !MMU builds:

arch/arm/kernel/vmlinux.lds:702: undefined symbol `SECTION_SHIFT' referenced in expression

This hides the symbol whenever DEBUG_RODATA is disabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 64ac2e74f0 ("ARM: 8502/1: mm: mark section-aligned portion of rodata NX")
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:43 +00:00
Arnd Bergmann
ac96680d22 ARM: 8535/1: mm: DEBUG_RODATA makes no sense with XIP_KERNEL
When CONFIG_DEBUG_ALIGN_RODATA is set, we get a link error:

arch/arm/mm/built-in.o:(.data+0x4bc): undefined reference to `__start_rodata_section_aligned'

However, this combination is useless, as XIP_KERNEL implies that all the
RODATA is already marked readonly, so both CONFIG_DEBUG_RODATA and
CONFIG_DEBUG_ALIGN_RODATA (which depends on the other) are not
needed with XIP_KERNEL, and this patches enforces that using a Kconfig
dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 25362dc496 ("ARM: 8501/1: mm: flip priority of CONFIG_DEBUG_RODATA")
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:42 +00:00
Jean-Philippe Brucker
8d9f491367 ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs
ARMv6 CPUs do not have virtualisation extensions, but hyp-stub.S is
still included into the image to keep it generic. In order to use ARMv7
instructions during HYP initialisation, add -march=armv7-a flag to
hyp-stub's build.

On an ARMv6 CPU, __hyp_stub_install returns as soon as it detects that
the mode isn't HYP, so we will never reach those instructions.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:41 +00:00
Jean-Philippe Brucker
c7edd7f99c ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs
ARMv6 CPUs do not have virtualisation extensions, but hyp-stub.S is
still included into the image to keep it generic. In order to use ARMv7
instructions during HYP initialisation, add -march=armv7-a flag to
hyp-stub's build.

On an ARMv6 CPU, __hyp_stub_install returns as soon as it detects that
the mode isn't HYP, so we will never reach those instructions.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:13 +00:00
Peter Ujfalusi
2137d54d16 ARM: davinci: dm646x: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: fix typos in code]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:55:27 +05:30
Peter Ujfalusi
a4f86c55b9 ARM: davinci: dm644x: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: typo fixes in code]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:53:34 +05:30
Peter Ujfalusi
0c750e1fe4 ARM: davinci: dm365: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:51:33 +05:30
Peter Ujfalusi
f7a3be503f ARM: davinci: dm355: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: typo fixes in code]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:49:51 +05:30
Peter Ujfalusi
1ce9300bf7 ARM: davinci: devices-da8xx: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: fix map for edma1]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:39:39 +05:30
David Brown
11bf9b8658 ARM/vdso: Mark the vDSO code read-only after init
Although the ARM vDSO is cleanly separated by code/data with the code
being read-only in userspace mappings, the code page is still writable
from the kernel.

There have been exploits (such as http://itszn.com/blog/?p=21) that
take advantage of this on x86 to go from a bad kernel write to full
root.

Prevent this specific exploit class on ARM as well by putting the vDSO
code page in post-init read-only memory as well.

Before:
	vdso: 1 text pages at base 80927000
	root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables
	---[ Modules ]---
	---[ Kernel Mapping ]---
	0x80000000-0x80100000           1M     RW NX SHD
	0x80100000-0x80600000           5M     ro x  SHD
	0x80600000-0x80800000           2M     ro NX SHD
	0x80800000-0xbe000000         984M     RW NX SHD

After:
	vdso: 1 text pages at base 8072b000
	root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables
	---[ Modules ]---
	---[ Kernel Mapping ]---
	0x80000000-0x80100000           1M     RW NX SHD
	0x80100000-0x80600000           5M     ro x  SHD
	0x80600000-0x80800000           2M     ro NX SHD
	0x80800000-0xbe000000         984M     RW NX SHD

Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the
PaX Team, Brad Spengler, and Kees Cook.

Signed-off-by: David Brown <david.brown@linaro.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brad Spengler <spender@grsecurity.net>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Emese Revfy <re.emese@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nathan Lynch <nathan_lynch@mentor.com>
Cc: PaX Team <pageexec@freemail.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-hardening@lists.openwall.com
Cc: linux-arch <linux-arch@vger.kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1455748879-21872-8-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-22 08:51:39 +01:00
Kees Cook
e267d97b83 asm-generic: Consolidate mark_rodata_ro()
Instead of defining mark_rodata_ro() in each architecture, consolidate it.

Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ashok Kumar <ashoks@broadcom.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Brown <david.brown@linaro.org>
Cc: David Hildenbrand <dahi@linux.vnet.ibm.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Emese Revfy <re.emese@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Helge Deller <deller@gmx.de>
Cc: James E.J. Bottomley <jejb@parisc-linux.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: PaX Team <pageexec@freemail.hu>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: kernel-hardening@lists.openwall.com
Cc: linux-arch <linux-arch@vger.kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Link: http://lkml.kernel.org/r/1455748879-21872-2-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-22 08:51:37 +01:00
Peter Korsgaard
cb3cae9aa1 ARM: dts: sun4i: Enable USB DRC on Hyundai-a7hd
Enable the OTG USB controller on the A7HD.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-21 19:34:15 -08:00
Thomas Gleixner
fa00cb265e irqchip core changes for v4.6
- mvebu (armada-370-xp)
    - MSI support
    - Deconflict with mvebu's arm64 code
 
 - ts4800
    - Restrict when ts4800 driver can be built
    - Make ts4800_ic_ops static const
 
 - bcm2836: Drop superfluous memory barrier
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWxykyAAoJEP45WPkGe8ZnrKAQAKmzSaWwCutG76RWj/SvcwcP
 ByP8fFNM9kvQQBi3mIjD+Au9TExPQznfcs/z5+dkNXzJItvA6WRXK0D6EeUZmm8q
 GRhQ0AAbTA9oCXPnKFJPlAJONIszQV8tlO5ArOWQ7rU5Gal9v4vPPeLYnlUcf4ZC
 MkrMxoY9hydLTlxzJPJU5r3Tx64E2vbkJ/gzFo/r25DPCvKE/Vqm9rjFVxNFgH7h
 nUycaDJaeFiXSng1t2krlOtdc160JsxUSAT5dKu3Q/gV/yOtCMhDtRlMPdjNhM1y
 ged0U1q03NobDLFgjV6DlEyGgQr3Mn5kpVbsvg+A12M/BFAiT1zNNzbLUbIj0rRs
 WdadRWXkmLUshSO84pMCNqtAesBcty0sjTcUoxOiGxifzfMHR/58pKbFXXAsuGjF
 Ra1Loyn7YPGxEbSHuWUzhE342PNErIizXFu228xa6YC/NhhrqrB8bd3U8olyqox6
 IoQ2cbZxjxYeLynMyyMGK+UqPFuQKB7Ib8kZpxRvtbYXYq3iUHils3wge4jRVNjT
 PDH5S2N1kqa8T+T3befbNnHWjXT4ohD3BGkW53vImPxDWGYhDxvcnaHtRTIt9BB8
 vPlfKKlOYI1m82yDm1v2WMgj+rE2XEEFNdRDNaP//DtOMdXmMOB52xq6ROks+GmC
 wIK82x6+yZHYx0mVtp1I
 =Omn0
 -----END PGP SIGNATURE-----

Merge tag 'irqchip-core-4.6' of git://git.infradead.org/users/jcooper/linux into irq/core

Pull irqchip core changes for v4.6 from Jason Cooper:

- mvebu (armada-370-xp)
   - MSI support
   - Deconflict with mvebu's arm64 code

- ts4800
   - Restrict when ts4800 driver can be built
   - Make ts4800_ic_ops static const

- bcm2836: Drop superfluous memory barrier
2016-02-21 20:53:46 +01:00
Robert Jarzmik
6b9d526b77 ARM: pxa: pxa3xx device-tree support cleanup
Clocks, timer and several other drivers have well defined and working
device-tree bindings. Clean-up the code to leave only the strict
minimum. The final goal will be to remove the lookup array.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2016-02-20 22:02:55 +01:00
Florian Fainelli
ac07c41c9a This pull request covers mostly DT changes that didn't make it into
4.5 because required header files went through other trees, plus the
 AUX uart support this time around.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCgAGBQJWxNEzAAoJELXWKTbR/J7oNq0P/jE23t6R9eEZFcTCyhgLqgtA
 X5/fVBMlCB4s6njH/Uja747+2DTA8003W+6AonJ3a5N/Bko7FV67IYPN18yXmGto
 FU0a/zFBT+7ls+06xz4kdzJa0RNWDd2D0YGM9ayBmifOidcuSOzN52aFcLZsRXSm
 JeBAAGpjiCcL9gcOAXC/ZBp9gYNztLD6r8eruYIisR1No7qwZCXAfwyqIgwoiDzh
 VNjWuM+p3YoJQu8MG+cnpJTGD47KnbGArncJuvnFgYvUwIzu4JUsW8ua7N1rGmOf
 UO6sIMrdfBJaKk8rk4/P1OvzF3Tf02iBe09X4f6mQXkLrDWUN2qBUyiugwWG91y5
 7sQfJx/YxySJMf7RAVTRa9lBtSbqOqvuxrGhPGSXEx70X2itbYGjgWgKhg+T8D15
 v7SxPa8V9o600IJ5PTkRUVaipCgwLztAAZjfdP6b39sJNqKt72jaA2K8BW5cAyNz
 fo8bPkLH36Va9sbV4ei/YSoJqmHGut8nutszF9KVSQmWwA49B6uWqaAFa9BjJJev
 HOlcokwQDK9xRvcrO0qsLmnLFO8FPkSKCWb36OmJmpFoYLKBri6GDhw4s6063DAv
 djy1MegvFA2YoeshyH88HnOGn/wv5wbS9v0pNhzLhzV79yHFacLLEdhI0iAApIzc
 5v/56QQiivu6acF05Wr8
 =MTTP
 -----END PGP SIGNATURE-----

Merge tag 'bcm2835-dt-next-2016-02-17' into devicetree/next

This pull request covers mostly DT changes that didn't make it into
4.5 because required header files went through other trees, plus the
AUX uart support this time around.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-20 11:05:55 -08:00
Keerthy
69101b2035 ARM: dts: am43x-epos-evm: Add the am438 compatible string
The SoCs on am43x-epos-evm are named am438x.
Hence add the compatibility string and remove the am4372 string.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 10:55:13 -08:00
Tony Lindgren
baa10e0dd2 ARM: OMAP2+: first set of hwmod fixes and additions for v4.6
A few fixes for OMAP hwmod data.  SSI hwmod data for the OMAP 3730,
 and some fixes for the DRA7xx hwmod data.  These shouldn't interfere
 or impact anything else.
 
 Basic build, boot, and PM test logs are available here:
 
 http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.6/20160214161224/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWxL3qAAoJEMePsQ0LvSpLN0EP/RIVPdWTdXFXVlYHLf6SMmIs
 UxACv5uIEbj1kj3VgMNYIKgPLV57rmotoHpSv5oDxg0f53sfj0qcm4MwVkVOxb+2
 NkrDqMu5k+l/LSmILCJ1CbttiTxCrfaBESPEt8sPnXSzkGeRJDYQzfS5ZGM7C2qg
 ms+WQc60rUizSrQgywAn2SRt4Hu/IMxh06UJubnqoUn3TNQa0HPA8IIXKbvEJTxR
 o65R4Kq4ObjmaPYMNsEYqqhtnY9uDqXWeJrb2wnyXRLVMYv4O50OV7O29wcvJiQ9
 HmilOZ1vA2CyqZOflIPt4ovNcngD3dc2wJ5CPEfrUGcr2dji9H/pZjDlAKatnRz+
 Xg73Zw8aCd+Rs+Xqk13GpZs3PlsWyNsdTOCuGPOW2BkHIDyMmgWjdRaMx+aYZLMG
 XSFiEEoMFa3V6U1JpTNI3M6xiME6HDwj8efw1m+oJVYe3V7KsoqfFD02xn6Z0/Qk
 qupqj1WMPFOq4vorah9NosEQl9ERmZVASySQ5kah0+na3bYmboTV/SlV4oUHtD7H
 4ML3WQ82S0v+9GVzux2BT9YZfwUX8T+QZHYhOjLsxgZHajUx128IAJdLuf3fVPm+
 u/liLBvnaG0Raj/oKbE/QanP65kf8GTbL8qF7D+Lfj3WloNRq79w6/oc7UtHW0jC
 HCNTnLg8ynkFcTId9adW
 =BCT2
 -----END PGP SIGNATURE-----

Merge tag 'for-v4.6/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.6/fixes-not-urgent

ARM: OMAP2+: first set of hwmod fixes and additions for v4.6

A few fixes for OMAP hwmod data.  SSI hwmod data for the OMAP 3730,
and some fixes for the DRA7xx hwmod data.  These shouldn't interfere
or impact anything else.

Basic build, boot, and PM test logs are available here:

http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.6/20160214161224/
2016-02-19 10:37:34 -08:00
Pali Rohár
98f4222150 ARM: OMAP3: Add cpuidle parameters table for omap3430
Based on CPU type choose generic omap3 or omap3430 specific cpuidle
parameters. Parameters for omap3430 were measured on Nokia N900 device and
added by commit 5a1b1d3a9e ("OMAP3: RX-51: Pass cpu idle parameters")
which were later removed by commit 231900afba ("ARM: OMAP3: cpuidle -
remove rx51 cpuidle parameters table") due to huge code complexity.

This patch brings cpuidle parameters for omap3430 devices again, but uses
simple condition based on CPU type.

Fixes: 231900afba ("ARM: OMAP3: cpuidle - remove rx51 cpuidle
parameters table")
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 10:35:39 -08:00
Keerthy
06c2d368fc ARM: OMAP: DRA7: Make use of omap_revision information for soc_is* calls
Currently of_machine_is_compatible is used to detect the soc which
employs string comparison operations. We already have all the required
information in the omap_revision. Hence make use of the same like
the previous OMAPs and avoid costly string comparisons.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 10:12:52 -08:00
Peter Ujfalusi
e327b3f564 Revert "regulator: tps65217: remove tps65217.dtsi file"
This reverts commit 8e6ebfaa9b.

Without the patch reverted regulators will not work. This prevents
MMC to be working for example so the boards can not boot to
MMC rootfs.

Tested it on beaglebone white and bisect also points to the
reverted commit.
The issue can be also fixed by adding "regulator-compatible =" to all board
dts file for the regulators.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 09:05:53 -08:00
Linus Torvalds
23300f6575 arm64 fixes:
- Allow EFI stub to use strnlen(), which is required by recent libfdt
 
 - Avoid smp_processor_id() in preempt context during unwinding
 
 - Avoid false Kasan warnings during unwinding
 
 - Ensure early devices are picked up by the IOMMU DMA ops
 
 - Avoid rebuilding the kernel for the 'install' target
 
 - Run fixup handlers for alignment faults on userspace access
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCgAGBQJWxwt3AAoJELescNyEwWM09rIH/3ygrixUcnk/22vI+y32ALDL
 TpBih0pgNmFmls3QxTQaIYqsdjfHVCuzoLRcHGYsPgb42fIeLTgcx6Bp4xacUVGh
 +xjBdEjacUR92TiB/QeP3lNEYIuBhHEPE+H5hHccbdRa+xNB5rUx0Z6nTRokOM4u
 j25KiNf5wO2bOMwo6TNYT0N1Lggp+TZrIP2bIUkWm+RSorF3NGqLS0Rw3ZKwBXxm
 jtUA4ohKR3uyeRHki8Nw/M/AV+gMq+nELX1RGK4HMW00cqakKwIEFvANbdbxGMmg
 q7OIgluSK3BCTQPVQTiss+W6rEjg1z0dTyHGCPVwP16SGXH2i0ys0xQ0BZR5SMw=
 =/uso
 -----END PGP SIGNATURE-----

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

Pull arm64 fixes from Will Deacon:
 "Here are some more arm64 fixes for 4.5.  This has mostly come from
  Yang Shi, who saw some issues under -rt that also affect mainline.
  The rest of it is pretty small, but still worth having.

  We've got an old issue outstanding with valid_user_regs which will
  likely wait until 4.6 (since it would really benefit from some time in
  -next) and another issue with kasan and idle which should be fixed
  next week.

  Apart from that, pretty quiet here (and still no sign of the THP issue
  reported on s390...)

  Summary:

   - Allow EFI stub to use strnlen(), which is required by recent libfdt

   - Avoid smp_processor_id() in preempt context during unwinding

   - Avoid false Kasan warnings during unwinding

   - Ensure early devices are picked up by the IOMMU DMA ops

   - Avoid rebuilding the kernel for the 'install' target

   - Run fixup handlers for alignment faults on userspace access"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: mm: allow the kernel to handle alignment faults on user accesses
  arm64: kbuild: make "make install" not depend on vmlinux
  arm64: dma-mapping: fix handling of devices registered before arch_initcall
  arm64/efi: Make strnlen() available to the EFI namespace
  arm/arm64: crypto: assure that ECB modes don't require an IV
  arm64: make irq_stack_ptr more robust
  arm64: debug: re-enable irqs before sending breakpoint SIGTRAP
  arm64: disable kasan when accessing frame->fp in unwind_frame
2016-02-19 08:40:05 -08:00
Dinh Nguyen
31d74b2bf0 ARM: socfpga_defconfig: enable support for initramfs/initrd support
Enable CONFIG_BLK_DEV_INITRD.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
2016-02-19 03:48:20 -06:00
Linus Walleij
66d718ddaf ARM: plat-orion: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
c788aab7e5 ARM: w90x900: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
985b7f23cb ARM: simpad: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
264af42e92 ARM: s3c24xx: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
010b16d454 ARM: ixp4xx: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
006a7f6ac2 ARM: imx: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:41 +01:00
Linus Walleij
90b9bb81bc ARM: gemini: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:41 +01:00
Linus Walleij
050c542938 ARM: scoop: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: arm@kernel.org
Cc: Richard Purdie <rpurdie@rpsys.net>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:41 +01:00
Sergei Shtylyov
89aac8af1a ARM: dts: r8a7794: add EtherAVB support
Define the generic R8A7794 part of the EtherAVB device node.

Based on the commit 46ece349aa ("ARM: shmobile: r8a7791: add EtherAVB DT
support").

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:54:11 +09:00
Sergei Shtylyov
255a40424e ARM: dts: r8a7794: add EtherAVB clock
Add the EtherAVB clock to the R8A7794 device tree.

Based on the commit eaa870b305 ("ARM: shmobile: r8a7791: add EtherAVB
clock").

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:54:10 +09:00
Geert Uytterhoeven
71d076ceb2 ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
All supported Renesas ARM SoCs (except for Emma Mobile EV2) have clock
domains. Some SoCs also have power domains. To ensure proper operation
of on-SoC modules, module clocks must be ungated, and power domains must
be powered up when needed.

Currently the user can choose to build a kernel with power management
enabled or disabled:
  - If CONFIG_PM=y, power domains and/or module clocks are handled
    dynamically by Runtime PM and the generic power domain.
  - If CONFIG_PM=n, power domains are assumed to be powered up by reset
    state or by the boot loader, and module clocks are handled by the
    legacy clock domain on driver (un)bind.
    The latter is implemented using a platform bus notifier, which
    applies not only to all on-SoC devices, but to all platform devices
    present in the system.

To remove the dependency on implicit assumptions, and to get rid of the
peculiarities of the legacy clock domain, enable CONFIG_PM and
CONFIG_PM_GENERIC_DOMAINS unconditionally, for all Renesas ARM SoCs with
clock and/or power domains.

This does cause an increase in kernel size.  Given bloat-o-meter reports
a modest increase of 26 KiB for an RZ/A1H kernel, this should not be a
problem, even when used on RZ/A1H with XIP and internal RAM only.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:41 +09:00
Simon Horman
c816617e8b ARM: dts: r8a7794: replace gpio-key, wakeup with wakeup-source property
Though the keyboard driver for GPIO buttons(gpio-keys) will continue to
check for/support the legacy "gpio-key,wakeup" boolean property to
enable gpio buttons as wakeup source, "wakeup-source" is the new
standard binding.

This patch replaces the legacy "gpio-key,wakeup" with the unified
"wakeup-source" property in order to avoid any further copy-paste
duplication.

Changelog text from a similar patch by Sudeep Holla.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
2016-02-19 14:52:23 +09:00
Geert Uytterhoeven
d12a384a1b ARM: dts: r8a7794: Add L2 cache-controller node
Add a device node for the L2 cache, and link the CPU nodes to it.

The L2 cache for the Cortex-A7 CPU cores is 512 KiB large (organized as
64 KiB x 8 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:23 +09:00
Geert Uytterhoeven
fdd0dbd8a2 ARM: dts: r8a7793: Add L2 cache-controller node
Add a device node for the L2 cache, and link the CPU node to it.

The L2 cache for the Cortex-A15 CPU cores is 1 MiB large (organized as
64 KiB x 16 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:23 +09:00
Geert Uytterhoeven
8ffe93a5b2 ARM: dts: r8a7791: Add L2 cache-controller node
Add a device node for the L2 cache, and link the CPU nodes to it.

The L2 cache for the Cortex-A15 CPU cores is 1 MiB large (organized as
64 KiB x 16 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:22 +09:00
Geert Uytterhoeven
fb1cecd406 ARM: dts: r8a7790: Add L2 cache-controller nodes
Add device nodes for the L2 caches, and link the CPU nodes to them.

The L2 cache for the Cortex-A15 CPU cores is 2 MiB large (organized as
128 KiB x 16 ways).

The L2 cache for the Cortex-A7 CPU cores is 512 KiB large (organized as
64 KiB x 8 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:22 +09:00
Geert Uytterhoeven
c86a4b6219 ARM: dts: r8a73a4: Add L2 cache-controller nodes
Add device nodes for the L2 caches, and link the CPU node to its L2
cache node.

The L2 cache for the Cortex-A15 CPU cores is 1 MiB large (organized as
64 KiB x 16 ways), and located in PM domain A3SM.

The L2 cache for the Cortex-A7 CPU cores is 512 KiB large (organized as
64 KiB x 8 ways), and located in PM domain A3KM.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:21 +09:00
Kuninori Morimoto
57f9156bc6 ARM: dts: r8a7793: enable to use thermal-zone
This patch enables to use thermal-zone on r8a7793.
This thermal sensor can measure temperature from -40000 to 125000,
but over 117000 can be critical on this chip.
Thus, default critical temperature is now set as 115000 (this driver
is using 5000 steps) (Current critical temperature is using it as
90000, but there is no big reason about it)

And it doesn't check thermal zone periodically (same as current
behavior). You can exchange it by modifying polling-delay[-passive]
property.

You can set trip temp if your kernel has CONFIG_THERMAL_WRITABLE_TRIPS,
but you need to take care to use it, since it will call
orderly_poweroff() it it reaches to the value.
echo $temp > /sys/class/thermal/thermal_zone0/trip_point_0_temp

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:18 +09:00
Geert Uytterhoeven
c58b31aa46 ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h
make C=1:

    arch/arm/mach-shmobile/smp-emev2.c:51:29: warning: symbol 'emev2_smp_ops' was not declared. Should it be static?

To fix this, move the forward declaration of emev2_smp_ops to a header
file, and include it where appropriate.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:31 +09:00
Geert Uytterhoeven
247ac89b99 ARM: shmobile: emev2: Remove legacy machine_desc.map_io() callback
Commit FIXME ("ARM: shmobile: Consolidate SCU mapping code") removed the
last user of the static mapping on emev2-based systems.  Remove the
mapping and the legacy machine_desc.map_io() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:30 +09:00
Geert Uytterhoeven
f5757b9af8 ARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback
Commit 37201ba5c99d0be8 ("ARM: shmobile: r8a7740: Migrate to generic l2c
OF initialization") removed the last user of the legacy "IOMEM()" macro
on r8a7740-based systems. Hence there's no longer a need to set up a
transparent mapping of system I/O registers. Remove the mapping and the
legacy machine_desc.map_io() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:30 +09:00
Geert Uytterhoeven
c4be044abc ARM: shmobile: r8a7740: Remove mapping of L2 cache controller registers
Now all r8a7740-based platforms have been migrated to the generic l2c OF
initialization, it's no longer needed to map the L2 cache controller
registers from .map_io().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:30 +09:00
Geert Uytterhoeven
4a6cc50151 ARM: shmobile: r8a7740: Migrate to generic l2c OF initialization
Migrate the generic r8a7740 platform from calling l2x0_of_init() to the
generic l2c OF initialization.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:29 +09:00
Keerthy
4321dc8dff ARM: AM43XX: hwmod: Add rtc hwmod
The patch registers the rtc hwmod on AM437x chips.  The RTC module is
physically present on the AM438x SoC used on AM43X-EPOS-EVM, but it is
permanently disabled. A secure RTC is used instead on these devices,
where needed. Hence adding it selectively using a separate list to get
RTC Module functional on the other am43x SoCs used on am437x-gp-evm
and am437x-sk-evm.

Signed-off-by: Keerthy <j-keerthy@ti.com>
[paul@pwsan.com: cleaned up patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2016-02-18 21:46:19 -07:00
Marc Zyngier
8f318526a2 irqchip/gic-v3: Add missing barrier to 32bit version of gic_read_iar()
Commit 1a1ebd5 ("irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is
visible on redestributor") fixed the missing barrier on arm64, but
forgot to update the 32bit counterpart, which has the same requirements.
Let's fix it.

Fixes: 1a1ebd5 ("irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor")
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-02-18 19:15:45 +00:00
Ard Biesheuvel
a0bf9776cd arm64: kvm: deal with kernel symbols outside of linear mapping
KVM on arm64 uses a fixed offset between the linear mapping at EL1 and
the HYP mapping at EL2. Before we can move the kernel virtual mapping
out of the linear mapping, we have to make sure that references to kernel
symbols that are accessed via the HYP mapping are translated to their
linear equivalent.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-18 18:16:40 +00:00
Ludovic Desroches
5e72c25b40 ARM: dts: at91: sama5d2 Xplained: enable the adc device
Enable the adc on the sama5d2 Xplained board.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-02-18 03:10:05 +01:00
Ludovic Desroches
aea14e1496 ARM: dts: at91: sama5d2: add adc device
Add the ADC device, and remove the adc_op_clk which is useless since the
adc sampling frequency is configured with sysfs.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-02-18 03:09:54 +01:00
Ludovic Desroches
48a2e12adb ARM: at91/defconfig: add sama5d2 adc support in sama5_defconfig
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-02-17 22:51:48 +01:00
Daniel Stone
0a05d3b71a ARM: multi_v7_defconfig: Enable BCM283x
Enable the BCM2835/BCM2836 options required to boot Raspberry Pi.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Olof Johansson <olof@lixom.net>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stefan Wahren
aa6c53be57 ARM: bcm2835_defconfig: Enable RPi power domain driver
After enabling the Raspberry Pi firmware driver which allow us to handle
power domains for USB or graphics.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stefan Wahren
da496d1287 ARM: bcm2835_defconfig: Enable RPi firmware driver
This enables the Raspberry Pi driver for GPU specific features.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
e55345e7ee ARM: bcm2835_defconfig: enable ARMv7 support
This makes the RPi2 work; it has an ARMv7 CPU.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
21fb10be46 ARM: bcm2835_defconfig: disable DEBUG_LL
This way the kernel works on both RPi0/1 and RPi2 even with earlyprintk
in the kernel cmdline; the two hardware platforms use different physical
addresses for peripherals, so the same DEBUG_LL configuration won't work
on both. If someone needs DEBUG_LL support, they can enable it locally.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
990246906d ARM: bcm2835_defconfig: rebuild on next-20160205
This separates explicit changes desired in later patches from "automatic"
or irrelevant changes caused solely by Kconfig changes.

make ARCH=arm bcm2835_defconfig
make ARCH=arm savedefconfig
mv defconfig arch/arm/configs/bcm2835_defconfig

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Martin Sperl
1305141d1a ARM: bcm2835: add bcm2835-aux-uart support to DT
Add bcm2835-aux-uart support to the device tree.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:01:00 -08:00
Alexandre Belloni
6c38bda9ae ARM: at91: remove useless includes and function prototypes
Remove leftover from the previous cleanup

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:02 +01:00
Alexandre Belloni
fbc7edca5a ARM: at91: pm: move idle functions to pm.c
Avoid using code from clk/at91 for PM.
This also has the bonus effect of setting arm_pm_idle for sama5 platforms.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:02 +01:00
Alexandre Belloni
5737b73e19 ARM: at91: pm: find and remap the pmc
To avoid relying on at91_pmc_read(), find the pmc node and remap it
locally.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:01 +01:00
Alexandre Belloni
997ff83b55 ARM: at91: pm: simply call at91_pm_init
at91_pm_init() doesn't return a value, as is the case for its callers,
simply call it instead of returning its non-existent return value.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:01 +01:00
Boris Brezillon
863a81c3be clk: at91: make use of syscon to share PMC registers in several drivers
The PMC block is providing several functionnalities:
 - system clk management
 - cpuidle
 - platform suspend

Replace the void __iomem *regs field by a regmap (retrieved using syscon)
so that we can later share the regmap across several drivers without
exporting a new specific API or a global void __iomem * variable.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
2016-02-17 17:52:58 +01:00
Lee Jones
9fe5bf92c3 ARM: configs: Add new config fragment to change RAM start point
Rather than duplicate a defconfig for each difference
between platforms, we can choose to pick a basic defconfig and
manipulate it at run-time using config fragments.  Here we're
adding a new fragment to over-ride the RAM start point to 0x0.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-17 17:31:30 +01:00
Lee Jones
f48e3d687e ARM: stm32: Supply a DTS file for the STM32F469 Discovery board
It's pretty similar to the STM32F429, but there are some
subtle changes required to boot successfully.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-17 17:31:07 +01:00
Lee Jones
6391503bbf ARM: stm32: Identify a new SoC - STM32F469
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-17 17:30:44 +01:00
Arnd Bergmann
8e58041114 ARM: davinci: make I2C support optional
The davinci platform has tried to get support for the EEPROM right,
but failed to get a clean build so far. At the moment, we get
a warning whenever CONFIG_SYSFS is disabled, as that is needed by
EEPROM_AT24:

warning: (MACH_DAVINCI_EVM && MACH_SFFSDR && MACH_DAVINCI_DM6467_EVM && MACH_DAVINCI_DM365_EVM && MACH_DAVINCI_DA830_EVM && MACH_MITYOMAPL138 && MACH_MINI2440) selects EEPROM_AT24 which has unmet direct dependencies (I2C && SYSFS)

Kevin Hilman initially added the 'select' to ensure that EEPROM_AT24
is always enabled in machines that really want it for normal operation
(i.e. for reading the MAC address). This broke when I2C was disabled,
and Russell King followed up with another patch to select that as
well.

I now see that the SYSFS dependency is still missing, which leaves
us with three options:

a) add 'select SYSFS' in addition to the others
b) change AT24_EEPPROM to work without sysfs (should be possible)
c) remove all those selects again and get the files to build when
   I2C is disabled.

I would really hate to do a) because adding select statements that
hardwire user-selectable symbols is generally a bad idea. I first
tried b) but then ended up redoing the patch from scratch to approach
c), so we can also remove the other selects.

I checked that CONFIG_I2C is still enabled with davinci_all_defconfig,
so that does not have to change.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 45b146d746 ("ARM: Davinci: Fix I2C build errors")
Fixes: 22ca466847 ("davinci: kconfig: select at24 eeprom for selected boards")
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:20:05 +05:30
Arnd Bergmann
ce32c5c5a3 ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT
We already forbid that combination when AUTO_ZRELADDR is disabled,
for the same reason that the two have their RAM at different
physical addresses as seen from the CPU.

This does the same change for PATCH_PHYS_VIRT: if you disable
either of the options, Kconfig now enforces that you have to
pick one or the other SoC family.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:13:24 +05:30
Arnd Bergmann
a32b4fe90a ARM: davinci: avoid unused mityomapl138_pn_info variable
The mityomapl138_pn_info structure belongs into the CPU_FREQ support
that is hidden behind an #ifdef, and causes a harmless warning when
that support is disabled:

mach-davinci/board-mityomapl138.c:59:28: error: 'mityomapl138_pn_info' defined but not used [-Werror=unused-variable]

This moves the variable definition where it belongs.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:11:18 +05:30
Arnd Bergmann
22c7b4a7c9 ARM: davinci: limit DT support to DA850
When da8xx-dt.c is built with onlu DA830 support but not DA850
support enabled, we get a compiler warning about unused symbols:

arch/arm/mach-davinci/da8xx-dt.c:28:20: warning: 'da8xx_init_irq' defined but not used [-Wunused-function]
 static void __init da8xx_init_irq(void)
arch/arm/mach-davinci/da8xx-dt.c:33:30: warning: 'da850_auxdata_lookup' defined but not used [-Wunused-variable]
 static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {

Obviously none of the file make sense for DA830, so we should not
even attempt this, so we can avoid the warning by ensuring it is
only built for 850, not 830.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:09:15 +05:30
Magnus Damm
cf77db5165 ARM: shmobile: Kconfig: Get rid of old comment
Remove comment that used to be part of non-multiplatform
kernel support. Now with multiplatform-only we have no
Renesas-specific System Configuration entries.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 21:24:29 +09:00
Geert Uytterhoeven
8701d8083d ARM: shmobile: Consolidate SCU mapping code
Currently the SCU registers are mapped in SoC-specific code, using
different methods, all involving the static mapping set up from
machine_desc.map_io():
  - On emev2, a static (non-identity) mapping is used, with ioremap().
    As the static mapping uses the MT_DEVICE type, ioremap() reuses it,
    and the returned virtual address is suitable for passing to
    shmobile_smp_hook(),
  - On sh73a0 and r8a7779, a static identity mapping is used, with the
    legacy IOMEM() macro.
    As the static mapping uses the MT_DEVICE_NONSHARED type, replacing
    IOMEM() by ioremap() would create a new mapping, whose virtual
    address cannot be passed to shmobile_smp_hook().

Move the mapping of the SCU registers from SoC-specific code to common
code, always using ioremap(). To work in the absence of a static
mapping, this requires passing the physical SCU base address to
shmobile_smp_hook().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 21:24:29 +09:00
Geert Uytterhoeven
901c5ffaae ARM: shmobile: Remove shmobile_boot_arg
CPU boot configuration writes to shmobile_boot_arg, which is located in
the .text section, and thus should not be written to.

As of commit 1d33a354bb ("ARM: shmobile: Per-CPU SMP boot / sleep
code for SCU SoCs"), and ignoring accidental remainings,
shmobile_boot_arg is always set to MPIDR_HWID_BITMASK by C code.
Hence we can just hardcode this in the assembler code, and remove the
variable, and thus also remove the need to write to this variable.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:27:21 +09:00
Geert Uytterhoeven
4e960f52fc ARM: shmobile: Move shmobile_smp_{mpidr, fn, arg}[] from .text to .bss
If CONFIG_DEBUG_RODATA=y, the kernel crashes during system suspend:

    Freezing user space processes ... (elapsed 0.004 seconds) done.
    Freezing remaining freezable tasks ... (elapsed 0.002 seconds)
    done.
    PM: suspend of devices complete after 111.948 msecs
    PM: late suspend of devices complete after 1.086 msecs
    PM: noirq suspend of devices complete after 11.576 msecs
    Disabling non-boot CPUs ...
    Kernel panic - not syncing: Attempted to kill the idle task!
    1014ec ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
    CPU0: stopping

This happens because the .text section is marked read-only, while the
arrays shmobile_smp_mpidr[], shmobile_smp_fn[], and shmobile_smp_arg[]
are being written to.

Fix this by moving these arrays from the .text to the .bss section.
This requires accessing them through PC-relative offsets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:27:21 +09:00
Geert Uytterhoeven
b1568d8012 ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
Commit 0ca2894b5a ("ARM: shmobile: Use shared SCU SMP boot code on
r8a7779") obsoleted the r8a7779-specific SCU boot code, but forgot to
remove the setup of shmobile_boot_fn and shmobile_boot_arg, which is
overwritten by shmobile_smp_scu_prepare_cpus().

Note that shmobile_scu_base wasn't initialized at that point yet anyway.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:27:21 +09:00
Geert Uytterhoeven
d2613f56ce ARM: shmobile: Move shmobile_scu_base from .text to .bss
shmobile_scu_base is being written to, so it doesn't belong in the .text
section. Fix this by moving it from asm .text to C .bss, as it's no
longer used from asm code since commit 4f6da36f7e ("ARM: shmobile:
Remove old SCU boot code").

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:24:13 +09:00
Stephan Mueller
49abc0d2e1 crypto: xts - fix compile errors
Commit 28856a9e52 missed the addition of the crypto/xts.h include file
for different architecture-specific AES implementations.

Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-02-17 15:53:02 +08:00
Russell King
8ff97fa313 ARM: make the physical-relative calculation more obvious
The physical-relative calculation between the XIP text and data sections
introduced by the previous patch was far from obvious. Let's simplify it
by turning it into a macro which takes the two (virtual) addresses.

This allows us to arrange the calculation in a more obvious manner - we
can make it two sub-expressions which calculate the physical address for
each symbol, and then takes the difference of those physical addresses.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-17 00:28:39 +00:00
Stephan Mueller
28856a9e52 crypto: xts - consolidate sanity check for keys
The patch centralizes the XTS key check logic into the service function
xts_check_key which is invoked from the different XTS implementations.
With this, the XTS implementations in ARM, ARM64, PPC and S390 have now
a sanity check for the XTS keys similar to the other arches.

In addition, this service function received a check to ensure that the
key != the tweak key which is mandated by FIPS 140-2 IG A.9. As the
check is not present in the standards defining XTS, it is only enforced
in FIPS mode of the kernel.

Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-02-17 04:07:51 +08:00
Thomas Petazzoni
cb49d86dbe ARM: mvebu: Use the ARMADA_370_XP_IRQ option
Now that there is a ARMADA_370_XP_IRQ option to enable the irqchip
driver for Armada 370, XP, 375, 38x and 39x, let's select this option
when needed. Note that this selection is currently not mandatory
because ARMADA_370_XP_IRQ is for now always enabled when ARCH_MVEBU=y,
but this is something that we will change in the future, and therefore
we should make the relevant platforms select ARMADA_370_XP_IRQ when
needed.

Due to this, selecting GENERIC_IRQ_CHIP is no longer needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1455115621-22846-7-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2016-02-16 17:36:16 +00:00
Nicolas Pitre
d781145549 ARM: 8512/1: proc-v7.S: Adjust stack address when XIP_KERNEL
When XIP_KERNEL is enabled, the virt to phys address translation for RAM
is not the same as the virt to phys address translation for .text.
The only way to know where physical RAM is located is to use
PLAT_PHYS_OFFSET.
The MACRO will be useful for other places where there is a similar problem.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 17:17:49 +00:00
Kevin Cernekee
db57f88e4c ARM: 8411/1: Add default SPARSEMEM settings
We can still override these settings via mach/memory.h, but let's provide
sensible defaults so that SPARSEMEM is available in the multiplatform
kernels.

Two platforms currently use SECTION_SIZE_BITS < 28, but are expected to
work with 28 (albeit slightly less efficiently if not all banks are
populated):

 - mach-rpc: uses 26 bits.  Based on mach/hardware.h it looks like this
   platform puts RAM at 0x1000_0000 - 0x1fff_ffff, and I/O below
   0x1000_0000.

 - mach-sa1100: uses 27 bits.  mach/memory.h indicates that RAM occupies
   the entire range of 0xc000_0000 - 0xdfff_ffff.

But Arnd says in that rpc and sa1100 will never have to use the
default since they cannot be part of a multiplatform kernel, and that
is unlikely to change.

Several platforms need MAX_PHYSMEM_BITS >= 36 so we'll pick that as the
minimum.  Anything higher and we'll fail the SECTIONS_WIDTH + NODES_WIDTH +
ZONES_WIDTH test in <linux/mm.h>.

Some analysis from Russell King at
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/298957.html:

  I think this is fine in as far as it goes - this means we end up with
  256 entries in the mem_section array which means it occupies one page,
  which I think is acceptable overhead.

  The other thing to be aware of here is the obvious:

  #if (MAX_ORDER - 1 + PAGE_SHIFT) > SECTION_SIZE_BITS
  #error Allocator MAX_ORDER exceeds SECTION_SIZE
  #endif

  Which means that with 28 bits of section, that's a maximum allocator
  order of 16.  We appear to allow FORCE_MAX_ZONEORDER to be set up to
  64 in the case of shmobile, which doesn't seem like a sensible upper
  limit - and certainly isn't when sparsemem is enabled.

  Given this, I think that FORCE_MAX_ZONEORDER's help, and the
  dependencies probably could do with some improvement to make the
  issues more transparent.

[gregory.0xf0: added notes from Arnd and Russell]

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:35:21 +00:00
Masahiro Yamada
a34c66357e ARM: 8529/1: remove 'i' and 'zi' targets
These two targets were introduced by commit 13d5fadf45 ("[ARM]
Make 'i' and 'zi' targets work") to short-circuit the dependencies
for 'install' and 'zinstall'.

After that, commit 19514fc665 ('arm, kbuild: make "make install"
not depend on vmlinux') eventually made "(z)install" equivalent to
"(z)i".

It is true that 'i' and 'zi' might be still useful as shorthands
but the original intention had been already lost.

They do not even show up in "make ARCH=arm help", so I hope this
deletion does not have much impact.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:33:41 +00:00
Masahiro Yamada
38c81fca9e ARM: 8528/1: drop redundant "PHONY += FORCE"
"PHONY += FORCE" is already cared by scripts/Makefile.build,
which this file is included from.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:33:40 +00:00
Jean-Philippe Brucker
e59941b9b3 ARM: 8527/1: virt: enable GICv3 system registers
ARMv8 introduces system registers for the Generic Interrupt Controllers
CPU and virtual interfaces.  When GICv3 is implemented, EL2 needs to
allow the kernel to use those registers, by changing the value of
ICC_HSRE.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:33:02 +00:00
Marek Szyprowski
17f29d36e4 ARM: 8523/1: sa1111: ensure no negative value gets returned on positive match
This patch ensures that existing bus match callbacks don't return
negative values (which might be interpreted as potential errors in the
future) in case of positive match.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:28:50 +00:00
Marcin Wojtas
9a571eb6fe ARM: mvebu: enable SRAM support in mvebu_v7_defconfig
SRAM support is needed for the hardware buffer management used by the
mvneta driver.

[gregory.clement@free-electrons.com: add commit log]

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-16 11:42:53 +01:00
Marcus Cooper
0bbdcd03ea ARM: dts: sun4i: Enable USB DRC on the MK802
Enable the otg/drc usb controller on the MK802.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-16 09:45:13 +01:00
Chen-Yu Tsai
8f60ef5b88 ARM: dts: sun8i: q8-common: Add AXP223 PMIC device and regulator nodes
A23/A33 Q8 tablets have an X-Powers AXP223 PMIC connected via RSB. Its
regulators provide power to various parts of the SoC and the board.

Also add lcd regulator supply for simplefb and update the existing
vmmc-supply for mmc0.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-16 09:07:04 +01:00
Chen-Yu Tsai
5c61f02c12 ARM: dts: sun8i: sinlinx-sina33: Add AXP223 PMIC device and regulator nodes
This board has a X-Powers AXP223 PMIC connected via RSB. Its regulators
provide power to various parts of the SoC and the board.

Also update the regulator supply phandles.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-16 09:07:02 +01:00
Kuninori Morimoto
cac68a56e3 ARM: dts: r8a7791: enable to use thermal-zone
This patch enables to use thermal-zone on r8a7791.
This thermal sensor can measure temperature from -40000 to 125000,
but over 117000 can be critical on this chip.
Thus, default critical temperature is now set as 115000 (this driver
is using 5000 steps) (Current critical temperature is using it as
90000, but there is no big reason about it)

And it doesn't check thermal zone periodically (same as current
behavior). You can exchange it by modifying polling-delay[-passive]
property.

You can set trip temp if your kernel has CONFIG_THERMAL_WRITABLE_TRIPS,
but you need to take care to use it, since it will call
orderly_poweroff() it it reaches to the value.
echo $temp > /sys/class/thermal/thermal_zone0/trip_point_0_temp

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-16 10:44:44 +09:00
Kuninori Morimoto
a8b805f360 ARM: dts: r8a7790: enable to use thermal-zone
This patch enables to use thermal-zone on r8a7790.
This thermal sensor can measure temperature from -40000 to 125000,
but over 117000 can be critical on this chip.
Thus, default critical temperature is now set as 115000 (this driver
is using 5000 steps) (Current critical temperature is using it as
90000, but there is no big reason about it)

And it doesn't check thermal zone periodically (same as current
behavior). You can exchange it by modifying polling-delay[-passive]
property.

You can set trip temp if your kernel has CONFIG_THERMAL_WRITABLE_TRIPS,
but you need to take care to use it, since it will call
orderly_poweroff() it it reaches to the value.
echo $temp > /sys/class/thermal/thermal_zone0/trip_point_0_temp

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-16 10:44:43 +09:00
Axel Haslam
eaa2d73ef9 ARM: imx6: pm: declare pm domain latency on power_state struct
The generic_pm_domain structure uses an array of latencies to be able to
declare multiple intermediate states.

Declare a single "OFF" state with the default latencies So that the
power_off_latency_ns and power_on_latency_ns fields of generic_pm_domain
structure can be eventually removed.

[ Lina: pm_genpd_init() argument changev ]
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Signed-off-by: Axel Haslam <ahaslam+renesas@baylibre.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-02-15 23:18:15 +01:00
Sergei Shtylyov
f3b063c8f4 ARM: dts: porter: fix JP3 jumper description
When finishing the Porter sound support patch, I managed to call the JP3
jumper SW3 in the comment.  Fix this  along with (also miscalled) jumper
positions...

Fixes: 493b4da7c1 ("ARM: dts: porter: add sound support")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-16 06:52:48 +09:00
Michael Turquette
70750ff2c9 Introduction of a factor type and a variant containing a gate
to be able to also declare factor clocks in their correct
 place in the clock tree instead of having to register factor
 clocks in the init callback separately. And as always some more
 clock-ids and non-regression fixes for mistakes introduced in
 past kernel releases.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWuwINAAoJEPOmecmc0R2BUgMIAKmXROUpwuap5hhDv+XapDyc
 drU3DmOwFQeIiaODZQVFlx8CcXUN6h/8cPZnc4Qd/ChO73TxfvtWY3S7n0n3F/EH
 RIceQ30OHTUEYh/k449Sf/sTEOW68h4TdhaVrw2gJYKsJ5fg2ih5o6naWnWWE6Ig
 WUh+xeeYdG6L8hCLcUA8sujE3EpG5kJelnWiMBedx6CbuTSSfJcB9tTkg1eOa/R+
 jyBgYJJSuSEwG4mJijV61tanZw1FhWu+i4dEAGHkWgimuGekO4CEnRRczZ1hw7x2
 O/cBfpLW4D2iGMlrvyUhcB/pe/TmRdz4SfzDSTwLPtpCfqEiZRmxH4mwW4s8hv4=
 =igdK
 -----END PGP SIGNATURE-----

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

Introduction of a factor type and a variant containing a gate
to be able to also declare factor clocks in their correct
place in the clock tree instead of having to register factor
clocks in the init callback separately. And as always some more
clock-ids and non-regression fixes for mistakes introduced in
past kernel releases.
2016-02-15 11:59:45 -08:00
Jeremy Linton
bee038a4bd arm/arm64: crypto: assure that ECB modes don't require an IV
ECB modes don't use an initialization vector. The kernel
/proc/crypto interface doesn't reflect this properly.

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-02-15 15:48:29 +00:00
Linus Walleij
1c6e288da6 ARM: versatile: move restart to the device tree
We have a power/reset driver for the Versatile family
in drivers/power/reset so let's just activate that driver
and use it and get rid of some non-DT remnants.

Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-15 09:58:08 +01:00
Simon Horman
c99fbe6437 ARM: dts: r8a7794: use fallback pci compatibility string
Use recently added fallback compatibility string in r8a7794 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:35 +09:00
Simon Horman
d4809689e6 ARM: dts: r8a7791: use fallback pci compatibility string
Use recently added fallback compatibility string in r8a7791 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:31 +09:00
Simon Horman
2d82c14460 ARM: dts: r8a7790: use fallback pci compatibility string
Use recently added fallback compatibility string in r8a7790 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:28 +09:00
Simon Horman
bbb45f69f7 ARM: dts: r8a7791: use fallback pcie compatibility string
Use recently added fallback compatibility string in r8a7791 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:25 +09:00
Simon Horman
e670be8d31 ARM: dts: r8a7790: use fallback pcie compatibility string
Use recently added fallback compatibility string in r8a7790 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:19 +09:00
Greg Kroah-Hartman
249f3c4fe4 Merge 4.5-rc4 into tty-next
We want the fixes in here, and this resolves a merge error in tty_io.c

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-14 14:36:04 -08:00
Linus Torvalds
be3f4e0fb3 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
 "A couple of ARM fixes from Linus for the ICST clock generator code"

[ "Linus" here is Linus Walleij.  Name-stealer.

       Linus "there can be only one" Torvalds ]

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  ARM: 8519/1: ICST: try other dividends than 1
  ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz()
2016-02-14 10:46:47 -08:00
Stefan Agner
42ef742460 ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid
Enable configuration options useful for Vybrid:
- NFC NAND driver
- USB dual-role controller support
- FTM PWM driver
- DSPI SPI driver
- Colibri VF50 Touchscreen support.

Beside that, enable useful configurations such as IIO hwmon support
(used in i.MX 23/28, patch pending for Vybrid), PWM LED support and
CPU idle support.

Regenerated config using savedefconfig (which removes some configs
which are now enabled by default).

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 15:50:33 +08:00
Fabio Estevam
30ded61476 ARM: imx_v6_v7_defconfig: Select CONFIG_CRYPTO_DEV_SAHARA
Select the sahara crypto driver that is used on i.MX53.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 15:22:59 +08:00
Fabio Estevam
8c4300c227 ARM: mx25: Add basic suspend/resume support
Tested basic suspend/resume on a mx25pdk:

$ echo enabled > /sys/class/tty/ttymxc0/power/wakeup
$ echo mem > /sys/power/state

Then press any key in the serial console and the system wakes up.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 11:24:18 +08:00
Bai Ping
c5a890a445 ARM: imx: Add msl code support for imx6qp
The i.MX6QP is a different SOC, but internally we treate it as i.MX6Q
Rev_2.0 to maximum the code reusability. The chip silicon number we
read from the ANADIG_DIGPROG is 0x630100. This patch add code to
identify it as i.MX6QP Rev_1.0 when print out the silicon version.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 11:07:17 +08:00
Denis Carikli
72dbe155f3 ARM: imx_v4_v5_defconfig: Add I.MX25 Touchscreen controller and ADC support.
Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
2016-02-14 09:56:25 +08:00
Jon Mason
7c3fe8a1f6 ARM: dts: NSP: Add SP805 Support to DT
Add support for the ARM SP805 Watchdog timer to the Northstar Plus
device tree.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:54:52 -08:00
Jon Mason
a0efb0d28b ARM: dts: NSP: Add SP804 Support to DT
Add support for the ARM SP804 timer to the Northstar Plus device tree.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:44 -08:00
Jon Mason
9d57f60c21 ARM: dts: NSP: Add PMU Support to DT
Add support for the ARM Performance Monitor Unit to the Northstar Plus
device tree.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:34 -08:00
Jon Mason
5a6c7b52d0 ARM: dts: NSP: Fix CPU DT issue
There is a double definition of the CPUs present in the device tree.
Remove unnecessary cpu device tree definition.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:26 -08:00
Jon Mason
522199029f ARM: dts: NSP: Fix PCIE DT issue
Adding the ranges value is preventing the PCI nodes from working.
Pulling them out outside makes them work again (and makes it similar to
the NS2 device tree).

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:11 -08:00
Keerthy
667f259951 ARM: dts: DRA7: Add missing IVA and DSPEVE thermal domain data
OMAP5 has 3 thermal zones cpu, core and multimedia.
On the other hand DRA7 has 5 thermal zones cpu, gpu, core, dspeve
and iva. Currently cpu, core and multimedia are being added via device tree
and the other 2 are getting added via kernel. Add the missing thermal
domains in device tree so we can create the zones with the appropriate
trip numbers, type and temperatures.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:46 -08:00
Keerthy
7a28936cdc ARM: dts: DRA7: Add IVA thermal data
This patch changes a dtsi file to contain the thermal data
for IVA domain. This data will enable a thermal shutdown at 125C.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:37 -08:00
Keerthy
97749fecef ARM: dts: DRA7: Add DSPEVE thermal data
This patch changes a dtsi file to contain the thermal data
for DSPEVE domain. This data will enable a thermal shutdown at 125C.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Felipe Balbi
61bd789652 ARM: dts: remove deprecated property dwc3
DWC3's tx-fifo-resize property has been deprecated
because of it being unnecessary to any HW other than
OMAP5 ES1.0.

Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Sebastian Reichel
60fca6b2fd ARM: dts: OMAP3-N950-N9: Add ssi idle pinctrl state
This adds an idle pinctrl state, which will be used
by the driver to avoid incoming data during clock
rate changes or data flushing.

Signed-off-By: Sebastian Reichel <sre@kernel.org>

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Enric Balletbo i Serra
b328d9b86d ARM: dts: am335x-sl50: Fix audio codec setup.
The MCLK is provided by an external clock of 24.576MHz.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Enric Balletbo i Serra
01c37be40f ARM: dts: am335x-sl50: Specify the device to be used for boot console output.
UART0 device is the device to be used for boot console output.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Pau Pajuel
7911fc439b ARM: dts: omap3-igep0030-common: Add USB Host support
Provide RESET GPIO for the USB PHY, the USB Host port mode and
the PHY device for the controller. Also provides pin multiplexer
information for USB host pins.

Signed-off-by: Pau Pajuel <ppajuel@gmail.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Enric Balletbo i Serra
8d289cc623 ARM: dts: igep00x0: Specify the device to be used for boot console output.
UART3 device is the device to be used for boot console output.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Adam Ford
b4cc2b75ed ARM: dts: LogicPD Torpedo: Set HSUSB0 Pin Mux
This patch defines the pin muxing to configure the hsusb0 through
the twl4030 PMIC, because we can't always assume the bootloader will
do it correctly.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:02 -08:00
Sebastian Reichel
f21b987393 ARM: dts: OMAP3-N950-N9: Enable modem
The Nokia N950 and Nokia N9 have a modem attached to their
first ssi port. This change adds the modem to the SSI port.

Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:02 -08:00
Sebastian Reichel
3bec8c81fc ARM: dts: OMAP3-N950-N9: Enable SSI module
The Nokia N950 and Nokia N9 have a modem attached to their
first ssi port. This change adds all necessary information
to initialize the SSI module, but does not yet add the
modem information.

Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:02 -08:00
Adam Ford
40d5cb207e ARM: dts: LogicPD Torpedo: Add SPI EEPROM
The devkit has an AT25 EEPROM on MCSPI1. Enable this with default
parameters.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:25:53 -08:00
Adam Ford
59d2c40c45 ARM: dts: LogicPD Torpedo: Fix Panel Sleep
Setup regulator and fix pin muxing to allow Panel to sleep and
wake from sleep for some low power improvements.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:25:44 -08:00
Adam Ford
5e3447a29a ARM: dts: LogicPD Torpedo: Add AT24 EEPROM Support
The Wireless version of the SOM uses an AT24 EEPROM to store product ID.
The EEPROM is readonly.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:25:35 -08:00
Adam Ford
05c4ffc3a2 ARM: dts: LogicPD Torpedo: Add MT9P031 Support
The Logic PD Torpedo standard kits come with a SOM populated to us an
8-bit parallel camera interface.  This patch pin muxes the omap3-isp
pins, sets the MT9P031 clicks, and configures the i2c2 bus to communicate
with the mt9p031 on address 0x48.

I have not done a lot of testing, but when modprobing
mt9p031, then omap3-isp, the board responds with
MT9P031 detected at address 0x48.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:46:43 -08:00
Kishon Vijay Abraham I
2338c76a43 ARM: dts: am4372/dra7/omap5: Use "syscon-phy-power" instead of "ctrl-module"
Add "syscon-phy-power" property and remove the deprecated "ctrl-module"
property from SATA and USB PHY node. Also remove the unused control
module dt nodes.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:42:51 -08:00
Kishon Vijay Abraham I
4b4f52ed91 ARM: dts: dra7: Use "ti,dra7x-usb2-phy2" compatible string for USB2 PHY2
The USB2 PHY2 has a different register map compared to USB2 PHY1
to power on/off the PHY. In order to handle it, use the new compatible
string "ti,dra7x-usb2-phy2" for the second instance of USB2 PHY.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:42:31 -08:00
Kishon Vijay Abraham I
6921e58b84 ARM: dts: dra7: Use "syscon-phy-power" and "syscon-pcs" in PCIe PHY node
Add "syscon-phy-power" property and "syscon-pcs" property which can
be used to perform the control module initializations and remove
the deprecated "ctrl-module" property from PCIe PHY dt nodes.

Phandle to "sysclk" clock node is also added to the PCIe PHY node
since some of the syscon initializations is based on system clock
frequency.

Since "omap_control_pcie1phy" and "omap_control_pcie2phy" devicetree
nodes are no longer used, remove it.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:42:12 -08:00
Kishon Vijay Abraham I
43acf16947 ARM: dts: dra7: Add dt node for the sycon pcie
Add new device tree node for the control module register space where
PCIe registers are present.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:41:35 -08:00
Tony Lindgren
0589df6a9f ARM: dts: Add NAND support for dm8148-evm
Add NAND support for dm8148-evm.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Tony Lindgren
100be58aa8 ARM: dts: Add NAND support for j5-eco evm
Add NAND support for j5-eco evm.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Tony Lindgren
003fb0aede ARM: dts: Add support for GPMC for dm814x and dra62x
Add support for GPMC for dm814x and dra62x

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Tony Lindgren
6dc73964fa ARM: dts: The rate for auxclk is 22.59792 by default
The rate for auxclk is 22.59792 by default.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Linus Torvalds
14379cdc76 fbdev fixes for v4.5
* fix omap2plus_defconfig to enable omapfb as it was in v4.4
 * ocfb: fix timings for margins
 * s6e8ax0, da8xx-fb: fix compile warnings
 * mmp: fix build failure caused by bad printk parameters
 * imxfb: fix clock issue which kept the display off
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvb3dAAoJEPo9qoy8lh71UREP/39iw5a2pvZtKC4tbeIWGntJ
 +wP0Hp6hCxAVh8S+SsSEF2i2oZzs4/ZYgRFoGGKK3j2CcizRxG9WMvaqbb3C8s4r
 3aoj02oDyw/kpui+0O+eSUpLvc75c1nrVh31SrLK5zhx0fg59UEJZYlO/VkLTKTJ
 mN22y0VUtffx61plAs/e9EU3x6+Y3UEhDd6nuxJ+J5e9ruzjNDE5IVzyPjpP+kvA
 2ry/cjvmDKTqw2jJGYJ7CbBuAtCXz7BgT5XXKAeNLPFqewF5CN2Jck2k9Ix7M1Tv
 rAcLLEl9vrUIO5Ss3BI0VK4IXa0CYPQkPxsdVFvf26QaDXDGTdOkOAkZGMAi6jXZ
 SulDABha5VThbJUQSskBUoMF6f2l2A3MX6Gr5cNJazPagMBYCNG++HoLA17cEnH9
 a3+ujaGgdhBJqCYrJ7Wjif1wL77eHvby4xYdxdyssTVbd3MWcRqK1Nws8YBn4bw9
 jE8TOy4RAYqA/LA7QjXCel4sI6cbYejJfz1/mH31MgjWC96tRBr0NhkT7W5zQvll
 toycESYP6STwKTDfuntfo0PUwMOOxhZwVzSQD5Ov2cQvl3eEKWR1WRZLIOwWtz5/
 L4HkpCAQzIPNDOpnV7nS/jdTwwoV3bKjYluHHIeByvLrFaOQuKy/zO69pj7vUtpU
 2XgQJcu6UHLYDAwDFCuV
 =kfw6
 -----END PGP SIGNATURE-----

Merge tag 'fbdev-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux

Pull fbdev fixes from Tomi Valkeinen:
 - fix omap2plus_defconfig to enable omapfb as it was in v4.4
 - ocfb: fix timings for margins
 - s6e8ax0, da8xx-fb: fix compile warnings
 - mmp: fix build failure caused by bad printk parameters
 - imxfb: fix clock issue which kept the display off

* tag 'fbdev-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  video: fbdev: imxfb: Provide a reset mechanism
  fbdev: mmp: print IRQ resource using %pR format string
  fbdev: da8xx-fb: remove incorrect type cast
  fbdev: s6e8ax0: avoid unused function warnings
  ocfb: fix tgdel and tvdel timing parameters
  ARM: omap2plus_defconfig: update display configs
2016-02-12 09:39:34 -08:00
Tony Lindgren
cf26f11373 ARM: OMAP2+: Fix omap_device for module reload on PM runtime forbid
If a driver PM runtime is disabled via sysfs, and the module is
unloaded, PM runtime can't do anything to disable the device. Let's
let the interconnect disable the device on BUS_NOTIFY_UNBOUND_DRIVER.

Otherwise omap_device will produce and error on the following module
reload. This can be easily tested with something like:

# modprobe omap_hsmmc
# echo on > /sys/devices/platform/68000000.ocp/4809c000.mmc/power/control
# rmmod omap_hsmmc
# modprobe omap_hsmmc

Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Nishanth Menon <nm@ti.com>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Reported-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 08:56:52 -08:00
Tony Lindgren
08c78e9d61 ARM: OMAP2+: Improve omap_device error for driver writers
Drivers using pm_runtime_use_autosuspend() may not get disabled after
-EPROBE_DEFER. On the following device driver probe, hardware state
is different from the PM runtime state causing omap_device to produce
the following error:

omap_device_enable() called from invalid state 1

And with omap_device and omap hardware being picky for PM, this will
block any deeper idle states in hardware.

Let's add a proper error message so driver writers can easily fix
their drivers for PM.

In general, the solution is to fix the drivers to follow the PM
runtime documentation:

1. For sections of code that needs the device disabled, use
   pm_runtime_put_sync_suspend() if pm_runtime_set_autosuspend() has
   been set.

2. For driver exit code, use pm_runtime_dont_use_autosuspend() before
   pm_runtime_put_sync() if pm_runtime_use_autosuspend() has been
   set.

Let's not return with 0 from _od_runtime_resume() as that will
eventually lead into new drivers with broken PM runtime that will
block deeper idle states on omaps.

Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Nishanth Menon <nm@ti.com>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 08:56:52 -08:00
Thomas Petazzoni
af5ece3967 ARM: dts: mvebu: add NAND description to Armada 370 DB and Armada XP DB
This commit adds the Device Tree description for the 1GB NAND flash
present in the Armada 370 DB and Armada XP DB evaluation boards from
Marvell.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-12 17:45:49 +01:00
Lior Amsalem
b3a7f31eb7 ARM: dts: armada-375: use armada-370-sata for SATA
The Armada 375 has the same SATA IP as Armada 370 and Armada XP, which
requires the PHY speed to be set in the LP_PHY_CTL register for SATA
hotplug to work.

Therefore, this commit updates the compatible string used to describe
the SATA IP in Armada 375 from marvell,orion-sata to
marvell,armada-370-sata.

Fixes: 4de5908509 ("ARM: mvebu: add Device Tree description of the Armada 375 SoC")
Cc: <stable@vger.kernel.org>
Signed-off-by: Lior Amsalem <alior@marvell.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-12 17:45:37 +01:00
Rob Herring
76df69806b ARM: boot: Add an implementation of strnlen for libfdt
Recent versions of libfdt add a dependency on strnlen. Copy the
implementation in lib/string.c here, so we can update libfdt.

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Rob Herring <robh@kernel.org>
2016-02-11 19:43:47 -06:00
Yendapally Reddy Dhananjaya Reddy
018e4feb75 ARM: dts: enable GPIO-a for Broadcom NSP
This enables the GPIO-a support for Broadcom NSP SoC

Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-11 11:59:29 -08:00
Kees Cook
64ac2e74f0 ARM: 8502/1: mm: mark section-aligned portion of rodata NX
When rodata is large enough that it crosses a section boundary after the
kernel text, mark the rest NX. This is as close to full NX of rodata as
we can get without splitting page tables or doing section alignment via
CONFIG_DEBUG_ALIGN_RODATA.

When the config is:

 CONFIG_DEBUG_RODATA=y
 # CONFIG_DEBUG_ALIGN_RODATA is not set

Before:

---[ Kernel Mapping ]---
0x80000000-0x80100000           1M     RW NX SHD
0x80100000-0x80a00000           9M     ro x  SHD
0x80a00000-0xa0000000         502M     RW NX SHD

After:

---[ Kernel Mapping ]---
0x80000000-0x80100000           1M     RW NX SHD
0x80100000-0x80700000           6M     ro x  SHD
0x80700000-0x80a00000           3M     ro NX SHD
0x80a00000-0xa0000000         502M     RW NX SHD

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:44:10 +00:00
Chris Brandt
02afa9a87b ARM: 8518/1: Use correct symbols for XIP_KERNEL
For an XIP build, _etext does not represent the end of the
binary image that needs to stay mapped into the MODULES_VADDR area.
Years ago, data came before text in the memory map. However,
now that the order is text/init/data, an XIP_KERNEL needs to map
up to the data location in order to keep from cutting off
parts of the kernel that are needed.
We only map up to the beginning of data because data has already been
copied, so there's no reason to keep it around anymore.
A new symbol is created to make it clear what it is we are referring
to.

This fixes the bug where you might lose the end of your kernel area
after page table setup is complete.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:43:14 +00:00
Ard Biesheuvel
31b96cae5c ARM: 8515/2: move .vectors and .stubs sections back into the kernel VMA
Commit b9b32bf70f ("ARM: use linker magic for vectors and vector stubs")
updated the linker script to emit the .vectors and .stubs sections into a
VMA range that is zero based and disjoint from the normal static kernel
region. The reason for that was that this way, the sections can be placed
exactly 4 KB apart, while the payload of the .vectors section is only 32
bytes.

Since the symbols that are part of the .stubs section are emitted into the
kallsyms table, they appear with zero based addresses as well, e.g.,

  00001004 t vector_rst
  00001020 t vector_irq
  000010a0 t vector_dabt
  00001120 t vector_pabt
  000011a0 t vector_und
  00001220 t vector_addrexcptn
  00001240 t vector_fiq
  00001240 T vector_fiq_offset

As this confuses perf when it accesses the kallsyms tables, commit
7122c3e915 ("scripts/link-vmlinux.sh: only filter kernel symbols for
arm") implemented a somewhat ugly special case for ARM, where the value
of CONFIG_PAGE_OFFSET is passed to scripts/kallsyms, and symbols whose
addresses are below it are filtered out. Note that this special case only
applies to CONFIG_XIP_KERNEL=n, not because the issue the patch addresses
exists only in that case, but because finding a limit below which to apply
the filtering is not entirely straightforward.

Since the .vectors and .stubs sections contain position independent code
that is never executed in place, we can emit it at its most likely runtime
VMA (for more recent CPUs), which is 0xffff0000 for the vector table and
0xffff1000 for the stubs. Not only does this fix the perf issue with
kallsyms, allowing us to drop the special case in scripts/kallsyms
entirely, it also gives debuggers a more realistic view of the address
space, and setting breakpoints or single stepping through code in the
vector table or the stubs is more likely to work as expected on CPUs that
use a high vector address. E.g.,

  00001240 A vector_fiq_offset
  ...
  c0c35000 T __init_begin
  c0c35000 T __vectors_start
  c0c35020 T __stubs_start
  c0c35020 T __vectors_end
  c0c352e0 T _sinittext
  c0c352e0 T __stubs_end
  ...
  ffff1004 t vector_rst
  ffff1020 t vector_irq
  ffff10a0 t vector_dabt
  ffff1120 t vector_pabt
  ffff11a0 t vector_und
  ffff1220 t vector_addrexcptn
  ffff1240 T vector_fiq

(Note that vector_fiq_offset is now an absolute symbol, which kallsyms
already ignores by default)

The LMA footprint is identical with or without this change, only the VMAs
are different:

  Before:
  Idx Name          Size      VMA       LMA       File off  Algn
   ...
   14 .notes        00000024  c0c34020  c0c34020  00a34020  2**2
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   15 .vectors      00000020  00000000  c0c35000  00a40000  2**1
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   16 .stubs        000002c0  00001000  c0c35020  00a41000  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   17 .init.text    0006b1b8  c0c352e0  c0c352e0  00a452e0  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   ...

  After:
  Idx Name          Size      VMA       LMA       File off  Algn
   ...
   14 .notes        00000024  c0c34020  c0c34020  00a34020  2**2
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   15 .vectors      00000020  ffff0000  c0c35000  00a40000  2**1
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   16 .stubs        000002c0  ffff1000  c0c35020  00a41000  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   17 .init.text    0006b1b8  c0c352e0  c0c352e0  00a452e0  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   ...

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:39 +00:00
Ard Biesheuvel
b48da55830 ARM: 8514/1: remove duplicate definitions of __vectors_start and __stubs_start
Commit b9b32bf70f ("ARM: use linker magic for vectors and vector stubs")
introduced new global definitions of __vectors_start and __stubs_start,
and changed the existing ones to have internal linkage only. However, these
symbols are still visible to kallsyms, and due to the way the .vectors and
.stubs sections are emitted at the base of the VMA space, these duplicate
definitions have conflicting values.

  $ nm -n vmlinux |grep -E __vectors|__stubs
  00000000 t __vectors_start
  00001000 t __stubs_start
  c0e77000 T __vectors_start
  c0e77020 T __stubs_start

This is completely harmless by itself, since the wrong values are local
symbols that cannot be referenced by other object files directly. However,
since these symbols are also listed in the kallsyms symbol table in some
cases (i.e., CONFIG_KALLSYMS_ALL=y and CONFIG_XIP_KERNEL=y), having these
conflicting values can be confusing. So either remove them, or make them
strictly local.

Acked-by: Chris Brandt <chris.brandt@renesas.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:39 +00:00
Chris Brandt
538bf46948 ARM: 8513/1: xip: Move XIP linking to a separate file
When building an XIP kernel, the linker script needs to be much different
than a conventional kernel's script. Over time, it's been difficult to
maintain both XIP and non-XIP layouts in one linker script. Therefore,
this patch separates the two procedures into two completely different
files.

The new linker script is essentially a straight copy of the current script
with all the non-CONFIG_XIP_KERNEL portions removed.

Additionally, all CONFIG_XIP_KERNEL portions have been removed from the
existing linker script...never to return again.

It should be noted that this does not fix any current XIP issues, but
rather is the first move in fixing them properly with subsequent patches.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:39 +00:00
Lorenzo Pieralisi
8b6f2499ac ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware
ARM64 PSCI kernel interfaces that initialize idle states and implement
the suspend API to enter them are generic and can be shared with the
ARM architecture.

To achieve that goal, this patch moves ARM64 PSCI idle management
code to drivers/firmware, so that the interface to initialize and
enter idle states can actually be shared by ARM and ARM64 arches
back-ends.

The ARM generic CPUidle implementation also requires the definition of
a cpuidle_ops section entry for the kernel to initialize the CPUidle
operations at boot based on the enable-method (ie ARM64 has the
statically initialized cpu_ops counterparts for that purpose); therefore
this patch also adds the required section entry on CONFIG_ARM for PSCI so
that the kernel can initialize the PSCI CPUidle back-end when PSCI is
the probed enable-method.

On ARM64 this patch provides no functional change.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arch/arm64]
Acked-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Jisheng Zhang <jszhang@marvell.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
Lorenzo Pieralisi
1b9bdf5c16 ARM: 8510/1: rework ARM_CPU_SUSPEND dependencies
The code enabled by the ARM_CPU_SUSPEND config option is used by
kernel subsystems for purposes that go beyond system suspend so its
config entry should be augmented to take more default options into
account and avoid forcing its selection to prevent dependencies
override.

To achieve this goal, this patch reworks the ARM_CPU_SUSPEND config
entry and updates its default config value (by adding the BL_SWITCHER
option to it) and its dependencies (ARCH_SUSPEND_POSSIBLE), so that the
symbol is still selected by default by the subsystems requiring it and
at the same time enforcing the dependencies correctly.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
Doug Anderson
14d3ae2efe ARM: 8507/1: dma-mapping: Use DMA_ATTR_ALLOC_SINGLE_PAGES hint to optimize alloc
If we know that TLB efficiency will not be an issue when memory is
accessed then it's not terribly important to allocate big chunks of
memory.  The whole point of allocating the big chunks was that it would
make TLB usage efficient.

As Marek Szyprowski indicated:
    Please note that mapping memory with larger pages significantly
    improves performance, especially when IOMMU has a little TLB
    cache. This can be easily observed when multimedia devices do
    processing of RGB data with 90/270 degree rotation
Image rotation is distinctly an operation that needs to bounce around
through memory, so it makes sense that TLB efficiency is important
there.

Video decoding, on the other hand, is a fairly sequential operation.
During video decoding it's not expected that we'll be jumping all over
memory.  Decoding video is also pretty heavy and the TLB misses aren't a
huge deal.  Presumably most HW video acceleration users of dma-mapping
will not care about huge pages and will set DMA_ATTR_ALLOC_SINGLE_PAGES.

Allocating big chunks of memory is quite expensive, especially if we're
doing it repeadly and memory is full.  In one (out of tree) usage model
it is common that arm_iommu_alloc_attrs() is called 16 times in a row,
each one trying to allocate 4 MB of memory.  This is called whenever the
system encounters a new video, which could easily happen while the
memory system is stressed out.  In fact, on certain social media
websites that auto-play video and have infinite scrolling, it's quite
common to see not just one of these 16x4MB allocations but 2 or 3 right
after another.  Asking the system even to do a small amount of extra
work to give us big chunks in this case is just not a good use of time.

Allocating big chunks of memory is also expensive indirectly.  Even if
we ask the system not to do ANY extra work to allocate _our_ memory,
we're still potentially eating up all big chunks in the system.
Presumably there are other users in the system that aren't quite as
flexible and that actually need these big chunks.  By eating all the big
chunks we're causing extra work for the rest of the system.  We also may
start making other memory allocations fail.  While the system may be
robust to such failures (as is the case with dwc2 USB trying to allocate
buffers for Ethernet data and with WiFi trying to allocate buffers for
WiFi data), it is yet another big performance hit.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
Doug Anderson
33298ef6d8 ARM: 8505/1: dma-mapping: Optimize allocation
The __iommu_alloc_buffer() is expected to be called to allocate pretty
sizeable buffers.  Upon simple tests of video I saw it trying to
allocate 4,194,304 bytes.  The function tries to allocate large chunks
in order to optimize IOMMU TLB usage.

The current function is very, very slow.

One problem is the way it keeps trying and trying to allocate big
chunks.  Imagine a very fragmented memory that has 4M free but no
contiguous pages at all.  Further imagine allocating 4M (1024 pages).
We'll do the following memory allocations:
- For page 1:
  - Try to allocate order 10 (no retry)
  - Try to allocate order 9 (no retry)
  - ...
  - Try to allocate order 0 (with retry, but not needed)
- For page 2:
  - Try to allocate order 9 (no retry)
  - Try to allocate order 8 (no retry)
  - ...
  - Try to allocate order 0 (with retry, but not needed)
- ...
- ...

Total number of calls to alloc() calls for this case is:
  sum(int(math.log(i, 2)) + 1 for i in range(1, 1025))
  => 9228

The above is obviously worse case, but given how slow alloc can be we
really want to try to avoid even somewhat bad cases.  I timed the old
code with a device under memory pressure and it wasn't hard to see it
take more than 120 seconds to allocate 4 megs of memory! (NOTE: testing
was done on kernel 3.14, so possibly mainline would behave
differently).

A second problem is that allocating big chunks under memory pressure
when we don't need them is just not a great idea anyway unless we really
need them.  We can make due pretty well with smaller chunks so it's
probably wise to leave bigger chunks for other users once memory
pressure is on.

Let's adjust the allocation like this:

1. If a big chunk fails, stop trying to hard and bump down to lower
   order allocations.
2. Don't try useless orders.  The whole point of big chunks is to
   optimize the TLB and it can really only make use of 2M, 1M, 64K and
   4K sizes.

We'll still tend to eat up a bunch of big chunks, but that might be the
right answer for some users.  A future patch could possibly add a new
DMA_ATTR that would let the caller decide that TLB optimization isn't
important and that we should use smaller chunks.  Presumably this would
be a sane strategy for some callers.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:37 +00:00
Nicolas Pitre
73e592f3bc ARM: 8504/1: __arch_xprod_64(): small optimization
The tmp variable is used twice: first to pose as a register containing
a value of zero, and then to provide a temporary register that initially
is zero and get added some value. But somehow gcc decides to split those
two usages in different registers.

Example code:

u64 div64const1000(u64 x)
{
	u32 y = 1000;
	do_div(x, y);
	return x;
}

Result:

div64const1000:
	push	{r4, r5, r6, r7, lr}
	mov	lr, #0
	mov	r6, r0
	mov	r7, r1
	adr	r5, .L8
	ldrd	r4, [r5]
	mov	r1, lr
	umull	r2, r3, r4, r6
	cmn	r2, r4
	adcs	r3, r3, r5
	adc	r2, lr, #0
	umlal	r3, r2, r5, r6
	umlal	r3, r1, r4, r7
	mov	r3, #0
	adds	r2, r1, r2
	adc	r3, r3, #0
	umlal	r2, r3, r5, r7
	lsr	r0, r2, #9
	lsr	r1, r3, #9
	orr	r0, r0, r3, lsl #23
	pop	{r4, r5, r6, r7, pc}
	.align	3
.L8:
	.word	-1924145349
	.word	-2095944041

Full kernel build size:

   text	   data	    bss	    dec	    hex	filename
13663814	1553940	 351368	15569122	 ed90e2	vmlinux

Here the two instances of 'tmp' are assigned to r1 and lr.

To avoid that, let's mark the first 'tmp' usage in __arch_xprod_64()
with a "+r" constraint even if the register is not written to, so to
create a dependency for the second usage with the effect of enforcing
a single temporary register throughout.

Result:

div64const1000:
	push	{r4, r5, r6, r7}
	movs	r3, #0
	adr	r5, .L8
	ldrd	r4, [r5]
	umull	r6, r7, r4, r0
	cmn	r6, r4
	adcs	r7, r7, r5
	adc	r6, r3, #0
	umlal	r7, r6, r5, r0
	umlal	r7, r3, r4, r1
	mov	r7, #0
	adds	r6, r3, r6
	adc	r7, r7, #0
	umlal	r6, r7, r5, r1
	lsr	r0, r6, #9
	lsr	r1, r7, #9
	orr	r0, r0, r7, lsl #23
	pop	{r4, r5, r6, r7}
	bx	lr
	.align	3
.L8:
	.word	-1924145349
	.word	-2095944041

   text	   data	    bss	    dec	    hex	filename
13663438	1553940	 351368	15568746	 ed8f6a	vmlinux

This time 'tmp' is assigned to r3 and used throughout. However, by being
assigned to r3, that blocks usage of the r2-r3 double register slot for
64-bit values, forcing more registers to be spilled on the stack. Let's
try to help it by forcing 'tmp' to the caller-saved ip register.

Result:

div64const1000:
	stmfd	sp!, {r4, r5}
	mov	ip, #0
	adr	r5, .L8
	ldrd	r4, [r5]
	umull	r2, r3, r4, r0
	cmn	r2, r4
	adcs	r3, r3, r5
	adc	r2, ip, #0
	umlal	r3, r2, r5, r0
	umlal	r3, ip, r4, r1
	mov	r3, #0
	adds	r2, ip, r2
	adc	r3, r3, #0
	umlal	r2, r3, r5, r1
	mov	r0, r2, lsr #9
	mov	r1, r3, lsr #9
	orr	r0, r0, r3, asl #23
	ldmfd	sp!, {r4, r5}
	bx	lr
	.align	3
.L8:
	.word	-1924145349
	.word	-2095944041

   text	   data	    bss	    dec	    hex	filename
13662838	1553940	 351368	15568146	 ed8d12	vmlinux

We could make the code marginally smaller yet by forcing 'tmp' to lr
instead, but that would have a negative inpact on branch prediction for
which "bx lr" is optimal.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:37 +00:00
Linus Walleij
820617c251 ARM: realview: add the DS1338 RTC to PB1176 DT
This adds the Versatile I2C adapter and the Dallas DS1338
RTC on it to the PB1176 device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:46 +01:00
Linus Walleij
3bf0a4194f ARM: pb1176: add ethernet to devicetree
The PB1176 device tree was missing the SMSC9118 ethernet adapter,
so add it. Since this peripheral is not in either development
chip but on the board itself, it gets defined in the root node
of the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:46 +01:00
Linus Walleij
cc9ab84cd9 ARM: pb1176: add ISP1761 USB OTG host controller
The USB host controller was missing from the device tree so add
it. This device is not inside either the development chip or the
FPGA but mounted on the board, so it ends up in the root node of
the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:45 +01:00
Linus Walleij
efcf8963c6 ARM: pb1176: add AACI to the device tree
The device tree was missing the definition of the AACI
Advanced Audio Codec Interface, so add it. Tested on the hardware
and it works.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:45 +01:00
Linus Walleij
2d76ab2b61 ARM: pb1176: add ICST307 clocks to the device tree
This adds the five ICST307 clocks to the device tree, so we
can use these with e.g. CLCD.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:44 +01:00
Linus Walleij
1f138b1893 ARM: realview: fix up PB11MP flash compat strings
The two flash memories in the PB11MPCore have their VPP/WP
lines controlled from the system controller add-on in the MTD
subsystem. "arm,versatile-flash" is the first compatible string
to use to get the right support.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:44 +01:00
Linus Walleij
5c3f5edbe0 ARM: realview: add flash devices to the PB1176 DTS
This adds the flash memories and ROM to the PB1175 DTS file.
The secure flash is marked as "disabled" by default so as to
protect the user from overwriting the boot monitor.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:44 +01:00
Linus Walleij
e972c37459 ARM: 8519/1: ICST: try other dividends than 1
Since the dawn of time the ICST code has only supported divide
by one or hang in an eternal loop. Luckily we were always dividing
by one because the reference frequency for the systems using
the ICSTs is 24MHz and the [min,max] values for the PLL input
if [10,320] MHz for ICST307 and [6,200] for ICST525, so the loop
will always terminate immediately without assigning any divisor
for the reference frequency.

But for the code to make sense, let's insert the missing i++

Reported-by: David Binderman <dcb314@hotmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 14:12:33 +00:00
Thor Thayer
7cc5a5d3cd ARM: socfpga: Enable OCRAM ECC on startup
Enable ECC for On-Chip RAM on machine startup. The ECC has to be enabled
before data is stored in memory otherwise the ECC will fail on reads.

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: devicetree@vger.kernel.org
Cc: dougthompson@xmission.com
Cc: galak@codeaurora.org
Cc: grant.likely@linaro.org
Cc: ijc+devicetree@hellion.org.uk
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Cc: linux-doc@vger.kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: mark.rutland@arm.com
Cc: m.chehab@samsung.com
Cc: pawel.moll@arm.com
Cc: robh+dt@kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: tthayer.linux@gmail.com
Cc: tthayer@opensource.altera.com
Link: http://lkml.kernel.org/r/1455132384-17108-4-git-send-email-tthayer@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2016-02-11 12:34:38 +01:00
Thor Thayer
4d1138380e ARM: socfpga: Enable L2 cache ECC on startup
Enable ECC for L2 cache on machine startup. The ECC has to be enabled
before data is stored in memory otherwise the ECC will fail on reads.

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: devicetree@vger.kernel.org
Cc: galak@codeaurora.org
Cc: grant.likely@linaro.org
Cc: ijc+devicetree@hellion.org.uk
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Cc: linux-doc@vger.kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: mark.rutland@arm.com
Cc: m.chehab@samsung.com
Cc: pawel.moll@arm.com
Cc: robh+dt@kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/1455132384-17108-3-git-send-email-tthayer@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2016-02-11 12:32:11 +01:00
Thor Thayer
d31e2e846b ARM: dts: Add Altera L2 Cache and OCRAM EDAC entries
Add the device tree entries and bindings needed to support the Altera L2
cache and On-Chip RAM EDAC. This patch relies upon an earlier patch to
declare and setup On-chip RAM properly:

  8b907c8b62 ("arm: dts: socfpga: Add OCRAM node")

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Acked-by: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: galak@codeaurora.org
Cc: grant.likely@linaro.org
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: ijc+devicetree@hellion.org.uk
Cc: Kumar Gala <galak@codeaurora.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Cc: linux-doc@vger.kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: m.chehab@samsung.com
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/1455132384-17108-2-git-send-email-tthayer@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2016-02-11 12:29:38 +01:00
Maxime Coquelin
b2aa7f7741 ARM: dts: stm32f429: Boost perfs by remapping SDRAM Bank 1 to 0x0
STM32F429 allows to remap FMC SDRAM Bank 1 from 0xc0000000 to 0x0,
by writing 0x4 to SYSCFG_MEMRMP register.

As mentionned in the reference manual (see chapter 9.3.1), the performance
gain is really interresting:
"In remap mode at address 0x0000 0000, the CPU can access the external
memory via ICode bus instead of System bus which boosts up the
performance."

These are the dhrystone results with and without the remap enabled:
Default (SDRAM in 0xc0000000):
---------------------------------
Microseconds for one run through Dhrystone:   31.8
Dhrystones per Second:                      31416.9

Remap (SDRAM in 0x0000000):
-----------------------------
Microseconds for one run through Dhrystone:   20.6
Dhrystones per Second:                      48520.1

This patch first change the SDRAM start address to 0x0 for STM32429i-EVAL
board, and also set the dma-range property as the other masters than the M4
CPU still see SDRAM in 0xc0000000.

Note that the Discovery board cannot benefit from this feature, since the
SDRAM is connected to Bank 2.

Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:59 +01:00
Maxime Coquelin
b690172f72 ARM: dts: Add leds support to STM32F429 boards
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:59 +01:00
Maxime Coquelin
521df6f56d ARM: dts: Add USART1 pin config to STM32F429 boards
This patch selects USART1 pin configuration on PA9/PA10 pins
for both Eval and Disco boards.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:58 +01:00
Maxime Coquelin
2dbd0593e8 ARM: dts: Add pinctrl node to STM32F429
The STM32F429 MCU has 11 GPIO banks, with 16 pins per bank.

Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:57 +01:00
Biao Huang
8ba671efdb arm: dts: Add pinctrl/GPIO/EINT node for mt2701
Add pinctrl and GPIO node to mt2701.dtsi

Signed-off-by: Biao Huang <biao.huang@mediatek.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:56 +01:00
Louis Yu
dfb8952847 ARM: dts: mt2701: enable basic SMP bringup for mt2701
Add enable method to support SMP.

Signed-off-by: Louis Yu <louis.yu@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:56 +01:00
John Crispin
27f997884f ARM: dts: mt7623: enable SMP bringup
Add support for booting secondary CPUs on MT7623.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:55 +01:00
John Crispin
31ac0d69a1 ARM: dts: mediatek: add MT7623 basic support
This adds basic chip support for Mediatek MT7623.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:54 +01:00
Vladimir Zapolskiy
d06670e962 arm: dts: phy3250: add SD fixed regulator
The change adds fixed voltage regulator for SD controller, ARM MMCI
controller driver uses it to control card power management.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:36 +02:00
Vladimir Zapolskiy
f6d4434916 arm: dts: phy3250: add lcd and backlight fixed regulators
Phytec PHY3250 board has GPIO controlled regulators for LCD and
backlight, add their descriptions to board DTS file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:32 +02:00
Vladimir Zapolskiy
b715802f23 arm: dts: lpc32xx: assign interrupt types
LPC32xx interrupt controller has two cells, instead of zero
specify proper irq types for all consumers.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:27 +02:00
Vladimir Zapolskiy
c82e688a33 arm: dts: lpc32xx: remove clock frequency property from UART device nodes
If clock-frequency property is given, then it substitutes calculation
of supplying clock frequency from parent clock, this may break UART,
if parent clock is given and managed by common clock framework.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:21 +02:00
Vladimir Zapolskiy
865e90093a arm: dts: lpc32xx: add USB clock controller
The change adds device node of LPC32xx USB clock controller and adds
clock properties to USB OHCI, USB device and I2C controller to USB phy
device nodes.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:16 +02:00
Vladimir Zapolskiy
93898eb775 arm: dts: lpc32xx: add clock properties to device nodes
The change adds clock properties to all described peripheral devices,
clock ids are taken from dt-bindings/clock/lpc32xx-clock.h

Some existing drivers expect to get clock names, in those cases
clock-names are added as well.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:11 +02:00
Vladimir Zapolskiy
fe86131f9e arm: dts: lpc32xx: add clock controller device node
NXP LPC32xx SoC has a clocking and power control unit (CPC) as a part
of system control block (SCB). CPC is supplied by two external
oscillators and it manages core and most of peripheral clocks, the
change adds SCB and CPC descriptions to shared LPC32xx dtsi file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:05 +02:00
Vladimir Zapolskiy
ef5f885ec9 arm: dts: lpc32xx: add device nodes for external oscillators
NXP LPC32xx SoC has two external oscillators - one is mandatory and
always on 32768 Hz oscillator and one optional 10-20MHz oscillator,
which is practically always present on LPC32xx boards, because its
presence is needed to supply USB controller clock and by default it
supplies ARM and most of the peripheral clocks, LPC32xx User's Manual
references it as a main oscillator.

The change adds device nodes for both oscillators, frequency of
the main oscillator is selected to be 13MHz by default, this variant
is found on all LPC32xx reference boards.

The device nodes for external oscillators are needed to describe input
clocks of LPC32xx clock controller.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:05:59 +02:00
Vladimir Zapolskiy
0ac1a101f5 arm: lpc32xx: remove direct control of GPIOs from shared mach file
The change removes GPIO configuration and control of LCD, backlight
and SD voltage regulators from the shared among all LPC32xx boards
mach file, Phytec PHY3250 board should have the description of these
regulators in its DTS file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 02:27:04 +02:00
Vladimir Zapolskiy
1465e98a2c arm: lpc32xx: remove selected HAVE_IDE
NXP LPC32xx platform does not have any controller capable for disk
drives, selection of HAVE_IDE is not needed.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 02:26:40 +02:00
Peter Ujfalusi
bf26927b2c ARM: DTS: am57xx-beagle-x15: Select SYS_CLK2 for audio clocks
The tlv320aic3104 codec's master clock is coming from the SoC's CLKOUT2.
Select the SYS_CLK2 (via divider) as parent clock for CLKOUT2 and select
the same clock (SYS_CLK2) for McASP3 AHCLKX clock as well.
SYS_CLK2 is sourced from an external oscillator running 22.5792MHz and it
is coming in to the SoC via the X1_OSC1.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-10 16:25:22 -08:00
Vladimir Zapolskiy
c227f127e3 arm: lpc32xx: switch to common clock framework
The change switches NXP LPC32xx platforms to LPC32xx clock driver
powered by common clock framework, this obsoletes mach-lpc32xx/clock.o
legacy clock driver and thus it is removed.

Legacy timer driver mach-lpc32xx/timer.o strictly depends on legacy
clock support, but fortunately an existing LPC32xx clock source and
clock event driver completely replaces it, and thus it can be removed
as well.

Noticeably platform UART driver directly operates on LPC32xx source
control block registers, remove this dependency to avoid overlapping
with common clock framework driver, also this guarantees that UART is
working expectedly.

Tested-by: Sylvain Lemieux <slemieux@tycoint.com>
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 02:24:53 +02:00
Sudeep Holla
a5b8751311 ARM: dts: am335x/am57xx: replace gpio-key,wakeup with wakeup-source property
Commit 3efda00129 ("ARM: dts: am335x: replace gpio-key,wakeup with
wakeup-source property") replaces all the legacy "gpio-key,wakeup" with
the unified  "wakeup-source" property to prevent any further copy-paste
duplication.

However couple of use of these legacy property sneaked in during the
merge window. This patch replaces them too.

Cc: "Benoît Cousson" <bcousson@baylibre.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-10 16:23:58 -08:00
Ivaylo Dimitrov
5f35dc47c1 ARM: OMAP2+: Set system_rev from ATAGS for n900
This fixed a regression with DT boot compared to legacy boot.

Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
[tony@atomide.com: edited patch subject to follow standard]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-10 16:17:15 -08:00
James Chao
741d3b0c1f ARM: dts: cros-ec-keyboard: Add LOCK key to keyboard matrix
The LOCK key is at KSO9/KSI3 for Chromebook Flip and other devices
that use the Chrome OS EC keyboard matrix.

Signed-off-by: James Chao <james_chao@asus.com>
Signed-off-by: YH Huang <yh.huang@mediatek.com>
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-02-10 22:41:53 +01:00
David Howells
50d35015ff KEYS: CONFIG_KEYS_DEBUG_PROC_KEYS is no longer an option
CONFIG_KEYS_DEBUG_PROC_KEYS is no longer an option as /proc/keys is now
mandatory if the keyrings facility is enabled (it's used by libkeyutils in
userspace).

The defconfig references were removed with:

	perl -p -i -e 's/CONFIG_KEYS_DEBUG_PROC_KEYS=y\n//' \
	    `git grep -l CONFIG_KEYS_DEBUG_PROC_KEYS=y`

and the integrity Kconfig fixed by hand.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Andreas Ziegler <andreas.ziegler@fau.de>
cc: Dmitry Kasatkin <dmitry.kasatkin@huawei.com>
2016-02-10 10:13:27 +00:00
Stephen Boyd
34d2f4d3a4 ARM: Use generic clkdev.h header
Get rid of the clkdev.h file in the ARM port and use the generic
one because we've gotten rid of all the machine specific
mach/clkdev.h files.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-10 09:22:35 +01:00
Stephen Boyd
2e3cd19bbd ARM: plat-versatile: Remove unused clock.c file
This file isn't compiled anymore because PLAT_VERSATILE_CLOCK is
never selected. Remove the file and the config.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-10 09:22:34 +01:00
Sudeep Holla
4f66f247f7 ARM: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
Keyboard driver for GPIO buttons(gpio-keys) checks for the legacy
"gpio-key,wakeup" boolean property to enable gpio buttons as wakeup
source.

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

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

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-02-10 00:19:41 +01:00
Geert Uytterhoeven
c3373b09ba ARM: dts: silk: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:28 +01:00
Geert Uytterhoeven
19417bd9c5 ARM: dts: porter: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:28 +01:00
Geert Uytterhoeven
e50b5ac88d ARM: dts: marzen: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:27 +01:00
Geert Uytterhoeven
1781460c9a ARM: dts: lager: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:26 +01:00
Geert Uytterhoeven
338f7ebf46 ARM: dts: koelsch: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates:
  - SCIF:
      - Supports now 50, 75, 110, 1152000, 1500000, 2000000, and
        4000000 bps,
      - Perfect match for standard 50-460800, and 9216000 bps.
      - More accurate 576000 bps.
  - HSCIF:
      - Supports now 50, 75, 110, 134, 150, and 200 bps,
      - Perfect match for standard 50-460800, and 9216000 bps.
      - More accurate 576000, 1152000, 3000000, 3500000, and 4000000
	bps.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:26 +01:00
Geert Uytterhoeven
81a81ba941 ARM: dts: gose: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:25 +01:00
Geert Uytterhoeven
33ef9688ae ARM: dts: bockw: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:25 +01:00
Geert Uytterhoeven
8a758a9493 ARM: dts: alt: Enable SCIF_CLK frequency and pins
Add and enable the external crystal for the SCIF_CLK and its pinctrl, to
be used by the Baud Rate Generator for External Clock (BRG) on (H)SCIF.

This increases the range and accuracy of supported baud rates.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:24 +01:00
Geert Uytterhoeven
a864446f96 ARM: dts: r8a7794: Add BRG support for (H)SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depends on
the actual board.

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:23 +01:00
Geert Uytterhoeven
166d8ca693 ARM: dts: r8a7793: Add BRG support for SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depends on
the actual board.

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:23 +01:00
Geert Uytterhoeven
394730a133 ARM: dts: r8a7791: Add BRG support for (H)SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depends on
the actual board.

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:22 +01:00
Geert Uytterhoeven
42af65e88d ARM: dts: r8a7790: Add BRG support for (H)SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depends on
the actual board.

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:21 +01:00
Geert Uytterhoeven
f2be5f00d5 ARM: dts: r8a7779: Add BRG support for SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depends on
the actual board.

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:21 +01:00
Geert Uytterhoeven
5fb544da5f ARM: dts: r8a7778: Add BRG support for SCIF
Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depends on
the actual board.

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:20 +01:00
Laurent Pinchart
1b463bd510 ARM: dts: r8a7794: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:19 +01:00
Laurent Pinchart
48f27c190c ARM: dts: r8a7793: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:19 +01:00
Laurent Pinchart
bb7ca1952e ARM: dts: r8a7791: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:18 +01:00
Laurent Pinchart
6c6e12a1f9 ARM: dts: r8a7790: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:17 +01:00
Laurent Pinchart
b406f38d4b ARM: dts: r8a7779: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:17 +01:00
Laurent Pinchart
258b3c3189 ARM: dts: r8a7778: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:16 +01:00
Laurent Pinchart
0995b9a8d6 ARM: dts: r8a7740: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:16 +01:00
Laurent Pinchart
d4be2f1bfd ARM: dts: r8a73a4: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:15 +01:00
Laurent Pinchart
92489120be ARM: dts: r7s72100: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:14 +01:00
Laurent Pinchart
46ae0e376b ARM: dts: sh73a0: Rename the serial port clock to fck
The clock is really the device functional clock, not the interface
clock. Rename it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:14 +01:00
Geert Uytterhoeven
06930a1f9d ARM: dts: r8a7794: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:13 +01:00
Geert Uytterhoeven
3ffc90a3e9 ARM: dts: r8a7793: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:12 +01:00
Geert Uytterhoeven
b5b52dd7d0 ARM: dts: r8a7791: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:12 +01:00
Geert Uytterhoeven
a20dc9f2e4 ARM: dts: r8a7790: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:11 +01:00
Geert Uytterhoeven
b2ac44fa39 ARM: dts: r8a7779: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:11 +01:00
Geert Uytterhoeven
720e9096e3 ARM: dts: r8a7778: Add SCIF fallback compatibility strings
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:10 +01:00
Simon Horman
b14ce2321b ARM: dts: emev2: use GIC_* defines
Use GIC_* defines for GIC interrupt cells in emev2 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-09 19:43:09 +01:00
Simon Horman
10bbad96d4 ARM: dts: sh73a0: use GIC_* defines
Use GIC_* defines for GIC interrupt cells in sh73a0 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
2016-02-09 19:43:09 +01:00
Simon Horman
16af4e9705 ARM: dts: r7s72100: use GIC_* defines
Use GIC_* defines for GIC interrupt cells in r7s72100 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
2016-02-09 19:43:08 +01:00
Marcus Cooper
d3e84a9318 ARM: dts: sun7i: Enable USB DRC on Olimex A20 EVB
Enable the otg/drc usb controller on the Olimex A20 EVB.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-02-09 19:34:59 +01:00
Marcus Cooper
bd10bce878 ARM: dts: sun7i: Enable USB DRC on MK808C
Enable the otg/drc usb controller on the MK808C.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-02-09 19:32:00 +01:00
Chen-Yu Tsai
3d0ddadbe6 ARM: sunxi_defconfig: Enable MUSB HDRC driver with Allwinner glue
Allwinner SoCs typically have a Mentor Graphics Inventra MUSB dual role
controller for USB OTG.

Now that the issue with MUSB and USB gadget registration order has been
resolved, we can enable this driver in dual role mode. This requires the
NOP USB transceiver driver, which is also enabled.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-09 19:30:57 +01:00
Nathan Rossi
b977025153 ARM: dts: zynq: Enable USB and USB PHY for ZYBO
Setup the USB controller and configure it to operate in host mode.
Additionally add the USB phy node for the ZYBO, including reset gpio
which is connected to a external MIO pin.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-09 13:18:08 +01:00
Roger Shimizu
b1742ffa9d ARM: dts: orion5x: add device tree for buffalo linkstation ls-gl
Add dts file to support Buffalo Linkstation LS-GL
(a.k.a Buffalo Linkstation Pro/Live), which is marvell orion5x based
3.5" HDD NAS.

Product info:
  - (JPN) http://buffalo.jp/products/catalog/item/l/ls-gl/
  - (ENG) http://www.buffalotech.com/products/network-storage/linkstation/linkstation-pro

This device tree is based on the board file:
  arch/arm/mach-orion5x/kurobox_pro-setup.c
However, that board file also support Kurobox Pro, which is not supported by
device tree yet. So the board file is not removed.

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:21:25 +01:00
Roger Shimizu
305e0b2a7a ARM: dts: orion5x: split linkstation lswtgl into common and device parts
In order to support more linkstation devices, common part of current
.dts file goes into .dtsi file. Some .dtsi start with "mvebu-" prefix
because other kirkwood based linkstation devices are similar, and
will be migrated to use these .dtsi some time later.
  - orion5x-linkstation.dtsi
  - mvebu-linkstation-fan.dtsi
  - mvebu-linkstation-gpio-simple.dtsi
while all rest part remains in device specific .dts file:
  - orion5x-linkstation-lswtgl.dts

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:21:25 +01:00
Thomas Petazzoni
34d482904c ARM: dts: armada-38x: add reference to ETH connectors for A385-AP
This commit adds some comments to the Armada 385 AP Device Tree
description to indicate which Ethernet interface matches which
physical connector on the board.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:18:32 +01:00
Thomas Petazzoni
cb4f71c429 ARM: dts: armada-38x: change order of ethernet DT nodes on Armada 38x
On Armada 38x, the available network interfaces are:

 - port 0, at 0x70000
 - port 1, at 0x30000
 - port 2, at 0x34000

Due to the rule saying that DT nodes should be ordered by register
addresses, the network interfaces are probed in this order:

 - port 1, at 0x30000, which gets named eth0
 - port 2, at 0x34000, which gets named eth1
 - port 0, at 0x70000, which gets named eth2

(if all three ports are enabled at the board level)

Unfortunately, the network subsystem doesn't provide any way to rename
network interfaces from the kernel (it can only be done from
userspace). So, the default naming of the network interfaces is very
confusing as it doesn't match the datasheet, nor the naming of the
interfaces in the bootloader, nor the naming of the interfaces on
labels printed on the board.

For example, on the Armada 388 GP, the board has two ports, labelled
GE0 and GE1. One has to know that GE0 is eth1 and GE1 is eth0, which
isn't really obvious.

In order to solve this, this patch proposes to exceptionaly violate
the rule of "order DT nodes by register address", and put the 0x70000
node before the 0x30000 node, so that network interfaces get named in
a more natural way.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:18:32 +01:00
Gregory CLEMENT
38b162032f Merge branch 'mvebu/fixes' into mvebu/dt 2016-02-09 11:18:11 +01:00
Roger Shimizu
44361a2cc1 ARM: dts: orion5x: fix the missing mtd flash on linkstation lswtgl
MTD flash stores u-boot and u-boot environment on linkstation lswtgl.
The latter one can be easily read/write by u-boot-tools package in Debian.

Fixes: dc57844a73 ("ARM: dts: orion5x: add buffalo linkstation ls-wtgl")
Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:17:53 +01:00
Heinrich Schuchardt
9d021c9d1b ARM: dts: kirkwood: use unique machine name for ds112
Downstream packages like Debian flash-kernel use
/proc/device-tree/model
to determine which dtb file to install.

Hence each dts in the Linux kernel should provide a unique model
identifier.

Commit 2d0a7addbd ("ARM: Kirkwood: Add support for many Synology NAS
devices") created the new files kirkwood-ds111.dts and kirkwood-ds112.dts
using the same model identifier.

This patch provides a unique model identifier for the
Synology DiskStation DS112.

Fixes: 2d0a7addbd ("ARM: Kirkwood: Add support for many Synology NAS devices")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:17:25 +01:00
Mario Lange
5dda254d0c ARM: dts: kirkwood: add device tree for buffalo linkstation ls-qvl
Add dts file to support Buffalo Linkstation LS-QVL,
which is marvell kirkwood based 4-bay 3.5" HDD NAS.
Product info:
  - (JPN) http://buffalo.jp/product/hdd/network/ls-qvl_r5/
  - (ENG) http://www.buffalotech.com/products/network-storage/home-and-small-office/linkstation-pro-quad

Signed-off-by: Mario Lange <mario_lange@gmx.net>
Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:26 +01:00
Aaro Koskinen
34cabc2a58 ARM: dts: kirkwood: fix audio for OpenRD clients
Fix audio on kirkwood-openrd-client:

1) The audio-controller was left disabled.

2) The probe fails because cs42l51 is missing #sound-dai-cells.

	/sound/simple-audio-card,codec: could not get #sound-dai-cells for /ocp@f1000000/i2c@11000/cs42l51@4a
	asoc-simple-card sound: parse error -22
	asoc-simple-card: probe of sound failed with error -22

3) The mapping is incorrect:

	asoc-simple-card sound: cs42l51-hifi <-> spdif mapping ok

   should be:

	asoc-simple-card sound: cs42l51-hifi <-> i2s mapping ok

Reported-by: Rick Thomas <rbthomas@pobox.com>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Rick Thomas <rbthomas@pobox.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:26 +01:00
Aaro Koskinen
39ac0979de ARM: dts: kirkwood: provide template for RS-232/485 configuration for OpenRD
Some OpenRD boards have RS-232 and RS-486 connectors wired, but using them
needs a custom DTB as the current DTB configures SD card slot instead.

This patch adds documentation into the DTS on how to change
the configuration.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:25 +01:00
Roger Shimizu
60ff189ca0 ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl
LS-WVL/VL are both kirkwood-6282 based NAS devices, which share
many MPP pins. However they are slightly different:
  - LS-WVL is 2-Bay NAS, and LS-VL is only 1-Bay.
  - There're two red LED indicator on LS-WVL to show when HDD fails,
    which is similar to LS-WXL, but there's no such on LS-VL.

So after the split, common part goes into .dtsi file:
  - kirkwood-linkstation-6282.dtsi
while all rest part goes into device specific .dts file:
  - kirkwood-linkstation-lsvl.dts
  - kirkwood-linkstation-lswvl.dts

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:24 +01:00
Roger Shimizu
b05465ff5b ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
LS-WXL/WSXL are both kirkwood-6281 based 2-Bay NAS devices, which share
many MPP pins. However they are slightly different:
  - There're two red LED indicator on LS-WXL to show when HDD fails,
    but there's no such on LS-WSXL.
  - There's 4-level speed adjustable FAN on LS-WXL, but not LS-WSXL.

So after the split, common part goes into .dtsi file:
  - kirkwood-linkstation.dtsi
  - kirkwood-linkstation-duo-6281.dtsi
while all rest part goes into device specific .dts file:
  - kirkwood-linkstation-lswsxl.dts
  - kirkwood-linkstation-lswxl.dts

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:24 +01:00
Roger Shimizu
3e2f2db885 ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under GPLv2/X11
Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:23 +01:00
Aaro Koskinen
28c494d0c5 ARM: dts: kirkwood: fix SD slot default configuration for OpenRD
The SD card slot was enabled by default with legacy booting.
It does not work anymore with DT boot. Fix by providing GPIO configuration
that matches the old default.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:22 +01:00
Aaro Koskinen
2b1fd39864 ARM: dts: kirkwood: fix pin names for UART/SD selection for OpenRD
The UART/SD pin names are swapped, fix that.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:22 +01:00
Gregory CLEMENT
ce5cad51f3 ARM: dts: armada-370: Update the mpp63 function in the device tree on Armada 370
Since the commit a526973e02 ("pinctrl: mvebu: Fix mapping of pin
63 (gpo -> gpio)"), the mpp63 is no more declared as a GPO but is a
GPIO. Even if in the datasheet this pin is described as GPO, the
experience of the D-Link DNS-327L board shows that it can be used as a
GPIO.

This commits generated warnings for the board using this pin as gpo, with
this patch the dts are fixed by using the new function (gpio) instead of
the old one.

The binding documentation has also been updated accordingly.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
2016-02-09 11:00:16 +01:00
Gregory CLEMENT
96c78e2b77 ARM: dts: armada-38x: use usb-nop-xceiv PHY for the xhci nodes on Armada 388 GP
Using the usb-nop-xceiv PHY for the xhci nodes allows a better
representation of the hardware but also a better handling of the
regulator. By linking the regulator to the PHY there is no more need to
use the regulator-always-on property, then it allows a better power
management.

The remaining usb node uses the ehci-orion driver which can't be used
with the usb-nop-xceiv PHY and must keeps the direct link to the
regulator with the regulator-always-on property.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 11:00:10 +01:00
Thomas Petazzoni
a8409c65df ARM: dts: armada-38x: use regulator-boot-on for SATA regulators on Armada 388 GP
Really, what we meant by regulator-always-on is that the regulators
are already turned on by the bootloader, for which regulator-boot-on
is a better description.

A net advantage of using regulator-boot-on is that the regulator is
not touched at boot time by the kernel, which avoids having the hard
drives spinning down and then up again, taking several (~5) seconds of
additional boot time.

In addition, there is no need to have such properties on the child
regulators used for SATA. Having it on the parent regulator that
really controls the GPIO is sufficient.

Without the patch:

[    3.945866] ata2: SATA link down (SStatus 0 SControl 300)
[    3.995862] ata3: SATA link down (SStatus 0 SControl 300)
[    4.005863] ata4: SATA link down (SStatus 0 SControl 300)
[    9.125861] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    9.144575] ata1.00: ATA-8: WDC WD5003ABYX-01WERA1, 01.01S02, max UDMA/133
[    9.151471] ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)

 (and you can hear the disk spinning down and up during this 5.1
 seconds delay)

With the patch:

[    3.945988] ata2: SATA link down (SStatus 0 SControl 300)
[    4.005980] ata4: SATA link down (SStatus 0 SControl 300)
[    4.011404] ata3: SATA link down (SStatus 0 SControl 300)
[    4.145978] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    4.153701] ata1.00: ATA-8: WDC WD5003ABYX-01WERA1, 01.01S02, max UDMA/133
[    4.160597] ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 10:59:58 +01:00
Thomas Petazzoni
05abb9754b ARM: dts: armada-38x: adjust board name and compatible for Armada 388 GP
As the name of the Device Tree file name suggests, the Armada 388 GP
really contains an Armada 388 SoC, so this commit updates the board
name and compatible string in the Device Tree file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-09 10:53:06 +01:00
Linus Walleij
52abf1eff8 ARM: realview: enable USB storage in the defconfig
It is not uncommon to boot a root filesystem from a USB
pendrive and similar, so enable USB mass storage, backed
by SCSI and SD block devices in the RealView defconfig.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-09 10:39:38 +01:00
Linus Walleij
7a6f752e27 ARM: realview: delete realview-smp_defconfig
We enabled SMP in the realview_defconfig so delete the
SMP-specific defconfig.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-09 10:39:30 +01:00
Linus Walleij
89bf707923 ARM: realview: activate SMP on the default defconfig
The realview has two defconfigs: realview_defconfig and
realview-smp_defconfig. We now have working SMP_ON_UP so
make them equal so we can delete the -smp variant. For
some reason NO_HZ_FULL was missing from the plain
realview_defconfig.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-09 10:39:18 +01:00
Kishon Vijay Abraham I
8fe097a3d9 ARM: DRA7: hwmod: Add reset data for PCIe
Add PCIe reset data to PCIe hwmods on DRA7x.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2016-02-09 02:18:52 -07:00
Kishon Vijay Abraham I
4965be1fc8 ARM: DRA7: hwmod: Fix OCP2SCP sysconfig
OCP2SCP doesn't support smart idle wakeup according to
Table 26-22. OCP2SCP_SYSCONFIG in AM572x TRM [1] and
Table 26-22. OCP2SCP_SYSCONFIG in AM571x TRM [2].
Remove SIDLE_SMART_WKUP from the list of supported SIDLE modes
in hwmod data.

[1] -> http://www.ti.com/lit/ug/spruhz6e/spruhz6e.pdf
[2] -> http://www.ti.com/lit/ug/spruhz7a/spruhz7a.pdf

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2016-02-09 02:18:40 -07:00
Josh Cartwright
6ded93a119 ARM: zynq: address L2 cache data corruption
The Zynq has a bug where the L2 cache will return invalid data in some
circumstances unless the L2C_RAM register is set to 0x00020202 before the first
enabling of the L2 cache.

The Xilinx-recommended solution to this problem is to ensure that early one of
the earlier bootstages correctly initialize L2C_RAM, however, this issue wasn't
discovered and fixed until after their EDK/SDK 14.4 release.  For systems built
prior to that, and which lack field-upgradable bootloaders, this issue still
exists and silent data corruption can be seen in the wild.

Fix these systems by ensuring L2C_RAM is properly initialized at the
earliest convenient moment prior to the L2 being brought up, which is
when the SLCR is first mapped.

The Zynq bug is described in more detail by Xilinx AR# 54190 as quoted
below.

Xilinx AR# 54190
http://www.xilinx.com/support/answers/54190.htm
Captured on 2014-09-24 14:43 -0500

  = Description =
  For proper L2 cache operation, the user code must program the
  slcr.L2C_RAM register (address 0xF800_0A1C) to the value of
  0x0002_0202 before enabling the L2 cache. The reset value
  (0x0001_0101) might cause, very infrequently, the L2 cache to return
  invalid data.

  = Solution =
  It is up to the user code (FSBL or other user code) to set the
  slcr.L2C_RAM register to the value 0x0002_0202 before enabling the L2
  cache.

  Note: The L2 cache is disabled after reset and is not enabled by the
  BootROM.

  Note: The slcr.l2C_RAM register was previously reserved. It is added
  in the Zynq-7000 AP SoC Technical Reference Manual (TRM) v1.5 as
  "Reserved".

Thanks to Jaeden Amero for initial debugging and triage efforts.

Signed-off-by: Josh Cartwright <joshc@ni.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-09 10:18:12 +01:00
Josh Cartwright
9388187fd7 ARM: zynq: initialize slcr mapping earlier
In preparation for performing additional configuration prior to bringing
up L2, move the slcr initialization earlier in the boot process.

Signed-off-by: Josh Cartwright <joshc@ni.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-09 10:18:11 +01:00
Chen-Yu Tsai
0813ce0a49 ARM: multi_v7_defconfig: Enable A10 audio codec driver as module
The A10 audio codec driver supports the on-chip audio codec found on
Allwinner A10, A10s, A13, A20 SoCs.

Build it as a module, since it is not critical.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-09 09:14:27 +01:00
Chen-Yu Tsai
44c2316314 ARM: multi_v7_defconfig: Enable MUSB HDRC driver with Allwinner glue
Allwinner SoCs typically have a Mentor Graphics Inventra MUSB high speed
dual role controller for USB OTG.

Now that the issue with MUSB and USB gadget registration order has been
resolved, we can enable this driver in dual role mode.

This patch only enables the driver core and Allwinner platform support.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-09 09:14:05 +01:00
Chen-Yu Tsai
401d32a995 ARM: sunxi_defconfig: Enable INPUT_EVDEV so axp20x-pek can be used
sunxi_defconfig already enables INPUT_AXP20X_PEK, but the device is not
exposed to userspace. Enable INPUT_EVDEV so it is.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-09 09:02:17 +01:00
Chen-Yu Tsai
d027595be1 ARM: sunxi_defconfig: Enable A10 audio codec driver
The A10 audio codec driver supports the on-chip audio codec found on
Allwinner A10, A10s, A13, A20 SoCs.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-09 09:01:45 +01:00
Chen-Yu Tsai
2a743e3ece ARM: sunxi_defconfig: Enable sunxi IR driver
A consumer IR receiver is commonly found on Allwinner SoC based
development boards and set top boxes. The driver has been available
for some time. Enable it by default.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-09 09:01:17 +01:00
Caesar Wang
29f12bbab4 ARM: dts: rockchip: add arm,pl330-broken-no-flushp quirk for rk3036 SoCs
Pl330 integrated in rk3036 platform that doesn't support
DMAFLUSHP function. So we add 'arm,pl330-broken-no-flushp' quirk
for rk3036.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-02-09 08:43:20 +01:00
Shawn Lin
9bed8b41d8 ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3xxx platform
Pl330 integrated in rk3xxx platform doesn't support
DMAFLUSHP function. So we add arm,pl330-broken-no-flushp quirk
for it.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-02-09 08:41:50 +01:00
Addy Ke
e7d6c9b116 ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3288 platform
Pl330 integrated in rk3288 platform doesn't support
DMAFLUSHP function. So we add arm,pl330-broken-no-flushp quirk
for it.

Signed-off-by: Addy Ke <addy.ke@rock-chips.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-02-09 08:41:02 +01:00
Olof Johansson
5eb3846258 mvebu defconfig for 4.6 (part 1)
- Enable sound module needed for OpenRD in mvebu_v5_defconfig
 - Add USB nop xceiv support in mvebu_v7_defconfig
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAla4pEgACgkQCwYYjhRyO9V5swCdE+ycsxftoA4+3OGHWn4yAOdb
 MukAoI41b7PVQQM3gX1+sBuKe0X/AHTG
 =UEnL
 -----END PGP SIGNATURE-----

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

mvebu defconfig for 4.6 (part 1)

- Enable sound module needed for OpenRD in mvebu_v5_defconfig
- Add USB nop xceiv support in mvebu_v7_defconfig

* tag 'mvebu-defconfig-4.6-1' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu_v5_defconfig: Enable sound module needed for OpenRD
  ARM: mvebu: Add USB nop xceiv support in mvebu_v7_defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:59:29 -08:00
Olof Johansson
7436cf625e mvebu driver for 4.6 (part 1)
implement ARM delay timer for orion
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAla4oRUACgkQCwYYjhRyO9XMTQCbBG/T4I36+C1zi/yAgnSMIXNB
 Q3oAoJnb4ZnlFD4JKB3K7WkpydrmmW+S
 =MOUk
 -----END PGP SIGNATURE-----

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

mvebu driver for 4.6 (part 1)

implement ARM delay timer for orion

* tag 'mvebu-drivers-4.6-1' of git://git.infradead.org/linux-mvebu:
  ARM: orion: implement ARM delay timer

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:54:16 -08:00
Olof Johansson
915c7ce8ad mvebu cleanup for 4.6 (part 1)
use "depends on" instead of "if" after prompt for mv78xx0
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAla4oH0ACgkQCwYYjhRyO9WCpwCfdN+AkcS9EcL+RNSTl9NfPdOV
 3+kAoKcTbeTQAlwlqHlfOYxuGYsyw4Vh
 =peYU
 -----END PGP SIGNATURE-----

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

mvebu cleanup for 4.6 (part 1)

use "depends on" instead of "if" after prompt for mv78xx0

* tag 'mvebu-cleanup-4.6-1' of git://git.infradead.org/linux-mvebu:
  ARM: mv78xx0: use "depends on" instead of "if" after prompt

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:53:27 -08:00
Mans Rullgard
0c5325466d ARM: debug: add support for Palmchip BK-310x UART
Some SoCs use a Palmchip BK-310x UART which is mostly 16550 compatible
but with a different register layout. While this UART has previously
only been supported in MIPS based chips (Alchemy, Ralink), the ARM based
SMP87xx series from Sigma Designs also uses it.

This patch allows the debug console to work with this type of UART.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:52:34 -08:00
Olof Johansson
8527cfce6e Renesas ARM Based SoC Cleanup for v4.6
* Remove remnants of removed SCU boot setup code for r8a7779
 * Correct s/MIPDR/MPIDR/ typo
 * Add includes providing forward declarations
 * Make rcar_gen2_dma_contiguous static
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWs1vyAAoJENfPZGlqN0++y6sP/3dEiOXTLw1vh5tubLykm4+s
 WJ+V0PQWN0FhMUk1nddYzqGEvdxpsw0FzfzlmDvDYWX0zccdmyMbQsKy7ZoFFLlq
 4A/CsSKCoefTF+350+QLfCtfYZq0zAK4xBwM+OoxAuSZKFPM77V6Ra4xMoqHvgAd
 pt5827wShhpMG3dN/J5BCJpogUAMgM3QpF+VtWKd3VWXwXabv3lh0E6M3OVGRvpE
 pa9E3Mh+oifGC+j06sxjNP/9LPR4o6WY0AjpGL5iBfByPwz5Zpy9gEk4CPYzqxPA
 psW/fwy7wgVB1kIL8D5AaQI4LP2jff9Z4kJI+2FGVykEN2P9D6IZrYfh/fgtTXIA
 0i9oDvZvDtjYfEAdgOC5XiZVdYwZXUMcpaj1m2xJR+FC1msSmLa42LxQ/nDBXjq+
 cEFGOJqS2WCe31SRNj8WtCFi/e3hKpeayf93j12VjcwH/ZPAi2p+wbLYPkUZP5iM
 E8h1FUm4U7enjFe8msbiOH3k/r1ILNoqFQttB/Jst6sF1h2xl4AhJji9rXPQ/8Dx
 1WtyheznaSikUXL9H69rv0vexmREke411dhMeDR7FDwOu4DDGlDSQs5BA8MsvR+E
 7Fpw7++7os8AotLGUsZMPIElrBINsSEYLA46CvdexHWMgoY9Yo/vyu/ucftMg5lE
 T2vvtPgL7hERA+S7yfTU
 =3v2N
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Cleanup for v4.6

* Remove remnants of removed SCU boot setup code for r8a7779
* Correct s/MIPDR/MPIDR/ typo
* Add includes providing forward declarations
* Make rcar_gen2_dma_contiguous static

* tag 'renesas-cleanup-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
  ARM: shmobile: Typo s/MIPDR/MPIDR/
  ARM: shmobile: Add includes providing forward declarations
  ARM: shmobile: rcar-gen2: Make rcar_gen2_dma_contiguous static

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:39:36 -08:00
Masahiro Yamada
95650655f7 ARM: netx: remove redundant "depends on ARCH_NETX"
These options already reside inside the ARCH_NETX-dependent menu.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:36:55 -08:00
Masahiro Yamada
ea503fb63d ARM: integrator: remove redundant select in Kconfig
All of these are already select'ed by ARCH_MULTIPLATFORM.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:36:31 -08:00
Masahiro Yamada
9dfb81efbb ARM: drop unused Makefile.boot of Multiplatform SoCs
The variable "MACHINE" is empty if CONFIG_ARCH_MULTIPLATFORM=y,
so these Makefile.boot files are never included.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Michal Simek <michal.simek@xilinx.com> (for Zynq)
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:35:41 -08:00
Olof Johansson
a8824bd6a5 Renesas ARM Based SoC Defconfig Updates for v4.6
* Enable XHCI_RCAR
 * Do not enable CONFIG_CPU_BPREDICT_DISABLE
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWsHsVAAoJENfPZGlqN0++mq0QAKe5C5SQL+BwcTBdktFxaVlG
 JJHjLA/u9EgZ/+cs12zMRe8/fZeuT5/IXy/6gj6bo2KR8tZ/KvwjrfNMBuk5q2Pf
 zB1eypJGGJOYlgxUFa5y5E4VzQKBqoMO9B75L99h4dERreO2RCK8Blh8gFndKNSI
 KskCGJwZ9Fd2afeHPMlsXYiDb44H+iR6eL3u9iv2fcZkBPtTe6oo3wi/BwAvxW1k
 oZhwlosa4HXYpjhnoGllXlRlOO/+z94v5pHqI7Bg8s9Tx68BXmCLXvXorGZqWa+x
 hOIBF0ofd9panjJtHNs1ClITQe4IbHfW/D593q5ijx1bB9hRvkpIT9LKulSymwZX
 QtgmP8Z25Tvfus6rE/VjQaDz4HPy2a8SoYtTG/SjUKPUk+Vf9jTKS6QeHysFTwLo
 6BTzdR9AGY6kBW5YPjIClHWA2IlmGVFL2+JK/g4lRS2OPZh35HI9xgR1PA7cBc6L
 +7XpFmyZ1aP2BpncWj4ewKk9Zvd0TGXAuB2lu+CQvDcbYdN/RasK+jsrK7M+jBHH
 LTk15zRJhnYttzjca7JSVgOA0iOq8InwZBijfOojVCXyMMONYjp4nrdaEEG4FH1l
 gNYfsyg1QYz74fnL7ECg7sQwx4jhvt1CJO4qC9F1djcYKuRKexLCZB6G2j96qsJy
 hR2GQSdS8ou4DLP015kK
 =e/Gj
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Defconfig Updates for v4.6

* Enable XHCI_RCAR
* Do not enable CONFIG_CPU_BPREDICT_DISABLE

* tag 'renesas-defconfig-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: multi_v7_defconfig: Enable XHCI_RCAR
  ARM: shmobile: enable XHCI_RCAR in defconfig
  ARM: shmobile: defconfig: Do not enable CONFIG_CPU_BPREDICT_DISABLE

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-08 13:24:01 -08:00
Ian Campbell
52ba0746b3 xen/arm: correctly handle DMA mapping of compound pages
Currently xen_dma_map_page concludes that DMA to anything other than
the head page of a compound page must be foreign, since the PFN of the
page is that of the head.

Fix the check to instead consider the whole of a compound page to be
local if the PFN of the head passes the 1:1 check.

We can never see a compound page which is a mixture of foreign and
local sub-pages.

The comment already correctly described the intention, but fixup the
spelling and some grammar.

This fixes the various SSH protocol errors which we have been seeing
on the cubietrucks in our automated test infrastructure.

This has been broken since commit 3567258d28 ("xen/arm: use
hypercall to flush caches in map_page"), which was in v3.19-rc1.

NB arch/arm64/.../xen/page-coherent.h also includes this file.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xenproject.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: stable@vger.kernel.org # v3.19+
2016-02-08 17:19:27 +00:00
Krzysztof Adamski
5bcaf95c26 ARM: dts: sunxi: Fix #interrupt-cells for PIO in H3
pinctrl-sunxi uses 3 cells to describe interrupt, not 2. It's bank
number, pin number and flags.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-08 18:19:26 +01:00
Linus Walleij
5070fb14a0 ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz()
When trying to set the ICST 307 clock to 25174000 Hz I ran into
this arithmetic error: the icst_hz_to_vco() correctly figure out
DIVIDE=2, RDW=100 and VDW=99 yielding a frequency of
25174000 Hz out of the VCO. (I replicated the icst_hz() function
in a spreadsheet to verify this.)

However, when I called icst_hz() on these VCO settings it would
instead return 4122709 Hz. This causes an error in the common
clock driver for ICST as the common clock framework will call
.round_rate() on the clock which will utilize icst_hz_to_vco()
followed by icst_hz() suggesting the erroneous frequency, and
then the clock gets set to this.

The error did not manifest in the old clock framework since
this high frequency was only used by the CLCD, which calls
clk_set_rate() without first calling clk_round_rate() and since
the old clock framework would not call clk_round_rate() before
setting the frequency, the correct values propagated into
the VCO.

After some experimenting I figured out that it was due to a simple
arithmetic overflow: the divisor for 24Mhz reference frequency
as reference becomes 24000000*2*(99+8)=0x132212400 and the "1"
in bit 32 overflows and is lost.

But introducing an explicit 64-by-32 bit do_div() and casting
the divisor into (u64) we get the right frequency back, and the
right frequency gets set.

Tested on the ARM Versatile.

Cc: stable@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-08 16:40:36 +00:00
Masahiro Yamada
7d8f9ac162 ARM: mvebu: add missing of_node_put()
This node pointer is returned by of_find_compatible_node() in this
function.  It should be put before exitting this function.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-08 17:30:14 +01:00
Kees Cook
25362dc496 ARM: 8501/1: mm: flip priority of CONFIG_DEBUG_RODATA
The use of CONFIG_DEBUG_RODATA is generally seen as an essential part of
kernel self-protection:
http://www.openwall.com/lists/kernel-hardening/2015/11/30/13
Additionally, its name has grown to mean things beyond just rodata. To
get ARM closer to this, we ought to rearrange the names of the configs
that control how the kernel protects its memory. What was called
CONFIG_ARM_KERNMEM_PERMS is realy doing the work that other architectures
call CONFIG_DEBUG_RODATA.

This redefines CONFIG_DEBUG_RODATA to actually do the bulk of the
ROing (and NXing). In the place of the old CONFIG_DEBUG_RODATA, use
CONFIG_DEBUG_ALIGN_RODATA, since that's what the option does: adds
section alignment for making rodata explicitly NX, as arm does not split
the page tables like arm64 does without _ALIGN_RODATA.

Also adds human readable names to the sections so I could more easily
debug my typos, and makes CONFIG_DEBUG_RODATA default "y" for CPU_V7.

Results in /sys/kernel/debug/kernel_page_tables for each config state:

 # CONFIG_DEBUG_RODATA is not set
 # CONFIG_DEBUG_ALIGN_RODATA is not set

---[ Kernel Mapping ]---
0x80000000-0x80900000           9M     RW x  SHD
0x80900000-0xa0000000         503M     RW NX SHD

 CONFIG_DEBUG_RODATA=y
 CONFIG_DEBUG_ALIGN_RODATA=y

---[ Kernel Mapping ]---
0x80000000-0x80100000           1M     RW NX SHD
0x80100000-0x80700000           6M     ro x  SHD
0x80700000-0x80a00000           3M     ro NX SHD
0x80a00000-0xa0000000         502M     RW NX SHD

 CONFIG_DEBUG_RODATA=y
 # CONFIG_DEBUG_ALIGN_RODATA is not set

---[ Kernel Mapping ]---
0x80000000-0x80100000           1M     RW NX SHD
0x80100000-0x80a00000           9M     ro x  SHD
0x80a00000-0xa0000000         502M     RW NX SHD

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Laura Abbott <labbott@fedoraproject.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-08 15:56:45 +00:00
Russell King
4138323eac ARM: use virt_to_idmap() for soft_restart()
Code run via soft_restart() is run with the MMU disabled, so we need to
pass the identity map physical address rather than the address obtained
from virt_to_phys().  Therefore, replace virt_to_phys() with
virt_to_idmap() for all callers of soft_restart().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-08 15:48:32 +00:00
Russell King
2841029393 ARM: make virt_to_idmap() return unsigned long
Make virt_to_idmap() return an unsigned long rather than phys_addr_t.

Returning phys_addr_t here makes no sense, because the definition of
virt_to_idmap() is that it shall return a physical address which maps
identically with the virtual address.  Since virtual addresses are
limited to 32-bit, identity mapped physical addresses are as well.

Almost all users already had an implicit narrowing cast to unsigned long
so let's make this official and part of this interface.

Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-08 15:47:28 +00:00
Jean Delvare
1349ba02bf ARM: OMAP: serial: Rename DRIVER_NAME
DRIVER_NAME is too generic to be used in a driver-specific platform
data file. Use a name specific to the driver instead, to avoid
collisions.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Tony Lindgren <tony@atomide.com>
Cc: Jiri Slaby <jslaby@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-06 23:13:30 -08:00
Bjorn Helgaas
5bd28338d6 PCI: Remove includes of empty asm-generic/pci-bridge.h
include/asm-generic/pci-bridge.h is now empty, so remove every #include of
it.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Will Deacon <will.deacon@arm.com> (arm64)
2016-02-05 16:28:36 -06:00
Vishnu Patekar
1425ec0f1c ARM: sunxi: Introduce Allwinner for A83T support
Allwinner A83T is octa-core cortex-a7 based SoC.
It's clock control unit and prcm, pinmux are different from previous sun8i
series.
Its processor cores are arragned in two clusters 4 cores each,
similar to A80.

Signed-off-by: Vishnu Patekar <vishnupatekar0510@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Chen-Yu Tsai <wens@csie.org>
[maxime: Removed the clock protection code]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-05 07:54:08 +01:00
Felipe Balbi
0331966df0 arm: boot: beaglex15: pass correct interrupt
According to latest schematics [1], GPIO_1/VBUSDET
on TPS659038 is tied to AM57x GPIO4_21. We can use
that as a VBUS interrupt, instead of relying on
PMIC's VBUS interrupts which don't seem to be firing
on x15 at all.

A follow up patch will add support for using this
GPIO-based interrupt mechanism for notifying about
VBUS.

[1] https://github.com/beagleboard/beagleboard-x15/blob/master/BeagleBoard-X15_RevA2.pdf

Signed-off-by: Felipe Balbi <balbi@ti.com>
[cw00.choi: Use the 'vbus-gpio' property instead of 'interrupts-extended']
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2016-02-05 14:16:38 +09:00