diff --git a/include/ChangeLog b/include/ChangeLog index 8f4d9f0a..703fc65f 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,10 @@ +2005-05-27 Branislav Petrovsky + + * h8/h8s2357/dac.h: New file. + * h8/h8s2357/flash.h: Ditto. + * h8/h8s2357/timer.h: Ditto. + * Makefile.am (nobase_openwinceinc_HEADERS): Added new files. + 2005-05-27 Branislav Petrovsky * h8/h8s2357/adc.h: New file. diff --git a/include/Makefile.am b/include/Makefile.am index ab44e052..cc3b6abe 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -87,7 +87,10 @@ nobase_openwinceinc_HEADERS = \ device/other/hd64461/stbsys.h \ device/other/hd64461/timer.h \ h8/h8s2357/adc.h \ + h8/h8s2357/dac.h \ + h8/h8s2357/flash.h \ h8/h8s2357/sci.h \ + h8/h8s2357/timer.h \ h8/h8s2357/tpu.h \ sh/sh7750/ccn.h \ std/mic.h diff --git a/include/NEWS b/include/NEWS index b1a852f0..5726d3ac 100644 --- a/include/NEWS +++ b/include/NEWS @@ -1,9 +1,8 @@ $Id$ - * Added Renesas H8S/2357 registers. - include-0.3.3: + * Added Renesas H8S/2357 registers. * Added Renesas SH7750 CCN registers. * Added Hitiachi HD64461 registers. * Added more manufacturer entries into Manufacturer's Identification Code database. diff --git a/include/h8/h8s2357/dac.h b/include/h8/h8s2357/dac.h new file mode 100644 index 00000000..0094f650 --- /dev/null +++ b/include/h8/h8s2357/dac.h @@ -0,0 +1,76 @@ +/* + * $Id$ + * + * H8S/2357 DAC Registers + * Copyright (C) 2005 Elcom s.r.o. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Written by Branislav Petrovsky , 2005. + * + * Documentation: + * [1] Renesas Technology Corp., "Hitachi 16-Bit Single-chip Microcomputer + * H8S/2357 Series, H8S/2357F-ZTAT, H8S/2398F-ZTAT Hardware Manual", + * Rev. 5.0, 11/22/02, Order Number: ADE-602-146D + * + */ + +#ifndef H8S2357_DAC_H +#define H8S2357_DAC_H + +#include + +#if LANGUAGE == C +#include +#endif + +/* DAC registers */ + +#define DAC_BASE 0xffffffa4 + +#if LANGUAGE == C +typedef struct DAC_registers { + uint8_t dadr0; + uint8_t dadr1; + uint8_t dacr; +} DAC_registers_t; + +#define DAC_pointer ((DAC_registers_t*) DAC_BASE) + +#define DADR0 DAC_pointer->dadr0 +#define DADR1 DAC_pointer->dadr1 +#define DACR DAC_pointer->dacr +#endif /* LANGUAGE == C */ + +#define DADR0_OFFSET 0x00 +#define DADR1_OFFSET 0x01 +#define DACR_OFFSET 0x02 + +/* DACR bits */ +#define DACR_DAOE1 bit(7) +#define DACR_DAOE0 bit(6) +#define DACR_DAE bit(5) + +#endif /* H8S2357_DAC_H */ diff --git a/include/h8/h8s2357/flash.h b/include/h8/h8s2357/flash.h new file mode 100644 index 00000000..c4213961 --- /dev/null +++ b/include/h8/h8s2357/flash.h @@ -0,0 +1,115 @@ +/* + * $Id$ + * + * H8S/2357 FLASH Registers + * Copyright (C) 2005 Elcom s.r.o. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Written by Branislav Petrovsky , 2005. + * + * Documentation: + * [1] Renesas Technology Corp., "Hitachi 16-Bit Single-chip Microcomputer + * H8S/2357 Series, H8S/2357F-ZTAT, H8S/2398F-ZTAT Hardware Manual", + * Rev. 5.0, 11/22/02, Order Number: ADE-602-146D + * + */ + +#ifndef H8S2357_FLASH_H +#define H8S2357_FLASH_H + +#include + +#if LANGUAGE == C +#include +#endif + +/* FLASH registers */ + +#define FLASH_BASE 0xffffffc8 + +#if LANGUAGE == C +typedef struct FLASH_registers { + uint8_t flmcr1; + uint8_t flmcr2; + uint8_t ebr1; + uint8_t ebr2; +} FLASH_registers_t; + +#define FLASH_pointer ((FLASH_registers_t*) FLASH_BASE) + +#define FLMCR1 FLASH_pointer->flmcr1 +#define FLMCR2 FLASH_pointer->flmcr2 +#define EBR1 FLASH_pointer->ebr1 +#define EBR2 FLASH_pointer->ebr2 +#endif /* LANGUAGE == C */ + +#define FLMCR1_OFFSET 0x00 +#define FLMCR2_OFFSET 0x01 +#define EBR1_OFFSET 0x02 +#define EBR2_OFFSET 0x03 + +/* FLMCR1 bits */ +#define FLMCR1_FWE bit(7) +#define FLMCR1_SWE bit(6) +#define FLMCR1_ESU bit(5) /* 2398F-ZTAT */ +#define FLMCR1_PSU bit(4) /* 2398F-ZTAT */ +#define FLMCR1_EV bit(3) +#define FLMCR1_PV bit(2) +#define FLMCR1_E bit(1) +#define FLMCR1_P bit(0) + +/* FLMCR2 bits */ +#define FLMCR2_FLER bit(7) +#define FLMCR2_ESU bit(1) /* 2357F-ZTAT */ +#define FLMCR2_PSU bit(0) /* 2357F-ZTAT */ + +/* EBR1 bits */ +#define EBR1_EB9 bit(1) /* 2357F-ZTAT */ +#define EBR1_EB8 bit(0) /* 2357F-ZTAT */ +#define EBR1_EB7 bit(7) /* 2398F-ZTAT */ +#define EBR1_EB6 bit(6) /* 2398F-ZTAT */ +#define EBR1_EB5 bit(5) /* 2398F-ZTAT */ +#define EBR1_EB4 bit(4) /* 2398F-ZTAT */ +#define EBR1_EB3 bit(3) /* 2398F-ZTAT */ +#define EBR1_EB2 bit(2) /* 2398F-ZTAT */ +#define EBR1_EB1 bit(1) /* 2398F-ZTAT */ +#define EBR1_EB0 bit(0) /* 2398F-ZTAT */ + +/* EBR2 bits */ +#define EBR2_EB11 bit(3) /* 2398F-ZTAT */ +#define EBR2_EB10 bit(2) /* 2398F-ZTAT */ +#define EBR2_EB9 bit(1) /* 2398F-ZTAT */ +#define EBR2_EB8 bit(0) /* 2398F-ZTAT */ +#define EBR2_EB7 bit(7) /* 2357F-ZTAT */ +#define EBR2_EB6 bit(6) /* 2357F-ZTAT */ +#define EBR2_EB5 bit(5) /* 2357F-ZTAT */ +#define EBR2_EB4 bit(4) /* 2357F-ZTAT */ +#define EBR2_EB3 bit(3) /* 2357F-ZTAT */ +#define EBR2_EB2 bit(2) /* 2357F-ZTAT */ +#define EBR2_EB1 bit(1) /* 2357F-ZTAT */ +#define EBR2_EB0 bit(0) /* 2357F-ZTAT */ + +#endif /* H8S2357_FLASH_H */ diff --git a/include/h8/h8s2357/timer.h b/include/h8/h8s2357/timer.h new file mode 100644 index 00000000..4597d215 --- /dev/null +++ b/include/h8/h8s2357/timer.h @@ -0,0 +1,115 @@ +/* + * $Id$ + * + * H8S/2357 8 bit timer Registers + * Copyright (C) 2005 Elcom s.r.o. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Written by Branislav Petrovsky , 2005. + * + * Documentation: + * [1] Renesas Technology Corp., "Hitachi 16-Bit Single-chip Microcomputer + * H8S/2357 Series, H8S/2357F-ZTAT, H8S/2398F-ZTAT Hardware Manual", + * Rev. 5.0, 11/22/02, Order Number: ADE-602-146D + * + */ + +#ifndef H8S2357_TIMER_H +#define H8S2357_TIMER_H + +#include + +#if LANGUAGE == C +#include +#endif + +/* TIMER registers */ + +#define TIMER_BASE 0xffffffb0 + +#if LANGUAGE == C +typedef struct TIMER_registers { + uint8_t tcr0; + uint8_t tcr1; + uint8_t tcsr0; + uint8_t tcsr1; + uint8_t tcora0; + uint8_t tcora1; + uint8_t tcorb0; + uint8_t tcorb1; + uint8_t tcnt0; + uint8_t tcnt1; +} TIMER_registers_t; + +#define TIMER_pointer ((TIMER_registers_t*) TIMER_BASE) + +#define TCR0 TIMER_pointer->tcr0 +#define TCR1 TIMER_pointer->tcr1 +#define TCSR0 TIMER_pointer->tcsr0 +#define TCSR1 TIMER_pointer->tcsr1 +#define TCORA0 TIMER_pointer->tcora0 +#define TCORA1 TIMER_pointer->tcora1 +#define TCORB0 TIMER_pointer->tcorb0 +#define TCORB1 TIMER_pointer->tcorb1 +#define TCNT0 TIMER_pointer->tcnt0 +#define TCNT1 TIMER_pointer->tcnt1 +#endif /* LANGUAGE == C */ + +#define TCR0_OFFSET 0x00 +#define TCR1_OFFSET 0x01 +#define TCSR0_OFFSET 0x02 +#define TCSR1_OFFSET 0x03 +#define TCORA0_OFFSET 0x04 +#define TCORA1_OFFSET 0x05 +#define TCORB0_OFFSET 0x06 +#define TCORB1_OFFSET 0x07 +#define TCNT0_OFFSET 0x08 +#define TCNT1_OFFSET 0x09 + +/* TCR bits */ +#define TCR_CMIEB bit(7) +#define TCR_CMIEA bit(6) +#define TCR_OVIE bit(5) +#define TCR_CCLR_MASK bits(4,3) +#define TCR_CCLR(x) bits_val(4,3,x) +#define get_TCR_CCLR(x) bits_get(4,3,x) +#define TCR_CKS_MASK bits(2,0) +#define TCR_CKS(x) bits_val(2,0,x) +#define get_TCR_CKS(x) bits_get(2,0,x) + +/* TCSR bits */ +#define TCSR_CMFB bit(7) +#define TCSR_CMFA bit(6) +#define TCSR_OVF bit(5) +#define TCSR_ADTE bit(4) /* only for TCSR0 */ +#define TCSR_OSB_MASK bits(3,2) +#define TCSR_OSB(x) bits_val(3,2,x) +#define get_TCSR_OSB(x) bits_get(3,2,x) +#define TCSR_OSA_MASK bits(1,0) +#define TCSR_OSA(x) bits_val(1,0,x) +#define get_TCSR_OSA(x) bits_get(1,0,x) + +#endif /* H8S2357_TIMER_H */