removed core/linux-armv5-rc

This commit is contained in:
Kevin Mihelich 2022-02-06 21:13:15 +00:00
parent 26efad6983
commit ac8fdf287f
14 changed files with 0 additions and 8886 deletions

View file

@ -1,95 +0,0 @@
From 5640aa1864c77c344fbdb4d8e17b5acc073990b0 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 18 Feb 2014 01:43:50 -0300
Subject: [PATCH 1/9] 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 3cf4dc3433f9..2040ca14c4a5 100644
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
@@ -48,6 +48,7 @@
#define SUSPEND_SUSPEND3 (0x08)
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
+#define MAC_ADDR_LEN (6)
#define CARRIER_CHECK_DELAY (2 * HZ)
@@ -70,6 +71,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)
{
@@ -899,8 +904,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;
+
const u8 *mac_addr;
/* maybe the boot loader passed the MAC address in devicetree */
--
2.26.1

View file

@ -1,93 +0,0 @@
From 6560c5c50e087dccbd91dd4b2e918a76efe5c7f2 Mon Sep 17 00:00:00 2001
From: Douglas Gilbert <[mailto:dgilbert@interlog.com]>
Date: Mon, 12 Aug 2013 10:36:25 -0500
Subject: [PATCH 2/9] at91: ariag25 updates
v2: dropped at91sam9x5 usart fix, as merged mainline
Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
---
arch/arm/boot/dts/at91-ariag25.dts | 39 +++++++++++++++++++++++++++---
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/at91-ariag25.dts b/arch/arm/boot/dts/at91-ariag25.dts
index dbfefef2869d..2f20575c7ccb 100644
--- a/arch/arm/boot/dts/at91-ariag25.dts
+++ b/arch/arm/boot/dts/at91-ariag25.dts
@@ -82,7 +82,7 @@ &macb0 {
* following can be overwritten by bootloader:
* for example u-boot 'ftd set' command
*/
- local-mac-address = [00 00 00 00 00 00];
+ local-mac-address = [00 04 25 ef 00 00];
status = "okay";
};
@@ -104,7 +104,7 @@ slot@0 {
&pinctrl {
w1_0 {
pinctrl_w1_0: w1_0-0 {
- atmel,pins = <0 21 0x0 0x1>; /* PA21 PIO, pull-up */
+ atmel,pins = <AT91_PIOA 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
};
};
};
@@ -113,6 +113,11 @@ &rtc {
status = "okay";
};
+&watchdog {
+ /* timeout-sec = <14>; */
+ status = "okay";
+};
+
&tcb0 {
timer@0 {
compatible = "atmel,tcb-timer";
@@ -131,13 +136,41 @@ timer@1 {
* Change to "okay" if you need additional serial ports
*/
&uart0 {
- status = "disabled";
+ status = "okay";
};
&uart1 {
status = "disabled";
};
+&spi0 {
+ status = "okay";
+ cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
+ anything@0 {
+ compatible = "spidev";
+ // spi-max-frequency = <50000000>; // 50 MHz
+ spi-max-frequency = <5000000>; // 5 MHz
+ reg = <0>;
+ };
+ // m25p80@0 {
+ // compatible = "spidev";
+ // spi-max-frequency = <50000000>;
+ // reg = <0>;
+ // };
+
+ mmc-slot@0 {
+ compatible = "mmc-spi-slot";
+ reg = <0>;
+ voltage-ranges = <3300 3300>;
+ // Use one of next 3 lines, comment out other 2
+ gpios = <&pioA 26 0>; /* CD to PA26 */
+ // broken-cd;
+ // non-removable;
+ cd-inverted;
+ spi-max-frequency = <8000000>;
+ };
+};
+
&usart0 {
pinctrl-0 = <&pinctrl_usart0
&pinctrl_usart0_rts
--
2.26.1

View file

@ -1,372 +0,0 @@
From 89e38d55aea4e96b220804c24cc2b3383dd543e1 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sat, 13 Jun 2015 13:46:30 -0600
Subject: [PATCH 3/9] at91: arietta-g25 support
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/at91-arietta128.dts | 165 ++++++++++++++++++++++++++
arch/arm/boot/dts/at91-arietta256.dts | 165 ++++++++++++++++++++++++++
3 files changed, 332 insertions(+)
create mode 100644 arch/arm/boot/dts/at91-arietta128.dts
create mode 100644 arch/arm/boot/dts/at91-arietta256.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..27d4bba889a6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -35,6 +35,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9n12ek.dtb \
at91sam9rlek.dtb \
at91-ariag25.dtb \
+ at91-arietta128.dtb \
+ at91-arietta256.dtb \
at91-ariettag25.dtb \
at91-cosino_mega2560.dtb \
at91-kizboxmini-base.dtb \
diff --git a/arch/arm/boot/dts/at91-arietta128.dts b/arch/arm/boot/dts/at91-arietta128.dts
new file mode 100644
index 000000000000..5f9860c89bb2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-arietta128.dts
@@ -0,0 +1,165 @@
+/*
+ * acme-arietta.dts - Device Tree file for Arietta G25
+ * Generated by http://dts.acmesystems.it/arietta
+ */
+/dts-v1/;
+#include "at91sam9g25.dtsi"
+/ {
+ model = "Acme Systems Arietta G25";
+ compatible = "acme,ariettag25", "atmel,at91sam9x5ek","atmel,at91sam9x5", "atmel,at91sam9";
+ aliases {
+ serial0 = &dbgu;
+ serial1 = &usart0;
+ serial2 = &usart1;
+ serial3 = &usart2;
+ serial4 = &usart3;
+ serial5 = &uart0;
+ serial6 = &uart1;
+ };
+ chosen {
+ bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
+ };
+ memory {
+ reg = <0x20000000 0x8000000>;
+ };
+ clocks {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ main_clock: clock@0 {
+ compatible = "atmel,osc", "fixed-clock";
+ clock-frequency = <12000000>;
+ };
+
+ main_xtal {
+ clock-frequency = <12000000>;
+ };
+ };
+ ahb {
+ apb {
+ mmc0: mmc@f0008000 {
+ pinctrl-0 = <
+ &pinctrl_mmc0_slot0_clk_cmd_dat0
+ &pinctrl_mmc0_slot0_dat1_3>;
+ status = "okay";
+ slot@0 {
+ reg = <0>;
+ bus-width = <4>;
+ };
+ };
+ i2c0: i2c@f8010000 {
+ status ="okay";
+ wm8731: wm8731@1b {
+ compatible = "wm8731";
+ reg = <0x1b>;
+ };
+ };
+ i2c1: i2c@f8014000 {
+ status ="okay";
+ };
+ usart0: serial@f801c000 {
+ pinctrl-0 = <&pinctrl_usart0>;
+ status ="okay";
+ };
+ spi1: spi@f0004000 {
+ status = "okay";
+ cs-gpios = <&pioA 8 0>, <&pioA 0 0>, <&pioA 31 0>, <&pioA 30 0>;
+ device@0 {
+ compatible = "spidev";
+ spi-max-frequency = <5000000>; // 5 MHz
+ reg = <0>;
+ };
+ };
+
+ pinctrl@fffff400 {
+ adc0 {
+ pinctrl_adc0_ad0: adc0_ad0 {
+ atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ pinctrl_adc0_ad1: adc0_ad1 {
+ atmel,pins = <AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ pinctrl_adc0_ad2: adc0_ad2 {
+ atmel,pins = <AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ pinctrl_adc0_ad3: adc0_ad3 {
+ atmel,pins = <AT91_PIOB 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ };
+ };
+
+ adc0: adc@f804c000 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_adc0_ad0 &pinctrl_adc0_ad1 &pinctrl_adc0_ad2 &pinctrl_adc0_ad3>;
+ atmel,adc-channels-used = <0xf>;
+ atmel,adc-num-channels = <4>;
+ compatible = "atmel,at91sam9x5-adc";
+ atmel,adc-startup-time = <40>;
+ atmel,adc-status-register = <0x1c>;
+ atmel,adc-trigger-register = <0x08>;
+ atmel,adc-use-external;
+ atmel,adc-vref = <3250>;
+ atmel,adc-res = <8 10>;
+ atmel,adc-res-names = "lowres", "highres";
+ atmel,adc-use-res = "highres";
+ };
+
+ ssc0: ssc@f0010000 {
+ status = "okay";
+ };
+ usb2: gadget@f803c000 {
+ status = "okay";
+ };
+ dbgu: serial@fffff200 {
+ status = "okay";
+ };
+ pinctrl@fffff400 {
+ w1_0 {
+ pinctrl_w1_0: w1_0-0 {
+ /* pull up on */
+ atmel,pins = <2 31 0x0 0x1>;
+ };
+ };
+
+ };
+ rtc@fffffeb0 {
+ status = "okay";
+ };
+ };
+ usb0: ohci@600000 {
+ status = "okay";
+ num-ports = <3>;
+ };
+ usb1: ehci@700000 {
+ status = "okay";
+ };
+ };
+ leds {
+ compatible = "gpio-leds";
+ arietta_led {
+ label = "arietta_led";
+ gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
+ linux,default-trigger = "heartbeat";
+ };
+ };
+ onewire@0 {
+ compatible = "w1-gpio";
+ gpios = <&pioC 31 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_w1_0>;
+ };
+
+ sound {
+ compatible = "atmel,sam9x5-wm8731-audio";
+ atmel,model = "wm8731 @ AT91SAM9X5EK";
+ atmel,audio-routing =
+ "Headphone Jack", "RHPOUT",
+ "Headphone Jack", "LHPOUT",
+ "LLINEIN", "Line In Jack",
+ "RLINEIN", "Line In Jack";
+ atmel,ssc-controller = <&ssc0>;
+ atmel,audio-codec = <&wm8731>;
+ };
+
+};
diff --git a/arch/arm/boot/dts/at91-arietta256.dts b/arch/arm/boot/dts/at91-arietta256.dts
new file mode 100644
index 000000000000..cf18f869611a
--- /dev/null
+++ b/arch/arm/boot/dts/at91-arietta256.dts
@@ -0,0 +1,165 @@
+/*
+ * acme-arietta.dts - Device Tree file for Arietta G25
+ * Generated by http://dts.acmesystems.it/arietta
+ */
+/dts-v1/;
+#include "at91sam9g25.dtsi"
+/ {
+ model = "Acme Systems Arietta G25";
+ compatible = "acme,ariettag25", "atmel,at91sam9x5ek","atmel,at91sam9x5", "atmel,at91sam9";
+ aliases {
+ serial0 = &dbgu;
+ serial1 = &usart0;
+ serial2 = &usart1;
+ serial3 = &usart2;
+ serial4 = &usart3;
+ serial5 = &uart0;
+ serial6 = &uart1;
+ };
+ chosen {
+ bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
+ };
+ memory {
+ reg = <0x20000000 0x10000000>;
+ };
+ clocks {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ main_clock: clock@0 {
+ compatible = "atmel,osc", "fixed-clock";
+ clock-frequency = <12000000>;
+ };
+
+ main_xtal {
+ clock-frequency = <12000000>;
+ };
+ };
+ ahb {
+ apb {
+ mmc0: mmc@f0008000 {
+ pinctrl-0 = <
+ &pinctrl_mmc0_slot0_clk_cmd_dat0
+ &pinctrl_mmc0_slot0_dat1_3>;
+ status = "okay";
+ slot@0 {
+ reg = <0>;
+ bus-width = <4>;
+ };
+ };
+ i2c0: i2c@f8010000 {
+ status ="okay";
+ wm8731: wm8731@1b {
+ compatible = "wm8731";
+ reg = <0x1b>;
+ };
+ };
+ i2c1: i2c@f8014000 {
+ status ="okay";
+ };
+ usart0: serial@f801c000 {
+ pinctrl-0 = <&pinctrl_usart0>;
+ status ="okay";
+ };
+ spi1: spi@f0004000 {
+ status = "okay";
+ cs-gpios = <&pioA 8 0>, <&pioA 0 0>, <&pioA 31 0>, <&pioA 30 0>;
+ device@0 {
+ compatible = "spidev";
+ spi-max-frequency = <5000000>; // 5 MHz
+ reg = <0>;
+ };
+ };
+
+ pinctrl@fffff400 {
+ adc0 {
+ pinctrl_adc0_ad0: adc0_ad0 {
+ atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ pinctrl_adc0_ad1: adc0_ad1 {
+ atmel,pins = <AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ pinctrl_adc0_ad2: adc0_ad2 {
+ atmel,pins = <AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ pinctrl_adc0_ad3: adc0_ad3 {
+ atmel,pins = <AT91_PIOB 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+ };
+ };
+ };
+
+ adc0: adc@f804c000 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_adc0_ad0 &pinctrl_adc0_ad1 &pinctrl_adc0_ad2 &pinctrl_adc0_ad3>;
+ atmel,adc-channels-used = <0xf>;
+ atmel,adc-num-channels = <4>;
+ compatible = "atmel,at91sam9x5-adc";
+ atmel,adc-startup-time = <40>;
+ atmel,adc-status-register = <0x1c>;
+ atmel,adc-trigger-register = <0x08>;
+ atmel,adc-use-external;
+ atmel,adc-vref = <3250>;
+ atmel,adc-res = <8 10>;
+ atmel,adc-res-names = "lowres", "highres";
+ atmel,adc-use-res = "highres";
+ };
+
+ ssc0: ssc@f0010000 {
+ status = "okay";
+ };
+ usb2: gadget@f803c000 {
+ status = "okay";
+ };
+ dbgu: serial@fffff200 {
+ status = "okay";
+ };
+ pinctrl@fffff400 {
+ w1_0 {
+ pinctrl_w1_0: w1_0-0 {
+ /* pull up on */
+ atmel,pins = <2 31 0x0 0x1>;
+ };
+ };
+
+ };
+ rtc@fffffeb0 {
+ status = "okay";
+ };
+ };
+ usb0: ohci@600000 {
+ status = "okay";
+ num-ports = <3>;
+ };
+ usb1: ehci@700000 {
+ status = "okay";
+ };
+ };
+ leds {
+ compatible = "gpio-leds";
+ arietta_led {
+ label = "arietta_led";
+ gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
+ linux,default-trigger = "heartbeat";
+ };
+ };
+ onewire@0 {
+ compatible = "w1-gpio";
+ gpios = <&pioC 31 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_w1_0>;
+ };
+
+ sound {
+ compatible = "atmel,sam9x5-wm8731-audio";
+ atmel,model = "wm8731 @ AT91SAM9X5EK";
+ atmel,audio-routing =
+ "Headphone Jack", "RHPOUT",
+ "Headphone Jack", "LHPOUT",
+ "LLINEIN", "Line In Jack",
+ "RLINEIN", "Line In Jack";
+ atmel,ssc-controller = <&ssc0>;
+ atmel,audio-codec = <&wm8731>;
+ };
+
+};
--
2.26.1

View file

@ -1,112 +0,0 @@
From ede4e4159cb3058b2a6d7faaaa04162904325fca Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 16:32:06 -0700
Subject: [PATCH 4/9] leds: trigger: Introduce a SATA trigger
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
drivers/leds/trigger/Kconfig | 6 ++++
drivers/leds/trigger/Makefile | 1 +
drivers/leds/trigger/ledtrig-sata.c | 43 +++++++++++++++++++++++++++++
include/linux/leds.h | 6 ++++
4 files changed, 56 insertions(+)
create mode 100644 drivers/leds/trigger/ledtrig-sata.c
diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig
index ce9429ca6dde..143075d13bd1 100644
--- a/drivers/leds/trigger/Kconfig
+++ b/drivers/leds/trigger/Kconfig
@@ -39,6 +39,12 @@ config LEDS_TRIGGER_DISK
This allows LEDs to be controlled by disk activity.
If unsure, say Y.
+config LEDS_TRIGGER_SATA
+ bool "LED SATA Disk Trigger for Kirkwood SOC"
+ depends on LEDS_TRIGGERS
+ help
+ This allows LEDs to be controlled by IDE disk activity.
+
config LEDS_TRIGGER_MTD
bool "LED MTD (NAND/NOR) Trigger"
depends on MTD
diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile
index 733a83e2a718..023b9221202b 100644
--- a/drivers/leds/trigger/Makefile
+++ b/drivers/leds/trigger/Makefile
@@ -2,6 +2,7 @@
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_ONESHOT) += ledtrig-oneshot.o
obj-$(CONFIG_LEDS_TRIGGER_DISK) += ledtrig-disk.o
+obj-$(CONFIG_LEDS_TRIGGER_SATA) += ledtrig-sata.o
obj-$(CONFIG_LEDS_TRIGGER_MTD) += ledtrig-mtd.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o
diff --git a/drivers/leds/trigger/ledtrig-sata.c b/drivers/leds/trigger/ledtrig-sata.c
new file mode 100644
index 000000000000..f1798f43666f
--- /dev/null
+++ b/drivers/leds/trigger/ledtrig-sata.c
@@ -0,0 +1,43 @@
+/*
+ * LED SATA-Disk Activity Trigger
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/leds.h>
+
+#define BLINK_DELAY 30
+
+DEFINE_LED_TRIGGER(ledtrig_sata1);
+DEFINE_LED_TRIGGER(ledtrig_sata2);
+
+void ledtrig_sata_activity(int port_number)
+{
+ unsigned long sata_blink_delay = BLINK_DELAY;
+
+ switch (port_number) {
+ case 0:
+ led_trigger_blink_oneshot(ledtrig_sata1, &sata_blink_delay, &sata_blink_delay, 0);
+ break;
+ case 1:
+ led_trigger_blink_oneshot(ledtrig_sata2, &sata_blink_delay, &sata_blink_delay, 0);
+ break;
+ default:
+ break;
+ }
+}
+EXPORT_SYMBOL(ledtrig_sata_activity);
+
+static int __init ledtrig_sata_init(void)
+{
+ led_trigger_register_simple("sata-disk1", &ledtrig_sata1);
+ led_trigger_register_simple("sata-disk2", &ledtrig_sata2);
+
+ return 0;
+}
+device_initcall(ledtrig_sata_init);
diff --git a/include/linux/leds.h b/include/linux/leds.h
index 2451962d1ec5..d26ffbb1082a 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -457,6 +457,12 @@ void ledtrig_disk_activity(bool write);
static inline void ledtrig_disk_activity(bool write) {}
#endif
+#ifdef CONFIG_LEDS_TRIGGER_SATA
+extern void ledtrig_sata_activity(int port_number);
+#else
+static inline void ledtrig_sata_activity(int port_number) {}
+#endif
+
#ifdef CONFIG_LEDS_TRIGGER_MTD
void ledtrig_mtd_activity(void);
#else
--
2.26.1

View file

@ -1,34 +0,0 @@
From 55a010770c229decba9ce935ef01c833296cb00e Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 16:34:33 -0700
Subject: [PATCH 5/9] ata: sata_mv: Add SATA activity LED trigger support
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
drivers/ata/sata_mv.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index d7228f8e9297..f69ebc263e77 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -59,6 +59,7 @@
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <linux/libata.h>
+#include <linux/leds.h>
#define DRV_NAME "sata_mv"
#define DRV_VERSION "1.28"
@@ -1162,6 +1163,8 @@ static void mv_start_edma(struct ata_port *ap, void __iomem *port_mmio,
{
int want_ncq = (protocol == ATA_PROT_NCQ);
+ ledtrig_sata_activity(ap->port_no);
+
if (pp->pp_flags & MV_PP_FLAG_EDMA_EN) {
int using_ncq = ((pp->pp_flags & MV_PP_FLAG_NCQ_EN) != 0);
if (want_ncq != using_ncq)
--
2.26.1

View file

@ -1,26 +0,0 @@
From a0d4b11d2a86f40f2b79f19195c09b680c861c89 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 16:37:08 -0700
Subject: [PATCH 6/9] ARM: dts: kirkwood-pogo_e02: Set health LED to default-on
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
arch/arm/boot/dts/kirkwood-pogo_e02.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/kirkwood-pogo_e02.dts b/arch/arm/boot/dts/kirkwood-pogo_e02.dts
index f9e95e55f36d..a3ee0ad3c1b4 100644
--- a/arch/arm/boot/dts/kirkwood-pogo_e02.dts
+++ b/arch/arm/boot/dts/kirkwood-pogo_e02.dts
@@ -36,7 +36,7 @@ gpio-leds {
health {
label = "pogo_e02:green:health";
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
- default-state = "keep";
+ default-state = "default-on";
};
fault {
label = "pogo_e02:orange:fault";
--
2.26.1

View file

@ -1,70 +0,0 @@
From 666ffd0147c2c4cd4c96a4d3629a19cea077ac17 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 16:38:04 -0700
Subject: [PATCH 7/9] Fix mvsdio SD card detection
Helps SD card detection on PPv4.
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
drivers/mmc/core/core.c | 2 +-
drivers/mmc/core/sd.c | 9 +++++++++
drivers/mmc/host/mvsdio.c | 2 ++
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 8d2b808e9b58..1afe0301bf4c 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -695,7 +695,7 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
*/
limit_us = 3000000;
else
- limit_us = 100000;
+ limit_us = 200000;
/*
* SDHC cards always use these fixed values.
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 5a2210c25aa7..50ef9a2c6ee5 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -376,6 +376,15 @@ int mmc_sd_switch_hs(struct mmc_card *card)
if (!status)
return -ENOMEM;
+ /*
+ * Some SDHC cards, notably those with a Sandisk SD controller
+ * (also found in Kingston products) need a bit of slack
+ * before successfully handling the SWITCH command. So far,
+ * cards identifying themselves as "SD04G" and "SD08G" are
+ * affected
+ */
+ udelay(100);
+
err = mmc_sd_switch(card, 1, 0, HIGH_SPEED_BUS_SPEED, status);
if (err)
goto out;
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index cc0752a9df6d..9f64b11292f7 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -20,6 +20,7 @@
#include <linux/of_irq.h>
#include <linux/mmc/host.h>
#include <linux/mmc/slot-gpio.h>
+#include <linux/mmc/sd.h>
#include <linux/sizes.h>
#include <asm/unaligned.h>
@@ -147,6 +148,7 @@ static void mvsd_request(struct mmc_host *mmc, struct mmc_request *mrq)
dev_dbg(host->dev, "cmd %d (hw state 0x%04x)\n",
cmd->opcode, mvsd_read(MVSD_HW_STATE));
+ if (cmd->opcode == SD_SWITCH) mdelay(1); /* Voodoo */
cmdreg = MVSD_CMD_INDEX(cmd->opcode);
--
2.26.1

View file

@ -1,160 +0,0 @@
From f28ec7756515e162178f8a64a43963f348cfb09c Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 16:42:40 -0700
Subject: [PATCH 8/9] ARM: dts: kirkwood: Initial support for GoFlex Home
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/kirkwood-goflexhome.dts | 127 ++++++++++++++++++++++
2 files changed, 128 insertions(+)
create mode 100644 arch/arm/boot/dts/kirkwood-goflexhome.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 27d4bba889a6..0621a0d1456a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -277,6 +277,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-ds411.dtb \
kirkwood-ds411j.dtb \
kirkwood-ds411slim.dtb \
+ kirkwood-goflexhome.dtb \
kirkwood-goflexnet.dtb \
kirkwood-guruplug-server-plus.dtb \
kirkwood-ib62x0.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-goflexhome.dts b/arch/arm/boot/dts/kirkwood-goflexhome.dts
new file mode 100644
index 000000000000..554716fbf367
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-goflexhome.dts
@@ -0,0 +1,127 @@
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+ model = "Seagate GoFlex Home";
+ compatible = "seagate,goflexhome", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x8000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
+ stdout-path = &uart0;
+ };
+
+ ocp@f1000000 {
+ pinctrl: pin-controller@10000 {
+ pmx_usb_power_enable: pmx-usb-power-enable {
+ marvell,pins = "mpp29";
+ marvell,function = "gpio";
+ };
+ pmx_led_white: pmx-led_white {
+ marvell,pins = "mpp40";
+ marvell,function = "gpio";
+ };
+ pmx_led_green: pmx-led_green {
+ marvell,pins = "mpp46";
+ marvell,function = "gpio";
+ };
+ pmx_led_orange: pmx-led_orange {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+ };
+ serial@12000 {
+ status = "ok";
+ };
+
+ sata@80000 {
+ status = "okay";
+ nr-ports = <1>;
+ };
+
+ };
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = < &pmx_led_orange
+ &pmx_led_green
+ &pmx_led_white
+ >;
+ pinctrl-names = "default";
+
+ health {
+ label = "status:green:health";
+ gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ fault {
+ label = "status:orange:fault";
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+ misc {
+ label = "status:white:misc";
+ gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "sata-disk1";
+ };
+ };
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = <&pmx_usb_power_enable>;
+ pinctrl-names = "default";
+
+ usb_power: regulator@1 {
+ compatible = "regulator-fixed";
+ reg = <1>;
+ regulator-name = "USB Power";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ regulator-always-on;
+ regulator-boot-on;
+ gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&nand {
+ chip-delay = <40>;
+ status = "okay";
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0000000 0x100000>;
+ read-only;
+ };
+
+ partition@100000 {
+ label = "uImage";
+ reg = <0x0100000 0x0600000>;
+ };
+
+ partition@0600000 {
+ label = "root";
+ reg = <0x0600000 0xd800000>;
+ };
+};
+
+&mdio {
+ status = "okay";
+
+ ethphy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&eth0 {
+ status = "okay";
+ ethernet0-port@0 {
+ phy-handle = <&ethphy0>;
+ };
+};
--
2.26.1

View file

@ -1,32 +0,0 @@
From 790e077f51619bd4c1f92f5d2ac94c7d4531c055 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 16:45:51 -0700
Subject: [PATCH 9/9] Revert "vfs,mm: fix a dead loop in
truncate_inode_pages_range()"
This reverts commit c2a9737f45e27d8263ff9643f994bda9bac0b944.
This causes the kernel to not be able to read beyond 8TB on a single
device.
---
mm/filemap.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index f0ae9a6308cb..78b5484b2377 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2003,10 +2003,6 @@ ssize_t generic_file_buffered_read(struct kiocb *iocb,
unsigned int prev_offset;
int error = 0;
- if (unlikely(*ppos >= inode->i_sb->s_maxbytes))
- return 0;
- iov_iter_truncate(iter, inode->i_sb->s_maxbytes);
-
index = *ppos >> PAGE_SHIFT;
prev_index = ra->prev_pos >> PAGE_SHIFT;
prev_offset = ra->prev_pos & (PAGE_SIZE-1);
--
2.26.1

View file

@ -1,11 +0,0 @@
[Trigger]
Type = File
Operation = Install
Operation = Upgrade
Target = boot/zImage
Target = usr/lib/initcpio/*
[Action]
Description = Updating %PKGBASE% initcpios
When = PostTransaction
Exec = /usr/bin/mkinitcpio -p %PKGBASE%

View file

@ -1,230 +0,0 @@
# ARMv5 multi-platform
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
buildarch=2
_rcver=5.8
_rcrel=5
pkgbase=linux-armv5-rc
_srcname=linux-${_rcver}-rc${_rcrel}
_kernelname=${pkgbase#linux}
_desc="ARMv5 multi-platform (release candidate)"
pkgver=${_rcver}.rc${_rcrel}
pkgrel=2
arch=('arm')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git')
options=('!strip')
source=("https://git.kernel.org/torvalds/t/${_srcname}.tar.gz"
'0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
'0002-at91-ariag25-updates.patch'
'0003-at91-arietta-g25-support.patch'
'0004-leds-trigger-Introduce-a-SATA-trigger.patch'
'0005-ata-sata_mv-Add-SATA-activity-LED-trigger-support.patch'
'0006-ARM-dts-kirkwood-pogo_e02-Set-health-LED-to-default-.patch'
'0007-Fix-mvsdio-SD-card-detection.patch'
'0008-ARM-dts-kirkwood-Initial-support-for-GoFlex-Home.patch'
'0009-Revert-vfs-mm-fix-a-dead-loop-in-truncate_inode_page.patch'
'config'
'linux.preset'
'99-linux.hook')
md5sums=('4a686548dbb1e0d3b3e519f34f0307a5'
'aa78f2eb08697a37a008b5f7222cd841'
'f8809636914113c0f50550246622d717'
'fe75743ae785314a319e552fd8fa42d5'
'e53963a24ae2ba82bf1e8fdaca1262d5'
'cab73f27692ece2f03de67811be077c3'
'3102ad01986973040f4ea9954aeccc0c'
'732c978ddf76ae61b52f4c415fd16e60'
'041676e8e7c6805b7248ed89c3f6c79e'
'97b58cacccf86ab94f3ecfcce1202660'
'207b44f419f190507a367b0541984561'
'8cdd0d4cfd60b1af0adec5331de181c2'
'79fa396e3f9a09a85156d6d7c2d34b58')
prepare() {
cd "${srcdir}/${_srcname}"
# ALARM patches
git apply ../0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
git apply ../0002-at91-ariag25-updates.patch
git apply ../0003-at91-arietta-g25-support.patch
git apply ../0004-leds-trigger-Introduce-a-SATA-trigger.patch
git apply ../0005-ata-sata_mv-Add-SATA-activity-LED-trigger-support.patch
git apply ../0006-ARM-dts-kirkwood-pogo_e02-Set-health-LED-to-default-.patch
git apply ../0007-Fix-mvsdio-SD-card-detection.patch
git apply ../0008-ARM-dts-kirkwood-Initial-support-for-GoFlex-Home.patch
git apply ../0009-Revert-vfs-mm-fix-a-dead-loop-in-truncate_inode_page.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}" "WIREGUARD-MODULE")
conflicts=('linux')
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"
# install mkinitcpio preset file for kernel
install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
sed \
-e "1s|'linux.*'|'${pkgbase}'|" \
-e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|" \
-i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# install pacman hook for initramfs regeneration
sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/99-linux.hook" |
install -D -m644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/99-${pkgbase}.hook"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
# 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')
cd ${_srcname}
local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
install -Dt "${_builddir}" -m644 Makefile .config Module.symvers
install -Dt "${_builddir}/kernel" -m644 kernel/Makefile
mkdir "${_builddir}/.tmp_versions"
cp -t "${_builddir}" -a include scripts
install -Dt "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile
install -Dt "${_builddir}/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s arch/$KARCH/kernel/module.lds
cp -t "${_builddir}/arch/${KARCH}" -a arch/${KARCH}/include
mkdir -p "${_builddir}/arch/${KARCH}/plat-orion"
cp -t "${_builddir}/arch/${KARCH}/plat-orion" -a arch/$KARCH/plat-orion/include
install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
# http://bugs.archlinux.org/task/13146
install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# http://bugs.archlinux.org/task/20402
install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h
# add xfs and shmem for aufs building
mkdir -p "${_builddir}"/{fs/xfs,mm}
# copy in Kconfig files
find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;
# remove unneeded architectures
local _arch
for _arch in "${_builddir}"/arch/*/; do
[[ ${_arch} == */${KARCH}/ ]] && continue
rm -r "${_arch}"
done
# remove files already in linux-docs package
rm -r "${_builddir}/Documentation"
# remove now broken symlinks
find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete
# Fix permissions
chmod -R u=rwX,go=rX "${_builddir}"
# strip scripts directory
local _binary _strip
while read -rd '' _binary; do
case "$(file -bi "${_binary}")" in
*application/x-sharedlib*) _strip="${STRIP_SHARED}" ;; # Libraries (.so)
*application/x-archive*) _strip="${STRIP_STATIC}" ;; # Libraries (.a)
*application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries
*) continue ;;
esac
/usr/bin/strip ${_strip} "${_binary}"
done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null)
}
pkgname=("${pkgbase}" "${pkgbase}-headers")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
_package${_p#${pkgbase}}
}"
done

File diff suppressed because it is too large Load diff

View file

@ -1,14 +0,0 @@
KERNEL_NAME=-armv5-rc
KERNEL_VERSION=3.16.0-1-ARCH
post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
}
post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
}

View file

@ -1,10 +0,0 @@
# mkinitcpio preset file for the linux-armv5-rc package
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="4.10.0-1-ARCH"
PRESETS=('default')
#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux.img"
#default_options=""