project/bcm63xx/atf.git
5 years agostm32mp1: set ETZPC controlled peripherals and GPIOZ as non-secure
Yann Gautier [Fri, 18 Jan 2019 10:13:15 +0000 (11:13 +0100)]
stm32mp1: set ETZPC controlled peripherals and GPIOZ as non-secure

Change-Id: I604b38ffa40e04c6e2aaede28e9f61335bbffdc0
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agostm322mp1: add BSEC service
Yann Gautier [Thu, 17 Jan 2019 13:53:24 +0000 (14:53 +0100)]
stm322mp1: add BSEC service

This service, called with SMC from Non secure world, allows access to
some configurations saved in OTP fuses.

Change-Id: I92ba5614b2cb4a03260119e2cf74f2cd626a3431
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Mathieu Belou <mathieu.belou@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
5 years agostm32mp1: add BSEC driver
Yann Gautier [Thu, 17 Jan 2019 13:52:47 +0000 (14:52 +0100)]
stm32mp1: add BSEC driver

The BSEC (Boot and Security and OTP control) is intended to control an OTP
(one time programmable) fuse box, used for on-chip non-volatile storage
for device configuration and security parameters.

Change-Id: I38c44684c7b9c6a1f24ec0ae3fe99cec481d5a51
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Mathieu Belou <mathieu.belou@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
5 years agostm32mp1: add support for SiP services
Yann Gautier [Thu, 17 Jan 2019 13:51:25 +0000 (14:51 +0100)]
stm32mp1: add support for SiP services

Change-Id: I9c8241d8cd9d95b647c612dd66dd554d5965c2ac
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Mathieu Belou <mathieu.belou@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
5 years agostm32mp1: update device tree and gpio functions
Yann Gautier [Thu, 17 Jan 2019 18:17:47 +0000 (19:17 +0100)]
stm32mp1: update device tree and gpio functions

Change fdt_check_status function to fdt_get_status.
Update GPIO defines.
Move some functions in gpio driver, instead of dt helper file.
Add GPIO bank helper functions.
Use only one status field in dt_node_info structure including both status
and secure status.

Change-Id: I34f93408dd4aac16ae722f564bc3f7d6ae978cf4
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
5 years agostm32mp1: update platform files
Yann Gautier [Thu, 17 Jan 2019 13:41:46 +0000 (14:41 +0100)]
stm32mp1: update platform files

Move print_reset_reason function to bl2_plat_setup.c
Put __unused attribute for unused bl2_el3_early_platform_setup args.
Rename dt_dev_info to dt_uart_info.
Put MMU configuration earlier.
Remove unused macros.
Use U() or ULL() macros where needed.
Use device tree to configure GIC.
Use GIC helper function.

Change-Id: I34620c421cc6967a668bca318f7689fd74fa78a6
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
5 years agodrivers: st: update drivers code
Yann Gautier [Thu, 17 Jan 2019 13:35:22 +0000 (14:35 +0100)]
drivers: st: update drivers code

Reword some traces.
Use uintptr_t where required.
Reduce scope of variables.
Improve io_stm32image algo.
Complete some IP registers definitions.
Add failure on supported DDR (stm32mp1_ddr_init()).
Fix cache flush on cache disable (stm32mp1_ddr_setup).

Change-Id: Ie02fa71e02b9d69abc807fd5b7df233e5be6668c
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
5 years agodrivers: st: pmic: update stpmic1 driver
Yann Gautier [Thu, 17 Jan 2019 13:27:50 +0000 (14:27 +0100)]
drivers: st: pmic: update stpmic1 driver

Change-Id: I4a1b281925e0a3a1e2a34b3e363537e4a7f13823
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
5 years agostm32mp1: update device tree files
Yann Gautier [Thu, 17 Jan 2019 18:16:03 +0000 (19:16 +0100)]
stm32mp1: update device tree files

The drivers are also updated to reflect the changes.
Set RCC as non-secure.

Change-Id: I568fa1f418355830ad1d4d1cdcdb910fb362231b
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agostm32mp1: rename stpmu1 to stpmic1
Yann Gautier [Wed, 16 Jan 2019 17:31:00 +0000 (18:31 +0100)]
stm32mp1: rename stpmu1 to stpmic1

This is the correct name of the IP.
Rename stm32mp1_pmic files to stm32mp_pmic.

Change-Id: I238a7d1f9a1d099daf7788dc9ebbd3146ba2f15f
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agodrivers: st: move i2c driver in its own folder
Yann Gautier [Thu, 17 Jan 2019 08:34:18 +0000 (09:34 +0100)]
drivers: st: move i2c driver in its own folder

The driver could be used for other devices than PMIC.

Change-Id: I4569e7c0028e52e1ff2fe9d38f11de11e95d1897
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agoMerge pull request #1762 from antonio-nino-diaz-arm/an/fix-readme
Antonio Niño Díaz [Fri, 18 Jan 2019 09:19:00 +0000 (09:19 +0000)]
Merge pull request #1762 from antonio-nino-diaz-arm/an/fix-readme

readme: Update list of supported platforms

5 years agoreadme: Update list of supported platforms
Antonio Nino Diaz [Thu, 17 Jan 2019 12:16:07 +0000 (12:16 +0000)]
readme: Update list of supported platforms

Change-Id: I13b7b16a13f51bcb83098d7c55701f9ee03859a8
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
5 years agoMerge pull request #1760 from igoropaniuk/rpi3_preloaded_dtb_fix
Antonio Niño Díaz [Thu, 17 Jan 2019 11:05:40 +0000 (11:05 +0000)]
Merge pull request #1760 from igoropaniuk/rpi3_preloaded_dtb_fix

