Update of /cvsroot/gc-linux/linux/include/asm-powerpc
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv23948/include/asm-powerpc
Added Files:
starlet.h
Log Message:
Added starlet ipc driver and starlet stm routines.
Signed-off-by: Albert Herranz <alb...@ya...>
--- NEW FILE: starlet.h ---
/*
* include/asm-powerpc/starlet.h
*
* Nintendo Wii starlet processor definitions
* Copyright (C) 2008 The GameCube Linux Team
* Copyright (C) 2008 Albert Herranz
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
*/
#ifndef __ASM_POWERPC_STARLET_H
#define __ASM_POWERPC_STARLET_H
#include <linux/types.h>
#include <linux/spinlock_types.h>
#include <linux/dmapool.h>
#include <linux/list.h>
#include <linux/platform_device.h>
#define STARLET_IPC_DMA_ALIGN 0x1f /* 32 bytes */
struct starlet_ipc_device {
void __iomem *io_base;
unsigned long flags;
struct dma_pool *dma_pool;
spinlock_t list_lock;
struct list_head outstanding_list;
unsigned long nr_outstanding;
struct list_head pending_list;
unsigned long nr_pending;
struct platform_device pdev;
};
#define to_ipc_dev(n) container_of(n,struct starlet_ipc_device,pdev)
/* from starlet-ipc.c */
extern struct starlet_ipc_device *starlet_ipc_get_device(void);
extern int starlet_ios_open(const char *pathname, int flags);
extern int starlet_ios_close(int fd);
extern int starlet_ios_ioctl(int fd, int request,
dma_addr_t ibuf, size_t ilen,
dma_addr_t obuf, size_t olen);
/* from starlet-stm.c */
extern void starlet_stm_restart(void);
extern void starlet_stm_power_off(void);
#endif /* __ASM_POWERPC_STARLET_H */
|