HPM SDK
HPMicro Software Development Kit
hpm_panel.c File Reference
#include "hpm_panel.h"
#include "hpm_clock_drv.h"

Data Structures

struct  panel_list
 
struct  panel_memory_node
 

Macros

#define PANEL_ROUNDUP(x, y)   ((((x) + ((y) - 1)) / (y)) * y)
 
#define PANEL_MEM_ALIGN   64
 
#define PANEL_MEM_NODE_NUM   16
 
#define panel_list_for_each(node, head)   for (panel_list_t *node = (head)->nxt; node != (head); node = node->nxt)
 

Typedefs

typedef struct panel_list panel_list_t
 
typedef struct panel_memory_node panel_memory_node_t
 

Functions

hpm_panel_thpm_panel_find_device_default (void)
 Find default panel. More...
 
hpm_panel_thpm_panel_find_device (const char *name)
 Find panel for name. More...
 
const char * hpm_panel_get_name (hpm_panel_t *panel)
 Get panel name. More...
 
const hpm_panel_timing_thpm_panel_get_timing (hpm_panel_t *panel)
 Get panel timing. More...
 
hpm_panel_if_type_t hpm_panel_get_if_type (hpm_panel_t *panel)
 Get panel interface type. More...
 
void hpm_panel_register_interface (hpm_panel_t *panel, hpm_panel_hw_interface_t *hw_if)
 Register platform level hardware interface. More...
 
void hpm_panel_reset (hpm_panel_t *panel)
 Reset the panel. More...
 
void hpm_panel_init (hpm_panel_t *panel)
 Initialize the panel. More...
 
void hpm_panel_power_on (hpm_panel_t *panel)
 Power on the panel. More...
 
void hpm_panel_power_off (hpm_panel_t *panel)
 Power off the panel. More...
 
void hpm_panel_set_backlight (hpm_panel_t *panel, uint16_t percent)
 Set backlight value. More...
 
uint8_t hpm_panel_get_backlight (hpm_panel_t *panel)
 Get backlight value. More...
 
void hpm_panel_delay_ms (uint32_t ms)
 Delay specified milliseconds. More...
 
void hpm_panel_delay_us (uint32_t us)
 Delay specified microseconds. More...
 
static void panel_list_node_init (panel_list_t *node)
 
static void panel_list_del (panel_list_t *node)
 
static void panel_list_add (panel_list_t *head, panel_list_t *node)
 
static void panel_list_add_tail (panel_list_t *head, panel_list_t *node)
 
static panel_memory_node_tpanel_get_mem_node (void)
 
static void panel_put_mem_node (panel_memory_node_t *node)
 
void * hpm_panel_memory_alloc (hpm_panel_mem_type_t type, uint32_t size)
 Allocate panel memory of a specified type. More...
 
void hpm_panel_memory_free (void *addr)
 Free panel memory. More...
 
hpm_panel_mem_type_t hpm_panel_memory_get_type (void *addr)
 Get panel memory type. More...
 
int hpm_panel_memory_register (hpm_panel_mem_type_t type, void *addr, uint32_t size)
 Register panel memory block to panel subsystem. More...
 

Variables

hpm_panel_t panel_tm070rdh13
 
hpm_panel_t panel_cc10128007
 
hpm_panel_t panel_mc10128007_31b
 
hpm_panel_t panel_tm103xdgp01
 
static hpm_panel_tpanel_list []
 
static panel_memory_node_t panel_mem_nodes [16]
 
static panel_list_t panel_mem_pool [HPM_PANEL_MEM_TYPE_MAX]
 

Macro Definition Documentation

◆ panel_list_for_each

#define panel_list_for_each (   node,
  head 
)    for (panel_list_t *node = (head)->nxt; node != (head); node = node->nxt)

◆ PANEL_MEM_ALIGN

#define PANEL_MEM_ALIGN   64

◆ PANEL_MEM_NODE_NUM

#define PANEL_MEM_NODE_NUM   16

◆ PANEL_ROUNDUP

#define PANEL_ROUNDUP (   x,
 
)    ((((x) + ((y) - 1)) / (y)) * y)

Typedef Documentation

◆ panel_list_t

typedef struct panel_list panel_list_t

◆ panel_memory_node_t

Function Documentation

◆ hpm_panel_delay_ms()

void hpm_panel_delay_ms ( uint32_t  ms)

Delay specified milliseconds.

Parameters
[in]msexpected delay interval in milliseconds

◆ hpm_panel_delay_us()

void hpm_panel_delay_us ( uint32_t  us)

Delay specified microseconds.

Parameters
[in]usexpected delay interval in microseconds

◆ hpm_panel_find_device()