rpi3: fix RPI3_PRELOADED_DTB_BASE usage

5 years agoMerge pull request #1754 from Anson-Huang/master
Antonio Niño Díaz [Thu, 17 Jan 2019 11:05:14 +0000 (11:05 +0000)]
Merge pull request #1754 from Anson-Huang/master

Add i.MX8 SoC SRTC/cpu-freq SIP runtime service support

5 years agoMerge pull request #1733 from vwadekar/tf2.0-tegra-downstream-rebase-1.3.19
Antonio Niño Díaz [Thu, 17 Jan 2019 11:04:47 +0000 (11:04 +0000)]
Merge pull request #1733 from vwadekar/tf2.0-tegra-downstream-rebase-1.3.19

Tegra downstream rebase 1.3.19

5 years agoimx: add cpu-freq SIP runtime service support
Anson Huang [Tue, 15 Jan 2019 02:56:36 +0000 (10:56 +0800)]
imx: add cpu-freq SIP runtime service support

On i.MX8QM/i.MX8QX with system controller inside, the CPU's clock
rate is managed by SCFW(system controller firmware) and can ONLY be
changed from secure world, so SIP runtime service is needed for
setting CPU's clock rate, this patch adds cpu-freq SIP runtime service
support.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
5 years agoimx: add imx8qm/imx8qx SRTC SIP runtime service support
Anson Huang [Tue, 15 Jan 2019 02:34:04 +0000 (10:34 +0800)]
imx: add imx8qm/imx8qx SRTC SIP runtime service support

On i.MX8QM/i.MX8QX with system controller inside, the SRTC is
managed by SCFW(system controller firmware) and some functions
like setting SRTC's time etc. can ONLY be requested from secure
world, so SIP runtime service is needed for such kind of operations,
this patch adds SRTC SIP runtime service support for i.MX8QM and
i.MX8QX.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
5 years agoSupport for NXP's i.MX8 SoCs timer IPC
Anson Huang [Tue, 15 Jan 2019 02:22:06 +0000 (10:22 +0800)]
Support for NXP's i.MX8 SoCs timer IPC

NXP's i.MX8 SoCs have system controller (M4 core) which takes
control of timer management, including watchdog, srtc and system
counter etc., other clusters like Cortex-A35 can send out command
via MU (Message Unit) to system controller for timer operation.

This patch adds timer IPC(inter-processor communication) support.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
5 years agorpi3: fix RPI3_PRELOADED_DTB_BASE usage
Igor Opaniuk [Wed, 16 Jan 2019 21:59:41 +0000 (23:59 +0200)]
rpi3: fix RPI3_PRELOADED_DTB_BASE usage

In case if `RPI3_PRELOADED_DTB_BASE` isn't defined explicitly with
proper pre-loaded DTB address, `add_define` macro defined in
`make_helpers/build_macros.mk` still supplies this definition to the
compiler like `-DRPI3_PRELOADED_DTB_BASE`, and it's obviously is set to
default value 1.

This simply leads to the wrong `MAP_NS_DTB` region definition (base_va
is set `0x1` instead of `0x00010000`) in `plat/rpi3/rpi3_common.c`:

Which causes aligment check to fail in `mmap_add_region_check()`:
VERBOSE: base_pa: 0x00000001, base_va: 0x00000001, size: 0x00010000
...
ERROR:   mmap_add_region_check() failed. error -22

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agoTegra186: mce: remove unused type conversions
Anthony Zhou [Mon, 26 Jun 2017 12:33:34 +0000 (20:33 +0800)]
Tegra186: mce: remove unused type conversions

This patch removes unused type conversions as all the relevant macros
now use U()/ULL(), making these explicit typecasts unnecessary.

Change-Id: I01fb534649db2aaf186406b1aef6897662b44fe3
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra210: Enable ECC reporting for B01 SKUs
Sam Payne [Mon, 8 May 2017 19:42:49 +0000 (12:42 -0700)]
Tegra210: Enable ECC reporting for B01 SKUs

This patch enables L2 error correction and parity protection
for Tegra210 on boot and exit from suspend. The previous bootloader
sets the boot parameter, indicating ECC reporting, only for B01 SKUs.

Change-Id: I6927884d375a64c69e2f1e9aed85f95c5e3cb17c
Signed-off-by: Sam Payne <spayne@nvidia.com>
5 years agoTegra210: skip the BTB invalidate workaround for B01 SKUs
Harvey Hsieh [Mon, 24 Apr 2017 11:35:51 +0000 (19:35 +0800)]
Tegra210: skip the BTB invalidate workaround for B01 SKUs

This patch skips the BTB invalidate workaround for Tegra210-B01 chips, as
they have already been fixed in the hardware. To allow the .S file to
include macros, add proper guards to tegra_platform.h.

Change-Id: I0826d3c54faeffc9cb0709331f47cbdf25d4b653
Signed-off-by: Harvey Hsieh <hhsieh@nvidia.com>
5 years agoTegra186: memctrl_v2: Set MC clients ordering as per client needs
Krishna Reddy [Thu, 25 May 2017 18:04:33 +0000 (11:04 -0700)]
Tegra186: memctrl_v2: Set MC clients ordering as per client needs

Set MC Clients ordering as per the clients needs(ordered, BW, ISO/non-ISO)
based on the latest info received from HW team as a part of BW issues debug.

SMMU Client config register are obsolete from T186. Clean up the unnecessary
register definitions and programming of these registers.
Cleanup unnecessary macros as well.

