xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-fsl-layerscape/stream_id_lsch2.h (revision 797f165f7ae90a75579ae3df7932d8d1518e8544)
1*5344c7b7SBharat Bhushan /*
2*5344c7b7SBharat Bhushan  * Copyright 2017 NXP Semiconductor, Inc.
3*5344c7b7SBharat Bhushan  *
4*5344c7b7SBharat Bhushan  * SPDX-License-Identifier:	GPL-2.0+
5*5344c7b7SBharat Bhushan  *
6*5344c7b7SBharat Bhushan  */
7*5344c7b7SBharat Bhushan #ifndef __FSL_STREAM_ID_H
8*5344c7b7SBharat Bhushan #define __FSL_STREAM_ID_H
9*5344c7b7SBharat Bhushan 
10*5344c7b7SBharat Bhushan /*
11*5344c7b7SBharat Bhushan  * Stream IDs on Chassis-2 (for example ls1043a, ls1046a, ls1012) devices
12*5344c7b7SBharat Bhushan  * are not hardwired and are programmed by sw.  There are a limited number
13*5344c7b7SBharat Bhushan  * of stream IDs available, and the partitioning of them is scenario
14*5344c7b7SBharat Bhushan  * dependent. This header defines the partitioning between legacy, PCI,
15*5344c7b7SBharat Bhushan  * and DPAA1 devices.
16*5344c7b7SBharat Bhushan  *
17*5344c7b7SBharat Bhushan  * This partitioning can be customized in this file depending
18*5344c7b7SBharat Bhushan  * on the specific hardware config:
19*5344c7b7SBharat Bhushan  *
20*5344c7b7SBharat Bhushan  *  -non-PCI legacy, platform devices (USB, SDHC, SATA, DMA, QE etc)
21*5344c7b7SBharat Bhushan  *     -all legacy devices get a unique stream ID assigned and programmed in
22*5344c7b7SBharat Bhushan  *      their AMQR registers by u-boot
23*5344c7b7SBharat Bhushan  *
24*5344c7b7SBharat Bhushan  *  -PCIe
25*5344c7b7SBharat Bhushan  *     -there is a range of stream IDs set aside for PCI in this
26*5344c7b7SBharat Bhushan  *      file.  U-boot will scan the PCI bus and for each device discovered:
27*5344c7b7SBharat Bhushan  *         -allocate a streamID
28*5344c7b7SBharat Bhushan  *         -set a PEXn LUT table entry mapping 'requester ID' to 'stream ID'
29*5344c7b7SBharat Bhushan  *         -set a msi-map entry in the PEXn controller node in the
30*5344c7b7SBharat Bhushan  *          device tree (see Documentation/devicetree/bindings/pci/pci-msi.txt
31*5344c7b7SBharat Bhushan  *          for more info on the msi-map definition)
32*5344c7b7SBharat Bhushan  *         -set a iommu-map entry in the PEXn controller node in the
33*5344c7b7SBharat Bhushan  *          device tree (see Documentation/devicetree/bindings/pci/pci-iommu.txt
34*5344c7b7SBharat Bhushan  *          for more info on the iommu-map definition)
35*5344c7b7SBharat Bhushan  *
36*5344c7b7SBharat Bhushan  *  -DPAA1
37*5344c7b7SBharat Bhushan  *     - Stream ids for DPAA1 use are reserved for future usecase.
38*5344c7b7SBharat Bhushan  *
39*5344c7b7SBharat Bhushan  */
40*5344c7b7SBharat Bhushan 
41*5344c7b7SBharat Bhushan 
42*5344c7b7SBharat Bhushan #define FSL_INVALID_STREAM_ID		0
43*5344c7b7SBharat Bhushan 
44*5344c7b7SBharat Bhushan /* legacy devices */
45*5344c7b7SBharat Bhushan #define FSL_USB1_STREAM_ID		1
46*5344c7b7SBharat Bhushan #define FSL_USB2_STREAM_ID		2
47*5344c7b7SBharat Bhushan #define FSL_USB3_STREAM_ID		3
48*5344c7b7SBharat Bhushan #define FSL_SDHC_STREAM_ID		4
49*5344c7b7SBharat Bhushan #define FSL_SATA_STREAM_ID		5
50*5344c7b7SBharat Bhushan #define FSL_QE_STREAM_ID		6
51*5344c7b7SBharat Bhushan #define FSL_QDMA_STREAM_ID		7
52*5344c7b7SBharat Bhushan #define FSL_EDMA_STREAM_ID		8
53*5344c7b7SBharat Bhushan #define FSL_ETR_STREAM_ID		9
54*5344c7b7SBharat Bhushan 
55*5344c7b7SBharat Bhushan /* PCI - programmed in PEXn_LUT */
56*5344c7b7SBharat Bhushan #define FSL_PEX_STREAM_ID_START		11
57*5344c7b7SBharat Bhushan #define FSL_PEX_STREAM_ID_END		26
58*5344c7b7SBharat Bhushan 
59*5344c7b7SBharat Bhushan /* DPAA1 - Stream-ID that can be programmed in DPAA1 h/w */
60*5344c7b7SBharat Bhushan #define FSL_DPAA1_STREAM_ID_START	27
61*5344c7b7SBharat Bhushan #define FSL_DPAA1_STREAM_ID_END		63
62*5344c7b7SBharat Bhushan 
63*5344c7b7SBharat Bhushan #endif
64