Hi TI,
I have some questions about the firewall concept for TDA4VM:
As far as I have understood, there are two possibilities to set up a firewall:
1) U-Boot, which is currently not supported (see also this thread https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1004837/tda4vm-how-to-apply-j721e_firewall_data-c-file-to-boot-process)
2) In the application itself (There es a demo app in PDK called sciclient_fw_testapp which shows the concept of firewalls)
For getting the appropriate firewall settings, I can use the k3-respart-tool, which has a dedicated section about configuring firewalls. Here I need some additional clarification. Lets assume, I want to configure a firewall for PCIe. So I choose "Device to be protected" in k3-respart-tool as "PCIE Main". This sets up all the firewall IDs (fwl_id), which are needed for the 4 PCIe slots of TDA4VM (i.e. 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2560, 2561, 2562, 2563). Additionally, the start address is set to 0x000002900000 (which corresponds to PCIE0_CORE_PCIE_INTD_CFG_INTD_CFG register) and the end address is set to 0x004417FFFFFF (which corresponds to PCIE3_DAT0 register).
Q1: Does that mean, that the whole memory region from 0x000002900000 - 0x004417FFFFFF is firewalled? It makes sense, that these are the boundaries of the firewall region, but there are other registers included here as well, which are then not accessible anymore from another core?
Q2: What is the purpose of Firewall IDs (fwl_id)? Are these only needed to give an appropriate error message when trying to access the register defined with start and end address?
Q3: I only want to secure the data registers of PCIe. So do I only have to set the start and end address to the correct registers? Do I have to do this for all fwl_id of PCIe?
Thanks for your help and best regards,
Felix