Hello, NXP Technical Team
I am writing to inquire about accurately verifying the S32k328 Domain ID.
I am currently using an S32k328 board and HSE Firmware.
- Setup Environment:
I am using the HSE Firmware image s32k358_hse_fw_1.14.0_2.40.0_pb230807.bin.
I am currently in a multi-core state and using RM module(only use XRDC).
- Question:
In the HSE FW RM, the S32k328 Domain ID is set to 2 as shown in the attachment.
dpsdprtmvl_1-1781577003974.png
However, in the S32k328 Block Diagram within the S32k3xx RM, the HSE is set to MDAC3, and the DID (Domain ID) of MDAC3 is output as 3.
dpsdprtmvl_2-1781577150058.png
(1) Register Verification Code:
uint32_t mda[8];
mda[0] = IP_XRDC->MDA_W0_0_DFMT0;
mda[1] = IP_XRDC->MDA_W0_1_DFMT1;
mda[2] = IP_XRDC->MDA_W0_2_DFMT1;
mda[3] = IP_XRDC->MDA_W0_3_DFMT0;
mda[4] = IP_XRDC->MDA_W0_4_DFMT0;
mda[5] = IP_XRDC->MDA_W0_5_DFMT1;
mda[6] = IP_XRDC->MDA_W0_6_DFMT0;
mda[7] = IP_XRDC->MDA_W0_7_DFMT1;
UART_Print("--- MDA Locks ---\n");
for (uint32_t i = 0; i < 8; i++)
{
uint32_t vld = (mda[i] >> 31) & 1U;
uint32_t lk1 = (mda[i] >> 30) & 1U;
uint32_t did = mda[i] & 0x3U;
UART_Print("MDA%lu=0x%lx VLD=%lu DID=%lu LK1=%lu %s\n",(unsigned long)i, (unsigned long)mda[i],(unsigned long)vld, (unsigned long)did, (unsigned long)lk1,lk1 ? "(LOCKED)" : "");
}
(2) Register Value:
MDA0=0x80000000 VLD=1 DID=0 LK1=0
MDA1=0x20000000 VLD=0 DID=0 LK1=0
MDA2=0x20000000 VLD=0 DID=0 LK1=0
MDA3=0xc0000003 VLD=1 DID=3 LK1=1 (LOCKED)
MDA4=0x80000001 VLD=1 DID=1 LK1=0
MDA5=0x20000000 VLD=0 DID=0 LK1=0
What is the correct S32k328 Domain ID?