#include typedef struct { uint32_t muxen : 1; // 0 Multiplexed mode enable uint32_t reserve0 : 15; // 1 Reserve uint32_t req2ack_time: 8; // 16 REQ to ACK time uint32_t reserve1 : 8; // 24 Reserve } reg_octospim_cr_t; typedef struct { uint32_t clken : 1; // 0 CLKEN uint32_t clksrc : 1; // 1 CLKSRC uint32_t reserve0 : 2; // 2 Reserve uint32_t dqsen : 1; // 4 DQSEN uint32_t dqssrc : 1; // 5 DQSSRC uint32_t reserve1 : 2; // 6 Reserve uint32_t ncsen : 1; // 8 NCSEN uint32_t ncssrc : 1; // 9 NCSSRC uint32_t reserve2 : 6; // 10 Reserve uint32_t iolen : 1; // 16 IOLEN uint32_t iolsrc : 2; // 17 IOLSRC uint32_t reserve3 : 5; // 19 Reserve uint32_t iohen : 1; // 24 IOHEN uint32_t iohsrc : 2; // 25 IOHSR uint32_t reserve4 : 5; // 27 Reserve } reg_octospim_p1cr_t; typedef struct { uint32_t clken : 1; // 0 CLKEN uint32_t clksrc : 1; // 1 CLKSRC uint32_t reserve0 : 2; // 2 Reserve uint32_t dqsen : 1; // 4 DQSEN uint32_t dqssrc : 1; // 5 DQSSRC uint32_t reserve1 : 2; // 6 Reserve uint32_t ncsen : 1; // 8 NCSEN uint32_t ncssrc : 1; // 9 NCSSRC uint32_t reserve2 : 6; // 10 Reserve uint32_t iolen : 1; // 16 IOLEN uint32_t iolsrc : 2; // 17 IOLSRC uint32_t reserve3 : 5; // 19 Reserve uint32_t iohen : 1; // 24 IOHEN uint32_t iohsrc : 2; // 25 IOHSR uint32_t reserve4 : 5; // 27 Reserve } reg_octospim_p2cr_t; typedef struct { volatile reg_octospim_cr_t cr; volatile reg_octospim_p1cr_t p1cr; volatile reg_octospim_p2cr_t p2cr; } reg_octospim_t;