Lines Matching refs:clk_info

667 static esp_err_t i2s_calculate_adc_dac_clock(int i2s_num, i2s_hal_clock_info_t *clk_info)  in i2s_calculate_adc_dac_clock()  argument
676 clk_info->bclk = clk_cfg->sample_rate_hz * I2S_LL_AD_BCK_FACTOR; in i2s_calculate_adc_dac_clock()
678 clk_info->bclk_div = slot_bits; in i2s_calculate_adc_dac_clock()
680 clk_info->mclk = (p_i2s[i2s_num]->use_apll && p_i2s[i2s_num]->fixed_mclk) ? in i2s_calculate_adc_dac_clock()
681 p_i2s[i2s_num]->fixed_mclk : clk_info->bclk * clk_info->bclk_div; in i2s_calculate_adc_dac_clock()
683 clk_info->bclk_div = clk_info->mclk / clk_info->bclk; in i2s_calculate_adc_dac_clock()
685 clk_info->sclk = i2s_config_source_clock(i2s_num, p_i2s[i2s_num]->use_apll, clk_info->mclk); in i2s_calculate_adc_dac_clock()
687 clk_info->mclk_div = clk_info->sclk / clk_info->mclk; in i2s_calculate_adc_dac_clock()
690 …ESP_RETURN_ON_FALSE(clk_info->sclk / (float)clk_info->mclk > 1.99, ESP_ERR_INVALID_ARG, TAG, "samp… in i2s_calculate_adc_dac_clock()
691 …ESP_RETURN_ON_FALSE(clk_info->mclk_div < 256, ESP_ERR_INVALID_ARG, TAG, "sample rate is too small,… in i2s_calculate_adc_dac_clock()
698 static esp_err_t i2s_calculate_pdm_tx_clock(int i2s_num, i2s_hal_clock_info_t *clk_info) in i2s_calculate_pdm_tx_clock() argument
705 clk_info->bclk = clk_cfg->sample_rate_hz * I2S_LL_PDM_BCK_FACTOR * fp / fs; in i2s_calculate_pdm_tx_clock()
707 clk_info->bclk_div = 8; in i2s_calculate_pdm_tx_clock()
709 clk_info->mclk = (p_i2s[i2s_num]->use_apll && p_i2s[i2s_num]->fixed_mclk) ? in i2s_calculate_pdm_tx_clock()
710 p_i2s[i2s_num]->fixed_mclk : clk_info->bclk * clk_info->bclk_div; in i2s_calculate_pdm_tx_clock()
712 clk_info->bclk_div = clk_info->mclk / clk_info->bclk; in i2s_calculate_pdm_tx_clock()
714 clk_info->sclk = i2s_config_source_clock(i2s_num, p_i2s[i2s_num]->use_apll, clk_info->mclk); in i2s_calculate_pdm_tx_clock()
716 clk_info->mclk_div = clk_info->sclk / clk_info->mclk; in i2s_calculate_pdm_tx_clock()
719 …ESP_RETURN_ON_FALSE(clk_info->sclk / (float)clk_info->mclk > 1.99, ESP_ERR_INVALID_ARG, TAG, "samp… in i2s_calculate_pdm_tx_clock()
720 …ESP_RETURN_ON_FALSE(clk_info->mclk_div < 256, ESP_ERR_INVALID_ARG, TAG, "sample rate is too small,… in i2s_calculate_pdm_tx_clock()
727 static esp_err_t i2s_calculate_pdm_rx_clock(int i2s_num, i2s_hal_clock_info_t *clk_info) in i2s_calculate_pdm_rx_clock() argument
732clk_info->bclk = clk_cfg->sample_rate_hz * I2S_LL_PDM_BCK_FACTOR * (dsr == I2S_PDM_DSR_16S ? 2 : 1… in i2s_calculate_pdm_rx_clock()
734 clk_info->bclk_div = 8; in i2s_calculate_pdm_rx_clock()
736 clk_info->mclk = (p_i2s[i2s_num]->use_apll && p_i2s[i2s_num]->fixed_mclk) ? in i2s_calculate_pdm_rx_clock()
737 p_i2s[i2s_num]->fixed_mclk : clk_info->bclk * clk_info->bclk_div; in i2s_calculate_pdm_rx_clock()
739 clk_info->bclk_div = clk_info->mclk / clk_info->bclk; in i2s_calculate_pdm_rx_clock()
741 clk_info->sclk = i2s_config_source_clock(i2s_num, p_i2s[i2s_num]->use_apll, clk_info->mclk); in i2s_calculate_pdm_rx_clock()
743 clk_info->mclk_div = clk_info->sclk / clk_info->mclk; in i2s_calculate_pdm_rx_clock()
746 …ESP_RETURN_ON_FALSE(clk_info->sclk / (float)clk_info->mclk > 1.99, ESP_ERR_INVALID_ARG, TAG, "samp… in i2s_calculate_pdm_rx_clock()
747 …ESP_RETURN_ON_FALSE(clk_info->mclk_div < 256, ESP_ERR_INVALID_ARG, TAG, "sample rate is too small,… in i2s_calculate_pdm_rx_clock()
752 static esp_err_t i2s_calculate_common_clock(int i2s_num, i2s_hal_clock_info_t *clk_info) in i2s_calculate_common_clock() argument
761 clk_info->bclk = rate * slot_num * slot_bits; in i2s_calculate_common_clock()
762 clk_info->mclk = rate * clk_cfg->mclk_multiple; in i2s_calculate_common_clock()
763 clk_info->bclk_div = clk_info->mclk / clk_info->bclk; in i2s_calculate_common_clock()
766 clk_info->bclk_div = 8; in i2s_calculate_common_clock()
767 clk_info->bclk = rate * slot_num * slot_bits; in i2s_calculate_common_clock()
768 clk_info->mclk = clk_info->bclk * clk_info->bclk_div; in i2s_calculate_common_clock()
771 clk_info->sclk = i2s_config_source_clock(i2s_num, p_i2s[i2s_num]->use_apll, clk_info->mclk); in i2s_calculate_common_clock()
773 clk_info->mclk_div = clk_info->sclk / clk_info->mclk; in i2s_calculate_common_clock()
776 …ESP_RETURN_ON_FALSE(clk_info->mclk <= clk_info->sclk, ESP_ERR_INVALID_ARG, TAG, "sample rate is to… in i2s_calculate_common_clock()
782 static esp_err_t i2s_calculate_clock(i2s_port_t i2s_num, i2s_hal_clock_info_t *clk_info) in i2s_calculate_clock() argument
787 …ESP_RETURN_ON_ERROR(i2s_calculate_adc_dac_clock(i2s_num, clk_info), TAG, "ADC/DAC clock calculate … in i2s_calculate_clock()
797 …ESP_RETURN_ON_ERROR(i2s_calculate_pdm_tx_clock(i2s_num, clk_info), TAG, "PDM TX clock calculate fa… in i2s_calculate_clock()
802 …ESP_RETURN_ON_ERROR(i2s_calculate_pdm_rx_clock(i2s_num, clk_info), TAG, "PDM RX clock calculate fa… in i2s_calculate_clock()
810 …ESP_RETURN_ON_ERROR(i2s_calculate_common_clock(i2s_num, clk_info), TAG, "Common clock calculate fa… in i2s_calculate_clock()
812clk_info->sclk, clk_info->mclk, clk_info->mclk_div, clk_info->bclk, clk_info->bclk_div); in i2s_calculate_clock()
1022 i2s_hal_clock_info_t clk_info; in i2s_set_clock_legacy() local
1023 i2s_calculate_clock(i2s_num, &clk_info); in i2s_set_clock_legacy()
1025 i2s_hal_set_tx_clock(&(p_i2s[i2s_num]->hal), &clk_info, clk_cfg->clk_src); in i2s_set_clock_legacy()
1028 i2s_hal_set_rx_clock(&(p_i2s[i2s_num]->hal), &clk_info, clk_cfg->clk_src); in i2s_set_clock_legacy()