📄 hal_arm_mac7100_mace1.cdl
字号:
# ====================================================================
#
# hal_arm_mac7100_mace1.cdl
#
# ARM MAC7100 MACE1 HAL package configuration data
#
# ====================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
## Copyright (C) 2003 Nick Garnett <nickg@calivar.com>
## Copyright (C) 2006 eCosCentric Ltd
##
## 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): Ilija Koco <ilijak@siva.com.mk>
# Contributors:
# Date: 2006-04-12
#
#####DESCRIPTIONEND####
#
# ====================================================================
cdl_package CYGPKG_HAL_ARM_MAC7100_MACE1 {
display "MACE1 - MAC7100 eval board HAL"
parent CYGPKG_HAL_ARM_MAC7100
define_header hal_arm_mac7100_mace1.h
include_dir cyg/hal
hardware
description "
The MACE1 HAL package provides the support needed to run
eCos on an MACE1 - MAC7100 eval board."
compile mace1_misc.c
requires { CYGHWR_HAL_ARM_MAC7100 == "MAC7121" }
requires { CYGNUM_PIT_CHAN_CLOCK_PRIORITY ==
CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY }
define_proc {
puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_arm.h>"
puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H <pkgconf/hal_arm_mac7100.h>"
puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_mac7100_mace1.h>"
puts $::cdl_header "#define HAL_PLATFORM_CPU \"ARM7TDMI\""
puts $::cdl_header "#define HAL_PLATFORM_BOARD \"Freescale MAC7100/MACE1\""
puts $::cdl_header "#define HAL_PLATFORM_EXTRA \"\""
}
cdl_component CYG_PIT_CLOCKS {
display "Real time clock configuration."
flavor none
description "
Periodic Interrupt Timer Module - PIT comprizes 11 timer
channels. RTI channel (PIT0) as well as PIT1 .. PIT4 can
generate interrupts and are eligible for the real time
clock. "
cdl_option CYGNUM_PIT_CHAN_CLOCK {
display "System CLOCK device"
flavor data
legal_values 0 to 4
default_value 3
requires {CYGNUM_PIT_CHAN_CLOCK != CYGNUM_PIT_CHAN_US}
description "
RTI (PIT0) and PIT1 .. PIT4 can be used for ral time
clock. RTI is clocked by oscillator clock while
channels 1 to 4 by 1/2 system clock frequency.
Selection of RTI vs PIT1 .. PIT4 affects Real-time
clock period (see Real-time clock constants). NOTE:
Real time clock channel must not be the same as US
delay channel.
"
}
cdl_option CYGNUM_PIT_CHAN_CLOCK_PRIORITY {
display "System clock's INTC priority"
flavor data
legal_values 0 to 15
default_value 12
description "
INTC has 16 interrupt levels: 0 (lowest) to 15 (highest).
"
}
cdl_option CYGNUM_PIT_CHAN_US {
display "PIT channel for us delay"
flavor data
legal_values 0 to 4
default_value 0
requires {CYGNUM_PIT_CHAN_CLOCK != CYGNUM_PIT_CHAN_US}
description "
RTI is clocked by oscillator while channels PIT1
.. PIT4 by half system clock frequency, hence RTI
should allow for larger maximal period. NOTE: US
delay channel must not be the same as real time clock
channel.
"
}
}
cdl_component CYGNUM_HAL_RTC_CONSTANTS {
display "Real-time clock constants"
flavor none
cdl_option CYGNUM_HAL_RTC_NUMERATOR {
display "Real-time clock numerator"
flavor data
default_value 1000000000
}
cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
display "Real-time clock denominator"
flavor data
default_value 100
}
cdl_option CYGNUM_HAL_RTC_PERIOD {
display "Real-time clock period"
flavor data
default_value (CYGNUM_PIT_CHAN_CLOCK !=0 ? \
(CYGNUM_HAL_ARM_MAC7100_CLOCK_SPEED / 2 / CYGNUM_HAL_RTC_DENOMINATOR - 1) : \
(CYGNUM_HAL_ARM_MAC7100_Q_FREQ / CYGNUM_HAL_RTC_DENOMINATOR - 1))
}
}
cdl_component CYG_HAL_STARTUP {
display "Startup type"
flavor data
calculated {"ROM"}
no_define
define -file system.h CYG_HAL_STARTUP
description "
Current MACE1 port supports only ROM startup type."
}
# Real-time clock/counter specifics
cdl_component CYG_HAL_MAC7100_OSC {
display "System Clocks Module"
flavor none
cdl_option CYGNUM_HAL_ARM_MAC7100_F_OSC {
display "FOSC - Oscillator clock"
flavor data
default_value 8000000
}
cdl_option CYGNUM_HAL_ARM_MAC7100_FDIV {
display "FDIV - Frequency divider for PLL"
flavor booldata
legal_values 0 to 16
default_value 2
description "
If enabled (FDIV != 0),
you set divider for PLL.
Then REFDV is calculated as REFDV=FDIV-1;
If disabled (FDIV == 0),
REFDV is calculated from FOSC so that referent frequency
for PLL is 500kHz.
SYNR is then derived from desired CPU clock, FOSC and REFDV.
"
}
}
cdl_option CYGNUM_HAL_ARM_MAC7100_CLOCK_SPEED {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -