From: Chao-ying Fu <c...@mips.com> Implement initial board-level support for the P8700 Boston SoC.
Signed-off-by: Chao-ying Fu <c...@mips.com> Signed-off-by: Uros Stajic <uros.sta...@htecgroup.com> --- arch/riscv/Kconfig | 10 + arch/riscv/cpu/p8700/Kconfig | 2 +- arch/riscv/dts/Makefile | 1 + arch/riscv/dts/boston-p8700.dts | 263 ++++++++++++++++++++++++ board/mips/boston-riscv/Kconfig | 43 ++++ board/mips/boston-riscv/MAINTAINERS | 9 + board/mips/boston-riscv/Makefile | 8 + board/mips/boston-riscv/boston-lcd.h | 20 ++ board/mips/boston-riscv/boston-regs.h | 38 ++++ board/mips/boston-riscv/boston-riscv.c | 9 + board/mips/boston-riscv/checkboard.c | 43 ++++ board/mips/boston-riscv/config.mk | 15 ++ board/mips/boston-riscv/lowlevel_init.S | 18 ++ board/mips/boston-riscv/reset.c | 15 ++ configs/boston-p8700_defconfig | 94 +++++++++ drivers/clk/Kconfig | 2 +- include/asm-generic/global_data.h | 5 + include/configs/boston-riscv.h | 11 + 18 files changed, 604 insertions(+), 2 deletions(-) create mode 100644 arch/riscv/dts/boston-p8700.dts create mode 100644 board/mips/boston-riscv/Kconfig create mode 100644 board/mips/boston-riscv/MAINTAINERS create mode 100644 board/mips/boston-riscv/Makefile create mode 100644 board/mips/boston-riscv/boston-lcd.h create mode 100644 board/mips/boston-riscv/boston-regs.h create mode 100644 board/mips/boston-riscv/boston-riscv.c create mode 100644 board/mips/boston-riscv/checkboard.c create mode 100644 board/mips/boston-riscv/config.mk create mode 100644 board/mips/boston-riscv/lowlevel_init.S create mode 100644 board/mips/boston-riscv/reset.c create mode 100644 configs/boston-p8700_defconfig create mode 100644 include/configs/boston-riscv.h diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 4eaf0e3db71..9e176522e73 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -61,6 +61,15 @@ config TARGET_XILINX_MBV config TARGET_ASPEED_AST2700_IBEX bool "Support Ibex RISC-V cores on Aspeed AST2700 SoC" +config TARGET_MIPS_BOSTON + bool "Support Mips Boston Board" + select DM + select DM_GPIO + select DM_SERIAL + select OF_CONTROL + select DISTRO_DEFAULTS + imply CMD_DM + endchoice config SYS_ICACHE_OFF @@ -119,6 +128,7 @@ source "board/spacemit/bananapi-f3/Kconfig" source "board/starfive/visionfive2/Kconfig" source "board/thead/th1520_lpi4a/Kconfig" source "board/xilinx/mbv/Kconfig" +source "board/mips/boston-riscv/Kconfig" # platform-specific options below source "arch/riscv/cpu/andes/Kconfig" diff --git a/arch/riscv/cpu/p8700/Kconfig b/arch/riscv/cpu/p8700/Kconfig index 7023575a6be..0913a6ce8f2 100644 --- a/arch/riscv/cpu/p8700/Kconfig +++ b/arch/riscv/cpu/p8700/Kconfig @@ -7,7 +7,7 @@ config P8700_RISCV select ARCH_EARLY_INIT_R imply CPU imply CPU_RISCV - imply SIFIVE_CLINT if (RISCV_MMODE || SPL_RISCV_MMODE) + imply RISCV_ACLINT if (RISCV_MMODE || SPL_RISCV_MMODE) imply CMD_CPU imply SPL_CPU_SUPPORT imply SPL_OPENSBI diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile index a637727b76b..d00f41de2ad 100644 --- a/arch/riscv/dts/Makefile +++ b/arch/riscv/dts/Makefile @@ -17,6 +17,7 @@ dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv32.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv64.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-binman.dtb dtb-$(CONFIG_TARGET_ASPEED_AST2700_IBEX) += ast2700-ibex.dtb +dtb-$(CONFIG_TARGET_MIPS_BOSTON) += boston-p8700.dtb include $(srctree)/scripts/Makefile.dts diff --git a/arch/riscv/dts/boston-p8700.dts b/arch/riscv/dts/boston-p8700.dts new file mode 100644 index 00000000000..5a5c8826318 --- /dev/null +++ b/arch/riscv/dts/boston-p8700.dts @@ -0,0 +1,263 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2021, Chao-ying Fu <c...@mips.com> + */ + +/dts-v1/; + +#include <dt-bindings/clock/boston-clock.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/interrupt-controller/mips-gic.h> + +/ { + #address-cells = <1>; + #size-cells = <1>; + model = "p8700"; + compatible = "img,boston"; + + chosen { + stdout-path = &uart0; + bootargs = "root=/dev/sda rw earlycon console=ttyS0,115200n8r"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + timebase-frequency = <20000000>; + + cpu@0 { + device_type = "cpu"; + compatible = "riscv"; + reg = <0>; + mmu-type = "riscv,sv39"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb"; + clocks = <&clk_boston BOSTON_CLK_CPU>; + clock-frequency = <20000000>; + bootph-all; + status = "okay"; + + cpu0_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + interrupt-controller; + #interrupt-cells = <1>; + }; + }; + }; + + memory@0 { + device_type = "memory"; + reg = <0x80000000 0x80000000>; + }; + + timer@16154000 { + compatible = "riscv,aclint-mtimer"; + reg = <0x16108050 0x8>, + <0x16154000 0x7ff8>; + interrupts-extended = <&cpu0_intc 7>; + }; + + gic: interrupt-controller { + compatible = "mti,gic"; + + interrupt-controller; + #interrupt-cells = <3>; + }; + + pci0: pci@10000000 { + device_type = "pci"; + compatible = "xlnx,axi-pcie-host-1.00.a"; + reg = <0x10000000 0x2000000>; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + + interrupt-parent = <&gic>; + interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>; + + ranges = <0x02000000 0 0x40000000 + 0x40000000 0 0x40000000>; + + bus-range = <0x00 0xff>; + + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0 0 0 1 &pci0_intc 1>, + <0 0 0 2 &pci0_intc 2>, + <0 0 0 3 &pci0_intc 3>, + <0 0 0 4 &pci0_intc 4>; + + status = "disabled"; + + pci0_intc: interrupt-controller { + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + }; + }; + + pci1: pci@12000000 { + device_type = "pci"; + compatible = "xlnx,axi-pcie-host-1.00.a"; + reg = <0x12000000 0x2000000>; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + + interrupt-parent = <&gic>; + interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>; + + ranges = <0x02000000 0 0x20000000 + 0x20000000 0 0x20000000>; + + bus-range = <0x00 0xff>; + + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0 0 0 1 &pci1_intc 1>, + <0 0 0 2 &pci1_intc 2>, + <0 0 0 3 &pci1_intc 3>, + <0 0 0 4 &pci1_intc 4>; + + status = "disabled"; + + pci1_intc: interrupt-controller { + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + }; + }; + + pci2: pci@14000000 { + device_type = "pci"; + compatible = "xlnx,axi-pcie-host-1.00.a"; + reg = <0x14000000 0x2000000>; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + + interrupt-parent = <&gic>; + interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>; + + ranges = <0x02000000 0 0x16000000 + 0x16000000 0 0x100000>; + + bus-range = <0x00 0xff>; + + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0 0 0 1 &pci2_intc 1>, + <0 0 0 2 &pci2_intc 2>, + <0 0 0 3 &pci2_intc 3>, + <0 0 0 4 &pci2_intc 4>; + + status = "disabled"; + + pci2_intc: interrupt-controller { + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + }; + + pci2_root@0,0,0 { + compatible = "pci10ee,7021", "pci-bridge"; + reg = <0x00000000 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + + eg20t_bridge@1,0,0 { + compatible = "pci8086,8800", "pci-bridge"; + reg = <0x00010000 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + + eg20t_mac@2,0,1 { + compatible = "pci8086,8802", "intel,pch-gbe"; + reg = <0x00020100 0 0 0 0>; + phy-reset-gpios = <&eg20t_gpio 6 GPIO_ACTIVE_LOW>; + }; + + eg20t_gpio: eg20t_gpio@2,0,2 { + compatible = "pci8086,8803", "intel,eg20t-gpio"; + reg = <0x00020200 0 0 0 0>; + + gpio-controller; + #gpio-cells = <2>; + }; + + mmc0: mmc@2,4,0 { + compatible = "intel,apl-sd"; + reg = <0x00022000 0 0 0 0>; + }; + + mmc1: mmc@2,4,1 { + compatible = "intel,apl-sd"; + reg = <0x00022100 0 0 0 0>; + }; + + eg20t_i2c@2,12,2 { + compatible = "pci8086,8817"; + reg = <0x00026200 0 0 0 0>; + + #address-cells = <1>; + #size-cells = <0>; + + rtc@0x68 { + compatible = "st,m41t81s"; + reg = <0x68>; + }; + }; + }; + }; + }; + + plat_regs: system-controller@17ffd000 { + compatible = "img,boston-platform-regs", "syscon"; + reg = <0x17ffd000 0x1000>; + bootph-all; + }; + + clk_boston: clock { + compatible = "img,boston-clock"; + #clock-cells = <1>; + regmap = <&plat_regs>; + bootph-all; + }; + + reboot: syscon-reboot { + compatible = "syscon-reboot"; + regmap = <&plat_regs>; + offset = <0x10>; + mask = <0x10>; + }; + + uart0: uart@17ffe000 { + compatible = "ns16550a"; + reg = <0x17ffe000 0x1000>; + reg-shift = <2>; + reg-io-width = <4>; + + interrupt-parent = <&gic>; + interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>; + + clocks = <&clk_boston BOSTON_CLK_SYS>; + clock-frequency = <20000000>; + + bootph-all; + }; + + lcd: lcd@17fff000 { + compatible = "img,boston-lcd"; + reg = <0x17fff000 0x8>; + }; + + flash@18000000 { + compatible = "cfi-flash"; + reg = <0x18000000 0x8000000>; + bank-width = <2>; + }; +}; diff --git a/board/mips/boston-riscv/Kconfig b/board/mips/boston-riscv/Kconfig new file mode 100644 index 00000000000..68c5fc50489 --- /dev/null +++ b/board/mips/boston-riscv/Kconfig @@ -0,0 +1,43 @@ +if TARGET_MIPS_BOSTON + +config SYS_BOARD + default "boston-riscv" + +config SYS_VENDOR + default "mips" + +config SYS_CONFIG_NAME + default "boston-riscv" + +config SYS_CPU + default "p8700" + +config BOARD_SPECIFIC_OPTIONS + def_bool y + select P8700_RISCV + imply SYS_NS16550 + +config SYS_CACHELINE_SIZE + default 64 + +config SYS_SDRAM_BASE + hex + default 0x80000000 + +config SYS_INIT_SP_ADDR + hex + default 0x80200000 + +config STANDALONE_LOAD_ADDR + hex + default 0x80200000 + +config SYS_MAX_FLASH_BANKS_DETECT + bool + default y + +config PHY_REALTEK + bool + default y + +endif diff --git a/board/mips/boston-riscv/MAINTAINERS b/board/mips/boston-riscv/MAINTAINERS new file mode 100644 index 00000000000..e350121395e --- /dev/null +++ b/board/mips/boston-riscv/MAINTAINERS @@ -0,0 +1,9 @@ +BOSTON-RISCV BOARD +M: Chao-ying Fu <c...@mips.com> +S: Maintained +F: board/mips/boston-riscv/ +F: include/configs/boston-riscv.h +F: arch/riscv/cpu/p8700/ +F: arch/riscv/include/asm/arch-p8700/ +F: configs/boston-p8700_defconfig +F: arch/riscv/dts/boston-p8700.dts diff --git a/board/mips/boston-riscv/Makefile b/board/mips/boston-riscv/Makefile new file mode 100644 index 00000000000..0615c677d23 --- /dev/null +++ b/board/mips/boston-riscv/Makefile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (C) 2016 Imagination Technologies + +obj-y += boston-riscv.o +obj-y += checkboard.o +obj-y += lowlevel_init.o +obj-y += reset.o diff --git a/board/mips/boston-riscv/boston-lcd.h b/board/mips/boston-riscv/boston-lcd.h new file mode 100644 index 00000000000..5f5cd0fe126 --- /dev/null +++ b/board/mips/boston-riscv/boston-lcd.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2016 Imagination Technologies + */ + +#ifndef __BOARD_BOSTON_LCD_H__ +#define __BOARD_BOSTON_LCD_H__ + +/** + * lowlevel_display() - Display a message on Boston's LCD + * @msg: The string to display + * + * Display the string @msg on the 7 character LCD display of the Boston board. + * This is typically used for debug or to present some form of status + * indication to the user, allowing faults to be identified when things go + * wrong early enough that the UART isn't up. + */ +void lowlevel_display(const char msg[static 8]); + +#endif /* __BOARD_BOSTON_LCD_H__ */ diff --git a/board/mips/boston-riscv/boston-regs.h b/board/mips/boston-riscv/boston-regs.h new file mode 100644 index 00000000000..4d5ea8833ab --- /dev/null +++ b/board/mips/boston-riscv/boston-regs.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2016 Imagination Technologies + */ + +#ifndef __BOARD_BOSTON_REGS_H__ +#define __BOARD_BOSTON_REGS_H__ + +#ifndef BOSTON_PLAT_BASE +#define BOSTON_PLAT_BASE (0x17ffd000) +#endif +#define BOSTON_LCD_BASE (0x17fff000) + +/* + * Platform Register Definitions + */ +#define BOSTON_PLAT_CORE_CL (BOSTON_PLAT_BASE + 0x04) + +#define BOSTON_PLAT_SOFT_RST (BOSTON_PLAT_BASE + 0x10) +#define BOSTON_PLAT_SOFT_RST_SYSTEM (0x1 << 4) + +#define BOSTON_PLAT_DDR3STAT (BOSTON_PLAT_BASE + 0x14) +#define BOSTON_PLAT_DDR3STAT_CALIB (0x1 << 2) + +#define BOSTON_PLAT_BUILDCFG0 (BOSTON_PLAT_BASE + 0x34) +#define BOSTON_PLAT_BUILDCFG0_IOCU (0x1 << 0) +#define BOSTON_PLAT_BUILDCFG0_PCIE0 (0x1 << 1) +#define BOSTON_PLAT_BUILDCFG0_PCIE1 (0x1 << 2) +#define BOSTON_PLAT_BUILDCFG0_PCIE2 (0x1 << 3) +#define BOSTON_PLAT_BUILDCFG0_CFG_LTR (0xf << 4) +#define BOSTON_PLAT_BUILDCFG0_CFG_NUM (0xff << 8) +#define BOSTON_PLAT_BUILDCFG0_DP (0x1 << 24) +#define BOSTON_PLAT_BUILDCFG0_DP_MULT (0xf << 28) + +#define BOSTON_PLAT_DDRCONF0 (BOSTON_PLAT_BASE + 0x38) +#define BOSTON_PLAT_DDRCONF0_SIZE (0xf << 0) + +#endif /* __BOARD_BOSTON_REGS_H__ */ diff --git a/board/mips/boston-riscv/boston-riscv.c b/board/mips/boston-riscv/boston-riscv.c new file mode 100644 index 00000000000..e5cd6c42cf7 --- /dev/null +++ b/board/mips/boston-riscv/boston-riscv.c @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2016 Imagination Technologies + */ + +int board_init(void) +{ + return 0; +} diff --git a/board/mips/boston-riscv/checkboard.c b/board/mips/boston-riscv/checkboard.c new file mode 100644 index 00000000000..c7bf6734433 --- /dev/null +++ b/board/mips/boston-riscv/checkboard.c @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2016 Imagination Technologies + */ + +#include "boston-lcd.h" +#include "boston-regs.h" +#include <init.h> +#include <asm/io.h> +#include <asm/arch-p8700/p8700.h> + +int checkboard(void) +{ + u32 changelist, cfg, core, uarch; + u64 marchid; + + lowlevel_display("U-boot "); + + printf("Board: Mips Boston RISC-V\n"); + + changelist = __raw_readl((uint32_t *)BOSTON_PLAT_CORE_CL); + if (changelist > 1) { + asm volatile ("csrr %0, marchid" : "=r"(marchid)::); + core = (marchid >> MARCHID_CLASS_SHIFT) & MARCHID_CLASS_MASK; + uarch = (marchid >> MARCHID_UARCH_SHIFT) & MARCHID_UARCH_MASK; + + printf("Core: class%x uarch%x cl%x", core, uarch, changelist); + + cfg = __raw_readl((uint32_t *)BOSTON_PLAT_BUILDCFG0); + if (cfg & BOSTON_PLAT_BUILDCFG0_CFG_NUM) + printf(" config %u", + (cfg & BOSTON_PLAT_BUILDCFG0_CFG_NUM) >> 8); + if (cfg & BOSTON_PLAT_BUILDCFG0_CFG_LTR) + printf("%c", + 'a' + ((cfg & BOSTON_PLAT_BUILDCFG0_CFG_LTR) >> 4) - 1); + if (cfg & BOSTON_PLAT_BUILDCFG0_DP) + printf(", x%u debug port", + (cfg & BOSTON_PLAT_BUILDCFG0_DP_MULT) >> 28); + printf("\n"); + } + + return 0; +} diff --git a/board/mips/boston-riscv/config.mk b/board/mips/boston-riscv/config.mk new file mode 100644 index 00000000000..c1e242f1088 --- /dev/null +++ b/board/mips/boston-riscv/config.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0+ + +quiet_cmd_srec_cat = SRECCAT $@ + cmd_srec_cat = srec_cat -output $@ -$2 \ + $< -binary \ + -fill 0x00 -within $< -binary -range-pad 16 \ + -offset $3 + +u-boot.mcs: u-boot.bin + $(call cmd,srec_cat,intel,0x7c00000) + +# if srec_cat is present build u-boot.mcs by default +has_srec_cat = $(call try-run,srec_cat -VERSion,y,n) +INPUTS-$(has_srec_cat) += u-boot.mcs +CLEAN_FILES += u-boot.mcs diff --git a/board/mips/boston-riscv/lowlevel_init.S b/board/mips/boston-riscv/lowlevel_init.S new file mode 100644 index 00000000000..8fa85749e40 --- /dev/null +++ b/board/mips/boston-riscv/lowlevel_init.S @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2016 Imagination Technologies + */ + +#include "boston-regs.h" + +.data + +msg_ddr_cal: .ascii "DDR Cal " +msg_ddr_ok: .ascii "DDR OK " + +.text + + .globl lowlevel_display +lowlevel_display: + li t0, BOSTON_LCD_BASE + jr ra diff --git a/board/mips/boston-riscv/reset.c b/board/mips/boston-riscv/reset.c new file mode 100644 index 00000000000..8e7e0572aad --- /dev/null +++ b/board/mips/boston-riscv/reset.c @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2017 Imagination Technologies + */ + +#include "boston-regs.h" +#include <asm/io.h> +#include <linux/delay.h> + +void _machine_restart(void) +{ + writel(BOSTON_PLAT_SOFT_RST_SYSTEM, (void __iomem *)BOSTON_PLAT_SOFT_RST); + + udelay(1000); +} diff --git a/configs/boston-p8700_defconfig b/configs/boston-p8700_defconfig new file mode 100644 index 00000000000..3df7ffe50b3 --- /dev/null +++ b/configs/boston-p8700_defconfig @@ -0,0 +1,94 @@ +CONFIG_RISCV=y +CONFIG_SYS_TEXT_BASE=0x1fc00000 +CONFIG_ENV_SIZE=0x40000 +CONFIG_ENV_SECT_SIZE=0x40000 +CONFIG_TARGET_MIPS_BOSTON=y +CONFIG_DEFAULT_DEVICE_TREE="boston-p8700" + +CONFIG_DISTRO_DEFAULTS=y +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_BEST_MATCH=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_SYS_PROMPT="boston # " +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMTEST=y +CONFIG_SYS_MEMTEST_START=0x80000000 +CONFIG_SYS_MEMTEST_END=0x90000000 +CONFIG_BOOTDELAY=-1 + +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ARCH_RV64I=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_DISPLAY_BOARDINFO=y +#CONFIG_CMD_BOOTEFI_SELFTEST=y +#CONFIG_CMD_NVEDIT_EFI=y +CONFIG_CMD_MII=y +# CONFIG_OF_PRIOR_STAGE=y +CONFIG_DM_MTD=y +CONFIG_SMP=n +CONFIG_XIP=y +CONFIG_CLK_BOSTON=y +CONFIG_RISCV_ISA_C=n +CONFIG_SHOW_REGS=y +CONFIG_SYS_NS16550=y + +CONFIG_CMD_PCI=y +CONFIG_CMD_SNTP=y +CONFIG_CMD_DNS=y +CONFIG_CMD_LINK_LOCAL=y +CONFIG_CMD_TIME=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_ENV_IS_IN_FLASH=y +CONFIG_ENV_ADDR=0x1ffc0000 +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_MTD=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_FLASH_CFI_DRIVER=y +CONFIG_CFI_FLASH=y +CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y +CONFIG_SYS_FLASH_USE_PROTECTION=y +CONFIG_SYS_FLASH_CFI=y +CONFIG_SYS_FLASH_PROTECTION=y +CONFIG_DM_ETH=y +CONFIG_PCH_GBE=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_PCI_XILINX=y +CONFIG_LZ4=y +CONFIG_CLK=y +CONFIG_EG20T_GPIO=y + +CONFIG_MMC=y +CONFIG_HUSH_PARSER=y +CONFIG_CMD_CPU=y +CONFIG_CMD_MMC=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_OF_EMBED=y +CONFIG_CPU=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_PCI=y + +CONFIG_UNIT_TEST=y +CONFIG_UT_LIB=n +CONFIG_UT_LIB_ASN1=n +CONFIG_UT_LOG=n +CONFIG_UT_TIME=y +CONFIG_UT_UNICODE=n +CONFIG_UT_ENV=n +CONFIG_UT_OVERLAY=n + +CONFIG_SYS_LOAD_ADDR=0x80000000 +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000 +CONFIG_TEXT_BASE=0x1fc00000 +CONFIG_SYS_MALLOC_LEN=0x00800000 +CONFIG_SYS_BOOTM_LEN=0x04000000 +CONFIG_SYS_MAX_FLASH_SECT=1024 +CONFIG_PHY_ANEG_TIMEOUT=40000 +CONFIG_NET_RETRY_COUNT=10 +CONFIG_ENV_CALLBACK_LIST_STATIC="io.coherent:io_coherent," diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index e6483ddc88b..6b3103f6cf8 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -59,7 +59,7 @@ config CLK_BCM6345 clocks on BCM6345 SoCs. HW has no rate changing capabilities. config CLK_BOSTON - def_bool y if TARGET_BOSTON + def_bool y if TARGET_BOSTON || TARGET_MIPS_BOSTON depends on CLK select REGMAP select SYSCON diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 506ee51cdb0..7b25de7bb68 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -702,6 +702,11 @@ enum gd_flags { * drivers shall not be called. */ GD_FLG_HAVE_CONSOLE = 0x8000000, + /** + * @GD_FLG_COHERENT_DMA: DMA is cache-coherent. + * + */ + GD_FLG_COHERENT_DMA = 0x10000000, }; #endif /* __ASSEMBLY__ */ diff --git a/include/configs/boston-riscv.h b/include/configs/boston-riscv.h new file mode 100644 index 00000000000..3b3e2567214 --- /dev/null +++ b/include/configs/boston-riscv.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2021, Chao-ying Fu <c...@mips.com> + */ + +#ifndef __CONFIG_BOSTON_RISCV_H +#define __CONFIG_BOSTON_RISCV_H + +#include <linux/sizes.h> + +#endif /* __CONFIG_BOSTON_RISCV_H */ -- 2.34.1