# HG changeset patch # User gthomas # Date 1069765655 0 # Node ID 90a372a537a8761c7f1c6cc16cc5c7c03716d388 # Parent 08e1358c37185af2819cb840b5907c33f41c4232 Flash drivers for GPS-4020 diff --git a/packages/devs/flash/arm/gps4020/current/ChangeLog b/packages/devs/flash/arm/gps4020/current/ChangeLog new file mode 100644 --- /dev/null +++ b/packages/devs/flash/arm/gps4020/current/ChangeLog @@ -0,0 +1,39 @@ +2003-11-10 Gary Thomas + + * src/gps4020_flash.c: + * cdl/flash_gps4020.cdl: New package - flash driver for GPS-4020 + +//=========================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// +// 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. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//=========================================================================== diff --git a/packages/devs/flash/arm/gps4020/current/cdl/flash_gps4020.cdl b/packages/devs/flash/arm/gps4020/current/cdl/flash_gps4020.cdl new file mode 100644 --- /dev/null +++ b/packages/devs/flash/arm/gps4020/current/cdl/flash_gps4020.cdl @@ -0,0 +1,71 @@ +# ==================================================================== +# +# flash_gps4020.cdl +# +# FLASH memory - Hardware support on GPS4020 board +# +# ==================================================================== +#####ECOSGPLCOPYRIGHTBEGIN#### +## ------------------------------------------- +## This file is part of eCos, the Embedded Configurable Operating System. +## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +## Copyright (C) 2003 Nick Garnett +## Copyright (C) 2003 Gary Thomas +## +## 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. +## +## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +## at http://sources.redhat.com/ecos/ecos-license/ +## ------------------------------------------- +#####ECOSGPLCOPYRIGHTEND#### +# ==================================================================== +######DESCRIPTIONBEGIN#### +# +# Author(s): gthomas, hmt, jskov, tdrury, nickg +# Original data: gthomas +# Contributors: gthomas +# Date: 2001-02-20 +# +#####DESCRIPTIONEND#### +# +# ==================================================================== + +cdl_package CYGPKG_DEVS_FLASH_GPS4020 { + display "GPS4020 board FLASH memory support" + description "FLASH memory device support for GPS4020 board" + + parent CYGPKG_IO_FLASH + active_if CYGPKG_IO_FLASH + requires CYGPKG_HAL_ARM_GPS4020 + + compile gps4020_flash.c + + # Arguably this should do in the generic package + # but then there is a logic loop so you can never enable it. + cdl_interface CYGINT_DEVS_FLASH_ATMEL_AT49XXXX_REQUIRED { + display "Generic Atmel AM49XXXX driver required" + } + + implements CYGINT_DEVS_FLASH_ATMEL_AT49XXXX_REQUIRED +} diff --git a/packages/devs/flash/arm/gps4020/current/src/gps4020_flash.c b/packages/devs/flash/arm/gps4020/current/src/gps4020_flash.c new file mode 100644 --- /dev/null +++ b/packages/devs/flash/arm/gps4020/current/src/gps4020_flash.c @@ -0,0 +1,69 @@ +//========================================================================== +// +// gps4020_flash.c +// +// Flash programming for Atmel device on GPS4020 board +// +//========================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2003 Nick Garnett +// Copyright (C) 2003 Gary Thomas +// +// 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. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jskov, tdrury +// Contributors: jskov, nickg +// Date: 2002-07-08 +// Purpose: +// Description: +// +//####DESCRIPTIONEND#### +// +//========================================================================== + + +// There's a single AT29LV200BB on the GPS4020 board. + +#define CYGHWR_DEVS_FLASH_ATMEL_AT29LV200BB +#define CYGNUM_FLASH_INTERLEAVE (1) +#define CYGNUM_FLASH_WIDTH (16) +#define CYGNUM_FLASH_SERIES (1) +#define CYGNUM_FLASH_BASE (0x60000000u) +#define CYGNUM_FLASH_ID_MANUFACTURER (0x01) + +#include "cyg/io/flash_at49xxxx.inl" + + +// ------------------------------------------------------------------------ +// EOF gps4020_flash.c