From 03d66d6b8fa6660a89648847a69d691a9a82d5b4 Mon Sep 17 00:00:00 2001 From: BERENYI Balazs Date: Sat, 2 Jan 2021 18:49:42 +0000 Subject: [PATCH] kirkwood: Add support for Sheevaplug Globalscale SheevaPlug: * Marvell Kirkwood 88F6281 * 512 MB SDRAM * 512 MB Flash * Gigabit Network * USB 2.0 * SD slot * Serial console The device is supported in mainline uboot/linux the commit adds only some openwrt config for building an image. Installation: 1 - Update uboot: setenv ipaddr '192.168.0.111' setenv serverip '192.168.0.1' tftpboot u-boot.kwb nand erase 0x0 0x100000 nand write 0x800000 0x0 0x100000 reset 2 - Install OpenWRT: setenv ethaddr 00:50:43:01:xx:xx saveenv setenv ipaddr '192.168.0.111' setenv serverip '192.168.0.1' tftpboot openwrt-kirkwood-globalscale_sheevaplug-squashfs-factory.bin nand erase.part ubi nand write 0x800000 ubi 0x600000 reset Signed-off-by: BERENYI Balazs Reviewed-by: Pawel Dembicki [add vendor name for uboot-kirkwood, merge patches, copy to 5.10, add AUTORELEASE for uboot-kirkwood, refresh patches] Signed-off-by: Adrian Schmutzler --- package/boot/uboot-envtools/files/kirkwood | 1 + package/boot/uboot-kirkwood/Makefile | 10 +++- .../patches/170-sheevaplug.patch | 39 +++++++++++++++ .../patches/200-openwrt-config.patch | 10 ++++ .../base-files/etc/board.d/02_network | 1 + target/linux/kirkwood/image/Makefile | 7 +++ .../patches-5.10/112-sheevaplug.patch | 47 +++++++++++++++++++ .../kirkwood/patches-5.4/112-sheevaplug.patch | 47 +++++++++++++++++++ 8 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 package/boot/uboot-kirkwood/patches/170-sheevaplug.patch create mode 100644 target/linux/kirkwood/patches-5.10/112-sheevaplug.patch create mode 100644 target/linux/kirkwood/patches-5.4/112-sheevaplug.patch diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood index d1986f206d4..6a3dfcaba81 100644 --- a/package/boot/uboot-envtools/files/kirkwood +++ b/package/boot/uboot-envtools/files/kirkwood @@ -15,6 +15,7 @@ case "$board" in checkpoint,l-50|\ cloudengines,pogoe02|\ cloudengines,pogoplugv4|\ +globalscale,sheevaplug|\ iom,ix2-200|\ linksys,e4200-v2|\ linksys,ea4500|\ diff --git a/package/boot/uboot-kirkwood/Makefile b/package/boot/uboot-kirkwood/Makefile index 1ed1743e212..d9cb10ce13a 100644 --- a/package/boot/uboot-kirkwood/Makefile +++ b/package/boot/uboot-kirkwood/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_VERSION:=2020.04 -PKG_RELEASE:=1 +PKG_RELEASE:=$(AUTORELEASE) PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 @@ -94,6 +94,11 @@ define U-Boot/pogoplugv4 BUILD_DEVICES:=cloudengines_pogoplugv4 endef +define U-Boot/sheevaplug + NAME:=Globalscale SheevaPlug + BUILD_DEVICES:=globalscale_sheevaplug +endef + UBOOT_TARGETS := \ dockstar dockstar_second_stage \ goflexhome \ @@ -105,7 +110,8 @@ UBOOT_TARGETS := \ nsa310s \ nsa325 \ pogo_e02 pogo_e02_second_stage \ - pogoplugv4 + pogoplugv4 \ + sheevaplug define Build/Configure $(if $(findstring _second_stage,$(BUILD_VARIANT)), diff --git a/package/boot/uboot-kirkwood/patches/170-sheevaplug.patch b/package/boot/uboot-kirkwood/patches/170-sheevaplug.patch new file mode 100644 index 00000000000..12b3e68d005 --- /dev/null +++ b/package/boot/uboot-kirkwood/patches/170-sheevaplug.patch @@ -0,0 +1,39 @@ +--- a/include/configs/sheevaplug.h ++++ b/include/configs/sheevaplug.h +@@ -45,15 +45,17 @@ + /* + * Default environment variables + */ +-#define CONFIG_BOOTCOMMAND "${x_bootcmd_kernel}; " \ +- "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ +- "bootm 0x6400000;" ++#define CONFIG_BOOTCOMMAND \ ++ "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \ ++ "ubi part ubi; " \ ++ "ubi read 0x800000 kernel; " \ ++ "bootm 0x800000" + +-#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ +- "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS_DEFAULT \ +- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x400000\0" \ +- "x_bootcmd_usb=usb start\0" \ +- "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "console=console=ttyS0,115200\0" \ ++ "mtdids="CONFIG_MTDIDS_DEFAULT "\0" \ ++ "mtdparts="CONFIG_MTDPARTS_DEFAULT "\0" \ ++ "bootargs_root=\0" + + /* + * Ethernet Driver configuration +--- a/configs/sheevaplug_defconfig ++++ b/configs/sheevaplug_defconfig +@@ -30,7 +30,7 @@ CONFIG_CMD_FAT=y + CONFIG_CMD_JFFS2=y + CONFIG_CMD_MTDPARTS=y + CONFIG_MTDIDS_DEFAULT="nand0=orion_nand" +-CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:512K(uboot),512K(env),4M(kernel),-(rootfs)" ++CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:1M(uboot),-(ubi)" + CONFIG_CMD_UBI=y + CONFIG_ISO_PARTITION=y + CONFIG_OF_CONTROL=y diff --git a/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch b/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch index 83eb0f9d2cf..ae9fdf3390c 100644 --- a/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch +++ b/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch @@ -204,3 +204,13 @@ +#include "openwrt-kirkwood-common.h" + #endif /* _CONFIG_NSA310S_H */ +--- a/configs/sheevaplug_defconfig ++++ b/configs/sheevaplug_defconfig +@@ -49,4 +49,7 @@ + CONFIG_DM_USB=y + CONFIG_USB_EHCI_HCD=y + CONFIG_USB_STORAGE=y ++CONFIG_FIT=y ++CONFIG_FIT_VERBOSE=y + CONFIG_LZMA=y ++CONFIG_LZO=y diff --git a/target/linux/kirkwood/base-files/etc/board.d/02_network b/target/linux/kirkwood/base-files/etc/board.d/02_network index 05786911444..c379d130460 100644 --- a/target/linux/kirkwood/base-files/etc/board.d/02_network +++ b/target/linux/kirkwood/base-files/etc/board.d/02_network @@ -18,6 +18,7 @@ case "$board" in ;; "cloudengines,pogoe02"|\ "cloudengines,pogoplugv4"|\ +"globalscale,sheevaplug"|\ "iom,iconnect-1.1"|\ "iom,ix2-200"|\ "raidsonic,ib-nas62x0"|\ diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index e06eb050ef9..c2c5bcab8fd 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -67,6 +67,13 @@ define Device/cloudengines_pogoplugv4 endef TARGET_DEVICES += cloudengines_pogoplugv4 +define Device/globalscale_sheevaplug + DEVICE_VENDOR := Globalscale + DEVICE_MODEL := Sheevaplug + DEVICE_PACKAGES := kmod-mvsdio +endef +TARGET_DEVICES += globalscale_sheevaplug + define Device/iom_iconnect-1.1 DEVICE_VENDOR := Iomega DEVICE_MODEL := Iconnect diff --git a/target/linux/kirkwood/patches-5.10/112-sheevaplug.patch b/target/linux/kirkwood/patches-5.10/112-sheevaplug.patch new file mode 100644 index 00000000000..d1ff9884a06 --- /dev/null +++ b/target/linux/kirkwood/patches-5.10/112-sheevaplug.patch @@ -0,0 +1,47 @@ +--- a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi ++++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi +@@ -78,13 +78,8 @@ + }; + + partition@100000 { +- label = "uImage"; +- reg = <0x0100000 0x400000>; +- }; +- +- partition@500000 { +- label = "root"; +- reg = <0x0500000 0x1fb00000>; ++ label = "ubi"; ++ reg = <0x0100000 0x1ff00000>; + }; + }; + +--- a/arch/arm/boot/dts/kirkwood-sheevaplug.dts ++++ b/arch/arm/boot/dts/kirkwood-sheevaplug.dts +@@ -13,6 +13,13 @@ + model = "Globalscale Technologies SheevaPlug"; + compatible = "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood"; + ++ aliases { ++ led-boot = &led_health; ++ led-failsafe = &led_health; ++ led-running = &led_health; ++ led-upgrade = &led_health; ++ }; ++ + ocp@f1000000 { + mvsdio@90000 { + pinctrl-0 = <&pmx_sdio>; +@@ -28,10 +35,10 @@ + pinctrl-0 = <&pmx_led_blue &pmx_led_red>; + pinctrl-names = "default"; + +- health { ++ led_health: health { + label = "sheevaplug:blue:health"; + gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; +- default-state = "keep"; ++ default-state = "on"; + }; + + misc { diff --git a/target/linux/kirkwood/patches-5.4/112-sheevaplug.patch b/target/linux/kirkwood/patches-5.4/112-sheevaplug.patch new file mode 100644 index 00000000000..d1ff9884a06 --- /dev/null +++ b/target/linux/kirkwood/patches-5.4/112-sheevaplug.patch @@ -0,0 +1,47 @@ +--- a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi ++++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi +@@ -78,13 +78,8 @@ + }; + + partition@100000 { +- label = "uImage"; +- reg = <0x0100000 0x400000>; +- }; +- +- partition@500000 { +- label = "root"; +- reg = <0x0500000 0x1fb00000>; ++ label = "ubi"; ++ reg = <0x0100000 0x1ff00000>; + }; + }; + +--- a/arch/arm/boot/dts/kirkwood-sheevaplug.dts ++++ b/arch/arm/boot/dts/kirkwood-sheevaplug.dts +@@ -13,6 +13,13 @@ + model = "Globalscale Technologies SheevaPlug"; + compatible = "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood"; + ++ aliases { ++ led-boot = &led_health; ++ led-failsafe = &led_health; ++ led-running = &led_health; ++ led-upgrade = &led_health; ++ }; ++ + ocp@f1000000 { + mvsdio@90000 { + pinctrl-0 = <&pmx_sdio>; +@@ -28,10 +35,10 @@ + pinctrl-0 = <&pmx_led_blue &pmx_led_red>; + pinctrl-names = "default"; + +- health { ++ led_health: health { + label = "sheevaplug:blue:health"; + gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; +- default-state = "keep"; ++ default-state = "on"; + }; + + misc { -- 2.30.2