日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

[RK3399][Android7.1][Camera]IMX307 mclk 37.125M补丁

發布時間:2023/12/9 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [RK3399][Android7.1][Camera]IMX307 mclk 37.125M补丁 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考rk3288 7.1?IMX307 cif clk out?37.125M補丁,移植過來,rk3399還是無法分出37.125M

RK3399默認cif clk默認選擇的是GPLL 800M作為母時鐘,無法分出37.125M,RK3399默認時鐘樹里沒有594M母時鐘

只有選擇最接近594M NPLL(NPLL默認600M),驅動代碼也需要修改,否則無法設置成37.125M,

cat ./sys/kernel/debug/clk/clk_summary |grep cif
? ? ? ? ? clk_cifout_src ? ? ? ? ? ? ? ? ?0 ? ? ? ? ? ?3 ? 594000000 ? ? ? ? ?0 0
? ? ? ? ? ? ? ? clk_cifout ? ? ? ? ? ? ? ? ? 0 ? ? ? ? ? ?2 ? ?37125000? ? ? ? ? ?0 0

完整補丁如下:

diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3399-d20pro.dts b/kernel/arch/arm64/boot/dts/rockchip/rk3399-d20pro.dts index eb60280..2481f1d 100755 --- a/kernel/arch/arm64/boot/dts/rockchip/rk3399-d20pro.dts +++ b/kernel/arch/arm64/boot/dts/rockchip/rk3399-d20pro.dts @@ -955,10 +955,22 @@&isp0 {status = "okay"; + + // start for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz add + assigned-clocks = <&cru PLL_NPLL>, <&cru SCLK_CIF_OUT_SRC>, <&cru SCLK_CIF_OUT>; + assigned-clock-parents = <&cru PLL_NPLL>; + assigned-clock-rates = <594000000>, <594000000>, <37125000>; + // end for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz add};&isp1 {status = "okay"; + + // start for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz add + assigned-clocks = <&cru PLL_NPLL>, <&cru SCLK_CIF_OUT_SRC>, <&cru SCLK_CIF_OUT>; + assigned-clock-parents = <&cru PLL_NPLL>; + assigned-clock-rates = <594000000>, <594000000>, <37125000>; + // end for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz add};&isp0_mmu { diff --git a/kernel/drivers/media/video/rk_camsys/camsys_cif.c b/kernel/drivers/media/video/rk_camsys/camsys_cif.c old mode 100644 new mode 100755 index fce0784..a597ea6 --- a/kernel/drivers/media/video/rk_camsys/camsys_cif.c +++ b/kernel/drivers/media/video/rk_camsys/camsys_cif.c @@ -148,7 +148,9 @@ static int camsys_cif_clkout_cb(void *ptr, unsigned int on, unsigned int clkin)spin_lock(&clk->lock);if (on && (clk->out_on != on)) {clk_prepare_enable(clk->cif_clk_out); - clk_set_rate(clk->cif_clk_out, clkin); + //start for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz add + //clk_set_rate(clk->cif_clk_out, clkin); + //end for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz addclk->out_on = on;camsys_trace(1, "%s clock out(rate: %dHz) turn on", diff --git a/kernel/drivers/media/video/rk_camsys/camsys_marvin.c b/kernel/drivers/media/video/rk_camsys/camsys_marvin.c old mode 100644 new mode 100755 index 0f849a8..1a713ff --- a/kernel/drivers/media/video/rk_camsys/camsys_marvin.c +++ b/kernel/drivers/media/video/rk_camsys/camsys_marvin.c @@ -566,6 +566,7 @@ static int camsys_mrv_clkin_cb(void *ptr, unsigned int on)clk_prepare_enable(clk->pclk_dphytxrx);clk_prepare_enable(clk->pclkin_isp); + clk_prepare_enable(clk->cif_clk_out);} else {clk_set_rate(clk->clk_isp0, isp_clk);clk_prepare_enable(clk->hclk_isp0_noc); @@ -682,7 +683,9 @@ static int camsys_mrv_clkout_cb(void *ptr, unsigned int on, unsigned int inclk)mutex_lock(&clk->lock);if (on && (clk->out_on != on)) { - clk_set_rate(clk->cif_clk_out, inclk); + //start for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz add + //clk_set_rate(clk->cif_clk_out, inclk); + //end for camera IMX307 mclk "sclk_vip_out" set 37.125M by lpz addclk_prepare_enable(clk->cif_clk_out);clk->out_on = on;camsys_trace(1, "%s clock out(rate: %dHz) turn on", @@ -691,7 +694,9 @@ static int camsys_mrv_clkout_cb(void *ptr, unsigned int on, unsigned int inclk)} else if (!on && clk->out_on) {if (!IS_ERR_OR_NULL(clk->cif_clk_pll)) {/* just for closing clk which base on XIN24M */ - clk_set_rate(clk->cif_clk_out, 36000000); + //clk_set_rate(clk->cif_clk_out, 36000000); + clk_set_parent(clk->cif_clk_out, + clk->cif_clk_pll);} else {camsys_warn("%s clock out may be not off!",dev_name(camsys_dev->miscdev.this_device)); (END)

總結

以上是生活随笔為你收集整理的[RK3399][Android7.1][Camera]IMX307 mclk 37.125M补丁的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。