Merge existing fixes from regulator/for-5.14
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / rockchip / rk3308-roc-cc.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4  */
5
6 /dts-v1/;
7 #include "rk3308.dtsi"
8
9 / {
10         model = "Firefly ROC-RK3308-CC board";
11         compatible = "firefly,roc-rk3308-cc", "rockchip,rk3308";
12
13         aliases {
14                 mmc0 = &sdmmc;
15                 mmc1 = &emmc;
16         };
17
18         chosen {
19                 stdout-path = "serial2:1500000n8";
20         };
21
22         ir_rx {
23                 compatible = "gpio-ir-receiver";
24                 gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
25                 pinctrl-names = "default";
26                 pinctrl-0 = <&ir_recv_pin>;
27         };
28
29         ir_tx {
30                 compatible = "pwm-ir-tx";
31                 pwms = <&pwm5 0 25000 0>;
32         };
33
34         leds {
35                 compatible = "gpio-leds";
36
37                 power_led: led-0 {
38                         label = "firefly:red:power";
39                         linux,default-trigger = "ir-power-click";
40                         default-state = "on";
41                         gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
42                 };
43
44                 user_led: led-1 {
45                         label = "firefly:blue:user";
46                         linux,default-trigger = "ir-user-click";
47                         default-state = "off";
48                         gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
49                 };
50         };
51
52         typec_vcc5v: typec-vcc5v {
53                 compatible = "regulator-fixed";
54                 regulator-name = "typec_vcc5v";
55                 regulator-min-microvolt = <5000000>;
56                 regulator-max-microvolt = <5000000>;
57                 regulator-always-on;
58                 regulator-boot-on;
59         };
60
61         vcc5v0_sys: vcc5v0-sys {
62                 compatible = "regulator-fixed";
63                 regulator-name = "vcc5v0_sys";
64                 regulator-min-microvolt = <5000000>;
65                 regulator-max-microvolt = <5000000>;
66                 regulator-always-on;
67                 regulator-boot-on;
68                 vin-supply = <&typec_vcc5v>;
69         };
70
71         vcc_io: vcc-io {
72                 compatible = "regulator-fixed";
73                 regulator-name = "vcc_io";
74                 regulator-min-microvolt = <3300000>;
75                 regulator-max-microvolt = <3300000>;
76                 regulator-always-on;
77                 regulator-boot-on;
78                 vin-supply = <&vcc5v0_sys>;
79         };
80
81         vcc_sdmmc: vcc-sdmmc {
82                 compatible = "regulator-gpio";
83                 regulator-name = "vcc_sdmmc";
84                 regulator-min-microvolt = <1800000>;
85                 regulator-max-microvolt = <3300000>;
86                 gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
87                 states = <1800000 0x0>,
88                          <3300000 0x1>;
89                 vin-supply = <&vcc5v0_sys>;
90         };
91
92         vcc_sd: vcc-sd {
93                 compatible = "regulator-fixed";
94                 gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
95                 regulator-name = "vcc_sd";
96                 regulator-min-microvolt = <3300000>;
97                 regulator-max-microvolt = <3300000>;
98                 regulator-always-on;
99                 regulator-boot-on;
100                 vim-supply = <&vcc_io>;
101         };
102
103         vdd_core: vdd-core {
104                 compatible = "pwm-regulator";
105                 pwms = <&pwm0 0 5000 1>;
106                 regulator-name = "vdd_core";
107                 regulator-min-microvolt = <827000>;
108                 regulator-max-microvolt = <1340000>;
109                 regulator-init-microvolt = <1015000>;
110                 regulator-settling-time-up-us = <250>;
111                 regulator-always-on;
112                 regulator-boot-on;
113                 pwm-supply = <&vcc5v0_sys>;
114         };
115
116         vdd_log: vdd-log {
117                 compatible = "regulator-fixed";
118                 regulator-name = "vdd_log";
119                 regulator-min-microvolt = <1050000>;
120                 regulator-max-microvolt = <1050000>;
121                 regulator-always-on;
122                 regulator-boot-on;
123                 vin-supply = <&vcc5v0_sys>;
124         };
125 };
126
127 &cpu0 {
128         cpu-supply = <&vdd_core>;
129 };
130
131 &emmc {
132         cap-mmc-highspeed;
133         mmc-hs200-1_8v;
134         non-removable;
135         status = "okay";
136 };
137
138 &i2c1 {
139         clock-frequency = <400000>;
140         status = "okay";
141
142         rtc: rtc@51 {
143                 compatible = "nxp,pcf8563";
144                 reg = <0x51>;
145                 #clock-cells = <0>;
146         };
147 };
148
149 &pwm5 {
150         status = "okay";
151         pinctrl-names = "active";
152         pinctrl-0 = <&pwm5_pin_pull_down>;
153 };
154
155 &pinctrl {
156         pinctrl-names = "default";
157         pinctrl-0 = <&rtc_32k>;
158
159         ir-receiver {
160                 ir_recv_pin: ir-recv-pin  {
161                         rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
162                 };
163         };
164
165         buttons {
166                 pwr_key: pwr-key {
167                         rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
168                 };
169         };
170 };
171
172 &pwm0 {
173         status = "okay";
174         pinctrl-0 = <&pwm0_pin_pull_down>;
175 };
176
177 &sdmmc {
178         cap-mmc-highspeed;
179         cap-sd-highspeed;
180         card-detect-delay = <300>;
181         sd-uhs-sdr25;
182         sd-uhs-sdr50;
183         sd-uhs-sdr104;
184         vmmc-supply = <&vcc_sd>;
185         vqmmc-supply = <&vcc_sdmmc>;
186         status = "okay";
187 };
188
189 &uart2 {
190         status = "okay";
191 };