Lines Matching +full:inter +full:- +full:chip
1 // SPDX-License-Identifier: ISC
22 #include "chip.h"
68 MODULE_PARM_DESC(iapp, "Enable partial support for the obsoleted Inter-Access Point Protocol");
82 struct brcmf_pub *drvr = ifp->drvr; in brcmf_c_set_joinpref_default()
109 dload_buf->flag = cpu_to_le16(flag); in brcmf_c_download()
110 dload_buf->dload_type = cpu_to_le16(DL_TYPE_CLM); in brcmf_c_download()
111 dload_buf->len = cpu_to_le32(len); in brcmf_c_download()
112 dload_buf->crc = cpu_to_le32(0); in brcmf_c_download()
124 struct brcmf_pub *drvr = ifp->drvr; in brcmf_c_download_blob()
138 err = -ENOMEM; in brcmf_c_download_blob()
139 return -ENOMEM; in brcmf_c_download_blob()
151 memcpy(chunk_buf->data, data + cumulative_len, chunk_len); in brcmf_c_download_blob()
159 datalen -= chunk_len; in brcmf_c_download_blob()
171 err = -EIO; in brcmf_c_download_blob()
180 struct brcmf_pub *drvr = ifp->drvr; in brcmf_c_process_clm_blob()
181 struct brcmf_bus *bus = drvr->bus_if; in brcmf_c_process_clm_blob()
194 err = brcmf_c_download_blob(ifp, fw->data, fw->size, in brcmf_c_process_clm_blob()
203 struct brcmf_pub *drvr = ifp->drvr; in brcmf_c_process_txcap_blob()
204 struct brcmf_bus *bus = drvr->bus_if; in brcmf_c_process_txcap_blob()
217 err = brcmf_c_download_blob(ifp, fw->data, fw->size, in brcmf_c_process_txcap_blob()
230 bphy_err(ifp->drvr, "Setting cur_etheraddr failed, %d\n", err); in brcmf_c_set_cur_etheraddr()
238 * wifibt chip has a unique MAC programmed into the chip itself.
251 struct brcmf_pub *drvr = ifp->drvr; in brcmf_c_process_cal_blob()
252 struct brcmf_mp_device *settings = drvr->settings; in brcmf_c_process_cal_blob()
257 if (!settings->cal_blob || !settings->cal_size) in brcmf_c_process_cal_blob()
261 err = brcmf_c_download_blob(ifp, settings->cal_blob, settings->cal_size, in brcmf_c_process_cal_blob()
268 struct brcmf_pub *drvr = ifp->drvr; in brcmf_c_preinit_dcmds()
278 if (is_valid_ether_addr(ifp->mac_addr)) { in brcmf_c_preinit_dcmds()
280 err = brcmf_c_set_cur_etheraddr(ifp, ifp->mac_addr); in brcmf_c_preinit_dcmds()
285 err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr, in brcmf_c_preinit_dcmds()
286 sizeof(ifp->mac_addr)); in brcmf_c_preinit_dcmds()
292 if (ether_addr_equal_unaligned(ifp->mac_addr, brcmf_default_mac_address)) { in brcmf_c_preinit_dcmds()
294 eth_random_addr(ifp->mac_addr); in brcmf_c_preinit_dcmds()
295 ifp->ndev->addr_assign_type = NET_ADDR_RANDOM; in brcmf_c_preinit_dcmds()
296 err = brcmf_c_set_cur_etheraddr(ifp, ifp->mac_addr); in brcmf_c_preinit_dcmds()
302 memcpy(ifp->drvr->mac, ifp->mac_addr, sizeof(ifp->drvr->mac)); in brcmf_c_preinit_dcmds()
303 memcpy(ifp->drvr->wiphy->perm_addr, ifp->drvr->mac, ETH_ALEN); in brcmf_c_preinit_dcmds()
305 bus = ifp->drvr->bus_if; in brcmf_c_preinit_dcmds()
306 ri = &ifp->drvr->revinfo; in brcmf_c_preinit_dcmds()
312 strscpy(ri->chipname, "UNKNOWN", sizeof(ri->chipname)); in brcmf_c_preinit_dcmds()
314 ri->vendorid = le32_to_cpu(revinfo.vendorid); in brcmf_c_preinit_dcmds()
315 ri->deviceid = le32_to_cpu(revinfo.deviceid); in brcmf_c_preinit_dcmds()
316 ri->radiorev = le32_to_cpu(revinfo.radiorev); in brcmf_c_preinit_dcmds()
317 ri->corerev = le32_to_cpu(revinfo.corerev); in brcmf_c_preinit_dcmds()
318 ri->boardid = le32_to_cpu(revinfo.boardid); in brcmf_c_preinit_dcmds()
319 ri->boardvendor = le32_to_cpu(revinfo.boardvendor); in brcmf_c_preinit_dcmds()
320 ri->boardrev = le32_to_cpu(revinfo.boardrev); in brcmf_c_preinit_dcmds()
321 ri->driverrev = le32_to_cpu(revinfo.driverrev); in brcmf_c_preinit_dcmds()
322 ri->ucoderev = le32_to_cpu(revinfo.ucoderev); in brcmf_c_preinit_dcmds()
323 ri->bus = le32_to_cpu(revinfo.bus); in brcmf_c_preinit_dcmds()
324 ri->phytype = le32_to_cpu(revinfo.phytype); in brcmf_c_preinit_dcmds()
325 ri->phyrev = le32_to_cpu(revinfo.phyrev); in brcmf_c_preinit_dcmds()
326 ri->anarev = le32_to_cpu(revinfo.anarev); in brcmf_c_preinit_dcmds()
327 ri->chippkg = le32_to_cpu(revinfo.chippkg); in brcmf_c_preinit_dcmds()
328 ri->nvramrev = le32_to_cpu(revinfo.nvramrev); in brcmf_c_preinit_dcmds()
331 if (!bus->chip) { in brcmf_c_preinit_dcmds()
332 bus->chip = le32_to_cpu(revinfo.chipnum); in brcmf_c_preinit_dcmds()
333 bus->chiprev = le32_to_cpu(revinfo.chiprev); in brcmf_c_preinit_dcmds()
336 ri->result = err; in brcmf_c_preinit_dcmds()
338 if (bus->chip) in brcmf_c_preinit_dcmds()
339 brcmf_chip_name(bus->chip, bus->chiprev, in brcmf_c_preinit_dcmds()
340 ri->chipname, sizeof(ri->chipname)); in brcmf_c_preinit_dcmds()
371 buf[sizeof(buf) - 1] = '\0'; in brcmf_c_preinit_dcmds()
376 brcmf_info("Firmware: %s %s\n", ri->chipname, buf); in brcmf_c_preinit_dcmds()
384 strscpy(ifp->drvr->fwver, ptr + 1, sizeof(ifp->drvr->fwver)); in brcmf_c_preinit_dcmds()
392 buf[sizeof(buf) - 1] = '\0'; in brcmf_c_preinit_dcmds()
401 memcpy(ifp->drvr->clmver, clmver, sizeof(ifp->drvr->clmver)); in brcmf_c_preinit_dcmds()
465 dev_err(bus->dev, "%s: %pV", func, &vaf); in __brcmf_err()
498 if ((brcmfmac_pdata) && (brcmfmac_pdata->fw_alternative_path) && in brcmf_mp_attach()
501 brcmfmac_pdata->fw_alternative_path, in brcmf_mp_attach()
508 u32 chip, u32 chiprev) in brcmf_get_module_param() argument
515 brcmf_dbg(INFO, "Enter, bus=%d, chip=%d, rev=%d\n", bus_type, chip, in brcmf_get_module_param()
522 settings->p2p_enable = !!brcmf_p2p_enable; in brcmf_get_module_param()
523 settings->feature_disable = brcmf_feature_disable; in brcmf_get_module_param()
524 settings->fcmode = brcmf_fcmode; in brcmf_get_module_param()
525 settings->roamoff = !!brcmf_roamoff; in brcmf_get_module_param()
526 settings->iapp = !!brcmf_iapp_enable; in brcmf_get_module_param()
528 settings->ignore_probe_fail = !!brcmf_ignore_probe_fail; in brcmf_get_module_param()
532 settings->bus.sdio.txglomsz = brcmf_sdiod_txglomsz; in brcmf_get_module_param()
537 for (i = 0; i < brcmfmac_pdata->device_count; i++) { in brcmf_get_module_param()
538 device_pd = &brcmfmac_pdata->devices[i]; in brcmf_get_module_param()
539 if ((device_pd->bus_type == bus_type) && in brcmf_get_module_param()
540 (device_pd->id == chip) && in brcmf_get_module_param()
541 ((device_pd->rev == chiprev) || in brcmf_get_module_param()
542 (device_pd->rev == -1))) { in brcmf_get_module_param()
544 settings->country_codes = in brcmf_get_module_param()
545 device_pd->country_codes; in brcmf_get_module_param()
546 if (device_pd->bus_type == BRCMF_BUSTYPE_SDIO) in brcmf_get_module_param()
547 memcpy(&settings->bus.sdio, in brcmf_get_module_param()
548 &device_pd->bus.sdio, in brcmf_get_module_param()
549 sizeof(settings->bus.sdio)); in brcmf_get_module_param()
557 brcmf_dmi_probe(settings, chip, chiprev); in brcmf_get_module_param()
573 brcmfmac_pdata = dev_get_platdata(&pdev->dev); in brcmf_common_pd_probe()
575 if (brcmfmac_pdata->power_on) in brcmf_common_pd_probe()
576 brcmfmac_pdata->power_on(); in brcmf_common_pd_probe()
585 if (brcmfmac_pdata->power_off) in brcmf_common_pd_remove()
586 brcmfmac_pdata->power_off(); in brcmf_common_pd_remove()
602 if (err == -ENODEV) in brcmfmac_module_init()