drivers: i2s: i2s_mcux_sai: use clock-mux property to select SAI mux
Use a new property, "clock-mux" to select the clock mux for the SAI.
Previously, the clock mux was being selected using the "bits" specifier
of the "clocks" phandle property, which is not the purpose of this
specifier. This can be shown by the regression introduced by 5bebbb91
,
which changed the "bits" field to the clock gate shift (which is the
intended meaning).
This incidently worked for the SAI1 and SAI3 peripherals, as the lower 2
bits of the correct clock source selection (0b10) are the same as the new
value placed in the "bit" specifier. For SAI2, the clock source was
switched to PLL3 PDF0 by this change.
To resolve this, use an explict "clock-mux" property for this selection.
Fixes #63541
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
parent
078cec1e1f
commit
906ee53834
5 changed files with 29 additions and 8 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2021 NXP Semiconductor INC.
|
||||
* Copyright 2021,2023 NXP Semiconductor INC.
|
||||
* All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
|
@ -1254,9 +1254,7 @@ static const struct i2s_driver_api i2s_mcux_driver_api = {
|
|||
\
|
||||
static const struct i2s_mcux_config i2s_##i2s_id##_config = { \
|
||||
.base = (I2S_Type *)DT_INST_REG_ADDR(i2s_id), \
|
||||
.clk_src = \
|
||||
DT_CLOCKS_CELL_BY_IDX(DT_DRV_INST(i2s_id), \
|
||||
0, bits), \
|
||||
.clk_src = DT_INST_PROP(i2s_id, clock_mux), \
|
||||
.clk_pre_div = DT_INST_PROP(i2s_id, pre_div), \
|
||||
.clk_src_div = DT_INST_PROP(i2s_id, podf), \
|
||||
.pll_src = \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue