330 uint8_t* p_rx_buffer,
787 const uint8_t params[2]);
848 const uint8_t* payload,
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
ra8_err_t ra8_mipi_dsi_exit_stop(void)
Re-enable the MIPI DSI block clock from MSTP.
ra8_err_t ra8_mipi_dsi_deinit(void)
Tear down the MIPI DSI host link layer.
ra8_err_t ra8_mipi_dsi_clear_status(uint32_t mask)
Clear bits in any of the sub-status registers.
ra8_err_t ra8_mipi_dsi_soft_reset(void)
Pulse RSTCR.SWRST to take the protocol-layer state back to a clean slate (registers retained).
void ra8_mipi_dsi_dispatch_fatal(void)
Fatal-error IRQ handler.
ra8_err_t ra8_mipi_dsi_hs_clock_start(void)
Start the high-speed differential clock to the panel.
ra8_err_t ra8_mipi_dsi_video_configure(const ra8_mipi_dsi_video_cfg_t *vcfg)
Programme every video-mode timing register from a single config.
ra8_err_t ra8_mipi_dsi_rx_payload_read(uint8_t *dest, uint16_t max_len, uint16_t *out_len)
Copy out the most-recent long-packet RX payload (RXPPD0..3R).
ra8_err_t ra8_mipi_dsi_send_command(const ra8_mipi_dsi_command_t *cmd)
Send any sequence-channel command (full-feature path).
void ra8_mipi_dsi_dispatch_seq1(void)
Sequence-channel-1 IRQ handler (HS path).
ra8_err_t ra8_mipi_dsi_te_event_pending(bool *out_pending)
Check if a tearing-effect (TE) trigger was received.
void ra8_mipi_dsi_dispatch_phy(void)
PHY-protocol-interface IRQ handler.
void ra8_mipi_dsi_dispatch_seq0(void)
Sequence-channel-0 IRQ handler (LP path).
ra8_err_t ra8_mipi_dsi_video_stop(void)
Request a video-mode stop and wait for it.
void ra8_mipi_dsi_dispatch(void)
Snapshot ISR, clear sub-status, fan out per-class callbacks.
ra8_err_t ra8_mipi_dsi_ulps_exit(uint8_t lanes)
Wake the selected lanes out of ULPS.
ra8_err_t ra8_mipi_dsi_send_command_long(ra8_mipi_dsi_dt_t dt, const uint8_t *payload, uint16_t len)
Send a DSI command-mode long packet on VC0 (HS path).
ra8_err_t ra8_mipi_dsi_get_status(uint32_t *out_mask)
Read the top-level Interrupt Status Register.
ra8_err_t ra8_mipi_dsi_irq_enable(ra8_mipi_dsi_event_t event, uint32_t mask, bool enable)
Toggle a sub-class IER bit.
ra8_err_t ra8_mipi_dsi_send_short_packet(ra8_mipi_dsi_dt_t cmd_id, ra8_mipi_dsi_vc_t vc, uint8_t param0, uint8_t param1)
Send a DSI short packet on sequence channel 0 (LP escape).
ra8_err_t ra8_mipi_dsi_init(const ra8_mipi_dsi_config_t *cfg)
Bring up the MIPI DSI host link layer.
ra8_err_t ra8_mipi_dsi_send_long_packet(ra8_mipi_dsi_dt_t cmd_id, ra8_mipi_dsi_vc_t vc, const uint8_t *data, uint16_t tx_len, bool low_power)
Send a DSI long-packet write (Generic Long / DCS Long).
ra8_err_t ra8_mipi_dsi_exit_ulps(void)
Wake the entire link out of ULPS.
void ra8_mipi_dsi_dispatch_video(void)
Video-mode IRQ handler.
ra8_err_t ra8_mipi_dsi_enter_ulps(void)
Drive the entire link (clock + data lanes) into ULPS.
ra8_err_t ra8_mipi_dsi_send_command_short(ra8_mipi_dsi_dt_t dt, const uint8_t params[2])
Send a DSI command-mode short packet on VC0 (LP escape).
ra8_err_t ra8_mipi_dsi_video_start(const ra8_mipi_dsi_video_cfg_t *vcfg)
Start video-mode operation.
ra8_err_t ra8_mipi_dsi_ack_error_get(ra8_mipi_dsi_ack_error_t *out_err)
Read the latest accumulated ack/error report and clear it.
ra8_err_t ra8_mipi_dsi_send_command_payload(ra8_mipi_dsi_dt_t packet_type, const uint8_t *payload, uint16_t len)
Send a DSI command-mode packet (short or long) on VC0 in LP escape.
ra8_err_t ra8_mipi_dsi_set_video_timing(const ra8_mipi_dsi_video_timing_t *timing)
Load only the HSA/HBP/HACT/HFP/VSA/VBP/VACT/VFP video-timing registers from a compact descriptor.
void ra8_mipi_dsi_dispatch_receive(void)
Receive IRQ handler.
ra8_err_t ra8_mipi_dsi_enter_stop(void)
Gate the MIPI DSI block at the MSTP register.
ra8_err_t ra8_mipi_dsi_ulps_enter(uint8_t lanes)
Drive the selected lanes into Ultra-Low-Power State.
ra8_err_t ra8_mipi_dsi_link_status_get(ra8_mipi_dsi_link_status_t *out_status)
Decode LINKSR into a struct.
ra8_err_t ra8_mipi_dsi_hs_clock_stop(void)
Stop the high-speed differential clock.
ra8_err_t ra8_mipi_dsi_attach_handler(ra8_mipi_dsi_event_fn_t fn, void *ctx)
Attach a callback for MIPI DSI interrupt events.
ra8_err_t ra8_mipi_dsi_get_link_status(ra8_mipi_dsi_link_status_t *out)
Snapshot the link state (running flags + busy flags + accumulated ack/error report) into a single str...
ra8_err_t ra8_mipi_dsi_read_packet(ra8_mipi_dsi_dt_t cmd_id, ra8_mipi_dsi_vc_t vc, uint8_t param0, uint8_t param1, uint8_t *p_rx_buffer, uint16_t rx_len)
Issue a BTA-then-read on sequence channel 0 and return the captured response payload.
ra8_err_t ra8_mipi_dsi_rx_result_get(uint8_t slot, ra8_mipi_dsi_rx_result_t *out_result)
Decode and consume an RXRSS slot.
ra8_err_t ra8_mipi_dsi_te_event_clear(void)
Clear the latched tearing-effect bits in RXSR.
MIPI DSI Host (DSI-2) register layout for the RA8D2.
MIPI DSI-2 host driver – public types (enums / structs / typedefs).
ra8_mipi_dsi_dt_t
Frequently used DSI Data Types (cmd id) for short and long packets.
ra8_mipi_dsi_vc_t
DSI virtual channel identifier (DT[7:6] in the packet header).
ra8_mipi_dsi_event_t
Event class delivered to the user callback.
void(* ra8_mipi_dsi_event_fn_t)(void *ctx, ra8_mipi_dsi_event_t event, uint32_t status_mask)
MIPI DSI ISR-context callback signature.
Decoded view of AKEPLATIR / AKEPACMSR.
Generic DSI packet descriptor for ra8_mipi_dsi_send_command.
Static configuration passed to ra8_mipi_dsi_init.
Decoded view of a single RXRSS slot register.
Video-mode timing + format + sync configuration.
Compact video-mode timing block (HSA/HBP/HACT/HFP + VSA/VBP/VACT/VFP).
uint16_t horizontal_front_porch
HFP pixel count -> VMHPSETR.HFP.
uint16_t vertical_back_porch
VBP line count -> VMVPSETR.VBP.
uint16_t horizontal_active
HACT pixel count -> VMHSSETR.HACT.
uint16_t horizontal_back_porch
HBP pixel count -> VMHPSETR.HBP.
uint16_t vertical_front_porch
VFP line count -> VMVPSETR.VFP.
uint16_t vertical_sync
VSA line count -> VMVSSETR.VSA.
uint16_t vertical_active
VACT line count -> VMVSSETR.VACT.
uint16_t horizontal_sync
HSA pixel count -> VMHSSETR.HSA.