Change-Id: I0d28ae8842a33ed534f6a15bfca3c9926b3d46b2
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
5 years agoTegra210: memmap all the IRAM memory banks
Varun Wadekar [Mon, 12 Jun 2017 23:47:16 +0000 (16:47 -0700)]
Tegra210: memmap all the IRAM memory banks

This patch memmaps all the IRAM memory banks during boot. The BPMP
firmware might place the channels in any of the IRAMs, so it is better
to map all the banks to avoid surprises.

Change-Id: Ia009a65d227ee50fbb23e511ce509daf41b877ee
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: bpmp: fix check to see if Atomics block is powered on
Varun Wadekar [Mon, 12 Jun 2017 23:45:23 +0000 (16:45 -0700)]
Tegra: bpmp: fix check to see if Atomics block is powered on

This patch fixes the logic to check if Atomics hardware block is powered
on during boot

Reported by: Peter De Schrijver <pdeschrijver@nvidia.com>

Change-Id: I4a6521bcee37225d1402321151c48fa631776b8a
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra210: increase MAX_XLAT_TABLES and MAX_MMAP_REGIONS
Varun Wadekar [Wed, 31 May 2017 21:03:00 +0000 (14:03 -0700)]
Tegra210: increase MAX_XLAT_TABLES and MAX_MMAP_REGIONS

This patch updates the macros to include the newly added IRAM
memory apertures.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I931daa310d738e8bf966f14e11d0631920e9bdde

5 years agoTegra186: setup: fix defects flagged by MISRA scan
Anthony Zhou [Tue, 21 Mar 2017 07:58:50 +0000 (15:58 +0800)]
Tegra186: setup: fix defects flagged by MISRA scan

Main fixes:

Added explicit casts (e.g. 0U) to integers in order for them to be
compatible with whatever operation they're used in [Rule 10.1]

Force operands of an operator to the same type category [Rule 10.4]

Added curly braces ({}) around if statements in order to
make them compound [Rule 15.6]

Change-Id: I4840c3122939f736113d61f1462af3bd7b0b5085
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra186: PM: fix MISRA defects in plat_psci_handlers.c
Anthony Zhou [Fri, 3 Mar 2017 08:23:08 +0000 (16:23 +0800)]
Tegra186: PM: fix MISRA defects in plat_psci_handlers.c

Main fixes:

Added explicit casts (e.g. 0U) to integers in order for them to be
compatible with whatever operation they're used in [Rule 10.1]

convert object type to match the type of function parameters
[Rule 10.3]

Force operands of an operator to the same type category [Rule 10.4]

Fix implicit widening of composite assignment [Rule 10.6]

Change-Id: I5840a07f37beefc3326ac56d0b4a4701602bd8a8
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra186: mce: remove unwanted print messages
Varun Wadekar [Wed, 17 May 2017 23:15:43 +0000 (16:15 -0700)]
Tegra186: mce: remove unwanted print messages

This patch removes unwanted error prints from the MCE command
handler, to reduce the code complexity for this function.

Tested with 'pmccabe'

Change-Id: I375d289db1df9e119eeb1830210974457c8905a4
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra186: remove support for Quasi System power off (SC8) state
Varun Wadekar [Wed, 17 May 2017 21:35:33 +0000 (14:35 -0700)]
Tegra186: remove support for Quasi System power off (SC8) state

This patch removes support for the SC8 power state as the feature is no
longer required for Tegra186 projects.

Change-Id: I622a5ddcffe025b9b798801d09bbb856853befd7
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: sip_calls: fix defects flagged by MISRA scan
Anthony Zhou [Wed, 1 Mar 2017 04:47:37 +0000 (12:47 +0800)]
Tegra: sip_calls: fix defects flagged by MISRA scan

Main fixes:

* Expressions resulting from the expansion of macro parameters
  shall be enclosed in parentheses [Rule 20.7]
* Added explicit casts (e.g. 0U) to integers in order for them
  to be compatible with whatever operation they're used in [Rule
  10.1]
* Fix implicit widening of composite assignment [Rule 10.6]

Change-Id: Ia83c3ab6e4c8c03c19c950978a7936ebfc290590
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra186: secondary: fix MISRA defects
Anthony Zhou [Tue, 21 Mar 2017 07:50:09 +0000 (15:50 +0800)]
Tegra186: secondary: fix MISRA defects

Main fixes:

Added explicit casts (e.g. 0U) to integers in order for them to be
compatible with whatever operation they're used in [Rule 10.1]

Force operands of an operator to the same type category [Rule 10.4]

Voided non c-library functions whose return types are not used [Rule 17.7]

Change-Id: I758e7ef6d45dd2edf4cd5580e2af15219246e75c
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra: Passing EKS size as boot arg to trusty
Varun Wadekar [Fri, 28 Dec 2018 21:50:20 +0000 (13:50 -0800)]
Tegra: Passing EKS size as boot arg to trusty

* EKS blob size was not passed by as a boot parameter
  earlier. Its being passed now
* If EKS value sent by bootloader is non-zero
  update the boot parameter from default value to the argument
  passed by bootloader

Change-Id: I65a3091bd2c1c908cc9e81c0aab6489cab02c098
Signed-off-by: Akshay Sharan <asharan@nvidia.com>
5 years agoTegra210B01: initialize DRBG on boot and resume
Sam Payne [Mon, 15 May 2017 18:10:37 +0000 (11:10 -0700)]
Tegra210B01: initialize DRBG on boot and resume

