From 216c6bbb3f2d9a9ab331435cdfe9e7d080d1af1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Fr=C3=B6schle?= Date: Wed, 31 Oct 2012 19:45:59 +0000 Subject: [PATCH] fixed hang in init_video_ddr() --- BaS_GNU/sources/sysinit.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/BaS_GNU/sources/sysinit.c b/BaS_GNU/sources/sysinit.c index 9d99ac5..3d4a457 100644 --- a/BaS_GNU/sources/sysinit.c +++ b/BaS_GNU/sources/sysinit.c @@ -320,7 +320,7 @@ void init_fbcs() MCF_FBCS4_CSCR = MCF_FBCS_CSCR_PS_32 // 32BIT PORT | MCF_FBCS_CSCR_BSTR // BURST READ ENABLE | MCF_FBCS_CSCR_BSTW; // BURST WRITE ENABLE - MCF_FBCS4_CSMR = MCF_FBCS_CSMR_BAM_4M // 4000'0000-7FFF'FFFF + MCF_FBCS4_CSMR = MCF_FBCS_CSMR_BAM_1G // 4000'0000-7FFF'FFFF | MCF_FBCS_CSMR_V; xprintf("finished\r\n"); @@ -511,8 +511,8 @@ static void wait_i2c_transfer_finished(void) * TFP410 (DVI) on */ void dvi_on(void) { - uint8_t RBYT; - uint8_t DBYT; /* only used for a dummy read */ + uint8_t receivedByte; + uint8_t dummyByte; /* only used for a dummy read */ int num_tries = 0; xprintf("DVI digital video output initialization: "); @@ -529,7 +529,7 @@ void dvi_on(void) { /* repeat start, transmit acknowledge */ MCF_I2C_I2CR = MCF_I2C_I2CR_RSTA | MCF_I2C_I2CR_TXAK; - RBYT = MCF_I2C_I2DR; /* read a byte */ + receivedByte = MCF_I2C_I2DR; /* read a byte */ MCF_I2C_I2SR = 0x0; /* clear status register */ MCF_I2C_I2CR = 0x0; /* disable i2c */ @@ -553,21 +553,21 @@ void dvi_on(void) { if (MCF_I2C_I2SR & MCF_I2C_I2SR_RXAK) /* next try if no acknowledge */ continue; - MCF_I2C_I2CR &= ~MCF_I2C_I2CR_MTX; /* switch to receive mode */ - DBYT = MCF_I2C_I2DR; /* dummy read */ + MCF_I2C_I2CR &= 0xef; //~MCF_I2C_I2CR_MTX; /* switch to receive mode */ + dummyByte = MCF_I2C_I2DR; /* dummy read */ wait_i2c_transfer_finished(); MCF_I2C_I2CR |= MCF_I2C_I2CR_TXAK; /* transmit acknowledge enable */ - RBYT = MCF_I2C_I2DR; /* read a byte */ + receivedByte = MCF_I2C_I2DR; /* read a byte */ wait_i2c_transfer_finished(); MCF_I2C_I2CR = MCF_I2C_I2CR_IEN; /* stop */ - DBYT = MCF_I2C_I2DR; // dummy read + dummyByte = MCF_I2C_I2DR; // dummy read - if (RBYT != 0x4c) + if (receivedByte != 0x4c) continue; MCF_I2C_I2CR = 0x0; // stop @@ -592,7 +592,7 @@ void dvi_on(void) { wait_i2c_transfer_finished(); MCF_I2C_I2CR = 0x80; // stop - DBYT = MCF_I2C_I2DR; // dummy read + dummyByte = MCF_I2C_I2DR; // dummy read MCF_I2C_I2SR = 0x0; // clear sr while ((MCF_I2C_I2SR & MCF_I2C_I2SR_IBB)); /* wait until bus free */ @@ -618,29 +618,29 @@ void dvi_on(void) { continue; MCF_I2C_I2CR &= 0xef; // switch to rx - DBYT = MCF_I2C_I2DR; // dummy read + dummyByte = MCF_I2C_I2DR; // dummy read wait_i2c_transfer_finished(); MCF_I2C_I2CR |= 0x08; // txak=1 wait_50us(); - RBYT = MCF_I2C_I2DR; + receivedByte = MCF_I2C_I2DR; wait_i2c_transfer_finished(); MCF_I2C_I2CR = 0x80; // stop - DBYT = MCF_I2C_I2DR; // dummy read + dummyByte = MCF_I2C_I2DR; // dummy read - } while (RBYT != 0xbf || num_tries++ < 10); + } while (receivedByte != 0xbf || num_tries++ < 10); if (num_tries >= 10) { xprintf("FAILED!\r\n"); } else { xprintf("finished\r\n"); } - UNUSED(DBYT); + UNUSED(dummyByte); // Avoid warning }