Lines Matching refs:codec
3 * Apple Onboard Audio driver for tas codec
11 * - This codec driver doesn't honour the 'connected'
17 * the input. This should also be a codec-dependent
18 * flag, maybe the codec should have 3 different
49 * codec to refine the transfer_info items in the
54 * a 'clock group id' value so the codec can
72 MODULE_DESCRIPTION("tas codec driver for snd-aoa");
80 #define PFX "snd-aoa-codec-tas: "
84 struct aoa_codec codec;
97 * codec init/suspend/resume */
103 static struct tas *codec_to_tas(struct aoa_codec *codec)
105 return container_of(codec, struct tas, codec);
675 tas->codec.gpio->methods->all_amps_off(tas->codec.gpio);
677 tas->codec.gpio->methods->set_hw_reset(tas->codec.gpio, 0);
679 tas->codec.gpio->methods->set_hw_reset(tas->codec.gpio, 1);
681 tas->codec.gpio->methods->set_hw_reset(tas->codec.gpio, 0);
683 tas->codec.gpio->methods->all_amps_restore(tas->codec.gpio);
721 tas->codec.gpio->methods->all_amps_off(tas->codec.gpio);
725 /* Clocks are back, re-init the codec */
731 tas->codec.gpio->methods->all_amps_restore(tas->codec.gpio);
757 /* reset codec */
796 static int tas_init_codec(struct aoa_codec *codec)
798 struct tas *tas = codec_to_tas(codec);
801 if (!tas->codec.gpio || !tas->codec.gpio->methods) {
815 if (tas->codec.soundbus_dev->attach_codec(tas->codec.soundbus_dev,
864 tas->codec.soundbus_dev->detach_codec(tas->codec.soundbus_dev, tas);
869 static void tas_exit_codec(struct aoa_codec *codec)
871 struct tas *tas = codec_to_tas(codec);
873 if (!tas->codec.soundbus_dev)
875 tas->codec.soundbus_dev->detach_codec(tas->codec.soundbus_dev, tas);
897 strlcpy(tas->codec.name, "tas", MAX_CODEC_NAME_LEN);
898 tas->codec.owner = THIS_MODULE;
899 tas->codec.init = tas_init_codec;
900 tas->codec.exit = tas_exit_codec;
901 tas->codec.node = of_node_get(node);
903 if (aoa_codec_register(&tas->codec)) {
907 "snd-aoa-codec-tas: tas found, addr 0x%02x on %pOF\n",
921 aoa_codec_unregister(&tas->codec);
922 of_node_put(tas->codec.node);
924 /* power down codec chip */