Linux Audio

Check our new training course

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