31 lines
905 B
C
31 lines
905 B
C
|
/* esp/wdev_regs.h
|
||
|
*
|
||
|
* ESP8266 register definitions for the "wdev" region (0x3FF2xxx)
|
||
|
*
|
||
|
* Not compatible with ESP SDK register access code.
|
||
|
*/
|
||
|
|
||
|
#ifndef _ESP_WDEV_REGS_H
|
||
|
#define _ESP_WDEV_REGS_H
|
||
|
|
||
|
#include "esp/types.h"
|
||
|
#include "common_macros.h"
|
||
|
|
||
|
#define WDEV_BASE 0x3FF20000
|
||
|
#define WDEV (*(struct WDEV_REGS *)(WDEV_BASE))
|
||
|
|
||
|
/* Note: This memory region is not currently well understood. Pretty much all
|
||
|
* of the definitions here are from reverse-engineering the Espressif SDK code,
|
||
|
* many are just educated guesses, and almost certainly some are misleading or
|
||
|
* wrong. If you can improve on any of this, please contribute!
|
||
|
*/
|
||
|
|
||
|
struct WDEV_REGS {
|
||
|
uint32_t volatile _unknown[768]; // 0x0000 - 0x0bfc
|
||
|
uint32_t volatile SYS_TIME; // 0x0c00
|
||
|
} __attribute__ (( packed ));
|
||
|
|
||
|
_Static_assert(sizeof(struct WDEV_REGS) == 0xc04, "WDEV_REGS is the wrong size");
|
||
|
|
||
|
#endif /* _ESP_WDEV_REGS_H */
|