Lines Matching +full:device +full:- +full:version

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
64 enum iwmbt_device device;
70 { .vendor_id = 0x8087, .product_id = 0x07dc, .device = IWMBT_DEVICE_7260 },
71 { .vendor_id = 0x8087, .product_id = 0x0a2a, .device = IWMBT_DEVICE_7260 },
72 { .vendor_id = 0x8087, .product_id = 0x0aa7, .device = IWMBT_DEVICE_7260 },
75 { .vendor_id = 0x8087, .product_id = 0x0a2b, .device = IWMBT_DEVICE_8260 },
76 { .vendor_id = 0x8087, .product_id = 0x0aaa, .device = IWMBT_DEVICE_8260 },
77 { .vendor_id = 0x8087, .product_id = 0x0025, .device = IWMBT_DEVICE_8260 },
78 { .vendor_id = 0x8087, .product_id = 0x0026, .device = IWMBT_DEVICE_8260 },
79 { .vendor_id = 0x8087, .product_id = 0x0029, .device = IWMBT_DEVICE_8260 },
82 { .vendor_id = 0x8087, .product_id = 0x0032, .device = IWMBT_DEVICE_9260 },
83 { .vendor_id = 0x8087, .product_id = 0x0033, .device = IWMBT_DEVICE_9260 },
93 if ((iwmbt_list[i].product_id == d->idProduct) &&
94 (iwmbt_list[i].vendor_id == d->idVendor)) {
96 return (iwmbt_list[i].device);
110 enum iwmbt_device device;
122 * Scan through USB device list.
128 /* Get the device descriptor for this device entry */
137 device = iwmbt_is_supported(&d);
138 if (device != IWMBT_DEVICE_UNKNOWN) {
143 *iwmbt_device = device;
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");
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");
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 ?
223 2000 + (ver->timestamp >> 8),
224 ver->timestamp & 0xff,
225 ver->build_type,
226 ver->build_num);
235 int header_len, ret = -1;
242 return (-1);
249 * Hardware variants 0x0b, 0x0c, 0x11 - 0x14 .sfi file have
255 ret = -1;
259 /* Check if the CSS Header version is RSA(0x00010000) */
261 iwmbt_err("Invalid CSS Header version");
262 ret = -1;
270 ret = -1;
284 ret = -1;
290 ret = -1;
294 /* Check if the CSS Header version is ECDSA(0x00020000) */
296 iwmbt_err("Invalid CSS Header version");
297 ret = -1;
331 return (-1);
346 * Parse ugen name and extract device's bus and address
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");
445 /* Once device is running in operational mode we can ignore failures */
447 /* Dump actual controller version */
529 /* Once device is running in operational mode we can ignore failures */
531 /* Dump actual controller version */
536 /* Apply the device configuration (DDC) parameters */
617 /* Once device is running in operational mode we can ignore failures */
623 /* Apply the device configuration (DDC) parameters */
656 while ((n = getopt(argc, argv, "Dd:f:hI")) != -1) {
658 case 'd': /* ugen device name */
701 /* Find a device based on the bus/dev id */
704 iwmbt_err("device not found");
710 /* XXX enforce the device/product id if they're non-zero */
712 /* Grab device handle */
747 /* Ask kernel driver to probe and attach device again */