MPSOC DP输出配置笔记

  1. 版本信息如下
    Petalinux 2021.2
    Vivado 2021.2

  2. 要修改system-user.dtsi指定psgtr的时钟信息
    参考 https://support.xilinx.com/s/article/76568?language=en_US

/include/ "system-conf.dtsi"
/ {
    lvds_0: lvds_0 { 
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <27000000>;
    };

    lvds_1: lvds_1 { 
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <150000000>;
    };

    lvds_2: lvds_2 { 
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <100000000>;
    };
};

&psgtr {
    status = "okay";
    clocks = <&lvds_0>, <&lvds_1>, <&lvds_2>;
    clock-names = "ref0", "ref1", "ref2";
};

其中 27M 是接的 PS_MGTREFCLK0P/N,给DP用的。
150M是给SATA用的,100M是给USB用的。

如果不配这个,会提示类似

[    3.831756] xilinx-zynqmp-dpdma fd4c0000.dma-controller: Xilinx DPDMA engine is probed
[    3.850861] xilinx-psgtr fd400000.phy: Invalid reference clock number 0
[    3.857470] zynqmp-display fd4a0000.display: failed to get PHY lane 0
[    3.863919] zynqmp-display: probe of fd4a0000.display failed with error -22
  1. 在Block Design中正确分配 VPLL
    参考 https://support.xilinx.com/s/article/69764?language=en_US

Note: VPLL should be used only for Display Port (DP_VIDEO)

DDR PLL (DPLL): Mainly used to generate clocks for the DDR controller.
APU PLL (APLL): Mainly used to generate clocks for the APU.
RPU PLL (RPLL): Mainly used to generate clocks for the RPU.
I/O PLL (IOPLL): Mainly used to generate clocks the peripheral I/Os.
Video PLL (VPLL): generates clocks for the video blocks used in the PS subsystem.

VPLL只给DP_VIDEO用,要不然动态改变DP输出分辨率的时候可能有问题。
DP_AUDIO也有类似问题,但是一般可以固定输出48K就不变了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值