summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-11-29 09:11:25 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-11-29 09:11:25 +0100
commitee93344fd11ada782ee1d4aa326369a84edee360 (patch)
treed86cd917c32d2738a397a052a179c3f08996fee0
parentb583968e388ee417f6f694d3ce8ebca5ee1ed036 (diff)
colibri_vf: fix daisy chain input select iomux
Fix Freescale's magic daisy chain aka select input IOMUX stuff. Many a saying: welcome to the club (;-p).
-rw-r--r--arch/arm/mach-mvf/board-colibri_vf.c10
-rw-r--r--arch/arm/plat-mxc/include/mach/iomux-mvf.h85
2 files changed, 47 insertions, 48 deletions
diff --git a/arch/arm/mach-mvf/board-colibri_vf.c b/arch/arm/mach-mvf/board-colibri_vf.c
index a407c49af96f..afae0d9fe6c5 100644
--- a/arch/arm/mach-mvf/board-colibri_vf.c
+++ b/arch/arm/mach-mvf/board-colibri_vf.c
@@ -125,10 +125,10 @@ static iomux_v3_cfg_t mvf600_pads[] = {
MVF600_PAD4_PTA11,
MVF600_PAD5_PTA12,
MVF600_PAD6_PTA16_ADC1_SE0,
- MVF600_PAD12_PTA22,
- MVF600_PAD13_PTA23,
MVF600_PAD8_PTA18_ADC0_SE0,
MVF600_PAD9_PTA19_ADC0_SE1,
+ MVF600_PAD12_PTA22,
+ MVF600_PAD13_PTA23,
MVF600_PAD24_PTB2_ADC1_SE2,
/* ADC */
@@ -221,7 +221,7 @@ static iomux_v3_cfg_t mvf600_pads[] = {
//MVF600_PAD7_PTA17_GPIO,
//MVF600_PAD38_PTB16_GPIO, /* carefull also used as SW1_WAKEUP_PIN */
//MVF600_PAD39_PTB17_GPIO,
-//MVF600_PAD40_PTB18_GPIO,
+//MVF600_PAD40_PTB18_GPIO, /* IOMUXC_CCM_AUD_EXT_CLK_SELECT_INPUT 2 Selecting Pad: PTB18 for Mode: ALT2. */
//MVF600_PAD41_PTB19_GPIO,
//MVF600_PAD43_PTB21_GPIO, /* CAN_INT */
//MVF600_PAD44_PTB22_GPIO,
@@ -254,7 +254,7 @@ static iomux_v3_cfg_t mvf600_pads[] = {
//MVF600_PAD53_PTC8_VID8,
//MVF600_PAD64_PTD30_VID10,
//MVF600_PAD91_PTD12_VID, /* VIDMCLK? */
-//MVF600_PAD134_PTA7_VIDPCLK,
+//MVF600_PAD134_PTA7_VIDPCLK, /* IOMUXC_VIDEO_IN0_IPP_IND_PIX_CLK_SELECT_INPUT 1 Selecting Pad: PTA7 for Mode: ALT1. */
//MVF600_PAD104_PTC31_ADC1_SE5, /* nVDD_FAULT/SENSE */
//MVF600_PAD25_PTB3_ADC1_SE3, /* nBATT_FAULT/SENSE */
@@ -270,6 +270,8 @@ static iomux_v3_cfg_t mvf600_pads[] = {
//EXT_TAMPER3/EXT_WM0_TAMPER_OUT
//EXT_TAMPER4/EXT_WM1_TAMPER_IN
//EXT_TAMPER5/EXT_WM1_TAMPER_OUT
+
+//IOMUXC_VIDEO_IN0_IPP_IND_DE_SELECT_INPUT: PTB5, PTB8 or PTB10 as ALT5
};
static struct imxuart_platform_data mvf_uart0_pdata = {
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mvf.h b/arch/arm/plat-mxc/include/mach/iomux-mvf.h
index b9ba094fbd7a..8454a0f20b14 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-mvf.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-mvf.h
@@ -132,16 +132,16 @@ typedef enum iomux_config {
/* DSPI1 */
#define MVF600_PAD84_PTD5__DSPI1_PCS0 \
- IOMUX_PAD(0x0150, 0x0150, 3, 0x0000, 0, \
+ IOMUX_PAD(0x0150, 0x0150, 3, 0x0300, 1, \
MVF600_DSPI_PAD_CTRL | PAD_CTL_OBE_ENABLE)
#define MVF600_PAD85_PTD6__DSPI1_SIN \
- IOMUX_PAD(0x0154, 0x0154, 3, 0x0000, 0, \
+ IOMUX_PAD(0x0154, 0x0154, 3, 0x02FC, 1, \
MVF600_DSPI_PAD_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD86_PTD7__DSPI1_SOUT \
IOMUX_PAD(0x0158, 0x0158, 3, 0x0000, 0, \
MVF600_DSPI_PAD_CTRL | PAD_CTL_OBE_ENABLE)
#define MVF600_PAD87_PTD8__DSPI1_SCK \
- IOMUX_PAD(0x015C, 0x015C, 3, 0x0000, 0, \
+ IOMUX_PAD(0x015C, 0x015C, 3, 0x02F8, 1, \
MVF600_DSPI_PAD_CTRL | PAD_CTL_OBE_ENABLE)
/*FEC0*/
@@ -149,7 +149,7 @@ typedef enum iomux_config {
IOMUX_PAD(0x0000, 0x0000, 2, 0x02F0, 0, \
MVF600_ENET_PAD_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD0_PTA6__RMII_CLKOUT \
- IOMUX_PAD(0x0000, 0x0000, 1, 0x02F0, 0, \
+ IOMUX_PAD(0x0000, 0x0000, 1, 0x0000, 0, \
MVF600_ENET_PAD_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD45_PTC0__RMII0_MDC \
IOMUX_PAD(0x00B4, 0x00B4, 1, 0x0000, 0, \
@@ -255,7 +255,7 @@ typedef enum iomux_config {
/*SAI2*/
#define MVF600_PAD5_PTA12_EXT_AUDIO_MCLK \
- IOMUX_PAD(0x0014, 0x0014, 2, 0x02ec, 2, \
+ IOMUX_PAD(0x0014, 0x0014, 2, 0x02ec, 1, \
MVF600_SAI_PAD_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD6_PTA16_SAI2_TX_BCLK \
IOMUX_PAD(0x0018, 0x0018, 5, 0x0370, 0, \
@@ -365,16 +365,16 @@ typedef enum iomux_config {
/* UART2 */
#define MVF600_PAD79_PTD0_UART2_TX \
- IOMUX_PAD(0x013C, 0x013C, 2, 0x0000, 0, \
+ IOMUX_PAD(0x013C, 0x013C, 2, 0x038C, 2, \
MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE)
#define MVF600_PAD80_PTD1_UART2_RX \
- IOMUX_PAD(0x0140, 0x0140, 2, 0x0000, 0, \
+ IOMUX_PAD(0x0140, 0x0140, 2, 0x0388, 2, \
MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD81_PTD2_UART2_RTS \
IOMUX_PAD(0x0144, 0x0144, 2, 0x0000, 0, \
MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE)
#define MVF600_PAD82_PTD3_UART2_CTS \
- IOMUX_PAD(0x0148, 0x0148, 2, 0x0000, 0, \
+ IOMUX_PAD(0x0148, 0x0148, 2, 0x0384, 1, \
MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE)
/* FlexTimer channel pin */
@@ -397,49 +397,46 @@ typedef enum iomux_config {
IOMUX_PAD(0x007C, 0x007C, 1, 0x0330, 0, MVF600_FTM1_CH_CTRL)
/* Touch Screen */
-#define MVF600_PAD4_PTA11 \
- IOMUX_PAD(0x0010, 0x0010, 0, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
-#define MVF600_PAD5_PTA12 \
- IOMUX_PAD(0x0014, 0x0014, 0, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
-
-#define MVF600_PAD6_PTA16_ADC1_SE0 \
- IOMUX_PAD(0x0018, 0x0018, 3, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
-#define MVF600_PAD24_PTB2_ADC1_SE2 \
- IOMUX_PAD(0x0060, 0x0060, 2, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
-#define MVF600_PAD8_PTA18_ADC0_SE0 \
- IOMUX_PAD(0x0020, 0x0020, 2, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
-#define MVF600_PAD9_PTA19_ADC0_SE1 \
- IOMUX_PAD(0x0024, 0x0024, 2, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
-
-#define MVF600_PAD12_PTA22 \
- IOMUX_PAD(0x0030, 0x0030, 0, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
-#define MVF600_PAD13_PTA23 \
- IOMUX_PAD(0x0034, 0x0034, 0, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD4_PTA11 \
+ IOMUX_PAD(0x0010, 0x0010, 0, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD5_PTA12 \
+ IOMUX_PAD(0x0014, 0x0014, 0, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD6_PTA16_ADC1_SE0 \
+ IOMUX_PAD(0x0018, 0x0018, 3, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
+#define MVF600_PAD8_PTA18_ADC0_SE0 \
+ IOMUX_PAD(0x0020, 0x0020, 2, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
+#define MVF600_PAD9_PTA19_ADC0_SE1 \
+ IOMUX_PAD(0x0024, 0x0024, 2, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
+#define MVF600_PAD12_PTA22 \
+ IOMUX_PAD(0x0030, 0x0030, 0, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD13_PTA23 \
+ IOMUX_PAD(0x0034, 0x0034, 0, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD24_PTB2_ADC1_SE2 \
+ IOMUX_PAD(0x0060, 0x0060, 2, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
/*Touchscreen touch detection*/
-#define MVF600_PAD8_PTA18 \
- IOMUX_PAD(0x0020, 0x0020, 0, 0x0370, 0, \
- MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
-#define MVF600_PAD9_PTA19 \
- IOMUX_PAD(0x0024, 0x0024, 0, 0x0370, 0, \
- MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)
-
#define MVF600_PAD4_PTA11_WM9715L_PENDOWN \
- IOMUX_PAD(0x0010, 0x0010, 0, 0x0000, 0, \
+ IOMUX_PAD(0x0010, 0x0010, 0, 0x0000, 0, \
+ MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)
+#define MVF600_PAD8_PTA18 \
+ IOMUX_PAD(0x0020, 0x0020, 0, 0x0, 0, \
+ MVF600_TS_PAD_CTRL | PAD_CTL_IBE_ENABLE)
+#define MVF600_PAD9_PTA19 \
+ IOMUX_PAD(0x0024, 0x0024, 0, 0x0, 0, \
MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD21_PTA31_TS_IRQ \
- IOMUX_PAD(0x0054, 0x0054, 0, 0x0000, 0, \
+ IOMUX_PAD(0x0054, 0x0054, 0, 0x0000, 0, \
MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)
#define MVF600_PAD24_PTB2_WM9715L_GENIRQ \
- IOMUX_PAD(0x0060, 0x0060, 0, 0x0000, 0, \
+ IOMUX_PAD(0x0060, 0x0060, 0, 0x0000, 0, \
MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)
/*QSPI*/