Mercurial > ecos
diff packages/hal/powerpc/fads/current/src/quicc_smc2.c @ 34:29bc183297e1 ecos-sw-1999-09-02
Merge from eCos master repository on 1999-09-02-16:26:10-BST
| author | jlarmour |
|---|---|
| date | Thu, 02 Sep 1999 16:11:22 +0000 |
| parents | 01ce82f3e11a |
| children | c38311975d4f |
line wrap: on
line diff
--- a/packages/hal/powerpc/fads/current/src/quicc_smc2.c +++ b/packages/hal/powerpc/fads/current/src/quicc_smc2.c @@ -133,6 +133,14 @@ void cyg_smc2_init(unsigned long baudRat IMMR->si_simode |= 0x10000000; /* SCM2: Tx/Rx Clocks are BRG2 */ + /*--------------------*/ + /* Initialize the BDs */ + /*--------------------*/ + + InitBDs(); /* before setting up info depending on RxTxBD below */ + + IMMR->smc_regs[SMC2_REG].smc_smce = 0xFF; /* Clear any pending events */ + /*----------------------------------------*/ /* Set RXBD table start at Dual Port +800 */ /*----------------------------------------*/ @@ -145,14 +153,7 @@ void cyg_smc2_init(unsigned long baudRat IMMR->PRAM[PAGE4].pg.other.smc_dsp2.psmc2.u2.tbase = (unsigned short) (unsigned) &RxTxBD->TxBD; - /*---------------------------------------*/ - /* Initialize Rx and Tx Params for SMC2: */ - /* Spin until cpcr flag is cleared */ - /*---------------------------------------*/ - for(IMMR->cp_cr = 0x00d1; IMMR->cp_cr & 0x0001;) ; - - /*--------------------------------------*/ /* Set RFCR,TFCR -- Rx,Tx Function Code */ /* Normal Operation and Motorola byte */ @@ -190,12 +191,8 @@ void cyg_smc2_init(unsigned long baudRat IMMR->PRAM[PAGE4].pg.other.smc_dsp2.psmc2.u2.brkcr = 1; - /*--------------------*/ - /* Initialize the BDs */ - /*--------------------*/ - InitBDs(); - + /* InitBDs() used to be here - no harm in doing this again */ IMMR->smc_regs[SMC2_REG].smc_smce = 0xFF; /* Clear any pending events */ /*--------------------------------------------------*/ @@ -217,6 +214,13 @@ void cyg_smc2_init(unsigned long baudRat IMMR->smc_regs[SMC2_REG].smc_smcmr = 0x4823; + /*---------------------------------------*/ + /* Initialize Rx and Tx Params for SMC2: */ + /* Spin until cpcr flag is cleared */ + /*---------------------------------------*/ + + for(IMMR->cp_cr = 0x00d1; IMMR->cp_cr & 0x0001;) ; + }
