summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/files/dts/p3041ds-usdpaa-enea.dts
blob: 2930da6afa0ea51df01a54b7d0002542a17f9f4d (plain)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
 * P3041DS Device Tree Source
 *
 * Copyright 2010-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.
 */

/include/ "p3041ds.dts"

/ {
	/* NB: "bpool-ethernet-seeds" is not set to avoid buffer seeding,
	 * because apps seed these pools with buffers allocated at
	 * run-time.
	 * HOWEVER, the kernel driver requires the buffer-size so
	 * "fsl,bpool-ethernet-cfg" is set. It also mis-interprets
	 * things if the base-address is zero (hence the 0xdeadbeef
	 * values).
	 */
	bp7: buffer-pool@7 {
		compatible = "fsl,p3041-bpool", "fsl,bpool";
		fsl,bpid = <7>;
		fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
		fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
	};
	bp8: buffer-pool@8 {
		compatible = "fsl,p3041-bpool", "fsl,bpool";
		fsl,bpid = <8>;
		fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
		fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
	};
	bp9: buffer-pool@9 {
		compatible = "fsl,p3041-bpool", "fsl,bpool";
		fsl,bpid = <9>;
		fsl,bpool-ethernet-cfg = <0 0 0 1728 0 0xfeedabba>;
		fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
	};
	bp10: buffer-pool@10 {
		compatible = "fsl,p3041-bpool", "fsl,bpool";
		fsl,bpid = <10>;
		fsl,bpool-thresholds = <0x10 0x30 0x0 0x0>;
	};
	bp11: buffer-pool@11 {
		compatible = "fsl,p3041-bpool", "fsl,bpool";
		fsl,bpid = <11>;
		fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
	};
	bp12: buffer-pool@12 {
		compatible = "fsl,p3041-bpool", "fsl,bpool";
		fsl,bpid = <12>;
		fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
	};

	fsl,dpaa {
		ethernet@0 {
			compatible = "fsl,p3041-dpa-ethernet-init", "fsl,dpa-ethernet-init";
			fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
			fsl,qman-frame-queues-rx = <0x50 1 0x51 1>;
			fsl,qman-frame-queues-tx = <0x70 1 0x71 1>;
		};

		ethernet@1 {
			compatible = "fsl,p3041-dpa-ethernet-init", "fsl,dpa-ethernet-init";
			fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
			fsl,qman-frame-queues-rx = <0x52 1 0x53 1>;
			fsl,qman-frame-queues-tx = <0x72 1 0x73 1>;
		};
		ethernet@2 {
			compatible = "fsl,p3041-dpa-ethernet-init", "fsl,dpa-ethernet-init";
			fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
			fsl,qman-frame-queues-rx = <0x54 1 0x55 1>;
			fsl,qman-frame-queues-tx = <0x74 1 0x75 1>;
		};
		ethernet@3 {
			compatible = "fsl,p3041-dpa-ethernet-init", "fsl,dpa-ethernet-init";
			fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
			fsl,qman-frame-queues-rx = <0x56 1 0x57 1>;
			fsl,qman-frame-queues-tx = <0x76 1 0x77 1>;
		};
		/* ethernet@4 will be used as a normal Linux ethernet that
		 * interfaces to the kernel network stack. All others will be
		 * dedicated for use by usdpaa */
		ethernet@5 {
			compatible = "fsl,p3041-dpa-ethernet-init", "fsl,dpa-ethernet-init";
			fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
			fsl,qman-frame-queues-rx = <0x5a 1 0x5b 1>;
			fsl,qman-frame-queues-tx = <0x7a 1 0x7b 1>;
		};
		dpa-fman0-oh@1 {
			compatible = "fsl,dpa-oh";
			/* Define frame queues for the OH port*/
			/* <OH Rx error, OH Rx default> */
			fsl,qman-frame-queues-oh = <0x68 1 0x69 1>;
			fsl,fman-oh-port = <&fman0_oh1>;
		};
	};
};