Lines Matching full:regmap
22 #include <linux/regmap.h>
82 struct regmap *regmap; member
86 static int rk628_read(struct regmap *regmap, u32 reg) in rk628_read() argument
90 struct rk628_efuse_chip *efuse = container_of(regmap, struct rk628_efuse_chip, regmap); in rk628_read()
92 ret = regmap_read(regmap, reg, &val); in rk628_read()
101 static int rk628_write(struct regmap *regmap, u32 val, u32 reg) in rk628_write() argument
104 struct rk628_efuse_chip *efuse = container_of(regmap, struct rk628_efuse_chip, regmap); in rk628_write()
106 ret = regmap_write(regmap, reg, val); in rk628_write()
117 rk628_write(efuse->regmap, in rk628_efuse_timing_init()
118 rk628_read(efuse->regmap, base + RK628_MOD) & (~RK628_USER_MODE), in rk628_efuse_timing_init()
122 rk628_write(efuse->regmap, (T_CSB_P_S << 16) | T_CSB_P_L, base + T_CSB_P); in rk628_efuse_timing_init()
123 rk628_write(efuse->regmap, (T_PGENB_P_S << 16) | T_PGENB_P_L, base + T_PGENB_P); in rk628_efuse_timing_init()
124 rk628_write(efuse->regmap, (T_LOAD_P_S << 16) | T_LOAD_P_L, base + T_LOAD_P); in rk628_efuse_timing_init()
125 rk628_write(efuse->regmap, (T_ADDR_P_S << 16) | T_ADDR_P_L, base + T_ADDR_P); in rk628_efuse_timing_init()
126 rk628_write(efuse->regmap, (T_STROBE_P_S << 16) | T_STROBE_P_L, base + T_STROBE_P); in rk628_efuse_timing_init()
127 rk628_write(efuse->regmap, (T_CSB_R_S << 16) | T_CSB_R_L, base + T_CSB_R); in rk628_efuse_timing_init()
128 rk628_write(efuse->regmap, (T_PGENB_R_S << 16) | T_PGENB_R_L, base + T_PGENB_R); in rk628_efuse_timing_init()
129 rk628_write(efuse->regmap, (T_LOAD_R_S << 16) | T_LOAD_R_L, base + T_LOAD_R); in rk628_efuse_timing_init()
130 rk628_write(efuse->regmap, (T_ADDR_R_S << 16) | T_ADDR_R_L, base + T_ADDR_R); in rk628_efuse_timing_init()
131 rk628_write(efuse->regmap, (T_STROBE_R_S << 16) | T_STROBE_R_L, base + T_STROBE_R); in rk628_efuse_timing_init()
138 rk628_write(efuse->regmap, in rk628_efuse_timing_deinit()
139 rk628_read(efuse->regmap, base + RK628_MOD) | RK628_USER_MODE, base + RK628_MOD); in rk628_efuse_timing_deinit()
142 rk628_write(efuse->regmap, 0, base + T_CSB_P); in rk628_efuse_timing_deinit()
143 rk628_write(efuse->regmap, 0, base + T_PGENB_P); in rk628_efuse_timing_deinit()
144 rk628_write(efuse->regmap, 0, base + T_LOAD_P); in rk628_efuse_timing_deinit()
145 rk628_write(efuse->regmap, 0, base + T_ADDR_P); in rk628_efuse_timing_deinit()
146 rk628_write(efuse->regmap, 0, base + T_STROBE_P); in rk628_efuse_timing_deinit()
147 rk628_write(efuse->regmap, 0, base + T_CSB_R); in rk628_efuse_timing_deinit()
148 rk628_write(efuse->regmap, 0, base + T_PGENB_R); in rk628_efuse_timing_deinit()
149 rk628_write(efuse->regmap, 0, base + T_LOAD_R); in rk628_efuse_timing_deinit()
150 rk628_write(efuse->regmap, 0, base + T_ADDR_R); in rk628_efuse_timing_deinit()
151 rk628_write(efuse->regmap, 0, base + T_STROBE_R); in rk628_efuse_timing_deinit()
183 rk628_write(efuse->regmap, RK628_AUTO_RD | RK628_AUTO_ENB | in rk628_efuse_read()
187 status = rk628_read(efuse->regmap, efuse->base + RK628_INT_STATUS); in rk628_efuse_read()
192 out_value = rk628_read(efuse->regmap, efuse->base + RK628_DOUT); in rk628_efuse_read()
193 rk628_write(efuse->regmap, RK628_INT_FINISH, efuse->base + RK628_INT_STATUS); in rk628_efuse_read()
257 efuse->regmap = devm_regmap_init_i2c(rk628->client, in rk628_efuse_probe()
259 if (IS_ERR(efuse->regmap)) { in rk628_efuse_probe()
260 ret = PTR_ERR(efuse->regmap); in rk628_efuse_probe()