From patchwork Fri Jan 15 08:11:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Art Nikpal X-Patchwork-Id: 1426955 X-Patchwork-Delegate: narmstrong@baylibre.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=HdzwPZiw; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DHL4x54rhz9sVS for ; Fri, 15 Jan 2021 23:26:08 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 810AE8287C; Fri, 15 Jan 2021 13:25:34 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HdzwPZiw"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4706A82831; Fri, 15 Jan 2021 09:12:08 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7827B82822 for ; Fri, 15 Jan 2021 09:12:04 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=email2tema@gmail.com Received: by mail-pg1-x536.google.com with SMTP id n10so5506618pgl.10 for ; Fri, 15 Jan 2021 00:12:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=T3Q8gcUuX8y0myj4nrIRMEHYXU2AzWyEwffh9+TTUko=; b=HdzwPZiwdkhcT+2R6Iyzm0QqqsGv6PEo1qJCHrP9sOTDw/DB2Cb7TsA4sOUyaSw8M0 XVC5+bMPsYOrlOwn0B+udAdeJfcv3N8EvXQ5XCVjf8KqRI9XUo/ySHs9d1Xpwam03xdV AxTaMF0eVH5HukKU4PqQI1Cgl07fvW5rQRZtg3MQtRfqtv66tnLdxZBkn6dYGgDsCj56 Y9BYRrK3X8Cpo51ga1fszaHenjizHaghnDMHh1OF6W1C2tJhUN0HxYAxjELgLs/prZ69 OKnonnt0XVVvQumAd7GG0iwBM9YT0Usl1qjg+MdBaBQFc5ZMIFyaIzSf84hzy234ovUd Ho7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=T3Q8gcUuX8y0myj4nrIRMEHYXU2AzWyEwffh9+TTUko=; b=oxgCqH2+YKxyX9SjKQfDKdc1dTgF1EYrIsk9PzQAHs5vbDrMIpTMlQoKJOoBFxKVKJ WprrAGUBAJCVsEgFxNC0l4MCQEMLoxn18q2MS9fyVFNufQNIT4vK1aBFWRKGvX1b34gn +2ZpQoE00+DN+R3OGnQx7jSDo31+yv7mUqSgV+P3mYDzYXUPtQyYiGtDqQ12paiNmg0s iuhHidzEF1yfRdGk6LJszi1iFUsgFlhCzJeaJ+oQ4l/juautG9ykIB+LbXyQWN1dg8uP H3RFkwU9V3DPtCM+GlgQ31VdtHWwCE1N/iSFNUOIWZ2YmMu4OywG6LrApdiAE6ulGf/X Decw== X-Gm-Message-State: AOAM530tjbTPIZfq3G0xgKXJQGj1QtM/WjR4+SJ7y63JCOEFQnKu5jI+ pv6KsH+M5IhS8z1RoCFZcug= X-Google-Smtp-Source: ABdhPJxXowZfJRZQnOm+eDtbqnIKLFVhG+2giISW5pV6ClHsBz73KKCD6p1WY6Y0xl1gUuZFG+XgVw== X-Received: by 2002:a63:4426:: with SMTP id r38mr11435154pga.240.1610698322779; Fri, 15 Jan 2021 00:12:02 -0800 (PST) Received: from localhost.localdomain (199.19.111.227.16clouds.com. [199.19.111.227]) by smtp.gmail.com with ESMTPSA id a1sm7593002pfo.56.2021.01.15.00.11.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Jan 2021 00:12:02 -0800 (PST) From: Artem Lapkin X-Google-Original-From: Artem Lapkin To: narmstrong@baylibre.com Cc: u-boot@lists.denx.de, u-boot-amlogic@groups.io, m.szyprowski@samsung.com, jh80.chung@samsung.com, art@khadas.com, nick@khadas.com, gouwa@khadas.com Subject: [PATCH] video: meson: add HDMI fail-save FullHD option Date: Fri, 15 Jan 2021 16:11:39 +0800 Message-Id: <20210115081139.567155-1-art@khadas.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Mailman-Approved-At: Fri, 15 Jan 2021 13:25:10 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean add VIDEO_MESON_HDMI_FAIL_SAVE_FULL_HD configuration option ABOUT: Force setup FullHD display mode, if proper timing cant readed. from display! Its happens for some 4K display, which send unsupported high timings, but same time can works as FullHD! Also its will be useful for suspended or disconnected displays. NOTE: this option disabled by default Signed-off-by: Artem Lapkin --- drivers/video/meson/Kconfig | 10 ++++++++++ drivers/video/meson/meson_vpu.c | 19 +++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/drivers/video/meson/Kconfig b/drivers/video/meson/Kconfig index 0c9ddeb8..55d67700 100644 --- a/drivers/video/meson/Kconfig +++ b/drivers/video/meson/Kconfig @@ -10,3 +10,13 @@ config VIDEO_MESON select DISPLAY help Enable Amlogic Meson Video Processing Unit video support. + +config VIDEO_MESON_HDMI_FAIL_SAVE_FULL_HD + bool "Enable HDMI fail-save FullHD mode" + depends on VIDEO_MESON + default n + help + Force setup FullHD display mode, if proper timing cant readed. + from display! Its happens for some 4K display, which send + unsupported high timings, but same time can works as FullHD! + Also its will be useful for suspended or disconnected displays diff --git a/drivers/video/meson/meson_vpu.c b/drivers/video/meson/meson_vpu.c index 4868839f..af677a45 100644 --- a/drivers/video/meson/meson_vpu.c +++ b/drivers/video/meson/meson_vpu.c @@ -52,8 +52,23 @@ static int meson_vpu_setup_mode(struct udevice *dev, struct udevice *disp) if (disp) { ret = display_read_timing(disp, &timing); if (ret) { - debug("%s: Failed to read timings\n", __func__); - goto cvbs; + if (IS_ENABLED(CONFIG_VIDEO_MESON_HDMI_FAIL_SAVE_FULL_HD)) { + printf("DISPLAY: setup failsave FullHD mode\n"); + timing.pixelclock.typ = 148500000; + timing.hactive.typ = 1920; + timing.hfront_porch.typ = 88; + timing.hback_porch.typ = 148; + timing.hsync_len.typ = 44; + timing.vactive.typ = 1080; + timing.vfront_porch.typ = 4; + timing.vback_porch.typ = 36; + timing.vsync_len.typ = 5; + timing.flags = 10; + timing.hdmi_monitor = true; + } else { + debug("%s: Failed to read timings\n", __func__); + goto cvbs; + } } uc_priv->xsize = timing.hactive.typ;