linux/drivers/net/can
Marek Vasut 99312c377f can: ifi: Fix clock generator configuration
The clock generation does not match reality when using the CAN IP
core outside of the FPGA design. This patch fixes the computation
of values which are programmed into the clock generator registers.

First, there are some off-by-one errors which manifest themselves
only when communicating with different controller, so those are
fixed.

Second, the bits in the clock generator registers have different
meaning depending on whether the core is in ISO CANFD mode or any
of the other modes (BOSCH CANFD or CAN2.0). Detect the ISO CANFD
mode and fix handling of this special case of clock configuration.

Finally, the CAN clock speed is in CANCLOCK register, not SYSCLOCK
register, so fix this as well.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Reviewed-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2016-03-10 10:19:09 +01:00
..
c_can can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
cc770 can: fix assignment of error location in CAN error messages 2015-11-23 09:37:34 +01:00
ifi_canfd can: ifi: Fix clock generator configuration 2016-03-10 10:19:09 +01:00
m_can can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
mscan can: constify of_device_id array 2015-03-17 15:00:23 -04:00
sja1000 can: sja1000: of: add compatibility with Technologic Systems version 2016-02-20 14:56:00 +01:00
softing can: move can_stats.bus_off++ from can_bus_off into can_change_state 2015-01-20 13:56:53 +01:00
spi can: mcp251x: avoid write to error flag register if it's unnecessary 2016-03-04 08:45:17 +01:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-03-08 12:34:12 -05:00
at91_can.c can: at91: remove at91_can_data 2015-10-13 17:42:35 +02:00
bfin_can.c can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
dev.c can: Use correct type in sizeof() in nla_put() 2015-10-30 14:33:26 +01:00
flexcan.c can: fix assignment of error location in CAN error messages 2015-11-23 09:37:34 +01:00
grcan.c can: grcan: don't touch skb after netif_rx() 2015-07-15 09:04:27 +02:00
janz-ican3.c can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
Kconfig can: ifi: Add IFI CANFD IP support 2016-02-20 14:56:15 +01:00
led.c can: add combined rx/tx LED trigger support 2015-03-22 23:50:11 +01:00
Makefile can: ifi: Add IFI CANFD IP support 2016-02-20 14:56:15 +01:00
pch_can.c can: fix assignment of error location in CAN error messages 2015-11-23 09:37:34 +01:00
rcar_can.c can: rcar: add gen[12] fallback compatibility strings 2016-02-26 08:43:18 +01:00
slcan.c can: slcan: don't touch skb after netif_rx_ni() 2015-07-15 09:04:27 +02:00
sun4i_can.c can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
ti_hecc.c can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
vcan.c can: replace timestamp as unique skb attribute 2015-07-12 21:13:22 +02:00
xilinx_can.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-12-03 21:09:12 -05:00