aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2014-11-07 16:49:17 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2014-11-17 12:19:27 +0100
commitbbf914300509f038c807360d755bd606785be6c9 (patch)
tree10d1a49a2f180ac73aa58f8c2d8415b6b20c4d5d /drivers
parentcan: c_can: Introduce c_can_driver_data structure (diff)
downloadlinux-dev-bbf914300509f038c807360d755bd606785be6c9.tar.xz
linux-dev-bbf914300509f038c807360d755bd606785be6c9.zip
can: c_can: Add RAMINIT register information to driver data
Some platforms (e.g. TI) need special RAMINIT register handling. Provide a way to store RAMINIT register description in driver data. Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/can/c_can/c_can.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/can/c_can/c_can.h b/drivers/net/can/c_can/c_can.h
index 26c975d914e3..3f111f4f0f6e 100644
--- a/drivers/net/can/c_can/c_can.h
+++ b/drivers/net/can/c_can/c_can.h
@@ -169,8 +169,18 @@ enum c_can_dev_id {
BOSCH_D_CAN,
};
+struct raminit_bits {
+ u8 start;
+ u8 done;
+};
+
struct c_can_driver_data {
enum c_can_dev_id id;
+
+ /* RAMINIT register description. Optional. */
+ const struct raminit_bits *raminit_bits; /* Array of START/DONE bit positions */
+ u8 raminit_num; /* Number of CAN instances on the SoC */
+ bool raminit_pulse; /* If set, sets and clears START bit (pulse) */
};
/* c_can private data structure */