Lines Matching refs:wsa881x
668 * Private data Structure for wsa881x. All parameters related to
685 static void wsa881x_init(struct wsa881x_priv *wsa881x)
687 struct regmap *rm = wsa881x->regmap;
690 regmap_read(rm, WSA881X_CHIP_ID1, &wsa881x->version);
691 regmap_register_patch(wsa881x->regmap, wsa881x_rev_2_0,
732 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp);
734 snd_soc_component_init_regmap(comp, wsa881x->regmap);
877 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp);
880 regmap_multi_reg_write(wsa881x->regmap, wsa881x_vi_txfe_en_2_0,
911 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp);
918 regmap_multi_reg_write(wsa881x->regmap, wsa881x_pre_pmu_pa_2_0,
926 if (wsa881x->port_prepared[WSA881X_PORT_VISENSE]) {
936 if (wsa881x->port_prepared[WSA881X_PORT_VISENSE]) {
972 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
975 wsa881x->active_ports = 0;
977 if (!wsa881x->port_enable[i])
980 wsa881x->port_config[wsa881x->active_ports] =
982 wsa881x->active_ports++;
985 return sdw_stream_add_slave(wsa881x->slave, &wsa881x->sconfig,
986 wsa881x->port_config, wsa881x->active_ports,
987 wsa881x->sruntime);
993 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
995 sdw_stream_remove_slave(wsa881x->slave, wsa881x->sruntime);
1003 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
1005 wsa881x->sruntime = stream;
1012 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev);
1015 regmap_update_bits(wsa881x->regmap, WSA881X_SPKR_DRV_EN, 0x80,
1018 regmap_update_bits(wsa881x->regmap, WSA881X_SPKR_DRV_EN, 0x80,
1062 struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev);
1065 wsa881x_init(wsa881x);
1074 struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev);
1077 wsa881x->port_prepared[prepare_ch->num - 1] = true;
1079 wsa881x->port_prepared[prepare_ch->num - 1] = false;
1102 struct wsa881x_priv *wsa881x;
1104 wsa881x = devm_kzalloc(&pdev->dev, sizeof(*wsa881x), GFP_KERNEL);
1105 if (!wsa881x)
1108 wsa881x->sd_n = devm_gpiod_get_optional(&pdev->dev, "powerdown",
1110 if (IS_ERR(wsa881x->sd_n)) {
1112 return PTR_ERR(wsa881x->sd_n);
1115 dev_set_drvdata(&pdev->dev, wsa881x);
1116 wsa881x->slave = pdev;
1117 wsa881x->dev = &pdev->dev;
1118 wsa881x->sconfig.ch_count = 1;
1119 wsa881x->sconfig.bps = 1;
1120 wsa881x->sconfig.frame_rate = 48000;
1121 wsa881x->sconfig.direction = SDW_DATA_DIR_RX;
1122 wsa881x->sconfig.type = SDW_STREAM_PDM;
1126 gpiod_direction_output(wsa881x->sd_n, 1);
1128 wsa881x->regmap = devm_regmap_init_sdw(pdev, &wsa881x_regmap_config);
1129 if (IS_ERR(wsa881x->regmap)) {
1131 return PTR_ERR(wsa881x->regmap);
1152 .name = "wsa881x-codec",