1 // redo: ovmerge -c spi1-1cs-overlay.dts,cs0_pin=26,cs0_spidev=false mcp251xfd-overlay.dts,spi0-0,interrupt=25 mcp251xfd-overlay.dts,spi1-0,interrupt=16
3 // Device tree overlay for https://www.waveshare.com/2-ch-can-fd-hat.htm
4 // in "Mode A" (default) configuration
5 // for details see https://www.waveshare.com/wiki/2-CH_CAN_FD_HAT
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/pinctrl/bcm2835.h>
15 compatible = "brcm,bcm2835";
19 spi1_pins: spi1_pins {
20 brcm,pins = <19 20 21>;
23 spi1_cs_pins: spi1_cs_pins {
34 pinctrl-names = "default";
35 pinctrl-0 = <&spi1_pins &spi1_cs_pins>;
36 cs-gpios = <&gpio 26 1>;
39 compatible = "spidev";
43 spi-max-frequency = <125000000>;
63 mcp251xfd_pins: mcp251xfd_spi0_0_pins {
65 brcm,function = <BCM2835_FSEL_GPIO_IN>;
70 target-path = "/clocks";
72 clk_mcp251xfd_osc: mcp251xfd-spi0-0-osc {
74 compatible = "fixed-clock";
75 clock-frequency = <40000000>;
86 compatible = "microchip,mcp251xfd";
88 pinctrl-names = "default";
89 pinctrl-0 = <&mcp251xfd_pins>;
90 spi-max-frequency = <20000000>;
91 interrupt-parent = <&gpio>;
92 interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
93 clocks = <&clk_mcp251xfd_osc>;
98 target-path = "spi1/spidev@0";
106 mcp251xfd_pins_1: mcp251xfd_spi1_0_pins {
108 brcm,function = <BCM2835_FSEL_GPIO_IN>;
113 target-path = "/clocks";
115 clk_mcp251xfd_osc_1: mcp251xfd-spi1-0-osc {
117 compatible = "fixed-clock";
118 clock-frequency = <40000000>;
126 #address-cells = <1>;
129 compatible = "microchip,mcp251xfd";
131 pinctrl-names = "default";
132 pinctrl-0 = <&mcp251xfd_pins_1>;
133 spi-max-frequency = <20000000>;
134 interrupt-parent = <&gpio>;
135 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
136 clocks = <&clk_mcp251xfd_osc_1>;