Commit Graph

77 Commits

Author SHA1 Message Date
Linus Torvalds
44c916d58b ARM: SoC cleanups for 3.17
This merge window brings a good size of cleanups on various
 platforms. Among the bigger ones:
 
 * Removal of Samsung s5pc100 and s5p64xx platforms. Both of these have
   lacked active support for quite a while, and after asking around nobody
   showed interest in keeping them around. If needed, they could be
   resurrected in the future but it's more likely that we would prefer
   reintroduction of them as DT and multiplatform-enabled platforms
   instead.
 * OMAP4 controller code register define diet. They defined a lot of registers
   that were never actually used, etc.
 * Move of some of the Tegra platform code (PMC, APBIO, fuse, powergate)
   to drivers/soc so it can be shared with 64-bit code. This also converts them
   over to traditional driver models where possible.
 * Removal of legacy gpio-samsung driver, since the last users have been
   removed (moved to pinctrl)
 
 Plus a bunch of smaller changes for various platforms that sort of
 dissapear in the diffstat for the above. clps711x cleanups, shmobile
 header file refactoring/moves for multiplatform friendliness, some misc
 cleanups, etc.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJT5DYPAAoJEIwa5zzehBx37egQAIiatNiLLqZnfo3rwGADRz/a
 POfPovktj68aPcobyzoyhFtToMqGvi9PpysyFTIQD2HJFG+5BtiIAuqtg0875zDe
 EpBWgsfugrm0YktJWAtUerj60oAmNPbKfaEm1cOOWuM2lb2mV+QkRrwSTAgsqkT7
 927BzMXKKBRPOVLL0RYhoF8EXa0Eg8kCqAHP8fJrzVYkRp+UrZJDnGiUP1XmWJN+
 VXQMu5SEjcPMtqT7+tfX455RfREHJfBcJ1ZN/dPF8HMWDwClQG0lyc6hifh1MxwO
 8DjIZNkfZeKqgDqVyC17re7pc7p8md5HL8WXbrKpK0A9vQ5bRexbPHxcwJ1T/C2Y
 465H+st5XXbuzV1gbMwjK1/ycsH0tCyffckk8Yl/2e1Fs7GgPNbAELtTdl+5vV1Y
 xmDXkyo/9WlRM3LQ23IGKwW7VzN86EfWVuShssfro0fO7xDdb4OOYLdQI+4bCG+h
 ytQYun1vU32OEyNik5RVNQuZaMrv2c93a3bID4owwuPHPmYOPVUQaqnRX/0E51eA
 aHZYbk2GlUOV3Kq5aSS4iyLg1Yj+I9/NeH9U+A4nc+PQ5FlgGToaVSCuYuw4DqbP
 AAG+sqQHbkBMvDPobQz/yd1qZbAb4eLhGy11XK1t5S65rApWI55GwNXnvbyxqt8x
 wpmxJTASGxcfuZZgKXm7
 =gbcE
 -----END PGP SIGNATURE-----

Merge tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC cleanups from Olof Johansson:
 "This merge window brings a good size of cleanups on various platforms.
  Among the bigger ones:

   - Removal of Samsung s5pc100 and s5p64xx platforms.  Both of these
     have lacked active support for quite a while, and after asking
     around nobody showed interest in keeping them around.  If needed,
     they could be resurrected in the future but it's more likely that
     we would prefer reintroduction of them as DT and
     multiplatform-enabled platforms instead.

   - OMAP4 controller code register define diet.  They defined a lot of
     registers that were never actually used, etc.

   - Move of some of the Tegra platform code (PMC, APBIO, fuse,
     powergate) to drivers/soc so it can be shared with 64-bit code.
     This also converts them over to traditional driver models where
     possible.

   - Removal of legacy gpio-samsung driver, since the last users have
     been removed (moved to pinctrl)

  Plus a bunch of smaller changes for various platforms that sort of
  dissapear in the diffstat for the above.  clps711x cleanups, shmobile
  header file refactoring/moves for multiplatform friendliness, some
  misc cleanups, etc"

* tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (117 commits)
  drivers: CCI: Correct use of ! and &
  video: clcd-versatile: Depend on ARM
  video: fix up versatile CLCD helper move
  MAINTAINERS: Add sdhci-st file to ARCH/STI architecture
  ARM: EXYNOS: Fix build breakge with PM_SLEEP=n
  MAINTAINERS: Remove Kirkwood
  ARM: tegra: Convert PMC to a driver
  soc/tegra: fuse: Set up in early initcall
  ARM: tegra: Always lock the CPU reset vector
  ARM: tegra: Setup CPU hotplug in a pure initcall
  soc/tegra: Implement runtime check for Tegra SoCs
  soc/tegra: fuse: fix dummy functions
  soc/tegra: fuse: move APB DMA into Tegra20 fuse driver
  soc/tegra: Add efuse and apbmisc bindings
  soc/tegra: Add efuse driver for Tegra
  ARM: tegra: move fuse exports to soc/tegra/fuse.h
  ARM: tegra: export apb dma readl/writel
  ARM: tegra: Use a function to get the chip ID
  ARM: tegra: Sort includes alphabetically
  ARM: tegra: Move includes to include/soc/tegra
  ...
2014-08-08 11:00:26 -07:00
Thierry Reding
ce90d32d13 ARM: tegra: tegra124: Add XUSB pad controller
The device tree node in the SoC file contains only the resources (such
as registers, resets, ...) but none of the lane assignment information
since that's board specific and belongs in the board file.

Tested-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-07-17 15:02:12 +02:00
Thierry Reding
d86b1e8dcb ARM: tegra: add GK20A GPU to Tegra124 DT
Add the GK20A device node to Tegra124's device tree.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-07-17 15:02:12 +02:00
Dylan Reid
6389cb3bf6 ARM: tegra: Add Tegra124 HDA support
Add a device node for the HDA controller found on Tegra124.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-07-17 15:02:07 +02:00
Peter De Schrijver
155dfc7b54 soc/tegra: Add efuse and apbmisc bindings
Add efuse and apbmisc bindings for Tegra20, Tegra30, Tegra114 and
Tegra124.

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-07-17 14:36:10 +02:00
Tuomas Tynkkynen
308efde202 ARM: tegra: Add resets & has-utmi-pad-registers flag to all USB PHYs
Add new properties to all of the Tegra PHYs that are now required
according to the binding.

In order to stay compatible with old device trees, the USB drivers
will still function without these reset properties but with the old,
potentially buggy behaviour.

Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 16:25:46 -07:00
Olof Johansson
8b1b57e88e ARM: tegra: device tree changes for 3.16
The bulk of Tegra changes for 3.16 are to device trees. Highlights are:
 
 - New board support for:
   - Jetson TK1.
   - SHIELD.
   - Tegra Note 7.
   - Colibri T30 module.
 - HDMI support on Venice2.
 - SD card write-protect GPIOs added to some boards.
 - Numerous regulator cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTdldeAAoJEMzrak5tbycxb9cP/0Jhsx+pYsXw2paEkg4U0TWN
 0KhZJpdrOcuwWxJnTnHA7XTwc/XR1aN2mfes1WftGuAUcklkjf8oO03/8HsBMph6
 z2qKzlzGMb+E78VKploGR5ytYygbTRCXTVhQUZH+zSKp2+1HowRkVP/y2MhOT9DG
 jSTkI75BXIKWxXkx05wSq2FbLRy4DVw98I/BRhVM6ttlT5lwKWxmRwAe5YgHwztD
 w/TymCxAE7Fw3PubTwQbUIpMJJEbBLmqdJRB/4ESINKDH0j0Cq/WQYZEJeNCkRjG
 wK07voXCtjtOZDhhtaHzS5Yyfa46CrqM5F1N/UIXyTXCTpPmQNbQzB2kTlaQtvf6
 4/CHWXVm5jUwEjA+EdQX9oSJFQxO/ycs8Y3vZfvzT2ej1v8t+hyNTRB7/p9C8OyQ
 tGRab6fhnEnkDqW6bNE69Qw1XWh3B81blN2CG0CDQ6+dytyVqjd+jOY/NEkoA1Bw
 nuKhPSwnog+QQYASYF4lCLWPj6eUDTGkh7JoY0V8J8Z+Lz9+HUYJLa5vaij1u7WE
 buhvuAOfLoIVRdR0w9d3afZ5Ds5xwQddjwnwvqaWQrea/iLk91LL+T3P0J5YCIua
 iLgnx0yUDIIXJUuei1ZDqUS6J+9bspTWEo5m2vMKbZwlUtLalQWru2OmiqpQOFHf
 Mh6+7htYfwEUD2x/Q8NL
 =5rER
 -----END PGP SIGNATURE-----

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

Merge "ARM: tegra: device tree changes for 3.16" from Stephen Warren:

The bulk of Tegra changes for 3.16 are to device trees. Highlights are:

- New board support for:
  - Jetson TK1.
  - SHIELD.
  - Tegra Note 7.
  - Colibri T30 module.
- HDMI support on Venice2.
- SD card write-protect GPIOs added to some boards.
- Numerous regulator cleanups.

* tag 'tegra-for-3.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: initial add of Colibri T30
  ARM: tegra: add device tree for SHIELD
  ARM: tegra: add SD wp-gpios to Venice2 DT
  ARM: tegra: add Tegra Note 7 device tree
  ARM: tegra: add SD wp-gpios to Dalmore DT
  ARM: tegra: add SD wp-gpios to Jetson TK1 DT
  ARM: tegra: use correct audio CODEC on Jetson TK1
  ARM: tegra: dalmore - Add DSI power supply
  ARM: tegra: dalmore - Add +5V HDMI supply
  ARM: tegra: beaver - Add +5V HDMI supply
  ARM: tegra: harmony - Add +5V HDMI supply
  ARM: tegra: jetson-tk1 - Enable HDMI support
  ARM: tegra: venice2 - Enable HDMI
  ARM: tegra: Add Tegra124 HDMI support
  ARM: tegra: fix Venice2 SD card VQMMC supply
  ARM: tegra: make Venice's +3.3V_RUN regulator always on
  ARM: tegra: fix Jetson TK1 SD card supply
  ARM: tegra: define Jetson TK1 regulators
  ARM: tegra: add Jetson TK1 device tree

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21 15:06:16 -07:00
Thierry Reding
9dd604dfb8 ARM: tegra: Add Tegra124 HDMI support
Add a device node for the HDMI controller found on Tegra124.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-04-28 09:57:34 -06:00
Stephen Warren
862f0eea38 ARM: tegra: remove UART5/UARTE from tegra124.dtsi
Tegra124 only has 4 UARTs. Parts of the documentation hint at a fifth
UART, but this appears to be left-over from earlier SoC documentation.
Remove the non-existent DT node for UART5.

Cc: <stable@vger.kernel.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-04-24 15:36:40 +02:00
Stephen Warren
e30cb2388a ARM: tegra: use 2 address cells for Tegra124 DT
Tegra124 can support 4GB of RAM. With that much RAM (plus some memory-
mapped IO peripherals), more than 32-bits of physical address space is
required. Hence, convert all Tegra124 DTs to use 2 DT cells for address
space.

