Lines Matching refs:reg
22 static bool rt700_readable_register(struct device *dev, unsigned int reg) in rt700_readable_register() argument
24 switch (reg) { in rt700_readable_register()
55 static bool rt700_volatile_register(struct device *dev, unsigned int reg) in rt700_volatile_register() argument
57 switch (reg) { in rt700_volatile_register()
85 static int rt700_sdw_read(void *context, unsigned int reg, unsigned int *val) in rt700_sdw_read() argument
94 if (reg > 0xffff) in rt700_sdw_read()
97 mask = reg & 0xf000; in rt700_sdw_read()
100 val2 = reg & 0xff; in rt700_sdw_read()
101 reg = reg >> 8; in rt700_sdw_read()
102 nid = reg & 0xff; in rt700_sdw_read()
103 ret = regmap_write(rt700->sdw_regmap, reg, 0); in rt700_sdw_read()
106 reg2 = reg + 0x1000; in rt700_sdw_read()
123 reg += 0x8000; in rt700_sdw_read()
124 ret = regmap_write(rt700->sdw_regmap, reg, *val); in rt700_sdw_read()
128 reg += 0x2000; in rt700_sdw_read()
129 reg |= 0x800; in rt700_sdw_read()
131 reg, ((*val >> 8) & 0xff)); in rt700_sdw_read()
134 reg2 = reg + 0x1000; in rt700_sdw_read()
139 } else if ((reg & 0xff00) == 0x8300) { /* for R channel */ in rt700_sdw_read()
140 reg2 = reg - 0x1000; in rt700_sdw_read()
146 ret = regmap_write(rt700->sdw_regmap, reg, (*val & 0xff)); in rt700_sdw_read()
151 reg, ((*val >> 8) & 0xff)); in rt700_sdw_read()
154 reg2 = reg + 0x1000; in rt700_sdw_read()
160 ret = regmap_write(rt700->sdw_regmap, reg, *val); in rt700_sdw_read()
164 ret = regmap_read(rt700->sdw_regmap, reg, val); in rt700_sdw_read()
197 dev_dbg(dev, "[%s] %04x => %08x\n", __func__, reg, *val); in rt700_sdw_read()
200 __func__, reg, reg2, reg3, reg4, *val); in rt700_sdw_read()
203 __func__, reg, reg2, *val); in rt700_sdw_read()
208 static int rt700_sdw_write(void *context, unsigned int reg, unsigned int val) in rt700_sdw_write() argument
216 if (reg > 0xffff) in rt700_sdw_write()
219 mask = reg & 0xf000; in rt700_sdw_write()
222 val2 = reg & 0xff; in rt700_sdw_write()
223 reg = reg >> 8; in rt700_sdw_write()
224 nid = reg & 0xff; in rt700_sdw_write()
225 ret = regmap_write(rt700->sdw_regmap, reg, 0); in rt700_sdw_write()
228 reg2 = reg + 0x1000; in rt700_sdw_write()
245 } else if (reg < 0x4fff) { in rt700_sdw_write()
246 ret = regmap_write(rt700->sdw_regmap, reg, val); in rt700_sdw_write()
249 } else if (reg == 0xff01) { in rt700_sdw_write()
250 ret = regmap_write(rt700->sdw_regmap, reg, val); in rt700_sdw_write()
255 reg, ((val >> 8) & 0xff)); in rt700_sdw_write()
258 reg2 = reg + 0x1000; in rt700_sdw_write()
263 } else if ((reg & 0xff00) == 0x8300) { /* for R channel */ in rt700_sdw_write()
264 reg2 = reg - 0x1000; in rt700_sdw_write()
270 ret = regmap_write(rt700->sdw_regmap, reg, (val & 0xff)); in rt700_sdw_write()
276 dev_dbg(dev, "[%s] %04x <= %04x\n", __func__, reg, val); in rt700_sdw_write()
279 __func__, reg, reg2, reg3, reg4, val2, val); in rt700_sdw_write()
282 __func__, reg, reg2, val); in rt700_sdw_write()