Lines Matching +full:mac +full:- +full:only
3 * Copyright 2006, 2008-2009, 2011 Freescale Semiconductor
11 * SPDX-License-Identifier: GPL-2.0+
34 u8 id[4]; /* 0x00 - 0x03 EEPROM Tag 'NXID' */
35 u8 sn[12]; /* 0x04 - 0x0F Serial Number */
36 u8 errata[5]; /* 0x10 - 0x14 Errata Level */
37 u8 date[6]; /* 0x15 - 0x1a Build Date */
39 u32 version; /* 0x1c - 0x1f NXID Version */
40 u8 tempcal[8]; /* 0x20 - 0x27 Temperature Calibration Factors */
41 u8 tempcalsys[2]; /* 0x28 - 0x29 System Temperature Calibration Factors */
43 u8 res_1[21]; /* 0x2b - 0x3f Reserved */
44 u8 mac_count; /* 0x40 Number of MAC addresses */
45 u8 mac_flag; /* 0x41 MAC table flags */
46 u8 mac[MAX_NUM_PORTS][6]; /* 0x42 - x MAC addresses */ member
60 static int eeprom_bus_num = -1;
75 * show_eeprom - display the contents of the EEPROM
103 /* Show MAC addresses */ in show_eeprom()
105 u8 *p = e.mac[i]; in show_eeprom()
111 crc = crc32(0, (void *)&e, sizeof(e) - 4); in show_eeprom()
125 if (((i % 16) == 15) || (i == sizeof(e) - 1)) in show_eeprom()
132 * read_eeprom - read the EEPROM into memory
141 return -1; in read_eeprom()
169 * update_crc - update the CRC
183 * prog_eeprom - write the EEPROM from memory
194 return -1; in prog_eeprom()
206 * The AT24C02 datasheet says that data can only be written in page in prog_eeprom()
212 p, min((int)(sizeof(e) - i), 8)); in prog_eeprom()
225 ret = -1; in prog_eeprom()
233 return -1; in prog_eeprom()
241 * h2i - converts hex character into a number
249 return p - '0'; in h2i()
252 return (p - 'A') + 10; in h2i()
255 return (p - 'a') + 10; in h2i()
261 * set_date - stores the build date into the EEPROM
264 * (2-digit year, 2-digit month, etc), converts it to a 6-byte BCD string,
272 printf("Usage: mac date YYMMDDhhmmss\n"); in set_date()
283 * set_mac_address - stores a MAC address into the EEPROM
285 * This function takes a pointer to MAC address string
286 * (i.e."XX:XX:XX:XX:XX:XX", where "XX" is a two-digit hex number) and
287 * stores it in one of the MAC address fields of the EEPROM local copy.
295 printf("Usage: mac <n> XX:XX:XX:XX:XX:XX\n"); in set_mac_address()
300 e.mac[index][i] = simple_strtoul(p, &p, 16); in set_mac_address()
353 strncpy((char *)e.sn, argv[2], sizeof(e.sn) - 1); in do_mac()
364 case 'p': /* MAC table size */ in do_mac()
368 case '0' ... '9': /* "mac 0" through "mac 22" */ in do_mac()
384 unsigned char mac[6]; in mac_read_from_generic_eeprom() local
390 ret = i2c_read(chip, address, 1, mac, 6); in mac_read_from_generic_eeprom()
396 mac[0], in mac_read_from_generic_eeprom()
397 mac[1], in mac_read_from_generic_eeprom()
398 mac[2], in mac_read_from_generic_eeprom()
399 mac[3], in mac_read_from_generic_eeprom()
400 mac[4], in mac_read_from_generic_eeprom()
401 mac[5]); in mac_read_from_generic_eeprom()
403 printf("MAC: %s\n", ethaddr); in mac_read_from_generic_eeprom()
423 * mac_read_from_eeprom - read the MAC addresses from EEPROM
425 * This function reads the MAC addresses from EEPROM and sets the
428 * The environment variables are only set if they haven't been set already.
429 * This ensures that any user-saved variables are never overwritten.
433 * For NXID v1 EEPROMs, we support loading and up-converting the older NXID v0
434 * format. In a v0 EEPROM, there are only eight MAC addresses and the CRC is
465 * MAC address #9 in v1 occupies the same position as the CRC in v0. in mac_read_from_eeprom_common()
466 * Erase it so that it's not mistaken for a MAC address. We'll in mac_read_from_eeprom_common()
470 memset(e.mac[8], 0xff, 6); in mac_read_from_eeprom_common()
473 if (memcmp(&e.mac[i], "\0\0\0\0\0\0", 6) && in mac_read_from_eeprom_common()
474 memcmp(&e.mac[i], "\xFF\xFF\xFF\xFF\xFF\xFF", 6)) { in mac_read_from_eeprom_common()
479 e.mac[i][0], in mac_read_from_eeprom_common()
480 e.mac[i][1], in mac_read_from_eeprom_common()
481 e.mac[i][2], in mac_read_from_eeprom_common()
482 e.mac[i][3], in mac_read_from_eeprom_common()
483 e.mac[i][4], in mac_read_from_eeprom_common()
484 e.mac[i][5]); in mac_read_from_eeprom_common()
486 /* Only initialize environment variables that are blank in mac_read_from_eeprom_common()