diff --git a/README.md b/README.md index 7982036afd684e1d72f60aefe94e0ac70825279e..eb94620e10f62462fc91c293f470f1dd10ea4449 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Currently, kernel for ls1b can be built from source via standard linux-lab ways. ## Demonstration -TODO. +- [Using loongson/ls1b board in Linux Lab](http://showterm.io/3d02112bf9a98ed5879f6) ## Usage @@ -29,7 +29,7 @@ After booting into Linux Lab, just launch a terminal and do: $ git clone https://gitee.com/loongsonlab/loongson.git $ cd ../ $ make list - $ make BOARD=loongson/ls232 + $ make BOARD=loongson/ls1b $ make boot The other usage is as same as the other boards. For example: diff --git a/ls1b/Makefile b/ls1b/Makefile index e7bfe9b4441acf0f9da424e7c0c4c8281264b136..c304a9b79e1a7e616f3537a6eb11e3aee8bf8e58 100644 --- a/ls1b/Makefile +++ b/ls1b/Makefile @@ -2,21 +2,24 @@ _PLUGIN = 1 ARCH = mips XARCH = mipsel CPU ?= mips32r2 -LINUX ?= v4.19 +LINUX ?= v5.2 BUILDROOT?= 2016.05 MEM ?= 128M +NETDEV_LIST ?= synopgmac NETDEV ?= synopgmac SERIAL ?= ttyS0 FSTYPE ?= ext2 -ORIIMG ?= vmlinux +ORIIMG ?= vmlinuz +ROOTDEV_LIST ?= /dev/ram0 /dev/nfs ROOTDEV ?= /dev/ram0 -CCPRE ?= mipsel-linux-gnu- -KIMAGE ?= $(BSP_KERNEL)/$(LINUX)/vmlinux +KIMAGE ?= $(BSP_KERNEL)/$(LINUX)/vmlinuz ROOTFS ?= $(BSP_ROOT)/$(BUILDROOT)/rootfs.cpio.gz HROOTFS ?= $(BSP_ROOT)/$(BUILDROOT)/rootfs.$(FSTYPE) QTOOL ?= $(BOARD_DIR)/qemu/$(XARCH)-softmmu/qemu-system-$(XARCH) -PREBUILT?= private QEMU ?= v3.0.0-rc2 XKCLI ?= maxcpus=1 # tell qemu the location to find firmwares, can be removed if configured properly XOPTS ?= -L /usr/share/qemu + +CCORI ?= internal +include $(PREBUILT_TOOLCHAINS)/mipsel/Makefile diff --git a/ls1b/README.md b/ls1b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d48033555e91904915f2faf2c11c6b93a9cc21a6 --- /dev/null +++ b/ls1b/README.md @@ -0,0 +1,22 @@ + +# loongson/ls1b board Usage + +Both of boot and network are ok with mainline linux kernel. + +## Clone me + + $ cd linux-lab/boards + $ git clone https://gitee.com/loongsonlab/loongson.git + $ cd .. + +## Select me + + $ make B=loongson/ls1b + +## Boot me with initrd + + $ make boot + +## Boot with nfsroot + + $ make boot ROOTDEV=/dev/nfs diff --git a/ls1b/bsp/README.md b/ls1b/bsp/README.md index 6638472855b5815b62dea3c95f9b995c9dfa85bc..7f51cb11697f11fa48aae8aa3b92a1ca3e198d54 100644 --- a/ls1b/bsp/README.md +++ b/ls1b/bsp/README.md @@ -1,5 +1,5 @@ -# qemu loongson/ls232 board bsp +# qemu loongson/ls1b board bsp This is for [Linux Lab](https://tinylab.org/linux-lab). @@ -10,5 +10,5 @@ This is for [Linux Lab](https://tinylab.org/linux-lab). ## Use it in Linux Lab $ cd /path/to/linux-lab - $ make B=loongson/ls232 + $ make B=loongson/ls1b $ make boot diff --git a/ls1b/bsp/boot.sh b/ls1b/bsp/boot.sh new file mode 100755 index 0000000000000000000000000000000000000000..9dc3682173f3b8f204bb9c070a5caecb5026e433 --- /dev/null +++ b/ls1b/bsp/boot.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +KVER=v5.2 +RVER=2016.05 + +../../qemu/build/mipsel-softmmu/qemu-system-mipsel -M ls1b -m 128M -smp 1 -no-reboot -nographic \ + -kernel kernel/$KVER/vmlinuz \ + -initrd root/$RVER/rootfs.cpio.gz \ + -append 'route=172.17.0.5 root=/dev/ram0 maxcpus=1 console=ttyS0' \ + -L /usr/share/qemu \ + -net nic,model=synopgmac -net tap diff --git a/ls1b/bsp/configs/linux_v5.2_defconfig b/ls1b/bsp/configs/linux_v5.2_defconfig new file mode 100644 index 0000000000000000000000000000000000000000..51d7f096e63d7bbff1c3fecade0c67f6d5644b24 --- /dev/null +++ b/ls1b/bsp/configs/linux_v5.2_defconfig @@ -0,0 +1,134 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_LZO=y +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_NAMESPACES=y +CONFIG_BLK_DEV_INITRD=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_EXPERT=y +CONFIG_KALLSYMS_ALL=y +CONFIG_PERF_EVENTS=y +# CONFIG_COMPAT_BRK is not set +CONFIG_MACH_LOONGSON32=y +# CONFIG_SECCOMP is not set +# CONFIG_SUSPEND is not set +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_SYN_COOKIES=y +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_SCSI=m +# CONFIG_SCSI_PROC_FS is not set +CONFIG_BLK_DEV_SD=m +# CONFIG_SCSI_LOWLEVEL is not set +CONFIG_NETDEVICES=y +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +CONFIG_STMMAC_ETH=y +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_WLAN is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_LEGACY_PTY_COUNT=8 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_GPIOLIB=y +CONFIG_GPIO_LOONGSON1=y +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_LOONGSON1_WDT=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_HID_GENERIC=m +CONFIG_USB_HID=m +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_STORAGE=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_LOONGSON1=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_DNOTIFY is not set +CONFIG_VFAT_FS=y +CONFIG_PROC_KCORE=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_ATIME_SUPPORT=y +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_ROOT_NFS=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_ISO8859_1=m +# CONFIG_CRYPTO_ECHAINIV is not set +# CONFIG_CRYPTO_HW is not set +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DEBUG_INFO=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_MAGIC_SYSRQ=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_IRQSOFF_TRACER=y +CONFIG_PREEMPT_TRACER=y +CONFIG_DEBUG_ZBOOT=y diff --git a/ls1b/bsp/kernel/v5.2/vmlinuz b/ls1b/bsp/kernel/v5.2/vmlinuz new file mode 100755 index 0000000000000000000000000000000000000000..00983eff2ebbb799cc4122c140412932afd9e48b Binary files /dev/null and b/ls1b/bsp/kernel/v5.2/vmlinuz differ diff --git a/ls1b/bsp/patch/linux/v5.2/0001-ls1b-add-zboot-debug-support.patch b/ls1b/bsp/patch/linux/v5.2/0001-ls1b-add-zboot-debug-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..5efb68f5f3b8e258f9a53dd270d16ae2e08db4a4 --- /dev/null +++ b/ls1b/bsp/patch/linux/v5.2/0001-ls1b-add-zboot-debug-support.patch @@ -0,0 +1,42 @@ +From b89f930f8746c731d577d9f5875db8c9e98f549f Mon Sep 17 00:00:00 2001 +From: Wu Zhangjin +Date: Fri, 19 Jul 2019 02:21:07 -0700 +Subject: [PATCH 1/2] ls1b: add zboot debug support + +Signed-off-by: Wu Zhangjin +--- + arch/mips/Kconfig | 1 + + arch/mips/boot/compressed/uart-16550.c | 5 +++++ + 2 files changed, 6 insertions(+) + +diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig +index 70d3200..af25c6d 100644 +--- a/arch/mips/Kconfig ++++ b/arch/mips/Kconfig +@@ -436,6 +436,7 @@ config LASAT + config MACH_LOONGSON32 + bool "Loongson-1 family of machines" + select SYS_SUPPORTS_ZBOOT ++ select SYS_SUPPORTS_ZBOOT_UART16550 + help + This enables support for the Loongson-1 family of machines. + +diff --git a/arch/mips/boot/compressed/uart-16550.c b/arch/mips/boot/compressed/uart-16550.c +index aee8d7b..99a8eb8 100644 +--- a/arch/mips/boot/compressed/uart-16550.c ++++ b/arch/mips/boot/compressed/uart-16550.c +@@ -13,6 +13,11 @@ + #define PORT(offset) (CKSEG1ADDR(UART_BASE) + (offset)) + #endif + ++#if defined(CONFIG_MACH_LOONGSON32) ++#define UART_BASE 0x1fe40000 ++#define PORT(offset) (CKSEG1ADDR(UART_BASE) + (offset)) ++#endif ++ + #ifdef CONFIG_AR7 + #include + #define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset)) +-- +2.7.4 + diff --git a/ls1b/bsp/patch/linux/v5.2/0002-stmmac-set-dma_mask-to-DMA_BIT_MASK-32.patch b/ls1b/bsp/patch/linux/v5.2/0002-stmmac-set-dma_mask-to-DMA_BIT_MASK-32.patch new file mode 100644 index 0000000000000000000000000000000000000000..6c543e54fab422f55cabb83d0c63c7df286c643e --- /dev/null +++ b/ls1b/bsp/patch/linux/v5.2/0002-stmmac-set-dma_mask-to-DMA_BIT_MASK-32.patch @@ -0,0 +1,28 @@ +From b53789eccfe5819b0b5324cac4ef197c6c85a227 Mon Sep 17 00:00:00 2001 +From: Wu Zhangjin +Date: Fri, 19 Jul 2019 02:21:32 -0700 +Subject: [PATCH 2/2] stmmac: set dma_mask to DMA_BIT_MASK(32) + +Change-Id: I86a25739e1de9f56bae23911487a141017c000a2 +Signed-off-by: Huang Pei +Signed-off-by: Wu Zhangjin +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index 06358fe..df10c29 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -4306,6 +4306,8 @@ int stmmac_dvr_probe(struct device *device, + + ndev->netdev_ops = &stmmac_netdev_ops; + ++ dma_coerce_mask_and_coherent(device, DMA_BIT_MASK(32)); ++ + ndev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | + NETIF_F_RXCSUM; + +-- +2.7.4 +