]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm64/rockchip/rk805reg.h
MFV 364467:
[FreeBSD/FreeBSD.git] / sys / arm64 / rockchip / rk805reg.h
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3  *
4  * Copyright (c) 2018 Emmanuel Vadot <manu@FreeBSD.org>
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  *
27  * $FreeBSD$
28  */
29
30
31 #ifndef _RK805REG_H_
32 #define  _RK805REG_H_
33
34 #define RK805_CHIP_NAME         0x17
35 #define RK805_CHIP_VER          0x18
36 #define RK805_OTP_VER           0x19
37
38 #define RK805_DCDC_EN           0x23
39 #define RK808_LDO_EN            0x24
40 #define RK805_SLEEP_DCDC_EN     0x25
41 #define RK805_SLEEP_LDO_EN      0x26
42 #define RK805_LDO_EN            0x27
43 #define RK805_SLEEP_LDO_LP_EN   0x2A
44
45 #define RK805_DCDC1_CONFIG      0x2E
46 #define RK805_DCDC1_ON_VSEL     0x2F
47 #define RK805_DCDC1_SLEEP_VSEL  0x30
48 #define RK805_DCDC2_CONFIG      0x32
49 #define RK805_DCDC2_ON_VSEL     0x33
50 #define RK805_DCDC2_SLEEP_VSEL  0x34
51 #define RK805_DCDC3_CONFIG      0x36
52 #define RK805_DCDC4_CONFIG      0x37
53 #define RK805_DCDC4_ON_VSEL     0x38
54 #define RK805_DCDC4_SLEEP_VSEL  0x39
55 #define RK805_LDO1_ON_VSEL      0x3B
56 #define RK805_LDO1_SLEEP_VSEL   0x3C
57 #define RK805_LDO2_ON_VSEL      0x3D
58 #define RK805_LDO2_SLEEP_VSEL   0x3E
59 #define RK805_LDO3_ON_VSEL      0x3F
60 #define RK805_LDO3_SLEEP_VSEL   0x40
61 #define RK808_LDO4_ON_VSEL      0x41
62 #define RK808_LDO4_SLEEP_VSEL   0x42
63 #define RK808_LDO5_ON_VSEL      0x43
64 #define RK808_LDO5_SLEEP_VSEL   0x44
65 #define RK808_LDO6_ON_VSEL      0x45
66 #define RK808_LDO6_SLEEP_VSEL   0x46
67 #define RK808_LDO7_ON_VSEL      0x47
68 #define RK808_LDO7_SLEEP_VSEL   0x48
69 #define RK808_LDO8_ON_VSEL      0x49
70 #define RK808_LDO8_SLEEP_VSEL   0x4A
71
72 enum rk805_regulator {
73         RK805_DCDC1 = 0,
74         RK805_DCDC2,
75         RK805_DCDC3,
76         RK805_DCDC4,
77         RK805_LDO1,
78         RK805_LDO2,
79         RK805_LDO3,
80 };
81
82 enum rk808_regulator {
83         RK808_DCDC1 = 0,
84         RK808_DCDC2,
85         RK808_DCDC3,
86         RK808_DCDC4,
87         RK808_LDO1,
88         RK808_LDO2,
89         RK808_LDO3,
90         RK808_LDO4,
91         RK808_LDO5,
92         RK808_LDO6,
93         RK808_LDO7,
94         RK808_LDO8,
95         RK808_SWITCH1,
96         RK808_SWITCH2,
97 };
98
99 #endif /* _RK805REG_H_ */