static void size
Definition: hpm_math.h:6938
hpm_panel_t * hpm_panel_find_device(const char *name)
Find panel for name.
Definition: hpm_panel.c:41
void hpm_panel_power_on(hpm_panel_t *panel)
Power on the panel.
Definition: hpm_panel.c:85
void hpm_panel_memory_free(void *addr)
Free panel memory.
Definition: hpm_panel.c:238
hpm_panel_if_type_t hpm_panel_get_if_type(hpm_panel_t *panel)
Get panel interface type.
Definition: hpm_panel.c:62
hpm_panel_state_power
Definition: hpm_panel.h:83
@ HPM_PANEL_STATE_POWER_ON
Definition: hpm_panel.h:85
@ HPM_PANEL_STATE_POWER_OFF
Definition: hpm_panel.h:84
enum hpm_panel_state_power hpm_panel_power_state_t
void hpm_panel_reset(hpm_panel_t *panel)
Reset the panel.
Definition: hpm_panel.c:73
void hpm_panel_set_backlight(hpm_panel_t *panel, uint16_t percent)
Set backlight value.
Definition: hpm_panel.c:97
struct hpm_panel_state hpm_panel_state_t
void hpm_panel_register_interface(hpm_panel_t *panel, hpm_panel_hw_interface_t *hw_if)
Register platform level hardware interface.
Definition: hpm_panel.c:67
enum hpm_panel_if_type hpm_panel_if_type_t
hpm_panel_mipi_format
Definition: hpm_panel.h:36
@ HPM_PANEL_MIPI_FORMAT_RGB666_PACKED
Definition: hpm_panel.h:39
@ HPM_PANEL_MIPI_FORMAT_RGB565
Definition: hpm_panel.h:40
@ HPM_PANEL_MIPI_FORMAT_RGB888
Definition: hpm_panel.h:37
@ HPM_PANEL_MIPI_FORMAT_RGB666
Definition: hpm_panel.h:38
hpm_panel_t * hpm_panel_find_device_default(void)
Find default panel.
Definition: hpm_panel.c:34
struct hpm_panel_timing hpm_panel_timing_t
hpm_panel_mem_type
Definition: hpm_panel.h:76
@ HPM_PANEL_MEM_TYPE_NONCACHEABLE
Definition: hpm_panel.h:77
@ HPM_PANEL_MEM_TYPE_UNKNOWN
Definition: hpm_panel.h:80
@ HPM_PANEL_MEM_TYPE_MAX
Definition: hpm_panel.h:79
@ HPM_PANEL_MEM_TYPE_CACHEABLE
Definition: hpm_panel.h:78
void hpm_panel_power_off(hpm_panel_t *panel)
Power off the panel.
Definition: hpm_panel.c:91
void * hpm_panel_memory_alloc(hpm_panel_mem_type_t type, uint32_t size)
Allocate panel memory of a specified type.
Definition: hpm_panel.c:195
void hpm_panel_init(hpm_panel_t *panel)
Initialize the panel.
Definition: hpm_panel.c:79
struct hpm_panel_funcs hpm_panel_funcs_t
void hpm_panel_delay_ms(uint32_t ms)
Delay specified milliseconds.
Definition: hpm_panel.c:114
enum hpm_panel_mem_type hpm_panel_mem_type_t
const char * hpm_panel_get_name(hpm_panel_t *panel)
Get panel name.
Definition: hpm_panel.c:52
const hpm_panel_timing_t * hpm_panel_get_timing(hpm_panel_t *panel)
Get panel timing.
Definition: hpm_panel.c:57
void hpm_panel_delay_us(uint32_t us)
Delay specified microseconds.
Definition: hpm_panel.c:119
int hpm_panel_memory_register(hpm_panel_mem_type_t type, void *addr, uint32_t size)
Register panel memory block to panel subsystem.
Definition: hpm_panel.c:305
struct hpm_panel_hw_interface hpm_panel_hw_interface_t
uint8_t hpm_panel_get_backlight(hpm_panel_t *panel)
Get backlight value.
Definition: hpm_panel.c:109
hpm_panel_if_type
Definition: hpm_panel.h:69
@ HPM_PANEL_IF_TYPE_MIPI
Definition: hpm_panel.h:73
@ HPM_PANEL_IF_TYPE_RGB
Definition: hpm_panel.h:70
@ HPM_PANEL_IF_TYPE_LVDS_SINGLE
Definition: hpm_panel.h:71
@ HPM_PANEL_IF_TYPE_LVDS_SPLIT
Definition: hpm_panel.h:72
hpm_panel_mem_type_t hpm_panel_memory_get_type(void *addr)
Get panel memory type.
Definition: hpm_panel.c:287
Definition: hpm_panel.h:62
void(* reset)(hpm_panel_t *panel)
Definition: hpm_panel.h:63
void(* power_on)(hpm_panel_t *panel)
Definition: hpm_panel.h:65
void(* init)(hpm_panel_t *panel)
Definition: hpm_panel.h:64
void(* power_off)(hpm_panel_t *panel)
Definition: hpm_panel.h:66
Definition: hpm_panel.h:43
union hpm_panel_hw_interface::@842 video
void(* set_backlight)(uint16_t percent)
Definition: hpm_panel.h:46
uint32_t lcdc_pixel_clk_khz
Definition: hpm_panel.h:44
void * mipi_host_base
Definition: hpm_panel.h:51
void(* set_reset_pin_level)(uint8_t level)
Definition: hpm_panel.h:45
hpm_panel_mipi_format format
Definition: hpm_panel.h:50
void(* set_video_router)(void)
Definition: hpm_panel.h:47
struct hpm_panel_hw_interface::@842::@843 mipi
uint32_t channel_index
Definition: hpm_panel.h:56
void * mipi_phy_base
Definition: hpm_panel.h:52
uint32_t channel_di_index
Definition: hpm_panel.h:55
void * lvb_base
Definition: hpm_panel.h:57
struct hpm_panel_hw_interface::@842::@844 lvds
Definition: hpm_panel.h:88
uint8_t power_state
Definition: hpm_panel.h:90
uint8_t backlight_percent
Definition: hpm_panel.h:89
Definition: hpm_panel.h:18
uint32_t hfront_porch
Definition: hpm_panel.h:21
uint32_t pixel_clk_pol
Definition: hpm_panel.h:32
uint32_t hsync_len
Definition: hpm_panel.h:23
uint32_t de_pol
Definition: hpm_panel.h:31
uint32_t vsync_pol
Definition: hpm_panel.h:30
uint32_t vfront_porch
Definition: hpm_panel.h:26
uint32_t pixel_data_pol
Definition: hpm_panel.h:33
uint32_t hback_porch
Definition: hpm_panel.h:22
uint32_t hactive
Definition: hpm_panel.h:20
uint32_t vback_porch
Definition: hpm_panel.h:27
uint32_t hsync_pol
Definition: hpm_panel.h:29
uint32_t pixel_clock_khz
Definition: hpm_panel.h:19
uint32_t vsync_len
Definition: hpm_panel.h:28
uint32_t vactive
Definition: hpm_panel.h:25
Definition: hpm_panel.h:93
hpm_panel_funcs_t funcs
Definition: hpm_panel.h:99
hpm_panel_state_t state
Definition: hpm_panel.h:97
hpm_panel_if_type_t if_type
Definition: hpm_panel.h:95
const char * name
Definition: hpm_panel.h:94
hpm_panel_hw_interface_t hw_if
Definition: hpm_panel.h:98
const hpm_panel_timing_t timing
Definition: hpm_panel.h:96