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); } }
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 */ }
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); } }
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; }