Commit Graph

330 Commits

Author SHA1 Message Date
Grzegorz Bernat
a654bfbdfa soc: intel: renamed soc from ace30_ptl to ace30
Renamed soc from ace30_ptl to ace30.
We were previously using the wrong soc name.
The correct name is ace30.

There is only one ptl platform, but there can be several ace30 platforms.

Signed-off-by: Grzegorz Bernat <grzegorzx.bernat@intel.com>
2024-09-24 10:10:37 +02:00
Flavio Ceolin
0047d31eb9 intel_adsp: cavs20: Remove legacy files
Remove cavs20 leftover files.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-09-19 03:26:53 -04:00
Flavio Ceolin
72f2a04f7d intel_adsp: cavs18: Remove legacy files
Remove cavs18 leftover files.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-09-19 03:26:53 -04:00
Flavio Ceolin
b3acb149c5 intel_adsp: cavs15: Remove legacy files
cavs15 was removed long time ago, these are leftovers files that should
be removed as well.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-09-19 03:26:53 -04:00
Armin Kessler
576fc209c4 drivers: video: esp32s3: add support for cam interface
Adding support for the esp32s3 LCD_CAM peripheral.

Signed-off-by: Armin Kessler <ake@espros.com>
2024-09-06 11:26:59 -04:00
Flavio Ceolin
4902f189ae dts: xtensa: intel_adsp: Set soft-off state as disabled
The 'soft-off' state must be used when explicitly request by calling
`pm_state_force`. Set this state as disabled in dts ensures that the
pm policy manager will not use this state.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-09-02 11:54:08 +02:00
Sylvio Alves
f099bcd497 hotfix: drivers: i2s: update esp32s3/c3 I2S dtsi
I2S driver was merged after interrupt .dtsi was changed,
causing CI to fail. This updates it accordingly.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-08-29 16:10:28 -04:00
Marcio Ribeiro
902104d795 drivers: i2s: esp32s3/esp32c3
i2s support added for esp32s3 and esp32c3

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2024-08-29 18:06:23 +02:00
Raffael Rostagno
dfbcb9dd60 dts: irq: esp32: Added priority and flags to device tree
Added IRQ priority and flags configuration to device tree.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-08-22 14:25:25 -04:00
Raffael Rostagno
7debafe22e dts: pinctrl: esp32s3: Support for SDHC
Added pinctrl and dts settings for SDHC

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-08-17 08:55:37 -04:00
Felipe Neves
af91d06b00 drivers: mbox: mbox_esp32: add support for esp32 MBOX driver
as an alternative for IPM driver.

Signed-off-by: Felipe Neves <ryukokki.felipe@gmail.com>
2024-08-07 07:17:01 -04:00
Damian Nikodem
ed31037d5f drivers: ssp: fix program of MLCS register
Programming of the MLCS register was performed on the incorrect bits.
Additionally, saving the new version did not erase the previously set
value, which could result in an incorrect register value.

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-08-06 10:28:16 +02:00
Tomasz Leman
a983a5e399 dts: xtensa: intel: Remove non-existent power domains from ACE30 PTL DTS
This patch removes definitions of power domains from the ACE30 PTL DTS
file that do not exist in the actual hardware.

The following power domain nodes have been removed:
- 'ml1_domain' with a bit-position of <13>
- 'io3_domain' with a bit-position of <11>
- 'io2_domain' with a bit-position of <10>

These nodes were previously included in the DTS file but do not
correspond to any physical power domain in the ACE30 PTL hardware. Their
presence in the DTS could lead to confusion and misconfiguration, as the
software might attempt to interact with non-existent hardware features.

By removing these nodes, the DTS now accurately reflects the hardware
capabilities of the ACE30 PTL platform, ensuring that the power
management infrastructure within the firmware operates based on the
correct hardware configuration.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-06-25 14:15:27 -04:00
Tomasz Leman
a2eada74c6 dts: xtensa: intel: Remove ALH nodes from ACE 3.0 PTL DTS
Remove the Audio Link Hub (ALH) nodes from the ACE 3.0 PTL DTS file.

This patch cleans up the Device Tree Source (DTS) for the ACE 3.0 PTL
platform by removing the definitions of the ALH DAI nodes. The ALH
interface is not utilized in the ACE 3.0 PTL architecture, making these
nodes redundant.

The following changes are made:
- Deleted the 'alh0' and 'alh1' nodes, which were previously defined
  with FIXME comments indicating a problematic modeling of individual
  ALH channels/instances using node labels.

