GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / gemini-rut1xx.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree file for Teltonika RUT1xx
4  */
5
6 /dts-v1/;
7
8 #include "gemini.dtsi"
9 #include <dt-bindings/input/input.h>
10
11 / {
12         model = "Teltonika RUT1xx";
13         compatible = "teltonika,rut1xx", "cortina,gemini";
14         #address-cells = <1>;
15         #size-cells = <1>;
16
17         memory@0 { /* 128 MB */
18                 device_type = "memory";
19                 reg = <0x00000000 0x8000000>;
20         };
21
22         chosen {
23                 bootargs = "console=ttyS0,115200n8";
24                 stdout-path = &uart0;
25         };
26
27         gpio_keys {
28                 compatible = "gpio-keys";
29
30                 button-setup {
31                         debounce-interval = <50>;
32                         wakeup-source;
33                         linux,code = <KEY_SETUP>;
34                         label = "Reset to defaults";
35                         /* Conflict with TVC */
36                         gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
37                 };
38         };
39
40         leds {
41                 compatible = "gpio-leds";
42                 led-gsm {
43                         /* FIXME: add the LED color */
44                         label = "rut1xx::gsm";
45                         /* Conflict with ICE */
46                         gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
47                         default-state = "on";
48                 };
49                 led-power {
50                         /* FIXME: add the LED color */
51                         label = "rut1xx::power";
52                         /* Conflict with NAND CE0 */
53                         gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
54                         default-state = "off";
55                         linux,default-trigger = "heartbeat";
56                 };
57         };
58
59         mdio0: mdio {
60                 compatible = "virtual,mdio-gpio";
61                 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
62                         <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
63                 #address-cells = <1>;
64                 #size-cells = <0>;
65
66                 phy0: ethernet-phy@1 {
67                         reg = <1>;
68                         device_type = "ethernet-phy";
69                 };
70         };
71
72         soc {
73                 flash@30000000 {
74                         status = "okay";
75                         /* 8MB of flash */
76                         reg = <0x30000000 0x00800000>;
77                         /* TODO: add flash partitions here */
78                 };
79
80                 syscon: syscon@40000000 {
81                         pinctrl {
82                                 /*
83                                  * gpio0bgrp cover line 7 used by GSM LED
84                                  * gpio0fgrp cover line 17 used by power LED
85                                  */
86                                 gpio0_default_pins: pinctrl-gpio0 {
87                                         mux {
88                                                 function = "gpio0";
89                                                 groups = "gpio0bgrp",
90                                                 "gpio0fgrp";
91                                         };
92                                 };
93                                 /*
94                                  * gpio1dgrp cover line 28-31 otherwise used
95                                  * by TVC.
96                                  */
97                                 gpio1_default_pins: pinctrl-gpio1 {
98                                         mux {
99                                                 function = "gpio1";
100                                                 groups = "gpio1dgrp";
101                                         };
102                                 };
103                         };
104                 };
105
106                 gpio0: gpio@4d000000 {
107                         pinctrl-names = "default";
108                         pinctrl-0 = <&gpio0_default_pins>;
109                 };
110
111                 gpio1: gpio@4e000000 {
112                         pinctrl-names = "default";
113                         pinctrl-0 = <&gpio1_default_pins>;
114                 };
115
116                 ethernet@60000000 {
117                         status = "okay";
118
119                         ethernet-port@0 {
120                                 phy-mode = "rgmii";
121                                 phy-handle = <&phy0>;
122                         };
123                         ethernet-port@1 {
124                                 /* Not used in this platform */
125                         };
126                 };
127         };
128 };