xref: /linux/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi (revision 54986964c13c72f0a6cf58855ee376a12e21d2d7)
1b4c3804dSKumar Gala/*
2b4c3804dSKumar Gala * P3041 Silicon/SoC Device Tree Source (post include)
3b4c3804dSKumar Gala *
4b4c3804dSKumar Gala * Copyright 2011 Freescale Semiconductor Inc.
5b4c3804dSKumar Gala *
6b4c3804dSKumar Gala * Redistribution and use in source and binary forms, with or without
7b4c3804dSKumar Gala * modification, are permitted provided that the following conditions are met:
8b4c3804dSKumar Gala *     * Redistributions of source code must retain the above copyright
9b4c3804dSKumar Gala *       notice, this list of conditions and the following disclaimer.
10b4c3804dSKumar Gala *     * Redistributions in binary form must reproduce the above copyright
11b4c3804dSKumar Gala *       notice, this list of conditions and the following disclaimer in the
12b4c3804dSKumar Gala *       documentation and/or other materials provided with the distribution.
13b4c3804dSKumar Gala *     * Neither the name of Freescale Semiconductor nor the
14b4c3804dSKumar Gala *       names of its contributors may be used to endorse or promote products
15b4c3804dSKumar Gala *       derived from this software without specific prior written permission.
16b4c3804dSKumar Gala *
17b4c3804dSKumar Gala *
18b4c3804dSKumar Gala * ALTERNATIVELY, this software may be distributed under the terms of the
19b4c3804dSKumar Gala * GNU General Public License ("GPL") as published by the Free Software
20b4c3804dSKumar Gala * Foundation, either version 2 of that License or (at your option) any
21b4c3804dSKumar Gala * later version.
22b4c3804dSKumar Gala *
23b4c3804dSKumar Gala * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
24b4c3804dSKumar Gala * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25b4c3804dSKumar Gala * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26b4c3804dSKumar Gala * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
27b4c3804dSKumar Gala * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28b4c3804dSKumar Gala * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29b4c3804dSKumar Gala * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30b4c3804dSKumar Gala * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31b4c3804dSKumar Gala * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32b4c3804dSKumar Gala * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33b4c3804dSKumar Gala */
34b4c3804dSKumar Gala
35b4c3804dSKumar Gala&lbc {
36b4c3804dSKumar Gala	compatible = "fsl,p3041-elbc", "fsl,elbc", "simple-bus";
37b4c3804dSKumar Gala	interrupts = <25 2 0 0>;
38b4c3804dSKumar Gala	#address-cells = <2>;
39b4c3804dSKumar Gala	#size-cells = <1>;
40b4c3804dSKumar Gala};
41b4c3804dSKumar Gala
42b4c3804dSKumar Gala/* controller at 0x200000 */
43b4c3804dSKumar Gala&pci0 {
44b4c3804dSKumar Gala	compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2";
45b4c3804dSKumar Gala	device_type = "pci";
46b4c3804dSKumar Gala	#size-cells = <2>;
47b4c3804dSKumar Gala	#address-cells = <3>;
48b4c3804dSKumar Gala	bus-range = <0x0 0xff>;
49b4c3804dSKumar Gala	clock-frequency = <33333333>;
50b4c3804dSKumar Gala	interrupts = <16 2 1 15>;
51b4c3804dSKumar Gala	pcie@0 {
52b4c3804dSKumar Gala		reg = <0 0 0 0 0>;
53b4c3804dSKumar Gala		#interrupt-cells = <1>;
54b4c3804dSKumar Gala		#size-cells = <2>;
55b4c3804dSKumar Gala		#address-cells = <3>;
56b4c3804dSKumar Gala		device_type = "pci";
57b4c3804dSKumar Gala		interrupts = <16 2 1 15>;
58b4c3804dSKumar Gala		interrupt-map-mask = <0xf800 0 0 7>;
59b4c3804dSKumar Gala		interrupt-map = <
60b4c3804dSKumar Gala			/* IDSEL 0x0 */
61b4c3804dSKumar Gala			0000 0 0 1 &mpic 40 1 0 0
62b4c3804dSKumar Gala			0000 0 0 2 &mpic 1 1 0 0
63b4c3804dSKumar Gala			0000 0 0 3 &mpic 2 1 0 0
64b4c3804dSKumar Gala			0000 0 0 4 &mpic 3 1 0 0
65b4c3804dSKumar Gala			>;
66b4c3804dSKumar Gala	};
67b4c3804dSKumar Gala};
68b4c3804dSKumar Gala
69b4c3804dSKumar Gala/* controller at 0x201000 */
70b4c3804dSKumar Gala&pci1 {
71b4c3804dSKumar Gala	compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2";
72b4c3804dSKumar Gala	device_type = "pci";
73b4c3804dSKumar Gala	#size-cells = <2>;
74b4c3804dSKumar Gala	#address-cells = <3>;
75b4c3804dSKumar Gala	bus-range = <0 0xff>;
76b4c3804dSKumar Gala	clock-frequency = <33333333>;
77b4c3804dSKumar Gala	interrupts = <16 2 1 14>;
78b4c3804dSKumar Gala	pcie@0 {
79b4c3804dSKumar Gala		reg = <0 0 0 0 0>;
80b4c3804dSKumar Gala		#interrupt-cells = <1>;
81b4c3804dSKumar Gala		#size-cells = <2>;
82b4c3804dSKumar Gala		#address-cells = <3>;
83b4c3804dSKumar Gala		device_type = "pci";
84b4c3804dSKumar Gala		interrupts = <16 2 1 14>;
85b4c3804dSKumar Gala		interrupt-map-mask = <0xf800 0 0 7>;
86b4c3804dSKumar Gala		interrupt-map = <
87b4c3804dSKumar Gala			/* IDSEL 0x0 */
88b4c3804dSKumar Gala			0000 0 0 1 &mpic 41 1 0 0
89b4c3804dSKumar Gala			0000 0 0 2 &mpic 5 1 0 0
90b4c3804dSKumar Gala			0000 0 0 3 &mpic 6 1 0 0
91b4c3804dSKumar Gala			0000 0 0 4 &mpic 7 1 0 0
92b4c3804dSKumar Gala			>;
93b4c3804dSKumar Gala	};
94b4c3804dSKumar Gala};
95b4c3804dSKumar Gala
96b4c3804dSKumar Gala/* controller at 0x202000 */
97b4c3804dSKumar Gala&pci2 {
98b4c3804dSKumar Gala	compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2";
99b4c3804dSKumar Gala	device_type = "pci";
100b4c3804dSKumar Gala	#size-cells = <2>;
101b4c3804dSKumar Gala	#address-cells = <3>;
102b4c3804dSKumar Gala	bus-range = <0x0 0xff>;
103b4c3804dSKumar Gala	clock-frequency = <33333333>;
104b4c3804dSKumar Gala	interrupts = <16 2 1 13>;
105b4c3804dSKumar Gala	pcie@0 {
106b4c3804dSKumar Gala		reg = <0 0 0 0 0>;
107b4c3804dSKumar Gala		#interrupt-cells = <1>;
108b4c3804dSKumar Gala		#size-cells = <2>;
109b4c3804dSKumar Gala		#address-cells = <3>;
110b4c3804dSKumar Gala		device_type = "pci";
111b4c3804dSKumar Gala		interrupts = <16 2 1 13>;
112b4c3804dSKumar Gala		interrupt-map-mask = <0xf800 0 0 7>;
113b4c3804dSKumar Gala		interrupt-map = <
114b4c3804dSKumar Gala			/* IDSEL 0x0 */
115b4c3804dSKumar Gala			0000 0 0 1 &mpic 42 1 0 0
116b4c3804dSKumar Gala			0000 0 0 2 &mpic 9 1 0 0
117b4c3804dSKumar Gala			0000 0 0 3 &mpic 10 1 0 0
118b4c3804dSKumar Gala			0000 0 0 4 &mpic 11 1 0 0
119b4c3804dSKumar Gala			>;
120b4c3804dSKumar Gala	};
121b4c3804dSKumar Gala};
122b4c3804dSKumar Gala
123b4c3804dSKumar Gala/* controller at 0x203000 */
124b4c3804dSKumar Gala&pci3 {
125b4c3804dSKumar Gala	compatible = "fsl,p3041-pcie", "fsl,qoriq-pcie-v2.2";
126b4c3804dSKumar Gala	device_type = "pci";
127b4c3804dSKumar Gala	#size-cells = <2>;
128b4c3804dSKumar Gala	#address-cells = <3>;
129b4c3804dSKumar Gala	bus-range = <0x0 0xff>;
130b4c3804dSKumar Gala	clock-frequency = <33333333>;
131b4c3804dSKumar Gala	interrupts = <16 2 1 12>;
132b4c3804dSKumar Gala	pcie@0 {
133b4c3804dSKumar Gala		reg = <0 0 0 0 0>;
134b4c3804dSKumar Gala		#interrupt-cells = <1>;
135b4c3804dSKumar Gala		#size-cells = <2>;
136b4c3804dSKumar Gala		#address-cells = <3>;
137b4c3804dSKumar Gala		device_type = "pci";
138b4c3804dSKumar Gala		interrupts = <16 2 1 12>;
139b4c3804dSKumar Gala		interrupt-map-mask = <0xf800 0 0 7>;
140b4c3804dSKumar Gala		interrupt-map = <
141b4c3804dSKumar Gala			/* IDSEL 0x0 */
142b4c3804dSKumar Gala			0000 0 0 1 &mpic 43 1 0 0
143b4c3804dSKumar Gala			0000 0 0 2 &mpic 0 1 0 0
144b4c3804dSKumar Gala			0000 0 0 3 &mpic 4 1 0 0
145b4c3804dSKumar Gala			0000 0 0 4 &mpic 8 1 0 0
146b4c3804dSKumar Gala			>;
147b4c3804dSKumar Gala	};
148b4c3804dSKumar Gala};
149b4c3804dSKumar Gala
150*54986964SKumar Gala&rio {
151*54986964SKumar Gala	compatible = "fsl,srio";
152*54986964SKumar Gala	interrupts = <16 2 1 11>;
153*54986964SKumar Gala	#address-cells = <2>;
154*54986964SKumar Gala	#size-cells = <2>;
155*54986964SKumar Gala	ranges;
156*54986964SKumar Gala
157*54986964SKumar Gala	port1 {
158*54986964SKumar Gala		#address-cells = <2>;
159*54986964SKumar Gala		#size-cells = <2>;
160*54986964SKumar Gala		cell-index = <1>;
161*54986964SKumar Gala	};
162*54986964SKumar Gala
163*54986964SKumar Gala	port2 {
164*54986964SKumar Gala		#address-cells = <2>;
165*54986964SKumar Gala		#size-cells = <2>;
166*54986964SKumar Gala		cell-index = <2>;
167*54986964SKumar Gala	};
168*54986964SKumar Gala};
169*54986964SKumar Gala
170b4c3804dSKumar Gala&dcsr {
171b4c3804dSKumar Gala	#address-cells = <1>;
172b4c3804dSKumar Gala	#size-cells = <1>;
173b4c3804dSKumar Gala	compatible = "fsl,dcsr", "simple-bus";
174b4c3804dSKumar Gala
175b4c3804dSKumar Gala	dcsr-epu@0 {
176b4c3804dSKumar Gala		compatible = "fsl,dcsr-epu";
177b4c3804dSKumar Gala		interrupts = <52 2 0 0
178b4c3804dSKumar Gala			      84 2 0 0
179b4c3804dSKumar Gala			      85 2 0 0>;
180b4c3804dSKumar Gala		reg = <0x0 0x1000>;
181b4c3804dSKumar Gala	};
182b4c3804dSKumar Gala	dcsr-npc {
183b4c3804dSKumar Gala		compatible = "fsl,dcsr-npc";
184b4c3804dSKumar Gala		reg = <0x1000 0x1000 0x1000000 0x8000>;
185b4c3804dSKumar Gala	};
186b4c3804dSKumar Gala	dcsr-nxc@2000 {
187b4c3804dSKumar Gala		compatible = "fsl,dcsr-nxc";
188b4c3804dSKumar Gala		reg = <0x2000 0x1000>;
189b4c3804dSKumar Gala	};
190b4c3804dSKumar Gala	dcsr-corenet {
191b4c3804dSKumar Gala		compatible = "fsl,dcsr-corenet";
192b4c3804dSKumar Gala		reg = <0x8000 0x1000 0xB0000 0x1000>;
193b4c3804dSKumar Gala	};
194b4c3804dSKumar Gala	dcsr-dpaa@9000 {
195b4c3804dSKumar Gala		compatible = "fsl,p3041-dcsr-dpaa", "fsl,dcsr-dpaa";
196b4c3804dSKumar Gala		reg = <0x9000 0x1000>;
197b4c3804dSKumar Gala	};
198b4c3804dSKumar Gala	dcsr-ocn@11000 {
199b4c3804dSKumar Gala		compatible = "fsl,p3041-dcsr-ocn", "fsl,dcsr-ocn";
200b4c3804dSKumar Gala		reg = <0x11000 0x1000>;
201b4c3804dSKumar Gala	};
202b4c3804dSKumar Gala	dcsr-ddr@12000 {
203b4c3804dSKumar Gala		compatible = "fsl,dcsr-ddr";
204b4c3804dSKumar Gala		dev-handle = <&ddr1>;
205b4c3804dSKumar Gala		reg = <0x12000 0x1000>;
206b4c3804dSKumar Gala	};
207b4c3804dSKumar Gala	dcsr-nal@18000 {
208b4c3804dSKumar Gala		compatible = "fsl,p3041-dcsr-nal", "fsl,dcsr-nal";
209b4c3804dSKumar Gala		reg = <0x18000 0x1000>;
210b4c3804dSKumar Gala	};
211b4c3804dSKumar Gala	dcsr-rcpm@22000 {
212b4c3804dSKumar Gala		compatible = "fsl,p3041-dcsr-rcpm", "fsl,dcsr-rcpm";
213b4c3804dSKumar Gala		reg = <0x22000 0x1000>;
214b4c3804dSKumar Gala	};
215b4c3804dSKumar Gala	dcsr-cpu-sb-proxy@40000 {
216b4c3804dSKumar Gala		compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
217b4c3804dSKumar Gala		cpu-handle = <&cpu0>;
218b4c3804dSKumar Gala		reg = <0x40000 0x1000>;
219b4c3804dSKumar Gala	};
220b4c3804dSKumar Gala	dcsr-cpu-sb-proxy@41000 {
221b4c3804dSKumar Gala		compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
222b4c3804dSKumar Gala		cpu-handle = <&cpu1>;
223b4c3804dSKumar Gala		reg = <0x41000 0x1000>;
224b4c3804dSKumar Gala	};
225b4c3804dSKumar Gala	dcsr-cpu-sb-proxy@42000 {
226b4c3804dSKumar Gala		compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
227b4c3804dSKumar Gala		cpu-handle = <&cpu2>;
228b4c3804dSKumar Gala		reg = <0x42000 0x1000>;
229b4c3804dSKumar Gala	};
230b4c3804dSKumar Gala	dcsr-cpu-sb-proxy@43000 {
231b4c3804dSKumar Gala		compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
232b4c3804dSKumar Gala		cpu-handle = <&cpu3>;
233b4c3804dSKumar Gala		reg = <0x43000 0x1000>;
234b4c3804dSKumar Gala	};
235b4c3804dSKumar Gala};
236b4c3804dSKumar Gala
237b4c3804dSKumar Gala&soc {
238b4c3804dSKumar Gala	#address-cells = <1>;
239b4c3804dSKumar Gala	#size-cells = <1>;
240b4c3804dSKumar Gala	device_type = "soc";
241b4c3804dSKumar Gala	compatible = "simple-bus";
242b4c3804dSKumar Gala
243b4c3804dSKumar Gala	soc-sram-error {
244b4c3804dSKumar Gala		compatible = "fsl,soc-sram-error";
245b4c3804dSKumar Gala		interrupts = <16 2 1 29>;
246b4c3804dSKumar Gala	};
247b4c3804dSKumar Gala
248b4c3804dSKumar Gala	corenet-law@0 {
249b4c3804dSKumar Gala		compatible = "fsl,corenet-law";
250b4c3804dSKumar Gala		reg = <0x0 0x1000>;
251b4c3804dSKumar Gala		fsl,num-laws = <32>;
252b4c3804dSKumar Gala	};
253b4c3804dSKumar Gala
254b4c3804dSKumar Gala	ddr1: memory-controller@8000 {
255b4c3804dSKumar Gala		compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller";
256b4c3804dSKumar Gala		reg = <0x8000 0x1000>;
257b4c3804dSKumar Gala		interrupts = <16 2 1 23>;
258b4c3804dSKumar Gala	};
259b4c3804dSKumar Gala
260b4c3804dSKumar Gala	cpc: l3-cache-controller@10000 {
261b4c3804dSKumar Gala		compatible = "fsl,p3041-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache";
262b4c3804dSKumar Gala		reg = <0x10000 0x1000>;
263b4c3804dSKumar Gala		interrupts = <16 2 1 27>;
264b4c3804dSKumar Gala	};
265b4c3804dSKumar Gala
266b4c3804dSKumar Gala	corenet-cf@18000 {
267b4c3804dSKumar Gala		compatible = "fsl,corenet-cf";
268b4c3804dSKumar Gala		reg = <0x18000 0x1000>;
269b4c3804dSKumar Gala		interrupts = <16 2 1 31>;
270b4c3804dSKumar Gala		fsl,ccf-num-csdids = <32>;
271b4c3804dSKumar Gala		fsl,ccf-num-snoopids = <32>;
272b4c3804dSKumar Gala	};
273b4c3804dSKumar Gala
274b4c3804dSKumar Gala	iommu@20000 {
275b4c3804dSKumar Gala		compatible = "fsl,pamu-v1.0", "fsl,pamu";
276b4c3804dSKumar Gala		reg = <0x20000 0x4000>;
277b4c3804dSKumar Gala		interrupts = <
278b4c3804dSKumar Gala			24 2 0 0
279b4c3804dSKumar Gala			16 2 1 30>;
280b4c3804dSKumar Gala	};
281b4c3804dSKumar Gala
282b4c3804dSKumar Gala/include/ "qoriq-mpic.dtsi"
283b4c3804dSKumar Gala
284b4c3804dSKumar Gala	guts: global-utilities@e0000 {
285b4c3804dSKumar Gala		compatible = "fsl,qoriq-device-config-1.0";
286b4c3804dSKumar Gala		reg = <0xe0000 0xe00>;
287b4c3804dSKumar Gala		fsl,has-rstcr;
288b4c3804dSKumar Gala		#sleep-cells = <1>;
289b4c3804dSKumar Gala		fsl,liodn-bits = <12>;
290b4c3804dSKumar Gala	};
291b4c3804dSKumar Gala
292b4c3804dSKumar Gala	pins: global-utilities@e0e00 {
293b4c3804dSKumar Gala		compatible = "fsl,qoriq-pin-control-1.0";
294b4c3804dSKumar Gala		reg = <0xe0e00 0x200>;
295b4c3804dSKumar Gala		#sleep-cells = <2>;
296b4c3804dSKumar Gala	};
297b4c3804dSKumar Gala
298b4c3804dSKumar Gala	clockgen: global-utilities@e1000 {
299b4c3804dSKumar Gala		compatible = "fsl,p3041-clockgen", "fsl,qoriq-clockgen-1.0";
300b4c3804dSKumar Gala		reg = <0xe1000 0x1000>;
301b4c3804dSKumar Gala		clock-frequency = <0>;
302b4c3804dSKumar Gala	};
303b4c3804dSKumar Gala
304b4c3804dSKumar Gala	rcpm: global-utilities@e2000 {
305b4c3804dSKumar Gala		compatible = "fsl,qoriq-rcpm-1.0";
306b4c3804dSKumar Gala		reg = <0xe2000 0x1000>;
307b4c3804dSKumar Gala		#sleep-cells = <1>;
308b4c3804dSKumar Gala	};
309b4c3804dSKumar Gala
310b4c3804dSKumar Gala	sfp: sfp@e8000 {
311b4c3804dSKumar Gala		compatible = "fsl,p3041-sfp", "fsl,qoriq-sfp-1.0";
312b4c3804dSKumar Gala		reg	   = <0xe8000 0x1000>;
313b4c3804dSKumar Gala	};
314b4c3804dSKumar Gala
315b4c3804dSKumar Gala	serdes: serdes@ea000 {
316b4c3804dSKumar Gala		compatible = "fsl,p3041-serdes";
317b4c3804dSKumar Gala		reg	   = <0xea000 0x1000>;
318b4c3804dSKumar Gala	};
319b4c3804dSKumar Gala
320b4c3804dSKumar Gala/include/ "qoriq-dma-0.dtsi"
321b4c3804dSKumar Gala/include/ "qoriq-dma-1.dtsi"
322b4c3804dSKumar Gala/include/ "qoriq-espi-0.dtsi"
323b4c3804dSKumar Gala	spi@110000 {
324b4c3804dSKumar Gala		fsl,espi-num-chipselects = <4>;
325b4c3804dSKumar Gala	};
326b4c3804dSKumar Gala
327b4c3804dSKumar Gala/include/ "qoriq-esdhc-0.dtsi"
328b4c3804dSKumar Gala	sdhc@114000 {
329b4c3804dSKumar Gala		sdhci,auto-cmd12;
330b4c3804dSKumar Gala	};
331b4c3804dSKumar Gala
332b4c3804dSKumar Gala/include/ "qoriq-i2c-0.dtsi"
333b4c3804dSKumar Gala/include/ "qoriq-i2c-1.dtsi"
334b4c3804dSKumar Gala/include/ "qoriq-duart-0.dtsi"
335b4c3804dSKumar Gala/include/ "qoriq-duart-1.dtsi"
336b4c3804dSKumar Gala/include/ "qoriq-gpio-0.dtsi"
337b4c3804dSKumar Gala/include/ "qoriq-usb2-mph-0.dtsi"
338b4c3804dSKumar Gala		usb0: usb@210000 {
339b4c3804dSKumar Gala			phy_type = "utmi";
340b4c3804dSKumar Gala			port0;
341b4c3804dSKumar Gala		};
342b4c3804dSKumar Gala
343b4c3804dSKumar Gala/include/ "qoriq-usb2-dr-0.dtsi"
344b4c3804dSKumar Gala		usb1: usb@211000 {
345b4c3804dSKumar Gala			dr_mode = "host";
346b4c3804dSKumar Gala			phy_type = "utmi";
347b4c3804dSKumar Gala		};
348b4c3804dSKumar Gala
349b4c3804dSKumar Gala/include/ "qoriq-sata2-0.dtsi"
350b4c3804dSKumar Gala/include/ "qoriq-sata2-1.dtsi"
351b4c3804dSKumar Gala/include/ "qoriq-sec4.2-0.dtsi"
352b4c3804dSKumar Gala};
353