| // SPDX-License-Identifier: GPL-2.0+ |
| /* |
| * Copyright (C) 2024 Josua Mayer <josua@solid-run.com> |
| * |
| * DTS for SolidRun CN9130 Clearfog Base. |
| * |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/leds/common.h> |
| |
| #include "cn9130.dtsi" |
| #include "cn9130-sr-som.dtsi" |
| #include "cn9130-cf.dtsi" |
| |
| / { |
| model = "SolidRun CN9130 Clearfog Base"; |
| compatible = "solidrun,cn9130-clearfog-base", |
| "solidrun,cn9130-sr-som", "marvell,cn9130"; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| pinctrl-0 = <&rear_button_pins>; |
| pinctrl-names = "default"; |
| |
| button-0 { |
| /* The rear SW3 button */ |
| label = "Rear Button"; |
| gpios = <&cp0_gpio1 31 GPIO_ACTIVE_LOW>; |
| linux,can-disable; |
| linux,code = <BTN_0>; |
| }; |
| }; |
| |
| rfkill-m2-gnss { |
| compatible = "rfkill-gpio"; |
| label = "m.2 GNSS"; |
| radio-type = "gps"; |
| /* rfkill-gpio inverts internally */ |
| shutdown-gpios = <&expander0 9 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| /* M.2 is B-keyed, so w-disable is for WWAN */ |
| rfkill-m2-wwan { |
| compatible = "rfkill-gpio"; |
| label = "m.2 WWAN"; |
| radio-type = "wwan"; |
| /* rfkill-gpio inverts internally */ |
| shutdown-gpios = <&expander0 8 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| /* SRDS #3 - SGMII 1GE */ |
| &cp0_eth1 { |
| phy = <&phy1>; |
| phys = <&cp0_comphy3 1>; |
| phy-mode = "sgmii"; |
| status = "okay"; |
| }; |
| |
| &cp0_eth2_phy { |
| /* |
| * Configure LEDs default behaviour: |
| * - LED[0]: link/activity: On/blink (green) |
| * - LED[1]: link is 100/1000Mbps: On (yellow) |
| * - LED[2]: high impedance (floating) |
| */ |
| marvell,reg-init = <3 16 0xf000 0x0a61>; |
| |
| leds { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| led@0 { |
| reg = <0>; |
| color = <LED_COLOR_ID_GREEN>; |
| function = LED_FUNCTION_WAN; |
| default-state = "keep"; |
| }; |
| |
| led@1 { |
| reg = <1>; |
| color = <LED_COLOR_ID_YELLOW>; |
| function = LED_FUNCTION_WAN; |
| default-state = "keep"; |
| }; |
| }; |
| }; |
| |
| &cp0_gpio1 { |
| sim-select-hog { |
| gpio-hog; |
| gpios = <27 GPIO_ACTIVE_HIGH>; |
| output-high; |
| line-name = "sim-select"; |
| }; |
| }; |
| |
| &cp0_mdio { |
| phy1: ethernet-phy@1 { |
| reg = <1>; |
| /* |
| * Configure LEDs default behaviour: |
| * - LED[0]: link/activity: On/blink (green) |
| * - LED[1]: link is 100/1000Mbps: On (yellow) |
| * - LED[2]: high impedance (floating) |
| * |
| * Configure LEDs electrical polarity |
| * - on-state: low |
| * - off-state: high (not hi-z, to avoid residual glow) |
| */ |
| marvell,reg-init = <3 16 0xf000 0x0a61>, |
| <3 17 0x003f 0x000a>; |
| |
| leds { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| led@0 { |
| reg = <0>; |
| color = <LED_COLOR_ID_GREEN>; |
| function = LED_FUNCTION_LAN; |
| default-state = "keep"; |
| }; |
| |
| led@1 { |
| reg = <1>; |
| color = <LED_COLOR_ID_YELLOW>; |
| function = LED_FUNCTION_LAN; |
| default-state = "keep"; |
| }; |
| }; |
| }; |
| }; |
| |
| &cp0_pinctrl { |
| pinctrl-0 = <&sim_select_pins>; |
| pintrl-names = "default"; |
| |
| rear_button_pins: cp0-rear-button-pins { |
| marvell,pins = "mpp31"; |
| marvell,function = "gpio"; |
| }; |
| |
| sim_select_pins: cp0-sim-select-pins { |
| marvell,pins = "mpp27"; |
| marvell,function = "gpio"; |
| }; |
| }; |
| |
| /* |
| * SRDS #4 - USB 3.0 host on M.2 connector |
| * USB-2.0 Host on Type-A connector |
| */ |
| &cp0_usb3_1 { |
| phys = <&cp0_comphy4 1>, <&cp0_utmi1>; |
| phy-names = "comphy", "utmi"; |
| dr_mode = "host"; |
| status = "okay"; |
| }; |
| |
| &expander0 { |
| m2-full-card-power-off-hog { |
| gpio-hog; |
| gpios = <2 GPIO_ACTIVE_LOW>; |
| output-low; |
| line-name = "m2-full-card-power-off"; |
| }; |
| |
| m2-reset-hog { |
| gpio-hog; |
| gpios = <10 GPIO_ACTIVE_LOW>; |
| output-low; |
| line-name = "m2-reset"; |
| }; |
| }; |