cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

regs-gpio-s3c64xx.h (7093B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* linux/arch/arm/plat-s3c64xx/include/mach/regs-gpio.h
      3 *
      4 * Copyright 2008 Openmoko, Inc.
      5 * Copyright 2008 Simtec Electronics
      6 *      Ben Dooks <ben@simtec.co.uk>
      7 *      http://armlinux.simtec.co.uk/
      8 *
      9 * S3C64XX - GPIO register definitions
     10 */
     11
     12#ifndef __ASM_PLAT_S3C64XX_REGS_GPIO_H
     13#define __ASM_PLAT_S3C64XX_REGS_GPIO_H __FILE__
     14
     15/* Base addresses for each of the banks */
     16
     17#define S3C64XX_GPIOREG(reg)	(S3C64XX_VA_GPIO + (reg))
     18
     19#define S3C64XX_GPA_BASE	S3C64XX_GPIOREG(0x0000)
     20#define S3C64XX_GPB_BASE	S3C64XX_GPIOREG(0x0020)
     21#define S3C64XX_GPC_BASE	S3C64XX_GPIOREG(0x0040)
     22#define S3C64XX_GPD_BASE	S3C64XX_GPIOREG(0x0060)
     23#define S3C64XX_GPE_BASE	S3C64XX_GPIOREG(0x0080)
     24#define S3C64XX_GPF_BASE	S3C64XX_GPIOREG(0x00A0)
     25#define S3C64XX_GPG_BASE	S3C64XX_GPIOREG(0x00C0)
     26#define S3C64XX_GPH_BASE	S3C64XX_GPIOREG(0x00E0)
     27#define S3C64XX_GPI_BASE	S3C64XX_GPIOREG(0x0100)
     28#define S3C64XX_GPJ_BASE	S3C64XX_GPIOREG(0x0120)
     29#define S3C64XX_GPK_BASE	S3C64XX_GPIOREG(0x0800)
     30#define S3C64XX_GPL_BASE	S3C64XX_GPIOREG(0x0810)
     31#define S3C64XX_GPM_BASE	S3C64XX_GPIOREG(0x0820)
     32#define S3C64XX_GPN_BASE	S3C64XX_GPIOREG(0x0830)
     33#define S3C64XX_GPO_BASE	S3C64XX_GPIOREG(0x0140)
     34#define S3C64XX_GPP_BASE	S3C64XX_GPIOREG(0x0160)
     35#define S3C64XX_GPQ_BASE	S3C64XX_GPIOREG(0x0180)
     36
     37/* SPCON */
     38
     39#define S3C64XX_SPCON		S3C64XX_GPIOREG(0x1A0)
     40
     41#define S3C64XX_SPCON_DRVCON_CAM_MASK		(0x3 << 30)
     42#define S3C64XX_SPCON_DRVCON_CAM_SHIFT		(30)
     43#define S3C64XX_SPCON_DRVCON_CAM_2mA		(0x0 << 30)
     44#define S3C64XX_SPCON_DRVCON_CAM_4mA		(0x1 << 30)
     45#define S3C64XX_SPCON_DRVCON_CAM_7mA		(0x2 << 30)
     46#define S3C64XX_SPCON_DRVCON_CAM_9mA		(0x3 << 30)
     47
     48#define S3C64XX_SPCON_DRVCON_HSSPI_MASK		(0x3 << 28)
     49#define S3C64XX_SPCON_DRVCON_HSSPI_SHIFT	(28)
     50#define S3C64XX_SPCON_DRVCON_HSSPI_2mA		(0x0 << 28)
     51#define S3C64XX_SPCON_DRVCON_HSSPI_4mA		(0x1 << 28)
     52#define S3C64XX_SPCON_DRVCON_HSSPI_7mA		(0x2 << 28)
     53#define S3C64XX_SPCON_DRVCON_HSSPI_9mA		(0x3 << 28)
     54
     55#define S3C64XX_SPCON_DRVCON_HSMMC_MASK		(0x3 << 26)
     56#define S3C64XX_SPCON_DRVCON_HSMMC_SHIFT	(26)
     57#define S3C64XX_SPCON_DRVCON_HSMMC_2mA		(0x0 << 26)
     58#define S3C64XX_SPCON_DRVCON_HSMMC_4mA		(0x1 << 26)
     59#define S3C64XX_SPCON_DRVCON_HSMMC_7mA		(0x2 << 26)
     60#define S3C64XX_SPCON_DRVCON_HSMMC_9mA		(0x3 << 26)
     61
     62#define S3C64XX_SPCON_DRVCON_LCD_MASK		(0x3 << 24)
     63#define S3C64XX_SPCON_DRVCON_LCD_SHIFT		(24)
     64#define S3C64XX_SPCON_DRVCON_LCD_2mA		(0x0 << 24)
     65#define S3C64XX_SPCON_DRVCON_LCD_4mA		(0x1 << 24)
     66#define S3C64XX_SPCON_DRVCON_LCD_7mA		(0x2 << 24)
     67#define S3C64XX_SPCON_DRVCON_LCD_9mA		(0x3 << 24)
     68
     69#define S3C64XX_SPCON_DRVCON_MODEM_MASK		(0x3 << 22)
     70#define S3C64XX_SPCON_DRVCON_MODEM_SHIFT	(22)
     71#define S3C64XX_SPCON_DRVCON_MODEM_2mA		(0x0 << 22)
     72#define S3C64XX_SPCON_DRVCON_MODEM_4mA		(0x1 << 22)
     73#define S3C64XX_SPCON_DRVCON_MODEM_7mA		(0x2 << 22)
     74#define S3C64XX_SPCON_DRVCON_MODEM_9mA		(0x3 << 22)
     75
     76#define S3C64XX_SPCON_nRSTOUT_OEN		(1 << 21)
     77
     78#define S3C64XX_SPCON_DRVCON_SPICLK1_MASK	(0x3 << 18)
     79#define S3C64XX_SPCON_DRVCON_SPICLK1_SHIFT	(18)
     80#define S3C64XX_SPCON_DRVCON_SPICLK1_2mA	(0x0 << 18)
     81#define S3C64XX_SPCON_DRVCON_SPICLK1_4mA	(0x1 << 18)
     82#define S3C64XX_SPCON_DRVCON_SPICLK1_7mA	(0x2 << 18)
     83#define S3C64XX_SPCON_DRVCON_SPICLK1_9mA	(0x3 << 18)
     84
     85#define S3C64XX_SPCON_MEM1_DQS_PUD_MASK		(0x3 << 16)
     86#define S3C64XX_SPCON_MEM1_DQS_PUD_SHIFT	(16)
     87#define S3C64XX_SPCON_MEM1_DQS_PUD_DISABLED	(0x0 << 16)
     88#define S3C64XX_SPCON_MEM1_DQS_PUD_DOWN		(0x1 << 16)
     89#define S3C64XX_SPCON_MEM1_DQS_PUD_UP		(0x2 << 16)
     90
     91#define S3C64XX_SPCON_MEM1_D_PUD1_MASK		(0x3 << 14)
     92#define S3C64XX_SPCON_MEM1_D_PUD1_SHIFT		(14)
     93#define S3C64XX_SPCON_MEM1_D_PUD1_DISABLED	(0x0 << 14)
     94#define S3C64XX_SPCON_MEM1_D_PUD1_DOWN		(0x1 << 14)
     95#define S3C64XX_SPCON_MEM1_D_PUD1_UP		(0x2 << 14)
     96
     97#define S3C64XX_SPCON_MEM1_D_PUD0_MASK		(0x3 << 12)
     98#define S3C64XX_SPCON_MEM1_D_PUD0_SHIFT		(12)
     99#define S3C64XX_SPCON_MEM1_D_PUD0_DISABLED	(0x0 << 12)
    100#define S3C64XX_SPCON_MEM1_D_PUD0_DOWN		(0x1 << 12)
    101#define S3C64XX_SPCON_MEM1_D_PUD0_UP		(0x2 << 12)
    102
    103#define S3C64XX_SPCON_MEM0_D_PUD_MASK		(0x3 << 8)
    104#define S3C64XX_SPCON_MEM0_D_PUD_SHIFT		(8)
    105#define S3C64XX_SPCON_MEM0_D_PUD_DISABLED	(0x0 << 8)
    106#define S3C64XX_SPCON_MEM0_D_PUD_DOWN		(0x1 << 8)
    107#define S3C64XX_SPCON_MEM0_D_PUD_UP		(0x2 << 8)
    108
    109#define S3C64XX_SPCON_USBH_DMPD			(1 << 7)
    110#define S3C64XX_SPCON_USBH_DPPD			(1 << 6)
    111#define S3C64XX_SPCON_USBH_PUSW2		(1 << 5)
    112#define S3C64XX_SPCON_USBH_PUSW1		(1 << 4)
    113#define S3C64XX_SPCON_USBH_SUSPND		(1 << 3)
    114
    115#define S3C64XX_SPCON_LCD_SEL_MASK		(0x3 << 0)
    116#define S3C64XX_SPCON_LCD_SEL_SHIFT		(0)
    117#define S3C64XX_SPCON_LCD_SEL_HOST		(0x0 << 0)
    118#define S3C64XX_SPCON_LCD_SEL_RGB		(0x1 << 0)
    119#define S3C64XX_SPCON_LCD_SEL_606_656		(0x2 << 0)
    120
    121
    122/* External interrupt registers */
    123
    124#define S3C64XX_EINT12CON	S3C64XX_GPIOREG(0x200)
    125#define S3C64XX_EINT34CON	S3C64XX_GPIOREG(0x204)
    126#define S3C64XX_EINT56CON	S3C64XX_GPIOREG(0x208)
    127#define S3C64XX_EINT78CON	S3C64XX_GPIOREG(0x20C)
    128#define S3C64XX_EINT9CON	S3C64XX_GPIOREG(0x210)
    129
    130#define S3C64XX_EINT12FLTCON	S3C64XX_GPIOREG(0x220)
    131#define S3C64XX_EINT34FLTCON	S3C64XX_GPIOREG(0x224)
    132#define S3C64XX_EINT56FLTCON	S3C64XX_GPIOREG(0x228)
    133#define S3C64XX_EINT78FLTCON	S3C64XX_GPIOREG(0x22C)
    134#define S3C64XX_EINT9FLTCON	S3C64XX_GPIOREG(0x230)
    135
    136#define S3C64XX_EINT12MASK	S3C64XX_GPIOREG(0x240)
    137#define S3C64XX_EINT34MASK	S3C64XX_GPIOREG(0x244)
    138#define S3C64XX_EINT56MASK	S3C64XX_GPIOREG(0x248)
    139#define S3C64XX_EINT78MASK	S3C64XX_GPIOREG(0x24C)
    140#define S3C64XX_EINT9MASK	S3C64XX_GPIOREG(0x250)
    141
    142#define S3C64XX_EINT12PEND	S3C64XX_GPIOREG(0x260)
    143#define S3C64XX_EINT34PEND	S3C64XX_GPIOREG(0x264)
    144#define S3C64XX_EINT56PEND	S3C64XX_GPIOREG(0x268)
    145#define S3C64XX_EINT78PEND	S3C64XX_GPIOREG(0x26C)
    146#define S3C64XX_EINT9PEND	S3C64XX_GPIOREG(0x270)
    147
    148#define S3C64XX_PRIORITY	S3C64XX_GPIOREG(0x280)
    149#define S3C64XX_PRIORITY_ARB(x)	(1 << (x))
    150
    151#define S3C64XX_SERVICE		S3C64XX_GPIOREG(0x284)
    152#define S3C64XX_SERVICEPEND	S3C64XX_GPIOREG(0x288)
    153
    154#define S3C64XX_EINT0CON0	S3C64XX_GPIOREG(0x900)
    155#define S3C64XX_EINT0CON1	S3C64XX_GPIOREG(0x904)
    156#define S3C64XX_EINT0FLTCON0	S3C64XX_GPIOREG(0x910)
    157#define S3C64XX_EINT0FLTCON1	S3C64XX_GPIOREG(0x914)
    158#define S3C64XX_EINT0FLTCON2	S3C64XX_GPIOREG(0x918)
    159#define S3C64XX_EINT0FLTCON3	S3C64XX_GPIOREG(0x91C)
    160
    161#define S3C64XX_EINT0MASK	S3C64XX_GPIOREG(0x920)
    162#define S3C64XX_EINT0PEND	S3C64XX_GPIOREG(0x924)
    163
    164/* GPIO sleep configuration */
    165
    166#define S3C64XX_SPCONSLP	S3C64XX_GPIOREG(0x880)
    167
    168#define S3C64XX_SPCONSLP_TDO_PULLDOWN	(1 << 14)
    169#define S3C64XX_SPCONSLP_CKE1INIT	(1 << 5)
    170
    171#define S3C64XX_SPCONSLP_RSTOUT_MASK	(0x3 << 12)
    172#define S3C64XX_SPCONSLP_RSTOUT_OUT0	(0x0 << 12)
    173#define S3C64XX_SPCONSLP_RSTOUT_OUT1	(0x1 << 12)
    174#define S3C64XX_SPCONSLP_RSTOUT_HIZ	(0x2 << 12)
    175
    176#define S3C64XX_SPCONSLP_KPCOL_MASK	(0x3 << 0)
    177#define S3C64XX_SPCONSLP_KPCOL_OUT0	(0x0 << 0)
    178#define S3C64XX_SPCONSLP_KPCOL_OUT1	(0x1 << 0)
    179#define S3C64XX_SPCONSLP_KPCOL_INP	(0x2 << 0)
    180
    181
    182#define S3C64XX_SLPEN		S3C64XX_GPIOREG(0x930)
    183
    184#define S3C64XX_SLPEN_USE_xSLP		(1 << 0)
    185#define S3C64XX_SLPEN_CFG_BYSLPEN	(1 << 1)
    186
    187#endif /* __ASM_PLAT_S3C64XX_REGS_GPIO_H */
    188