/* this is only for debug */ void dump_eprom(struct net_device *dev) { int i; for (i = 0; i < 0xff; i++) { RT_TRACE(COMP_INIT, "EEPROM addr %x : %x", i, eprom_read(dev, i)); } }
/* Read EEPROM to find out product id. Return 0 in case of failure */ uint32_t platform_id_read (void) { uint32_t id = 0; uint16_t offset = 0; dev = qup_i2c_init(GSBI_ID_8, 100000, 24000000); if(!dev){ return id; } /* Check if EPROM is valid */ if (CONVERT_ENDIAN_U32(eprom_read(0, 4)) == CDT_MAGIC_NUMBER) { /* Get offset for platform ID info from Meta Data block 0 */ offset = eprom_read(CONVERT_ENDIAN_U16(0 + sizeof(struct cdt_header)), 2); /* Read platform ID */ id = eprom_read(CONVERT_ENDIAN_U16(offset), 4); id = CONVERT_ENDIAN_U32(id); id = (id & 0x00FF0000) >> 16; }