YYH 发表于 2022-7-29 14:18:09

OKMX6ULL-S开发板RGB转HDMI

在imx6ull-14x14-evk.dts修改设备后,编译下载重启出现sii902x 1-0039: No reset pin found和sii902x 1-0039: Sii902x: cound not find device,
我设备树参考正点原子,我的复位引脚为为编号15,中断引脚为16,配置为,文件,在 iomuxc节点下的 imx6ul-evk子
节点里面加入RGB引脚信息和如下内容:pinctrl_sii902x: hdmigrp-1 {fsl,pins = <MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0x11>;};
在iomuxc_snvs节点下的 imx6ul-evk子节点里面加入如下内容:ts_reset_hdmi_pin: ts_reset_hdmi_mux {fsl,pins = <
MX6UL_PAD_CSI_DATA05__GPIO4_IO26        0x49>;};在&i2c2下添加sii902x: sii902x@39 {compatible = "SiI,sii902x";
pinctrl-names = "default";pinctrl-0 = <&pinctrl_sii902x>;interrupt-parent = <&gpio4>;interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;mode_str = "1920x1080M@60";bits-per-pixel = <16>;resets = <&sii902x_reset>;reg = <0x39>;
status = "okay";};在“/”节点下创建名为 sii902x_reset”的子节点,这个子节点用于描述sii902x_reset: sii902x-reset {compatible = "gpio-reset";
reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;reset-delay-us = <100000>;#reset-cells = <0>;status = "disabled";};
在drivers/video/fbdev/mxc/mxsfb_sii902x.c这个文件,修改了sii902x_poweron为i2c_smbus_write_byte_data(sii902x.client, 0x1A, 0x00);
sii902x_poweroff函数如下i2c_smbus_write_byte_data(sii902x.client, 0x1A, 0x10);找到 mxsfb_get_of_property在里面添加为int irq_pin;
在reuturn前面添加irq_pin = of_get_named_gpio(np, "irq-gpios", 0);gpio_direction_output(irq_pin, 1);

Espoir 发表于 2022-8-1 11:41:41

您好,我们这边没有用过您的这款芯片,看到网上有移植成功的例子,您可以参考一下:https://blog.csdn.net/qq_39346729/article/details/103063431
我们也会尽力帮您排查一下。

Espoir 发表于 2022-8-2 08:51:58

您好,reset引脚找不到是因为,您在设备树中加的reset节点默认状态是disabled;判断无法打开设备是因为您没有接这个芯片导致。

另外还有几个问题需要跟您说明一下:
1.我们和友商的屏幕接口定义不同,需要转接板;
2.我们的屏幕默认使用的是DE模式,友商使用的是行场模式,我们的行同步信号被用作了otg的电源使能,请您确认下这颗芯片能否支持LCD的DE模式。如果使用行场模式,需要在设备树中把otg的电源使能关闭,打开行同步信号,会造成otg功能无法使用;
3.HDMI信号对硬件要求比较高,要求线尽量短并且需要走差分线;
页: [1]
查看完整版本: OKMX6ULL-S开发板RGB转HDMI