Эх сурвалжийг харах

esp32c6: clean up existing soc files and header file inclusion in IDF to be compatible with the new chip

songruojing 3 жил өмнө
parent
commit
9d515185d0

+ 0 - 1
components/driver/uart.c

@@ -19,7 +19,6 @@
 #include "hal/gpio_hal.h"
 #include "hal/clk_tree_ll.h"
 #include "soc/uart_periph.h"
-#include "soc/rtc_cntl_reg.h"
 #include "driver/uart.h"
 #include "driver/gpio.h"
 #include "driver/uart_select.h"

+ 1 - 1
components/riscv/include/riscv/rv_utils.h

@@ -10,7 +10,7 @@
 
 #include "soc/soc_caps.h"
 #include "soc/assist_debug_reg.h"
-#include "soc/interrupt_core0_reg.h"
+#include "soc/interrupt_reg.h"
 #include "esp_attr.h"
 #include "riscv/csr.h"
 #include "riscv/interrupt.h"

+ 1 - 1
components/soc/esp32/rtc_io_periph.c

@@ -4,7 +4,7 @@
  * SPDX-License-Identifier: Apache-2.0
  */
 
-#include "soc/rtc_io_periph.h"
+#include "soc/rtc_periph.h"
 
 const int rtc_io_num_map[SOC_GPIO_PIN_COUNT] = {
     RTCIO_GPIO0_CHANNEL,    //GPIO0

+ 4 - 4
components/soc/esp32c2/include/soc/Kconfig.soc_caps.in

@@ -183,6 +183,10 @@ config SOC_CPU_IDRAM_SPLIT_USING_PMP
     bool
     default y
 
+config SOC_MMU_PAGE_SIZE_CONFIGURABLE
+    bool
+    default y
+
 config SOC_GDMA_GROUPS
     int
     default 1
@@ -543,10 +547,6 @@ config SOC_PM_SUPPORT_BT_WAKEUP
     bool
     default y
 
-config SOC_MMU_PAGE_SIZE_CONFIGURABLE
-    bool
-    default y
-
 config SOC_PM_SUPPORT_CPU_PD
     bool
     default n

+ 0 - 3
components/soc/esp32c2/include/soc/io_mux_reg.h

@@ -115,9 +115,6 @@
 #define GPIO_PAD_PULLDOWN(num) do{PIN_PULLUP_DIS(IOMUX_REG_GPIO##num);PIN_PULLDWN_EN(IOMUX_REG_GPIO##num);}while(0)
 #define GPIO_PAD_SET_DRV(num, drv) PIN_SET_DRV(IOMUX_REG_GPIO##num, drv)
 
-#define U0RXD_GPIO_NUM               19
-#define U0TXD_GPIO_NUM               20
-
 #define SPI_HD_GPIO_NUM              12
 #define SPI_WP_GPIO_NUM              13
 #define SPI_CS0_GPIO_NUM             14

+ 3 - 6
components/soc/esp32c2/include/soc/soc_caps.h

@@ -90,6 +90,9 @@
 
 #define SOC_CPU_IDRAM_SPLIT_USING_PMP   1
 
+/*-------------------------- MMU CAPS ----------------------------------------*/
+#define SOC_MMU_PAGE_SIZE_CONFIGURABLE  (1)
+
 /*-------------------------- GDMA CAPS -------------------------------------*/
 #define SOC_GDMA_GROUPS                 (1U) // Number of GDMA groups
 #define SOC_GDMA_PAIRS_PER_GROUP        (1U) // Number of GDMA pairs in each group
@@ -261,15 +264,9 @@
 
 /*-------------------------- Power Management CAPS ----------------------------*/
 #define SOC_PM_SUPPORT_WIFI_WAKEUP      (1)
-
 #define SOC_PM_SUPPORT_BT_WAKEUP        (1)
-
-/*-------------------------- MMU CAPS ----------------------------------------*/
-#define SOC_MMU_PAGE_SIZE_CONFIGURABLE  (1)
 #define SOC_PM_SUPPORT_CPU_PD           (0)
-
 #define SOC_PM_SUPPORT_WIFI_PD          (0)
-
 #define SOC_PM_SUPPORT_BT_PD            (0)
 
 /*------------------------------------ WI-FI CAPS ------------------------------------*/

+ 0 - 1
components/soc/esp32c2/include/soc/system_reg.h

@@ -5,7 +5,6 @@
  */
 #pragma once
 
-#include <stdint.h>
 #include "soc/soc.h"
 #ifdef __cplusplus
 extern "C" {

+ 6 - 18
components/soc/esp32c3/include/soc/hwcrypto_reg.h

@@ -1,16 +1,9 @@
-// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
 #ifndef __HWCRYPTO_REG_H__
 #define __HWCRYPTO_REG_H__
 
@@ -113,11 +106,6 @@
 #define AES_J_BASE              ((DR_REG_AES_BASE) + 0x70)
 #define AES_T_BASE              ((DR_REG_AES_BASE) + 0x80)
 
-#define AES_INT_CLR_REG         ((DR_REG_AES_BASE) + 0xAC)
-#define AES_INT_ENA_REG         ((DR_REG_AES_BASE) + 0xB0)
-#define AES_DATE_REG            ((DR_REG_AES_BASE) + 0xB4)
-#define AES_DMA_EXIT_REG        ((DR_REG_AES_BASE) + 0xB8)
-
 /* AES_STATE_REG values */
 #define AES_STATE_IDLE 0
 #define AES_STATE_BUSY 1

+ 0 - 0
components/soc/esp32c3/include/soc/soc_ulp.h


+ 6 - 18
components/soc/esp32h2/include/soc/hwcrypto_reg.h

@@ -1,16 +1,9 @@
-// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
 #ifndef __HWCRYPTO_REG_H__
 #define __HWCRYPTO_REG_H__
 
@@ -113,11 +106,6 @@
 #define AES_J_BASE              ((DR_REG_AES_BASE) + 0x70)
 #define AES_T_BASE              ((DR_REG_AES_BASE) + 0x80)
 
-#define AES_INT_CLR_REG         ((DR_REG_AES_BASE) + 0xAC)
-#define AES_INT_ENA_REG         ((DR_REG_AES_BASE) + 0xB0)
-#define AES_DATE_REG            ((DR_REG_AES_BASE) + 0xB4)
-#define AES_DMA_EXIT_REG        ((DR_REG_AES_BASE) + 0xB8)
-
 /* AES_STATE_REG values */
 #define AES_STATE_IDLE 0
 #define AES_STATE_BUSY 1

+ 0 - 0
components/soc/esp32h2/include/soc/soc_ulp.h


+ 6 - 18
components/soc/esp32s2/include/soc/hwcrypto_reg.h

@@ -1,16 +1,9 @@
-// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
 #ifndef __HWCRYPTO_REG_H__
 #define __HWCRYPTO_REG_H__
 
@@ -102,11 +95,6 @@
 #define AES_J_BASE              ((DR_REG_AES_BASE) + 0x70)
 #define AES_T_BASE              ((DR_REG_AES_BASE) + 0x80)
 
-#define AES_INT_CLR_REG         ((DR_REG_AES_BASE) + 0xAC)
-#define AES_INT_ENA_REG         ((DR_REG_AES_BASE) + 0xB0)
-#define AES_DATE_REG            ((DR_REG_AES_BASE) + 0xB4)
-#define AES_DMA_EXIT_REG        ((DR_REG_AES_BASE) + 0xB8)
-
 /* AES_STATE_REG values */
 #define AES_STATE_IDLE 0
 #define AES_STATE_BUSY 1

+ 1 - 1
components/soc/esp32s2/rtc_io_periph.c

@@ -4,7 +4,7 @@
  * SPDX-License-Identifier: Apache-2.0
  */
 
-#include "soc/rtc_io_periph.h"
+#include "soc/rtc_periph.h"
 
 const int rtc_io_num_map[SOC_GPIO_PIN_COUNT] = {
     RTCIO_GPIO0_CHANNEL,    //GPIO0

+ 1 - 1
components/soc/esp32s3/include/soc/hwcrypto_reg.h

@@ -70,7 +70,7 @@
 #define AES_BLOCK_NUM_REG       ((DR_REG_AES_BASE) + 0x98)
 #define AES_INC_SEL_REG         ((DR_REG_AES_BASE) + 0x9C)
 #define AES_CONTINUE_REG        ((DR_REG_AES_BASE) + 0xA8)
-#define AES_INT_CLR_REG         ((DR_REG_AES_BASE) + 0xAC)
+#define AES_INT_CLEAR_REG       ((DR_REG_AES_BASE) + 0xAC)
 #define AES_INT_ENA_REG         ((DR_REG_AES_BASE) + 0xB0)
 #define AES_DATE_REG            ((DR_REG_AES_BASE) + 0xB4)
 #define AES_DMA_EXIT_REG        ((DR_REG_AES_BASE) + 0xB8)

+ 9 - 15
components/soc/esp32s3/include/soc/interrupt_reg.h

@@ -1,22 +1,16 @@
-// Copyright 2017-2021 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
 #ifndef _SOC_INTERRUPT_REG_H_
 #define _SOC_INTERRUPT_REG_H_
 
-#include "interrupt_core0_reg.h"
-#include "interrupt_core1_reg.h"
+#include "soc/interrupt_core0_reg.h"
+#include "soc/interrupt_core1_reg.h"
 #include "soc.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif

+ 6 - 14
components/soc/esp32s3/rtc_io_periph.c

@@ -1,18 +1,10 @@
-// Copyright 2018-2020 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
-#include "soc/rtc_io_periph.h"
+#include "soc/rtc_periph.h"
 
 const int rtc_io_num_map[SOC_GPIO_PIN_COUNT] = {
     RTCIO_GPIO0_CHANNEL,    //GPIO0

+ 9 - 13
components/soc/include/soc/adc_periph.h

@@ -1,22 +1,16 @@
-// Copyright 2019 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #pragma once
 
 #include "soc/soc.h"
 #include "soc/soc_caps.h"
+#if !CONFIG_IDF_TARGET_ESP32C6 // TODO: IDF-5310
 #include "soc/syscon_struct.h"
+#endif
 
 #if SOC_ADC_RTC_CTRL_SUPPORTED
 #include "soc/sens_reg.h"
@@ -26,7 +20,9 @@
 #if SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
 #include "soc/rtc_io_struct.h"
 #endif
+#if !CONFIG_IDF_TARGET_ESP32C6 // TODO: IDF-5310
 #include "soc/rtc_cntl_struct.h"
+#endif
 #include "soc/adc_channel.h"
 #include "soc/soc_caps.h"
 

+ 23 - 13
components/soc/include/soc/rtc_cntl_periph.h

@@ -1,18 +1,28 @@
-// Copyright 2019 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #pragma once
 
+// TODO: IDF-5645
+#if CONFIG_IDF_TARGET_ESP32C6
+#include "soc/lp_aon_reg.h"
+#include "soc/lp_analog_peri_reg.h"
+#include "soc/lp_clkrst_reg.h"
+#include "soc/lp_clkrst_struct.h"
+#include "soc/lp_i2c_reg.h"
+#include "soc/lp_i2c_struct.h"
+#include "soc/lp_io_reg.h"
+#include "soc/lp_io_struct.h"
+#include "soc/lp_timer_reg.h"
+#include "soc/lp_timer_struct.h"
+#include "soc/lp_uart_reg.h"
+#include "soc/lp_uart_struct.h"
+#include "soc/lp_wdt_reg.h"
+#include "soc/lp_wdt_struct.h"
+#else
 #include "soc/rtc_cntl_reg.h"
 #include "soc/rtc_cntl_struct.h"
+#endif

+ 0 - 3
components/soc/include/soc/rtc_io_periph.h

@@ -17,9 +17,6 @@
 #include "soc/rtc_io_struct.h"
 #endif
 
-#include "soc/rtc_cntl_reg.h"
-#include "soc/rtc_cntl_struct.h"
-
 #if SOC_ADC_RTC_CTRL_SUPPORTED
 #include "soc/sens_struct.h"
 #endif

+ 7 - 14
components/soc/include/soc/rtc_periph.h

@@ -1,21 +1,14 @@
-// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #pragma once
+
 #include <stdint.h>
 #include "rtc_io_periph.h"
-#include "soc/rtc_cntl_reg.h"
+#include "rtc_cntl_periph.h"
 #include "soc/soc_caps.h"
 
 #ifdef __cplusplus

+ 9 - 13
components/soc/include/soc/syscon_periph.h

@@ -1,17 +1,13 @@
-// Copyright 2019 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #pragma once
+
+// TODO: IDF-5721
+#if !CONFIG_IDF_TARGET_ESP32C6
 #include "soc/syscon_reg.h"
 #include "soc/syscon_struct.h"
+#endif

+ 0 - 9
tools/ci/check_copyright_ignore.txt

@@ -1017,7 +1017,6 @@ components/soc/esp32c3/include/soc/fe_reg.h
 components/soc/esp32c3/include/soc/gpio_pins.h
 components/soc/esp32c3/include/soc/gpio_reg.h
 components/soc/esp32c3/include/soc/gpio_struct.h
-components/soc/esp32c3/include/soc/hwcrypto_reg.h
 components/soc/esp32c3/include/soc/i2c_reg.h
 components/soc/esp32c3/include/soc/i2c_struct.h
 components/soc/esp32c3/include/soc/interrupt_core0_reg.h
@@ -1060,7 +1059,6 @@ components/soc/esp32h2/include/soc/efuse_reg.h
 components/soc/esp32h2/include/soc/efuse_struct.h
 components/soc/esp32h2/include/soc/extmem_reg.h
 components/soc/esp32h2/include/soc/fe_reg.h
-components/soc/esp32h2/include/soc/hwcrypto_reg.h
 components/soc/esp32h2/include/soc/interrupt_reg.h
 components/soc/esp32h2/include/soc/ledc_reg.h
 components/soc/esp32h2/include/soc/nrx_reg.h
@@ -1105,7 +1103,6 @@ components/soc/esp32s2/include/soc/fe_reg.h
 components/soc/esp32s2/include/soc/gpio_pins.h
 components/soc/esp32s2/include/soc/gpio_reg.h
 components/soc/esp32s2/include/soc/gpio_sig_map.h
-components/soc/esp32s2/include/soc/hwcrypto_reg.h
 components/soc/esp32s2/include/soc/i2c_reg.h
 components/soc/esp32s2/include/soc/interrupt_reg.h
 components/soc/esp32s2/include/soc/ledc_reg.h
@@ -1172,7 +1169,6 @@ components/soc/esp32s3/include/soc/interrupt_core0_reg.h
 components/soc/esp32s3/include/soc/interrupt_core0_struct.h
 components/soc/esp32s3/include/soc/interrupt_core1_reg.h
 components/soc/esp32s3/include/soc/interrupt_core1_struct.h
-components/soc/esp32s3/include/soc/interrupt_reg.h
 components/soc/esp32s3/include/soc/interrupt_struct.h
 components/soc/esp32s3/include/soc/ledc_reg.h
 components/soc/esp32s3/include/soc/ledc_struct.h
@@ -1224,13 +1220,11 @@ components/soc/esp32s3/include/soc/usb_wrap_struct.h
 components/soc/esp32s3/include/soc/usbh_struct.h
 components/soc/esp32s3/include/soc/wdev_reg.h
 components/soc/esp32s3/ledc_periph.c
-components/soc/esp32s3/rtc_io_periph.c
 components/soc/esp32s3/sdio_slave_periph.c
 components/soc/esp32s3/sdmmc_periph.c
 components/soc/esp32s3/spi_periph.c
 components/soc/esp32s3/uart_periph.c
 components/soc/esp32s3/usb_periph.c
-components/soc/include/soc/adc_periph.h
 components/soc/include/soc/dac_periph.h
 components/soc/include/soc/dedic_gpio_periph.h
 components/soc/include/soc/emac_periph.h
@@ -1238,12 +1232,9 @@ components/soc/include/soc/gpio_periph.h
 components/soc/include/soc/i2c_periph.h
 components/soc/include/soc/interrupts.h
 components/soc/include/soc/ledc_periph.h
-components/soc/include/soc/rtc_cntl_periph.h
-components/soc/include/soc/rtc_periph.h
 components/soc/include/soc/sdio_slave_periph.h
 components/soc/include/soc/sdmmc_periph.h
 components/soc/include/soc/sens_periph.h
-components/soc/include/soc/syscon_periph.h
 components/soc/include/soc/twai_periph.h
 components/soc/include/soc/uart_periph.h
 components/soc/include/soc/uhci_periph.h