求助:firefly3288 android5.1 HDMI无输出,没显示
本帖最后由 yubang 于 2016-10-21 10:21 编辑各位好,
我在firefly3288上运行android5.1(firefly百度网盘下载的源码)的代码; 代码中原来是支持vga和hdmi的;
我对代码进行了改动,将vga的支持去掉,只用 hdmi;
改动后,重新编译,更新各个映像;
现在板子能够正常启动进入到系统命令行, 插入hdmi,能够检测到(检测到720P60HZ),但是 却没有显示;
查看内核的启动log, 发现与hdmi相关的都是正常的;
请教各位, 为什么这样呢? 是不是我的改动哪里没有完成?
(我做的改动包括两个地方:
1)把dst文件与vga相关的去掉;
2)内核中把firefly vga的配置去掉;
)
以下是内核的log: (与hdmi相关的部分)
[ 0.000000] rkclk_init_clks: cnt_parent = 7
[ 0.000000] rkclk_init_clks: cnt_rate = 28
[ 0.000000] rk3288 set GPLL BW 20 for HDMI!
[ 0.000000] Architected cp15 timer(s) running at 24.00MHz (phys).
[ 1.045890] bio: create slab <bio-0> at 0
[ 1.046391] Rockchip hdmi driver version 2.0
[ 1.433560] io scheduler cfq registered (default)
[ 1.434770] rockchip-hdmiv2 ff980000.hdmi: rockchip hdmiv2 probe sucess.
[ 1.435470] IEP Driver loaded succesfully
[ 1.487524] hdmi->edidread:1
[ 1.583893] hdmi output corlor mode is 3
[ 1.583910] hdmi connect to lcdc1
[ 1.583922] switch:en=1,lcdc_id=1,screen type=6,cur type=0
[ 1.769686] rockchip-spdif-card rockchip-spdif-card.25:rk-hdmi-spdif-hifi <-> ff880000.rockchip-spdif mapping ok
[ 1.770247] rockchip-es8323 rockchip-es8323.27: ASoC: CODEC (null) not registered
[ 1.832979] pixel clk is 74250000 tmds clk is 74250000
[ 1.833025] rockchip-hdmiv2 ff980000.hdmi: sucess output HDMI.
拔掉hdmi线的内核打印:
hdmi remove from lcdc1
switch:en=0,lcdc_id=1,screen type=6,cur type=6
rk_fb_switch_screen: wait update_regs_wait timeout
rk3288-lcdc lcdc1: no layer is used,go to standby!
重新插入hdmi线的内核打印:
#
# --11
hdmi->edidread:1
hdmi output corlor mode is 3
hdmi connect to lcdc1
switch:en=1,lcdc_id=1,screen type=6,cur type=6
rk_fb_switch_screen: wait update_regs_wait timeout
rk3288_load_screen,clk_on = 0
rk3288-lcdc lcdc1: lcdc1: dclk:74250000>>fps:60
rk3288-lcdc lcdc1: wakeup from standby!
pixel clk is 74250000 tmds clk is 74250000
rockchip-hdmiv2 ff980000.hdmi: sucess output HDMI.
请教各位, 这样的情况下hdmi没输出,可能是哪方面的问题呀 ?
(所用的hdmi显示器应该是没问题的,这个可以排除; 而板子,hdmi应该也没问题, 这么简单的电路)
谢谢;
去rk3288.dtsi 把hdmi改成lcdc0应该就好了 请同步代码到最新,然后在最新版本上修改看看 madman 发表于 2016-10-21 15:21
去rk3288.dtsi 把hdmi改成lcdc0应该就好了
谢谢!
我看了rk3288.dtsi 这个文件,里面跟hdmi相关的部分是:
hdmi: hdmi@ff980000 {
compatible = "rockchip,rk3288-hdmi";
reg = <0xff980000 0x20000>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c5_sda &i2c5_scl>;
pinctrl-1 = <&i2c5_gpio>;
clocks = <&clk_gates16 9>, <&clk_gates5 12>;
clock-names = "pclk_hdmi", "hdcp_clk_hdmi";
status = "disabled";
};
lcdc0: lcdc@ff930000 {
compatible = "rockchip,rk3288-lcdc";
rockchip,prop = <PRMRY>;
rockchip,pwr18 = <0>;
rockchip,iommu-enabled = <0>;
reg = <0xff930000 0x10000>;
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&lcdc0_lcdc>;
pinctrl-1 = <&lcdc0_gpio>;
status = "disabled";
clocks = <&clk_gates15 5>, <&dclk_lcdc0>, <&clk_gates15 6>, <&pd_vop0>;
clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "pd_lcdc";
};
lcdc1: lcdc@ff940000 {
compatible = "rockchip,rk3288-lcdc";
rockchip,prop = <EXTEND>;
rockchip,pwr18 = <0>;
rockchip,iommu-enabled = <0>;
reg = <0xff940000 0x10000>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
clocks = <&clk_gates15 7>, <&dclk_lcdc1>, <&clk_gates15 8>, <&pd_vop1>;
clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "pd_lcdc";
};
不知道你提到的hdmi 改成 lcdc0, 是指哪处 ?
因为刚接触3288, 很多不了解, 望不吝指教,谢谢! madman 发表于 2016-10-21 15:21
去rk3288.dtsi 把hdmi改成lcdc0应该就好了
谢谢!
我看了rk3288.dtsi 这个文件,里面跟hdmi相关的部分是:
hdmi: hdmi@ff980000 {
compatible = "rockchip,rk3288-hdmi";
reg = <0xff980000 0x20000>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c5_sda &i2c5_scl>;
pinctrl-1 = <&i2c5_gpio>;
clocks = <&clk_gates16 9>, <&clk_gates5 12>;
clock-names = "pclk_hdmi", "hdcp_clk_hdmi";
status = "disabled";
};
lcdc0: lcdc@ff930000 {
compatible = "rockchip,rk3288-lcdc";
rockchip,prop = <PRMRY>;
rockchip,pwr18 = <0>;
rockchip,iommu-enabled = <0>;
reg = <0xff930000 0x10000>;
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&lcdc0_lcdc>;
pinctrl-1 = <&lcdc0_gpio>;
status = "disabled";
clocks = <&clk_gates15 5>, <&dclk_lcdc0>, <&clk_gates15 6>, <&pd_vop0>;
clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "pd_lcdc";
};
lcdc1: lcdc@ff940000 {
compatible = "rockchip,rk3288-lcdc";
rockchip,prop = <EXTEND>;
rockchip,pwr18 = <0>;
rockchip,iommu-enabled = <0>;
reg = <0xff940000 0x10000>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
clocks = <&clk_gates15 7>, <&dclk_lcdc1>, <&clk_gates15 8>, <&pd_vop1>;
clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "pd_lcdc";
};
不知道你提到的hdmi 改成 lcdc0, 是指哪处 ?
因为刚接触3288, 很多不了解, 望不吝指教,谢谢! jpchen 发表于 2016-10-21 15:32
请同步代码到最新,然后在最新版本上修改看看
谢谢!
从网盘下载了代码后,我同步过一次,那时代码应该是更新到2016年7月份的; 是否这两三个月的更新, 有和我遇到的这个问题相关的呢?
刚接触3288, 望不吝指教,谢谢! jpchen 发表于 2016-10-21 15:32
请同步代码到最新,然后在最新版本上修改看看
我确认了一下,我的代码同步到2016年,8月9日的; yubang 发表于 2016-10-22 10:17
我确认了一下,我的代码同步到2016年,8月9日的;
请烧录官方固件试试,确定是否是可以,如果可以可排除是硬件问题, 楼主 解决了吗?
页:
[1]