Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / mcp23017-overlay.dts
1 // Definitions for MCP23017 Gpio Extender from Microchip Semiconductor
2
3 /dts-v1/;
4 /plugin/;
5
6 / {
7         compatible = "brcm,bcm2835";
8
9         fragment@0 {
10                 target = <&i2c1>;
11                 __overlay__ {
12                         status = "okay";
13                 };
14         };
15
16         fragment@1 {
17                 target = <&gpio>;
18                 __overlay__ {
19                         mcp23017_pins: mcp23017_pins@20 {
20                                 brcm,pins = <4>;
21                                 brcm,function = <0>;
22                         };
23                 };
24         };
25
26         fragment@2 {
27                 target = <&i2c1>;
28                 __overlay__ {
29                         #address-cells = <1>;
30                         #size-cells = <0>;
31
32                         mcp23017: mcp@20 {
33                                 compatible = "microchip,mcp23017";
34                                 reg = <0x20>;
35                                 gpio-controller;
36                                 #gpio-cells = <2>;
37
38                                 status = "okay";
39                         };
40                 };
41         };
42
43         fragment@3 {
44                 target = <&mcp23017>;
45                 __dormant__ {
46                         compatible = "microchip,mcp23008";
47                 };
48         };
49
50         fragment@4 {
51                 target = <&mcp23017>;
52                 mcp23017_irq: __overlay__ {
53                         #interrupt-cells=<2>;
54                         interrupt-parent = <&gpio>;
55                         interrupts = <4 2>;
56                         interrupt-controller;
57                         microchip,irq-mirror;
58                 };
59         };
60
61         __overrides__ {
62                 gpiopin = <&mcp23017_pins>,"brcm,pins:0",
63                                 <&mcp23017_irq>,"interrupts:0";
64                 addr = <&mcp23017>,"reg:0", <&mcp23017_pins>,"reg:0";
65                 mcp23008 = <0>,"=3";
66                 noints = <0>,"!1!4";
67         };
68 };
69