[PATCH v2 8/9] board: econet: add EN7528 board support
AK Sharma <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <e58fd82b5a212c7630bf7046e76283e4d2ec9164.1787736704.git.maskachoska@yahoo.com> |
Add the EcoNet EN7528 board: board glue, the reference and RAM defconfigs, and the board header. Signed-off-by: AK Sharma <[email protected]> --- board/econet/en7528/MAINTAINERS | 13 +++++++++ board/econet/en7528/Makefile | 2 ++ board/econet/en7528/board.c | 37 +++++++++++++++++++++++++ configs/en7528_ram_defconfig | 43 ++++++++++++++++++++++++++++++ configs/en7528_reference_defconfig | 38 ++++++++++++++++++++++++++ include/configs/en7528.h | 9 +++++++ 6 files changed, 142 insertions(+) create mode 100644 board/econet/en7528/MAINTAINERS create mode 100644 board/econet/en7528/Makefile create mode 100644 board/econet/en7528/board.c create mode 100644 configs/en7528_ram_defconfig create mode 100644 configs/en7528_reference_defconfig create mode 100644 include/configs/en7528.h diff --git a/board/econet/en7528/MAINTAINERS b/board/econet/en7528/MAINTAINERS new file mode 100644 index 00000000..44520a14 --- /dev/null +++ b/board/econet/en7528/MAINTAINERS @@ -0,0 +1,13 @@ +ECONET/AIROHA EN75XX +M: AK Sharma <[email protected]> +S: Maintained +F: arch/mips/mach-en75xx/ +F: arch/mips/dts/econet,en7528* +F: board/econet/en7528/ +F: configs/en7528_*_defconfig +F: doc/board/econet/en7528.rst +F: doc/board/econet/index.rst +F: drivers/serial/serial_en75xx.c +F: include/configs/en7528.h +N: en75xx +N: en7528 diff --git a/board/econet/en7528/Makefile b/board/econet/en7528/Makefile new file mode 100644 index 00000000..bcca1a9f --- /dev/null +++ b/board/econet/en7528/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0+ +obj-y += board.o diff --git a/board/econet/en7528/board.c b/board/econet/en7528/board.c new file mode 100644 index 00000000..a168f534 --- /dev/null +++ b/board/econet/en7528/board.c @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0+ + +#include <dm.h> +#include <init.h> +#include <asm/io.h> +#include <linux/bitops.h> +#include <linux/delay.h> +#include <linux/errno.h> +#include <stdio.h> + +#if CONFIG_IS_ENABLED(AIROHA_ETH) +extern U_BOOT_DRIVER(airoha_eth); +#endif + +int board_init(void) +{ + return 0; +} + +int board_late_init(void) +{ +#if CONFIG_IS_ENABLED(AIROHA_ETH) + struct udevice *dev; + int ret; + + /* + * Probe the EN751221-family Ethernet parent after the console is up and + * just before initr_net() enumerates UCLASS_ETH devices (mirrors the + * EN7512 reference board). + */ + ret = uclass_get_device_by_driver(UCLASS_MISC, + DM_DRIVER_GET(airoha_eth), &dev); + if (ret && ret != -ENODEV) + printf("EN7528 Ethernet probe failed: %d\n", ret); +#endif + return 0; +} diff --git a/configs/en7528_ram_defconfig b/configs/en7528_ram_defconfig new file mode 100644 index 00000000..17aa465c --- /dev/null +++ b/configs/en7528_ram_defconfig @@ -0,0 +1,43 @@ +CONFIG_MIPS=y +CONFIG_SKIP_LOWLEVEL_INIT=y +CONFIG_SYS_MALLOC_LEN=0x100000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x1000 +CONFIG_DEFAULT_DEVICE_TREE="econet,en7528-ram" +CONFIG_SYS_LOAD_ADDR=0x81800000 +CONFIG_ARCH_EN75XX=y +CONFIG_BOARD_EN7528_RAM=y +CONFIG_SYS_MIPS_TIMER_FREQ=200000000 +CONFIG_SYS_LITTLE_ENDIAN=y +CONFIG_BOOTDELAY=3 +CONFIG_DISPLAY_CPUINFO=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_BOARD_LATE_INIT=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="EN7528> " +CONFIG_SYS_MAXARGS=16 +CONFIG_CMD_MEMINFO=y +CONFIG_CMD_DM=y +CONFIG_CMD_MTD=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_EFI_PARTITION=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_CLK=y +CONFIG_DMA=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_MTD_SPI_NAND=y +CONFIG_DM_MDIO=y +CONFIG_AIROHA_ETH=y +CONFIG_PHY=y +CONFIG_NOP_PHY=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_AIROHA_SNFI_SPI=y +CONFIG_LZMA=y diff --git a/configs/en7528_reference_defconfig b/configs/en7528_reference_defconfig new file mode 100644 index 00000000..4b85a7dd --- /dev/null +++ b/configs/en7528_reference_defconfig @@ -0,0 +1,38 @@ +CONFIG_MIPS=y +CONFIG_SKIP_LOWLEVEL_INIT=y +CONFIG_SYS_MALLOC_LEN=0x100000 +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x1000 +CONFIG_DEFAULT_DEVICE_TREE="econet,en7528-reference" +CONFIG_SPL_SYS_MALLOC_F_LEN=0x10000 +CONFIG_SPL_SERIAL=y +CONFIG_TPL_SYS_MALLOC_F_LEN=0x1000 +CONFIG_SPL_BSS_START_ADDR=0x80080000 +CONFIG_SPL_BSS_MAX_SIZE=0x10000 +CONFIG_SYS_LOAD_ADDR=0x81800000 +CONFIG_SPL=y +CONFIG_ARCH_EN75XX=y +CONFIG_BOARD_EN7528_REFERENCE=y +CONFIG_SYS_MIPS_TIMER_FREQ=150000000 +CONFIG_MIPS_CACHE_SETUP=y +CONFIG_MIPS_CACHE_DISABLE=y +CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y +CONFIG_MIPS_BOOT_FDT=y +CONFIG_SYS_LITTLE_ENDIAN=y +CONFIG_FIT=y +CONFIG_BOOTDELAY=3 +CONFIG_DISPLAY_CPUINFO=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_SPL_MAX_SIZE=0x30000 +CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_TPL=y +# CONFIG_TPL_FRAMEWORK is not set +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="EN7528> " +CONFIG_SYS_MAXARGS=8 +CONFIG_CMD_MEMINFO=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_SPL_OF_CONTROL=y +CONFIG_SPL_DM=y diff --git a/include/configs/en7528.h b/include/configs/en7528.h new file mode 100644 index 00000000..b8dc2410 --- /dev/null +++ b/include/configs/en7528.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +#ifndef __CONFIG_EN7528_H +#define __CONFIG_EN7528_H + +#define CFG_SYS_SDRAM_BASE 0x80000000 +/* Above FIT scratch (0x82000000) and kernel load (0x80020000, up to ~32 MiB). */ +#define CFG_SYS_INIT_SP_OFFSET 0x04000000 + +#endif -- 2.53.0