linux/drivers/gpu/drm/zte/zx_vou.h
<<
>>
Prefs
   1/*
   2 * Copyright 2016 Linaro Ltd.
   3 * Copyright 2016 ZTE Corporation.
   4 *
   5 * This program is free software; you can redistribute it and/or modify
   6 * it under the terms of the GNU General Public License version 2 as
   7 * published by the Free Software Foundation.
   8 *
   9 */
  10
  11#ifndef __ZX_VOU_H__
  12#define __ZX_VOU_H__
  13
  14#define VOU_CRTC_MASK           0x3
  15
  16/* VOU output interfaces */
  17enum vou_inf_id {
  18        VOU_HDMI        = 0,
  19        VOU_RGB_LCD     = 1,
  20        VOU_TV_ENC      = 2,
  21        VOU_MIPI_DSI    = 3,
  22        VOU_LVDS        = 4,
  23        VOU_VGA         = 5,
  24};
  25
  26enum vou_inf_hdmi_audio {
  27        VOU_HDMI_AUD_SPDIF      = BIT(0),
  28        VOU_HDMI_AUD_I2S        = BIT(1),
  29        VOU_HDMI_AUD_DSD        = BIT(2),
  30        VOU_HDMI_AUD_HBR        = BIT(3),
  31        VOU_HDMI_AUD_PARALLEL   = BIT(4),
  32};
  33
  34void vou_inf_hdmi_audio_sel(struct drm_crtc *crtc,
  35                            enum vou_inf_hdmi_audio aud);
  36void vou_inf_enable(enum vou_inf_id id, struct drm_crtc *crtc);
  37void vou_inf_disable(enum vou_inf_id id, struct drm_crtc *crtc);
  38
  39enum vou_div_id {
  40        VOU_DIV_VGA,
  41        VOU_DIV_PIC,
  42        VOU_DIV_TVENC,
  43        VOU_DIV_HDMI_PNX,
  44        VOU_DIV_HDMI,
  45        VOU_DIV_INF,
  46        VOU_DIV_LAYER,
  47};
  48
  49enum vou_div_val {
  50        VOU_DIV_1 = 0,
  51        VOU_DIV_2 = 1,
  52        VOU_DIV_4 = 3,
  53        VOU_DIV_8 = 7,
  54};
  55
  56struct vou_div_config {
  57        enum vou_div_id id;
  58        enum vou_div_val val;
  59};
  60
  61void zx_vou_config_dividers(struct drm_crtc *crtc,
  62                            struct vou_div_config *configs, int num);
  63
  64void zx_vou_layer_enable(struct drm_plane *plane);
  65void zx_vou_layer_disable(struct drm_plane *plane);
  66
  67#endif /* __ZX_VOU_H__ */
  68