diff --git a/sys/hdmi_config.sv b/sys/hdmi_config.sv index 5b89d2c..8cbad8b 100644 --- a/sys/hdmi_config.sv +++ b/sys/hdmi_config.sv @@ -8,6 +8,7 @@ module hdmi_config input dvi_mode, input audio_96k, input hdmi_limited, + output reg done, // I2C Side output I2C_SCL, @@ -42,6 +43,7 @@ always@(posedge iCLK or negedge iRST_N) begin LUT_INDEX <= 0; mSetup_ST <= 0; mI2C_GO <= 0; + done <= 0; end else begin if(init_data[LUT_INDEX] != 16'hFFFF) begin case(mSetup_ST) @@ -59,6 +61,7 @@ always@(posedge iCLK or negedge iRST_N) begin end endcase end + else done <= 1; end end diff --git a/sys/sys_top.v b/sys/sys_top.v index b22e0a2..9c2875c 100644 --- a/sys/sys_top.v +++ b/sys/sys_top.v @@ -569,7 +569,7 @@ pll_hdmi_adj pll_hdmi_adj .reset_na(~reset_req), .llena(lowlat), - .lltune(lltune), + .lltune({16{hdmi_config_done}} & lltune), .locked(led_locked), .i_waitrequest(adj_waitrequest), .i_write(adj_write), @@ -657,10 +657,12 @@ always @(posedge FPGA_CLK1_50) begin if(old_wait & ~adj_waitrequest & gotd) cfg_ready <= 1; end +wire hdmi_config_done; hdmi_config hdmi_config ( .iCLK(FPGA_CLK1_50), .iRST_N(cfg_ready & ~HDMI_TX_INT), + .done(hdmi_config_done), .I2C_SCL(HDMI_I2C_SCL), .I2C_SDA(HDMI_I2C_SDA),