Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: gemini: add device tree for edimax NS2502

The edimax NS2502 is a NAS box running a SL3516 SoC.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Corentin Labbe and committed by
Linus Walleij
97b07ef0 481ef3e3

+149
+1
arch/arm/boot/dts/Makefile
··· 219 219 gemini-dlink-dir-685.dtb \ 220 220 gemini-dlink-dns-313.dtb \ 221 221 gemini-nas4220b.dtb \ 222 + gemini-ns2502.dtb \ 222 223 gemini-rut1xx.dtb \ 223 224 gemini-sl93512r.dtb \ 224 225 gemini-sq201.dtb \
+148
arch/arm/boot/dts/gemini-ns2502.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (C) 2021 Corentin Labbe <clabbe@baylibre.com> 4 + * Device Tree file for Edimax NS 2502 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "gemini.dtsi" 10 + 11 + / { 12 + model = "Edimax NS-2502"; 13 + compatible = "edimax,ns-2502", "cortina,gemini"; 14 + #address-cells = <1>; 15 + #size-cells = <1>; 16 + 17 + memory@0 { 18 + /* 128 MB */ 19 + device_type = "memory"; 20 + reg = <0x00000000 0x8000000>; 21 + }; 22 + 23 + aliases { 24 + mdio-gpio0 = &mdio0; 25 + }; 26 + 27 + chosen { 28 + bootargs = "console=ttyS0,19200n8"; 29 + stdout-path = &uart0; 30 + }; 31 + 32 + mdio0: mdio { 33 + compatible = "virtual,mdio-gpio"; 34 + gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */ 35 + <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */ 36 + #address-cells = <1>; 37 + #size-cells = <0>; 38 + 39 + phy0: ethernet-phy@1 { 40 + reg = <1>; 41 + device_type = "ethernet-phy"; 42 + /* We lack the knowledge of necessary GPIO to achieve 43 + * Gigabit 44 + */ 45 + max-speed = <100>; 46 + }; 47 + }; 48 + }; 49 + 50 + &ethernet { 51 + status = "okay"; 52 + ethernet-port@0 { 53 + phy-mode = "rgmii"; 54 + phy-handle = <&phy0>; 55 + }; 56 + }; 57 + 58 + &flash { 59 + status = "okay"; 60 + /* 8MB of flash */ 61 + reg = <0x30000000 0x00800000>; 62 + 63 + pinctrl-names = "enabled", "disabled"; 64 + pinctrl-0 = <&pflash_default_pins>; 65 + pinctrl-1 = <&pflash_disabled_pins>; 66 + 67 + partitions { 68 + compatible = "fixed-partitions"; 69 + #address-cells = <1>; 70 + #size-cells = <1>; 71 + 72 + partition@0 { 73 + label = "RedBoot"; 74 + reg = <0x00000000 0x00020000>; 75 + }; 76 + partition@20000 { 77 + label = "kernel"; 78 + reg = <0x00020000 0x00700000>; 79 + }; 80 + partition@720000 { 81 + label = "VCTL"; 82 + reg = <0x00720000 0x00020000>; 83 + }; 84 + partition@740000 { 85 + label = "CurConf"; 86 + reg = <0x00740000 0x000a0000>; 87 + }; 88 + partition@7e0000 { 89 + label = "FIS"; 90 + reg = <0x007e0000 0x00010000>; 91 + }; 92 + }; 93 + }; 94 + 95 + &gpio0 { 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&gpio0_default_pins>; 98 + }; 99 + 100 + &ide0 { 101 + status = "okay"; 102 + }; 103 + 104 + &ide1 { 105 + status = "okay"; 106 + }; 107 + 108 + &sata { 109 + cortina,gemini-ata-muxmode = <3>; 110 + cortina,gemini-enable-sata-bridge; 111 + status = "okay"; 112 + }; 113 + 114 + &syscon { 115 + pinctrl { 116 + /* 117 + * gpio0agrp cover line 0-4 118 + * gpio0bgrp cover line 5 119 + */ 120 + gpio0_default_pins: pinctrl-gpio0 { 121 + mux { 122 + function = "gpio0"; 123 + groups = "gpio0agrp", "gpio0bgrp", "gpio0hgrp"; 124 + }; 125 + }; 126 + pflash_disabled_pins: pinctrl-pflash-disabled { 127 + mux { 128 + function = "gpio0"; 129 + groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp", 130 + "gpio0kgrp"; 131 + }; 132 + }; 133 + pinctrl-gmii { 134 + mux { 135 + function = "gmii"; 136 + groups = "gmii_gmac0_grp"; 137 + }; 138 + }; 139 + }; 140 + }; 141 + 142 + &usb0 { 143 + status = "okay"; 144 + }; 145 + 146 + &usb1 { 147 + status = "okay"; 148 + };