Commit Graph

561254 Commits

Author SHA1 Message Date
Arnd Bergmann
fc2f669e7d Merge tag 'bcm2835-soc-next-2015-12-28' of http://github.com/anholt/linux into next/soc
Merge "BCM2835 SOC changes for 4.5" from Eric Anholt:

This pull request includes the bcm2835 changes for 4.5 targeting the
arm-soc next/soc branch.

* tag 'bcm2835-soc-next-2015-12-28' of http://github.com/anholt/linux:
  ARM: bcm2835: Add Kconfig support for bcm2836
  ARM: bcm2835: Add a compat string for bcm2836 machine probe
  dt-bindings: Add root properties for Raspberry Pi 2

Conflicts:
	arch/arm/mach-bcm/Kconfig
2015-12-31 17:37:12 +01:00
Arnd Bergmann
2bc75dbf14 Merge branch 'depends/usb-fixes' into next/soc
This branch was merged into v4.4-rc5 and is needed for the
bcm2836 support. Merging it first to avoid large-scale backmerge
of rc5.

* depends/usb-fixes:
  usb: dwc2: fix kernel oops during driver probe
  usb: phy: mxs: add "fsl,imx6ul-usbphy" compatible string
  usb: gadget: f_midi: fix leak on failed to enqueue out requests
  usb: gadget: f_midi: Transmit data only when IN ep is enabled
  usb: dwc2: make otg clk optional
  usb: dwc2: Return errors from PHY
  usb: dwc2: Make PHY optional
  usb: renesas_usbhs: gadget: Fix NULL pointer dereference in usbhsg_ep_dequeue()
  usb: kconfig: fix warning of select USB_OTG
  usb: gadget: pxa27x: fix suspend callback
  usb: gadget: functionfs: fix missing access_ok checks
  usb: musb: USB_TI_CPPI41_DMA requires dmaengine support
2015-12-31 17:36:40 +01:00
Arnd Bergmann
ed1c7848dc Merge tag 'omap-for-v4.5/81xx-soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Pull "reworked soc changes for ti81xx devices and minimal dra62x
j5ec-evm support" from Tony Lindgren:

Add minimal SoC support for dra62x also known as j5eco. As it's closely
related to dm814x, we can treat it as a dm814x variant for now and do
rest of the configuration with DTS just files. And let's add hwmod
support for MMC and USB on dm814x and dra62x.

* tag 'omap-for-v4.5/81xx-soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Add support for dm814x and dra62x usb
  ARM: OMAP2+: Add mmc hwmod entries for dm814x
  ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx
  ARM: OMAP2+: Fix SoC detection for dra62x j5-eco
2015-12-31 17:36:39 +01:00
Eric Anholt
5234c34e4c ARM: bcm2835: Add Kconfig support for bcm2836
This should be a complete port of bcm2835 functionality to bcm2836
(Raspberry Pi 2).

Signed-off-by: Eric Anholt <eric@anholt.net>
2015-12-26 14:34:03 -08:00
Tony Lindgren
f53850b5dc ARM: OMAP2+: Add support for dm814x and dra62x usb
The usb phys are different on dm814x compared to dm816x so we need to
use the clkdcoldo output for usb.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-22 16:23:08 -08:00
Tony Lindgren
c757fda893 ARM: OMAP2+: Add mmc hwmod entries for dm814x
Let's add mmc entries for dm814x. To do that, we need to rename some
entries to be common for 81xx.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-22 16:23:08 -08:00
Tony Lindgren
418d4ebcfe ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx
These offsets seem to be common, so let's rename the defines. And let's
set up the default_l3_slow_81xx_clkdm with active and default powerdomains
for dm814x. These are needed for usb to work.

Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-22 16:23:08 -08:00
Tony Lindgren
68b813bf57 ARM: OMAP2+: Fix SoC detection for dra62x j5-eco
We can boot dra62x j5-eco using the dm814x code as the clocks and
devices are mapped in the device tree. The dra62x is also known
as jacinto 5 eco.

We may want to add separate soc_is macros for dra62x if needed,
but this gets us to the point where we can boot dra62x with just
dts changes.

