OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [arm/] [xscale/] [verde/] [v2_0/] [include/] [var_io.h] - Blame information for rev 587

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_HAL_ARM_VERDE_VAR_IO_H
2
#define CYGONCE_HAL_ARM_VERDE_VAR_IO_H
3
 
4
/*=============================================================================
5
//
6
//      var_io.h
7
//
8
//      Platform specific support (register layout, etc)
9
//
10
//=============================================================================
11
//####ECOSGPLCOPYRIGHTBEGIN####
12
// -------------------------------------------
13
// This file is part of eCos, the Embedded Configurable Operating System.
14
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15
//
16
// eCos is free software; you can redistribute it and/or modify it under
17
// the terms of the GNU General Public License as published by the Free
18
// Software Foundation; either version 2 or (at your option) any later version.
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23
// for more details.
24
//
25
// You should have received a copy of the GNU General Public License along
26
// with eCos; if not, write to the Free Software Foundation, Inc.,
27
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28
//
29
// As a special exception, if other files instantiate templates or use macros
30
// or inline functions from this file, or you compile this file and link it
31
// with other works to produce a work based on this file, this file does not
32
// by itself cause the resulting work to be covered by the GNU General Public
33
// License. However the source code for this file must still be made available
34
// in accordance with section (3) of the GNU General Public License.
35
//
36
// This exception does not invalidate any other reasons why a work based on
37
// this file might be covered by the GNU General Public License.
38
//
39
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40
// at http://sources.redhat.com/ecos/ecos-license/
41
// -------------------------------------------
42
//####ECOSGPLCOPYRIGHTEND####
43
//=============================================================================
44
//#####DESCRIPTIONBEGIN####
45
//
46
// Author(s):    jskov
47
// Contributors: jskov
48
// Date:         2002-01-28
49
// Purpose:      Platform specific support routines
50
// Description:
51
// Usage:        #include <cyg/hal/hal_io.h>
52
//
53
//####DESCRIPTIONEND####
54
//
55
//===========================================================================*/
56
 
57
#include <cyg/hal/plf_io.h>
58
 
59
//-----------------------------------------------------------------------------
60
 
61
extern cyg_uint32 cyg_hal_plf_pci_cfg_read_dword (cyg_uint32 bus,
62
                                                  cyg_uint32 devfn,
63
                                                  cyg_uint32 offset);
64
extern cyg_uint16 cyg_hal_plf_pci_cfg_read_word  (cyg_uint32 bus,
65
                                                  cyg_uint32 devfn,
66
                                                  cyg_uint32 offset);
67
extern cyg_uint8 cyg_hal_plf_pci_cfg_read_byte   (cyg_uint32 bus,
68
                                                  cyg_uint32 devfn,
69
                                                  cyg_uint32 offset);
70
extern void cyg_hal_plf_pci_cfg_write_dword (cyg_uint32 bus,
71
                                             cyg_uint32 devfn,
72
                                             cyg_uint32 offset,
73
                                             cyg_uint32 val);
74
extern void cyg_hal_plf_pci_cfg_write_word  (cyg_uint32 bus,
75
                                             cyg_uint32 devfn,
76
                                             cyg_uint32 offset,
77
                                             cyg_uint16 val);
78
extern void cyg_hal_plf_pci_cfg_write_byte   (cyg_uint32 bus,
79
                                              cyg_uint32 devfn,
80
                                              cyg_uint32 offset,
81
                                              cyg_uint8 val);
82
 
83
// Read a value from the PCI configuration space of the appropriate
84
// size at an address composed from the bus, devfn and offset.
85
#define HAL_PCI_CFG_READ_UINT8( __bus, __devfn, __offset, __val )  \
86
    __val = cyg_hal_plf_pci_cfg_read_byte((__bus),  (__devfn), (__offset))
87
 
88
#define HAL_PCI_CFG_READ_UINT16( __bus, __devfn, __offset, __val ) \
89
    __val = cyg_hal_plf_pci_cfg_read_word((__bus),  (__devfn), (__offset))
90
 
91
#define HAL_PCI_CFG_READ_UINT32( __bus, __devfn, __offset, __val ) \
92
    __val = cyg_hal_plf_pci_cfg_read_dword((__bus),  (__devfn), (__offset))
93
 
94
// Write a value to the PCI configuration space of the appropriate
95
// size at an address composed from the bus, devfn and offset.
96
#define HAL_PCI_CFG_WRITE_UINT8( __bus, __devfn, __offset, __val )  \
97
    cyg_hal_plf_pci_cfg_write_byte((__bus),  (__devfn), (__offset), (__val))
98
 
99
#define HAL_PCI_CFG_WRITE_UINT16( __bus, __devfn, __offset, __val ) \
100
    cyg_hal_plf_pci_cfg_write_word((__bus),  (__devfn), (__offset), (__val))
101
 
102
#define HAL_PCI_CFG_WRITE_UINT32( __bus, __devfn, __offset, __val ) \
103
    cyg_hal_plf_pci_cfg_write_dword((__bus),  (__devfn), (__offset), (__val))
104
 
105
 
106
// Memory mapping details
107
#ifndef CYGARC_PHYSICAL_ADDRESS
108
# define CYGARC_PHYSICAL_ADDRESS(x) (((unsigned long)x & 0x1FFFFFFF) + SDRAM_PHYS_BASE)
109
#endif
110
 
111
 
112
#endif // CYGONCE_HAL_ARM_VERDE_VAR_IO_H
113
// EOF var_io.h

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.