2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 18:53:52 +08:00
linux-next/drivers/net/can
Steffen Trumtrar 3d42a379b6 can: flexcan: add 2nd clock to support imx53 and newer
This patch adds support for a second clock to the flexcan driver. On
modern freescale ARM cores like the imx53 and imx6q two clocks ("ipg"
and "per") must be enabled in order to access the CAN core.

In the original driver, the clock was requested without specifying the
connection id, further all mainline ARM archs with flexcan support
(imx28, imx25, imx35) register their flexcan clock without a
connection id, too.

This patch first renames the existing clk variable to clk_ipg and
converts it to devm for easier error handling. The connection id "ipg"
is added to the devm_clk_get() call. Then a second clock "per" is
requested. As all archs don't specify a connection id, both clk_get
return the same clock. This ensures compatibility to existing flexcan
support and adds support for imx53 at the same time.

After this patch hits mainline, the archs may give their existing
flexcan clock the "ipg" connection id and implement a dummy "per"
clock.

This patch has been tested on imx28 (unmodified clk tree) and on imx53
with a seperate "ipg" and "per" clock.

Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Acked-by: Hui Wang <jason77.wang@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2012-07-20 12:31:05 +02:00
..
c_can can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
cc770 can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
mscan can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
sja1000 can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
softing can: softing: softing_main: ensure a consistent return value in error case 2012-07-17 09:35:59 +02:00
usb can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
at91_can.c can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
bfin_can.c can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
dev.c can: dev: fix sparse warning for can_restart 2012-07-02 11:07:25 +02:00
flexcan.c can: flexcan: add 2nd clock to support imx53 and newer 2012-07-20 12:31:05 +02:00
janz-ican3.c can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
Kconfig can: Kconfig: add more information about Intel EG20T PCH CAN controller 2012-02-03 01:21:26 +01:00
Makefile can: cc770: add driver core for the Bosch CC770 and Intel AN82527 2011-12-01 13:09:31 -05:00
mcp251x.c can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
pch_can.c can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
slcan.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ti_hecc.c can: mark bittiming_const pointer in struct can_priv as const 2012-07-20 12:31:05 +02:00
vcan.c vcan: add CAN FD support 2012-06-19 21:40:20 +02:00