| 8962bdd6 | 14-Jan-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8mq): enable dram dvfs support on imx8mq
Enable DRAM DVFS support on i.MX8MQ.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Id72c5eb9625936052ec51e5a52d9d31175ed1b1b |
| ef4e5f0f | 10-Jan-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8m): use non-fast wakeup stop mode for system suspend
Use non-fast wakeup stop mode for system suspend support, so the SOC can enter DSM mode by default.
Signed-off-by: Jacky Bai <ping.bai@
feat(imx8m): use non-fast wakeup stop mode for system suspend
Use non-fast wakeup stop mode for system suspend support, so the SOC can enter DSM mode by default.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I37828d4e66ee2ebd48e7adca054b93c520cb2c82
show more ...
|
| 724ac3e2 | 10-Jan-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8mq): correct the slot ack setting for STOP mode
A53 core's power up ack need to be used when system resume from DSM mode.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I47fb33c058
feat(imx8mq): correct the slot ack setting for STOP mode
A53 core's power up ack need to be used when system resume from DSM mode.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I47fb33c0582ae5f483ffaa887f95e27bd47875f7
show more ...
|
| 387a1df1 | 10-Jan-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8mq): add anamix pll override setting for DSM mode
Add the anamix PLL override setting for DSM mode support, so that the PLL can be power down in DSM mode to save power.
Signed-off-by: Jack
feat(imx8mq): add anamix pll override setting for DSM mode
Add the anamix PLL override setting for DSM mode support, so that the PLL can be power down in DSM mode to save power.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ibe954bc7c4a7b453ace13f8e4b6a335e6d4856c3
show more ...
|
| 88a26465 | 08-Jan-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8mq): add workaround code for ERR11171 on imx8mq
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_G
feat(imx8mq): add workaround code for ERR11171 on imx8mq
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> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I9f17ff6fc3452b8225a50b232964712aafeab78a
show more ...
|
| dd108c3c | 07-Jan-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8mq): add the dram retention support for imx8mq
Add the dram retention support for i.MX8MQ. As there is no enough ocram space available before entering TF-A, so the timing info need to be co
feat(imx8mq): add the dram retention support for imx8mq
Add the dram retention support for i.MX8MQ. As there is no enough ocram space available before entering TF-A, so the timing info need to be copied from dram into ocram.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Id8264c342fd62e297b1969cba5ed505450c78a25
show more ...
|
| 99475c5d | 03-Feb-2021 |
Ye Li <ye.li@nxp.com> |
feat(imx8mq): add version for B2
iMX8MQ B2 chip uses same OCOTP magic value with B1. So read the ROM version to distinguish it with B1.
Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Jacky Bai <
feat(imx8mq): add version for B2
iMX8MQ B2 chip uses same OCOTP magic value with B1. So read the ROM version to distinguish it with B1.
Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I3e6865922deeb66816a0dddb49d986405e802b6f
show more ...
|
| a2655f48 | 20-Dec-2021 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): backup mr12/14 value from lpddr4 chip
Backup the mr12/14 value as the actual value used is not the one we configured in the ddrc config timing.
Signed-off-by: Jacky Bai <ping.bai@nxp.co
fix(imx8m): backup mr12/14 value from lpddr4 chip
Backup the mr12/14 value as the actual value used is not the one we configured in the ddrc config timing.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Change-Id: If04733b34a3b4c080828bb7c82e83f0badbeaafd
show more ...
|
| e00fe11d | 16-Mar-2021 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): add ddr4 dvfs sw workaround for ERR050712
APB Write data corruption following MRCTRL0.mr_wr=1 while hardware-driven MR access is occurring
When performing a software driven MR access, t
fix(imx8m): add ddr4 dvfs sw workaround for ERR050712
APB Write data corruption following MRCTRL0.mr_wr=1 while hardware-driven MR access is occurring
When performing a software driven MR access, the following sequence must be done automatically before performing other APB register accesses:
1. Set MRCTRL0.mr_wr=1 2. Check for MRSTAT.mr_wr_busy=0. If not, go to step (2) 3. Check for MRSTAT.mr_wr_busy=0 again (for the second time), if not, go to step (2).
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Change-Id: Ie26e08bcc83d3ed4844ed04a853162308dcdccd0
show more ...
|
| 0331b1c6 | 08-Sep-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): fix coverity out of bound access issue
Fix the out of bound access to the rank setting array.
Fix Coverity issue:
CID 6474575: Out-of-bounds access (OVERRUN) CID 11014855: Unused value
fix(imx8m): fix coverity out of bound access issue
Fix the out of bound access to the rank setting array.
Fix Coverity issue:
CID 6474575: Out-of-bounds access (OVERRUN) CID 11014855: Unused value (UNUSED_VALUE)
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Change-Id: I5d9ef90f1479e5d46d1b6c8693a27e3abd614766
show more ...
|
| 4bf50192 | 22-Oct-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): fix the dram retention random hang on some imx8mq Rev2.0
It seems the DRAM APB clock root slice can NOT work normally if the PLLs is power down in DSM mode. So update this clock slice's
fix(imx8m): fix the dram retention random hang on some imx8mq Rev2.0
It seems the DRAM APB clock root slice can NOT work normally if the PLLs is power down in DSM mode. So update this clock slice's setting explicitly to make it work. This piece of code is there for a long while on previous release, so just add it back to align with previous flow.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com> Change-Id: I113069494074194e116fdb1229052d2956bf90ea
show more ...
|
| 4234b902 | 19-Oct-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8m): add more dram pll setting
Add DRAM PLL frequency setting for 3200mts & 4000mts.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: I4
feat(imx8m): add more dram pll setting
Add DRAM PLL frequency setting for 3200mts & 4000mts.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: I4b0609f9e7c0f35d75a26ec9ccebec77b3dbe68f
show more ...
|
| 25c43233 | 03-Aug-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): fix the current fsp init
The dfimisc reg value should be shift right 8 bit to get the current fsp.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.
fix(imx8m): fix the current fsp init
The dfimisc reg value should be shift right 8 bit to get the current fsp.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com> Change-Id: I4c8c166bc3ad4cc1376961cbf47631c68b5900cc
show more ...
|
| 33300849 | 08-May-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): fix the rank to rank space issue
update umctl2's setting based on phy training CDD value to workaround the rank-to-rank space issue.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed
fix(imx8m): fix the rank to rank space issue
update umctl2's setting based on phy training CDD value to workaround the rank-to-rank space issue.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: I0fab18cdc378fda760daa0f89c4dd84eb46f7e11
show more ...
|
| ad0cbbf5 | 06-May-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): fix the dfiphymaster setting after dvfs
the dfi phy master setting need to be save/restore to make sure it aligned with the initial config.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> R
fix(imx8m): fix the dfiphymaster setting after dvfs
the dfi phy master setting need to be save/restore to make sure it aligned with the initial config.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: I4f572b9aff9cc47a6c28524ce0fe03cdc66b88a1
show more ...
|
| 0e39488f | 22-Apr-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8m): update the ddr4 dvfs flow to include ddr3l support
the DDR3L & DDR4 can share same piece of code for DDR frequency scaling. So update the ddr4 dvfs flow to support DDR3L too.
Signed-of
feat(imx8m): update the ddr4 dvfs flow to include ddr3l support
the DDR3L & DDR4 can share same piece of code for DDR frequency scaling. So update the ddr4 dvfs flow to support DDR3L too.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: Ifc6981f05ed8a4e399adad97690197a9680f554d
show more ...
|
| 5277c096 | 13-Apr-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): correct the rank info get fro mstr
the bitfield of active_ranks in MSTR is defined as below. Correct the rank num get in dram_info.
0x01: one rank; 0x11: two rank;
Signed-off-by: J
fix(imx8m): correct the rank info get fro mstr
the bitfield of active_ranks in MSTR is defined as below. Correct the rank num get in dram_info.
0x01: one rank; 0x11: two rank;
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: Idcadb39f492a8fe81c973ac4136d9a1eaa32f54b
show more ...
|
| 093888ca | 13-Apr-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8m): fix the ddr4 dvfs random hang on imx8m
Remove the while loop waiting in step12 to align with what we did before, just use a 'if' condition check for debug purpose.
Tested-by: Peng Fan
feat(imx8m): fix the ddr4 dvfs random hang on imx8m
Remove the while loop waiting in step12 to align with what we did before, just use a 'if' condition check for debug purpose.
Tested-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Id2685c5f628270a24944470d675a5c8706f39f13
show more ...
|
| af4d8c6d | 13-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
fix: remove useless "return" at void functions
void functions() returns nothing. So remove useless "return".
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/
fix: remove useless "return" at void functions
void functions() returns nothing. So remove useless "return".
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
Change-Id: I3daab2abec225a657af48f7d8c215cc554713074 Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
show more ...
|
| 4be8c099 | 11-Jan-2023 |
Loic Poulain <loic.poulain@linaro.org> |
perf(imx): speed-up console/uart TX using FIFO
The current putc version test for TXEMPTY bit set (#6) instead of waiting for TXFULL bit clear (#4), that slows the global boot time as we are not taki
perf(imx): speed-up console/uart TX using FIFO
The current putc version test for TXEMPTY bit set (#6) instead of waiting for TXFULL bit clear (#4), that slows the global boot time as we are not taking benefit of the 32-byte FIFO.
We then need to implement the flush function to be sure the transmit is complete (FIFO and shift register empty).
Signed-off-by: Loic Poulain <loic.poulain@linaro.org> Change-Id: I54873a5203e2afdc230e44ce73284e7a80985b4f
show more ...
|
| 601e2d43 | 10-Jan-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "bk/warnings" into integration
* changes: docs: describe the new warning levels build: add -Wunused-const-variable=2 to W=2 build: include -Wextra in generic builds
Merge changes from topic "bk/warnings" into integration
* changes: docs: describe the new warning levels build: add -Wunused-const-variable=2 to W=2 build: include -Wextra in generic builds docs(porting-guide): update a reference fix(st-usb): replace redundant checks with asserts fix(brcm): add braces around bodies of conditionals fix(renesas): align incompatible function pointers fix(zynqmp): remove redundant api_version check fix: remove old-style declarations fix: unify fallthrough annotations
show more ...
|
| 8cfa94b7 | 08-Dec-2022 |
Lucas Stach <l.stach@pengutronix.de> |
feat(imx8mq): add BL31 PIE support
Enable PIE support so the BL31 firmware can be loaded from anywhere within the OCRAM (SRAM). For the PIE support we only need to replace the BL31_BASE define by th
feat(imx8mq): add BL31 PIE support
Enable PIE support so the BL31 firmware can be loaded from anywhere within the OCRAM (SRAM). For the PIE support we only need to replace the BL31_BASE define by the BL31_START symbol which is a relocatable and we need to enable it by setting ENABLE_PIE := 1.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Change-Id: Ie6a13e4ae0fdc6627a94798d7a86df7d5b310896
show more ...
|
| 0445a4ab | 08-Dec-2022 |
Lucas Stach <l.stach@pengutronix.de> |
refactor(imx8mq): introduce BL31_SIZE
No functional change.
Introduce BL31_SIZE define and calculate the limits based on the BL31_BASE and the BL31_SIZE define. Also make use of SZ_64K to make it e
refactor(imx8mq): introduce BL31_SIZE
No functional change.
Introduce BL31_SIZE define and calculate the limits based on the BL31_BASE and the BL31_SIZE define. Also make use of SZ_64K to make it easier to read. This is required for later BL31 PIE support since it drops the calculation based on the BL31_LIMIT and BL31_BASE.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Change-Id: I517074b866b5bf11841b51777f87c926b304488d
show more ...
|
| c0fb8874 | 08-Dec-2022 |
Lucas Stach <l.stach@pengutronix.de> |
refactor(imx8mq): make use of setup_page_tables()
Improve code readability and align with other i.MX8M* platforms.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Change-Id: Ifd29b74872e3a56728
refactor(imx8mq): make use of setup_page_tables()
Improve code readability and align with other i.MX8M* platforms.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Change-Id: Ifd29b74872e3a567288d208de4827403078164e9
show more ...
|
| 36be1086 | 08-Dec-2022 |
Lucas Stach <l.stach@pengutronix.de> |
feat(imx8mq): always set up console
This aligns the i.MX8MQ platform behaviour with the other i.MX8M* platforms by always setting up the console UART.
Signed-off-by: Lucas Stach <l.stach@pengutroni
feat(imx8mq): always set up console
This aligns the i.MX8MQ platform behaviour with the other i.MX8M* platforms by always setting up the console UART.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Change-Id: I1279d9cb4feb6e789422b9844cab711b8daae74e
show more ...
|