hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/rk3288-veyron.dtsi
....@@ -10,6 +10,10 @@
1010 #include "rk3288.dtsi"
1111
1212 / {
13
+ chosen {
14
+ stdout-path = "serial2:115200n8";
15
+ };
16
+
1317 /*
1418 * The default coreboot on veyron devices ignores memory@0 nodes
1519 * and would instead create another memory node.
....@@ -19,13 +23,12 @@
1923 reg = <0x0 0x0 0x0 0x80000000>;
2024 };
2125
22
- gpio_keys: gpio-keys {
23
- compatible = "gpio-keys";
24
- #address-cells = <1>;
25
- #size-cells = <0>;
2626
27
+ power_button: power-button {
28
+ compatible = "gpio-keys";
2729 pinctrl-names = "default";
2830 pinctrl-0 = <&pwr_key_l>;
31
+
2932 power {
3033 label = "Power";
3134 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
....@@ -55,11 +58,13 @@
5558 clocks = <&rk808 RK808_CLKOUT1>;
5659 clock-names = "ext_clock";
5760 pinctrl-names = "default";
58
- pinctrl-0 = <&bt_enable_l>, <&wifi_enable_h>;
61
+ pinctrl-0 = <&wifi_enable_h>;
5962
6063 /*
61
- * On the module itself this is one of these (depending
62
- * on the actual card populated):
64
+ * Depending on the actual card populated GPIO4 D4
65
+ * correspond to one of these signals on the module:
66
+ *
67
+ * D4:
6368 * - SDIO_RESET_L_WL_REG_ON
6469 * - PDN (power down when low)
6570 */
....@@ -91,10 +96,31 @@
9196 regulator-boot-on;
9297 vin-supply = <&vcc_5v>;
9398 };
99
+
100
+ vdd_logic: vdd-logic {
101
+ compatible = "pwm-regulator";
102
+ regulator-name = "vdd_logic";
103
+
104
+ pwms = <&pwm1 0 1994 0>;
105
+ pwm-supply = <&vcc33_sys>;
106
+
107
+ pwm-dutycycle-range = <0x7b 0>;
108
+ pwm-dutycycle-unit = <0x94>;
109
+
110
+ regulator-always-on;
111
+ regulator-boot-on;
112
+ regulator-min-microvolt = <950000>;
113
+ regulator-max-microvolt = <1350000>;
114
+ regulator-ramp-delay = <4000>;
115
+ };
94116 };
95117
96118 &cpu0 {
97119 cpu0-supply = <&vdd_cpu>;
120
+};
121
+
122
+&cpu_crit {
123
+ temperature = <100000>;
98124 };
99125
100126 /* rk3288-c used in Veyron Chrome-devices has slightly changed OPPs */
....@@ -136,8 +162,18 @@
136162 status = "okay";
137163 };
138164
165
+&gpu_alert0 {
166
+ temperature = <72500>;
167
+};
168
+
169
+&gpu_crit {
170
+ temperature = <100000>;
171
+};
172
+
139173 &hdmi {
140
- ddc-i2c-bus = <&i2c5>;
174
+ pinctrl-names = "default", "unwedge";
175
+ pinctrl-0 = <&hdmi_ddc>;
176
+ pinctrl-1 = <&hdmi_ddc_unwedge>;
141177 status = "okay";
142178 };
143179
....@@ -191,8 +227,7 @@
191227 regulator-max-microvolt = <1250000>;
192228 regulator-ramp-delay = <6001>;
193229 regulator-state-mem {
194
- regulator-on-in-suspend;
195
- regulator-suspend-microvolt = <1000000>;
230
+ regulator-off-in-suspend;
196231 };
197232 };
198233
....@@ -309,14 +344,6 @@
309344 i2c-scl-rising-time-ns = <300>; /* 225ns measured */
310345 };
311346
312
-&i2c5 {
313
- status = "okay";
314
-
315
- clock-frequency = <100000>;
316
- i2c-scl-falling-time-ns = <300>;
317
- i2c-scl-rising-time-ns = <1000>;
318
-};
319
-
320347 &io_domains {
321348 status = "okay";
322349
....@@ -369,14 +396,11 @@
369396
370397 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
371398 rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
399
+ rockchip,hw-tshut-temp = <125000>;
372400 };
373401
374402 &uart0 {
375403 status = "okay";
376
-
377
- /* We need to go faster than 24MHz, so adjust clock parents / rates */
378
- assigned-clocks = <&cru SCLK_UART0>;
379
- assigned-clock-rates = <48000000>;
380404
381405 /* Pins don't include flow control by default; add that in */
382406 pinctrl-names = "default";
....@@ -403,6 +427,7 @@
403427
404428 &usb_host1 {
405429 status = "okay";
430
+ snps,need-phy-for-wake;
406431 };
407432
408433 &usb_otg {
....@@ -411,6 +436,7 @@
411436 assigned-clocks = <&cru SCLK_USBPHY480M_SRC>;
412437 assigned-clock-parents = <&usbphy0>;
413438 dr_mode = "host";
439
+ snps,need-phy-for-wake;
414440 };
415441
416442 &vopb {
....@@ -426,16 +452,6 @@
426452 };
427453
428454 &pinctrl {
429
- pinctrl-names = "default", "sleep";
430
- pinctrl-0 = <
431
- /* Common for sleep and wake, but no owners */
432
- &global_pwroff
433
- >;
434
- pinctrl-1 = <
435
- /* Common for sleep and wake, but no owners */
436
- &global_pwroff
437
- >;
438
-
439455 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
440456 bias-disable;
441457 drive-strength = <8>;
....@@ -517,6 +533,14 @@
517533 rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
518534 };
519535
536
+ bt_host_wake: bt-host-wake {
537
+ rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_down>;
538
+ };
539
+
540
+ bt_host_wake_l: bt-host-wake-l {
541
+ rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>;
542
+ };
543
+
520544 /*
521545 * We run sdio0 at max speed; bump up drive strength.
522546 * We also have external pulls, so disable the internal ones.
....@@ -535,6 +559,24 @@
535559 sdio0_clk: sdio0-clk {
536560 rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none_drv_8ma>;
537561 };
562
+
563
+ /*
564
+ * These pins are only present on very new veyron boards; on
565
+ * older boards bt_dev_wake is simply always high. Note that
566
+ * gpio4_D2 is a NC on old veyron boards, so it doesn't hurt
567
+ * to map this pin everywhere
568
+ */
569
+ bt_dev_wake_sleep: bt-dev-wake-sleep {
570
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>;
571
+ };
572
+
573
+ bt_dev_wake_awake: bt-dev-wake-awake {
574
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>;
575
+ };
576
+
577
+ bt_dev_wake: bt-dev-wake {
578
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
579
+ };
538580 };
539581
540582 tpm {