1 # ====================================================================
5 # Philips LPC2XXX HAL package configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12 ## Copyright (C) 2003 Nick Garnett <nickg@calivar.com>
13 ## Copyright (C) 2004 eCosCentric Limited
15 ## eCos is free software; you can redistribute it and/or modify it under
16 ## the terms of the GNU General Public License as published by the Free
17 ## Software Foundation; either version 2 or (at your option) any later version.
19 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
20 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24 ## You should have received a copy of the GNU General Public License along
25 ## with eCos; if not, write to the Free Software Foundation, Inc.,
26 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28 ## As a special exception, if other files instantiate templates or use macros
29 ## or inline functions from this file, or you compile this file and link it
30 ## with other works to produce a work based on this file, this file does not
31 ## by itself cause the resulting work to be covered by the GNU General Public
32 ## License. However the source code for this file must still be made available
33 ## in accordance with section (3) of the GNU General Public License.
35 ## This exception does not invalidate any other reasons why a work based on
36 ## this file might be covered by the GNU General Public License.
37 ## -------------------------------------------
38 #####ECOSGPLCOPYRIGHTEND####
39 # ====================================================================
40 ######DESCRIPTIONBEGIN####
43 # Contributors: gthomas, tkoeller, tdrury, nickg
46 #####DESCRIPTIONEND####
48 # ====================================================================
50 cdl_package CYGPKG_HAL_ARM_LPC2XXX {
51 display "Philips LPC2XXX variant HAL"
53 define_header hal_arm_lpc2xxx.h
57 The LPC2XXX HAL package provides the support needed to run
58 eCos on Philips LPC2XXX based targets."
60 compile hal_diag.c lpc2xxx_misc.c
62 implements CYGINT_HAL_DEBUG_GDB_STUBS
63 implements CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
64 implements CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
65 implements CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
66 implements CYGINT_HAL_ARM_ARCH_ARM7
67 implements CYGINT_HAL_ARM_THUMB_ARCH
69 # Let the architectural HAL see this variant's files
71 puts $::cdl_header "#define CYGBLD_HAL_VAR_INTS_H <cyg/hal/hal_var_ints.h>"
72 puts $::cdl_system_header "#define CYGBLD_HAL_ARM_VAR_IO_H"
73 puts $::cdl_system_header "#define CYGBLD_HAL_ARM_VAR_ARCH_H"
76 cdl_option CYGHWR_HAL_ARM_LPC2XXX {
77 display "LPC2XXX variant used"
79 default_value {"LPC210x"}
80 legal_values {"LPC210x"
81 "LPC2114" "LPC2119" "LPC2124" "LPC2129" "LPC2132"
82 "LPC2138" "LPC2194" "LPC2212" "LPC2214" "LPC2290"
85 description "The LPC2XXX microcontroller family has several
86 variants, the main differences being the amount of
87 on-chip RAM, flash and peripherals. This option allows
88 the platform HALs to select the specific
89 microcontroller being used."
92 cdl_component CYGNUM_HAL_RTC_CONSTANTS {
93 display "Real-time clock constants"
96 cdl_option CYGNUM_HAL_RTC_NUMERATOR {
97 display "Real-time clock numerator"
99 default_value 1000000000
101 cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
102 display "Real-time clock denominator"
106 cdl_option CYGNUM_HAL_RTC_PERIOD {
107 display "Real-time clock period"
109 default_value { ((CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED) /
110 CYGNUM_HAL_RTC_DENOMINATOR) }
114 cdl_option CYGHWR_HAL_ARM_LPC2XXX_EXTINT_ERRATA {
115 display "EXTINT.1 errata workaround"
118 description "On some chips writing to the EXTPOLAR or EXTMODE
119 registers while VPBDIV is non-zero can corrupt the
120 latter. Also reading them will yield incorrect values.
121 Enable this option to work around the problem."