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