The Renesas R-Car Gen3 boards use different device trees than the default one.
This commit uses the sysinfo's board id and revision to determine which linux device tree to load: * H3 (Starter Kit Premier v2.0): renesas/r8a77951-ulcb.dtb * H3e (Starter Kit Premier v2.1): renesas/r8a779m1-ulcb.dtb Signed-off-by: Detlev Casanova <detlev.casan...@collabora.com> --- board/renesas/ulcb/ulcb.c | 59 ++++++++++++++++++++++++++++++++++++ configs/rcar3_ulcb_defconfig | 1 + 2 files changed, 60 insertions(+) diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 1477750f921..cc78e0952b6 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -27,6 +27,7 @@ #include <asm/arch/sh_sdhi.h> #include <i2c.h> #include <mmc.h> +#include <sysinfo.h> DECLARE_GLOBAL_DATA_PTR; @@ -65,6 +66,64 @@ int board_init(void) return 0; } +int misc_init_r(void) +{ + struct udevice *dev; + int board_id; + int rev_major, rev_minor; + int ret = sysinfo_get(&dev); + + if (ret) { + debug("Cannot get sysinfo: %d\n", ret); + return 0; + } + + ret = sysinfo_detect(dev); + if (ret) { + debug("Cannot detect sysinfo: %d\n", ret); + return 0; + } + + ret = sysinfo_get_int(dev, + SYSINFO_ID_BOARD_MODEL, + &board_id); + + if (ret) { + debug("Cannot get sysinfo int: %d\n", ret); + return 0; + } + + ret = sysinfo_get_int(dev, + RCAR_SYSINFO_REV_MAJOR, + &rev_major); + + if (ret) { + debug("Cannot get sysinfo int: %d\n", ret); + return 0; + } + + ret = sysinfo_get_int(dev, + RCAR_SYSINFO_REV_MINOR, + &rev_minor); + + if (ret) { + debug("Cannot get sysinfo int: %d\n", ret); + return 0; + } + + if (board_id == BOARD_STARTER_KIT_PRE && rev_major == '2') { + /* + * H3 and H3e boards + */ + if (rev_minor == '0') + env_set("fdtfile", "renesas/r8a77951-ulcb.dtb"); + else if (rev_minor == '1') + env_set("fdtfile", "renesas/r8a779m1-ulcb.dtb"); + } + + return 0; +} + #ifdef CONFIG_MULTI_DTB_FIT int board_fit_config_name_match(const char *name) { diff --git a/configs/rcar3_ulcb_defconfig b/configs/rcar3_ulcb_defconfig index b8fdb5e3826..752d33d77ec 100644 --- a/configs/rcar3_ulcb_defconfig +++ b/configs/rcar3_ulcb_defconfig @@ -111,3 +111,4 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_STORAGE=y +CONFIG_MISC_INIT_R=y -- 2.39.3