summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch')
-rw-r--r--target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch143
1 files changed, 0 insertions, 143 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch b/target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch
deleted file mode 100644
index 9a0b2dcdb1..0000000000
--- a/target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From bfd9d92f219cb1dc8899d0f82d6ad2f966e2ef61 Mon Sep 17 00:00:00 2001
-From: Michael Heimpold <mhei@heimpold.de>
-Date: Thu, 28 Apr 2016 22:06:15 +0200
-Subject: [PATCH] net: ethernet: enc28j60: add device tree support
-
-(Upstream commit 2dd355a007e44960ec049c75920ddb6778fec9ee)
-
-The following patch adds the required match table for device tree support
-(and while at, fix the indent). It's also possible to specify the
-MAC address in the DT blob.
-
-Also add the corresponding binding documentation file.
-
-Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- .../devicetree/bindings/net/microchip,enc28j60.txt | 59 ++++++++++++++++++++++
- drivers/net/ethernet/microchip/enc28j60.c | 21 +++++---
- 2 files changed, 73 insertions(+), 7 deletions(-)
- create mode 100644 Documentation/devicetree/bindings/net/microchip,enc28j60.txt
-
---- /dev/null
-+++ b/Documentation/devicetree/bindings/net/microchip,enc28j60.txt
-@@ -0,0 +1,59 @@
-+* Microchip ENC28J60
-+
-+This is a standalone 10 MBit ethernet controller with SPI interface.
-+
-+For each device connected to a SPI bus, define a child node within
-+the SPI master node.
-+
-+Required properties:
-+- compatible: Should be "microchip,enc28j60"
-+- reg: Specify the SPI chip select the ENC28J60 is wired to
-+- interrupt-parent: Specify the phandle of the source interrupt, see interrupt
-+ binding documentation for details. Usually this is the GPIO bank
-+ the interrupt line is wired to.
-+- interrupts: Specify the interrupt index within the interrupt controller (referred
-+ to above in interrupt-parent) and interrupt type. The ENC28J60 natively
-+ generates falling edge interrupts, however, additional board logic
-+ might invert the signal.
-+- pinctrl-names: List of assigned state names, see pinctrl binding documentation.
-+- pinctrl-0: List of phandles to configure the GPIO pin used as interrupt line,
-+ see also generic and your platform specific pinctrl binding
-+ documentation.
-+
-+Optional properties:
-+- spi-max-frequency: Maximum frequency of the SPI bus when accessing the ENC28J60.
-+ According to the ENC28J80 datasheet, the chip allows a maximum of 20 MHz, however,
-+ board designs may need to limit this value.
-+- local-mac-address: See ethernet.txt in the same directory.
-+
-+
-+Example (for NXP i.MX28 with pin control stuff for GPIO irq):
-+
-+ ssp2: ssp@80014000 {
-+ compatible = "fsl,imx28-spi";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&spi2_pins_b &spi2_sck_cfg>;
-+ status = "okay";
-+
-+ enc28j60: ethernet@0 {
-+ compatible = "microchip,enc28j60";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&enc28j60_pins>;
-+ reg = <0>;
-+ interrupt-parent = <&gpio3>;
-+ interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
-+ spi-max-frequency = <12000000>;
-+ };
-+ };
-+
-+ pinctrl@80018000 {
-+ enc28j60_pins: enc28j60_pins@0 {
-+ reg = <0>;
-+ fsl,pinmux-ids = <
-+ MX28_PAD_AUART0_RTS__GPIO_3_3 /* Interrupt */
-+ >;
-+ fsl,drive-strength = <MXS_DRIVE_4mA>;
-+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
-+ fsl,pull-up = <MXS_PULL_DISABLE>;
-+ };
-+ };
---- a/drivers/net/ethernet/microchip/enc28j60.c
-+++ b/drivers/net/ethernet/microchip/enc28j60.c
-@@ -28,11 +28,12 @@
- #include <linux/skbuff.h>
- #include <linux/delay.h>
- #include <linux/spi/spi.h>
-+#include <linux/of_net.h>
-
- #include "enc28j60_hw.h"
-
- #define DRV_NAME "enc28j60"
--#define DRV_VERSION "1.01"
-+#define DRV_VERSION "1.02"
-
- #define SPI_OPLEN 1
-
-@@ -1544,6 +1545,7 @@ static int enc28j60_probe(struct spi_dev
- {
- struct net_device *dev;
- struct enc28j60_net *priv;
-+ const void *macaddr;
- int ret = 0;
-
- if (netif_msg_drv(&debug))
-@@ -1575,7 +1577,12 @@ static int enc28j60_probe(struct spi_dev
- ret = -EIO;
- goto error_irq;
- }
-- eth_hw_addr_random(dev);
-+
-+ macaddr = of_get_mac_address(spi->dev.of_node);
-+ if (macaddr)
-+ ether_addr_copy(dev->dev_addr, macaddr);
-+ else
-+ eth_hw_addr_random(dev);
- enc28j60_set_hw_macaddr(dev);
-
- /* Board setup must set the relevant edge trigger type;
-@@ -1630,16 +1637,16 @@ static int enc28j60_remove(struct spi_de
- return 0;
- }
-
--static const struct of_device_id enc28j60_of_match[] = {
-- { .compatible = "microchip,enc28j60", },
-+static const struct of_device_id enc28j60_dt_ids[] = {
-+ { .compatible = "microchip,enc28j60" },
- { /* sentinel */ }
- };
--MODULE_DEVICE_TABLE(of, enc28j60_of_match);
-+MODULE_DEVICE_TABLE(of, enc28j60_dt_ids);
-
- static struct spi_driver enc28j60_driver = {
- .driver = {
-- .name = DRV_NAME,
-- .of_match_table = enc28j60_of_match,
-+ .name = DRV_NAME,
-+ .of_match_table = enc28j60_dt_ids,
- },
- .probe = enc28j60_probe,
- .remove = enc28j60_remove,