| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

LTC2936.h
Go to the documentation of this file.
1 /*!
2 LTC2936: Programable Hex Voltage Supervisor with Comparator Outputs and EEPROM
3
4 @verbatim
5
6 @endverbatim
7
8 http://www.linear.com/product/LTC2936
9
10 http://www.linear.com/demo/DC1633B
11
12
13 Copyright 2018(c) Analog Devices, Inc.
14
15 All rights reserved.
16
17 Redistribution and use in source and binary forms, with or without
18 modification, are permitted provided that the following conditions are met:
19 - Redistributions of source code must retain the above copyright
20 notice, this list of conditions and the following disclaimer.
21 - Redistributions in binary form must reproduce the above copyright
22 notice, this list of conditions and the following disclaimer in
23 the documentation and/or other materials provided with the
24 distribution.
25 - Neither the name of Analog Devices, Inc. nor the names of its
26 contributors may be used to endorse or promote products derived
27 from this software without specific prior written permission.
28 - The use of this software may or may not infringe the patent rights
29 of one or more patent holders. This license does not release you
30 from the requirement that you obtain separate licenses from these
31 patent holders to use this software.
32 - Use of the software either in source or binary form, must be run
33 on or directly connected to an Analog Devices Inc. component.
34
35 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
36 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
37 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
38 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
39 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
40 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
41 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
42 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
43 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
44 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45 */
46
47 //! @ingroup Power_System_Management
48 //! @{
49 //! @defgroup LTC2936 LTC2936: Programable Hex Voltage Supervisor with Comparator Outputs and EEPROM
50 //! @}
51
52 /*! @file
53 @ingroup LTC2936
54 Header for LTC2936: Programable Hex Voltage Supervisor with Comparator Outputs and EEPROM
55 */
56
57 #ifndef LTC2936_h
58 #define LTC2936_h
59
60 //! @name LTC2933 DEVICE I2C ADDRESSES (7-bit)
61 // GLOBAL ADDRESS
62 #define LTC2936_I2C_GLOBAL_ADDRESS 0x73
63 #define LTC2936_I2C_ARA_ADDRESS 0x0C
64
65 //DEVICE ADDRESSES (ASEL1,ASEL0)
66 //#define LTC2936_I2C_ADDRESS 0x50 // 00 -- WARNING: SAME ADDRESS AS DC1605B EEPROM
67 //#define LTC2936_I2C_ADDRESS 0x51 // 0Z -- WARNING: SAME ADDRESS AS DC1605B EEPROM
68 //#define LTC2936_I2C_ADDRESS 0x52 // 01 -- WARNING: SAME ADDRESS AS DC1605B EEPROM
69 //#define LTC2936_I2C_ADDRESS 0x53 // Z0 -- WARNING: SAME ADDRESS AS DC1605B EEPROM
70 //#define LTC2936_I2C_ADDRESS 0x54 // ZZ -- WARNING: SAME ADDRESS AS DC1605B EEPROM
71 //#define LTC2936_I2C_ADDRESS 0x55 // Z1 -- WARNING: SAME ADDRESS AS DC1605B EEPROM
72 //#define LTC2936_I2C_ADDRESS 0x58 // 10
73 //#define LTC2936_I2C_ADDRESS 0x59 // 1Z
74 //#define LTC2936_I2C_ADDRESS 0x5A // 11
75 //! @}
76
77 // WARNING: The DC1605B contains a indentity EEPROM that answers to addresses 0x5n
78 // WARNING: where n = 0,1,2,3,4,5,6,7
79 // WARNING: Unfortunately, the Linduino ties the EEPROM's I2C bus into the main I2C bus
80 // WARNING: and essentially reserves these addresses so they cannot be used by the DUT
81 // WARNING: Consequently, when using Linduino, only LTC2936 addresses 0x58, 0x59, and
82 // WARNING: 0x5A are usable.
83 // WARNING: YOU MUST SET JUMPER ASEL1 = 1 !
84 // NOTE: The above situation only applies to the DC1605B board with Linduino
85 // NOTE: When the LTC2936 is used in a customer system, different addresses will apply
86
87 //! @name LTC2936 REGISTER DEFINITIONS
88 #define LTC2936_WRITE_PROTECT 0x00
89 #define LTC2936_GPI_CONFIG 0x01
90 #define LTC2936_GPIO1_CONFIG 0x02
91 #define LTC2936_GPIO2_3_CONFIG 0x03
92 #define LTC2936_V1_THR 0x04
93 #define LTC2936_V2_THR 0x05
94 #define LTC2936_V3_THR 0x06
95 #define LTC2936_V4_THR 0x07
96 #define LTC2936_V5_THR 0x08
97 #define LTC2936_V6_THR 0x09
98 #define LTC2936_V1_CONFIG 0x0A
99 #define LTC2936_V2_CONFIG 0x0B
100 #define LTC2936_V3_CONFIG 0x0C
101 #define LTC2936_V4_CONFIG 0x0D
102 #define LTC2936_V5_CONFIG 0x0E
103 #define LTC2936_V6_CONFIG 0x0F
104 // 0x10
105 #define LTC2936_HISTORY_WORD 0x11
106 // 0x12
107 // ...
108 // 0x19
109 #define LTC2936_PADS 0x1A
110 #define LTC2936_CLEAR_HISTORY 0x1B
111 #define LTC2936_STORE_USER 0x1C
112 #define LTC2936_RESTORE_USER 0x1D
113 #define LTC2936_BACKUP_WORD 0x1E
114 #define LTC2936_STATUS_WORD 0x1F
115 //! @}
116
117 #endif