8aea6e4ea2b53d5b732b3b5adc31b46ad2e5fe4c
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0556-BCM270X_DT-Add-overlay-for-enc28j60-on-SPI2.patch
1 From ea006f68522d82b294094fd29585b16290758d29 Mon Sep 17 00:00:00 2001
2 From: Alan Yiding Wang <y2366wan@uwaterloo.ca>
3 Date: Sat, 3 Dec 2016 23:22:02 -0500
4 Subject: [PATCH] BCM270X_DT: Add overlay for enc28j60 on SPI2
5
6 Works on SPI2 for compute module
7 ---
8 arch/arm/boot/dts/overlays/Makefile | 1 +
9 arch/arm/boot/dts/overlays/README | 10 ++++-
10 .../boot/dts/overlays/enc28j60-spi2-overlay.dts | 47 ++++++++++++++++++++++
11 3 files changed, 57 insertions(+), 1 deletion(-)
12 create mode 100644 arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts
13
14 diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
15 index 57d60a4..c4186aa 100644
16 --- a/arch/arm/boot/dts/overlays/Makefile
17 +++ b/arch/arm/boot/dts/overlays/Makefile
18 @@ -28,6 +28,7 @@ dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo
19 dtbo-$(RPI_DT_OVERLAYS) += dwc-otg.dtbo
20 dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo
21 dtbo-$(RPI_DT_OVERLAYS) += enc28j60.dtbo
22 +dtbo-$(RPI_DT_OVERLAYS) += enc28j60-spi2.dtbo
23 dtbo-$(RPI_DT_OVERLAYS) += gpio-ir.dtbo
24 dtbo-$(RPI_DT_OVERLAYS) += gpio-poweroff.dtbo
25 dtbo-$(RPI_DT_OVERLAYS) += hifiberry-amp.dtbo
26 diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
27 index 35c0cec1..4a77ee6 100644
28 --- a/arch/arm/boot/dts/overlays/README
29 +++ b/arch/arm/boot/dts/overlays/README
30 @@ -344,13 +344,21 @@ Params: dr_mode Dual role mode: "host", "peripheral" or "otg"
31
32
33 Name: enc28j60
34 -Info: Overlay for the Microchip ENC28J60 Ethernet Controller (SPI)
35 +Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI0
36 Load: dtoverlay=enc28j60,<param>=<val>
37 Params: int_pin GPIO used for INT (default 25)
38
39 speed SPI bus speed (default 12000000)
40
41
42 +Name: enc28j60-spi2
43 +Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI2
44 +Load: dtoverlay=enc28j60-spi2,<param>=<val>
45 +Params: int_pin GPIO used for INT (default 39)
46 +
47 + speed SPI bus speed (default 12000000)
48 +
49 +
50 Name: gpio-ir
51 Info: Use GPIO pin as rc-core style infrared receiver input. The rc-core-
52 based gpio_ir_recv driver maps received keys directly to a
53 diff --git a/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts b/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts
54 new file mode 100644
55 index 0000000..946c9d2
56 --- /dev/null
57 +++ b/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts
58 @@ -0,0 +1,47 @@
59 +// Overlay for the Microchip ENC28J60 Ethernet Controller - SPI2 Compute Module
60 +// Interrupt pin: 39
61 +/dts-v1/;
62 +/plugin/;
63 +
64 +/ {
65 + compatible = "brcm,bcm2708";
66 +
67 + fragment@0 {
68 + target = <&spi2>;
69 + __overlay__ {
70 + /* needed to avoid dtc warning */
71 + #address-cells = <1>;
72 + #size-cells = <0>;
73 +
74 + status = "okay";
75 +
76 + eth1: enc28j60@0{
77 + compatible = "microchip,enc28j60";
78 + reg = <0>; /* CE0 */
79 + pinctrl-names = "default";
80 + pinctrl-0 = <&eth1_pins>;
81 + interrupt-parent = <&gpio>;
82 + interrupts = <39 0x2>; /* falling edge */
83 + spi-max-frequency = <12000000>;
84 + status = "okay";
85 + };
86 + };
87 + };
88 +
89 + fragment@1 {
90 + target = <&gpio>;
91 + __overlay__ {
92 + eth1_pins: eth1_pins {
93 + brcm,pins = <39>;
94 + brcm,function = <0>; /* in */
95 + brcm,pull = <0>; /* none */
96 + };
97 + };
98 + };
99 +
100 + __overrides__ {
101 + int_pin = <&eth1>, "interrupts:0",
102 + <&eth1_pins>, "brcm,pins:0";
103 + speed = <&eth1>, "spi-max-frequency:0";
104 + };
105 +};
106 --
107 2.1.4
108