1/*- 2 * Copyright (c) 2005 Olivier Houchard. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 */ 25
| 1/*- 2 * Copyright (c) 2005 Olivier Houchard. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 */ 25
|
26/* $FreeBSD: head/sys/arm/at91/at91var.h 213496 2010-10-06 22:25:21Z cognet $ */
| 26/* $FreeBSD: head/sys/arm/at91/at91var.h 234281 2012-04-14 11:29:32Z marius $ */
|
27 28#ifndef _AT91VAR_H_ 29#define _AT91VAR_H_ 30 31#include <sys/bus.h> 32#include <sys/rman.h> 33 34#include <arm/at91/at91reg.h> 35 36struct at91_softc { 37 device_t dev; 38 bus_space_tag_t sc_st; 39 bus_space_handle_t sc_sh; 40 bus_space_handle_t sc_aic_sh; 41 struct rman sc_irq_rman; 42 struct rman sc_mem_rman; 43 uint32_t sc_irq_system; 44}; 45 46struct at91_ivar { 47 struct resource_list resources; 48}; 49 50struct cpu_devs 51{ 52 const char *name; 53 int unit; 54 bus_addr_t mem_base; 55 bus_size_t mem_len; 56 int irq0; 57 int irq1; 58 int irq2; 59 const char *parent_clk; 60}; 61 62extern uint32_t at91_chip_id; 63 64static inline int at91_is_rm92(void);
| 27 28#ifndef _AT91VAR_H_ 29#define _AT91VAR_H_ 30 31#include <sys/bus.h> 32#include <sys/rman.h> 33 34#include <arm/at91/at91reg.h> 35 36struct at91_softc { 37 device_t dev; 38 bus_space_tag_t sc_st; 39 bus_space_handle_t sc_sh; 40 bus_space_handle_t sc_aic_sh; 41 struct rman sc_irq_rman; 42 struct rman sc_mem_rman; 43 uint32_t sc_irq_system; 44}; 45 46struct at91_ivar { 47 struct resource_list resources; 48}; 49 50struct cpu_devs 51{ 52 const char *name; 53 int unit; 54 bus_addr_t mem_base; 55 bus_size_t mem_len; 56 int irq0; 57 int irq1; 58 int irq2; 59 const char *parent_clk; 60}; 61 62extern uint32_t at91_chip_id; 63 64static inline int at91_is_rm92(void);
|
65static inline int at91_is_sam9(void) ;
| 65static inline int at91_is_sam9(void);
|
66static inline int at91_cpu_is(u_int cpu); 67
| 66static inline int at91_cpu_is(u_int cpu); 67
|
68static inline int 69at91_is_rm92(void)
| 68static inline int 69at91_is_rm92(void)
|
70{
| 70{
|
| 71
|
71 return (AT91_ARCH(at91_chip_id) == AT91_ARCH_RM92); 72} 73
| 72 return (AT91_ARCH(at91_chip_id) == AT91_ARCH_RM92); 73} 74
|
74static inline int 75at91_is_sam9(void)
| 75static inline int 76at91_is_sam9(void)
|
76{
| 77{
|
| 78
|
77 return (AT91_ARCH(at91_chip_id) == AT91_ARCH_SAM9); 78} 79
| 79 return (AT91_ARCH(at91_chip_id) == AT91_ARCH_SAM9); 80} 81
|
80static inline int
| 82static inline int
|
81at91_cpu_is(u_int cpu) 82{
| 83at91_cpu_is(u_int cpu) 84{
|
| 85
|
83 return (AT91_CPU(at91_chip_id) == cpu); 84} 85 86extern uint32_t at91_irq_system; 87extern uint32_t at91_master_clock; 88 89#endif /* _AT91VAR_H_ */
| 86 return (AT91_CPU(at91_chip_id) == cpu); 87} 88 89extern uint32_t at91_irq_system; 90extern uint32_t at91_master_clock; 91 92#endif /* _AT91VAR_H_ */
|