1*0d09e41aSPaolo Bonzini /* 2*0d09e41aSPaolo Bonzini * QEMU EEPROM 93xx emulation 3*0d09e41aSPaolo Bonzini * 4*0d09e41aSPaolo Bonzini * Copyright (c) 2006-2007 Stefan Weil 5*0d09e41aSPaolo Bonzini * 6*0d09e41aSPaolo Bonzini * This program is free software; you can redistribute it and/or modify 7*0d09e41aSPaolo Bonzini * it under the terms of the GNU General Public License as published by 8*0d09e41aSPaolo Bonzini * the Free Software Foundation; either version 2 of the License, or 9*0d09e41aSPaolo Bonzini * (at your option) any later version. 10*0d09e41aSPaolo Bonzini * 11*0d09e41aSPaolo Bonzini * This program is distributed in the hope that it will be useful, 12*0d09e41aSPaolo Bonzini * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*0d09e41aSPaolo Bonzini * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*0d09e41aSPaolo Bonzini * GNU General Public License for more details. 15*0d09e41aSPaolo Bonzini * 16*0d09e41aSPaolo Bonzini * You should have received a copy of the GNU General Public License 17*0d09e41aSPaolo Bonzini * along with this program; if not, see <http://www.gnu.org/licenses/>. 18*0d09e41aSPaolo Bonzini */ 19*0d09e41aSPaolo Bonzini 20*0d09e41aSPaolo Bonzini #ifndef EEPROM93XX_H 21*0d09e41aSPaolo Bonzini #define EEPROM93XX_H 22*0d09e41aSPaolo Bonzini 23*0d09e41aSPaolo Bonzini typedef struct _eeprom_t eeprom_t; 24*0d09e41aSPaolo Bonzini 25*0d09e41aSPaolo Bonzini /* Create a new EEPROM with (nwords * 2) bytes. */ 26*0d09e41aSPaolo Bonzini eeprom_t *eeprom93xx_new(DeviceState *dev, uint16_t nwords); 27*0d09e41aSPaolo Bonzini 28*0d09e41aSPaolo Bonzini /* Destroy an existing EEPROM. */ 29*0d09e41aSPaolo Bonzini void eeprom93xx_free(DeviceState *dev, eeprom_t *eeprom); 30*0d09e41aSPaolo Bonzini 31*0d09e41aSPaolo Bonzini /* Read from the EEPROM. */ 32*0d09e41aSPaolo Bonzini uint16_t eeprom93xx_read(eeprom_t *eeprom); 33*0d09e41aSPaolo Bonzini 34*0d09e41aSPaolo Bonzini /* Write to the EEPROM. */ 35*0d09e41aSPaolo Bonzini void eeprom93xx_write(eeprom_t *eeprom, int eecs, int eesk, int eedi); 36*0d09e41aSPaolo Bonzini 37*0d09e41aSPaolo Bonzini /* Get EEPROM data array. */ 38*0d09e41aSPaolo Bonzini uint16_t *eeprom93xx_data(eeprom_t *eeprom); 39*0d09e41aSPaolo Bonzini 40*0d09e41aSPaolo Bonzini #endif /* EEPROM93XX_H */ 41