XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
drm_mipi_dbi.h File Reference
#include <linux/mutex.h>
#include <drm/drm_atomic_state_helper.h>
#include <drm/drm_device.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_probe_helper.h>
Include dependency graph for drm_mipi_dbi.h:

Go to the source code of this file.

Classes

struct  mipi_dbi
 
struct  mipi_dbi_dev
 

Macros

#define mipi_dbi_command(dbi, cmd, seq...)
 
#define DRM_MIPI_DBI_PLANE_FORMATS
 
#define DRM_MIPI_DBI_PLANE_FORMAT_MODIFIERS
 
#define DRM_MIPI_DBI_PLANE_FUNCS
 
#define DRM_MIPI_DBI_PLANE_HELPER_FUNCS
 
#define DRM_MIPI_DBI_CRTC_FUNCS
 
#define DRM_MIPI_DBI_CRTC_HELPER_FUNCS
 
#define DRM_MIPI_DBI_CONNECTOR_FUNCS
 
#define DRM_MIPI_DBI_CONNECTOR_HELPER_FUNCS    .get_modes = drm_mipi_dbi_connector_helper_get_modes
 
#define DRM_MIPI_DBI_MODE_CONFIG_FUNCS
 
#define DRM_MIPI_DBI_MODE_CONFIG_HELPER_FUNCS    .atomic_commit_tail = drm_atomic_helper_commit_tail_rpm
 

Functions

int mipi_dbi_spi_init (struct spi_device *spi, struct mipi_dbi *dbi, struct gpio_desc *dc)
 
int drm_mipi_dbi_dev_init (struct mipi_dbi_dev *dbidev, const struct drm_display_mode *mode, u32 format, unsigned int rotation, size_t tx_buf_size)
 
void mipi_dbi_hw_reset (struct mipi_dbi *dbi)
 
bool mipi_dbi_display_is_on (struct mipi_dbi *dbi)
 
int mipi_dbi_poweron_reset (struct mipi_dbi_dev *dbidev)
 
int mipi_dbi_poweron_conditional_reset (struct mipi_dbi_dev *dbidev)
 
u32 mipi_dbi_spi_cmd_max_speed (struct spi_device *spi, size_t len)
 
int mipi_dbi_spi_transfer (struct spi_device *spi, u32 speed_hz, u8 bpw, const void *buf, size_t len)
 
int mipi_dbi_command_read (struct mipi_dbi *dbi, u8 cmd, u8 *val)
 
int mipi_dbi_command_buf (struct mipi_dbi *dbi, u8 cmd, u8 *data, size_t len)
 
int mipi_dbi_command_stackbuf (struct mipi_dbi *dbi, u8 cmd, const u8 *data, size_t len)
 
int mipi_dbi_buf_copy (void *dst, struct iosys_map *src, struct drm_framebuffer *fb, struct drm_rect *clip, bool swap, struct drm_format_conv_state *fmtcnv_state)
 
int drm_mipi_dbi_plane_helper_atomic_check (struct drm_plane *plane, struct drm_atomic_commit *state)
 
void drm_mipi_dbi_plane_helper_atomic_update (struct drm_plane *plane, struct drm_atomic_commit *state)
 
enum drm_mode_status drm_mipi_dbi_crtc_helper_mode_valid (struct drm_crtc *crtc, const struct drm_display_mode *mode)
 
int drm_mipi_dbi_crtc_helper_atomic_check (struct drm_crtc *crtc, struct drm_atomic_commit *state)
 
void drm_mipi_dbi_crtc_helper_atomic_disable (struct drm_crtc *crtc, struct drm_atomic_commit *state)
 
int drm_mipi_dbi_connector_helper_get_modes (struct drm_connector *connector)
 

Macro Definition Documentation

◆ DRM_MIPI_DBI_CONNECTOR_FUNCS

#define DRM_MIPI_DBI_CONNECTOR_FUNCS
Value:
.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, \
struct drm_connector_state * drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector)
void drm_atomic_helper_connector_destroy_state(struct drm_connector *connector, struct drm_connector_state *state)
void drm_atomic_helper_connector_reset(struct drm_connector *connector)
int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY)

◆ DRM_MIPI_DBI_CONNECTOR_HELPER_FUNCS

#define DRM_MIPI_DBI_CONNECTOR_HELPER_FUNCS    .get_modes = drm_mipi_dbi_connector_helper_get_modes

◆ DRM_MIPI_DBI_CRTC_FUNCS

#define DRM_MIPI_DBI_CRTC_FUNCS
Value:
.atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, \
.atomic_destroy_state = drm_atomic_helper_crtc_destroy_state
int drm_atomic_helper_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event, uint32_t flags, struct drm_modeset_acquire_ctx *ctx)
int drm_atomic_helper_set_config(struct drm_mode_set *set, struct drm_modeset_acquire_ctx *ctx)
void drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc, struct drm_crtc_state *state)
void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc)
struct drm_crtc_state * drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc)

◆ DRM_MIPI_DBI_CRTC_HELPER_FUNCS

#define DRM_MIPI_DBI_CRTC_HELPER_FUNCS
Value:
void drm_mipi_dbi_crtc_helper_atomic_disable(struct drm_crtc *crtc, struct drm_atomic_commit *state)
enum drm_mode_status drm_mipi_dbi_crtc_helper_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode *mode)
int drm_mipi_dbi_crtc_helper_atomic_check(struct drm_crtc *crtc, struct drm_atomic_commit *state)

◆ DRM_MIPI_DBI_MODE_CONFIG_FUNCS

#define DRM_MIPI_DBI_MODE_CONFIG_FUNCS
Value:
.atomic_check = drm_atomic_helper_check, \
.atomic_commit = drm_atomic_helper_commit
int drm_atomic_helper_commit(struct drm_device *dev, struct drm_atomic_commit *state, bool nonblock)
int drm_atomic_helper_check(struct drm_device *dev, struct drm_atomic_commit *state)
struct drm_framebuffer * drm_gem_fb_create_with_dirty(struct drm_device *dev, struct drm_file *file, const struct drm_format_info *info, const struct drm_mode_fb_cmd2 *mode_cmd)

◆ DRM_MIPI_DBI_MODE_CONFIG_HELPER_FUNCS

#define DRM_MIPI_DBI_MODE_CONFIG_HELPER_FUNCS    .atomic_commit_tail = drm_atomic_helper_commit_tail_rpm

◆ DRM_MIPI_DBI_PLANE_FORMAT_MODIFIERS

#define DRM_MIPI_DBI_PLANE_FORMAT_MODIFIERS
Value:
#define DRM_FORMAT_MOD_LINEAR
Definition drm_fourcc.h:554
#define DRM_FORMAT_MOD_INVALID
Definition drm_fourcc.h:544

◆ DRM_MIPI_DBI_PLANE_FORMATS

#define DRM_MIPI_DBI_PLANE_FORMATS
Value:
#define DRM_FORMAT_RGB565
Definition drm_fourcc.h:167
#define DRM_FORMAT_XRGB8888
Definition drm_fourcc.h:175

◆ DRM_MIPI_DBI_PLANE_FUNCS

#define DRM_MIPI_DBI_PLANE_FUNCS
Value:
.update_plane = drm_atomic_helper_update_plane, \
int drm_atomic_helper_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h, struct drm_modeset_acquire_ctx *ctx)
int drm_atomic_helper_disable_plane(struct drm_plane *plane, struct drm_modeset_acquire_ctx *ctx)
#define DRM_GEM_SHADOW_PLANE_FUNCS
Definition drm_gem_atomic_helper.h:109

◆ DRM_MIPI_DBI_PLANE_HELPER_FUNCS

#define DRM_MIPI_DBI_PLANE_HELPER_FUNCS
Value:
#define DRM_GEM_SHADOW_PLANE_HELPER_FUNCS
Definition drm_gem_atomic_helper.h:125
void drm_mipi_dbi_plane_helper_atomic_update(struct drm_plane *plane, struct drm_atomic_commit *state)
int drm_mipi_dbi_plane_helper_atomic_check(struct drm_plane *plane, struct drm_atomic_commit *state)

◆ mipi_dbi_command

