brcm2708: update linux 4.4 patches to latest version
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0360-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch
1 From 55e8faa999c9bf3ae4a3fb75faf5e991167c42ba Mon Sep 17 00:00:00 2001
2 From: Michael Kaplan <m.kaplan@evva.com>
3 Date: Tue, 24 May 2016 10:19:08 +0200
4 Subject: [PATCH 360/381] Added Overlay for Microchip MCP23017 I2C gpio
5 expander
6
7 ---
8 arch/arm/boot/dts/overlays/README | 9 +++++
9 arch/arm/boot/dts/overlays/mcp23017-overlay.dts | 54 +++++++++++++++++++++++++
10 2 files changed, 63 insertions(+)
11 create mode 100644 arch/arm/boot/dts/overlays/mcp23017-overlay.dts
12
13 --- a/arch/arm/boot/dts/overlays/README
14 +++ b/arch/arm/boot/dts/overlays/README
15 @@ -567,6 +567,15 @@ Params: gpio_out_pin GPIO for
16 (default "off")
17
18
19 +Name: mcp23017
20 +Info: Configures the MCP23017 I2C port expander
21 +Load: dtoverlay=mcp23017,<param>=<val>
22 +Params: gpiopin Gpio pin connected to the INTA output of the
23 + MCP23017 (default: 4)
24 +
25 + addr I2C address of the MCP23017 (default: 0x20)
26 +
27 +
28 Name: mcp2515-can0
29 Info: Configures the MCP2515 CAN controller on spi0.0
30 Load: dtoverlay=mcp2515-can0,<param>=<val>
31 --- /dev/null
32 +++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts
33 @@ -0,0 +1,54 @@
34 +// Definitions for MCP23017 Gpio Extender from Microchip Semiconductor
35 +
36 +/dts-v1/;
37 +/plugin/;
38 +
39 +/ {
40 + compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
41 +
42 + fragment@0 {
43 + target = <&i2c1>;
44 + __overlay__ {
45 + status = "okay";
46 + };
47 + };
48 +
49 + fragment@1 {
50 + target = <&gpio>;
51 + __overlay__ {
52 + mcp23017_pins: mcp23017_pins {
53 + brcm,pins = <4>;
54 + brcm,function = <0>;
55 + };
56 + };
57 + };
58 +
59 + fragment@2 {
60 + target = <&i2c1>;
61 + __overlay__ {
62 + #address-cells = <1>;
63 + #size-cells = <0>;
64 +
65 + mcp23017: mcp@20 {
66 + compatible = "microchip,mcp23017";
67 + reg = <0x20>;
68 + gpio-controller;
69 + #gpio-cells = <2>;
70 + #interrupt-cells=<2>;
71 + interrupt-parent = <&gpio>;
72 + interrupts = <4 2>;
73 + interrupt-controller;
74 + microchip,irq-mirror;
75 +
76 + status = "okay";
77 + };
78 + };
79 + };
80 +
81 + __overrides__ {
82 + gpiopin = <&mcp23017_pins>,"brcm,pins:0",
83 + <&mcp23017>,"interrupts:0";
84 + addr = <&mcp23017>,"reg:0";
85 + };
86 +};
87 +