mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
linux-usbarmory: kernel, limited modules
This commit is contained in:
parent
4052168510
commit
ff204f3186
8 changed files with 3776 additions and 0 deletions
|
@ -0,0 +1,51 @@
|
||||||
|
From 7ba704a48c49367dda65d1297a4c06a1eb4e8c9c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Willy Tarreau <w@xxxxxx>
|
||||||
|
Date: Sun, 2 Dec 2012 19:59:28 +0100
|
||||||
|
Subject: [PATCH 1/5] ARM: atags: add support for Marvell's u-boot
|
||||||
|
|
||||||
|
Marvell uses a specific atag in its u-boot which includes among other
|
||||||
|
information the MAC addresses for up to 4 network interfaces.
|
||||||
|
|
||||||
|
Signed-off-by: Willy Tarreau <w@xxxxxx>
|
||||||
|
---
|
||||||
|
arch/arm/include/uapi/asm/setup.h | 17 +++++++++++++++++
|
||||||
|
1 file changed, 17 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/include/uapi/asm/setup.h b/arch/arm/include/uapi/asm/setup.h
|
||||||
|
index 979ff40..d1d0c19 100644
|
||||||
|
--- a/arch/arm/include/uapi/asm/setup.h
|
||||||
|
+++ b/arch/arm/include/uapi/asm/setup.h
|
||||||
|
@@ -143,6 +143,18 @@ struct tag_memclk {
|
||||||
|
__u32 fmemclk;
|
||||||
|
};
|
||||||
|
|
||||||
|
+/* Marvell uboot parameters */
|
||||||
|
+#define ATAG_MV_UBOOT 0x41000403
|
||||||
|
+struct tag_mv_uboot {
|
||||||
|
+ __u32 uboot_version;
|
||||||
|
+ __u32 tclk;
|
||||||
|
+ __u32 sysclk;
|
||||||
|
+ __u32 isUsbHost;
|
||||||
|
+ __u8 macAddr[4][6];
|
||||||
|
+ __u16 mtu[4];
|
||||||
|
+ __u32 nand_ecc;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
struct tag {
|
||||||
|
struct tag_header hdr;
|
||||||
|
union {
|
||||||
|
@@ -165,6 +177,11 @@ struct tag {
|
||||||
|
* DC21285 specific
|
||||||
|
*/
|
||||||
|
struct tag_memclk memclk;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Marvell specific
|
||||||
|
+ */
|
||||||
|
+ struct tag_mv_uboot mv_uboot;
|
||||||
|
} u;
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.3.0
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
From efad5852f3be8cc444662c3a1ecf22edd38427d4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Willy Tarreau <w@xxxxxx>
|
||||||
|
Date: Sun, 2 Dec 2012 19:56:58 +0100
|
||||||
|
Subject: [PATCH 2/5] ARM: atags/fdt: retrieve MAC addresses from Marvell boot
|
||||||
|
loader
|
||||||
|
|
||||||
|
The atags are parsed and if a Marvell atag is found, up to 4 MAC
|
||||||
|
addresses are extracted there and assigned to node aliases eth0..3
|
||||||
|
with the name "mac-address".
|
||||||
|
|
||||||
|
This was tested on my Mirabox and the two NICs had their correct
|
||||||
|
address set.
|
||||||
|
|
||||||
|
Signed-off-by: Willy Tarreau <w@xxxxxx>
|
||||||
|
---
|
||||||
|
arch/arm/boot/compressed/atags_to_fdt.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/compressed/atags_to_fdt.c b/arch/arm/boot/compressed/atags_to_fdt.c
|
||||||
|
index 9448aa0..ac7b6ae 100644
|
||||||
|
--- a/arch/arm/boot/compressed/atags_to_fdt.c
|
||||||
|
+++ b/arch/arm/boot/compressed/atags_to_fdt.c
|
||||||
|
@@ -18,7 +18,7 @@ static int node_offset(void *fdt, const char *node_path)
|
||||||
|
}
|
||||||
|
|
||||||
|
static int setprop(void *fdt, const char *node_path, const char *property,
|
||||||
|
- uint32_t *val_array, int size)
|
||||||
|
+ void *val_array, int size)
|
||||||
|
{
|
||||||
|
int offset = node_offset(fdt, node_path);
|
||||||
|
if (offset < 0)
|
||||||
|
@@ -179,6 +179,12 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
|
||||||
|
initrd_start);
|
||||||
|
setprop_cell(fdt, "/chosen", "linux,initrd-end",
|
||||||
|
initrd_start + initrd_size);
|
||||||
|
+ } else if (atag->hdr.tag == ATAG_MV_UBOOT) {
|
||||||
|
+ /* This ATAG provides up to 4 MAC addresses */
|
||||||
|
+ setprop(fdt, "eth0", "mac-address", atag->u.mv_uboot.macAddr[0], 6);
|
||||||
|
+ setprop(fdt, "eth1", "mac-address", atag->u.mv_uboot.macAddr[1], 6);
|
||||||
|
+ setprop(fdt, "eth2", "mac-address", atag->u.mv_uboot.macAddr[2], 6);
|
||||||
|
+ setprop(fdt, "eth3", "mac-address", atag->u.mv_uboot.macAddr[3], 6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.3.0
|
||||||
|
|
209
core/linux-usbarmory/0003-SMILE-Plug-device-tree-file.patch
Normal file
209
core/linux-usbarmory/0003-SMILE-Plug-device-tree-file.patch
Normal file
|
@ -0,0 +1,209 @@
|
||||||
|
From 9a1d31f61b309e8a4ebc6a4c85154f20b94af3e2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
Date: Fri, 5 Sep 2014 15:41:19 -0600
|
||||||
|
Subject: [PATCH 3/5] SMILE Plug device tree file
|
||||||
|
|
||||||
|
This adds a dts file for the SMILE Plug, which only differs from the Mirabox
|
||||||
|
dts with the LED definitions.
|
||||||
|
|
||||||
|
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
---
|
||||||
|
arch/arm/boot/dts/Makefile | 1 +
|
||||||
|
arch/arm/boot/dts/armada-370-smileplug.dts | 173 +++++++++++++++++++++++++++++
|
||||||
|
2 files changed, 174 insertions(+)
|
||||||
|
create mode 100644 arch/arm/boot/dts/armada-370-smileplug.dts
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||||
|
index 91bd5bd..22618d7 100644
|
||||||
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
|
@@ -527,6 +527,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
|
||||||
|
dtb-$(CONFIG_MACH_ARMADA_370) += \
|
||||||
|
armada-370-db.dtb \
|
||||||
|
armada-370-mirabox.dtb \
|
||||||
|
+ armada-370-smileplug.dtb \
|
||||||
|
armada-370-netgear-rn102.dtb \
|
||||||
|
armada-370-netgear-rn104.dtb \
|
||||||
|
armada-370-rd.dtb \
|
||||||
|
diff --git a/arch/arm/boot/dts/armada-370-smileplug.dts b/arch/arm/boot/dts/armada-370-smileplug.dts
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..d01308a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/arch/arm/boot/dts/armada-370-smileplug.dts
|
||||||
|
@@ -0,0 +1,173 @@
|
||||||
|
+/*
|
||||||
|
+ * Device Tree file for Marvell SMILE Plug
|
||||||
|
+ *
|
||||||
|
+ * Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
+ * Gregory CLEMENT <gregory.clement@free-electrons.com>
|
||||||
|
+ *
|
||||||
|
+ * This file is licensed under the terms of the GNU General Public
|
||||||
|
+ * License version 2. This program is licensed "as is" without any
|
||||||
|
+ * warranty of any kind, whether express or implied.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+/dts-v1/;
|
||||||
|
+#include <dt-bindings/gpio/gpio.h>
|
||||||
|
+#include "armada-370.dtsi"
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ model = "Marvell SMILE Plug";
|
||||||
|
+ compatible = "marvell,smileplug", "marvell,armada370", "marvell,armada-370-xp";
|
||||||
|
+
|
||||||
|
+ chosen {
|
||||||
|
+ bootargs = "console=ttyS0,115200 earlyprintk";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ memory {
|
||||||
|
+ device_type = "memory";
|
||||||
|
+ reg = <0x00000000 0x20000000>; /* 512 MB */
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ soc {
|
||||||
|
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
|
||||||
|
+ MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
|
||||||
|
+
|
||||||
|
+ pcie-controller {
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ /* Internal mini-PCIe connector */
|
||||||
|
+ pcie@1,0 {
|
||||||
|
+ /* Port 0, Lane 0 */
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /* Connected on the PCB to a USB 3.0 XHCI controller */
|
||||||
|
+ pcie@2,0 {
|
||||||
|
+ /* Port 1, Lane 0 */
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ internal-regs {
|
||||||
|
+ serial@12000 {
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+ timer@20300 {
|
||||||
|
+ clock-frequency = <600000000>;
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ gpio_leds {
|
||||||
|
+ compatible = "gpio-leds";
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&smile_led_pins>;
|
||||||
|
+
|
||||||
|
+ red_eyes_led {
|
||||||
|
+ label = "smileplug:red:eyes";
|
||||||
|
+ gpios = <&gpio1 31 0>;
|
||||||
|
+ default-state = "off";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ green_eyes_led {
|
||||||
|
+ label = "smileplug:green:eyes";
|
||||||
|
+ gpios = <&gpio2 0 0>;
|
||||||
|
+ linux,default-trigger = "default-on";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ red_smile_led {
|
||||||
|
+ label = "smileplug:red:smile";
|
||||||
|
+ gpios = <&gpio1 15 0>;
|
||||||
|
+ default-state = "off";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ green_smile_led {
|
||||||
|
+ label = "smileplug:green:smile";
|
||||||
|
+ gpios = <&gpio1 27 0>;
|
||||||
|
+ linux,default-trigger = "default-on";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ mdio {
|
||||||
|
+ pinctrl-0 = <&mdio_pins>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ phy0: ethernet-phy@0 {
|
||||||
|
+ reg = <0>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ phy1: ethernet-phy@1 {
|
||||||
|
+ reg = <1>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ ethernet@70000 {
|
||||||
|
+ pinctrl-0 = <&ge0_rgmii_pins>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ status = "okay";
|
||||||
|
+ phy = <&phy0>;
|
||||||
|
+ phy-mode = "rgmii-id";
|
||||||
|
+ };
|
||||||
|
+ ethernet@74000 {
|
||||||
|
+ pinctrl-0 = <&ge1_rgmii_pins>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ status = "okay";
|
||||||
|
+ phy = <&phy1>;
|
||||||
|
+ phy-mode = "rgmii-id";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ mvsdio@d4000 {
|
||||||
|
+ pinctrl-0 = <&sdio_pins3>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ status = "okay";
|
||||||
|
+ /*
|
||||||
|
+ * No CD or WP GPIOs: SDIO interface used for
|
||||||
|
+ * Wifi/Bluetooth chip
|
||||||
|
+ */
|
||||||
|
+ broken-cd;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ usb@50000 {
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ usb@51000 {
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c@11000 {
|
||||||
|
+ status = "okay";
|
||||||
|
+ clock-frequency = <100000>;
|
||||||
|
+ pca9505: pca9505@25 {
|
||||||
|
+ compatible = "nxp,pca9505";
|
||||||
|
+ gpio-controller;
|
||||||
|
+ #gpio-cells = <2>;
|
||||||
|
+ reg = <0x25>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ nand@d0000 {
|
||||||
|
+ status = "okay";
|
||||||
|
+ num-cs = <1>;
|
||||||
|
+ marvell,nand-keep-config;
|
||||||
|
+ marvell,nand-enable-arbiter;
|
||||||
|
+ nand-on-flash-bbt;
|
||||||
|
+
|
||||||
|
+ partition@0 {
|
||||||
|
+ label = "U-Boot";
|
||||||
|
+ reg = <0 0x400000>;
|
||||||
|
+ };
|
||||||
|
+ partition@400000 {
|
||||||
|
+ label = "Linux";
|
||||||
|
+ reg = <0x400000 0x400000>;
|
||||||
|
+ };
|
||||||
|
+ partition@800000 {
|
||||||
|
+ label = "Filesystem";
|
||||||
|
+ reg = <0x800000 0x3f800000>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pinctrl {
|
||||||
|
+ smile_led_pins: smile-led-pins {
|
||||||
|
+ marvell,pins = "mpp63", "mpp64", "mpp47", "mpp59";
|
||||||
|
+ marvell,function = "gpio";
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
--
|
||||||
|
2.3.0
|
||||||
|
|
38
core/linux-usbarmory/0004-fix-mvsdio-eMMC-timing.patch
Normal file
38
core/linux-usbarmory/0004-fix-mvsdio-eMMC-timing.patch
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
From 29195baa48fe67ae6c0731edc5c64dee9aaf4851 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
Date: Fri, 5 Sep 2014 15:43:56 -0600
|
||||||
|
Subject: [PATCH 4/5] fix mvsdio eMMC timing
|
||||||
|
|
||||||
|
These changes from Globalscale change the MMC timing to allow the eMMC versions
|
||||||
|
of the Mirabox and SMILE Plug to work.
|
||||||
|
|
||||||
|
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
---
|
||||||
|
drivers/mmc/host/mvsdio.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
|
||||||
|
index 4f8618f..ab95bb7 100644
|
||||||
|
--- a/drivers/mmc/host/mvsdio.c
|
||||||
|
+++ b/drivers/mmc/host/mvsdio.c
|
||||||
|
@@ -97,7 +97,7 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
|
||||||
|
tmout_index = fls(tmout - 1) - 12;
|
||||||
|
if (tmout_index < 0)
|
||||||
|
tmout_index = 0;
|
||||||
|
- if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX)
|
||||||
|
+// if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX) //by steven, try to setup the timeout to maximum value
|
||||||
|
tmout_index = MVSD_HOST_CTRL_TMOUT_MAX;
|
||||||
|
|
||||||
|
dev_dbg(host->dev, "data %s at 0x%08x: blocks=%d blksz=%d tmout=%u (%d)\n",
|
||||||
|
@@ -619,6 +619,8 @@ static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
||||||
|
u32 m = DIV_ROUND_UP(host->base_clock, ios->clock) - 1;
|
||||||
|
if (m > MVSD_BASE_DIV_MAX)
|
||||||
|
m = MVSD_BASE_DIV_MAX;
|
||||||
|
+ if(ios->clock==50000000 ) //by steven
|
||||||
|
+ m=1;
|
||||||
|
mvsd_write(MVSD_CLK_DIV, m);
|
||||||
|
host->clock = ios->clock;
|
||||||
|
host->ns_per_clk = 1000000000 / (host->base_clock / (m+1));
|
||||||
|
--
|
||||||
|
2.3.0
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
From 5d0fb467e28aeff79590ddcbe69219f4fc2b8fdf Mon Sep 17 00:00:00 2001
|
||||||
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
|
Date: Tue, 18 Feb 2014 01:43:50 -0300
|
||||||
|
Subject: [PATCH 5/5] net/smsc95xx: Allow mac address to be set as a parameter
|
||||||
|
|
||||||
|
---
|
||||||
|
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 56 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
|
||||||
|
index 26423ad..e29a323 100644
|
||||||
|
--- a/drivers/net/usb/smsc95xx.c
|
||||||
|
+++ b/drivers/net/usb/smsc95xx.c
|
||||||
|
@@ -59,6 +59,7 @@
|
||||||
|
#define SUSPEND_SUSPEND3 (0x08)
|
||||||
|
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
|
||||||
|
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
|
||||||
|
+#define MAC_ADDR_LEN (6)
|
||||||
|
|
||||||
|
struct smsc95xx_priv {
|
||||||
|
u32 mac_cr;
|
||||||
|
@@ -74,6 +75,10 @@ static bool turbo_mode = true;
|
||||||
|
module_param(turbo_mode, bool, 0644);
|
||||||
|
MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
|
||||||
|
|
||||||
|
+static char *macaddr = ":";
|
||||||
|
+module_param(macaddr, charp, 0);
|
||||||
|
+MODULE_PARM_DESC(macaddr, "MAC address");
|
||||||
|
+
|
||||||
|
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||||
|
u32 *data, int in_pm)
|
||||||
|
{
|
||||||
|
@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||||
|
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* Check the macaddr module parameter for a MAC address */
|
||||||
|
+static int smsc95xx_is_macaddr_param(struct usbnet *dev, u8 *dev_mac)
|
||||||
|
+{
|
||||||
|
+ int i, j, got_num, num;
|
||||||
|
+ u8 mtbl[MAC_ADDR_LEN];
|
||||||
|
+
|
||||||
|
+ if (macaddr[0] == ':')
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ i = 0;
|
||||||
|
+ j = 0;
|
||||||
|
+ num = 0;
|
||||||
|
+ got_num = 0;
|
||||||
|
+ while (j < MAC_ADDR_LEN) {
|
||||||
|
+ if (macaddr[i] && macaddr[i] != ':') {
|
||||||
|
+ got_num++;
|
||||||
|
+ if ('0' <= macaddr[i] && macaddr[i] <= '9')
|
||||||
|
+ num = num * 16 + macaddr[i] - '0';
|
||||||
|
+ else if ('A' <= macaddr[i] && macaddr[i] <= 'F')
|
||||||
|
+ num = num * 16 + 10 + macaddr[i] - 'A';
|
||||||
|
+ else if ('a' <= macaddr[i] && macaddr[i] <= 'f')
|
||||||
|
+ num = num * 16 + 10 + macaddr[i] - 'a';
|
||||||
|
+ else
|
||||||
|
+ break;
|
||||||
|
+ i++;
|
||||||
|
+ } else if (got_num == 2) {
|
||||||
|
+ mtbl[j++] = (u8) num;
|
||||||
|
+ num = 0;
|
||||||
|
+ got_num = 0;
|
||||||
|
+ i++;
|
||||||
|
+ } else {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (j == MAC_ADDR_LEN) {
|
||||||
|
+ netif_dbg(dev, ifup, dev->net, "Overriding MAC address with: "
|
||||||
|
+ "%02x:%02x:%02x:%02x:%02x:%02x\n", mtbl[0], mtbl[1], mtbl[2],
|
||||||
|
+ mtbl[3], mtbl[4], mtbl[5]);
|
||||||
|
+ for (i = 0; i < MAC_ADDR_LEN; i++)
|
||||||
|
+ dev_mac[i] = mtbl[i];
|
||||||
|
+ return 1;
|
||||||
|
+ } else {
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||||
|
{
|
||||||
|
+ /* Check module parameters */
|
||||||
|
+ if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
/* try reading mac address from EEPROM */
|
||||||
|
if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
|
||||||
|
dev->net->dev_addr) == 0) {
|
||||||
|
--
|
||||||
|
2.3.0
|
||||||
|
|
281
core/linux-usbarmory/PKGBUILD
Normal file
281
core/linux-usbarmory/PKGBUILD
Normal file
|
@ -0,0 +1,281 @@
|
||||||
|
# USB Armory limited kernel
|
||||||
|
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
# Maintainer: Jason Plum <jplum@archlinuxarm.org>
|
||||||
|
|
||||||
|
buildarch=4
|
||||||
|
|
||||||
|
pkgbase=linux-usbarmory
|
||||||
|
_srcname=linux-3.19
|
||||||
|
_kernelname=${pkgbase#linux}
|
||||||
|
_desc="ARMv7 USB armory"
|
||||||
|
pkgver=3.19.1
|
||||||
|
pkgrel=1
|
||||||
|
rcnrel=armv7-x3
|
||||||
|
arch=('armv7h')
|
||||||
|
url="http://www.kernel.org/"
|
||||||
|
license=('GPL2')
|
||||||
|
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools')
|
||||||
|
options=('!strip')
|
||||||
|
source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
||||||
|
#"http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
|
||||||
|
"http://rcn-ee.net/deb/sid-armhf/v${pkgver}-${rcnrel}/patch-${pkgver%.0}-${rcnrel}.diff.gz"
|
||||||
|
"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}"
|
||||||
|
#"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs3.x-rcN"
|
||||||
|
'0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch'
|
||||||
|
'0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
|
||||||
|
'0003-SMILE-Plug-device-tree-file.patch'
|
||||||
|
'0004-fix-mvsdio-eMMC-timing.patch'
|
||||||
|
'0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
|
||||||
|
'config')
|
||||||
|
md5sums=('d3fc8316d4d4d04b65cbc2d70799e763'
|
||||||
|
'0f085618a0d85d406320e8bbba7fbec1'
|
||||||
|
'SKIP'
|
||||||
|
'98931609e0e5c0beb3dbaabfb669b872'
|
||||||
|
'b7aa41223a0eff197ab905d9791e4ec4'
|
||||||
|
'd71cd90ee737afc07708fae7e449d651'
|
||||||
|
'950087add736d74afacd54bcfe8908d9'
|
||||||
|
'd6ef79617d7e59e841f4f3d65501a6d8'
|
||||||
|
'47604e349d7809f0c71f54de1ecb66df')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "${srcdir}/${_srcname}"
|
||||||
|
|
||||||
|
# add upstream patch
|
||||||
|
#git apply --whitespace=nowarn ../patch-${pkgver}
|
||||||
|
|
||||||
|
# RCN patch
|
||||||
|
git apply ../patch-${pkgver%.0}-${rcnrel}.diff
|
||||||
|
|
||||||
|
# ALARM patches
|
||||||
|
git apply ../0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch
|
||||||
|
git apply ../0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch
|
||||||
|
git apply ../0003-SMILE-Plug-device-tree-file.patch
|
||||||
|
git apply ../0004-fix-mvsdio-eMMC-timing.patch
|
||||||
|
git apply ../0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
|
||||||
|
|
||||||
|
# AUFS patches
|
||||||
|
cp -ru "${srcdir}/aufs3-standalone/Documentation" .
|
||||||
|
cp -ru "${srcdir}/aufs3-standalone/fs" .
|
||||||
|
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/linux
|
||||||
|
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/uapi/linux
|
||||||
|
|
||||||
|
git apply ../aufs3-standalone/aufs3-kbuild.patch
|
||||||
|
git apply ../aufs3-standalone/aufs3-base.patch
|
||||||
|
git apply ../aufs3-standalone/aufs3-mmap.patch
|
||||||
|
git apply ../aufs3-standalone/aufs3-standalone.patch
|
||||||
|
|
||||||
|
cat "${srcdir}/config" > ./.config
|
||||||
|
|
||||||
|
# add pkgrel to extraversion
|
||||||
|
sed -ri "s|^(EXTRAVERSION =)(.*)|\1 \2-${pkgrel}|" Makefile
|
||||||
|
|
||||||
|
# don't run depmod on 'make install'. We'll do this ourselves in packaging
|
||||||
|
sed -i '2iexit 0' scripts/depmod.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "${srcdir}/${_srcname}"
|
||||||
|
|
||||||
|
# get kernel version
|
||||||
|
make prepare
|
||||||
|
|
||||||
|
# load configuration
|
||||||
|
# Configure the kernel. Replace the line below with one of your choice.
|
||||||
|
#make menuconfig # CLI menu for configuration
|
||||||
|
#make nconfig # new CLI menu for configuration
|
||||||
|
#make xconfig # X-based configuration
|
||||||
|
#make oldconfig # using old config from previous kernel version
|
||||||
|
# ... or manually edit .config
|
||||||
|
|
||||||
|
# Copy back our configuration (use with new kernel version)
|
||||||
|
#cp ./.config ../${pkgbase}.config
|
||||||
|
|
||||||
|
####################
|
||||||
|
# stop here
|
||||||
|
# this is useful to configure the kernel
|
||||||
|
#msg "Stopping build"
|
||||||
|
#return 1
|
||||||
|
####################
|
||||||
|
|
||||||
|
#yes "" | make config
|
||||||
|
|
||||||
|
# build!
|
||||||
|
make ${MAKEFLAGS} zImage modules dtbs
|
||||||
|
}
|
||||||
|
|
||||||
|
_package() {
|
||||||
|
pkgdesc="The Linux Kernel and modules - ${_desc}"
|
||||||
|
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
|
||||||
|
optdepends=('crda: to set the correct wireless channels of your country')
|
||||||
|
provides=('kernel26' "linux=${pkgver}" 'aufs_friendly')
|
||||||
|
conflicts=('linux')
|
||||||
|
replaces=('linux-mvebu' 'linux-udoo')
|
||||||
|
install=${pkgname}.install
|
||||||
|
|
||||||
|
cd "${srcdir}/${_srcname}"
|
||||||
|
|
||||||
|
KARCH=arm
|
||||||
|
|
||||||
|
# get kernel version
|
||||||
|
_kernver="$(make kernelrelease)"
|
||||||
|
_basekernel=${_kernver%%-*}
|
||||||
|
_basekernel=${_basekernel%.*}
|
||||||
|
|
||||||
|
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtbs}
|
||||||
|
make INSTALL_MOD_PATH="${pkgdir}" modules_install
|
||||||
|
cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage"
|
||||||
|
cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs"
|
||||||
|
|
||||||
|
# set correct depmod command for install
|
||||||
|
sed \
|
||||||
|
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
|
||||||
|
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
|
||||||
|
-i "${startdir}/${pkgname}.install"
|
||||||
|
|
||||||
|
# remove build and source links
|
||||||
|
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
|
||||||
|
# remove the firmware
|
||||||
|
rm -rf "${pkgdir}/lib/firmware"
|
||||||
|
# gzip -9 all modules to save 100MB of space
|
||||||
|
find "${pkgdir}" -name '*.ko' |xargs -P 2 -n 1 gzip -9
|
||||||
|
# make room for external modules
|
||||||
|
ln -s "../extramodules-${_basekernel}-${_kernelname:-ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
|
||||||
|
# add real version for building modules and running depmod from post_install/upgrade
|
||||||
|
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}"
|
||||||
|
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}/version"
|
||||||
|
|
||||||
|
# Now we call depmod...
|
||||||
|
depmod -b "$pkgdir" -F System.map "$_kernver"
|
||||||
|
|
||||||
|
# move module tree /lib -> /usr/lib
|
||||||
|
mkdir -p "${pkgdir}/usr"
|
||||||
|
mv "$pkgdir/lib" "$pkgdir/usr"
|
||||||
|
}
|
||||||
|
|
||||||
|
_package-headers() {
|
||||||
|
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
|
||||||
|
provides=("linux-headers=${pkgver}")
|
||||||
|
conflicts=('linux-headers')
|
||||||
|
replaces=('linux-mvebu-headers')
|
||||||
|
|
||||||
|
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
|
||||||
|
|
||||||
|
cd "${srcdir}/${_srcname}"
|
||||||
|
install -D -m644 Makefile \
|
||||||
|
"${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile"
|
||||||
|
install -D -m644 kernel/Makefile \
|
||||||
|
"${pkgdir}/usr/lib/modules/${_kernver}/build/kernel/Makefile"
|
||||||
|
install -D -m644 .config \
|
||||||
|
"${pkgdir}/usr/lib/modules/${_kernver}/build/.config"
|
||||||
|
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include"
|
||||||
|
|
||||||
|
for i in acpi asm-generic config crypto drm generated keys linux math-emu \
|
||||||
|
media net pcmcia scsi sound trace uapi video xen; do
|
||||||
|
cp -a include/${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/include/"
|
||||||
|
done
|
||||||
|
|
||||||
|
# copy arch includes for external modules
|
||||||
|
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH
|
||||||
|
cp -a arch/$KARCH/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/
|
||||||
|
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-omap2
|
||||||
|
cp -a arch/$KARCH/mach-omap2/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-omap2/
|
||||||
|
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-mvebu
|
||||||
|
cp -a arch/$KARCH/mach-mvebu/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-mvebu/
|
||||||
|
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/plat-omap
|
||||||
|
cp -a arch/$KARCH/plat-omap/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/plat-omap/
|
||||||
|
|
||||||
|
# copy files necessary for later builds, like nvidia and vmware
|
||||||
|
cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||||
|
cp -a scripts "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||||
|
|
||||||
|
# fix permissions on scripts dir
|
||||||
|
chmod og-w -R "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts"
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/.tmp_versions"
|
||||||
|
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel"
|
||||||
|
|
||||||
|
cp arch/${KARCH}/Makefile "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/"
|
||||||
|
|
||||||
|
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel/"
|
||||||
|
|
||||||
|
# add docbook makefile
|
||||||
|
install -D -m644 Documentation/DocBook/Makefile \
|
||||||
|
"${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile"
|
||||||
|
|
||||||
|
# add dm headers
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md"
|
||||||
|
cp drivers/md/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md"
|
||||||
|
|
||||||
|
# add inotify.h
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux"
|
||||||
|
cp include/linux/inotify.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux/"
|
||||||
|
|
||||||
|
# add wireless headers
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/"
|
||||||
|
cp net/mac80211/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/"
|
||||||
|
|
||||||
|
# add dvb headers for external modules
|
||||||
|
# in reference to:
|
||||||
|
# http://bugs.archlinux.org/task/9912
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core"
|
||||||
|
#cp drivers/media/dvb-core/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core/"
|
||||||
|
# and...
|
||||||
|
# http://bugs.archlinux.org/task/11194
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/"
|
||||||
|
#cp include/config/dvb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/"
|
||||||
|
|
||||||
|
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
|
||||||
|
# in reference to:
|
||||||
|
# http://bugs.archlinux.org/task/13146
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
|
||||||
|
#cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/"
|
||||||
|
#cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/"
|
||||||
|
|
||||||
|
# add dvb headers
|
||||||
|
# in reference to:
|
||||||
|
# http://bugs.archlinux.org/task/20402
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb"
|
||||||
|
#cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb/"
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends"
|
||||||
|
#cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
|
||||||
|
#mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners"
|
||||||
|
#cp drivers/media/tuners/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners/"
|
||||||
|
|
||||||
|
# add xfs and shmem for aufs building
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs"
|
||||||
|
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/mm"
|
||||||
|
|
||||||
|
# copy in Kconfig files
|
||||||
|
for i in $(find . -name "Kconfig*"); do
|
||||||
|
mkdir -p "${pkgdir}"/usr/lib/modules/${_kernver}/build/`echo ${i} | sed 's|/Kconfig.*||'`
|
||||||
|
cp ${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/${i}"
|
||||||
|
done
|
||||||
|
|
||||||
|
chown -R root.root "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||||
|
find "${pkgdir}/usr/lib/modules/${_kernver}/build" -type d -exec chmod 755 {} \;
|
||||||
|
|
||||||
|
# strip scripts directory
|
||||||
|
find "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
|
||||||
|
case "$(file -bi "${binary}")" in
|
||||||
|
*application/x-sharedlib*) # Libraries (.so)
|
||||||
|
/usr/bin/strip ${STRIP_SHARED} "${binary}";;
|
||||||
|
*application/x-archive*) # Libraries (.a)
|
||||||
|
/usr/bin/strip ${STRIP_STATIC} "${binary}";;
|
||||||
|
*application/x-executable*) # Binaries
|
||||||
|
/usr/bin/strip ${STRIP_BINARIES} "${binary}";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# remove unneeded architectures
|
||||||
|
rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arc,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,x86,xtensa}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||||
|
for _p in ${pkgname[@]}; do
|
||||||
|
eval "package_${_p}() {
|
||||||
|
_package${_p#${pkgbase}}
|
||||||
|
}"
|
||||||
|
done
|
3036
core/linux-usbarmory/config
Normal file
3036
core/linux-usbarmory/config
Normal file
File diff suppressed because it is too large
Load diff
19
core/linux-usbarmory/linux-usbarmory.install
Normal file
19
core/linux-usbarmory/linux-usbarmory.install
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# arg 1: the new package version
|
||||||
|
# arg 2: the old package version
|
||||||
|
|
||||||
|
KERNEL_NAME=-usbarmory
|
||||||
|
KERNEL_VERSION=3.14.0-1-ARCH
|
||||||
|
|
||||||
|
post_install () {
|
||||||
|
# updating module dependencies
|
||||||
|
echo ">>> Updating module dependencies. Please wait ..."
|
||||||
|
depmod ${KERNEL_VERSION}
|
||||||
|
|
||||||
|
echo "NOTE: Using this kernel requires an updated U-Boot!"
|
||||||
|
}
|
||||||
|
|
||||||
|
post_upgrade() {
|
||||||
|
# updating module dependencies
|
||||||
|
echo ">>> Updating module dependencies. Please wait ..."
|
||||||
|
depmod ${KERNEL_VERSION}
|
||||||
|
}
|
Loading…
Reference in a new issue