Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
mac_iop.h File Reference

Go to the source code of this file.

Data Structures

struct  mac_iop
 
struct  iop_msg
 

Macros

#define SCC_IOP_BASE_IIFX   (0x50F04000)
 
#define ISM_IOP_BASE_IIFX   (0x50F12000)
 
#define SCC_IOP_BASE_QUADRA   (0x50F0C000)
 
#define ISM_IOP_BASE_QUADRA   (0x50F1E000)
 
#define IOP_BYPASS   0x01 /* bypass-mode hardware access */
 
#define IOP_AUTOINC   0x02 /* allow autoincrement of ramhi/lo */
 
#define IOP_RUN   0x04 /* set to 0 to reset IOP chip */
 
#define IOP_IRQ   0x08 /* generate IRQ to IOP if 1 */
 
#define IOP_INT0   0x10 /* intr priority from IOP to host */
 
#define IOP_INT1   0x20 /* intr priority from IOP to host */
 
#define IOP_HWINT   0x40 /* IRQ from hardware; bypass mode only */
 
#define IOP_DMAINACTIVE   0x80 /* no DMA request active; bypass mode only */
 
#define NUM_IOPS   2
 
#define NUM_IOP_CHAN   7
 
#define NUM_IOP_MSGS   NUM_IOP_CHAN*8
 
#define IOP_MSG_LEN   32
 
#define IOP_NUM_SCC   0
 
#define IOP_NUM_ISM   1
 
#define IOP_MSG_IDLE   0 /* idle */
 
#define IOP_MSG_NEW   1 /* new message sent */
 
#define IOP_MSG_RCVD   2 /* message received; processing */
 
#define IOP_MSG_COMPLETE   3 /* message processing complete */
 
#define IOP_MSGSTATUS_UNUSED   0 /* Unusued message structure */
 
#define IOP_MSGSTATUS_WAITING   1 /* waiting for channel */
 
#define IOP_MSGSTATUS_SENT   2 /* message sent, awaiting reply */
 
#define IOP_MSGSTATUS_COMPLETE   3 /* message complete and reply rcvd */
 
#define IOP_MSGSTATUS_UNSOL   6 /* message is unsolicited */
 
#define IOP_ADDR_MAX_SEND_CHAN   0x0200
 
#define IOP_ADDR_SEND_STATE   0x0201
 
#define IOP_ADDR_PATCH_CTRL   0x021F
 
#define IOP_ADDR_SEND_MSG   0x0220
 
#define IOP_ADDR_MAX_RECV_CHAN   0x0300
 
#define IOP_ADDR_RECV_STATE   0x0301
 
#define IOP_ADDR_ALIVE   0x031F
 
#define IOP_ADDR_RECV_MSG   0x0320
 

Functions

int iop_listen (uint, uint, void(*handler)(struct iop_msg *), const char *)
 
int iop_send_message (uint, uint, void *, uint, __u8 *, void(*)(struct iop_msg *))
 
void iop_complete_message (struct iop_msg *)
 
void iop_upload_code (uint, __u8 *, uint, __u16)
 
void iop_download_code (uint, __u8 *, uint, __u16)
 
__u8iop_compare_code (uint, __u8 *, uint, __u16)
 
void iop_register_interrupts (void)
 

Variables

int iop_scc_present
 
int iop_ism_present
 

Macro Definition Documentation

#define IOP_ADDR_ALIVE   0x031F

Definition at line 65 of file mac_iop.h.

#define IOP_ADDR_MAX_RECV_CHAN   0x0300

Definition at line 63 of file mac_iop.h.

#define IOP_ADDR_MAX_SEND_CHAN   0x0200

Definition at line 59 of file mac_iop.h.

#define IOP_ADDR_PATCH_CTRL   0x021F

Definition at line 61 of file mac_iop.h.

#define IOP_ADDR_RECV_MSG   0x0320

Definition at line 66 of file mac_iop.h.

#define IOP_ADDR_RECV_STATE   0x0301

Definition at line 64 of file mac_iop.h.

#define IOP_ADDR_SEND_MSG   0x0220

Definition at line 62 of file mac_iop.h.

#define IOP_ADDR_SEND_STATE   0x0201

Definition at line 60 of file mac_iop.h.