#define mipi_dbi_command (   dbi,
  cmd,
  seq... 
)
Value:
({ \
const u8 d[] = { seq }; \
struct device *dev = &(dbi)->spi->dev; \
int ret; \
ret = mipi_dbi_command_stackbuf(dbi, cmd, d, ARRAY_SIZE(d)); \
if (ret) \
dev_err_ratelimited(dev, "error %d when sending command %#02x\n", ret, cmd); \
ret; \
})
#define ARRAY_SIZE(arr)
Definition bordoisila_bits.h:61
int mipi_dbi_command_stackbuf(struct mipi_dbi *dbi, u8 cmd, const u8 *data, size_t len)
const struct device * dev
Definition drm_print.h:519
#define d
Definition libunicode.c:1833
uint8_t u8
Definition kernel.h:14
Definition fs.h:255

mipi_dbi_command - MIPI DCS command with optional parameter(s) @dbi: MIPI DBI structure @cmd: Command @seq: Optional parameter(s)

Send MIPI DCS command to the controller. Use mipi_dbi_command_read() for get/read.

Returns: Zero on success, negative error code on failure.

Function Documentation

◆ drm_mipi_dbi_connector_helper_get_modes()

int drm_mipi_dbi_connector_helper_get_modes ( struct drm_connector *  connector)

◆ drm_mipi_dbi_crtc_helper_atomic_check()

int drm_mipi_dbi_crtc_helper_atomic_check ( struct drm_crtc *  crtc,
struct drm_atomic_commit *  state 
)

◆ drm_mipi_dbi_crtc_helper_atomic_disable()

void drm_mipi_dbi_crtc_helper_atomic_disable ( struct drm_crtc *  crtc,
struct drm_atomic_commit *  state 
)

◆ drm_mipi_dbi_crtc_helper_mode_valid()

enum drm_mode_status drm_mipi_dbi_crtc_helper_mode_valid ( struct drm_crtc *  crtc,
const struct drm_display_mode *  mode 
)

◆ drm_mipi_dbi_dev_init()

int drm_mipi_dbi_dev_init ( struct mipi_dbi_dev *  dbidev,
const struct drm_display_mode *  mode,
u32  format,
unsigned int  rotation,
size_t  tx_buf_size 
)

◆ drm_mipi_dbi_plane_helper_atomic_check()

int drm_mipi_dbi_plane_helper_atomic_check ( struct drm_plane *  plane,
struct drm_atomic_commit *  state 
)

◆ drm_mipi_dbi_plane_helper_atomic_update()

void drm_mipi_dbi_plane_helper_atomic_update ( struct drm_plane *  plane,
struct drm_atomic_commit *  state 
)

◆ mipi_dbi_buf_copy()

int mipi_dbi_buf_copy ( void *  dst,
struct iosys_map *  src,
struct drm_framebuffer *  fb,
struct drm_rect *  clip,
bool  swap,
struct drm_format_conv_state *  fmtcnv_state 
)

◆ mipi_dbi_command_buf()

int mipi_dbi_command_buf ( struct mipi_dbi *  dbi,
u8  cmd,
u8 *  data,
size_t  len 
)

◆ mipi_dbi_command_read()

int mipi_dbi_command_read ( struct mipi_dbi *  dbi,
u8  cmd,
u8 *  val 
)

◆ mipi_dbi_command_stackbuf()

int mipi_dbi_command_stackbuf ( struct mipi_dbi *  dbi,
u8  cmd,
const u8 *  data,
size_t  len 
)

◆ mipi_dbi_display_is_on()

bool mipi_dbi_display_is_on ( struct mipi_dbi *  dbi)

◆ mipi_dbi_hw_reset()

void mipi_dbi_hw_reset ( struct mipi_dbi *  dbi)

◆ mipi_dbi_poweron_conditional_reset()

int mipi_dbi_poweron_conditional_reset ( struct mipi_dbi_dev *  dbidev)

◆ mipi_dbi_poweron_reset()

int mipi_dbi_poweron_reset ( struct mipi_dbi_dev *  dbidev)

◆ mipi_dbi_spi_cmd_max_speed()

u32 mipi_dbi_spi_cmd_max_speed ( struct spi_device *  spi,
size_t  len 
)

◆ mipi_dbi_spi_init()

int mipi_dbi_spi_init ( struct spi_device *  spi,
struct mipi_dbi *  dbi,
struct gpio_desc *  dc 
)

◆ mipi_dbi_spi_transfer()

int mipi_dbi_spi_transfer ( struct spi_device *  spi,
u32  speed_hz,
u8  bpw,
const void *  buf,
size_t  len 
)