Let's also print out the unknown hawkeye register to make things
a bit easier for new SoC variants.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-22 15:39:29 -08:00
Marc Gonzalez
d6de5b0294 ARM: tango4: Initial platform support
Support Sigma Designs ARM-based (specifically, Cortex-A9 MPCore r3p0)
Tango4 "Secure Media Processor" platforms: smp8756, smp8758, smp8759
(8756 is single-core, the latter are dual-core).

Note: 8758 vs 8759: same chip, different package.

Support for older MIPS-based platforms can be found elsewhere:
https://github.com/mansr/linux-tangox

Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-22 15:10:31 -08:00
Olof Johansson
9d67d4624f The i.MX SoC updates for 4.5:
- Select HAVE_IMX_SRC for i.MX7 to avoid a randconfig build error
 - Enable cpufreq support on i.MX7D
 - A couple of random cleanup on iomux-imx31 and mach-imx6ul
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJWeVfeAAoJEFBXWFqHsHzOOmcH/A3mzA0g2FLMZIbJNY5tqrap
 z1aejsrdkL00vJWGcI0FJt7G1JkYUFYPjjDnbkbeYnXwfi66ZafWdHeSy5QIFfFv
 lbbF5Na9FESO5A+iWtvpScS/Frz1kk8Uq4SDiglzq+pV9MmQH7Ik3bbk57/h2sGA
 Uk+SntoiEPmU0d/Jp0pnA66g6FYdDXhl6Ie1fBZSsToCDVvG/dD2O37NrhehzH1A
 htxcPjuEfmYJRju3T2zgpTdgQ/vchMoCDH2hndi52LVz2LF6RRvoNvhm/qPM4Pg9
 OlifVrFa8LMBSV9az7Fu9w0GYyKkHdE5ECxXWJvCi0w+p1zGb3rWf3Aj6aR4kag=
 =Gsgx
 -----END PGP SIGNATURE-----

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

The i.MX SoC updates for 4.5:
- Select HAVE_IMX_SRC for i.MX7 to avoid a randconfig build error
- Enable cpufreq support on i.MX7D
- A couple of random cleanup on iomux-imx31 and mach-imx6ul

* tag 'imx-soc-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: select SRC for i.MX7
  ARM: mach-imx: iomux-imx31: fix spelling mistake in error message
  ARM: imx: enable cpufreq device on i.mx7d
  mach-imx/mach-imx6ul.c: proper constness with __initconst

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-22 14:58:48 -08:00
Olof Johansson
45e2916be2 SoC changes for omaps for v4.5 merge window. The main change here is to
change the omap initcall levels a bit to initialize things later to allow
 early device drivers at core_initcall level. This makes things easier
 for us as most clocks can be made into regular device drivers except for
 a few early clocks needed to initialize system timers. I wanted to have
 these changes sit in Linux next for a few weeks before sending out a pull
 request, and so far now issues have showed up.
 
 The other changes in this series are timer changes for making use of the
 new PWM driver, and timer changes to support more high security SoCs.
 Also few minor improvments for module autoidle settings for ti81xx spinbox
 and dra7 debug on uart4 in hwmod code. The rest is pretty much just removal
 of platform data for SoCs that are all device tree only nowadays.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWeGDyAAoJEBvUPslcq6Vz/PsQALn5JcQgZe5Od95l4clQKKLT
 OTDkRlfTUAWHNsDMNBqSAJZtRR4tWA4fECqusIyocJs2g74745MKcfuD1z0hSr+F
 kvyYX/7lnS1AwU0RalACIoPlSh/ZR3Jrp4pXfiaNQGjr180SEmAtAu3jTUA4xUjZ
 CdyILrzP7lckCUuF1vCguaM5hNqSEy0f6a1XCieG35k2nDrLq+C4QZ6YN8/ZGKLD
 HADCFWllMcxgmTvxLy4JtUMYK/ujHJOl8QTEpUujzxRnZasZVJpB+lGsosIyR+d1
 oXu9PaclyYYKK0/FtqQx2urhzu1POxaA8j2WDZB9k8Dt6csXZptkXoBdY7qJpOM2
 0rL/57uv95hC1ufHVz6oRiRjvik0G4QL8M8cIpG4i4puTR0Uw+3HYy7UfYMsnK60
 1piWmgaBb/VDYL/XTFE8FJW5WlEosWwezwoneY1yTCzMmtKX8KjFtxISYodrWuV8
 rwnmLf5mn4/1HjmnqlYZHnCnMwdfbDsAV+5SPGIspkHT10un4wFgrLs9+2k3wntL
 Je8H168+r9FS+ZND9kdN6HL+yf0ruC813l+p7cQ+RIy4hHyXoiFLeQnxAUcORNF5
 0vUR47WZCMpgD2IjIDuDg9ZJp3gzEVNMbxbz5VpAwm4vgx/2QAMNs5l9Q8vQQd2O
 uuHoE8Fi4KTY4LJTqPj6
 =69mE
 -----END PGP SIGNATURE-----

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

