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