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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [m68k/] [mcf52xx/] [mcf5272/] [proc/] [current/] [cdl/] [hal_m68k_mcf5272.cdl] - Rev 856

Go to most recent revision | Compare with Previous | Blame | View Log

# ====================================================================
#
#      hal_m68k_mcf5272.cdl
#
#      Processor settings for a Freescale mcf5272
#
# ====================================================================
# ####ECOSGPLCOPYRIGHTBEGIN####                                             
# -------------------------------------------                               
# This file is part of eCos, the Embedded Configurable Operating System.    
# Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, 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.,     
# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 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 v2.                                                
#
# 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):     bartv
# Date:          2003-06-04
#
#####DESCRIPTIONEND####
#========================================================================

cdl_package CYGPKG_HAL_M68K_MCF5272 {
    display         "MCF5272 ColdFire variant HAL"
    doc             ref/hal-m68k-mcf5272.html
    parent          CYGPKG_HAL_M68K_MCFxxxx
    requires        CYGPKG_HAL_M68K_MCFxxxx
    implements      CYGINT_HAL_M68K_VARIANT_CACHE
    implements      CYGINT_HAL_M68K_VARIANT_IRAM
    hardware
    include_dir     cyg/hal

    description   "The mcf5272 M68k/ColdFire processor HAL package provides
                generic support for this processor."
    
    compile     mcf5272.c
    define_proc {
        puts $::cdl_system_header "#define CYGBLD_HAL_PROC_H   <pkgconf/hal_m68k_mcf5272.h>"
    }

    cdl_component CYGPKG_HAL_M68K_MCF5272_HARDWARE {
        display     "Board-specific details"
        flavor      none

        cdl_component CYGHWR_HAL_M68K_MCF5272_GPIO {
            display     "Configure GPIO pins"
            flavor      none
            active_if   CYGHWR_HAL_M68K_MCF5272_BOARD_PINS
            script      gpio.cdl

            description "
              MCF5272 processors have 48 multi-purpose pins which can
              be used for on-chip peripherals or for general purpose I/O.
              Provided the platform HAL provides the appropriate information
              the processor HAL will automatically set up each pin early on
              during system initialization."
        }

        cdl_component CYGHWR_HAL_M68K_MCFxxxx_UART0 {
            display     "UART0 details"
            flavor      bool
            default_value { (CYGHWR_HAL_M68K_MCF5272_GPIO_PORTB_PB0 == "txd0") || (CYGHWR_HAL_M68K_MCF5272_GPIO_PORTB_PB1 == "rxd0") }
            description "
              MCF5272 processors have three built-in UARTs which can be
              used for HAL diagnostics or through the serial driver
              CYGPKG_DEVS_SERIAL_MCFxxxx. By default support for each
              UART is enabled if the relevant GPIO configuration options
              are appropriate, disabled otherwise. Users can override this if
              necessary, for example if the pins should come up in GPIO mode
              but may be switched to UART mode later on."
            
            cdl_option CYGHWR_HAL_M68K_MCFxxxx_UART0_RTS {
                display     "UART0 RTS connected"
                flavor      bool
                default_value  { CYGHWR_HAL_M68K_MCF5272_GPIO_PORTB_PB3 == "rts0" }
                implements      CYGINT_IO_SERIAL_FLOW_CONTROL_HW
                description "
                  This option enables support elsewhere in the system
                  when the UART0 RTS signal is connected to a processor pin."
            }
            
            cdl_option CYGHWR_HAL_M68K_MCFxxxx_UART0_CTS {
                display     "UART0 CTS connected"
                flavor      bool
                default_value  { CYGHWR_HAL_M68K_MCF5272_GPIO_PORTB_PB2 == "cts0" }
                implements      CYGINT_IO_SERIAL_FLOW_CONTROL_HW
                description "
                  This option enables support elsewhere in the system
                  when the UART0 CTS signal is connected to a processor pin."
            }

            cdl_option CYGHWR_HAL_M68K_MCFxxxx_UART0_RS485_RTS {
                display         "UART0 RS485 support"
                flavor          bool
                default_value   0
                active_if       CYGHWR_HAL_M68K_MCFxxxx_UART0_RTS
                requires        { CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT != "uart0" }
                description "
                  If the UART0 signals are connected to an RS485 transceiver instead of
                  an RS232 transceiver and the UART0 RTS line activates that transceiver
                  then this option can be enabled. It primarily affects h/w flow control
                  and transmit code within the generic mcfxxxx serial driver."
            }
        }
        
        cdl_component CYGHWR_HAL_M68K_MCFxxxx_UART1 {
            display     "UART1 details"
            flavor      bool
            default_value { (CYGHWR_HAL_M68K_MCF5272_GPIO_PORTD_PD4 == "txd1") || (CYGHWR_HAL_M68K_MCF5272_GPIO_PORTD_PD1 == "rxd1") }
            description "
              MCF5272 processors have two built-in UARTs which can be
              used for HAL diagnostics or through the serial driver
              CYGPKG_DEVS_SERIAL_MCFxxxx. By default support for each
              UART is enabled if the relevant GPIO configuration options
              are appropriate, disabled otherwise. Users can override this if
              necessary, for example if the pins should come up in GPIO mode
              but may be switched to UART mode later on."

            cdl_option CYGHWR_HAL_M68K_MCFxxxx_UART1_RTS {
                display     "UART1 RTS connected"
                flavor      bool
                default_value  { CYGHWR_HAL_M68K_MCF5272_GPIO_PORTD_PD3 == "rts1" }
                implements      CYGINT_IO_SERIAL_FLOW_CONTROL_HW
                description "
                  This option enables support elsewhere in the system
                  when the UART1 RTS signal is connected to a processor pin."
            }
            
            cdl_option CYGHWR_HAL_M68K_MCFxxxx_UART1_CTS {
                display     "UART1 CTS connected"
                flavor      bool
                default_value  { CYGHWR_HAL_M68K_MCF5272_GPIO_PORTD_PD2 == "cts1" }
                implements      CYGINT_IO_SERIAL_FLOW_CONTROL_HW
                description "
                  This option enables support elsewhere in the system
                  when the UART1 CTS signal is connected to a processor pin."
            }

            cdl_option CYGHWR_HAL_M68K_MCFxxxx_UART1_RS485_RTS {
                display         "UART1 RS485 support"
                flavor          bool
                default_value   0
                active_if       CYGHWR_HAL_M68K_MCFxxxx_UART1_RTS
                requires        { CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT != "uart1" }
                description "
                  If the UART1 signals are connected to an RS485 transceiver instead of
                  an RS232 transceiver and the UART1 RTS line activates that transceiver
                  then this option can be enabled. This primarily affects h/w flow control
                  and transmit code within the generic mcfxxxx serial driver."
            }
        }
    }
    
    cdl_option CYGIMP_HAL_M68K_MCF5272_IDLE {
        display         "Idle thread behaviour"
        flavor          data
        legal_values    { "run" "sleep" "stop" }
        default_value   { is_loaded(CYGPKG_CPULOAD) ? "run" : "sleep" }
        description "
            The processor can automatically enter a low power mode whenever
          the system is idle. In run mode the cpu just spins. In sleep mode
          the cpu clock is disabled but peripherals continue running, and any
          interrupt will wake up the cpu. In stop mode the on-chip peripherals
          are shut down as well and an external interrupt is required. The
          MCF5272 provides finer-grained control over power management via
          the PMR power management register but the processor HAL leaves
          this to the application."
    }
    
    cdl_option CYGFUN_HAL_M68K_MCF5272_PROFILE_TIMER {
        display         "Support profiling"
        active_if       CYGPKG_PROFILE_GPROF
        default_value   1
        implements      CYGINT_PROFILE_HAL_TIMER
        compile         mcf5272_profile.S

        description "
          The MCF5272 processor HAL can provide support for gprof-based
          profiling. This uses timer TMR2 to generate regular interrupts,
          and the interrupt handler records the PC at the time of the
          interrupt."
    }

    cdl_option CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MIN {
        display     "Lowest permitted interrupt priority"
        flavor      data
        calculated  1
        description "
            In the MCF5272 processor HAL interrupt priorities are mapped
            directly onto M68K IPL levels, so valid priorities are in the
            range 1 to 7. However IPL level 7 is non-maskable so should not
            be used by typical eCos code."
    }

    cdl_option CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MAX {
        display     "Lowest permitted interrupt priority"
        flavor      data
        calculated  6
        description "
            In the MCF5272 processor HAL interrupt priorities are mapped
            directly onto M68K IPL levels, so valid priorities are in the
            range 1 to 7. However IPL level 7 is non-maskable so should not
            be used by typical eCos code."
    }
}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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