linux-yocto/arch/arm/mach-at91
Li Bin d8e57904dc ARM: at91: pm: fix at91_suspend_finish for ZQ calibration
[ Upstream commit bc4722c359 ]

For sama7g5 and sama7d65 backup mode, we encountered a "ZQ calibrate error"
during recalibrating the impedance in BootStrap.
We found that the impedance value saved in at91_suspend_finish() before
the DDR entered self-refresh mode did not match the resistor values. The
ZDATA field in the DDR3PHY_ZQ0CR0 register uses a modified gray code to
select the different impedance setting.
But these gray code are incorrect, a workaournd from design team fixed the
bug in the calibration logic. The ZDATA contains four independent impedance
elements, but the algorithm combined the four elements into one. The elements
were fixed using properly shifted offsets.

Signed-off-by: Li Bin <bin.li@microchip.com>
[nicolas.ferre@microchip.com: fix indentation and combine 2 patches]
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Tested-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Tested-by: Durai Manickam KR <durai.manickamkr@microchip.com>
Tested-by: Andrei Simion <andrei.simion@microchip.com>
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/28b33f9bcd0ca60ceba032969fe054d38f2b9577.1740671156.git.Ryan.Wanner@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-04 14:42:03 +02:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
at91rm9200.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
at91sam9.c ARM: at91: pm: move SAM9X60's PM under its own SoC config flag 2019-12-10 00:44:53 +01:00
generic.h ARM: at91: pm: add pm support for SAMA7G5 2021-07-19 14:32:13 +02:00
Kconfig memory: atmel-sdramc: remove the driver 2023-06-02 10:39:24 +02:00
Makefile ARM: 9263/1: use .arch directives instead of assembler command line flags 2022-11-08 18:36:17 +00:00
pm_data-offsets.c ARM: at91: pm: add self-refresh support for sama7g5 2021-07-19 14:32:12 +02:00
pm_suspend.S ARM updates for 6.2 2022-12-13 15:22:14 -08:00
pm.c ARM: at91: pm: fix at91_suspend_finish for ZQ calibration 2025-06-04 14:42:03 +02:00
pm.h ARM: at91: pm: add support for 2.5V LDO regulator control 2021-07-19 14:32:12 +02:00
sam_secure.c ARM: at91: add sam_linux_is_optee_available() function 2022-07-20 11:03:45 +03:00
sam_secure.h ARM: at91: add sam_linux_is_optee_available() function 2022-07-20 11:03:45 +03:00
sam9x60.c ARM: at91: pm: move SAM9X60's PM under its own SoC config flag 2019-12-10 00:44:53 +01:00
sama5.c ARM: at91: fix build for SAMA5D3 w/o L2 cache 2022-11-24 12:50:07 +02:00
sama7.c ARM: at91: pm: add pm support for SAMA7G5 2021-07-19 14:32:13 +02:00
samv7.c ARM: at91: Explicitly include correct DT includes 2023-07-29 16:56:04 +03:00