GNU Linux-libre 5.19-rc6-gnu
[releases.git] / 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 };