DRBG must be initialized to guarantee SRK has a random
value during suspend. This patch add a sequence to generate
an SRK on boot and during resume for SE1 and SE2. This SRK
value is not saved to PMC scratch, and should be overwitten
during atomic suspend.

Change-Id: Id5e2dc74a1b462dd6addaec1709fec46083a6e1c
Signed-off-by: Sam Payne <spayne@nvidia.com>
5 years agoTegra210: bpmp: power management interface
Varun Wadekar [Fri, 5 May 2017 16:20:59 +0000 (09:20 -0700)]
Tegra210: bpmp: power management interface

This patch adds the driver to communicate with the BPMP processor
for power management use cases. BPMP controls the entry into cluster
and system power states. The Tegra210 platform port queries the BPMP
to calculate the target state for the cluster. In case BPMP does not
allow CCx entry, the core enters a power down state.

Change-Id: I9c40aef561607a0b02c49b7f8118570eb9105cc9
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra186: mce: fix trivial MISRA defects
Anthony Zhou [Mon, 8 May 2017 12:17:08 +0000 (20:17 +0800)]
Tegra186: mce: fix trivial MISRA defects

This patch fixes MISRA defects for the MCE driver.

* Using logical NOT for bool type function
* Using MPIDR_AFFLVL_MASK << MPIDR_AFFINITY_BITS replace
  MPIDR_CLUSTER_MASK

Change-Id: I97e96f172a3c1158646a15a184c273c53a103d63
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra: topology: fix MISRA defects for Rule 4.6
Anthony Zhou [Mon, 8 May 2017 12:34:11 +0000 (20:34 +0800)]
Tegra: topology: fix MISRA defects for Rule 4.6

This patch uses int32_t to replace ints, to fix Rule 4.6 of the
MISRA standard.

Change-Id: I20ac6185929eced684b43da3ef1f8cd5fbddc83d
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: fiq_glue: fix MISRA defects for Rule 2.7
Anthony Zhou [Mon, 8 May 2017 12:29:33 +0000 (20:29 +0800)]
Tegra: fiq_glue: fix MISRA defects for Rule 2.7

This patch adds (void) for unused function parameters to
fix Rule 2.7 of the MISRA standard.

Change-Id: Ibc3f10b3bfe73363383b4c28413ab8d99fbc8c89
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra210B01: SE1 and SE2/PKA1 context save (atomic)
Marvin Hsu [Tue, 11 Apr 2017 03:00:48 +0000 (11:00 +0800)]
Tegra210B01: SE1 and SE2/PKA1 context save (atomic)

This patch adds the implementation of the SE atomic context save
sequence. The atomic context-save consistently saves to the TZRAM
carveout; thus there is no need to declare context save buffer or
map MMU region in TZRAM for context save. The atomic context-save
routine is responsible to validate the context-save progress
counter, where CTX_SAVE_CNT=133(SE1)/646(SE2), and the SE error
status to ensure the context save procedure complete successfully.

Change-Id: Ic80843902af70e76415530266cb158f668976c42
Signed-off-by: Marvin Hsu <marvinh@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: sip_calls: fix defects flagged by MISRA scan
Anthony Zhou [Wed, 1 Mar 2017 04:47:37 +0000 (12:47 +0800)]
Tegra: sip_calls: fix defects flagged by MISRA scan

Main fixes:

* Expressions resulting from the expansion of macro parameters
  shall be enclosed in parentheses [Rule 20.7]
* Added explicit casts (e.g. 0U) to integers in order for them
  to be compatible with whatever operation they're used in [Rule
  10.1]
* Fix implicit widening of composite assignment [Rule 10.6]

Change-Id: Ia83c3ab6e4c8c03c19c950978a7936ebfc290590
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: support to set the L2 ECC and Parity enable bit
Harvey Hsieh [Wed, 23 Nov 2016 11:13:08 +0000 (19:13 +0800)]
Tegra: support to set the L2 ECC and Parity enable bit

This patch adds capability to read the boot flag to enable L2 ECC
and Parity Protection bit for the Cortex-A57 CPUs. The previous
bootloader sets this flag value for the platform.

* with some coverity fix:
MISRA C-2012 Directive 4.6
MISRA C-2012 Rule 2.5
MISRA C-2012 Rule 10.3
MISRA C-2012 Rule 10.4

Change-Id: Id7303bbbdc290b52919356c31625847b8904b073
Signed-off-by: Harvey Hsieh <hhsieh@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: console clock settings for real/FPGA platforms
Harvey Hsieh [Mon, 10 Apr 2017 08:20:32 +0000 (16:20 +0800)]
Tegra: console clock settings for real/FPGA platforms

This patch sets up the clock for the UART console, for real Silicon
and FPGA platforms. FPGA platforms run the UART clock source at
13MHz, whereas the clock cource runs at 408MHz for real silicon.

Change-Id: Ibfd99df032ec473f29e636e597cfc95a0f580598
Signed-off-by: Harvey Hsieh <hhsieh@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: platform: helper functions to read chip ID
Marvin Hsu [Wed, 12 Apr 2017 12:40:27 +0000 (20:40 +0800)]
Tegra: platform: helper functions to read chip ID

This patch adds helper functions to find out the chip ID of the
Tegra SoC.

Change-Id: Ia3901dc7cdf77d8c23884d1ed38a80dba6a8afde
Signed-off-by: Marvin Hsu <marvinh@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: retrieve power domain tree from the platforms
Varun Wadekar [Fri, 28 Apr 2017 15:43:33 +0000 (08:43 -0700)]
Tegra: retrieve power domain tree from the platforms

The platform code generates the power domain tree. The handler to
retrieve the tree should also reside in the platform code.

