1 From 5c8148df6f5147fcaa9fe81425b58a3e7a64cdba Mon Sep 17 00:00:00 2001
2 From: petit-miner <cooker5000@gmail.com>
3 Date: Fri, 10 Jul 2015 13:59:18 +0200
4 Subject: [PATCH 108/121] Added support for 2 mcp2515 CAN Bus IC
6 See: https://github.com/raspberrypi/linux/issues/1018
7 https://github.com/raspberrypi/linux/pull/1049
8 https://github.com/raspberrypi/linux/pull/1052
10 arch/arm/boot/dts/overlays/Makefile | 1 +
11 arch/arm/boot/dts/overlays/README | 12 +++-
12 .../arm/boot/dts/overlays/mcp2515-can1-overlay.dts | 69 ++++++++++++++++++++++
13 3 files changed, 81 insertions(+), 1 deletion(-)
14 create mode 100644 arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts
16 --- a/arch/arm/boot/dts/overlays/Makefile
17 +++ b/arch/arm/boot/dts/overlays/Makefile
18 @@ -29,6 +29,7 @@ dtb-$(RPI_DT_OVERLAYS) += iqaudio-dac-ov
19 dtb-$(RPI_DT_OVERLAYS) += iqaudio-dacplus-overlay.dtb
20 dtb-$(RPI_DT_OVERLAYS) += lirc-rpi-overlay.dtb
21 dtb-$(RPI_DT_OVERLAYS) += mcp2515-can0-overlay.dtb
22 +dtb-$(RPI_DT_OVERLAYS) += mcp2515-can1-overlay.dtb
23 dtb-$(RPI_DT_OVERLAYS) += mmc-overlay.dtb
24 dtb-$(RPI_DT_OVERLAYS) += mz61581-overlay.dtb
25 dtb-$(RPI_DT_OVERLAYS) += piscreen-overlay.dtb
26 --- a/arch/arm/boot/dts/overlays/README
27 +++ b/arch/arm/boot/dts/overlays/README
28 @@ -328,11 +328,21 @@ Params: gpio_out_pin GPIO fo
32 -Info: Configures the MCP2515 CAN controller
33 +Info: Configures the MCP2515 CAN controller on spi0.0
34 Load: dtoverlay=mcp2515-can0,<param>=<val>
35 Params: oscillator Clock frequency for the CAN controller (Hz)
37 spimaxfrequency Maximum SPI frequence (Hz)
39 + interrupt GPIO for interrupt signal
43 +Info: Configures the MCP2515 CAN controller on spi0.1
44 +Load: dtoverlay=mcp2515-can1,<param>=<val>
45 +Params: oscillator Clock frequency for the CAN controller (Hz)
47 + spimaxfrequency Maximum SPI frequence (Hz)
49 interrupt GPIO for interrupt signal
52 +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts
55 + * Device tree overlay for mcp251x/can1 on spi0.1 edited by petit_miner
62 + compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", "brcm,bcm2709";
63 + /* disable spi-dev for spi0.1 */
69 + status = "disabled";
74 + /* the interrupt pin of the can-controller */
78 + can1_pins: can1_pins {
80 + brcm,function = <0>; /* input */
85 + /* the clock/oscillator of the can-controller */
87 + target-path = "/clocks";
89 + /* external oscillator of mcp2515 on spi0.1 */
90 + can1_osc: can1_osc {
91 + compatible = "fixed-clock";
93 + clock-frequency = <16000000>;
98 + /* the spi config of the can-controller itself binding everything together */
102 + /* needed to avoid dtc warning */
103 + #address-cells = <1>;
107 + compatible = "microchip,mcp2515";
108 + pinctrl-names = "default";
109 + pinctrl-0 = <&can1_pins>;
110 + spi-max-frequency = <10000000>;
111 + interrupt-parent = <&gpio>;
112 + interrupts = <25 0x2>;
113 + clocks = <&can1_osc>;
118 + oscillator = <&can1_osc>,"clock-frequency:0";
119 + spimaxfrequency = <&can1>,"spi-max-frequency:0";
120 + interrupt = <&can1_pins>,"brcm,pins:0",<&can1>,"interrupts:0";