@@ -105,14 +105,23 @@ impl TryFrom<u8> for FalconCoreRevSubversion {
105105/// register.
106106#[ repr( u8 ) ]
107107#[ derive( Debug , Default , Copy , Clone ) ]
108+ /// Security mode of the Falcon microprocessor.
109+ ///
110+ /// See `falcon.rst` for more details.
108111pub ( crate ) enum FalconSecurityModel {
109112 /// Non-Secure: runs unsigned code without privileges.
110113 #[ default]
111114 None = 0 ,
112- /// Low-Secure: runs code with some privileges. Can only be entered from `Heavy` mode, which
113- /// will typically validate the LS code through some signature.
115+ /// Light-Secured (LS): Runs signed code with some privileges.
116+ /// Entry into this mode is only possible from 'Heavy-secure' mode, which verifies the code's
117+ /// signature.
118+ ///
119+ /// Also known as Low-Secure, Privilege Level 2 or PL2.
114120 Light = 2 ,
115- /// High-Secure: runs signed code with full privileges. Signature is validated by boot ROM.
121+ /// Heavy-Secured (HS): Runs signed code with full privileges.
122+ /// The code's signature is verified by the Falcon Boot ROM (BROM).
123+ ///
124+ /// Also known as High-Secure, Privilege Level 3 or PL3.
116125 Heavy = 3 ,
117126}
118127impl_from_enum_to_u32 ! ( FalconSecurityModel ) ;
@@ -136,10 +145,13 @@ impl TryFrom<u8> for FalconSecurityModel {
136145}
137146
138147/// Signing algorithm for a given firmware, used in the [`crate::regs::NV_PFALCON2_FALCON_MOD_SEL`]
139- /// register.
148+ /// register. It is passed to the Falcon Boot ROM (BROM) as a parameter.
140149#[ repr( u8 ) ]
141150#[ derive( Debug , Default , Copy , Clone , PartialEq , Eq ) ]
142151pub ( crate ) enum FalconModSelAlgo {
152+ /// AES.
153+ #[ expect( dead_code) ]
154+ Aes = 0 ,
143155 /// RSA3K.
144156 #[ default]
145157 Rsa3k = 1 ,
@@ -209,15 +221,18 @@ pub(crate) enum FalconMem {
209221 Dmem ,
210222}
211223
212- /// Target/source of a DMA transfer to/from falcon memory.
224+ /// Defines the Framebuffer Interface (FBIF) aperture type.
225+ /// This determines the memory type for external memory access during a DMA transfer, which is
226+ /// performed by the Falcon's Framebuffer DMA (FBDMA) engine. See falcon.rst for more details.
213227#[ derive( Debug , Clone , Default ) ]
214228pub ( crate ) enum FalconFbifTarget {
215229 /// VRAM.
216230 #[ default]
231+ /// Local Framebuffer (GPU's VRAM memory).
217232 LocalFb = 0 ,
218- /// Coherent system memory.
233+ /// Coherent system memory (System DRAM) .
219234 CoherentSysmem = 1 ,
220- /// Non-coherent system memory.
235+ /// Non-coherent system memory (System DRAM) .
221236 NoncoherentSysmem = 2 ,
222237}
223238impl_from_enum_to_u32 ! ( FalconFbifTarget ) ;
0 commit comments