https://github.com/xilinx//linux-xlnx/blob/xilinx-v2018.2/drivers/gpu/drm/xlnx/xlnx_bridge.h#L65
http://github.com/xilinx/linux-xlnx/blob/xilinx-v2018.2/Documentation/devicetree/bindings/display/xlnx/xlnx%2Czynqmp-dpsub.txt#L20
- clocks: phandles for axi, audio, non-live video, and live video clocks. axi clock is required. Audio clock is optional. If not present, audio will be disabled. One of non-live or live video clock should be present. - clock-names: The identification strings are required. "aclk" for axi clock. "dp_aud_clk" for audio clock. "dp_vtc_pixel_clk_in" for non-live video clock. "dp_live_video_in_clk" for live video clock (clock from programmable logic).
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi index a02ad79..dd747d0 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi +++ b/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi @@ -272,7 +272,7 @@ }; &zynqmp_dpsub { - clocks = <&dp_aclk>, <&clk 17>, <&clk 16>; + clocks = <&dp_aclk>, <&clk 17>, <&clk 16>, <&si570_1>; }; &xlnx_dpdma { diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi index fb196a1..acd7cf2 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi @@ -1151,7 +1151,8 @@ interrupt-parent = <&gic>; clock-names = "dp_apb_clk", "dp_aud_clk", - "dp_vtc_pixel_clk_in"; + "dp_vtc_pixel_clk_in", + "dp_live_video_in_clk"; power-domains = <&pd_dp>;
/sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layer /sys/kernel/debug/xlnx-bridge/xlnx_bridge-gfx-layerhttp://github.com/xilinx/linux-xlnx/blob/xilinx-v2018.2/drivers/gpu/drm/xlnx/xlnx_bridge.c#L310
echo "set_input 1920 1080 0x100e" > /sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layer echo "enable" > /sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layerhttp://github.com/xilinx/linux-xlnx/blob/xilinx-v2018.2/include/uapi/linux/media-bus-format.h#L49
echo "disable" > /sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layer