3052.h

/************************************************************************/
/*     H8/3052F Include File                              Ver 1.1      */
/************************************************************************/
#ifndef H8_3052_H
#define H8_3052_H

struct st_sam {                                         /* struct DMAC  */
              void             *MAR;                    /* MAR          */
              unsigned short    ETCR;                   /* ETCR         */
              unsigned char     IOAR;                   /* IOAR         */
              union {                                   /* DTCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char DTE :1;        /*    DTE       */
                           unsigned char DTSZ:1;        /*    DTSZ      */
                           unsigned char DTID:1;        /*    DTID      */
                           unsigned char RPE :1;        /*    RPE       */
                           unsigned char DTIE:1;        /*    DTIE      */
                           unsigned char DTS :3;        /*    DTS       */
                           }      BIT;                  /*              */
                    }           DTCR;                   /*              */
};                                                      /*              */
struct st_fam {                                         /* struct DMAC  */
              void             *MARA;                   /* MARA         */
              unsigned short    ETCRA;                  /* ETCRA        */
              char              wk1;                    /*              */
              union {                                   /* DTCRA        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char DTE  :1;       /*    DTE       */
                           unsigned char DTSZ :1;       /*    DTSZ      */
                           unsigned char SAID :1;       /*    SAID      */
                           unsigned char SAIDE:1;       /*    SAIDE     */
                           unsigned char DTIE :1;       /*    DTIE      */
                           unsigned char DTS  :3;       /*    DTS       */
                           }      BIT;                  /*              */
                    }           DTCRA;                  /*              */
              void             *MARB;                   /* MARB         */
              unsigned short    ETCRB;                  /* ETCRB        */
              char              wk2;                    /*              */
              union {                                   /* DTCRB        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char DTME :1;       /*    DTME      */
                           unsigned char      :1;       /*              */
                           unsigned char DAID :1;       /*    DAID      */
                           unsigned char DAIDE:1;       /*    DAIDE     */
                           unsigned char TMS  :1;       /*    TMS       */
                           unsigned char DTS  :3;       /*    DTS       */
                           }      BIT;                  /*              */
                    }           DTCRB;                  /*              */
};                                                      /*              */
union un_flmcr {                                        /* union FLMCR  */
               unsigned char BYTE;                      /*  Byte Access */
               struct {                                 /*  Bit  Access */
                      unsigned char VPP :1;             /*    VPP       */
                      unsigned char VPPE:1;             /*    VPPE      */
                      unsigned char     :2;             /*              */
                      unsigned char EV  :1;             /*    EV        */
                      unsigned char PV  :1;             /*    PV        */
                      unsigned char E   :1;             /*    E         */
                      unsigned char P   :1;             /*    P         */
                      }      BIT;                       /*              */
};                                                      /*              */
union un_ebr1 {                                         /* union EBR1   */
              unsigned char BYTE;                       /*  Byte Access */
              struct {                                  /*  Bit  Access */
                     unsigned char wk :1;               /*              */
                     unsigned char LB6:1;               /*    LB6       */
                     unsigned char LB5:1;               /*    LB5       */
                     unsigned char LB4:1;               /*    LB4       */
                     unsigned char LB3:1;               /*    LB3       */
                     unsigned char LB2:1;               /*    LB2       */
                     unsigned char LB1:1;               /*    LB1       */
                     unsigned char LB0:1;               /*    LB0       */
                     }      BIT;                        /*              */
};                                                      /*              */
union un_ebr2 {                                         /* union EBR2   */
              unsigned char BYTE;                       /*  Byte Access */
              struct {                                  /*  Bit  Access */
                     unsigned char SB7:1;               /*    SB7       */
                     unsigned char SB6:1;               /*    SB6       */
                     unsigned char SB5:1;               /*    SB5       */
                     unsigned char SB4:1;               /*    SB4       */
                     unsigned char SB3:1;               /*    SB3       */
                     unsigned char SB2:1;               /*    SB2       */
                     unsigned char SB1:1;               /*    SB1       */
                     unsigned char SB0:1;               /*    SB0       */
                     }      BIT;                        /*              */
};                                                      /*              */
union un_ramcr {                                        /* union RAMCR  */
               unsigned char BYTE;                      /*  Byte Access */
               struct {                                 /*  Bit  Access */
                      unsigned char FLER:1;             /*    FLER      */
                      unsigned char     :3;             /*              */
                      unsigned char RAMS:1;             /*    RAMS      */
                      unsigned char RAM :3;             /*    RAM       */
                      }      BIT;                       /*              */
};                                                      /*              */
struct st_itu {                                         /* struct ITU   */
              union {                                   /* TSTR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk  :3;        /*              */
                           unsigned char STR4:1;        /*    STR4      */
                           unsigned char STR3:1;        /*    STR3      */
                           unsigned char STR2:1;        /*    STR2      */
                           unsigned char STR1:1;        /*    STR1      */
                           unsigned char STR0:1;        /*    STR0      */
                           }      BIT;                  /*              */
                    }           TSTR;                   /*              */
              union {                                   /* TSNC         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk   :3;       /*              */
                           unsigned char SYNC4:1;       /*    SYNC4     */
                           unsigned char SYNC3:1;       /*    SYNC3     */
                           unsigned char SYNC2:1;       /*    SYNC2     */
                           unsigned char SYNC1:1;       /*    SYNC1     */
                           unsigned char SYNC0:1;       /*    SYNC0     */
                           }      BIT;                  /*              */
                    }           TSNC;                   /*              */
              union {                                   /* TMDR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk  :1;        /*              */
                           unsigned char MDF :1;        /*    MDF       */
                           unsigned char FDIR:1;        /*    FDIR      */
                           unsigned char PWM4:1;        /*    PWM4      */
                           unsigned char PWM3:1;        /*    PWM3      */
                           unsigned char PWM2:1;        /*    PWM2      */
                           unsigned char PWM1:1;        /*    PWM1      */
                           unsigned char PWM0:1;        /*    PWM0      */
                           }      BIT;                  /*              */
                    }           TMDR;                   /*              */
              union {                                   /* TFCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk  :2;        /*              */
                           unsigned char CMD :2;        /*    CMD       */
                           unsigned char BFB4:1;        /*    BFB4      */
                           unsigned char BFA4:1;        /*    BFA4      */
                           unsigned char BFB3:1;        /*    BFB3      */
                           unsigned char BFA3:1;        /*    BFA3      */
                           }      BIT;                  /*              */
                    }           TFCR;                   /*              */
              char              wk[44];                 /*              */
              union {                                   /* TOER         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk  :2;        /*              */
                           unsigned char EXB4:1;        /*    EXB4      */
                           unsigned char EXA4:1;        /*    EXA4      */
                           unsigned char EB3 :1;        /*    EB3       */
                           unsigned char EB4 :1;        /*    EB4       */
                           unsigned char EA4 :1;        /*    EA4       */
                           unsigned char EA3 :1;        /*    EA3       */
                           }      BIT;                  /*              */
                    }           TOER;                   /*              */
              union {                                   /* TOCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk  :3;        /*              */
                           unsigned char XTGD:1;        /*    XTGD      */
                           unsigned char     :2;        /*              */
                           unsigned char OLS4:1;        /*    OLS4      */
                           unsigned char OLS3:1;        /*    OLS3      */
                           }      BIT;                  /*              */
                    }           TOCR;                   /*              */
};                                                      /*              */
struct st_itu0 {                                        /* struct ITU0  */
               union {                                  /* TCR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk  :1;       /*              */
                            unsigned char CCLR:2;       /*    CCLR      */
                            unsigned char CKEG:2;       /*    CKEG      */
                            unsigned char TPSC:3;       /*    TPSC      */
                            }      BIT;                 /*              */
                     }          TCR;                    /*              */
               union {                                  /* TIOR         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk :1;        /*              */
                            unsigned char IOB:3;        /*    IOB       */
                            unsigned char    :1;        /*              */
                            unsigned char IOA:3;        /*    IOA       */
                            }      BIT;                 /*              */
                     }          TIOR;                   /*              */
               union {                                  /* TIER         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk   :5;      /*              */
                            unsigned char OVIE :1;      /*    OVIE      */
                            unsigned char IMIEB:1;      /*    IMIEB     */
                            unsigned char IMIEA:1;      /*    IMIEA     */
                            }      BIT;                 /*              */
                     }          TIER;                   /*              */
               union {                                  /* TSR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk  :5;       /*              */
                            unsigned char OVF :1;       /*    OVF       */
                            unsigned char IMFB:1;       /*    IMFB      */
                            unsigned char IMFA:1;       /*    IMFA      */
                            }      BIT;                 /*              */
                     }          TSR;                    /*              */
               unsigned short   TCNT;                   /* TCNT         */
               unsigned short   GRA;                    /* GRA          */
               unsigned short   GRB;                    /* GRB          */
};                                                      /*              */
struct st_itu3 {                                        /* struct ITU3  */
               union {                                  /* TCR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk  :1;       /*              */
                            unsigned char CCLR:2;       /*    CCLR      */
                            unsigned char CKEG:2;       /*    CKEG      */
                            unsigned char TPSC:3;       /*    TPSC      */
                            }      BIT;                 /*              */
                     }          TCR;                    /*              */
               union {                                  /* TIOR         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk :1;        /*              */
                            unsigned char IOB:3;        /*    IOB       */
                            unsigned char    :1;        /*              */
                            unsigned char IOA:3;        /*    IOA       */
                            }      BIT;                 /*              */
                     }          TIOR;                   /*              */
               union {                                  /* TIER         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk   :5;      /*              */
                            unsigned char OVIE :1;      /*    OVIE      */
                            unsigned char IMIEB:1;      /*    IMIEB     */
                            unsigned char IMIEA:1;      /*    IMIEA     */
                            }      BIT;                 /*              */
                     }          TIER;                   /*              */
               union {                                  /* TSR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk  :5;       /*              */
                            unsigned char OVF :1;       /*    OVF       */
                            unsigned char IMFB:1;       /*    IMFB      */
                            unsigned char IMFA:1;       /*    IMFA      */
                            }      BIT;                 /*              */
                     }          TSR;                    /*              */
               unsigned short   TCNT;                   /* TCNT         */
               unsigned short   GRA;                    /* GRA          */
               unsigned short   GRB;                    /* GRB          */
               unsigned short   BRA;                    /* BRA          */
               unsigned short   BRB;                    /* BRB          */
               char             wk[2];                  /*              */
};                                                      /*              */
struct st_tpc {                                         /* struct TPC   */
              union {                                   /* TPMR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk   :4;       /*              */
                           unsigned char G3NOV:1;       /*    G3NOV     */
                           unsigned char G2NOV:1;       /*    G2NOV     */
                           unsigned char G1NOV:1;       /*    G1NOV     */
                           unsigned char G0NOV:1;       /*    G0NOV     */
                           }      BIT;                  /*              */
                    }           TPMR;                   /*              */
              union {                                   /* TPCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char G3CMS:2;       /*    G3CMS     */
                           unsigned char G2CMS:2;       /*    G2CMS     */
                           unsigned char G1CMS:2;       /*    G1CMS     */
                           unsigned char G0CMS:2;       /*    G0CMS     */
                           }      BIT;                  /*              */
                    }           TPCR;                   /*              */
              union {                                   /* NDERB        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B15:1;         /*    NDER15    */
                           unsigned char B14:1;         /*    NDER14    */
                           unsigned char B13:1;         /*    NDER13    */
                           unsigned char B12:1;         /*    NDER12    */
                           unsigned char B11:1;         /*    NDER11    */
                           unsigned char B10:1;         /*    NDER10    */
                           unsigned char B9 :1;         /*    NDER9     */
                           unsigned char B8 :1;         /*    NDER8     */
                           }      BIT;                  /*              */
                    }           NDERB;                  /*              */
              union {                                   /* NDERA        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    NDER7     */
                           unsigned char B6:1;          /*    NDER6     */
                           unsigned char B5:1;          /*    NDER5     */
                           unsigned char B4:1;          /*    NDER4     */
                           unsigned char B3:1;          /*    NDER3     */
                           unsigned char B2:1;          /*    NDER2     */
                           unsigned char B1:1;          /*    NDER1     */
                           unsigned char B0:1;          /*    NDER0     */
                           }      BIT;                  /*              */
                    }           NDERA;                  /*              */
              union {                                   /* NDRB (H'A4)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B15:1;         /*    NDR15     */
                           unsigned char B14:1;         /*    NDR14     */
                           unsigned char B13:1;         /*    NDR13     */
                           unsigned char B12:1;         /*    NDR12     */
                           unsigned char B11:1;         /*    NDR11     */
                           unsigned char B10:1;         /*    NDR10     */
                           unsigned char B9 :1;         /*    NDR9      */
                           unsigned char B8 :1;         /*    NDR8      */
                           }      BIT;                  /*              */
                    }           NDRB1;                  /*              */
              union {                                   /* NDRA (H'A5)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    NDR7      */
                           unsigned char B6:1;          /*    NDR6      */
                           unsigned char B5:1;          /*    NDR5      */
                           unsigned char B4:1;          /*    NDR4      */
                           unsigned char B3:1;          /*    NDR3      */
                           unsigned char B2:1;          /*    NDR2      */
                           unsigned char B1:1;          /*    NDR1      */
                           unsigned char B0:1;          /*    NDR0      */
                           }      BIT;                  /*              */
                    }           NDRA1;                  /*              */
              union {                                   /* NDRB (H'A6)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk :4;         /*              */
                           unsigned char B11:1;         /*    NDR11     */
                           unsigned char B10:1;         /*    NDR10     */
                           unsigned char B9 :1;         /*    NDR9      */
                           unsigned char B8 :1;         /*    NDR8      */
                           }      BIT;                  /*              */
                    }           NDRB2;                  /*              */
              union {                                   /* NDRA (H'A7)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk:4;          /*              */
                           unsigned char B3:1;          /*    NDR3      */
                           unsigned char B2:1;          /*    NDR2      */
                           unsigned char B1:1;          /*    NDR1      */
                           unsigned char B0:1;          /*    NDR0      */
                           }      BIT;                  /*              */
                    }           NDRA2;                  /*              */
};                                                      /*              */
struct st_rfshc {                                       /* struct RFSHC */
                union {                                 /* RFSHCR       */
                      unsigned char BYTE;               /*  Byte Access */
                      struct {                          /*  Bit  Access */
                             unsigned char SRFMD :1;    /*    SRFMD     */
                             unsigned char PSRAME:1;    /*    PSRAME    */
                             unsigned char DRAME :1;    /*    DRAME     */
                             unsigned char CASWE :1;    /*    CASWE     */
                             unsigned char M9M8  :1;    /*    M9M8      */
                             unsigned char PFSHE :1;    /*    PFSHE     */
                             unsigned char       :1;    /*              */
                             unsigned char RCYCE :1;    /*    RCYCE     */
                             }      BIT;                /*              */
                      }         RFSHCR;                 /*              */
                union {                                 /* RTMCSR       */
                      unsigned char BYTE;               /*  Byte Access */
                      struct {                          /*  Bit  Access */
                             unsigned char CMF :1;      /*    CMF       */
                             unsigned char CMIE:1;      /*    CMIE      */
                             unsigned char CKS :3;      /*    CKS       */
                             }      BIT;                /*              */
                      }         RTMCSR;                 /*              */
                unsigned char   RTCNT;                  /* RTCNT        */
                unsigned char   RTCOR;                  /* RTCOR        */
};                                                      /*              */
struct st_sci {                                         /* struct SCI   */
              union {                                   /* SMR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char CA  :1;        /*    C/A       */
                           unsigned char CHR :1;        /*    CHR       */
                           unsigned char PE  :1;        /*    PE        */
                           unsigned char OE  :1;        /*    O/E       */
                           unsigned char STOP:1;        /*    STOP      */
                           unsigned char MP  :1;        /*    MP        */
                           unsigned char CKS :2;        /*    CKS       */
                           }      BIT;                  /*              */
                    }           SMR;                    /*              */
              unsigned char     BRR;                    /* BRR          */
              union {                                   /* SCR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char TIE :1;        /*    TIE       */
                           unsigned char RIE :1;        /*    RIE       */
                           unsigned char TE  :1;        /*    TE        */
                           unsigned char RE  :1;        /*    RE        */
                           unsigned char MPIE:1;        /*    MPIE      */
			unsigned char TEIE:1;        /*    TEIE      */
                           unsigned char CKE :2;        /*    CKE       */
                           }      BIT;                  /*              */
                    }           SCR;                    /*              */
              unsigned char     TDR;                    /* TDR          */
              union {                                   /* SSR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char TDRE:1;        /*    TDRE      */
                           unsigned char RDRF:1;        /*    RDRF      */
                           unsigned char ORER:1;        /*    ORER      */
                           unsigned char FER :1;        /*    FER       */
                           unsigned char PER :1;        /*    PER       */
                           unsigned char TEND:1;        /*    TEND      */
                           unsigned char MPB :1;        /*    MPB       */
                           unsigned char MPBT:1;        /*    MPBT      */
                           }      BIT;                  /*              */
                    }           SSR;                    /*              */
              unsigned char     RDR;                    /* RDR          */
              char              wk[2];                  /*              */
};                                                      /*              */
struct st_p1 {                                          /* struct P1    */
             unsigned char      DDR;                    /* P1DDR        */
             char               wk;                     /*              */
             union {                                    /* P1DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char B7:1;           /*    Bit 7     */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
};                                                      /*              */
struct st_p2 {                                          /* struct P2    */
             unsigned char      DDR;                    /* P2DDR        */
             char               wk1;                    /*              */
             union {                                    /* P2DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char B7:1;           /*    Bit 7     */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
             char               wk2[20];                /*              */
             union {                                    /* P2PCR        */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char B7:1;           /*    Bit 7     */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            PCR;                    /*              */
};                                                      /*              */
struct st_p4 {                                          /* struct P4    */
             unsigned char      DDR;                    /* P4DDR        */
             char               wk1;                    /*              */
             union {                                    /* P4DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char B7:1;           /*    Bit 7     */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
             char               wk2[18];                /*              */
             union {                                    /* P4PCR        */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char B7:1;           /*    Bit 7     */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            PCR;                    /*              */
};                                                      /*              */
struct st_p5 {                                          /* struct P5    */
             unsigned char      DDR;                    /* P5DDR        */
             char               wk1;                    /*              */
             union {                                    /* P5DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char wk:4;           /*              */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
             char               wk2[16];                /*              */
             union {                                    /* P5PCR        */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char wk:4;           /*              */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            PCR;                    /*              */
};                                                      /*              */
struct st_p6 {                                          /* struct P6    */
             unsigned char      DDR;                    /* P6DDR        */
             char               wk;                     /*              */
             union {                                    /* P6DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char wk:1;           /*              */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
};                                                      /*              */
struct st_p7 {                                          /* struct P7    */
             union {                                    /* P7DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char B7:1;           /*    Bit 7     */
                          unsigned char B6:1;           /*    Bit 6     */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
};                                                      /*              */
struct st_p8 {                                          /* struct P8    */
             unsigned char      DDR;                    /* P8DDR        */
             char               wk;                     /*              */
             union {                                    /* P8DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char wk:3;           /*              */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
};                                                      /*              */
struct st_p9 {                                          /* struct P9    */
             unsigned char      DDR;                    /* P9DDR        */
             char               wk;                     /*              */
             union {                                    /* P9DR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char wk:2;           /*              */
                          unsigned char B5:1;           /*    Bit 5     */
                          unsigned char B4:1;           /*    Bit 4     */
                          unsigned char B3:1;           /*    Bit 3     */
                          unsigned char B2:1;           /*    Bit 2     */
                          unsigned char B1:1;           /*    Bit 1     */
                          unsigned char B0:1;           /*    Bit 0     */
                          }      BIT;                   /*              */
                   }            DR;                     /*              */
};                                                      /*              */
struct st_da {                                          /* struct D/A   */
             union {                                    /* DASTCR       */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char wk   :7;        /*              */
                          unsigned char DASTE:1;        /*    DASTE     */
                          }      BIT;                   /*              */
                   }            STCR;                   /*              */
             char               wk[127];                /*              */
             unsigned char      DR0;                    /* DADR0        */
             unsigned char      DR1;                    /* DADR1        */
             union {                                    /* DACR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char DAOE1:1;        /*    DAOE1     */
                          unsigned char DAOE0:1;        /*    DAOE0     */
                          unsigned char DAE  :1;        /*    DAE       */
                          }      BIT;                   /*              */
                   }            CR;                     /*              */
};                                                      /*              */
struct st_ad {                                          /* struct A/D   */
             unsigned short     DRA;                    /* ADDRA        */
             unsigned short     DRB;                    /* ADDRB        */
             unsigned short     DRC;                    /* ADDRC        */
             unsigned short     DRD;                    /* ADDRD        */
             union {                                    /* ADCSR        */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char ADF :1;         /*    ADF       */
                          unsigned char ADIE:1;         /*    ADIE      */
                          unsigned char ADST:1;         /*    ADST      */
                          unsigned char SCAN:1;         /*    SCAN      */
                          unsigned char CKS :1;         /*    CKS       */
                          unsigned char CH  :3;         /*    CH        */
                          }      BIT;                   /*              */
                   }            CSR;                    /*              */
             union {                                    /* ADCR         */
                   unsigned char BYTE;                  /*  Byte Access */
                   struct {                             /*  Bit  Access */
                          unsigned char TRGE:1;         /*    TRGE      */
                          }      BIT;                   /*              */
                   }            CR;                     /*              */
};                                                      /*              */
struct st_bsc {                                         /* struct BSC   */
              union {                                   /* CSCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char CS7E:1;        /*    CS7E      */
                           unsigned char CS6E:1;        /*    CS6E      */
                           unsigned char CS5E:1;        /*    CS5E      */
                           unsigned char CS4E:1;        /*    CS4E      */
                           }      BIT;                  /*              */
                    }           CSCR;                   /*              */
              char              wk1[140];               /*              */
              union {                                   /* ABWCR        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    Bit 7     */
                           unsigned char B6:1;          /*    Bit 6     */
                           unsigned char B5:1;          /*    Bit 5     */
                           unsigned char B4:1;          /*    Bit 4     */
                           unsigned char B3:1;          /*    Bit 3     */
                           unsigned char B2:1;          /*    Bit 2     */
                           unsigned char B1:1;          /*    Bit 1     */
                           unsigned char B0:1;          /*    Bit 0     */
                           }      BIT;                  /*              */
                    }           ABWCR;                  /*              */
              union {                                   /* ASTCR        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    Bit 7     */
                           unsigned char B6:1;          /*    Bit 6     */
                           unsigned char B5:1;          /*    Bit 5     */
                           unsigned char B4:1;          /*    Bit 4     */
                           unsigned char B3:1;          /*    Bit 3     */
                           unsigned char B2:1;          /*    Bit 2     */
                           unsigned char B1:1;          /*    Bit 1     */
                           unsigned char B0:1;          /*    Bit 0     */
                           }      BIT;                  /*              */
                    }           ASTCR;                  /*              */
              union {                                   /* WCR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char wk :4;         /*              */
                           unsigned char WMS:2;         /*    WMS       */
                           unsigned char WC :2;         /*    WC        */
                           }      BIT;                  /*              */
                    }           WCR;                    /*              */
              union {                                   /* WCER         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    Bit 7     */
                           unsigned char B6:1;          /*    Bit 6     */
                           unsigned char B5:1;          /*    Bit 5     */
                           unsigned char B4:1;          /*    Bit 4     */
                           unsigned char B3:1;          /*    Bit 3     */
                           unsigned char B2:1;          /*    Bit 2     */
                           unsigned char B1:1;          /*    Bit 1     */
                           unsigned char B0:1;          /*    Bit 0     */
                           }      BIT;                  /*              */
                    }           WCER;                   /*              */
              char              wk2[3];                 /*              */
              union {                                   /* BRCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char A23E:1;        /*    A23E      */
                           unsigned char A22E:1;        /*    A22E      */
                           unsigned char A21E:1;        /*    A21E      */
                           unsigned char     :4;        /*              */
                           unsigned char BRLE:1;        /*    BRLE      */
                           }      BIT;                  /*              */
                    }           BRCR;                   /*              */
};                                                      /*              */
union un_divcr {                                        /* union DIVCR  */
               unsigned char    BYTE;                   /*  Byte Access */
               struct {                                 /*  Bit  Access */
                      unsigned char wk :6;              /*              */
                      unsigned char DIV:2;              /*    DIV       */
                      }         BIT;                    /*              */
};                                                      /*              */
union un_mstcr {                                        /* union MSTCR  */
               unsigned char    BYTE;                   /*  Byte Access */
               struct {                                 /*  Bit  Access */
                      unsigned char PSTOP :1;           /*    PSTOP     */
                      unsigned char       :1;           /*              */
                      unsigned char MSTOP5:1;           /*    MSTOP5    */
                      unsigned char MSTOP4:1;           /*    MSTOP4    */
                      unsigned char MSTOP3:1;           /*    MSTOP3    */
                      unsigned char MSTOP2:1;           /*    MSTOP2    */
                      unsigned char MSTOP1:1;           /*    MSTOP1    */
                      unsigned char MSTOP0:1;           /*    MSTOP0    */
                      }         BIT;                    /*              */
};                                                      /*              */
union un_mdcr {                                         /* union MDCR   */
              unsigned char     BYTE;                   /*  Byte Access */
              struct {                                  /*  Bit  Access */
                     unsigned char wk :5;               /*              */
                     unsigned char MDS:3;               /*    MDS       */
                     }          BIT;                    /*              */
};                                                      /*              */
union un_syscr {                                        /* union SYSCR  */
               unsigned char    BYTE;                   /*  Byte Access */
               struct {                                 /*  Bit  Access */
                      unsigned char SSBY :1;            /*    SSBY      */
                      unsigned char STS  :3;            /*    STS       */
                      unsigned char UE   :1;            /*    UE        */
                      unsigned char NMIEG:1;            /*    NMIEG     */
                      unsigned char      :1;            /*              */
                      unsigned char RAME :1;            /*    RAME      */
                      }         BIT;                    /*              */
};                                                      /*              */
struct st_intc {                                        /* struct INTC  */
               union {                                  /* ISCR         */
                     unsigned char     BYTE;            /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk    :2;     /*              */
                            unsigned char IRQ5SC:1;     /*    IRQ5SC    */
                            unsigned char IRQ4SC:1;     /*    IRQ4SC    */
                            unsigned char IRQ3SC:1;     /*    IRQ3SC    */
                            unsigned char IRQ2SC:1;     /*    IRQ2SC    */
                            unsigned char IRQ1SC:1;     /*    IRQ1SC    */
                            unsigned char IRQ0SC:1;     /*    IRQ0SC    */
                            }          BIT;             /*              */
                     }          ISCR;                   /*              */
               union {                                  /* IER          */
                     unsigned char     BYTE;            /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk   :2;      /*              */
                            unsigned char IRQ5E:1;      /*    IRQ5E     */
                            unsigned char IRQ4E:1;      /*    IRQ4E     */
                            unsigned char IRQ3E:1;      /*    IRQ3E     */
                            unsigned char IRQ2E:1;      /*    IRQ2E     */
                            unsigned char IRQ1E:1;      /*    IRQ1E     */
                            unsigned char IRQ0E:1;      /*    IRQ0E     */
                            }          BIT;             /*              */
                     }          IER;                    /*              */
               union {                                  /* ISR          */
                     unsigned char     BYTE;            /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char wk   :2;      /*              */
                            unsigned char IRQ5F:1;      /*    IRQ5F     */
                            unsigned char IRQ4F:1;      /*    IRQ4F     */
                            unsigned char IRQ3F:1;      /*    IRQ3F     */
                            unsigned char IRQ2F:1;      /*    IRQ2F     */
                            unsigned char IRQ1F:1;      /*    IRQ1F     */
                            unsigned char IRQ0F:1;      /*    IRQ0F     */
                            }          BIT;             /*              */
                     }          ISR;                    /*              */
              char              wk;                     /*              */
              union {                                   /* IPRA         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    IRQ0      */
                           unsigned char B6:1;          /*    IRQ1      */
                           unsigned char B5:1;          /*    IRQ2,IRQ3 */
                           unsigned char B4:1;          /*    IRQ4,IRQ5 */
                           unsigned char B3:1;          /*    WDT,RFSHC */
                           unsigned char B2:1;          /*    ITU0      */
                           unsigned char B1:1;          /*    ITU1      */
                           unsigned char B0:1;          /*    ITU2      */
                           }      BIT;                  /*              */
                    }           IPRA;                   /*              */
              union {                                   /* IPRB         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    ITU3      */
                           unsigned char B6:1;          /*    ITU4      */
                           unsigned char B5:1;          /*    DMAC      */
                           unsigned char   :1;          /*              */
                           unsigned char B3:1;          /*    SCI0      */
                           unsigned char B2:1;          /*    SCI1      */
                           unsigned char B1:1;          /*    A/D       */
                           }      BIT;                  /*              */
                    }           IPRB;                   /*              */
};                                                      /*              */

#define DMAC0A  (*(volatile struct st_sam   *)0xFFFF20) /* DMAC 0A Addr */
#define DMAC0B  (*(volatile struct st_sam   *)0xFFFF28) /* DMAC 0B Addr */
#define DMAC1A  (*(volatile struct st_sam   *)0xFFFF30) /* DMAC 1A Addr */
#define DMAC1B  (*(volatile struct st_sam   *)0xFFFF38) /* DMAC 1B Addr */
#define DMAC0   (*(volatile struct st_fam   *)0xFFFF20) /* DMAC 0  Addr */
#define DMAC1   (*(volatile struct st_fam   *)0xFFFF30) /* DMAC 1  Addr */
#define ITU     (*(volatile struct st_itu   *)0xFFFF60) /* ITU   Address*/
#define ITU0    (*(volatile struct st_itu0  *)0xFFFF64) /* ITU0  Address*/
#define ITU1    (*(volatile struct st_itu0  *)0xFFFF6E) /* ITU1  Address*/
#define ITU2    (*(volatile struct st_itu0  *)0xFFFF78) /* ITU2  Address*/
#define ITU3    (*(volatile struct st_itu3  *)0xFFFF82) /* ITU3  Address*/
#define ITU4    (*(volatile struct st_itu3  *)0xFFFF92) /* ITU4  Address*/
#define TPC     (*(volatile struct st_tpc   *)0xFFFFA0) /* TPC   Address*/
#define RFSHC   (*(volatile struct st_rfshc *)0xFFFFAC) /* RFSHC Address*/
#define SCI0    (*(volatile struct st_sci   *)0xFFFFB0) /* SCI0  Address*/
#define SCI1    (*(volatile struct st_sci   *)0xFFFFB8) /* SCI1  Address*/
#define P1      (*(volatile struct st_p1    *)0xFFFFC0) /* P1    Address*/
#define P2      (*(volatile struct st_p2    *)0xFFFFC1) /* P2    Address*/
#define P3      (*(volatile struct st_p1    *)0xFFFFC4) /* P3    Address*/
#define P4      (*(volatile struct st_p4    *)0xFFFFC5) /* P4    Address*/
#define P5      (*(volatile struct st_p5    *)0xFFFFC8) /* P5    Address*/
#define P6      (*(volatile struct st_p6    *)0xFFFFC9) /* P6    Address*/
#define P7      (*(volatile struct st_p7    *)0xFFFFCE) /* P7    Address*/
#define P8      (*(volatile struct st_p8    *)0xFFFFCD) /* P8    Address*/
#define P9      (*(volatile struct st_p9    *)0xFFFFD0) /* P9    Address*/
#define PA      (*(volatile struct st_p1    *)0xFFFFD1) /* PA    Address*/
#define PB      (*(volatile struct st_p1    *)0xFFFFD4) /* PB    Address*/
#define DA      (*(volatile struct st_da    *)0xFFFF5C) /* D/A   Address*/
#define AD      (*(volatile struct st_ad    *)0xFFFFE0) /* A/D   Address*/
#define BSC     (*(volatile struct st_bsc   *)0xFFFF5F) /* BSC   Address*/
#define FLMCR   (*(volatile union  un_flmcr *)0xFFFF40) /* FLMCR Address*/
#define EBR1    (*(volatile union  un_ebr1  *)0xFFFF42) /* EBR1  Address*/
#define EBR2    (*(volatile union  un_ebr2  *)0xFFFF43) /* EBR2  Address*/
#define RAMCR   (*(volatile union  un_ramcr *)0xFFFF48) /* RAMCR Address*/
#define DIVCR   (*(volatile union  un_divcr *)0xFFFF5D) /* DIVCR Address*/
#define MSTCR   (*(volatile union  un_mstcr *)0xFFFF5E) /* MSTCR Address*/
#define MDCR    (*(volatile union  un_mdcr  *)0xFFFFF1) /* MDCR  Address*/
#define SYSCR   (*(volatile union  un_syscr *)0xFFFFF2) /* SYSCR Address*/
#define INTC    (*(volatile struct st_intc  *)0xFFFFF4) /* INTC  Address*/

#define st_itu1 st_itu0                         /* Change Struct ITU1   */
#define st_itu2 st_itu0                         /* Change Struct ITU2   */
#define st_itu4 st_itu3                         /* Change Struct ITU4   */
#define st_p3   st_p1                           /* Change Struct P3->P1 */
#define st_pa   st_p1                           /* Change Struct PA->P1 */
#define st_pb   st_p1                           /* Change Struct PB->P1 */

#endif /* H8_3052_H */

This page was generated at 2005/4/24 14:13:6