~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/mfd/wm831x/otp.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /*
  3  * include/linux/mfd/wm831x/otp.h -- OTP interface for WM831x
  4  *
  5  * Copyright 2009 Wolfson Microelectronics PLC.
  6  *
  7  * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
  8  */
  9 
 10 #ifndef __MFD_WM831X_OTP_H__
 11 #define __MFD_WM831X_OTP_H__
 12 
 13 int wm831x_otp_init(struct wm831x *wm831x);
 14 void wm831x_otp_exit(struct wm831x *wm831x);
 15 
 16 /*
 17  * R30720 (0x7800) - Unique ID 1
 18  */
 19 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 20 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 21 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 22 
 23 /*
 24  * R30721 (0x7801) - Unique ID 2
 25  */
 26 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 27 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 28 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 29 
 30 /*
 31  * R30722 (0x7802) - Unique ID 3
 32  */
 33 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 34 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 35 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 36 
 37 /*
 38  * R30723 (0x7803) - Unique ID 4
 39  */
 40 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 41 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 42 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 43 
 44 /*
 45  * R30724 (0x7804) - Unique ID 5
 46  */
 47 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 48 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 49 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 50 
 51 /*
 52  * R30725 (0x7805) - Unique ID 6
 53  */
 54 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 55 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 56 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 57 
 58 /*
 59  * R30726 (0x7806) - Unique ID 7
 60  */
 61 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 62 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 63 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 64 
 65 /*
 66  * R30727 (0x7807) - Unique ID 8
 67  */
 68 #define WM831X_UNIQUE_ID_MASK                   0xFFFF  /* UNIQUE_ID - [15:0] */
 69 #define WM831X_UNIQUE_ID_SHIFT                       0  /* UNIQUE_ID - [15:0] */
 70 #define WM831X_UNIQUE_ID_WIDTH                      16  /* UNIQUE_ID - [15:0] */
 71 
 72 /*
 73  * R30728 (0x7808) - Factory OTP ID
 74  */
 75 #define WM831X_OTP_FACT_ID_MASK                 0xFFFE  /* OTP_FACT_ID - [15:1] */
 76 #define WM831X_OTP_FACT_ID_SHIFT                     1  /* OTP_FACT_ID - [15:1] */
 77 #define WM831X_OTP_FACT_ID_WIDTH                    15  /* OTP_FACT_ID - [15:1] */
 78 #define WM831X_OTP_FACT_FINAL                   0x0001  /* OTP_FACT_FINAL */
 79 #define WM831X_OTP_FACT_FINAL_MASK              0x0001  /* OTP_FACT_FINAL */
 80 #define WM831X_OTP_FACT_FINAL_SHIFT                  0  /* OTP_FACT_FINAL */
 81 #define WM831X_OTP_FACT_FINAL_WIDTH                  1  /* OTP_FACT_FINAL */
 82 
 83 /*
 84  * R30729 (0x7809) - Factory OTP 1
 85  */
 86 #define WM831X_DC3_TRIM_MASK                    0xF000  /* DC3_TRIM - [15:12] */
 87 #define WM831X_DC3_TRIM_SHIFT                       12  /* DC3_TRIM - [15:12] */
 88 #define WM831X_DC3_TRIM_WIDTH                        4  /* DC3_TRIM - [15:12] */
 89 #define WM831X_DC2_TRIM_MASK                    0x0FC0  /* DC2_TRIM - [11:6] */
 90 #define WM831X_DC2_TRIM_SHIFT                        6  /* DC2_TRIM - [11:6] */
 91 #define WM831X_DC2_TRIM_WIDTH                        6  /* DC2_TRIM - [11:6] */
 92 #define WM831X_DC1_TRIM_MASK                    0x003F  /* DC1_TRIM - [5:0] */
 93 #define WM831X_DC1_TRIM_SHIFT                        0  /* DC1_TRIM - [5:0] */
 94 #define WM831X_DC1_TRIM_WIDTH                        6  /* DC1_TRIM - [5:0] */
 95 
 96 /*
 97  * R30730 (0x780A) - Factory OTP 2
 98  */
 99 #define WM831X_CHIP_ID_MASK                     0xFFFF  /* CHIP_ID - [15:0] */
