xref: /netbsd/sys/arch/arm/iomd/iomdvar.h (revision 7210f448)
1*7210f448Sskrll /*	$NetBSD: iomdvar.h,v 1.4 2012/05/10 09:56:27 skrll Exp $	*/
27d4a1addSreinoud 
37d4a1addSreinoud /*
47d4a1addSreinoud  * Copyright (c) 1997 Mark Brinicombe.
57d4a1addSreinoud  * Copyright (c) 1997 Causality Limited
67d4a1addSreinoud  * All rights reserved.
77d4a1addSreinoud  *
87d4a1addSreinoud  * Redistribution and use in source and binary forms, with or without
97d4a1addSreinoud  * modification, are permitted provided that the following conditions
107d4a1addSreinoud  * are met:
117d4a1addSreinoud  * 1. Redistributions of source code must retain the above copyright
127d4a1addSreinoud  *    notice, this list of conditions and the following disclaimer.
137d4a1addSreinoud  * 2. Redistributions in binary form must reproduce the above copyright
147d4a1addSreinoud  *    notice, this list of conditions and the following disclaimer in the
157d4a1addSreinoud  *    documentation and/or other materials provided with the distribution.
167d4a1addSreinoud  * 3. All advertising materials mentioning features or use of this software
177d4a1addSreinoud  *    must display the following acknowledgement:
187d4a1addSreinoud  *	This product includes software developed by Mark Brinicombe
197d4a1addSreinoud  * 4. The name of the company nor the name of the author may be used to
207d4a1addSreinoud  *    endorse or promote products derived from this software without specific
217d4a1addSreinoud  *    prior written permission.
227d4a1addSreinoud  *
237d4a1addSreinoud  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
247d4a1addSreinoud  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
257d4a1addSreinoud  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
267d4a1addSreinoud  * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
277d4a1addSreinoud  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
287d4a1addSreinoud  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
297d4a1addSreinoud  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
307d4a1addSreinoud  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
317d4a1addSreinoud  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
327d4a1addSreinoud  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
337d4a1addSreinoud  * SUCH DAMAGE.
347d4a1addSreinoud  *
357d4a1addSreinoud  * RiscBSD kernel project
367d4a1addSreinoud  *
377d4a1addSreinoud  * iomd_bus.h
387d4a1addSreinoud  *
397d4a1addSreinoud  * Created      : 02/02/97
407d4a1addSreinoud  */
417d4a1addSreinoud 
42af51edd2Sdyoung #include <sys/bus.h>
437d4a1addSreinoud 
447d4a1addSreinoud /*
457d4a1addSreinoud  * Attach args for iomd_clock device
467d4a1addSreinoud  */
477d4a1addSreinoud 
487d4a1addSreinoud struct clk_attach_args {
497d4a1addSreinoud 	const char		*ca_name;	/* device name*/
507d4a1addSreinoud 	bus_space_tag_t		ca_iot;		/* Bus tag */
517d4a1addSreinoud 	bus_space_handle_t	ca_ioh;		/* Bus handle */
527d4a1addSreinoud 	int			ca_irq;		/* IRQ number */
537d4a1addSreinoud };
547d4a1addSreinoud 
557d4a1addSreinoud 
567d4a1addSreinoud /*
577d4a1addSreinoud  * Attach args for iomd device
587d4a1addSreinoud  */
597d4a1addSreinoud 
607d4a1addSreinoud /*
617d4a1addSreinoud  * Attach args for qms device
627d4a1addSreinoud  */
637d4a1addSreinoud 
647d4a1addSreinoud struct qms_attach_args {
657d4a1addSreinoud 	const char		*qa_name;	/* device name*/
667d4a1addSreinoud 	bus_space_tag_t		qa_iot;		/* Bus tag */
677d4a1addSreinoud 	bus_space_handle_t	qa_ioh;		/* Bus handle */
687d4a1addSreinoud 	bus_space_handle_t	qa_ioh_but;	/* Bus handle */
697d4a1addSreinoud 	int			qa_irq;		/* IRQ number */
707d4a1addSreinoud };
717d4a1addSreinoud 
727d4a1addSreinoud /*
73d79f4782Swiz  * Attach args for opms device
747d4a1addSreinoud  */
757d4a1addSreinoud 
76d79f4782Swiz struct opms_attach_args {
777d4a1addSreinoud 	const char		*pa_name;	/* device name*/
787d4a1addSreinoud 	bus_space_tag_t		pa_iot;		/* Bus tag */
797d4a1addSreinoud 	bus_space_handle_t	pa_ioh;		/* Bus handle */
807d4a1addSreinoud 	int			pa_irq;		/* IRQ number */
817d4a1addSreinoud };
827d4a1addSreinoud 
837d4a1addSreinoud /*
847d4a1addSreinoud  * Attach args for kbd device
857d4a1addSreinoud  */
867d4a1addSreinoud 
877d4a1addSreinoud struct kbd_attach_args {
887d4a1addSreinoud 	const char		*ka_name;	/* device name*/
897d4a1addSreinoud 	bus_space_tag_t		ka_iot;		/* Bus tag */
907d4a1addSreinoud 	bus_space_handle_t	ka_ioh;		/* Bus handle */
917d4a1addSreinoud 	int			ka_rxirq;	/* IRQ number */
927d4a1addSreinoud 	int			ka_txirq;	/* IRQ number */
937d4a1addSreinoud };
947d4a1addSreinoud 
957d4a1addSreinoud /*
967d4a1addSreinoud  * Attach args for iic device
977d4a1addSreinoud  */
987d4a1addSreinoud 
997d4a1addSreinoud struct iic_attach_args {
1007d4a1addSreinoud 	const char		*ia_name;	/* device name */
1017d4a1addSreinoud 	bus_space_tag_t		ia_iot;		/* Bus tag */
1027d4a1addSreinoud 	bus_space_handle_t	ia_ioh;		/* Bus handle */
1037d4a1addSreinoud 	int			ia_irq;		/* IRQ number */
1047d4a1addSreinoud };
1057d4a1addSreinoud 
1067d4a1addSreinoud /*
1077d4a1addSreinoud  * NOTE: All these attach structures and a const char *name as the
1087d4a1addSreinoud  * first field for identification.
1097d4a1addSreinoud  */
1107d4a1addSreinoud 
1117d4a1addSreinoud union iomd_attach_args {
1127d4a1addSreinoud 	struct kbd_attach_args		ia_kbd;
113d79f4782Swiz 	struct opms_attach_args		ia_opms;
1147d4a1addSreinoud 	struct qms_attach_args		ia_qms;
1157d4a1addSreinoud 	struct iic_attach_args		ia_iic;
1167d4a1addSreinoud 	struct clk_attach_args		ia_clk;
1177d4a1addSreinoud };
1187d4a1addSreinoud 
1197d4a1addSreinoud /*
1207d4a1addSreinoud  * IOMD_BASE register variable
1217d4a1addSreinoud  */
122*7210f448Sskrll extern uint32_t iomd_base;
1237d4a1addSreinoud 
1247d4a1addSreinoud /* End of iomdvar.h */
125