]> Pileus Git - ~andy/linux/commit
can: c_can: Add d_can raminit support
authorAnilKumar Ch <anilkumar@ti.com>
Wed, 21 Nov 2012 05:44:10 +0000 (11:14 +0530)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 27 Nov 2012 08:49:31 +0000 (09:49 +0100)
commit52cde85acc23f61b09dd0376c61eb891125c6990
treeb44c83102549a37b8bd4abae7ace6989e1e6f0c5
parent03f52a0a554210d5049eeed9f1bb29047dc807cb
can: c_can: Add d_can raminit support

Add D_CAN raminit support to C_CAN driver to enable D_CAN RAM,
which holds all the message objects during transmission or
receiving of data. This initialization/de-initialization should
be done in synchronous with D_CAN clock.

In case of AM335X-EVM (current user of D_CAN driver) message RAM is
controlled through control module register for both instances. So
control module register details is required to initialization or
de-initialization of message RAM according to instance number.

Control module memory resource is obtained from D_CAN dt node and
instance number obtained from device tree aliases node.

This patch was tested on AM335x-EVM along with pinctrl data addition
patch, d_can dt aliases addition and control module data addition.
pinctrl data addition is not added to am335x-evm.dts (only supports
CPLD profile#0) because d_can1 is supported under CPLD profile#1.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
[mkl: fix instance for non DT in probe, cleaned up raminit]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/c_can/c_can.c
drivers/net/can/c_can/c_can.h
drivers/net/can/c_can/c_can_platform.c