xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/pm9g45.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * pm9g45.dts - Device Tree file for Ronetix pm9g45 board
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun/dts-v1/;
8*4882a593Smuzhiyun#include "at91sam9g45.dtsi"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	model = "Ronetix pm9g45";
12*4882a593Smuzhiyun	compatible = "ronetix,pm9g45", "atmel,at91sam9g45", "atmel,at91sam9";
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	chosen {
15*4882a593Smuzhiyun		bootargs = "console=ttyS0,115200";
16*4882a593Smuzhiyun	};
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	memory@70000000 {
19*4882a593Smuzhiyun		reg = <0x70000000 0x8000000>;
20*4882a593Smuzhiyun	};
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	clocks {
23*4882a593Smuzhiyun		slow_xtal {
24*4882a593Smuzhiyun		      clock-frequency = <32768>;
25*4882a593Smuzhiyun		};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun		main_xtal {
28*4882a593Smuzhiyun		      clock-frequency = <12000000>;
29*4882a593Smuzhiyun		};
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	ahb {
33*4882a593Smuzhiyun		apb {
34*4882a593Smuzhiyun			dbgu: serial@ffffee00 {
35*4882a593Smuzhiyun				status = "okay";
36*4882a593Smuzhiyun			};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun			pinctrl@fffff200 {
39*4882a593Smuzhiyun				nand {
40*4882a593Smuzhiyun					pinctrl_nand_rb: nand-rb-0 {
41*4882a593Smuzhiyun						atmel,pins =
42*4882a593Smuzhiyun							<AT91_PIOD 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
43*4882a593Smuzhiyun					};
44*4882a593Smuzhiyun				};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun				mmc {
47*4882a593Smuzhiyun					pinctrl_board_mmc: mmc0-board {
48*4882a593Smuzhiyun						atmel,pins =
49*4882a593Smuzhiyun							<AT91_PIOD 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD6 gpio CD pin pull_up and deglitch */
50*4882a593Smuzhiyun					};
51*4882a593Smuzhiyun				};
52*4882a593Smuzhiyun			};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun			tcb0: timer@fff7c000 {
55*4882a593Smuzhiyun				timer@0 {
56*4882a593Smuzhiyun					compatible = "atmel,tcb-timer";
57*4882a593Smuzhiyun					reg = <0>, <1>;
58*4882a593Smuzhiyun				};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun				timer@2 {
61*4882a593Smuzhiyun					compatible = "atmel,tcb-timer";
62*4882a593Smuzhiyun					reg = <2>;
63*4882a593Smuzhiyun				};
64*4882a593Smuzhiyun			};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun			mmc0: mmc@fff80000 {
67*4882a593Smuzhiyun				pinctrl-0 = <
68*4882a593Smuzhiyun					&pinctrl_board_mmc
69*4882a593Smuzhiyun					&pinctrl_mmc0_slot0_clk_cmd_dat0
70*4882a593Smuzhiyun					&pinctrl_mmc0_slot0_dat1_3>;
71*4882a593Smuzhiyun				pinctrl-names = "default";
72*4882a593Smuzhiyun				status = "okay";
73*4882a593Smuzhiyun				slot@0 {
74*4882a593Smuzhiyun					reg = <0>;
75*4882a593Smuzhiyun					bus-width = <4>;
76*4882a593Smuzhiyun					cd-gpios = <&pioD 6 GPIO_ACTIVE_HIGH>;
77*4882a593Smuzhiyun				};
78*4882a593Smuzhiyun			};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun			macb0: ethernet@fffbc000 {
81*4882a593Smuzhiyun				phy-mode = "rmii";
82*4882a593Smuzhiyun				status = "okay";
83*4882a593Smuzhiyun			};
84*4882a593Smuzhiyun		};
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun		ebi: ebi@10000000 {
87*4882a593Smuzhiyun			status = "okay";
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun			nand_controller: nand-controller {
90*4882a593Smuzhiyun				status = "okay";
91*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
92*4882a593Smuzhiyun				pinctrl-names = "default";
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun				nand@3 {
95*4882a593Smuzhiyun					reg = <0x3 0x0 0x800000>;
96*4882a593Smuzhiyun					rb-gpios = <&pioD 3 GPIO_ACTIVE_HIGH>;
97*4882a593Smuzhiyun					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
98*4882a593Smuzhiyun					nand-bus-width = <8>;
99*4882a593Smuzhiyun					nand-ecc-mode = "soft";
100*4882a593Smuzhiyun					nand-on-flash-bbt;
101*4882a593Smuzhiyun					label = "atmel_nand";
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun					partitions {
104*4882a593Smuzhiyun						compatible = "fixed-partitions";
105*4882a593Smuzhiyun						#address-cells = <1>;
106*4882a593Smuzhiyun						#size-cells = <1>;
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun						at91bootstrap@0 {
109*4882a593Smuzhiyun							label = "at91bootstrap";
110*4882a593Smuzhiyun							reg = <0x0 0x20000>;
111*4882a593Smuzhiyun						};
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun						barebox@20000 {
114*4882a593Smuzhiyun							label = "barebox";
115*4882a593Smuzhiyun							reg = <0x20000 0x40000>;
116*4882a593Smuzhiyun						};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun						bareboxenv@60000 {
119*4882a593Smuzhiyun							label = "bareboxenv";
120*4882a593Smuzhiyun							reg = <0x60000 0x1A0000>;
121*4882a593Smuzhiyun						};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun						kernel@200000 {
124*4882a593Smuzhiyun							label = "bareboxenv2";
125*4882a593Smuzhiyun							reg = <0x200000 0x300000>;
126*4882a593Smuzhiyun						};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun						kernel@500000 {
129*4882a593Smuzhiyun							label = "root";
130*4882a593Smuzhiyun							reg = <0x500000 0x400000>;
131*4882a593Smuzhiyun						};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun						data@900000 {
134*4882a593Smuzhiyun							label = "data";
135*4882a593Smuzhiyun							reg = <0x900000 0x8340000>;
136*4882a593Smuzhiyun						};
137*4882a593Smuzhiyun					};
138*4882a593Smuzhiyun				};
139*4882a593Smuzhiyun			};
140*4882a593Smuzhiyun		};
141*4882a593Smuzhiyun
142*4882a593Smuzhiyun		usb0: ohci@700000 {
143*4882a593Smuzhiyun			status = "okay";
144*4882a593Smuzhiyun			num-ports = <2>;
145*4882a593Smuzhiyun		};
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun		usb1: ehci@800000 {
148*4882a593Smuzhiyun			status = "okay";
149*4882a593Smuzhiyun		};
150*4882a593Smuzhiyun	};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun	leds {
153*4882a593Smuzhiyun		compatible = "gpio-leds";
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun		led0 {
156*4882a593Smuzhiyun			label = "led0";
157*4882a593Smuzhiyun			gpios = <&pioD 0 GPIO_ACTIVE_LOW>;
158*4882a593Smuzhiyun			linux,default-trigger = "nand-disk";
159*4882a593Smuzhiyun		};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun		led1 {
162*4882a593Smuzhiyun			label = "led1";
163*4882a593Smuzhiyun			gpios = <&pioD 31 GPIO_ACTIVE_HIGH>;
164*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
165*4882a593Smuzhiyun		};
166*4882a593Smuzhiyun	};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun	gpio_keys {
169*4882a593Smuzhiyun		compatible = "gpio-keys";
170*4882a593Smuzhiyun		#address-cells = <1>;
171*4882a593Smuzhiyun		#size-cells = <0>;
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun		right {
174*4882a593Smuzhiyun			label = "SW4";
175*4882a593Smuzhiyun			gpios = <&pioE 7 GPIO_ACTIVE_LOW>;
176*4882a593Smuzhiyun			linux,code = <106>;
177*4882a593Smuzhiyun		};
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun		up {
180*4882a593Smuzhiyun			label = "SW3";
181*4882a593Smuzhiyun			gpios = <&pioE 8 GPIO_ACTIVE_LOW>;
182*4882a593Smuzhiyun			linux,code = <103>;
183*4882a593Smuzhiyun		};
184*4882a593Smuzhiyun	};
185*4882a593Smuzhiyun};
186