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