summaryrefslogtreecommitdiff
path: root/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
blob: 053c35992ec3959fbd2cafc7c55dfca7de79764a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
 * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
 */

/dts-v1/;
#include "jh7110-common.dtsi"

/ {
	model = "Xunlong Orange Pi RV";
	compatible = "xunlong,orangepi-rv", "starfive,jh7110";

	/* This regulator is always on by hardware */
	reg_vcc3v3_pcie: regulator-vcc3v3-pcie {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3-pcie";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	wifi_pwrseq: wifi-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&sysgpio 62 GPIO_ACTIVE_LOW>;
	};
};

&gmac0 {
	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
	starfive,tx-use-rgmii-clk;
	status = "okay";
};

&mmc0 {
	#address-cells = <1>;
	#size-cells = <0>;
	cap-sd-highspeed;
	mmc-pwrseq = <&wifi_pwrseq>;
	vmmc-supply = <&reg_vcc3v3_pcie>;
	vqmmc-supply = <&vcc_3v3>;
	status = "okay";

	ap6256: wifi@1 {
		compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
		reg = <1>;
		/* TODO: out-of-band IRQ on GPIO21, lacking pinctrl support */
	};
};

&mmc1 {
	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_HIGH>;
};

&pcie0 {
	status = "okay";
};

&pcie1 {
	status = "okay";
};

&phy0 {
	rx-internal-delay-ps = <1500>;
	tx-internal-delay-ps = <1500>;
	motorcomm,rx-clk-drv-microamp = <3970>;
	motorcomm,rx-data-drv-microamp = <2910>;
	motorcomm,tx-clk-adj-enabled;
	motorcomm,tx-clk-10-inverted;
	motorcomm,tx-clk-100-inverted;
	motorcomm,tx-clk-1000-inverted;
};

&pwmdac {
	status = "okay";
};