94typedef enum : uintptr_t {
107typedef enum : uint16_t {
166typedef enum : uint16_t {
187typedef enum : uint32_t {
223typedef enum : uint32_t {
254typedef enum : uint32_t {
281typedef enum : uint32_t {
340typedef enum : uint32_t {
391typedef enum : uint32_t {
428typedef enum : uint8_t {
457typedef enum : uint8_t {
478typedef enum : uint8_t {
493typedef enum : uint8_t {
516typedef enum : uint16_t {
538typedef enum : uint8_t {
575typedef enum : uint8_t {
599typedef enum : uint32_t {
624typedef enum : uint8_t {
639typedef enum : uint16_t {
662typedef enum : uint8_t {
676typedef enum : uint32_t {
689typedef enum : uint8_t {
Annotation-attribute framework macros for ra8-firmware.
#define RA8_HW_REGISTER_ACCESS
Mark an MMIO accessor function (returns volatile register pointer).
ra8_drw_off_t
Absolute register offsets inside the DRW window.
@ k_ra8_drw_off_color1
W: Base color RGBA.
@ k_ra8_drw_off_origin
W: Framebuffer base address.
@ k_ra8_drw_off_l6start
W: Limiter 6 start.
@ k_ra8_drw_off_l1start
W: Limiter 1 start.
@ k_ra8_drw_off_texpitch
W: Texels per texture line.
@ k_ra8_drw_off_color2
W: Secondary color RGBA.
@ k_ra8_drw_off_l3xadd
W: Limiter 3 X-axis increment.
@ k_ra8_drw_off_lvxaddi
W: V limiter X integer.
@ k_ra8_drw_off_l1yadd
W: Limiter 1 Y-axis increment.
@ k_ra8_drw_off_dbwer
RW: DRW bufferable write en.
@ k_ra8_drw_off_l4yadd
W: Limiter 4 Y-axis increment.
@ k_ra8_drw_off_pattern
W: Pattern bitmap.
@ k_ra8_drw_off_l5yadd
W: Limiter 5 Y-axis increment.
@ k_ra8_drw_off_l6xadd
W: Limiter 6 X-axis increment.
@ k_ra8_drw_off_lvyaddi
W: V limiter Y integer.
@ k_ra8_drw_off_irqctl
W: Interrupt control.
@ k_ra8_drw_off_hwrevision
R: HW revision (alias).
@ k_ra8_drw_off_status
R: Engine status (alias).
@ k_ra8_drw_off_texcldata
W: CLUT entry data.
@ k_ra8_drw_off_lvstarti
W: V limiter start integer.
@ k_ra8_drw_off_luyadd
W: U limiter Y increment.
@ k_ra8_drw_off_l4start
W: Limiter 4 start.
@ k_ra8_drw_off_l1band
W: Limiter 1 band width.
@ k_ra8_drw_off_texcloffset
W: CLUT index offset.
@ k_ra8_drw_off_cachectl
W: Cache enable / flush.
@ k_ra8_drw_off_perfcount2
RW: Performance counter 2.
@ k_ra8_drw_off_l3start
W: Limiter 3 start.
@ k_ra8_drw_off_texorigin
W: Texture base address.
@ k_ra8_drw_off_size
W: Bounding box (W,H).
@ k_ra8_drw_off_dliststart
W: Display list start address.
@ k_ra8_drw_off_texcladdr
W: CLUT start address.
@ k_ra8_drw_off_control
W: Geometry control.
@ k_ra8_drw_off_lvstartf
W: V limiter start fraction.
@ k_ra8_drw_off_l2xadd
W: Limiter 2 X-axis increment.
@ k_ra8_drw_off_lvyxaddf
W: V limiter X/Y fraction.
@ k_ra8_drw_off_l2yadd
W: Limiter 2 Y-axis increment.
@ k_ra8_drw_off_texmask
W: Texture U/V mask.
@ k_ra8_drw_off_l2band
W: Limiter 2 band width.
@ k_ra8_drw_off_l5xadd
W: Limiter 5 X-axis increment.
@ k_ra8_drw_off_perfcount1
RW: Performance counter 1.
@ k_ra8_drw_off_perftrigger
W: Performance trigger select.
@ k_ra8_drw_off_l1xadd
W: Limiter 1 X-axis increment.
@ k_ra8_drw_off_l5start
W: Limiter 5 start.
@ k_ra8_drw_off_pitch
W: FB pitch + spanstore delay.
@ k_ra8_drw_off_colkey
W: Color key value.
@ k_ra8_drw_off_luxadd
W: U limiter X increment.
@ k_ra8_drw_off_l2start
W: Limiter 2 start.
@ k_ra8_drw_off_l4xadd
W: Limiter 4 X-axis increment.
@ k_ra8_drw_off_l6yadd
W: Limiter 6 Y-axis increment.
@ k_ra8_drw_off_lustart
W: U limiter start.
@ k_ra8_drw_off_control2
W: Surface control.
@ k_ra8_drw_off_l3yadd
W: Limiter 3 Y-axis increment.
ra8_drw_hwrev_mask_t
HWREVISION feature-set bit masks (read-only).
@ k_ra8_drw_hwrev_rev_mask
REV[11:0].
@ k_ra8_drw_hwrev_fbcache
FB cache present.
@ k_ra8_drw_hwrev_txcache
Texture cache present.
@ k_ra8_drw_hwrev_colorkey
Color key unit.
@ k_ra8_drw_hwrev_reset_value
Power-on value.
@ k_ra8_drw_hwrev_texclut256
CLUT is 256 entries.
@ k_ra8_drw_hwrev_texclut
Texture CLUT present.
@ k_ra8_drw_hwrev_dlr
Display list reader.
@ k_ra8_drw_hwrev_acblend
Full alpha blend.
@ k_ra8_drw_hwrev_perfcount
2 perf counters.
@ k_ra8_drw_hwrev_rleunit
RLE unit present.
ra8_drw_blocksize_t
Total DRW window size, used by static-assert clients.
@ k_ra8_drw_block_bytes
260 bytes – matches FSP R_DRW_Type.
ra8_drw_geom_layout_t
Bit positions / masks shared by SIZE and PITCH.
@ k_ra8_drw_color_b_pos
COLORnB[7:0].
@ k_ra8_drw_perftrigger2_pos
Counter-2 selector pos.
@ k_ra8_drw_size_height_pos
SIZEY in upper half-word.
@ k_ra8_drw_color_g_pos
COLORnG[7:0].
@ k_ra8_drw_color_a_pos
COLORnA[7:0].
@ k_ra8_drw_lvyxaddf_lvyaddf_pos
LVYXADDF.LVYADDF in [31:16].
@ k_ra8_drw_pitch_ssd_pos
SSD in upper half-word.
@ k_ra8_drw_color_r_pos
COLORnR[7:0].
ra8_drw_writealpha_t
WRITEALPHA[1:0] writeback alpha source select.
@ k_ra8_drw_writealpha_fb
Use framebuffer alpha.
@ k_ra8_drw_writealpha_zero
Force 0.0.
@ k_ra8_drw_writealpha_pixel_cov
Use source coverage.
@ k_ra8_drw_writealpha_color2
Use COLOR2 alpha.
ra8_drw_writeformat_t
Framebuffer pixel format codes (3-bit field).
@ k_ra8_drw_writefmt_rgb565
16 bpp RGB565.
@ k_ra8_drw_writefmt_argb8888
32 bpp ARGB8888.
@ k_ra8_drw_writefmt_a8
8 bpp A(8).
@ k_ra8_drw_writefmt_argb4444
16 bpp ARGB4444.
static volatile uint32_t * ra8_drw_reg32(ra8_drw_off_t off)
Pointer to a 32-bit register inside the DRW block.
ra8_drw_readformat_t
Texture pixel format codes (4-bit field).
@ k_ra8_drw_readfmt_argb1555
16 bpp ARGB1555.
@ k_ra8_drw_readfmt_clut1
1 bpp CLUT1/I1.
@ k_ra8_drw_readfmt_argb8888
32 bpp ARGB8888.
@ k_ra8_drw_readfmt_argb4444
16 bpp ARGB4444.
@ k_ra8_drw_readfmt_aclut44
8 bpp 4+4 ACLUT.
@ k_ra8_drw_readfmt_clut4
4 bpp CLUT4/I4.
@ k_ra8_drw_readfmt_rgb565
16 bpp RGB565 texture.
@ k_ra8_drw_readfmt_clut2
2 bpp CLUT2/I2.
@ k_ra8_drw_readfmt_clut8
8 bpp CLUT8/I8.
@ k_ra8_drw_readfmt_a8
8 bpp A(8) texture.
ra8_drw_perfcounter_id_t
Selector for the two PERFCOUNTk registers.
@ k_ra8_drw_perfctr_1
PERFCOUNT1 @ +0xCC.
@ k_ra8_drw_perfctr_2
PERFCOUNT2 @ +0xD0.
ra8_drw_subpixel_t
DRW limiter sub-pixel constants (Q12.4 fixed-point space).
@ k_ra8_drw_subpixel_shift
1 pixel == 16 sub-pixels.
@ k_ra8_drw_subpixel_unit
1 pixel value (1 << 4).
ra8_drw_perftrigger_t
Internal events that increment a PERFCOUNT register.
@ k_ra8_drw_perfev_disabled
Disable counter.
@ k_ra8_drw_perfev_active_cycles
2D engine active cycles.
@ k_ra8_drw_perfev_fb_read_miss
FB cache read misses.
@ k_ra8_drw_perfev_fb_write_hit
FB cache write hits.
@ k_ra8_drw_perfev_dlist_active
Display list reader active.
@ k_ra8_drw_perfev_invisible_idle
Invisible while FIFO empty.
@ k_ra8_drw_perfev_tex_read_hit
Texture cache read hits.
@ k_ra8_drw_perfev_tex_read
Texture read accesses.
@ k_ra8_drw_perfev_fb_write_miss
FB cache write misses.
@ k_ra8_drw_perfev_fb_read_hit
FB cache read hits.
@ k_ra8_drw_perfev_every_cycle
Free-running timer mode.
@ k_ra8_drw_perfev_invisible
Invisible (alpha 0) pixels.
@ k_ra8_drw_perfev_tex_read_miss
Texture cache read misses.
@ k_ra8_drw_perfev_fb_read
FB read access count.
@ k_ra8_drw_perfev_fb_write
FB write access count.
ra8_drw_rlepixel_t
RLEPIXELWIDTH[1:0] – bytes per RLE-encoded texel.
@ k_ra8_drw_rle_1byte
1 byte per texel (8-bit CLUT/I/A/ACLUT44).
@ k_ra8_drw_rle_4byte
4 bytes per texel (32-bit ARGB8888).
@ k_ra8_drw_rle_3byte
3 bytes per texel (24-bit RGB888).
@ k_ra8_drw_rle_2byte
2 bytes per texel (16-bit RGB565/ARGB).
ra8_drw_control2_mask_t
CONTROL2 (Surface Control) field masks for every documented bit.
@ k_ra8_drw_control2_bsf
Blend src factor.
@ k_ra8_drw_control2_textureenable
Texture source.
@ k_ra8_drw_control2_textureclampx
Texture clamp X.
@ k_ra8_drw_control2_clutenable
CLUT enable.
@ k_ra8_drw_control2_writealpha_mask
WRITEALPHA mask.
@ k_ra8_drw_control2_patternenable
Pattern source.
@ k_ra8_drw_control2_rleenable
RLE source.
@ k_ra8_drw_control2_readformatl_mask
READFORMAT_L mask.
@ k_ra8_drw_control2_bsi
Blend src inverted.
@ k_ra8_drw_control2_colkeyenable
Color key enable.
@ k_ra8_drw_control2_texturefilterx
Bilinear X.
@ k_ra8_drw_control2_writeformat_pos
WRITEFORMAT[1:0] @20.
@ k_ra8_drw_control2_writealpha_pos
WRITEALPHA[1:0] @22.
@ k_ra8_drw_control2_bdi
Blend dst inverted.
@ k_ra8_drw_control2_texturefiltery
Bilinear Y.
@ k_ra8_drw_control2_bdf
Blend dst factor.
@ k_ra8_drw_control2_textureclampy
Texture clamp Y.
@ k_ra8_drw_control2_bdfa
Blend dst fac alpha.
@ k_ra8_drw_control2_useacb
Alpha channel blend.
@ k_ra8_drw_control2_bc2
Use COLOR2 as DST.
@ k_ra8_drw_control2_readformath_pos
READFORMAT_H[3:2] @4.
@ k_ra8_drw_control2_writeformat2_bit
WRITEFORMAT[2].
@ k_ra8_drw_control2_readformatl_pos
READFORMAT_L[1:0] @18.
@ k_ra8_drw_control2_readformath_mask
READFORMAT_H mask.
@ k_ra8_drw_control2_bsfa
Blend src fac alpha.
@ k_ra8_drw_control2_patternsourcel5
Use L5 as pat index.
@ k_ra8_drw_control2_clutformat_565
CLUT in RGB565 mode.
@ k_ra8_drw_control2_bdia
Blend dst alpha inv.
@ k_ra8_drw_control2_bsia
Blend src alpha inv.
@ k_ra8_drw_control2_rlepixel_pos
RLEPIXELWIDTH @30.
@ k_ra8_drw_control2_rlepixel_mask
RLEPIXELWIDTH mask.
@ k_ra8_drw_control2_writeformat_mask
WRITEFORMAT mask.
ra8_drw_dbwer_mask_t
DBWER (DRW Bufferable Write Enable) field masks.
@ k_ra8_drw_dbwer_bwe
Enable bufferable writes.
ra8_drw_dim_limits_t
Hardware bounds documented by HUM Ch 62.
@ k_ra8_drw_clut_entries_max
HUM 62.2.6 TEXCLUT256 = 1.
@ k_ra8_drw_max_height_px
HUM 62.2.29 SIZEY max.
@ k_ra8_drw_min_dim_px
Zero-sized rect rejected.
@ k_ra8_drw_max_texpitch_tx
HUM 62.2.15 TEXPITCH max.
@ k_ra8_drw_max_texumask
HUM 62.2.16 TEXUMASK clamp.
@ k_ra8_drw_max_texvmask
HUM 62.2.16 TEXVMASK clamp.
@ k_ra8_drw_max_width_px
HUM 62.2.29 SIZEX max.
ra8_drw_dlr_word_t
Display-list tag and end-of-list word constants.
@ k_ra8_drw_dlr_eol_byte
End-of-list low byte marker.
@ k_ra8_drw_dlr_arg_terminate
Arg: terminate the list.
@ k_ra8_drw_dlr_arg_wait
Arg: wait pipe+cache, go on.
@ k_ra8_drw_dlr_tag_one_index
1-register entry tag base.
@ k_ra8_drw_dlr_eol_arg_pos
End-of-list argument shift.
ra8_drw_cachectl_mask_t
CACHECTL register bit masks (write-only).
@ k_ra8_drw_cachectl_all_flush
RA8 DRW cachectl all flush.
@ k_ra8_drw_cachectl_cenabletx
Texture cache enable.
@ k_ra8_drw_cachectl_all_en
RA8 DRW cachectl all en.
@ k_ra8_drw_cachectl_cflushtx
Texture cache flush.
@ k_ra8_drw_cachectl_cflushfx
FB cache flush.
@ k_ra8_drw_cachectl_cenablefx
FB cache enable.
ra8_drw_dlr_index_t
Register indices a display-list entry addresses (byte offset / 4).
@ k_ra8_drw_dlr_idx_color1
COLOR1 (HUM Ch 62.2.7, 0x64/4).
@ k_ra8_drw_dlr_idx_control
CONTROL (HUM Ch 62.2.1, 0x00/4).
@ k_ra8_drw_dlr_idx_color2
COLOR2 (HUM Ch 62.2.8, 0x68/4).
@ k_ra8_drw_dlr_idx_origin
ORIGIN (HUM Ch 62.2.31, 0x80/4).
@ k_ra8_drw_dlr_idx_control2
CONTROL2 (HUM Ch 62.2.2, 0x04/4).
@ k_ra8_drw_dlr_idx_size
SIZE (HUM Ch 62.2.29, 0x78/4).
@ k_ra8_drw_dlr_idx_cachectl
CACHECTL (HUM Ch 62.2.4, 0xC4/4).
@ k_ra8_drw_dlr_idx_pitch
PITCH (HUM Ch 62.2.30, 0x7C/4).
ra8_drw_pixel_stride_t
Framebuffer pixel stride in bytes per WRITEFORMAT class.
@ k_ra8_drw_bytes_px_8bpp
A8.
@ k_ra8_drw_bytes_px_32bpp
ARGB8888.
@ k_ra8_drw_bytes_px_16bpp
RGB565 / ARGB4444.
ra8_drw_addr_t
Memory-mapped base addresses for the DRW block.
@ k_ra8_drw_ns_base_addr
DRW Non-Secure base.
@ k_ra8_drw_base_addr
DRW Secure base.
ra8_drw_control_mask_t
CONTROL (Geometry Control) field masks for every documented bit.
@ k_ra8_drw_control_lim4en
Enable limiter 4.
@ k_ra8_drw_control_line_quad
RA8 DRW control line quad.
@ k_ra8_drw_control_quad1en
QUAD1 (L1,L2).
@ k_ra8_drw_control_lim1en
Enable limiter 1.
@ k_ra8_drw_control_lim3en
Enable limiter 3.
@ k_ra8_drw_control_lim2threshold
Threshold mode L2.
@ k_ra8_drw_control_spanstore
Span-store opt.
@ k_ra8_drw_control_unioncd
Union C,D -> final.
@ k_ra8_drw_control_union56
Union L5,L6 -> D.
@ k_ra8_drw_control_lim6en
Enable limiter 6.
@ k_ra8_drw_control_quad2en
QUAD2 (L3,L4).
@ k_ra8_drw_control_band1en
Band post-proc L1.
@ k_ra8_drw_control_quad_box
RA8 DRW control quad box.
@ k_ra8_drw_control_triangle
RA8 DRW control triangle.
@ k_ra8_drw_control_spanabort
Convex-shape opt.
@ k_ra8_drw_control_quad3en
QUAD3 (L5,L6).
@ k_ra8_drw_control_lim1threshold
Threshold mode L1.
@ k_ra8_drw_control_lim2en
Enable limiter 2.
@ k_ra8_drw_control_band2en
Band post-proc L2.
@ k_ra8_drw_control_lim5threshold
Threshold mode L5.
@ k_ra8_drw_control_union12
Union L1,L2 -> A.
@ k_ra8_drw_control_lim6threshold
Threshold mode L6.
@ k_ra8_drw_control_lim5en
Enable limiter 5.
@ k_ra8_drw_control_unionab
Union A,B -> C.
@ k_ra8_drw_control_lim4threshold
Threshold mode L4.
@ k_ra8_drw_control_lim3threshold
Threshold mode L3.
@ k_ra8_drw_control_union34
Union L3,L4 -> B.
ra8_drw_status_mask_t
STATUS register bit masks (read-only).
@ k_ra8_drw_status_buserr_mask
RA8 DRW status buserr mask.
@ k_ra8_drw_status_buserrmfb
FB bus error.
@ k_ra8_drw_status_buserrmdl
Display list bus error.
@ k_ra8_drw_status_enumirq
Enumeration finished IRQ.
@ k_ra8_drw_status_cachedirty
FB cache dirty.
@ k_ra8_drw_status_busywrite
FB writeback busy.
@ k_ra8_drw_status_buserrmtxmrl
Texture/RLE bus error.
@ k_ra8_drw_status_busy_mask
RA8 DRW status busy mask.
@ k_ra8_drw_status_irq_mask
RA8 DRW status IRQ mask.
@ k_ra8_drw_status_dlistactive
Display list reader busy.
@ k_ra8_drw_status_busirq
Bus error IRQ.
@ k_ra8_drw_status_dlistirq
Display list finished IRQ.
@ k_ra8_drw_status_busyenum
Enumeration unit busy.
ra8_drw_irqctl_mask_t
IRQCTL register bit masks (write-only).
@ k_ra8_drw_irqctl_all_en
RA8 DRW irqctl all en.
@ k_ra8_drw_irqctl_busirqen
BUSIRQ unmask.
@ k_ra8_drw_irqctl_all_clr
RA8 DRW irqctl all clr.
@ k_ra8_drw_irqctl_enumirqen
ENUMIRQ unmask.
@ k_ra8_drw_irqctl_busirqclr
Clear BUSIRQ.
@ k_ra8_drw_irqctl_dlistirqen
DLISTIRQ unmask.
@ k_ra8_drw_irqctl_enumirqclr
Clear ENUMIRQ.
@ k_ra8_drw_irqctl_dlistirqclr
Clear DLISTIRQ.