static void sep0611_ts_setup(void) { // disable_irq(SEP0611_TOUCH_INTSRC); sep0611_gpio_setirq(SEP0611_TOUCH_INT, LOW_TRIG); sep0611_gpio_cfgpin(SEP0611_GPE12, SSI1_RXD); sep0611_gpio_cfgpin(SEP0611_GPE13, SSI1_TXD); sep0611_gpio_cfgpin(SEP0611_GPE14, SSI1_CS); sep0611_gpio_cfgpin(SEP0611_GPE15, SSI1_CLK); /* spi寄存器的配置 */ writel(0x0, base + SSI_ENR); writel(0xcB, base + SSI_CONTROL0); writel(0x00, base + SSI_CONTROL1); writel(0x200, base + SSI_BAUDR); writel(0x1, base + SSI_TXFTLR); writel(0x0, base + SSI_RXFTLR); writel(0x0, base + SSI_DMACR); writel(0x0, base + SSI_IMR); writel(0x1, base + SSI_SER); writel(0x0, base + SSI_ENR); mdelay(2); sep0611_gpio_clrirq(SEP0611_TOUCH_INT); /* 清除中断 */ // enable_irq(SEP0611_TOUCH_INTSRC); }
static __inline void sep0611_spk_gpio_init(void) { alsa_dbg("%s\n", __func__); sep0611_gpio_cfgpin(SEP0611_SPK_CTL, SEP0611_GPIO_IO); /* GPIO */ sep0611_gpio_dirpin(SEP0611_SPK_CTL, SEP0611_GPIO_OUT); /* output */ }
static __inline void sep0611_codec_gpio_init(void) { alsa_dbg("%s\n", __func__); sep0611_gpio_cfgpin(SEP0611_AUDIO_EN, SEP0611_GPIO_IO); /* GPIO */ sep0611_gpio_dirpin(SEP0611_AUDIO_EN, SEP0611_GPIO_OUT);/* output */ }
/*init USB phy ,enable irq */ void musb_platform_enable(struct musb *musb) { #ifdef SEP0611_PHY_RESET sep0611_gpio_cfgpin(SEP0611_PHY_RESET, SEP0611_GPIO_IO); /*AO_PORT general purpose */ sep0611_gpio_dirpin(SEP0611_PHY_RESET, SEP0611_GPIO_OUT); /* AO_PORT output */ sep0611_gpio_setpin(SEP0611_PHY_RESET, 1); /* AO_PORT output data */ #endif #ifdef SEP0611_PHY_RST sep0611_gpio_cfgpin(SEP0611_USB_EN, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_USB_EN, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_USB_EN, 1); sep0611_gpio_cfgpin(SEP0611_PHY_RST, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_PHY_RST, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_PHY_RST, 1); sep0611_gpio_cfgpin(SEP0611_USB5V_EN, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_USB5V_EN, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_USB5V_EN, 1); sep0611_gpio_cfgpin(SEP0611_USB_DE_SEL, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_USB_DE_SEL, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_USB_DE_SEL, 0); sep0611_gpio_cfgpin(SEP0611_VBUS_IN_SEL, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_VBUS_IN_SEL, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_VBUS_IN_SEL, 1); sep0611_gpio_cfgpin(SEP0611_HVBUS_ON, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_HVBUS_ON, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_HVBUS_ON, 0); sep0611_gpio_cfgpin(SEP0611_HID_VAL, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_HID_VAL, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_HID_VAL, 0); sep0611_gpio_cfgpin(SEP0611_OTG_VBUS_ON, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_OTG_VBUS_ON, SEP0611_GPIO_IN); sep0611_gpio_setpin(SEP0611_OTG_VBUS_ON, 0); #endif #ifdef SEP0611_ULPI_RST sep0611_gpio_cfgpin(SEP0611_USB_EN, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_USB_EN, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_USB_EN, 1); sep0611_gpio_cfgpin(SEP0611_ULPI_RST, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_ULPI_RST, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_ULPI_RST, 1); sep0611_gpio_cfgpin(SEP0611_HID_VAL, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_HID_VAL, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_HID_VAL, 0); sep0611_gpio_cfgpin(SEP0611_USB_DE_SEL, SEP0611_GPIO_IO); sep0611_gpio_dirpin(SEP0611_USB_DE_SEL, SEP0611_GPIO_OUT); sep0611_gpio_setpin(SEP0611_USB_DE_SEL, 0); #endif SEP0611_INT_ENABLE(INTSRC_USB); SEP0611_INT_ENABLE(INTSRC_USBDMA); }