1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
/*
* QorIQ DPAA resources device tree stub [ FQIDs, BPIDs ]
*
* Copyright 2011-2012 Freescale Semiconductor Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Freescale Semiconductor nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
*
* ALTERNATIVELY, this software may be distributed under the terms of the
* GNU General Public License ("GPL") as published by the Free Software
* Foundation, either version 2 of that License or (at your option) any
* later version.
*
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* These stubs are required to alloc qbman drivers to determine what ranges of
* resources are available for dynamic allocation, primarily because there are
* some legacy "a priori" assumptions in certain subsystems (eg. networking)
* that certain resources are reserved for their use. When those drivers (and in
* some cases, their corresponding device-tree nodes) are updated to dynamically
* allocate their resources, then *all* resources can be managed by the
* allocators and there may be no further need to define these stubs.
*
* A couple of qualifiers to the above statement though:
*
* - Some resource ranges are hardware-specific, rather than being defined by
* software memory allocation choices. Eg. the number of available BPIDs is
* baked into silicon and so will probably always need to be expressed in the
* device-tree, though in that case it will express all BPIDs, not just those
* available for dynamic allocation.
*
* - Even for memory-backed resources that are software determined (FQIDs), this
* information may only be configured and available on the control-plane
* partition that manages the device, so in AMP or hypervised scenarios there
* may still be need to a way to provide allocation ranges. Ie. for O/S
* instances that don't know how many resources are available to hardware, and
* possibly even for O/S instances that do know how many are available but
* that should not "own" all of them.
*/
&bportals {
bman-bpids@0 {
compatible = "fsl,bpid-range";
fsl,bpid-range = <32 32>;
};
};
&qportals {
qman-fqids@0 {
compatible = "fsl,fqid-range";
fsl,fqid-range = <256 512>;
};
qman-fqids@1 {
compatible = "fsl,fqid-range";
fsl,fqid-range = <32768 32768>;
};
qman-pools@0 {
compatible = "fsl,pool-channel-range";
fsl,pool-channel-range = <0x401 0xf>;
};
qman-cgrids@0 {
compatible = "fsl,cgrid-range";
fsl,cgrid-range = <0 256>;
};
};
|