[openwrt/openwrt] kirkwood: Add support for Sheevaplug

LEDE Commits lede-commits at lists.infradead.org
Sun Jun 6 12:38:49 PDT 2021


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/03d66d6b8fa6660a89648847a69d691a9a82d5b4

commit 03d66d6b8fa6660a89648847a69d691a9a82d5b4
Author: BERENYI Balazs <balazs at wee.hu>
AuthorDate: Sat Jan 2 18:49:42 2021 +0000

    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 <balazs at wee.hu>
    Reviewed-by: Pawel Dembicki <paweldembicki at gmail.com>
    [add vendor name for uboot-kirkwood, merge patches, copy to 5.10,
    add AUTORELEASE for uboot-kirkwood, refresh patches]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 package/boot/uboot-envtools/files/kirkwood         |  1 +
 package/boot/uboot-kirkwood/Makefile               | 10 ++++-
 .../uboot-kirkwood/patches/170-sheevaplug.patch    | 39 ++++++++++++++++++
 .../patches/200-openwrt-config.patch               | 10 +++++
 .../kirkwood/base-files/etc/board.d/02_network     |  1 +
 target/linux/kirkwood/image/Makefile               |  7 ++++
 .../kirkwood/patches-5.10/112-sheevaplug.patch     | 47 ++++++++++++++++++++++
 .../kirkwood/patches-5.4/112-sheevaplug.patch      | 47 ++++++++++++++++++++++
 8 files changed, 160 insertions(+), 2 deletions(-)

diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood
index d1986f206d..6a3dfcaba8 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 1ed1743e21..d9cb10ce13 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 0000000000..12b3e68d00
--- /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 83eb0f9d2c..ae9fdf3390 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 0578691144..c379d13046 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 e06eb050ef..c2c5bcab8f 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 0000000000..d1ff9884a0
--- /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 at 100000 {
+-		label = "uImage";
+-		reg = <0x0100000 0x400000>;
+-	};
+-
+-	partition at 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 at f1000000 {
+ 		mvsdio at 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 0000000000..d1ff9884a0
--- /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 at 100000 {
+-		label = "uImage";
+-		reg = <0x0100000 0x400000>;
+-	};
+-
+-	partition at 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 at f1000000 {
+ 		mvsdio at 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 {



More information about the lede-commits mailing list