blob: 198f06d8ebf9511d118b5ffdedf6473dfcb1b8ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/* Copyright 2021 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/* Tune the MP2964 IMVP9.1 parameters for brya */
#include "common.h"
#include "compile_time_macros.h"
#include "console.h"
#include "hooks.h"
#include "mp2964.h"
const static struct mp2964_reg_val rail_a[] = {
{ MP2964_MFR_ALT_SET, 0xe081 }, /* ALERT_DELAY = 200ns */
};
const static struct mp2964_reg_val rail_b[] = {
{ MP2964_MFR_ALT_SET, 0xe081 }, /* ALERT_DELAY = 200ns */
};
static void mp2964_on_startup(void)
{
static int chip_updated;
int status;
if (get_board_id() != 1)
return;
if (chip_updated)
return;
chip_updated = 1;
ccprintf("%s: attempting to tune PMIC\n", __func__);
status = mp2964_tune(rail_a, ARRAY_SIZE(rail_a),
rail_b, ARRAY_SIZE(rail_b));
if (status != EC_SUCCESS)
ccprintf("%s: could not update all settings\n", __func__);
}
DECLARE_HOOK(HOOK_CHIPSET_STARTUP, mp2964_on_startup,
HOOK_PRIO_FIRST);
|