rockchip: display: enable rockchip_display_fixup()
Enable and update the rockchip_display_fixup() so that we can update the logo reserve memory node for kernel dts. Change-Id: I34e3812689052a63ed58c61a41bca53798ffd666 Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
3a39dbf874
commit
51619d03f1
|
|
@ -62,12 +62,10 @@ static void *get_display_buffer(int size)
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
static unsigned long get_display_size(void)
|
static unsigned long get_display_size(void)
|
||||||
{
|
{
|
||||||
return memory_end - memory_start;
|
return memory_end - memory_start;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static bool can_direct_logo(int bpp)
|
static bool can_direct_logo(int bpp)
|
||||||
{
|
{
|
||||||
|
|
@ -935,7 +933,6 @@ static int rockchip_display_probe(struct udevice *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
void rockchip_display_fixup(void *blob)
|
void rockchip_display_fixup(void *blob)
|
||||||
{
|
{
|
||||||
const struct rockchip_connector_funcs *conn_funcs;
|
const struct rockchip_connector_funcs *conn_funcs;
|
||||||
|
|
@ -944,17 +941,16 @@ void rockchip_display_fixup(void *blob)
|
||||||
const struct rockchip_crtc *crtc;
|
const struct rockchip_crtc *crtc;
|
||||||
struct display_state *s;
|
struct display_state *s;
|
||||||
u32 offset;
|
u32 offset;
|
||||||
int node;
|
const struct device_node *np;
|
||||||
char path[100];
|
const char *path;
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (!get_display_size())
|
if (!get_display_size())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
node = fdt_update_reserved_memory(blob, "rockchip,drm-logo",
|
offset = fdt_update_reserved_memory(blob, "rockchip,drm-logo",
|
||||||
(u64)memory_start,
|
(u64)memory_start,
|
||||||
(u64)get_display_size());
|
(u64)get_display_size());
|
||||||
if (node < 0) {
|
if (offset < 0) {
|
||||||
printf("failed to add drm-loader-logo memory\n");
|
printf("failed to add drm-loader-logo memory\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -985,17 +981,14 @@ void rockchip_display_fixup(void *blob)
|
||||||
if (conn_funcs->fixup_dts)
|
if (conn_funcs->fixup_dts)
|
||||||
conn_funcs->fixup_dts(s, blob);
|
conn_funcs->fixup_dts(s, blob);
|
||||||
|
|
||||||
ret = fdt_get_path(s->blob, s->node, path, sizeof(path));
|
np = ofnode_to_np(s->node);
|
||||||
if (ret < 0) {
|
path = np->full_name;
|
||||||
printf("failed to get route path[%s], ret=%d\n",
|
fdt_increase_size(blob, 0x400);
|
||||||
path, ret);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define FDT_SET_U32(name, val) \
|
#define FDT_SET_U32(name, val) \
|
||||||
do_fixup_by_path_u32(blob, path, name, val, 1);
|
do_fixup_by_path_u32(blob, path, name, val, 1);
|
||||||
|
|
||||||
offset = s->logo.offset + s->logo.mem - memory_start;
|
offset = s->logo.offset + (u32)(unsigned long)s->logo.mem
|
||||||
|
- memory_start;
|
||||||
FDT_SET_U32("logo,offset", offset);
|
FDT_SET_U32("logo,offset", offset);
|
||||||
FDT_SET_U32("logo,width", s->logo.width);
|
FDT_SET_U32("logo,width", s->logo.width);
|
||||||
FDT_SET_U32("logo,height", s->logo.height);
|
FDT_SET_U32("logo,height", s->logo.height);
|
||||||
|
|
@ -1008,7 +1001,6 @@ void rockchip_display_fixup(void *blob)
|
||||||
#undef FDT_SET_U32
|
#undef FDT_SET_U32
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int rockchip_display_bind(struct udevice *dev)
|
int rockchip_display_bind(struct udevice *dev)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -23,5 +23,6 @@
|
||||||
|
|
||||||
void rockchip_show_bmp(const char *bmp);
|
void rockchip_show_bmp(const char *bmp);
|
||||||
void rockchip_show_logo(void);
|
void rockchip_show_logo(void);
|
||||||
|
void rockchip_display_fixup(void *blob);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue