PebbleOS v4.43.0-131-ga855823dd
Loading...
Searching...
No Matches
Panel

Panel class. More...

Modules

 JDI memory-in-pixel panel
 Panel driver for JDI memory-in-pixel panels on the parallel interface.
 

Data Structures

struct  pbl_panel_timing
 Timing of a panel scanned by its controller. More...
 
struct  pbl_panel_ops
 Panel driver operations. More...
 
struct  pbl_panel
 A panel. More...
 

Macros

#define PBL_PANEL_INIT(sym, _name, _init, _ops, _deps, _timing, _bus_format)
 Initializer for the struct pbl_panel of panel sym, for the PBL_*_DEFINE() macro of a driver, with its device state defined by PBL_DEVICE_STATE_DEFINE().
 

Enumerations

enum  pbl_panel_bus_format { PBL_PANEL_BUS_FORMAT_JDI_RGB222 }
 Bus formats. More...
 

Functions

int pbl_panel_prepare (const struct pbl_panel *panel)
 Power a panel up.
 
int pbl_panel_enable (const struct pbl_panel *panel)
 Turn a panel's image on.
 
int pbl_panel_disable (const struct pbl_panel *panel)
 Turn a panel's image off.
 
int pbl_panel_unprepare (const struct pbl_panel *panel)
 Power a panel down.
 

Variables

const struct pbl_device_class pbl_panel_class
 Class of the panels.
 

Detailed Description

Panel class.

A panel is the glass behind a display controller: a struct pbl_panel device owning the panel's supplies and drive signals, and describing what the controller has to generate, its timing and bus format. As in Linux, the controller brings the panel up and down in steps around its own:

Calls are made by the controller, from task context, and return 0 or a negative errno, -ENODEV if the panel is not ready.


Data Structure Documentation

◆ pbl_panel_timing

struct pbl_panel_timing

Timing of a panel scanned by its controller.

Horizontal values are in clock periods, vertical values in lines.

Data Fields
uint32_t clock_hz Horizontal clock frequency (HCK), in Hz.
uint16_t enable_end Last column of the write enable (ENB) pulse.
uint16_t enable_start First column of the write enable (ENB) pulse.
uint16_t hactive Visible columns.
uint16_t hback_porch Columns before the visible ones.
uint16_t hfront_porch Columns after the visible ones.
uint16_t vactive Visible lines.
uint16_t vback_porch Lines before the visible ones.
uint16_t vfront_porch Lines after the visible ones.

◆ pbl_panel

struct pbl_panel

A panel.

Data Fields
enum pbl_panel_bus_format bus_format Bus format.
struct pbl_device dev Device.
const struct pbl_panel_ops * ops Driver operations.
const struct pbl_panel_timing * timing Timing the controller generates.

Macro Definition Documentation

◆ PBL_PANEL_INIT

#define PBL_PANEL_INIT (   sym,
  _name,
  _init,
  _ops,
  _deps,
  _timing,
  _bus_format 
)
Value:
{ \
.dev = PBL_DEVICE_INIT_CLASS(sym, _name, _init, nullptr, _deps, &pbl_panel_class), \
.ops = (_ops), \
.timing = (_timing), \
.bus_format = (_bus_format), \
}
#define PBL_DEVICE_INIT_CLASS(sym, _name, _init, _parent, _deps, _cls)
Initializer for the struct pbl_device of device instance sym, in class _cls.
Definition device.h:123
const struct pbl_device_class pbl_panel_class
Class of the panels.

Initializer for the struct pbl_panel of panel sym, for the PBL_*_DEFINE() macro of a driver, with its device state defined by PBL_DEVICE_STATE_DEFINE().

Parameters
symSymbol of the panel instance.
_nameName.
_initDriver device init.
_opsDriver operations.
_depsDependencies from PBL_DEVICE_DEPS(), or NULL.
_timingTiming.
_bus_formatBus format.

Enumeration Type Documentation

◆ pbl_panel_bus_format

Bus formats.

Enumerator
PBL_PANEL_BUS_FORMAT_JDI_RGB222 

JDI memory-in-pixel parallel interface: 2 bits per color on the R1/R2, G1/G2 and B1/B2 lines, with HST/HCK, VST/VCK, ENB and XRST.

Function Documentation

◆ pbl_panel_disable()

int pbl_panel_disable ( const struct pbl_panel *  panel)

Turn a panel's image off.

Parameters
panelPanel.
Returns
0 or a negative errno.

◆ pbl_panel_enable()

int pbl_panel_enable ( const struct pbl_panel *  panel)

Turn a panel's image on.

Parameters
panelPanel.
Returns
0 or a negative errno.

◆ pbl_panel_prepare()

int pbl_panel_prepare ( const struct pbl_panel *  panel)

Power a panel up.

Parameters
panelPanel.
Returns
0 or a negative errno.

◆ pbl_panel_unprepare()

int pbl_panel_unprepare ( const struct pbl_panel *  panel)

Power a panel down.

Parameters
panelPanel.
Returns
0 or a negative errno.

Variable Documentation

◆ pbl_panel_class

const struct pbl_device_class pbl_panel_class
extern

Class of the panels.