- 30 Sep, 2019 1 commit
-
-
Angus Ainslie authored
Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
- 06 Jun, 2019 1 commit
-
-
Jacky Bai authored
Enable the D-cache early config by default. As there is not external exclusive monitor support for OCRAM space, so if spin lock is used in the early resume stage, it will lead to cache coherancy issue. So add this config to make sure spin lock can be used safely. Signed-off-by:
Jacky Bai <ping.bai@nxp.com> (cherry picked from commit 0abc1e8c)
-
- 31 May, 2019 2 commits
-
-
Abel Vesa authored
The offset of the gpc_saved_imrs was computed wrong. Now, the offset is consistent between saving and restoring. Fixes: 0df4c895 ("plat: imx8mq: gpc: Add array for cores IMR offset") Signed-off-by:
Abel Vesa <abel.vesa@nxp.com> Reviewed-by:
Leonard Crestez <leonard.crestez@nxp.com>
-
Abel Vesa authored
This new workaround takes advantage of the per core IMR registers in GPC in order to unmask the IRQ0, still generated by the 12bit in IOMUX_GPR register (which now remains always set), so it can only wake up one core at the time. Also, this entire workaround has now been moved here in TF-A, allowing the kernel side to be minimal. Another advantage this workaround brings is the removal of the 50us delay (which was necessary before in gic_raise_softirq in kernel) by allowing the core that is waking up to mask his own IRQ0 in the suspend finish callback. One important change here is the way the cores are woken up in dram_dvfs_handler. Since the wake up mechanism has changed from asserting the 12th bit in IOMUX_GPR and leaving the IMR1 1st bit on for each core to exactly the reverse, that is, leaving the IOMUX_GPR 12th bit always set and then masking/unmasking the IMR1 1st bit for each independent core, we need to use the imx_gpc_core_wake to wake up the cores. Also, the 50us udelay is moved to TF-A (inside imx_pwr_domain_off) from kernel (gic_raise_softirq), since the new cpuidle workaround does not need it in order to clean the IOMUX_GPC 12bit. For now, the udelay seems to be still needed in order to delay the affinity info OFF for the dying core. This is something that needs further investigation. Signed-off-by:
Abel Vesa <abel.vesa@nxp.com> Reviewed-by:
Leonard Crestez <leonard.crestez@nxp.com>
-
- 29 May, 2019 1 commit
-
-
Jacky Bai authored
on i.MX8MN, use the 'CPU_WAIT' to check if the M7 core is enabled or not, as M7 is always enabled in SRC. Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 28 May, 2019 1 commit
-
-
Jacky Bai authored
Add the basic support for i.MX8MN. Signed-off-by:
Jacky Bai <ping.bai@nxp.com> Signed-off-by:
Anson Huang <Anson.Huang@nxp.com> Signed-off-by:
Ye Li <ye.li@nxp.com>
-
- 27 May, 2019 2 commits
-
-
Abel Vesa authored
Spinlocks are added to independently safeguard concurrent access to each core IMRs. This will be usefull later on when the masking of the IRQ0 will be added for independent core wakeup. Signed-off-by:
Abel Vesa <abel.vesa@nxp.com>
-
Abel Vesa authored
Refactor the IMR access by adding arrays that hold the offsets of the first IMR register for each core. This allows multi accesses to IMR registers for different cores to be rolled up in a loop. Signed-off-by:
Abel Vesa <abel.vesa@nxp.com>
-
- 22 May, 2019 1 commit
-
-
Jacky Bai authored
Add some delay to make sure the VPU related domain has been reset successfully. Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 13 May, 2019 1 commit
-
-
Jacky Bai authored
the GPC set wake code can be removed. after GICv3 driver add the necessary flags by community, We can get all the wakeup IRQ info correctly from GIC. Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 19 Apr, 2019 1 commit
-
-
Anson Huang authored
Add system_reset2 support for i.MX8QM/i.MX8QX to support WARM/COLD/BOARD reset. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 08 Apr, 2019 1 commit
-
-
Anson Huang authored
This patch updates SCFW API to v1.7, based on below commit: 252281d48647 ("SCF-105: Update wiki.") Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 01 Apr, 2019 2 commits
-
-
Ji Luo authored
This patch fix type mismatch and dead codes in gpio functions. Test: build and boot on AIY 1G DDR board. Signed-off-by:
Ji Luo <ji.luo@nxp.com>
-
Ji Luo authored
TEE will be loaded to 0x7e000000 for AIY 1G ddr board, distinguish different baseboard by the board id and set different tee address accordingly. Test: build and boot ok for both AIY 1G and 3G ddr board. Signed-off-by:
Ji Luo <ji.luo@nxp.com>
-
- 21 Mar, 2019 1 commit
-
-
Jacky Bai authored
Fix the ddr4 retention exit hang caused by improper init flow. Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 14 Mar, 2019 1 commit
-
-
Jacky Bai authored
Clean up & Fix the license issue Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 13 Mar, 2019 1 commit
-
-
Jacky Bai authored
clean up & fix the license issue Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 12 Mar, 2019 2 commits
-
-
Anson Huang authored
This reverts commit d4a0970c. SCFW already supported OCRAM retention, so no need to change primary CPU's entry.
-
Anson Huang authored
This reverts commit 8673a8e5. SCFW already supported OCRAM retention, so no need to change primary CPU's boot entry.
-
- 05 Mar, 2019 1 commit
-
-
Ji Luo authored
Config the base address(0xfe00_0000) and size(0x200_0000) for Trusty OS to enable it on AIY board. Test: Trusty OS boots up ok. Change-Id: Ia7ed33447fc7b84ba2005d332c1379564fc647c1 Signed-off-by:
Ji Luo <ji.luo@nxp.com>
-
- 04 Mar, 2019 1 commit
-
-
Anson Huang authored
MU_SR register bit[30] is cold boot flag passed from SCU, w0 is random value and would clear the flag incorrectly, and cause system partition reboot fail if Linux is in suspend. So this patch initializes it to 0x80000000 which is exactly the same with first time board power up before writting to MU_SR register. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 27 Feb, 2019 6 commits
-
-
Anson Huang authored
The boot device info should be kept during partition reboot, the boot device ownership is changed after partition management in ATF, so calling sc_pm_set_boot_parm() with boot device parameter will fail in PSCI initialization phase, moving it to bl31_early_platform_setup2() can make it work, correct them. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
Ye Li authored
On iMX8 Rev A the OCRAM is used to pass over ROM info, and u-boot needs to access it. So we can't assign the OCRAM to ATF partition. This will cause boot hang. Rev A does not support SPL, so it is ok to not protect the OCRAM. Signed-off-by:
Ye Li <ye.li@nxp.com> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
Anson Huang authored
With SPL running on OCRAM, when linux suspend, OCRAM will lose power and if partition reboot is started from SPL, system will hang as the OCRAM data lost, so for partition reboot, the CPU boot entry can be set to be from ATF BL31 entry directly, SCFW exposes such API for this scenario. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
Anson Huang authored
Update SCFW APIs to SCFW commit: e7a99eb96207 ("SCF-351: Add API to change boot parms.") Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
Anson Huang authored
With partition reboot enabled, console_list variable which is located in data section is NOT reset, system will be busy looping in early console operation of flush_loop() if console_list is NOT 0 while HW console is NOT initialized, so we have to clear this variable to make partition reboot work. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
Anson Huang authored
For i.MX SoCs with system controller inside, partition reboot is supported, and when reboot, CPU will be reset to ATF entry directly, the data section is NOT reset, console_list variable needs to be initialized to 0 to make it work, otherwise, system will be busy looping in flush_loop(). So expose console_list for i.MX platforms to initialize this variable. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 26 Feb, 2019 1 commit
-
-
Jacky Bai authored
currently MAX_XLAT_TABLE size is not enough for debug build, so enlarge it to make it works. Signed-off-by:
Jacky Bai <ping.bai@nxp.com>
-
- 20 Feb, 2019 1 commit
-
-
Nitin Garg authored
The issue of A53 cluster runtime power ON/OFF has been identified as fifo reset issue, and there is software workaround to avoid such issue and A53 cluster now can be turned OFF. Signed-off-by:
Nitin Garg <nitin.garg@nxp.com> Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 15 Feb, 2019 1 commit
-
-
Anson Huang authored
Update SCFW APIs to SCFW commit: 004247e14afc ("SCF-341 Fix bug in setting large slice clock divider") Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 12 Feb, 2019 2 commits
-
-
Anson Huang authored
GICR_WAKER.ProcessorSleep can only be set to zero when: — GICR_WAKER.Sleep bit[0] == 0. — GICR_WAKER.Quiescent bit[31] == 0. On some platforms, when system reboot with GIC in sleep mode but with power ON, such as on NXP's i.MX8QM, Linux kernel enters suspend but could be requested to reboot, and GIC is in sleep mode and it is inside a power domain which is ON in this scenario, when CPU reset, the GIC driver trys to set CORE's redistributor interface to awake, with GICR_WAKER.Sleep bit[0] and GICR_WAKER.Quiescent bit[31] both set, the ProcessorSleep bit[1] will never be clear and cause system hang. This patch makes sure GICR_WAKER.Sleep bit[0] and GICR_WAKER.Quiescent bit[31] are both zeor before clearing ProcessorSleep bit[1]. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
Haoran.Wang authored
Due imx8qm_mek's UART0_RTS_B and UART0_CTS_0 pad reuse to be the UART2 for base bard which operated by M4_1, so don't touch these two pads in ATF. Signed-off-by:
Haoran.Wang <elven.wang@nxp.com> Acked-by:
Pete Zhang <pete.zhang@nxp.com>
-
- 11 Feb, 2019 2 commits
-
-
Anson Huang authored
Enable IRQ steer wakeup source support for Linux kernel wakeup sources like debug UART wakeup etc.. Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
Ye Li authored
Because the partition reboot won't reload the first level bootloader (SPL), the SPL won't be authenticated. Users can corrupt the SPL image to break the boot trust chain in secure boot if we don't protect that OCRAM area. This patch configures the memory area from 0x0 to 0x118000 only accessed by secure partition (ATF and OPTEE). Non-secure partitions (u-boot and kernel) can't access it. Signed-off-by:
Ye Li <ye.li@nxp.com> (cherry picked from commit 1eff7d3ef6f121782e56bb1807744ede48b8580b)
-
- 10 Feb, 2019 1 commit
-
-
Anson Huang authored
Update SCFW APIs to SCFW commit: 5c03342369e8 ("SCF-105: Change links in wiki index.") Signed-off-by:
Anson Huang <Anson.Huang@nxp.com>
-
- 07 Feb, 2019 5 commits
-
-
Silvano di Ninno authored
If ATF loads OP-TEE, it will pass OP-TEE base address and size to the u-boot through boot information. This will help u-boot update device tree accordingly. Note that u-boot on i.MX 8QxP does not need this information to configure memory mapping. Query to the SC Firmware is used instead. Signed-off-by:
Silvano di Ninno <silvano.dininno@nxp.com> (cherry picked from commit 70c1d422e520f8f1c201a7e4fe22870832240db7)
-
Silvano di Ninno authored
Configure OP-TEE Share memory to be accessible by OS. Signed-off-by:
Silvano di Ninno <silvano.dininno@nxp.com> (cherry picked from commit b2d0c8530c75bb77450372114229cadd8555780b)
-
Silvano di Ninno authored
Fix size of BL32 (currently is 32MB). Signed-off-by:
Silvano di Ninno <silvano.dininno@nxp.com> (cherry picked from commit 5087a9cda77b3c6a5566e4a9520ab476bfe9154a)
-
Silvano di Ninno authored
Reuse Trusty support for OP-TEE Signed-off-by:
Silvano di Ninno <silvano.dininno@nxp.com> (cherry picked from commit a558c8fb87171f4ebcc44bb0b8aa699c989a2a7d)
-
Silvano di Ninno authored
If ATF loads OP-TEE, it will pass OP-TEE base address and size to the u-boot through boot information. This will help u-boot update device tree accordingly. Note that u-boot on i.MX 8QxP does not need this information to configure memory mapping. Query to the SC Firmware is used instead Signed-off-by:
Silvano di Ninno <silvano.dininno@nxp.com> (cherry picked from commit e80fe229192578120a3ba98ae26fd3dbf121538f)
-