static void lmc1992_init(void) { if (!has_microwire) return; /* * According to Atari documentation, it takes approximately 16 * microseconds to send the data (16 bits including don't cares), * so the time to shift the mask/data by 1 bit is approximately * 1 microsecond. Therefore we need to delay at least this much * before checking to see if the shift is complete. * Note that delay values at LMC1992 initialisation time are not yet * calibrated. So, for safety, we set the delay to 2 microseconds. */ loopcount_mw = loopcount_1_msec * 2 / 1000; /* 2 microseconds */ DMASOUND->microwire_mask = MICROWIRE_MASK; write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_VOLUME, LMC1992_VOLUME(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_LEFT_FRONT_FADER, LMC1992_FADER(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_RIGHT_FRONT_FADER, LMC1992_FADER(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_TREBLE, LMC1992_TONE(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_BASS, LMC1992_TONE(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_INPUT_SELECT, LMC1992_INPUT_1)); }
static void lmc1992_init(void) { if (!has_microwire) return; DMASOUND->microwire_mask = MICROWIRE_MASK; write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_VOLUME, LMC1992_VOLUME(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_LEFT_FRONT_FADER, LMC1992_FADER(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_RIGHT_FRONT_FADER, LMC1992_FADER(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_TREEBLE, LMC1992_TONE(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_BASS, LMC1992_TONE(0))); write_microwire(LMC1992_COMMAND(LMC1992_FUNCTION_INPUT_SELECT, LMC1992_INPUT_1)); }