SoC changes for omaps for v4.5 merge window. The main change here is to
change the omap initcall levels a bit to initialize things later to allow
early device drivers at core_initcall level. This makes things easier
for us as most clocks can be made into regular device drivers except for
a few early clocks needed to initialize system timers. I wanted to have
these changes sit in Linux next for a few weeks before sending out a pull
request, and so far now issues have showed up.

The other changes in this series are timer changes for making use of the
new PWM driver, and timer changes to support more high security SoCs.
Also few minor improvments for module autoidle settings for ti81xx spinbox
and dra7 debug on uart4 in hwmod code. The rest is pretty much just removal
of platform data for SoCs that are all device tree only nowadays.

* tag 'omap-for-v4.5/soc-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Remove device creation for omap-pcm-audio
  ARM: OMAP1: Remove device creation for omap-pcm-audio
  ARM: OMAP2+: Change core_initcall levels to postcore_initcall
  ARM: DRA7: hwmod: Enable DEBUG_LL for UART4
  ARM: OMAP: RX-51: fix a typo in log writing
  ARM: omap4: hwmod: Remove elm address space from hwmod data
  ARM: OMAP2+: timer: Remove secure timer for DRA7xx HS devices
  ARM: OMAP: dmtimer: check for fixed timers during config
  ARM: OMAP2+: Remove omap_mmu_dev_attr structure
  ARM: OMAP4: hwmod data: Remove legacy IOMMU attr and addrs
  ARM: OMAP3: hwmod data: Remove legacy IOMMU data
  ARM: OMAP2+: Remove legacy device instantiation of IOMMUs
  ARM: OMAP2+: Add hwmod spinbox support for dm816x
  ARM: OMAP: add DT support for ti,dm816-timer
  ARM: OMAP: dmtimer: Add clock source from DT

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-22 14:49:17 -08:00
Olof Johansson
8907dbaa36 Merge branch 'treewide/cleanup' into next/soc
Merge in cleanup to avoid internal conflicts with newly added code.

* treewide/cleanup:
  ARM: use "depends on" for SoC configs instead of "if" after prompt
  ARM/clocksource: use automatic DT probing for ux500 PRCMU
  ARM: use const and __initconst for smp_operations
  ARM: hisi: do not export smp_operations structures

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-22 13:10:00 -08:00
Olof Johansson
9cdac4a20a SMP special case for the rk3036 and addition of the rk3228
quad-core Cortex-A7 cpu.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWcdThAAoJEPOmecmc0R2BFeMH/2jlwJrDe88hK1/7uQaFhKTN
 Ykiphn6JM33/32D8iGNeoU1/ylW8y72Yb09mPwaBbpwCqtNlhb7iJIIhVqAOac57
 PfJgTvq6bzXeqsKQkstZ3fCu/TP4rucXH6D1XUmR3N5BIfo7iNjrxR2QnKXv522E
 HABnLjS7AY/CZXp2yudwku9RBBG1w0yGqxbvyfJEnOsuzopb50yBEAls6UXY1yei
 W/bY2fEeiQLtt2SWjS40p9+PZcrG2VQHDuKefhD8HeRIROXg/36QfM/DXxGJnJOA
 3mMYx+zGxfWul+b82SsS6Z4tKQ+GCG7G5ABc2Gnd2NYpa3ESIJJQRLGU3VozidA=
 =NGaT
 -----END PGP SIGNATURE-----

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

