xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/at91-wb50n.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * at91-wb50n.dtsi - Device Tree include file for wb50n cpu module
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun *  Copyright (C) 2018 Laird
6*4882a593Smuzhiyun *
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun#include "sama5d31.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "Laird Workgroup Bridge 50N - Atmel SAMA5D";
13*4882a593Smuzhiyun	compatible = "laird,wb50n", "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	chosen {
16*4882a593Smuzhiyun		bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs rw";
17*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
18*4882a593Smuzhiyun	};
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	memory@20000000 {
21*4882a593Smuzhiyun		reg = <0x20000000 0x4000000>;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun};
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun&pinctrl {
26*4882a593Smuzhiyun	board {
27*4882a593Smuzhiyun		pinctrl_mmc0_cd: mmc0_cd {
28*4882a593Smuzhiyun			atmel,pins = <AT91_PIOC 26 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PC26 GPIO with pullup deglitch */
29*4882a593Smuzhiyun		};
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun		pinctrl_usba_vbus: usba_vbus {
32*4882a593Smuzhiyun			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PB13 GPIO with deglitch */
33*4882a593Smuzhiyun		};
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun};
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun&slow_xtal {
38*4882a593Smuzhiyun	clock-frequency = <32768>;
39*4882a593Smuzhiyun};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun&main_xtal {
42*4882a593Smuzhiyun	clock-frequency = <12000000>;
43*4882a593Smuzhiyun};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun&clk32k {
46*4882a593Smuzhiyun	atmel,osc-bypass;
47*4882a593Smuzhiyun};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun&mmc0 {
50*4882a593Smuzhiyun	pinctrl-names = "default";
51*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
52*4882a593Smuzhiyun	cd-gpios = <&pioC 26 GPIO_ACTIVE_LOW>;
53*4882a593Smuzhiyun	slot@0 {
54*4882a593Smuzhiyun		reg = <0>;
55*4882a593Smuzhiyun		bus-width = <4>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun&mmc1 {
60*4882a593Smuzhiyun	pinctrl-names = "default";
61*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
62*4882a593Smuzhiyun	status = "okay";
63*4882a593Smuzhiyun	atheros@0 {
64*4882a593Smuzhiyun		compatible = "atheros,ath6kl";
65*4882a593Smuzhiyun		atheros,board-id = "SD32";
66*4882a593Smuzhiyun		reg = <0>;
67*4882a593Smuzhiyun		bus-width = <4>;
68*4882a593Smuzhiyun	};
69*4882a593Smuzhiyun};
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun&macb1 {
72*4882a593Smuzhiyun	phy-mode = "rmii";
73*4882a593Smuzhiyun};
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun&dbgu {
76*4882a593Smuzhiyun	dmas = <0>, <0>;	/*  Do not use DMA for dbgu */
77*4882a593Smuzhiyun};
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun/* On BB40 this port is labeled UART1 */
80*4882a593Smuzhiyun&usart0 {
81*4882a593Smuzhiyun	atmel,use-dma-rx;
82*4882a593Smuzhiyun	atmel,use-dma-tx;
83*4882a593Smuzhiyun	pinctrl-names = "default";
84*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts_cts>;
85*4882a593Smuzhiyun};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun/* On BB40 this port is labeled UART0 */
88*4882a593Smuzhiyun&usart1 {
89*4882a593Smuzhiyun	atmel,use-dma-rx;
90*4882a593Smuzhiyun	atmel,use-dma-tx;
91*4882a593Smuzhiyun	pinctrl-names = "default";
92*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
93*4882a593Smuzhiyun	dtr-gpios = <&pioD 13 GPIO_ACTIVE_LOW>;
94*4882a593Smuzhiyun	dsr-gpios = <&pioD 11 GPIO_ACTIVE_LOW>;
95*4882a593Smuzhiyun	dcd-gpios = <&pioD 7 GPIO_ACTIVE_LOW>;
96*4882a593Smuzhiyun	rng-gpios = <&pioD 8 GPIO_ACTIVE_LOW>;
97*4882a593Smuzhiyun};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun/* USART3 is direct-connect to the Bluetooth UART on the radio SIP */
100*4882a593Smuzhiyun&usart3 {
101*4882a593Smuzhiyun	atmel,use-dma-rx;
102*4882a593Smuzhiyun	atmel,use-dma-tx;
103*4882a593Smuzhiyun	pinctrl-names = "default";
104*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usart3 &pinctrl_usart3_rts_cts>;
105*4882a593Smuzhiyun	status = "okay";
106*4882a593Smuzhiyun};
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun&spi1 {
109*4882a593Smuzhiyun	cs-gpios = <&pioC 25 0>, <0>, <0>, <0>;
110*4882a593Smuzhiyun};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun&ebi {
113*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_ebi_nand_addr>;
114*4882a593Smuzhiyun	pinctrl-names = "default";
115*4882a593Smuzhiyun	status = "okay";
116*4882a593Smuzhiyun};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun&nand_controller {
119*4882a593Smuzhiyun	status = "okay";
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun	nand: nand@3 {
122*4882a593Smuzhiyun		reg = <0x3 0x0 0x2>;
123*4882a593Smuzhiyun		atmel,rb = <0>;
124*4882a593Smuzhiyun		nand-bus-width = <8>;
125*4882a593Smuzhiyun		nand-ecc-mode = "hw";
126*4882a593Smuzhiyun		nand-ecc-strength = <8>;
127*4882a593Smuzhiyun		nand-ecc-step-size = <512>;
128*4882a593Smuzhiyun		nand-on-flash-bbt;
129*4882a593Smuzhiyun		label = "atmel_nand";
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun		partitions {
132*4882a593Smuzhiyun			compatible = "fixed-partitions";
133*4882a593Smuzhiyun			#address-cells = <1>;
134*4882a593Smuzhiyun			#size-cells = <1>;
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun			at91bootstrap@0 {
137*4882a593Smuzhiyun				label = "at91bs";
138*4882a593Smuzhiyun				reg = <0x0 0x20000>;
139*4882a593Smuzhiyun			};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun			uboot@20000 {
142*4882a593Smuzhiyun				label = "u-boot";
143*4882a593Smuzhiyun				reg = <0x20000 0x80000>;
144*4882a593Smuzhiyun			};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun			ubootenv@a0000 {
147*4882a593Smuzhiyun				label = "u-boot-env";
148*4882a593Smuzhiyun				reg = <0xa0000 0x20000>;
149*4882a593Smuzhiyun			};
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun			ubootenv@c0000 {
152*4882a593Smuzhiyun				label = "u-boot-env";
153*4882a593Smuzhiyun				reg = <0xc0000 0x20000>;
154*4882a593Smuzhiyun			};
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun			kernel-a@e0000 {
157*4882a593Smuzhiyun				label = "kernel-a";
158*4882a593Smuzhiyun				reg = <0xe0000 0x500000>;
159*4882a593Smuzhiyun			};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun			kernel-b@5e0000 {
162*4882a593Smuzhiyun				label = "kernel-b";
163*4882a593Smuzhiyun				reg = <0x5e0000 0x500000>;
164*4882a593Smuzhiyun			};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun			rootfs-a@ae0000 {
167*4882a593Smuzhiyun				label = "rootfs-a";
168*4882a593Smuzhiyun				reg = <0xae0000 0x3000000>;
169*4882a593Smuzhiyun			};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun			rootfs-b@3ae0000 {
172*4882a593Smuzhiyun				label = "rootfs-b";
173*4882a593Smuzhiyun				reg = <0x3ae0000 0x3000000>;
174*4882a593Smuzhiyun			};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun			user@6ae0000 {
177*4882a593Smuzhiyun				label = "user";
178*4882a593Smuzhiyun				reg = <0x6ae0000 0x14e0000>;
179*4882a593Smuzhiyun			};
180*4882a593Smuzhiyun		};
181*4882a593Smuzhiyun	};
182*4882a593Smuzhiyun};
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun&usb0 {
185*4882a593Smuzhiyun	atmel,vbus-gpio = <&pioB 13 GPIO_ACTIVE_LOW>;
186*4882a593Smuzhiyun	pinctrl-names = "default";
187*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usba_vbus>;
188*4882a593Smuzhiyun};
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun&usb1 {
191*4882a593Smuzhiyun	num-ports = <3>;
192*4882a593Smuzhiyun	atmel,vbus-gpio = <&pioA 2 GPIO_ACTIVE_LOW>;
193*4882a593Smuzhiyun	atmel,oc-gpio = <&pioA 4 GPIO_ACTIVE_LOW>;
194*4882a593Smuzhiyun};
195