545 lines
14 KiB
Text
545 lines
14 KiB
Text
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
/*
|
|
* Copyright (c) 2020 MediaTek Inc.
|
|
*/
|
|
#include <dt-bindings/iio/mt635x-auxadc.h>
|
|
|
|
&pwrap {
|
|
pmic: mt6359 {
|
|
compatible = "mediatek,mt6359";
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupt-parent = <&pio>;
|
|
interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
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-eint-level-pol = <4>;
|
|
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";
|
|
};
|
|
|
|
mt63xx_debug {
|
|
compatible = "mediatek,mt63xx-debug";
|
|
};
|
|
|
|
mt63xx-oc-debug {
|
|
compatible = "mediatek,mt63xx-oc-debug";
|
|
};
|
|
|
|
mtk_gauge: mtk_gauge {
|
|
compatible = "mediatek,mt6359p-gauge";
|
|
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";
|
|
};
|
|
|
|
pmic_auxadc: mt635x-auxadc {
|
|
compatible = "mediatek,mt6359-auxadc";
|
|
#io-channel-cells = <1>;
|
|
|
|
batadc {
|
|
channel = <AUXADC_BATADC>;
|
|
resistance-ratio = <7 2>;
|
|
avg-num = <128>;
|
|
};
|
|
bat_temp {
|
|
channel = <AUXADC_BAT_TEMP>;
|
|
resistance-ratio = <5 2>;
|
|
};
|
|
chip_temp {
|
|
channel = <AUXADC_CHIP_TEMP>;
|
|
};
|
|
vcore_temp {
|
|
channel = <AUXADC_VCORE_TEMP>;
|
|
};
|
|
vproc_temp {
|
|
channel = <AUXADC_VPROC_TEMP>;
|
|
};
|
|
vgpu_temp {
|
|
channel = <AUXADC_VGPU_TEMP>;
|
|
};
|
|
accdet {
|
|
channel = <AUXADC_ACCDET>;
|
|
};
|
|
dcxo_volt {
|
|
channel = <AUXADC_VDCXO>;
|
|
resistance-ratio = <3 2>;
|
|
};
|
|
tsx_temp {
|
|
channel = <AUXADC_TSX_TEMP>;
|
|
avg-num = <128>;
|
|
};
|
|
hpofs_cal {
|
|
channel = <AUXADC_HPOFS_CAL>;
|
|
avg-num = <256>;
|
|
};
|
|
dcxo_temp {
|
|
channel = <AUXADC_DCXO_TEMP>;
|
|
avg-num = <16>;
|
|
};
|
|
vbif {
|
|
channel = <AUXADC_VBIF>;
|
|
resistance-ratio = <5 2>;
|
|
};
|
|
imp {
|
|
channel = <AUXADC_IMP>;
|
|
resistance-ratio = <7 2>;
|
|
avg-num = <128>;
|
|
};
|
|
imix_r {
|
|
channel = <AUXADC_IMIX_R>;
|
|
};
|
|
};
|
|
|
|
mt6359codec: mt6359codec {
|
|
mediatek,dmic-mode = <0>; /* 2-wire */
|
|
mediatek,mic-type-0 = <0>; /* Idle */
|
|
mediatek,mic-type-1 = <0>; /* Idle */
|
|
mediatek,mic-type-2 = <0>; /* Idle */
|
|
};
|
|
|
|
mt6359rtc: mt6359rtc {
|
|
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>;
|
|
};
|
|
|
|
mt6359regulator: mt6359regulator {
|
|
compatible = "mediatek,mt6359-regulator";
|
|
|
|
mt6359_vs1_reg: buck_vs1 {
|
|
regulator-name = "vs1";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <2200000>;
|
|
regulator-enable-ramp-delay = <0>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vgpu11_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>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vmodem_reg: buck_vmodem {
|
|
regulator-name = "vmodem";
|
|
regulator-min-microvolt = <400000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-ramp-delay = <10760>;
|
|
regulator-enable-ramp-delay = <200>;
|
|
};
|
|
|
|
mt6359_vpu_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>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vcore_reg: buck_vcore {
|
|
regulator-name = "vcore";
|
|
regulator-min-microvolt = <506250>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-ramp-delay = <5000>;
|
|
regulator-enable-ramp-delay = <200>;
|
|
regulator-allowed-modes = <0 1 2>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vs2_reg: buck_vs2 {
|
|
regulator-name = "vs2";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1600000>;
|
|
regulator-enable-ramp-delay = <0>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vpa_reg: buck_vpa {
|
|
regulator-name = "vpa";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <3650000>;
|
|
regulator-enable-ramp-delay = <300>;
|
|
};
|
|
|
|
mt6359_vproc2_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>;
|
|
};
|
|
|
|
mt6359_vproc1_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>;
|
|
};
|
|
|
|
mt6359_vgpu11_sshub_reg: buck_vgpu11_sshub {
|
|
regulator-name = "vgpu11_sshub";
|
|
regulator-min-microvolt = <400000>;
|
|
regulator-max-microvolt = <1193750>;
|
|
};
|
|
|
|
mt6359_vaud18_reg: ldo_vaud18 {
|
|
regulator-name = "vaud18";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vsim1_reg: ldo_vsim1 {
|
|
regulator-name = "vsim1";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <3100000>;
|
|
regulator-enable-ramp-delay = <480>;
|
|
};
|
|
|
|
mt6359_vibr_reg: ldo_vibr {
|
|
regulator-name = "vibr";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vrf12_reg: ldo_vrf12 {
|
|
regulator-name = "vrf12";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-enable-ramp-delay = <480>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vusb_reg: ldo_vusb {
|
|
regulator-name = "vusb";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-enable-ramp-delay = <960>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vsram_proc2_reg: ldo_vsram_proc2 {
|
|
regulator-name = "vsram_proc2";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1293750>;
|
|
regulator-ramp-delay = <7500>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vio18_reg: ldo_vio18 {
|
|
regulator-name = "vio18";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-enable-ramp-delay = <960>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vcamio_reg: ldo_vcamio {
|
|
regulator-name = "vcamio";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-enable-ramp-delay = <1920>;
|
|
};
|
|
|
|
mt6359_vcn18_reg: ldo_vcn18 {
|
|
regulator-name = "vcn18";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vfe28_reg: ldo_vfe28 {
|
|
regulator-name = "vfe28";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-enable-ramp-delay = <120>;
|
|
};
|
|
|
|
mt6359_vcn13_reg: ldo_vcn13 {
|
|
regulator-name = "vcn13";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vcn33_1_bt_reg: ldo_vcn33_1_bt {
|
|
regulator-name = "vcn33_1_bt";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3500000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vcn33_1_wifi_reg: ldo_vcn33_1_wifi {
|
|
regulator-name = "vcn33_1_wifi";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3500000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vaux18_reg: ldo_vaux18 {
|
|
regulator-name = "vaux18";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vsram_others_reg: ldo_vsram_others {
|
|
regulator-name = "vsram_others";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1293750>;
|
|
regulator-ramp-delay = <5000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vefuse_reg: ldo_vefuse {
|
|
regulator-name = "vefuse";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <2000000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vxo22_reg: ldo_vxo22 {
|
|
regulator-name = "vxo22";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2200000>;
|
|
regulator-enable-ramp-delay = <480>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vrfck_reg: ldo_vrfck {
|
|
regulator-name = "vrfck";
|
|
regulator-min-microvolt = <1240000>;
|
|
regulator-max-microvolt = <1600000>;
|
|
regulator-enable-ramp-delay = <480>;
|
|
};
|
|
|
|
mt6359_vbif28_reg: ldo_vbif28 {
|
|
regulator-name = "vbif28";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vio28_reg: ldo_vio28 {
|
|
regulator-name = "vio28";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-enable-ramp-delay = <1920>;
|
|
};
|
|
|
|
mt6359_vemc_reg: ldo_vemc_1 {
|
|
regulator-name = "vemc";
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vcn33_2_bt_reg: ldo_vcn33_2_bt {
|
|
regulator-name = "vcn33_2_bt";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3500000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vcn33_2_wifi_reg: ldo_vcn33_2_wifi {
|
|
regulator-name = "vcn33_2_wifi";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3500000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_va12_reg: ldo_va12 {
|
|
regulator-name = "va12";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-enable-ramp-delay = <960>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_va09_reg: ldo_va09 {
|
|
regulator-name = "va09";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-enable-ramp-delay = <960>;
|
|
};
|
|
|
|
mt6359_vrf18_reg: ldo_vrf18 {
|
|
regulator-name = "vrf18";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1810000>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vsram_md_reg: ldo_vsram_md {
|
|
regulator-name = "vsram_md";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1293750>;
|
|
regulator-ramp-delay = <10760>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
};
|
|
|
|
mt6359_vufs_reg: ldo_vufs {
|
|
regulator-name = "vufs";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-enable-ramp-delay = <1920>;
|
|
regulator-allowed-modes = <0 1>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vm18_reg: ldo_vm18 {
|
|
regulator-name = "vm18";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-enable-ramp-delay = <1920>;
|
|
};
|
|
|
|
mt6359_vbbck_reg: ldo_vbbck {
|
|
regulator-name = "vbbck";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-enable-ramp-delay = <480>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vsram_proc1_reg: ldo_vsram_proc1 {
|
|
regulator-name = "vsram_proc1";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1293750>;
|
|
regulator-ramp-delay = <7500>;
|
|
regulator-enable-ramp-delay = <240>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
mt6359_vsim2_reg: ldo_vsim2 {
|
|
regulator-name = "vsim2";
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <3100000>;
|
|
regulator-enable-ramp-delay = <480>;
|
|
};
|
|
|
|
mt6359_vsram_others_sshub_ldo: ldo_vsram_others_sshub {
|
|
regulator-name = "vsram_others_sshub";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1193750>;
|
|
};
|
|
};
|
|
|
|
pmic_efuse: pmic_efuse {
|
|
compatible = "mediatek,mt6359-efuse";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
thermal_efuse_data1: e_data1 {
|
|
reg = <0x3e 10>;
|
|
};
|
|
};
|
|
|
|
pmic_key: pmic_key {
|
|
compatible = "mediatek,mt6359-keys";
|
|
mediatek,long-press-mode = <1>;
|
|
power-off-time-sec = <0>;
|
|
power_key{
|
|
linux,keycodes = <116>;
|
|
wakeup-source;
|
|
};
|
|
home_key{
|
|
linux,keycodes = <114>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
};
|
|
};
|