From patchwork Wed Feb 19 01:45:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kever Yang X-Patchwork-Id: 1240458 X-Patchwork-Delegate: ykai007@gmail.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=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=roy8UdBT; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48MgY06cFQz9sNg for ; Wed, 19 Feb 2020 12:45:56 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7141D81536; Wed, 19 Feb 2020 02:45:51 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="roy8UdBT"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D6BA78153B; Wed, 19 Feb 2020 02:45:49 +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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) (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 80A36813C3 for ; Wed, 19 Feb 2020 02:45:46 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=kever.yang@gmail.com Received: by mail-pf1-x442.google.com with SMTP id 84so11637662pfy.6 for ; Tue, 18 Feb 2020 17:45:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=Ymob1RnEtlIP2IcKRL8gYnwkODuTZkPXndaFwx11uCI=; b=roy8UdBTHZ5yV2t8RUtTdSzLq4b2VYw6VQwjnzfcRVkJItIJIjFE4B8RnsMFPZawKO M/YU+Z3DQk/TRg8ULSU1NmE6NfP9Eaj7Yu6G9cOjDwRswIVt9CF0bzQMkQLZvYjTcGx4 zc6ZC0MKDxOKqlaCXPNZR0Uzm5hTV/+JnCrgdv4x3GPl9RKvrQeNQUAHxkSOs+rR58Gl IqWzn0t5zHygJqb58nh0KxKlk7NXxxnmTeJY3WucO4YZadDUqSbtw2ZhjFuKkT9LB9Fe gzdBcLRortYsRD1NuFKF9TT4nkrhH4njaa5cQGO4lD5HoocbXjfGrb1H/FIr3TM1BvtB 9E9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=Ymob1RnEtlIP2IcKRL8gYnwkODuTZkPXndaFwx11uCI=; b=sevF+y6jCSZPshdNBRJW0J4mhH5GuXqbF+3Pc6IJrkbNkdEtY6xzLTjyGjh9JgP1OI RzhfJo/+INYPwpaSzOaFWdkRaQ1FgddlW/uuPRtfNQwWwEaGABbYwGhFuaB8N5VstiPF TDZj4sc6cEyg60PLu5dkf/5ze9uPffSdx5dT+ZuRGFQfjW+XAISR9b98C6wkss78DXQx qxUXP8O1pM5PFMd7BF0QAe2G+RTAVsyhOq91Z6QJhEkG10Hrmw0Xt5NnZTvlecVkSZjk Wu4/AJ9tl1xHEqmSVQ/JBO3fIUR3CaR1X7w679k4EVHV8FqBkD/rwytKaOe3HcoqG1vB 4Afw== X-Gm-Message-State: APjAAAX0Lvq+HECmq9dD5ECsqfSXJX4E2MJS2oAgY0HElsewPo9rNPO9 uk0DmgfjjdNu5vir+dO1wGtktEn5 X-Google-Smtp-Source: APXvYqzSL+o1um1mBi5L1xCjRPLkWDHv9HZNCnWHhLLZ1nDM3ISofftKs6Nr9Y3/gIH19T7BFw7baQ== X-Received: by 2002:a62:4d87:: with SMTP id a129mr24132997pfb.116.1582076744617; Tue, 18 Feb 2020 17:45:44 -0800 (PST) Received: from localhost.localdomain ([103.29.142.67]) by smtp.gmail.com with ESMTPSA id y6sm223292pgc.10.2020.02.18.17.45.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Feb 2020 17:45:44 -0800 (PST) From: Kever Yang To: u-boot@lists.denx.de Cc: sjg@chromium.org, philipp.tomsich@theobroma-systems.com, Kever Yang , Anatolij Gustschin Subject: [PATCH 1/2] rockchip: video: Use ofnode_decode_display_timing() to parse timing Date: Wed, 19 Feb 2020 09:45:37 +0800 Message-Id: <20200219014538.18366-1-kever.yang@rock-chips.com> X-Mailer: git-send-email 2.17.1 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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.1 at phobos.denx.de X-Virus-Status: Clean Use ofnode_decode_display_timing() instead of fdtdec_decode_display_timing() to parse display timing, so that we can support live DT. Signed-off-by: Kever Yang Reviewed-by: Simon Glass --- drivers/video/rockchip/rk_lvds.c | 3 +-- drivers/video/rockchip/rk_mipi.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c index cf5c0439b1..cae8bada32 100644 --- a/drivers/video/rockchip/rk_lvds.c +++ b/drivers/video/rockchip/rk_lvds.c @@ -160,8 +160,7 @@ int rk_lvds_enable(struct udevice *dev, int panel_bpp, int rk_lvds_read_timing(struct udevice *dev, struct display_timing *timing) { - if (fdtdec_decode_display_timing - (gd->fdt_blob, dev_of_offset(dev), 0, timing)) { + if (ofnode_decode_display_timing(dev_ofnode(dev), 0, timing)) { debug("%s: Failed to decode display timing\n", __func__); return -EINVAL; } diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c index f9280e8607..a77bdfd24d 100644 --- a/drivers/video/rockchip/rk_mipi.c +++ b/drivers/video/rockchip/rk_mipi.c @@ -29,8 +29,7 @@ int rk_mipi_read_timing(struct udevice *dev, { int ret; - ret = fdtdec_decode_display_timing(gd->fdt_blob, dev_of_offset(dev), - 0, timing); + ret = ofnode_decode_display_timing(dev_ofnode(dev), 0, timing); if (ret) { debug("%s: Failed to decode display timing (ret=%d)\n", __func__, ret); From patchwork Wed Feb 19 01:45:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kever Yang X-Patchwork-Id: 1240459 X-Patchwork-Delegate: ykai007@gmail.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=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=vEdF9ATE; 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48MgYB0SSyz9sNg for ; Wed, 19 Feb 2020 12:46:05 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F09EA81676; Wed, 19 Feb 2020 02:45:58 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="vEdF9ATE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 529DE815FF; Wed, 19 Feb 2020 02:45:56 +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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com [IPv6:2607:f8b0:4864:20::1043]) (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 861B8813C4 for ; Wed, 19 Feb 2020 02:45:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=kever.yang@gmail.com Received: by mail-pj1-x1043.google.com with SMTP id m7so1167797pjs.0 for ; Tue, 18 Feb 2020 17:45:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=D7r7fHj4AOmwfo9ysWkipQkxJzkqLRHq+9ZEJtbY670=; b=vEdF9ATEcfd2hiHRivgfZHLzj2+85e03ZJzLedwaRtfP+zPc48lYDrPoDYIr13b3sd 8utFyAQLkftZ6sOGQ4wsC4i2tmxtE/7rZtKzfIDuKIDz38ACF99ZIb2D0Fn4l+zuIbjZ OG5fn6Q1yDlhCr2swxzwUtE7a17CqHlxJdlluNMD+BhuWWIzSQMlo8DIzR8VyMNtf6Io V9jjwp0dGsKR6sB0W1WLaebbX/rvwS9yha9Gq7g8hXGLmYdTbxJ1lg0ydQ+mmmyCea3P 43gTwR0t3050VJLD0SJ/a3yi/uF9/LkTLifkHm2ogWRTX3DCJ1AYAiivq0aijM/iJWUj Itww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=D7r7fHj4AOmwfo9ysWkipQkxJzkqLRHq+9ZEJtbY670=; b=fbis0dmNITdZo9ZfXBbvajbAtPXGTNDC4dY6vJYRRsPLwA/h2BPjx1hdylZab8edQX R7fAyveW96B5SwE6YYu8jGEaA3dEjhHTH5x+S1Bt2gq0EKCmmcqa7nKlNlpig0DQhxOc l/fM5MhgUmzS1t/6ADPEAnwzbDShRY2f+MU9E+aozuhRPU54kWZ/FIoVM1MfMw4l0dT2 D2v8I6h3Wfr9hy7gfzE+W83hyhhKVUsqzlCTQCli3LXCEW7Ox7R+ANV/akl4yge/NHKX kKlgt8l6FFRX7mrGm8ieVCF2ri0lq74kPdToKChs+3lN0hOMz31OnIxNvx3y4OU6Dia5 gvJg== X-Gm-Message-State: APjAAAXGMFv2fTP9bEMawrOsIqn2ZLh6P3R7S0AeIa3xS69NJy7LdDKY zLV8PjXpB+MxLxBqXN5bEWy39l8g X-Google-Smtp-Source: APXvYqwR+TkWMLyEKGH/4IX6nG0WcxHtRCDEib3z2mEODSL++EKxhKTFQFM1fhnoM/kWXfwqI+7beQ== X-Received: by 2002:a17:902:426:: with SMTP id 35mr23138548ple.302.1582076746518; Tue, 18 Feb 2020 17:45:46 -0800 (PST) Received: from localhost.localdomain ([103.29.142.67]) by smtp.gmail.com with ESMTPSA id y6sm223292pgc.10.2020.02.18.17.45.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Feb 2020 17:45:46 -0800 (PST) From: Kever Yang To: u-boot@lists.denx.de Cc: sjg@chromium.org, philipp.tomsich@theobroma-systems.com, Kever Yang , Anatolij Gustschin Subject: [PATCH 2/2] rockchip: video: Convert to use APIs which support live DT Date: Wed, 19 Feb 2020 09:45:38 +0800 Message-Id: <20200219014538.18366-2-kever.yang@rock-chips.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200219014538.18366-1-kever.yang@rock-chips.com> References: <20200219014538.18366-1-kever.yang@rock-chips.com> X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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.1 at phobos.denx.de X-Virus-Status: Clean Use ofnode_ or dev_ APIs instead of fdt_ and fdtdec_ APIs so that the driver can support live DT. Signed-off-by: Kever Yang Reviewed-by: Simon Glass --- drivers/video/rockchip/rk3288_mipi.c | 1 - drivers/video/rockchip/rk3399_mipi.c | 1 - drivers/video/rockchip/rk_edp.c | 2 +- drivers/video/rockchip/rk_lvds.c | 10 ++++------ drivers/video/rockchip/rk_mipi.c | 11 +++++------ 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/drivers/video/rockchip/rk3288_mipi.c b/drivers/video/rockchip/rk3288_mipi.c index 65891ce45c..5b2dc2ad02 100644 --- a/drivers/video/rockchip/rk3288_mipi.c +++ b/drivers/video/rockchip/rk3288_mipi.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include "rk_mipi.h" diff --git a/drivers/video/rockchip/rk3399_mipi.c b/drivers/video/rockchip/rk3399_mipi.c index a5b7ba69a8..03e1349509 100644 --- a/drivers/video/rockchip/rk3399_mipi.c +++ b/drivers/video/rockchip/rk3399_mipi.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include "rk_mipi.h" diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c index 4330725a25..e617a974a5 100644 --- a/drivers/video/rockchip/rk_edp.c +++ b/drivers/video/rockchip/rk_edp.c @@ -995,7 +995,7 @@ static int rk_edp_ofdata_to_platdata(struct udevice *dev) { struct rk_edp_priv *priv = dev_get_priv(dev); - priv->regs = (struct rk3288_edp *)devfdt_get_addr(dev); + priv->regs = dev_read_addr_ptr(dev); priv->grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF); return 0; diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c index cae8bada32..92e70f6317 100644 --- a/drivers/video/rockchip/rk_lvds.c +++ b/drivers/video/rockchip/rk_lvds.c @@ -171,13 +171,11 @@ int rk_lvds_read_timing(struct udevice *dev, struct display_timing *timing) static int rk_lvds_ofdata_to_platdata(struct udevice *dev) { struct rk_lvds_priv *priv = dev_get_priv(dev); - const void *blob = gd->fdt_blob; - int node = dev_of_offset(dev); int ret; - priv->regs = (void *)devfdt_get_addr(dev); + priv->regs = dev_read_addr_ptr(dev); priv->grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - ret = fdtdec_get_int(blob, node, "rockchip,output", -1); + ret = dev_read_s32_default(dev, "rockchip,output", -1); if (ret != -1) { priv->output = ret; debug("LVDS output : %d\n", ret); @@ -186,7 +184,7 @@ static int rk_lvds_ofdata_to_platdata(struct udevice *dev) priv->output = LVDS_OUTPUT_RGB; } - ret = fdtdec_get_int(blob, node, "rockchip,data-mapping", -1); + ret = dev_read_s32_default(dev, "rockchip,data-mapping", -1); if (ret != -1) { priv->format = ret; debug("LVDS data-mapping : %d\n", ret); @@ -195,7 +193,7 @@ static int rk_lvds_ofdata_to_platdata(struct udevice *dev) priv->format = LVDS_FORMAT_JEIDA; } - ret = fdtdec_get_int(blob, node, "rockchip,data-width", -1); + ret = dev_read_s32_default(dev, "rockchip,data-width", -1); if (ret != -1) { debug("LVDS data-width : %d\n", ret); if (ret == 24) { diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c index a77bdfd24d..f1c21bb8d7 100644 --- a/drivers/video/rockchip/rk_mipi.c +++ b/drivers/video/rockchip/rk_mipi.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include "rk_mipi.h" @@ -76,7 +75,7 @@ static void rk_mipi_dsi_write(uintptr_t regs, u32 reg, u32 val) int rk_mipi_dsi_enable(struct udevice *dev, const struct display_timing *timing) { - int node, timing_node; + ofnode node, timing_node; int val; struct rk_mipi_priv *priv = dev_get_priv(dev); uintptr_t regs = priv->regs; @@ -119,10 +118,10 @@ int rk_mipi_dsi_enable(struct udevice *dev, rk_mipi_dsi_write(regs, VID_PKT_SIZE, 0x4b0); /* Set dpi color coding depth 24 bit */ - timing_node = fdt_subnode_offset(gd->fdt_blob, dev_of_offset(dev), - "display-timings"); - node = fdt_first_subnode(gd->fdt_blob, timing_node); - val = fdtdec_get_int(gd->fdt_blob, node, "bits-per-pixel", -1); + timing_node = ofnode_find_subnode(dev->node, "display-timings"); + node = ofnode_first_subnode(timing_node); + + val = ofnode_read_u32_default(node, "bits-per-pixel", -1); switch (val) { case 16: rk_mipi_dsi_write(regs, DPI_COLOR_CODING, DPI_16BIT_CFG_1);