mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
drm/bridge: support rk1000 tv encoder
RK1000 is a digital-analog mixed chip which has tve output function. RK1000's registers can be written and read through I2C interaface. Because RK1000's I2C need dclk and mclk, RK1000 TVE should be registered after RK1000 CORE. Change-Id: I65b40826bd1dbf07d4fa94ecdf8c75005008731f Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
This commit is contained in:
@@ -134,6 +134,14 @@ config DRM_RK630_TVE
|
||||
help
|
||||
ROCKCHIP TVE bridge chip RK630 driver.
|
||||
|
||||
config DRM_RK1000_TVE
|
||||
tristate "Rockchip RK1000 TVE bridge"
|
||||
depends on OF
|
||||
select DRM_KMS_HELPER
|
||||
select MFD_RK1000
|
||||
help
|
||||
Rockchip TVE bridge chip driver.
|
||||
|
||||
config DRM_SIL_SII8620
|
||||
tristate "Silicon Image SII8620 HDMI/MHL bridge"
|
||||
depends on OF
|
||||
|
||||
@@ -9,6 +9,7 @@ obj-$(CONFIG_DRM_NXP_PTN3460) += nxp-ptn3460.o
|
||||
obj-$(CONFIG_DRM_PARADE_PS8622) += parade-ps8622.o
|
||||
obj-$(CONFIG_DRM_PARADE_PS8640) += parade-ps8640.o
|
||||
obj-$(CONFIG_DRM_RK630_TVE) += rk630-tve.o
|
||||
obj-$(CONFIG_DRM_RK1000_TVE) += rk1000.o
|
||||
obj-$(CONFIG_DRM_SIL_SII8620) += sil-sii8620.o
|
||||
obj-$(CONFIG_DRM_SII902X) += sii902x.o
|
||||
obj-$(CONFIG_DRM_SII9234) += sii9234.o
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
#include <drm/drm_of.h>
|
||||
#include <drm/drmP.h>
|
||||
#include <drm/drm_probe_helper.h>
|
||||
|
||||
#include "../rockchip/rockchip_drm_drv.h"
|
||||
|
||||
@@ -30,11 +30,11 @@ static const struct drm_display_mode rk1000_cvbs_mode[2] = {
|
||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720, 732,
|
||||
738, 864, 0, 576, 582, 588, 625, 0,
|
||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||
.vrefresh = 50, 0, },
|
||||
0, },
|
||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
|
||||
742, 858, 0, 480, 486, 492, 529, 0,
|
||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||
.vrefresh = 60, 0, },
|
||||
0, },
|
||||
};
|
||||
|
||||
struct rk1000_tve {
|
||||
@@ -258,8 +258,8 @@ static const struct drm_connector_funcs rk1000_connector_funcs = {
|
||||
|
||||
static void
|
||||
rk1000_bridge_mode_set(struct drm_bridge *bridge,
|
||||
struct drm_display_mode *mode,
|
||||
struct drm_display_mode *adjusted_mode)
|
||||
const struct drm_display_mode *mode,
|
||||
const struct drm_display_mode *adjusted_mode)
|
||||
{
|
||||
struct rk1000_tve *rk1000;
|
||||
|
||||
@@ -291,7 +291,8 @@ static void rk1000_bridge_disable(struct drm_bridge *bridge)
|
||||
rk1000_tve_disable(rk1000);
|
||||
}
|
||||
|
||||
static int rk1000_bridge_attach(struct drm_bridge *bridge)
|
||||
static int rk1000_bridge_attach(struct drm_bridge *bridge,
|
||||
enum drm_bridge_attach_flags flags)
|
||||
{
|
||||
struct rk1000_tve *rk1000 = bridge_to_rk1000(bridge);
|
||||
int ret;
|
||||
|
||||
Reference in New Issue
Block a user