Changeset 11650


Ignore:
Timestamp:
02/18/09 17:39:58 (4 years ago)
Author:
BrainSlayer
Message:

wrt610n support merge

Location:
src/linux/brcm/linux.v24_2/arch/mips/bcm947xx
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/bcmsrom.c

    r10444 r11650  
    14051405  {"rxchain", 0xffffff00, SRFL_NOFFS, SROM8_TXRXC, SROM4_RXCHAIN_MASK}, 
    14061406  {"antswitch", 0xffffff00, SRFL_NOFFS, SROM8_TXRXC, SROM4_SWITCH_MASK}, 
     1407        {"tssipos2g",   0xffffff00,     0,              SROM8_FEM2G,    SROM8_FEM_TSSIPOS_MASK}, 
     1408        {"extpagain2g", 0xffffff00,     0,              SROM8_FEM2G,    SROM8_FEM_EXTPA_GAIN_MASK}, 
     1409        {"pdetrange2g", 0xffffff00,     0,              SROM8_FEM2G,    SROM8_FEM_PDET_RANGE_MASK}, 
     1410        {"triso2g",     0xffffff00,     0,              SROM8_FEM2G,    SROM8_FEM_TR_ISO_MASK}, 
     1411        {"antswctl2g",  0xffffff00,     0,              SROM8_FEM2G,    SROM8_FEM_ANTSWLUT_MASK}, 
     1412        {"tssipos5g",   0xffffff00,     0,              SROM8_FEM5G,    SROM8_FEM_TSSIPOS_MASK}, 
     1413        {"extpagain5g", 0xffffff00,     0,              SROM8_FEM5G,    SROM8_FEM_EXTPA_GAIN_MASK}, 
     1414        {"pdetrange5g", 0xffffff00,     0,              SROM8_FEM5G,    SROM8_FEM_PDET_RANGE_MASK}, 
     1415        {"triso5g",     0xffffff00,     0,              SROM8_FEM5G,    SROM8_FEM_TR_ISO_MASK}, 
     1416        {"antswctl5g",  0xffffff00,     0,              SROM8_FEM5G,    SROM8_FEM_ANTSWLUT_MASK}, 
    14071417  {"txpid2ga0", 0x000000f0, 0, SROM4_TXPID2G, 0xff}, 
    14081418  {"txpid2ga1", 0x000000f0, 0, SROM4_TXPID2G, 0xff00}, 
     
    17831793 
    17841794  if ((srom[SROM4_SIGN] == SROM4_SIGNATURE) || 
    1785       ((sbh->buscoretype == SB_PCIE) && (sbh->buscorerev >= 6))) 
     1795      (((sbh->buscoretype == SB_PCIE) && (sbh->buscorerev >= 6)) || ((sbh->buscoretype == SB_PCI) && (sbh->buscorerev >= 0xe)))) 
    17861796    { 
    17871797      /* sromrev >= 4, read more */ 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/bcmutils.c

    r10444 r11650  
    4545static char *nvram_vars = NULL; 
    4646static int vars_len = -1; 
     47 
     48/* count segments of a chained packet */ 
     49uint 
     50pktsegcnt(osl_t *osh, void *p) 
     51{ 
     52        uint cnt; 
     53 
     54        for (cnt = 0; p; p = PKTNEXT(osh, p)) 
     55                cnt++; 
     56 
     57        return cnt; 
     58} 
    4759 
    4860/* copy a pkt buffer chain into a buffer */ 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/hndpci.c

    r8761 r11650  
    195195  if (pci_disabled) 
    196196    val = 0xffffffff; 
    197   else if (bus == 1 && dev == pci_hbslot && func == 0 && 
     197  else if (bus == 1 && dev == pci_hbslot && (func == 0 || func == 1) && 
    198198           sb_pcihb_read_config (sbh, bus, dev, func, off, &reg, &val)) 
    199199    ; 
     
    244244  if (pci_disabled) 
    245245    return 0; 
    246   else if (bus == 1 && dev == pci_hbslot && func == 0 && 
     246  else if (bus == 1 && dev == pci_hbslot && (func == 0 || func == 1) && 
    247247           sb_pcihb_read_config (sbh, bus, dev, func, off, &reg, &val)) 
    248248    ; 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/hndpmu.c

    r10444 r11650  
    4747static uint32 sb_pmu1_alpclk0 (sb_t * sbh, osl_t * osh, chipcregs_t * cc); 
    4848#endif 
     49 
     50void 
     51sb_pmu_chipcontrol(sb_t *sih, uint reg, uint32 mask, uint32 val) 
     52{ 
     53        sb_corereg(sih, SB_CC_IDX, OFFSETOF(chipcregs_t, chipcontrol_addr), ~0, reg); 
     54        sb_corereg(sih, SB_CC_IDX, OFFSETOF(chipcregs_t, chipcontrol_data), mask, val); 
     55} 
    4956 
    5057/* Setup switcher voltage */ 
     
    179186} 
    180187 
    181 uint16 BCMINITFN (sb_pmu_fast_pwrup_delay) (sb_t * sbh, osl_t * osh) 
    182 { 
    183   uint16 delay = PMU_MAX_TRANSITION_DLY; 
    184  
    185   ASSERT (sbh->cccaps & CC_CAP_PMU); 
    186  
    187   switch (sbh->chip) 
    188     { 
     188uint16 
     189BCMINITFN(sb_pmu_fast_pwrup_delay)(sb_t *sbh, osl_t *osh) 
     190{ 
     191        uint16 delay = PMU_MAX_TRANSITION_DLY; 
     192 
     193        ASSERT(sbh->cccaps & CC_CAP_PMU); 
     194 
     195        switch (sbh->chip) { 
    189196#if defined(BCM4328) 
    190     case BCM4328_CHIP_ID: 
    191       delay = 7000; 
    192       break; 
    193 #endif /* BCM4328 */ 
    194  
     197        case BCM4328_CHIP_ID: 
     198                delay = 7000; 
     199                break; 
     200#endif 
    195201#if defined(BCM4325) 
    196     case BCM4325_CHIP_ID: 
    197 #ifdef BCMQT 
    198       delay = 70; 
    199 #else 
    200       delay = 2800; 
    201 #endif 
    202       break; 
    203 #endif /* BCM4325 || BCM4312 */ 
     202        case BCM4325_CHIP_ID: 
     203                delay = ISSIM_ENAB(sbh) ? 70 : 3000; 
     204                break; 
     205#endif /* BCM4325 */ 
    204206#if defined(BCMPMU) 
    205207        case BCM4312_CHIP_ID: 
     
    211213#endif /* BCMPMU */ 
    212214 
    213     default: 
    214       PMU_MSG (("No PMU fast power up delay specified " 
    215                 "for chip %x rev %d, using default %d us\n", 
    216                 sbh->chip, sbh->chiprev, delay)); 
    217       break; 
    218     } 
    219  
    220   return delay; 
     215        default: 
     216                PMU_MSG(("No PMU fast power up delay specified " 
     217                        "for chip %x rev %d, using default %d us\n", 
     218                        sbh->chip, sbh->chiprev, delay)); 
     219                break; 
     220        } 
     221 
     222        return delay; 
    221223} 
    222224 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/include/bcmsrom.h

    r8761 r11650  
    294294#define SROM8_W1_PAB2_HC        (SROM8_SISO + SROM8_5GH_PA + 2) 
    295295 
     296#define SROM8_FEM2G             87 
     297#define SROM8_FEM5G             88 
     298#define SROM8_FEM_ANTSWLUT_MASK         0xf800 
     299#define SROM8_FEM_ANTSWLUT_SHIFT        11 
     300#define SROM8_FEM_TR_ISO_MASK           0x0700 
     301#define SROM8_FEM_TR_ISO_SHIFT          8 
     302#define SROM8_FEM_PDET_RANGE_MASK       0x00f8 
     303#define SROM8_FEM_PDET_RANGE_SHIFT      3 
     304#define SROM8_FEM_EXTPA_GAIN_MASK       0x0006 
     305#define SROM8_FEM_EXTPA_GAIN_SHIFT      1 
     306#define SROM8_FEM_TSSIPOS_MASK          0x0001 
     307#define SROM8_FEM_TSSIPOS_SHIFT         0 
     308 
     309 
     310 
    296311#define SROM8_CRCREV            219 
    297312 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/include/pcicfg.h

    r8761 r11650  
    466466#define PCI_BACKPLANE_ADDR      0xA0    /* address an arbitrary location on the system backplane */ 
    467467#define PCI_BACKPLANE_DATA      0xA4    /* data at the location specified by above address */ 
     468#define PCI_CLK_CTL_ST          0xa8    /* pci config space clock control/status (>=rev14) */ 
    468469#define PCI_GPIO_IN             0xb0    /* pci config space gpio input (>=rev3) */ 
    469470#define PCI_GPIO_OUT            0xb4    /* pci config space gpio output (>=rev3) */ 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/include/sbconfig.h

    r10444 r11650  
    246246#define SBTMCL_IM_MASK          0x3000000       /* interrupt mode */ 
    247247#define SBTMCL_IM_SHIFT         24 
     248 
     249#define SBTML_SICF_SHIFT        16              /* Shift to locate the SI control flags in sbtml */ 
     250#define SBTMH_SISF_SHIFT        16              /* Shift to locate the SI status flags in sbtmh */ 
     251 
    248252 
    249253/* sbtmconfighigh */ 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/sbutils.c

    r10444 r11650  
    105105static uint8 sb_find_pci_capability (sb_info_t * si, uint8 req_cap_id, 
    106106                                     uchar * buf, uint32 * buflen); 
    107 static int sb_pci_fixcfg (sb_info_t * si); 
     107int sb_pci_fixcfg (sb_info_t * si); 
    108108/* routines to access mdio slave device registers */ 
    109109static int sb_pcie_mdiowrite (sb_info_t * si, uint physmedia, uint readdr, 
     
    42924292 * The current core may be changed upon return. 
    42934293 */ 
    4294 static int 
     4294int 
    42954295sb_pci_fixcfg (sb_info_t * si) 
    42964296{ 
     
    45204520  return memsize; 
    45214521} 
     4522 
     4523 
     4524void 
     4525sb_pcie_war_ovr_disable(sb_t *sih) 
     4526{ 
     4527} 
     4528 
     4529void 
     4530sb_core_cflags_wo(sb_t *sih, uint32 mask, uint32 val) 
     4531{ 
     4532        sb_info_t *sii; 
     4533        sbconfig_t *sb; 
     4534        uint32 w; 
     4535 
     4536        sii = SB_INFO(sih); 
     4537        sb = REGS2SB(sii->curmap); 
     4538 
     4539        ASSERT((val & ~mask) == 0); 
     4540 
     4541        /* mask and set */ 
     4542        w = (R_SBREG(sii, &sb->sbtmstatelow) & ~(mask << SBTML_SICF_SHIFT)) | 
     4543                (val << SBTML_SICF_SHIFT); 
     4544        W_SBREG(sii, &sb->sbtmstatelow, w); 
     4545} 
     4546 
     4547/* set/clear core-specific control flags */ 
     4548uint32 
     4549sb_core_cflags(sb_t *sih, uint32 mask, uint32 val) 
     4550{ 
     4551        sb_info_t *sii; 
     4552        sbconfig_t *sb; 
     4553        uint32 w; 
     4554 
     4555        sii = SB_INFO(sih); 
     4556        sb = REGS2SB(sii->curmap); 
     4557 
     4558        ASSERT((val & ~mask) == 0); 
     4559 
     4560        /* mask and set */ 
     4561        if (mask || val) { 
     4562                w = (R_SBREG(sii, &sb->sbtmstatelow) & ~(mask << SBTML_SICF_SHIFT)) | 
     4563                        (val << SBTML_SICF_SHIFT); 
     4564                W_SBREG(sii, &sb->sbtmstatelow, w); 
     4565        } 
     4566 
     4567        /* return the new value 
     4568         * for write operation, the following readback ensures the completion of write opration. 
     4569         */ 
     4570        return (R_SBREG(sii, &sb->sbtmstatelow) >> SBTML_SICF_SHIFT); 
     4571} 
     4572 
     4573/* set/clear core-specific status flags */ 
     4574uint32 
     4575sb_core_sflags(sb_t *sih, uint32 mask, uint32 val) 
     4576{ 
     4577        sb_info_t *sii; 
     4578        sbconfig_t *sb; 
     4579        uint32 w; 
     4580 
     4581        sii = SB_INFO(sih); 
     4582        sb = REGS2SB(sii->curmap); 
     4583 
     4584        ASSERT((val & ~mask) == 0); 
     4585        ASSERT((mask & ~SISF_CORE_BITS) == 0); 
     4586 
     4587        /* mask and set */ 
     4588        if (mask || val) { 
     4589                w = (R_SBREG(sii, &sb->sbtmstatehigh) & ~(mask << SBTMH_SISF_SHIFT)) | 
     4590                        (val << SBTMH_SISF_SHIFT); 
     4591                W_SBREG(sii, &sb->sbtmstatehigh, w); 
     4592        } 
     4593 
     4594        /* return the new value */ 
     4595        return (R_SBREG(sii, &sb->sbtmstatehigh) >> SBTMH_SISF_SHIFT); 
     4596} 
     4597void 
     4598sb_pmu_spuravoid(sb_t *sbh, osl_t *osh, bool spuravoid) 
     4599{ 
     4600        chipcregs_t *cc; 
     4601        uint origidx; 
     4602        uint32 tmp; 
     4603 
     4604        /* Remember original core before switch to chipc */ 
     4605        origidx = sb_coreidx(sbh); 
     4606        cc = sb_setcore(sbh, SB_CC, 0); 
     4607        ASSERT(cc); 
     4608 
     4609        W_REG(osh, &cc->pllcontrol_addr, PMU1_PLL0_PLLCTL0); 
     4610        W_REG(osh, &cc->pllcontrol_data, 0x11100070); 
     4611        W_REG(osh, &cc->pllcontrol_addr, PMU1_PLL0_PLLCTL1); 
     4612        W_REG(osh, &cc->pllcontrol_data, 0x1014140a); 
     4613        W_REG(osh, &cc->pllcontrol_addr, PMU1_PLL0_PLLCTL5); 
     4614        W_REG(osh, &cc->pllcontrol_data, 0x88888854); 
     4615 
     4616        if (spuravoid) { /* spur_avoid ON, enable 41/82/164Mhz clock mode */ 
     4617                W_REG(osh, &cc->pllcontrol_addr, PMU1_PLL0_PLLCTL2); 
     4618                W_REG(osh, &cc->pllcontrol_data, 0x05201828); 
     4619        } else { /* enable 40/80/160Mhz clock mode */ 
     4620                W_REG(osh, &cc->pllcontrol_addr, PMU1_PLL0_PLLCTL2); 
     4621                W_REG(osh, &cc->pllcontrol_data, 0x05001828); 
     4622        } 
     4623 
     4624        tmp = R_REG(osh, &cc->pmucontrol); 
     4625        W_REG(osh, &cc->pmucontrol, tmp | (1 << 10));   
     4626 
     4627        /* Return to original core */ 
     4628        sb_setcoreidx(sbh, origidx); 
     4629} 
     4630 
     4631 
     4632void 
     4633sb_4329_tweak(sb_t *sih, uint32 mask, uint32 val) 
     4634{ 
     4635        sb_info_t *sii; 
     4636        chipcregs_t *cc; 
     4637        uint origidx; 
     4638        uint32 temp; 
     4639 
     4640        sii = SB_INFO(sih); 
     4641 
     4642        origidx = sii->curidx; 
     4643        ASSERT(GOODIDX(origidx)); 
     4644 
     4645        cc = (chipcregs_t *)sb_setcore(sih, SB_CC, 0); 
     4646 
     4647        W_REG(sii->osh, &cc->chipcontrol_addr, 0); 
     4648        temp = R_REG(sii->osh, &cc->chipcontrol_data); 
     4649        temp = temp & ~mask; 
     4650        temp = temp | val; 
     4651        W_REG(sii->osh, &cc->chipcontrol_data, temp); 
     4652 
     4653        sb_setcoreidx(sih, origidx); 
     4654} 
     4655 
     4656void 
     4657sb_4329_pmu_voltage(sb_t *sih) 
     4658{ 
     4659        sb_info_t *sii; 
     4660        chipcregs_t *cc; 
     4661        uint origidx; 
     4662        uint32 temp; 
     4663        /* Function For CHANGING CBUCK,CLDO,LNLDO1 Voltages To Same As BT */ 
     4664        sii = SB_INFO(sih); 
     4665        origidx = sii->curidx; 
     4666        ASSERT(GOODIDX(origidx)); 
     4667        cc = (chipcregs_t *)sb_setcore(sih, SB_CC, 0); 
     4668 
     4669        W_REG(sii->osh, &cc->regcontrol_addr, 3); 
     4670        temp = R_REG(sii->osh, &cc->regcontrol_data); 
     4671        temp = temp | 0x04200000; 
     4672        W_REG(sii->osh, &cc->regcontrol_data, temp); 
     4673 
     4674        W_REG(sii->osh, &cc->regcontrol_addr, 5); 
     4675        temp = R_REG(sii->osh, &cc->regcontrol_data); 
     4676        temp = temp | 0x0003fe00; 
     4677        W_REG(sii->osh, &cc->regcontrol_data, temp); 
     4678        sb_setcoreidx(sih, origidx); 
     4679} 
     4680 
     4681void 
     4682sb_4329_vbatmeas_on(sb_t *sih, uint32 *save_reg0, uint32 *save_reg5) 
     4683{ 
     4684        sb_info_t *sii; 
     4685        chipcregs_t *cc; 
     4686        uint origidx; 
     4687        uint32 temp; 
     4688 
     4689        return; 
     4690 
     4691        sii = SB_INFO(sih); 
     4692 
     4693        origidx = sii->curidx; 
     4694        ASSERT(GOODIDX(origidx)); 
     4695 
     4696        cc = (chipcregs_t *)sb_setcore(sih, SB_CC, 0); 
     4697 
     4698        W_REG(sii->osh, &cc->regcontrol_addr, 0); 
     4699        temp = R_REG(sii->osh, &cc->regcontrol_data); 
     4700        *save_reg0 = temp; 
     4701        temp = temp | 0x00000001; 
     4702        W_REG(sii->osh, &cc->regcontrol_data, temp); 
     4703 
     4704        W_REG(sii->osh, &cc->regcontrol_addr, 5); 
     4705        temp = R_REG(sii->osh, &cc->regcontrol_data); 
     4706        *save_reg5 = temp; 
     4707        temp = temp | 0x80000000; 
     4708        W_REG(sii->osh, &cc->regcontrol_data, temp); 
     4709 
     4710        sb_setcoreidx(sih, origidx); 
     4711} 
     4712 
     4713void 
     4714sb_4329_vbatmeas_off(sb_t *sih, uint32 save_reg0, uint32 save_reg5) 
     4715{ 
     4716        sb_info_t *sii; 
     4717        chipcregs_t *cc; 
     4718        uint origidx; 
     4719 
     4720        return; 
     4721 
     4722        sii = SB_INFO(sih); 
     4723 
     4724        origidx = sii->curidx; 
     4725        ASSERT(GOODIDX(origidx)); 
     4726 
     4727        cc = (chipcregs_t *)sb_setcore(sih, SB_CC, 0); 
     4728 
     4729        W_REG(sii->osh, &cc->regcontrol_addr, 0); 
     4730        W_REG(sii->osh, &cc->regcontrol_data, save_reg0); 
     4731 
     4732        W_REG(sii->osh, &cc->regcontrol_addr, 5); 
     4733        W_REG(sii->osh, &cc->regcontrol_data, save_reg5); 
     4734 
     4735        sb_setcoreidx(sih, origidx); 
     4736} 
     4737bool 
     4738sb_ldo_war(sb_t *sih, uint devid) 
     4739{ 
     4740        sb_info_t *sii = SB_INFO(sih); 
     4741        uint32 w; 
     4742        chipcregs_t *cc; 
     4743        void *regs = sii->curmap; 
     4744        uint32 rev_id, ccst; 
     4745 
     4746        rev_id = OSL_PCI_READ_CONFIG(sii->osh, PCI_CFG_REV, sizeof(uint32)); 
     4747        rev_id &= 0xff; 
     4748        if (!(((devid == BCM4322_CHIP_ID) || 
     4749              (devid == BCM4322_D11N_ID) || 
     4750              (devid == BCM4322_D11N2G_ID) || 
     4751              (devid == BCM4322_D11N5G_ID)) && 
     4752              (rev_id == 0))) 
     4753                return TRUE; 
     4754 
     4755 
     4756        /* switch to chipcommon */ 
     4757        w = OSL_PCI_READ_CONFIG(sii->osh, PCI_BAR0_WIN, sizeof(uint32)); 
     4758        OSL_PCI_WRITE_CONFIG(sii->osh, PCI_BAR0_WIN, sizeof(uint32), SB_ENUM_BASE); 
     4759        cc = (chipcregs_t *)regs; 
     4760 
     4761        /* clear bit 7 to fix LDO 
     4762         * write to register *blindly* WITHOUT read since read may timeout 
     4763         *  because the default clock is 32k ILP 
     4764         */ 
     4765        W_REG(sii->osh, &cc->regcontrol_addr, 0); 
     4766        /* AND_REG(sii->osh, &cc->regcontrol_data, ~0x80); */ 
     4767        W_REG(sii->osh, &cc->regcontrol_data, 0x3001); 
     4768 
     4769        OSL_DELAY(5000); 
     4770 
     4771        /* request ALP_AVAIL through PMU to move sb out of ILP */ 
     4772        W_REG(sii->osh, &cc->min_res_mask, 0x0d); 
     4773 
     4774        SPINWAIT(((ccst = OSL_PCI_READ_CONFIG(sii->osh, PCI_CLK_CTL_ST, 4)) & CCS_ALPAVAIL) 
     4775                 == 0, PMU_MAX_TRANSITION_DLY); 
     4776 
     4777        if ((ccst & CCS_ALPAVAIL) == 0) { 
     4778                SB_ERROR(("ALP never came up clk_ctl_st: 0x%x\n", ccst)); 
     4779                return FALSE; 
     4780        } 
     4781 
     4782        OSL_PCI_WRITE_CONFIG(sii->osh, PCI_BAR0_WIN, sizeof(uint32), w); 
     4783 
     4784        return TRUE; 
     4785} 
     4786 
     4787bool 
     4788BCMINITFN(sb_pci_war16165)(sb_t *sih) 
     4789{ 
     4790        sb_info_t *sii; 
     4791 
     4792        sii = SB_INFO(sih); 
     4793 
     4794        return (PCI(sii) && (sih->buscorerev <= 10)); 
     4795} 
     4796 
     4797uint32 sb_pcieserdesreg(sb_t *sih, uint32 mdioslave, uint32 offset, uint32 mask, uint32 val) 
     4798{ 
     4799 
     4800} 
     4801 
     4802#define PCI_FORCEHT(si) \ 
     4803        (((PCIE(si)) && (si->sb.chip == BCM4311_CHIP_ID) && ((si->sb.chiprev <= 1))) || \ 
     4804        ((PCI(si) || PCIE(si)) && (si->sb.chip == BCM4321_CHIP_ID)) || \ 
     4805        (PCIE(si))) 
     4806 
     4807bool sb_clkctl_cc(sb_t *sih, uint mode) 
     4808{ 
     4809        sb_info_t *sii; 
     4810 
     4811        sii = SB_INFO(sih); 
     4812 
     4813        /* chipcommon cores prior to rev6 don't support dynamic clock control */ 
     4814        if (sih->ccrev < 6) 
     4815                return FALSE; 
     4816 
     4817        if (PCI_FORCEHT(sii)) 
     4818                return (mode == CLK_FAST); 
     4819 
     4820        return sb_clkctl_clk(sii, mode); 
     4821} 
  • src/linux/brcm/linux.v24_2/arch/mips/bcm947xx/setup.c

    r9891 r11650  
    214214if (boardtype==NULL || strcmp(boardtype,"0x478"))iswrt350n=0; 
    215215if (boothwmodel==NULL || strcmp(boothwmodel,"WRT300N"))iswrt300n11=0; 
     216if (boothwmodel==NULL || strcmp(boothwmodel,"WRT610N")) 
     217    { 
     218    iswrt300n11=0; 
     219    iswrt350n=0; 
     220    } 
    216221if (boothwver==NULL || strcmp(boothwver,"1.1"))iswrt300n11=0; 
    217222if (iswrt300n11) 
Note: See TracChangeset for help on using the changeset viewer.