This patch moves the plat_get_power_domain_tree_desc() to the
individual platforms.

Change-Id: Iaafc83ed381d83129501111ef655e3c58a8a553f
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: platform: support simulation platforms and MISRA fixes
Anthony Zhou [Wed, 22 Mar 2017 06:37:04 +0000 (14:37 +0800)]
Tegra: platform: support simulation platforms and MISRA fixes

This patch adds support for simulation platforms as well as
fixes issues flagged by the MISRA scans.

Main MISRA fixes:

* Added explicit casts (e.g. 0U) to integers in order for them to be
  compatible with whatever operation they're used in [Rule 10.1]
* Fix return type doesn't match the function type [Rule 10.3]
* Use single return point instead of multiple [Rule 15.5]
* Change return type for the tegra_platform_is_x handlers to bool

Change-Id: I871b7c37b22942f6c0c2049c14cc626d4a24d81c
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoMerge pull request #1738 from ardbiesheuvel/synquacer-spm
Soby Mathew [Wed, 16 Jan 2019 16:01:42 +0000 (16:01 +0000)]
Merge pull request #1738 from ardbiesheuvel/synquacer-spm

synquacer: add SPM support

5 years agoMerge pull request #1757 from antonio-nino-diaz-arm/an/includes
Antonio Niño Díaz [Wed, 16 Jan 2019 10:45:41 +0000 (10:45 +0000)]
Merge pull request #1757 from antonio-nino-diaz-arm/an/includes

Move BL1 and BL2 private defines to bl_common.h

5 years agoMerge pull request #1755 from Anson-Huang/lpuart
Antonio Niño Díaz [Wed, 16 Jan 2019 10:45:25 +0000 (10:45 +0000)]
Merge pull request #1755 from Anson-Huang/lpuart

make lpuart and imx uart work for debug mode

5 years agoMerge pull request #1758 from pbeesley-arm/pb/spelling
Antonio Niño Díaz [Wed, 16 Jan 2019 10:44:44 +0000 (10:44 +0000)]
Merge pull request #1758 from pbeesley-arm/pb/spelling

Correct typographical errors

5 years agoMerge pull request #1756 from antonio-nino-diaz-arm/an/header-deps
Antonio Niño Díaz [Wed, 16 Jan 2019 10:43:18 +0000 (10:43 +0000)]
Merge pull request #1756 from antonio-nino-diaz-arm/an/header-deps

plat/arm: Fix header dependencies

5 years agoplat/synquacer: enable SPM support
Ard Biesheuvel [Sat, 29 Dec 2018 18:44:35 +0000 (19:44 +0100)]
plat/synquacer: enable SPM support

Enable the deprecated SPM framework for the SynQuacer platform.
It involves creating a memory layout in secure DRAM, and wiring
up the SPM infrastructure so that the secure partition payload
that is loaded into this region by the SCP firmware is dispatched
appropriately.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agoplat/synquacer: enable OP-TEE logic only if SPD_opteed is set
Ard Biesheuvel [Sat, 29 Dec 2018 18:40:31 +0000 (19:40 +0100)]
plat/synquacer: enable OP-TEE logic only if SPD_opteed is set

The logic that initializes the BL32 entry point data structure
should only be executed if we are in fact loading OP-TEE, and
not if BL32_BASE is set for other reasons (i.e., when enabling
SPM)

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agospm: permit platform to override the VMA placement of the vector table
Ard Biesheuvel [Sun, 6 Jan 2019 09:07:24 +0000 (10:07 +0100)]
spm: permit platform to override the VMA placement of the vector table

On some systems, it may be preferred to place the secure EL1/0 vector
table outside of the static placement of the BL31 image itself, for
instance when the latter is located in non-shareable SRAM which does
not tolerate inner shareable WBWA mappings (as is the case on SynQuacer)

So permit the platform to #define SPM_SHIM_EXCEPTIONS_VMA in its
supplementary linker script, in which case it will be used as the
VMA region for the vector table. Note that the LMA does not change,
and it is up to the platform to copy the contents to the right place
at init time.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agoservices/spm_deprecated: fix return code polarity of spm_init()
Ard Biesheuvel [Tue, 1 Jan 2019 10:03:08 +0000 (11:03 +0100)]
services/spm_deprecated: fix return code polarity of spm_init()

Registered init handlers return a boolean int, not a return code,
so convert the result from the SPM init call before returning it.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agoservices/spm_deprecated: disable alignment checking for S-EL0
Ard Biesheuvel [Thu, 3 Jan 2019 11:03:49 +0000 (12:03 +0100)]
services/spm_deprecated: disable alignment checking for S-EL0

Permit unaligned accesses while executing the secure partition
payload, so that we don't have to modify existing code that we
will host there. (The UEFI spec explicitly permits unaligned
accesses)

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agoCorrect typographical errors
Paul Beesley [Fri, 11 Jan 2019 18:26:51 +0000 (18:26 +0000)]
Correct typographical errors

Corrects typos in core code, documentation files, drivers, Arm
platforms and services.

None of the corrections affect code; changes are limited to comments
and other documentation.

Change-Id: I5c1027b06ef149864f315ccc0ea473e2a16bfd1d
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
5 years agoplat/arm: Fix header dependencies
Antonio Nino Diaz [Tue, 15 Jan 2019 14:19:50 +0000 (14:19 +0000)]
plat/arm: Fix header dependencies

From now on, platform_def.h must include any header with definitions that
are platform-specific (like arm_def.h) and the included headers mustn't
include back platform_def.h, and shouldn't be used by other files. Only
platform_def.h should be included in other files. This will ensure that all
needed definitions are present, rather than needing to include all the
headers in all the definitions' headers just in case.

