symbian-qemu-0.9.1-12/qemu-symbian-svp/hw/pcmcia.h
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 /* PCMCIA/Cardbus */
       
     2 
       
     3 struct pcmcia_socket_s {
       
     4     qemu_irq irq;
       
     5     int attached;
       
     6     const char *slot_string;
       
     7     const char *card_string;
       
     8 };
       
     9 
       
    10 void pcmcia_socket_register(struct pcmcia_socket_s *socket);
       
    11 void pcmcia_socket_unregister(struct pcmcia_socket_s *socket);
       
    12 void pcmcia_info(void);
       
    13 
       
    14 struct pcmcia_card_s {
       
    15     void *state;
       
    16     struct pcmcia_socket_s *slot;
       
    17     int (*attach)(void *state);
       
    18     int (*detach)(void *state);
       
    19     const uint8_t *cis;
       
    20     int cis_len;
       
    21 
       
    22     /* Only valid if attached */
       
    23     uint8_t (*attr_read)(void *state, uint32_t address);
       
    24     void (*attr_write)(void *state, uint32_t address, uint8_t value);
       
    25     uint16_t (*common_read)(void *state, uint32_t address);
       
    26     void (*common_write)(void *state, uint32_t address, uint16_t value);
       
    27     uint16_t (*io_read)(void *state, uint32_t address);
       
    28     void (*io_write)(void *state, uint32_t address, uint16_t value);
       
    29 };
       
    30 
       
    31 #define CISTPL_DEVICE		0x01	/* 5V Device Information Tuple */
       
    32 #define CISTPL_NO_LINK		0x14	/* No Link Tuple */
       
    33 #define CISTPL_VERS_1		0x15	/* Level 1 Version Tuple */
       
    34 #define CISTPL_JEDEC_C		0x18	/* JEDEC ID Tuple */
       
    35 #define CISTPL_JEDEC_A		0x19	/* JEDEC ID Tuple */
       
    36 #define CISTPL_CONFIG		0x1a	/* Configuration Tuple */
       
    37 #define CISTPL_CFTABLE_ENTRY	0x1b	/* 16-bit PCCard Configuration */
       
    38 #define CISTPL_DEVICE_OC	0x1c	/* Additional Device Information */
       
    39 #define CISTPL_DEVICE_OA	0x1d	/* Additional Device Information */
       
    40 #define CISTPL_DEVICE_GEO	0x1e	/* Additional Device Information */
       
    41 #define CISTPL_DEVICE_GEO_A	0x1f	/* Additional Device Information */
       
    42 #define CISTPL_MANFID		0x20	/* Manufacture ID Tuple */
       
    43 #define CISTPL_FUNCID		0x21	/* Function ID Tuple */
       
    44 #define CISTPL_FUNCE		0x22	/* Function Extension Tuple */
       
    45 #define CISTPL_END		0xff	/* Tuple End */
       
    46 #define CISTPL_ENDMARK		0xff
       
    47 
       
    48 /* dscm1xxxx.c */
       
    49 struct pcmcia_card_s *dscm1xxxx_init(BlockDriverState *bdrv);