forked from Imagelibrary/rtems
This patch changes the license to BSD-2 for all source files where the copyright is held by Aeroflex Gaisler, Cobham Gaisler, or Gaisler Research. Some files also includes copyright right statements from OAR and/or embedded Brains in addition to Gaisler. Updates #3053.
85 lines
3.3 KiB
C
85 lines
3.3 KiB
C
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
|
|
/* GRLIB GRPCI2 PCI HOST driver.
|
|
*
|
|
* COPYRIGHT (c) 2011
|
|
* Cobham Gaisler AB.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
* POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifndef __GRPCI2_H__
|
|
#define __GRPCI2_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern void grpci2_register_drv(void);
|
|
|
|
/* Driver Resources:
|
|
*
|
|
* PCI Interrupts
|
|
* ==============
|
|
* The interrupt settings are normally autodetected from Plyg&Play, however
|
|
* if IRQs are routed using custom GPIO pins in order to reduce the PIN count
|
|
* reserved for PCI, the options below can be used to tell GRPCI2 driver which
|
|
* System IRQ a PCI interrupt is connected to.
|
|
* Name="INTA#", Type=INT, System Interrupt number that PCI INTA is connected to
|
|
* Name="INTB#", Type=INT, System Interrupt number that PCI INTB is connected to
|
|
* Name="INTC#", Type=INT, System Interrupt number that PCI INTC is connected to
|
|
* Name="INTD#", Type=INT, System Interrupt number that PCI INTD is connected to
|
|
*
|
|
* Name="IRQmask", Type=INT,
|
|
*
|
|
* PCI Bytetwisting (endianess)
|
|
* ============================
|
|
* Name="byteTwisting", Type=INT, Enable/Disable Bytetwisting by hardware
|
|
*
|
|
* PCI Latency timer
|
|
* ============================
|
|
* Name="latencyTimer", Type=INT, Set the latency timer
|
|
*
|
|
* PCI Host's Target BARs setup
|
|
* ============================
|
|
* The Host's BARs are not configured by the configuration routines, by default
|
|
* the BARs are configured disabled (BAR=0) except for BAR0 which is mapped to
|
|
* the Main Memory for the Host.
|
|
* Name="tgtBarCfg", Type=PTR (*grpci2_pcibar_cfg), Target PCI BARs of Host
|
|
*/
|
|
|
|
/* When the Host acts as a target on the PCI bus, the PCI BARs of the host's
|
|
* configuration space determine at which PCI address the Host will be accessed
|
|
* at and when accessing a BAR which AMBA address it will be translated to.
|
|
*/
|
|
struct grpci2_pcibar_cfg {
|
|
unsigned int pciadr; /* PCI address of BAR (BAR content) */
|
|
unsigned int ahbadr; /* 'pciadr' translated to this AHB Address */
|
|
unsigned int barsize; /* PCI BAR Size, must be a power of 2 */
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|