xref: /freebsd-src/sys/contrib/device-tree/src/arm/moxa/moxart.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*f126890aSEmmanuel Vadot/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC
3*f126890aSEmmanuel Vadot *
4*f126890aSEmmanuel Vadot * Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com>
5*f126890aSEmmanuel Vadot */
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot/ {
10*f126890aSEmmanuel Vadot	#address-cells = <1>;
11*f126890aSEmmanuel Vadot	#size-cells = <1>;
12*f126890aSEmmanuel Vadot	compatible = "moxa,moxart";
13*f126890aSEmmanuel Vadot	model = "MOXART";
14*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	cpus {
17*f126890aSEmmanuel Vadot		#address-cells = <1>;
18*f126890aSEmmanuel Vadot		#size-cells = <0>;
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot		cpu@0 {
21*f126890aSEmmanuel Vadot			device_type = "cpu";
22*f126890aSEmmanuel Vadot			compatible = "faraday,fa526";
23*f126890aSEmmanuel Vadot			reg = <0>;
24*f126890aSEmmanuel Vadot		};
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	clocks {
28*f126890aSEmmanuel Vadot		#address-cells = <1>;
29*f126890aSEmmanuel Vadot		#size-cells = <0>;
30*f126890aSEmmanuel Vadot	};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot	soc {
33*f126890aSEmmanuel Vadot		compatible = "simple-bus";
34*f126890aSEmmanuel Vadot		#address-cells = <1>;
35*f126890aSEmmanuel Vadot		#size-cells = <1>;
36*f126890aSEmmanuel Vadot		reg = <0x90000000 0x10000000>;
37*f126890aSEmmanuel Vadot		ranges;
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot		intc: interrupt-controller@98800000 {
40*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-ic", "faraday,ftintc010";
41*f126890aSEmmanuel Vadot			reg = <0x98800000 0x100>;
42*f126890aSEmmanuel Vadot			interrupt-controller;
43*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
44*f126890aSEmmanuel Vadot			interrupt-mask = <0x00080000>;
45*f126890aSEmmanuel Vadot		};
46*f126890aSEmmanuel Vadot
47*f126890aSEmmanuel Vadot		clk_pll: clk_pll@98100000 {
48*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-pll-clock";
49*f126890aSEmmanuel Vadot			#clock-cells = <0>;
50*f126890aSEmmanuel Vadot			reg = <0x98100000 0x34>;
51*f126890aSEmmanuel Vadot		};
52*f126890aSEmmanuel Vadot
53*f126890aSEmmanuel Vadot		clk_apb: clk_apb@98100000 {
54*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-apb-clock";
55*f126890aSEmmanuel Vadot			#clock-cells = <0>;
56*f126890aSEmmanuel Vadot			reg = <0x98100000 0x34>;
57*f126890aSEmmanuel Vadot			clocks = <&clk_pll>;
58*f126890aSEmmanuel Vadot		};
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot		timer: timer@98400000 {
61*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-timer", "faraday,fttmr010";
62*f126890aSEmmanuel Vadot			reg = <0x98400000 0x42>;
63*f126890aSEmmanuel Vadot			interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
64*f126890aSEmmanuel Vadot			clocks = <&clk_apb>;
65*f126890aSEmmanuel Vadot			clock-names = "PCLK";
66*f126890aSEmmanuel Vadot		};
67*f126890aSEmmanuel Vadot
68*f126890aSEmmanuel Vadot		gpio: gpio@98700000 {
69*f126890aSEmmanuel Vadot			gpio-controller;
70*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
71*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-gpio", "faraday,ftgpio010";
72*f126890aSEmmanuel Vadot			reg = <0x98700000 0x100>;
73*f126890aSEmmanuel Vadot		};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot		rtc: rtc {
76*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-rtc";
77*f126890aSEmmanuel Vadot			gpio-rtc-sclk = <&gpio 5 0>;
78*f126890aSEmmanuel Vadot			gpio-rtc-data = <&gpio 6 0>;
79*f126890aSEmmanuel Vadot			gpio-rtc-reset = <&gpio 7 0>;
80*f126890aSEmmanuel Vadot		};
81*f126890aSEmmanuel Vadot
82*f126890aSEmmanuel Vadot		dma: dma@90500000 {
83*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-dma";
84*f126890aSEmmanuel Vadot			reg = <0x90500080 0x40>;
85*f126890aSEmmanuel Vadot			interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
86*f126890aSEmmanuel Vadot			#dma-cells = <1>;
87*f126890aSEmmanuel Vadot		};
88*f126890aSEmmanuel Vadot
89*f126890aSEmmanuel Vadot		watchdog: watchdog@98500000 {
90*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-watchdog", "faraday,ftwdt010";
91*f126890aSEmmanuel Vadot			reg = <0x98500000 0x10>;
92*f126890aSEmmanuel Vadot			clocks = <&clk_apb>;
93*f126890aSEmmanuel Vadot			clock-names = "PCLK";
94*f126890aSEmmanuel Vadot		};
95*f126890aSEmmanuel Vadot
96*f126890aSEmmanuel Vadot		mmc: mmc@98e00000 {
97*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-mmc";
98*f126890aSEmmanuel Vadot			reg = <0x98e00000 0x5C>;
99*f126890aSEmmanuel Vadot			interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
100*f126890aSEmmanuel Vadot			clocks = <&clk_apb>;
101*f126890aSEmmanuel Vadot			dmas =  <&dma 5>,
102*f126890aSEmmanuel Vadot				<&dma 5>;
103*f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
104*f126890aSEmmanuel Vadot			status = "disabled";
105*f126890aSEmmanuel Vadot		};
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot		mdio0: mdio@90900090 {
108*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-mdio";
109*f126890aSEmmanuel Vadot			reg = <0x90900090 0x8>;
110*f126890aSEmmanuel Vadot			#address-cells = <1>;
111*f126890aSEmmanuel Vadot			#size-cells = <0>;
112*f126890aSEmmanuel Vadot			status = "disabled";
113*f126890aSEmmanuel Vadot		};
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot		mdio1: mdio@92000090 {
116*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-mdio";
117*f126890aSEmmanuel Vadot			reg = <0x92000090 0x8>;
118*f126890aSEmmanuel Vadot			#address-cells = <1>;
119*f126890aSEmmanuel Vadot			#size-cells = <0>;
120*f126890aSEmmanuel Vadot			status = "disabled";
121*f126890aSEmmanuel Vadot		};
122*f126890aSEmmanuel Vadot
123*f126890aSEmmanuel Vadot		mac0: mac@90900000 {
124*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-mac";
125*f126890aSEmmanuel Vadot			reg = <0x90900000 0x90>;
126*f126890aSEmmanuel Vadot			interrupts = <25 IRQ_TYPE_LEVEL_HIGH>;
127*f126890aSEmmanuel Vadot			phy-handle = <&ethphy0>;
128*f126890aSEmmanuel Vadot			phy-mode = "mii";
129*f126890aSEmmanuel Vadot			status = "disabled";
130*f126890aSEmmanuel Vadot		};
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot		mac1: mac@92000000 {
133*f126890aSEmmanuel Vadot			compatible = "moxa,moxart-mac";
134*f126890aSEmmanuel Vadot			reg = <0x92000000 0x90>;
135*f126890aSEmmanuel Vadot			interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
136*f126890aSEmmanuel Vadot			phy-handle = <&ethphy1>;
137*f126890aSEmmanuel Vadot			phy-mode = "mii";
138*f126890aSEmmanuel Vadot			status = "disabled";
139*f126890aSEmmanuel Vadot		};
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot		uart0: serial@98200000 {
142*f126890aSEmmanuel Vadot			compatible = "ns16550a";
143*f126890aSEmmanuel Vadot			reg = <0x98200000 0x20>;
144*f126890aSEmmanuel Vadot			interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
145*f126890aSEmmanuel Vadot			reg-shift = <2>;
146*f126890aSEmmanuel Vadot			reg-io-width = <4>;
147*f126890aSEmmanuel Vadot			clock-frequency = <14745600>;
148*f126890aSEmmanuel Vadot			status = "disabled";
149*f126890aSEmmanuel Vadot		};
150*f126890aSEmmanuel Vadot	};
151*f126890aSEmmanuel Vadot};
152