mirror of
https://github.com/torvalds/linux.git
synced 2026-06-09 07:03:37 +02:00
ASoC: rockchip: i2s-tdm: Add support for half frame fsync
This patch parses property 'rockchip,tdm-fsync-half-frame' from DT to config tdm fsync width. Change-Id: I3254d753a213b7a74462bb85a20ea33d8c3fc3fc Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This commit is contained in:
parent
b6a8de0be6
commit
593aff088a
|
|
@ -83,6 +83,7 @@ struct rk_i2s_tdm_dev {
|
|||
bool io_multiplex;
|
||||
bool mclk_calibrate;
|
||||
bool tdm_mode;
|
||||
bool tdm_fsync_half_frame;
|
||||
unsigned int mclk_rx_freq;
|
||||
unsigned int mclk_tx_freq;
|
||||
unsigned int mclk_root0_freq;
|
||||
|
|
@ -582,7 +583,10 @@ static int rockchip_i2s_tdm_set_fmt(struct snd_soc_dai *cpu_dai,
|
|||
}
|
||||
|
||||
tdm_val |= TDM_FSYNC_WIDTH_SEL1(1);
|
||||
tdm_val |= TDM_FSYNC_WIDTH_ONE_FRAME;
|
||||
if (i2s_tdm->tdm_fsync_half_frame)
|
||||
tdm_val |= TDM_FSYNC_WIDTH_HALF_FRAME;
|
||||
else
|
||||
tdm_val |= TDM_FSYNC_WIDTH_ONE_FRAME;
|
||||
|
||||
mask = I2S_TXCR_TFS_MASK;
|
||||
regmap_update_bits(i2s_tdm->regmap, I2S_TXCR, mask, val);
|
||||
|
|
@ -1634,6 +1638,9 @@ static int rockchip_i2s_tdm_probe(struct platform_device *pdev)
|
|||
}
|
||||
}
|
||||
|
||||
i2s_tdm->tdm_fsync_half_frame =
|
||||
of_property_read_bool(node, "rockchip,tdm-fsync-half-frame");
|
||||
|
||||
if (of_property_read_bool(node, "rockchip,playback-only"))
|
||||
soc_dai->capture.channels_min = 0;
|
||||
else if (of_property_read_bool(node, "rockchip,capture-only"))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user