Added SiS 550x, 558x, 559x, (5)600, UMC UM8890, UMC UM8663 Super I/O Chips, UMC UM8673F and Winbond W83769F IDE Contollers, and a number of machines, and fixes to the UM888x 486 chipset.
This commit is contained in:
@@ -15,8 +15,8 @@
|
||||
* Copyright 2020 RichardG.
|
||||
*/
|
||||
|
||||
#ifndef EMU_SMBUS_PIIX4_H
|
||||
#define EMU_SMBUS_PIIX4_H
|
||||
#ifndef EMU_SMBUS_H
|
||||
#define EMU_SMBUS_H
|
||||
|
||||
#define SMBUS_PIIX4_BLOCK_DATA_SIZE 32
|
||||
#define SMBUS_PIIX4_BLOCK_DATA_MASK (SMBUS_PIIX4_BLOCK_DATA_SIZE - 1)
|
||||
@@ -24,6 +24,9 @@
|
||||
#define SMBUS_ALI7101_BLOCK_DATA_SIZE 32
|
||||
#define SMBUS_ALI7101_BLOCK_DATA_MASK (SMBUS_ALI7101_BLOCK_DATA_SIZE - 1)
|
||||
|
||||
#define SMBUS_SIS5595_BLOCK_DATA_SIZE 32
|
||||
#define SMBUS_SIS5595_BLOCK_DATA_MASK (SMBUS_ALI7101_BLOCK_DATA_SIZE - 1)
|
||||
|
||||
enum {
|
||||
SMBUS_PIIX4 = 0,
|
||||
SMBUS_VIA = 1
|
||||
@@ -63,16 +66,47 @@ typedef struct smbus_ali7101_t {
|
||||
void *i2c;
|
||||
} smbus_ali7101_t;
|
||||
|
||||
extern void smbus_piix4_remap(smbus_piix4_t *dev, uint16_t new_io_base, uint8_t enable);
|
||||
extern void smbus_piix4_setclock(smbus_piix4_t *dev, int clock);
|
||||
typedef struct smbus_sis5595_t {
|
||||
uint32_t local;
|
||||
uint16_t stat;
|
||||
uint16_t next_stat;
|
||||
uint16_t ctl;
|
||||
uint8_t cmd;
|
||||
uint8_t addr;
|
||||
uint8_t saved_addr;
|
||||
uint8_t block_ptr;
|
||||
uint8_t count;
|
||||
uint8_t data0;
|
||||
uint8_t data1;
|
||||
uint8_t alias;
|
||||
uint8_t reg_ff;
|
||||
uint8_t index;
|
||||
uint8_t irq_enable;
|
||||
uint8_t irq_state;
|
||||
uint8_t data[SMBUS_SIS5595_BLOCK_DATA_SIZE];
|
||||
pc_timer_t response_timer;
|
||||
void *i2c;
|
||||
} smbus_sis5595_t;
|
||||
|
||||
extern void smbus_ali7101_remap(smbus_ali7101_t *dev, uint16_t new_io_base, uint8_t enable);
|
||||
extern void smbus_piix4_remap(smbus_piix4_t *dev, uint16_t new_io_base, uint8_t enable);
|
||||
extern void smbus_piix4_setclock(smbus_piix4_t *dev, int clock);
|
||||
|
||||
extern void smbus_ali7101_remap(smbus_ali7101_t *dev, uint16_t new_io_base, uint8_t enable);
|
||||
|
||||
extern void smbus_sis5595_irq_enable(void *priv, uint8_t enable);
|
||||
|
||||
extern uint8_t smbus_sis5595_read_index(void *priv);
|
||||
extern uint8_t smbus_sis5595_read_data(void *priv);
|
||||
extern void smbus_sis5595_write_index(void *priv, uint8_t val);
|
||||
extern void smbus_sis5595_write_data(void *priv, uint8_t val);
|
||||
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t piix4_smbus_device;
|
||||
extern const device_t via_smbus_device;
|
||||
|
||||
extern const device_t ali7101_smbus_device;
|
||||
|
||||
extern const device_t sis5595_smbus_device;
|
||||
#endif
|
||||
|
||||
#endif /*EMU_SMBUS_PIIX4_H*/
|
||||
#endif /*EMU_SMBUS_H*/
|
||||
|
||||
Reference in New Issue
Block a user