mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
ARM: preliminary SA-1110 support
This commit is contained in:
parent
eaf0d1b924
commit
0f6b9fc7a8
@ -260,6 +260,17 @@ static CPU_RESET( pxa255 )
|
|||||||
cpustate->archFlags = eARM_ARCHFLAGS_T | eARM_ARCHFLAGS_E | eARM_ARCHFLAGS_XSCALE; // has TE and XScale extensions
|
cpustate->archFlags = eARM_ARCHFLAGS_T | eARM_ARCHFLAGS_E | eARM_ARCHFLAGS_XSCALE; // has TE and XScale extensions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static CPU_RESET( sa1110 )
|
||||||
|
{
|
||||||
|
arm_state *cpustate = get_safe_token(device);
|
||||||
|
|
||||||
|
// must call core reset
|
||||||
|
arm7_core_reset(device);
|
||||||
|
|
||||||
|
cpustate->archRev = 4; // ARMv4
|
||||||
|
cpustate->archFlags = eARM_ARCHFLAGS_SA; // has StrongARM, no Thumb, no Enhanced DSP
|
||||||
|
}
|
||||||
|
|
||||||
static CPU_EXIT( arm7 )
|
static CPU_EXIT( arm7 )
|
||||||
{
|
{
|
||||||
/* nothing to do here */
|
/* nothing to do here */
|
||||||
@ -566,6 +577,17 @@ CPU_GET_INFO( pxa255 )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CPU_GET_INFO( sa1110 )
|
||||||
|
{
|
||||||
|
switch (state)
|
||||||
|
{
|
||||||
|
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(sa1110); break;
|
||||||
|
case DEVINFO_STR_NAME: strcpy(info->s, "SA1110"); break;
|
||||||
|
default: CPU_GET_INFO_CALL(arm7);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* ARM system coprocessor support */
|
/* ARM system coprocessor support */
|
||||||
|
|
||||||
static WRITE32_DEVICE_HANDLER( arm7_do_callback )
|
static WRITE32_DEVICE_HANDLER( arm7_do_callback )
|
||||||
@ -638,7 +660,17 @@ static READ32_DEVICE_HANDLER( arm7_rt_r_callback )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: // ARM7/SA11xx
|
case 4: // ARM7/SA11xx
|
||||||
data = 0x41 | (1 << 23) | (7 << 12);
|
if (cpustate->archFlags & eARM_ARCHFLAGS_SA)
|
||||||
|
{
|
||||||
|
// ARM Architecture Version 4
|
||||||
|
// Part Number 0xB11 (SA1110)
|
||||||
|
// Stepping B5
|
||||||
|
data = 0x69 | ( 0x01 << 16 ) | ( 0xB11 << 4 ) | 0x9;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data = 0x41 | (1 << 23) | (7 << 12);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5: // ARM9/10/XScale
|
case 5: // ARM9/10/XScale
|
||||||
|
@ -46,4 +46,7 @@ extern CPU_GET_INFO( arm9 );
|
|||||||
extern CPU_GET_INFO( pxa255 );
|
extern CPU_GET_INFO( pxa255 );
|
||||||
#define CPU_PXA255 CPU_GET_INFO_NAME( pxa255 )
|
#define CPU_PXA255 CPU_GET_INFO_NAME( pxa255 )
|
||||||
|
|
||||||
|
extern CPU_GET_INFO( sa1110 );
|
||||||
|
#define CPU_SA1110 CPU_GET_INFO_NAME( sa1110 )
|
||||||
|
|
||||||
#endif /* __ARM7_H__ */
|
#endif /* __ARM7_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user