static void h3600_audio_shutdown(void *dummy) { /* disable the audio power and all signals leading to the audio chip */ l3_close(&uda1341); Ser4SSCR0 = 0; clr_h3600_egpio(IPAQ_EGPIO_CODEC_NRESET); clr_h3600_egpio(IPAQ_EGPIO_AUDIO_ON); clr_h3600_egpio(IPAQ_EGPIO_QMUTE); }
static void pangolin_audio_shutdown(void *dummy) { GPSR = QmutePin; l3_close(&uda1341); Ser4SSCR0 = 0; MDREFR &= ~(MDREFR_K2DB2 | MDREFR_K2RUN); }
/* * Shutdown the Assabet audio driver. * * We have to be careful about the SFRM line here for the same reasons * described in the initialisation comments above. This basically means * that we must hand the SSP pins back to the GPIO module before disabling * the SSP. * * In addition, to reduce power drain, we toggle the SFRM line once so * that the UDA_WS line is at logic 0. * * We can't clear ASSABET_BCR_CODEC_RST without knowing if the UCB1300 or * ADV7171 driver is still active. If it is, then we still need to play * games, so we might as well leave ASSABET_BCR_CODEC_RST set. */ static void assabet_audio_shutdown(void *dummy) { ASSABET_BCR_set(ASSABET_BCR_STEREO_LB | ASSABET_BCR_QMUTE | ASSABET_BCR_SPK_OFF); l3_close(&uda1341); GAFR &= ~(GPIO_SSP_TXD | GPIO_SSP_RXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM); Ser4SSCR0 = 0; #ifdef FIX_POWER_DRAIN GPSR = GPIO_SSP_SFRM; GPCR = GPIO_SSP_SFRM; #endif /* disable the audio power */ ASSABET_BCR_clear(ASSABET_BCR_AUDIO_ON); }
static void omap1510_audio_shutdown(void *dummy) { u8 fpga; printk(__FUNCTION__ "called\n"); #ifndef CONFIG_DSP_MCBSP1 // Disable the McBSP channel outw(0x0000, OMAP1510_MCBSP1_BASE + 0x806); // flush data outw(0x0000, OMAP1510_MCBSP1_BASE + 0x806); // flush data outw(0x0000, OMAP1510_MCBSP1_BASE + 0x80a); // disable SPCR1 outw(0x0000, OMAP1510_MCBSP1_BASE + 0x808); // disable SPCR2 #endif /* disable the audio clocks/signals */ l3_close(&uda1341); // Turn off clocks, but don't turn off audio amplifier // or you will hear a nasty noise when you turn it back // on. fpga = 0; fpga_write(fpga, OMAP1510P1_FPGA_AUDIO); }
static void sa1111_audio_shutdown(void *dummy) { l3_close(&uda1341); SACR0 &= ~SACR0_ENB; }