int ar9285_attach(struct athn_softc *sc) { sc->eep_base = AR9285_EEP_START_LOC; sc->eep_size = sizeof(struct ar9285_eeprom); sc->def_nf = AR9285_PHY_CCA_MAX_GOOD_VALUE; sc->ngpiopins = (sc->flags & ATHN_FLAG_USB) ? 16 : 12; sc->led_pin = (sc->flags & ATHN_FLAG_USB) ? 15 : 1; sc->workaround = AR9285_WA_DEFAULT; sc->ops.setup = ar9285_setup; sc->ops.swap_rom = ar9285_swap_rom; sc->ops.init_from_rom = ar9285_init_from_rom; sc->ops.set_txpower = ar9285_set_txpower; sc->ops.set_synth = ar9280_set_synth; sc->ops.spur_mitigate = ar9280_spur_mitigate; sc->ops.get_spur_chans = ar9285_get_spur_chans; #if NATHN_USB > 0 if (AR_SREV_9271(sc)) sc->ini = &ar9271_ini; else #endif sc->ini = &ar9285_1_2_ini; sc->serdes = ar9280_2_0_serdes; return (ar5008_attach(sc)); }
int ar9280_attach(struct athn_softc *sc) { sc->eep_base = AR5416_EEP_START_LOC; sc->eep_size = sizeof(struct ar5416_eeprom); sc->def_nf = AR9280_PHY_CCA_MAX_GOOD_VALUE; sc->ngpiopins = (sc->flags & ATHN_FLAG_USB) ? 16 : 10; sc->led_pin = 1; sc->workaround = AR9280_WA_DEFAULT; sc->ops.setup = ar9280_setup; sc->ops.swap_rom = ar5416_swap_rom; sc->ops.init_from_rom = ar9280_init_from_rom; sc->ops.set_txpower = ar5416_set_txpower; sc->ops.set_synth = ar9280_set_synth; sc->ops.spur_mitigate = ar9280_spur_mitigate; sc->ops.get_spur_chans = ar5416_get_spur_chans; sc->ops.olpc_init = ar9280_olpc_init; sc->ops.olpc_temp_compensation = ar9280_olpc_temp_compensation; sc->ini = &ar9280_2_0_ini; sc->serdes = ar9280_2_0_serdes; return (ar5008_attach(sc)); }
PUBLIC int ar9287_attach(struct athn_softc *sc) { sc->sc_eep_base = AR9287_EEP_START_LOC; sc->sc_eep_size = sizeof(struct ar9287_eeprom); sc->sc_def_nf = AR9287_PHY_CCA_MAX_GOOD_VALUE; sc->sc_ngpiopins = (sc->sc_flags & ATHN_FLAG_USB) ? 16 : 11; sc->sc_led_pin = 8; sc->sc_workaround = AR9285_WA_DEFAULT; sc->sc_ops.setup = ar9287_setup; sc->sc_ops.swap_rom = ar9287_swap_rom; sc->sc_ops.init_from_rom = ar9287_init_from_rom; sc->sc_ops.set_txpower = ar9287_set_txpower; sc->sc_ops.set_synth = ar9280_set_synth; sc->sc_ops.spur_mitigate = ar9280_spur_mitigate; sc->sc_ops.get_spur_chans = ar9287_get_spur_chans; sc->sc_ops.olpc_init = ar9287_olpc_init; sc->sc_ops.olpc_temp_compensation = ar9287_olpc_temp_compensation; sc->sc_ini = &ar9287_1_1_ini; sc->sc_serdes = &ar9280_2_0_serdes; return ar5008_attach(sc); }