This cleanup helps to prevent confusion and potential errors in device
configuration by ensuring that the DTS reflects the actual hardware
capabilities of the ACE 3.0 PTL platform.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-06-25 14:15:27 -04:00
Tomasz Leman
442e697a8f dts: xtensa: intel: Reorder power domains by bit position in ACE30
Rearrange the power domain entries in the ACE30 PTL device tree source
file to be in ascending order according to their bit positions. This
reordering improves the readability of the device tree source by
grouping power domains logically according to their bit position within
the power management registers.

The changes in this patch include:
- Moving 'ml1_domain' and 'ml0_domain' to their correct positions
  according to their bit-position values (13 and 12, respectively).
- Adjusting the order of 'io3_domain', 'io2_domain', 'io1_domain', and
  'io0_domain' to reflect their bit positions (11, 10, 9, and 8).
- Placing 'hub_hp_domain' and 'hst_domain' at their new positions
  according to their bit-position values (6 and 5).

No functional changes are introduced with this patch. It solely aims to
make the device tree source more intuitive and easier to navigate when
mapping power domains to their respective control bits.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-06-25 14:15:27 -04:00
Damian Nikodem
a2386efbce drivers: ssp: update SSP driver to support Intel ACE30 PTL
This commit refactors the SSP driver to support the Intel ACE30 PTL
platform. The changes include:
- Adding new structures ssp_rx_dir and ssp_tx_dir to hold the TDM
slot configuration for RX and TX directions
- Adjusting the dai_ssp_set_config_blob functions to work with
the new TDM slot configuration.

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-06-14 20:33:18 +02:00
Johan Hedberg
8953b4eb63 Bluetooth: drivers: Convert ESP32 HCI driver to new API
Convert the hci_esp32.c HCI driver to the new HCI driver API.

Signed-off-by: Johan Hedberg <johan.hedberg@gmail.com>
2024-06-11 19:42:49 -04:00
Flavio Ceolin
6069f946be soc: intel_adsp: Avoid duplicate header
adsp_memory.h is pretty much the same for all ace platforms.

Generalize it getting register address from devicetree and
and move it to a common place.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-07 09:52:42 +02:00
Anas Nashif
07fb31c31e drivers: dai/ssp: Support dynamic SSP management
This commit refactors the Intel SSP DAI driver to support dynamic
management of SSP IP. This change additionally separates the
management of the DAI part from the management part of the SSP IP.

Key changes:
- Add new static functions to manage SSP IP power.
- Update the DAI SSP configuration functions to use the new management
  approach.
- Update device tree bindings and instances to reflect the new SSP IP
  management mechanism.
- ace30 (PTL) support.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
2024-06-04 13:40:04 +02:00
Flavio Ceolin
9637b8b0bc intel_adsp: ace30: Bring up ACE 3.0 (PTL)
This commit adds definition of ACE 3.0 Panther Lake board.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 13:40:04 +02:00
Lucas Tamborrino
aa692309bf drivers: wdt: espressif: Add 32K Xtal Watchdog
This WDT is responsible for monitoring the external
32.728 Hz crystal connected to pins XTAL_32K_P and
XTAL_32K_N. If an oscillation failure is detected
the hardware automatically switch to RTC_RC_SLOW
clock source and triggers an interrupt.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-05-30 16:52:37 -05:00
Lucas Tamborrino
e282b0ea84 soc: esp32xx: refactor clock and RTC subsystems
The RTC subsystem in espressif's SOCs, among other tasks
is responsible for clock selection for CPU and for low
power domain clocks such as RTC_SLOW and RTC_FAST.

This commit allows for proper clock source and rate
selection for CPU, using the espressif,riscv and
espressif,xtensa-lx6/7 bindings.

It also enables clock selection for RTC_FAST and RTC_SLOW,
that impacts some peripherals, such as rtc_timer.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-05-27 01:37:18 -07:00
Flavio Ceolin
301055dec0 intel-adsp/ace: pm: Only core 0 can d0i3
Secondary cores are not allowed to be power gated on
runtime-idle. They have to explicitely set off by host command.

Remove this state from secondary CPUs so power management logic
does not need workarounds to enforce this behavior.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-05-24 09:53:04 -05:00
Damian Nikodem
6205f82d4f intel_adsp: adsp_memory: update mtl memory definitions
This commit updates the device tree and memory header file
for the Intel MTPM 1.5 platform to define the LSBPM and
HSBPM registers.

Changes include:
- Added node definitions for 'lsbpm' and 'hsbpm' in
intel_adsp_ace15_mtpm.dtsi
- Updated adsp_memory.h

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-05-01 10:31:52 +02:00
Damian Nikodem
6fe16960fd intel_adsp: adsp_memory: update lnl memory definitions
This commit updates the device tree and memory header file
for the Intel LNL 2.0 platform to define the LSBPM and
HSBPM registers.

