Lines Matching refs:rk808
693 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk805_device_shutdown_prepare() local
695 if (!rk808) in rk805_device_shutdown_prepare()
698 ret = regmap_update_bits(rk808->regmap, in rk805_device_shutdown_prepare()
708 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk817_shutdown_prepare() local
711 regmap_update_bits(rk808->regmap, in rk817_shutdown_prepare()
714 regmap_update_bits(rk808->regmap, in rk817_shutdown_prepare()
718 if (rk808->pins && rk808->pins->p && rk808->pins->power_off) { in rk817_shutdown_prepare()
719 ret = regmap_update_bits(rk808->regmap, in rk817_shutdown_prepare()
726 ret = regmap_update_bits(rk808->regmap, in rk817_shutdown_prepare()
733 ret = pinctrl_select_state(rk808->pins->p, in rk817_shutdown_prepare()
734 rk808->pins->power_off); in rk817_shutdown_prepare()
741 ret = regmap_update_bits(rk808->regmap, in rk817_shutdown_prepare()
754 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk8xx_device_shutdown() local
756 switch (rk808->variant) { in rk8xx_device_shutdown()
777 ret = regmap_update_bits(rk808->regmap, reg, bit, bit); in rk8xx_device_shutdown()
788 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk8xx_syscore_shutdown() local
790 if (!rk808) { in rk8xx_syscore_shutdown()
797 regmap_update_bits(rk808->regmap, in rk8xx_syscore_shutdown()
800 regmap_update_bits(rk808->regmap, in rk8xx_syscore_shutdown()
812 if (rk808->variant == RK809_ID || rk808->variant == RK817_ID) { in rk8xx_syscore_shutdown()
813 ret = regmap_update_bits(rk808->regmap, in rk8xx_syscore_shutdown()
862 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk8xx_dbg_store() local
879 regmap_write(rk808->regmap, addr, data); in rk8xx_dbg_store()
880 regmap_read(rk808->regmap, addr, &data); in rk8xx_dbg_store()
891 regmap_read(rk808->regmap, addr, &data); in rk8xx_dbg_store()
903 static int rk817_pinctrl_init(struct device *dev, struct rk808 *rk808) in rk817_pinctrl_init() argument
929 rk808->pins = devm_kzalloc(dev, sizeof(struct rk808_pin_info), in rk817_pinctrl_init()
931 if (!rk808->pins) in rk817_pinctrl_init()
934 rk808->pins->p = devm_pinctrl_get(dev); in rk817_pinctrl_init()
935 if (IS_ERR(rk808->pins->p)) { in rk817_pinctrl_init()
936 rk808->pins->p = NULL; in rk817_pinctrl_init()
941 default_st = pinctrl_lookup_state(rk808->pins->p, in rk817_pinctrl_init()
949 ret = pinctrl_select_state(rk808->pins->p, default_st); in rk817_pinctrl_init()
955 rk808->pins->power_off = pinctrl_lookup_state(rk808->pins->p, in rk817_pinctrl_init()
957 if (IS_ERR(rk808->pins->power_off)) { in rk817_pinctrl_init()
958 rk808->pins->power_off = NULL; in rk817_pinctrl_init()
962 rk808->pins->sleep = pinctrl_lookup_state(rk808->pins->p, in rk817_pinctrl_init()
964 if (IS_ERR(rk808->pins->sleep)) { in rk817_pinctrl_init()
965 rk808->pins->sleep = NULL; in rk817_pinctrl_init()
969 rk808->pins->reset = pinctrl_lookup_state(rk808->pins->p, in rk817_pinctrl_init()
971 if (IS_ERR(rk808->pins->reset)) { in rk817_pinctrl_init()
972 rk808->pins->reset = NULL; in rk817_pinctrl_init()
977 ret = pinctrl_select_state(rk808->pins->p, rk808->pins->reset); in rk817_pinctrl_init()
986 struct rk808 *rk808; member
1005 dev = &data->rk808->i2c->dev; in rk817_reboot_notifier_handler()
1007 regmap_read(data->rk808->regmap, RK817_POWER_EN_SAVE0, in rk817_reboot_notifier_handler()
1010 regmap_read(data->rk808->regmap, RK817_POWER_EN_SAVE1, in rk817_reboot_notifier_handler()
1013 regmap_write(data->rk808->regmap, in rk817_reboot_notifier_handler()
1017 regmap_write(data->rk808->regmap, in rk817_reboot_notifier_handler()
1021 regmap_write(data->rk808->regmap, in rk817_reboot_notifier_handler()
1025 regmap_write(data->rk808->regmap, in rk817_reboot_notifier_handler()
1050 ret = regmap_update_bits(data->rk808->regmap, in rk817_reboot_notifier_handler()
1065 static void rk817_of_property_prepare(struct rk808 *rk808, struct device *dev) in rk817_of_property_prepare() argument
1073 regmap_update_bits(rk808->regmap, RK817_POWER_CONFIG, in rk817_of_property_prepare()
1077 regmap_update_bits(rk808->regmap, RK817_POWER_CONFIG, in rk817_of_property_prepare()
1094 regmap_update_bits(rk808->regmap, RK817_SYS_CFG(3), msk, val); in rk817_of_property_prepare()
1098 rk817_reboot_data.rk808 = rk808; in rk817_of_property_prepare()
1125 struct rk808 *rk808; in rk808_probe() local
1137 void (*of_property_prepare_fn)(struct rk808 *rk808, in rk808_probe()
1139 int (*pinctrl_init)(struct device *dev, struct rk808 *rk808) = NULL; in rk808_probe()
1142 rk808 = devm_kzalloc(&client->dev, sizeof(*rk808), GFP_KERNEL); in rk808_probe()
1143 if (!rk808) in rk808_probe()
1170 rk808->variant = ((msb << 8) | lsb) & RK8XX_ID_MSK; in rk808_probe()
1171 dev_info(&client->dev, "chip id: 0x%x\n", (unsigned int)rk808->variant); in rk808_probe()
1173 switch (rk808->variant) { in rk808_probe()
1175 rk808->regmap_cfg = &rk805_regmap_config; in rk808_probe()
1176 rk808->regmap_irq_chip = &rk805_irq_chip; in rk808_probe()
1188 rk808->pm_pwroff_prep_fn = rk805_device_shutdown_prepare; in rk808_probe()
1191 rk808->regmap_cfg = &rk808_regmap_config; in rk808_probe()
1192 rk808->regmap_irq_chip = &rk808_irq_chip; in rk808_probe()
1200 rk808->regmap_cfg = &rk816_regmap_config; in rk808_probe()
1201 rk808->regmap_irq_chip = &rk816_irq_chip; in rk808_probe()
1216 rk808->regmap_cfg = &rk818_regmap_config; in rk808_probe()
1217 rk808->regmap_irq_chip = &rk818_irq_chip; in rk808_probe()
1232 rk808->regmap_cfg = &rk817_regmap_config; in rk808_probe()
1233 rk808->regmap_irq_chip = &rk817_irq_chip; in rk808_probe()
1240 rk808->pm_pwroff_prep_fn = rk817_shutdown_prepare; in rk808_probe()
1246 rk808->variant); in rk808_probe()
1250 rk808->i2c = client; in rk808_probe()
1252 i2c_set_clientdata(client, rk808); in rk808_probe()
1254 rk808->regmap = devm_regmap_init_i2c(client, rk808->regmap_cfg); in rk808_probe()
1255 if (IS_ERR(rk808->regmap)) { in rk808_probe()
1257 return PTR_ERR(rk808->regmap); in rk808_probe()
1261 ret = regmap_read(rk808->regmap, on_source, &on); in rk808_probe()
1267 ret = regmap_read(rk808->regmap, off_source, &off); in rk808_probe()
1283 of_property_prepare_fn(rk808, &client->dev); in rk808_probe()
1286 ret = regmap_update_bits(rk808->regmap, in rk808_probe()
1299 ret = pinctrl_init(&client->dev, rk808); in rk808_probe()
1304 ret = regmap_add_irq_chip(rk808->regmap, client->irq, in rk808_probe()
1306 rk808->regmap_irq_chip, &rk808->irq_data); in rk808_probe()
1313 ret = regmap_add_irq_chip(rk808->regmap, client->irq, in rk808_probe()
1316 &rk808->battery_irq_data); in rk808_probe()
1320 regmap_del_irq_chip(client->irq, rk808->irq_data); in rk808_probe()
1327 regmap_irq_get_domain(rk808->irq_data)); in rk808_probe()
1336 pm_power_off_prepare = rk808->pm_pwroff_prep_fn; in rk808_probe()
1358 regmap_del_irq_chip(client->irq, rk808->irq_data); in rk808_probe()
1360 regmap_del_irq_chip(client->irq, rk808->battery_irq_data); in rk808_probe()
1366 struct rk808 *rk808 = i2c_get_clientdata(client); in rk808_remove() local
1368 regmap_del_irq_chip(client->irq, rk808->irq_data); in rk808_remove()
1380 if (rk808->pm_pwroff_prep_fn && in rk808_remove()
1381 pm_power_off_prepare == rk808->pm_pwroff_prep_fn) in rk808_remove()
1392 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk8xx_suspend() local
1397 ret = regmap_update_bits(rk808->regmap, in rk8xx_suspend()
1408 switch (rk808->variant) { in rk8xx_suspend()
1410 ret = regmap_update_bits(rk808->regmap, in rk8xx_suspend()
1417 if (rk808->pins && rk808->pins->p && rk808->pins->sleep) { in rk8xx_suspend()
1418 ret = regmap_update_bits(rk808->regmap, in rk8xx_suspend()
1427 ret = regmap_update_bits(rk808->regmap, in rk8xx_suspend()
1437 regmap_read(rk808->regmap, RK817_SYS_STS, &value); in rk8xx_suspend()
1439 ret = pinctrl_select_state(rk808->pins->p, rk808->pins->sleep); in rk8xx_suspend()
1455 struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); in rk8xx_resume() local
1460 ret = regmap_update_bits(rk808->regmap, in rk8xx_resume()
1471 switch (rk808->variant) { in rk8xx_resume()
1474 if (rk808->pins && rk808->pins->p && rk808->pins->reset) { in rk8xx_resume()
1475 ret = regmap_update_bits(rk808->regmap, in rk8xx_resume()
1484 ret = regmap_update_bits(rk808->regmap, in rk8xx_resume()
1494 regmap_read(rk808->regmap, RK817_SYS_STS, &value); in rk8xx_resume()
1496 ret = pinctrl_select_state(rk808->pins->p, rk808->pins->reset); in rk8xx_resume()