mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-30 21:51:40 +01:00 
			
		
		
		
	Update IDF to version 3cad00f (#310)
This commit is contained in:
		
							
								
								
									
										204
									
								
								tools/sdk/include/soc/soc/gpio_struct.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								tools/sdk/include/soc/soc/gpio_struct.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,204 @@ | ||||
| // 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. | ||||
| #ifndef _SOC_GPIO_STRUCT_H_ | ||||
| #define _SOC_GPIO_STRUCT_H_ | ||||
| typedef volatile struct { | ||||
|     uint32_t bt_select;                             /*NA*/ | ||||
|     uint32_t out;                                   /*GPIO0~31 output value*/ | ||||
|     uint32_t out_w1ts;                              /*GPIO0~31 output value write 1 to set*/ | ||||
|     uint32_t out_w1tc;                              /*GPIO0~31 output value write 1 to clear*/ | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:       8;                 /*GPIO32~39 output value*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } out1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:       8;                 /*GPIO32~39 output value write 1 to set*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } out1_w1ts; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:       8;                 /*GPIO32~39 output value write 1 to clear*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } out1_w1tc; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t sel:        8;                 /*SDIO PADS on/off control from outside*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } sdio_select; | ||||
|     uint32_t enable;                                /*GPIO0~31 output enable*/ | ||||
|     uint32_t enable_w1ts;                           /*GPIO0~31 output enable write 1 to set*/ | ||||
|     uint32_t enable_w1tc;                           /*GPIO0~31 output enable write 1 to clear*/ | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:        8;                /*GPIO32~39 output enable*/ | ||||
|             uint32_t reserved8:  24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } enable1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:        8;                /*GPIO32~39 output enable write 1 to set*/ | ||||
|             uint32_t reserved8:  24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } enable1_w1ts; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:        8;                /*GPIO32~39 output enable write 1 to clear*/ | ||||
|             uint32_t reserved8:  24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } enable1_w1tc; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t strapping: 16;                 /*GPIO strapping results: {2'd0  boot_sel_dig[7:1]  vsdio_boot_sel  boot_sel_chip[5:0]} .   Boot_sel_dig[7:1]: {U0RXD  SD_CLK  SD_CMD  SD_DATA0  SD_DATA1  SD_DATA2  SD_DATA3} .  vsdio_boot_sel: MTDI. boot_sel_chip[5:0]: {GPIO0  U0TXD  GPIO2  GPIO4  MTDO  GPIO5} */ | ||||
|             uint32_t reserved16:16; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } strap; | ||||
|     uint32_t in;                                    /*GPIO0~31 input value*/ | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t data:       8;                 /*GPIO32~39 input value*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } in1; | ||||
|     uint32_t status;                                /*GPIO0~31 interrupt status*/ | ||||
|     uint32_t status_w1ts;                           /*GPIO0~31 interrupt status write 1 to set*/ | ||||
|     uint32_t status_w1tc;                           /*GPIO0~31 interrupt status write 1 to clear*/ | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr_st:    8;                 /*GPIO32~39 interrupt status*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } status1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr_st:    8;                 /*GPIO32~39 interrupt status write 1 to set*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } status1_w1ts; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr_st:    8;                 /*GPIO32~39 interrupt status write 1 to clear*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } status1_w1tc; | ||||
|     uint32_t reserved_5c; | ||||
|     uint32_t acpu_int;                              /*GPIO0~31 APP CPU interrupt status*/ | ||||
|     uint32_t acpu_nmi_int;                          /*GPIO0~31 APP CPU non-maskable interrupt status*/ | ||||
|     uint32_t pcpu_int;                              /*GPIO0~31 PRO CPU interrupt status*/ | ||||
|     uint32_t pcpu_nmi_int;                          /*GPIO0~31 PRO CPU non-maskable interrupt status*/ | ||||
|     uint32_t cpusdio_int;                           /*SDIO's extent GPIO0~31 interrupt*/ | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr:       8;                 /*GPIO32~39 APP CPU interrupt status*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } acpu_int1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr:       8;                 /*GPIO32~39 APP CPU non-maskable interrupt status*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } acpu_nmi_int1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr:       8;                 /*GPIO32~39 PRO CPU interrupt status*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } pcpu_int1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr:       8;                 /*GPIO32~39 PRO CPU non-maskable interrupt status*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } pcpu_nmi_int1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t intr:       8;                 /*SDIO's extent GPIO32~39 interrupt*/ | ||||
|             uint32_t reserved8: 24; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } cpusdio_int1; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t reserved0:     2; | ||||
|             uint32_t pad_driver:    1;              /*if set to 0: normal output  if set to 1: open drain*/ | ||||
|             uint32_t reserved3:     4; | ||||
|             uint32_t int_type:      3;              /*if set to 0: GPIO interrupt disable  if set to 1: rising edge trigger  if set to 2: falling edge trigger  if set to 3: any edge trigger  if set to 4: low level trigger  if set to 5: high level trigger*/ | ||||
|             uint32_t wakeup_enable: 1;              /*GPIO wake up enable  only available in light sleep*/ | ||||
|             uint32_t config:        2;              /*NA*/ | ||||
|             uint32_t int_ena:       5;              /*bit0: APP CPU interrupt enable  bit1: APP CPU non-maskable interrupt enable  bit3: PRO CPU interrupt enable  bit4:  PRO CPU non-maskable interrupt enable  bit5: SDIO's extent interrupt enable*/ | ||||
|             uint32_t reserved18:   14; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } pin[40]; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t rtc_max:     10; | ||||
|             uint32_t reserved10:  21; | ||||
|             uint32_t start:        1; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } cali_conf; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t value_sync2: 20; | ||||
|             uint32_t reserved20:  10; | ||||
|             uint32_t rdy_real:     1; | ||||
|             uint32_t rdy_sync2:    1; | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } cali_data; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t func_sel:    6;                /*select one of the 256 inputs*/ | ||||
|             uint32_t sig_in_inv:  1;                /*revert the value of the input if you want to revert  please set the value to 1*/ | ||||
|             uint32_t sig_in_sel:  1;                /*if the slow signal bypass the io matrix or not if you want  setting the value to 1*/ | ||||
|             uint32_t reserved8:  24;                /*The 256 registers below are selection control for 256 input signals connected to GPIO matrix's 40 GPIO input  if GPIO_FUNCx_IN_SEL is set to n(0<=n<40): it means GPIOn input is used for input signal x  if GPIO_FUNCx_IN_SEL is set to 0x38: the input signal x is set to 1   if GPIO_FUNCx_IN_SEL is set to 0x30: the input signal x is set to 0*/ | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } func_in_sel_cfg[256]; | ||||
|     union { | ||||
|         struct { | ||||
|             uint32_t func_sel:     9;               /*select one of the 256 output to 40 GPIO*/ | ||||
|             uint32_t inv_sel:      1;               /*invert the output value  if you want to revert the output value  setting the value to 1*/ | ||||
|             uint32_t oen_sel:      1;               /*weather using the logical oen signal or not using the value setting by the register*/ | ||||
|             uint32_t oen_inv_sel:  1;               /*invert the output enable value  if you want to revert the output enable value  setting the value to 1*/ | ||||
|             uint32_t reserved12:  20;               /*The 40 registers below are selection control for 40 GPIO output  if GPIO_FUNCx_OUT_SEL is set to n(0<=n<256): it means GPIOn input is used for output signal x  if GPIO_FUNCx_OUT_INV_SEL is set to 1  the output signal x is set to ~value.  if GPIO_FUNC0_OUT_SEL is 256 or GPIO_FUNC0_OEN_SEL is 1 using GPIO_ENABLE_DATA[x] for the enable value else using the signal enable*/ | ||||
|         }; | ||||
|         uint32_t val; | ||||
|     } func_out_sel_cfg[40]; | ||||
| } gpio_dev_t; | ||||
| extern gpio_dev_t GPIO; | ||||
| #endif  /* _SOC_GPIO_STRUCT_H_ */ | ||||
		Reference in New Issue
	
	Block a user