summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/configs/twr_vf600_defconfig7
-rw-r--r--arch/arm/mach-mvf/board-twr-vf700.c8
-rw-r--r--arch/arm/mach-mvf/usb_dr.c12
-rw-r--r--arch/arm/mach-mvf/usb_dr2.c12
-rw-r--r--arch/arm/plat-mxc/global_timer.c1
-rw-r--r--arch/arm/plat-mxc/include/mach/iomux-mvf.h19
6 files changed, 56 insertions, 3 deletions
diff --git a/arch/arm/configs/twr_vf600_defconfig b/arch/arm/configs/twr_vf600_defconfig
index d5267daeb899..e8a59f92e298 100644
--- a/arch/arm/configs/twr_vf600_defconfig
+++ b/arch/arm/configs/twr_vf600_defconfig
@@ -292,7 +292,6 @@ CONFIG_ISP1504_MXC=y
# CONFIG_MXC_PWM is not set
# CONFIG_MXC_DEBUG_BOARD is not set
CONFIG_HAVE_PIT=y
-CONFIG_MXC_USE_PIT=y
CONFIG_ARCH_MXC_IOMUX_V3=y
CONFIG_ARCH_MXC_AUDMUX_V2=y
CONFIG_IRAM_ALLOC=y
@@ -355,8 +354,9 @@ CONFIG_ARM_GIC=y
#
# Kernel Features
#
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_VMSPLIT_3G is not set
CONFIG_VMSPLIT_2G=y
@@ -1432,6 +1432,7 @@ CONFIG_SND_OSSEMUL=y
# CONFIG_SND_MIXER_OSS is not set
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_HRTIMER is not set
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
diff --git a/arch/arm/mach-mvf/board-twr-vf700.c b/arch/arm/mach-mvf/board-twr-vf700.c
index 5e5fec968711..3c19b1c70ec9 100644
--- a/arch/arm/mach-mvf/board-twr-vf700.c
+++ b/arch/arm/mach-mvf/board-twr-vf700.c
@@ -101,6 +101,8 @@ static iomux_v3_cfg_t mvf600_pads[] = {
/*I2C0*/
MVF600_PAD36_PTB14__I2C0_SCL,
MVF600_PAD37_PTB15__I2C0_SDA,
+
+ MVF600_PAD38_PTB16_USER_BTN1,
#if 0
/*CAN1*/
@@ -252,6 +254,12 @@ static struct imxuart_platform_data mvf_uart1_pdata = {
.dma_req_tx = DMA_MUX03_UART1_TX,
};
+static struct imxuart_platform_data mvf_uart0_pdata = {
+ .flags = IMXUART_FIFO | IMXUART_EDMA,
+ .dma_req_rx = DMA_MUX03_UART0_RX,
+ .dma_req_tx = DMA_MUX03_UART0_TX,
+};
+
static inline void mvf_vf700_init_uart(void)
{
mvf_add_imx_uart(1, &mvf_uart1_pdata);
diff --git a/arch/arm/mach-mvf/usb_dr.c b/arch/arm/mach-mvf/usb_dr.c
index bbd29f3b45a9..c063193364d1 100644
--- a/arch/arm/mach-mvf/usb_dr.c
+++ b/arch/arm/mach-mvf/usb_dr.c
@@ -90,6 +90,7 @@ static int usb_phy_enable(struct fsl_usb2_platform_data *pdata)
u32 tmp;
void __iomem *phy_reg = MVF_IO_ADDRESS(MVF_USBPHY0_BASE_ADDR);
void __iomem *phy_ctrl;
+ void __iomem *phy_param;
/* Stop then Reset */
UOG_USBCMD &= ~UCMD_RUN_STOP;
@@ -115,6 +116,17 @@ static int usb_phy_enable(struct fsl_usb2_platform_data *pdata)
/* Power up the PHY */
__raw_writel(0, phy_reg + HW_USBPHY_PWD);
+ /*
+ * For USB Certification
+ * TX: set edge rate to max, increase the amplitude
+ * with 2 steps (Level = ~ 437 mV).
+ * RX: reduce transmission envelope detector level with about 20 mV
+ */
+ phy_param = phy_reg + HW_USBPHY_TX;
+ __raw_writel(0x1c060605, phy_param);
+ phy_param = phy_reg + HW_USBPHY_RX;
+ __raw_writel(0x1, phy_param);
+
return 0;
}
/* Notes: configure USB clock*/
diff --git a/arch/arm/mach-mvf/usb_dr2.c b/arch/arm/mach-mvf/usb_dr2.c
index 67e3fcdbc921..8a83ac1ea360 100644
--- a/arch/arm/mach-mvf/usb_dr2.c
+++ b/arch/arm/mach-mvf/usb_dr2.c
@@ -85,6 +85,7 @@ static int usb_phy_enable(struct fsl_usb2_platform_data *pdata)
u32 tmp;
void __iomem *phy_reg = MVF_IO_ADDRESS(MVF_USBPHY1_BASE_ADDR);
void __iomem *phy_ctrl;
+ void __iomem *phy_param;
/* Stop then Reset */
UOG2_USBCMD &= ~UCMD_RUN_STOP;
@@ -117,6 +118,17 @@ static int usb_phy_enable(struct fsl_usb2_platform_data *pdata)
phy_reg + HW_USBPHY_CTRL_SET);
}
+ /*
+ * For USB Certification
+ * TX: set edge rate to max, increase the amplitude
+ * with 2 steps (Level = ~ 437 mV).
+ * RX: reduce transmission envelope detector level with about 20 mV
+ */
+ phy_param = phy_reg + HW_USBPHY_TX;
+ __raw_writel(0x1c060605, phy_param);
+ phy_param = phy_reg + HW_USBPHY_RX;
+ __raw_writel(0x1, phy_param);
+
return 0;
}
/* Notes: configure USB clock*/
diff --git a/arch/arm/plat-mxc/global_timer.c b/arch/arm/plat-mxc/global_timer.c
index 607c861d2752..abbccb955af3 100644
--- a/arch/arm/plat-mxc/global_timer.c
+++ b/arch/arm/plat-mxc/global_timer.c
@@ -18,6 +18,7 @@
#include <linux/cpufreq.h>
#include <linux/err.h>
#include <linux/seq_file.h>
+#include <linux/ftrace.h>
#include <asm/sched_clock.h>
#include <asm/hardware/gic.h>
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mvf.h b/arch/arm/plat-mxc/include/mach/iomux-mvf.h
index 1bbf8158051a..9978dc02f832 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-mvf.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-mvf.h
@@ -118,6 +118,11 @@ typedef enum iomux_config {
IOMUX_PAD(0x0094, 0x0094, 2, 0x0340, 1, \
MVF600_I2C_PAD_CTRL | PAD_CTL_OBE_IBE_ENABLE)
+/*SW1*/
+#define MVF600_PAD38_PTB16_USER_BTN1 \
+ IOMUX_PAD(0x0098, 0x0098, 0, 0x0000, 0, \
+ MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)
+
/*CAN1*/
#define MVF600_PAD38_PTB16__CAN1_RX \
IOMUX_PAD(0x0098, 0x0098, 1, 0x0000, 0, 0)
@@ -413,6 +418,20 @@ typedef enum iomux_config {
#define MVF600_PAD30_PTB8_INT \
IOMUX_PAD(0x0078, 0x0078, 0, 0x032C, 0, MVF600_FTM1_CH_CTRL)
+#define MVF600_PAD28_PTB6_UART2_TX \
+ IOMUX_PAD(0x0070, 0x0070, 7, 0x038C, 0, \
+ MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD29_PTB7_UART2_RX \
+ IOMUX_PAD(0x0074, 0x0074, 7, 0x0388, 0, \
+ MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE)
+
+#define MVF600_PAD10_PTA20_UART3_TX \
+ IOMUX_PAD(0x0028, 0x0028, 6, 0x0394, 0, \
+ MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE)
+#define MVF600_PAD11_PTA21_UART3_RX \
+ IOMUX_PAD(0x002C, 0x002C, 6, 0x0390, 0, \
+ MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE)
+
/* FlexTimer channel pin */
#define MVF600_PAD22_PTB0_FTM0CH0 \
IOMUX_PAD(0x0058, 0x0058, 1, 0x0000, 0, MVF600_FTM0_CH_CTRL)