This also prevents problems like cyclic dependencies.

Change-Id: I9d3cf4d1de4b956fa035c79545222697acdaf5ca
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
5 years agoMove BL1 and BL2 private defines to bl_common.h
Antonio Nino Diaz [Tue, 18 Dec 2018 13:49:46 +0000 (13:49 +0000)]
Move BL1 and BL2 private defines to bl_common.h

The definitions in bl1/bl1_private.h and bl2/bl2_private.h are useful for
platforms that may need to access them.

Change-Id: Ifd1880f855ddafcb3bfcaf1ed4a4e0f121eda174
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
5 years agoMerge pull request #1748 from antonio-nino-diaz-arm/an/build-flags
Antonio Niño Díaz [Tue, 15 Jan 2019 09:55:38 +0000 (09:55 +0000)]
Merge pull request #1748 from antonio-nino-diaz-arm/an/build-flags

build: Support BL-specific build flags

5 years agoMerge pull request #1747 from antonio-nino-diaz-arm/an/cnp-dynamic
Antonio Niño Díaz [Tue, 15 Jan 2019 09:55:30 +0000 (09:55 +0000)]
Merge pull request #1747 from antonio-nino-diaz-arm/an/cnp-dynamic

xlat v2: Dynamically detect need for CnP bit

5 years agoMerge pull request #1746 from JoelHutton/jh/hikey
Antonio Nino Diaz [Tue, 15 Jan 2019 09:53:09 +0000 (09:53 +0000)]
Merge pull request #1746 from JoelHutton/jh/hikey

Jh/hikey

5 years agoMerge pull request #1752 from JackyBai/master
Antonio Niño Díaz [Tue, 15 Jan 2019 09:50:40 +0000 (09:50 +0000)]
Merge pull request #1752 from JackyBai/master

maintainers: Add maintainter for NXP i.MX8M platform.

5 years agoMerge pull request #1750 from pbeesley-arm/pb/readme-updates
Antonio Niño Díaz [Tue, 15 Jan 2019 09:50:30 +0000 (09:50 +0000)]
Merge pull request #1750 from pbeesley-arm/pb/readme-updates

doc: Minor reword & reformatting in readme.rst

5 years agoimx: make imx uart work for debug mode
Anson Huang [Tue, 15 Jan 2019 06:27:10 +0000 (14:27 +0800)]
imx: make imx uart work for debug mode

With DEBUG_CONSOLE enabled, build will fail for imx8mq platform:

./build/imx8mq/release/bl31/imx8mq_bl31_setup.o:
In function `bl31_early_platform_setup2':
imx8mq_bl31_setup.c:(.text.bl31_early_platform_setup2+0x40):
undefined reference to `console_uart_register'
Makefile:741: recipe for target 'build/imx8mq/release/bl31/bl31.elf' failed
make: *** [build/imx8mq/release/bl31/bl31.elf] Error 1

Besides, the .console_flush callback needs to be added to avoid
panic when debug mode is enabled, since the console_flush() will
call it without checking whether the function callback is valid.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
5 years agoimx: add necessary lpuart console_flush callback for debug
Anson Huang [Tue, 15 Jan 2019 05:53:03 +0000 (13:53 +0800)]
imx: add necessary lpuart console_flush callback for debug

Current lpuart driver does NOT implement .console_flush callback,
if debug console is enabled, the console_flush() will call the
undefined .console_flush callback(NULL) for lpuart and leak to
panic, this patch adds .console_flush callback to make lpuart work
for debug mode.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
5 years agomaintainers: Add maintainter for NXP i.MX8M platform.
Jacky Bai [Mon, 14 Jan 2019 05:48:57 +0000 (13:48 +0800)]
maintainers: Add maintainter for NXP i.MX8M platform.

This patch adds me to various maintainer activities in
the ATF tree associated with the NXP i.MX8M platform.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
5 years agodoc: Minor readme structure improvements
Paul Beesley [Thu, 10 Jan 2019 16:14:04 +0000 (16:14 +0000)]
doc: Minor readme structure improvements

Improves wording and sentence structure of the readme, including:

- Using "TF-A" in place of "the TF-A" in a couple of places
- "Support for X" in place of "Support X"
- Explicitly naming the Secure Payload Dispatcher when introducing the
  SPD acronym.

Change-Id: I4e7b7e7dc6748f631d07c02d97adcca10ae60ea4
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
5 years agodoc: Fix NVIDIA name case in readme.rst
Paul Beesley [Thu, 10 Jan 2019 15:53:12 +0000 (15:53 +0000)]
doc: Fix NVIDIA name case in readme.rst

Change-Id: I7e0ba692277c1c120c86d47ab966dcd11682428a
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
5 years agodoc: Add SCMI abbreviation to readme
Paul Beesley [Thu, 10 Jan 2019 15:42:39 +0000 (15:42 +0000)]
doc: Add SCMI abbreviation to readme

Currently the examples of Arm interface standards all include
abbreviationsof the full names, except for SCMI.

Change-Id: I8417ada780d51ecf93426aa5d265c507c7dac08c
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
5 years agoxlat v2: Dynamically detect need for CnP bit
Antonio Nino Diaz [Fri, 11 Jan 2019 11:20:10 +0000 (11:20 +0000)]
xlat v2: Dynamically detect need for CnP bit

ARMv8.2-TTCNP is mandatory from ARMv8.2 onwards, but it can be implemented
in CPUs that don't implement all mandatory 8.2 features (and so have to
claim to be a lower version).

