hc
2024-08-12 233ab1bd4c5697f5cdec94e60206e8c6ac609b4c
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
 * Copyright (c) 2019 Markus Reichl <m.reichl@fivetechno.de>
 */
 
/dts-v1/;
#include "rk3399-roc-pc.dtsi"
 
/ {
   model = "Firefly ROC-RK3399-PC Mezzanine Board";
   compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399";
 
   /* MP8009 PoE PD */
   poe_12v: poe-12v {
       compatible = "regulator-fixed";
       regulator-name = "poe_12v";
       regulator-always-on;
       regulator-boot-on;
       regulator-min-microvolt = <12000000>;
       regulator-max-microvolt = <12000000>;
   };
 
   vcc3v3_ngff: vcc3v3-ngff {
       compatible = "regulator-fixed";
       regulator-name = "vcc3v3_ngff";
       enable-active-high;
       gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
       pinctrl-names = "default";
       pinctrl-0 = <&vcc3v3_ngff_en>;
       regulator-always-on;
       regulator-boot-on;
       regulator-min-microvolt = <3300000>;
       regulator-max-microvolt = <3300000>;
       vin-supply = <&sys_12v>;
   };
 
   vcc3v3_pcie: vcc3v3-pcie {
       compatible = "regulator-fixed";
       regulator-name = "vcc3v3_pcie";
       enable-active-high;
       gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
       pinctrl-names = "default";
       pinctrl-0 = <&vcc3v3_pcie_en>;
       regulator-min-microvolt = <3300000>;
       regulator-max-microvolt = <3300000>;
       vin-supply = <&sys_12v>;
   };
};
 
&sys_12v {
   vin-supply = <&poe_12v>;
};
 
&pcie_phy {
   status = "okay";
};
 
&pcie0 {
   ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
   num-lanes = <4>;
   pinctrl-names = "default";
   pinctrl-0 = <&pcie_perst>;
   vpcie3v3-supply = <&vcc3v3_pcie>;
   vpcie1v8-supply = <&vcc1v8_pmu>;
   vpcie0v9-supply = <&vcca_0v9>;
   status = "okay";
};
 
&pinctrl {
   ngff {
       vcc3v3_ngff_en: vcc3v3-ngff-en {
           rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
       };
   };
 
   pcie {
       vcc3v3_pcie_en: vcc3v3-pcie-en {
           rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
       };
 
       pcie_perst: pcie-perst {
           rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
       };
   };
};
 
&sdio0 {
   bus-width = <4>;
   cap-sd-highspeed;
   cap-sdio-irq;
   keep-power-in-suspend;
   mmc-pwrseq = <&sdio_pwrseq>;
   non-removable;
   pinctrl-names = "default";
   pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
   sd-uhs-sdr104;
   vmmc-supply = <&vcc3v3_ngff>;
   vqmmc-supply = <&vcc_1v8>;
   status = "okay";
};
 
&uart0 {
   pinctrl-names = "default";
   pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
   status = "okay";
};