📄 skyeye_mach_omap5912.c
字号:
switch (addr) { /*os timer*/ case OS_TIMER_TICK_VAL: data = omap5912_io.os_timer.os_timer_tick_val * (0x00ffffff); break; case OS_TIMER_TICK_CNTR: data = omap5912_io.os_timer.os_timer_tick_cntr & (0x00ffffff); printf("os timer tick count value\n"); break; case OS_TIMER_CTRL: data = omap5912_io.os_timer.os_timer_ctrl; printf("os timer control%x\n", data); break; case TIMER_32K_SYNCHRONIZED: data = omap5912_io.timer_32k_synchronized; //printf("32k synchronized%x\n", data); break; /*mpu timer*/ case MPU_CNTL_TIMER1: data = omap5912_io.timer.mpu_cntl_timer[0]; //printf("timer 1 read control %x\n", omap5912_io.timer.mpu_cntl_timer[0]); break; case MPU_READ_TIMER1: data = omap5912_io.timer.mpu_read_timer[0]; //printf("timer 1 read %x\n", data); break; case MPU_CNTL_TIMER2: data = omap5912_io.timer.mpu_cntl_timer[1]; //printf("timer 2 read control %x\n", omap5912_io.timer.mpu_cntl_timer[1]); break; case MPU_READ_TIMER2: data = omap5912_io.timer.mpu_read_timer[1]; //printf("timer 2 read %x\n", data); break; case MPU_CNTL_TIMER3: data = omap5912_io.timer.mpu_cntl_timer[2]; break; case MPU_READ_TIMER3: data = omap5912_io.timer.mpu_read_timer[2]; break; /**interrupt controller*/ case MPU_L2_ITR: data = omap5912_io.ic.mpu_l2_itr; //printf("read mpu l2 itr %x\n",data); break; case MPU_L2_MIR: data = omap5912_io.ic.mpu_l2_mir; //printf("readmpu l2 mir %x\n",data); break; case MPU_L2_SIR_IRQ: data = omap5912_io.ic.mpu_l2_sir_irq; //omap5912_update_l2_int(state); //printf("read mpu l2 sir irq %d\n",data); break; case MPU_L2_SIR_FIQ: data = omap5912_io.ic.mpu_l2_sir_fiq; break; case MPU_L2_CONTROL: data = omap5912_io.ic.mpu_l2_control; break; case MPU_L2_STATUS: data = omap5912_io.ic.mpu_l2_status; break; case MPU_L2_OCP_CFG: data = omap5912_io.ic.mpu_l2_ocp_cfg; break; case MPU_L1_ITR: data = omap5912_io.ic.mpu_l1_itr; break; case MPU_L1_MIR: data = omap5912_io.ic.mpu_l1_mir; //printf("mpul1 mir read %x\n", data); break; case MPU_L1_SIR_IRQ_CODE: data = omap5912_io.ic.mpu_l1_sir_irq_code; //printf("mpul1 sir_irq code read %x\n", data); break; case MPU_L1_SIR_FIQ_CODE: data = omap5912_io.ic.mpu_l1_sir_fiq_code; //omap5912_io.ic.mpu_l1_itr &= ~(1 << data); break; case MPU_L1_CONTROL: data = omap5912_io.ic.mpu_l1_control; //printf("mpul1 control read %x\n", data); break; case MPU_L1_ISR: data = omap5912_io.ic.mpu_l1_isr; //printf(" mpul1_isr %x \n", data); break; case MPU_L1_ENHANCEED_CNTL: data = omap5912_io.ic.mpu_l1_enhanceed_cntl; break; /** gpio1*/ case GPIO1_REVISION: data = omap5912_io.gpio[0].gpio_reversion; break; case GPIO1_SYSSTATUS: data = omap5912_io.gpio[0].gpio_sysstatus; break; case GPIO1_SYSCONFIG: data = omap5912_io.gpio[0].gpio_sysconfig; break; case GPIO1_IRQSTATUS1: data = omap5912_io.gpio[0].gpio_irqstatus1; break; case GPIO1_IRQENABLE1: data = omap5912_io.gpio[0].gpio_irqenable1; break; case GPIO1_IRQSTATUS2: data = omap5912_io.gpio[0].gpio_irqstatus2; break; case GPIO1_IRQENABLE2: data = omap5912_io.gpio[0].gpio_irqenable2; break; case GPIO1_WAKEUPENABLE: data = omap5912_io.gpio[0].gpio_wakeupenable; break; case GPIO1_DATAIN: data = omap5912_io.gpio[0].gpio_datain; break; case GPIO1_DATAOUT: data = omap5912_io.gpio[0].gpio_dataout; break; case GPIO1_DIRECTION: data = omap5912_io.gpio[0].gpio_direction; break; case GPIO1_EDGE_CTRL1: data = omap5912_io.gpio[0].gpio_edge_ctrl1; break; case GPIO1_EDGE_CTRL2: data = omap5912_io.gpio[0].gpio_edge_ctrl2; break; case GPIO1_CLEAR_IRQENABLE1: data = omap5912_io.gpio[0].gpio_clear_irqenable1; break; case GPIO1_CLEAR_IRQENABLE2: data = omap5912_io.gpio[0].gpio_clear_irqenable2; break; case GPIO1_CLEAR_WAKEUPENA: data = omap5912_io.gpio[0].gpio_clear_wakeupena; break; case GPIO1_CLEAR_DATAOUT: data = omap5912_io.gpio[0].gpio_clear_dataout; break; case GPIO1_SET_IRQENABLE1: data = omap5912_io.gpio[0].gpio_set_irqenable1; break; case GPIO1_SET_IRQENABLE2: data = omap5912_io.gpio[0].gpio_set_irqenable2; break; case GPIO1_SET_WAKEUPENA: data = omap5912_io.gpio[0].gpio_set_wakeupena; break; case GPIO1_SET_DATAOUT: data = omap5912_io.gpio[0].gpio_set_dataout; break; /** gpio2*/ case GPIO2_REVISION: data = omap5912_io.gpio[1].gpio_reversion; break; case GPIO2_SYSSTATUS: data = omap5912_io.gpio[1].gpio_sysstatus; break; case GPIO2_SYSCONFIG: data = omap5912_io.gpio[1].gpio_sysconfig; break; case GPIO2_IRQSTATUS1: data = omap5912_io.gpio[1].gpio_irqstatus1; break; case GPIO2_IRQENABLE1: data = omap5912_io.gpio[1].gpio_irqenable1; break; case GPIO2_IRQSTATUS2: data = omap5912_io.gpio[1].gpio_irqstatus2; break; case GPIO2_IRQENABLE2: data = omap5912_io.gpio[1].gpio_irqenable2; break; case GPIO2_WAKEUPENABLE: data = omap5912_io.gpio[1].gpio_wakeupenable; break; case GPIO2_DATAIN: data = omap5912_io.gpio[1].gpio_datain; break; case GPIO2_DATAOUT: data = omap5912_io.gpio[1].gpio_dataout; break; case GPIO2_DIRECTION: data = omap5912_io.gpio[1].gpio_direction; break; case GPIO2_EDGE_CTRL1: data = omap5912_io.gpio[1].gpio_edge_ctrl1; break; case GPIO2_EDGE_CTRL2: data = omap5912_io.gpio[1].gpio_edge_ctrl2; break; case GPIO2_CLEAR_IRQENABLE1: data = omap5912_io.gpio[1].gpio_clear_irqenable1; break; case GPIO2_CLEAR_IRQENABLE2: data = omap5912_io.gpio[1].gpio_clear_irqenable2; break; case GPIO2_CLEAR_WAKEUPENA: omap5912_io.gpio[1].gpio_clear_wakeupena; break; case GPIO2_CLEAR_DATAOUT: data = omap5912_io.gpio[1].gpio_clear_dataout; break; case GPIO2_SET_IRQENABLE1: data = omap5912_io.gpio[1].gpio_set_irqenable1; break; case GPIO2_SET_IRQENABLE2: data = omap5912_io.gpio[1].gpio_set_irqenable2; break; case GPIO2_SET_WAKEUPENA: data = omap5912_io.gpio[1].gpio_set_wakeupena; break; case GPIO2_SET_DATAOUT: data = omap5912_io.gpio[1].gpio_set_dataout; break; /** gpio2*/ case GPIO3_REVISION: data = omap5912_io.gpio[2].gpio_reversion; break; case GPIO3_SYSSTATUS: data = omap5912_io.gpio[2].gpio_sysstatus; break; case GPIO3_SYSCONFIG: data = omap5912_io.gpio[2].gpio_sysconfig; break; case GPIO3_IRQSTATUS1: data = omap5912_io.gpio[2].gpio_irqstatus1; break; case GPIO3_IRQENABLE1: data = omap5912_io.gpio[2].gpio_irqenable1; break; case GPIO3_IRQSTATUS2: data = omap5912_io.gpio[2].gpio_irqstatus2; break; case GPIO3_IRQENABLE2: data = omap5912_io.gpio[2].gpio_irqenable2; break; case GPIO3_WAKEUPENABLE: data = omap5912_io.gpio[2].gpio_wakeupenable; break; case GPIO3_DATAIN: data = omap5912_io.gpio[2].gpio_datain; break; case GPIO3_DATAOUT: data = omap5912_io.gpio[2].gpio_dataout; break; case GPIO3_DIRECTION: data = omap5912_io.gpio[2].gpio_direction; break; case GPIO3_EDGE_CTRL1: data = omap5912_io.gpio[2].gpio_edge_ctrl1; break; case GPIO3_EDGE_CTRL2: data = omap5912_io.gpio[2].gpio_edge_ctrl2; break; case GPIO3_CLEAR_IRQENABLE1: data = omap5912_io.gpio[2].gpio_clear_irqenable1; break; case GPIO3_CLEAR_IRQENABLE2: data = omap5912_io.gpio[2].gpio_clear_irqenable2; break; case GPIO3_CLEAR_WAKEUPENA: data = omap5912_io.gpio[2].gpio_clear_wakeupena; break; case GPIO3_CLEAR_DATAOUT: data = omap5912_io.gpio[2].gpio_clear_dataout; break; case GPIO3_SET_IRQENABLE1: data = omap5912_io.gpio[2].gpio_set_irqenable1; break; case GPIO3_SET_IRQENABLE2: data = omap5912_io.gpio[2].gpio_set_irqenable2; break; case GPIO3_SET_WAKEUPENA: data =omap5912_io.gpio[2].gpio_set_wakeupena; break; case GPIO3_SET_DATAOUT: data = omap5912_io.gpio[2].gpio_set_dataout; break; /** gpio4*/ case GPIO4_REVISION: data = omap5912_io.gpio[3].gpio_reversion; break; case GPIO4_SYSSTATUS: data = omap5912_io.gpio[3].gpio_sysstatus; break; case GPIO4_SYSCONFIG: data = omap5912_io.gpio[3].gpio_sysconfig; break; case GPIO4_IRQSTATUS1: data = omap5912_io.gpio[3].gpio_irqstatus1; break; case GPIO4_IRQENABLE1: data = omap5912_io.gpio[3].gpio_irqenable1; break; case GPIO4_IRQSTATUS2: data = omap5912_io.gpio[3].gpio_irqstatus2; break; case GPIO4_IRQENABLE2: data = omap5912_io.gpio[3].gpio_irqenable2; break; case GPIO4_WAKEUPENABLE: data = omap5912_io.gpio[3].gpio_wakeupenable; break; case GPIO4_DATAIN: data = omap5912_io.gpio[3].gpio_datain; break; case GPIO4_DATAOUT: data = omap5912_io.gpio[3].gpio_dataout; break; case GPIO4_DIRECTION: data = omap5912_io.gpio[3].gpio_direction; break; case GPIO4_EDGE_CTRL1: data = omap5912_io.gpio[3].gpio_edge_ctrl1; break; case GPIO4_EDGE_CTRL2: data = omap5912_io.gpio[3].gpio_edge_ctrl2; break; case GPIO4_CLEAR_IRQENABLE1: data= omap5912_io.gpio[3].gpio_clear_irqenable1; break; case GPIO4_CLEAR_IRQENABLE2: data = omap5912_io.gpio[3].gpio_clear_irqenable2; break; case GPIO4_CLEAR_WAKEUPENA: data = omap5912_io.gpio[3].gpio_clear_wakeupena; break; case GPIO4_CLEAR_DATAOUT: data = omap5912_io.gpio[3].gpio_clear_dataout; break; case GPIO4_SET_IRQENABLE1: data = omap5912_io.gpio[3].gpio_set_irqenable1; break; case GPIO4_SET_IRQENABLE2: data = omap5912_io.gpio[3].gpio_set_irqenable2; break; case GPIO4_SET_WAKEUPENA: data = omap5912_io.gpio[3].gpio_set_wakeupena; break; case GPIO4_SET_DATAOUT: data = omap5912_io.gpio[3].gpio_set_dataout; break; case ULPD_CLOCK_CTRL: data = omap5912_io.mpu_cfg.ulpd_clock_ctrl; break; case SOFT_REQ_REG: data = omap5912_io.mpu_cfg.soft_req_reg; break; case SOFT_REQ_REG2: data = omap5912_io.mpu_cfg.soft_req_reg2; break; case MOD_CONF_CTRL_0: data = omap5912_io.mpu_cfg.mod_conf_ctrl_0; break; case FUNC_MUX_CTRL_10: data = omap5912_io.mpu_cfg.func_mux_ctrl_10; break; case PULL_DWN_CTRL_4: data = omap5912_io.mpu_cfg.pull_dwn_ctrl_4; break; case EMIFS_CS1_CONFIG: data = omap5912_io.mpu_cfg.emifs_cs1_config; break; case DIE_ID_LSB: data = omap5912_io.mpu_cfg.die_id_lsb; break; case DIE_ID_MSB: data = omap5912_io.mpu_cfg.die_id_msb; break; case PROD_ID_REG0: data = omap5912_io.mpu_cfg.prod_id_reg0; break; case PROD_ID_REG1: data = omap5912_io.mpu_cfg.prod_id_reg1; break; case ARM_CKCTL: data = omap5912_io.mpu_cfg.arm_ckctl; break; case ARM_IDLECT1: data = omap5912_io.mpu_cfg.arm_idlect1; break; case ARM_IDLECT2: data = omap5912_io.mpu_cfg.arm_idlect2; break; case ARM_RSTCT1: data = omap5912_io.mpu_cfg.arm_rstct1; break; case ARM_RSTCT2: data = omap5912_io.mpu_cfg.arm_rstct2; break; case ARM_SYSST: data = omap5912_io.mpu_cfg.arm_sysst; break; case DPLL1_CTL_REG: data = omap5912_io.mpu_cfg.dpll1_ctl_reg; break; default: //fprintf(stderr, "ERROR: %s(0x%08x) \n", __FUNCTION__, addr); data = -1; break; }//?switch_end return data;}ARMwordomap5912_io_read_byte (ARMul_State * state, ARMword addr){ return (omap5912_io_read_word(state, addr) & 0xff);}ARMwordomap5912_io_read_halfword (ARMul_State * state, ARMword addr){ return (omap5912_io_read_word(state, addr) & 0xffff);}voidomap5912_mach_init (ARMul_State * state, machine_config_t * mc){ //chy 2003-08-19, setprocessor ARMul_SelectProcessor (state, ARM_v5_Prop | ARM_v5e_Prop); //chy 2004-05-09, set lateabtSig state->lateabtSig = LOW; state->Reg[1] = 515; /*mainstone machine id. */ omap5912_io_reset (); mc->mach_io_do_cycle = omap5912_io_do_cycle; mc->mach_io_reset = omap5912_io_reset; mc->mach_io_read_byte = omap5912_io_read_byte; mc->mach_io_write_byte = omap5912_io_write_byte; mc->mach_io_read_halfword = omap5912_io_read_halfword; mc->mach_io_write_halfword = omap5912_io_write_halfword; mc->mach_io_read_word = omap5912_io_read_word; mc->mach_io_write_word = omap5912_io_write_word; mc->mach_update_int = omap5912_update_int; mc->mach_set_intr = omap_set_intr; mc->mach_pending_intr = omap_pending_intr; mc->mach_update_intr = omap_update_intr; mc->state = (void *) state;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -