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};
149