48typedef enum : uintptr_t {
66typedef enum : uint16_t {
167typedef enum : uint8_t {
222typedef enum : uint8_t {
227 "ra8_glcdc_gam_t must be 64 bytes");
242typedef enum : uint32_t {
257typedef enum : uint32_t {
275 static const uint16_t local_gam_base[3] = {
293typedef enum : uint16_t {
304typedef enum : uint32_t {
Annotation-attribute framework macros for ra8-firmware.
#define RA8_HW_REGISTER_ACCESS
Mark an MMIO accessor function (returns volatile register pointer).
static volatile ra8_glcdc_gam_t * ra8_glcdc_gam_regs(uint8_t channel_idx)
Return a volatile pointer to a per-channel gamma register block.
@ k_ra8_glcdc_ek_pixel_clk_hz
~51.2 MHz pixel clock.
ra8_glcdc_block_off_t
Absolute register offsets inside the GLCDC window.
@ k_ra8_glcdc_off_tcon_stha1
TCON.STHA1.
@ k_ra8_glcdc_off_gr2_ab5
GR[1].AB5: alpha rect H size+pos.
@ k_ra8_glcdc_off_gr1_flm1
GR[0].FLM1: burst mode.
@ k_ra8_glcdc_off_gr1_base
GR[0].BASE: layer bg colour.
@ k_ra8_glcdc_off_out_set
OUT.SET: output interface.
@ k_ra8_glcdc_off_gr2_ab6
GR[1].AB6: fade rate / coef.
@ k_ra8_glcdc_off_gr2_ab2
GR[1].AB2: graphics V size + pos.
@ k_ra8_glcdc_off_gr2_ab9
GR[1].AB9: chroma-key replace col.
@ k_ra8_glcdc_off_gam0
GAM[0] block base (Red channel).
@ k_ra8_glcdc_off_gr2_mon
GR[1].MON.
@ k_ra8_glcdc_off_gr1_ab6
GR[0].AB6: fade rate / coef.
@ k_ra8_glcdc_off_gr2_saddr
GR[1].FLM2.BASE.
@ k_ra8_glcdc_off_panel_clk
SYSCNT.PANEL_CLK.
@ k_ra8_glcdc_off_gr1_ab1
GR[0].AB1: alpha blend ctrl 1.
@ k_ra8_glcdc_off_sys_stat
SYSCNT.STMON.
@ k_ra8_glcdc_off_bg_vsize
BG.VSIZE: vertical valid size.
@ k_ra8_glcdc_off_out_gamsw
OUT.GAMSW: gamma enable switch.
@ k_ra8_glcdc_off_bg_en
BG.EN: module enable.
@ k_ra8_glcdc_off_bg_mon
BG.MON: status monitor.
@ k_ra8_glcdc_off_out_contrast
OUT.CONTRAST.
@ k_ra8_glcdc_off_gr2_ab1
GR[1].AB1.
@ k_ra8_glcdc_off_gam2
GAM[2] block base (Blue channel).
@ k_ra8_glcdc_off_gr2_clut1
GR2_CLUT1[256] @ 0x0C00.
@ k_ra8_glcdc_off_bg_per
BG.PERI: free-running period.
@ k_ra8_glcdc_off_gr2_ab8
GR[1].AB8: chroma-key key colour.
@ k_ra8_glcdc_off_gr1_saddr
GR[0].FLM2.BASE: framebuffer addr.
@ k_ra8_glcdc_off_gr1_ab7
GR[0].AB7: chroma-key on, def alf.
@ k_ra8_glcdc_off_gr1_ab4
GR[0].AB4: alpha rect V size+pos.
@ k_ra8_glcdc_off_gam1
GAM[1] block base (Green channel).
@ k_ra8_glcdc_off_gr1_ab2
GR[0].AB2: graphics V size + pos.
@ k_ra8_glcdc_off_gr1_mon
GR[0].MON: status monitor.
@ k_ra8_glcdc_off_gr2_clutint
GR[1].CLUTINT.
@ k_ra8_glcdc_off_gr1_line
GR[0].FLM5: datanum + lnnum.
@ k_ra8_glcdc_off_gr1_en
GR[0].VEN: register update ctrl.
@ k_ra8_glcdc_off_gr1_ab5
GR[0].AB5: alpha rect H size+pos.
@ k_ra8_glcdc_off_tcon_de
TCON.DE.
@ k_ra8_glcdc_off_gr2_ab4
GR[1].AB4: alpha rect V size+pos.
@ k_ra8_glcdc_off_gr1_fmt
GR[0].FLM6.FORMAT: pixel format.
@ k_ra8_glcdc_off_tcon_tim
TCON.TIM: reference timing.
@ k_ra8_glcdc_off_gr2_clut0
GR2_CLUT0[256] @ 0x0800.
@ k_ra8_glcdc_off_bg_sync
BG.SYNC: sync position.
@ k_ra8_glcdc_off_gr2_flmrd
GR[1].FLMRD.
@ k_ra8_glcdc_off_out_vlatch
OUT.VLATCH.
@ k_ra8_glcdc_off_gr2_flm1
GR[1].FLM1.
@ k_ra8_glcdc_off_bg_hsize
BG.HSIZE: horizontal valid size.
@ k_ra8_glcdc_off_panel_dtha
OUT.PDTHA: panel dither.
@ k_ra8_glcdc_off_gr2_line
GR[1].FLM5.
@ k_ra8_glcdc_off_out_bright2
OUT.BRIGHT2.
@ k_ra8_glcdc_off_tcon_sthb2
TCON.STHB2.
@ k_ra8_glcdc_off_gr2_en
GR[1].VEN.
@ k_ra8_glcdc_off_tcon_stha2
TCON.STHA2.
@ k_ra8_glcdc_off_sys_clr
SYSCNT.STCLR.
@ k_ra8_glcdc_off_tcon_stvb2
TCON.STVB2.
@ k_ra8_glcdc_off_gr1_clutint
GR[0].CLUTINT: CLUT swap + line.
@ k_ra8_glcdc_off_gr1_clut1
GR1_CLUT1[256] @ 0x0400.
@ k_ra8_glcdc_off_gr2_fmt
GR[1].FLM6.FORMAT.
@ k_ra8_glcdc_off_gr2_size
GR[1].AB3: graphics H size + pos.
@ k_ra8_glcdc_off_gr2_base
GR[1].BASE.
@ k_ra8_glcdc_off_gr1_ab8
GR[0].AB8: chroma-key key colour.
@ k_ra8_glcdc_off_gr1_size
GR[0].AB3: graphics H size + pos.
@ k_ra8_glcdc_off_sys_cfg
SYSCNT.DTCTEN (state detection).
@ k_ra8_glcdc_off_sys_intr
SYSCNT.INTEN.
@ k_ra8_glcdc_off_gr1_ab9
GR[0].AB9: chroma-key replace col.
@ k_ra8_glcdc_off_tcon_stvb1
TCON.STVB1.
@ k_ra8_glcdc_off_out_bright1
OUT.BRIGHT1.
@ k_ra8_glcdc_off_gr1_clut0
GR1_CLUT0[256] @ 0x0000.
@ k_ra8_glcdc_off_tcon_stva2
TCON.STVA2.
@ k_ra8_glcdc_off_gr1_flmrd
GR[0].FLMRD: frame buffer read en.
@ k_ra8_glcdc_off_out_clkphase
OUT.CLKPHASE.
@ k_ra8_glcdc_off_bg_bgc
BG.BGC: background colour.
@ k_ra8_glcdc_off_tcon_stva1
TCON.STVA1.
@ k_ra8_glcdc_off_gr2_ab7
GR[1].AB7: chroma-key on, def alf.
@ k_ra8_glcdc_off_gr1_flm3
GR[0].FLM3: line offset bytes.
@ k_ra8_glcdc_off_tcon_sthb1
TCON.STHB1.
@ k_ra8_glcdc_off_gr2_flm3
GR[1].FLM3.
static volatile uint32_t * ra8_glcdc_reg32(ra8_glcdc_block_off_t offset)
Pointer to a 32-bit register inside the GLCDC block.
ra8_glcdc_gamsw_bits_t
Bit mask for the output-stage gamma-switch register (GAMSW).
@ k_ra8_glcdc_gamsw_gamon
GAMSW.GAMON: global gamma enable.
@ k_ra8_mipi_csi_base_addr
RA8 mipi csi base address.
@ k_ra8_mipi_phy_base_addr
RA8 mipi PHY base address.
@ k_ra8_ceu_base_addr
RA8 CEU base address.
@ k_ra8_glcdc_base_addr
RA8 GLCDC base address.
@ k_ra8_mipi_dsi_base_addr
RA8 mipi dsi base address.
ra8_glcdc_pixel_fmt_t
Pixel format codes written to GRn_FLM6.FORMAT[30:28].
@ k_ra8_glcdc_fmt_clut4
4-bit CLUT.
@ k_ra8_glcdc_fmt_clut1
1-bit CLUT.
@ k_ra8_glcdc_fmt_rgb888
24-bit RGB (packed).
@ k_ra8_glcdc_fmt_argb1555
16-bit ARGB1555.
@ k_ra8_glcdc_fmt_clut8
8-bit CLUT.
@ k_ra8_glcdc_fmt_argb8888
32-bit ARGB.
@ k_ra8_glcdc_fmt_rgb565
16-bit RGB565.
@ k_ra8_glcdc_fmt_argb4444
16-bit ARGB4444.
ra8_glcdc_gam_field_t
Shift and mask constants for the gamma LUT and AREA register fields.
@ k_ra8_glcdc_gam_area_th_h_shift
AREA TH1 bit-shift.
@ k_ra8_glcdc_gam_area_th_l_mask
AREA TH2 10-bit mask.
@ k_ra8_glcdc_gam_lut_gain_l_mask
LUT GAIN1 11-bit mask.
@ k_ra8_glcdc_gam_lut_gain_h_shift
LUT GAIN0 bit-shift.
ra8_glcdc_gam_size_t
Byte size of one channel's GAM register block (LUT[8] + AREA[8]).
@ k_ra8_glcdc_gam_block_bytes
sizeof(ra8_glcdc_gam_t).
@ k_ra8_glcdc_ek_v_front
RA8 GLCDC ek v front.
@ k_ra8_glcdc_ek_v_sync
RA8 GLCDC ek v sync.
@ k_ra8_glcdc_ek_v_back
RA8 GLCDC ek v back.
@ k_ra8_glcdc_ek_v_active
RA8 GLCDC ek v active.
@ k_ra8_glcdc_ek_h_sync
RA8 GLCDC ek h sync.
@ k_ra8_glcdc_ek_h_back
RA8 GLCDC ek h back.
@ k_ra8_glcdc_ek_h_active
RA8 GLCDC ek h active.
@ k_ra8_glcdc_ek_h_front
RA8 GLCDC ek h front.
Per-channel gamma correction register block (HUM Ch 63 p 3789-3793).
volatile uint32_t LUT[8]
Gain-pair registers LUT[0..7].
volatile uint32_t AREA[8]
Threshold-pair registers AREA[0..7].