hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
 */
 
/dts-v1/;
 
#include "rv1106.dtsi"
#include "rv1106-evb-v10.dtsi"
#include "rv1106-evb-dual-cam.dtsi"
 
/ {
   model = "Rockchip RV1106G EVB1 V10 Board For Dual Camera";
   compatible = "rockchip,rv1106g-evb1-v10-dual-cam", "rockchip,rv1106";
 
   sdio_pwrseq: sdio-pwrseq {
       compatible = "mmc-pwrseq-simple";
       pinctrl-names = "default";
       pinctrl-0 = <&wifi_enable_h &wifi_vbat>;
 
       /*
        * On the module itself this is one of these (depending
        * on the actual card populated):
        * - SDIO_RESET_L_WL_REG_ON
        * - PDN (power down when low)
        */
       post-power-on-delay-ms = <300>;
       reset-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>,
                 <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>;
   };
 
   vcc_1v8: vcc-1v8 {
       compatible = "regulator-fixed";
       regulator-name = "vcc_1v8";
       regulator-always-on;
       regulator-boot-on;
       regulator-min-microvolt = <1800000>;
       regulator-max-microvolt = <1800000>;
   };
 
   vcc_3v3: vcc-3v3 {
       compatible = "regulator-fixed";
       regulator-name = "vcc_3v3";
       regulator-always-on;
       regulator-boot-on;
       regulator-min-microvolt = <3300000>;
       regulator-max-microvolt = <3300000>;
   };
 
   vcc3v3_sd: vcc3v3-sd {
       compatible = "regulator-fixed";
       gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_LOW>;
       regulator-name = "vcc3v3_sd";
       regulator-min-microvolt = <3300000>;
       regulator-max-microvolt = <3300000>;
       pinctrl-names = "default";
       pinctrl-0 = <&sdmmc_pwren>;
   };
 
   vcc5v0_usb: vcc5v0-usb {
       compatible = "regulator-fixed";
       regulator-name = "vcc5v0_usb";
       regulator-min-microvolt = <5000000>;
       regulator-max-microvolt = <5000000>;
       enable-active-high;
       gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
       pinctrl-names = "default";
       pinctrl-0 = <&usb_pwren>;
   };
 
   vccio_sd: vccio-sd {
       compatible = "regulator-gpio";
       regulator-name = "vccio_sd";
       regulator-min-microvolt = <1800000>;
       regulator-max-microvolt = <3300000>;
       gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
       states = <3300000 1
             1800000 0>;
       pinctrl-names = "default";
       pinctrl-0 = <&sdmmc_volt>;
   };
 
   wireless_wlan: wireless-wlan {
       compatible = "wlan-platdata";
       wifi_chip_type = "rtl8189fs";
       pinctrl-names = "default";
       pinctrl-0 = <&wifi_host_wake_irq>;
       WIFI,host_wake_irq = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
       status = "okay";
   };
};
 
&pinctrl {
   sdio-pwrseq {
       wifi_enable_h: wifi-enable-h {
           rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
       };
 
       wifi_vbat: wifi-vbat {
           rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
       };
   };
 
   sdmmc {
       /omit-if-no-ref/
       sdmmc_pwren: sdmmc-pwren {
           rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
       };
 
       /omit-if-no-ref/
       sdmmc_volt: sdmmc-volt {
           rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
       };
   };
 
   usb {
       usb_pwren: usb-pwren {
           rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
       };
   };
 
   wireless-wlan {
       wifi_host_wake_irq: wifi-host-wake-irq {
           rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
       };
   };
};
 
&sdio {
   max-frequency = <200000000>;
   no-sd;
   no-mmc;
   bus-width = <4>;
   cap-sd-highspeed;
   cap-sdio-irq;
   keep-power-in-suspend;
   mmc-pwrseq = <&sdio_pwrseq>;
   non-removable;
   sd-uhs-sdr104;
   pinctrl-names = "default";
   pinctrl-0 = <&sdmmc1m0_cmd &sdmmc1m0_clk &sdmmc1m0_bus4 &clk_32k>;
   status = "okay";
};
 
&sdmmc {
   max-frequency = <200000000>;
   no-sdio;
   no-mmc;
   bus-width = <4>;
   cap-mmc-highspeed;
   cap-sd-highspeed;
   disable-wp;
   pinctrl-names = "normal", "idle";
   pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
   pinctrl-1 = <&sdmmc0_idle_pins &sdmmc0_det>;
   sd-uhs-sdr12;
   sd-uhs-sdr25;
   sd-uhs-sdr50;
   sd-uhs-sdr104;
   vmmc-supply = <&vcc3v3_sd>;
   vqmmc-supply = <&vccio_sd>;
   status = "okay";
};
 
&u2phy_otg {
   vbus-supply = <&vcc5v0_usb>;
};