瀏覽代碼

Modify code format

dejavudwh 1 年之前
父節點
當前提交
49ae4ab614
共有 1 個文件被更改,包括 126 次插入125 次删除
  1. 126 125
      bsp/lm3s8962/drivers/luminaryif.c

+ 126 - 125
bsp/lm3s8962/drivers/luminaryif.c

@@ -19,19 +19,19 @@
 #include "lwipopts.h"
 #include "luminaryif.h"
 
-#define MAX_ADDR_LEN    6
+#define MAX_ADDR_LEN 6
 
 struct net_device
 {
-	/* inherit from ethernet device */
-	struct eth_device parent;
+    /* inherit from ethernet device */
+    struct eth_device parent;
 
-	/* interface address info. */
-	rt_uint8_t  dev_addr[MAX_ADDR_LEN];			/* hw address	*/
+    /* interface address info. */
+    rt_uint8_t dev_addr[MAX_ADDR_LEN]; /* hw address	*/
 };
 
-static struct net_device  luminaryif_dev_entry;
-static struct net_device *luminaryif_dev =&luminaryif_dev_entry;
+static struct net_device luminaryif_dev_entry;
+static struct net_device *luminaryif_dev = &luminaryif_dev_entry;
 static struct rt_semaphore tx_sem;
 
 //*****************************************************************************
@@ -101,7 +101,7 @@ rt_err_t luminaryif_init(rt_device_t dev)
     //
     EthernetIntEnable(ETH_BASE, ETH_INT_RX | ETH_INT_TX);
 
-    return RT_EOK;	
+    return RT_EOK;
 }
 
 void luminaryif_isr(void)
@@ -117,74 +117,76 @@ void luminaryif_isr(void)
     //
     // Check to see if an RX Interrupt has occured.
     //
-    if(ulTemp & ETH_INT_RX)
+    if (ulTemp & ETH_INT_RX)
     {
         //
         // Indicate that a packet has been received.
         //
         rt_err_t result;
-		
+
         /* a frame has been received */
-        result = eth_device_ready((struct eth_device*)&(luminaryif_dev->parent));
+        result = eth_device_ready((struct eth_device *)&(luminaryif_dev->parent));
 
-		if(result != RT_EOK) rt_set_errno(-RT_ERROR);
+        if (result != RT_EOK)
+            rt_set_errno(-RT_ERROR);
 
         //
         // Disable Ethernet RX Interrupt.
         //
         EthernetIntDisable(ETH_BASE, ETH_INT_RX);
     }
-    if(ulTemp & ETH_INT_TX)
+    if (ulTemp & ETH_INT_TX)
     {
         /* A frame has been transmitted. */
         rt_sem_release(&tx_sem);
     }
-	
 }
 
 /* control the interface */
 rt_err_t luminaryif_control(rt_device_t dev, int cmd, void *args)
 {
-	switch(cmd)
-	{
-	case NIOCTL_GADDR:
-		/* get mac address */
-		if(args) rt_memcpy(args, luminaryif_dev_entry.dev_addr, 6);
-		else return -RT_ERROR;
-		break;
-
-	default :
-		break;
-	}
-
-	return RT_EOK;
+    switch (cmd)
+    {
+    case NIOCTL_GADDR:
+        /* get mac address */
+        if (args)
+            rt_memcpy(args, luminaryif_dev_entry.dev_addr, 6);
+        else
+            return -RT_ERROR;
+        break;
+
+    default:
+        break;
+    }
+
+    return RT_EOK;
 }
 
 /* Open the ethernet interface */
 rt_err_t luminaryif_open(rt_device_t dev, rt_uint16_t oflag)
 {
-	return RT_EOK;
+    return RT_EOK;
 }
 
 /* Close the interface */
 rt_err_t luminaryif_close(rt_device_t dev)
 {
-	return RT_EOK;
+    return RT_EOK;
 }
 
 /* Read */
-rt_size_t luminaryif_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size)
+rt_size_t luminaryif_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
 {
-	rt_set_errno(-RT_ENOSYS);
-	return 0;
+    rt_set_errno(-RT_ENOSYS);
+    return 0;
 }
 
 /* Write */
