xref: /openbmc/u-boot/arch/arm/include/asm/arch-fsl-layerscape/stream_id_lsch2.h (revision b8a1f47be3ab050090cd8625e580cf3c63e3ff53)
183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
25344c7b7SBharat Bhushan /*
35344c7b7SBharat Bhushan  * Copyright 2017 NXP Semiconductor, Inc.
45344c7b7SBharat Bhushan  *
55344c7b7SBharat Bhushan  */
65344c7b7SBharat Bhushan #ifndef __FSL_STREAM_ID_H
75344c7b7SBharat Bhushan #define __FSL_STREAM_ID_H
85344c7b7SBharat Bhushan 
95344c7b7SBharat Bhushan /*
105344c7b7SBharat Bhushan  * Stream IDs on Chassis-2 (for example ls1043a, ls1046a, ls1012) devices
115344c7b7SBharat Bhushan  * are not hardwired and are programmed by sw.  There are a limited number
125344c7b7SBharat Bhushan  * of stream IDs available, and the partitioning of them is scenario
135344c7b7SBharat Bhushan  * dependent. This header defines the partitioning between legacy, PCI,
145344c7b7SBharat Bhushan  * and DPAA1 devices.
155344c7b7SBharat Bhushan  *
165344c7b7SBharat Bhushan  * This partitioning can be customized in this file depending
175344c7b7SBharat Bhushan  * on the specific hardware config:
185344c7b7SBharat Bhushan  *
195344c7b7SBharat Bhushan  *  -non-PCI legacy, platform devices (USB, SDHC, SATA, DMA, QE etc)
205344c7b7SBharat Bhushan  *     -all legacy devices get a unique stream ID assigned and programmed in
215344c7b7SBharat Bhushan  *      their AMQR registers by u-boot
225344c7b7SBharat Bhushan  *
235344c7b7SBharat Bhushan  *  -PCIe
245344c7b7SBharat Bhushan  *     -there is a range of stream IDs set aside for PCI in this
255344c7b7SBharat Bhushan  *      file.  U-boot will scan the PCI bus and for each device discovered:
265344c7b7SBharat Bhushan  *         -allocate a streamID
275344c7b7SBharat Bhushan  *         -set a PEXn LUT table entry mapping 'requester ID' to 'stream ID'
285344c7b7SBharat Bhushan  *         -set a msi-map entry in the PEXn controller node in the
295344c7b7SBharat Bhushan  *          device tree (see Documentation/devicetree/bindings/pci/pci-msi.txt
305344c7b7SBharat Bhushan  *          for more info on the msi-map definition)
315344c7b7SBharat Bhushan  *         -set a iommu-map entry in the PEXn controller node in the
325344c7b7SBharat Bhushan  *          device tree (see Documentation/devicetree/bindings/pci/pci-iommu.txt
335344c7b7SBharat Bhushan  *          for more info on the iommu-map definition)
345344c7b7SBharat Bhushan  *
355344c7b7SBharat Bhushan  *  -DPAA1
365344c7b7SBharat Bhushan  *     - Stream ids for DPAA1 use are reserved for future usecase.
375344c7b7SBharat Bhushan  *
385344c7b7SBharat Bhushan  */
395344c7b7SBharat Bhushan 
405344c7b7SBharat Bhushan 
415344c7b7SBharat Bhushan #define FSL_INVALID_STREAM_ID		0
425344c7b7SBharat Bhushan 
435344c7b7SBharat Bhushan /* legacy devices */
445344c7b7SBharat Bhushan #define FSL_USB1_STREAM_ID		1
455344c7b7SBharat Bhushan #define FSL_USB2_STREAM_ID		2
465344c7b7SBharat Bhushan #define FSL_USB3_STREAM_ID		3
475344c7b7SBharat Bhushan #define FSL_SDHC_STREAM_ID		4
485344c7b7SBharat Bhushan #define FSL_SATA_STREAM_ID		5
495344c7b7SBharat Bhushan #define FSL_QE_STREAM_ID		6
505344c7b7SBharat Bhushan #define FSL_QDMA_STREAM_ID		7
515344c7b7SBharat Bhushan #define FSL_EDMA_STREAM_ID		8
525344c7b7SBharat Bhushan #define FSL_ETR_STREAM_ID		9
53*703d18f7SLaurentiu Tudor #define FSL_DEBUG_STREAM_ID		10
545344c7b7SBharat Bhushan 
555344c7b7SBharat Bhushan /* PCI - programmed in PEXn_LUT */
565344c7b7SBharat Bhushan #define FSL_PEX_STREAM_ID_START		11
575344c7b7SBharat Bhushan #define FSL_PEX_STREAM_ID_END		26
585344c7b7SBharat Bhushan 
595344c7b7SBharat Bhushan /* DPAA1 - Stream-ID that can be programmed in DPAA1 h/w */
605344c7b7SBharat Bhushan #define FSL_DPAA1_STREAM_ID_START	27
615344c7b7SBharat Bhushan #define FSL_DPAA1_STREAM_ID_END		63
625344c7b7SBharat Bhushan 
635344c7b7SBharat Bhushan #endif
64