This patch removes usage of the ARM_ARCH_AT_LEAST() macro and uses system
ID registers to detect whether it is needed to set the bit or not.

Change-Id: I7bcbf0c7c937590dfc2ca668cfd9267c50f7d52c
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
5 years agohikey960:Corrected erroneous DDR_SIZE
Joel Hutton [Thu, 27 Dec 2018 13:42:19 +0000 (13:42 +0000)]
hikey960:Corrected erroneous DDR_SIZE

Change-Id: I7194a9a5f0e41308eb3242d20c0d3434f72da591
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
5 years agohikey960: Increase max xlat tables
Joel Hutton [Wed, 28 Nov 2018 11:09:24 +0000 (11:09 +0000)]
hikey960: Increase max xlat tables

It is cleaner to use the same number of tables regardless of whether
OP-TEE is used or not. This doesn't result in a significant memory
usage increase.

Change-Id: I38bcaa3f2f197c0a352153117592749f189a265c
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
5 years agobuild: Support BL-specific build flags
Jeenu Viswambharan [Thu, 1 Nov 2018 10:55:55 +0000 (10:55 +0000)]
build: Support BL-specific build flags

With this patch, each BL image can have its own compiler flags.

Change-Id: Ic9075a20bc6f6dc8a277587b9bee5e062306c090
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
5 years agoMerge pull request #1744 from jollysxilinx/integration
Antonio Niño Díaz [Thu, 10 Jan 2019 11:18:51 +0000 (11:18 +0000)]
Merge pull request #1744 from jollysxilinx/integration

plat: xilinx: code restructure

5 years agoMerge pull request #1724 from jbech-linaro/emmc_enumeration
Antonio Niño Díaz [Thu, 10 Jan 2019 09:23:42 +0000 (09:23 +0000)]
Merge pull request #1724 from jbech-linaro/emmc_enumeration

mmc: increase delay when initializing mmc

5 years agoxilinx: Move IPI functions to common file
Jolly Shah [Wed, 9 Jan 2019 20:37:57 +0000 (12:37 -0800)]
xilinx: Move IPI functions to common file

pm_service ipi functions can be used by other xilinx
platforms. So move it to common directory. Also change
node_id member type in pm_proc structure so it can be
used for versal where device IDs are used instead of
node IDs.

To accommodate this change header files are re-organized.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoxilinx: pm_service: Rename macros to use generic macro names
Jolly Shah [Mon, 7 Jan 2019 20:53:32 +0000 (12:53 -0800)]
xilinx: pm_service: Rename macros to use generic macro names

ZynqMP pm_service ipi file uses platform specific macros names.
pm_service ipi functions can be used by other Xilinx platforms
also. Make rename macros to use generic names so that it can be
used by common file.

pm_service ipi functions will be moved to common file in next patch.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoxilinx: zynqmp: Rename pm_api members to use generic name
Jolly Shah [Mon, 7 Jan 2019 20:51:40 +0000 (12:51 -0800)]
xilinx: zynqmp: Rename pm_api members to use generic name

Use generic name for pm_api structure member, so that pm_api
structure can be used other Xilinx platforms.

Structure definition will be moved to common file in upcoming
patch.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoMove generic ipi_mb functions to common files
Jolly Shah [Tue, 8 Jan 2019 19:31:49 +0000 (11:31 -0800)]
Move generic ipi_mb functions to common files

ipi_mb functions can be used for other Xilinx platform.
Move it to common file from platform specific files.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoxilinx: Remove platform specific dependency from IPI function
Jolly Shah [Tue, 8 Jan 2019 19:27:36 +0000 (11:27 -0800)]
xilinx: Remove platform specific dependency from IPI function

ipi_mb function uses platform specific ipi configuration table.
These ipi_mb functions can be used for other Xilinx platform.
So, instead of using direct data structure, initialize IPI
configuration data by passing platform specific ipi table.
Macros are updated accordingly for this ipi table change.

This change is done so that ipi_mb functions can be moved to
common file without major changes. All common functions now would
be moved to common file in next patch.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoxilinx: Move ipi configuration structure definition to header file
Jolly Shah [Tue, 8 Jan 2019 19:25:28 +0000 (11:25 -0800)]
xilinx: Move ipi configuration structure definition to header file

Move ipi configuration structure definition to common header file
and rename it to common name, so it can be used for Xilinx specific
other platforms in upcoming changes.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoxilinx: zynqmp: Move zynqmp_ipi.h to include directory
Jolly Shah [Tue, 8 Jan 2019 19:21:29 +0000 (11:21 -0800)]
xilinx: zynqmp: Move zynqmp_ipi.h to include directory

Move zynqmp_ipi.h to platform specific include directory.
Rename it to plat_ipi.h instead of platform name. So, it can
be used to common source files which needs platform specific
data.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoplat: xilinx: zynqmp: Move zynqmp_def.h to include directory
Jolly Shah [Tue, 8 Jan 2019 19:16:16 +0000 (11:16 -0800)]
plat: xilinx: zynqmp: Move zynqmp_def.h to include directory

Move zynqmp_def.h to platform specific include directory.
Also, update source file to include header file from updated
path of zynqmp_def.h

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoplat: xilinx: zynqmp: Move zynqmp_private.h to include directory
Jolly Shah [Tue, 8 Jan 2019 19:10:47 +0000 (11:10 -0800)]
plat: xilinx: zynqmp: Move zynqmp_private.h to include directory

