-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
Describe the bug
mcp2515 on spi1 - candump can0 not generating output
Steps to reproduce the behaviour
waveshare 2-ch-can-hat connected to raspberry B3+
INT1 --- Pin 29 GPIO 5
INT0 --- Pin 31 GPIO 6
CS1 ---- Pin 11 GPIO 17 (SPI1 CE1)
CS2 ---- Pin 12 GPIO 18 (SPI1 CE0)
SCK ---- Pin 40 GPIO21 (SPI1 SCLK)
MOSI -- Pin 38 GPIO20 (SPI1 MOSI)
MISO -- Pin 35 GPIO19 (SPI1 MISO)
GND --- Pin 6 GND
5V ----- Pin 1 5V
/boot/config.txt:
dtoverlay=spi1-2cs,cs0_spidev=off,cs1_spidev=off
dtoverlay=t-sp1-can0,oscillator=16000000,interrupt=5
dtoverlay=t-sp1-can1,oscillator=16000000,interrupt=6
t-sp1-can0.dtbo compiles from:
/*
*Device tree overlay for mcp251x/can0 on spi1.0
*/
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", "brcm,bcm2709";
/* disable spi-dev for spi1.0 */
fragment@0 {
target = <&spi1>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&spidev0>;
__overlay__ {
status = "disabled";
};
};
/* the interrupt pin of the can-controller */
fragment@2 {
target = <&gpio>;
__overlay__ {
can0_pins: can0_pins {
brcm,pins = <25>;
brcm,function = <0>; /* input */
};
};
};
/* the clock/oscillator of the can-controller */
fragment@3 {
target-path = "/clocks";
__overlay__ {
/* external oscillator of mcp2515 on SPI0.0 */
can0_osc: can0_osc {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <16000000>;
};
};
};
/* the spi config of the can-controller itself binding everything together */
fragment@4 {
target = <&spi1>;
__overlay__ {
/* needed to avoid dtc warning */
#address-cells = <1>;
#size-cells = <0>;
can0: mcp2515@0 {
reg = <0>;
compatible = "microchip,mcp2515";
pinctrl-names = "default";
pinctrl-0 = <&can0_pins>;
spi-max-frequency = <10000000>;
interrupt-parent = <&gpio>;
interrupts = <25 0x2>;
clocks = <&can0_osc>;
};
};
};
__overrides__ {
oscillator = <&can0_osc>,"clock-frequency:0";
spimaxfrequency = <&can0>,"spi-max-frequency:0";
interrupt = <&can0_pins>,"brcm,pins:0",<&can0>,"interrupts:0";
};
};
t-sp1-can1.dtbo compiles from:
/*
* Device tree overlay for mcp251x/can1 on spi1.1 edited by petit_miner
*/
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", "brcm,bcm2709";
/* disable spi-dev for spi1.1 */
fragment@0 {
target = <&spi1>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&spidev1>;
__overlay__ {
status = "disabled";
};
};
/* the interrupt pin of the can-controller */
fragment@2 {
target = <&gpio>;
__overlay__ {
can1_pins: can1_pins {
brcm,pins = <25>;
brcm,function = <0>; /* input */
};
};
};
/* the clock/oscillator of the can-controller */
fragment@3 {
target-path = "/clocks";
__overlay__ {
/* external oscillator of mcp2515 on spi0.1 */
can1_osc: can1_osc {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <16000000>;
};
};
};
/* the spi config of the can-controller itself binding everything together */
fragment@4 {
target = <&spi1>;
__overlay__ {
/* needed to avoid dtc warning */
#address-cells = <1>;
#size-cells = <0>;
can1: mcp2515@1 {
reg = <1>;
compatible = "microchip,mcp2515";
pinctrl-names = "default";
pinctrl-0 = <&can1_pins>;
spi-max-frequency = <10000000>;
interrupt-parent = <&gpio>;
interrupts = <25 0x2>;
clocks = <&can1_osc>;
};
};
};
__overrides__ {
oscillator = <&can1_osc>,"clock-frequency:0";
spimaxfrequency = <&can1>,"spi-max-frequency:0";
interrupt = <&can1_pins>,"brcm,pins:0",<&can1>,"interrupts:0";
};
};
dmesg|grep spi
[ 8.232885] mcp251x spi1.1 can0: MCP2515 successfully initialized.
[ 8.245989] mcp251x spi1.0 can1: MCP2515 successfully initialized.
spi1.1 linked to can0 !
spi1.0 linked to can1 !
Device (s)
Raspberry Pi 1 Mod. B+
System
Raspberry Pi reference 2021-01-11
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 21090519d85bdaa1615d5d5057d37b09368ea5d2, stage2
Oct 29 2021 10:49:08
Copyright (c) 2012 Broadcom
version b8a114e5a9877e91ca8f26d1a5ce904b2ad3cf13 (clean) (release) (start)
Linux raspberrypi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux
Logs
No response
Additional context
No response