Other Parts Discussed in Thread: TFP410, AB15, SYSCONFIG
Hello,
Our custom board base on the TI AM62-sk evm board. It is using a Am6234 CPU, connected to a TFP410 converter to output DIV on HDMI connector.
We use the TI SDK 06.04
Here is the device-tree definition:
dvi0: connector {
compatible = "dvi-connector";
label = "dvi";
digital;
ddc-i2c-bus = <&main_i2c1>;
type = "d";
port {
dvi_connector_in: endpoint {
remote-endpoint = <&tfp410_out>;
};
};
};
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <100000>;
tfp410: encoder@38 {
compatible = "ti,tfp410";
reg = <0x38>;
gpios = <&main_gpio0 41 GPIO_ACTIVE_LOW>; /* 0, power-down */
pinctrl-names = "default";
pinctrl-0 = <&tfp410_pins>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
tfp410_in: endpoint@0 {
remote-endpoint = <&dpi1_out>;
};
};
port@1 {
reg = <1>;
tfp410_out: endpoint@0 {
remote-endpoint = <&dvi_connector_in>;
};
};
};
};
Here is the return of the command kmsprint:
When HDMI connector is unplugged:
root@am62xx-evm:~# kmsprint
Connector 0 (39) DVI-D-1 (disconnected)
Encoder 0 (38) NONE
When HDMI connector is plugged:
root@am62xx-evm:~# kmsprint
Connector 0 (39) DVI-D-1 (connected)
Encoder 0 (38) NONE
root@am62xx-evm:~# kmstest -c dvi
Connector 0/@39: DVI-D-1
Crtc 0/@37: 1440x900 106.500 1440/80/152/232/- 900/3/6/25/+ 60 (59.89) 0x6 0x48
Plane 0/@31: 0,0-1440x900
Fb 47 1440x900-XR24
Atomic test failed: -22
The TFP410 driver is enable as native in kernel configuration.
The TFP410 is used at address 0x38.
i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- 37 UU -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU UU -- -- -- -- -- --
50: 50 -- -- -- -- -- -- 57 -- 59 -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- UU
70: -- -- -- -- -- -- -- --
The TFP410 register are readable at the address 0x38 via i2ctools, when it is not defined in device tree.
The DDS DRM driver is well loaded at boot:
[ 2.778175] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
[ 2.863672] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
An frame buffer is available at /dev/fb0.
The display is well accessible at i2c address 0x50 an EDID can be read :
root@am62xx-evm:~# i2cdump -y 1 0x50
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 ff ff ff ff ff ff 00 10 ac 3d a0 53 33 33 30 ........??=?S330
10: 18 13 01 03 80 29 1a 78 ee ee 95 a3 54 4c 99 26 ?????)?x????TL?&
20: 0f 50 54 bf ef 80 95 00 71 4f 81 80 95 0f 81 00 ?PT????.qO?????.
30: 01 01 01 01 01 01 9a 29 a0 d0 51 84 22 30 50 98 ???????)??Q?"0P?
40: 36 00 98 ff 10 00 00 1c 00 00 00 ff 00 59 33 32 6.?.?..?.....Y32
50: 35 47 39 36 43 30 33 33 53 0a 00 00 00 fc 00 44 5G96C033S?...?.D
60: 45 4c 4c 20 31 39 30 39 57 0a 20 20 00 00 00 fd ELL 1909W? ...?
70: 00 38 4b 1e 53 0e 00 0a 20 20 20 20 20 20 00 b2 .8K?S?.? .?
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
The physical signal has been monitor with an oscillo :
VOUT0_DE (Data enable) seems to be drived correctly by the DSS on TFTP410 Pin n°2.
VOUT0_DATA0 Data 0 is also driven.
Coud you help me to solve the issue ?
1- Why encoder is set to NONE by the kmsprint command.
2- How figure out is the issue comes from hardware or linux ?
3- Could you provide a list of points to check to isolate the problem ?
Regards,
Alexis.