/************************************************************************/
/*									*/
/* Configuration - Xinu device configuration specification file		*/
/*									*/
/* This file becomes input to the config program, which generates	*/
/* 		conf.h  and  conf.c					*/
/*									*/
/* Entries for a device specify the functions that handle each of the	*/
/* high-level I/O operations as follows:				*/
/*									*/
/*	-i    init	-o    open	-c    close			*/
/*	-r    read	-w    write	-s    seek			*/
/*	-g    getc	-p    putc	-n    control			*/
/*	-intr int_hndlr	-csr  csr	-irq  irq			*/
/*									*/
/************************************************************************/

/* Type Declarations for both real- and pseudo- device types */

/* type of a null device */
null:
	on nothing
		-i ionull	-o ionull	-c ionull
		-r ionull	-g ionull	-p ionull
		-w ionull	-s ioerr

/* type of a gpio device */
/* RAFA
gpio:
	on standard_gpio
		-i gpioinit      -o ionull       -c ionull
		-r gpioread      -g ionull       -p ionull
		-w gpiowrite     -s ioerr        -n gpiocontrol
		-intr gpiohandler
FIN DE RAFA */

/* type of a tty device */
	/* RAFA 
tty:
	on uart
		-i ttyinit      -o ionull       -c ionull
		-r ttyread      -g ttygetc      -p ttyputc
		-w ttywrite     -s ioerr        -n ttycontrol
		-intr ttyhandler
	on uart
		-i ionull      -o ionull       -c ionull
		-r ionull      -g ionull      -p ionull
		-w ionull     -s ioerr        -n ionull
		-intr ionull
	FIN DE RAFA */

/* type of ram disk */
/* RAFA
ram:
	on mem
		-i raminit	-o ramopen	-c ramclose
		-r ramread	-g ioerr	-p ioerr
		-w ramwrite	-s ioerr	-n ioerr
		-intr ionull
FIN DE RAFA */
/* eeprom:
 	on disk
 		-i eeprom_init	-o eeprom_open	-c eeprom_close
 		-r eeprom_read	-g ioerr	-p ioerr
 		-w eeprom_write	-s ioerr	-n ioerr
 		-intr ionull
*/

/* type of namespace device */
nam:
	on top
		-i naminit 	-o namopen 	-c ioerr
		-r ioerr 	-g ioerr 	-p ioerr
		-w ioerr 	-s ioerr 	-n ioerr
		-intr ioerr

/* RAFA
spi:
	on standard_spi
		-i spiinit 	-o ioerr 	-c ioerr
		-r ioerr 	-g ioerr 	-p spiputc
		-w ioerr 	-s ioerr 	-n ioerr
		-intr ioerr
FIN DE RAFA */
	
%%

/* Actual device declarations that each give the name of a device that	*/
/*   will be present in the system					*/

   /* Define the console device to be a tty and specify CSR*/
   /* CONSOLE is tty  on uart  csr 0x40013800 -irq 53 */
   CONSOLE is null on nothing
   
   /* Define the console device to be a tty and specify CSR*/
/* RAFA   GPIO0 is gpio  on standard_gpio  csr 0x40010800 -irq 99 */
   /* Define the console device to be a tty and specify CSR*/
/* RAFA   GPIO1 is gpio  on standard_gpio  csr 0x40010C00 -irq 99 */
   /* Define the console device to be a tty and specify CSR*/
/* RAFA   GPIO2 is gpio  on standard_gpio  csr 0x40011000 -irq 99 */
   /* Define the console device to be a tty and specify CSR*/
/* RAFA   GPIO3 is gpio  on standard_gpio  csr 0x40011400 -irq 99 */

   /* Define a null device */
   NULLDEV is null on nothing

   /* Define a namespace device */
   NAMESPACE is nam on top

   /* Define a SPI device */
/* RAFA   SPI1	is spi on standard_spi */

   /* Define a ram disk device */
/* RAFA   RAM0 is ram on mem */
/*   EEPROM0 is eeprom on disk */

%%

/* Configuration and Size Constants */

#define	NPROC	     6		/* number of user processes		*/
#define	NSEM	     4		/* number of semaphores			*/
