diff options
Diffstat (limited to 'arch/arm/mach-mvf')
-rw-r--r-- | arch/arm/mach-mvf/board-twr-vf700.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-mvf/usb_dr.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-mvf/usb_dr2.c | 12 |
3 files changed, 32 insertions, 0 deletions
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*/ |