[coreboot-gerrit] Patch set updated for coreboot: bca3d70 nyan*: Set SOR_NV_PDISP_SOR_DP_SPARE0 register

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Mon Dec 15 23:18:15 CET 2014


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7767

-gerrit

commit bca3d70bde1cf4c1cc58692ccc74c58f1efe2529
Author: Jimmy Zhang <jimmzhang at nvidia.com>
Date:   Mon Apr 14 12:47:37 2014 -0700

    nyan*: Set SOR_NV_PDISP_SOR_DP_SPARE0 register
    
    This register needs to be set properly during display init.
    
    BRANCH=none
    BUG=chrome-os-partner:27413
    TEST=build nyan and nyan_big. nyan display works fine.
         nyan_big display works as well. However, the mode setting
         needs to be based on either devicetree or EDID.
    
    Original-Signed-off-by: Jimmy Zhang <jimmzhang at nvidia.com>
    
    Original-Change-Id: I93c69d8042a3f3c19f4e24801423b73246e37031
    Original-Reviewed-on: https://chromium-review.googlesource.com/194739
    Original-Reviewed-by: Hung-Te Lin <hungte at chromium.org>
    Original-Commit-Queue: Hung-Te Lin <hungte at chromium.org>
    Original-Tested-by: Hung-Te Lin <hungte at chromium.org>
    (cherry picked from commit ee9a3c472c5621edebefcc8882582c6fc01255e2)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: Ie642a008eaf6c4ab68ede1dde98ff4268f51fc9c
---
 src/soc/nvidia/tegra124/dp.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/soc/nvidia/tegra124/dp.c b/src/soc/nvidia/tegra124/dp.c
index cc341b8..ad6c0da 100644
--- a/src/soc/nvidia/tegra124/dp.c
+++ b/src/soc/nvidia/tegra124/dp.c
@@ -618,6 +618,22 @@ static int tegra_dc_dp_init_link_cfg(
 	return 0;
 }
 
+static int tegra_dc_dp_set_assr(struct tegra_dc_dp_data *dp, int ena)
+{
+	int ret;
+
+	u8 dpcd_data = ena ?
+		NV_DPCD_EDP_CONFIG_SET_ASC_RESET_ENABLE :
+		NV_DPCD_EDP_CONFIG_SET_ASC_RESET_DISABLE;
+
+	CHECK_RET(tegra_dc_dp_dpcd_write(dp, NV_DPCD_EDP_CONFIG_SET,
+			dpcd_data));
+
+	/* Also reset the scrambler to 0xfffe */
+	tegra_dc_sor_set_internal_panel(&dp->sor, ena);
+	return 0;
+}
+
 static void tegra_dp_update_config(struct tegra_dc_dp_data *dp,
 				   struct soc_nvidia_tegra124_config *config)
 {
@@ -738,6 +754,12 @@ void dp_enable(void * _dp)
 		goto error_enable;
         }
 
+	/* enable ASSR */
+	if (tegra_dc_dp_set_assr(dp, dp->link_cfg.scramble_ena)) {
+		printk(BIOS_ERR, "dp: failed to enable ASSR\n");
+		goto error_enable;
+        }
+
 	tegra_dc_sor_enable_dp(&dp->sor);
 
 	tegra_dc_sor_set_panel_power(&dp->sor, 1);



More information about the coreboot-gerrit mailing list