-rt_size_t luminaryif_write(rt_device_t dev, rt_off_t pos, const void* buffer, rt_size_t size)
+rt_size_t luminaryif_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size)
 {
-	rt_set_errno(-RT_ENOSYS);
-	return 0;
-}	
+    rt_set_errno(-RT_ENOSYS);
+    return 0;
+}
 
 //****************************************************************************
 //
@@ -202,19 +204,19 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
     int iGather;
     unsigned long ulGather;
     unsigned char *pucGather;
-    unsigned long ulTemp;	
+    unsigned long ulTemp;
 
     /* lock tx operation */
     rt_sem_take(&tx_sem, RT_WAITING_FOREVER);
-	
+
     //
     // Wait for space available in the TX FIFO.
     //
-    while(!EthernetSpaceAvail(ETH_BASE))
+    while (!EthernetSpaceAvail(ETH_BASE))
     {
     }
 
-//
+    //
     // Fill in the first two bytes of the payload data (configured as padding
     // with ETH_PAD_SIZE = 2) with the total length of the payload data
     // (minus the Ethernet MAC layer header).
@@ -231,7 +233,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
     //
     // Copy data from the pbuf(s) into the TX Fifo.
     //
-    for(q = p; q != NULL; q = q->next)
+    for (q = p; q != NULL; q = q->next)
     {
         //
         // Intialize a char pointer and index to the pbuf payload data.
@@ -243,7 +245,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
         // If the gather buffer has leftover data from a previous pbuf
         // in the chain, fill it up and write it to the Tx FIFO.
         //
-        while((iBuf < q->len) && (iGather != 0))
+        while ((iBuf < q->len) && (iGather != 0))
         {
             //
             // Copy a byte from the pbuf into the gather buffer.
@@ -260,7 +262,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
         // If the gather index is 0 and the pbuf index is non-zero,
         // we have a gather buffer to write into the Tx FIFO.
         //
-        if((iGather == 0) && (iBuf != 0))
+        if ((iGather == 0) && (iBuf != 0))
         {
             HWREG(ETH_BASE + MAC_O_DATA) = ulGather;
             ulGather = 0;
@@ -270,14 +272,14 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
         // Copy words of pbuf data into the Tx FIFO, but don't go past
         // the end of the pbuf.
         //
-        if((iBuf % 4) != 0)
+        if ((iBuf % 4) != 0)
         {
-            while((iBuf + 4) <= q->len)
+            while ((iBuf + 4) <= q->len)
             {
-                ulTemp  = (pucBuf[iBuf++] <<  0);
-                ulTemp |= (pucBuf[iBuf++] <<  8);
+                ulTemp = (pucBuf[iBuf++] << 0);
+                ulTemp |= (pucBuf[iBuf++] << 8);
                 ulTemp |= (pucBuf[iBuf++] << 16);
-                ulTemp |= (pucBuf[iBuf++] << 24);		
+                ulTemp |= (pucBuf[iBuf++] << 24);
                 HWREG(ETH_BASE + MAC_O_DATA) = ulTemp;
             }
         }
@@ -288,7 +290,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
             //
             pulBuf = (unsigned long *)&pucBuf[iBuf];
 
-            while((iBuf + 4) <= q->len)
+            while ((iBuf + 4) <= q->len)
             {
                 HWREG(ETH_BASE + MAC_O_DATA) = *pulBuf++;
                 iBuf += 4;
@@ -298,7 +300,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
         // Check if leftover data in the pbuf and save it in the gather
         // buffer for the next time.
         //
-        while(iBuf < q->len)
+        while (iBuf < q->len)
         {
             //
             // Copy a byte from the pbuf into the gather buffer.
@@ -326,7 +328,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
     lwip_stats.link.xmit++;
 #endif
 
-    return(ERR_OK);
+    return (ERR_OK);
 }
 
 //*****************************************************************************
@@ -335,7 +337,7 @@ rt_err_t luminaryif_tx(rt_device_t dev, struct pbuf *p)
 // of the incoming packet from the interface into the pbuf.
 //
 //*****************************************************************************
-struct pbuf * luminaryif_rx(rt_device_t dev)
+struct pbuf *luminaryif_rx(rt_device_t dev)
 {
     struct pbuf *p, *q;
     u16_t len;
@@ -343,16 +345,16 @@ struct pbuf * luminaryif_rx(rt_device_t dev)
     int i;
     unsigned long *ptr;
 
-    if(!EthernetPacketAvail(ETH_BASE))
+    if (!EthernetPacketAvail(ETH_BASE))
     {
-        // 
-        // Enable Ethernet RX Interrupt. 
-        // 
-        EthernetIntEnable(ETH_BASE, ETH_INT_RX); 
+        //
+        // Enable Ethernet RX Interrupt.
+        //
+        EthernetIntEnable(ETH_BASE, ETH_INT_RX);
 
-        return(NULL);
+        return (NULL);
     }
-	
+
     //
     // Obtain the size of the packet and put it into the "len" variable.
     // Note:  The length returned in the FIFO length position includes the
@@ -366,7 +368,7 @@ struct pbuf * luminaryif_rx(rt_device_t dev)
     //
     p = pbuf_alloc(PBUF_LINK, len, PBUF_RAM);
 
-    if(p != NULL)
+    if (p != NULL)
     {
         //
         // Place the first word into the first pbuf location.
@@ -379,7 +381,7 @@ struct pbuf * luminaryif_rx(rt_device_t dev)
         // Process all but the last buffer in the pbuf chain.
         //
         q = p;
-        while(q != NULL)
+        while (q != NULL)
         {
             //
             // Setup a byte pointer into the payload section of the pbuf.
@@ -390,7 +392,7 @@ struct pbuf * luminaryif_rx(rt_device_t dev)
             // Read data from FIFO into the current pbuf
             // (assume pbuf length is modulo 4)
             //
-            for(i = 0; i < q->len; i += 4)
+            for (i = 0; i < q->len; i += 4)
             {
                 *ptr++ = HWREG(ETH_BASE + MAC_O_DATA);
             }
@@ -416,7 +418,7 @@ struct pbuf * luminaryif_rx(rt_device_t dev)
         //
         // Just read all of the remaining data from the FIFO and dump it.
         //
-        for(i = 4; i < len; i+=4)
+        for (i = 4; i < len; i += 4)
         {
             ulTemp = HWREG(ETH_BASE + MAC_O_DATA);
         }
@@ -425,71 +427,70 @@ struct pbuf * luminaryif_rx(rt_device_t dev)
         lwip_stats.link.memerr++;
         lwip_stats.link.drop++;
 #endif
-        // 
-        // Enable Ethernet RX Interrupt. 
-        // 
-        EthernetIntEnable(ETH_BASE, ETH_INT_RX); 
+        //
+        // Enable Ethernet RX Interrupt.
+        //
+        EthernetIntEnable(ETH_BASE, ETH_INT_RX);
     }
-	
-    return(p);
+
+    return (p);
 }
 
 int rt_hw_luminaryif_init(void)
 {
-	rt_err_t result;
-	unsigned long ulUser0, ulUser1;
-
-	/* Enable and Reset the Ethernet Controller. */
-	SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH);
-	SysCtlPeripheralReset(SYSCTL_PERIPH_ETH);
-
-	/* 	
-	Enable Port F for Ethernet LEDs.
-	LED0        Bit 3   Output
-	LED1        Bit 2   Output
-	*/
-	SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
-	GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3, GPIO_DIR_MODE_HW);
-	GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3,
-	                 GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
-
-	FlashUserSet(0x12345678, 0x12345678);
-	/* Configure the hardware MAC address */
-	FlashUserGet(&ulUser0, &ulUser1);
-	if((ulUser0 == 0xffffffff) || (ulUser1 == 0xffffffff))
-	{
-		rt_kprintf("Fatal error in geting MAC address\n");
-	}
-
-	/* init rt-thread device interface */
-	luminaryif_dev_entry.parent.parent.init		= luminaryif_init;
-	luminaryif_dev_entry.parent.parent.open	= luminaryif_open;
-	luminaryif_dev_entry.parent.parent.close	= luminaryif_close;
-	luminaryif_dev_entry.parent.parent.read	= luminaryif_read;
-	luminaryif_dev_entry.parent.parent.write	= luminaryif_write;
-	luminaryif_dev_entry.parent.parent.control	= luminaryif_control;
-	luminaryif_dev_entry.parent.eth_rx		= luminaryif_rx;
-	luminaryif_dev_entry.parent.eth_tx			= luminaryif_tx;
-	
-	/* 
-	Convert the 24/24 split MAC address from NV ram into a 32/16 split MAC
-	address needed to program the hardware registers, then program the MAC
-	address into the Ethernet Controller registers. 
-	*/
-	luminaryif_dev_entry.dev_addr[0] = ((ulUser0 >>  0) & 0xff);
-	luminaryif_dev_entry.dev_addr[1] = ((ulUser0 >>  8) & 0xff);
-	luminaryif_dev_entry.dev_addr[2] = ((ulUser0 >> 16) & 0xff);
-	luminaryif_dev_entry.dev_addr[3] = ((ulUser1 >>  0) & 0xff);
-	luminaryif_dev_entry.dev_addr[4] = ((ulUser1 >>  8) & 0xff);
-	luminaryif_dev_entry.dev_addr[5] = ((ulUser1 >> 16) & 0xff);
-
-	/* Program the hardware with it's MAC address (for filtering). */
-	EthernetMACAddrSet(ETH_BASE, luminaryif_dev_entry.dev_addr);	
-	
-	rt_sem_init(&tx_sem, "emac", 1, RT_IPC_FLAG_FIFO);
-
-	result = eth_device_init(&(luminaryif_dev->parent), "E0");
-	
-	return result;
-}
+    rt_err_t result;
+    unsigned long ulUser0, ulUser1;
+
+    /* Enable and Reset the Ethernet Controller. */
+    SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH);
+    SysCtlPeripheralReset(SYSCTL_PERIPH_ETH);
+
+    /*
+    Enable Port F for Ethernet LEDs.
+    LED0        Bit 3   Output
+    LED1        Bit 2   Output
+    */
+    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
+    GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3, GPIO_DIR_MODE_HW);
+    GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3,
+                     GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
+
+    FlashUserSet(0x12345678, 0x12345678);
+    /* Configure the hardware MAC address */
+    FlashUserGet(&ulUser0, &ulUser1);
+    if ((ulUser0 == 0xffffffff) || (ulUser1 == 0xffffffff))
+    {
+        rt_kprintf("Fatal error in geting MAC address\n");
+    }
 
+    /* init rt-thread device interface */
+    luminaryif_dev_entry.parent.parent.init = luminaryif_init;
+    luminaryif_dev_entry.parent.parent.open = luminaryif_open;
+    luminaryif_dev_entry.parent.parent.close = luminaryif_close;
+    luminaryif_dev_entry.parent.parent.read = luminaryif_read;
+    luminaryif_dev_entry.parent.parent.write = luminaryif_write;
+    luminaryif_dev_entry.parent.parent.control = luminaryif_control;
+    luminaryif_dev_entry.parent.eth_rx = luminaryif_rx;
+    luminaryif_dev_entry.parent.eth_tx = luminaryif_tx;
+
+    /*
+    Convert the 24/24 split MAC address from NV ram into a 32/16 split MAC
+    address needed to program the hardware registers, then program the MAC
+    address into the Ethernet Controller registers.
+    */
+    luminaryif_dev_entry.dev_addr[0] = ((ulUser0 >> 0) & 0xff);
+    luminaryif_dev_entry.dev_addr[1] = ((ulUser0 >> 8) & 0xff);
+    luminaryif_dev_entry.dev_addr[2] = ((ulUser0 >> 16) & 0xff);
+    luminaryif_dev_entry.dev_addr[3] = ((ulUser1 >> 0) & 0xff);
+    luminaryif_dev_entry.dev_addr[4] = ((ulUser1 >> 8) & 0xff);
+    luminaryif_dev_entry.dev_addr[5] = ((ulUser1 >> 16) & 0xff);
+
+    /* Program the hardware with it's MAC address (for filtering). */
+    EthernetMACAddrSet(ETH_BASE, luminaryif_dev_entry.dev_addr);
+
+    rt_sem_init(&tx_sem, "emac", 1, RT_IPC_FLAG_FIFO);
+
+    result = eth_device_init(&(luminaryif_dev->parent), "E0");
+
+    return result;
+}