]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm64/rockchip/rk805reg.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[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 #ifndef _RK805REG_H_
31 #define  _RK805REG_H_
32
33 #define RK805_CHIP_NAME         0x17
34 #define RK805_CHIP_VER          0x18
35 #define RK805_OTP_VER           0x19
36
37 #define RK805_DCDC_EN           0x23
38 #define RK808_LDO_EN            0x24
39 #define RK805_SLEEP_DCDC_EN     0x25
40 #define RK805_SLEEP_LDO_EN      0x26
41 #define RK805_LDO_EN            0x27
42 #define RK805_SLEEP_LDO_LP_EN   0x2A
43
44 #define RK805_DCDC1_CONFIG      0x2E
45 #define RK805_DCDC1_ON_VSEL     0x2F
46 #define RK805_DCDC1_SLEEP_VSEL  0x30
47 #define RK805_DCDC2_CONFIG      0x32
48 #define RK805_DCDC2_ON_VSEL     0x33
49 #define RK805_DCDC2_SLEEP_VSEL  0x34
50 #define RK805_DCDC3_CONFIG      0x36
51 #define RK805_DCDC4_CONFIG      0x37
52 #define RK805_DCDC4_ON_VSEL     0x38
53 #define RK805_DCDC4_SLEEP_VSEL  0x39
54 #define RK805_LDO1_ON_VSEL      0x3B
55 #define RK805_LDO1_SLEEP_VSEL   0x3C
56 #define RK805_LDO2_ON_VSEL      0x3D
57 #define RK805_LDO2_SLEEP_VSEL   0x3E
58 #define RK805_LDO3_ON_VSEL      0x3F
59 #define RK805_LDO3_SLEEP_VSEL   0x40
60 #define RK808_LDO4_ON_VSEL      0x41
61 #define RK808_LDO4_SLEEP_VSEL   0x42
62 #define RK808_LDO5_ON_VSEL      0x43
63 #define RK808_LDO5_SLEEP_VSEL   0x44
64 #define RK808_LDO6_ON_VSEL      0x45
65 #define RK808_LDO6_SLEEP_VSEL   0x46
66 #define RK808_LDO7_ON_VSEL      0x47
67 #define RK808_LDO7_SLEEP_VSEL   0x48
68 #define RK808_LDO8_ON_VSEL      0x49
69 #define RK808_LDO8_SLEEP_VSEL   0x4A
70
71 enum rk805_regulator {
72         RK805_DCDC1 = 0,
73         RK805_DCDC2,
74         RK805_DCDC3,
75         RK805_DCDC4,
76         RK805_LDO1,
77         RK805_LDO2,
78         RK805_LDO3,
79 };
80
81 enum rk808_regulator {
82         RK808_DCDC1 = 0,
83         RK808_DCDC2,
84         RK808_DCDC3,
85         RK808_DCDC4,
86         RK808_LDO1,
87         RK808_LDO2,
88         RK808_LDO3,
89         RK808_LDO4,
90         RK808_LDO5,
91         RK808_LDO6,
92         RK808_LDO7,
93         RK808_LDO8,
94         RK808_SWITCH1,
95         RK808_SWITCH2,
96 };
97
98 #endif /* _RK805REG_H_ */