u-boot/board/broadcom/bcmns/ns.c
Linus Walleij 6f63c296fe board: Add new Broadcom Northstar board
This adds a simple Northstar "BRCMNS" board to be used with
the BCM4708x and BCM5301x chips.

The main intention is to use this with the D-Link DIR-890L
and DIR-885L routers for loading the kernel into RAM from
NAND memory using the BCH-1 ECC and using the separately
submitted SEAMA load command, so we are currently not adding
support for things such as networking.

The DTS file is a multiplatform NorthStar board, designed to
be usable with several NorthStar designs by avoiding any
particulars not related to the operation of U-Boot.

If other board need other ECC for example, they need to
create a separate DTS file and augment the code, but I don't
know if any other users will turn up.

Cc: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-05-02 14:23:58 -04:00

60 lines
888 B
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Broadcom Northstar generic board set-up code
* Copyright (C) 2023 Linus Walleij <linus.walleij@linaro.org>
*/
#include <common.h>
#include <dm.h>
#include <init.h>
#include <log.h>
#include <ram.h>
#include <serial.h>
#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/armv7m.h>
DECLARE_GLOBAL_DATA_PTR;
int dram_init(void)
{
return fdtdec_setup_mem_size_base();
}
int dram_init_banksize(void)
{
return fdtdec_setup_memory_banksize();
}
int board_late_init(void)
{
/* LEDs etc can be initialized here */
return 0;
}
int board_init(void)
{
return 0;
}
void reset_cpu(void)
{
}
int print_cpuinfo(void)
{
printf("BCMNS Northstar SoC\n");
return 0;
}
int misc_init_r(void)
{
return 0;
}
int ft_board_setup(void *fdt, struct bd_info *bd)
{
printf("Northstar board setup: DTB at 0x%08lx\n", (ulong)fdt);
return 0;
}