Home | History | Annotate | Line # | Download | only in windermere
      1  1.2    andvar /*	$NetBSD: windermerereg.h,v 1.2 2024/06/02 13:28:46 andvar Exp $	*/
      2  1.1  kiyohara /*
      3  1.1  kiyohara  * Copyright (c) 2012 KIYOHARA Takashi
      4  1.1  kiyohara  * All rights reserved.
      5  1.1  kiyohara  *
      6  1.1  kiyohara  * Redistribution and use in source and binary forms, with or without
      7  1.1  kiyohara  * modification, are permitted provided that the following conditions
      8  1.1  kiyohara  * are met:
      9  1.1  kiyohara  * 1. Redistributions of source code must retain the above copyright
     10  1.1  kiyohara  *    notice, this list of conditions and the following disclaimer.
     11  1.1  kiyohara  * 2. Redistributions in binary form must reproduce the above copyright
     12  1.1  kiyohara  *    notice, this list of conditions and the following disclaimer in the
     13  1.1  kiyohara  *    documentation and/or other materials provided with the distribution.
     14  1.1  kiyohara  *
     15  1.1  kiyohara  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     16  1.1  kiyohara  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     17  1.1  kiyohara  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     18  1.1  kiyohara  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
     19  1.1  kiyohara  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     20  1.1  kiyohara  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     21  1.1  kiyohara  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     22  1.1  kiyohara  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     23  1.1  kiyohara  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     24  1.1  kiyohara  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     25  1.1  kiyohara  * POSSIBILITY OF SUCH DAMAGE.
     26  1.1  kiyohara  */
     27  1.1  kiyohara 
     28  1.1  kiyohara #define WINDERMERE_LCD_OFFSET		0x200
     29  1.1  kiyohara #define WINDERMERE_INTR_OFFSET		0x500
     30  1.1  kiyohara #define WINDERMERE_COM0_OFFSET		0x600
     31  1.1  kiyohara #define WINDERMERE_COM1_OFFSET		0x700
     32  1.1  kiyohara #define WINDERMERE_TC_OFFSET		0xc00
     33  1.1  kiyohara #define   TC1_OFFSET			 0x00
     34  1.1  kiyohara #define   TC2_OFFSET			 0x20
     35  1.1  kiyohara #define WINDERMERE_RTC_OFFSET		0xd00
     36  1.1  kiyohara #define WINDERMERE_GPIO_OFFSET		0xe00
     37  1.1  kiyohara 
     38  1.1  kiyohara /* LCD */
     39  1.1  kiyohara #define LCD_PALETTE_SIZE	0x20
     40  1.1  kiyohara #define LCDCTL		0x00
     41  1.1  kiyohara #define LCDCTL_EN		(1 << 0)
     42  1.1  kiyohara #define LCDCTL_BW		(1 << 1)
     43  1.1  kiyohara #define LCDCTL_DP		(1 << 2)
     44  1.1  kiyohara #define LCDCTL_DONE		(1 << 3)
     45  1.1  kiyohara #define LCDCTL_NEXT		(1 << 4)
     46  1.1  kiyohara #define LCDCTL_ERR		(1 << 5)
     47  1.1  kiyohara #define LCDCTL_TFT		(1 << 7)
     48  1.1  kiyohara #define LCDCTL_M8B		(1 << 8)
     49  1.1  kiyohara #define LCDST		0x01
     50  1.1  kiyohara #define LCDST_NEXT		(1 << 1)
     51  1.1  kiyohara #define LCDST_BER		(1 << 2)
     52  1.1  kiyohara #define LCDST_ABC		(1 << 3)
     53  1.1  kiyohara #define LCDST_FUF		(1 << 5)
     54  1.1  kiyohara #define LCDDBAR1	0x04
     55  1.1  kiyohara #define LCDT0		0x08
     56  1.1  kiyohara #define LCDT0_HSW		(2 << 10)	/* Horizontal sync plus width */
     57  1.1  kiyohara #define LCDT0_HFP		(1 << 16)	/* Horizontal front porch */
     58  1.1  kiyohara #define LCDT0_HBP		(1 << 24)	/* Horizontal back porch */
     59  1.1  kiyohara #define LCDT1		0x09
     60  1.1  kiyohara #define LCDT1_VSW		(2 << 10)	/* Vertical sync plus width */
     61  1.1  kiyohara #define LCDT1_VFP		(1 << 16)	/* Vertical front porch */
     62  1.1  kiyohara #define LCDT1_VBP		(1 << 24)	/* Vertical back porch */
     63  1.1  kiyohara #define LCDT2		0x0a
     64  1.1  kiyohara #define LCDT2_IVS		(1 << 20)
     65  1.1  kiyohara #define LCDT2_IHS		(1 << 21)
     66  1.1  kiyohara #define LCDT2_IPC		(1 << 22)
     67  1.1  kiyohara #define LCDT2_IEO		(1 << 23)
     68  1.1  kiyohara 
     69  1.1  kiyohara /* Interrupt */
     70  1.1  kiyohara #define INTSR		0x00	/* Interrupt Status(after masking) */
     71  1.1  kiyohara #define INTRSR		0x01	/* Interrupt Status(before masking) */
     72  1.2    andvar #define INTENS		0x02	/* Interrupt Enable */
     73  1.2    andvar #define INTENC		0x03	/* Interrupt Disable */
     74  1.1  kiyohara 
     75  1.1  kiyohara /* UART */
     76  1.1  kiyohara #define UART_SIZE	0x20
     77  1.1  kiyohara #define UART_FIFO_SIZE	0x10
     78  1.1  kiyohara #define UARTDR		0x00
     79  1.1  kiyohara #define   RSR_FE		(1 << 0)	/* bit8:  Frame Error */
     80  1.1  kiyohara #define   RSR_PE		(1 << 1)	/* bit9:  Parity Error */
     81  1.1  kiyohara #define   RSR_OE		(1 << 2)	/* bit10: Overrun Error */
     82  1.1  kiyohara #define UARTFCR		0x01
     83  1.1  kiyohara #define   FCR_BREAK		(1 << 0)
     84  1.1  kiyohara #define   FCR_PRTEN		(1 << 1)
     85  1.1  kiyohara #define   FCR_EVENPRT		(1 << 2)
     86  1.1  kiyohara #define   FCR_XSTOP		(1 << 3)
     87  1.1  kiyohara #define   FCR_UFIFOEN		(1 << 4)
     88  1.1  kiyohara #define   FCR_WLEN_5		(0 << 5)
     89  1.1  kiyohara #define   FCR_WLEN_6		(1 << 5)
     90  1.1  kiyohara #define   FCR_WLEN_7		(2 << 5)
     91  1.1  kiyohara #define   FCR_WLEN_8		(3 << 5)
     92  1.1  kiyohara #define UARTLCR		0x02
     93  1.1  kiyohara #define UARTCON		0x03
     94  1.1  kiyohara #define   CON_UARTEN		(1 << 0)	/* UART Enable */
     95  1.1  kiyohara #define   CON_SIREN		(1 << 1)	/* SiR disable */
     96  1.1  kiyohara #define   CON_IRTXM		(1 << 2)	/* IrDA TX mode bit */
     97  1.1  kiyohara #define UARTFR		0x04
     98  1.1  kiyohara #define   FR_TXFF		(1 << 5)
     99  1.1  kiyohara #define   FR_RXFE		(1 << 4)
    100  1.1  kiyohara #define   FR_BUSY		(1 << 3)
    101  1.1  kiyohara #define   FR_DCD		(1 << 2)
    102  1.1  kiyohara #define   FR_DSR		(1 << 1)
    103  1.1  kiyohara #define   FR_CTS		(1 << 0)
    104  1.1  kiyohara #define UARTINT		0x05
    105  1.1  kiyohara #define UARTINTM	0x06	/* Mask register */
    106  1.1  kiyohara #define UARTINTR	0x07	/* Raw status register */
    107  1.1  kiyohara #define   INT_RXINT		(1 << 0)
    108  1.1  kiyohara #define   INT_TXINT		(1 << 1)
    109  1.1  kiyohara #define   INT_MSINT		(1 << 2)	/* MODEM status */
    110  1.1  kiyohara 
    111  1.1  kiyohara /* Time Counter (decremental counter) */
    112  1.1  kiyohara #define TC_BITS		16	/* 16bit counter */
    113  1.1  kiyohara #define TC_MAX		((1 << TC_BITS) - 1)
    114  1.1  kiyohara #define TC_MASK		TC_MAX
    115  1.1  kiyohara #define TC_LOAD		0x00
    116  1.1  kiyohara #define TC_VAL		0x01
    117  1.1  kiyohara #define TC_CTRL		0x02
    118  1.1  kiyohara #define   CTRL_CLKSEL		(1 << 3)	/* 512kHz */
    119  1.1  kiyohara #define   CTRL_MODE		(1 << 6)	/* Periodic Mode */
    120  1.1  kiyohara #define   CTRL_ENABLE		(1 << 7)
    121  1.1  kiyohara #define TC_EOI		0x03
    122  1.1  kiyohara #define   EOI_EOI		(1 << 0)
    123  1.1  kiyohara 
    124  1.1  kiyohara /* Real Time Clock */
    125  1.1  kiyohara #define RTC_DRL		0x00	/* Data Register Low */
    126  1.1  kiyohara #define RTC_DRH		0x01	/* Data Register High */
    127  1.1  kiyohara #define RTC_MRL		0x02	/* Match Register Low */
    128  1.1  kiyohara #define RTC_MRH		0x03	/* Match Register High */
    129  1.1  kiyohara 
    130  1.1  kiyohara /* GPIO/KBD */
    131  1.1  kiyohara #define GPIO_PADR	0x00
    132  1.1  kiyohara #define GPIO_PBDR	0x01
    133  1.1  kiyohara #define GPIO_PCDR	0x02
    134  1.1  kiyohara #define GPIO_PDDR	0x03
    135  1.1  kiyohara #define GPIO_PADDR	0x04
    136  1.1  kiyohara #define GPIO_PBDDR	0x05
    137  1.1  kiyohara #define GPIO_PCDDR	0x06
    138  1.1  kiyohara #define GPIO_PDDDR	0x07
    139  1.1  kiyohara #define GPIO_PEDR	0x08
    140  1.1  kiyohara #define GPIO_PEDDR	0x09
    141  1.1  kiyohara #define KSCAN		0x0a
    142