Skip to content

Commit 85e3142

Browse files
committed
lk2nd: Allow hardcoding a DTB using LK1ST_DTB
Usage e.g. LK1ST_DTB=apq8016-sbc
1 parent 827f01c commit 85e3142

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

lk2nd/lk2nd-device.c

+15-2
Original file line numberDiff line numberDiff line change
@@ -313,12 +313,25 @@ static void lk2nd_parse_device_node(const void *fdt)
313313
#endif
314314
}
315315

316+
#ifdef LK1ST_DTB
317+
INCFILE(lk1st_dtb, lk1st_dtb_size, LK1ST_DTB);
318+
#endif
319+
320+
static void *lk2nd_get_fdt(void)
321+
{
322+
#ifdef LK1ST_DTB
323+
return lk1st_dtb;
324+
#else
325+
return (void*) lk_boot_args[2];
326+
#endif
327+
}
328+
316329
int lk2nd_fdt_parse_early_uart(void)
317330
{
318331
int offset, len;
319332
const uint32_t *val;
333+
void *fdt = lk2nd_get_fdt();
320334

321-
void *fdt = (void*) lk_boot_args[2];
322335
if (!fdt || dev_tree_check_header(fdt))
323336
return -1; // Will be reported later again. Hopefully.
324337

@@ -335,7 +348,7 @@ int lk2nd_fdt_parse_early_uart(void)
335348

336349
static void lk2nd_fdt_parse(void)
337350
{
338-
void *fdt = (void*) lk_boot_args[2];
351+
void *fdt = lk2nd_get_fdt();
339352
if (!fdt)
340353
return;
341354

lk2nd/rules.mk

+6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ MODULES += lk2nd/smp
2222
DEFINES += SMP_SPIN_TABLE_BASE=$(SMP_SPIN_TABLE_BASE)
2323
endif
2424

25+
ifneq ($(LK1ST_DTB),)
26+
LK1ST_DTB_PATH := dts/$(TARGET)/$(LK1ST_DTB).dtb
27+
$(BUILDDIR)/$(LOCAL_DIR)/lk2nd-device.o: $(BUILDDIR)/$(LK1ST_DTB_PATH)
28+
CFLAGS += -DLK1ST_DTB=\"$(LK1ST_DTB_PATH)\"
29+
endif
30+
2531
ifneq ($(LK1ST_PANEL),)
2632
# Filter out original panel implementation
2733
OBJS := $(filter-out target/$(TARGET)/oem_panel.o, $(OBJS))

0 commit comments

Comments
 (0)