Subject: Information about Atmel MXT224

From: [email-masked] (Gaëtan Carlier)
Date: Wed, 08 Jan 2014 12:24:59 +0100

Hi,

On 01/08/2014 10:04 AM, Alexander Shiyan wrote:
 > Do not forget about setup IOMUX for IRQ pin?

I don't think so. I follow the same canvas than PMIC_INT. I send my 
email too fast. The init function was incomplete. Below all I do with 
MXT_KEY (PB16) connected to /CHG pin of MXT224.
(Of course, PB16 (CSI_PIXCLK) is not used by another driver)
The problem is not interrupt in Kernel. It is MXT224 that does not send 
it. /CHG pin stay High.

I can send you all source code of board declaration if you want.

Thanks a lot.
Ga?tan Carlier.

8---------------------------------------------------------
#define MXT_KEY                 IMX_GPIO_NR(2, 16)
static const int imx27gc_pins[] __initconst = {
	/* UART1 */
	PE12_PF_UART1_TXD,
	PE13_PF_UART1_RXD,
	PE14_PF_UART1_CTS,
	PE15_PF_UART1_RTS,
	/* UART3 */
	PE8_PF_UART3_TXD,
	PE9_PF_UART3_RXD,
	PE10_PF_UART3_CTS,
	PE11_PF_UART3_RTS,
	/* FEC */
	PD0_AIN_FEC_TXD0,
	PD1_AIN_FEC_TXD1,
	PD2_AIN_FEC_TXD2,
	PD3_AIN_FEC_TXD3,
	PD4_AOUT_FEC_RX_ER,
	PD5_AOUT_FEC_RXD1,
	PD6_AOUT_FEC_RXD2,
	PD7_AOUT_FEC_RXD3,
	PD8_AF_FEC_MDIO,
	PD9_AIN_FEC_MDC,
	PD10_AOUT_FEC_CRS,
	PD11_AOUT_FEC_TX_CLK,
	PD12_AOUT_FEC_RXD0,
	PD13_AOUT_FEC_RX_DV,
	PD14_AOUT_FEC_RX_CLK,
	PD15_AOUT_FEC_COL,
	PD16_AIN_FEC_TX_ER,
	PF23_AIN_FEC_TX_EN,
	/* CSPI2 */
	PD22_PF_CSPI2_SCLK,
	PD23_PF_CSPI2_MISO,
	PD24_PF_CSPI2_MOSI,
	SPI2_SS0 | GPIO_GPIO | GPIO_OUT,
	/* I2C1 */
	PD17_PF_I2C_DATA,
	PD18_PF_I2C_CLK,
	/* I2C2 */
	PC5_PF_I2C2_SDA,
	PC6_PF_I2C2_SCL,
	/* PMIC INT */
	PMIC_INT | GPIO_GPIO | GPIO_IN,
	/* SLCD */
	PA6_AIN_SLCDC_DAT0,
	PA7_AIN_SLCDC_DAT1,
	PA8_AIN_SLCDC_DAT2,
	PA9_AIN_SLCDC_DAT3,
	PA10_AIN_SLCDC_DAT4,
	PA11_AIN_SLCDC_DAT5,
	PA12_AIN_SLCDC_DAT6,
	PA13_AIN_SLCDC_DAT7,
	PA25_AIN_SLCDC_CLS, /* D/C */
	PA26_AIN_SLCDC_CS,
	PA27_AIN_SLCDC_CLK, /* E/RD */
	SLCDC_RESET | GPIO_GPIO | GPIO_OUT,
	SLCDC_BL_POWER | GPIO_GPIO | GPIO_OUT,
	SLCDC_RW | GPIO_GPIO | GPIO_OUT, /* only for manual reading operation */
	/* MXT */
	MXT_KEY | GPIO_GPIO | GPIO_IN, /* Key */
	/* SSI4 */
	PC16_PF_SSI4_FS,
	PC17_PF_SSI4_RXD,
	PC18_PF_SSI4_TXD,
	PC19_PF_SSI4_CLK,
	/* Flash Led */
	FLASH_ENABLE | GPIO_GPIO | GPIO_OUT,
	THT_ENABLE | GPIO_GPIO | GPIO_OUT,
	HP_ENABLE | GPIO_GPIO | GPIO_OUT,
	HEATING_ENABLE | GPIO_GPIO | GPIO_OUT,
	BTNLIGHT_ENABLE | GPIO_GPIO | GPIO_OUT,
	/* GPIO KEY */
	GPIO_KEY1 | GPIO_GPIO | GPIO_IN,
	GPIO_KEY2 | GPIO_GPIO | GPIO_IN,
	GPIO_KEY3 | GPIO_GPIO | GPIO_IN,
};

static void __init imx27gc_init(void)
{
     mxc_gpio_setup_multiple_pins(imx27gc_pins, ARRAY_SIZE(imx27gc_pins),
		"imx27gc");
     ...
     imx27gc_i2c0_devices[0].irq = gpio_to_irq(MXT_KEY);
     i2c_register_board_info(0, imx27gc_i2c0_devices,
         ARRAY_SIZE(imx27gc_i2c0_devices));
         imx27_add_imx_i2c(0, &imx27gc_i2c0_data);
     ....
}
8---------------------------------------------------------