示例#1
0
static int __init NCR_D700_init(void)
{
#ifdef MODULE
	if (NCR_D700)
		param_setup(NCR_D700);
#endif

	return mca_register_driver(&NCR_D700_driver);
}
示例#2
0
static int __init
lasi700_detect(Scsi_Host_Template *tpnt)
{
	host_tpnt = tpnt;

#ifdef MODULE
	if(lasi700)
		param_setup(lasi700);
#endif

	register_parisc_driver(&lasi700_driver);

	return (host_count != 0);
}
示例#3
0
void module_init(void) {
  int i, j;

  // init module/param descriptor
  // intialize local data at start of SDRAM
  data = (wavesData * )SDRAM_ADDRESS;
  // initialize moduleData superclass for core routines
  gModuleData = &(data->super);
  strcpy(gModuleData->name, "aleph-waves");
  gModuleData->paramData = data->mParamData;
  gModuleData->numParams = eParamNumParams;

  for(i=0; i<WAVES_NVOICES; i++) {
    fract32 tmp = FRACT32_MAX >> 2;
    osc_init( &(voice[i].osc), &wavtab, SAMPLERATE );
    filter_svf_init( &(voice[i].svf) );
    voice[i].amp = tmp;

    slew_init((voice[i].ampSlew), 0, 0, 0 );
    slew_init((voice[i].cutSlew), 0, 0, 0 );
    slew_init((voice[i].rqSlew), 0, 0, 0 );

    slew_init((voice[i].wetSlew), 0, 0, 0 );
    slew_init((voice[i].drySlew), 0, 0, 0 );

    voice[i].pmDelWrIdx = 0;
    voice[i].pmDelRdIdx = 0;

    //    voice[i].pmDelBuf = data->pmDelBuf[i];
  }

  for(i=0; i<4; i++) {
    for(j=0; j<4; j++) {
      patch_adc_dac[i][j] = &trash;
    }
  }

  for(i=0; i<2; i++) {
    for(j=0; j<4; j++) {
      patch_osc_dac[i][j] = &trash;
    }
  }

  // cv
  /* slew_init(cvSlew[0] , 0, 0, 0 ); */
  /* slew_init(cvSlew[1] , 0, 0, 0 ); */
  /* slew_init(cvSlew[2] , 0, 0, 0 ); */
  /* slew_init(cvSlew[3] , 0, 0, 0 ); */

  // cv
  filter_1p_lo_init( &(cvSlew[0]), 0xf );
  filter_1p_lo_init( &(cvSlew[1]), 0xf );
  filter_1p_lo_init( &(cvSlew[2]), 0xf );
  filter_1p_lo_init( &(cvSlew[3]), 0xf );



  // set parameters to defaults
  /// slew first
  param_setup(  eParamHz1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamHz0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp1Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp0Slew, PARAM_SLEW_DEFAULT );
 
  param_setup(  eParamCut0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamCut1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq1Slew, PARAM_SLEW_DEFAULT );

  param_setup(  eParamWet0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamWet1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamDry0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamDry1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamHz1, 	220 << 16 );
  param_setup(  eParamHz0, 	330 << 16 );
  param_setup(  eParamTune1, 	FIX16_ONE );
  param_setup(  eParamTune0, 	FIX16_ONE );
  param_setup(  eParamWave1, 	0 );
  param_setup(  eParamWave0, 	0 );
  param_setup(  eParamAmp1, 	PARAM_AMP_6 );
  param_setup(  eParamAmp0, 	PARAM_AMP_6 );
  param_setup(  eParamPm10, 	0 );
  param_setup(  eParamPm01, 	0 );
  param_setup(  eParamWm10, 	0 );
  param_setup(  eParamWm01, 	0 );
  /* param_setup(  eParamBl1,  	0 ); */
  /* param_setup(  eParamBl0,  	0 ); */

  param_setup(  eParam_cut1,	PARAM_CUT_DEFAULT);
  param_setup(  eParam_rq1,	PARAM_RQ_DEFAULT);
  param_setup(  eParam_mode1,	0);

  param_setup(  eParam_fwet1,	PARAM_AMP_6 );
  param_setup(  eParam_fdry1,	PARAM_AMP_6 );

  param_setup(  eParam_cut0, 	PARAM_CUT_DEFAULT );
  param_setup(  eParam_rq0, 	PARAM_RQ_DEFAULT );
  param_setup(  eParam_mode0,	0);

  param_setup(  eParam_fwet0,	PARAM_AMP_6 );
  param_setup(  eParam_fdry0,	PARAM_AMP_6 );


  param_setup(  eParam_adc0_dac0, 	1 );
  param_setup(  eParam_adc1_dac1,  	1 );
  param_setup(  eParam_adc2_dac2, 	1 );
  param_setup(  eParam_adc3_dac3, 	1 );

  param_setup(  eParam_osc0_dac0, 	1 );
  param_setup(  eParam_osc0_dac1,  	1 );
  param_setup(  eParam_osc0_dac2, 	1 );
  param_setup(  eParam_osc0_dac3, 	1 );
  param_setup(  eParam_osc1_dac0, 	1 );
  param_setup(  eParam_osc1_dac1,  	1 );
  param_setup(  eParam_osc1_dac2, 	1 );
  param_setup(  eParam_osc1_dac3, 	1 );

  param_setup(  eParam_cvVal0, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal1, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal2, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal3, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvSlew0, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew1, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew2, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew3, 	PARAM_SLEW_DEFAULT );
}
示例#4
0
void module_init(void) {
  u32 i;

  // init module/param descriptor
  // intialize local data at start of SDRAM
  data = (wavesData * )SDRAM_ADDRESS;
  // initialize moduleData superclass for core routines
  gModuleData = &(data->super);
  strcpy(gModuleData->name, "aleph-waves");
  gModuleData->paramDesc = data->mParamDesc;
  gModuleData->paramData = data->mParamData;
  gModuleData->numParams = eParamNumParams;

  // fill param values with minima as default
  for(i=0; i<eParamNumParams; ++i) {
    gModuleData->paramData[i].value = gModuleData->paramDesc[i].min;
  }


  for(i=0; i<WAVES_NVOICES; i++) {
    fract32 tmp = FRACT32_MAX >> 2;
    osc_init( &(voice[i].osc), &wavtab, SAMPLERATE );
    filter_svf_init( &(voice[i].svf) );
    voice[i].amp = tmp;
    filter_1p_lo_init(&(voice[i].ampSlew), 0xf);
    filter_1p_lo_init(&(voice[i].cutSlew), 0xf);
    filter_1p_lo_init(&(voice[i].rqSlew), 0xf);
  }

  //  oscAmp1 = oscAmp0 = INT32_MAX >> 2;

  /* osc_set_hz( &osc1, fix16_from_int(220) ); */
  /* osc_set_hz( &osc0, fix16_from_int(330) ); */

  /* ioAmp0 = FR32_MAX; */
  /* ioAmp1 = FR32_MAX; */
  /* ioAmp2 = FR32_MAX; */
  /* ioAmp3 = FR32_MAX; */

  // filters
  /* filter_svf_init(&(svf1)); */
  /* filter_svf_init(&(svf0));     */

  // allocate smoothers
  //  amp1Lp = (filter_1p_lo*)malloc(sizeof(filter_1p_lo));
  //  filter_1p_lo_init( amp1Lp, oscAmp1 );

  /* amp0Lp = (filter_1p_lo*)malloc(sizeof(filter_1p_lo)); */
  /* filter_1p_lo_init( amp0Lp, oscAmp0 ); */

  // dac
  filter_1p_lo_init( &(cvSlew[0]), 0xf );
  filter_1p_lo_init( &(cvSlew[1]), 0xf );
  filter_1p_lo_init( &(cvSlew[2]), 0xf );
  filter_1p_lo_init( &(cvSlew[3]), 0xf );


  // write descriptors
  /// FIXME: eliminate and move offline !
  fill_param_desc();

  // set parameters to defaults
  param_setup(  eParamHz1, 	220 << 16 );
  param_setup(  eParamHz0, 	330 << 16 );
  param_setup(  eParamTune1, 	FIX16_ONE );
  param_setup(  eParamTune0, 	FIX16_ONE );
  param_setup(  eParamWave1, 	0 );
  param_setup(  eParamWave0, 	0 );
  param_setup(  eParamAmp1, 	PARAM_AMP_6 );
  param_setup(  eParamAmp0, 	PARAM_AMP_6 );
  param_setup(  eParamPm10, 	0 );
  param_setup(  eParamPm01, 	0 );
  param_setup(  eParamWm10, 	0 );
  param_setup(  eParamWm01, 	0 );
  param_setup(  eParamBl1,  	0 );
  param_setup(  eParamBl0,  	0 );

  param_setup(  eParam_cut1,	PARAM_CUT_DEFAULT);
  param_setup(  eParam_rq1,	PARAM_RQ_DEFAULT);
  param_setup(  eParam_low1,       PARAM_AMP_6 );
  param_setup(  eParam_high1,	0 );
  param_setup(  eParam_band1,	0 );
  param_setup(  eParam_notch1,	0 );
  param_setup(  eParam_fwet1,	PARAM_AMP_6 );
  param_setup(  eParam_fdry1,	PARAM_AMP_6 );
  param_setup(  eParam_cut0, 	PARAM_CUT_DEFAULT );
  param_setup(  eParam_rq0, 	PARAM_RQ_DEFAULT );
  param_setup(  eParam_low0,	FRACT32_MAX >> 1 );
  param_setup(  eParam_high0,	0 );
  param_setup(  eParam_band0,	0 );
  param_setup(  eParam_notch0,	0 );
  param_setup(  eParam_fwet0,	PARAM_AMP_6 );
  param_setup(  eParam_fdry0,	PARAM_AMP_6 );

  param_setup(  eParamHz1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamHz0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp1Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp0Slew, PARAM_SLEW_DEFAULT );
 
  param_setup(  eParamCut0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamCut1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq1Slew, PARAM_SLEW_DEFAULT );

  param_setup(  eParam_adc0_dac0, 	FRACT32_MAX );
  param_setup(  eParam_adc1_dac1,  	FRACT32_MAX );
  param_setup(  eParam_adc2_dac2, 	FRACT32_MAX );
  param_setup(  eParam_adc3_dac3, 	FRACT32_MAX );

  param_setup(  eParam_osc0_dac0, 	FRACT32_MAX );
  param_setup(  eParam_osc0_dac1,  	FRACT32_MAX );
  param_setup(  eParam_osc0_dac2, 	FRACT32_MAX );
  param_setup(  eParam_osc0_dac3, 	FRACT32_MAX );
  param_setup(  eParam_osc1_dac0, 	FRACT32_MAX );
  param_setup(  eParam_osc1_dac1,  	FRACT32_MAX );
  param_setup(  eParam_osc1_dac2, 	FRACT32_MAX );
  param_setup(  eParam_osc1_dac3, 	FRACT32_MAX );

  param_setup(  eParam_cvVal0, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal1, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal2, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal3, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvSlew0, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew1, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew2, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew3, 	PARAM_SLEW_DEFAULT );

  

}
示例#5
0
/* Old boot param syntax support */
void
sim710_setup(char *str, int *ints)
{
    param_setup(str);
}
示例#6
0
int main()
{
    int i;
    init_platform();
    print("--Starting...--\n\r");

    /*for (i = 0; i < n_memory_ranges; i++) {
        test_memory_range(&memory_ranges[i]);
    }*/

	int Status;
	/* Initialize the GPIO driver. If an error occurs then exit */
	Status = XGpio_Initialize(&gpio_btn, XPAR_GPIO_BTN_DEVICE_ID);
	if (Status != XST_SUCCESS) {
		return XST_FAILURE;
	}

	/* Initialize the GPIO driver. If an error occurs then exit */
	Status = XGpio_Initialize(&gpio_led, XPAR_GPIO_LED_DEVICE_ID);
	if (Status != XST_SUCCESS) {
		return XST_FAILURE;
	}

	/*
	 * Perform a self-test on the GPIO.  This is a minimal test and only
	 * verifies that there is not any bus error when reading the data
	 * register
	 */
	XGpio_SelfTest(&gpio_btn);
	XGpio_SelfTest(&gpio_led);

	XGpio_SetDataDirection(&gpio_btn, XGPIO_IR_CH1_MASK, 0x1);
	XGpio_SetDataDirection(&gpio_led, XGPIO_IR_CH1_MASK, 0x0);

	XGpio_DiscreteClear(&gpio_led, XGPIO_IR_CH1_MASK, 0xffff);

	param_setup();
	XMcml_Initialize(&mcml, XPAR_MCML_0_DEVICE_ID);
    print("--Starting Kernel--\n\r");
	XMcml_Start(&mcml);

    //cleanup_platform();
    while (1)
    {
    	if(XMcml_IsDone(&mcml)) break;
    }

    print("NOTE: MCML kernel is done.\n\r");
	XGpio_DiscreteSet(&gpio_led, XGPIO_IR_CH1_MASK, 0x1);

	float * ar_z = (float *)memory_ranges[ARZ_CTRL].base;
	for(i=0; i< 10000; i++)
	{
		int whole, thousandths;
		float fval = *(ar_z++);
		whole = fval;
		thousandths = (fval - whole) * 1000;
		if(i % 100 == 0)
			xil_printf("\n\r");

		xil_printf("%d.%3d *", whole, thousandths);

	}
	XGpio_DiscreteSet(&gpio_led, XGPIO_IR_CH1_MASK, 0x3);
    print("--DONE-- \n\r");
    return 0;
}
示例#7
0
文件: lines.c 项目: Someone101/aleph
void module_init(void) {
  u8 i;
  u32 j;
  // init module/params
  pLinesData = (linesData*)SDRAM_ADDRESS;
  
  gModuleData = &(pLinesData->super);
  strcpy(gModuleData->name, "aleph-lines");

  gModuleData->paramData = (ParamData*)pLinesData->mParamData;
  gModuleData->numParams = eParamNumParams;

  for(i=0; i<NLINES; i++) {
    delayFadeN_init(&(lines[i]), pLinesData->audioBuffer[i], LINES_BUF_FRAMES);
    filter_svf_init(&(svf[i]));

    filter_1p_lo_init(&(svfCutSlew[i]), 0x3fffffff);
    filter_1p_lo_init(&(svfRqSlew[i]), 0x3fffffff);

    filter_ramp_tog_init(&(lpFadeRd[i]), 0);
    filter_ramp_tog_init(&(lpFadeWr[i]), 0);

    /* // we really need to zero everything to avoid horrible noise at boot... */
    /* for(j=0; j<LINES_BUF_FRAMES; ++j) { */
    /*   pLinesData->audioBuffer[i][j] = 0; */
    /* } */

    //    memset(pLinesData->audioBuffer[i], 0, LINES_BUF_FRAMES * 4);

    // however, it is causing crashes or hangs here, for some damn reason.

    // at least zero the end of the buffer
    /* for(j=LINES_BUF_FRAMES - 100000; j < LINES_BUF_FRAMES - 1; ++j) { */
    /*   pLinesData->audioBuffer[i][j] = 0x00000000;  */
    /* } */
  }

  // dac
  filter_1p_lo_init( &(cvSlew[0]), 0xf );
  filter_1p_lo_init( &(cvSlew[1]), 0xf );
  filter_1p_lo_init( &(cvSlew[2]), 0xf );
  filter_1p_lo_init( &(cvSlew[3]), 0xf );

  /// setup params with intial values

  param_setup( eParamFade0 , 0x100000 );
  param_setup( eParamFade1 , 0x100000 );

  param_setup( 	eParam_loop0,		PARAM_SECONDS_MAX );
  param_setup( 	eParam_rMul0,		0x10000 );
  param_setup( 	eParam_rDiv0,		0x10000 );
  param_setup( 	eParam_write0,		FRACT32_MAX );
  param_setup( 	eParam_pre0,		0 );
  param_setup( 	eParam_pos_write0,		0 );
  param_setup( 	eParam_pos_read0,		0 );

  param_setup( 	eParam_delay0,		0x4000 );

  param_setup( 	eParam_run_read0, 1 );
  param_setup( 	eParam_run_write0, 1 );

  param_setup( 	eParam_loop1,		PARAM_SECONDS_MAX );
  param_setup( 	eParam_rMul1,		0x10000 );
  param_setup( 	eParam_rDiv1,		0x10000 );
  param_setup( 	eParam_write1,		FRACT32_MAX );
  param_setup( 	eParam_pre1,		0 );
  param_setup( 	eParam_pos_write1,		0 );
  param_setup( 	eParam_pos_read1,		0 );

  param_setup( 	eParam_delay1,		0x4000 );

  param_setup( 	eParam_run_read1, 1 );
  param_setup( 	eParam_run_write1, 1 );

  param_setup( 	eParam_del1_dac0,		PARAM_AMP_12 );
  param_setup( 	eParam_del1_dac1,		PARAM_AMP_6 );
  param_setup( 	eParam_del1_dac2,		PARAM_AMP_12 );
  param_setup( 	eParam_del1_dac3,		PARAM_AMP_6 );

  param_setup( 	eParam_adc0_dac0,		PARAM_AMP_12 );
  param_setup( 	eParam_adc0_dac1,		PARAM_AMP_12 );
  param_setup( 	eParam_adc0_dac2,		PARAM_AMP_12 );
  param_setup( 	eParam_adc0_dac3,		PARAM_AMP_12 );
  param_setup( 	eParam_adc1_dac0,		PARAM_AMP_12 );
  param_setup( 	eParam_adc1_dac1,		PARAM_AMP_12 );
  param_setup( 	eParam_adc1_dac2,		PARAM_AMP_12 );
  param_setup( 	eParam_adc1_dac3,		PARAM_AMP_12 );
  param_setup( 	eParam_adc2_dac0,		PARAM_AMP_12 );
  param_setup( 	eParam_adc2_dac1,		PARAM_AMP_12 );
  param_setup( 	eParam_adc2_dac2,		PARAM_AMP_12 );
  param_setup( 	eParam_adc2_dac3,		PARAM_AMP_12 );
  param_setup( 	eParam_adc3_dac0,		PARAM_AMP_12 );
  param_setup( 	eParam_adc3_dac1,		PARAM_AMP_12 );
  param_setup( 	eParam_adc3_dac2,		PARAM_AMP_12 );
  param_setup( 	eParam_adc3_dac3,		PARAM_AMP_12 );


  param_setup(  eParam_freq1,	PARAM_CUT_DEFAULT);
  param_setup(  eParam_rq1,	PARAM_RQ_DEFAULT);
  param_setup(  eParam_low1,       PARAM_AMP_6 );
  param_setup(  eParam_high1,	0 );
  param_setup(  eParam_band1,	0 );
  param_setup(  eParam_notch1,	0 );
  param_setup(  eParam_fwet1,	PARAM_AMP_6 );
  param_setup(  eParam_fdry1,	PARAM_AMP_6 );

  param_setup(  eParam_freq0, 	PARAM_CUT_DEFAULT );
  param_setup(  eParam_rq0, 	PARAM_RQ_DEFAULT );
  param_setup(  eParam_low0,	FRACT32_MAX >> 1 );
  param_setup(  eParam_high0,	0 );
  param_setup(  eParam_band0,	0 );
  param_setup(  eParam_notch0,	0 );
  param_setup(  eParam_fwet0,	PARAM_AMP_6 );
  param_setup(  eParam_fdry0,	PARAM_AMP_6 );

  param_setup(  eParamCut0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamCut1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq1Slew, PARAM_SLEW_DEFAULT );


  param_setup(  eParam_cvSlew0, PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew1, PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew2, PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew3, PARAM_SLEW_DEFAULT );

  param_setup(  eParam_cvVal0, PARAM_CV_VAL_DEFAULT );
  param_setup(  eParam_cvVal1, PARAM_CV_VAL_DEFAULT );
  param_setup(  eParam_cvVal2, PARAM_CV_VAL_DEFAULT );
  param_setup(  eParam_cvVal3, PARAM_CV_VAL_DEFAULT );

}