ADV7481 driver

I am currently working on a carrier board for a Jetson module (currently fitted with a Xavier CPU board) designed by my employer that has an ADV7481 fitted. I have tried back-porting the adv748x driver from a 4.14 kernel and have attmepted to put together a device tree include for it, based on the Renesas Salvator example.

I have found that the port numbering conflicts with what the vi/nvcsi drivers are expecting; as such, I have had to renumber the ports in the adv748x driver so that TXA is on port 0. However, this seems to correspond to pad 0, which is the HDMI input. If I enable the HDMI input node in the device tree, notifier->complete isn’t called.

media-ctl -p gives the following topology:

Device topology

  • entity 1: 15a00000.nvcsi–1 (2 pads, 0 link)
    type V4L2 subdev subtype Unknown flags 0
    pad0: Sink
    pad1: Source

  • entity 4: adv748x 8-0071 txa (2 pads, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    pad0: Sink
    ← “adv748x 8-0071 hdmi”:1 [ENABLED,IMMUTABLE]
    pad1: Source

  • entity 7: adv748x 8-0071 hdmi (2 pads, 1 link)
    type V4L2 subdev subtype Unknown flags 0
    pad0: Sink
    pad1: Source
    → “adv748x 8-0071 txa”:0 [ENABLED,IMMUTABLE]

If I attempt to swap the ordering of ports in the adv7481 driver such that pad 0 in “adv748x 8-0071 txa” is the source, the kernel crashes in tegra_channel_init_subdevices

I have attached the device tree include.

amp_adv_7481.dtsi (4.9 KB)

Looks like lost port-index in below code.

			port@0 {
				reg = <0>;
				adv7481_out0: endpoint {
					bus-width = <4>;
					clock-lanes = <0>;
					data-lanes = <1 2 3 4>;
					remote-endpoint = <&adv_csi_in2>;

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.