OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/ecos-2.0/packages/devs/flash/arm/integrator
    from Rev 27 to Rev 174
    Reverse comparison

Rev 27 → Rev 174

/v2_0/cdl/flash_integrator.cdl
0,0 → 1,71
# ====================================================================
#
# flash_integrator.cdl
#
# FLASH memory - Hardware support on ARM Integrator
#
# ====================================================================
#####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####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): jskov, nickg
# Contributors: jskov
# Date: 2002-02-27
#
#####DESCRIPTIONEND####
#
# ====================================================================
 
cdl_package CYGPKG_DEVS_FLASH_ARM_INTEGRATOR {
display "ARM Integrator FLASH memory support"
 
parent CYGPKG_IO_FLASH
active_if CYGPKG_IO_FLASH
requires CYGPKG_HAL_ARM_INTEGRATOR
 
implements CYGHWR_IO_FLASH_DEVICE
 
compile arm_integrator_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_INTEL_28FXXX_REQUIRED {
display "Generic Intel FlashFile driver required"
}
 
implements CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
 
requires CYGHWR_DEVS_FLASH_INTEL_28F320S3
}
/v2_0/src/arm_integrator_flash.c
0,0 → 1,106
//==========================================================================
//
// arm_integrator_flash.c
//
// Flash programming for Intel FlashFile devices on ARM Integrator board
//
//==========================================================================
//####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####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): jskov
// Contributors: jskov
// Date: 2001-08-07
// Purpose:
// Description:
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
//--------------------------------------------------------------------------
// Device properties
 
// We use the eight Intel 28F320S3 parts on the Integrator board.
// These are arranged in a 2x4 grid, giving 32 bits wide by 32MB long.
 
#define CYGNUM_FLASH_INTERLEAVE (2)
#define CYGNUM_FLASH_SERIES (4)
#define CYGNUM_FLASH_WIDTH (16)
#define CYGNUM_FLASH_BASE (0x24000000)
 
//--------------------------------------------------------------------------
// Platform specific extras
 
#define CYGHWR_FLASH_WRITE_ENABLE() \
{ \
volatile cyg_uint32 *ebi_csr1 = (volatile cyg_uint32 *)INTEGRATOR_EBI_CSR1; \
\
/* allow write access to EBI_CSR1 area (Flash) */ \
*ebi_csr1 |= INTEGRATOR_EBI_WRITE_ENABLE; \
\
if (!(*ebi_csr1 & INTEGRATOR_EBI_WRITE_ENABLE)) { \
*(volatile cyg_uint32 *)INTEGRATOR_EBI_LOCK = 0xA05F; \
*ebi_csr1 |= INTEGRATOR_EBI_WRITE_ENABLE; \
*(volatile cyg_uint32 *)INTEGRATOR_EBI_LOCK = 0; \
} \
\
/* Enable Vpp and allow write access to Flash in system controller */ \
*(volatile unsigned int *)INTEGRATOR_SC_CTRLS = FL_SC_CONTROL; \
}
 
#define CYGHWR_FLASH_WRITE_DISABLE() \
{ \
volatile cyg_uint32 *ebi_csr1 = (volatile cyg_uint32 *)INTEGRATOR_EBI_CSR1; \
\
/* disable write access to EBI_CSR1 area (Flash) */ \
*ebi_csr1 &= ~INTEGRATOR_EBI_WRITE_ENABLE; \
\
if (*ebi_csr1 & INTEGRATOR_EBI_WRITE_ENABLE) { \
*(volatile cyg_uint32 *)INTEGRATOR_EBI_LOCK = 0xA05F; \
*ebi_csr1 &= ~INTEGRATOR_EBI_WRITE_ENABLE; \
*(volatile cyg_uint32 *)INTEGRATOR_EBI_LOCK = 1; \
} \
\
/* Disable Vpp and disable write access to Flash in system controller */ \
*(volatile unsigned int *)INTEGRATOR_SC_CTRLS = 0; \
}
 
//--------------------------------------------------------------------------
// Now include the driver code.
#include "cyg/io/flash_28fxxx.inl"
 
// ------------------------------------------------------------------------
// EOF arm_integrator_flash.c
/v2_0/ChangeLog
0,0 → 1,55
2002-03-06 Nick Garnett <nickg@redhat.com>
 
* cdl/flash_integrator.cdl: Converted to use generic 28Fxxx flash
driver.
 
* src/arm_integrator_flash.c:
This file added to parameterize generic FLASH driver. Also define
here CYGHWR_FLASH_WRITE_ENABLE() and CYGHWR_FLASH_WRITE_DISABLE()
to turn FLASH writing on and off.
 
* src/flash.h:
* src/flash_erase_block.c:
* src/flash_program_buf.c:
* src/flash_query.c:
Files removed. These are the old flash driver.
2001-10-30 Philippe Robin <Philippe.Robin@arm.com>
2001-10-30 Jonathan Larmour <jlarmour@redhat.com>
 
* Initial version of ARM Integrator flash driver.
 
//===========================================================================
//####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####
//===========================================================================

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.