Lines Matching +full:codec +full:- +full:clkout
1 // SPDX-License-Identifier: GPL-2.0-only
8 * Author: Chris Zhong <zyw@rock-chips.com>
9 * Author: Zhang Qing <zhangqing@rock-chips.com>
60 { .name = "rk808-clkout", },
61 { .name = "rk808-regulator", },
62 { .name = "rk805-pinctrl", },
64 .name = "rk808-rtc",
68 { .name = "rk805-pwrkey",
75 { .name = "rk805-pinctrl", },
76 { .name = "rk808-regulator", },
78 .name = "rk805-pwrkey",
85 { .name = "rk808-clkout", },
86 { .name = "rk808-regulator", },
88 .name = "rk808-rtc",
95 { .name = "rk805-pinctrl", },
96 { .name = "rk808-clkout", },
97 { .name = "rk808-regulator", },
99 .name = "rk805-pwrkey",
104 .name = "rk808-rtc",
111 { .name = "rk808-clkout", },
112 { .name = "rk808-regulator", },
114 .name = "rk805-pwrkey",
119 .name = "rk808-rtc",
123 { .name = "rk817-codec", },
125 .name = "rk817-charger",
132 { .name = "rk808-clkout", },
133 { .name = "rk808-regulator", },
135 .name = "rk808-rtc",
184 /* Codec specific registers */
607 struct rk808 *rk808 = data->cb_data; in rk808_power_off()
611 switch (rk808->variant) { in rk808_power_off()
637 ret = regmap_update_bits(rk808->regmap, reg, bit, bit); in rk808_power_off()
639 dev_err(rk808->dev, "Failed to shutdown device!\n"); in rk808_power_off()
646 struct rk808 *rk808 = data->cb_data; in rk808_restart()
650 switch (rk808->variant) { in rk808_restart()
660 ret = regmap_update_bits(rk808->regmap, reg, bit, bit); in rk808_restart()
662 dev_err(rk808->dev, "Failed to restart device!\n"); in rk808_restart()
672 switch (rk808->variant) { in rk8xx_shutdown()
674 ret = regmap_update_bits(rk808->regmap, in rk8xx_shutdown()
681 ret = regmap_update_bits(rk808->regmap, in rk8xx_shutdown()
708 return -ENOMEM; in rk8xx_probe()
709 rk808->dev = dev; in rk8xx_probe()
710 rk808->variant = variant; in rk8xx_probe()
711 rk808->regmap = regmap; in rk8xx_probe()
714 switch (rk808->variant) { in rk8xx_probe()
716 rk808->regmap_irq_chip = &rk805_irq_chip; in rk8xx_probe()
723 rk808->regmap_irq_chip = &rk806_irq_chip; in rk8xx_probe()
731 rk808->regmap_irq_chip = &rk808_irq_chip; in rk8xx_probe()
738 rk808->regmap_irq_chip = &rk816_irq_chip; in rk8xx_probe()
745 rk808->regmap_irq_chip = &rk818_irq_chip; in rk8xx_probe()
753 rk808->regmap_irq_chip = &rk817_irq_chip; in rk8xx_probe()
760 dev_err(dev, "Unsupported RK8XX ID %lu\n", rk808->variant); in rk8xx_probe()
761 return -EINVAL; in rk8xx_probe()
765 return dev_err_probe(dev, -EINVAL, "No interrupt support, no core IRQ\n"); in rk8xx_probe()
767 ret = devm_regmap_add_irq_chip(dev, rk808->regmap, irq, in rk8xx_probe()
768 IRQF_ONESHOT | dual_support, -1, in rk8xx_probe()
769 rk808->regmap_irq_chip, &rk808->irq_data); in rk8xx_probe()
774 ret = regmap_update_bits(rk808->regmap, in rk8xx_probe()
784 regmap_irq_get_domain(rk808->irq_data)); in rk8xx_probe()
788 if (device_property_read_bool(dev, "system-power-controller") || in rk8xx_probe()
789 device_property_read_bool(dev, "rockchip,system-power-controller")) { in rk8xx_probe()
797 switch (rk808->variant) { in rk8xx_probe()
821 switch (rk808->variant) { in rk8xx_suspend()
823 ret = regmap_update_bits(rk808->regmap, in rk8xx_suspend()
830 ret = regmap_update_bits(rk808->regmap, in rk8xx_suspend()
848 switch (rk808->variant) { in rk8xx_resume()
851 ret = regmap_update_bits(rk808->regmap, in rk8xx_resume()
865 MODULE_AUTHOR("Chris Zhong <zyw@rock-chips.com>");
866 MODULE_AUTHOR("Zhang Qing <zhangqing@rock-chips.com>");