| c8f8579a | 22-May-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes Icf1ea76c,I9ca3f278 into integration
* changes: imx8: Replace PLAT_IMX8* with automatic PLAT_imx8* plat: imx8mq: Implement IMX_SIP_GET_SOC_INFO |
| ac166f64 | 21-May-2019 |
Jacky Bai <ping.bai@nxp.com> |
plat: imx8m: Add the aipstz init to config peripheral access
AIPSTZ provide access control for all the peripherals connected to it. In this patch all the perperals are configured accessible to all t
plat: imx8m: Add the aipstz init to config peripheral access
AIPSTZ provide access control for all the peripherals connected to it. In this patch all the perperals are configured accessible to all the master. it can be customized based the actual use case.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I5ef5baa1da6906f13a60923d27ede336c61e319a
show more ...
|
| f56afc1f | 20-May-2019 |
Leonard Crestez <leonard.crestez@nxp.com> |
imx8: Replace PLAT_IMX8* with automatic PLAT_imx8*
Platform defines are already provided by the build system so let's not duplicate them.
Change-Id: Icf1ea76c3c3213e27b447c95e2b22b961fa7693e Signed
imx8: Replace PLAT_IMX8* with automatic PLAT_imx8*
Platform defines are already provided by the build system so let's not duplicate them.
Change-Id: Icf1ea76c3c3213e27b447c95e2b22b961fa7693e Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
show more ...
|
| 72196cbb | 10-May-2019 |
Leonard Crestez <leonard.crestez@nxp.com> |
plat: imx8mq: Implement IMX_SIP_GET_SOC_INFO
The manual documents that 0x3036006c should contains the soc revision for imx8mq but this always reports A0. Work around this by parsing the ROM header a
plat: imx8mq: Implement IMX_SIP_GET_SOC_INFO
The manual documents that 0x3036006c should contains the soc revision for imx8mq but this always reports A0. Work around this by parsing the ROM header and checking if OCOTP register 0x40 is stuck at 0xff0055aa.
Determining this inside TF-A makes life easier for OS, see for example this linux discussion: https://lkml.org/lkml/2019/5/3/465
The soc revision can also be useful inside TF-A itself, for example for the non-upstream DDR DVFS "busfreq" feature is affected by 8mq erratas.
The clock for OCOTP block can be disabled by OS so only initialize soc revision once at boot time.
Change-Id: I9ca3f27840229ce8a28b53870e44da29f63c73aa Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
show more ...
|
| 2beae525 | 16-May-2019 |
Kevin Hilman <khilman@baylibre.com> |
plat/meson/gxl: BL31: remove BL2 dependency
Remove an assert() that assumes a specific value being passed from BL2. This value is dependent on BL2 version, so makes this assert() not portable.
Sug
plat/meson/gxl: BL31: remove BL2 dependency
Remove an assert() that assumes a specific value being passed from BL2. This value is dependent on BL2 version, so makes this assert() not portable.
Suggested-by: Remi Pommarel <repk@triplefau.lt> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Change-Id: Ife3d934b2fa37fc1c66963dd4eb1afe2ca17d740
show more ...
|
| 482fc9c8 | 16-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "sami/550_fix_n1sdp_issues_v1" into integration
* changes: N1SDP: Initialise CNTFRQ in Non Secure CNTBaseN N1SDP: Fix DRAM2 start address Add option for defining platf
Merge changes from topic "sami/550_fix_n1sdp_issues_v1" into integration
* changes: N1SDP: Initialise CNTFRQ in Non Secure CNTBaseN N1SDP: Fix DRAM2 start address Add option for defining platform DRAM2 base Disable speculative loads only if SSBS is supported
show more ...
|
| d8b11091 | 15-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "plat: imx8mq: Remove duplicated linker symbols" into integration |
| acc18c1f | 15-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "SMMUv3: Abort DMA transactions" into integration |
| 603b372e | 10-May-2019 |
Sami Mujawar <sami.mujawar@arm.com> |
N1SDP: Initialise CNTFRQ in Non Secure CNTBaseN
N1SDP exhibits the behavior similar to Juno wherein CNTBaseN.CNTFRQ can be written but does not reflect the value of the CNTFRQ register in CNTCTLBase
N1SDP: Initialise CNTFRQ in Non Secure CNTBaseN
N1SDP exhibits the behavior similar to Juno wherein CNTBaseN.CNTFRQ can be written but does not reflect the value of the CNTFRQ register in CNTCTLBase frame. This doesn't follow ARM ARM in that the value updated in CNTCTLBase.CNTFRQ is not reflected in CNTBaseN.CNTFRQ.
Hence enable the workaround (applied to Juno) for N1SDP that updates the CNTFRQ register in the Non Secure CNTBaseN frame.
Change-Id: Id89ee1bca0f25c9d62f8f794f2c4f4e618cdf092 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
show more ...
|
| 49d64e5d | 09-May-2019 |
Sami Mujawar <sami.mujawar@arm.com> |
N1SDP: Fix DRAM2 start address
The default DRAM2 start address for Arm platforms is 0x880000000. However, for N1SDP platform this is 0x8080000000.
Fix the DRAM2 start address by initialising PLAT_A
N1SDP: Fix DRAM2 start address
The default DRAM2 start address for Arm platforms is 0x880000000. However, for N1SDP platform this is 0x8080000000.
Fix the DRAM2 start address by initialising PLAT_ARM_DRAM2_BASE.
Without this fix there is a mismatch of the System memory region view as seen by the BL31 runtime firmware (PSCI) versus the view of the OS (which is based on the description provided by UEFI. In this case UEFI is correctly describing the DRAM2 start address).
This implicates in secondary cores failing to start on some Operating Systems if the OS decides to place the secondary start address in the mismatched region.
Change-Id: I57220e753219353dda429868b4c5e1a69944cc64 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
show more ...
|
| 6bb6015f | 09-May-2019 |
Sami Mujawar <sami.mujawar@arm.com> |
Add option for defining platform DRAM2 base
The default DRAM2 base address for Arm platforms is 0x880000000. However, on some platforms the firmware may want to move the start address to a different
Add option for defining platform DRAM2 base
The default DRAM2 base address for Arm platforms is 0x880000000. However, on some platforms the firmware may want to move the start address to a different value.
To support this introduce PLAT_ARM_DRAM2_BASE that defaults to 0x880000000; but can be overridden by a platform (e.g. in platform_def.h).
Change-Id: I0d81195e06070bc98f376444b48ada2db1666e28 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
show more ...
|
| b05631af | 09-Apr-2019 |
Jacky Bai <ping.bai@nxp.com> |
plat: imx8mq: Remove duplicated linker symbols
Remove duplicated linker symbols, resue the symbols defined in bl_common.h
Change-Id: I10de450eccc78c09b61a8ae7126bf4f4029fa682 Signed-off-by: Jacky B
plat: imx8mq: Remove duplicated linker symbols
Remove duplicated linker symbols, resue the symbols defined in bl_common.h
Change-Id: I10de450eccc78c09b61a8ae7126bf4f4029fa682 Signed-off-by: Jacky Bai <ping.bai@nxp.com>
show more ...
|
| 1461ad9f | 09-May-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
SMMUv3: Abort DMA transactions
For security DMA should be blocked at the SMMU by default unless explicitly enabled for a device. SMMU is disabled after reset with all streams bypassing the SMMU, and
SMMUv3: Abort DMA transactions
For security DMA should be blocked at the SMMU by default unless explicitly enabled for a device. SMMU is disabled after reset with all streams bypassing the SMMU, and abortion of all incoming transactions implements a default deny policy on reset. This patch also moves "bl1_platform_setup()" function from arm_bl1_setup.c to FVP platforms' fvp_bl1_setup.c and fvp_ve_bl1_setup.c files.
Change-Id: Ie0ffedc10219b1b884eb8af625bd4b6753749b1a Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| c33aa45f | 10-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "Initialize platform for MediaTek mt8183" into integration |
| 3fa9dec4 | 10-Apr-2019 |
kenny liang <kenny.liang@mediatek.com> |
Initialize platform for MediaTek mt8183
- Add basic platform setup - Add generic CPU helper functions - Add delay timer platform implementation - Use TI 16550 uart driver
Change-Id: I1c29569c68fe9f
Initialize platform for MediaTek mt8183
- Add basic platform setup - Add generic CPU helper functions - Add delay timer platform implementation - Use TI 16550 uart driver
Change-Id: I1c29569c68fe9fca5e10e88a22a29690bab7141f Signed-off-by: kenny liang <kenny.liang@mediatek.com>
show more ...
|
| 950d05f7 | 08-May-2019 |
Leonard Crestez <leonard.crestez@nxp.com> |
plat: imx8m: Implement IMX_SIP_BUILDINFO
The IMX_SIP_BUILDINFO call was implemented for imx8qm and imx8qx but it's also applicable to imx8m.
This fixes U-Boot not printing commit hash on 8m with up
plat: imx8m: Implement IMX_SIP_BUILDINFO
The IMX_SIP_BUILDINFO call was implemented for imx8qm and imx8qx but it's also applicable to imx8m.
This fixes U-Boot not printing commit hash on 8m with upstream TF-A.
Change-Id: Idcfd9729eaaccf329c24e241da325f1f6cd3c880 Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
show more ...
|
| 7696880a | 06-May-2019 |
Leonard Crestez <leonard.crestez@nxp.com> |
plat: imx8mq: Only keep IRQ 32 unmasked
Only IRQ 32 (SPI 0) needs to be kept unmasked, not everything divisible by 32.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Change-Id: I286b925ee
plat: imx8mq: Only keep IRQ 32 unmasked
Only IRQ 32 (SPI 0) needs to be kept unmasked, not everything divisible by 32.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Change-Id: I286b925eead89218cfeddd82f53a634f3447d212
show more ...
|
| e1958506 | 06-May-2019 |
Leonard Crestez <leonard.crestez@nxp.com> |
plat: imx8mq: gpc: Enable all power domain by default
This is similar to imx8mm and allows uboot to run fastboot over USB otg.
There is a different set of power domains on 8mq but same bits covers
plat: imx8mq: gpc: Enable all power domain by default
This is similar to imx8mm and allows uboot to run fastboot over USB otg.
There is a different set of power domains on 8mq but same bits covers all off them.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Change-Id: I1151c2bc2d32b1e02b4db16285b3d30cabc0d64d
show more ...
|
| 854ca7da | 03-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "Add compile-time errors for HW_ASSISTED_COHERENCY flag" into integration |
| 076b5f02 | 19-Mar-2019 |
John Tsichritzis <john.tsichritzis@arm.com> |
Add compile-time errors for HW_ASSISTED_COHERENCY flag
This patch fixes this issue: https://github.com/ARM-software/tf-issues/issues/660
The introduced changes are the following:
1) Some cores imp
Add compile-time errors for HW_ASSISTED_COHERENCY flag
This patch fixes this issue: https://github.com/ARM-software/tf-issues/issues/660
The introduced changes are the following:
1) Some cores implement cache coherency maintenance operation on the hardware level. For those cores, such as - but not only - the DynamIQ cores, it is mandatory that TF-A is compiled with the HW_ASSISTED_COHERENCY flag. If not, the core behaviour at runtime is unpredictable. To prevent this, compile time checks have been added and compilation errors are generated, if needed.
2) To enable this change for FVP, a logical separation has been done for the core libraries. A system cannot contain cores of both groups, i.e. cores that manage coherency on hardware and cores that don't do it. As such, depending on the HW_ASSISTED_COHERENCY flag, FVP includes the libraries only of the relevant cores.
3) The neoverse_e1.S file has been added to the FVP sources.
Change-Id: I787d15819b2add4ec0d238249e04bf0497dc12f3 Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
show more ...
|
| ccd4d475 | 26-Apr-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
SMMUv3: refactor the driver code
This patch is a preparation for the subsequent changes in SMMUv3 driver. It introduces a new "smmuv3_poll" function and replaces inline functions for accessing SMMU
SMMUv3: refactor the driver code
This patch is a preparation for the subsequent changes in SMMUv3 driver. It introduces a new "smmuv3_poll" function and replaces inline functions for accessing SMMU registers with mmio read/write operations. Also the infinite loop for the poll has been replaced with a counter based timeout.
Change-Id: I7a0547beb1509601f253e126b1a7a6ab3b0307e7 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| 33218d2a | 24-Apr-2019 |
Christoph Müllner <christophm30@gmail.com> |
rockchip: Disable binary generation for all SoCs.
All supported Rockchip SoCs (RK3288, RK3328, RK3368 and RK3399) have non-continuous memory areas in the linker script with a huge gap between them.
rockchip: Disable binary generation for all SoCs.
All supported Rockchip SoCs (RK3288, RK3328, RK3368 and RK3399) have non-continuous memory areas in the linker script with a huge gap between them. This results in extremely padded binary images with a size of about 4 GiB.
E.g. on the RK3399 we have the following memory areas (and base addresses): RAM (0x1000), SRAM (0xFF8C0000), and PMUSRAM (0xFF3B0000).
Consumers of the TF-A project (e.g. coreboot or U-Boot) therefore use the ELF image instead, which has a size of a few hundred kBs.
In order to prevent the generation of a huge and useless file, this patch disables the binary generation for all affected Rockchip SoCs.
Signed-off-by: Christoph Müllner <christophm30@gmail.com> Change-Id: I4ac65bdf1e598c3e1a59507897d183aee9a36916
show more ...
|
| b3c8ac13 | 02-May-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge changes from topic "rk3399q7" into integration
* changes: rockchip: Allow console device to be set by DTB. rockchip: Add params_setup to RK3328. rockchip: Streamline and complete UARTn_B
Merge changes from topic "rk3399q7" into integration
* changes: rockchip: Allow console device to be set by DTB. rockchip: Add params_setup to RK3328. rockchip: Streamline and complete UARTn_BASE macros.
show more ...
|
| 220c33a2 | 19-Apr-2019 |
Christoph Müllner <christophm30@gmail.com> |
rockchip: Allow console device to be set by DTB.
Currently the compile-time constant PLAT_RK_UART_BASE defines which UART is used as console device. E.g. on RK3399 it is set to UART2. That means, th
rockchip: Allow console device to be set by DTB.
Currently the compile-time constant PLAT_RK_UART_BASE defines which UART is used as console device. E.g. on RK3399 it is set to UART2. That means, that a single bl31 image can not be used for two boards, which just differ on the UART console.
This patch addresses this limitation by parsing the "stdout-path" property from the "chosen" node in the DTB. The expected property string is expected to have the form "serialN:XXX", with N being either 0, 1, 2, 3 or 4. When the property is found, it will be used to override PLAT_RK_UART_BASE.
Tested on RK3399-Q7, with a stdout-path of "serial0:115200n8".
Signed-off-by: Christoph Müllner <christophm30@gmail.com> Change-Id: Iafe1320e77ab006c121f8d52745d54cef68a48c7
show more ...
|
| f476e63f | 01-May-2019 |
Christoph Müllner <christophm30@gmail.com> |
rockchip: Add params_setup to RK3328.
params_setup.c provides the function params_early_setup, which takes care of parsing ATF parameters (bl31_plat_param array, fdt or coreboot table). As params_ea
rockchip: Add params_setup to RK3328.
params_setup.c provides the function params_early_setup, which takes care of parsing ATF parameters (bl31_plat_param array, fdt or coreboot table). As params_early_setup is defined as weak symbol in bl31_plat_setup.c, providing a platform-specific bl31_plat_setup implementation is optional.
This patch adds the rockchip-common params_setup.c to the sources for RK3328. This streamlines the parameter handling for all supported rockchip SoCs.
Signed-off-by: Christoph Müllner <christophm30@gmail.com> Change-Id: I071c03106114364ad2fc408e49cc791fe5b35925
show more ...
|