From db09095fb8348d99917f2a0dcdb08b60f59cd9ae Mon Sep 17 00:00:00 2001 From: root Date: Fri, 31 Dec 1999 19:15:34 -0500 Subject: bus timing fixed with wide CS, 160 ns RD/WR --- bus.c | 18 +++++++++--------- instr-daemon.c | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bus.c b/bus.c index fd5016d..3c83eac 100644 --- a/bus.c +++ b/bus.c @@ -166,12 +166,12 @@ static void gpmc_printinfo() #define MODE_7 0x07 -// multiply by 10 ns -#define TOTAL_IO_CYCLE 25; // 250 ns cycle -#define CS_DELAY 2; // CS low 20ns after address valid -#define DELAY_TO_WR_RD 4; // RD/WR lines low 50ns after address valid -#define WR_RD_WIDTH 20; // stay low for until 200 ns after address valid -#define DATA_READY 15; // data ready 150ns after address valid +// multiply by 20 ns +#define TOTAL_IO_CYCLE 14 // 280 ns cycle +#define CS_DELAY 1 // CS low 20ns after address valid +#define DELAY_TO_WR_RD 2 // RD/WR lines low 40ns after address valid +#define WR_RD_WIDTH 8 // stay low for until 200 ns after address valid +#define DATA_READY 8 // data ready 160ns after address valid static void gpmc_setup(void) @@ -182,8 +182,8 @@ static void gpmc_setup(void) int baseaddress = 1; - int CSWROFFTIME = TOTAL_IO_CYCLE - CS_DELAY; - int CSRDOFFTIME = TOTAL_IO_CYCLE - CS_DELAY; + int CSWROFFTIME = TOTAL_IO_CYCLE; + int CSRDOFFTIME = TOTAL_IO_CYCLE; int CSONTIME = CS_DELAY; int config2 = (CSWROFFTIME << 16) | (CSRDOFFTIME << 8) | CSONTIME; @@ -232,7 +232,7 @@ static void gpmc_setup(void) // disable before playing with the registers.. *(registers + displacement + GPMC_CONFIG7) = 0x0; - *(registers + displacement + GPMC_CONFIG1) = 0x0; + *(registers + displacement + GPMC_CONFIG1) = 0x10; // double all of the timing values *(registers + displacement + GPMC_CONFIG2) = config2; *(registers + displacement + GPMC_CONFIG3) = 0x0; // not using ADV so we can ignore this guy *(registers + displacement + GPMC_CONFIG4) = config4; diff --git a/instr-daemon.c b/instr-daemon.c index d3fcf5e..c6b5fa8 100644 --- a/instr-daemon.c +++ b/instr-daemon.c @@ -324,7 +324,7 @@ static gboolean periodic_poll (void) // // FIXME - comment out everything up to "return TRUE" if this section // is crashing due to non-functional bus -/* GPIB_check_for_device_clear_signal(); + GPIB_check_for_device_clear_signal(); if (GPIB_check_for_messages(globals.Registers.gpib_buffer)) { if (GPIB_handle_new_input(globals.Registers.gpib_buffer)) { // FIXME check_for_ctrl_mode_changes(); @@ -332,7 +332,7 @@ static gboolean periodic_poll (void) } } GPIB_check_for_device_clear_signal(); -*/ + return TRUE; } -- cgit