// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (c) 2020 MediaTek Inc. * */ #include /dts-v1/; /plugin/; #include #include #include #include #include #include #include #include #include "mediatek/mt6359.dtsi" #define ROOT_NODE &odm ROOT_NODE { charger: charger { compatible = "mediatek,charger"; gauge = <&mtk_gauge>; charger = <&mt6360_chg>; bootmode = <&chosen>; pmic = <&pmic>; algorithm_name = "Basic"; charger_configuration= <0>; /* common */ battery_cv = <4000000>; 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"; dev-conn = <&ssusb>; vbus-supply = <&otg_vbus>; vbus-volt = <5000000>; charger = <&mt6360_chg>; mediatek,bypss-typec-sink = <1>; vbus-current = <1800000>; }; mmc_fixed_3v3: fixedregulator0 { compatible = "regulator-fixed"; regulator-name = "mmc_power"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; regulator-always-on; }; mmc_fixed_1v8_io: fixedregulator1 { compatible = "regulator-fixed"; regulator-name = "mmc_io"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; enable-active-high; regulator-always-on; }; mtk_ctd: mtk_ctd { compatible = "mediatek,mtk_ctd"; bc12 = <&mt6360_chg>; bc12_sel = <0>; }; 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"; }; tboard_thermistor1: tboard_thermistor1 { compatible = "generic-adc-thermal"; #thermal-sensor-cells = <0>; io-channels = <&auxadc 0>; io-channel-names = "sensor-channel"; temperature-lookup-table = < (-5000) 985 0 860 5000 740 10000 629 15000 530 20000 442 25000 367 30000 304 35000 251 40000 207 45000 171 50000 141 55000 117 60000 97 65000 81 70000 67 75000 56 80000 47 85000 40 90000 34 95000 29 100000 25 105000 21 110000 18 115000 15 120000 13 125000 12>; }; tboard_thermistor2: tboard_thermistor2 { compatible = "generic-adc-thermal"; #thermal-sensor-cells = <0>; io-channels = <&auxadc 0>; io-channel-names = "sensor-channel"; temperature-lookup-table = < (-5000) 985 0 860 5000 740 10000 629 15000 530 20000 442 25000 367 30000 304 35000 251 40000 207 45000 171 50000 141 55000 117 60000 97 65000 81 70000 67 75000 56 80000 47 85000 40 90000 34 95000 29 100000 25 105000 21 110000 18 115000 15 120000 13 125000 12>; }; tboard_thermistor3: tboard_thermistor3 { compatible = "generic-adc-thermal"; #thermal-sensor-cells = <0>; io-channels = <&auxadc 0>; io-channel-names = "sensor-channel"; temperature-lookup-table = < (-5000) 985 0 860 5000 740 10000 629 15000 530 20000 442 25000 367 30000 304 35000 251 40000 207 45000 171 50000 141 55000 117 60000 97 65000 81 70000 67 75000 56 80000 47 85000 40 90000 34 95000 29 100000 25 105000 21 110000 18 115000 15 120000 13 125000 12>; }; usb_p1_vbus: regulator@0 { compatible = "regulator-fixed"; regulator-name = "vbus1"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; regulator-always-on; }; usb_p3_vbus: regulator@1 { compatible = "regulator-fixed"; regulator-name = "vbus3"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; regulator-always-on; }; }; &chosen { atag,videolfb-fb_base_l = <0x7e020000>; atag,videolfb-fb_base_h = <0x0>; atag,videolfb-islcmfound = <1>; atag,videolfb-islcm_inited = <0>; atag,videolfb-fps= <6000>; atag,videolfb-vramSize= <0x1be0000>; atag,videolfb-lcmname= "nt35595_fhd_dsi_cmd_truly_nt50358_drv"; }; &adsp_pcm { mediatek,tdmin-mem-type = <0>; mediatek,ul9-mem-type = <0>; mediatek,ul2-mem-type = <0>; mediatek,dsp-boot-run = <1>; status = "okay"; }; &afe { mediatek,dmic-iir-on; status = "okay"; }; &apu_top { vvpu-supply = <&mt6359_vproc1_reg>; vmdla-supply = <&mt6359_vproc2_reg>; vsram_apu-supply = <&mt6359_vsram_md_reg>; }; &apuspm { vsram-supply = <&mt6359_vsram_md_reg>; apusys_top@MT8195_POWER_DOMAIN_APUSYS_TOP { apusys_top-supply = <&mt6359_vproc1_reg>; }; }; &apusys_power { vvpu-supply = <&mt6359_vproc1_reg>; vmdla-supply = <&mt6359_vproc2_reg>; vsram_apu-supply = <&mt6359_vsram_md_reg>; }; &audio_asrc { status = "okay"; }; &auxadc { status = "okay"; }; &ddr_emi { dvfsrc-helper { vcore-supply = <&mt6359_vgpu11_reg>; status = "okay"; }; }; &disp_dpi1 { status = "okay"; port { dpi1_out: endpoint@0 { remote-endpoint = <&hdmi0_in>; }; }; }; &disp_dsi0 { status = "okay"; #address-cells = <1>; #size-cells = <0>; panel@0 { compatible = "boe,tv101wum-nl6"; reg = <0>; enable-gpios = <&pio 108 0>; leden-gpios = <&pio 137 0>; avdd-gpios = <&pio 138 0>; avee-gpios = <&pio 139 0>; pinctrl-names = "default"; pinctrl-0 = <&panel_pins_default>; pp1800-supply = <&mt_pmic_vtp_ldo_reg>; status = "okay"; port { panel_in: endpoint { remote-endpoint = <&dsi_out>; }; }; }; ports { port { dsi_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; }; &disp_pwm0 { pinctrl-names = "default"; pinctrl-0 = <&pwm0_gpio_def_cfg>; status = "okay"; }; ð { phy-mode ="rgmii-rxid"; phy-handle = <ð_phy0>; snps,reset-gpio = <&pio 93 GPIO_ACTIVE_LOW>; pinctrl-names = "default", "sleep"; pinctrl-0 = <ð_default>; pinctrl-1 = <ð_sleep>; status = "okay"; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; eth_phy0: eth_phy0@1 { compatible = "ethernet-phy-id001c.c916"; reg = <0x1>; }; eth_phy1: eth_phy2@4 { compatible = "ethernet-phy-id001c.c816"; reg = <0x4>; }; }; }; &gpio_key { volinc_key{ debounce-interval = <100>; gpios = <&pio 106 1>; linux,code = <115>; linux,input-type = <1>; }; }; &gpufreq { vgpu-supply = <&mt6315_7_vbuck1>; vsram_gpu-supply = <&mt6359_vsram_others_reg>; }; &hdmi0 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; hdmi0_in: endpoint { remote-endpoint = <&dpi1_out>; }; }; }; }; &hdmirx0 { pinctrl-names = "default"; pinctrl-0 = <&hdmi0_pins_default>; hdmi33v-supply = <&mt6359_vcn33_1_wifi_reg>; hdmi08v-supply = <&mt6359_va09_reg>; status = "okay"; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pin>; clock-frequency = <400000>; status = "okay"; }; &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pin>; clock-frequency = <400000>; status = "okay"; }; &i2c2 { pinctrl-names = "default"; pinctrl-0 = <&i2c2_pin>; clock-frequency = <400000>; status = "okay"; nt50358a@3e { compatible = "nt50358a"; reg = <0x3e>; }; touchscreen: touchscreen@5d { compatible = "hid-over-i2c"; reg = <0x5d>; pinctrl-names = "default"; pinctrl-0 = <&touch_default>; interrupt-parent = <&pio>; interrupts = <132 IRQ_TYPE_EDGE_FALLING>; post-power-on-delay-ms = <100>; hid-descr-addr = <0x0001>; mtk-tpd; }; it5205fn: it5205fn@48 { compatible = "mediatek,it5205fn"; reg = <0x48>; type3v3-supply = <&mt6359_vibr_reg>; status = "okay"; }; }; &i2c3 { pinctrl-names = "default"; pinctrl-0 = <&i2c3_pin>; status = "disabled"; }; &i2c4 { pinctrl-names = "default"; pinctrl-0 = <&i2c4_pin>; status = "disabled"; }; &i2c5 { pinctrl-names = "default"; pinctrl-0 = <&i2c5_pin>; status = "disabled"; }; &i2c6 { pinctrl-names = "default"; pinctrl-0 = <&i2c6_pin>; clock-frequency = <400000>; status = "okay"; #address-cells = <1>; #size-cells = <0>; subpmic_mtk: mt6360_pmu@34 { #interrupt-cells = <2>; status = "ok"; compatible = "mediatek,mt6360_pmu"; reg = <0x34>; wakeup-source; interrupt-controller; pinctrl-names = "default"; pinctrl-0 = <&subpmic_default>; interrupt-parent = <&pio>; interrupts = <101 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 = <4000000>; /* 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>; }; 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 = <3000000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = <0 2>; regulator-always-on; }; 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: 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 100 0x0>; mt6360pd,intr_gpio_num = <100>; 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>; switch = <&typec_mux_switch>; 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; }; }; }; }; &i2c7 { pinctrl-names = "default"; pinctrl-0 = <&i2c7_pin>; status = "disabled"; }; &keypad { pinctrl-names = "default"; pinctrl-0 = <&kpd_gpio>; mediatek,kpd-key-debounce = <1024>; mediatek,kpd-sw-pwrkey = <116>; mediatek,kpd-hw-pwrkey = <8>; mediatek,kpd-use-extend-type = <0>; /*HW Keycode [0~71] -> Linux Keycode*/ mediatek,kpd-hw-map-num = <72>; mediatek,kpd-hw-init-map = <115 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >; mediatek,kpd-pwrkey-eint-gpio = <0>; mediatek,kpd-pwkey-gpio-din = <0>; mediatek,kpd-hw-dl-key0 = <0>; mediatek,kpd-hw-dl-key1 = <1>; mediatek,kpd-hw-dl-key2 = <8>; mediatek,kpd-hw-recovery-key = <0>; mediatek,kpd-hw-factory-key = <1>; status = "okay"; }; &mfg0 { domain-supply = <&mt6315_7_vbuck1>; }; &mipi_tx_config0 { status = "okay"; }; &mmc0 { status = "okay"; pinctrl-names = "default", "state_uhs"; pinctrl-0 = <&mmc0_pins_default>; pinctrl-1 = <&mmc0_pins_uhs>; bus-width = <8>; max-frequency = <200000000>; cap-mmc-highspeed; mmc-hs200-1_8v; mmc-hs400-1_8v; supports-cqe; cap-mmc-hw-reset; no-sdio; no-sd; hs400-ds-delay = <0x14c11>; vmmc-supply = <&mmc_fixed_3v3>; vqmmc-supply = <&mmc_fixed_1v8_io>; non-removable; }; &mmc1 { status = "okay"; pinctrl-names = "default", "state_uhs"; pinctrl-0 = <&mmc1_pins_default>; pinctrl-1 = <&mmc1_pins_uhs>; bus-width = <4>; max-frequency = <200000000>; cap-sd-highspeed; sd-uhs-sdr50; sd-uhs-sdr104; no-mmc; no-sdio; cd-gpios = <&pio 129 GPIO_ACTIVE_HIGH>; vmmc-supply = <&mt_pmic_vmch_ldo_reg>; vqmmc-supply = <&mt_pmic_vmc_ldo_reg>; }; &mt6359codec { mediatek,mic-type-1 = <3>; /* DCC */ }; &mt_pmic_vtp_ldo_reg { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; &pcie0 { pinctrl-names = "default"; pinctrl-0 = <&pcie0_pins_default>; status = "okay"; }; &pcie1 { pinctrl-names = "default"; pinctrl-0 = <&pcie1_pins_default>; status = "okay"; }; &pio { pinctrl-names = "default"; aud_pins_default: audiodefault { pins_cmd_dat { pinmux = , , , , , , , , , , , , , , , , , , , , , , , , ; }; }; eth_default: eth_default { txd_pins { pinmux = , , , ; drive-strength = ; }; cc_pins { pinmux = , , , ; drive-strength = ; }; rxd_pins { pinmux = , , , ; }; mdio_pins { pinmux = , ; input-enable; }; power_pins { pinmux = , ; output-high; }; }; eth_sleep: eth_sleep { txd_pins { pinmux = , , , ; }; cc_pins { pinmux = , , , ; }; rxd_pins { pinmux = , , , ; }; mdio_pins { pinmux = , ; input-disable; bias-disable; }; power_pins { pinmux = , ; input-disable; bias-disable; }; }; hdmi0_pins_default: hdmi0default { hdmirx_hpd { pinmux = ; }; hdmirx_5v { pinmux = ; bias-disable; }; hdmirx_scl { pinmux = ; }; hdmirx_sda { pinmux = ; mediatek,drive-strength-adv = <0>; drive-strength = ; }; }; i2c0_pin: i2c0_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; mediatek,rsel = <7>; mediatek,drive-strength-adv = <7>; }; }; i2c1_pin: i2c1_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; mediatek,rsel = <7>; mediatek,drive-strength-adv = <7>; }; }; i2c2_pin: i2c2_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; mediatek,rsel = <7>; mediatek,drive-strength-adv = <0>; drive-strength = ; }; }; i2c3_pin: i2c3_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; mediatek,rsel = <7>; mediatek,drive-strength-adv = <7>; }; }; i2c4_pin: i2c4_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; mediatek,rsel = <7>; mediatek,drive-strength-adv = <7>; }; }; i2c5_pin: i2c5_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; mediatek,rsel = <7>; mediatek,drive-strength-adv = <7>; }; }; i2c6_pin: i2c6_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; }; }; i2c7_pin: i2c7_pin { pins_bus { pinmux = , ; bias-pull-up = <1>; }; }; kpd_gpio: kpd_gpio { pins_cols { pinmux = , ; input-enable; bias-pull-up; }; pins_rows { pinmux = , ; output-low; bias-disable; }; }; mmc0_pins_default: mmc0default { pins_cmd_dat { pinmux = , , , , , , , , ; input-enable; drive-strength = ; bias-pull-up = ; }; pins_clk { pinmux = ; drive-strength = ; bias-pull-down = ; }; pins_rst { pinmux = ; drive-strength = ; bias-pull-up = ; }; }; mmc0_pins_uhs: mmc0uhs{ pins_cmd_dat { pinmux = , , , , , , , , ; input-enable; drive-strength = ; bias-pull-up = ; }; pins_clk { pinmux = ; drive-strength = ; bias-pull-down = ; }; pins_ds { pinmux = ; drive-strength = ; bias-pull-down = ; }; pins_rst { pinmux = ; drive-strength = ; bias-pull-up = ; }; }; mmc1_pins_default: mmc1-pins-default { pins_cmd_dat { pinmux = , , , , ; input-enable; drive-strength = ; bias-pull-up = ; }; pins_clk { pinmux = ; drive-strength = ; bias-pull-down = ; }; pins_insert { pinmux = ; bias-pull-up; }; }; mmc1_pins_uhs: mmc1-pins-uhs { pins_cmd_dat { pinmux = , , , , ; input-enable; drive-strength = ; bias-pull-up = ; }; pins_clk { pinmux = ; drive-strength = ; bias-pull-down = ; }; }; panel_pins_default: panel_pins_default { pins_cmd_dat { pinmux = , , , ; slew-rate = <1>; output-high; }; }; pcie0_pins_default: pcie0default { pins_cmd_dat { pinmux = , , ; bias-pull-up; }; }; pcie1_pins_default: pcie1default { pins_cmd_dat { pinmux = , , ; bias-pull-up = ; }; }; pwm0_gpio_def_cfg: pwm0default { pins_cmd_dat { pinmux = ; }; }; subpmic_default: subpmicdefault { subpmic_pin_irq: pin_irq { pinmux = ; input-enable; bias-pull-up; }; }; touch_default: touchdefault { touch_pin_irq: pin_irq { pinmux = ; input-enable; bias-pull-up; }; touch_pin_reset: pin_reset { pinmux = ; output-high; }; }; uart0_pin: uart0_pin { uart_pins { pinmux = , ; }; }; u3_p0_vbus: u3_p0vbusdefault { pins_cmd_dat { pinmux = ; input-enable; }; }; }; &pwm { status = "okay"; }; &pwmleds { status = "okay"; }; &scp_dvfs { sshub-vcore-supply = <&mt6359_vgpu11_sshub_reg>; }; &sound { mediatek,hdmi-codec = <&hdmi0>; pinctrl-names = "default"; pinctrl-0 = <&aud_pins_default>; status = "okay"; }; &ssusb { maximum-speed = "high-speed"; mediatek,force-vbus; dr_mode = "peripheral"; /* 1: host, 2: device, 3 dual-mode */ status = "okay"; }; &ssusb2 { vusb33-supply = <&mt6359_vusb_reg>; maximum-speed = "high-speed"; dr_mode = "host"; vbus-supply = <&usb_p3_vbus>; status = "okay"; }; &thermal_zones { ap_ntc1 { polling-delay = <1000>; /* milliseconds */ polling-delay-passive = <0>; /* milliseconds */ thermal-sensors = <&tboard_thermistor1>; }; ap_ntc2 { polling-delay = <1000>; /* milliseconds */ polling-delay-passive = <0>; /* milliseconds */ thermal-sensors = <&tboard_thermistor2>; }; ap_ntc3 { polling-delay = <1000>; /* milliseconds */ polling-delay-passive = <0>; /* milliseconds */ thermal-sensors = <&tboard_thermistor3>; }; pmic_t { polling-delay = <1000>; /* milliseconds */ polling-delay-passive = <1000>; /* milliseconds */ thermal-sensors = <&pmic_temp 0>; trips { pmic_temp_crit: pmic_temp_crit@0 { temperature = <125000>; 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>; }; }; &usb_host0 { status = "okay"; }; &usb_host2 { mediatek,frame-cnt; status = "okay"; }; &u2port0 { status = "okay"; }; &u2port1 { status = "okay"; }; &u2port3 { status = "okay"; }; &u3phy0 { status="okay"; }; &u3phy1 { status="okay"; }; &u3phy3 { status="okay"; }; &u3port0 { status = "okay"; }; &u3port1 { status = "okay"; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pin>; clocks = <&clk26m>, <&clk26m>; status = "okay"; }; &usb30 { phys = <&u2port1 PHY_TYPE_USB2>; vusb33-supply = <&mt6359_vusb_reg>; vbus-supply = <&usb_p1_vbus>; mediatek,u3p-dis-msk = <0x1>; mediatek,runtime-support; mediatek,frame-cnt; wakeup-source; status = "okay"; }; #include "mediatek/cust_mt8195_camera_v4l2.dtsi"