mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
Merge branch 'feat/mipi_dsi_vsync_event' into 'master'
feat(dsi): add vsync interrupt handling Closes IDF-13503 See merge request espressif/esp-idf!42163
This commit is contained in:
@@ -37,3 +37,6 @@
|
||||
/*--------------------------- ETM (Event Task Matrix) ----------------------------*/
|
||||
#define _SOC_CAPS_ETM_INST_NUM 1 // Number of ETM instances
|
||||
#define _SOC_CAPS_ETM_CHANS_PER_INST 50 // Number of channels in each ETM instance
|
||||
|
||||
/*--------------------------- MIPI DSI -------------------------------------------*/
|
||||
#define _SOC_CAPS_MIPI_DSI_INST_NUM 1 // Number of MIPI DSI instances
|
||||
|
||||
@@ -24,6 +24,7 @@ PROVIDE ( AXI_ICM_QOS = 0x500A4400 );
|
||||
PROVIDE ( HP_PERI_PMS = 0x500A5000 );
|
||||
PROVIDE ( LP2HP_PERI_PMS = 0x500A5800 );
|
||||
PROVIDE ( DMA_PMS = 0x500A6000 );
|
||||
PROVIDE ( AXI_PERF_MON = 0x500A8000 );
|
||||
PROVIDE ( LEDC = 0x500D3000 );
|
||||
PROVIDE ( LEDC_GAMMA_RAM = 0x500D3400 );
|
||||
PROVIDE ( TIMERG0 = 0x500C2000 );
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/mipi_dsi_periph.h"
|
||||
#include "soc/interrupts.h"
|
||||
|
||||
const soc_mipi_dsi_phy_pll_freq_range_t soc_mipi_dsi_phy_pll_ranges[] = {
|
||||
{80, 89, 0x00}, // [80,90) Mbps
|
||||
@@ -49,3 +50,9 @@ const soc_mipi_dsi_phy_pll_freq_range_t soc_mipi_dsi_phy_pll_ranges[] = {
|
||||
};
|
||||
|
||||
const size_t num_of_soc_mipi_dsi_phy_pll_ranges = sizeof(soc_mipi_dsi_phy_pll_ranges) / sizeof(soc_mipi_dsi_phy_pll_freq_range_t);
|
||||
|
||||
const soc_mipi_dsi_signal_desc_t soc_mipi_dsi_signals[1] = {
|
||||
[0] = {
|
||||
.brg_irq_id = ETS_DSI_BRIDGE_INTR_SOURCE,
|
||||
}
|
||||
};
|
||||
|
||||
@@ -144,12 +144,12 @@ typedef struct {
|
||||
volatile icm_axi_hw_cfg_reg_reg_t hw_cfg_reg;
|
||||
volatile icm_axi_cmd_reg_t cmd;
|
||||
volatile icm_axi_data_reg_t data;
|
||||
} icm_axi_dev_t;
|
||||
} axi_icm_qos_dev_t;
|
||||
|
||||
extern icm_axi_dev_t ICM_SYS;
|
||||
extern axi_icm_qos_dev_t AXI_ICM_QOS;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(icm_axi_dev_t) == 0x10, "Invalid size of icm_axi_dev_t structure");
|
||||
_Static_assert(sizeof(axi_icm_qos_dev_t) == 0x10, "Invalid size of axi_icm_qos_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -508,12 +508,12 @@ typedef struct {
|
||||
volatile icm_rdn_eco_cs_reg_t rdn_eco_cs;
|
||||
volatile icm_rdn_eco_low_reg_t rdn_eco_low;
|
||||
volatile icm_rdn_eco_high_reg_t rdn_eco_high;
|
||||
} icm_dev_t;
|
||||
} axi_icm_dev_t;
|
||||
|
||||
extern icm_dev_t ICM_SYS;
|
||||
extern axi_icm_dev_t AXI_ICM;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(icm_dev_t) == 0x5c, "Invalid size of icm_dev_t structure");
|
||||
_Static_assert(sizeof(axi_icm_dev_t) == 0x5c, "Invalid size of axi_icm_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -8,11 +8,17 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "soc/soc_caps_full.h"
|
||||
|
||||
// helper macros to access module attributes
|
||||
#define SOC_MIPI_DSI_ATTR(_attr) SOC_MODULE_ATTR(MIPI_DSI, _attr)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if SOC_HAS(MIPI_DSI)
|
||||
|
||||
/**
|
||||
* @brief MIPI DSI PHY PLL frequency range
|
||||
*/
|
||||
@@ -25,6 +31,14 @@ typedef struct {
|
||||
extern const soc_mipi_dsi_phy_pll_freq_range_t soc_mipi_dsi_phy_pll_ranges[];
|
||||
extern const size_t num_of_soc_mipi_dsi_phy_pll_ranges;
|
||||
|
||||
typedef struct {
|
||||
const int brg_irq_id; // interrupt source ID for MIPI DSI Bridge
|
||||
} soc_mipi_dsi_signal_desc_t;
|
||||
|
||||
extern const soc_mipi_dsi_signal_desc_t soc_mipi_dsi_signals[SOC_MIPI_DSI_ATTR(INST_NUM)];
|
||||
|
||||
#endif // SOC_HAS(MIPI_DSI)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user