static __inline void sep0611_codec_enable(bool enable) { alsa_dbg("%s\n", __func__); if(enable) sep0611_gpio_setpin(SEP0611_AUDIO_EN, GPIO_HIGH); /* codec power on */ else sep0611_gpio_setpin(SEP0611_AUDIO_EN, GPIO_LOW); /* codec power off */ }
void sep0611_spk_out(bool enable) { alsa_dbg("%s\n", __func__); if(enable) sep0611_gpio_setpin(SEP0611_SPK_CTL, GPIO_HIGH); /* speaker power on */ else sep0611_gpio_setpin(SEP0611_SPK_CTL, GPIO_LOW); /* speaker power off */ }
static int sep0611_board_startup(struct snd_pcm_substream *substream) { alsa_dbg("%s\n", __func__); sep0611_gpio_setpin(SEP0611_SPK_CTL, GPIO_HIGH); /* speaker power on */ return 0; }
static void sep0611_board_shutdown(struct snd_pcm_substream *substream) { alsa_dbg("%s\n", __func__); sep0611_gpio_setpin(SEP0611_SPK_CTL, GPIO_LOW); /* speaker power off */ }
/*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); }