Lines Matching +full:firmware +full:- +full:reset
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
49 #define _DEFAULT_IWMBT_FIRMWARE_PATH "/usr/share/firmware/intel"
93 if ((iwmbt_list[i].product_id == d->idProduct) &&
94 (iwmbt_list[i].vendor_id == d->idVendor)) {
156 iwmbt_info("status 0x%02x", ver->status);
157 iwmbt_info("hw_platform 0x%02x", ver->hw_platform);
158 iwmbt_info("hw_variant 0x%02x", ver->hw_variant);
159 iwmbt_info("hw_revision 0x%02x", ver->hw_revision);
160 iwmbt_info("fw_variant 0x%02x", ver->fw_variant);
161 iwmbt_info("fw_revision 0x%02x", ver->fw_revision);
162 iwmbt_info("fw_build_num 0x%02x", ver->fw_build_num);
163 iwmbt_info("fw_build_ww 0x%02x", ver->fw_build_ww);
164 iwmbt_info("fw_build_yy 0x%02x", ver->fw_build_yy);
165 iwmbt_info("fw_patch_num 0x%02x", ver->fw_patch_num);
171 iwmbt_info("Device revision: %u", le16toh(params->dev_revid));
172 iwmbt_info("Secure Boot: %s", params->secure_boot ? "on" : "off");
173 iwmbt_info("OTP lock: %s", params->otp_lock ? "on" : "off");
174 iwmbt_info("API lock: %s", params->api_lock ? "on" : "off");
175 iwmbt_info("Debug lock: %s", params->debug_lock ? "on" : "off");
176 iwmbt_info("Minimum firmware build %u week %u year %u",
177 params->min_fw_build_nn,
178 params->min_fw_build_cw,
179 2000 + params->min_fw_build_yy);
181 params->otp_bdaddr[5],
182 params->otp_bdaddr[4],
183 params->otp_bdaddr[3],
184 params->otp_bdaddr[2],
185 params->otp_bdaddr[1],
186 params->otp_bdaddr[0]);
192 iwmbt_info("cnvi_top 0x%08x", ver->cnvi_top);
193 iwmbt_info("cnvr_top 0x%08x", ver->cnvr_top);
194 iwmbt_info("cnvi_bt 0x%08x", ver->cnvi_bt);
195 iwmbt_info("cnvr_bt 0x%08x", ver->cnvr_bt);
196 iwmbt_info("dev_rev_id 0x%04x", ver->dev_rev_id);
197 iwmbt_info("img_type 0x%02x", ver->img_type);
198 iwmbt_info("timestamp 0x%04x", ver->timestamp);
199 iwmbt_info("build_type 0x%02x", ver->build_type);
200 iwmbt_info("build_num 0x%08x", ver->build_num);
201 iwmbt_info("Secure Boot: %s", ver->secure_boot ? "on" : "off");
202 iwmbt_info("OTP lock: %s", ver->otp_lock ? "on" : "off");
203 iwmbt_info("API lock: %s", ver->api_lock ? "on" : "off");
204 iwmbt_info("Debug lock: %s", ver->debug_lock ? "on" : "off");
205 iwmbt_info("Minimum firmware build %u week %u year %u",
206 ver->min_fw_build_nn,
207 ver->min_fw_build_cw,
208 2000 + ver->min_fw_build_yy);
209 iwmbt_info("limited_cce 0x%02x", ver->limited_cce);
210 iwmbt_info("sbe_type 0x%02x", ver->sbe_type);
212 ver->otp_bd_addr.b[5],
213 ver->otp_bd_addr.b[4],
214 ver->otp_bd_addr.b[3],
215 ver->otp_bd_addr.b[2],
216 ver->otp_bd_addr.b[1],
217 ver->otp_bd_addr.b[0]);
218 if (ver->img_type == TLV_IMG_TYPE_BOOTLOADER ||
219 ver->img_type == TLV_IMG_TYPE_OPERATIONAL)
221 (ver->img_type == TLV_IMG_TYPE_BOOTLOADER ?
222 "Bootloader" : "Firmware"),
223 2000 + (ver->timestamp >> 8),
224 ver->timestamp & 0xff,
225 ver->build_type,
226 ver->build_num);
235 int header_len, ret = -1;
239 /* Read in the firmware */
242 return (-1);
245 iwmbt_debug("Firmware file size=%d", fw.len);
249 * Hardware variants 0x0b, 0x0c, 0x11 - 0x14 .sfi file have
254 iwmbt_err("Invalid size of firmware file (%d)", fw.len);
255 ret = -1;
262 ret = -1;
270 ret = -1;
283 iwmbt_err("Invalid size of firmware file (%d)", fw.len);
284 ret = -1;
290 ret = -1;
297 ret = -1;
314 /* free firmware */
331 return (-1);
355 return (-1);
359 return (-1);
363 return (-1);
372 "Usage: iwmbtfw [-DI] -d ugenX.Y [-f firmware path]\n");
373 fprintf(stderr, " -D: enable debugging\n");
374 fprintf(stderr, " -d: device to operate upon\n");
375 fprintf(stderr, " -f: firmware path (defaults to %s)\n",
377 fprintf(stderr, " -I: enable informational output\n");
404 iwmbt_info("Firmware has already been downloaded");
427 /* Download firmware */
431 iwmbt_debug("Loading firmware file failed");
436 iwmbt_info("Firmware download complete");
484 iwmbt_info("Firmware has already been downloaded");
501 /* Check if firmware fragments are ACKed with a cmd complete event */
503 iwmbt_err("Unsupported Intel firmware loading method (%u)",
513 /* Download firmware and parse it for magic Intel Reset parameter */
519 iwmbt_info("Firmware download complete");
527 iwmbt_info("Firmware operational");
572 iwmbt_info("Firmware has already been downloaded");
581 /* Check if firmware fragments are ACKed with a cmd complete event */
583 iwmbt_err("Unsupported Intel firmware loading method (%u)",
600 /* Download firmware and parse it for magic Intel Reset parameter */
607 iwmbt_info("Firmware download complete");
615 iwmbt_info("Firmware operational");
656 while ((n = getopt(argc, argv, "Dd:f:hI")) != -1) {
666 case 'f': /* firmware dir */
688 /* Default the firmware path */
710 /* XXX enforce the device/product id if they're non-zero */
726 iwmbt_info("Firmware has already been downloaded");
765 iwmbt_info("Firmware download is successful!");
767 iwmbt_err("Firmware download failed!");