SMP special case for the rk3036 and addition of the rk3228
quad-core Cortex-A7 cpu.

* tag 'v4.5-rockchip-soc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: enable support for RK3228 SoCs
  ARM: rockchip: use const and __initconst for rk3036 smp_operations
  ARM: rockchip: add support smp for rk3036

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-22 13:06:15 -08:00
Olof Johansson
f877df2bcf arm: Xilinx Zynq patches for v4.5
- Select reset controller by default for Zynq
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlZutbsACgkQykllyylKDCGOjgCfWC/4Z3UmDAypeSEABmFaBkb2
 uDkAn2VeuLBHYIZaEp3c22iVZ4X+xtbJ
 =8W06
 -----END PGP SIGNATURE-----

Merge tag 'zynq-soc-for-4.5' of https://github.com/Xilinx/linux-xlnx into next/soc

arm: Xilinx Zynq patches for v4.5

- Select reset controller by default for Zynq

* tag 'zynq-soc-for-4.5' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Select ARCH_HAS_RESET_CONTROLLER

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-22 11:28:30 -08:00
Eric Anholt
c1be3c1fc6 ARM: bcm2835: Add a compat string for bcm2836 machine probe
Supporting the 2836 requires using the new interrupt controller, which
we have support for.

Signed-off-by: Eric Anholt <eric@anholt.net>
2015-12-22 11:17:04 -08:00
Eric Anholt
57e5c6d95b dt-bindings: Add root properties for Raspberry Pi 2
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Rob Herring <robh@kernel.org>
2015-12-22 11:16:55 -08:00
Olof Johansson
d622bbfcae Samsung Exynos improvements for 4.5:
1. Switch from Exynos-specific restart/poweroff handler
    (mach-exynos/pmu.c) to generic syscon-reboot and syscon-poweroff
    drivers.
    This depends on adding syscon nodes to DTS to preserve
    bisectability.
 2. Minor improvements.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWXj9IAAoJEME3ZuaGi4PXgzcP/jjZSZaYFk31/PTtdpOlV0je
 kOAAZByLdStEr1rxY89o/YtznaqYowbFrElJPVwHr4W9y0UyP+FjIWFCBNh7vn29
 cVRlJUAg99dVP8cohrgbc1Gd6943CeR/0S3EPYAOK6SffRuoDNWvgtGg4Y9mV/7Z
 3g1FeuCIxaKisCWFmRYNw3cjnekLgeL1AC+N6IjPiX1iy2Wnx58zTeFPL0cAhpHY
 YjG4S6hVzaWFt969hR7cqhuG6a05wmSWTDKVk4PBuCkZpoX/k2lRwy0saT6WFzjc
 8MoNVgqGTqlgeYXDIQcR3upmS2NSp2IPXxjcT9I7qP8gnHX1fgb9hdYWdj9+uaKh
 7uF4JM2xlGXeMja9t1TcIBCMTc9rKPd0dxPHm4MnIYgC9BxGi5iBkvoGEH5zxoeg
 P0pAeIxkk11q+d59b2AMZF4EMUkuZh6iLZPrwUh5JWs0rdo+sh+wdDiQ0GYdvtev
 eW51mfWIuhFfwRCafYM9KL+GAf+fn+vKecYe7KFmNbLhXYSUMtmiffXVjFFhuFy7
 mW8iOEPfrxP2sqAsuElrl5c82klxvXJgLQ51hCthHeugrP/tJsYyLffIcLMhlFZL
 t8yKIeTnjytfiE8OsrHMUiDNd62bmiRyAU7vl9twlQLYU1LcYJ+tITq+mrxFfAY0
 DpUn13WehOA7qSYWy9zm
 =JWjG
 -----END PGP SIGNATURE-----

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

