Loading...
Note: File does not exist in v4.17.
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2024 Josua Mayer <josua@solid-run.com>
4 *
5 * DTS for SolidRun CN9130 Clearfog Base.
6 *
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/leds/common.h>
13
14#include "cn9130.dtsi"
15#include "cn9130-sr-som.dtsi"
16#include "cn9130-cf.dtsi"
17
18/ {
19 model = "SolidRun CN9130 Clearfog Base";
20 compatible = "solidrun,cn9130-clearfog-base",
21 "solidrun,cn9130-sr-som", "marvell,cn9130";
22
23 gpio-keys {
24 compatible = "gpio-keys";
25 pinctrl-0 = <&rear_button_pins>;
26 pinctrl-names = "default";
27
28 button-0 {
29 /* The rear SW3 button */
30 label = "Rear Button";
31 gpios = <&cp0_gpio1 31 GPIO_ACTIVE_LOW>;
32 linux,can-disable;
33 linux,code = <BTN_0>;
34 };
35 };
36
37 rfkill-m2-gnss {
38 compatible = "rfkill-gpio";
39 label = "m.2 GNSS";
40 radio-type = "gps";
41 /* rfkill-gpio inverts internally */
42 shutdown-gpios = <&expander0 9 GPIO_ACTIVE_HIGH>;
43 };
44
45 /* M.2 is B-keyed, so w-disable is for WWAN */
46 rfkill-m2-wwan {
47 compatible = "rfkill-gpio";
48 label = "m.2 WWAN";
49 radio-type = "wwan";
50 /* rfkill-gpio inverts internally */
51 shutdown-gpios = <&expander0 8 GPIO_ACTIVE_HIGH>;
52 };
53};
54
55/* SRDS #3 - SGMII 1GE */
56&cp0_eth1 {
57 phy = <&phy1>;
58 phys = <&cp0_comphy3 1>;
59 phy-mode = "sgmii";
60 status = "okay";
61};
62
63&cp0_eth2_phy {
64 /*
65 * Configure LEDs default behaviour:
66 * - LED[0]: link/activity: On/blink (green)
67 * - LED[1]: link is 100/1000Mbps: On (yellow)
68 * - LED[2]: high impedance (floating)
69 */
70 marvell,reg-init = <3 16 0xf000 0x0a61>;
71
72 leds {
73 #address-cells = <1>;
74 #size-cells = <0>;
75
76 led@0 {
77 reg = <0>;
78 color = <LED_COLOR_ID_GREEN>;
79 function = LED_FUNCTION_WAN;
80 default-state = "keep";
81 };
82
83 led@1 {
84 reg = <1>;
85 color = <LED_COLOR_ID_YELLOW>;
86 function = LED_FUNCTION_WAN;
87 default-state = "keep";
88 };
89 };
90};
91
92&cp0_gpio1 {
93 sim-select-hog {
94 gpio-hog;
95 gpios = <27 GPIO_ACTIVE_HIGH>;
96 output-high;
97 line-name = "sim-select";
98 };
99};
100
101&cp0_mdio {
102 phy1: ethernet-phy@1 {
103 reg = <1>;
104 /*
105 * Configure LEDs default behaviour:
106 * - LED[0]: link/activity: On/blink (green)
107 * - LED[1]: link is 100/1000Mbps: On (yellow)
108 * - LED[2]: high impedance (floating)
109 *
110 * Configure LEDs electrical polarity
111 * - on-state: low
112 * - off-state: high (not hi-z, to avoid residual glow)
113 */
114 marvell,reg-init = <3 16 0xf000 0x0a61>,
115 <3 17 0x003f 0x000a>;
116
117 leds {
118 #address-cells = <1>;
119 #size-cells = <0>;
120
121 led@0 {
122 reg = <0>;
123 color = <LED_COLOR_ID_GREEN>;
124 function = LED_FUNCTION_LAN;
125 default-state = "keep";
126 };
127
128 led@1 {
129 reg = <1>;
130 color = <LED_COLOR_ID_YELLOW>;
131 function = LED_FUNCTION_LAN;
132 default-state = "keep";
133 };
134 };
135 };
136};
137
138&cp0_pinctrl {
139 pinctrl-0 = <&sim_select_pins>;
140 pintrl-names = "default";
141
142 rear_button_pins: cp0-rear-button-pins {
143 marvell,pins = "mpp31";
144 marvell,function = "gpio";
145 };
146
147 sim_select_pins: cp0-sim-select-pins {
148 marvell,pins = "mpp27";
149 marvell,function = "gpio";
150 };
151};
152
153/*
154 * SRDS #4 - USB 3.0 host on M.2 connector
155 * USB-2.0 Host on Type-A connector
156 */
157&cp0_usb3_1 {
158 phys = <&cp0_comphy4 1>, <&cp0_utmi1>;
159 phy-names = "comphy", "utmi";
160 dr_mode = "host";
161 status = "okay";
162};
163
164&expander0 {
165 m2-full-card-power-off-hog {
166 gpio-hog;
167 gpios = <2 GPIO_ACTIVE_LOW>;
168 output-low;
169 line-name = "m2-full-card-power-off";
170 };
171
172 m2-reset-hog {
173 gpio-hog;
174 gpios = <10 GPIO_ACTIVE_LOW>;
175 output-low;
176 line-name = "m2-reset";
177 };
178};