From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f67.google.com ([209.85.215.67]:40014 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753875AbeALUP6 (ORCPT ); Fri, 12 Jan 2018 15:15:58 -0500 Received: by mail-lf0-f67.google.com with SMTP id v74so5228281lfa.7 for ; Fri, 12 Jan 2018 12:15:57 -0800 (PST) From: Sergei Shtylyov Message-Id: <20180112201553.683979009@cogentembedded.com> Date: Fri, 12 Jan 2018 23:12:05 +0300 To: Laurent Pinchart , David Airlie , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org Cc: Sergei Shtylyov Subject: [PATCH 2/2] drm: rcar-du: lvds: fix LVDS startup on R-Car gen2 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Disposition: inline; filename=drm-rcar-du-lvds-fix-LVDS-startup-on-R-Car-gen2.patch Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: According to the latest revision 2.00 of the R-Car gen2 manual, the LVDS must be enabled and the bias crcuit enabled after the LVDS I/O pins are enabled, not before -- fix the gen2 LVDS startup sequence accordingly. Fixes: 90374b5c25c9 ("drm/rcar-du: Add internal LVDS encoder support") Signed-off-by: Sergei Shtylyov --- drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Index: linux/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c =================================================================== --- linux.orig/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c +++ linux/drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c @@ -59,11 +59,8 @@ static void rcar_du_lvdsenc_start_gen2(s rcar_lvds_write(lvds, LVDPLLCR, pllcr); - /* - * Set the LVDS mode, select the input, enable LVDS operation, - * and turn bias circuitry on. - */ - lvdcr0 = (lvds->mode << LVDCR0_LVMD_SHIFT) | LVDCR0_BEN | LVDCR0_LVEN; + /* Select the input and set the LVDS mode. */ + lvdcr0 = lvds->mode << LVDCR0_LVMD_SHIFT; if (rcrtc->index == 2) lvdcr0 |= LVDCR0_DUSEL; rcar_lvds_write(lvds, LVDCR0, lvdcr0); @@ -73,6 +70,10 @@ static void rcar_du_lvdsenc_start_gen2(s LVDCR1_CHSTBY(3) | LVDCR1_CHSTBY(2) | LVDCR1_CHSTBY(1) | LVDCR1_CHSTBY(0) | LVDCR1_CLKSTBY); + /* Enable LVDS operation and turn bias circuitry on. */ + lvdcr0 |= LVDCR0_BEN | LVDCR0_LVEN; + rcar_lvds_write(lvds, LVDCR0, lvdcr0); + /* * Turn the PLL on, wait for the startup delay, and turn the output * on. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Shtylyov Subject: [PATCH 2/2] drm: rcar-du: lvds: fix LVDS startup on R-Car gen2 Date: Fri, 12 Jan 2018 23:12:05 +0300 Message-ID: <20180112201553.683979009@cogentembedded.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x241.google.com (mail-lf0-x241.google.com [IPv6:2a00:1450:4010:c07::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8675E6E967 for ; Fri, 12 Jan 2018 20:15:58 +0000 (UTC) Received: by mail-lf0-x241.google.com with SMTP id h140so7203324lfg.1 for ; Fri, 12 Jan 2018 12:15:58 -0800 (PST) Content-Disposition: inline; filename=drm-rcar-du-lvds-fix-LVDS-startup-on-R-Car-gen2.patch List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart , David Airlie , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org Cc: Sergei Shtylyov List-Id: dri-devel@lists.freedesktop.org QWNjb3JkaW5nIHRvIHRoZSBsYXRlc3QgcmV2aXNpb24gMi4wMCBvZiB0aGUgUi1DYXIgZ2VuMiBt YW51YWwsIHRoZSBMVkRTCm11c3QgYmUgZW5hYmxlZCBhbmQgdGhlIGJpYXMgY3JjdWl0ICBlbmFi bGVkIGFmdGVyIHRoZSBMVkRTIEkvTyBwaW5zIGFyZQplbmFibGVkLCBub3QgYmVmb3JlIC0tICBm aXggdGhlIGdlbjIgTFZEUyBzdGFydHVwIHNlcXVlbmNlIGFjY29yZGluZ2x5LgoKRml4ZXM6IDkw Mzc0YjVjMjVjOSAoImRybS9yY2FyLWR1OiBBZGQgaW50ZXJuYWwgTFZEUyBlbmNvZGVyIHN1cHBv cnQiKQpTaWduZWQtb2ZmLWJ5OiBTZXJnZWkgU2h0eWx5b3YgPHNlcmdlaS5zaHR5bHlvdkBjb2dl bnRlbWJlZGRlZC5jb20+CgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfbHZk c2VuYy5jIHwgICAxMSArKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCkluZGV4OiBsaW51eC9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2R1X2x2ZHNlbmMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaW51eC5vcmlnL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfbHZkc2VuYy5jCisrKyBsaW51eC9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X2x2ZHNlbmMuYwpAQCAtNTksMTEgKzU5LDggQEAgc3RhdGljIHZvaWQgcmNh cl9kdV9sdmRzZW5jX3N0YXJ0X2dlbjIocwogCiAJcmNhcl9sdmRzX3dyaXRlKGx2ZHMsIExWRFBM TENSLCBwbGxjcik7CiAKLQkvKgotCSAqIFNldCB0aGUgIExWRFMgbW9kZSwgc2VsZWN0IHRoZSBp bnB1dCwgZW5hYmxlIExWRFMgb3BlcmF0aW9uLAotCSAqIGFuZCB0dXJuIGJpYXMgY2lyY3VpdHJ5 IG9uLgotCSAqLwotCWx2ZGNyMCA9IChsdmRzLT5tb2RlIDw8IExWRENSMF9MVk1EX1NISUZUKSB8 IExWRENSMF9CRU4gfCBMVkRDUjBfTFZFTjsKKwkvKiBTZWxlY3QgdGhlIGlucHV0IGFuZCBzZXQg dGhlIExWRFMgbW9kZS4gKi8KKwlsdmRjcjAgPSBsdmRzLT5tb2RlIDw8IExWRENSMF9MVk1EX1NI SUZUOwogCWlmIChyY3J0Yy0+aW5kZXggPT0gMikKIAkJbHZkY3IwIHw9IExWRENSMF9EVVNFTDsK IAlyY2FyX2x2ZHNfd3JpdGUobHZkcywgTFZEQ1IwLCBsdmRjcjApOwpAQCAtNzMsNiArNzAsMTAg QEAgc3RhdGljIHZvaWQgcmNhcl9kdV9sdmRzZW5jX3N0YXJ0X2dlbjIocwogCQkJTFZEQ1IxX0NI U1RCWSgzKSB8IExWRENSMV9DSFNUQlkoMikgfAogCQkJTFZEQ1IxX0NIU1RCWSgxKSB8IExWRENS MV9DSFNUQlkoMCkgfCBMVkRDUjFfQ0xLU1RCWSk7CiAKKwkvKiBFbmFibGUgTFZEUyBvcGVyYXRp b24gYW5kIHR1cm4gYmlhcyBjaXJjdWl0cnkgb24uICovCisJbHZkY3IwIHw9IExWRENSMF9CRU4g fCBMVkRDUjBfTFZFTjsKKwlyY2FyX2x2ZHNfd3JpdGUobHZkcywgTFZEQ1IwLCBsdmRjcjApOwor CiAJLyoKIAkgKiBUdXJuIHRoZSBQTEwgb24sIHdhaXQgZm9yIHRoZSBzdGFydHVwIGRlbGF5LCBh bmQgdHVybiB0aGUgb3V0cHV0CiAJICogb24uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK