arm-trusted-firmware/include/drivers
Nicolas Le Bayon d596023bff refactor(st-ddr): create generic services
Disabling AXI port, enabling host interface and both enabling/disabling
software self-refresh services are already present inside the driver
source code.
Factorize by gathering them as services inside the generic part,
and adapt driver to call these new functions.

Add services to manage quasi-dynamic registers. DDRCTRL contains
quasi-dynamic registers, which are dynamic only under some conditions
defined by the user guide (with 4 groups).
In our driver, out of reset state, only groups 3 and 4 are updated.
Group 4 needs only sw_done/sw_done_ack sequence, already available.
Group 3 sequence include more conditions, that are gathered in
specific services. stm32mp_ddr_disable_host_interface() has been added
to do this.

Add dedicated generic service to toggle rfshctl3.refresh_update_level
and wait for completion.

Manage AXI ports and HIF when updating QD3 registers. Quasi-dynamic
group 3 (QD3) registers are updated when DDR is not completely
initialized, i.e. when AXI ports are not enabled and possibly when
host interface (HIF) is not enabled too.
In that case, a specific mechanism is necessary to restore the same
conditions as before accessing QD3 registers.
Static functions have been added to get AXI ports and HIF states and
are used to determine the needed conditions to set/unset.

Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Change-Id: I880f88b1cb6fc76199ad9ea33e9d63a5c469aed4
2024-10-02 18:27:36 +02:00
..
allwinner feat(allwinner): allow to skip PMIC regulator setup 2021-12-27 15:32:22 +00:00
amlogic meson: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
arm fix(gicv3): fix GITS_CTLR.Quiescent bit definition 2024-09-06 23:26:40 +02:00
auth chore(mbedtls): remove hash configs 2024-09-04 10:55:15 +02:00
brcm fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
cadence fix(intel): remove redundant BIT_32 macro 2024-06-26 19:54:48 +03:00
cfi Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
coreboot coreboot: Use generic base address 2020-02-25 09:34:38 +00:00
fwu style(fwu): change the metadata fields to align with specification 2024-03-01 14:40:05 +05:30
io chore(io): remove io_dummy driver 2023-04-28 15:45:43 +02:00
marvell fix(plat/marvell/a3720/uart): do external reset during initialization 2021-12-02 17:38:02 +01:00
measured_boot refactor: digest sizes 2024-09-30 16:05:54 -07:00
mentor Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
nuvoton/npcm845x feat(nuvoton): added support for npcm845x chip 2023-07-26 08:14:45 +03:00
nxp refactor: digest sizes 2024-09-30 16:05:54 -07:00
partition refactor(guid-partition): list.entry_count to unsigned int 2024-03-18 11:46:00 -05:00
rambus drivers/rambus: add TRNG-IP-76 driver 2021-02-11 09:43:18 +00:00
renesas/rcar/console rcar: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
rpi3 refactor(rpi): move register definitions out of rpi_hw.h 2024-03-08 20:57:13 +02:00
st refactor(st-ddr): create generic services 2024-10-02 18:27:36 +02:00
synopsys drivers: synopsys: Fix synopsys MMC driver 2019-03-12 14:39:50 +08:00
ti/uart 16550: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
clk.h feat(clk): add set_rate callback 2024-06-18 17:18:31 +03:00
console.h refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
console_assertions.h refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
delay_timer.h delay: correct timeout_init_us() 2019-10-08 11:13:06 +02:00
dw_ufs.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
generic_delay_timer.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
gpio.h refactor(plat/rockchip/rk3399/drivers/gpio): reduce code duplication 2022-01-04 15:26:43 +01:00
mmc.h feat(mmc): get boot partition size 2022-09-07 09:36:48 +02:00
nand.h feat(mtd): add platform function to allow using external buffer 2022-08-30 09:20:20 +02:00
raw_nand.h nand: raw_nand: fix timeout issue in nand_wait_ready 2020-09-24 09:32:23 +02:00
scmi-msg.h fix(scmi): add parameter for plat_scmi_clock_rates_array 2023-08-21 19:46:52 +08:00
scmi.h drivers: move scmi-msg out of st 2021-01-20 11:37:14 +08:00
spi_mem.h Add SPI-MEM framework 2020-01-20 11:32:59 +01:00
spi_nand.h fix(spi-nand): add Quad Enable management 2023-05-31 18:03:28 +02:00
spi_nor.h Add SPI-NOR framework 2020-01-20 11:32:59 +01:00
ufs.h feat(ufs): adds timeout and error handling 2023-03-15 09:53:12 +00:00
usb_device.h fix(usb): add missing include 2024-02-05 09:24:54 +01:00