drivers: i2s: Initial driver support for SSIE on Renesas RA
Add i2s driver support for Renesas RA SSIE Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
This commit is contained in:
parent
da62b1c19d
commit
e84ea05dd4
@ -17,3 +17,4 @@ zephyr_library_sources_ifdef(CONFIG_I2S_ESP32 i2s_esp32.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_I2S_SILABS_SIWX91X i2s_silabs_siwx91x.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_I2S_TEST i2s_test.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_I2S_STM32_SAI i2s_stm32_sai.c)
|
||||
zephyr_library_sources_ifdef(CONFIG_I2S_RENESAS_RA_SSIE i2s_renesas_ra_ssie.c)
|
||||
|
||||
32
drivers/i2s/Kconfig.renesas_ra
Normal file
32
drivers/i2s/Kconfig.renesas_ra
Normal file
@ -0,0 +1,32 @@
|
||||
# Renesas RA Family
|
||||
|
||||
# Copyright (c) 2025 Renesas Electronics Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config I2S_RENESAS_RA_SSIE
|
||||
bool "Renesas RA I2S SSIE"
|
||||
default y
|
||||
depends on DT_HAS_RENESAS_RA_I2S_SSIE_ENABLED
|
||||
select USE_RA_FSP_SSI
|
||||
select PINCTRL
|
||||
help
|
||||
Enable Renesas RA I2S SSIE Driver.
|
||||
|
||||
if I2S_RENESAS_RA_SSIE
|
||||
|
||||
config I2S_RENESAS_RA_SSIE_DTC
|
||||
bool "DTC on Transmission and Reception"
|
||||
default y
|
||||
select USE_RA_FSP_DTC
|
||||
help
|
||||
Enable DTC on transmission and reception
|
||||
|
||||
config I2S_RENESAS_RA_SSIE_RX_BLOCK_COUNT
|
||||
int "RX queue length"
|
||||
default 4
|
||||
|
||||
config I2S_RENESAS_RA_SSIE_TX_BLOCK_COUNT
|
||||
int "TX queue length"
|
||||
default 4
|
||||
|
||||
endif # I2S_RENESAS_RA_SSIE
|
||||
1174
drivers/i2s/i2s_renesas_ra_ssie.c
Normal file
1174
drivers/i2s/i2s_renesas_ra_ssie.c
Normal file
File diff suppressed because it is too large
Load Diff
62
dts/bindings/i2s/renesas,ra-i2s-ssie.yaml
Normal file
62
dts/bindings/i2s/renesas,ra-i2s-ssie.yaml
Normal file
@ -0,0 +1,62 @@
|
||||
# Copyright (c) 2025 Renesas Electronics Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Renesas RA I2S controller
|
||||
|
||||
compatible: "renesas,ra-i2s-ssie"
|
||||
|
||||
include: [i2s-controller.yaml, pinctrl-device.yaml]
|
||||
|
||||
properties:
|
||||
reg:
|
||||
required: true
|
||||
|
||||
channel:
|
||||
required: true
|
||||
type: int
|
||||
|
||||
clocks:
|
||||
required: true
|
||||
|
||||
clock-names:
|
||||
required: true
|
||||
enum:
|
||||
- "pclk"
|
||||
- "audio-clock"
|
||||
|
||||
pinctrl-0:
|
||||
required: true
|
||||
|
||||
pinctrl-names:
|
||||
required: true
|
||||
|
||||
interrupts:
|
||||
required: true
|
||||
|
||||
interrupt-names:
|
||||
required: true
|
||||
enum:
|
||||
- "ssi_txi"
|
||||
- "ssi_rxi"
|
||||
- "ssi_if"
|
||||
- "ssi_rt"
|
||||
description: |
|
||||
A list of interrupt identifiers that correspond to the interrupt lines
|
||||
provided in the `interrupts` property. The names must be listed in the
|
||||
same order as their matching entries in `interrupts`.
|
||||
|
||||
Common configurations based on the operating mode:
|
||||
|
||||
- Full-duplex mode: "ssi_txi", "ssi_rxi", "ssi_if"
|
||||
"ssi_txi": Transmit interrupt
|
||||
"ssi_rxi": Receive interrupt
|
||||
"ssi_if" : Idle/Error interrupt
|
||||
|
||||
- Half-duplex mode: "ssi_rt", "ssi_if"
|
||||
"ssi_rt" : Combined receive/transmit interrupt
|
||||
"ssi_if" : Idle/Error interrupt
|
||||
|
||||
full-duplex:
|
||||
type: boolean
|
||||
description: |
|
||||
Indicates whether the device node supports full-duplex operation.
|
||||
@ -191,6 +191,11 @@ config USE_RA_FSP_ELC
|
||||
help
|
||||
Enable RA FSP ELC driver
|
||||
|
||||
config USE_RA_FSP_SSI
|
||||
bool
|
||||
help
|
||||
Enable RA FSP I2S SSI driver
|
||||
|
||||
endif # HAS_RENESAS_RA_FSP
|
||||
|
||||
if HAS_RENESAS_RZ_FSP
|
||||
|
||||
Loading…
Reference in New Issue
Block a user