| @@ -3453,15 +3453,92 @@ typedef struct { | |||
| // 10/100-Mbps Ethernet MAC (ENET) | |||
| #define ENET_EIR (*(volatile uint32_t *)0x400C0004) // Interrupt Event Register | |||
| #define ENET_EIR_BABR ((uint32_t)0x40000000) // Babbling Receive Error | |||
| #define ENET_EIR_BABT ((uint32_t)0x20000000) // Babbling Transmit Error | |||
| #define ENET_EIR_GRA ((uint32_t)0x10000000) // Graceful Stop Complete | |||
| #define ENET_EIR_TXF ((uint32_t)0x08000000) // Transmit Frame Interrupt | |||
| #define ENET_EIR_TXB ((uint32_t)0x04000000) // Transmit Buffer Interrupt | |||
| #define ENET_EIR_RXF ((uint32_t)0x02000000) // Receive Frame Interrupt | |||
| #define ENET_EIR_RXB ((uint32_t)0x01000000) // Receive Buffer Interrupt | |||
| #define ENET_EIR_MII ((uint32_t)0x00800000) // MII Interrupt | |||
| #define ENET_EIR_EBERR ((uint32_t)0x00400000) // Ethernet Bus Error | |||
| #define ENET_EIR_LC ((uint32_t)0x00200000) // Late Collision | |||
| #define ENET_EIR_RL ((uint32_t)0x00100000) // Collision Retry Limit | |||
| #define ENET_EIR_UN ((uint32_t)0x00080000) // Transmit FIFO Underrun | |||
| #define ENET_EIR_PLR ((uint32_t)0x00040000) // Payload Receive Error | |||
| #define ENET_EIR_WAKEUP ((uint32_t)0x00020000) // Node Wakeup Request Indication | |||
| #define ENET_EIR_TS_AVAIL ((uint32_t)0x00010000) // Transmit Timestamp Available | |||
| #define ENET_EIR_TS_TIMER ((uint32_t)0x00008000) // Timestamp Timer | |||
| #define ENET_EIMR (*(volatile uint32_t *)0x400C0008) // Interrupt Mask Register | |||
| #define ENET_EIRM_BABR ((uint32_t)0x40000000) // Babbling Receive Error Mask | |||
| #define ENET_EIRM_BABT ((uint32_t)0x20000000) // Babbling Transmit Error Mask | |||
| #define ENET_EIRM_GRA ((uint32_t)0x10000000) // Graceful Stop Complete Mask | |||
| #define ENET_EIRM_TXF ((uint32_t)0x08000000) // Transmit Frame Interrupt Mask | |||
| #define ENET_EIRM_TXB ((uint32_t)0x04000000) // Transmit Buffer Interrupt Mask | |||
| #define ENET_EIRM_RXF ((uint32_t)0x02000000) // Receive Frame Interrupt Mask | |||
| #define ENET_EIRM_RXB ((uint32_t)0x01000000) // Receive Buffer Interrupt Mask | |||
| #define ENET_EIRM_MII ((uint32_t)0x00800000) // MII Interrupt Mask | |||
| #define ENET_EIRM_EBERR ((uint32_t)0x00400000) // Ethernet Bus Error Mask | |||
| #define ENET_EIRM_LC ((uint32_t)0x00200000) // Late Collision Mask | |||
| #define ENET_EIRM_RL ((uint32_t)0x00100000) // Collision Retry Limit Mask | |||
| #define ENET_EIRM_UN ((uint32_t)0x00080000) // Transmit FIFO Underrun Mask | |||
| #define ENET_EIRM_PLR ((uint32_t)0x00040000) // Payload Receive Error Mask | |||
| #define ENET_EIRM_WAKEUP ((uint32_t)0x00020000) // Node Wakeup Request Indication Mask | |||
| #define ENET_EIRM_TS_AVAIL ((uint32_t)0x00010000) // Transmit Timestamp Available Mask | |||
| #define ENET_EIRM_TS_TIMER ((uint32_t)0x00008000) // Timestamp Timer Mask | |||
| #define ENET_RDAR (*(volatile uint32_t *)0x400C0010) // Receive Descriptor Active Register | |||
| #define ENET_RDAR_RDAR ((uint32_t)0x01000000) | |||
| #define ENET_TDAR (*(volatile uint32_t *)0x400C0014) // Transmit Descriptor Active Register | |||
| #define ENET_TDAR_TDAR ((uint32_t)0x01000000) | |||
| #define ENET_ECR (*(volatile uint32_t *)0x400C0024) // Ethernet Control Register | |||
| #define ENET_ECR_DBSWP ((uint32_t)0x00000100) // Descriptor Byte Swapping Enable | |||
| #define ENET_ECR_STOPEN ((uint32_t)0x00000080) // STOPEN Signal Control | |||
| #define ENET_ECR_DBGEN ((uint32_t)0x00000040) // Debug Enable | |||
| #define ENET_ECR_EN1588 ((uint32_t)0x00000010) // EN1588 Enable | |||
| #define ENET_ECR_SLEEP ((uint32_t)0x00000008) // Sleep Mode Enable | |||
| #define ENET_ECR_MAGICEN ((uint32_t)0x00000004) // Magic Packet Detection Enable | |||
| #define ENET_ECR_ETHEREN ((uint32_t)0x00000002) // Ethernet Enable | |||
| #define ENET_ECR_RESET ((uint32_t)0x00000001) // Ethernet MAC Reset | |||
| #define ENET_MMFR (*(volatile uint32_t *)0x400C0040) // MII Management Frame Register | |||
| #define ENET_MMFR_ST(n) (uint32_t)(((n) & 0x3) << 30) | |||
| #define ENET_MMFR_OP(n) (uint32_t)(((n) & 0x3) << 28) | |||
| #define ENET_MMFR_PA(n) (uint32_t)(((n) & 0x1F) << 23) | |||
| #define ENET_MMFR_RA(n) (uint32_t)(((n) & 0x1F) << 18) | |||
| #define ENET_MMFR_TA(n) (uint32_t)(((n) & 0x3) << 16) | |||
| #define ENET_MMFR_DATA(n) (uint32_t)(((n) & 0xFFFF) << 0) | |||
| #define ENET_MMFR_DATA_MASK ((uint32_t)0x0000FFFF) | |||
| #define ENET_MSCR (*(volatile uint32_t *)0x400C0044) // MII Speed Control Register | |||
| #define ENET_MSCR_HOLDTIME(n) (uint32_t)(((n) & 0x7) << 8) | |||
| #define ENET_MSCR_DIS_PRE ((uint32_t)0x00000080) | |||
| #define ENET_MSCR_MII_SPEED(n) (uint32_t)(((n) & 0x3F) << 1) | |||
| #define ENET_MIBC (*(volatile uint32_t *)0x400C0064) // MIB Control Register | |||
| #define ENET_MIBC_MIB_DIS ((uint32_t)0x80000000) // Disable MIB Logic | |||
| #define ENET_MIBC_MIB_IDLE ((uint32_t)0x40000000) // MIB Idle | |||
| #define ENET_MIBC_MIB_CLEAR ((uint32_t)0x20000000) // MIB Clear | |||
| #define ENET_RCR (*(volatile uint32_t *)0x400C0084) // Receive Control Register | |||
| #define ENET_RCR_GRS ((uint32_t)0x80000000) // Graceful Receive Stopped | |||
| #define ENET_RCR_NLC ((uint32_t)0x40000000) // Payload Length Check Disable | |||
| #define ENET_RCR_MAX_FL(n) (uint32_t)(((n) & 0x3FFF)<<16) // Maximum Frame Length | |||
| #define ENET_RCR_CFEN ((uint32_t)0x00008000) // MAC Control Frame Enable | |||
| #define ENET_RCR_CRCFWD ((uint32_t)0x00004000) // Terminate/Forward Received CRC | |||
| #define ENET_RCR_PAUFWD ((uint32_t)0x00002000) // Terminate/Forward Pause Frames | |||
| #define ENET_RCR_PADEN ((uint32_t)0x00001000) // Enable Frame Padding Remove On Receive | |||
| #define ENET_RCR_RMII_10T ((uint32_t)0x00000200) // Enables 10-Mbps mode of the RMII | |||
| #define ENET_RCR_RMII_MODE ((uint32_t)0x00000100) // RMII Mode Enable | |||
| #define ENET_RCR_FCE ((uint32_t)0x00000020) // Flow Control Enable | |||
| #define ENET_RCR_BC_REJ ((uint32_t)0x00000010) // Broadcast Frame Reject | |||
| #define ENET_RCR_PROM ((uint32_t)0x00000008) // Promiscuous Mode | |||
| #define ENET_RCR_MII_MODE ((uint32_t)0x00000004) // Media Independent Interface Mode | |||
| #define ENET_RCR_DRT ((uint32_t)0x00000002) // Disable Receive On Transmit | |||
| #define ENET_RCR_LOOP ((uint32_t)0x00000001) // Internal Loopback | |||
| #define ENET_TCR (*(volatile uint32_t *)0x400C00C4) // Transmit Control Register | |||
| #define ENET_TCR_CRCFWD ((uint32_t)0x00000200) // Forward Frame From Application With CRC | |||
| #define ENET_TCR_ADDINS ((uint32_t)0x00000100) // Set MAC Address On Transmit | |||
| #define ENET_TCR_ADDSEL(n) (uint32_t)(((n) & 0x7)<<5) // Source MAC Address Select On Transmit | |||
| #define ENET_TCR_RFC_PAUSE ((uint32_t)0x00000010) // Receive Frame Control Pause | |||
| #define ENET_TCR_TFC_PAUSE ((uint32_t)0x00000008) // Transmit Frame Control Pause | |||
| #define ENET_TCR_FDEN ((uint32_t)0x00000004) // Full-Duplex Enable | |||
| #define ENET_TCR_GTS ((uint32_t)0x00000001) // Graceful Transmit Stop | |||
| #define ENET_PALR (*(volatile uint32_t *)0x400C00E4) // Physical Address Lower Register | |||
| #define ENET_PAUR (*(volatile uint32_t *)0x400C00E8) // Physical Address Upper Register | |||
| #define ENET_OPD (*(volatile uint32_t *)0x400C00EC) // Opcode/Pause Duration Register | |||
| @@ -3470,11 +3547,15 @@ typedef struct { | |||
| #define ENET_GAUR (*(volatile uint32_t *)0x400C0120) // Descriptor Group Upper Address Register | |||
| #define ENET_GALR (*(volatile uint32_t *)0x400C0124) // Descriptor Group Lower Address Register | |||
| #define ENET_TFWR (*(volatile uint32_t *)0x400C0144) // Transmit FIFO Watermark Register | |||
| #define ENET_TFWR_STRFWD ((uint32_t)0x00000100) // Store And Forward Enable | |||
| #define ENET_TFWR_TFWR(n) (uint32_t)(((n) & 0x3F)<<0) // Transmit FIFO Write (X64 bytes) | |||
| #define ENET_RDSR (*(volatile uint32_t *)0x400C0180) // Receive Descriptor Ring Start Register | |||
| #define ENET_TDSR (*(volatile uint32_t *)0x400C0184) // Transmit Buffer Descriptor Ring Start Register | |||
| #define ENET_MRBR (*(volatile uint32_t *)0x400C0188) // Maximum Receive Buffer Size Register | |||
| #define ENET_RSFL (*(volatile uint32_t *)0x400C0190) // Receive FIFO Section Full Threshold | |||
| #define ENET_RSEM (*(volatile uint32_t *)0x400C0194) // Receive FIFO Section Empty Threshold | |||
| #define ENET_RSEM_STAT_SECTION_EMPTY(n) (uint32_t)(((n) & 0x7)<<5) // RX Status FIFO Section Empty Threshold | |||
| #define ENET_RSEM_RX_SECTION_EMPTY(n) (uint32_t)(((n) & 0x7)<<5) // Value Of The Receive FIFO Section Empty Threshold | |||
| #define ENET_RAEM (*(volatile uint32_t *)0x400C0198) // Receive FIFO Almost Empty Threshold | |||
| #define ENET_RAFL (*(volatile uint32_t *)0x400C019C) // Receive FIFO Almost Full Threshold | |||
| #define ENET_TSEM (*(volatile uint32_t *)0x400C01A0) // Transmit FIFO Section Empty Threshold | |||
| @@ -3483,7 +3564,15 @@ typedef struct { | |||
| #define ENET_TIPG (*(volatile uint32_t *)0x400C01AC) // Transmit Inter-Packet Gap | |||
| #define ENET_FTRL (*(volatile uint32_t *)0x400C01B0) // Frame Truncation Length | |||
| #define ENET_TACC (*(volatile uint32_t *)0x400C01C0) // Transmit Accelerator Function Configuration | |||
| #define ENET_TACC_PROCHK ((uint32_t)0x00000010) // Enables insertion of protocol checksum | |||
| #define ENET_TACC_IPCHK ((uint32_t)0x00000008) // Enables insertion of IP header checksum | |||
| #define ENET_TACC_SHIFT16 ((uint32_t)0x00000001) // TX FIFO Shift-16 (align data to 32 bits) | |||
| #define ENET_RACC (*(volatile uint32_t *)0x400C01C4) // Receive Accelerator Function Configuration | |||
| #define ENET_RACC_SHIFT16 ((uint32_t)0x00000080) // RX FIFO Shift-16 (align data to 32 bits) | |||
| #define ENET_RACC_LINEDIS ((uint32_t)0x00000040) // Enable Discard Of Frames With MAC Layer Errors | |||
| #define ENET_RACC_PRODIS ((uint32_t)0x00000004) // Enable Discard Of Frames With Wrong Protocol Checksum | |||
| #define ENET_RACC_IPDIS ((uint32_t)0x00000002) // Enable Discard Of Frames With Wrong IPv4 Header Checksum | |||
| #define ENET_RACC_PADREM ((uint32_t)0x00000001) // Enable Padding Removal For Short IP Frames | |||
| #define ENET_RMON_T_DROP (*(volatile uint32_t *)0x400C0200) // Reserved Statistic Register | |||
| #define ENET_RMON_T_PACKETS (*(volatile uint32_t *)0x400C0204) // Tx Packet Count Statistic Register | |||
| #define ENET_RMON_T_BC_PKT (*(volatile uint32_t *)0x400C0208) // Tx Broadcast Packets Statistic Register | |||
| @@ -3539,14 +3628,32 @@ typedef struct { | |||
| #define ENET_IEEE_R_FDXFC (*(volatile uint32_t *)0x400C02DC) // Flow Control Pause Frames Received Statistic Register | |||
| #define ENET_IEEE_R_OCTETS_OK (*(volatile uint32_t *)0x400C02E0) // Octet Count for Frames Received without Error Statistic Register | |||
| #define ENET_ATCR (*(volatile uint32_t *)0x400C0400) // Adjustable Timer Control Register | |||
| #define ENET_ATCR_SLAVE ((uint32_t)0x00002000) // Enable Timer Slave Mode | |||
| #define ENET_ATCR_CAPTURE ((uint32_t)0x00000800) // Capture Timer Value | |||
| #define ENET_ATCR_RESTART ((uint32_t)0x00000400) // Reset Timer | |||
| #define ENET_ATCR_PINPER ((uint32_t)0x00000080) // Enables event signal output assertion on period event | |||
| #define ENET_ATCR_PEREN ((uint32_t)0x00000010) // Enable Periodical Event | |||
| #define ENET_ATCR_OFFRST ((uint32_t)0x00000008) // Reset Timer On Offset Event | |||
| #define ENET_ATCR_OFFEN ((uint32_t)0x00000004) // Enable One-Shot Offset Event | |||
| #define ENET_ATCR_EN ((uint32_t)0x00000001) // Enable Timer | |||
| #define ENET_ATVR (*(volatile uint32_t *)0x400C0404) // Timer Value Register | |||
| #define ENET_ATOFF (*(volatile uint32_t *)0x400C0408) // Timer Offset Register | |||
| #define ENET_ATPER (*(volatile uint32_t *)0x400C040C) // Timer Period Register | |||
| #define ENET_ATCOR (*(volatile uint32_t *)0x400C0410) // Timer Correction Register | |||
| #define ENET_ATINC (*(volatile uint32_t *)0x400C0414) // Time-Stamping Clock Period Register | |||
| #define ENET_ATINC_INC_CORR(n) (uint32_t)(((n) & 0x7F)<<8) // Correction Increment Value | |||
| #define ENET_ATINC_INC(n) (uint32_t)(((n) & 0x7F)<<0) // Clock Period Of The Timestamping Clock (ts_clk) In Nanoseconds | |||
| #define ENET_ATSTMP (*(volatile uint32_t *)0x400C0418) // Timestamp of Last Transmitted Frame | |||
| #define ENET_TGSR (*(volatile uint32_t *)0x400C0604) // Timer Global Status Register | |||
| #define ENET_TGSR_TF3 ((uint32_t)0x00000008) // Timer Flag For Channel 3 | |||
| #define ENET_TGSR_TF2 ((uint32_t)0x00000004) // Timer Flag For Channel 2 | |||
| #define ENET_TGSR_TF1 ((uint32_t)0x00000002) // Timer Flag For Channel 1 | |||
| #define ENET_TGSR_TF0 ((uint32_t)0x00000001) // Timer Flag For Channel 0 | |||
| #define ENET_TCSR0 (*(volatile uint32_t *)0x400C0608) // Timer Control Status Register | |||
| #define ENET_TCSR_TF ((uint32_t)0x00000080) // Timer Flag | |||
| #define ENET_TCSR_TIR ((uint32_t)0x00000040) // Timer Interrupt Enable | |||
| #define ENET_TCSR_TMODE(n) (uint32_t)(((n) & 0xF)<<2) // Timer Mode | |||
| #define ENET_TCSR_TDRE ((uint32_t)0x00000001) // Timer DMA Request Enable | |||
| #define ENET_TCCR0 (*(volatile uint32_t *)0x400C060C) // Timer Compare Capture Register | |||
| #define ENET_TCSR1 (*(volatile uint32_t *)0x400C0610) // Timer Control Status Register | |||
| #define ENET_TCCR1 (*(volatile uint32_t *)0x400C0614) // Timer Compare Capture Register | |||
| @@ -3713,6 +3820,7 @@ typedef struct { | |||
| #define USBHSDCD_TIMER1 (*(volatile uint32_t *)0x400A3014) // TIMER1 register | |||
| #define USBHSDCD_TIMER2 (*(volatile uint32_t *)0x400A3018) // TIMER2 register | |||
| // USB High Speed OTG Controller (USBHS) | |||
| #define USBHS_ID (*(volatile uint32_t *)0x400A1000) // Identification Register | |||
| @@ -3889,6 +3997,7 @@ typedef struct { | |||
| #define USBHS_USBGENCTRL_WU_INT_CLR ((uint32_t)0x00000020) | |||
| #define USBHS_USBGENCTRL_WU_IE ((uint32_t)0x00000001) | |||
| // Universal Serial Bus 2.0 Integrated PHY (USB-PHY) | |||
| #define USBPHY_PWD (*(volatile uint32_t *)0x400A2000) // USB PHY Power-Down Register | |||