mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 14:40:41 +00:00
rockchip: video: Convert to use APIs which support live DT
Use ofnode_ or dev_ APIs instead of fdt_ and fdtdec_ APIs so that the driver can support live DT. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c3d31af6d6
commit
653ac184ee
5 changed files with 10 additions and 15 deletions
|
@ -8,7 +8,6 @@
|
|||
#include <clk.h>
|
||||
#include <display.h>
|
||||
#include <dm.h>
|
||||
#include <fdtdec.h>
|
||||
#include <panel.h>
|
||||
#include <regmap.h>
|
||||
#include "rk_mipi.h"
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include <clk.h>
|
||||
#include <display.h>
|
||||
#include <dm.h>
|
||||
#include <fdtdec.h>
|
||||
#include <panel.h>
|
||||
#include <regmap.h>
|
||||
#include "rk_mipi.h"
|
||||
|
|
|
@ -997,7 +997,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;
|
||||
|
|
|
@ -172,13 +172,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);
|
||||
|
@ -187,7 +185,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);
|
||||
|
@ -196,7 +194,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) {
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include <clk.h>
|
||||
#include <display.h>
|
||||
#include <dm.h>
|
||||
#include <fdtdec.h>
|
||||
#include <panel.h>
|
||||
#include <regmap.h>
|
||||
#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);
|
||||
|
|
Loading…
Reference in a new issue