netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] can: bfin_can: switch to common Blackfin can header
@ 2010-03-09 16:03 Mike Frysinger
       [not found] ` <1268150589-27123-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
  2010-03-22  7:06 ` Mike Frysinger
  0 siblings, 2 replies; 27+ messages in thread
From: Mike Frysinger @ 2010-03-09 16:03 UTC (permalink / raw)
  To: socketcan-core, Urs Thuermann, Oliver Hartkopp, netdev,
	David S. Miller
  Cc: uclinux-dist-devel

The MMR bits are being moved to this header, so include it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
note: this can be merged for 2.6.34 or 2.6.35

 drivers/net/can/bfin_can.c |   97 +++----------------------------------------
 1 files changed, 7 insertions(+), 90 deletions(-)

diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c
index 0ec1524..680060d 100644
--- a/drivers/net/can/bfin_can.c
+++ b/drivers/net/can/bfin_can.c
@@ -22,96 +22,13 @@
 #include <linux/can/dev.h>
 #include <linux/can/error.h>
 
+#include <asm/bfin_can.h>
 #include <asm/portmux.h>
 
 #define DRV_NAME "bfin_can"
 #define BFIN_CAN_TIMEOUT 100
 
 /*
- * transmit and receive channels
- */
-#define TRANSMIT_CHL            24
-#define RECEIVE_STD_CHL         0
-#define RECEIVE_EXT_CHL         4
-#define RECEIVE_RTR_CHL         8
-#define RECEIVE_EXT_RTR_CHL     12
-#define MAX_CHL_NUMBER          32
-
-/*
- * bfin can registers layout
- */
-struct bfin_can_mask_regs {
-	u16 aml;
-	u16 dummy1;
-	u16 amh;
-	u16 dummy2;
-};
-
-struct bfin_can_channel_regs {
-	u16 data[8];
-	u16 dlc;
-	u16 dummy1;
-	u16 tsv;
-	u16 dummy2;
-	u16 id0;
-	u16 dummy3;
-	u16 id1;
-	u16 dummy4;
-};
-
-struct bfin_can_regs {
-	/*
-	 * global control and status registers
-	 */
-	u16 mc1;           /* offset 0 */
-	u16 dummy1;
-	u16 md1;           /* offset 4 */
-	u16 rsv1[13];
-	u16 mbtif1;        /* offset 0x20 */
-	u16 dummy2;
-	u16 mbrif1;        /* offset 0x24 */
-	u16 dummy3;
-	u16 mbim1;         /* offset 0x28 */
-	u16 rsv2[11];
-	u16 mc2;           /* offset 0x40 */
-	u16 dummy4;
-	u16 md2;           /* offset 0x44 */
-	u16 dummy5;
-	u16 trs2;          /* offset 0x48 */
-	u16 rsv3[11];
-	u16 mbtif2;        /* offset 0x60 */
-	u16 dummy6;
-	u16 mbrif2;        /* offset 0x64 */
-	u16 dummy7;
-	u16 mbim2;         /* offset 0x68 */
-	u16 rsv4[11];
-	u16 clk;           /* offset 0x80 */
-	u16 dummy8;
-	u16 timing;        /* offset 0x84 */
-	u16 rsv5[3];
-	u16 status;        /* offset 0x8c */
-	u16 dummy9;
-	u16 cec;           /* offset 0x90 */
-	u16 dummy10;
-	u16 gis;           /* offset 0x94 */
-	u16 dummy11;
-	u16 gim;           /* offset 0x98 */
-	u16 rsv6[3];
-	u16 ctrl;          /* offset 0xa0 */
-	u16 dummy12;
-	u16 intr;          /* offset 0xa4 */
-	u16 rsv7[7];
-	u16 esr;           /* offset 0xb4 */
-	u16 rsv8[37];
-
-	/*
-	 * channel(mailbox) mask and message registers
-	 */
-	struct bfin_can_mask_regs msk[MAX_CHL_NUMBER];    /* offset 0x100 */
-	struct bfin_can_channel_regs chl[MAX_CHL_NUMBER]; /* offset 0x200 */
-};
-
-/*
  * bfin can private data
  */
 struct bfin_can_priv {
@@ -162,7 +79,7 @@ static int bfin_can_set_bittiming(struct net_device *dev)
 	if (priv->can.ctrlmode & CAN_CTRLMODE_3_SAMPLES)
 		timing |= SAM;
 
-	bfin_write16(&reg->clk, clk);
+	bfin_write16(&reg->clock, clk);
 	bfin_write16(&reg->timing, timing);
 
 	dev_info(dev->dev.parent, "setting CLOCK=0x%04x TIMING=0x%04x\n",
@@ -184,11 +101,11 @@ static void bfin_can_set_reset_mode(struct net_device *dev)
 	bfin_write16(&reg->gim, 0);
 
 	/* reset can and enter configuration mode */
-	bfin_write16(&reg->ctrl, SRS | CCR);
+	bfin_write16(&reg->control, SRS | CCR);
 	SSYNC();
-	bfin_write16(&reg->ctrl, CCR);
+	bfin_write16(&reg->control, CCR);
 	SSYNC();
-	while (!(bfin_read16(&reg->ctrl) & CCA)) {
+	while (!(bfin_read16(&reg->control) & CCA)) {
 		udelay(10);
 		if (--timeout == 0) {
 			dev_err(dev->dev.parent,
@@ -243,7 +160,7 @@ static void bfin_can_set_normal_mode(struct net_device *dev)
 	/*
 	 * leave configuration mode
 	 */
-	bfin_write16(&reg->ctrl, bfin_read16(&reg->ctrl) & ~CCR);
+	bfin_write16(&reg->control, bfin_read16(&reg->control) & ~CCR);
 
 	while (bfin_read16(&reg->status) & CCA) {
 		udelay(10);
@@ -721,7 +638,7 @@ static int bfin_can_suspend(struct platform_device *pdev, pm_message_t mesg)
 
 	if (netif_running(dev)) {
 		/* enter sleep mode */
-		bfin_write16(&reg->ctrl, bfin_read16(&reg->ctrl) | SMR);
+		bfin_write16(&reg->control, bfin_read16(&reg->control) | SMR);
 		SSYNC();
 		while (!(bfin_read16(&reg->intr) & SMACK)) {
 			udelay(10);
-- 
1.7.0.2


^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2010-03-23  3:54 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-09 16:03 [PATCH] can: bfin_can: switch to common Blackfin can header Mike Frysinger
     [not found] ` <1268150589-27123-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2010-03-10  7:41   ` Wolfgang Grandegger
2010-03-10 12:17     ` [Uclinux-dist-devel] " Mike Frysinger
     [not found]       ` <8bd0f97a1003100417x6e9830dav949fd6b0511d99d0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-10 15:35         ` David Miller
2010-03-17  4:28   ` David Miller
     [not found]     ` <20100316.212830.50212878.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-03-17  4:45       ` [Uclinux-dist-devel] " Mike Frysinger
     [not found]         ` <8bd0f97a1003162145i77f65158ne255b28239e1b595-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-17  5:02           ` David Miller
     [not found]             ` <20100316.220232.170244945.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-03-17  5:25               ` Mike Frysinger
     [not found]                 ` <8bd0f97a1003162225i439d9900mfdc03eca5de0ff6e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-17  5:51                   ` David Miller
     [not found]                     ` <20100316.225150.213941689.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-03-19  6:35                       ` Mike Frysinger
2010-03-19  6:56                         ` AW: " Hartkopp, Oliver (K-EFFI/P)
     [not found]                           ` <26B4E6A46012A1469B4EB3BC2A7CAAEC44EF47-2ISBvSz7ubqzqAecw3LaLo+MsED4In1V@public.gmane.org>
2010-03-19 16:23                             ` Mike Frysinger
2010-03-22  3:39                         ` David Miller
2010-03-22  3:54                           ` Mike Frysinger
2010-03-22  3:58                             ` David Miller
2010-03-22  7:04                               ` Mike Frysinger
2010-03-22 17:17                                 ` David Miller
2010-03-22 21:09                                   ` Mike Frysinger
2010-03-22 23:36                                     ` David Miller
2010-03-23  1:42                                       ` Mike Frysinger
     [not found]                                         ` <8bd0f97a1003221842k4e44bfccmfc7858b9c793b44f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-23  1:48                                           ` David Miller
2010-03-23  1:50                                             ` [Uclinux-dist-devel] " Mike Frysinger
2010-03-23  1:57                                               ` David Miller
2010-03-23  3:53                                                 ` Mike Frysinger
2010-03-22  7:06 ` Mike Frysinger
     [not found]   ` <1269241561-28956-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2010-03-23  3:06     ` David Miller
2010-03-23  3:53       ` [Uclinux-dist-devel] " Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).