UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Contributor
Contributor
395 Views
Registered: ‎11-26-2018

Petalinux 2019.1 hdmi Rx Subsystem probe error

Jump to solution

Hi,

I'm trying to use the hdmi rx subsystem with petalinux 2019.1, but during the boot I get some errors:

xilinx-vphy a0030000.vid_phy_controller: probed
xilinx-vphy a0030000.vid_phy_controller: failed to get the nidru clk.
xilinx-vphy: probe of a0030000.vid_phy_controller failed with error -2
xilinx-hdmi-rx a0010000.v_hdmi_rx_ss: probed
xilinx-hdmi-rx a0010000.v_hdmi_rx_ss: failed to get phy lane hdmi-phy0 index 0, error -19
xhdmirx_probe() error_phy:
xhdmirx_probe() error_resource:

I followed the example of the hdmi rx and for petalinux the "Xilinx v4l2 hdmirx driver" wiki, but I can't get it working.

The pl.dtsi seems to be correct:

HDMI_v_hdmi_rx_ss_0: v_hdmi_rx_ss@a0010000 {
			clock-names = "s_axi_cpu_aclk", "link_clk", "s_axis_audio_aclk", "video_clk", "s_axis_video_aclk";
			clocks = <&misc_clk_0>, <&misc_clk_1>, <&misc_clk_0>, <&misc_clk_2>, <&misc_clk_0>;
			compatible = "xlnx,v-hdmi-rx-ss-3.1", "xlnx,v-hdmi-rx-ss-3.1";
			interrupt-names = "irq";
			interrupt-parent = <&gic>;
			interrupts = <0 90 4>;
			reg = <0x0 0xa0010000 0x0 0x10000>;
			xlnx,edid-ram-size = <0x100>;
			xlnx,input-pixels-per-clock = <4>;
			xlnx,max-bits-per-component = <8>;
			hdmirx_ports: ports {
				#address-cells = <1>;
				#size-cells = <0>;
			};
		};
		misc_clk_0: misc_clk_0 {
			#clock-cells = <0>;
			clock-frequency = <148497053>;
			compatible = "fixed-clock";
		};
		misc_clk_1: misc_clk_1 {
			#clock-cells = <0>;
			clock-frequency = <148500000>;
			compatible = "fixed-clock";
		};
		misc_clk_2: misc_clk_2 {
			#clock-cells = <0>;
			clock-frequency = <297000000>;
			compatible = "fixed-clock";
		};
		HDMI_vid_phy_controller_0: vid_phy_controller@a0030000 {
			clock-names = "mgtrefclk1_pad_p_in", "mgtrefclk1_pad_n_in", "gtsouthrefclk1_in", "gtsouthrefclk1_odiv2_in", "vid_phy_rx_axi4s_aclk", "vid_phy_sb_aclk", "vid_phy_axi4lite_aclk", "drpclk";
			clocks = <&misc_clk_3>, <&misc_clk_3>, <&misc_clk_4>, <&misc_clk_4>, <&misc_clk_1>, <&misc_clk_0>, <&misc_clk_0>, <&misc_clk_0>;
			compatible = "xlnx,vid-phy-controller-2.2", "xlnx,vid-phy-controller-2.1";
			interrupt-names = "irq";
			interrupt-parent = <&gic>;
			interrupts = <0 91 4>;
			reg = <0x0 0xa0030000 0x0 0x10000>;
			xlnx,hdmi-fast-switch = <1>;
			xlnx,input-pixels-per-clock = <4>;
			xlnx,nidru = <1>;
			xlnx,nidru-refclk-sel = <5>;
			xlnx,rx-no-of-channels = <3>;
			xlnx,rx-pll-selection = <0>;
			xlnx,rx-protocol = <1>;
			xlnx,rx-refclk-sel = <1>;
			xlnx,transceiver-type = <5>;
			xlnx,transceiver-width = <4>;
			xlnx,tx-buffer-bypass = <1>;
			xlnx,tx-no-of-channels = <3>;
			xlnx,tx-pll-selection = <6>;
			xlnx,tx-protocol = <3>;
			xlnx,tx-refclk-sel = <0>;
			vphy_lane0: vphy_lane@0 {
				#phy-cells = <4>;
			};
			vphy_lane1: vphy_lane@1 {
				#phy-cells = <4>;
			};
			vphy_lane2: vphy_lane@2 {
				#phy-cells = <4>;
			};
			vphy_lane3: vphy_lane@3 {
				#phy-cells = <4>;
			};
		};
		misc_clk_3: misc_clk_3 {
			#clock-cells = <0>;
			clock-frequency = <100000000>;
			compatible = "fixed-clock";
		};
		misc_clk_4: misc_clk_4 {
			#clock-cells = <0>;
			clock-frequency = <156250000>;
			compatible = "fixed-clock";
		};

Andrea

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Contributor
Contributor
366 Views
Registered: ‎06-18-2015

Re: Petalinux 2019.1 hdmi Rx Subsystem probe error

Jump to solution

There are two things missing in your dtsi.

1-) Phy Controller

It looks like you have enabled the nidru clock for low resolutions. DTG does not generate the compatible dtsi automatically in this case.

Phy controller needs "dru-clk" under clock names property and respective clock under "clocks" property. After you add these, phy controller will be probed succesfully.

For further info on this see: https://github.com/Xilinx/hdmi-modules/blob/44d691f6937ad73ac974ed5b50722e73514459f6/Documentation/devicetree/bindings/xlnx%2Cvphy.txt

2-) HDMI Rx SS

Your device tree is missing the "phys" and "phy-names" properties.

For further info on this see: https://github.com/Xilinx/hdmi-modules/blob/44d691f6937ad73ac974ed5b50722e73514459f6/Documentation/devicetree/bindings/xlnx%2Cv-hdmi-rx-ss.txt

 

You can always inspect TRD examples for example device-tree's.

Best Regards.

Mustafa

2 Replies
Highlighted
Contributor
Contributor
367 Views
Registered: ‎06-18-2015

Re: Petalinux 2019.1 hdmi Rx Subsystem probe error

Jump to solution

There are two things missing in your dtsi.

1-) Phy Controller

It looks like you have enabled the nidru clock for low resolutions. DTG does not generate the compatible dtsi automatically in this case.

Phy controller needs "dru-clk" under clock names property and respective clock under "clocks" property. After you add these, phy controller will be probed succesfully.

For further info on this see: https://github.com/Xilinx/hdmi-modules/blob/44d691f6937ad73ac974ed5b50722e73514459f6/Documentation/devicetree/bindings/xlnx%2Cvphy.txt

2-) HDMI Rx SS

Your device tree is missing the "phys" and "phy-names" properties.

For further info on this see: https://github.com/Xilinx/hdmi-modules/blob/44d691f6937ad73ac974ed5b50722e73514459f6/Documentation/devicetree/bindings/xlnx%2Cv-hdmi-rx-ss.txt

 

You can always inspect TRD examples for example device-tree's.

Best Regards.

Mustafa

Contributor
Contributor
331 Views
Registered: ‎11-26-2018

Re: Petalinux 2019.1 hdmi Rx Subsystem probe error

Jump to solution

Thank you @mcetinsoy , now it's working. I've only one question, in /dev/ I don't see any device for the hdmi, how I can get the stream information and the cable connect/disconnect event from my driver?

0 Kudos