304927e0fcc05e2f15053b661009fcc651514862
[platform/kernel/linux-starfive.git] / include / soc / starfive / jh7110_pmic.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * PMIC driver for the StarFive JH7110 SoC
4  *
5  * Copyright (C) 2022 changhuang <changhuang.liang@starfivetech.com>
6  */
7
8 #ifndef __SOC_STARFIVE_JH7110_PMIC_H__
9 #define __SOC_STARFIVE_JH7110_PMIC_H__
10
11 #include <linux/bits.h>
12 #include <linux/types.h>
13
14 #define PMIC_REG_BASE           0x80
15
16 enum pmic_reg {
17         POWER_SW_0_REG = PMIC_REG_BASE+0x00,
18         POWER_SW_1_REG = PMIC_REG_BASE+0x01,
19 };
20
21 enum pmic_power_domian {
22         POWER_SW_0_VDD18_HDMI = 0,
23         POWER_SW_0_VDD18_MIPITX,
24         POWER_SW_0_VDD18_MIPIRX,
25         POWER_SW_0_VDD09_HDMI,
26         POWER_SW_0_VDD09_MIPITX,
27         POWER_SW_0_VDD09_MIPIRX,
28 };
29
30 struct pmic_dev {
31         struct i2c_client *i2c_client;
32 };
33
34 /**
35  * @reg: see enum pmic_reg.
36  * @domian: see enum pmic_power_domian.
37  * @on: power swtich, 1 or 0.
38  */
39 void pmic_set_domain(u8 reg, u8 domain, u8 on);
40
41 #endif