mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
[ARM] 4948/1: magician: use htc-egpio to drive the GPIO/IRQ expander CPLD
needed for power management (audio, BT, charging, GSM, LCD, SD), GSM, flash and SD operation and audio routing. Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Russell King <[email protected]>
This commit is contained in:
parent
a1635b8fe5
commit
70e357f842
4 changed files with 115 additions and 2 deletions
|
|
@ -181,7 +181,8 @@
|
|||
#elif defined(CONFIG_ARCH_LUBBOCK) || \
|
||||
defined(CONFIG_MACH_LOGICPD_PXA270) || \
|
||||
defined(CONFIG_MACH_MAINSTONE) || \
|
||||
defined(CONFIG_MACH_PCM027)
|
||||
defined(CONFIG_MACH_PCM027) || \
|
||||
defined(CONFIG_MACH_MAGICIAN)
|
||||
#define NR_IRQS (IRQ_BOARD_END)
|
||||
#else
|
||||
#define NR_IRQS (IRQ_BOARD_START)
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef _MAGICIAN_H_
|
||||
#define _MAGICIAN_H_
|
||||
|
||||
#include <asm/arch/irqs.h>
|
||||
#include <asm/arch/pxa2xx-gpio.h>
|
||||
|
||||
/*
|
||||
|
|
@ -108,4 +109,56 @@
|
|||
#define GPIO119_MAGICIAN_UNKNOWN_MD (119 | GPIO_OUT)
|
||||
#define GPIO120_MAGICIAN_UNKNOWN_MD (120 | GPIO_OUT)
|
||||
|
||||
/*
|
||||
* CPLD IRQs
|
||||
*/
|
||||
|
||||
#define IRQ_MAGICIAN_SD (IRQ_BOARD_START + 0)
|
||||
#define IRQ_MAGICIAN_EP (IRQ_BOARD_START + 1)
|
||||
#define IRQ_MAGICIAN_BT (IRQ_BOARD_START + 2)
|
||||
#define IRQ_MAGICIAN_AC (IRQ_BOARD_START + 3)
|
||||
|
||||
/*
|
||||
* CPLD EGPIOs
|
||||
*/
|
||||
|
||||
#define MAGICIAN_EGPIO_BASE 0x80 /* GPIO_BOARD_START */
|
||||
#define MAGICIAN_EGPIO(reg,bit) \
|
||||
(MAGICIAN_EGPIO_BASE + 8*reg + bit)
|
||||
|
||||
/* output */
|
||||
|
||||
#define EGPIO_MAGICIAN_TOPPOLY_POWER MAGICIAN_EGPIO(0, 2)
|
||||
#define EGPIO_MAGICIAN_LED_POWER MAGICIAN_EGPIO(0, 5)
|
||||
#define EGPIO_MAGICIAN_GSM_RESET MAGICIAN_EGPIO(0, 6)
|
||||
#define EGPIO_MAGICIAN_LCD_POWER MAGICIAN_EGPIO(0, 7)
|
||||
#define EGPIO_MAGICIAN_SPK_POWER MAGICIAN_EGPIO(1, 0)
|
||||
#define EGPIO_MAGICIAN_EP_POWER MAGICIAN_EGPIO(1, 1)
|
||||
#define EGPIO_MAGICIAN_IN_SEL0 MAGICIAN_EGPIO(1, 2)
|
||||
#define EGPIO_MAGICIAN_IN_SEL1 MAGICIAN_EGPIO(1, 3)
|
||||
#define EGPIO_MAGICIAN_MIC_POWER MAGICIAN_EGPIO(1, 4)
|
||||
#define EGPIO_MAGICIAN_CODEC_RESET MAGICIAN_EGPIO(1, 5)
|
||||
#define EGPIO_MAGICIAN_CODEC_POWER MAGICIAN_EGPIO(1, 6)
|
||||
#define EGPIO_MAGICIAN_BL_POWER MAGICIAN_EGPIO(1, 7)
|
||||
#define EGPIO_MAGICIAN_SD_POWER MAGICIAN_EGPIO(2, 0)
|
||||
#define EGPIO_MAGICIAN_CARKIT_MIC MAGICIAN_EGPIO(2, 1)
|
||||
#define EGPIO_MAGICIAN_UNKNOWN_WAVEDEV_DLL MAGICIAN_EGPIO(2, 2)
|
||||
#define EGPIO_MAGICIAN_FLASH_VPP MAGICIAN_EGPIO(2, 3)
|
||||
#define EGPIO_MAGICIAN_BL_POWER2 MAGICIAN_EGPIO(2, 4)
|
||||
#define EGPIO_MAGICIAN_CHARGE_EN MAGICIAN_EGPIO(2, 5)
|
||||
#define EGPIO_MAGICIAN_GSM_POWER MAGICIAN_EGPIO(2, 7)
|
||||
|
||||
/* input */
|
||||
|
||||
#define EGPIO_MAGICIAN_CABLE_STATE_AC MAGICIAN_EGPIO(4, 0)
|
||||
#define EGPIO_MAGICIAN_CABLE_STATE_USB MAGICIAN_EGPIO(4, 1)
|
||||
|
||||
#define EGPIO_MAGICIAN_BOARD_ID0 MAGICIAN_EGPIO(5, 0)
|
||||
#define EGPIO_MAGICIAN_BOARD_ID1 MAGICIAN_EGPIO(5, 1)
|
||||
#define EGPIO_MAGICIAN_BOARD_ID2 MAGICIAN_EGPIO(5, 2)
|
||||
#define EGPIO_MAGICIAN_LCD_SELECT MAGICIAN_EGPIO(5, 3)
|
||||
#define EGPIO_MAGICIAN_nSD_READONLY MAGICIAN_EGPIO(5, 4)
|
||||
|
||||
#define EGPIO_MAGICIAN_EP_INSERT MAGICIAN_EGPIO(6, 1)
|
||||
|
||||
#endif /* _MAGICIAN_H_ */
|
||||
|
|
|
|||
Loading…
Reference in a new issue