We have the problem that the CAN bus does not work properly with 1 Mbit/s baud rate. With 500 Kbit/s everything works fine.
Our test setup:
PCAN-USB - Drive PX2, Tegra A, CAN E
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up
nvidia@tegra-ubuntu:~$ dmesg | grep mttcan
[ 8.387595] net can0: mttcan device registered (regs=ffffff800abfb000, irq=370)
[ 8.444226] net can1: mttcan device registered (regs=ffffff800af1e000, irq=371)
[ 146.981276] mttcan c310000.mttcan can0: Bitrate set
[ 163.220042] mttcan_controller_config: ctrlmode 0
[ 163.220071] mttcan c310000.mttcan can0: Bitrate set
[ 208.331394] mttcan c310000.mttcan can0: entered error warning state
[ 208.331952] mttcan c310000.mttcan can0: entered error passive state
nvidia@tegra-ubuntu:~$ ip -details -statistics link show can0
6: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can state ERROR-PASSIVE (berr-counter tx 0 rx 121) restart-ms 0
bitrate 1000000 sample-point 0.750
tq 25 prop-seg 14 phase-seg1 15 phase-seg2 10 sjw 1
mttcan: tseg1 2…255 tseg2 0…127 sjw 1…127 brp 1…511 brp-inc 1
mttcan: dtseg1 1…31 dtseg2 0…15 dsjw 1…15 dbrp 1…15 dbrp-inc 1
clock 40000000
re-started bus-errors arbit-lost error-warn error-pass bus-off
0 0 0 1 1 0
RX: bytes packets errors dropped overrun mcast
16 2 0 2 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0