I changed the line in the tegra234-firewall-config-base.dtsi file, and tried flashing it using the command:
sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
Then I get the following error: flash_error.txt (43.5 KB)
I am using this command at the Linux_for_Tegra directory that I downloaded from the L4T35.3.1 webpage.
I also tried flashing using the commands:
sudo ./flash.sh -k BCT jetson-agx-orin-devkit mmcblk0p1
sudo ./flash.sh -k A_mb2 jetson-agx-orin-devkit mmcblk0p1
I was able to flash it, but when I try to write to the UART-A reset line, I am getting the same firewall error.
Update: I am also unable to write to the clock enable registers for UART-A, but I am able to read from it.
There are the standard files that I got, when extracting the source files from the zip file, i.e. ‘boot’ folder, etc, README.txt. The README.txt file says:
Download and extract the sample filesystem to this directory
No, I couldn’t do that. Is it because the location of the Linux_for_Tegra I am working in is at a different location from where the SDK manager was installed? But I am able to flash the modified version of OP-TEE at the present working location itself.
I downloaded the driver files, and tried again. I am able to extract it completely.
Is there any other method, or documentation that you can suggest for resolving the issue? Is there any other technical document other than Orin SoC manual, and L4T documentation, that could give me a better idea about the problem, and how to resolve it?
I want to communicate with UART-A port through secure world only, which is connected to another device.
Is it possible that the firewall error I am getting is because I am writing to the CAR registers from the main CPU (CCPLEX), but not via BPMP? If this is the case, could you please point out resources for how to communicate with BPMP processor to write to the CAR registers. In the Boot and Power Management section of the Orin SoC Technical Reference Manual, I see that:
The BPMP processor runs NVIDIA supplied software and is controlled through a NVIDIA API.
Details of the hardware programming interface are not supplied in this document.
Also, I see that in the Clock and Reset Controller(CAR) sub-section of System Components section:
For Orin, clocks and resets are controlled by NVIDIA provided firmware running on BPMP.
The hardware interface to the clock and reset controls is not documented, and the software
documentation should be consulted for details of how these functions are controlled.
Update: The TIMEOUT ERR is due to the UART clock not being initialized, or the reset line not being de-asserted before writing to the UART registers.
I am able to write to the UART registers from the Trusted OS (OP-TEE) by initializing the UART clock for port-A, and de-asserting the reset line before writing to the registers.