Skip to content

Commit

Permalink
riscv: sophgo: milkv_duo: initial support added
Browse files Browse the repository at this point in the history
Add support for Sophgo's Milk-V Duo board, only minimal device tree and
serial console are enabled, and it can boot via vendor first stage
bootloader.

Signed-off-by: Kongyang Liu <[email protected]>
Reviewed-by: Leo Yu-Chi Liang <[email protected]>
  • Loading branch information
seashell11234455 authored and Leo Yu-Chi Liang committed Jan 31, 2024
1 parent f03d2ab commit 0dc6ee6
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/riscv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ config TARGET_ANDES_AE350
config TARGET_MICROCHIP_ICICLE
bool "Support Microchip PolarFire-SoC Icicle Board"

config TARGET_MILKV_DUO
bool "Support Milk-v Duo Board"

config TARGET_OPENPITON_RISCV64
bool "Support RISC-V cores on OpenPiton SoC"

Expand Down Expand Up @@ -83,6 +86,7 @@ source "board/openpiton/riscv64/Kconfig"
source "board/sifive/unleashed/Kconfig"
source "board/sifive/unmatched/Kconfig"
source "board/sipeed/maix/Kconfig"
source "board/sophgo/milkv_duo/Kconfig"
source "board/starfive/visionfive2/Kconfig"
source "board/thead/th1520_lpi4a/Kconfig"
source "board/xilinx/mbv/Kconfig"
Expand Down
28 changes: 28 additions & 0 deletions board/sophgo/milkv_duo/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
if TARGET_MILKV_DUO

config SYS_BOARD
default "milkv_duo"

config SYS_VENDOR
default "sophgo"

config SYS_CPU
default "generic"

config SYS_CONFIG_NAME
default "milkv_duo"

config TEXT_BASE
default 0x80200000

config ENV_SIZE
default 0x20000

config ENV_SECT_SIZE
default 0x40000

config BOARD_SPECIFIC_OPTIONS
def_bool y
select GENERIC_RISCV

endif
6 changes: 6 additions & 0 deletions board/sophgo/milkv_duo/MAINTAINERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Milk-V Duo
M: Kongyang Liu <[email protected]>
S: Maintained
F: board/sophgo/milkv_duo/
F: configs/milkv_duo_defconfig
F: doc/board/sophgo/milkv_duo.rst
5 changes: 5 additions & 0 deletions board/sophgo/milkv_duo/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPDX-License-Identifier: GPL-2.0+
#
# Copyright (c) 2024, Kongyang Liu <[email protected]>

obj-y := board.o
9 changes: 9 additions & 0 deletions board/sophgo/milkv_duo/board.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (c) 2024, Kongyang Liu <[email protected]>
*/

int board_init(void)
{
return 0;
}
23 changes: 23 additions & 0 deletions configs/milkv_duo_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
CONFIG_RISCV=y
CONFIG_SYS_MALLOC_LEN=0x820000
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_NR_DRAM_BANKS=1
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x82300000
CONFIG_DEFAULT_DEVICE_TREE="cv1800b-milkv-duo"
CONFIG_IDENT_STRING="milkv_duo"
CONFIG_SYS_LOAD_ADDR=0x80080000
CONFIG_TARGET_MILKV_DUO=y
CONFIG_ARCH_RV64I=y
CONFIG_RISCV_SMODE=y
CONFIG_FIT=y
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="milkv_duo# "
CONFIG_SYS_MAXARGS=64
CONFIG_SYS_CBSIZE=512
CONFIG_SYS_PBSIZE=544
CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_ENV_OVERWRITE=y
CONFIG_SYS_NS16550=y
CONFIG_SYS_NS16550_MEM32=y
12 changes: 12 additions & 0 deletions include/configs/milkv_duo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (c) 2024, Kongyang Liu <[email protected]>
*
*/

#ifndef __CONFIG_H
#define __CONFIG_H

#define CFG_SYS_SDRAM_BASE 0x80000000

#endif /* __CONFIG_H */

0 comments on commit 0dc6ee6

Please sign in to comment.