From: Nian Jing Date: Tue, 3 Jul 2018 11:44:10 +0000 (+0800) Subject: dts: cvbsout: add clk path config in dts X-Git-Tag: khadas-vims-v0.9.6-release~1751 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=590761c98ff408cce4398892f96abb9c7c9f0eac;p=platform%2Fkernel%2Flinux-amlogic.git dts: cvbsout: add clk path config in dts PD#169489: add clk path config in dts Change-Id: Id1ee72c9acf4030bff2e9f1c05e1420fdbe52131 Signed-off-by: Nian Jing --- diff --git a/arch/arm64/boot/dts/amlogic/g12a_pxp.dts b/arch/arm64/boot/dts/amlogic/g12a_pxp.dts index f0beb37..99d1228 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_pxp.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_pxp.dts @@ -142,6 +142,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt.dts index 5847c31..6f4f519 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt.dts @@ -154,6 +154,12 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + /* clk path */ + /* 0:vid_pll vid2_clk */ + /* 1:gp0_pll vid2_clk */ + /* 2:vid_pll vid1_clk */ + /* 3:gp0_pll vid1_clk */ + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts index 3817688..2c8550e 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts @@ -155,6 +155,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200.dts index 215ec97..8e59d40 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200.dts @@ -167,6 +167,12 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + /* clk path */ + /* 0:vid_pll vid2_clk */ + /* 1:gp0_pll vid2_clk */ + /* 2:vid_pll vid1_clk */ + /* 3:gp0_pll vid1_clk */ + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_buildroot.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_buildroot.dts index 1e26b76..abadb37 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_buildroot.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_buildroot.dts @@ -166,6 +166,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_drm_buildroot.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_drm_buildroot.dts index 64dff1c..c2884ea 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_drm_buildroot.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u200_drm_buildroot.dts @@ -167,6 +167,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u220.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u220.dts index 130fa6e..1cda171 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_u220.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_u220.dts @@ -154,6 +154,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211.dts b/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211.dts index 9d5103b..165b1b1 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211.dts @@ -186,6 +186,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_512m.dts b/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_512m.dts index 9e6631e..f9ccd3a 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_512m.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_512m.dts @@ -186,6 +186,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_buildroot.dts b/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_buildroot.dts index f3e5b2f..b41e543 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_buildroot.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905x2_u211_buildroot.dts @@ -185,6 +185,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905y2_u221.dts b/arch/arm64/boot/dts/amlogic/g12a_s905y2_u221.dts index 227a942..757fec8 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905y2_u221.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905y2_u221.dts @@ -154,6 +154,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12a */ diff --git a/arch/arm64/boot/dts/amlogic/g12b_a311d_skt.dts b/arch/arm64/boot/dts/amlogic/g12b_a311d_skt.dts index ee7c8d1..58d7034 100644 --- a/arch/arm64/boot/dts/amlogic/g12b_a311d_skt.dts +++ b/arch/arm64/boot/dts/amlogic/g12b_a311d_skt.dts @@ -176,6 +176,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12b */ diff --git a/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts b/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts index 36bf70e..8c590fd 100644 --- a/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts +++ b/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts @@ -150,6 +150,12 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + /* clk path */ + /* 0:vid_pll vid2_clk */ + /* 1:gp0_pll vid2_clk */ + /* 2:vid_pll vid1_clk */ + /* 3:gp0_pll vid1_clk */ + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12b */ diff --git a/arch/arm64/boot/dts/amlogic/g12b_pxp.dts b/arch/arm64/boot/dts/amlogic/g12b_pxp.dts index b511c30..f792665 100644 --- a/arch/arm64/boot/dts/amlogic/g12b_pxp.dts +++ b/arch/arm64/boot/dts/amlogic/g12b_pxp.dts @@ -142,6 +142,7 @@ "venci_0_gate", "venci_1_gate", "vdac_clk_gate"; + clk_path = <0>; /* performance: reg_address, reg_value */ /* g12b */ diff --git a/drivers/amlogic/media/vout/cvbs/cvbs_out.c b/drivers/amlogic/media/vout/cvbs/cvbs_out.c index 8633c90..4c735f7 100644 --- a/drivers/amlogic/media/vout/cvbs/cvbs_out.c +++ b/drivers/amlogic/media/vout/cvbs/cvbs_out.c @@ -1326,6 +1326,21 @@ static void cvbsout_get_config(struct device *dev) } } + /*clk path*/ + /*0:vid_pll vid2_clk*/ + /*1:gp0_pll vid2_clk*/ + /*2:vid_pll vid1_clk*/ + /*3:gp0_pll vid1_clk*/ + ret = of_property_read_u32(dev->of_node, "clk_path", &val); + if (ret) + cvbs_log_info("clk_path config null\n"); + else if (val > 3) + cvbs_log_err("error: invalid clk_path\n"); + else { + cvbs_clk_path = val; + cvbs_log_info("clk path:%d\n", cvbs_clk_path); + } + /* vdac config */ ret = of_property_read_u32(dev->of_node, "vdac_config", &val); if (ret)