hpm_panel_t* hpm_panel_find_device ( const char *  name)

Find panel for name.

Parameters
[in]nameof panel
Returns
pointer of panel instance

◆ hpm_panel_find_device_default()

hpm_panel_t* hpm_panel_find_device_default ( void  )

Find default panel.

Returns
pointer of panel instance

◆ hpm_panel_get_backlight()

uint8_t hpm_panel_get_backlight ( hpm_panel_t panel)

Get backlight value.

Parameters
[in]panelpointer of panel instance
Returns
percent of backlight [0 - 100]

◆ hpm_panel_get_if_type()

hpm_panel_if_type_t hpm_panel_get_if_type ( hpm_panel_t panel)

Get panel interface type.

Parameters
[in]panelpointer of panel instance
Returns
panel interface type hpm_panel_if_type_t

◆ hpm_panel_get_name()

const char* hpm_panel_get_name ( hpm_panel_t panel)

Get panel name.

Parameters
panelpointer of panel instance
Returns
panel name

◆ hpm_panel_get_timing()

const hpm_panel_timing_t* hpm_panel_get_timing ( hpm_panel_t panel)

Get panel timing.

Parameters
panelpointer of panel instance
Returns
pointer of timing

◆ hpm_panel_init()

void hpm_panel_init ( hpm_panel_t panel)

Initialize the panel.

Parameters
[in]panelpointer of panel instance

◆ hpm_panel_memory_alloc()

void* hpm_panel_memory_alloc ( hpm_panel_mem_type_t  type,
uint32_t  size 
)

Allocate panel memory of a specified type.

Parameters
[in]typememory type
[in]sizememory size

◆ hpm_panel_memory_free()

void hpm_panel_memory_free ( void *  addr)

Free panel memory.

Parameters
[in]addrmemory address

◆ hpm_panel_memory_get_type()

hpm_panel_mem_type_t hpm_panel_memory_get_type ( void *  addr)

Get panel memory type.

Parameters
[in]addrmemory address
Returns
memory type

◆ hpm_panel_memory_register()

int hpm_panel_memory_register ( hpm_panel_mem_type_t  type,
void *  addr,
uint32_t  size 
)

Register panel memory block to panel subsystem.

Parameters
[in]typememory block type
[in]addrmemory block address
[in]sizememory block size
Returns
0: success, other: failed

◆ hpm_panel_power_off()

void hpm_panel_power_off ( hpm_panel_t panel)

Power off the panel.

Parameters
[in]panelpointer of panel instance

◆ hpm_panel_power_on()

void hpm_panel_power_on ( hpm_panel_t panel)

Power on the panel.

Parameters
[in]panelpointer of panel instance

◆ hpm_panel_register_interface()

void hpm_panel_register_interface ( hpm_panel_t panel,
hpm_panel_hw_interface_t hw_if 
)

Register platform level hardware interface.

Parameters
[in]panelpointer of panel instance
[in]hw_ifpointer of hardware interface

◆ hpm_panel_reset()

void hpm_panel_reset ( hpm_panel_t panel)

Reset the panel.

Parameters
[in]panelpointer of panel instance

◆ hpm_panel_set_backlight()

void hpm_panel_set_backlight ( hpm_panel_t panel,
uint16_t  percent 
)

Set backlight value.

Parameters
[in]panelpointer of panel instance
[in]percentpercent of backlight [0 - 100]

◆ panel_get_mem_node()

static panel_memory_node_t* panel_get_mem_node ( void  )
static

◆ panel_list_add()

static void panel_list_add ( panel_list_t head,
panel_list_t node 
)
inlinestatic

◆ panel_list_add_tail()

static void panel_list_add_tail ( panel_list_t head,
panel_list_t node 
)
inlinestatic

◆ panel_list_del()

static void panel_list_del ( panel_list_t node)
inlinestatic

◆ panel_list_node_init()

static void panel_list_node_init ( panel_list_t node)
inlinestatic

◆ panel_put_mem_node()

static void panel_put_mem_node ( panel_memory_node_t node)
static

Variable Documentation

◆ panel_cc10128007

hpm_panel_t panel_cc10128007
extern

◆ panel_list

Initial value:
= {
}

◆ panel_mc10128007_31b

hpm_panel_t panel_mc10128007_31b
extern

◆ panel_mem_nodes

panel_memory_node_t panel_mem_nodes[16]
static

◆ panel_mem_pool

panel_list_t panel_mem_pool[HPM_PANEL_MEM_TYPE_MAX]
static

◆ panel_tm070rdh13

hpm_panel_t panel_tm070rdh13
extern

◆ panel_tm103xdgp01

hpm_panel_t panel_tm103xdgp01
extern