Lines Matching refs:reg
21 static bool rt700_readable_register(struct device *dev, unsigned int reg) in rt700_readable_register() argument
23 switch (reg) { in rt700_readable_register()
54 static bool rt700_volatile_register(struct device *dev, unsigned int reg) in rt700_volatile_register() argument
56 switch (reg) { in rt700_volatile_register()
84 static int rt700_sdw_read(void *context, unsigned int reg, unsigned int *val) in rt700_sdw_read() argument
93 if (reg > 0xffff) in rt700_sdw_read()
96 mask = reg & 0xf000; in rt700_sdw_read()
99 val2 = reg & 0xff; in rt700_sdw_read()
100 reg = reg >> 8; in rt700_sdw_read()
101 nid = reg & 0xff; in rt700_sdw_read()
102 ret = regmap_write(rt700->sdw_regmap, reg, 0); in rt700_sdw_read()
105 reg2 = reg + 0x1000; in rt700_sdw_read()
122 reg += 0x8000; in rt700_sdw_read()
123 ret = regmap_write(rt700->sdw_regmap, reg, *val); in rt700_sdw_read()
127 reg += 0x2000; in rt700_sdw_read()
128 reg |= 0x800; in rt700_sdw_read()
130 reg, ((*val >> 8) & 0xff)); in rt700_sdw_read()
133 reg2 = reg + 0x1000; in rt700_sdw_read()
138 } else if ((reg & 0xff00) == 0x8300) { /* for R channel */ in rt700_sdw_read()
139 reg2 = reg - 0x1000; in rt700_sdw_read()
145 ret = regmap_write(rt700->sdw_regmap, reg, (*val & 0xff)); in rt700_sdw_read()
150 reg, ((*val >> 8) & 0xff)); in rt700_sdw_read()
153 reg2 = reg + 0x1000; in rt700_sdw_read()
159 ret = regmap_write(rt700->sdw_regmap, reg, *val); in rt700_sdw_read()
163 ret = regmap_read(rt700->sdw_regmap, reg, val); in rt700_sdw_read()
196 dev_dbg(dev, "[%s] %04x => %08x\n", __func__, reg, *val); in rt700_sdw_read()
199 __func__, reg, reg2, reg3, reg4, *val); in rt700_sdw_read()
202 __func__, reg, reg2, *val); in rt700_sdw_read()
207 static int rt700_sdw_write(void *context, unsigned int reg, unsigned int val) in rt700_sdw_write() argument
215 if (reg > 0xffff) in rt700_sdw_write()
218 mask = reg & 0xf000; in rt700_sdw_write()
221 val2 = reg & 0xff; in rt700_sdw_write()
222 reg = reg >> 8; in rt700_sdw_write()
223 nid = reg & 0xff; in rt700_sdw_write()
224 ret = regmap_write(rt700->sdw_regmap, reg, 0); in rt700_sdw_write()
227 reg2 = reg + 0x1000; in rt700_sdw_write()
244 } else if (reg < 0x4fff) { in rt700_sdw_write()
245 ret = regmap_write(rt700->sdw_regmap, reg, val); in rt700_sdw_write()
248 } else if (reg == 0xff01) { in rt700_sdw_write()
249 ret = regmap_write(rt700->sdw_regmap, reg, val); in rt700_sdw_write()
254 reg, ((val >> 8) & 0xff)); in rt700_sdw_write()
257 reg2 = reg + 0x1000; in rt700_sdw_write()
262 } else if ((reg & 0xff00) == 0x8300) { /* for R channel */ in rt700_sdw_write()
263 reg2 = reg - 0x1000; in rt700_sdw_write()
269 ret = regmap_write(rt700->sdw_regmap, reg, (val & 0xff)); in rt700_sdw_write()
275 dev_dbg(dev, "[%s] %04x <= %04x\n", __func__, reg, val); in rt700_sdw_write()
278 __func__, reg, reg2, reg3, reg4, val2, val); in rt700_sdw_write()
281 __func__, reg, reg2, val); in rt700_sdw_write()