欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Dragonbaord 410c / DSI / SN65DSI83EVM / LVDS / LCD; 研究筆記

程序员文章站 2022-05-28 23:25:22
...

BSP = APQ8016_410C_LA.BR.1.2.7-01010-8x16.0_6.0.1_Marsh_Mallo_P2

LCDM = 微雪的7inch Capacitive Touch LCD (D)模塊, 1024x600HJ070NA-13A

Dragonbaord 410c / DSI / SN65DSI83EVM / LVDS / LCD; 研究筆記

 

SN65DSI83EVM -> LVDS -> LCD硬體線路,請參考前篇,不贅述.

db410c -> DSI -> SN65DSI83EVM硬體線路,如下,用了3-lane
 

Dragonbaord 410c / DSI / SN65DSI83EVM / LVDS / LCD; 研究筆記

(1)為了要有navigation bar,要改

gedit device/qcom/common/rootdir/etc/init.qcom.early_boot.sh

    "msm8916" | "msm8909")
        if test -n "$virtual_size"
        then
            if [ $virtual_size -ge "1080" ]
            then
                if [ $soc_hwplatform == "SBC" ]
                then
			...
                else
			...
                fi
            elif [ $virtual_size -ge "720" ]
            then
                setprop ro.sf.lcd_density 160
		setprop qemu.hw.mainkeys 0
            elif [ $virtual_size -ge "480" ]
            then
		...
            else
		...
            fi
        fi

 

 

 

(2)
Device-tree要改

gedit kernel/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi

	aaa@qq.com { /* BLSP1 QUP4 */
		/* DSI_TO_HDMI I2C configuration */
		aaa@qq.com {
			compatible = "adv7533";
			...
			adv7533,disable-gpios = <1>; //Add this line can switch MIPI to HS connector
		};
	};

 

&mdss_mdp {
	qcom,mdss-pref-prim-intf = "dsi";

	dsi_adv7533_720p: qcom,mdss_dsi_adv7533_720p {
	...
	};


	dsi_adv7533_1080p: qcom,mdss_dsi_adv7533_1080p {
	...
	};

	dsi_adv7533_600p: qcom,mdss_dsi_adv7533_600p {
		label = "adv7533 720p video mode dsi panel";
		qcom,mdss-dsi-panel-name = "dsi_adv7533_600p";
		qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-panel-destination = "display_1";
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-panel-width = <1024>;
		qcom,mdss-dsi-panel-height = <600>;
		qcom,mdss-dsi-h-front-porch = <10>;
		qcom,mdss-dsi-h-back-porch = <10>;
		qcom,mdss-dsi-h-pulse-width = <300>;
		qcom,mdss-dsi-h-sync-skew = <0>;
		qcom,mdss-dsi-v-back-porch = <5>;
		qcom,mdss-dsi-v-front-porch = <5>;
		qcom,mdss-dsi-v-pulse-width = <25>;
		qcom,mdss-dsi-h-left-border = <0>;
		qcom,mdss-dsi-h-right-border = <0>;
		qcom,mdss-dsi-v-top-border = <0>;
		qcom,mdss-dsi-v-bottom-border = <0>;
		qcom,mdss-dsi-bpp = <24>;
		qcom,mdss-dsi-underflow-color = <0xff>;
		qcom,mdss-dsi-border-color = <0>;
		qcom,mdss-dsi-on-command = [
				//05 01 00 00 c8 00 02 11 00
				//05 01 00 00 0a 00 02 29 00
				];
		qcom,mdss-dsi-off-command = [
				//05 01 00 00 00 00 02 28 00
				//05 01 00 00 00 00 02 10 00
				];
		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
		qcom,mdss-dsi-h-sync-pulse = <1>;
		qcom,mdss-dsi-traffic-mode = "non_burst_sync_pulse";
		qcom,mdss-dsi-bllp-eof-power-mode;
		qcom,mdss-dsi-bllp-power-mode;
		qcom,mdss-dsi-lane-0-state;
		qcom,mdss-dsi-lane-1-state;
		qcom,mdss-dsi-lane-2-state;
		//qcom,mdss-dsi-panel-timings = [A4 24 18 00 4E 52 1C 28 1C 03 04 00];
		//qcom,mdss-dsi-panel-timings = [54 0e 0a 00 2e 30 0e 12 0a 03 04 00];
		qcom,mdss-dsi-panel-timings = [D5 32 22 00 60 64 26 36 29 03 04 00];
		qcom,mdss-dsi-t-clk-post = <0x03>;
		qcom,mdss-dsi-t-clk-pre = <0x20>;
		qcom,mdss-dsi-bl-min-level = <1>;
		qcom,mdss-dsi-bl-max-level = <4095>;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
		qcom,mdss-dsi-reset-sequence = <1 20>, <0 1>, <1 20>;
		qcom,mdss-pan-physical-width-dimension = <160>;
		qcom,mdss-pan-physical-height-dimension = <90>;
		qcom,mdss-dsi-force-clock-lane-hs;
		qcom,mdss-dsi-always-on;
	};

};

 

 

 

&mdss_dsi0 {
	//qcom,dsi-pref-prim-pan = <&dsi_adv7533_1080p>;
	//qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
	qcom,dsi-pref-prim-pan = <&dsi_adv7533_600p>;
	pinctrl-names = "mdss_default", "mdss_sleep";
	...
	qcom,panel-supply-entries {
			...
			};

			qcom,aaa@qq.com {
			...
			};
	};

};

 

 


(3)

 

 

SN65DSI83EVM I2C參數.

 

	//PLL off 
	S 5A 0D 00 P	
	
	//sw reset
	S 5A 09 01 P

	//lvds clk.range 
	S 5A 0A 09 P	
	//200/51= 4 => 011 => shl 3 => 3 * 8 = 24 = 18h
 	S 5A 0B 18 P	

	
	//10 set lanes 3 lanes[4,3] => 01 =>  ,[6,5]=01=20h
	S 5A 10 29 P

	//12 set cha clk range 
	//150/5=30=1Eh
	S 5A 12 1E P
	
	//18 LVDS signal format
	S 5A 18 79 P	


	//1024=400h
	//20 hor.lo
	S 5A 20 00 P
	//21 hor.hi
	S 5A 21 04 P

	//28 sync_delay.lo
	S 5A 28 00 P
	//29 sync_delay.hi
	S 5A 29 03 P	
	
	//PLL enable 
	S 5A 0D 01 P	

 

相关标签: navigation bar