100 #define WM831X_CHIP_ID_SHIFT                         0  /* CHIP_ID - [15:0] */
101 #define WM831X_CHIP_ID_WIDTH                        16  /* CHIP_ID - [15:0] */
102 
103 /*
104  * R30731 (0x780B) - Factory OTP 3
105  */
106 #define WM831X_OSC_TRIM_MASK                    0x0780  /* OSC_TRIM - [10:7] */
107 #define WM831X_OSC_TRIM_SHIFT                        7  /* OSC_TRIM - [10:7] */
108 #define WM831X_OSC_TRIM_WIDTH                        4  /* OSC_TRIM - [10:7] */
109 #define WM831X_BG_TRIM_MASK                     0x0078  /* BG_TRIM - [6:3] */
110 #define WM831X_BG_TRIM_SHIFT                         3  /* BG_TRIM - [6:3] */
111 #define WM831X_BG_TRIM_WIDTH                         4  /* BG_TRIM - [6:3] */
112 #define WM831X_LPBG_TRIM_MASK                   0x0007  /* LPBG_TRIM - [2:0] */
113 #define WM831X_LPBG_TRIM_SHIFT                       0  /* LPBG_TRIM - [2:0] */
114 #define WM831X_LPBG_TRIM_WIDTH                       3  /* LPBG_TRIM - [2:0] */
115 
116 /*
117  * R30732 (0x780C) - Factory OTP 4
118  */
119 #define WM831X_CHILD_I2C_ADDR_MASK              0x00FE  /* CHILD_I2C_ADDR - [7:1] */
120 #define WM831X_CHILD_I2C_ADDR_SHIFT                  1  /* CHILD_I2C_ADDR - [7:1] */
121 #define WM831X_CHILD_I2C_ADDR_WIDTH                  7  /* CHILD_I2C_ADDR - [7:1] */
122 #define WM831X_CH_AW                            0x0001  /* CH_AW */
123 #define WM831X_CH_AW_MASK                       0x0001  /* CH_AW */
124 #define WM831X_CH_AW_SHIFT                           0  /* CH_AW */
125 #define WM831X_CH_AW_WIDTH                           1  /* CH_AW */
126 
127 /*
128  * R30733 (0x780D) - Factory OTP 5
129  */
130 #define WM831X_CHARGE_TRIM_MASK                 0x003F  /* CHARGE_TRIM - [5:0] */
131 #define WM831X_CHARGE_TRIM_SHIFT                     0  /* CHARGE_TRIM - [5:0] */
132 #define WM831X_CHARGE_TRIM_WIDTH                     6  /* CHARGE_TRIM - [5:0] */
133 
134 /*
135  * R30736 (0x7810) - Customer OTP ID
136  */
137 #define WM831X_OTP_AUTO_PROG                    0x8000  /* OTP_AUTO_PROG */
138 #define WM831X_OTP_AUTO_PROG_MASK               0x8000  /* OTP_AUTO_PROG */
139 #define WM831X_OTP_AUTO_PROG_SHIFT                  15  /* OTP_AUTO_PROG */
140 #define WM831X_OTP_AUTO_PROG_WIDTH                   1  /* OTP_AUTO_PROG */
141 #define WM831X_OTP_CUST_ID_MASK                 0x7FFE  /* OTP_CUST_ID - [14:1] */
142 #define WM831X_OTP_CUST_ID_SHIFT                     1  /* OTP_CUST_ID - [14:1] */
143 #define WM831X_OTP_CUST_ID_WIDTH                    14  /* OTP_CUST_ID - [14:1] */
144 #define WM831X_OTP_CUST_FINAL                   0x0001  /* OTP_CUST_FINAL */
145 #define WM831X_OTP_CUST_FINAL_MASK              0x0001  /* OTP_CUST_FINAL */
146 #define WM831X_OTP_CUST_FINAL_SHIFT                  0  /* OTP_CUST_FINAL */
147 #define WM831X_OTP_CUST_FINAL_WIDTH                  1  /* OTP_CUST_FINAL */
148 
149 /*
150  * R30759 (0x7827) - DBE CHECK DATA
151  */
152 #define WM831X_DBE_VALID_DATA_MASK              0xFFFF  /* DBE_VALID_DATA - [15:0] */
153 #define WM831X_DBE_VALID_DATA_SHIFT                  0  /* DBE_VALID_DATA - [15:0] */
154 #define WM831X_DBE_VALID_DATA_WIDTH                 16  /* DBE_VALID_DATA - [15:0] */
155 
156 
157 #endif
158 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php