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>;
++    };
++};
++
++&eth0 {
++    status = "okay";
++    ethernet0-port@0 {
++        phy-handle = <&ethphy0>;
++    };
++};
++
++&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

Attachment: pgpzxJl6lxcAm.pgp
Description: PGP signature

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to