ARM: add basic support for Trusted Foundations

Trusted Foundations is a TrustZone-based secure monitor for ARM that
can be invoked using the same SMC-based API on all supported
platforms. This patch adds initial basic support for Trusted
Foundations using the ARM firmware API. Current features are limited
to the ability to boot secondary processors.

Note: The API followed by Trusted Foundations does *not* follow the SMC
calling conventions. It has nothing to do with PSCI neither and is only
relevant to devices that use Trusted Foundations (like most Tegra-based
retail devices).

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: add support for Trusted Foundations

Register the firmware operations for Trusted Foundations if the device
tree indicates it is active on the device.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: split setting of CPU reset handler

Not all Tegra devices can set the CPU reset handler in the same way.
In particular, devices using a TrustZone secure monitor cannot set the
reset handler directly and need to do it through a firmware operation.

This patch separates the act of setting the reset handler from its
preparation, so the former can be implemented in a different way.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: set CPU reset handler with firmware op

Use a firmware operation to set the CPU reset handler and only resort to
doing it ourselves if there is none defined.

This supports the booting of secondary CPUs on devices using a TrustZone
secure monitor.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: support Trusted Foundations by default

Support for Trusted Foundations is light and allows the kernel to run on
a wider range of devices, so enable it by default.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
simplefb: add support for a8b8g8r8 pixel format

A framebuffer of this format is set up by SHIELD's bootloader.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[HACK] roth: init display clocks

Necessary to keep the display on after boot

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
ARM: tegra114: add device tree for roth (SHIELD)

Add roth's device tree along with pinmux, regulators, and devices
supported by the kernel.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
ARM: tegra: USB support for roth

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
ARM: tegra: Add bq2419x to roth device tree

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
ARM: tegra: add configuration for roth (SHIELD)

Roth requires a few additional configuration options compared to Tegra.
This is hopefully only temporary.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
ARM: tegra: Add BQ2419X to tegra_roth_defconfig

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
logo: change boot logo

This is not Linux for Workgroups, this is Linux for SHIELD.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Add README.md

Display some information about this branch on Github.
USB support added.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
tegra: roth: enable joydev

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
tegra: roth: build brcmfmac support into the kernel

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Revert "tegra: roth: build brcmfmac support into the kernel"

This reverts commit 01f5ea019983de4a69496cb9abe62ea23a8a9f6b.
roth: set tty1 as the default console

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
[HACK] roth: force sdmmc3 clock to 204Mhz