Lines Matching full:svs
37 /* svs bank mode support */
43 /* svs bank volt flags */
50 /* svs bank register fields and common configuration */
123 /* SVS Thermal Coefficients */
130 /* svs bank related setting */
177 * enum svsb_sw_id - SVS Bank Software ID
193 * enum svsb_type - SVS Bank 2-line: Type and Role
207 * enum svsb_phase - svs bank phase enumeration
208 * @SVSB_PHASE_ERROR: svs bank encounters unexpected condition
209 * @SVSB_PHASE_INIT01: svs bank basic init for data calibration
210 * @SVSB_PHASE_INIT02: svs bank can provide voltages to opp table
211 * @SVSB_PHASE_MON: svs bank can provide voltages with thermal effect
212 * @SVSB_PHASE_MAX: total number of svs bank phase (debug purpose)
214 * Each svs bank has its own independent phase and we enable each svs bank by
215 * running their phase orderly. However, when svs bank encounters unexpected
216 * condition, it will fire an irq (PHASE_ERROR) to inform svs software.
218 * svs bank general phase-enabled order:
373 * struct svs_platform - svs platform control
374 * @base: svs platform register base
375 * @dev: svs platform device
376 * @main_clk: main clock for svs bank
377 * @banks: svs banks that svs platform supports
378 * @rst: svs platform reset control
379 * @efuse_max: total number of svs efuse
381 * @regs: svs platform registers map
382 * @efuse: svs efuse data received from NVMEM framework
385 * @bank_max: total number of svs banks
414 * struct svs_bank_pdata - SVS Bank immutable config parameters
430 * @cpu_id: CPU core ID for SVS CPU bank use only
435 * @type: SVS Bank Type (1 or 2-line) and Role (high/low)
468 * struct svs_bank - svs bank representation
469 * @pdata: SVS Bank immutable config parameters
495 * @bts: svs efuse data
496 * @mts: svs efuse data
497 * @bdes: svs efuse data
498 * @mdes: svs efuse data
499 * @mtdes: svs efuse data
500 * @dcbdet: svs efuse data
501 * @dcmdet: svs efuse data
505 * Svs bank will generate suitable voltages by below general math equation
860 const char *d = "/sys/kernel/debug/svs"; in svs_create_debug_cmds()
877 svs_dir = debugfs_create_dir("svs", NULL); in svs_create_debug_cmds()
1043 /* Override svs bank voltages */ in svs_get_bank_volts_v3()
1183 /* Override svs bank voltages */ in svs_get_bank_volts_v2()
1391 /* Find out which svs bank fires interrupt */ in svs_isr()
1450 /* Svs bank init01 preparation - power enable */ in svs_init01()
1485 * Svs bank init01 preparation - vboot voltage adjustment in svs_init01()
1486 * Sometimes two svs banks use the same buck. Therefore, in svs_init01()
1487 * we have to set each svs bank to target voltage(vboot) first. in svs_init01()
1534 /* Svs bank init01 begins */ in svs_init01()
1739 dev_err(svsp->dev, "cannot enable main_clk, disable svs\n"); in svs_resume()
1902 /* If at least two fuse arrays are populated, SVS is calibrated */ in svs_is_available()
1926 /* Get golden temperature from SVS-Thermal calibration */ in svs_common_parse_efuse()
1932 /* Parse fused SVS calibration */ in svs_common_parse_efuse()
1981 /* Svs efuse parsing */ in svs_mt8183_efuse_parsing()
2176 "cannot get svs reset control\n"); in svs_mt8192_platform_probe()
2740 .name = "mt8195-svs",
2753 .name = "mt8192-svs",
2767 .name = "mt8188-svs",
2781 .name = "mt8186-svs",
2795 .name = "mt8183-svs",
2808 { .compatible = "mediatek,mt8195-svs", .data = &svs_mt8195_platform_data },
2809 { .compatible = "mediatek,mt8192-svs", .data = &svs_mt8192_platform_data },
2810 { .compatible = "mediatek,mt8188-svs", .data = &svs_mt8188_platform_data },
2811 { .compatible = "mediatek,mt8186-svs", .data = &svs_mt8186_platform_data },
2812 { .compatible = "mediatek,mt8183-svs", .data = &svs_mt8183_platform_data },
2839 ret = svs_get_efuse_data(svsp, "svs-calibration-data", in svs_probe()
2842 return dev_err_probe(&pdev->dev, ret, "Cannot read SVS calibration\n"); in svs_probe()
2847 dev_err_probe(&pdev->dev, ret, "Cannot read SVS-Thermal calibration\n"); in svs_probe()
2858 dev_err_probe(svsp->dev, ret, "svs bank resource setup fail\n"); in svs_probe()
2883 ret = dev_err_probe(svsp->dev, -EINVAL, "cannot find svs register base\n"); in svs_probe()
2896 dev_err_probe(svsp->dev, ret, "svs start fail\n"); in svs_probe()
2903 dev_err_probe(svsp->dev, ret, "svs create debug cmds fail\n"); in svs_probe()
2926 .name = "mtk-svs",
2936 MODULE_DESCRIPTION("MediaTek SVS driver");