// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* * Copyright (C) 2020 MediaTek Inc. * Author: Seiya Wang */ /dts-v1/; #include "mediatek/mt6873.dtsi" #include "mediatek/mt6359p.dtsi" #include "mediatek/cust_mt6873_msdc.dtsi" #include "mediatek/bat_setting/mt6873_battery_prop.dtsi" #include / { 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>; }; }; }; charger_cooler: charger-cooler { compatible = "mediatek,mt6360-charger-cooler"; #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_target: ap_ntc_trip@0 { temperature = <50000>; hysteresis = <2000>; type = "passive"; }; ap_ntc_crit: ap_ntc_crit@0 { temperature = <100000>; hysteresis = <2000>; type = "critical"; }; }; cooling-maps { map0 { trip = <&ap_ntc_target>; cooling-device = <&charger_cooler THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; 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 = <<epa_ntc_target>; cooling-device = <&mutt_pa1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; map1 { trip = <<epa_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>; 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"; adapter_name = "pd_adapter"; }; 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@34 { status = "ok"; compatible = "mediatek,mt6360"; reg = <0x34>; wakeup-source; interrupt-controller; interrupt-parent = <&pio>; interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 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>; 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>; }; }; }; }; }; mt6360_regulator: regulator { compatible = "mediatek,mt6360-regulator"; pwr_off_seq = [00 00 00 00]; mt6360_mdla_buck_reg: BUCK1 { regulator-compatible = "BUCK1"; regulator-name = "mt6360,buck1"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1300000>; regulator-allowed-modes = ; regulator-always-on; }; BUCK2 { regulator-compatible = "BUCK2"; regulator-name = "mt6360,buck2"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1300000>; regulator-allowed-modes = ; regulator-always-on; }; LDO6 { regulator-compatible = "LDO6"; regulator-name = "mt6360,ldo6"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2100000>; regulator-allowed-modes = ; regulator-always-on; }; LDO7 { regulator-compatible = "LDO7"; regulator-name = "mt6360,ldo7"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2100000>; regulator-allowed-modes = ; regulator-always-on; }; mt_pmic_vfp_ldo_reg: LDO1 { regulator-compatible = "LDO1"; regulator-name = "mt6360,ldo1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = ; }; mt_pmic_vtp_ldo_reg: LDO2 { regulator-compatible = "LDO2"; regulator-name = "vtp"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = ; }; mt_pmic_vmc_ldo_reg: LDO3 { regulator-compatible = "LDO3"; regulator-name = "mt6360,ldo3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = ; }; mt_pmic_vmch_ldo_reg: LDO5 { regulator-compatible = "LDO5"; regulator-name = "mt6360,ldo5"; regulator-min-microvolt = <2700000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = ; }; }; }; mt6360_typec: mt6360_typec@4e { compatible = "mediatek,mt6360_typec"; reg = <0x4e>; mt-tcpc,name = "type_c_port0"; /* tcpc_device's name */ /* 0: Unknown, 1: SNK, 2: SRC, 3: DRP, 4: Try.SRC, 5: Try.SNK */ mt-tcpc,role_def = <5>; 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>; pd-data { pd,vid = <0x29cf>; pd,pid = <0x6360>; pd,source-cap-ext = /bits/ 8 <0xcf 0x29 0x60 0x63 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x07 0x00>; 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>; pd,source-pdo-data = <0x00019096>; /* 5V, 1500 mA */ pd,sink-pdo-size = <1>; pd,sink-pdo-data = <0x000190c8>; /* * No DP, host + device * pd,id-vdo-size = <6>; * pd,id-vdo-data = <0xd14029cf 0x0 0x63600000 0x61000000 0x0 0x41000000>; * With DP * pd,id-vdo-size = <6>; * pd,id-vdo-data = <0xd54029cf 0x0 0x63600000 0x61000000 0x0 0x41000000>; */ pd,id-vdo-size = <6>; pd,id-vdo-data = <0xd14029cf 0x0 0x63600000 0x61000000 0x0 0x41000000>; 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; // attemp_discover_cable_dfp; attemp_enter_dp_mode; attemp_discover_cable; attemp_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 { //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: pmic@3 { compatible = "mediatek,mt6315-regulator"; reg = <0x3 0>; regulators { mt6315_3_vbuck1: 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: 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: 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: pmic@6 { compatible = "mediatek,mt6315-regulator"; reg = <0x6 0>; regulators { mt6315_6_vbuck1: vbuck1 { regulator-compatible = "vbuck1"; regulator-name = "Vbcpu"; 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: vbuck3 { regulator-compatible = "vbuck3"; regulator-name = "Vlcpu"; 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: pmic@7 { compatible = "mediatek,mt6315-regulator"; reg = <0x7 0>; regulators { mt6315_7_vbuck1: vbuck1 { regulator-compatible = "vbuck1"; regulator-name = "Vgpu"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1193750>; regulator-enable-ramp-delay = <256>; regulator-allowed-modes = <0 1 2 4>; }; }; }; }; &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>; }; }; };