Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 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 = <100>; |
| 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 | usb@68000000 { |
| 129 | status = "okay"; |
| 130 | }; |
| 131 | |
| 132 | usb@69000000 { |
| 133 | status = "okay"; |
| 134 | }; |
| 135 | }; |
| 136 | }; |