// SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2019 MediaTek Inc. */ #include &main_pmic{ accdet: accdet { compatible = "mediatek,mt6359-accdet"; accdet-name = "mt63xx-accdet"; accdet-mic-vol = <8>; accdet-plugout-debounce = <1>; accdet-mic-mode = <2>; eint_use_ext_res = <0>; headset-mode-setting = <0x500 0x500 1 0x1f0 0x800 0x800 0x20 0x44 0x4 0x1 0x5 0x3 0x3 0x5 0xe>; headset-use-ap-eint = <0>; headset-eint-num = <0>; headset-eint-trig-mode = <1>; headset-key-mode = <0>; headset-three-key-threshold = <0 80 220 400>; headset-three-key-threshold-CDD = <0 121 192 600>; headset-four-key-threshold = <0 58 121 192 400>; io-channels = <&pmic_auxadc AUXADC_ACCDET>; io-channel-names = "pmic_accdet"; nvmem = <&pmic_efuse>; nvmem-names = "mt63xx-accdet-efuse"; status = "okay"; }; mt6359keys: mt6359keys { compatible = "mediatek,mt6359-keys"; mediatek,long-press-mode = <1>; power-off-time-sec = <0>; power { linux,keycodes = <116>; wakeup-source; }; home { linux,keycodes = <115>; }; }; pmic_auxadc: pmic_auxadc { compatible = "mediatek,pmic-auxadc", "mediatek,mt6359-auxadc"; #io-channel-cells = <1>; batadc { channel = ; resistance-ratio = <7 2>; avg-num = <128>; }; bat_temp { channel = ; resistance-ratio = <5 2>; }; chip_temp { channel = ; }; vcore_temp { channel = ; }; vproc_temp { channel = ; }; vgpu_temp { channel = ; }; accdet { channel = ; }; dcxo_volt { channel = ; resistance-ratio = <3 2>; }; tsx_temp { channel = ; avg-num = <128>; }; hpofs_cal { channel = ; avg-num = <256>; }; dcxo_temp { channel = ; avg-num = <16>; }; vbif { channel = ; resistance-ratio = <5 2>; }; imp { channel = ; resistance-ratio = <7 2>; avg-num = <128>; }; imix_r { channel = ; }; }; mtk_gauge: mtk_gauge { compatible = "mediatek,mt6359-gauge"; charger = <&mt6360_chg>; bootmode = <&chosen>; io-channels = <&pmic_auxadc AUXADC_BAT_TEMP>, <&pmic_auxadc AUXADC_BATADC>, <&pmic_auxadc AUXADC_VBIF>, <&pmic_auxadc AUXADC_IMP>, <&pmic_auxadc AUXADC_IMIX_R>; io-channel-names = "pmic_battery_temp", "pmic_battery_voltage", "pmic_bif_voltage", "pmic_ptim_voltage", "pmic_ptim_r"; nvmem-cells = <&fg_init>, <&fg_soc>; nvmem-cell-names = "initialization", "state-of-charge"; }; mtk_ts_pmic: mtk_ts_pmic { compatible = "mediatek,mtk_ts_pmic"; io-channels = <&pmic_auxadc AUXADC_CHIP_TEMP>, <&pmic_auxadc AUXADC_VCORE_TEMP>, <&pmic_auxadc AUXADC_VPROC_TEMP>, <&pmic_auxadc AUXADC_VGPU_TEMP>, <&pmic_auxadc AUXADC_TSX_TEMP>, <&pmic_auxadc AUXADC_DCXO_TEMP>; io-channel-names = "pmic_chip_temp", "pmic_buck1_temp", "pmic_buck2_temp", "pmic_buck3_temp", "pmic_tsx_temp", "pmic_dcxo_temp"; }; pmic_efuse: pmic_efuse { compatible = "mediatek,mt6359-efuse"; #address-cells = <1>; #size-cells = <1>; }; mtk_dynamic_loading_throttling { compatible = "mediatek,mt6359-dynamic_loading_throttling"; /*charger: mtk_charger_thread*/ mediatek,charger = <&charger>; /*2600~2900mv ,one gear per 50mv*/ uvlo-level = <2600>; io-channels = <&pmic_auxadc AUXADC_IMP>, <&pmic_auxadc AUXADC_IMIX_R>, <&pmic_auxadc AUXADC_BATADC>; io-channel-names = "pmic_ptim", "pmic_imix_r", "pmic_batadc"; }; pmic_lbat_service { compatible = "mediatek,mt6359-lbat_service"; }; mt6359_debug{ compatible = "mediatek,mt63xx-debug"; }; mt63xx-oc-debug { compatible = "mediatek,mt63xx-oc-debug"; }; mt6359regulator: mt6359regulator { compatible = "mediatek,mt6359-regulator"; mt_pmic_vs1_buck_reg: buck_vs1 { regulator-name = "vs1"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2200000>; regulator-enable-ramp-delay = <0>; }; mt_pmic_vgpu11_buck_reg: buck_vgpu11 { regulator-name = "vgpu11"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <5000>; regulator-enable-ramp-delay = <200>; regulator-allowed-modes = <0 1 2>; }; mt_pmic_vmodem_buck_reg: buck_vmodem { regulator-name = "vmodem"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1100000>; regulator-ramp-delay = <10760>; regulator-enable-ramp-delay = <200>; }; mt_pmic_vpu_buck_reg: buck_vpu { regulator-name = "vpu"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <5000>; regulator-enable-ramp-delay = <200>; regulator-allowed-modes = <0 1 2>; }; mt_pmic_vcore_buck_reg: buck_vcore { regulator-name = "vcore"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <5000>; regulator-enable-ramp-delay = <200>; regulator-allowed-modes = <0 1 2>; }; mt_pmic_vs2_buck_reg: buck_vs2 { regulator-name = "vs2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1600000>; regulator-enable-ramp-delay = <0>; }; mt_pmic_vpa_buck_reg: buck_vpa { regulator-name = "vpa"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3650000>; regulator-enable-ramp-delay = <300>; }; mt_pmic_vproc2_buck_reg: buck_vproc2 { regulator-name = "vproc2"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <7500>; regulator-enable-ramp-delay = <200>; regulator-allowed-modes = <0 1 2>; }; mt_pmic_vproc1_buck_reg: buck_vproc1 { regulator-name = "vproc1"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <7500>; regulator-enable-ramp-delay = <200>; regulator-allowed-modes = <0 1 2>; }; mt_pmic_vcore_sshub_buck_reg: buck_vcore_sshub { regulator-name = "vcore_sshub"; regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; }; mt_pmic_vaud18_ldo_reg: ldo_vaud18 { regulator-name = "vaud18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vsim1_ldo_reg: ldo_vsim1 { regulator-name = "vsim1"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3100000>; regulator-enable-ramp-delay = <480>; }; mt_pmic_vibr_ldo_reg: ldo_vibr { regulator-name = "vibr"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vrf12_ldo_reg: ldo_vrf12 { regulator-name = "vrf12"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1300000>; regulator-enable-ramp-delay = <120>; }; mt_pmic_vusb_ldo_reg: ldo_vusb { regulator-name = "vusb"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vsram_proc2_ldo_reg: ldo_vsram_proc2 { regulator-name = "vsram_proc2"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <7500>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vio18_ldo_reg: ldo_vio18 { regulator-name = "vio18"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; regulator-enable-ramp-delay = <960>; }; mt_pmic_vcamio_ldo_reg: ldo_vcamio { regulator-name = "vcamio"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; regulator-enable-ramp-delay = <1920>; }; mt_pmic_vcn18_ldo_reg: ldo_vcn18 { regulator-name = "vcn18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vfe28_ldo_reg: ldo_vfe28 { regulator-name = "vfe28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <120>; }; mt_pmic_vcn13_ldo_reg: ldo_vcn13 { regulator-name = "vcn13"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <1300000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vcn33_1_bt_ldo_reg: ldo_vcn33_1_bt { regulator-name = "vcn33_1_bt"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <3500000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vcn33_1_wifi_ldo_reg: ldo_vcn33_1_wifi { regulator-name = "vcn33_1_wifi"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <3500000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vaux18_ldo_reg: ldo_vaux18 { regulator-name = "vaux18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vsram_others_ldo_reg: ldo_vsram_others { regulator-name = "vsram_others"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <5000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vefuse_ldo_reg: ldo_vefuse { regulator-name = "vefuse"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <2000000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vxo22_ldo_reg: ldo_vxo22 { regulator-name = "vxo22"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2200000>; regulator-enable-ramp-delay = <120>; }; mt_pmic_vrfck_ldo_reg: ldo_vrfck { regulator-name = "vrfck"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1700000>; regulator-enable-ramp-delay = <480>; }; mt_pmic_vbif28_ldo_reg: ldo_vbif28 { regulator-name = "vbif28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vio28_ldo_reg: ldo_vio28 { regulator-name = "vio28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vemc_ldo_reg: ldo_vemc { regulator-name = "vemc"; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vcn33_2_bt_ldo_reg: ldo_vcn33_2_bt { regulator-name = "vcn33_2_bt"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <3500000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vcn33_2_wifi_ldo_reg: ldo_vcn33_2_wifi { regulator-name = "vcn33_2_wifi"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <3500000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_va12_ldo_reg: ldo_va12 { regulator-name = "va12"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1300000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_va09_ldo_reg: ldo_va09 { regulator-name = "va09"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1200000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vrf18_ldo_reg: ldo_vrf18 { regulator-name = "vrf18"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1810000>; regulator-enable-ramp-delay = <120>; }; mt_pmic_vsram_md_ldo_reg: ldo_vsram_md { regulator-name = "vsram_md"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1100000>; regulator-ramp-delay = <10760>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vufs_ldo_reg: ldo_vufs { regulator-name = "vufs"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; regulator-enable-ramp-delay = <1920>; regulator-allowed-modes = <0 1>; }; mt_pmic_vm18_ldo_reg: ldo_vm18 { regulator-name = "vm18"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; regulator-enable-ramp-delay = <1920>; }; mt_pmic_vbbck_ldo_reg: ldo_vbbck { regulator-name = "vbbck"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1200000>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vsram_proc1_ldo_reg: ldo_vsram_proc1 { regulator-name = "vsram_proc1"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1193750>; regulator-ramp-delay = <7500>; regulator-enable-ramp-delay = <240>; }; mt_pmic_vsim2_ldo_reg: ldo_vsim2 { regulator-name = "vsim2"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3100000>; regulator-enable-ramp-delay = <480>; }; mt_pmic_vsram_others_sshub_ldo_reg: ldo_vsram_others_sshub { regulator-name = "vsram_others_sshub"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1193750>; }; }; mtk_rtc: mtk_rtc { compatible = "mediatek,mt6359-rtc"; #address-cells = <1>; #size-cells = <1>; bootmode = <&chosen>; fg_init: fg_init { reg = <0 0x1>; bits = <0 8>; }; fg_soc: fg_soc { reg = <1 0x1>; bits = <0 8>; }; ext_32k: ext_32k { reg = <2 0x1>; bits = <6 1>; }; }; clock_buffer_ctrl: clock_buffer_ctrl { compatible = "mediatek,clock_buffer"; n-clkbuf-pmic-dependent = <7>; clkbuf-pmic-dependent = "pmic-bblplm-hw", "pmic-bblpm-sel", "pmic-ldo-vrfck", "pmic-ldo-vbbck", "pmic-auxout-sel", "pmic-auxout-xo", "pmic-auxout-bblpm-en"; pmic-dcxo-cw = <0x788>; pmic-xo-mode = <0x788 0 0x788 3 0x788 6 0x788 9 0xffff 0xffff 0x79e 9 0x79e 12>; pmic-xo-en = <0x788 2 0x788 5 0x788 8 0x788 11 0xffff 0xffff 0x79e 11 0x79e 14>; pmic-bblpm-sw = <0x788 12>; pmic-srclkeni3 = <0x458 0>; n-pmic-bblplm-hw = <7>; pmic-bblplm-hw = <0x7a8 1 0x7a8 2 0x7a8 3 0x7a8 4 0xffff 0xffff 0x7a8 5 0x7a8 6>; n-pmic-bblpm-sel = <1>; pmic-bblpm-sel = <0x7a8 0>; n-pmic-ldo-vrfck = <2>; pmic-ldo-vrfck = <0x1d1a 0 0x1d1e 14>; n-pmic-ldo-vbbck = <2>; pmic-ldo-vbbck = <0x1d2a 0 0x1d2e 14>; n-pmic-auxout-sel = <4>; pmic-auxout-sel = <0x7b0 0 0x7b0 6 0x7b0 27 0x7b0 39>; n-pmic-auxout-xo = <7>; pmic-auxout-xo = <0x7b2 13 0x7b2 11 0x7b2 9 0x7b2 7 0xffff 0xffff 0x7b2 5 0x7b2 3>; n-pmic-auxout-bblpm-en = <1>; pmic-auxout-bblpm-en = <0x7b2 0>; }; mt6359_snd: mt6359_snd { compatible = "mediatek,mt6359-sound"; mediatek,pwrap-regmap = <&pwrap>; nvmem = <&pmic_efuse>; nvmem-names = "pmic-hp-efuse"; io-channels = <&pmic_auxadc AUXADC_HPOFS_CAL>, <&pmic_auxadc AUXADC_ACCDET>; io-channel-names = "pmic_hpofs_cal", "pmic_accdet"; }; };