thermal: update raviole thermal table
Test: verified thermal throttling with emul temp Bug: 183571707 Bug: 170653634 Bug: 170670750 Change-Id: Iebfc11483e2ebbf0d7fe59edf8818ccb4325457e
This commit is contained in:
parent
e34a7c4e4e
commit
60d11bce2f
5 changed files with 743 additions and 90 deletions
|
@ -44,3 +44,6 @@ on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_complet
|
||||||
|
|
||||||
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
|
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
|
||||||
write /sys/class/spi_master/spi11/spi11.0/glove_mode 01
|
write /sys/class/spi_master/spi11/spi11.0/glove_mode 01
|
||||||
|
|
||||||
|
on late-init && property:ro.boot.hardware.revision=PROTO1.0
|
||||||
|
setprop vendor.thermal.config "thermal_info_config_WHI_A.json"
|
||||||
|
|
|
@ -44,7 +44,8 @@ PRODUCT_COPY_FILES += \
|
||||||
|
|
||||||
# Thermal Config
|
# Thermal Config
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
device/google/raviole/thermal_info_config_oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
|
device/google/raviole/thermal_info_config_oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
|
||||||
|
device/google/raviole/thermal_info_config_oriole_WHI_A.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_WHI_A.json
|
||||||
|
|
||||||
# MIPI Coex Configs
|
# MIPI Coex Configs
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
|
|
|
@ -28,7 +28,9 @@
|
||||||
"NAN"
|
"NAN"
|
||||||
],
|
],
|
||||||
"VrThreshold":"NAN",
|
"VrThreshold":"NAN",
|
||||||
"Multiplier":0.001
|
"Multiplier":0.001,
|
||||||
|
"PollingDelay":60000,
|
||||||
|
"PassiveDelay":7000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"gnss_tcxo_therm",
|
"Name":"gnss_tcxo_therm",
|
||||||
|
@ -128,12 +130,12 @@
|
||||||
],
|
],
|
||||||
"HotThreshold":[
|
"HotThreshold":[
|
||||||
"NAN",
|
"NAN",
|
||||||
|
"39.0",
|
||||||
|
"43.0",
|
||||||
"45.0",
|
"45.0",
|
||||||
"49.0",
|
"47.0",
|
||||||
"51.0",
|
"52.0",
|
||||||
"53.0",
|
"56.0"
|
||||||
"58.0",
|
|
||||||
"62.0"
|
|
||||||
],
|
],
|
||||||
"HotHysteresis":[
|
"HotHysteresis":[
|
||||||
0.0,
|
0.0,
|
||||||
|
@ -149,50 +151,65 @@
|
||||||
"Monitor":true,
|
"Monitor":true,
|
||||||
"PollingDelay":60000,
|
"PollingDelay":60000,
|
||||||
"PassiveDelay":7000,
|
"PassiveDelay":7000,
|
||||||
"ThrottleType":["None", "None", "None", "PID", "LIMIT", "LIMIT", "LIMIT"],
|
"PIDInfo": {
|
||||||
"K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
|
"K_Po":["NAN", "NAN", 1700, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
|
"K_Pu":["NAN", "NAN", 1700, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"K_I":["NAN", "NAN", "NAN", 10, "NAN", "NAN", "NAN"],
|
"K_I":["NAN", "NAN", 10, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"K_D":["NAN", "NAN", "NAN", 10, "NAN", "NAN", "NAN"],
|
"K_D":["NAN", "NAN", 10, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"I_Max":["NAN", "NAN", "NAN", 500, "NAN", "NAN", "NAN"],
|
"I_Max":["NAN", "NAN", 2000, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"S_Power":["NAN", "NAN", "NAN", 4000, "NAN", "NAN", "NAN"],
|
"S_Power":["NAN", "NAN", 2000, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"MinAllocPower":["NAN", "NAN", "NAN", 2000, "NAN", "NAN", "NAN"],
|
"MinAllocPower":["NAN", "NAN", 2000, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"MaxAllocPower":["NAN", "NAN", "NAN", 7000, "NAN", "NAN", "NAN"],
|
"MaxAllocPower":["NAN", "NAN", 9500, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"I_Cutoff":["NAN", "NAN", "NAN", 1, "NAN", "NAN", "NAN"],
|
"I_Cutoff":["NAN", "NAN", 1, "NAN", "NAN", "NAN", "NAN"]
|
||||||
"CdevRequest":[
|
},
|
||||||
"thermal-cpufreq-0",
|
"BindedCdevInfo": [
|
||||||
"thermal-cpufreq-1",
|
|
||||||
"thermal-cpufreq-2",
|
|
||||||
"thermal-gpufreq-0"
|
|
||||||
],
|
|
||||||
"CdevWeight":[
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
1.0
|
|
||||||
],
|
|
||||||
"CdevCeiling":[
|
|
||||||
3,
|
|
||||||
9,
|
|
||||||
10,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
"LimitInfo": [
|
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-cpufreq-0",
|
"CdevRequest": "thermal-cpufreq-0",
|
||||||
"CdevInfo": [0, 0, 0, 0, 8, 10, 10]
|
"CdevWeightForPID":0.9,
|
||||||
|
"CdevCeilingForPID":8,
|
||||||
|
"LimitInfo": [0, 0, 0, 9, 10, 12, 12],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-cpufreq-1",
|
"CdevRequest": "thermal-cpufreq-1",
|
||||||
"CdevInfo": [0, 0, 0, 0, 11, 13, 13]
|
"CdevWeightForPID":1.1,
|
||||||
|
"CdevCeilingForPID":9,
|
||||||
|
"LimitInfo": [0, 0, 0, 10, 11, 13, 13],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-cpufreq-2",
|
"CdevRequest": "thermal-cpufreq-2",
|
||||||
"CdevInfo": [0, 0, 0, 0, 12, 14, 14]
|
"CdevWeightForPID":2.9,
|
||||||
|
"CdevCeilingForPID":10,
|
||||||
|
"LimitInfo": [0, 0, 0, 11, 12, 14, 14],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-gpufreq-0",
|
"CdevRequest": "thermal-gpufreq-0",
|
||||||
"CdevInfo": [0, 0, 0, 0, 3, 4, 4]
|
"CdevWeightForPID":3.3,
|
||||||
|
"CdevCeilingForPID":7,
|
||||||
|
"LimitInfo": [0, 0, 0, 8, 10, 11, 11],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "fcc",
|
||||||
|
"LimitInfo": [0, 2, 3, 4, 5, 5, 5]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "dc_icl",
|
||||||
|
"LimitInfo": [0, 1, 2, 3, 4, 4, 4]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -218,7 +235,7 @@
|
||||||
"NAN",
|
"NAN",
|
||||||
"NAN",
|
"NAN",
|
||||||
"NAN",
|
"NAN",
|
||||||
"60.0",
|
"55.0",
|
||||||
"NAN"
|
"NAN"
|
||||||
],
|
],
|
||||||
"HotHysteresis":[
|
"HotHysteresis":[
|
||||||
|
@ -567,25 +584,37 @@
|
||||||
"Name":"thermal-cpufreq-0",
|
"Name":"thermal-cpufreq-0",
|
||||||
"Type":"CPU",
|
"Type":"CPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
|
||||||
"State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
|
"State2Power":["1100", "921", "684", "568", "479", "359", "322", "265", "228", "171", "117", "86", "41"],
|
||||||
|
"PowerRail":"S4M_VDD_CPUCL0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"thermal-cpufreq-1",
|
"Name":"thermal-cpufreq-1",
|
||||||
"Type":"CPU",
|
"Type":"CPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
|
||||||
"State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
"State2Power":["1335", "1118", "926", "744", "590", "466", "365", "308", "232", "190", "156", "129", "93", "62"],
|
||||||
|
"PowerRail":"S3M_VDD_CPUCL1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"thermal-cpufreq-2",
|
"Name":"thermal-cpufreq-2",
|
||||||
"Type":"CPU",
|
"Type":"CPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
|
||||||
"State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
"State2Power":["3215", "2986", "2563", "2215", "2036", "1702", "1341", "1191", "964", "791", "658", "519", "420", "344", "176"],
|
||||||
|
"PowerRail":"S2M_VDD_CPUCL2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"thermal-gpufreq-0",
|
"Name":"thermal-gpufreq-0",
|
||||||
"Type":"GPU",
|
"Type":"GPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
|
||||||
"State2Power":["1100", "1000", "900", "800", "700"]
|
"State2Power":["3950", "3368", "2933", "2278", "2075", "1807", "1508", "1305", "1100", "916", "737", "565"],
|
||||||
|
"PowerRail":"S2S_VDD_G3D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"fcc",
|
||||||
|
"Type":"BATTERY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"dc_icl",
|
||||||
|
"Type":"BATTERY"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
591
thermal_info_config_oriole_WHI_A.json
Normal file
591
thermal_info_config_oriole_WHI_A.json
Normal file
|
@ -0,0 +1,591 @@
|
||||||
|
{
|
||||||
|
"Sensors":[
|
||||||
|
{
|
||||||
|
"Name":"battery",
|
||||||
|
"Type":"BATTERY",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"60.0"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"neutral_therm",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"40.0",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"gnss_tcxo_therm",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"qi_therm",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"VIRTUAL-GNSS-BATT",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"Formula":"WEIGHTED_AVG",
|
||||||
|
"Combination":[
|
||||||
|
"gnss_tcxo_therm",
|
||||||
|
"battery"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"0.375",
|
||||||
|
"0.625"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"VIRTUAL-QI-BATT",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"Formula":"WEIGHTED_AVG",
|
||||||
|
"Combination":[
|
||||||
|
"qi_therm",
|
||||||
|
"battery"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"0.25",
|
||||||
|
"0.75"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"VIRTUAL-SKIN",
|
||||||
|
"Type":"SKIN",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"TriggerSensor":"neutral_therm",
|
||||||
|
"Formula":"MAXIMUM",
|
||||||
|
"Combination":[
|
||||||
|
"neutral_therm",
|
||||||
|
"VIRTUAL-GNSS-BATT",
|
||||||
|
"VIRTUAL-QI-BATT"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"1.0",
|
||||||
|
"1.0",
|
||||||
|
"1.0"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"45.0",
|
||||||
|
"49.0",
|
||||||
|
"51.0",
|
||||||
|
"53.0",
|
||||||
|
"58.0",
|
||||||
|
"62.0"
|
||||||
|
],
|
||||||
|
"HotHysteresis":[
|
||||||
|
0.0,
|
||||||
|
1.9,
|
||||||
|
1.9,
|
||||||
|
1.9,
|
||||||
|
1.9,
|
||||||
|
1.9,
|
||||||
|
1.9
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":true,
|
||||||
|
"PollingDelay":60000,
|
||||||
|
"PassiveDelay":7000,
|
||||||
|
"ThrottleType":["None", "None", "None", "PID", "LIMIT", "LIMIT", "LIMIT"],
|
||||||
|
"K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
|
||||||
|
"K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
|
||||||
|
"K_I":["NAN", "NAN", "NAN", 10, "NAN", "NAN", "NAN"],
|
||||||
|
"K_D":["NAN", "NAN", "NAN", 10, "NAN", "NAN", "NAN"],
|
||||||
|
"I_Max":["NAN", "NAN", "NAN", 500, "NAN", "NAN", "NAN"],
|
||||||
|
"S_Power":["NAN", "NAN", "NAN", 4000, "NAN", "NAN", "NAN"],
|
||||||
|
"MinAllocPower":["NAN", "NAN", "NAN", 2000, "NAN", "NAN", "NAN"],
|
||||||
|
"MaxAllocPower":["NAN", "NAN", "NAN", 7000, "NAN", "NAN", "NAN"],
|
||||||
|
"I_Cutoff":["NAN", "NAN", "NAN", 1, "NAN", "NAN", "NAN"],
|
||||||
|
"CdevRequest":[
|
||||||
|
"thermal-cpufreq-0",
|
||||||
|
"thermal-cpufreq-1",
|
||||||
|
"thermal-cpufreq-2",
|
||||||
|
"thermal-gpufreq-0"
|
||||||
|
],
|
||||||
|
"CdevWeight":[
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"CdevCeiling":[
|
||||||
|
3,
|
||||||
|
9,
|
||||||
|
10,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"LimitInfo": [
|
||||||
|
{
|
||||||
|
"CdevRequest": "thermal-cpufreq-0",
|
||||||
|
"CdevInfo": [0, 0, 0, 0, 8, 10, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "thermal-cpufreq-1",
|
||||||
|
"CdevInfo": [0, 0, 0, 0, 11, 13, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "thermal-cpufreq-2",
|
||||||
|
"CdevInfo": [0, 0, 0, 0, 12, 14, 14]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "thermal-gpufreq-0",
|
||||||
|
"CdevInfo": [0, 0, 0, 0, 3, 4, 4]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"cellular-emergency",
|
||||||
|
"Type":"POWER_AMPLIFIER",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"TriggerSensor":"neutral_therm",
|
||||||
|
"Formula":"MAXIMUM",
|
||||||
|
"Combination":[
|
||||||
|
"neutral_therm",
|
||||||
|
"VIRTUAL-GNSS-BATT",
|
||||||
|
"VIRTUAL-QI-BATT"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"1.0",
|
||||||
|
"1.0",
|
||||||
|
"1.0"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"60.0",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"HotHysteresis":[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.9,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"LITTLE",
|
||||||
|
"Type":"CPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"MID",
|
||||||
|
"Type":"CPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"G3D",
|
||||||
|
"Type":"GPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"battery_cycle",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"critical-battery-cell",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"Formula":"COUNT_THRESHOLD",
|
||||||
|
"TriggerSensor": "vdroop1",
|
||||||
|
"Combination":[
|
||||||
|
"battery",
|
||||||
|
"battery_cycle",
|
||||||
|
"vdroop1"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"-10000",
|
||||||
|
"400",
|
||||||
|
"1200"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
3.00,
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"FLASH_LED_REDUCE",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"Formula":"COUNT_THRESHOLD",
|
||||||
|
"TriggerSensor": "vdroop1",
|
||||||
|
"Combination":[
|
||||||
|
"battery",
|
||||||
|
"battery_cycle",
|
||||||
|
"vdroop1"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"-10000",
|
||||||
|
"400",
|
||||||
|
"1200"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
3.00,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true,
|
||||||
|
"SendPowerHint":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soc",
|
||||||
|
"Type":"BCL_PERCENTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
90,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"vdroop1",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
1200,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"vdroop2",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
1200,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"smpl_gm",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
1400,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_cpu1",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
7,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_cpu2",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
12,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_tpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
10.5,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_gpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
13.2,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_cpu2",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
12,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_cpu1",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
7.00,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_tpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
10.5,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_gpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
13.2,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"TPU",
|
||||||
|
"Type":"NPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CoolingDevices":[
|
||||||
|
{
|
||||||
|
"Name":"thermal-cpufreq-0",
|
||||||
|
"Type":"CPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
|
||||||
|
"State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"thermal-cpufreq-1",
|
||||||
|
"Type":"CPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
|
||||||
|
"State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"thermal-cpufreq-2",
|
||||||
|
"Type":"CPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
|
||||||
|
"State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"thermal-gpufreq-0",
|
||||||
|
"Type":"GPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
|
||||||
|
"State2Power":["1100", "1000", "900", "800", "700"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -28,7 +28,9 @@
|
||||||
"NAN"
|
"NAN"
|
||||||
],
|
],
|
||||||
"VrThreshold":"NAN",
|
"VrThreshold":"NAN",
|
||||||
"Multiplier":0.001
|
"Multiplier":0.001,
|
||||||
|
"PollingDelay":60000,
|
||||||
|
"PassiveDelay":7000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"gnss_tcxo_therm",
|
"Name":"gnss_tcxo_therm",
|
||||||
|
@ -128,12 +130,12 @@
|
||||||
],
|
],
|
||||||
"HotThreshold":[
|
"HotThreshold":[
|
||||||
"NAN",
|
"NAN",
|
||||||
"45.0",
|
"40.0",
|
||||||
"49.0",
|
"44.0",
|
||||||
"51.0",
|
"46.0",
|
||||||
|
"48.0",
|
||||||
"53.0",
|
"53.0",
|
||||||
"58.0",
|
"57.0"
|
||||||
"62.0"
|
|
||||||
],
|
],
|
||||||
"HotHysteresis":[
|
"HotHysteresis":[
|
||||||
0.0,
|
0.0,
|
||||||
|
@ -149,50 +151,65 @@
|
||||||
"Monitor":true,
|
"Monitor":true,
|
||||||
"PollingDelay":60000,
|
"PollingDelay":60000,
|
||||||
"PassiveDelay":7000,
|
"PassiveDelay":7000,
|
||||||
"ThrottleType":["None", "None", "None", "PID", "LIMIT", "LIMIT", "LIMIT"],
|
"PIDInfo": {
|
||||||
"K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
|
"K_Po":["NAN", "NAN", 1700, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
|
"K_Pu":["NAN", "NAN", 1700, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"K_I":["NAN", "NAN", "NAN", 10, "NAN", "NAN", "NAN"],
|
"K_I":["NAN", "NAN", 10, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"K_D":["NAN", "NAN", "NAN", 10, "NAN", "NAN", "NAN"],
|
"K_D":["NAN", "NAN", 10, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"I_Max":["NAN", "NAN", "NAN", 500, "NAN", "NAN", "NAN"],
|
"I_Max":["NAN", "NAN", 2000, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"S_Power":["NAN", "NAN", "NAN", 4000, "NAN", "NAN", "NAN"],
|
"S_Power":["NAN", "NAN", 2000, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"MinAllocPower":["NAN", "NAN", "NAN", 2000, "NAN", "NAN", "NAN"],
|
"MinAllocPower":["NAN", "NAN", 2000, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"MaxAllocPower":["NAN", "NAN", "NAN", 7000, "NAN", "NAN", "NAN"],
|
"MaxAllocPower":["NAN", "NAN", 9500, "NAN", "NAN", "NAN", "NAN"],
|
||||||
"I_Cutoff":["NAN", "NAN", "NAN", 1, "NAN", "NAN", "NAN"],
|
"I_Cutoff":["NAN", "NAN", 1, "NAN", "NAN", "NAN", "NAN"]
|
||||||
"CdevRequest":[
|
},
|
||||||
"thermal-cpufreq-0",
|
"BindedCdevInfo": [
|
||||||
"thermal-cpufreq-1",
|
|
||||||
"thermal-cpufreq-2",
|
|
||||||
"thermal-gpufreq-0"
|
|
||||||
],
|
|
||||||
"CdevWeight":[
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
1.0
|
|
||||||
],
|
|
||||||
"CdevCeiling":[
|
|
||||||
3,
|
|
||||||
9,
|
|
||||||
10,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
"LimitInfo": [
|
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-cpufreq-0",
|
"CdevRequest": "thermal-cpufreq-0",
|
||||||
"CdevInfo": [0, 0, 0, 0, 8, 10, 10]
|
"CdevWeightForPID":0.9,
|
||||||
|
"CdevCeilingForPID":8,
|
||||||
|
"LimitInfo": [0, 0, 0, 9, 10, 12, 12],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-cpufreq-1",
|
"CdevRequest": "thermal-cpufreq-1",
|
||||||
"CdevInfo": [0, 0, 0, 0, 11, 13, 13]
|
"CdevWeightForPID":1.1,
|
||||||
|
"CdevCeilingForPID":9,
|
||||||
|
"LimitInfo": [0, 0, 0, 10, 11, 13, 13],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-cpufreq-2",
|
"CdevRequest": "thermal-cpufreq-2",
|
||||||
"CdevInfo": [0, 0, 0, 0, 12, 14, 14]
|
"CdevWeightForPID":2.9,
|
||||||
|
"CdevCeilingForPID":10,
|
||||||
|
"LimitInfo": [0, 0, 0, 11, 12, 14, 14],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CdevRequest": "thermal-gpufreq-0",
|
"CdevRequest": "thermal-gpufreq-0",
|
||||||
"CdevInfo": [0, 0, 0, 0, 3, 4, 4]
|
"CdevWeightForPID":3.3,
|
||||||
|
"CdevCeilingForPID":7,
|
||||||
|
"LimitInfo": [0, 0, 0, 8, 10, 11, 11],
|
||||||
|
"PowerThreshold": [200, 200, 200, 200, 50, 0, 0],
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5,
|
||||||
|
"ReleaseLogic": "DECREASE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "fcc",
|
||||||
|
"LimitInfo": [0, 2, 3, 4, 5, 5, 5]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CdevRequest": "dc_icl",
|
||||||
|
"LimitInfo": [0, 1, 2, 3, 4, 4, 4]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -218,7 +235,7 @@
|
||||||
"NAN",
|
"NAN",
|
||||||
"NAN",
|
"NAN",
|
||||||
"NAN",
|
"NAN",
|
||||||
"60.0",
|
"55.0",
|
||||||
"NAN"
|
"NAN"
|
||||||
],
|
],
|
||||||
"HotHysteresis":[
|
"HotHysteresis":[
|
||||||
|
@ -567,25 +584,37 @@
|
||||||
"Name":"thermal-cpufreq-0",
|
"Name":"thermal-cpufreq-0",
|
||||||
"Type":"CPU",
|
"Type":"CPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
|
||||||
"State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600", "550", "500"]
|
"State2Power":["1100", "921", "684", "568", "479", "359", "322", "265", "228", "171", "117", "86", "41"],
|
||||||
|
"PowerRail":"S4M_VDD_CPUCL0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"thermal-cpufreq-1",
|
"Name":"thermal-cpufreq-1",
|
||||||
"Type":"CPU",
|
"Type":"CPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
|
||||||
"State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
"State2Power":["1335", "1118", "926", "744", "590", "466", "365", "308", "232", "190", "156", "129", "93", "62"],
|
||||||
|
"PowerRail":"S3M_VDD_CPUCL1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"thermal-cpufreq-2",
|
"Name":"thermal-cpufreq-2",
|
||||||
"Type":"CPU",
|
"Type":"CPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
|
||||||
"State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
"State2Power":["3215", "2986", "2563", "2215", "2036", "1702", "1341", "1191", "964", "791", "658", "519", "420", "344", "176"],
|
||||||
|
"PowerRail":"S2M_VDD_CPUCL2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name":"thermal-gpufreq-0",
|
"Name":"thermal-gpufreq-0",
|
||||||
"Type":"GPU",
|
"Type":"GPU",
|
||||||
"WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
|
||||||
"State2Power":["1100", "1000", "900", "800", "700"]
|
"State2Power":["3950", "3368", "2933", "2278", "2075", "1807", "1508", "1305", "1100", "916", "737", "565"],
|
||||||
|
"PowerRail":"S2S_VDD_G3D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"fcc",
|
||||||
|
"Type":"BATTERY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"dc_icl",
|
||||||
|
"Type":"BATTERY"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue