|  | @@ -645,3 +645,136 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |   * PWM Control Register 
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define PWMC_ADDR	0xfffff500
 | 
	
		
			
				|  |  | +#define PWMC		WORD_REF(PWMC_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define PWMC_CLKSEL_MASK	0x0007	/* Clock Selection */
 | 
	
		
			
				|  |  | +#define PWMC_CLKSEL_SHIFT	0
 | 
	
		
			
				|  |  | +#define PWMC_PWMEN		0x0010	/* Enable PWM */
 | 
	
		
			
				|  |  | +#define PMNC_POL		0x0020	/* PWM Output Bit Polarity */
 | 
	
		
			
				|  |  | +#define PWMC_PIN		0x0080	/* Current PWM output pin status */
 | 
	
		
			
				|  |  | +#define PWMC_LOAD		0x0100	/* Force a new period */
 | 
	
		
			
				|  |  | +#define PWMC_IRQEN		0x4000	/* Interrupt Request Enable */
 | 
	
		
			
				|  |  | +#define PWMC_CLKSRC		0x8000	/* Clock Source Select */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define PWMC_EN	PWMC_PWMEN
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * PWM Period Register
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define PWMP_ADDR	0xfffff502
 | 
	
		
			
				|  |  | +#define PWMP		WORD_REF(PWMP_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 
 | 
	
		
			
				|  |  | + * PWM Width Register 
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define PWMW_ADDR	0xfffff504
 | 
	
		
			
				|  |  | +#define PWMW		WORD_REF(PWMW_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * PWM Counter Register
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define PWMCNT_ADDR	0xfffff506
 | 
	
		
			
				|  |  | +#define PWMCNT		WORD_REF(PWMCNT_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**********
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * 0xFFFFF6xx -- General-Purpose Timers
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + **********/
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 
 | 
	
		
			
				|  |  | + * Timer Unit 1 and 2 Control Registers
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define TCTL1_ADDR	0xfffff600
 | 
	
		
			
				|  |  | +#define TCTL1		WORD_REF(TCTL1_ADDR)
 | 
	
		
			
				|  |  | +#define TCTL2_ADDR	0xfffff60c
 | 
	
		
			
				|  |  | +#define TCTL2		WORD_REF(TCTL2_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define	TCTL_TEN		0x0001	/* Timer Enable  */
 | 
	
		
			
				|  |  | +#define TCTL_CLKSOURCE_MASK 	0x000e	/* Clock Source: */
 | 
	
		
			
				|  |  | +#define   TCTL_CLKSOURCE_STOP	   0x0000	/* Stop count (disabled)    */
 | 
	
		
			
				|  |  | +#define   TCTL_CLKSOURCE_SYSCLK	   0x0002	/* SYSCLK to prescaler      */
 | 
	
		
			
				|  |  | +#define   TCTL_CLKSOURCE_SYSCLK_16 0x0004	/* SYSCLK/16 to prescaler   */
 | 
	
		
			
				|  |  | +#define   TCTL_CLKSOURCE_TIN	   0x0006	/* TIN to prescaler         */
 | 
	
		
			
				|  |  | +#define   TCTL_CLKSOURCE_32KHZ	   0x0008	/* 32kHz clock to prescaler */
 | 
	
		
			
				|  |  | +#define TCTL_IRQEN		0x0010	/* IRQ Enable    */
 | 
	
		
			
				|  |  | +#define TCTL_OM			0x0020	/* Output Mode   */
 | 
	
		
			
				|  |  | +#define TCTL_CAP_MASK		0x00c0	/* Capture Edge: */
 | 
	
		
			
				|  |  | +#define	  TCTL_CAP_RE		0x0040		/* Capture on rizing edge   */
 | 
	
		
			
				|  |  | +#define   TCTL_CAP_FE		0x0080		/* Capture on falling edge  */
 | 
	
		
			
				|  |  | +#define TCTL_FRR		0x0010	/* Free-Run Mode */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define TCTL_ADDR	TCTL1_ADDR
 | 
	
		
			
				|  |  | +#define TCTL		TCTL1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Timer Unit 1 and 2 Prescaler Registers
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define TPRER1_ADDR	0xfffff602
 | 
	
		
			
				|  |  | +#define TPRER1		WORD_REF(TPRER1_ADDR)
 | 
	
		
			
				|  |  | +#define TPRER2_ADDR	0xfffff60e
 | 
	
		
			
				|  |  | +#define TPRER2		WORD_REF(TPRER2_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define TPRER_ADDR	TPRER1_ADDR
 | 
	
		
			
				|  |  | +#define TPRER		TPRER1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Timer Unit 1 and 2 Compare Registers
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define TCMP1_ADDR	0xfffff604
 | 
	
		
			
				|  |  | +#define TCMP1		WORD_REF(TCMP1_ADDR)
 | 
	
		
			
				|  |  | +#define TCMP2_ADDR	0xfffff610
 | 
	
		
			
				|  |  | +#define TCMP2		WORD_REF(TCMP2_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define TCMP_ADDR	TCMP1_ADDR
 | 
	
		
			
				|  |  | +#define TCMP		TCMP1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Timer Unit 1 and 2 Capture Registers
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define TCR1_ADDR	0xfffff606
 | 
	
		
			
				|  |  | +#define TCR1		WORD_REF(TCR1_ADDR)
 | 
	
		
			
				|  |  | +#define TCR2_ADDR	0xfffff612
 | 
	
		
			
				|  |  | +#define TCR2		WORD_REF(TCR2_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define TCR_ADDR	TCR1_ADDR
 | 
	
		
			
				|  |  | +#define TCR		TCR1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Timer Unit 1 and 2 Counter Registers
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define TCN1_ADDR	0xfffff608
 | 
	
		
			
				|  |  | +#define TCN1		WORD_REF(TCN1_ADDR)
 | 
	
		
			
				|  |  | +#define TCN2_ADDR	0xfffff614
 | 
	
		
			
				|  |  | +#define TCN2		WORD_REF(TCN2_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define TCN_ADDR	TCN1_ADDR
 | 
	
		
			
				|  |  | +#define TCN		TCN
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Timer Unit 1 and 2 Status Registers
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define TSTAT1_ADDR	0xfffff60a
 | 
	
		
			
				|  |  | +#define TSTAT1		WORD_REF(TSTAT1_ADDR)
 | 
	
		
			
				|  |  | +#define TSTAT2_ADDR	0xfffff616
 | 
	
		
			
				|  |  | +#define TSTAT2		WORD_REF(TSTAT2_ADDR)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define TSTAT_COMP	0x0001		/* Compare Event occurred */
 | 
	
		
			
				|  |  | +#define TSTAT_CAPT	0x0001		/* Capture Event occurred */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 'EZ328-compatible definitions */
 | 
	
		
			
				|  |  | +#define TSTAT_ADDR	TSTAT1_ADDR
 | 
	
		
			
				|  |  | +#define TSTAT		TSTAT1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Watchdog Compare Register 
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define WRR_ADDR	0xfffff61a
 |