xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/mpc5121ads.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * MPC5121E ADS Device Tree Source
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2007-2008 Freescale Semiconductor Inc.
6*c66ec88fSEmmanuel Vadot */
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel Vadot#include "mpc5121.dtsi"
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel Vadot/ {
11*c66ec88fSEmmanuel Vadot	model = "mpc5121ads";
12*c66ec88fSEmmanuel Vadot	compatible = "fsl,mpc5121ads", "fsl,mpc5121";
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel Vadot	nfc@40000000 {
15*c66ec88fSEmmanuel Vadot		/*
16*c66ec88fSEmmanuel Vadot		 * ADS has two Hynix 512MB Nand flash chips in a single
17*c66ec88fSEmmanuel Vadot		 * stacked package.
18*c66ec88fSEmmanuel Vadot		 */
19*c66ec88fSEmmanuel Vadot		chips = <2>;
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot		nand@0 {
22*c66ec88fSEmmanuel Vadot			label = "nand";
23*c66ec88fSEmmanuel Vadot			reg = <0x00000000 0x40000000>;	/* 512MB + 512MB */
24*c66ec88fSEmmanuel Vadot		};
25*c66ec88fSEmmanuel Vadot	};
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot	localbus@80000020 {
28*c66ec88fSEmmanuel Vadot		ranges = <0x0 0x0 0xfc000000 0x04000000
29*c66ec88fSEmmanuel Vadot			  0x2 0x0 0x82000000 0x00008000>;
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel Vadot		flash@0,0 {
32*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
33*c66ec88fSEmmanuel Vadot			reg = <0 0x0 0x4000000>;
34*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
35*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
36*c66ec88fSEmmanuel Vadot			bank-width = <4>;
37*c66ec88fSEmmanuel Vadot			device-width = <2>;
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadot			protected@0 {
40*c66ec88fSEmmanuel Vadot				label = "protected";
41*c66ec88fSEmmanuel Vadot				reg = <0x00000000 0x00040000>;  // first sector is protected
42*c66ec88fSEmmanuel Vadot				read-only;
43*c66ec88fSEmmanuel Vadot			};
44*c66ec88fSEmmanuel Vadot			filesystem@40000 {
45*c66ec88fSEmmanuel Vadot				label = "filesystem";
46*c66ec88fSEmmanuel Vadot				reg = <0x00040000 0x03c00000>;  // 60M for filesystem
47*c66ec88fSEmmanuel Vadot			};
48*c66ec88fSEmmanuel Vadot			kernel@3c40000 {
49*c66ec88fSEmmanuel Vadot				label = "kernel";
50*c66ec88fSEmmanuel Vadot				reg = <0x03c40000 0x00280000>;  // 2.5M for kernel
51*c66ec88fSEmmanuel Vadot			};
52*c66ec88fSEmmanuel Vadot			device-tree@3ec0000 {
53*c66ec88fSEmmanuel Vadot				label = "device-tree";
54*c66ec88fSEmmanuel Vadot				reg = <0x03ec0000 0x00040000>;  // one sector for device tree
55*c66ec88fSEmmanuel Vadot			};
56*c66ec88fSEmmanuel Vadot			u-boot@3f00000 {
57*c66ec88fSEmmanuel Vadot				label = "u-boot";
58*c66ec88fSEmmanuel Vadot				reg = <0x03f00000 0x00100000>;  // 1M for u-boot
59*c66ec88fSEmmanuel Vadot				read-only;
60*c66ec88fSEmmanuel Vadot			};
61*c66ec88fSEmmanuel Vadot		};
62*c66ec88fSEmmanuel Vadot
63*c66ec88fSEmmanuel Vadot		board-control@2,0 {
64*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc5121ads-cpld";
65*c66ec88fSEmmanuel Vadot			reg = <0x2 0x0 0x8000>;
66*c66ec88fSEmmanuel Vadot		};
67*c66ec88fSEmmanuel Vadot
68*c66ec88fSEmmanuel Vadot		cpld_pic: pic@2,a {
69*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc5121ads-cpld-pic";
70*c66ec88fSEmmanuel Vadot			interrupt-controller;
71*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
72*c66ec88fSEmmanuel Vadot			reg = <0x2 0xa 0x5>;
73*c66ec88fSEmmanuel Vadot			/* irq routing:
74*c66ec88fSEmmanuel Vadot			 * all irqs but touch screen are routed to irq0 (ipic 48)
75*c66ec88fSEmmanuel Vadot			 * touch screen is statically routed to irq1 (ipic 17)
76*c66ec88fSEmmanuel Vadot			 * so don't use it here
77*c66ec88fSEmmanuel Vadot			 */
78*c66ec88fSEmmanuel Vadot			interrupts = <48 0x8>;
79*c66ec88fSEmmanuel Vadot		};
80*c66ec88fSEmmanuel Vadot	};
81*c66ec88fSEmmanuel Vadot
82*c66ec88fSEmmanuel Vadot	soc@80000000 {
83*c66ec88fSEmmanuel Vadot
84*c66ec88fSEmmanuel Vadot		i2c@1700 {
85*c66ec88fSEmmanuel Vadot			fsl,preserve-clocking;
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot			hwmon@4a {
88*c66ec88fSEmmanuel Vadot				compatible = "adi,ad7414";
89*c66ec88fSEmmanuel Vadot				reg = <0x4a>;
90*c66ec88fSEmmanuel Vadot			};
91*c66ec88fSEmmanuel Vadot
92*c66ec88fSEmmanuel Vadot			eeprom@50 {
93*c66ec88fSEmmanuel Vadot				compatible = "atmel,24c32";
94*c66ec88fSEmmanuel Vadot				reg = <0x50>;
95*c66ec88fSEmmanuel Vadot			};
96*c66ec88fSEmmanuel Vadot
97*c66ec88fSEmmanuel Vadot			rtc@68 {
98*c66ec88fSEmmanuel Vadot				compatible = "st,m41t62";
99*c66ec88fSEmmanuel Vadot				reg = <0x68>;
100*c66ec88fSEmmanuel Vadot			};
101*c66ec88fSEmmanuel Vadot		};
102*c66ec88fSEmmanuel Vadot
103*c66ec88fSEmmanuel Vadot		eth0: ethernet@2800 {
104*c66ec88fSEmmanuel Vadot			phy-handle = <&phy0>;
105*c66ec88fSEmmanuel Vadot		};
106*c66ec88fSEmmanuel Vadot
107*c66ec88fSEmmanuel Vadot		can@2300 {
108*c66ec88fSEmmanuel Vadot			status = "disabled";
109*c66ec88fSEmmanuel Vadot		};
110*c66ec88fSEmmanuel Vadot
111*c66ec88fSEmmanuel Vadot		can@2380 {
112*c66ec88fSEmmanuel Vadot			status = "disabled";
113*c66ec88fSEmmanuel Vadot		};
114*c66ec88fSEmmanuel Vadot
115*c66ec88fSEmmanuel Vadot		viu@2400 {
116*c66ec88fSEmmanuel Vadot			status = "disabled";
117*c66ec88fSEmmanuel Vadot		};
118*c66ec88fSEmmanuel Vadot
119*c66ec88fSEmmanuel Vadot		mdio@2800 {
120*c66ec88fSEmmanuel Vadot			phy0: ethernet-phy@0 {
121*c66ec88fSEmmanuel Vadot				reg = <1>;
122*c66ec88fSEmmanuel Vadot			};
123*c66ec88fSEmmanuel Vadot		};
124*c66ec88fSEmmanuel Vadot
125*c66ec88fSEmmanuel Vadot		/* mpc5121ads only uses USB0 */
126*c66ec88fSEmmanuel Vadot		usb@3000 {
127*c66ec88fSEmmanuel Vadot			status = "disabled";
128*c66ec88fSEmmanuel Vadot		};
129*c66ec88fSEmmanuel Vadot
130*c66ec88fSEmmanuel Vadot		/* USB0 using internal UTMI PHY */
131*c66ec88fSEmmanuel Vadot		usb@4000 {
132*c66ec88fSEmmanuel Vadot			dr_mode = "host";
133*c66ec88fSEmmanuel Vadot			fsl,invert-drvvbus;
134*c66ec88fSEmmanuel Vadot			fsl,invert-pwr-fault;
135*c66ec88fSEmmanuel Vadot		};
136*c66ec88fSEmmanuel Vadot
137*c66ec88fSEmmanuel Vadot		/* PSC3 serial port A aka ttyPSC0 */
138*c66ec88fSEmmanuel Vadot		psc@11300 {
139*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
140*c66ec88fSEmmanuel Vadot		};
141*c66ec88fSEmmanuel Vadot
142*c66ec88fSEmmanuel Vadot		/* PSC4 serial port B aka ttyPSC1 */
143*c66ec88fSEmmanuel Vadot		psc@11400 {
144*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
145*c66ec88fSEmmanuel Vadot		};
146*c66ec88fSEmmanuel Vadot
147*c66ec88fSEmmanuel Vadot		/* PSC5 in ac97 mode */
148*c66ec88fSEmmanuel Vadot		ac97: psc@11500 {
149*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc5121-psc-ac97", "fsl,mpc5121-psc";
150*c66ec88fSEmmanuel Vadot			fsl,mode = "ac97-slave";
151*c66ec88fSEmmanuel Vadot			fsl,rx-fifo-size = <384>;
152*c66ec88fSEmmanuel Vadot			fsl,tx-fifo-size = <384>;
153*c66ec88fSEmmanuel Vadot		};
154*c66ec88fSEmmanuel Vadot	};
155*c66ec88fSEmmanuel Vadot
156*c66ec88fSEmmanuel Vadot	pci: pci@80008500 {
157*c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
158*c66ec88fSEmmanuel Vadot		interrupt-map = <
159*c66ec88fSEmmanuel Vadot				/* IDSEL 0x15 - Slot 1 PCI */
160*c66ec88fSEmmanuel Vadot				 0xa800 0x0 0x0 0x1 &cpld_pic 0x0 0x8
161*c66ec88fSEmmanuel Vadot				 0xa800 0x0 0x0 0x2 &cpld_pic 0x1 0x8
162*c66ec88fSEmmanuel Vadot				 0xa800 0x0 0x0 0x3 &cpld_pic 0x2 0x8
163*c66ec88fSEmmanuel Vadot				 0xa800 0x0 0x0 0x4 &cpld_pic 0x3 0x8
164*c66ec88fSEmmanuel Vadot
165*c66ec88fSEmmanuel Vadot				/* IDSEL 0x16 - Slot 2 MiniPCI */
166*c66ec88fSEmmanuel Vadot				 0xb000 0x0 0x0 0x1 &cpld_pic 0x4 0x8
167*c66ec88fSEmmanuel Vadot				 0xb000 0x0 0x0 0x2 &cpld_pic 0x5 0x8
168*c66ec88fSEmmanuel Vadot
169*c66ec88fSEmmanuel Vadot				/* IDSEL 0x17 - Slot 3 MiniPCI */
170*c66ec88fSEmmanuel Vadot				 0xb800 0x0 0x0 0x1 &cpld_pic 0x6 0x8
171*c66ec88fSEmmanuel Vadot				 0xb800 0x0 0x0 0x2 &cpld_pic 0x7 0x8
172*c66ec88fSEmmanuel Vadot				>;
173*c66ec88fSEmmanuel Vadot	};
174*c66ec88fSEmmanuel Vadot};
175