RK3288W Android8.1開發日誌(四)

一、最近碰到一個奇怪的問題,tc358749x碰到的問題還挺多,之前是打開一直黑屏,最後從硬件上解決了,現在又碰到了一個問題,HDMI+LVDS雙屏顯示,HDMIIN打開是黑屏的,表現形式跟之前的一樣,會出現CamerIcIspIrq: pic err first,g_ispFrameNum == 1錯誤。只有單獨打開HDMI通道HDMI IN才正常,一開始是懷疑LVDS的GPIO有服用,檢查了好幾遍,沒發現問題有服用的GPIO口,測試幾路電壓也是正常的,問了芯片原廠,配合讀出的寄存器也是正常的,做了好多實驗,提高CPU、GPU、DDR頻率,還是不行,最後發現是ISP_CLK頻率驅動不足的原因所致,這裏也要感謝原廠和芯片廠的大力支持。

修改點:
rk3288\kernel\drivers\media\video\rk_camsys\camsys_marvin.c

	if (CHIP_TYPE == 3288) {
		//isp_clk = 420000000; //modiy by peng@ZY
		isp_clk = 550000000;
		camsys_trace(1, "%s isp_clk: 420Mhz; CHIP TYPE is %d",
			     dev_name(camsys_dev->miscdev.this_device),
			     CHIP_TYPE);
	} else {
		if (on == 1)
			isp_clk = 210000000;
		else
			//isp_clk = 420000000;/modiy by peng@ZY
			isp_clk = 550000000;
	}

二、HDMI uboot和kernel顯示logo
(1)rk3288\u-boot\include\configs\rk32plat.h
添加#define CONFIG_DRM_ROCKCHIP_DW_HDMI

(2)dtsi

			route_hdmi: route-hdmi {
				status = "disabled";
				logo,uboot = "logo.bmp";
				logo,kernel = "logo_kernel.bmp";
				logo,mode = "center";
				charge_logo,mode = "center";
				connect = <&vopb_out_hdmi>;
			};

(3)dts

&route_hdmi {
	status = "okay";
};

三、調試IR
硬件是連接到PWM0,PWM0系統默認是給了EDP/LVDS的背光,這裏要先屏蔽掉LVDS上的背光PWM,(LVDS的背光硬件強制供電了,但是注意會有個問題,背光無法調節亮暗)將PWM0獨立出來給IR用,dts配置:(注意usercode)

&pwm0 {
	compatible = "rockchip,remotectl-pwm";
	interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
	remote_pwm_id = <0>;
	handle_cpu_id = <1>;
	status = "okay";

	ir_key0 {
		rockchip,usercode = <0xffee>;
		rockchip,key_table =
			<0xa6	KEY_POWER>,
			<0xf2	KEY_HOME>,
			<0xfa	KEY_BACK>,
			<0xba	KEY_MENU>,
			<0xf9	KEY_UP>,
			<0xe9	KEY_DOWN>,
			<0xa5	KEY_LEFT>,
			<0xe4	KEY_RIGHT>,
			<0xe5	KEY_ENTER>,
			<0xec	KEY_VOLUMEUP>,
			<0xe8	KEY_VOLUMEDOWN>,
			<0xe6	KEY_MUTE>,
		  <0xed	388>,
			<0xad	KEY_1>,
			<0xaf	KEY_2>,
			<0xef	KEY_3>,
			<0xa9	KEY_4>,
			<0xab	KEY_5>,
			<0xeb	KEY_6>,
			<0xb1	KEY_7>,
			<0xb3	KEY_8>,
			<0xf3	KEY_9>,
			<0xf0	KEY_0>,
			<0xae	KEY_BACKSPACE>,
      <0xde	KEY_SEARCH>;
 	};
};

編譯燒錄,打開debug
echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print
觸發遙控器按鍵,發現沒信息出來,用示波器測量IR的PWM,按按鍵有波形,定位是系統沒配置好。修改dits:

	pwm0: pwm@ff680000 {
		compatible = "rockchip,rk3288-pwm";
		reg = <0x0 0xff680000 0x0 0x10>;
		#pwm-cells = <3>;
		pinctrl-names = "active"; //將activice改爲default
		pinctrl-0 = <&pwm0_pin>;
		clocks = <&cru PCLK_PWM>;
		clock-names = "pwm";
		status = "disabled";
	};

燒錄查看鍵值正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章