boards: mimxrt595_evk,mimxrt685_evk: Instantiate WM8904
Add Flexcomm signal sharing configuration for the mimxrt595s/cm33 and mimxrt685s/cm33 SoCs. Properly instantiate the I3C peripheral for interfacing with the WM8904's control port. Modify pinctrl DTs of mimxrt595_evk/mimxrt595s/cm33 and mimxrt685_evk/mimxrt685s/cm33. Instantiate the WM8904 codec for said boards. Signed-off-by: Hake Huang <hake.huang@oss.nxp.com> Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com> Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
This commit is contained in:
parent
6b796314fe
commit
446282cd22
5 changed files with 35 additions and 16 deletions
|
@ -279,34 +279,32 @@ static int mimxrt595_evk_init(void)
|
|||
pm_policy_state_lock_get(PM_STATE_SUSPEND_TO_IDLE, PM_ALL_SUBSTATES);
|
||||
|
||||
#ifdef CONFIG_I2S
|
||||
|
||||
#ifdef CONFIG_I2S_TEST_SEPARATE_DEVICES
|
||||
/* Set shared signal set 0 SCK, WS from Transmit I2S - Flexcomm3 */
|
||||
SYSCTL1->SHAREDCTRLSET[0] = SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL(3) |
|
||||
SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL(3);
|
||||
|
||||
#ifdef CONFIG_I2S_TEST_SEPARATE_DEVICES
|
||||
/* Select Data in from Transmit I2S - Flexcomm 3 */
|
||||
SYSCTL1->SHAREDCTRLSET[0] |= SYSCTL1_SHAREDCTRLSET_SHAREDDATASEL(3);
|
||||
/* Enable Transmit I2S - Flexcomm 3 for Shared Data Out */
|
||||
SYSCTL1->SHAREDCTRLSET[0] |= SYSCTL1_SHAREDCTRLSET_FC3DATAOUTEN(1);
|
||||
#else
|
||||
/* Set shared signal set 0: SCK, WS from Flexcomm1 */
|
||||
SYSCTL1->SHAREDCTRLSET[0] = SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL(1) |
|
||||
SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL(1);
|
||||
#endif
|
||||
|
||||
/* Set Receive I2S - Flexcomm 1 SCK, WS from shared signal set 0 */
|
||||
SYSCTL1->FCCTRLSEL[1] = SYSCTL1_FCCTRLSEL_SCKINSEL(1) |
|
||||
SYSCTL1_FCCTRLSEL_WSINSEL(1);
|
||||
|
||||
/* Set Transmit I2S - Flexcomm 3 SCK, WS from shared signal set 0 */
|
||||
SYSCTL1->FCCTRLSEL[3] = SYSCTL1_FCCTRLSEL_SCKINSEL(1) |
|
||||
SYSCTL1_FCCTRLSEL_WSINSEL(1);
|
||||
|
||||
#ifdef CONFIG_I2S_TEST_SEPARATE_DEVICES
|
||||
/* Select Receive I2S - Flexcomm 1 Data in from shared signal set 0 */
|
||||
SYSCTL1->FCCTRLSEL[1] |= SYSCTL1_FCCTRLSEL_DATAINSEL(1);
|
||||
/* Select Transmit I2S - Flexcomm 3 Data out to shared signal set 0 */
|
||||
SYSCTL1->FCCTRLSEL[3] |= SYSCTL1_FCCTRLSEL_DATAOUTSEL(1);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif /* CONFIG_I2S_TEST_SEPARATE_DEVICES */
|
||||
#endif /* CONFIG_I2S */
|
||||
|
||||
|
||||
#ifdef CONFIG_REBOOT
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* NOTE: File generated by gen_board_pinctrl.py
|
||||
* from MIMXRT595-EVK.mex
|
||||
*
|
||||
* Copyright 2022, NXP
|
||||
* Copyright 2022, 2024 NXP
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
|
@ -29,7 +29,8 @@
|
|||
group0 {
|
||||
pinmux = <FC1_RXD_SDA_MOSI_DATA_PIO0_9>,
|
||||
<FC1_TXD_SCL_MISO_WS_PIO0_8>,
|
||||
<FC1_SCK_PIO0_7>;
|
||||
<FC1_SCK_PIO0_7>,
|
||||
<MCLK_PIO1_10>;
|
||||
slew-rate = "normal";
|
||||
input-enable;
|
||||
drive-strength = "high";
|
||||
|
@ -39,7 +40,7 @@
|
|||
/* TX */
|
||||
pinmux_flexcomm3_i2s: pinmux_flexcomm3_i2s {
|
||||
group0 {
|
||||
pinmux = <FC3_RXD_SDA_MOSI_DATA_PIO0_23>;
|
||||
pinmux = <FC3_RXD_SDA_MOSI_DATA_PIO0_23>, <MCLK_PIO1_10>;
|
||||
input-enable;
|
||||
slew-rate = "normal";
|
||||
drive-strength = "high";
|
||||
|
@ -236,8 +237,9 @@
|
|||
pinmux = <I3C0_SCL_PIO2_29>,
|
||||
<I3C0_SDA_PIO2_30>;
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
slew-rate = "slow";
|
||||
drive-strength = "high";
|
||||
drive-strength = "normal";
|
||||
};
|
||||
|
||||
group1 {
|
||||
|
@ -246,5 +248,4 @@
|
|||
drive-strength = "normal";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -464,6 +464,15 @@ zephyr_udc0: &usbhs {
|
|||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
|
||||
audio_codec: wm8904@1a {
|
||||
compatible = "wolfson,wm8904";
|
||||
reg = <0x1a 0 0>;
|
||||
clock-source = "MCLK";
|
||||
|
||||
clocks = <&clkctl0 MCUX_AUDIO_MCLK>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
};
|
||||
|
||||
&mbox {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* NOTE: File generated by gen_board_pinctrl.py
|
||||
* from MIMXRT685-EVK.mex
|
||||
*
|
||||
* Copyright 2022, NXP
|
||||
* Copyright 2022, 2024 NXP
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
|
@ -49,7 +49,8 @@
|
|||
group0 {
|
||||
pinmux = <FC3_RXD_SDA_MOSI_DATA_PIO0_23>,
|
||||
<FC3_TXD_SCL_MISO_WS_PIO0_22>,
|
||||
<FC3_SCK_PIO0_21>;
|
||||
<FC3_SCK_PIO0_21>,
|
||||
<MCLK_PIO1_10>;
|
||||
input-enable;
|
||||
slew-rate = "normal";
|
||||
drive-strength = "high";
|
||||
|
|
|
@ -391,6 +391,16 @@ zephyr_udc0: &usbhs {
|
|||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
|
||||
audio_codec: wm8904@1a {
|
||||
compatible = "wolfson,wm8904";
|
||||
reg = <0x1a 0 0>;
|
||||
|
||||
clock-source = "MCLK";
|
||||
|
||||
clocks = <&clkctl0 MCUX_AUDIO_MCLK>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
};
|
||||
|
||||
/* Disable this node if not using USB and need another MPU region */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue