Пример #1
0
void sound_init(void) {
    debug("sound: init\n"); debug_flush();
    sound_init_rcc();
    sound_init_gpio();

    sound_queue_state = 0;
    sound_set_frequency(0);
/*
    sound_queue[0].frequency   = 500;
    sound_queue[0].duration_ms = 8000;
    sound_queue[1].frequency   = 890;
    sound_queue[1].duration_ms = 80;
    sound_queue[2].frequency   = 1000;
    sound_queue[2].duration_ms = 8000;
    sound_queue[3].frequency   = 0;
    sound_queue[3].duration_ms = 0;
    sound_queue_state = 1;
*/
    sound_tone_duration = 0;
}
Пример #2
0
/*
 *	does local module initialisation.
 *	returns 0 on success, non-zero on error.
 */
static int sound_module_init (void)
{
	int ret;

	/* Note: GPIO region is (should be) handled upstream in ev3dev.
	 * FIXME: still need some clean-up here.
	 * XXX: the conflict in I/O mapping may be causing some issue here.
	 */

// 	if (request_mem_region (DA8XX_GPIO_BASE, 0xD8, MODULE_NAME) >= 0) {
// 		GpioBase = (void *) ioremap (DA8XX_GPIO_BASE, 0xD8);
// 		if (GpioBase != NULL) {
// 			InitGpio ();
// 			Device1Init ();
// 
// 		}
// 	}

	ret = sound_init_gpio ();
	if (ret) {
		/* failed */
		goto out_err0;
	}

	/* initialised GPIO okay, so do the rest */
	ret = Device1Init ();
	if (ret) {
		goto out_err1;
	}

	return 0;

out_err1:
	sound_free_gpio ();
out_err0:
	return ret;
}