URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [sh/] [sh2/] [current/] [cdl/] [hal_sh_sh2.cdl] - Rev 786
Compare with Previous | Blame | View Log
# ====================================================================## hal_sh_sh2.cdl## SH2 variant HAL package configuration data## ====================================================================## ####ECOSGPLCOPYRIGHTBEGIN###### -------------------------------------------## This file is part of eCos, the Embedded Configurable Operating System.## Copyright (C) 1998, 1999, 2000, 2001, 2002 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): jskov# Original data: jskov# Contributors:# Date: 2002-01-09######DESCRIPTIONEND###### ====================================================================cdl_package CYGPKG_HAL_SH_SH2 {display "SH2 variant"parent CYGPKG_HAL_SHhardwareinclude_dir cyg/haldefine_header hal_sh_sh2.hdescription "The SH2 (SuperH 2) variant HAL package provides genericsupport for SH2 variant CPUs."requires CYGHWR_HAL_SH_BIGENDIANdefine_proc {puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H <pkgconf/hal_sh_sh2.h>"puts $::cdl_header "#define CYGBLD_HAL_VAR_EXCEPTION_MODEL_H <cyg/hal/hal_var_sp.h>"puts $::cdl_header "#define CYGBLD_HAL_VAR_EXCEPTION_MODEL_INC <cyg/hal/hal_var_sp.inc>"puts $::cdl_header "#define CYGBLD_HAL_VAR_INTR_MODEL_H <cyg/hal/hal_intr_vecs.h>"}compile sh2_sci.c sh2_scif.c var_misc.c variant.S# The "-o file" is a workaround for CR100958 - without it the# output file would end up in the source directory under CygWin.# n.b. grep does not behave itself under win32make -priority 1 {<PREFIX>/include/cyg/hal/sh2_offsets.inc : <PACKAGE>/src/var_mk_defs.c$(CC) $(ACTUAL_CFLAGS) $(INCLUDE_PATH) -Wp,-MD,sh2_offsets.tmp -o var_mk_defs.tmp -S $<fgrep .equ var_mk_defs.tmp | sed s/#// > $@@echo $@ ": \\" > $(notdir $@).deps@tail -n +2 sh2_offsets.tmp >> $(notdir $@).deps@echo >> $(notdir $@).deps@rm sh2_offsets.tmp var_mk_defs.tmp}# CPU variant supportedcdl_option CYGPKG_HAL_SH_7044 {display "SH 7044 microprocessor"parent CYGPKG_HAL_SH_CPUimplements CYGINT_HAL_SH_VARIANTimplements CYGINT_HAL_SH_CPG_T2default_value 1no_definedefine -file=system.h CYGPKG_HAL_SH_7044description "The SH2 7044 microprocessor. This is an embedded part that inaddition to the SH2 processor core has built in peripheralssuch as memory controllers, serial ports, and timers/counters.It also has some amount of flash memory."define_proc {puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H <cyg/hal/mod_7044.h>"}}cdl_option CYGPKG_HAL_SH_7615 {display "SH 7615 microprocessor"parent CYGPKG_HAL_SH_CPUimplements CYGINT_HAL_SH_VARIANTimplements CYGINT_HAL_SH_CPG_T1default_value 0no_definedefine -file=system.h CYGPKG_HAL_SH_7615description "The SH2 7615 microprocessor. This is an embedded part that inaddition to the SH2 processor core has built in peripheralssuch as memory controllers, serial ports, timers/counters, andethernet controller."define_proc {puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H <cyg/hal/mod_7615.h>"}}cdl_component CYGHWR_HAL_SH_CLOCK_SETTINGS {display "SH on-chip generic clock controls"description "The various clocks used by the system are controlled bythese options, some of which are derived from platformsettings."flavor noneno_definecdl_interface CYGINT_HAL_SH_CPG_T1 {display "Clock pulse generator type 1"}cdl_interface CYGINT_HAL_SH_CPG_T2 {display "Clock pulse generator type 2"}cdl_option CYGHWR_HAL_SH_FRT_PRESCALE {display "FRT prescaling"description "The free running timer used forthe real-time clock is prescaled by this factor."flavor dataactive_if CYGINT_HAL_SH_CPG_T1legal_values { 8 32 128 }default_value 8}cdl_option CYGHWR_HAL_SH_CMT_PRESCALE {display "CMT prescaling"description "The Compare Match Timer used forthe real-time clock is prescaled by this factor."flavor dataactive_if CYGINT_HAL_SH_CPG_T2legal_values { 8 32 128 512 }default_value 8}cdl_option CYGHWR_HAL_SH_RTC_PRESCALE {display "eCos RTC prescaling"flavor datacalculated { CYGHWR_HAL_SH_FRT_PRESCALE ? CYGHWR_HAL_SH_FRT_PRESCALE :CYGHWR_HAL_SH_CMT_PRESCALE ? CYGHWR_HAL_SH_CMT_PRESCALE :0}}cdl_option CYGHWR_HAL_SH_CLOCK_CKIO {display "CKIO clock"no_defineflavor data# CKIO is either XTAL (input = PLL2 disabled) or PLL2 outputcalculated { CYGINT_HAL_SH_CPG_T1 ? ((CYGHWR_HAL_SH_OOC_CLOCK_MODE >= 4 && CYGHWR_HAL_SH_OOC_CLOCK_MODE <= 6)? (CYGHWR_HAL_SH_OOC_XTAL): CYGHWR_HAL_SH_PLL2_OUTPUT): CYGINT_HAL_SH_CPG_T2 ? (CYGHWR_HAL_SH_OOC_XTAL): 0 }}cdl_option CYGHWR_HAL_SH_PLL1_OUTPUT {display "The clock output from PLL1"no_defineflavor datacalculated { CYGHWR_HAL_SH_CLOCK_CKIO * CYGHWR_HAL_SH_OOC_PLL_1 }}cdl_option CYGHWR_HAL_SH_PLL2_OUTPUT {display "The clock output from PLL2"no_defineflavor datacalculated { CYGINT_HAL_SH_CPG_T1 ? ((CYGHWR_HAL_SH_OOC_XTAL * CYGHWR_HAL_SH_OOC_PLL_2)): CYGINT_HAL_SH_CPG_T2 ? ((CYGHWR_HAL_SH_OOC_XTAL * CYGHWR_HAL_SH_OOC_PLL)): 0 }}cdl_option CYGHWR_HAL_SH_PROCESSOR_SPEED {display "Processor clock speed (MHz)"flavor datacalculated { CYGHWR_HAL_SH_PLL2_OUTPUT / CYGHWR_HAL_SH_OOC_DIVM }description "The core (CPU, cache and MMU) speed is computed fromthe input clock speed and the divider DIVM setting."}cdl_option CYGHWR_HAL_SH_BOARD_SPEED {display "Platform bus clock speed (MHz)"flavor datacalculated { CYGHWR_HAL_SH_CLOCK_CKIO }description "The platform bus speed is CKIO."}cdl_option CYGHWR_HAL_SH_ONCHIP_PERIPHERAL_SPEED {display "Processor on-chip peripheral clock speed (MHz)"flavor datacalculated { CYGHWR_HAL_SH_PLL2_OUTPUT / CYGHWR_HAL_SH_OOC_DIVP }description "The peripheral speed is computed from the input clockspeed and the divider DIVP setting."}}cdl_option CYGNUM_HAL_SH_SH2_SCI_BAUD_RATE {display "SCI serial port default baud rate"flavor datalegal_values { 4800 9600 14400 19200 38400 57600 115200 }default_value { CYGNUM_HAL_SH_SH2_SCI_BAUD_RATE_DEFAULT ? \CYGNUM_HAL_SH_SH2_SCI_BAUD_RATE_DEFAULT : 38400 }description "This controls the default baud rate used for communicatingwith GDB / displaying diagnostic output."}cdl_option CYGNUM_HAL_SH_SH2_SCIF_BAUD_RATE {display "SCIF serial ports default baud rate"flavor datalegal_values { 4800 9600 14400 19200 38400 57600 115200 }default_value { CYGNUM_HAL_SH_SH2_SCIF_BAUD_RATE_DEFAULT ? \CYGNUM_HAL_SH_SH2_SCIF_BAUD_RATE_DEFAULT : 38400 }description "This controls the default baud rate used for communicatingwith GDB / displaying diagnostic output."}cdl_option CYGHWR_HAL_SH_SH2_SCIF_ASYNC_RXTX {display "SCIF should support async RX/TX"default_value 0description "Some transceiver modes require the transmitter andreceiver to never be enabled at the same time. Enablingthis option lets clients enable async mode."}cdl_option CYGHWR_HAL_SH_SH2_SCIF_IRDA_TXRX_COMPENSATION {display "SCIF IrDA TX/RX switch compensation"default_value 1description "When switching from TX mode to RX mode, the controller causesa spurious 0xff character to be received at speeds up to57600 baud. At higher baud rates, more spurious charactersmay be received. Enabling this option tries to remove thespurious characters, but since there are no errors reportedfrom the controller, it is impossible to do so with any kindof precision.Having this option enabled makes RedBoot usable. There is amatching option in the eCos serial driver controlling asimilar kludge, allowing some eCos serial tests to run.It is an incomplete kludge however, and for any real use ofthe IrDA mode for data transmission, the option should bedisabled, and a protocol capable of handling the spuriousreceive characters must be used on top of the driver.Note that the problem is exaggerated when the baud rate ischanged."}cdl_component CYGPKG_HAL_SH_INTERRUPT {display "Interrupt controls"flavor noneno_definedescription "Initial interrupt settings can be specified using these option."cdl_option CYGHWR_HAL_SH_IRQ_HANDLE_SPURIOUS_INTERRUPTS {display "Handle spurious interrupts"default_value 0description "The SH2 may generate spurious interrupts with INTEVT = 0when changing the BL bit of the status register. Enablingthis option will cause such interrupts to be identifiedvery early in the interrupt handler and be ignored. Giventhat the SH HAL uses the I-mask to control interrupts,these spurious interrupts should not occur, and so thereshould be no reason to include the special handling code."}cdl_option CYGHWR_HAL_SH_IRQ_USE_IRQLVL {display "Use IRQ0-3 pins as IRL input"default_value 0description "It is possible for the IRQ0-3 pins to be used as IRLinputs by enabling this option."}cdl_option CYGHWR_HAL_SH_IRQ_ENABLE_IRLS_INTERRUPTS {display "Enable IRLS interrupt pins"default_value 0active_if CYGHWR_HAL_SH_IRQ_USE_IRQLVLdescription "IRLS interrupt pins must be specificallyactivated. When they are, they will cause the sametype of interrupt as those caused by the IRL pins. IfIRL and IRLS pins signal an interrupt at the sametime, the highest level interrupt will be generated.Only available on some cores, and probably share pinswith other interrupt sources (PINT) which cannot beused in this configuration."}}# Cache settingscdl_option CYGHWR_HAL_SH_CACHE_MODE {display "Select cache mode set at startup"parent CYGPKG_HAL_SH_CACHEdefault_value { "WRITE_BACK" }legal_values { "WRITE_BACK" "WRITE_THROUGH" }flavor datadescription "Controls what cache mode the cache should be put in atstartup. Write-back mode improvesperformance by letting dirty data to be kept in thecache for a period of time, allowing mutiple writes tothe same cache line to be written back to memory inone memory transaction. In Write-through mode, eachindividual write will cause a memory transaction."}}