Samsung Exynos improvements for 4.5:
1. Switch from Exynos-specific restart/poweroff handler
   (mach-exynos/pmu.c) to generic syscon-reboot and syscon-poweroff
   drivers.
   This depends on adding syscon nodes to DTS to preserve
   bisectability.
2. Minor improvements.

* tag 'samsung-soc-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: EXYNOS: Remove redundant code from regs-pmu.h
  ARM: EXYNOS: Constify local exynos_pmu_data structure
  ARM: EXYNOS: Switch to syscon reboot and poweroff
  ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos5410
  ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos5
  ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos4
  ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos3250

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-21 20:42:30 -08:00
Arnd Bergmann
f1858b0e80 ARM: imx: select SRC for i.MX7
The i.MX7 Kconfig option had a couple of missing select lines that
I fixed already, but I missed HAVE_IMX_SRC:

arch/arm/mach-imx/built-in.o: In function `imx7d_init_irq':
platform-spi_imx.c:(.init.text+0x25a8): undefined reference to `imx_src_init'

This adds that one as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 0be5da9dc2 ("ARM: imx: imx7d requires anatop")
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-12-21 21:24:05 +08:00
Masahiro Yamada
20f0c63ccb ARM: uniphier: select PINCTRL
The UniPhier SoCs support pinctrl drivers.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-12-20 10:43:13 -08:00
Peter Ujfalusi
f2e6a0a913 ARM: OMAP2+: Remove device creation for omap-pcm-audio
The omap-pcm in ASoC is no longer a platform device. No need to create this
device anymore.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-17 10:34:41 -08:00
Peter Ujfalusi
65a52a212a ARM: OMAP1: Remove device creation for omap-pcm-audio
The omap-pcm in ASoC is no longer a platform device. No need to create this
device anymore.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-17 10:34:40 -08:00
Jeffy Chen
2608224c81 ARM: rockchip: enable support for RK3228 SoCs
Add a rockchip,rk3228 compatible.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-12-16 22:15:06 +01:00
Heiko Stuebner
26dc88fbb9 ARM: rockchip: use const and __initconst for rk3036 smp_operations
The newly added rk3036 smp operations missed the wholesale fixup from
Masahiro Yamada. So fix that now.

Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-12-16 22:15:05 +01:00
Arnd Bergmann
75f287180a Merge tag 'arm-soc/for-4.5/soc' of http://github.com/Broadcom/stblinux into next/soc
Merge "Broadcom soc changes for v4.5" from Florian Fainelli:

This pull request contains Broadcom SoC changes for 4.5, with the following changes:

- Lucas Stach removes the workaround for an imprecise fault for Broadcom
  BCM5301x SoCs (Northstar) since this is now handled by the ARM/Linux kernel
  directly

- Hauke Merthens enables a bunch of erratas for the Cortex-A9 and PL310 L2
  cache present on early Northstar chips (BCM4708)

- Kapil Hali adds SMP support for the Northstar Plus SoCs by consolidating the
  existing SMP code for Kona SoCs (mobile platforms), fixng the Device Tree
  binding for the Kona platforms (wrong placement for 'enable-method' and
  'secondary-reg') and then finally adds the functional code for the Northstar
  Plus platforms to boot their secondary CPUs

- Jon Mason enables SMP on BCM4708/BCM5301X (Northstar SoCs) by building the generic
  Northstar/Northstar Plus SMP code, and adding the relevant SMP Device Tree nodes

* tag 'arm-soc/for-4.5/soc' of http://github.com/Broadcom/stblinux:
  ARM: BCM: Add SMP support for Broadcom 4708
  ARM: BCM: Add SMP support for Broadcom NSP
  ARM: BCM: Clean up SMP support for Broadcom Kona
  ARM: BCM5310X: activate erratas needed for SoC
  ARM: BCM5301X: remove workaround imprecise abort fault handler