Move zynqmp_private.h to platform specific include directory.
Also, rename it to plat_private.h instead of having platform
name. So, it can be used to common source files which needs
platform specific data.

Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Reviewed-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
5 years agoMerge pull request #1743 from JoelHutton/jh/fixcssdriver
Antonio Niño Díaz [Wed, 9 Jan 2019 11:44:44 +0000 (11:44 +0000)]
Merge pull request #1743 from JoelHutton/jh/fixcssdriver

juno:Fix CSS_USE_SCMI_SDS_DRIVER=0 configuration

5 years agojuno:Fix CSS_USE_SCMI_SDS_DRIVER=0 configuration
Joel Hutton [Tue, 8 Jan 2019 15:18:28 +0000 (15:18 +0000)]
juno:Fix CSS_USE_SCMI_SDS_DRIVER=0 configuration

A previous commit 89f2e589856f ("plat/arm: remove weak implemention of
'plat_arm_psci_override_pm_ops' function") introduced a problem with the
CSS_USE_SCMI_SDS_DRIVER configuration. In juno_pm.c the
css_scmi_override_pm_ops function was used regardless of whether the
flag was set. This patch ifdefs the function to restore the original
behaviour.

Change-Id: I508025ba70cf3a9250cc6270c1df209179c37ae7
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
5 years agoMerge pull request #1734 from marex/arm/master/update-rcar-2.0.0
Antonio Niño Díaz [Tue, 8 Jan 2019 15:46:29 +0000 (15:46 +0000)]
Merge pull request #1734 from marex/arm/master/update-rcar-2.0.0

Arm/master/update rcar 2.0.0

5 years agoservices/spm_deprecated: permit timer sysreg access at S-EL0
Ard Biesheuvel [Tue, 1 Jan 2019 10:01:41 +0000 (11:01 +0100)]
services/spm_deprecated: permit timer sysreg access at S-EL0

Expose the timer registers that are accessible at EL0 per the
architecture to the SPM payload running in secure EL0. Note
that this requires NS_TIMER_SWITCH to be enable for all users
of this code.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agoservices/spm_deprecated: update ARM platform specific asserts
Ard Biesheuvel [Sat, 29 Dec 2018 18:43:21 +0000 (19:43 +0100)]
services/spm_deprecated: update ARM platform specific asserts

Update some asserts that refer to #defines that only occur in
ARM platforms, preventing this code to be used on other platforms.
Instead, use a platform agnostic name, and update all the existing
users.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
5 years agorcar_gen3: plat: update renesas version to 2.0.0
Marek Vasut [Mon, 31 Dec 2018 13:51:14 +0000 (14:51 +0100)]
rcar_gen3: plat: update renesas version to 2.0.0

Update the reported Renesas version to 2.0.0, since the DDR/QoS/PFC
table versions match the ones from that release.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: pwrc: Switch to common delay implementation
Marek Vasut [Fri, 28 Dec 2018 19:15:33 +0000 (20:15 +0100)]
rcar_gen3: drivers: pwrc: Switch to common delay implementation

Replace the ad-hoc implementation of delay in PWRC driver
with common R-Car delay code.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: delay: Rewrite from assembler to C
Marek Vasut [Wed, 26 Dec 2018 14:57:08 +0000 (15:57 +0100)]
rcar_gen3: drivers: delay: Rewrite from assembler to C

Rewrite the delay code from assembler to C.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: plat: Add generic timer init
Marek Vasut [Fri, 28 Dec 2018 19:12:13 +0000 (20:12 +0100)]
rcar_gen3: plat: Add generic timer init

Add code to determine the platform timer frequency and configure
the generic timer accordingly early in BL2.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: scif: Use TEND flag for transmission end detection
Marek Vasut [Thu, 27 Dec 2018 19:31:22 +0000 (20:31 +0100)]
rcar_gen3: drivers: scif: Use TEND flag for transmission end detection

Use the SCIF SCFSR:TEND bit to check that all data were transmitted by
the SCIF and that there are no more valid data to transmit in the FIFO.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: qos: Synchronize tables
Marek Vasut [Wed, 12 Dec 2018 15:35:00 +0000 (16:35 +0100)]
rcar_gen3: drivers: qos: Synchronize tables

Synchronize the QoS tables with Renesas ATF release 2.0.0 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: pfc: Synchronize tables
Marek Vasut [Wed, 12 Dec 2018 16:40:10 +0000 (17:40 +0100)]
rcar_gen3: drivers: pfc: Synchronize tables

Synchronize the pin control tables with Renesas ATF release 2.0.0 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: ddr-b: Synchronize tables
Marek Vasut [Wed, 12 Dec 2018 17:06:39 +0000 (18:06 +0100)]
rcar_gen3: drivers: ddr-b: Synchronize tables

Synchronize the R-Car DDR-B driver, used on R-Car H3/M3W/M3N,
with Renesas ATF release 2.0.0 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: ddr-a: Checkpatch cleanup
Marek Vasut [Sun, 16 Dec 2018 18:28:59 +0000 (19:28 +0100)]
rcar_gen3: drivers: ddr-a: Checkpatch cleanup

Run Linux kernel checkpatch on the DDR-A init code to clean it up:
$ checkpatch.pl --fix --fix-inplace -f drivers/staging/renesas/rcar/ddr/ddr_a/*

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agorcar_gen3: drivers: ddr-a: Synchronize tables
Marek Vasut [Wed, 12 Dec 2018 17:06:39 +0000 (18:06 +0100)]
rcar_gen3: drivers: ddr-a: Synchronize tables

Synchronize the R-Car DDR-A driver, used on R-Car E3,
with Renesas ATF release 2.0.0 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>