|
|
|
@ -114,7 +114,7 @@ sa1110_bus_read_start( bus_t *bus, uint32_t adr )
|
|
|
|
|
setup_address( bus, adr );
|
|
|
|
|
set_data_in( bus );
|
|
|
|
|
|
|
|
|
|
chain_shift_data_registers( chain );
|
|
|
|
|
chain_shift_data_registers( chain, 0 );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static uint32_t
|
|
|
|
@ -127,7 +127,7 @@ sa1110_bus_read_next( bus_t *bus, uint32_t adr )
|
|
|
|
|
uint32_t d = 0;
|
|
|
|
|
|
|
|
|
|
setup_address( bus, adr );
|
|
|
|
|
chain_shift_data_registers( chain );
|
|
|
|
|
chain_shift_data_registers( chain, 1 );
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < 32; i++)
|
|
|
|
|
d |= (uint32_t) (part_get_signal( p, D[i] ) << i);
|
|
|
|
@ -151,7 +151,7 @@ sa1110_bus_read_end( bus_t *bus )
|
|
|
|
|
part_set_signal( p, nCS[4], 1, 1 );
|
|
|
|
|
part_set_signal( p, nCS[5], 1, 1 );
|
|
|
|
|
part_set_signal( p, nOE, 1, 1 );
|
|
|
|
|
chain_shift_data_registers( chain );
|
|
|
|
|
chain_shift_data_registers( chain, 1 );
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < 32; i++)
|
|
|
|
|
d |= (uint32_t) (part_get_signal( p, D[i] ) << i);
|
|
|
|
@ -186,10 +186,10 @@ sa1110_bus_write( bus_t *bus, uint32_t adr, uint32_t data )
|
|
|
|
|
setup_address( bus, adr );
|
|
|
|
|
setup_data( bus, data );
|
|
|
|
|
|
|
|
|
|
chain_shift_data_registers( chain );
|
|
|
|
|
chain_shift_data_registers( chain, 0 );
|
|
|
|
|
|
|
|
|
|
part_set_signal( p, nWE, 1, 0 );
|
|
|
|
|
chain_shift_data_registers( chain );
|
|
|
|
|
chain_shift_data_registers( chain, 0 );
|
|
|
|
|
part_set_signal( p, nWE, 1, 1 );
|
|
|
|
|
part_set_signal( p, nCS[0], 1, 1 );
|
|
|
|
|
part_set_signal( p, nCS[1], 1, 1 );
|
|
|
|
@ -197,7 +197,7 @@ sa1110_bus_write( bus_t *bus, uint32_t adr, uint32_t data )
|
|
|
|
|
part_set_signal( p, nCS[3], 1, 1 );
|
|
|
|
|
part_set_signal( p, nCS[4], 1, 1 );
|
|
|
|
|
part_set_signal( p, nCS[5], 1, 1 );
|
|
|
|
|
chain_shift_data_registers( chain );
|
|
|
|
|
chain_shift_data_registers( chain, 0 );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
|