xref: /linux/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1// SPDX-License-Identifier: GPL-2.0 OR MIT
2/*
3 * Copyright (C) 2026 Junhui Liu <junhui.liu@pigmoral.tech>
4 */
5
6#include "k1-bananapi-cm6.dtsi"
7
8#include <dt-bindings/leds/common.h>
9
10/ {
11	model = "Banana Pi BPI-CM6 IO Board";
12	compatible = "bananapi,bpi-cm6-io", "bananapi,bpi-cm6", "spacemit,k1";
13
14	aliases {
15		ethernet0 = &eth0;
16		ethernet1 = &eth1;
17		serial0 = &uart0;
18	};
19
20	chosen {
21		stdout-path = "serial0:115200n8";
22	};
23
24	leds {
25		compatible = "gpio-leds";
26
27		led0 {
28			color = <LED_COLOR_ID_RED>;
29			gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_LOW>;
30		};
31
32		led1 {
33			color = <LED_COLOR_ID_BLUE>;
34			gpios = <&gpio K1_GPIO(97) GPIO_ACTIVE_LOW>;
35		};
36	};
37
38	pcie_vcc_3v3: regulator-pcie-vcc-3v3 {
39		compatible = "regulator-fixed";
40		regulator-name = "NGFF_KEYM_VDD";
41		regulator-min-microvolt = <3300000>;
42		regulator-max-microvolt = <3300000>;
43		regulator-boot-on;
44		regulator-always-on;
45	};
46
47	usb_vbus_5v: regulator-usb-vbus-5v {
48		compatible = "regulator-fixed";
49		regulator-name = "VBUS_A_B";
50		regulator-min-microvolt = <5000000>;
51		regulator-max-microvolt = <5000000>;
52		gpio = <&gpio K1_GPIO(124) GPIO_ACTIVE_HIGH>;
53		enable-active-high;
54	};
55
56	sd_vcc_3v3: regulator-sd-vcc-3v3 {
57		compatible = "regulator-fixed";
58		regulator-name = "3.3VS_CARD";
59		regulator-min-microvolt = <3300000>;
60		regulator-max-microvolt = <3300000>;
61		gpio = <&gpio K1_GPIO(127) GPIO_ACTIVE_HIGH>;
62		enable-active-high;
63	};
64};
65
66&combo_phy {
67	status = "okay";
68};
69
70&eth0 {
71	status = "okay";
72};
73
74&eth1 {
75	nvmem-cells = <&mac_address 1>;
76	nvmem-cell-names = "mac-address";
77	phy-handle = <&rgmii1>;
78	phy-mode = "rgmii-id";
79	pinctrl-names = "default";
80	pinctrl-0 = <&gmac1_cfg>;
81	rx-internal-delay-ps = <0>;
82	tx-internal-delay-ps = <250>;
83	status = "okay";
84
85	mdio-bus {
86		#address-cells = <0x1>;
87		#size-cells = <0x0>;
88
89		reset-gpios = <&gpio K1_GPIO(46) GPIO_ACTIVE_LOW>;
90		reset-delay-us = <10000>;
91		reset-post-delay-us = <100000>;
92
93		rgmii1: phy@1 {
94			reg = <0x1>;
95		};
96	};
97};
98
99&i2c2 {
100	eeprom@54 {
101		compatible = "atmel,24c08";
102		reg = <0x54>;
103		vcc-supply = <&buck3_1v8>;
104		pagesize = <16>;
105		size = <1024>;
106	};
107};
108
109&pcie1_phy {
110	pinctrl-names = "default";
111	pinctrl-0 = <&pcie1_3_cfg>;
112	status = "okay";
113};
114
115&pcie1_port {
116	phys = <&pcie1_phy>;
117	vpcie3v3-supply = <&pcie_vcc_3v3>;
118};
119
120&pcie1 {
121	status = "okay";
122};
123
124&pcie2_phy {
125	pinctrl-names = "default";
126	pinctrl-0 = <&pcie2_4_cfg>;
127	status = "okay";
128};
129
130&pcie2_port {
131	phys = <&pcie2_phy>;
132	vpcie3v3-supply = <&pcie_vcc_3v3>;
133};
134
135&pcie2 {
136	status = "okay";
137};
138
139&qspi {
140	pinctrl-names = "default";
141	pinctrl-0 = <&qspi_cfg>;
142	status = "okay";
143};
144
145&sdhci0 {
146	pinctrl-names = "default", "uhs";
147	pinctrl-0 = <&mmc1_cfg>;
148	pinctrl-1 = <&mmc1_uhs_cfg>;
149	bus-width = <4>;
150	cd-gpios = <&gpio K1_GPIO(80) (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
151	no-mmc;
152	no-sdio;
153	disable-wp;
154	cap-sd-highspeed;
155	vmmc-supply = <&sd_vcc_3v3>;
156	vqmmc-supply = <&aldo1>;
157	sd-uhs-sdr25;
158	sd-uhs-sdr50;
159	sd-uhs-sdr104;
160	status = "okay";
161};
162
163&uart0 {
164	pinctrl-names = "default";
165	pinctrl-0 = <&uart0_2_cfg>;
166	status = "okay";
167};
168
169&usbphy2 {
170	status = "okay";
171};
172
173&usb_dwc3 {
174	dr_mode = "host";
175	vbus-supply = <&usb_vbus_5v>;
176	status = "okay";
177};
178