| 68f132b8 | 21-Nov-2022 |
Ye Li <ye.li@nxp.com> |
fix(imx8ulp): fix suspend/resume issue when DBD owner is s400 only
After resume from APD power down, XRDC is initialized by S400 but the PAC2 and MSC0-2 are not configured, so only DBD owner can acc
fix(imx8ulp): fix suspend/resume issue when DBD owner is s400 only
After resume from APD power down, XRDC is initialized by S400 but the PAC2 and MSC0-2 are not configured, so only DBD owner can access the resources.
We have to move GPIO restore after TFA XRDC reinit and configure PDAC for PCC5 before enabling eDMA2 MP clock
Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I82748de080151b0bdf1cace092b7892a1e402a27
show more ...
|
| d159c005 | 15-Mar-2023 |
Ye Li <ye.li@nxp.com> |
feat(imx8ulp): update XRDC for ELE to access DDR with CA35 DID
In order to isolate application memories, ELE FW introduces a new policy which mimics the requestor attributes (DID, TZ). So ELE config
feat(imx8ulp): update XRDC for ELE to access DDR with CA35 DID
In order to isolate application memories, ELE FW introduces a new policy which mimics the requestor attributes (DID, TZ). So ELE configures SCM to access to external memory with CA35 DID when CA35 request something from ELE.
Because ELE accesses DDR through NIC_LPAV, the XRDC MRC6 must be configured for CA35 DID 7 to authorize the access.
Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I9e91a1b2798e8d15127d1bfa9aa0ffc612fd8981
show more ...
|
| 5fd06421 | 06-Sep-2022 |
Ji Luo <ji.luo@nxp.com> |
feat(imx8ulp): add memory region policy
set the memory region policy for secure heap(0xA9600000 ~ 0xAF600000), it can only be RWX by secure master. At the same time, restrict G2D and DCnano(domain 3
feat(imx8ulp): add memory region policy
set the memory region policy for secure heap(0xA9600000 ~ 0xAF600000), it can only be RWX by secure master. At the same time, restrict G2D and DCnano(domain 3) to write non-secure memory when they are set as secure master.
Signed-off-by: Ji Luo <ji.luo@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: If53e130eaeb1ac867ee56e4af04e3be29dec9857
show more ...
|
| ff5e1793 | 15-Dec-2021 |
Ye Li <ye.li@nxp.com> |
feat(imx8ulp): protect TEE region for secure access only
Using XRDC MRC4/5/6 to restrict the secure access for TEE DDR memory to protect TEE.
Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng
feat(imx8ulp): protect TEE region for secure access only
Using XRDC MRC4/5/6 to restrict the secure access for TEE DDR memory to protect TEE.
Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ic161df6a98ded23b9a74d552717fc5dcc1ee2ae8
show more ...
|
| e8530419 | 18-Jun-2021 |
Ji Luo <ji.luo@nxp.com> |
feat(imx8ulp): add trusty support
Support trusty on imx8ulp.
Signed-off-by: Ji Luo <ji.luo@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I7ada2557023e271a721d50bfe7fd20b5f01cb128 |
| e7b82a7d | 14-Jun-2021 |
Clement Faure <clement.faure@nxp.com> |
feat(imx8ulp): add OPTEE support
Add opteed support for imx8ulp.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Iddf6f164b7146332e99de42
feat(imx8ulp): add OPTEE support
Add opteed support for imx8ulp.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Iddf6f164b7146332e99de42fcbbf9c892eb1d994
show more ...
|
| 36af80c2 | 20-Oct-2021 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): update the upower config for power optimization
Enable the AFBB by default for active mode when APD side wakeup from low power mode to align with the first time boot up.
Update the p
feat(imx8ulp): update the upower config for power optimization
Enable the AFBB by default for active mode when APD side wakeup from low power mode to align with the first time boot up.
Update the power mode configs to force shutdown all the necessary power switches to optimize the power consumption.
To reduce the pad power consumption, put all the pad into OFF mode to save more power. the PTD's compensation should also be disabled in low power mode to save more power.
when APD enters PD mode, the LDO1(used by DDR) can be shutdown to save power. when APD enters DPD mode, the BUCK3(supply for APD/LPAV) can be shutdown to save power.
In single boot mode, When APD enters DPD mode, buck3 will shutdown, LDO1 should be off to save more power as the DDR controller has lost power.
In dualboot mode, the LPAV is owned by RTD side. When APD enters low power mode, APD side should not config those PMIC regulators that used by the resource owned by RTD side.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ie5e9b428f85345b81744313a8fb93bfc27e0dd71
show more ...
|
| ea1f7a2e | 21-Nov-2022 |
Ye Li <ye.li@nxp.com> |
feat(imx8ulp): allow RTD to reset APD through MU
Clear HRM bit in MU0_B CCR0 register to allow RTD to reset APD. The action needs at both ATF init and APD resume.
Signed-off-by: Ye Li <ye.li@nxp.co
feat(imx8ulp): allow RTD to reset APD through MU
Clear HRM bit in MU0_B CCR0 register to allow RTD to reset APD. The action needs at both ATF init and APD resume.
Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I2475e34b13f57818580a478ab567bfb9fc6cf174
show more ...
|
| ab787dba | 22-Dec-2021 |
Ye Li <ye.li@nxp.com> |
feat(imx8ulp): not power off LPAV PD when LPAV owner is RTD
Upower will check the LPAV ownership when power off the SRAM or PS. if the LPAV owner is not APD, then the power off will return failure.
feat(imx8ulp): not power off LPAV PD when LPAV owner is RTD
Upower will check the LPAV ownership when power off the SRAM or PS. if the LPAV owner is not APD, then the power off will return failure. Add similar checking in SCMI PD driver to skip the power off to avoid failure print causing suspend/resume not work.
Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Change-Id: I9dc657c2277129ac90a792232f734c08fca5f997
show more ...
|
| 891c547e | 18-Sep-2023 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): add system power off support
On i.MX8ULP, we need to use the APD deep power down(DPD) mode to support the system power off function. when APD enter power off mode, only the RTD can re
feat(imx8ulp): add system power off support
On i.MX8ULP, we need to use the APD deep power down(DPD) mode to support the system power off function. when APD enter power off mode, only the RTD can re-kick it and boot from ROM.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Change-Id: Ifb42db0a7cf87b932160c59b47eca4d0f08f8cdf
show more ...
|
| 478af8d3 | 25-Jun-2021 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): add APD power down mode(PD) support in system suspend
The APD can be put into PD mode when linux suspend(mem). This patch add the support for it. As the whole AP domain's context will
feat(imx8ulp): add APD power down mode(PD) support in system suspend
The APD can be put into PD mode when linux suspend(mem). This patch add the support for it. As the whole AP domain's context will be lost, so we must save the necessary HW module states before entering PD mode, and we need to restore those contexts when system wake up. Fot details about which HW module's state will be lost, please refer to the RM.
When APD enter PD mode, only the wakeup event connected to the WUU can wakeup APD successfully. The upower wakeup source is used to wakeup APD by RTD due to the factor that the MU between A core & M core is not connected into WUU to generate wakeup event.
as the SRAM0 will be power down when APD enters PD mode, so we need to re-init the scmi channels(resides in the SRAM0). otherwise the SCMI can NOT work anymore.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Change-Id: I44b0cdc8397e5d6a82081ea6746542e9fa4b9fc1
show more ...
|
| daa4478a | 18-Sep-2023 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): add the basic support for idle & system suspned
Add basic support for the cpuidle(cluster retention) and system suspend support using the HW sleep mode.
When system enter low power m
feat(imx8ulp): add the basic support for idle & system suspned
Add basic support for the cpuidle(cluster retention) and system suspend support using the HW sleep mode.
When system enter low power mode after doing reboot twice, APD will be failed to exit from low power mode successfully. it is because that after secondary reboot, upower will modify the default power switch config, then DDR will be off wrongly. So config the low power mode info explicitly before APD entering any low power mode.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ib68bfdfd4b925541e343aef4a5296a542451f86b
show more ...
|
| bcca70b9 | 27-Jul-2021 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): enable 512KB cache after resume on imx8ulp
The L2 cache size config will be reset to default 256KB, So we need to switch to 512KB after resume to make sure the L2 cache size is same a
feat(imx8ulp): enable 512KB cache after resume on imx8ulp
The L2 cache size config will be reset to default 256KB, So we need to switch to 512KB after resume to make sure the L2 cache size is same as before suspend.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Change-Id: Ifd9b3e01829fbd7b1ae4ba00611359330f1a4f83
show more ...
|
| ac5d69b6 | 21-Sep-2023 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): add the initial XRDC support
Add the initial xRDC support on i.MX8ULP.
Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.
feat(imx8ulp): add the initial XRDC support
Add the initial xRDC support on i.MX8ULP.
Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I93ea8e2cebb049e6f20e71cfe50c7583a3228f38
show more ...
|
| 7c5eedca | 04-Aug-2021 |
Pankaj Gupta <pankaj.gupta@nxp.com> |
feat(imx8ulp): allocated caam did for the non secure world
JR1, JR2 and JR3 are available for use by the non secure world. Setup the A35 core DID for these job rings.
Signed-off-by: Varun Sethi <v.
feat(imx8ulp): allocated caam did for the non secure world
JR1, JR2 and JR3 are available for use by the non secure world. Setup the A35 core DID for these job rings.
Signed-off-by: Varun Sethi <v.sethi@nxp.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: If64d4ce11ebff49a2405d8b561b344fcd7b2614f
show more ...
|
| fcd41e86 | 02-Jul-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8ulp): add i.MX8ULP basic support
Add the basic support for i.MX8ULP.
The i.MX 8ULP family of processors features NXP’s advanced implementation of the dual Arm Cortex-A35 cores alongside an
feat(imx8ulp): add i.MX8ULP basic support
Add the basic support for i.MX8ULP.
The i.MX 8ULP family of processors features NXP’s advanced implementation of the dual Arm Cortex-A35 cores alongside an Arm Cortex-M33. This combined architecture enables the device to run a rich operating system (such as Linux) on the Cortex-A35 core and an RTOS (such as FreeRTOS) on the Cortex-M33 core. It also includes a Cadence Tensilica Fusion DSP for low-power audio and a HiFi4 DSP for advanced audio and machine learning applications.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I12df622b95960bcdf7da52e4c66470a700690e36
show more ...
|
| 0d6b4cdb | 08-Oct-2023 |
Jacky Bai <ping.bai@nxp.com> |
build(changelog): add new scopes for nxp imx8ulp platform
Add new scopes for NXP i.MX8ULP SoC family.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I2fa646fdfa8040ee8142f48e1dfad6f42812d576 |
| e63819f2 | 21-Sep-2023 |
Jacky Bai <ping.bai@nxp.com> |
feat(scmi): add scmi sensor support
LF-4715-1 drivers: scmi-msg: add sensor support
Add scmi sensor support
Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> C
feat(scmi): add scmi sensor support
LF-4715-1 drivers: scmi-msg: add sensor support
Add scmi sensor support
Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I810e270b138bf5486b32df121056bfa5103c129f
show more ...
|
| 96a5f876 | 27-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): reorder config variable defines
They are very scattered, hard to read, and especially hard to track down. As a result some are duplicate and some are overridden in the downstream as it
refactor(tc): reorder config variable defines
They are very scattered, hard to read, and especially hard to track down. As a result some are duplicate and some are overridden in the downstream as it's simpler.
Put all variables at the top of the platform makefile. Also drop setting variables that don't change from their default values (CTX_INCLUDE_EL2_REGS, ARCH, ENABLE_FEAT_RAS, SDEI_SUPPORT, EL3_EXCEPTION_HANDLING, HANDLE_EA_EL3_FIRST_NS, ENABLE_SPE_FOR_NS).
While we're at it, add some variables that are necessary. SPMD requires MTE registers to be saved, BRANCH_PROTECTION, as well as running at SEL2. All of our CPUs are Armv8.7 compliant so we can have ARM_ARCH_MINOR=7 (and drop ENABLE_TRF_FOR_NS which it includes).
Finally, drop the override directives as there's no reason to prohibit experimentation (even if incorrect).
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I6ac596934952aab8abf5d4db5220e13a4941a10c
show more ...
|
| 6dacc272 | 04-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): correlate secure world addresses with platform_def
Similarly to the memory node in the NS device tree, platform_def already defines all the necessary values to populate the spmc manife
refactor(tc): correlate secure world addresses with platform_def
Similarly to the memory node in the NS device tree, platform_def already defines all the necessary values to populate the spmc manifest and NS related entries automatically. Use the macros directly so any changes can propagate automatically.
The result of this is that TC3 and above get correct secure world manifests automatically. They were previously broken.
One "breaking" change is that the FWU region moves. This should have happened previously but it was missed when the secure portion of DRAM was increased, leaving it in secure memory. This was caught when going over the definitions and correlating them should prevent this in the future.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I1415e402be8c70f5e22f28eabddcb53298c57a11
show more ...
|
| d585aa16 | 28-Sep-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): move DTB to start of DRAM
Now that tf-a passes the DTB address to BL33, its location doesn't matter. Since we declare a fixed size for it (32K) put it at the start of ram to not fragme
refactor(tc): move DTB to start of DRAM
Now that tf-a passes the DTB address to BL33, its location doesn't matter. Since we declare a fixed size for it (32K) put it at the start of ram to not fragment memory. This has the added benefit of "supporting" larger kernel sizes which are breaking with the current location.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ib0e4e5cf780bd58a49a34d72085b0a0914c340ed
show more ...
|
| 5ee4deb8 | 04-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): add memory node in the device tree
With new TC revisions, memory banks move around which requires an update in platform_def. It also requires an update in the device tree which doesn't com
feat(tc): add memory node in the device tree
With new TC revisions, memory banks move around which requires an update in platform_def. It also requires an update in the device tree which doesn't come naturally. To avoid this, add the memory node such that it uses the macros defined in platform_def.
By doing this we can put u-boot out of its misery in trying to come up with the correct memory node and tf-a's device tree becomes complete.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ia92cc6931abb12be2856ac3fb1455e4f3005b326
show more ...
|
| 638e4a92 | 29-Nov-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): pass the DTB address to BL33 in R0
The DTB that tf-a loads is already used in BL33 directly with the address hardcoded. As this address is prone to changing, pass it forward so we can avoi
feat(tc): pass the DTB address to BL33 in R0
The DTB that tf-a loads is already used in BL33 directly with the address hardcoded. As this address is prone to changing, pass it forward so we can avoid breakage in the future.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I7a42f72ecc00814b9f0a4bf5605d70cb53ce2ff4
show more ...
|
| 4fc4e9c9 | 28-Nov-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): add arm_ffa node in dts
For u-boot to use the device tree itself it needs to know about the arm_ffa module. This is not relevant to linux but it doesn't hurt as it won't use it.
Signed-of
feat(tc): add arm_ffa node in dts
For u-boot to use the device tree itself it needs to know about the arm_ffa module. This is not relevant to linux but it doesn't hurt as it won't use it.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I6e75659e4950c62ce7377dc7941225eb5d7a3d8d
show more ...
|
| bafedcbe | 11-Dec-2023 |
Ben Horgan <ben.horgan@arm.com> |
chore(tc): add dummy entropy to speed up the Linux boot
If the kernel is post 5.19 and is configured with CONFIG_RANDOM_TRUST_BOOTLOADER=y then entropy can be passed to Linux via the device tree. Th
chore(tc): add dummy entropy to speed up the Linux boot
If the kernel is post 5.19 and is configured with CONFIG_RANDOM_TRUST_BOOTLOADER=y then entropy can be passed to Linux via the device tree. This avoids delaying the Linux boot waiting for entropy. This is particularly noticeable when booting android but also speeds up the generation of the ssl certificates.
Signed-off-by: Ben Horgan <ben.horgan@arm.com> Change-Id: I4c6136c54f0e971802a2a9de9f88cd32b610dce9
show more ...
|