2015-12-15 18:12:29 +01:00
Moritz Fischer
8f039f9a69 ARM: zynq: Select ARCH_HAS_RESET_CONTROLLER
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-12-14 09:33:08 +01:00
Jon Mason
99498905ac ARM: BCM: Add SMP support for Broadcom 4708
Add SMP support for Broadcom's 4708 SoCs.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Kapil Hali <kapilh@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2015-12-07 12:30:51 -08:00
Kapil Hali
97890821bb ARM: BCM: Add SMP support for Broadcom NSP
Add SMP support for Broadcom's Northstar Plus SoC
cpu enable method. This changes also consolidates
iProc family's - BCM NSP and BCM Kona, platform
SMP handling in a common file.

Northstar Plus SoC is based on ARM Cortex-A9
revision r3p0 which requires configuration for ARM
Errata 764369 for SMP. This change adds the needed
configuration option.

Signed-off-by: Kapil Hali <kapilh@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2015-12-07 12:30:30 -08:00
Kapil Hali
84320e1a63 ARM: BCM: Clean up SMP support for Broadcom Kona
These changes cleans up SMP implementaion for Broadcom's
Kona SoC which are required for handling SMP for iProc
family of SoCs at a single place for BCM NSP and BCM Kona.

Signed-off-by: Kapil Hali <kapilh@broadcom.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2015-12-07 12:30:17 -08:00
Tony Lindgren
71842a74f9 Merge branch 'omap-for-v4.5/initcall' into omap-for-v4.5/soc-v2 2015-12-03 11:41:28 -08:00
Tony Lindgren
8dd5ea72b0 ARM: OMAP2+: Change core_initcall levels to postcore_initcall
We want to be able to probe a few selected device drivers before hwmod
code populates the clocks in omap_hwmod_setup_all(). This allows us to
convert most of the clock drivers into regular device drivers.

We only need a few minimal clock drivers early for the system timers to
select between the 32KiHz clock and the high frequency oscillator.

With these changes, initializing the clock drivers can be just done at
core_initcall time with something like:

np = of_find_node_by_name(NULL, "plls");
if (np)
	of_platform_populate(np, NULL, NULL, NULL);

And then these clocks will be available for the interconnect code to use.

Having most of the clock drivers being regular device drivers allows
us to use the nice things like devm_* functions and dev_err and dev_dbg.
As an extra bonus, this also allows us to develop the clock drivers for
new SoCs as loadable modules initially for cases where we can boot up
the system based on the bootloader configured clocks.

To do this, let's change the core_initcalls to postcore_initcall under
mach-omap2.

Cc: Felipe Balbi <balbi@ti.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-12-03 11:38:09 -08:00
Colin Ian King
aa9fff5dcc ARM: mach-imx: iomux-imx31: fix spelling mistake in error message
Minor issue, fix spelling mistake, nonexistant -> nonexistent

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-12-02 15:54:08 +08:00
Bai Ping
e3526f004a ARM: imx: enable cpufreq device on i.mx7d
Add a cpufreq-dt device on i.MX7D, using the
generic cpufreq-dt for CPU frequency scaling.

Signed-off-by: Bai Ping <b51503@freescale.com>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-12-02 13:38:03 +08:00
Masahiro Yamada
e324654294 ARM: use "depends on" for SoC configs instead of "if" after prompt
Many ARM sub-architectures use prompts followed by "if" conditional,
but it is wrong.

Please notice the difference between

    config ARCH_FOO
            bool "Foo SoCs" if ARCH_MULTI_V7

and

    config ARCH_FOO
            bool "Foo SoCs"
            depends on ARCH_MULTI_V7

These two are *not* equivalent!

In the former statement, it is not ARCH_FOO, but its prompt that
depends on ARCH_MULTI_V7.  So, it is completely valid that ARCH_FOO
is selected by another, but ARCH_MULTI_V7 is still disabled. As it is
not unmet dependency, Kconfig never warns.  This is probably not what
you want.

The former should be used only when you need to do so, and you really
understand what you are doing.  (In most cases, it should be wrong!)

For enabling/disabling sub-architectures, the latter is always correct.

As a good side effect, this commit fixes some entries over 80 columns
(mach-imx, mach-integrator, mach-mbevu).

