1217770Sadrian 2217770Sadrian/* 3217770Sadrian * Copyright (c) 2010-2011 Adrian Chadd, Xenion Pty Ltd. 4217770Sadrian * 5217770Sadrian * Redistribution and use in source and binary forms, with or without 6217770Sadrian * modification, are permitted provided that the following conditions 7217770Sadrian * are met: 8217770Sadrian * 1. Redistributions of source code must retain the above copyright 9217770Sadrian * notice, this list of conditions and the following disclaimer. 10217770Sadrian * 2. Redistributions in binary form must reproduce the above copyright 11217770Sadrian * notice, this list of conditions and the following disclaimer in the 12217770Sadrian * documentation and/or other materials provided with the distribution. 13217770Sadrian * 14217770Sadrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15217770Sadrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16217770Sadrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17217770Sadrian * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18217770Sadrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19217770Sadrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20217770Sadrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21217770Sadrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22217770Sadrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23217770Sadrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24217770Sadrian * SUCH DAMAGE. 25217770Sadrian * 26217770Sadrian * $FreeBSD$ 27217770Sadrian */ 28217770Sadrian 29217770Sadrian#include <stdio.h> 30217770Sadrian#include <stdlib.h> 31217770Sadrian#include <unistd.h> 32217770Sadrian#include <string.h> 33217770Sadrian#include <sys/types.h> 34217770Sadrian#include <err.h> 35217770Sadrian 36217770Sadrian#include "eeprom.h" 37217770Sadrian#include "v4k.h" 38217770Sadrian 39217770Sadrianvoid 40217770Sadrianusage(char *argv[]) 41217770Sadrian{ 42217770Sadrian printf("Usage: %s <eeprom dump file>\n", argv[0]); 43217770Sadrian printf("\n"); 44217770Sadrian printf(" The eeprom dump file is a text hexdump of an EEPROM.\n"); 45217770Sadrian printf(" The lines must be formatted as follows:\n"); 46217770Sadrian printf(" 0xAAAA: 0xDD 0xDD 0xDD 0xDD 0xDD 0xDD 0xDD 0xDD\n"); 47217770Sadrian printf(" where each line must have exactly eight data bytes.\n"); 48217770Sadrian exit(127); 49217770Sadrian} 50217770Sadrian 51217770Sadrianint 52217770Sadrianmain(int argc, char *argv[]) 53217770Sadrian{ 54217770Sadrian uint16_t *eep = NULL; 55217770Sadrian eep = calloc(4096, sizeof(int16_t)); 56217770Sadrian 57217770Sadrian if (argc < 2) 58217770Sadrian usage(argv); 59217770Sadrian 60217770Sadrian load_eeprom_dump(argv[1], eep); 61217770Sadrian 62217770Sadrian eeprom_v4k_base_print(eep); 63217770Sadrian eeprom_v4k_custdata_print(eep); 64217770Sadrian printf("\n2.4ghz:\n"); 65217770Sadrian eeprom_v4k_modal_print(eep); 66217770Sadrian printf("\n"); 67217770Sadrian 68217770Sadrian eeprom_v4k_calfreqpiers_print(eep); 69217770Sadrian printf("\n"); 70217770Sadrian 71217770Sadrian eeprom_v4k_print_targets(eep); 72217770Sadrian printf("\n"); 73217770Sadrian 74217770Sadrian eeprom_v4k_ctl_print(eep); 75217770Sadrian printf("\n"); 76217770Sadrian 77217770Sadrian eeprom_v4k_print_edges(eep); 78217770Sadrian printf("\n"); 79217770Sadrian 80217770Sadrian eeprom_v4k_print_other(eep); 81217770Sadrian printf("\n"); 82217770Sadrian 83217770Sadrian free(eep); 84217770Sadrian exit(0); 85217770Sadrian} 86