1
0
mirror of https://github.com/physwizz/a155-U-u1.git synced 2025-08-25 21:42:22 +00:00
Files
physwizz 99537be4e2 first
2024-03-11 06:53:12 +11:00

1408 lines
28 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright (C) 2020 MediaTek Inc.
* Author: Seiya Wang <seiya.wang@mediatek.com>
*/
/dts-v1/;
#include "mediatek/mt6873.dtsi"
#include "mediatek/mt6359p.dtsi"
#include "mediatek/cust_mt6873_msdc.dtsi"
#include "mediatek/bat_setting/mt6873_battery_prop.dtsi"
/ {
tboard_thermistor1: thermal-ntc1 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&auxadc 0>;
io-channel-names = "sensor-channel";
temperature-lookup-table = <
(-40000) 1760
(-39000) 1757
(-38000) 1754
(-37000) 1751
(-36000) 1747
(-35000) 1744
(-34000) 1740
(-33000) 1736
(-32000) 1731
(-31000) 1727
(-30000) 1722
(-29000) 1716
(-28000) 1711
(-27000) 1705
(-26000) 1699
(-25000) 1693
(-24000) 1686
(-23000) 1679
(-22000) 1672
(-21000) 1664
(-20000) 1656
(-19000) 1648
(-18000) 1639
(-17000) 1630
(-16000) 1620
(-15000) 1610
(-14000) 1599
(-13000) 1588
(-12000) 1577
(-11000) 1565
(-10000) 1553
(-9000) 1540
(-8000) 1527
(-7000) 1514
(-6000) 1500
(-5000) 1485
(-4000) 1470
(-3000) 1455
(-2000) 1439
(-1000) 1423
0 1406
1000 1389
2000 1372
3000 1354
4000 1335
5000 1317
6000 1298
7000 1279
8000 1259
9000 1239
10000 1219
11000 1198
12000 1178
13000 1157
14000 1136
15000 1115
16000 1093
17000 1072
18000 1050
19000 1029
20000 1007
21000 986
22000 964
23000 943
24000 921
25000 900
26000 879
27000 858
28000 837
29000 816
30000 796
31000 775
32000 755
33000 736
34000 716
35000 697
36000 678
37000 659
38000 641
39000 623
40000 605
41000 588
42000 571
43000 555
44000 538
45000 523
46000 507
47000 492
48000 477
49000 463
50000 449
51000 435
52000 422
53000 409
54000 396
55000 384
56000 372
57000 360
58000 349
59000 338
60000 327
61000 317
62000 307
63000 297
64000 288
65000 279
66000 270
67000 261
68000 253
69000 245
70000 237
71000 230
72000 222
73000 215
74000 209
75000 202
76000 196
77000 189
78000 183
79000 178
80000 172
81000 167
82000 161
83000 156
84000 151
85000 147
86000 142
87000 138
88000 133
89000 129
90000 125
91000 121
92000 118
93000 114
94000 111
95000 107
96000 104
97000 101
98000 98
99000 95
100000 92
101000 89
102000 87
103000 84
104000 81
105000 79
106000 77
107000 74
108000 72
109000 70
110000 68
111000 66
112000 64
113000 62
114000 61
115000 59
116000 57
117000 56
118000 54
119000 52
120000 51
121000 50
122000 48
123000 47
124000 46
125000 44>;
};
tboard_thermistor2: thermal-ntc2 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&auxadc 1>;
io-channel-names = "sensor-channel";
temperature-lookup-table = <
(-40000) 1760
(-39000) 1757
(-38000) 1754
(-37000) 1751
(-36000) 1747
(-35000) 1744
(-34000) 1740
(-33000) 1736
(-32000) 1731
(-31000) 1727
(-30000) 1722
(-29000) 1716
(-28000) 1711
(-27000) 1705
(-26000) 1699
(-25000) 1693
(-24000) 1686
(-23000) 1679
(-22000) 1672
(-21000) 1664
(-20000) 1656
(-19000) 1648
(-18000) 1639
(-17000) 1630
(-16000) 1620
(-15000) 1610
(-14000) 1599
(-13000) 1588
(-12000) 1577
(-11000) 1565
(-10000) 1553
(-9000) 1540
(-8000) 1527
(-7000) 1514
(-6000) 1500
(-5000) 1485
(-4000) 1470
(-3000) 1455
(-2000) 1439
(-1000) 1423
0 1406
1000 1389
2000 1372
3000 1354
4000 1335
5000 1317
6000 1298
7000 1279
8000 1259
9000 1239
10000 1219
11000 1198
12000 1178
13000 1157
14000 1136
15000 1115
16000 1093
17000 1072
18000 1050
19000 1029
20000 1007
21000 986
22000 964
23000 943
24000 921
25000 900
26000 879
27000 858
28000 837
29000 816
30000 796
31000 775
32000 755
33000 736
34000 716
35000 697
36000 678
37000 659
38000 641
39000 623
40000 605
41000 588
42000 571
43000 555
44000 538
45000 523
46000 507
47000 492
48000 477
49000 463
50000 449
51000 435
52000 422
53000 409
54000 396
55000 384
56000 372
57000 360
58000 349
59000 338
60000 327
61000 317
62000 307
63000 297
64000 288
65000 279
66000 270
67000 261
68000 253
69000 245
70000 237
71000 230
72000 222
73000 215
74000 209
75000 202
76000 196
77000 189
78000 183
79000 178
80000 172
81000 167
82000 161
83000 156
84000 151
85000 147
86000 142
87000 138
88000 133
89000 129
90000 125
91000 121
92000 118
93000 114
94000 111
95000 107
96000 104
97000 101
98000 98
99000 95
100000 92
101000 89
102000 87
103000 84
104000 81
105000 79
106000 77
107000 74
108000 72
109000 70
110000 68
111000 66
112000 64
113000 62
114000 61
115000 59
116000 57
117000 56
118000 54
119000 52
120000 51
121000 50
122000 48
123000 47
124000 46
125000 44>;
};
tboard_thermistor3: thermal-ntc3 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&auxadc 2>;
io-channel-names = "sensor-channel";
temperature-lookup-table = <
(-40000) 1760
(-39000) 1757
(-38000) 1754
(-37000) 1751
(-36000) 1747
(-35000) 1744
(-34000) 1740
(-33000) 1736
(-32000) 1731
(-31000) 1727
(-30000) 1722
(-29000) 1716
(-28000) 1711
(-27000) 1705
(-26000) 1699
(-25000) 1693
(-24000) 1686
(-23000) 1679
(-22000) 1672
(-21000) 1664
(-20000) 1656
(-19000) 1648
(-18000) 1639
(-17000) 1630
(-16000) 1620
(-15000) 1610
(-14000) 1599
(-13000) 1588
(-12000) 1577
(-11000) 1565
(-10000) 1553
(-9000) 1540
(-8000) 1527
(-7000) 1514
(-6000) 1500
(-5000) 1485
(-4000) 1470
(-3000) 1455
(-2000) 1439
(-1000) 1423
0 1406
1000 1389
2000 1372
3000 1354
4000 1335
5000 1317
6000 1298
7000 1279
8000 1259
9000 1239
10000 1219
11000 1198
12000 1178
13000 1157
14000 1136
15000 1115
16000 1093
17000 1072
18000 1050
19000 1029
20000 1007
21000 986
22000 964
23000 943
24000 921
25000 900
26000 879
27000 858
28000 837
29000 816
30000 796
31000 775
32000 755
33000 736
34000 716
35000 697
36000 678
37000 659
38000 641
39000 623
40000 605
41000 588
42000 571
43000 555
44000 538
45000 523
46000 507
47000 492
48000 477
49000 463
50000 449
51000 435
52000 422
53000 409
54000 396
55000 384
56000 372
57000 360
58000 349
59000 338
60000 327
61000 317
62000 307
63000 297
64000 288
65000 279
66000 270
67000 261
68000 253
69000 245
70000 237
71000 230
72000 222
73000 215
74000 209
75000 202
76000 196
77000 189
78000 183
79000 178
80000 172
81000 167
82000 161
83000 156
84000 151
85000 147
86000 142
87000 138
88000 133
89000 129
90000 125
91000 121
92000 118
93000 114
94000 111
95000 107
96000 104
97000 101
98000 98
99000 95
100000 92
101000 89
102000 87
103000 84
104000 81
105000 79
106000 77
107000 74
108000 72
109000 70
110000 68
111000 66
112000 64
113000 62
114000 61
115000 59
116000 57
117000 56
118000 54
119000 52
120000 51
121000 50
122000 48
123000 47
124000 46
125000 44>;
};
pmic_temp: pmic_temp {
compatible = "mediatek,mt6359-pmic-temp";
io-channels =
<&pmic_auxadc AUXADC_CHIP_TEMP>,
<&pmic_auxadc AUXADC_VCORE_TEMP>,
<&pmic_auxadc AUXADC_VPROC_TEMP>,
<&pmic_auxadc AUXADC_VGPU_TEMP>;
io-channel-names =
"pmic_chip_temp",
"pmic_buck1_temp",
"pmic_buck2_temp",
"pmic_buck3_temp";
#thermal-sensor-cells = <1>;
nvmem-cells = <&thermal_efuse_data1>;
nvmem-cell-names = "e_data1";
};
md_cooler: md-cooler {
compatible = "mediatek,mt6297-md-cooler";
pa1: pa1 {
mutt_pa1: mutt-pa1 {
#cooling-cells = <2>;
};
mutt_pa1_no_ims: mutt-pa1-no-ims {
#cooling-cells = <2>;
};
tx_pwr_pa1: tx-pwr-pa1 {
#cooling-cells = <2>;
};
};
pa2: pa2 {
mutt_pa2: mutt-pa2 {
#cooling-cells = <2>;
};
mutt_pa2_no_ims: mutt-pa2-no-ims {
#cooling-cells = <2>;
};
tx_pwr_pa2: tx-pwr-pa2 {
#cooling-cells = <2>;
};
scg_off_pa2: scg-off-pa2 {
#cooling-cells = <2>;
};
};
};
thermal_zones: thermal-zones {
ap_ntc: ap_ntc {
polling-delay = <1000>; /* milliseconds */
polling-delay-passive = <1000>; /* milliseconds */
thermal-sensors = <&tboard_thermistor1>;
trips {
ap_ntc_crit: ap_ntc_crit@0 {
temperature = <100000>;
hysteresis = <2000>;
type = "critical";
};
};
};
ltepa_ntc: ltepa_ntc {
polling-delay = <1000>; /* milliseconds */
polling-delay-passive = <1000>; /* milliseconds */
thermal-sensors = <&tboard_thermistor2>;
trips {
ltepa_ntc_target: ltepa_ntc_trip@0 {
temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
ltepa_ntc_no_ims: ltepa_ntc_trip@1 {
temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
ltepa_ntc_crit: ltepa_ntc_trip@2 {
temperature = <100000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&ltepa_ntc_target>;
cooling-device = <&mutt_pa1
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
map1 {
trip = <&ltepa_ntc_no_ims>;
cooling-device = <&mutt_pa1_no_ims
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
nrpa_ntc: nrpa_ntc {
polling-delay = <1000>; /* milliseconds */
polling-delay-passive = <1000>; /* milliseconds */
thermal-sensors = <&tboard_thermistor3>;
trips {
nrpa_ntc_target: nrpa_ntc_trip@0 {
temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
nrpa_ntc_no_ims: nrpa_ntc_trip@1 {
temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
nrpa_ntc_crit: nrpa_ntc_trip@2 {
temperature = <100000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&nrpa_ntc_target>;
cooling-device = <&mutt_pa2
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
map1 {
trip = <&nrpa_ntc_no_ims>;
cooling-device = <&mutt_pa2_no_ims
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
pmic_temp {
polling-delay = <1000>; /* milliseconds */
polling-delay-passive = <1000>; /* milliseconds */
thermal-sensors = <&pmic_temp 0>;
trips {
pmic_temp_crit: pmic_temp_crit@0 {
temperature = <130000>;
hysteresis = <2000>;
type = "critical";
};
};
};
pmic_vcore {
polling-delay = <0>; /* milliseconds */
polling-delay-passive = <0>; /* milliseconds */
thermal-sensors = <&pmic_temp 1>;
};
pmic_vproc {
polling-delay = <0>; /* milliseconds */
polling-delay-passive = <0>; /* milliseconds */
thermal-sensors = <&pmic_temp 2>;
};
pmic_vgpu {
polling-delay = <0>; /* milliseconds */
polling-delay-passive = <0>; /* milliseconds */
thermal-sensors = <&pmic_temp 3>;
};
};
lk_charger: lk_charger {
compatible = "mediatek,lk_charger";
enable_anime;
/* enable_pe_plus; */
enable_pd20_reset;
power_path_support;
max_charger_voltage = <6500000>;
fast_charge_voltage = <3000000>;
/* charging current */
usb_charger_current = <500000>;
ac_charger_current = <2050000>;
ac_charger_input_current = <3200000>;
non_std_ac_charger_current = <500000>;
charging_host_charger_current = <1500000>;
ta_ac_charger_current = <3000000>;
pd_charger_current = <500000>;
/* battery temperature protection */
temp_t4_threshold = <50>;
temp_t3_threshold = <45>;
temp_t1_threshold = <0>;
};
pe: pe {
compatible = "mediatek,charger,pe";
gauge = <&mtk_gauge>;
ta_12v_support;
ta_9v_support;
pe_ichg_level_threshold = <1000000>; /* uA */
ta_start_battery_soc = <0>;
ta_stop_battery_soc = <85>;
min_charger_voltage = <4600000>;
ta_ac_12v_input_current = <3200000>;
ta_ac_9v_input_current = <3200000>;
ta_ac_7v_input_current = <3200000>;
pe_charger_current = <3000000>;
};
pe2: pe2 {
compatible = "mediatek,charger,pe2";
gauge = <&mtk_gauge>;
/* PE 2.0 */
pe20_ichg_level_threshold = <1000000>; /* uA */
ta_start_battery_soc = <0>;
ta_stop_battery_soc = <85>;
min_charger_voltage = <4600000>;
/* cable measurement impedance */
cable_imp_threshold = <699>;
vbat_cable_imp_threshold = <3900000>; /* uV */
/* single charger */
sc_input_current = <3200000>;
sc_charger_current = <3000000>;
/* dual charger in series*/
dcs_input_current = <3200000>;
dcs_chg1_charger_current = <1500000>;
dcs_chg2_charger_current = <1500000>;
dual_polling_ieoc = <450000>;
slave_mivr_diff = <100000>;
};
pdc: pdc {
compatible = "mediatek,charger,pd";
gauge = <&mtk_gauge>;
min_charger_voltage = <4600000>;
pd_vbus_low_bound = <5000000>;
pd_vbus_upper_bound = <5000000>;
vsys_watt = <5000000>;
ibus_err = <14>;
pd_stop_battery_soc = <80>;
/* single charger */
sc_input_current = <3200000>;
sc_charger_current = <3000000>;
/* dual charger in series*/
dcs_input_current = <3200000>;
dcs_chg1_charger_current = <1500000>;
dcs_chg2_charger_current = <1500000>;
/* dual charger */
dual_polling_ieoc = <450000>;
slave_mivr_diff = <100000>;
};
pe4: pe4 {
compatible = "mediatek,charger,pe4";
gauge = <&mtk_gauge>;
min_charger_voltage = <4600000>;
pe40_stop_battery_soc = <80>;
high_temp_to_leave_pe40 = <46>;
high_temp_to_enter_pe40 = <39>;
low_temp_to_leave_pe40 = <10>;
low_temp_to_enter_pe40 = <16>;
ibus_err = <14>;
/* PE 4.0 cable impedance (mohm) */
pe40_r_cable_1a_lower = <559>;
pe40_r_cable_2a_lower = <420>;
pe40_r_cable_3a_lower = <279>;
/* single charger */
sc_input_current = <3200000>;
sc_charger_current = <3000000>;
/* dual charger in series*/
dcs_input_current = <3200000>;
dcs_chg1_charger_current = <1500000>;
dcs_chg2_charger_current = <1500000>;
dual_polling_ieoc = <450000>;
slave_mivr_diff = <100000>;
};
charger: charger {
compatible = "mediatek,charger";
gauge = <&mtk_gauge>;
charger = <&mt6360_chg>;
bootmode = <&chosen>;
pmic = <&pmic>;
algorithm_name = "Basic";
charger_configuration= <0>;
/* common */
battery_cv = <4350000>;
max_charger_voltage = <6500000>;
min_charger_voltage = <4600000>;
/* sw jeita */
/* enable_sw_jeita; */
jeita_temp_above_t4_cv = <4240000>;
jeita_temp_t3_to_t4_cv = <4240000>;
jeita_temp_t2_to_t3_cv = <4340000>;
jeita_temp_t1_to_t2_cv = <4240000>;
jeita_temp_t0_to_t1_cv = <4040000>;
jeita_temp_below_t0_cv = <4040000>;
temp_t4_thres = <50>;
temp_t4_thres_minus_x_degree = <47>;
temp_t3_thres = <45>;
temp_t3_thres_minus_x_degree = <39>;
temp_t2_thres = <10>;
temp_t2_thres_plus_x_degree = <16>;
temp_t1_thres = <0>;
temp_t1_thres_plus_x_degree = <6>;
temp_t0_thres = <0>;
temp_t0_thres_plus_x_degree = <0>;
temp_neg_10_thres = <0>;
/* battery temperature protection */
enable_min_charge_temp;
min_charge_temp = <0>;
min_charge_temp_plus_x_degree = <6>;
max_charge_temp = <50>;
max_charge_temp_minus_x_degree = <47>;
/* charging current */
usb_charger_current = <500000>;
ac_charger_current = <2050000>;
ac_charger_input_current = <3200000>;
charging_host_charger_current = <1500000>;
/* dynamic mivr */
enable_dynamic_mivr;
min_charger_voltage_1 = <4400000>;
min_charger_voltage_2 = <4200000>;
max_dmivr_charger_current = <1800000>;
};
extcon_usb: extcon_usb {
compatible = "mediatek,extcon-usb";
vbus-supply = <&otg_vbus>;
vbus-volt = <5000000>;
charger = <&mt6360_chg>;
tcpc = "type_c_port0";
mediatek,bypss-typec-sink = <1>;
vbus-current = <1800000>;
port {
usb_role: endpoint@0 {
remote-endpoint = <&mtu3_drd_switch>;
};
};
};
pd_adapter: pd_adapter {
compatible = "mediatek,pd_adapter";
boot_mode = <&chosen>;
adapter_name = "pd_adapter";
force_cv;
phys = <&u2port0 PHY_TYPE_USB2>;
phy-names = "usb2-phy";
};
mtk_ctd: mtk_ctd {
compatible = "mediatek,mtk_ctd";
bc12 = <&mt6360_chg>;
bc12_sel = <0>;
};
typec_mux_switch: typec_mux_switch {
compatible = "mediatek,typec_mux_switch";
status = "okay";
};
fusb304: fusb304 {
compatible = "mediatek,fusb304";
status = "okay";
};
ptn36241g: ptn36241g {
compatible = "mediatek,ptn36241g";
status = "okay";
};
mrdump_ext_rst: mrdump_ext_rst {
compatible = "mediatek, mrdump_ext_rst-eint";
mode = "IRQ";
status = "okay";
interrupts = <0>;
};
};
&i2c5 {
status = "okay";
clock-frequency = <3400000>;
#address-cells = <1>;
#size-cells = <0>;
subpmic_mtk: mt6360_pmu@34 {
status = "ok";
compatible = "mediatek,mt6360_pmu";
reg = <0x34>;
wakeup-source;
interrupt-controller;
interrupt-parent = <&pio>;
interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "IRQB";
mt6360_chg: chg {
compatible = "mediatek,mt6360_chg";
vinovp = <14500000>;
io-channels = <&mt6360_adc 0>, <&mt6360_adc 1>,
<&mt6360_adc 3>, <&mt6360_adc 4>,
<&mt6360_adc 5>, <&mt6360_adc 6>,
<&mt6360_adc 8>, <&mt6360_adc 10>;
io-channel-names = "USBID", "VBUSDIV5", "VSYS", "VBAT",
"IBUS", "IBAT", "TEMP_JC", "TS";
chg_name = "primary_chg";
ichg = <2000000>; /* uA */
aicr = <500000>; /* uA */
mivr = <4400000>; /* uV */
cv = <4350000>; /* uA */
ieoc = <150000>; /* uA */
safety_timer = <12>; /* hour */
ircmp_resistor = <25000>; /* uohm */
ircmp_vclamp = <32000>; /* uV */
en_te = <1>;
en_wdt = <1>;
aicc_once = <1>;
post_aicc = <1>;
batoc_notify = <0>;
charger = <&mt6360_chg>;
phys = <&u2port0 PHY_TYPE_USB2>;
phy-names = "usb2-phy";
bc12_ref = <&mtk_ctd>;
otg_vbus: usb-otg-vbus {
regulator-compatible = "usb-otg-vbus";
regulator-name = "usb-otg-vbus";
regulator-min-microvolt = <4425000>;
regulator-max-microvolt = <5825000>;
regulator-min-microamp = <500000>;
regulator-max-microamp = <3000000>;
};
};
mt6360_adc: adc {
compatible = "mediatek,mt6360_adc";
#io-channel-cells = <1>;
};
mt6360_led: led {
compatible = "mediatek,mt6360_led";
rgbon_sync = <1>;
iled {
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0>;
label = "isink1";
};
led@1 {
reg = <1>;
label = "isink2";
};
led@2 {
reg = <2>;
label = "isink3";
};
led@3 {
reg = <3>;
label = "isink4";
};
};
fled {
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
reg = <0>;
label = "mt6360_flash_ch1";
led-max-microamp = <400000>;
flash-max-microamp = <1500000>;
flash-max-timeout = <1248000>;
type = <0>;
ct = <0>;
part = <0>;
port@0 {
fl_core_0: endpoint {
remote-endpoint = <&flashlight_0>;
};
};
};
flash@1 {
reg = <1>;
label = "mt6360_flash_ch2";
led-max-microamp = <400000>;
flash-max-microamp = <1500000>;
flash-max-timeout = <1248000>;
type = <0>;
ct = <1>;
part = <0>;
port@1 {
fl_core_1: endpoint {
remote-endpoint = <&flashlight_1>;
};
};
};
};
};
pmic {
compatible = "mediatek,mt6360_pmic";
mt6360_mdla_buck_reg: buck1 {
regulator-compatible = "BUCK1";
regulator-name = "mt6360,buck1";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1300000>;
regulator-allowed-modes = <0 2 3>;
regulator-always-on;
};
buck2 {
regulator-compatible = "BUCK2";
regulator-name = "mt6360,buck2";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1300000>;
regulator-allowed-modes = <0 2 3>;
regulator-always-on;
};
ldo6 {
regulator-compatible = "LDO6";
regulator-name = "mt6360,ldo6";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <2100000>;
regulator-allowed-modes = <0 2>;
regulator-always-on;
};
ldo7 {
regulator-compatible = "LDO7";
regulator-name = "mt6360,ldo7";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <2100000>;
regulator-allowed-modes = <0 2>;
regulator-always-on;
};
};
ldo {
compatible = "mediatek,mt6360_ldo";
mt_pmic_vfp_ldo_reg: ldo1 {
regulator-compatible = "LDO1";
regulator-name = "mt6360,ldo1";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-allowed-modes = <0 2>;
};
mt_pmic_vtp_ldo_reg: ldo2 {
regulator-compatible = "LDO2";
regulator-name = "vtp";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-allowed-modes = <0 2>;
};
mt_pmic_vmc_ldo_reg: ldo3 {
regulator-compatible = "LDO3";
regulator-name = "mt6360,ldo3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-allowed-modes = <0 2>;
};
mt_pmic_vmch_ldo_reg: ldo5 {
regulator-compatible = "LDO5";
regulator-name = "mt6360,ldo5";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3600000>;
regulator-allowed-modes = <0 2>;
};
};
};
mt6360_typec: usb_type_c@4e {
compatible = "mediatek,usb_type_c";
reg = <0x4e>;
mt-dual,supported_modes = <0>; /* 0: dfp/ufp, 1: dfp, 2: ufp */
mt-tcpc,name = "type_c_port0"; /* tcpc_device's name */
/* 0: SNK Only, 1: SRC Only, 2: DRP, 3: Try.SRC, 4: Try.SNK */
mt-tcpc,role_def = <4>;
mt-tcpc,rp_level = <1>; /* 0: Default, 1: 1.5, 2: 3.0 */
/* 0: Never, 1: Always, 2: EMarkOnly, 3: StartOnly */
mt-tcpc,vconn_supply = <1>;
mt6360pd,intr_gpio = <&pio 25 0x0>;
mt6360pd,intr_gpio_num = <25>;
mt6360pd,pcb_gpio = <&pio 19 0x0>;
mt6360pd,pcb_gpio_num = <19>;
interrupt-parent = <&subpmic_mtk>;
interrupts = <64 0>;
interrupt-names = "usbid_evt";
charger = <&mt6360_chg>;
bootmode = <&chosen>;
pd-data {
pd,vid = <0x29cf>;
pd,pid = <0x6360>;
pd,source-cap-ext =
<0x636029cf 0x00000000 0x00000000
0x00000000 0x00000000 0x07000000>;
pd,mfrs = "RichtekTCPC";
/*
* VSAFE5V = 0, MAX_POWER = 1, CUSTOM = 2,
* MAX_POWER_LV = 0x21, MAX_POWER_LVIC = 0x31
* MAX_POWER_HV = 0x41, MAX_POWER_HVIC = 0x51
*/
pd,charging_policy= <0x31>;
pd,source-pdo-size = <1>;
/* 5V, 1500 mA */
pd,source-pdo-data = <0x00019096>;
pd,sink-pdo-size = <1>;
pd,sink-pdo-data = <0x000190c8>;
/*
* No DP, host + device
* pd,id-vdo-size = <3>;
* pd,id-vdo-data =
<0xd10029cf 0x0 0x63600000>;
* With DP
* pd,id-vdo-size = <3>;
* pd,id-vdo-data =
<0xd60029cf 0x0 0x63600000>;
*/
pd,id-vdo-size = <3>;
pd,id-vdo-data = <0xd10029cf 0x0 0x63600000>;
bat,nr = <1>;
bat-info0 {
bat,vid = <0x29cf>;
bat,pid = <0x6360>;
bat,mfrs = "bat1";
bat,design_cap = <3000>;
};
};
dpm_caps {
local_dr_power;
local_dr_data;
// local_ext_power;
local_usb_comm;
// local_usb_suspend;
// local_high_cap;
// local_give_back;
local_no_suspend;
local_vconn_supply;
// attempt_discover_cable_dfp;
attempt_enter_dp_mode;
attempt_discover_cable;
attempt_discover_id;
/* 0: disable, 1: prefer_snk, 2: prefer_src */
pr_check = <0>;
// pr_reject_as_source;
// pr_reject_as_sink;
// pr_check_gp_source;
// pr_check_gp_sink;
/* 0: disable, 1: prefer_ufp, 2: prefer_dfp */
dr_check = <0>;
// dr_reject_as_dfp;
// dr_reject_as_ufp;
};
displayport {
/* connection type = "both", "ufp_d", "dfp_d" */
1st_connection = "dfp_d";
2nd_connection = "dfp_d";
signal,dp_v13;
//signal,dp_gen2;
usbr20_not_used;
typec,receptacle;
ufp_d {
//pin_assignment,mode_a;
//pin_assignment,mode_b;
//pin_assignment,mode_c;
//pin_assignment,mode_d;
//pin_assignment,mode_e;
};
dfp_d {
/* Only support mode C & D */
//pin_assignment,mode_a;
//pin_assignment,mode_b;
pin_assignment,mode_c;
pin_assignment,mode_d;
pin_assignment,mode_e;
pin_assignment,mode_f;
};
};
};
};
&pmic {
interrupt-parent = <&pio>;
interrupts = <214 IRQ_TYPE_LEVEL_HIGH 214 0>;
mtk_battery_oc_throttling {
compatible = "mediatek,mt6359p-battery_oc_throttling";
oc-thd-h = <6800>;
oc-thd-l = <8000>;
};
};
&mt6359p_vemc_reg {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
&mt6359p_vgpu11_reg {
regulator-always-on;
};
&mt6359p_vpu_reg {
regulator-always-on;
};
&mt6359p_vrf12_reg {
regulator-always-on;
};
&mt6359p_va09_reg {
regulator-always-on;
};
&mt6359p_vufs_reg {
regulator-always-on;
};
&mtk_gauge {
charger = <&mt6360_chg>;
};
&mtk_composite_v4l2_1 {
port@0 {
flashlight_0: endpoint {
remote-endpoint = <&fl_core_0>;
};
};
port@1 {
flashlight_1: endpoint {
remote-endpoint = <&fl_core_1>;
};
};
};
&spmi {
mt6315_3: mt6315@3 {
compatible = "mediatek,mt6315", "mtk,spmi-pmic";
reg = <0x3 0 0xb 1>;
extbuck_debug {
compatible = "mediatek,extbuck-debug";
};
mt6315_3_regulator: mt6315_3_regulator {
compatible = "mediatek,mt6315_3-regulator";
mt6315_3_vbuck1: 3_vbuck1 {
regulator-compatible = "vbuck1";
regulator-name = "3_vbuck1";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2 4>;
regulator-always-on;
};
mt6315_3_vbuck3: 3_vbuck3 {
regulator-compatible = "vbuck3";
regulator-name = "3_vbuck3";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2 4>;
regulator-always-on;
};
mt6315_3_vbuck4: 3_vbuck4 {
regulator-compatible = "vbuck4";
regulator-name = "3_vbuck4";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2 4>;
regulator-always-on;
};
};
};
mt6315_6: mt6315@6 {
compatible = "mediatek,mt6315", "mtk,spmi-pmic";
reg = <0x6 0 0xb 1>;
extbuck_debug {
compatible = "mediatek,extbuck-debug";
};
mt6315_6_regulator: mt6315_6_regulator {
compatible = "mediatek,mt6315_6-regulator";
mt6315_6_vbuck1: 6_vbuck1 {
regulator-compatible = "vbuck1";
regulator-name = "6_vbuck1";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2 4>;
regulator-always-on;
};
mt6315_6_vbuck3: 6_vbuck3 {
regulator-compatible = "vbuck3";
regulator-name = "6_vbuck3";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2 4>;
regulator-always-on;
};
};
};
mt6315_7: mt6315@7 {
compatible = "mediatek,mt6315", "mtk,spmi-pmic";
reg = <0x7 0 0xb 1>;
extbuck_debug {
compatible = "mediatek,extbuck-debug";
};
mt6315_7_regulator: mt6315_7_regulator {
compatible = "mediatek,mt6315_7-regulator";
mt6315_7_vbuck1: 7_vbuck1 {
regulator-compatible = "vbuck1";
regulator-name = "7_vbuck1";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2 4>;
};
mt6315_7_vbuck3: 7_vbuck3 {
regulator-compatible = "vbuck3";
regulator-name = "7_vbuck3";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
};
};
};
};
&gpufreq {
_vgpu-supply = <&mt6315_7_vbuck1>;
_vsram_gpu-supply = <&mt6359p_vsram_others_reg>;
};
&mddriver {
md_vmodem-supply = <&mt6315_3_vbuck1>;
md_vsram-supply = <&mt6315_3_vbuck4>;
md_vnr-supply = <&mt6315_3_vbuck3>;
md_vdigrf-supply = <&mt6359p_vpu_reg>;
};
&ssusb {
port {
mtu3_drd_switch: endpoint@0 {
remote-endpoint = <&usb_role>;
};
};
};