2 * Copyright (C) 2016 Chris Zhong <zyw@rock-chips.com>
3 * Copyright (C) 2016 ROCKCHIP, Inc.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
15 #ifndef _CDN_DP_CORE_H
16 #define _CDN_DP_CORE_H
19 #include <drm/drm_crtc_helper.h>
20 #include <drm/drm_dp_helper.h>
21 #include <drm/drm_panel.h>
22 #include "rockchip_drm_drv.h"
33 enum audio_format format
;
39 enum vic_pxl_encoding_format
{
52 enum vic_pxl_encoding_format color_fmt
;
55 struct cdn_firmware_header
{
56 u32 size_bytes
; /* size of the entire header+image(s) in bytes */
57 u32 header_size
; /* size of just the header in bytes */
58 u32 iram_size
; /* size of iram */
59 u32 dram_size
; /* size of dram */
63 struct cdn_dp_device
*dp
;
64 struct notifier_block event_nb
;
65 struct extcon_dev
*extcon
;
72 struct cdn_dp_device
{
74 struct drm_device
*drm_dev
;
75 struct drm_connector connector
;
76 struct drm_encoder encoder
;
77 struct drm_display_mode mode
;
78 struct platform_device
*audio_pdev
;
79 struct work_struct event_work
;
87 const struct firmware
*fw
; /* cdn dp firmware */
88 unsigned int fw_version
; /* cdn fw version */
95 struct clk
*spdif_clk
;
97 struct reset_control
*spdif_rst
;
98 struct reset_control
*dptx_rst
;
99 struct reset_control
*apb_rst
;
100 struct reset_control
*core_rst
;
101 struct audio_info audio_info
;
102 struct video_info video_info
;
103 struct drm_dp_link link
;
104 struct cdn_dp_port
*port
[MAX_PHY
];
109 u8 dpcd
[DP_RECEIVER_CAP_SIZE
];
112 #endif /* _CDN_DP_CORE_H */