xref: /OK3568_Linux_fs/buildroot/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1/*
2 * acme-acqua.dts - Device Tree file for Acqua A5 Board
3 *
4 *  Copyright (C) 2014 Atmel,
5 *		  2014 Nicolas Ferre <nicolas.ferre@atmel.com>
6 *
7 *	2020 Sergio Tanzilli <tanzilli@acmesystems.it>
8 *
9 * Licensed under GPLv2 or later.
10 */
11/dts-v1/;
12#include "sama5d31.dtsi"
13
14/ {
15	model = "Acme Systems Acqua SOM";
16	compatible = "acme,acqua", "atmel,sama5d3", "atmel,sama5";
17
18	chosen {
19		stdout-path = "serial0:115200n8";
20		bootargs = "mem=256M console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait consoleblank=0";
21	};
22
23	memory {
24		reg = <0x20000000 0x10000000>;
25	};
26
27	clocks {
28		slow_xtal {
29			clock-frequency = <32768>;
30		};
31
32		main_xtal {
33			clock-frequency = <12000000>;
34		};
35	};
36
37	ahb {
38		apb {
39			hlcdc: hlcdc@f0030000 {
40				status = "disabled";
41				hlcdc-display-controller {
42					pinctrl-names = "default";
43					pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888_alt>;
44					port@0 {
45						hlcdc_panel_output: endpoint@0 {
46							remote-endpoint = <&panel_input>;
47						};
48					};
49				};
50			};
51
52			/* MicroSD mounted on the SOM */
53
54			mmc0: mmc@f0000000 {
55				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
56				status = "okay";
57				slot@0 {
58					reg = <0>;
59					bus-width = <4>;
60				};
61			};
62
63  			/* Optional MicroSD to mount on the carrier board */
64
65			mmc1: mmc@f8000000 {
66				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
67				status = "disabled";
68				slot@0 {
69					reg = <0>;
70					bus-width = <4>;
71					cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
72				};
73			};
74
75			spi0: spi@f0004000 {
76				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
77				status = "disabled";
78			};
79
80			can0: can@f000c000 {
81				status = "disabled";
82			};
83
84			tcb0: timer@f0010000 {
85				timer0: timer@0 {
86					compatible = "atmel,tcb-timer";
87					reg = <0>;
88				};
89
90				timer1: timer@1 {
91					compatible = "atmel,tcb-timer";
92					reg = <1>;
93				};
94			};
95
96			i2c0: i2c@f0014000 {
97				pinctrl-0 = <&pinctrl_i2c0_pu>;
98				status = "disabled";
99			};
100
101			i2c1: i2c@f0018000 {
102				status = "disabled";
103			};
104
105			macb1: ethernet@f802c000 {
106				compatible = "atmel,sama5d3-macb", "cdns,at91sam9260-macb", "cdns,macb";
107
108				status = "okay";
109				phy-mode = "rmii";
110				#address-cells = <1>;
111				#size-cells = <0>;
112
113				nvmem-cells = <&eth0_addr>;
114				nvmem-cell-names = "mac-address";
115
116                phy0: ethernet-phy@1 {
117                    interrupt-parent = <&pioE>;
118                    interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
119                    reg = <1>;
120                };
121
122				/*ethernet-phy@1 {
123					reg = <0x1>;
124				};*/
125			};
126
127			/* Bit banging internal I2C to manage the AT24MAC402 chip */
128
129			i2c3@ {
130				compatible = "i2c-gpio";
131				gpios = <&pioE 1 0 /* SDA */
132						 &pioE 2 0 /* SCK */
133						>;
134				i2c-gpio,delay-us = <4>;    /* ~178 kHz */
135				#address-cells = <1>;
136				#size-cells = <0>;
137
138				/* EEPROM contains the eth0 MAC address */
139
140				eeprom@58 {
141					compatible = "atmel,24mac402";
142					pagesize = <256>;
143					read-only;
144					reg = <0x58>;
145					#address-cells = <1>;
146					#size-cells = <1>;
147
148					eth0_addr: eth-mac-addr@9A {
149						reg = <0x0 0x06>;
150					};
151				};
152			};
153
154			pwm0: pwm@f002c000 {
155				pinctrl-names = "default";
156				pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
157				status = "disabled";
158			};
159
160			usart0: serial@f001c000 {
161				status = "okay";
162			};
163
164			usart1: serial@f0020000 {
165				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
166				status = "disabled";
167			};
168
169			uart0: serial@f0024000 {
170				status = "disabled";
171			};
172
173
174			spi1: spi@f8008000 {
175				cs-gpios = <&pioC 25 0>;
176				status = "disabled";
177			};
178
179			adc0: adc@f8018000 {
180				atmel,adc-vref = <3300>;
181				atmel,adc-channels-used = <0xfe>;
182				pinctrl-0 = <
183					&pinctrl_adc0_adtrg
184					&pinctrl_adc0_ad1
185					&pinctrl_adc0_ad2
186					&pinctrl_adc0_ad3
187					&pinctrl_adc0_ad4
188					&pinctrl_adc0_ad5
189					&pinctrl_adc0_ad6
190					&pinctrl_adc0_ad7
191					>;
192				status = "disabled";
193			};
194
195			i2c2: i2c@f801c000 {
196				dmas = <0>, <0>;	/* Do not use DMA for i2c2 */
197				pinctrl-0 = <&pinctrl_i2c2_pu>;
198				status = "disabled";
199			};
200
201
202			dbgu: serial@ffffee00 {
203				status = "okay";
204			};
205
206			pinctrl@fffff200 {
207				board {
208					pinctrl_i2c0_pu: i2c0_pu {
209						atmel,pins =
210							<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
211							<AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
212					};
213
214					pinctrl_i2c2_pu: i2c2_pu {
215						atmel,pins =
216							<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
217							<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
218					};
219
220					pinctrl_key_gpio: key_gpio_0 {
221						atmel,pins =
222							<AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
223					};
224
225					pinctrl_mmc0_cd: mmc0_cd {
226						atmel,pins =
227							<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
228					};
229
230					pinctrl_mmc1_cd: mmc1_cd {
231						atmel,pins =
232							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
233					};
234
235					pinctrl_usba_vbus: usba_vbus {
236						atmel,pins =
237							<AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PE9, conflicts with A9 */
238					};
239				};
240			};
241		};
242
243        usb0: gadget@500000 {
244            status = "okay";
245        };
246
247        usb1: ohci@600000 {
248            status = "okay";
249        };
250
251        usb2: ehci@700000 {
252            status = "okay";
253        };
254
255	};
256
257
258	panel: panel {
259		/* compatible = "acme,43inch", "simple-panel"; */
260		compatible = "acme,50inch", "simple-panel";
261		/* compatible = "acme,70inch", "simple-panel"; */
262
263		status = "disable";
264
265		port@0 {
266			panel_input: endpoint@0 {
267				remote-endpoint = <&hlcdc_panel_output>;
268			};
269		};
270	};
271
272
273	leds {
274		compatible = "gpio-leds";
275
276		led0 {
277			label = "led0";
278			gpios = <&pioE 3 GPIO_ACTIVE_LOW>;
279			default-state = "off";
280		};
281
282		led1 {
283			label = "led1";
284			gpios = <&pioE 4 GPIO_ACTIVE_LOW>;
285			default-state = "off";
286		};
287
288		led2 {
289			label = "led2";
290			gpios = <&pioE 5 GPIO_ACTIVE_LOW>;
291			linux,default-trigger = "heartbeat";
292		};
293
294		led3 {
295			label = "led3";
296			gpios = <&pioE 6 GPIO_ACTIVE_LOW>;
297			linux,default-trigger = "mmc0";
298			default-state = "off";
299		};
300	};
301};
302