Exception levels : Linux Booting in general with ATF but not implementing TrustZone. ( V8 )

Hello All,

Below is my scenario that I am planning to use for my board bringup with A72/75 ( V8 ), and have query regarding Exception levels , peripheral access and NS bit . 

I wont be using TrustZone but would be using ATF as its feature rich and meets my requirement / recommendations.

Boot scenario


1. Reset Execution @ EL3  ( Bootroom launches the ATF @ BL1)

2. ATF various stages and finally loads UBOOT at EL2 (Have a query below at this stage )

3. UBOOT loads the Linux Kernel at EL2 or EL1 ( Have a query below ) 

4. Linux kernel executes at EL1 

5. NO  Trusted OS being loaded .



1.  at Point 2 above when UBOOT starts executing , generally does it run at EL2 ? if so then how come it can access all the peripherals which are guarded at with NS bit

As EL2 has only non-secure mode so NS bit would set and so how could uboot code access the peripherals etc ..(I could have made gross error in understanding , please correct me ..)

2. At point 3 above : uboot loads kernel at EL2 or S-EL1 ? or non-Secure EL1 ? 

3. Again in general if we dont have TrustZone being used ( so dont have TEE or Trusted OS ) , then in which  EL mode linux shall be running . As in kernel mode it would need to access the peripheral which are protected with NS BIT ? would it run at S-EL1 ? 

let me know , 


More questions in this forum