mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-04 08:01:38 +01:00 
			
		
		
		
	
		
			
	
	
		
			102 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			102 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								// 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 _EMAC_EX_H_
							 | 
						||
| 
								 | 
							
								#define _EMAC_EX_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "soc.h"
							 | 
						||
| 
								 | 
							
								#define REG_EMAC_EX_BASE (DR_REG_EMAC_BASE + 0x800)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLKOUT_CONF_REG (REG_EMAC_EX_BASE + 0x0000)
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_OUT_DLY_NUM 0x00000003
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_OUT_DLY_NUM_S 8
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_OUT_H_DIV_NUM 0x0000000F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_OUT_H_DIV_NUM_S 4
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_OUT_DIV_NUM 0x0000000F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_OUT_DIV_NUM_S 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSCCLK_CONF_REG (REG_EMAC_EX_BASE + 0x0004)
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_CLK_SEL (BIT(24))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_CLK_SEL_S 24
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_H_DIV_NUM_100M 0x0000003F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_H_DIV_NUM_100M_S 18
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_DIV_NUM_100M 0x0000003F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_DIV_NUM_100M_S 12
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_H_DIV_NUM_10M 0x0000003F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_H_DIV_NUM_10M_S 6
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_DIV_NUM_10M 0x0000003F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_OSC_DIV_NUM_10M_S 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_CTRL_REG (REG_EMAC_EX_BASE + 0x0008)
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_EN (BIT(5))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CLK_EN_S 5
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_MII_CLK_RX_EN (BIT(4))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_MII_CLK_RX_EN_S 4
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_MII_CLK_TX_EN (BIT(3))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_MII_CLK_TX_EN_S 3
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_RX_125_CLK_EN (BIT(2))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_RX_125_CLK_EN_S 2
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_INT_OSC_EN (BIT(1))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_INT_OSC_EN_S 1
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_EXT_OSC_EN (BIT(0))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_EXT_OSC_EN_S 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_PHYINF_CONF_REG (REG_EMAC_EX_BASE + 0x000c)
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_TX_ERR_OUT_EN (BIT(20))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_TX_ERR_OUT_EN_S 20
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SCR_SMI_DLY_RX_SYNC (BIT(19))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SCR_SMI_DLY_RX_SYNC_S 19
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_PMT_CTRL_EN (BIT(18))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_PMT_CTRL_EN_S 18
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SBD_CLK_GATING_EN (BIT(17))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SBD_CLK_GATING_EN_S 17
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SS_MODE (BIT(16))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SS_MODE_S 16
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_PHY_INTF_SEL 0x00000007
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_PHY_INTF_SEL_S 13
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_REVMII_PHY_ADDR 0x0000001F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_REVMII_PHY_ADDR_S 8
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CORE_PHY_ADDR 0x0000001F
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_CORE_PHY_ADDR_S 3
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SBD_FLOWCTRL (BIT(2))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_SBD_FLOWCTRL_S 2
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_EXT_REVMII_RX_CLK_SEL (BIT(1))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_EXT_REVMII_RX_CLK_SEL_S 1
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_INT_REVMII_RX_CLK_SEL (BIT(0))
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_INT_REVMII_RX_CLK_SEL_S 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_PHY_INTF_RMII  4
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_EMAC_PD_SEL_REG (REG_EMAC_EX_BASE + 0x0010)
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_RAM_PD_EN 0x00000003
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_RAM_PD_EN_S 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_DATE_REG (REG_EMAC_EX_BASE + 0x00fc)
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_DATE 0xFFFFFFFF
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_DATE_S 0
							 | 
						||
| 
								 | 
							
								#define EMAC_EX_DATE_VERSION 0x16042200
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMAC_CLK_EN_REG 0x3ff000cc
							 | 
						||
| 
								 | 
							
								#define EMAC_CLK_EN (BIT(14))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 |