linux/arch/arm/mach-h720x/include/mach/h7202-regs.h
<<
>>
Prefs
   1/*
   2 * arch/arm/mach-h720x/include/mach/h7202-regs.h
   3 *
   4 * Copyright (C) 2000 Jungjun Kim, Hynix Semiconductor Inc.
   5 *           (C) 2003 Thomas Gleixner <tglx@linutronix.de>
   6 *           (C) 2003 Robert Schwebel <r.schwebel@pengutronix.de>
   7 *           (C) 2004 Sascha Hauer    <s.hauer@pengutronix.de>
   8 *
   9 * This file contains the hardware definitions of the h720x processors
  10 *
  11 * This program is free software; you can redistribute it and/or modify
  12 * it under the terms of the GNU General Public License version 2 as
  13 * published by the Free Software Foundation.
  14 *
  15 * Do not add implementations specific defines here. This files contains
  16 * only defines of the onchip peripherals. Add those defines to boards.h,
  17 * which is included by this file.
  18 */
  19
  20#define SERIAL2_OFS             0x2d000
  21#define SERIAL2_BASE            (IO_PHYS + SERIAL2_OFS)
  22#define SERIAL2_VIRT            (IO_VIRT + SERIAL2_OFS)
  23#define SERIAL3_OFS             0x2e000
  24#define SERIAL3_BASE            (IO_PHYS + SERIAL3_OFS)
  25#define SERIAL3_VIRT            (IO_VIRT + SERIAL3_OFS)
  26
  27/* Matrix Keyboard Controller */
  28#define KBD_VIRT                (IO_VIRT + 0x22000)
  29#define KBD_KBCR                0x00
  30#define KBD_KBSC                0x04
  31#define KBD_KBTR                0x08
  32#define KBD_KBVR0               0x0C
  33#define KBD_KBVR1               0x10
  34#define KBD_KBSR                0x18
  35
  36#define KBD_KBCR_SCANENABLE     (1 << 7)
  37#define KBD_KBCR_NPOWERDOWN     (1 << 2)
  38#define KBD_KBCR_CLKSEL_MASK    (3)
  39#define KBD_KBCR_CLKSEL_PCLK2   0x0
  40#define KBD_KBCR_CLKSEL_PCLK128 0x1
  41#define KBD_KBCR_CLKSEL_PCLK256 0x2
  42#define KBD_KBCR_CLKSEL_PCLK512 0x3
  43
  44#define KBD_KBSR_INTR           (1 << 0)
  45#define KBD_KBSR_WAKEUP         (1 << 1)
  46
  47/* USB device controller */
  48
  49#define USBD_BASE               (IO_VIRT + 0x12000)
  50#define USBD_LENGTH             0x3C
  51
  52#define USBD_GCTRL              0x00
  53#define USBD_EPCTRL             0x04
  54#define USBD_INTMASK            0x08
  55#define USBD_INTSTAT            0x0C
  56#define USBD_PWR                0x10
  57#define USBD_DMARXTX            0x14
  58#define USBD_DEVID              0x18
  59#define USBD_DEVCLASS           0x1C
  60#define USBD_INTCLASS           0x20
  61#define USBD_SETUP0             0x24
  62#define USBD_SETUP1             0x28
  63#define USBD_ENDP0RD            0x2C
  64#define USBD_ENDP0WT            0x30
  65#define USBD_ENDP1RD            0x34
  66#define USBD_ENDP2WT            0x38
  67
  68/* PS/2 port */
  69#define PSDATA 0x00
  70#define PSSTAT 0x04
  71#define PSSTAT_TXEMPTY (1<<0)
  72#define PSSTAT_TXBUSY (1<<1)
  73#define PSSTAT_RXFULL (1<<2)
  74#define PSSTAT_RXBUSY (1<<3)
  75#define PSSTAT_CLKIN (1<<4)
  76#define PSSTAT_DATAIN (1<<5)
  77#define PSSTAT_PARITY (1<<6)
  78
  79#define PSCONF 0x08
  80#define PSCONF_ENABLE (1<<0)
  81#define PSCONF_TXINTEN (1<<2)
  82#define PSCONF_RXINTEN (1<<3)
  83#define PSCONF_FORCECLKLOW (1<<4)
  84#define PSCONF_FORCEDATLOW (1<<5)
  85#define PSCONF_LCE (1<<6)
  86
  87#define PSINTR 0x0C
  88#define PSINTR_TXINT (1<<0)
  89#define PSINTR_RXINT (1<<1)
  90#define PSINTR_PAR (1<<2)
  91#define PSINTR_RXTO (1<<3)
  92#define PSINTR_TXTO (1<<4)
  93
  94#define PSTDLO 0x10 /* clk low before start transmission */
  95#define PSTPRI 0x14 /* PRI clock */
  96#define PSTXMT 0x18 /* maximum transmission time */
  97#define PSTREC 0x20 /* maximum receive time */
  98#define PSPWDN 0x3c
  99
 100/* ADC converter */
 101#define ADC_BASE                (IO_VIRT + 0x29000)
 102#define ADC_CR                  0x00
 103#define ADC_TSCTRL              0x04
 104#define ADC_BT_CTRL             0x08
 105#define ADC_MC_CTRL             0x0C
 106#define ADC_STATUS              0x10
 107
 108/* ADC control register bits */
 109#define ADC_CR_PW_CTRL          0x80
 110#define ADC_CR_DIRECTC          0x04
 111#define ADC_CR_CONTIME_NO       0x00
 112#define ADC_CR_CONTIME_2        0x04
 113#define ADC_CR_CONTIME_4        0x08
 114#define ADC_CR_CONTIME_ADE      0x0c
 115#define ADC_CR_LONGCALTIME      0x01
 116
 117/* ADC touch panel register bits */
 118#define ADC_TSCTRL_ENABLE       0x80
 119#define ADC_TSCTRL_INTR         0x40
 120#define ADC_TSCTRL_SWBYPSS      0x20
 121#define ADC_TSCTRL_SWINVT       0x10
 122#define ADC_TSCTRL_S400         0x03
 123#define ADC_TSCTRL_S200         0x02
 124#define ADC_TSCTRL_S100         0x01
 125#define ADC_TSCTRL_S50          0x00
 126
 127/* ADC Interrupt Status Register bits */
 128#define ADC_STATUS_TS_BIT       0x80
 129#define ADC_STATUS_MBT_BIT      0x40
 130#define ADC_STATUS_BBT_BIT      0x20
 131#define ADC_STATUS_MIC_BIT      0x10
 132
 133/* Touch data registers */
 134#define ADC_TS_X0X1             0x30
 135#define ADC_TS_X2X3             0x34
 136#define ADC_TS_Y0Y1             0x38
 137#define ADC_TS_Y2Y3             0x3c
 138#define ADC_TS_X4X5             0x40
 139#define ADC_TS_X6X7             0x44
 140#define ADC_TS_Y4Y5             0x48
 141#define ADC_TS_Y6Y7             0x50
 142
 143/* battery data */
 144#define ADC_MB_DATA             0x54
 145#define ADC_BB_DATA             0x58
 146
 147/* Sound data register */
 148#define ADC_SD_DAT0             0x60
 149#define ADC_SD_DAT1             0x64
 150#define ADC_SD_DAT2             0x68
 151#define ADC_SD_DAT3             0x6c
 152#define ADC_SD_DAT4             0x70
 153#define ADC_SD_DAT5             0x74
 154#define ADC_SD_DAT6             0x78
 155#define ADC_SD_DAT7             0x7c
 156