summaryrefslogtreecommitdiff
path: root/drivers/mxc/asrc/mxc_asrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mxc/asrc/mxc_asrc.c')
-rw-r--r--drivers/mxc/asrc/mxc_asrc.c44
1 files changed, 25 insertions, 19 deletions
diff --git a/drivers/mxc/asrc/mxc_asrc.c b/drivers/mxc/asrc/mxc_asrc.c
index 653dc77540ea..799c40b65d58 100644
--- a/drivers/mxc/asrc/mxc_asrc.c
+++ b/drivers/mxc/asrc/mxc_asrc.c
@@ -425,10 +425,11 @@ int asrc_config_pair(struct asrc_config *config)
reg = __raw_readl(asrc_vrt_base_addr + ASRC_ASRCDR1_REG);
reg &= 0xfc0fc0;
/* Input Part */
- if ((config->inclk & 0x0f) == INCLK_SPDIF_RX
- || (config->inclk & 0x0f) == INCLK_SPDIF_TX) {
- reg |= 7 << AICPA;
- } else if ((config->inclk & 0x0f) == INCLK_ASRCK1_CLK) {
+ if ((config->inclk & 0x0f) == INCLK_SPDIF_RX)
+ reg | 7 << AICPA;
+ else if ((config->inclk & 0x0f) == INCLK_SPDIF_TX)
+ reg |= 6 << AICPA;
+ else if ((config->inclk & 0x0f) == INCLK_ASRCK1_CLK) {
tmp =
asrc_get_asrck_clock_divider(config->
input_sample_rate);
@@ -443,10 +444,11 @@ int asrc_config_pair(struct asrc_config *config)
err = -EFAULT;
}
/* Output Part */
- if ((config->outclk & 0x0f) == OUTCLK_SPDIF_RX
- || (config->outclk & 0x0f) == OUTCLK_SPDIF_TX) {
+ if ((config->outclk & 0x0f) == OUTCLK_SPDIF_RX)
reg |= 7 << AOCPA;
- } else if ((config->outclk & 0x0f) == OUTCLK_ASRCK1_CLK) {
+ else if ((config->outclk & 0x0f) == OUTCLK_SPDIF_TX)
+ reg |= 6 << AOCPA;
+ else if ((config->outclk & 0x0f) == OUTCLK_ASRCK1_CLK) {
tmp =
asrc_get_asrck_clock_divider(config->
output_sample_rate);
@@ -467,10 +469,11 @@ int asrc_config_pair(struct asrc_config *config)
reg = __raw_readl(asrc_vrt_base_addr + ASRC_ASRCDR1_REG);
reg &= 0x03f03f;
/* Input Part */
- if ((config->inclk & 0x0f) == INCLK_SPDIF_RX
- || (config->inclk & 0x0f) == INCLK_SPDIF_TX) {
+ if ((config->inclk & 0x0f) == INCLK_SPDIF_RX)
reg |= 7 << AICPB;
- } else if ((config->inclk & 0x0f) == INCLK_ASRCK1_CLK) {
+ else if ((config->inclk & 0x0f) == INCLK_SPDIF_TX)
+ reg |= 6 << AICPB;
+ else if ((config->inclk & 0x0f) == INCLK_ASRCK1_CLK) {
tmp =
asrc_get_asrck_clock_divider(config->
input_sample_rate);
@@ -485,10 +488,11 @@ int asrc_config_pair(struct asrc_config *config)
err = -EFAULT;
}
/* Output Part */
- if ((config->outclk & 0x0f) == INCLK_SPDIF_RX
- || (config->outclk & 0x0f) == INCLK_SPDIF_TX) {
+ if ((config->outclk & 0x0f) == OUTCLK_SPDIF_RX)
reg |= 7 << AOCPB;
- } else if ((config->outclk & 0x0f) == INCLK_ASRCK1_CLK) {
+ else if ((config->outclk & 0x0f) == OUTCLK_SPDIF_TX)
+ reg |= 6 << AOCPB;
+ else if ((config->outclk & 0x0f) == OUTCLK_ASRCK1_CLK) {
tmp =
asrc_get_asrck_clock_divider(config->
output_sample_rate);
@@ -509,10 +513,11 @@ int asrc_config_pair(struct asrc_config *config)
reg = __raw_readl(asrc_vrt_base_addr + ASRC_ASRCDR2_REG);
reg &= 0;
/* Input Part */
- if ((config->inclk & 0x0f) == INCLK_SPDIF_RX
- || (config->inclk & 0x0f) == INCLK_SPDIF_TX) {
+ if ((config->inclk & 0x0f) == INCLK_SPDIF_RX)
reg |= 7 << AICPC;
- } else if ((config->inclk & 0x0f) == INCLK_ASRCK1_CLK) {
+ else if ((config->inclk & 0x0f) == INCLK_SPDIF_TX)
+ reg |= 6 << AICPC;
+ else if ((config->inclk & 0x0f) == INCLK_ASRCK1_CLK) {
tmp =
asrc_get_asrck_clock_divider(config->
input_sample_rate);
@@ -527,10 +532,11 @@ int asrc_config_pair(struct asrc_config *config)
err = -EFAULT;
}
/* Output Part */
- if ((config->outclk & 0x0f) == INCLK_SPDIF_RX
- || (config->outclk & 0x0f) == INCLK_SPDIF_TX) {
+ if ((config->outclk & 0x0f) == OUTCLK_SPDIF_RX)
reg |= 7 << AOCPC;
- } else if ((config->outclk & 0x0f) == INCLK_ASRCK1_CLK) {
+ else if ((config->outclk & 0x0f) == OUTCLK_SPDIF_TX)
+ reg |= 6 << AOCPC;
+ else if ((config->outclk & 0x0f) == OUTCLK_ASRCK1_CLK) {
tmp =
asrc_get_asrck_clock_divider(config->
output_sample_rate);