Lines Matching refs:wsa881x

686 static void wsa881x_init(struct wsa881x_priv *wsa881x)  in wsa881x_init()  argument
688 struct regmap *rm = wsa881x->regmap; in wsa881x_init()
691 regmap_read(rm, WSA881X_CHIP_ID1, &wsa881x->version); in wsa881x_init()
692 regmap_register_patch(wsa881x->regmap, wsa881x_rev_2_0, in wsa881x_init()
733 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp); in wsa881x_component_probe() local
735 snd_soc_component_init_regmap(comp, wsa881x->regmap); in wsa881x_component_probe()
878 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp); in wsa881x_visense_txfe_ctrl() local
881 regmap_multi_reg_write(wsa881x->regmap, wsa881x_vi_txfe_en_2_0, in wsa881x_visense_txfe_ctrl()
912 struct wsa881x_priv *wsa881x = snd_soc_component_get_drvdata(comp); in wsa881x_spkr_pa_event() local
919 regmap_multi_reg_write(wsa881x->regmap, wsa881x_pre_pmu_pa_2_0, in wsa881x_spkr_pa_event()
927 if (wsa881x->port_prepared[WSA881X_PORT_VISENSE]) { in wsa881x_spkr_pa_event()
937 if (wsa881x->port_prepared[WSA881X_PORT_VISENSE]) { in wsa881x_spkr_pa_event()
973 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev); in wsa881x_hw_params() local
976 wsa881x->active_ports = 0; in wsa881x_hw_params()
978 if (!wsa881x->port_enable[i]) in wsa881x_hw_params()
981 wsa881x->port_config[wsa881x->active_ports] = in wsa881x_hw_params()
983 wsa881x->active_ports++; in wsa881x_hw_params()
986 return sdw_stream_add_slave(wsa881x->slave, &wsa881x->sconfig, in wsa881x_hw_params()
987 wsa881x->port_config, wsa881x->active_ports, in wsa881x_hw_params()
988 wsa881x->sruntime); in wsa881x_hw_params()
994 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev); in wsa881x_hw_free() local
996 sdw_stream_remove_slave(wsa881x->slave, wsa881x->sruntime); in wsa881x_hw_free()
1004 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev); in wsa881x_set_sdw_stream() local
1006 wsa881x->sruntime = stream; in wsa881x_set_sdw_stream()
1013 struct wsa881x_priv *wsa881x = dev_get_drvdata(dai->dev); in wsa881x_digital_mute() local
1016 regmap_update_bits(wsa881x->regmap, WSA881X_SPKR_DRV_EN, 0x80, in wsa881x_digital_mute()
1019 regmap_update_bits(wsa881x->regmap, WSA881X_SPKR_DRV_EN, 0x80, in wsa881x_digital_mute()
1063 struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev); in wsa881x_update_status() local
1066 wsa881x_init(wsa881x); in wsa881x_update_status()
1075 struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev); in wsa881x_port_prep() local
1078 wsa881x->port_prepared[prepare_ch->num - 1] = true; in wsa881x_port_prep()
1080 wsa881x->port_prepared[prepare_ch->num - 1] = false; in wsa881x_port_prep()
1103 struct wsa881x_priv *wsa881x; in wsa881x_probe() local
1105 wsa881x = devm_kzalloc(&pdev->dev, sizeof(*wsa881x), GFP_KERNEL); in wsa881x_probe()
1106 if (!wsa881x) in wsa881x_probe()
1109 wsa881x->sd_n = devm_gpiod_get_optional(&pdev->dev, "powerdown", in wsa881x_probe()
1111 if (IS_ERR(wsa881x->sd_n)) { in wsa881x_probe()
1113 return PTR_ERR(wsa881x->sd_n); in wsa881x_probe()
1116 dev_set_drvdata(&pdev->dev, wsa881x); in wsa881x_probe()
1117 wsa881x->slave = pdev; in wsa881x_probe()
1118 wsa881x->dev = &pdev->dev; in wsa881x_probe()
1119 wsa881x->sconfig.ch_count = 1; in wsa881x_probe()
1120 wsa881x->sconfig.bps = 1; in wsa881x_probe()
1121 wsa881x->sconfig.frame_rate = 48000; in wsa881x_probe()
1122 wsa881x->sconfig.direction = SDW_DATA_DIR_RX; in wsa881x_probe()
1123 wsa881x->sconfig.type = SDW_STREAM_PDM; in wsa881x_probe()
1127 gpiod_direction_output(wsa881x->sd_n, 1); in wsa881x_probe()
1129 wsa881x->regmap = devm_regmap_init_sdw(pdev, &wsa881x_regmap_config); in wsa881x_probe()
1130 if (IS_ERR(wsa881x->regmap)) { in wsa881x_probe()
1132 return PTR_ERR(wsa881x->regmap); in wsa881x_probe()