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