Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / mcp2515-can0-overlay.dts
1 /*
2  * Device tree overlay for mcp251x/can0 on spi0.0
3  */
4
5 /dts-v1/;
6 /plugin/;
7
8 / {
9     compatible = "brcm,bcm2835";
10     /* disable spi-dev for spi0.0 */
11     fragment@0 {
12         target = <&spi0>;
13         __overlay__ {
14             status = "okay";
15         };
16     };
17
18     fragment@1 {
19         target = <&spidev0>;
20         __overlay__ {
21             status = "disabled";
22         };
23     };
24
25     /* the interrupt pin of the can-controller */
26     fragment@2 {
27         target = <&gpio>;
28         __overlay__ {
29             can0_pins: can0_pins {
30                 brcm,pins = <25>;
31                 brcm,function = <0>; /* input */
32             };
33         };
34     };
35
36     /* the clock/oscillator of the can-controller */
37     fragment@3 {
38         target-path = "/";
39         __overlay__ {
40             /* external oscillator of mcp2515 on SPI0.0 */
41             can0_osc: can0_osc {
42                 compatible = "fixed-clock";
43                 #clock-cells = <0>;
44                 clock-frequency  = <16000000>;
45             };
46         };
47     };
48
49     /* the spi config of the can-controller itself binding everything together */
50     fragment@4 {
51         target = <&spi0>;
52         __overlay__ {
53             /* needed to avoid dtc warning */
54             #address-cells = <1>;
55             #size-cells = <0>;
56             can0: mcp2515@0 {
57                 reg = <0>;
58                 compatible = "microchip,mcp2515";
59                 pinctrl-names = "default";
60                 pinctrl-0 = <&can0_pins>;
61                 spi-max-frequency = <10000000>;
62                 interrupt-parent = <&gpio>;
63                 interrupts = <25 8>; /* IRQ_TYPE_LEVEL_LOW */
64                 clocks = <&can0_osc>;
65             };
66         };
67     };
68     __overrides__ {
69         oscillator = <&can0_osc>,"clock-frequency:0";
70         spimaxfrequency = <&can0>,"spi-max-frequency:0";
71         interrupt = <&can0_pins>,"brcm,pins:0",<&can0>,"interrupts:0";
72     };
73 };