Lines Matching full:regmap

21 #include <linux/regmap.h>
86 struct regmap *regmap; member
91 static int zl38_fw_issue_command(struct regmap *regmap, u16 cmd) in zl38_fw_issue_command() argument
96 err = regmap_read_poll_timeout(regmap, REG_SEMA_FLAGS, val, in zl38_fw_issue_command()
101 err = regmap_write(regmap, REG_CMD, cmd); in zl38_fw_issue_command()
104 err = regmap_update_bits(regmap, REG_SEMA_FLAGS, SEMA_FLAGS_BOOT_CMD, in zl38_fw_issue_command()
109 return regmap_read_poll_timeout(regmap, REG_CMD, val, !val, 10000, in zl38_fw_issue_command()
113 static int zl38_fw_go(struct regmap *regmap) in zl38_fw_go() argument
117 err = zl38_fw_issue_command(regmap, BOOTCMD_LOAD_COMPLETE); in zl38_fw_go()
121 return zl38_fw_issue_command(regmap, BOOTCMD_FW_GO); in zl38_fw_go()
124 static int zl38_fw_enter_boot_mode(struct regmap *regmap) in zl38_fw_enter_boot_mode() argument
129 err = regmap_update_bits(regmap, REG_CLK_STATUS, CLK_STATUS_HWRST, in zl38_fw_enter_boot_mode()
134 return regmap_read_poll_timeout(regmap, REG_PARAM_RESULT, val, in zl38_fw_enter_boot_mode()
139 zl38_fw_send_data(struct regmap *regmap, u32 addr, const void *data, u16 len) in zl38_fw_send_data() argument
144 err = regmap_raw_write(regmap, REG_PG255_BASE_HI, &addr_base, in zl38_fw_send_data()
148 return regmap_raw_write(regmap, REG_PG255_OFFS(addr), data, len); in zl38_fw_send_data()
151 static int zl38_fw_send_xaddr(struct regmap *regmap, const void *data) in zl38_fw_send_xaddr() argument
159 return regmap_raw_write(regmap, REG_FWR_EXEC, &baddr, sizeof(baddr)); in zl38_fw_send_xaddr()
162 static int zl38_load_firmware(struct device *dev, struct regmap *regmap) in zl38_load_firmware() argument
181 err = zl38_fw_enter_boot_mode(regmap); in zl38_load_firmware()
190 err = zl38_fw_send_data(regmap, addr, rec->data, len); in zl38_load_firmware()
193 err = zl38_fw_send_xaddr(regmap, rec->data); in zl38_load_firmware()
202 err = zl38_fw_go(regmap); in zl38_load_firmware()
210 static int zl38_software_reset(struct regmap *regmap) in zl38_software_reset() argument
215 err = regmap_update_bits(regmap, REG_SEMA_FLAGS, SEMA_FLAGS_APP_REBOOT, in zl38_software_reset()
227 return regmap_read_poll_timeout(regmap, REG_SEMA_FLAGS, val, in zl38_software_reset()
256 err = regmap_update_bits(priv->regmap, REG_TDMA_CFG_CLK, in zl38_set_fmt()
300 err = regmap_update_bits(priv->regmap, REG_TDMA_CFG_CLK, in zl38_hw_params()
306 err = zl38_software_reset(priv->regmap); in zl38_hw_params()
392 struct regmap *regmap = gpiochip_get_data(c); in chip_gpio_set() local
395 regmap_update_bits(regmap, REG_GPIO_DAT, mask, val ? mask : 0); in chip_gpio_set()
400 struct regmap *regmap = gpiochip_get_data(c); in chip_gpio_get() local
405 err = regmap_read(regmap, REG_GPIO_DAT, &val); in chip_gpio_get()
414 struct regmap *regmap = gpiochip_get_data(c); in chip_direction_input() local
417 return regmap_update_bits(regmap, REG_GPIO_DIR, mask, 0); in chip_direction_input()
423 struct regmap *regmap = gpiochip_get_data(c); in chip_direction_output() local
427 return regmap_update_bits(regmap, REG_GPIO_DIR, mask, mask); in chip_direction_output()
444 static int zl38_check_revision(struct device *dev, struct regmap *regmap) in zl38_check_revision() argument
450 err = regmap_read(regmap, REG_HW_REV, &hwrev); in zl38_check_revision()
453 err = regmap_read(regmap, REG_FW_PROD, &fwprod); in zl38_check_revision()
456 err = regmap_read(regmap, REG_FW_REV, &fwrev); in zl38_check_revision()
574 priv->regmap = devm_regmap_init(dev, &zl38_regmap_bus, spi, in zl38_spi_probe()
576 if (IS_ERR(priv->regmap)) in zl38_spi_probe()
577 return PTR_ERR(priv->regmap); in zl38_spi_probe()
579 err = zl38_load_firmware(dev, priv->regmap); in zl38_spi_probe()
583 err = zl38_check_revision(dev, priv->regmap); in zl38_spi_probe()
592 err = devm_gpiochip_add_data(dev, priv->gpio_chip, priv->regmap); in zl38_spi_probe()
597 err = regmap_multi_reg_write(priv->regmap, cp_config_stereo_bypass, in zl38_spi_probe()
602 err = regmap_update_bits(priv->regmap, REG_CLK_CFG, CLK_CFG_SOURCE_XTAL, in zl38_spi_probe()