Firefly开源社区

打印 上一主题 下一主题

求助:firefly3288 android5.1 HDMI无输出,没显示

334

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
334

求助:firefly3288 android5.1 HDMI无输出,没显示

发表于 2016-10-21 10:21:11      浏览:16564 | 回复:8        打印      只看该作者   [复制链接] 楼主
本帖最后由 yubang 于 2016-10-21 10:21 编辑

各位好,
我在firefly3288上运行android5.1(firefly百度网盘下载的源码)的代码; 代码中原来是支持vga和hdmi的;

我对代码进行了改动,将vga的支持去掉,只用 hdmi;
改动后,重新编译,更新各个映像;
现在板子能够正常启动进入到系统命令行, 插入hdmi,能够检测到(检测到720P  60HZ),但是 却没有显示;

查看内核的启动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: [hdmi_dev_config_video] sucess output HDMI.

拔掉hdmi线的内核打印:
[  211.542986] hdmi remove from lcdc1
[  211.542999] switch:en=0,lcdc_id=1,screen type=6,cur type=6
[  211.798823] rk_fb_switch_screen: wait update_regs_wait timeout
[  211.798863] rk3288-lcdc lcdc1: no layer is used,go to standby!

重新插入hdmi线的内核打印:
#
# [  219.660993] --11
[  219.708901] hdmi->edidread:1
[  219.804712] hdmi output corlor mode is 3
[  219.804726] hdmi connect to lcdc1
[  219.804733] switch:en=1,lcdc_id=1,screen type=6,cur type=6
[  220.054589] rk_fb_switch_screen: wait update_regs_wait timeout
[  220.054606] rk3288_load_screen,clk_on = 0
[  220.054641] rk3288-lcdc lcdc1: lcdc1: dclk:74250000>>fps:60
[  220.054650] rk3288-lcdc lcdc1: wakeup from standby!
[  220.153120] pixel clk is 74250000 tmds clk is 74250000
[  220.153173] rockchip-hdmiv2 ff980000.hdmi: [hdmi_dev_config_video] sucess output HDMI.

请教各位, 这样的情况下hdmi没输出,可能是哪方面的问题呀 ?
  (所用的hdmi显示器应该是没问题的,这个可以排除; 而板子,hdmi应该也没问题, 这么简单的电路)

谢谢;






回复

使用道具 举报

1225

积分

1

威望

3

贡献

中级创客

Rank: 4

积分
1225
QQ
发表于 2016-10-21 15:21:03        只看该作者  沙发
去rk3288.dtsi 把hdmi改成lcdc0应该就好了
回复

使用道具 举报

3750

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3750
发表于 2016-10-21 15:32:01        只看该作者  板凳
请同步代码到最新,然后在最新版本上修改看看
回复

使用道具 举报

334

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
334
发表于 2016-10-21 23:30:29        只看该作者  地板
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, 很多不了解, 望不吝指教,谢谢!
回复

使用道具 举报

334

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
334
发表于 2016-10-21 23:31:21        只看该作者  5#
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, 很多不了解, 望不吝指教,谢谢!
回复

使用道具 举报

334

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
334
发表于 2016-10-21 23:33:38        只看该作者  6#
jpchen 发表于 2016-10-21 15:32
请同步代码到最新,然后在最新版本上修改看看

谢谢!

从网盘下载了代码后,我同步过一次,那时代码应该是更新到2016年7月份的; 是否这两三个月的更新, 有和我遇到的这个问题相关的呢?

刚接触3288, 望不吝指教,谢谢!
回复

使用道具 举报

334

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
334
发表于 2016-10-22 10:17:53        只看该作者  7#
jpchen 发表于 2016-10-21 15:32
请同步代码到最新,然后在最新版本上修改看看

我确认了一下,我的代码同步到2016年,8月9日的;
回复

使用道具 举报

3750

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3750
发表于 2016-10-24 11:47:49        只看该作者  8#
yubang 发表于 2016-10-22 10:17
我确认了一下,我的代码同步到2016年,8月9日的;

请烧录官方固件试试,确定是否是可以,如果可以可排除是硬件问题,
回复

使用道具 举报

34

积分

0

威望

0

贡献

技术小白

积分
34
发表于 2021-5-27 22:32:10        只看该作者  9#
楼主 解决了吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表