(I think this was suggested by Olof Johansson, but I'm not 100% sure)

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-03-05 13:29:13 -07:00
Thierry Reding
f2d50158eb ARM: tegra: Add Tegra124 USB support
The USB controllers on Tegra124 are backwards-compatible with those
found on Tegra30.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-02-28 10:23:46 -07:00
Thierry Reding
d72be031b3 ARM: tegra: Add Tegra124 eDP support
The SOR block on Tegra124 can be used standalone to drive LVDS panels or
used in conjunction with the DPAUX block to support eDP.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-02-28 10:23:44 -07:00
Thierry Reding
ad6be7d114 ARM: tegra: Add Tegra124 host1x support
The version of host1x on Tegra124 is largely compatible with that on
earlier Tegra generations. Some of the registers have moved around or
expanded to allow for more capability, so a separate compatible string
is still required.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-02-28 10:23:44 -07:00
Thierry Reding
e2b6d77ef8 ARM: tegra: Use "disabled" for status property
To disable a device tree node, the status property should be set to
"disabled", not "disable".

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-02-25 10:58:36 -07:00
Thierry Reding
9f1ac5606a ARM: tegra: Add SPI controller nodes for Tegra124
The SPI controllers on Tegra124 are compatible with those found on the
Tegra114 SoC.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-12-16 14:09:22 -07:00
Laxman Dewangan
4b20bcbea1 ARM: tegra: add default pinctrl nodes for Venice2
Add the default pinmux configuration for the Tegra124 based
Venice2 platform.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-12-16 14:09:21 -07:00
Thierry Reding
111a1fc2a7 ARM: tegra: Add Tegra124 PWM support
The PWM controller on Tegra124 is the same as the one on earlier SoC
generations.

Signed-off-by: Thierry Reding <treding@nvidia.com>
[swarren, added reset properties]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-12-16 14:09:19 -07:00
Stephen Warren
e66555788a ARM: tegra: add audio-related device to Tegra124 DT
Tegra124 contains a similar set of audio devices to previous Tegra chips.
Specifically, there is an AHUB device which contains DMA FIFOs and audio
routing, and which hosts various audio-related components such as I2S
controllers.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-12-16 14:09:19 -07:00
Stephen Warren
4f6074601a ARM: tegra: add I2C controllers to Tegra124 DT
Tegra124 has 6 I2C controllers. The first 5 have identical configuration
to Tegra114, but the sixth obviously has different interrupt/... IDs.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-12-16 14:09:18 -07:00
Stephen Warren
784c7444f0 ARM: tegra: add MMC controllers to Tegra124 DT
Tegra124 has 4 MMC controllers just like previous versions of the SoC.
Note that there are some non-backwards-compatible HW differences, and
hence a new DT compatible value must be used to describe the HW.

Also enable the relevant controllers in the Venice2 board DT.

power-gpios property suggested by Thierry Reding.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
2013-12-16 14:09:18 -07:00
Stephen Warren
caefe637b4 ARM: tegra: add Tegra124 pinmux node to DT
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked by: Laxman Dewangan <ldewangan@nvidia.com>
2013-12-16 14:09:18 -07:00
Stephen Warren
2f5a913eb5 ARM: tegra: add APB DMA controller to Tegra124 DT
Instantiate the APB DMA controller in the Tegra124 DT, and add all
DMA-related properties to other DT nodes that rely on (reference) the
DMA controller's node.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
2013-12-16 14:09:17 -07:00
Stephen Warren
f71e4f034a ARM: tegra: add reset properties to Tegra124 DTs
The DT bindings now require module resets to be specified. The earlier
patches which added these nodes were originally written before that
requirement.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
2013-12-16 14:09:17 -07:00
Joseph Lo
3b86baf296 ARM: tegra: add clock properties for devices of Tegra124
This patch adds clock properties for devices in the DT for basic support
of Tegra124 SoC.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
[swarren, added missing unit address to "clock" node]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-12-16 14:09:17 -07:00
Stephen Warren
0a9375d129 ARM: tegra: add GPIO controller to tegra124.dtsi
The Tegra124 GPIO controller is identical to Tegra30, so copy the
DT node from tegra30.dtsi to tegra124.dtsi.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
2013-10-15 09:25:28 -06:00
Joseph Lo
bd4e301bda ARM: tegra: enable Tegra RTC as default for Tegra124
This patch makes the Tegra RTC enabled as default for Tegra124 platform.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-11 09:55:55 -06:00
Joseph Lo
ad03b1a768 ARM: tegra: Add initial device tree for Tegra124
Initial support for Tegra 124 SoC. This is expected to be included in
the board DTS files.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-08 13:51:27 -06:00