video: rockchip: hdmi: add dts property rockchip,defaultdepth
authorZheng Yang <zhengyang@rock-chips.com>
Tue, 7 Feb 2017 06:42:50 +0000 (14:42 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 15 Feb 2017 08:58:37 +0000 (16:58 +0800)
To modify hdmi default output color depth, use following dts:

&hdmi {
rockchip,defaultdepth = <10>;
}

rockchip,defaultdepth could be following value:
<0>  auto select color depth, prefer 8bit
<8>  8bit
<10> 10bit

Change-Id: Idce0bd080c042edf3939c5c38b76d4d1860b7a9f
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
(cherry picked from commit 905228ba1e43c24b3048820a7f1047a4ed5ef185)

drivers/video/rockchip/hdmi/rockchip-hdmi-core.c
drivers/video/rockchip/hdmi/rockchip-hdmi.h
drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c

index cf6933bc3fbc8ecdc54fd43992313319cf0ce22b..074f6d21626e77e44268a13c364300a477a62e6c 100644 (file)
@@ -639,7 +639,7 @@ struct hdmi *rockchip_hdmi_register(struct hdmi_property *property,
                hdmi->vic = hdmi->property->defaultmode;
        }
        hdmi->colormode = HDMI_VIDEO_DEFAULT_COLORMODE;
-       hdmi->colordepth = HDMI_VIDEO_DEFAULT_COLORDEPTH;
+       hdmi->colordepth = hdmi->property->defaultdepth;
        hdmi->colorimetry = HDMI_COLORIMETRY_NO_DATA;
        hdmi->mode_3d = HDMI_3D_NONE;
        hdmi->audio.type = HDMI_AUDIO_DEFAULT_TYPE;
index 1e788b9dae3e5a274957d91e728d3c20c53132da..08e1f9b47ee9e6237948213ff33f85bccb729eb0 100644 (file)
@@ -440,6 +440,7 @@ struct hdmi_property {
        int display;
        int feature;
        int defaultmode;
+       int defaultdepth;
        void *priv;
 };
 
index d8c1f1e4c02fb7c18e6bcab18329f14b30497d40..09dcedb8df9aeaba2f1872ca064b17aa1a3c2014 100644 (file)
@@ -528,6 +528,13 @@ static int rockchip_hdmiv2_parse_dt(struct hdmi_dev *hdmi_dev)
        } else {
                rk_hdmi_property.defaultmode = HDMI_VIDEO_DEFAULT_MODE;
        }
+       if (!of_property_read_u32(np, "rockchip,defaultdepth", &val) &&
+           (val > 0)) {
+               pr_info("default depth is %d\n", val);
+               rk_hdmi_property.defaultdepth = val;
+       } else {
+               rk_hdmi_property.defaultdepth = HDMI_VIDEO_DEFAULT_COLORDEPTH;
+       }
        if (of_get_property(np, "rockchip,phy_table", &val)) {
                hdmi_dev->phy_table = kmalloc(val, GFP_KERNEL);
                if (!hdmi_dev->phy_table) {