Changes include:
- Added node definitions for 'lsbpm' and 'hsbpm' in
intel_adsp_ace20_lnl.dtsi
- Updated adsp_memory.h

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-05-01 10:31:52 +02:00
Damian Nikodem
2176ca9f9b intel_adsp: adsp_memory: update cAVS 2.5 memory definitions
This commit updates the device tree and memory header file
for the Intel cAVS 2.5 platform to define the LSBPM and
HSBPM registers.

Changes include:
- Added node definitions for 'lsbpm' and 'hsbpm' in
intel_adsp_cavs25.dtsi and intel_adsp_cavs25_tgph.dtsi
- Updated adsp_memory.h

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-05-01 10:31:52 +02:00
Raffael Rostagno
f4a6fd1f3f drivers: esp32: SDHC implementation
Implementation of SDHC driver for ESP32

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-04-30 18:23:06 +02:00
Damian Nikodem
2455436337 driver: ssp: update Intel SSP DAI driver to support dynamic SSP management
This commit refactors the Intel SSP DAI driver to support dynamic
management of SSP IP. This change additionally separates the management
of the DAI part from the management part of the SSP IP.

Key changes:
- Add new static functions to manage SSP IP power.
- Update the DAI SSP configuration functions to use the new management
  approach.
- Update device tree bindings and instances to reflect the new SSP IP
  management mechanism.

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-04-25 12:14:50 +02:00
Laurentiu Mihalcea
799a456c25 nxp: imx8ulp: add audio-related nodes
Add DTS nodes for the IPs used in audio processing.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-23 15:36:01 +02:00
Kai Vehmanen
45205f865e dts: xtensa: intel_adsp_ace20: correct SSP definition
The ace20 description has incorrect number of SSP instances
described. Correct number should be 3.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-21 03:28:17 -07:00
Kai Vehmanen
aecf19c3c1 dts: xtensa: intel_adsp_ace15: correct SSP definition
The ace15 description has incorrect number of SSP instances
described. Correct number should be 3.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-21 03:28:17 -07:00
Kai Vehmanen
bc63835ba2 dts: xtensa: intel_adsp_cavs25_tgph: correct SSP definition
The tgph description has incorrect number of SSP instances
described. Correct number should be 3.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-21 03:28:17 -07:00
Laurentiu Mihalcea
94d156c9c8 nxp: imx8ulp: enable serial interface
Enable serial interface on i.MX8ULP.

This also includes a SHA update for hal_nxp which
pulls in the following commits relevant to Zephyr:

* 3366f234ed47 build: hal_nxp: add TPM counter support
* 6544455fcf46 Compile in PXP driver if LVGL is set to use
PXP.
* 31463a848bcd devices: MIMX8UD7: add definition for
LPUART_RX_TX_IRQS

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-12 16:52:38 -04:00
Tomasz Leman
a200dd88d8 dts: xtensa: intel_adsp: Set soft-off state as disabled
Configure the 'soft-off' power state for manual selection only in the
DTS for Intel ADSP ACE 1.5 MTPM and ACE 2.0 LNL platforms.

Changes include:
- Setting 'min-residency-us' to 0 to indicate that the 'soft-off' state
  is not intended for automatic selection by the power management
  policy.
- Adding a 'status' property set to "disabled" to prevent the power
  management policy from using this state during its decision process.

The 'soft-off' state remains available for manual selection by calling
`pm_state_force`. This change ensures that the state can still be used
when explicitly requested by the system or application, providing
flexibility for power management operations.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-04-09 16:58:24 +02:00
Laurentiu Mihalcea
399c2cba65 nxp: imx8ulp: enable pinctrl
This commit enables pinctrl on i.MX8ULP. This includes:
	1) Adding `pinctrl_soc.h` header file.
	2) Adding DTS node for IOMUXC1, which is one of the
	IPs responsible for managing the 8ULP pads.
	3) Adding .dtsi with pin definitions. For now, only
	the LPUART7 pads are added to this file because this
	is going to be the only consummer for now.
	4) Modifying the `pinctrl_imx.c` driver to work for 8ULP.
	5) Enabling the `CONFIG_HAS_MCUX_IOMUXC`, which is a
	dependency of `CONFIG_PINCTRL_IMX`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-09 11:06:14 +02:00
