[PATCH 00/23] Add i.MX8ULP A1 revision support

Ye Li
2023-01-31T08:43:15Z

The patch set is used to support i.MX8ULP A1 revision.
It includes below changes:
a) XRDC/TRDC are enabled by default on A1 via DBD_EN fuse programmed.
So necessary changes for XRDC setting are added. And TRDC is totally
moved to RTD. A handshake is added to sync with RTD for the XRDC and TRDC
setting completion.
b) S400 API update and fuse update
c) DDR timing and driver update
d) clock setting update to match max rate restriction
e) uPower API update and code clean

Jacky Bai (2):
ddr: imx: Update the ddr init flow on imx8ulp
imx8ulp_evk: Update the DDR timing

Peng Fan (3):
imx: imx8ulp: upower: replace magic number with macro
imx: imx8ulp: upower: make code cleaner
imx8ulp_evk: disable overflow of port0 for LPAV

Ye Li (18):
imx: imx8ulp: Fix MU device probe failure
imx: imx8ulp: Get chip revision from Sentinel
imx: imx8ulp: Limit the eMMC ROM API workaround to A0.1 part
imx: imx8ulp: Set XRDC MRC4/5 for access DDR from APD
imx: imx8ulp: Remove the TRDC configure from A35
imx: imx8ulp: Adjust handshake to sync TRDC and XRDC completion
imx: imx8ulp: configure XRDC for DRAM access from S400
ddr: imx8ulp: Change DRAM timing save area to 0x20055000
imx: imx8ulp: Reconfigure MRC3 for SRAM0 access
imx: imx8ulp: Clear dividers in PLL3DIV_PFD registers
imx: imx8ulp: Configure XRDC PDAC and MSC for DBD owner=S400 only
imx: imx8ulp: Update clocks to meet max rate restrictions
imx: sentinel: Update S400 API get info message structure
misc: fuse: Update fuse mapping for 8ULP S400 API
misc: fuse: Lock 8ULP ECC-protected fuse when programming
imx8ulp_evk: Change to use DDR driver
imx8ulp_evk: Update DDR ports arbitration for DCNANO underrun
imx8ulp_evk: Clear data at fdt_addr_r before booting kernel

arch/arm/include/asm/arch-imx8ulp/imx-regs.h | 1 +
arch/arm/include/asm/arch-imx8ulp/rdc.h | 1 +
arch/arm/include/asm/arch-imx8ulp/sys_proto.h | 2 +
arch/arm/include/asm/global_data.h | 3 +
arch/arm/include/asm/mach-imx/s400_api.h | 2 +
arch/arm/mach-imx/imx8ulp/Kconfig | 1 +
arch/arm/mach-imx/imx8ulp/cgc.c | 70 ++++----
arch/arm/mach-imx/imx8ulp/clock.c | 50 +++---
arch/arm/mach-imx/imx8ulp/rdc.c | 71 ++++++++
arch/arm/mach-imx/imx8ulp/soc.c | 208 ++++++++++++++++++-----
arch/arm/mach-imx/imx8ulp/upower/upower_hal.c | 112 +++++++++++--
board/freescale/imx8ulp_evk/Makefile | 2 +-
board/freescale/imx8ulp_evk/ddr_init.c | 207 -----------------------
board/freescale/imx8ulp_evk/imx8ulp_evk.c | 16 +-
board/freescale/imx8ulp_evk/lpddr4_timing.c | 210 ++++++++++++------------
board/freescale/imx8ulp_evk/lpddr4_timing_266.c | 6 +-
board/freescale/imx8ulp_evk/spl.c | 18 +-
drivers/ddr/imx/imx8ulp/Kconfig | 2 +-
drivers/ddr/imx/imx8ulp/ddr_init.c | 55 +++++--
drivers/misc/sentinel/fuse.c | 32 +++-
20 files changed, 605 insertions(+), 464 deletions(-)
delete mode 100644 board/freescale/imx8ulp_evk/ddr_init.c

--
2.7.4