
Hi Horia,
On 21.03.2019 12:36, Horia Geanta wrote:
On 3/20/2019 4:31 PM, laurentiu.tudor@nxp.com wrote:
+struct icid_id_table icid_tbl[] = {
- SET_SDHC_ICID(FSL_SDMMC_STREAM_ID),
- SET_USB_ICID(1, "snps,dwc3", FSL_USB1_STREAM_ID),
- SET_USB_ICID(2, "snps,dwc3", FSL_USB2_STREAM_ID),
- SET_SATA_ICID(1, "fsl,ls1088a-ahci", FSL_SATA1_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(0, FSL_SEC_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(1, FSL_SEC_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(2, FSL_SEC_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(3, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(0, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(1, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(2, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(3, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(0, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(1, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(2, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(3, FSL_SEC_STREAM_ID),
+};
A single ICID is allocated to all SEC sub-blocks able to initiate transactions. I think at least the job rings should have different ICIDs, while the rest could share another ICID.
Actually let me take back my statement on the scarcity of the ICIDs. I just noticed that in the allocation of the ICIDs we actually use just 64 [1] out of the total 128 available. I don't know why we do that, perhaps it a legacy left over but anyway I've tested SEC with ICIDs > 63 and tests passed. In conclusion I'll update the ICID allocation for SEC in the following spin.
[1] http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/include/asm/arch-fsl-laye...
--- Best Regards, Laurentiu