#define IOP_AUTOINC   0x02 /* allow autoincrement of ramhi/lo */

Definition at line 24 of file mac_iop.h.

#define IOP_BYPASS   0x01 /* bypass-mode hardware access */

Definition at line 23 of file mac_iop.h.

#define IOP_DMAINACTIVE   0x80 /* no DMA request active; bypass mode only */

Definition at line 30 of file mac_iop.h.

#define IOP_HWINT   0x40 /* IRQ from hardware; bypass mode only */

Definition at line 29 of file mac_iop.h.

#define IOP_INT0   0x10 /* intr priority from IOP to host */

Definition at line 27 of file mac_iop.h.

#define IOP_INT1   0x20 /* intr priority from IOP to host */

Definition at line 28 of file mac_iop.h.

#define IOP_IRQ   0x08 /* generate IRQ to IOP if 1 */

Definition at line 26 of file mac_iop.h.

#define IOP_MSG_COMPLETE   3 /* message processing complete */

Definition at line 47 of file mac_iop.h.

#define IOP_MSG_IDLE   0 /* idle */

Definition at line 44 of file mac_iop.h.

#define IOP_MSG_LEN   32

Definition at line 35 of file mac_iop.h.

#define IOP_MSG_NEW   1 /* new message sent */

Definition at line 45 of file mac_iop.h.

#define IOP_MSG_RCVD   2 /* message received; processing */

Definition at line 46 of file mac_iop.h.

#define IOP_MSGSTATUS_COMPLETE   3 /* message complete and reply rcvd */

Definition at line 54 of file mac_iop.h.

#define IOP_MSGSTATUS_SENT   2 /* message sent, awaiting reply */

Definition at line 53 of file mac_iop.h.

#define IOP_MSGSTATUS_UNSOL   6 /* message is unsolicited */

Definition at line 55 of file mac_iop.h.

#define IOP_MSGSTATUS_UNUSED   0 /* Unusued message structure */

Definition at line 51 of file mac_iop.h.

#define IOP_MSGSTATUS_WAITING   1 /* waiting for channel */

Definition at line 52 of file mac_iop.h.

#define IOP_NUM_ISM   1

Definition at line 40 of file mac_iop.h.

#define IOP_NUM_SCC   0

Definition at line 39 of file mac_iop.h.

#define IOP_RUN   0x04 /* set to 0 to reset IOP chip */

Definition at line 25 of file mac_iop.h.

#define ISM_IOP_BASE_IIFX   (0x50F12000)

Definition at line 16 of file mac_iop.h.

#define ISM_IOP_BASE_QUADRA   (0x50F1E000)

Definition at line 19 of file mac_iop.h.

#define NUM_IOP_CHAN   7

Definition at line 33 of file mac_iop.h.

#define NUM_IOP_MSGS   NUM_IOP_CHAN*8

Definition at line 34 of file mac_iop.h.

#define NUM_IOPS   2

Definition at line 32 of file mac_iop.h.

#define SCC_IOP_BASE_IIFX   (0x50F04000)

Definition at line 15 of file mac_iop.h.

#define SCC_IOP_BASE_QUADRA   (0x50F0C000)

Definition at line 18 of file mac_iop.h.

Function Documentation

__u8* iop_compare_code ( uint  ,
__u8 ,
uint  ,
__u16   
)

Definition at line 552 of file iop.c.

void iop_complete_message ( struct iop_msg )

Definition at line 347 of file iop.c.

void iop_download_code ( uint  ,
__u8 ,
uint  ,
__u16   
)

Definition at line 534 of file iop.c.

int iop_listen ( uint  ,
uint  ,
void(*)(struct iop_msg *)  handler,
const char  
)

Definition at line 329 of file iop.c.

void iop_register_interrupts ( void  )

Definition at line 301 of file iop.c.

int iop_send_message ( uint  ,
uint  ,
void ,
uint  ,
__u8 ,
void(*)(struct iop_msg *)   
)

Definition at line 478 of file iop.c.

void iop_upload_code ( uint  ,
__u8 ,
uint  ,
__u16   
)

Definition at line 518 of file iop.c.

Variable Documentation

int iop_ism_present

Definition at line 123 of file iop.c.

int iop_scc_present

Definition at line 123 of file iop.c.