Sylvio Alves
561f31bb54 soc: espressif: esp32s3: update to hal_espressif v5.1
Modify and reorganize SoC to meet updated hal.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-04-05 13:39:53 +02:00
Dominik Ermel
326f080131 xtensa: dc233c: Fix build warning in DTS on leading zeros
Leading zeros removed from unit name.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-04-03 20:41:45 -04:00
Laurentiu Mihalcea
bba8641354 dts: xtensa: nxp_imx8: add ESAI0 node
Add node for NXP's i.MX8QM/i.MX8QXP AUDIO ESAI0 IP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-03 16:18:50 +01:00
Laurentiu Mihalcea
02f18bc5f5 nxp: imx8ulp: enable clock control
Enable clock control for i.MX8ULP. This consists of:
	1) Adding a PCC node in the DTS
	2) Adding a header file containing the definitions
	of the clocks used by the peripherals to be enabled.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-02 14:30:27 +01:00
Laurentiu Mihalcea
b8214b6739 dts: xtensa: nxp_imx8: add SAI1 node
Add node for NXP's i.MX8QM/i.MX8QXP AUDIO SAI1 IP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-28 09:40:43 +00:00
Adrian Bonislawski
a0e32f07ef dts: intel_adsp: ace: update host dma copy alignment
This will update host dma copy aligmnet as with current
high value in some cases it was not possible to fully
empty the buffer

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2024-03-26 09:40:11 +00:00
Sylvio Alves
e48fe49a70 soc: esp32s3: appcpu: add sram dts information
Make sure SoC has defined RAM size.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-03-20 07:55:09 -05:00
Tomasz Leman
81658e67e7 dts: xtensa: intel_adsp: Remove ALH nodes from ACE 2.0 LNL DTS
Remove the Audio Link Hub (ALH) nodes from the ACE 2.0 LNL DTS file.

This patch cleans up the Device Tree Source by removing the individual
ALH stream/FIFO nodes. The ALH hardware is not present in the ACE 2.0
architecture, and these nodes are therefore not applicable.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-03-19 14:54:29 +01:00
Tomasz Leman
a39a61015c dts: xtensa: intel: Reorder LNL power domains
This patch reorders the power domain definitions for the Intel ADSP ACE
2.0 LNL (Lunarlake) platform in the Device Tree Source (DTS).

Changes include:
- Removing the definitions for io2_domain, io3_domain, and ml1_domain,
  which are no longer present in the ACE 2.0 LNL configuration.
- Renaming and reassigning bit positions to existing power domains to
  reflect the updated power management architecture.

The reordering ensures that the DTS reflects the current power domain
architecture of the ACE 2.0 LNL platform, facilitating accurate power
management within the SoC.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-03-19 14:54:29 +01:00
Tomasz Leman
64a81ffb23 dts: xtensa: intel_adsp: ace15: Update power domain for hda link nodes
Changing the power domain from 'hst_domain' to 'io0_domain' for the HDA
DMA link in/out nodes. This aligns the power domain assignments with the
actual hardware configuration and ensures that the power management
subsystem can accurately manage the power states of these interfaces.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-03-19 14:54:29 +01:00
Tomasz Leman
ff2dd7f25a dts: xtensa: intel: Reorder ACE 1.5 power domain nodes
This patch reorders the power domain node definitions in the ACE 1.5
Meteorlake DTS file to improve readability and facilitate comparison with
the documentation.

Changes include:
- Reordering power domain nodes by their bit positions.
- No changes to the bit positions themselves; they remain as originally
  defined.

This reordering does not affect the functionality but makes the DTS file
more maintainable and easier to cross-reference with the hardware
specification.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-03-19 14:54:29 +01:00
Henrik Brix Andersen
41960ab366 dts: bindings: can: remove optional sample point properties
Remove all optional, initial CAN sample point properties and rely on the
CAN timing calculations to automatically pick the preferred sample point
location based on the initial bitrate.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-17 15:36:19 +01:00
Laurentiu Mihalcea
f82cacbab8 dts: xtensa: nxp_imx8: add EDMA0 node
Add node for NXP's i.MX8QM/i.MX8QXP AUDIO EDMA0 IP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-13 22:37:04 +00:00
Laurentiu Mihalcea
1bf02c58ae nxp: imx8qm/imx8qxp: enable IRQSTEER on QM/QXP boards
This commit enables the IRQSTEER interrupt controller
on NXP's XTENSA-based i.MX8QM and i.MX8QXP.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-11 17:24:19 +01:00
Lucas Tamborrino
11fc182315 soc: esp32: refactor esp32_net
SOC_ESP32_NET is now SOC_ESP32_APPCPU, following espressif's
naming convention in the same manner as ESP32S3 app cpu.

SOC_ESP32_APPCU is now a subset of SOC_SERIES_ESP32.

This commit also changes the necessary files, samples and tests
for bisect purposes.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2024-01-13 00:22:24 +00:00