And the other half: Linux kernel patch and DTS file for the Pogoplug v4 hardware. I am indebted to everyone in the thread at https://forum.openwrt.org/viewtopic.php?pid=250745#p250745 for their efforts.
Signed-off-by: Nathaniel Wesley Filardo <8s9k8ugo5jgpi3u067229bbackmqi...@cmx.ietfng.org> diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index ec1b978..9324974 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -135,6 +135,9 @@ Image/InstallKernel/Template/ICONNECT=$(call Image/InstallKernel/Template,iconne Image/BuildKernel/Template/POGOE02=$(call Image/BuildKernel/Template,pogo_e02) Image/InstallKernel/Template/POGOE02=$(call Image/InstallKernel/Template,pogo_e02) +Image/BuildKernel/Template/POGO4=$(call Image/BuildKernel/Template,pogov4) +Image/InstallKernel/Template/POGO4=$(call Image/InstallKernel/Template,pogov4) + Image/BuildKernel/Template/IOMEGA_IX2_200=$(call Image/BuildKernel/Template,iomega_ix2_200) Image/InstallKernel/Template/IOMEGA_IX2_200=$(call Image/InstallKernel/Template,iomega_ix2_200) diff --git a/target/linux/kirkwood/patches-3.14/160-pogoplug_v4.patch b/target/linux/kirkwood/patches-3.14/160-pogoplug_v4.patch new file mode 100644 index 0000000..cf3f1e2 --- /dev/null +++ b/target/linux/kirkwood/patches-3.14/160-pogoplug_v4.patch @@ -0,0 +1,179 @@ +With much help from others at https://forum.openwrt.org/viewtopic.php?pid=250745#p250745 + +--- linux-3.14.18/arch/arm/boot/dts/Makefile.orig ++++ linux-3.14.18/arch/arm/boot/dts/Makefile +@@ -114,6 +114,7 @@ + kirkwood-openblocks_a6.dtb \ + kirkwood-openblocks_a7.dtb \ + kirkwood-pogo_e02.dtb \ ++ kirkwood-pogov4.dtb \ + kirkwood-sheevaplug.dtb \ + kirkwood-sheevaplug-esata.dtb \ + kirkwood-topkick.dtb \ + + +--- /dev/null ++++ linux-3.14.18/arch/arm/boot/dts/kirkwood-pogov4.dts +@@ -0,0 +1,161 @@ ++/dts-v1/; ++ ++#include "kirkwood.dtsi" ++#include "kirkwood-6281.dtsi" ++ ++/ { ++ model = "Pogoplug V4"; ++ compatible = "cloudengines,pogoplugv4", "marvell,kirkwood-88f6192", "marvell,kirkwood"; ++ ++ memory { ++ device_type = "memory"; ++ reg = <0x00000000 0x8000000>; ++ }; ++ ++ chosen { ++ bootargs = "console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p1 rootdelay=10"; ++ }; ++ ++ mbus { ++ pcie-controller { ++ status = "okay"; ++ ++ pcie@1,0 { ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ ocp@f1000000 { ++ pinctrl: pinctrl@10000 { ++ pmx_led_green: pmx-led-green { ++ marvell,pins = "mpp22"; ++ marvell,function = "gpio"; ++ }; ++ pmx_led_red: pmx-led-red { ++ marvell,pins = "mpp24"; ++ marvell,function = "gpio"; ++ }; ++ pmx_sdio_cd: pmx-sdio-cd { ++ marvell,pins = "mpp27"; ++ marvell,function = "gpio"; ++ }; ++ pmx_sdio_wp: pmx-sdio-wp { ++ marvell,pins = "mpp28"; ++ marvell,function = "gpio"; ++ }; ++ pmx_button_eject: pmx-button-eject { ++ marvell,pins = "mpp29"; ++ marvell,function = "gpio"; ++ }; ++ }; ++ ++ spi@10600 { ++ status = "okay"; ++ ++ m25p05@0 { ++ compatible = "m25p05-nonjedec"; ++ reg = <0>; ++ spi-max-frequency = <20000000>; ++ mode = <0>; ++ }; ++ }; ++ ++ serial@12000 { ++ status = "ok"; ++ }; ++ ++ sata@80000 { ++ status = "okay"; ++ nr-ports = <1>; ++ }; ++ ++ i2c0: i2c@11000 { ++ status = "ok"; ++ }; ++ ++ mvsdio@90000 { ++ pinctrl-0 = <&pmx_sdio &pmx_sdio_cd &pmx_sdio_wp>; ++ pinctrl-names = "default"; ++ status = "okay"; ++ cd-gpios = <&gpio0 27 1>; ++ wp-gpios = <&gpio0 28 1>; ++ }; ++ }; ++ ++ gpio-leds { ++ compatible = "gpio-leds"; ++ pinctrl-0 = <&pmx_led_green &pmx_led_red>; ++ pinctrl-names = "default"; ++ health { ++ label = "status:green:health"; ++ gpios = <&gpio0 22 1>; ++ linux,default-trigger = "default-on"; ++ }; ++ fault { ++ label = "status:red:fault"; ++ gpios = <&gpio0 24 1>; ++ linux,default-trigger = "none"; ++ }; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ pinctrl-0 = <&pmx_button_eject>; ++ pinctrl-names = "default"; ++ ++ button@1 { ++ label = "Eject Button"; ++ linux,code = <KEY_EJECTCD>; ++ gpios = <&gpio0 29 1>; ++ }; ++ }; ++}; ++ ++&mdio { ++ status = "okay"; ++ ++ ethphy0: ethernet-phy@0 { ++ device_type = "ethernet-phy"; ++ reg = <0>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; ++ ++&nand { ++ status = "okay"; ++ ++ partition@0 { ++ label = "u-boot"; ++ reg = <0x0000000 0x200000>; ++ read-only; ++ }; ++ ++ partition@200000 { ++ label = "uImage"; ++ reg = <0x200000 0x300000>; ++ }; ++ ++ partition@500000 { ++ label = "uImage2"; ++ reg = <0x500000 0x300000>; ++ }; ++ ++ partition@800000 { ++ label = "failsafe"; ++ reg = <0x800000 0x800000>; ++ }; ++ ++ partition@2500000 { ++ label = "root"; ++ reg = <0x1000000 0x7000000>; ++ }; ++}; + diff --git a/target/linux/kirkwood/profiles/110-nas.mk b/target/linux/kirkwood/profiles/110-nas.mk index 1bd188c..4300c11 100644 --- a/target/linux/kirkwood/profiles/110-nas.mk +++ b/target/linux/kirkwood/profiles/110-nas.mk @@ -85,6 +85,31 @@ POGOE02_UBI_OPTS:="-m 2048 -p 128KiB -s 512" $(eval $(call Profile,POGOE02)) +define Profile/POGO4 + NAME:=Cloud Engines Pogoplug v4 + PACKAGES:= \ + kmod-ata-marvell-sata \ + kmod-crypto-mv-cesa \ + kmod-i2c-mv64xxx \ + kmod-thermal-kirkwood \ + kmod-usb2 kmod-usb3 \ + kmod-usb-storage \ + uboot-kirkwood-pogo4 \ + uboot-envtools + DEPENDS:= \ + +@TARGET_ROOTFS_INCLUDE_KERNEL \ + +@TARGET_ROOTFS_INCLUDE_UIMAGE \ + +@TARGET_ROOTFS_INCLUDE_DTB +endef + +define Profile/POGO4/Description + Package set compatible with Cloud Engines Pogoplug v4 board. +endef + +POGO4_UBIFS_OPTS:="-m 2048 -e 126KiB -c 4096" +POGO4_UBI_OPTS:="-m 2048 -p 128KiB -s 512" + +$(eval $(call Profile,POGO4)) define Profile/IOMEGA_IX2_200 NAME:=Iomega StorCenter ix2-200
pgpzxJl6lxcAm.pgp
Description: PGP signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel