Hi,
We have a custom carrier board that has a standard external display port connector.
I know the port is electrically wired correctly because I had it working with R24 but now I have upgraded to R28 and I’m having some problems.
This is the output from the kernel:
[ 26.767310] tegradc tegradc.1: tegra_dc_program_mode():MODE:1920x1080@60.000Hz pclk=148500000
[ 26.767313] tegradc tegradc.1: dc->mode.pclk = 148500000 clk_get_rate(dc->clk) = 19200000
[ 26.767327] tegradc tegradc.1: pclk is zero!
[ 26.767330] tegradc tegradc.1: tegra_dc_init: tegra_dc_program_mode failed
[ 26.767410] tegradc tegradc.1: _tegra_dc_controller_enable: tegra_dc_init failed
[ 26.829052] tegradc tegradc.1: tegra_dc_program_mode():MODE:1920x1080@60.000Hz pclk=148500000
[ 26.829055] tegradc tegradc.1: dc->mode.pclk = 148500000 clk_get_rate(dc->clk) = 19200000
[ 26.829069] tegradc tegradc.1: pclk is zero!
[ 26.829071] tegradc tegradc.1: tegra_dc_init: tegra_dc_program_mode failed
[ 26.829134] tegradc tegradc.1: _tegra_dc_controller_enable: tegra_dc_init failed
I think something must be wrong with my device tree setup but I can’t find it.
My device tree setup:
dc@54240000 {
status = "okay";
nvidia,dc-or-node = "/host1x/sor1";
nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
nvidia,cmu-enable = <1>;
vdd-dp-pwr-supply = <&vdd_3v3>;
avdd-dp-pll-supply = <&max77620_sd3>;
vdd-edp-sec-mode-supply = <&vdd_sys_boost>;
vdd-dp-pad-supply = <&max77620_ldo8>;
};
sor1 {
status = "okay";
nvidia,sor1-output-type = "dp";
dp-display {
status = "okay";
compatible = "dp, display";
nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1) 1>; /* PN7 */
nvidia,is_ext_dp_panel = <1>;
disp-default-out {
nvidia,out-type = <TEGRA_DC_OUT_DP>;
nvidia,out-align = <TEGRA_DC_ALIGN_MSB>;
nvidia,out-order = <TEGRA_DC_ORDER_RED_BLUE>;
nvidia,out-flags = <TEGRA_DC_OUT_CONTINUOUS_MODE>;
nvidia,out-pins = <TEGRA_DC_OUT_PIN_H_SYNC TEGRA_DC_OUT_PIN_POL_LOW
TEGRA_DC_OUT_PIN_V_SYNC TEGRA_DC_OUT_PIN_POL_LOW
TEGRA_DC_OUT_PIN_PIXEL_CLOCK TEGRA_DC_OUT_PIN_POL_LOW
TEGRA_DC_OUT_PIN_DATA_ENABLE TEGRA_DC_OUT_PIN_POL_HIGH>;
nvidia,out-parent-clk = "pll_d2";
};
dp-lt-settings {
lt-setting@0 {
nvidia,drive-current = <DRIVE_CURRENT_L0 DRIVE_CURRENT_L0 DRIVE_CURRENT_L0 DRIVE_CURRENT_L0>;
nvidia,lane-preemphasis = <PRE_EMPHASIS_L0 PRE_EMPHASIS_L0 PRE_EMPHASIS_L0 PRE_EMPHASIS_L0>;
nvidia,post-cursor = <POST_CURSOR2_L0 POST_CURSOR2_L0 POST_CURSOR2_L0 POST_CURSOR2_L0>;
nvidia,tx-pu = <0>;
nvidia,load-adj = <0x3>;
};
lt-setting@1 {
nvidia,drive-current = <DRIVE_CURRENT_L0 DRIVE_CURRENT_L0 DRIVE_CURRENT_L0 DRIVE_CURRENT_L0>;
nvidia,lane-preemphasis = <PRE_EMPHASIS_L0 PRE_EMPHASIS_L0 PRE_EMPHASIS_L0 PRE_EMPHASIS_L0>;
nvidia,post-cursor = <POST_CURSOR2_L0 POST_CURSOR2_L0 POST_CURSOR2_L0 POST_CURSOR2_L0>;
nvidia,tx-pu = <0>;
nvidia,load-adj = <0x4>;
};
lt-setting@2 {
nvidia,drive-current = <DRIVE_CURRENT_L0 DRIVE_CURRENT_L0 DRIVE_CURRENT_L0 DRIVE_CURRENT_L0>;
nvidia,lane-preemphasis = <PRE_EMPHASIS_L1 PRE_EMPHASIS_L1 PRE_EMPHASIS_L1 PRE_EMPHASIS_L1>;
nvidia,post-cursor = <POST_CURSOR2_L0 POST_CURSOR2_L0 POST_CURSOR2_L0 POST_CURSOR2_L0>;
nvidia,tx-pu = <0>;
nvidia,load-adj = <0x6>;
};
};
};
};
Any help as to why pclk is zero would be greatly appreciated.
Thanks
K.