Lines Matching defs:wsa881x

667  * Private data Structure for wsa881x. All parameters related to
689 static void wsa881x_init(struct wsa881x_priv *wsa881x)
691 struct regmap *rm = wsa881x->regmap;
694 regmap_read(rm, WSA881X_CHIP_ID1, &wsa881x->version);
695 regmap_register_patch(wsa881x->regmap, wsa881x_rev_2_0,
736 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp);
738 snd_soc_component_init_regmap(comp, wsa881x->regmap);
888 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp);
891 regmap_multi_reg_write(wsa881x->regmap, wsa881x_vi_txfe_en_2_0,
922 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp);
929 regmap_multi_reg_write(wsa881x->regmap, wsa881x_pre_pmu_pa_2_0,
937 if (wsa881x->port_prepared[WSA881X_PORT_VISENSE]) {
947 if (wsa881x->port_prepared[WSA881X_PORT_VISENSE]) {
983 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
986 wsa881x->active_ports = 0;
988 if (!wsa881x->port_enable[i])
991 wsa881x->port_config[wsa881x->active_ports] =
993 wsa881x->active_ports++;
996 return sdw_stream_add_slave(wsa881x->slave, &wsa881x->sconfig,
997 wsa881x->port_config, wsa881x->active_ports,
998 wsa881x->sruntime);
1004 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
1006 sdw_stream_remove_slave(wsa881x->slave, wsa881x->sruntime);
1014 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
1016 wsa881x->sruntime = stream;
1023 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
1026 regmap_update_bits(wsa881x->regmap, WSA881X_SPKR_DRV_EN, 0x80,
1029 regmap_update_bits(wsa881x->regmap, WSA881X_SPKR_DRV_EN, 0x80,
1074 struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev);
1077 wsa881x_init(wsa881x);
1086 struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev);
1089 wsa881x->port_prepared[prepare_ch->num - 1] = true;
1091 wsa881x->port_prepared[prepare_ch->num - 1] = false;
1114 struct wsa881x_priv *wsa881x;
1117 wsa881x = devm_kzalloc(dev, sizeof(*wsa881x), GFP_KERNEL);
1118 if (!wsa881x)
1121 wsa881x->sd_n = devm_gpiod_get_optional(dev, "powerdown",
1123 if (IS_ERR(wsa881x->sd_n))
1124 return dev_err_probe(dev, PTR_ERR(wsa881x->sd_n),
1143 wsa881x->sd_n_val = gpiod_is_active_low(wsa881x->sd_n);
1144 if (!wsa881x->sd_n_val)
1147 dev_set_drvdata(dev, wsa881x);
1148 wsa881x->slave = pdev;
1149 wsa881x->dev = dev;
1150 wsa881x->sconfig.ch_count = 1;
1151 wsa881x->sconfig.bps = 1;
1152 wsa881x->sconfig.frame_rate = 48000;
1153 wsa881x->sconfig.direction = SDW_DATA_DIR_RX;
1154 wsa881x->sconfig.type = SDW_STREAM_PDM;
1158 gpiod_direction_output(wsa881x->sd_n, !wsa881x->sd_n_val);
1160 wsa881x->regmap = devm_regmap_init_sdw(pdev, &wsa881x_regmap_config);
1161 if (IS_ERR(wsa881x->regmap))
1162 return dev_err_probe(dev, PTR_ERR(wsa881x->regmap), "regmap_init failed\n");
1179 struct wsa881x_priv *wsa881x = dev_get_drvdata(dev);
1181 gpiod_direction_output(wsa881x->sd_n, wsa881x->sd_n_val);
1193 struct wsa881x_priv *wsa881x = dev_get_drvdata(dev);
1196 gpiod_direction_output(wsa881x->sd_n, !wsa881x->sd_n_val);
1202 gpiod_direction_output(wsa881x->sd_n, wsa881x->sd_n_val);
1228 .name = "wsa881x-codec",