u-boot/arch/mips/mach-octeon/include/mach/octeon_pci.h
Heinrich Schuchardt 185f812c41 doc: replace @return by Return:
Sphinx expects Return: and not @return to indicate a return value.

find . -name '*.c' -exec \
sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \;

find . -name '*.h' -exec \
sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \;

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-01-19 18:11:34 +01:00

68 lines
1.9 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2020 Marvell International Ltd.
*/
#ifndef __OCTEON_PCI_H__
#define __OCTEON_PCI_H__
/**
* EEPROM entry struct
*/
union octeon_pcie_eeprom {
u64 u64;
struct octeon_data_s {
/**
* 0x9DA1 valid entry, 0x6A5D end of table, 0xffff invalid
* access
*/
u64 preamble : 16;
u64: 1; /** Reserved */
/** Physical function number accessed by the write operation. */
u64 pf : 2;
/**
* Specifies bit<31> of the address written by hardware.
* 1 = configuration mask register, 0 = configuration register
*/
u64 cs2 : 1;
/**
* Specifies bits<11:0> of the address written by hardware.
* Bits<30:12> of this address are all 0s.
*/
u64 address : 12;
u64 data : 32;
} s;
};
void pci_dev_post_init(void);
int octeon_pci_io_readb(unsigned int reg);
void octeon_pci_io_writeb(int value, unsigned int reg);
int octeon_pci_io_readw(unsigned int reg);
void octeon_pci_io_writew(int value, unsigned int reg);
int octeon_pci_io_readl(unsigned int reg);
void octeon_pci_io_writel(int value, unsigned int reg);
int octeon_pci_mem1_readb(unsigned int reg);
void octeon_pci_mem1_writeb(int value, unsigned int reg);
int octeon_pci_mem1_readw(unsigned int reg);
void octeon_pci_mem1_writew(int value, unsigned int reg);
int octeon_pci_mem1_readl(unsigned int reg);
void octeon_pci_mem1_writel(int value, unsigned int reg);
/* In the TLB mapped case, these also work with virtual addresses,
** and do the required virt<->phys translations as well. */
u32 octeon_pci_phys_to_bus(u32 phys);
u32 octeon_pci_bus_to_phys(u32 bus);
/**
* Searches PCIe EEPROM for override data specified by address and pf.
*
* @param address - PCIe config space address
* @param pf - PCIe config space pf num
* @param[out] id - override device and vendor ID
*
* Return: 0 if override found, 1 if not found.
*/
int octeon_find_pcie_id_override(unsigned int address, unsigned int pf, u32 *id);
#endif /* __OCTEON_PCI_H__ */