Ejemplo n.º 1
0
void target_init(void)
{
	target_shutdown_for_rtc_alarm();
	dprintf(INFO, "target_init()\n");

	setup_fpga();

	/* Setting Debug LEDs ON */
	debug_led_write(0xFF);
#if (!ENABLE_NANDWRITE)
	keys_init();
	keypad_init();
#endif

	/* Display splash screen if enabled */
#if DISPLAY_SPLASH_SCREEN
	display_init();
	dprintf(SPEW, "Diplay initialized\n");
	display_image_on_screen();
#endif

	if (mmc_boot_main(MMC_SLOT, MSM_SDC1_BASE)) {
		dprintf(CRITICAL, "mmc init failed!");
		ASSERT(0);
	}
}
Ejemplo n.º 2
0
int h3600_backpaq_fpga_open( struct inode *inode, struct file *filp )
{
	int result = 0;
/*
	if ( BackpaqSysctl->hardware_version != BACKPAQ_HARDWARE_VERSION_1 )
		return -ENXIO;
*/
	if ( h3600_backpaq_fpga_data.usage_count > 0 )
		return -EBUSY;

	if ( !h3600_backpaq_present() ) {
		h3600_backpaq_fpga_data.bytes_written = 0;
		return -ENODEV;
	}

	if ( (result = setup_fpga()) != 0 )
		return result;

	h3600_backpaq_fpga_data.usage_count++;
	h3600_backpaq_fpga_data.busy_count = 0;
	h3600_backpaq_fpga_data.bytes_written = 0;

	MOD_INC_USE_COUNT;
	return 0;    /* Success */
}
Ejemplo n.º 3
0
void target_init(void)
{

    dprintf(INFO, "target_init()\n");

    setup_fpga();

    /* Setting Debug LEDs ON */
    debug_led_write(0xFF);
#if (!ENABLE_NANDWRITE)
	keys_init();
	keypad_init();
#endif
    if(mmc_boot_main(MMC_SLOT,MSM_SDC1_BASE))
    {
        dprintf(CRITICAL, "mmc init failed!");
        ASSERT(0);
    }
}
Ejemplo n.º 4
0
int main(int argc, char **argv) {
  char *prog = argv[0];
  unsigned int a1;
  char port;
  
  argv++;
  argc--;

  setup_fpga();
  setup_fpga_cs1();

  if(!argc) {
    print_usage(prog);
    return 1;
  }

  while(argc > 0) {
    if(!strcmp(*argv, "-h")) {
      argc--;
      argv++;
      print_usage(prog);
    } 
    else if(!strcmp(*argv, "-v")) {
      argc--;
      argv++;
      printf( "FPGA version code: %04hx.%04hx\n", 
	      read_kernel_memory(FPGA_R_V_MINOR, 0, 2),
	      read_kernel_memory(FPGA_R_V_MAJOR, 0, 2) );
    }

    else if(!strcmp(*argv, "-da")) {
      argc--;
      argv++;
      if( argc != 1 ) {
	printf( "usage -da <code>\n" );
	return 1;
      }

      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      dac_a_set(a1 * 4); // implementation sends 2 dummy bits
    }

    else if(!strcmp(*argv, "-db")) {
      argc--;
      argv++;
      if( argc != 1 ) {
	printf( "usage -db <code>\n" );
	return 1;
      }

      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      dac_b_set(a1 * 4);
    }

    else if(!strcmp(*argv, "-a")) {
      argc--;
      argv++;
      if( argc != 1 ) {
	printf( "usage -a <chan>\n" );
	return 1;
      }

      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      adc_chan(a1);
      
      printf( "ADC channel %d: %d\n", a1, adc_read() );;
    }

    else if(!strcmp(*argv, "-hv")) {
      argc--;
      argv++;
      setvddio(1);
    }

    else if(!strcmp(*argv, "-lv")) {
      argc--;
      argv++;
      setvddio(0);
    }

    else if(!strcmp(*argv, "-oea")) {
      argc--;
      argv++;
      if( argc != 1 ) {
	printf( "usage -oea <drive>\n" );
	return 1;
      }

      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      oe_state(a1, OE_A);
    }

    else if(!strcmp(*argv, "-oeb")) {
      argc--;
      argv++;
      if( argc != 1 ) {
	printf( "usage -oeb <drive>\n" );
	return 1;
      }

      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      oe_state(a1, OE_B);
    }

    else if(!strcmp(*argv, "-p")) {
      argc--;
      argv++;
      if( argc < 1 ) {
	printf( "usage -p <port> [hex value]\n" );
	return 1;
      }
      if( argv[0][0] == 'a' || argv[0][0] == 'A' )
	port = PORT_A;
      else if ( argv[0][0] == 'b' || argv[0][0] == 'B' )
	port = PORT_B;
      else {
	printf( "Invalid port, must be one of a,b\n" );
	break;
      }
      argc--;
      argv++;
      if( argc == 0 ) {
	// it's a read op
	printf( "%c: %02x\n", port ? 'b' : 'a', gpbb_output_state( port ) );
      } else {
	// it's a write op
	a1 = strtoul(*argv, NULL, 16);
	argc--;
	argv++;
	gpbb_port_write( port ? PORT_B : PORT_A, PORT_VAL, (unsigned short) a1 );
      }
    }

    else if(!strcmp(*argv, "-p_set")) {
      argc--;
      argv++;
      if( argc != 2 ) {
	printf( "usage -p_set <port> <bit>\n" );
	return 1;
      }
      if( argv[0][0] == 'a' || argv[0][0] == 'A' )
	port = PORT_A;
      else if ( argv[0][0] == 'b' || argv[0][0] == 'B' )
	port = PORT_B;
      else {
	printf( "Invalid port, must be one of a,b\n" );
	break;
      }
      argc--;
      argv++;
      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      gpbb_port_write( port ? PORT_B : PORT_A, PORT_SET, (unsigned short) a1 );
    }

    else if(!strcmp(*argv, "-p_clr")) {
      argc--;
      argv++;
      if( argc != 2 ) {
	printf( "usage -p_set <port> <bit>\n" );
	return 1;
      }
      if( argv[0][0] == 'a' || argv[0][0] == 'A' )
	port = PORT_A;
      else if ( argv[0][0] == 'b' || argv[0][0] == 'B' )
	port = PORT_B;
      else {
	printf( "Invalid port, must be one of a,b\n" );
	break;
      }
      argc--;
      argv++;
      a1 = strtoul(*argv, NULL, 10);
      argc--;
      argv++;
      gpbb_port_write( port ? PORT_B : PORT_A, PORT_CLR, (unsigned short) a1 );
    }

    else if(!strcmp(*argv, "-rp")) {
      argc--;
      argv++;
      printf( "input port: %02x\n", gpbb_read());
    }


    else if(!strcmp(*argv, "-testcs1")) {
      argc--;
      argv++;
      testcs1();
    }

    else {
      print_usage(prog);
      return 1;
    }
  }

  return 0;
}