Lines Matching +full:pcie +full:- +full:ep

4  * @brief Public APIs for the PCIe EP drivers.
8 * SPDX-License-Identifier: Apache-2.0
22 PCIE_OB_ANYMEM, /**< PCIe OB window within any address range */
23 PCIE_OB_LOWMEM, /**< PCIe OB window within 32-bit address range */
24 PCIE_OB_HIGHMEM, /**< PCIe OB window above 32-bit address range */
47 * @brief Callback API for PCIe reset interrupts
50 * interrupt-safe APIS. Registration of callbacks is done via
80 * @brief Read PCIe EP configuration space
82 * @details This API reads EP's own configuration space
95 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_conf_read()
97 return api->conf_read(dev, offset, data); in pcie_ep_conf_read()
101 * @brief Write PCIe EP configuration space
103 * @details This API writes EP's own configuration space
114 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_conf_write()
116 api->conf_write(dev, offset, data); in pcie_ep_conf_write()
120 * @brief Map a host memory buffer to PCIe outbound region
122 * @details This API maps a host memory buffer to PCIe outbound region,
123 * It is left to EP driver to manage multiple mappings through
124 * multiple PCIe outbound regions if supported by SoC
128 * @param mapped_addr Mapped PCIe outbound region address
132 * more than 32-bit address; it becomes essential to use
150 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_map_addr()
152 return api->map_addr(dev, pcie_addr, mapped_addr, size, ob_mem_type); in pcie_ep_map_addr()
156 * @brief Remove mapping to PCIe outbound region
158 * @details This API removes mapping to PCIe outbound region.
159 * Mapped PCIe outbound region address is given as argument
163 * @param mapped_addr PCIe outbound region address
170 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_unmap_addr()
172 api->unmap_addr(dev, mapped_addr); in pcie_ep_unmap_addr()
181 * @param irq_type Type of Interrupt be raised (legacy, MSI or MSI-X)
182 * @param irq_num MSI or MSI-X interrupt number
192 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_raise_irq()
193 return api->raise_irq(dev, irq_type, irq_num); in pcie_ep_raise_irq()
201 * executed part of corresponding PCIe reset handler
217 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_register_reset_cb()
219 if (api->register_reset_cb) { in pcie_ep_register_reset_cb()
220 return api->register_reset_cb(dev, reset, cb, arg); in pcie_ep_register_reset_cb()
223 return -ENOTSUP; in pcie_ep_register_reset_cb()
229 * are not talking about dedicated "PCIe DMA"; rather the one
230 * which does not understand PCIe address directly, and
233 * @details If DMA controller is available in the EP device, this API can be
235 * i.e. outbound memory and EP device's local memory with DMA
252 (const struct pcie_ep_driver_api *)dev->api; in pcie_ep_dma_xfer()
254 if (api->dma_xfer) { in pcie_ep_dma_xfer()
255 return api->dma_xfer(dev, mapped_addr, local_addr, size, dir); in pcie_ep_dma_xfer()
258 return -ENOTSUP; in pcie_ep_dma_xfer()
265 * through PCIe outbound memory
274 * more than 32-bit address
287 * @details Helper API to achieve data transfer with system DMA through PCIe