Browse Source
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4899 7fd9a85b-ad96-42d3-883c-3090e2eb8679sbg
10 changed files with 484 additions and 488 deletions
@ -1,119 +1,115 @@
@@ -1,119 +1,115 @@
|
||||
/************************************************************************************
|
||||
* configs/ekk-lm3s9b96/src/ekklm3s9b96_internal.h |
||||
* arch/arm/src/board/lm3s6965ek_internal.n |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
#ifndef __CONFIGS_EKK_LM3S9B96_SRC_EKKLM3S9B96_INTERNAL_H |
||||
#define __CONFIGS_EKK_LM3S9B96_SRC_EKKLM3S9B96_INTERNAL_H |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
#include <nuttx/compiler.h> |
||||
|
||||
#include "chip.h" |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/* How many SSI modules does this chip support? The LM3S9B96 supports 2 SSI
|
||||
* modules (others may support more than 2 -- in such case, the following must be |
||||
* expanded). |
||||
*/ |
||||
|
||||
#if LM3S_NSSI == 0 |
||||
# undef CONFIG_SSI0_DISABLE |
||||
# define CONFIG_SSI0_DISABLE 1 |
||||
# undef CONFIG_SSI1_DISABLE |
||||
# define CONFIG_SSI1_DISABLE 1 |
||||
#elif LM3S_NSSI == 1 |
||||
# undef CONFIG_SSI1_DISABLE |
||||
# define CONFIG_SSI1_DISABLE 1 |
||||
#endif |
||||
|
||||
/* EKK-LM3S9B96 Eval Kit ************************************************************/ |
||||
|
||||
/* GPIO Usage
|
||||
* |
||||
* PIN SIGNAL EVB Function |
||||
* --- ----------- --------------------------------------- |
||||
* 26 PA0/U0RX Virtual COM port receive |
||||
* 27 PA1/U0TX Virtual COM port transmit |
||||
* 66 PB0/USB0ID USBID signal from the USB-On-the-Go |
||||
* 67 PB1/USB0VBUS USB VBUS input signal from USB-OTG |
||||
* 92 PB4/GPIO User pushbutton SW2. |
||||
* 80 PC0/TCK/SWCLK JTAG or SWD clock input |
||||
* 79 PC1/TMS/SWDIO JTAG TMS input or SWD bidirectional signal SWDIO |
||||
* 78 PC2/TDI JTAG TDI signal input |
||||
* 77 PC3/TDO/SWO JTAG TDO output or SWD trace signal SWO output. |
||||
* 10 PD0/GPIO User LED |
||||
* 60 PF2/LED1 Ethernet LED1 (yellow) |
||||
* 59 PF3/LED0 Ethernet LED0 (green) |
||||
* 83 PH3/USB0EPEN USB-OTG power switch |
||||
* 76 PH4/USB0PFLT Overcurrent input status from USB-OTG power switch |
||||
*/ |
||||
|
||||
/* GPIO for LED's:
|
||||
* - PD0: User LED |
||||
* - PF2: LED1 (yellow) |
||||
* - PF3: LED0 (green) |
||||
*/ |
||||
|
||||
#define LED_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTD | 0) |
||||
#define LED1_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ZERO | GPIO_PORTF | 2) |
||||
#define LED0_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTF | 3) |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
#ifndef __ASSEMBLY__ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_ssiinitialize |
||||
* |
||||
* Description: |
||||
* Called to configure SPI chip select GPIO pins for the LM3S6965 Eval Kit. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
extern void weak_function lm3s_ssiinitialize(void); |
||||
|
||||
#endif /* __ASSEMBLY__ */ |
||||
#endif /* __CONFIGS_EKK_LM3S9B96_SRC_EKKLM3S9B96_INTERNAL_H */ |
||||
|
||||
/************************************************************************************
|
||||
* configs/ekk-lm3s9b96/src/ekklm3s9b96_internal.h |
||||
* arch/arm/src/board/lm3s6965ek_internal.n |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
#ifndef __CONFIGS_EKK_LM3S9B96_SRC_EKKLM3S9B96_INTERNAL_H |
||||
#define __CONFIGS_EKK_LM3S9B96_SRC_EKKLM3S9B96_INTERNAL_H |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
#include <nuttx/compiler.h> |
||||
|
||||
#include "chip.h" |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/* How many SSI modules does this chip support? The LM3S9B96 supports 2 SSI
|
||||
* modules (others may support more than 2 -- in such case, the following must be |
||||
* expanded). |
||||
*/ |
||||
|
||||
#if LM3S_NSSI == 0 |
||||
# undef CONFIG_SSI0_DISABLE |
||||
# define CONFIG_SSI0_DISABLE 1 |
||||
# undef CONFIG_SSI1_DISABLE |
||||
# define CONFIG_SSI1_DISABLE 1 |
||||
#elif LM3S_NSSI == 1 |
||||
# undef CONFIG_SSI1_DISABLE |
||||
# define CONFIG_SSI1_DISABLE 1 |
||||
#endif |
||||
|
||||
/* EKK-LM3S9B96 Eval Kit ************************************************************/ |
||||
|
||||
/* GPIO Usage
|
||||
* |
||||
* PIN SIGNAL EVB Function |
||||
* --- ----------- --------------------------------------- |
||||
* 26 PA0/U0RX Virtual COM port receive |
||||
* 27 PA1/U0TX Virtual COM port transmit |
||||
* 66 PB0/USB0ID USBID signal from the USB-On-the-Go |
||||
* 67 PB1/USB0VBUS USB VBUS input signal from USB-OTG |
||||
* 92 PB4/GPIO User pushbutton SW2. |
||||
* 80 PC0/TCK/SWCLK JTAG or SWD clock input |
||||
* 79 PC1/TMS/SWDIO JTAG TMS input or SWD bidirectional signal SWDIO |
||||
* 78 PC2/TDI JTAG TDI signal input |
||||
* 77 PC3/TDO/SWO JTAG TDO output or SWD trace signal SWO output. |
||||
* 10 PD0/GPIO User LED |
||||
* 60 PF2/LED1 Ethernet LED1 (yellow) |
||||
* 59 PF3/LED0 Ethernet LED0 (green) |
||||
* 83 PH3/USB0EPEN USB-OTG power switch |
||||
* 76 PH4/USB0PFLT Overcurrent input status from USB-OTG power switch |
||||
*/ |
||||
|
||||
/* GPIO for LED's:
|
||||
* - PD0: User LED |
||||
*/ |
||||
|
||||
#define LED_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTD | 0) |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
#ifndef __ASSEMBLY__ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_ssiinitialize |
||||
* |
||||
* Description: |
||||
* Called to configure SPI chip select GPIO pins for the LM3S6965 Eval Kit. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
extern void weak_function lm3s_ssiinitialize(void); |
||||
|
||||
#endif /* __ASSEMBLY__ */ |
||||
#endif /* __CONFIGS_EKK_LM3S9B96_SRC_EKKLM3S9B96_INTERNAL_H */ |
||||
|
||||
|
@ -1,91 +1,91 @@
@@ -1,91 +1,91 @@
|
||||
/************************************************************************************
|
||||
* configs/ekk-lm3s9b96/src/up_boot.c |
||||
* arch/arm/src/board/up_boot.c |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
|
||||
#include <debug.h> |
||||
|
||||
#include <arch/board/board.h> |
||||
|
||||
#include "up_arch.h" |
||||
#include "up_internal.h" |
||||
#include "ekklm3s9b96_internal.h" |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Private Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_boardinitialize |
||||
* |
||||
* Description: |
||||
* All LM3S architectures must provide the following entry point. This entry point |
||||
* is called early in the intitialization -- after all memory has been configured |
||||
* and mapped but before any devices have been initialized. |
||||
************************************************************************************/ |
||||
|
||||
void lm3s_boardinitialize(void) |
||||
{ |
||||
/* Configure SPI chip selects if 1) SSI is not disabled, and 2) the weak function
|
||||
* lm3s_ssiinitialize() has been brought into the link. |
||||
*/ |
||||
|
||||
#if !defined(CONFIG_SSI0_DISABLE) || !defined(CONFIG_SSI1_DISABLE) |
||||
if (lm3s_ssiinitialize) |
||||
{ |
||||
lm3s_ssiinitialize(); |
||||
} |
||||
#endif |
||||
|
||||
/* Configure on-board LEDs if LED support has been selected. */ |
||||
|
||||
#ifdef CONFIG_ARCH_LEDS |
||||
up_ledinit(); |
||||
#endif |
||||
} |
||||
/************************************************************************************
|
||||
* configs/ekk-lm3s9b96/src/up_boot.c |
||||
* arch/arm/src/board/up_boot.c |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
|
||||
#include <debug.h> |
||||
|
||||
#include <arch/board/board.h> |
||||
|
||||
#include "up_arch.h" |
||||
#include "up_internal.h" |
||||
#include "ekklm3s9b96_internal.h" |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Private Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_boardinitialize |
||||
* |
||||
* Description: |
||||
* All LM3S architectures must provide the following entry point. This entry point |
||||
* is called early in the intitialization -- after all memory has been configured |
||||
* and mapped but before any devices have been initialized. |
||||
************************************************************************************/ |
||||
|
||||
void lm3s_boardinitialize(void) |
||||
{ |
||||
/* Configure SPI chip selects if 1) SSI is not disabled, and 2) the weak function
|
||||
* lm3s_ssiinitialize() has been brought into the link. |
||||
*/ |
||||
|
||||
#if !defined(CONFIG_SSI0_DISABLE) || !defined(CONFIG_SSI1_DISABLE) |
||||
if (lm3s_ssiinitialize) |
||||
{ |
||||
lm3s_ssiinitialize(); |
||||
} |
||||
#endif |
||||
|
||||
/* Configure on-board LEDs if LED support has been selected. */ |
||||
|
||||
#ifdef CONFIG_ARCH_LEDS |
||||
up_ledinit(); |
||||
#endif |
||||
} |
||||
|
@ -1,99 +1,99 @@
@@ -1,99 +1,99 @@
|
||||
/************************************************************************************
|
||||
* configs/lm3s6965-ek/src/up_ethernet.c |
||||
* arch/arm/src/board/up_ethernet.c |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
|
||||
#include <stdint.h> |
||||
#include <debug.h> |
||||
#include <assert.h> |
||||
|
||||
#include <arch/board/board.h> |
||||
#include <net/ethernet.h> |
||||
|
||||
#include "up_arch.h" |
||||
#include "chip.h" |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Private Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_ethernetmac |
||||
* |
||||
* Description: |
||||
* For the Ethernet Eval Kits, the MAC address will be stored in the non-volatile |
||||
* USER0 and USER1 registers. If CONFIG_LM3S_BOARDMAC is defined, this function |
||||
* will obtain the MAC address from these registers. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
#ifdef CONFIG_LM3S_BOARDMAC |
||||
void lm3s_ethernetmac(struct ether_addr *ethaddr) |
||||
{ |
||||
uint32_t user0; |
||||
uint32_t user1; |
||||
|
||||
/* Get the current value of the user registers */ |
||||
|
||||
user0 = getreg32(LM3S_FLASH_USERREG0); |
||||
user1 = getreg32(LM3S_FLASH_USERREG1); |
||||
|
||||
nlldbg("user: %06x:%06x\n", user1 & 0x00ffffff, user0 & 0x00ffffff); |
||||
DEBUGASSERT(user0 != 0xffffffff && user1 != 0xffffffff); |
||||
|
||||
/* Re-format that MAC address the way that uIP expects to see it */ |
||||
|
||||
ethaddr->ether_addr_octet[0] = ((user0 >> 0) & 0xff); |
||||
ethaddr->ether_addr_octet[1] = ((user0 >> 8) & 0xff); |
||||
ethaddr->ether_addr_octet[2] = ((user0 >> 16) & 0xff); |
||||
ethaddr->ether_addr_octet[3] = ((user1 >> 0) & 0xff); |
||||
ethaddr->ether_addr_octet[4] = ((user1 >> 8) & 0xff); |
||||
ethaddr->ether_addr_octet[5] = ((user1 >> 16) & 0xff); |
||||
} |
||||
#endif |
||||
/************************************************************************************
|
||||
* configs/lm3s6965-ek/src/up_ethernet.c |
||||
* arch/arm/src/board/up_ethernet.c |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
|
||||
#include <stdint.h> |
||||
#include <debug.h> |
||||
#include <assert.h> |
||||
|
||||
#include <arch/board/board.h> |
||||
#include <net/ethernet.h> |
||||
|
||||
#include "up_arch.h" |
||||
#include "chip.h" |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Private Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_ethernetmac |
||||
* |
||||
* Description: |
||||
* For the Ethernet Eval Kits, the MAC address will be stored in the non-volatile |
||||
* USER0 and USER1 registers. If CONFIG_LM3S_BOARDMAC is defined, this function |
||||
* will obtain the MAC address from these registers. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
#ifdef CONFIG_LM3S_BOARDMAC |
||||
void lm3s_ethernetmac(struct ether_addr *ethaddr) |
||||
{ |
||||
uint32_t user0; |
||||
uint32_t user1; |
||||
|
||||
/* Get the current value of the user registers */ |
||||
|
||||
user0 = getreg32(LM3S_FLASH_USERREG0); |
||||
user1 = getreg32(LM3S_FLASH_USERREG1); |
||||
|
||||
nlldbg("user: %06x:%06x\n", user1 & 0x00ffffff, user0 & 0x00ffffff); |
||||
DEBUGASSERT(user0 != 0xffffffff && user1 != 0xffffffff); |
||||
|
||||
/* Re-format that MAC address the way that uIP expects to see it */ |
||||
|
||||
ethaddr->ether_addr_octet[0] = ((user0 >> 0) & 0xff); |
||||
ethaddr->ether_addr_octet[1] = ((user0 >> 8) & 0xff); |
||||
ethaddr->ether_addr_octet[2] = ((user0 >> 16) & 0xff); |
||||
ethaddr->ether_addr_octet[3] = ((user1 >> 0) & 0xff); |
||||
ethaddr->ether_addr_octet[4] = ((user1 >> 8) & 0xff); |
||||
ethaddr->ether_addr_octet[5] = ((user1 >> 16) & 0xff); |
||||
} |
||||
#endif |
||||
|
@ -1,162 +1,162 @@
@@ -1,162 +1,162 @@
|
||||
/************************************************************************************
|
||||
* configs/ekk-lm3s9b96/src/up_ssi.c |
||||
* arch/arm/src/board/up_ssi.c |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
|
||||
#include <stdint.h> |
||||
#include <stdbool.h> |
||||
#include <debug.h> |
||||
|
||||
#include <nuttx/spi.h> |
||||
#include <arch/board/board.h> |
||||
|
||||
#include "up_arch.h" |
||||
#include "chip.h" |
||||
#include "lm3s_internal.h" |
||||
#include "ekklm3s9b96_internal.h" |
||||
|
||||
#if !defined(CONFIG_SSI0_DISABLE) || !defined(CONFIG_SSI1_DISABLE) |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/* Enables debug output from this file (needs CONFIG_DEBUG too) */ |
||||
|
||||
#undef SSI_DEBUG /* Define to enable debug */ |
||||
#undef SSI_VERBOSE /* Define to enable verbose debug */ |
||||
|
||||
#ifdef SSI_DEBUG |
||||
# define ssidbg lldbg |
||||
# ifdef SSI_VERBOSE |
||||
# define ssivdbg lldbg |
||||
# else |
||||
# define ssivdbg(x...) |
||||
# endif |
||||
#else |
||||
# undef SSI_VERBOSE |
||||
# define ssidbg(x...) |
||||
# define ssivdbg(x...) |
||||
#endif |
||||
|
||||
/* Dump GPIO registers */ |
||||
|
||||
#ifdef SSI_VERBOSE |
||||
#if 0 |
||||
# define ssi_dumpgpio(m) lm3s_dumpgpio(SDCCS_GPIO, m) |
||||
#endif |
||||
#else |
||||
# define ssi_dumpgpio(m) |
||||
#endif |
||||
|
||||
/************************************************************************************
|
||||
* Private Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_ssiinitialize |
||||
* |
||||
* Description: |
||||
* Called to configure SPI chip select GPIO pins for the LM3S6965 Eval Kit. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
void weak_function lm3s_ssiinitialize(void) |
||||
{ |
||||
/* Configure the SPI CS GPIO */ |
||||
#if 0 |
||||
ssi_dumpgpio("lm3s_ssiinitialize() Entry)"); |
||||
ssi_dumpgpio("lm3s_ssiinitialize() Exit"); |
||||
#endif |
||||
} |
||||
|
||||
#if 0 |
||||
/****************************************************************************
|
||||
* The external functions, lm3s_spiselect and lm3s_spistatus must be provided |
||||
* by board-specific logic. The are implementations of the select and status |
||||
* methods SPI interface defined by struct spi_ops_s (see include/nuttx/spi.h). |
||||
* All othermethods (including up_spiinitialize()) are provided by common |
||||
* logic. To use this common SPI logic on your board: |
||||
* |
||||
* 1. Provide lm3s_spiselect() and lm3s_spistatus() functions in your |
||||
* board-specific logic. This function will perform chip selection and |
||||
* status operations using GPIOs in the way your board is configured. |
||||
* 2. Add a call to up_spiinitialize() in your low level initialization |
||||
* logic |
||||
* 3. The handle returned by up_spiinitialize() may then be used to bind the |
||||
* SPI driver to higher level logic (e.g., calling
|
||||
* mmcsd_spislotinitialize(), for example, will bind the SPI driver to |
||||
* the SPI MMC/SD driver). |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
void lm3s_spiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) |
||||
{ |
||||
ssidbg("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert"); |
||||
ssi_dumpgpio("lm3s_spiselect() Entry"); |
||||
if (devid == SPIDEV_MMCSD) |
||||
{ |
||||
/* Assert the CS pin to the card */ |
||||
|
||||
lm3s_gpiowrite(SDCCS_GPIO, !selected); |
||||
} |
||||
#ifdef CONFIG_NX_LCDDRIVER |
||||
else if (devid == SPIDEV_DISPLAY) |
||||
{ |
||||
/* Assert the CS pin to the display */ |
||||
|
||||
lm3s_gpiowrite(OLEDCS_GPIO, !selected); |
||||
} |
||||
#endif |
||||
ssi_dumpgpio("lm3s_spiselect() Exit"); |
||||
} |
||||
|
||||
uint8_t lm3s_spistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid) |
||||
{ |
||||
ssidbg("Returning SPI_STATUS_PRESENT\n"); |
||||
return SPI_STATUS_PRESENT; |
||||
} |
||||
#endif |
||||
#endif /* !CONFIG_SSI0_DISABLE || !CONFIG_SSI1_DISABLE */ |
||||
/************************************************************************************
|
||||
* configs/ekk-lm3s9b96/src/up_ssi.c |
||||
* arch/arm/src/board/up_ssi.c |
||||
* |
||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved. |
||||
* Authors: Gregory Nutt <gnutt@nuttx.org> |
||||
* Jose Pablo Rojas V. <jrojas@nx-engineering.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name NuttX nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Included Files |
||||
************************************************************************************/ |
||||
|
||||
#include <nuttx/config.h> |
||||
|
||||
#include <stdint.h> |
||||
#include <stdbool.h> |
||||
#include <debug.h> |
||||
|
||||
#include <nuttx/spi.h> |
||||
#include <arch/board/board.h> |
||||
|
||||
#include "up_arch.h" |
||||
#include "chip.h" |
||||
#include "lm3s_internal.h" |
||||
#include "ekklm3s9b96_internal.h" |
||||
|
||||
#if !defined(CONFIG_SSI0_DISABLE) || !defined(CONFIG_SSI1_DISABLE) |
||||
|
||||
/************************************************************************************
|
||||
* Definitions |
||||
************************************************************************************/ |
||||
|
||||
/* Enables debug output from this file (needs CONFIG_DEBUG too) */ |
||||
|
||||
#undef SSI_DEBUG /* Define to enable debug */ |
||||
#undef SSI_VERBOSE /* Define to enable verbose debug */ |
||||
|
||||
#ifdef SSI_DEBUG |
||||
# define ssidbg lldbg |
||||
# ifdef SSI_VERBOSE |
||||
# define ssivdbg lldbg |
||||
# else |
||||
# define ssivdbg(x...) |
||||
# endif |
||||
#else |
||||
# undef SSI_VERBOSE |
||||
# define ssidbg(x...) |
||||
# define ssivdbg(x...) |
||||
#endif |
||||
|
||||
/* Dump GPIO registers */ |
||||
|
||||
#ifdef SSI_VERBOSE |
||||
#if 0 |
||||
# define ssi_dumpgpio(m) lm3s_dumpgpio(SDCCS_GPIO, m) |
||||
#endif |
||||
#else |
||||
# define ssi_dumpgpio(m) |
||||
#endif |
||||
|
||||
/************************************************************************************
|
||||
* Private Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Public Functions |
||||
************************************************************************************/ |
||||
|
||||
/************************************************************************************
|
||||
* Name: lm3s_ssiinitialize |
||||
* |
||||
* Description: |
||||
* Called to configure SPI chip select GPIO pins for the LM3S6965 Eval Kit. |
||||
* |
||||
************************************************************************************/ |
||||
|
||||
void weak_function lm3s_ssiinitialize(void) |
||||
{ |
||||
/* Configure the SPI CS GPIO */ |
||||
#if 0 |
||||
ssi_dumpgpio("lm3s_ssiinitialize() Entry"); |
||||
ssi_dumpgpio("lm3s_ssiinitialize() Exit"); |
||||
#endif |
||||
} |
||||
|
||||
#if 0 |
||||
/****************************************************************************
|
||||
* The external functions, lm3s_spiselect and lm3s_spistatus must be provided |
||||
* by board-specific logic. The are implementations of the select and status |
||||
* methods SPI interface defined by struct spi_ops_s (see include/nuttx/spi.h). |
||||
* All othermethods (including up_spiinitialize()) are provided by common |
||||
* logic. To use this common SPI logic on your board: |
||||
* |
||||
* 1. Provide lm3s_spiselect() and lm3s_spistatus() functions in your |
||||
* board-specific logic. This function will perform chip selection and |
||||
* status operations using GPIOs in the way your board is configured. |
||||
* 2. Add a call to up_spiinitialize() in your low level initialization |
||||
* logic |
||||
* 3. The handle returned by up_spiinitialize() may then be used to bind the |
||||
* SPI driver to higher level logic (e.g., calling
|
||||
* mmcsd_spislotinitialize(), for example, will bind the SPI driver to |
||||
* the SPI MMC/SD driver). |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
void lm3s_spiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) |
||||
{ |
||||
ssidbg("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert"); |
||||
ssi_dumpgpio("lm3s_spiselect() Entry"); |
||||
if (devid == SPIDEV_MMCSD) |
||||
{ |
||||
/* Assert the CS pin to the card */ |
||||
|
||||
lm3s_gpiowrite(SDCCS_GPIO, !selected); |
||||
} |
||||
#ifdef CONFIG_NX_LCDDRIVER |
||||
else if (devid == SPIDEV_DISPLAY) |
||||
{ |
||||
/* Assert the CS pin to the display */ |
||||
|
||||
lm3s_gpiowrite(OLEDCS_GPIO, !selected); |
||||
} |
||||
#endif |
||||
ssi_dumpgpio("lm3s_spiselect() Exit"); |
||||
} |
||||
|
||||
uint8_t lm3s_spistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid) |
||||
{ |
||||
ssidbg("Returning SPI_STATUS_PRESENT\n"); |
||||
return SPI_STATUS_PRESENT; |
||||
} |
||||
#endif |
||||
#endif /* !CONFIG_SSI0_DISABLE || !CONFIG_SSI1_DISABLE */ |
||||
|
Loading…
Reference in new issue