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

corgi.h (4684B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Hardware specific definitions for SL-C7xx series of PDAs
      4 *
      5 * Copyright (c) 2004-2005 Richard Purdie
      6 *
      7 * Based on Sharp's 2.4 kernel patches
      8 */
      9#ifndef __ASM_ARCH_CORGI_H
     10#define __ASM_ARCH_CORGI_H  1
     11
     12#include "irqs.h" /* PXA_NR_BUILTIN_GPIO */
     13
     14/*
     15 * Corgi (Non Standard) GPIO Definitions
     16 */
     17#define CORGI_GPIO_KEY_INT			(0)	/* Keyboard Interrupt */
     18#define CORGI_GPIO_AC_IN			(1) /* Charger Detection */
     19#define CORGI_GPIO_WAKEUP			(3) /* System wakeup notification? */
     20#define CORGI_GPIO_AK_INT			(4)	/* Headphone Jack Control Interrupt */
     21#define CORGI_GPIO_TP_INT			(5)	/* Touch Panel Interrupt */
     22#define CORGI_GPIO_nSD_WP			(7) /* SD Write Protect? */
     23#define CORGI_GPIO_nSD_DETECT		(9) /* MMC/SD Card Detect */
     24#define CORGI_GPIO_nSD_INT			(10) /* SD Interrupt for SDIO? */
     25#define CORGI_GPIO_MAIN_BAT_LOW		(11) /* Main Battery Low Notification */
     26#define CORGI_GPIO_BAT_COVER		(11) /* Battery Cover Detect */
     27#define CORGI_GPIO_LED_ORANGE		(13) /* Orange LED Control */
     28#define CORGI_GPIO_CF_CD			(14) /* Compact Flash Card Detect */
     29#define CORGI_GPIO_CHRG_FULL		(16) /* Charging Complete Notification */
     30#define CORGI_GPIO_CF_IRQ			(17) /* Compact Flash Interrupt */
     31#define CORGI_GPIO_LCDCON_CS		(19) /* LCD Control Chip Select */
     32#define CORGI_GPIO_MAX1111_CS		(20) /* MAX1111 Chip Select */
     33#define CORGI_GPIO_ADC_TEMP_ON		(21) /* Select battery voltage or temperature */
     34#define CORGI_GPIO_IR_ON			(22) /* Enable IR Transceiver */
     35#define CORGI_GPIO_ADS7846_CS		(24) /* ADS7846 Chip Select */
     36#define CORGI_GPIO_SD_PWR			(33) /* MMC/SD Power */
     37#define CORGI_GPIO_CHRG_ON			(38) /* Enable battery Charging */
     38#define CORGI_GPIO_DISCHARGE_ON		(42) /* Enable battery Discharge */
     39#define CORGI_GPIO_CHRG_UKN			(43) /* Unknown Charging (Bypass Control?) */
     40#define CORGI_GPIO_HSYNC			(44) /* LCD HSync Pulse */
     41#define CORGI_GPIO_USB_PULLUP		(45) /* USB show presence to host */
     42
     43
     44/*
     45 * Corgi Keyboard Definitions
     46 */
     47#define CORGI_KEY_STROBE_NUM		(12)
     48#define CORGI_KEY_SENSE_NUM			(8)
     49#define CORGI_GPIO_ALL_STROBE_BIT	(0x00003ffc)
     50#define CORGI_GPIO_HIGH_SENSE_BIT	(0xfc000000)
     51#define CORGI_GPIO_HIGH_SENSE_RSHIFT	(26)
     52#define CORGI_GPIO_LOW_SENSE_BIT	(0x00000003)
     53#define CORGI_GPIO_LOW_SENSE_LSHIFT	(6)
     54#define CORGI_GPIO_STROBE_BIT(a)	GPIO_bit(66+(a))
     55#define CORGI_GPIO_SENSE_BIT(a)		GPIO_bit(58+(a))
     56#define CORGI_GAFR_ALL_STROBE_BIT	(0x0ffffff0)
     57#define CORGI_GAFR_HIGH_SENSE_BIT	(0xfff00000)
     58#define CORGI_GAFR_LOW_SENSE_BIT	(0x0000000f)
     59#define CORGI_GPIO_KEY_SENSE(a)		(58+(a))
     60#define CORGI_GPIO_KEY_STROBE(a)	(66+(a))
     61
     62
     63/*
     64 * Corgi Interrupts
     65 */
     66#define CORGI_IRQ_GPIO_KEY_INT		PXA_GPIO_TO_IRQ(0)
     67#define CORGI_IRQ_GPIO_AC_IN		PXA_GPIO_TO_IRQ(1)
     68#define CORGI_IRQ_GPIO_WAKEUP		PXA_GPIO_TO_IRQ(3)
     69#define CORGI_IRQ_GPIO_AK_INT		PXA_GPIO_TO_IRQ(4)
     70#define CORGI_IRQ_GPIO_TP_INT		PXA_GPIO_TO_IRQ(5)
     71#define CORGI_IRQ_GPIO_nSD_DETECT	PXA_GPIO_TO_IRQ(9)
     72#define CORGI_IRQ_GPIO_nSD_INT		PXA_GPIO_TO_IRQ(10)
     73#define CORGI_IRQ_GPIO_MAIN_BAT_LOW	PXA_GPIO_TO_IRQ(11)
     74#define CORGI_IRQ_GPIO_CF_CD		PXA_GPIO_TO_IRQ(14)
     75#define CORGI_IRQ_GPIO_CHRG_FULL	PXA_GPIO_TO_IRQ(16)	/* Battery fully charged */
     76#define CORGI_IRQ_GPIO_CF_IRQ		PXA_GPIO_TO_IRQ(17)
     77#define CORGI_IRQ_GPIO_KEY_SENSE(a)	PXA_GPIO_TO_IRQ(58+(a))	/* Keyboard Sense lines */
     78
     79
     80/*
     81 * Corgi SCOOP GPIOs and Config
     82 */
     83#define CORGI_SCP_LED_GREEN		SCOOP_GPCR_PA11
     84#define CORGI_SCP_SWA			SCOOP_GPCR_PA12  /* Hinge Switch A */
     85#define CORGI_SCP_SWB			SCOOP_GPCR_PA13  /* Hinge Switch B */
     86#define CORGI_SCP_MUTE_L		SCOOP_GPCR_PA14
     87#define CORGI_SCP_MUTE_R		SCOOP_GPCR_PA15
     88#define CORGI_SCP_AKIN_PULLUP	SCOOP_GPCR_PA16
     89#define CORGI_SCP_APM_ON		SCOOP_GPCR_PA17
     90#define CORGI_SCP_BACKLIGHT_CONT	SCOOP_GPCR_PA18
     91#define CORGI_SCP_MIC_BIAS		SCOOP_GPCR_PA19
     92
     93#define CORGI_SCOOP_IO_DIR	( CORGI_SCP_LED_GREEN | CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R | \
     94			CORGI_SCP_AKIN_PULLUP | CORGI_SCP_APM_ON | CORGI_SCP_BACKLIGHT_CONT | \
     95			CORGI_SCP_MIC_BIAS )
     96#define CORGI_SCOOP_IO_OUT	( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R )
     97
     98#define CORGI_SCOOP_GPIO_BASE		(PXA_NR_BUILTIN_GPIO)
     99#define CORGI_GPIO_LED_GREEN		(CORGI_SCOOP_GPIO_BASE + 0)
    100#define CORGI_GPIO_SWA			(CORGI_SCOOP_GPIO_BASE + 1)  /* Hinge Switch A */
    101#define CORGI_GPIO_SWB			(CORGI_SCOOP_GPIO_BASE + 2)  /* Hinge Switch B */
    102#define CORGI_GPIO_MUTE_L		(CORGI_SCOOP_GPIO_BASE + 3)
    103#define CORGI_GPIO_MUTE_R		(CORGI_SCOOP_GPIO_BASE + 4)
    104#define CORGI_GPIO_AKIN_PULLUP		(CORGI_SCOOP_GPIO_BASE + 5)
    105#define CORGI_GPIO_APM_ON		(CORGI_SCOOP_GPIO_BASE + 6)
    106#define CORGI_GPIO_BACKLIGHT_CONT	(CORGI_SCOOP_GPIO_BASE + 7)
    107#define CORGI_GPIO_MIC_BIAS		(CORGI_SCOOP_GPIO_BASE + 8)
    108
    109#endif /* __ASM_ARCH_CORGI_H  */
    110