diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-12-15 08:25:16 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-12-15 08:25:16 +0100 |
commit | a2501c9e889abd22b47d42956d27b02607dbb0d8 (patch) | |
tree | f30b5c829fe0adcc784c143aaf436abb6eb9724d /arch/riscv | |
parent | abad1451586d8e8b36f86ef2772cef81d4ce2651 (diff) | |
parent | 2962e19b55e970c7a2f1b0048abf1ef95463c6f5 (diff) | |
download | barebox-a2501c9e889abd22b47d42956d27b02607dbb0d8.tar.gz barebox-a2501c9e889abd22b47d42956d27b02607dbb0d8.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'arch/riscv')
-rw-r--r-- | arch/riscv/Kconfig | 1 | ||||
-rw-r--r-- | arch/riscv/Kconfig.socs | 11 | ||||
-rw-r--r-- | arch/riscv/boards/litex-linux/lowlevel.c | 4 | ||||
-rw-r--r-- | arch/riscv/configs/virt32_defconfig | 23 | ||||
-rw-r--r-- | arch/riscv/configs/virt64_defconfig | 25 | ||||
-rw-r--r-- | arch/riscv/include/asm/debug_ll.h | 10 | ||||
-rw-r--r-- | arch/riscv/include/asm/pci.h | 7 |
7 files changed, 68 insertions, 13 deletions
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index a814a1a45b..8c66697185 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -14,6 +14,7 @@ config RISCV select HAS_ARCH_SJLJ select HAS_KALLSYMS select RISCV_TIMER if RISCV_SBI + select HW_HAS_PCI config ARCH_TEXT_BASE hex diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index bd4a44a575..9f2a4f825e 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -18,10 +18,21 @@ config SOC_VIRT select RISCV_S_MODE select BOARD_RISCV_GENERIC_DT select HAS_CACHE + select HAS_ASM_DEBUG_LL help Generates an image tht can be be booted by QEMU. The image is called barebox-dt-2nd.img +config BOARD_RISCV_VIRT + depends on SOC_VIRT + bool "QEMU Virt Machine" + select OF_OVERLAY + select BOARD_QEMU_VIRT + default y + help + Enables environment and state on top of QEMU RISC-V Virt machine + cfi-flash. + config BOARD_RISCVEMU depends on SOC_VIRT bool "TinyEMU Virt Machine (riscvemu)" diff --git a/arch/riscv/boards/litex-linux/lowlevel.c b/arch/riscv/boards/litex-linux/lowlevel.c index da23ef5633..6be3d62e64 100644 --- a/arch/riscv/boards/litex-linux/lowlevel.c +++ b/arch/riscv/boards/litex-linux/lowlevel.c @@ -10,12 +10,12 @@ ENTRY_FUNCTION(start_litex_linux, a0, a1, a2) extern char __dtb_z_litex_linux_start[]; void *fdt; + /* BIOS will have loaded us into RAM */ + barebox_nmon_entry(); putc_ll('>'); - /* On POR, we are running from read-only memory here. */ - fdt = __dtb_z_litex_linux_start + get_runtime_offset(); barebox_riscv_machine_entry(0x40000000, SZ_256M, fdt); diff --git a/arch/riscv/configs/virt32_defconfig b/arch/riscv/configs/virt32_defconfig index 218fee57b7..1d7b70fc0f 100644 --- a/arch/riscv/configs/virt32_defconfig +++ b/arch/riscv/configs/virt32_defconfig @@ -10,14 +10,10 @@ CONFIG_HUSH_FANCY_PROMPT=y CONFIG_CMDLINE_EDITING=y CONFIG_AUTO_COMPLETE=y CONFIG_MENU=y -CONFIG_IMD_TARGET=y CONFIG_CONSOLE_ALLOW_COLOR=y CONFIG_PBL_CONSOLE=y CONFIG_PARTITION_DISK_EFI=y CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y -CONFIG_BAREBOXENV_TARGET=y -CONFIG_BAREBOXCRC32_TARGET=y -CONFIG_POLLER=y CONFIG_STATE=y CONFIG_STATE_CRYPTO=y CONFIG_BOOTCHOOSER=y @@ -47,6 +43,8 @@ CONFIG_CMD_SHA1SUM=y CONFIG_CMD_SHA256SUM=y CONFIG_CMD_MSLEEP=y CONFIG_CMD_SLEEP=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y CONFIG_CMD_EDIT=y CONFIG_CMD_SPLASH=y CONFIG_CMD_FBTEST=y @@ -71,9 +69,17 @@ CONFIG_CMD_OF_FIXUP_STATUS=y CONFIG_CMD_OF_OVERLAY=y CONFIG_CMD_OFTREE=y CONFIG_CMD_TIME=y +CONFIG_CMD_STATE=y CONFIG_CMD_DHRYSTONE=y +CONFIG_NET=y +CONFIG_NET_NFS=y +CONFIG_NET_NETCONSOLE=y +CONFIG_NET_FASTBOOT=y +CONFIG_OF_BAREBOX_DRIVERS=y +CONFIG_OF_BAREBOX_ENV_IN_FS=y CONFIG_DRIVER_SERIAL_NS16550=y CONFIG_VIRTIO_CONSOLE=y +CONFIG_DRIVER_NET_VIRTIO=y CONFIG_DRIVER_SPI_GPIO=y CONFIG_I2C=y CONFIG_I2C_GPIO=y @@ -88,18 +94,24 @@ CONFIG_DISK_WRITE=y CONFIG_VIRTIO_BLK=y CONFIG_VIDEO=y CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_DRIVER_VIDEO_BOCHS_PCI=y CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT=y CONFIG_CLOCKSOURCE_DUMMY_RATE=60000 +CONFIG_STATE_DRV=y CONFIG_EEPROM_AT24=y CONFIG_HWRNG=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_PINCTRL is not set +CONFIG_PCI_ECAM_GENERIC=y +CONFIG_BLK_DEV_NVME=y CONFIG_SYSCON_REBOOT_MODE=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_RESET_SYSCON_POWEROFF=y CONFIG_VIRTIO_MMIO=y CONFIG_FS_EXT4=y +CONFIG_FS_TFTP=y +CONFIG_FS_NFS=y CONFIG_FS_FAT=y CONFIG_FS_FAT_WRITE=y CONFIG_FS_FAT_LFN=y @@ -114,3 +126,6 @@ CONFIG_XZ_DECOMPRESS=y CONFIG_BASE64=y CONFIG_LZO_DECOMPRESS=y CONFIG_DIGEST_CRC32_GENERIC=y +CONFIG_IMD_TARGET=y +CONFIG_BAREBOXENV_TARGET=y +CONFIG_BAREBOXCRC32_TARGET=y diff --git a/arch/riscv/configs/virt64_defconfig b/arch/riscv/configs/virt64_defconfig index 04a4f1e2f4..8c66e3e574 100644 --- a/arch/riscv/configs/virt64_defconfig +++ b/arch/riscv/configs/virt64_defconfig @@ -1,5 +1,5 @@ -CONFIG_SOC_VIRT=y CONFIG_ARCH_RV64I=y +CONFIG_SOC_VIRT=y CONFIG_RISCV_OPTIMZED_STRING_FUNCTIONS=y CONFIG_STACK_SIZE=0x20000 CONFIG_MALLOC_SIZE=0x0 @@ -11,14 +11,10 @@ CONFIG_HUSH_FANCY_PROMPT=y CONFIG_CMDLINE_EDITING=y CONFIG_AUTO_COMPLETE=y CONFIG_MENU=y -CONFIG_IMD_TARGET=y CONFIG_CONSOLE_ALLOW_COLOR=y CONFIG_PBL_CONSOLE=y CONFIG_PARTITION_DISK_EFI=y CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y -CONFIG_BAREBOXENV_TARGET=y -CONFIG_BAREBOXCRC32_TARGET=y -CONFIG_POLLER=y CONFIG_STATE=y CONFIG_STATE_CRYPTO=y CONFIG_BOOTCHOOSER=y @@ -48,6 +44,8 @@ CONFIG_CMD_SHA1SUM=y CONFIG_CMD_SHA256SUM=y CONFIG_CMD_MSLEEP=y CONFIG_CMD_SLEEP=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y CONFIG_CMD_EDIT=y CONFIG_CMD_SPLASH=y CONFIG_CMD_FBTEST=y @@ -72,9 +70,17 @@ CONFIG_CMD_OF_FIXUP_STATUS=y CONFIG_CMD_OF_OVERLAY=y CONFIG_CMD_OFTREE=y CONFIG_CMD_TIME=y +CONFIG_CMD_STATE=y CONFIG_CMD_DHRYSTONE=y +CONFIG_NET=y +CONFIG_NET_NFS=y +CONFIG_NET_NETCONSOLE=y +CONFIG_NET_FASTBOOT=y +CONFIG_OF_BAREBOX_DRIVERS=y +CONFIG_OF_BAREBOX_ENV_IN_FS=y CONFIG_DRIVER_SERIAL_NS16550=y CONFIG_VIRTIO_CONSOLE=y +CONFIG_DRIVER_NET_VIRTIO=y CONFIG_DRIVER_SPI_GPIO=y CONFIG_I2C=y CONFIG_I2C_GPIO=y @@ -89,18 +95,24 @@ CONFIG_DISK_WRITE=y CONFIG_VIRTIO_BLK=y CONFIG_VIDEO=y CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_DRIVER_VIDEO_BOCHS_PCI=y CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT=y CONFIG_CLOCKSOURCE_DUMMY_RATE=60000 +CONFIG_STATE_DRV=y CONFIG_EEPROM_AT24=y CONFIG_HWRNG=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_PINCTRL is not set +CONFIG_PCI_ECAM_GENERIC=y +CONFIG_BLK_DEV_NVME=y CONFIG_SYSCON_REBOOT_MODE=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_RESET_SYSCON_POWEROFF=y CONFIG_VIRTIO_MMIO=y CONFIG_FS_EXT4=y +CONFIG_FS_TFTP=y +CONFIG_FS_NFS=y CONFIG_FS_FAT=y CONFIG_FS_FAT_WRITE=y CONFIG_FS_FAT_LFN=y @@ -115,3 +127,6 @@ CONFIG_XZ_DECOMPRESS=y CONFIG_BASE64=y CONFIG_LZO_DECOMPRESS=y CONFIG_DIGEST_CRC32_GENERIC=y +CONFIG_IMD_TARGET=y +CONFIG_BAREBOXENV_TARGET=y +CONFIG_BAREBOXCRC32_TARGET=y diff --git a/arch/riscv/include/asm/debug_ll.h b/arch/riscv/include/asm/debug_ll.h index 9fe7833eef..867c96d797 100644 --- a/arch/riscv/include/asm/debug_ll.h +++ b/arch/riscv/include/asm/debug_ll.h @@ -17,13 +17,19 @@ #if defined CONFIG_DEBUG_ERIZO #define DEBUG_LL_UART_ADDR 0x90000000 #define DEBUG_LL_UART_CLK (24000000 / 16) +#define DEBUG_LL_UART_SHIFT 2 +#define DEBUG_LL_UART_IOSIZE32 #elif defined CONFIG_DEBUG_STARFIVE #define DEBUG_LL_UART_ADDR 0x12440000 #define DEBUG_LL_UART_CLK (100000000 / 16) -#endif - #define DEBUG_LL_UART_SHIFT 2 #define DEBUG_LL_UART_IOSIZE32 +#elif defined CONFIG_DEBUG_RISCV_VIRT +#define DEBUG_LL_UART_ADDR 0x10000000 +#define DEBUG_LL_UART_CLK (58982400 / 16) +#define DEBUG_LL_UART_SHIFT 0 +#define DEBUG_LL_UART_IOSIZE8 +#endif #define DEBUG_LL_UART_BPS CONFIG_BAUDRATE #define DEBUG_LL_UART_DIVISOR (DEBUG_LL_UART_CLK / DEBUG_LL_UART_BPS) diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h new file mode 100644 index 0000000000..dd18499a37 --- /dev/null +++ b/arch/riscv/include/asm/pci.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef __ASM_PCI_H +#define __ASM_PCI_H + +#define pcibios_assign_all_busses() 1 + +#endif |