[Arnd: I note that there is not really a bug here, according to
 the discussion that followed, but I can see value in being consistent
 and in making the lines shorter]

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Jun Nie <jun.nie@linaro.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Krzysztof Halasa <khc@piap.pl>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-12-01 22:44:51 +01:00
Linus Walleij
9d2aa8c796 ARM/clocksource: use automatic DT probing for ux500 PRCMU
The ARM core kernel already calls clocksource_of_init() so why
go to all the trouble of locating and probing this node in the
machine. CLOCKSOURCE_OF_DECLARE() will take care of it in the
clocksource driver, and thus we can also get rid of the
dangling header file <linux/clksrc-dbx500-prcmu.h>

Suggested-by: Arnd Bergmann <arndb@linaro.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-12-01 22:37:02 +01:00
Masahiro Yamada
75305275a7 ARM: use const and __initconst for smp_operations
These smp_operations structures are not over-written, so add "const"
qualifier and replace __initdata with __initconst.

Also, add "static" where it is possible.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Moritz Fischer <moritz.fischer@ettus.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org> # qcom part
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-12-01 22:17:45 +01:00
Masahiro Yamada
635e958dad ARM: hisi: do not export smp_operations structures
These three structures are only defined and referenced in
mach-hisi/platsmp.c.

Drop the declarations from the header and add static qualifier
to the definitions.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com>
2015-12-01 22:17:13 +01:00
J.D. Schroeder
b03408500e ARM: DRA7: hwmod: Enable DEBUG_LL for UART4
UART4 low level debug support. This helps in debugging with UART4
serial console output on DRA7 based platforms.

Extending the following fix for UART4.
commit 1c7e36bfc3 ("ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL enabled on UART3")

For using DEBUG_LL, enable CONFIG_DEBUG_OMAP4UART4 in menuconfig.
On DRA7, UART4 hwmod doesn't have this flag enabled,
failure observed when UART4 is used for low level debugging.

Hence, Enable DEBUG_OMAP4UART4_FLAGS for UART4 hwmod.

Signed-off-by: J.D. Schroeder <jay.schroeder@garmin.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 14:19:31 -08:00
Aaro Koskinen
448f8bc69f ARM: OMAP: RX-51: fix a typo in log writing
Fix a typo when registering HW RNG.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 14:11:35 -08:00
Franklin S Cooper Jr
c9fbaa4997 ARM: omap4: hwmod: Remove elm address space from hwmod data
ELM address information is provided by device tree. No longer need
to include this information within hwmod.

This patch has only been boot tested.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 13:18:37 -08:00
Suman Anna
ed5a4c6248 ARM: OMAP2+: timer: Remove secure timer for DRA7xx HS devices
Timer 12 on DRA7 SoCs is reserved for secure usage on high-secure (HS)
devices. The timer cannot be used by the kernel on HS devices, but is
available on regular general purpose (GP) devices. This is similar to the
behavior on OMAP3 devices, so extend the logic used in commit ad24bde8f1
("ARM: OMAP3: Dynamically disable secure timer nodes for secure devices")
to remove the secure timer on DRA7xx SoCs at run-time based on the SoC
device type.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 13:18:23 -08:00
Suman Anna
ea05d2eaf6 ARM: OMAP: dmtimer: check for fixed timers during config
The omap_dm_timer_set_source() function provides a means for client
users to configure the mux parent for a GPTimer's functional clock.
However, not all timers are configurable (Eg: Timer12 on DRA7 is fed
by an internal 32k oscillator clock, and does not have configurable
parent clocks). So, check for such cases and proceed with out throwing
an error.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 13:18:23 -08:00
Suman Anna
b6a8919418 ARM: OMAP2+: Remove omap_mmu_dev_attr structure
The structure omap_mmu_dev_attr was used in the hwmod data for
supplying device-specific data through the .dev_attr field and
used in constructing the platform data for legacy device creation.
The legacy device creation of OMAP IOMMU devices has been cleaned
up, and this structure is no longer needed, so remove it.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:35:07 -08:00
Suman Anna
1ad0ea0c65 ARM: OMAP4: hwmod data: Remove legacy IOMMU attr and addrs
OMAP4 has been DT-boot only for some time, and the legacy-mode
device creation logic for IOMMU devices has also been cleaned up,
so the dev_attr and address data is no longer required. So, remove
these attribute data and hwmod addr space for the IPU & DSP IOMMU
devices.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:35:07 -08:00
Suman Anna
621062f49b ARM: OMAP3: hwmod data: Remove legacy IOMMU data
The legacy-mode device creation logic for IOMMU devices has
been cleaned up, so the device attribute data, irq information
and address data are no longer required. Remove all of these
data for the ISP & IVA IOMMU devices.

