aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/gemini/patches-5.4
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/gemini/patches-5.4')
-rw-r--r--target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch131
-rw-r--r--target/linux/gemini/patches-5.4/0002-ARM-dts-Augment-DIR-685-partition-table-for-OpenWrt.patch37
-rw-r--r--target/linux/gemini/patches-5.4/0003-ARM-dts-gemini-Rename-IDE-nodes.patch117
-rw-r--r--target/linux/gemini/patches-5.4/0004-ARM-dts-gemini-Add-thermal-zone-to-DIR-685.patch101
4 files changed, 0 insertions, 386 deletions
diff --git a/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch b/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch
deleted file mode 100644
index df68adc66b..0000000000
--- a/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 3aaff88a0f5e154aa5a489d59fd4015a2a937c23 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Fri, 21 Apr 2017 22:19:00 +0200
-Subject: [PATCH 1/7] usb: host: fotg2: add Gemini-specific handling
-
-The Cortina Systems Gemini has bolted on a PHY inside the
-silicon that can be handled by six bits in a MISC register in
-the system controller.
-
-If we are running on Gemini, look up a syscon regmap through
-a phandle and enable VBUS and optionally the Mini-B connector.
-
-If the device is flagged as "wakeup-source" using the standard
-DT bindings, we also enable this in the global controller for
-respective port.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- drivers/usb/host/Kconfig | 1 +
- drivers/usb/host/fotg210-hcd.c | 76 ++++++++++++++++++++++++++++++++++
- 2 files changed, 77 insertions(+)
-
---- a/drivers/usb/host/Kconfig
-+++ b/drivers/usb/host/Kconfig
-@@ -363,6 +363,7 @@ config USB_ISP1362_HCD
- config USB_FOTG210_HCD
- tristate "FOTG210 HCD support"
- depends on USB && HAS_DMA && HAS_IOMEM
-+ select MFD_SYSCON
- ---help---
- Faraday FOTG210 is an OTG controller which can be configured as
- an USB2.0 host. It is designed to meet USB2.0 EHCI specification
---- a/drivers/usb/host/fotg210-hcd.c
-+++ b/drivers/usb/host/fotg210-hcd.c
-@@ -33,6 +33,10 @@
- #include <linux/platform_device.h>
- #include <linux/io.h>
- #include <linux/clk.h>
-+#include <linux/bitops.h>
-+/* For Cortina Gemini */
-+#include <linux/mfd/syscon.h>
-+#include <linux/regmap.h>
-
- #include <asm/byteorder.h>
- #include <asm/irq.h>
-@@ -5555,6 +5559,72 @@ static void fotg210_init(struct fotg210_
- iowrite32(value, &fotg210->regs->otgcsr);
- }
-
-+/*
-+ * Gemini-specific initialization function, only executed on the
-+ * Gemini SoC using the global misc control register.
-+ */
-+#define GEMINI_GLOBAL_MISC_CTRL 0x30
-+#define GEMINI_MISC_USB0_WAKEUP BIT(14)
-+#define GEMINI_MISC_USB1_WAKEUP BIT(15)
-+#define GEMINI_MISC_USB0_VBUS_ON BIT(22)
-+#define GEMINI_MISC_USB1_VBUS_ON BIT(23)
-+#define GEMINI_MISC_USB0_MINI_B BIT(29)
-+#define GEMINI_MISC_USB1_MINI_B BIT(30)
-+
-+static int fotg210_gemini_init(struct device *dev, struct usb_hcd *hcd)
-+{
-+ struct device_node *np = dev->of_node;
-+ struct regmap *map;
-+ bool mini_b;
-+ bool wakeup;
-+ u32 mask, val;
-+ int ret;
-+
-+ map = syscon_regmap_lookup_by_phandle(np, "syscon");
-+ if (IS_ERR(map)) {
-+ dev_err(dev, "no syscon\n");
-+ return PTR_ERR(map);
-+ }
-+ mini_b = of_property_read_bool(np, "cortina,gemini-mini-b");
-+ wakeup = of_property_read_bool(np, "wakeup-source");
-+
-+ /*
-+ * Figure out if this is USB0 or USB1 by simply checking the
-+ * physical base address.
-+ */
-+ mask = 0;
-+ if (hcd->rsrc_start == 0x69000000) {
-+ val = GEMINI_MISC_USB1_VBUS_ON;
-+ if (mini_b)
-+ val |= GEMINI_MISC_USB1_MINI_B;
-+ else
-+ mask |= GEMINI_MISC_USB1_MINI_B;
-+ if (wakeup)
-+ val |= GEMINI_MISC_USB1_WAKEUP;
-+ else
-+ mask |= GEMINI_MISC_USB1_WAKEUP;
-+ } else {
-+ val = GEMINI_MISC_USB0_VBUS_ON;
-+ if (mini_b)
-+ val |= GEMINI_MISC_USB0_MINI_B;
-+ else
-+ mask |= GEMINI_MISC_USB0_MINI_B;
-+ if (wakeup)
-+ val |= GEMINI_MISC_USB0_WAKEUP;
-+ else
-+ mask |= GEMINI_MISC_USB0_WAKEUP;
-+ }
-+
-+ ret = regmap_update_bits(map, GEMINI_GLOBAL_MISC_CTRL, mask, val);
-+ if (ret) {
-+ dev_err(dev, "failed to initialize Gemini PHY\n");
-+ return ret;
-+ }
-+
-+ dev_info(dev, "initialized Gemini PHY\n");
-+ return 0;
-+}
-+
- /**
- * fotg210_hcd_probe - initialize faraday FOTG210 HCDs
- *
-@@ -5632,6 +5702,12 @@ static int fotg210_hcd_probe(struct plat
-
- fotg210_init(fotg210);
-
-+ if (of_device_is_compatible(dev->of_node, "cortina,gemini-usb")) {
-+ retval = fotg210_gemini_init(dev, hcd);
-+ if (retval)
-+ goto failed_dis_clk;
-+ }
-+
- retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
- if (retval) {
- dev_err(dev, "failed to add hcd with err %d\n", retval);
diff --git a/target/linux/gemini/patches-5.4/0002-ARM-dts-Augment-DIR-685-partition-table-for-OpenWrt.patch b/target/linux/gemini/patches-5.4/0002-ARM-dts-Augment-DIR-685-partition-table-for-OpenWrt.patch
deleted file mode 100644
index 39dfd3d535..0000000000
--- a/target/linux/gemini/patches-5.4/0002-ARM-dts-Augment-DIR-685-partition-table-for-OpenWrt.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a2de8560885469f3d76c80207a669029e4fc8a45 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Mon, 11 Mar 2019 15:44:29 +0100
-Subject: [PATCH 2/7] ARM: dts: Augment DIR-685 partition table for OpenWrt
-
-Rename the firmware partition so that the firmware MTD
-splitter will do its job, drop the rootfs arguments as
-the MTD splitter will set this up automatically.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/gemini-dlink-dir-685.dts | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-@@ -20,7 +20,7 @@
- };
-
- chosen {
-- bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait consoleblank=300";
-+ bootargs = "console=ttyS0,19200n8 consoleblank=300";
- stdout-path = "uart0:19200n8";
- };
-
-@@ -285,9 +285,9 @@
- * this is called "upgrade" on the vendor system.
- */
- partition@40000 {
-- label = "upgrade";
-+ compatible = "wrg";
-+ label = "firmware";
- reg = <0x00040000 0x01f40000>;
-- read-only;
- };
- /* RGDB, Residental Gateway Database? */
- partition@1f80000 {
diff --git a/target/linux/gemini/patches-5.4/0003-ARM-dts-gemini-Rename-IDE-nodes.patch b/target/linux/gemini/patches-5.4/0003-ARM-dts-gemini-Rename-IDE-nodes.patch
deleted file mode 100644
index cf4a74f86a..0000000000
--- a/target/linux/gemini/patches-5.4/0003-ARM-dts-gemini-Rename-IDE-nodes.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 9b95b301b219df19c20f4a563f1da6338b09b0d0 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Tue, 31 Dec 2019 18:14:28 +0100
-Subject: [PATCH 3/7] ARM: dts: gemini: Rename IDE nodes
-
-By renaming the ATA drive nodes to "ide@" we activate the
-semantic checks to the DT schema for the controller and use
-the correct notation for PATA drives.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/gemini-dlink-dir-685.dts | 2 +-
- arch/arm/boot/dts/gemini-dlink-dns-313.dts | 2 +-
- arch/arm/boot/dts/gemini-nas4220b.dts | 4 ++--
- arch/arm/boot/dts/gemini-sl93512r.dts | 4 ++--
- arch/arm/boot/dts/gemini-sq201.dts | 2 +-
- arch/arm/boot/dts/gemini.dtsi | 8 ++++++--
- 6 files changed, 13 insertions(+), 9 deletions(-)
-
---- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-@@ -443,7 +443,7 @@
- };
- };
-
-- ata@63000000 {
-+ ide@63000000 {
- status = "okay";
- };
-
---- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
-+++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
-@@ -297,7 +297,7 @@
- };
- };
-
-- ata@63000000 {
-+ ide@63000000 {
- status = "okay";
- };
- };
---- a/arch/arm/boot/dts/gemini-nas4220b.dts
-+++ b/arch/arm/boot/dts/gemini-nas4220b.dts
-@@ -170,11 +170,11 @@
- };
- };
-
-- ata@63000000 {
-+ ide@63000000 {
- status = "okay";
- };
-
-- ata@63400000 {
-+ ide@63400000 {
- status = "okay";
- };
-
---- a/arch/arm/boot/dts/gemini-sl93512r.dts
-+++ b/arch/arm/boot/dts/gemini-sl93512r.dts
-@@ -293,11 +293,11 @@
- };
- };
-
-- ata@63000000 {
-+ ide@63000000 {
- status = "okay";
- };
-
-- ata@63400000 {
-+ ide@63400000 {
- status = "okay";
- };
-
---- a/arch/arm/boot/dts/gemini-sq201.dts
-+++ b/arch/arm/boot/dts/gemini-sq201.dts
-@@ -289,7 +289,7 @@
- };
- };
-
-- ata@63000000 {
-+ ide@63000000 {
- status = "okay";
- };
-
---- a/arch/arm/boot/dts/gemini.dtsi
-+++ b/arch/arm/boot/dts/gemini.dtsi
-@@ -357,7 +357,7 @@
- };
- };
-
-- ata@63000000 {
-+ ide@63000000 {
- compatible = "cortina,gemini-pata", "faraday,ftide010";
- reg = <0x63000000 0x1000>;
- interrupts = <4 IRQ_TYPE_EDGE_RISING>;
-@@ -366,9 +366,11 @@
- clock-names = "PCLK";
- sata = <&sata>;
- status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
- };
-
-- ata@63400000 {
-+ ide@63400000 {
- compatible = "cortina,gemini-pata", "faraday,ftide010";
- reg = <0x63400000 0x1000>;
- interrupts = <5 IRQ_TYPE_EDGE_RISING>;
-@@ -377,6 +379,8 @@
- clock-names = "PCLK";
- sata = <&sata>;
- status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
- };
-
- dma-controller@67000000 {
diff --git a/target/linux/gemini/patches-5.4/0004-ARM-dts-gemini-Add-thermal-zone-to-DIR-685.patch b/target/linux/gemini/patches-5.4/0004-ARM-dts-gemini-Add-thermal-zone-to-DIR-685.patch
deleted file mode 100644
index 5949b92be1..0000000000
--- a/target/linux/gemini/patches-5.4/0004-ARM-dts-gemini-Add-thermal-zone-to-DIR-685.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 2b2e9d0e1ee4765b21c648235489028c6dc7e336 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Tue, 31 Dec 2019 18:18:08 +0100
-Subject: [PATCH 4/7] ARM: dts: gemini: Add thermal zone to DIR-685
-
-The DIR-685 can now exploit the thermal zone added by the
-drive temperature sensor inside the hard drive. We have
-patched the libata subsystem to assign the device nodes
-properly to the SCSI devices and this is what the drivetemp
-driver will use to populate the sensor and the thermal
-zone, so pick that up into the thermal zone and let this
-control the fan.
-
-The hardware lacks an embedded temperature sensor so the
-D-Link vendor firmware uses this method to control the
-temperature of the NAS enclosure using the thermal sensor
-inside the hard drive.
-
-The drive temperature trigger points to be used comes from
-the vendor firmware.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/gemini-dlink-dir-685.dts | 48 ++++++++++++++++++++--
- 1 file changed, 45 insertions(+), 3 deletions(-)
-
---- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-@@ -119,13 +119,11 @@
-
- /*
- * This is a Sunon Maglev GM0502PFV2-8 cooling fan @10000 RPM.
-- * Since the platform has no temperature sensor, this is controlled
-- * from userspace by using the hard disks S.M.A.R.T. temperature
- * sensor. It is turned on when the temperature exceeds 46 degrees
- * and turned off when the temperatures goes below 41 degrees
- * (celsius).
- */
-- gpio-fan {
-+ fan0: gpio-fan {
- compatible = "gpio-fan";
- /* Collides with IDE */
- gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
-@@ -133,6 +131,40 @@
- #cooling-cells = <2>;
- };
-
-+ thermal-zones {
-+ chassis-thermal {
-+ /* Poll every 20 seconds */
-+ polling-delay = <20000>;
-+ /* Poll every 2nd second when cooling */
-+ polling-delay-passive = <2000>;
-+ /* Use the thermal sensor in the hard drive */
-+ thermal-sensors = <&drive0>;
-+
-+ /* Tripping points from the fan.script in the rootfs */
-+ trips {
-+ alert: chassis-alert {
-+ /* At 43 degrees turn on the fan */
-+ temperature = <43000>;
-+ hysteresis = <3000>;
-+ type = "active";
-+ };
-+ crit: chassis-crit {
-+ /* Just shut down at 60 degrees */
-+ temperature = <60000>;
-+ hysteresis = <2000>;
-+ type = "critical";
-+ };
-+ };
-+
-+ cooling-maps {
-+ map0 {
-+ trip = <&alert>;
-+ cooling-device = <&fan0 1 1>;
-+ };
-+ };
-+ };
-+ };
-+
- /*
- * The touchpad input is connected to a GPIO bit-banged
- * I2C bus.
-@@ -445,6 +477,16 @@
-
- ide@63000000 {
- status = "okay";
-+
-+ /*
-+ * This drive may have a temperature sensor with a
-+ * thermal zone we can use for thermal control of the
-+ * chassis temperature using the fan.
-+ */
-+ drive0: ide-port@0 {
-+ reg = <0>;
-+ #thermal-sensor-cells = <0>;
-+ };
- };
-
- display-controller@6a000000 {