changeset 2219:489a5c05d367

* AT91SAM7X-EK development board package
author asl
date Fri, 02 Jun 2006 18:22:22 +0000
parents 24aa459b08a5
children f0e05d8186d4
files packages/hal/arm/at91/at91sam7sek/current/ChangeLog packages/hal/arm/at91/at91sam7sek/current/cdl/hal_arm_at91sam7sek.cdl packages/hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c packages/hal/arm/at91/at91sam7xek/current/ChangeLog packages/hal/arm/at91/at91sam7xek/current/cdl/hal_arm_at91sam7xek.cdl packages/hal/arm/at91/at91sam7xek/current/src/at91sam7xek_misc.c
diffstat 6 files changed, 349 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/packages/hal/arm/at91/at91sam7sek/current/ChangeLog
@@ -0,0 +1,35 @@
+2006-05-20  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* AT91SAM7X-EK development board package
+
+//===========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2006 Andrew Lunn <andrew.lunn@ascom.ch>
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//===========================================================================
new file mode 100644
--- /dev/null
+++ b/packages/hal/arm/at91/at91sam7sek/current/cdl/hal_arm_at91sam7sek.cdl
@@ -0,0 +1,64 @@
+# ====================================================================
+#
+#      hal_arm_at91_sam7sek.cdl
+#
+#      ARM AT91 SAM7S EK development board package configuration data
+#
+# ====================================================================
+#####ECOSGPLCOPYRIGHTBEGIN####
+## Copyright (C) 2006 Andrew Lunn
+##
+## eCos is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free
+## Software Foundation; either version 2 or (at your option) any later version.
+##
+## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+## WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+## for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with eCos; if not, write to the Free Software Foundation, Inc.,
+## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+##
+## As a special exception, if other files instantiate templates or use macros
+## or inline functions from this file, or you compile this file and link it
+## with other works to produce a work based on this file, this file does not
+## by itself cause the resulting work to be covered by the GNU General Public
+## License. However the source code for this file must still be made available
+## in accordance with section (3) of the GNU General Public License.
+##
+## This exception does not invalidate any other reasons why a work based on
+## this file might be covered by the GNU General Public License.
+## -------------------------------------------
+#####ECOSGPLCOPYRIGHTEND####
+# ====================================================================
+######DESCRIPTIONBEGIN####
+#
+# Author(s):      andrew lunn
+# Contributors:   
+# Date:           2006-05-20
+#
+#####DESCRIPTIONEND####
+#
+# ====================================================================
+
+cdl_package CYGPKG_HAL_ARM_AT91SAM7SEK {
+    display       "Atmel AT91SAM7S EK development board"
+    parent        CYGPKG_HAL_ARM_AT91SAM7
+    define_header hal_arm_at91sam7sek.h
+    include_dir   cyg/hal
+    hardware
+    description   "
+        The AT91SAM7SEK HAL package provides the support needed to run
+        eCos on an Atmel AT91SAM7S-EK development board."
+
+    compile       at91sam7sek_misc.c
+    
+    requires      { CYGHWR_HAL_ARM_AT91 == "AT91SAM7S" }
+    requires      { CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7s256" ||
+                    CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7s128" ||
+                    CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7s64"  ||
+                    CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7s32"  ||
+                    CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7s321" }
+}
new file mode 100644
--- /dev/null
+++ b/packages/hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c
@@ -0,0 +1,77 @@
+/*==========================================================================
+//
+//      at91sam7sek_misc.c
+//
+//      HAL misc board support code for Atmel AT91sam7s EK board
+//
+//==========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2006 Andrew Lunn <andrew.lunn@ascom.ch>
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):    andrew lunn
+// Contributors: Oliver Munz, Andrew Lunn
+// Date:         2006-06-20
+// Purpose:      HAL board support
+// Description:  Implementations of HAL board interfaces
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <pkgconf/system.h>
+#include <pkgconf/hal.h>
+
+#include <cyg/hal/hal_io.h>             // IO macros
+
+// The development board has four LEDs
+void 
+hal_at91_led (int val)
+{
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PA0, AT91_PIN_OUT);
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PA1, AT91_PIN_OUT);
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PA2, AT91_PIN_OUT);
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PA3, AT91_PIN_OUT);
+  
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PA0, AT91_PIN_PULLUP_DISABLE);
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PA1, AT91_PIN_PULLUP_DISABLE);
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PA2, AT91_PIN_PULLUP_DISABLE);
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PA3, AT91_PIN_PULLUP_DISABLE);
+
+  // Set the bits. The logic is inverted 
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA1, !(val & 1));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA2, !(val & 2));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA3, !(val & 4));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA4, !(val & 8));
+}
+
+//--------------------------------------------------------------------------
+// EOF at91sam7sek_misc.c
new file mode 100644
--- /dev/null
+++ b/packages/hal/arm/at91/at91sam7xek/current/ChangeLog
@@ -0,0 +1,35 @@
+2006-05-20  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* AT91SAM7X-EK development board package
+
+//===========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2006 Andrew Lunn <andrew.lunn@ascom.ch>
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//===========================================================================
new file mode 100644
--- /dev/null
+++ b/packages/hal/arm/at91/at91sam7xek/current/cdl/hal_arm_at91sam7xek.cdl
@@ -0,0 +1,61 @@
+# ====================================================================
+#
+#      hal_arm_at91_sam7xek.cdl
+#
+#      ARM AT91 SAM7X EK development board package configuration data
+#
+# ====================================================================
+#####ECOSGPLCOPYRIGHTBEGIN####
+## Copyright (C) 2006 Andrew Lunn
+##
+## eCos is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free
+## Software Foundation; either version 2 or (at your option) any later version.
+##
+## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+## WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+## for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with eCos; if not, write to the Free Software Foundation, Inc.,
+## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+##
+## As a special exception, if other files instantiate templates or use macros
+## or inline functions from this file, or you compile this file and link it
+## with other works to produce a work based on this file, this file does not
+## by itself cause the resulting work to be covered by the GNU General Public
+## License. However the source code for this file must still be made available
+## in accordance with section (3) of the GNU General Public License.
+##
+## This exception does not invalidate any other reasons why a work based on
+## this file might be covered by the GNU General Public License.
+## -------------------------------------------
+#####ECOSGPLCOPYRIGHTEND####
+# ====================================================================
+######DESCRIPTIONBEGIN####
+#
+# Author(s):      andrew lunn
+# Contributors:   
+# Date:           2006-05-20
+#
+#####DESCRIPTIONEND####
+#
+# ====================================================================
+
+cdl_package CYGPKG_HAL_ARM_AT91SAM7XEK {
+    display       "Atmel AT91SAM7X EK development board"
+    parent        CYGPKG_HAL_ARM_AT91SAM7
+    define_header hal_arm_at91sam7xek.h
+    include_dir   cyg/hal
+    hardware
+    description   "
+        The AT91SAM7XEK HAL package provides the support needed to run
+        eCos on an Atmel AT91SAM7X-EK development board."
+
+    compile       at91sam7xek_misc.c
+    
+    requires      { CYGHWR_HAL_ARM_AT91 == "AT91SAM7S" }
+    requires      { CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7x256" ||
+                    CYGHWR_HAL_ARM_AT91SAM7 == "at91sam7x128" }
+}
new file mode 100644
--- /dev/null
+++ b/packages/hal/arm/at91/at91sam7xek/current/src/at91sam7xek_misc.c
@@ -0,0 +1,77 @@
+/*==========================================================================
+//
+//      at91sam7xek_misc.c
+//
+//      HAL misc board support code for Atmel AT91SAM7X EK board
+//
+//==========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2006 Andrew Lunn <andrew.lunn@ascom.ch>
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):    andrew lunn
+// Contributors: Andrew Lunn, John Eigelaar
+// Date:         2006-06-20
+// Purpose:      HAL board support
+// Description:  Implementations of HAL board interfaces
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <pkgconf/system.h>
+#include <pkgconf/hal.h>
+
+#include <cyg/hal/hal_io.h>             // IO macros
+
+// The development board has four LEDs
+void 
+hal_at91_led (int val)
+{
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PB19, AT91_PIN_OUT);
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PB20, AT91_PIN_OUT);
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PB21, AT91_PIN_OUT);
+  HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PB22, AT91_PIN_OUT);
+  
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PB19, AT91_PIN_PULLUP_DISABLE);
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PB20, AT91_PIN_PULLUP_DISABLE);
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PB21, AT91_PIN_PULLUP_DISABLE);
+  HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PB22, AT91_PIN_PULLUP_DISABLE);
+
+  // Set the bits. The logic is inverted 
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PB19, !(val & 1));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PB20, !(val & 2));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PB21, !(val & 4));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PB22, !(val & 8));
+}
+
+//--------------------------------------------------------------------------
+// EOF at91sam7sek_misc.c