Signed-off-by: Suman Anna <s-anna@ti.com>
[tony@atomide.com: updated to apply for the include]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:35:07 -08:00
Suman Anna
dd20b0d5c7 ARM: OMAP2+: Remove legacy device instantiation of IOMMUs
The legacy-style IOMMU device creation is maintained currently only
for OMAP3 SoC, as all other SoCs are DT-boot only, and also to ensure
functionality of the OMAP3 ISP driver, the only in-kernel client user
on OMAP3 that supported both modes.

Commit 78c66fbcec ("[media] v4l: omap3isp: Drop platform data support")
removed the legacy device support from the OMAP3 ISP driver, so the
legacy device instantiation of OMAP IOMMU devices is no longer
needed, and is cleaned up.

Signed-off-by: Suman Anna <s-anna@ti.com>
[tony@atomide.com: updated to remove also the Makefile entry]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:35:07 -08:00
Neil Armstrong
1539569bc9 ARM: OMAP2+: Add hwmod spinbox support for dm816x
Add dm81xx hwmod data entries for dm816x spinbox support.

Cc: Brian Hutchinson <b.hutchman@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:35:07 -08:00
Neil Armstrong
8c0cabd797 ARM: OMAP: add DT support for ti,dm816-timer
Adds ti,dm816-timer to the dmtimer OF match table.

Cc: Brian Hutchinson <b.hutchman@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:35:07 -08:00
Neil Armstrong
31a7448f4f ARM: OMAP: dmtimer: Add clock source from DT
Add a function which sets the timer source from the clocks
binding on dm_timer_prepare call.

In case the clocks property is not valid, it falls back to
the set_source() with 32_KHZ clock as default.

Suggested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-11-30 10:00:05 -08:00
Linus Torvalds
31ade3b83e Linux 4.4-rc3 2015-11-29 18:58:26 -08:00
Linus Torvalds
c5bc1c9305 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull nouveau and radeon fixes from Dave Airlie:
 "Just some nouveau and radeon/amdgpu fixes.

  The nouveau fixes look large as the firmware context files are
  regenerated, but the actual change is quite small"

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
  drm/radeon: make some dpm errors debug only
  drm/nouveau/volt/pwm/gk104: fix an off-by-one resulting in the voltage not being set
  drm/nouveau/nvif: allow userspace access to its own client object
  drm/nouveau/gr/gf100-: fix oops when calling zbc methods
  drm/nouveau/gr/gf117-: assume no PPC if NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK is zero
  drm/nouveau/gr/gf117-: read NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK from correct GPC
  drm/nouveau/gr/gf100-: split out per-gpc address calculation macro
  drm/nouveau/bios: return actual size of the buffer retrieved via _ROM
  drm/nouveau/instmem: protect instobj list with a spinlock
  drm/nouveau/pci: enable c800 magic for some unknown Samsung laptop
  drm/nouveau/pci: enable c800 magic for Clevo P157SM
  drm/radeon: make rv770_set_sw_state failures non-fatal
  drm/amdgpu: move dependency handling out of atomic section v2
  drm/amdgpu: optimize scheduler fence handling
  drm/amdgpu: remove vm->mutex
  drm/amdgpu: add mutex for ba_va->valids/invalids
  drm/amdgpu: adapt vce session create interface changes
  drm/amdgpu: vce use multiple cache surface starting from stoney
  drm/amdgpu: reset vce trap interrupt flag
2015-11-29 17:38:08 -08:00