k66 0.0.1

Peripheral access API for Kinetis K66 microcontrollers
Documentation
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Identification Register"]
    pub id: ID,
    #[doc = "0x04 - General Hardware Parameters Register"]
    pub hwgeneral: HWGENERAL,
    #[doc = "0x08 - Host Hardware Parameters Register"]
    pub hwhost: HWHOST,
    #[doc = "0x0c - Device Hardware Parameters Register"]
    pub hwdevice: HWDEVICE,
    #[doc = "0x10 - Transmit Buffer Hardware Parameters Register"]
    pub hwtxbuf: HWTXBUF,
    #[doc = "0x14 - Receive Buffer Hardware Parameters Register"]
    pub hwrxbuf: HWRXBUF,
    _reserved0: [u8; 104usize],
    #[doc = "0x80 - General Purpose Timer n Load Register"]
    pub gptimer0ld: GPTIMERLD,
    #[doc = "0x84 - General Purpose Timer n Control Register"]
    pub gptimer0ctl: GPTIMERCTL,
    #[doc = "0x88 - General Purpose Timer n Load Register"]
    pub gptimer1ld: GPTIMERLD,
    #[doc = "0x8c - General Purpose Timer n Control Register"]
    pub gptimer1ctl: GPTIMERCTL,
    #[doc = "0x90 - System Bus Interface Configuration Register"]
    pub usb_sbuscfg: USB_SBUSCFG,
    _reserved1: [u8; 108usize],
    #[doc = "0x100 - Host Controller Interface Version and Capability Registers Length Register"]
    pub hciversion: HCIVERSION,
    #[doc = "0x104 - Host Controller Structural Parameters Register"]
    pub hcsparams: HCSPARAMS,
    #[doc = "0x108 - Host Controller Capability Parameters Register"]
    pub hccparams: HCCPARAMS,
    _reserved2: [u8; 22usize],
    #[doc = "0x122 - Device Controller Interface Version"]
    pub dciversion: DCIVERSION,
    #[doc = "0x124 - Device Controller Capability Parameters"]
    pub dccparams: DCCPARAMS,
    _reserved3: [u8; 24usize],
    #[doc = "0x140 - USB Command Register"]
    pub usbcmd: USBCMD,
    #[doc = "0x144 - USB Status Register"]
    pub usbsts: USBSTS,
    #[doc = "0x148 - USB Interrupt Enable Register"]
    pub usbintr: USBINTR,
    #[doc = "0x14c - Frame Index Register"]
    pub frindex: FRINDEX,
    _reserved4: [u8; 4usize],
    #[doc = "0x154 - Device Address Register"]
    pub deviceaddr: DEVICEADDR,
    #[doc = "0x158 - Current Asynchronous List Address Register"]
    pub asynclistaddr: ASYNCLISTADDR,
    #[doc = "0x15c - Host TT Asynchronous Buffer Control"]
    pub ttctrl: TTCTRL,
    #[doc = "0x160 - Master Interface Data Burst Size Register"]
    pub burstsize: BURSTSIZE,
    #[doc = "0x164 - Transmit FIFO Tuning Control Register"]
    pub txfilltuning: TXFILLTUNING,
    _reserved5: [u8; 16usize],
    #[doc = "0x178 - Endpoint NAK Register"]
    pub endptnak: ENDPTNAK,
    #[doc = "0x17c - Endpoint NAK Enable Register"]
    pub endptnaken: ENDPTNAKEN,
    #[doc = "0x180 - Configure Flag Register"]
    pub configflag: CONFIGFLAG,
    #[doc = "0x184 - Port Status and Control Registers"]
    pub portsc1: PORTSC1,
    _reserved6: [u8; 28usize],
    #[doc = "0x1a4 - On-the-Go Status and Control Register"]
    pub otgsc: OTGSC,
    #[doc = "0x1a8 - USB Mode Register"]
    pub usbmode: USBMODE,
    #[doc = "0x1ac - Endpoint Setup Status Register"]
    pub epsetupsr: EPSETUPSR,
    #[doc = "0x1b0 - Endpoint Initialization Register"]
    pub epprime: EPPRIME,
    #[doc = "0x1b4 - Endpoint Flush Register"]
    pub epflush: EPFLUSH,
    #[doc = "0x1b8 - Endpoint Status Register"]
    pub epsr: EPSR,
    #[doc = "0x1bc - Endpoint Complete Register"]
    pub epcomplete: EPCOMPLETE,
    #[doc = "0x1c0 - Endpoint Control Register 0"]
    pub epcr0: EPCR0,
    #[doc = "0x1c4 - Endpoint Control Register n"]
    pub epcr1: EPCR,
    #[doc = "0x1c8 - Endpoint Control Register n"]
    pub epcr2: EPCR,
    #[doc = "0x1cc - Endpoint Control Register n"]
    pub epcr3: EPCR,
    #[doc = "0x1d0 - Endpoint Control Register n"]
    pub epcr4: EPCR,
    #[doc = "0x1d4 - Endpoint Control Register n"]
    pub epcr5: EPCR,
    #[doc = "0x1d8 - Endpoint Control Register n"]
    pub epcr6: EPCR,
    #[doc = "0x1dc - Endpoint Control Register n"]
    pub epcr7: EPCR,
    _reserved7: [u8; 32usize],
    #[doc = "0x200 - USB General Control Register"]
    pub usbgenctrl: USBGENCTRL,
}
#[doc = "Identification Register"]
pub struct ID {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Identification Register"]
pub mod id;
#[doc = "General Hardware Parameters Register"]
pub struct HWGENERAL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "General Hardware Parameters Register"]
pub mod hwgeneral;
#[doc = "Host Hardware Parameters Register"]
pub struct HWHOST {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Host Hardware Parameters Register"]
pub mod hwhost;
#[doc = "Device Hardware Parameters Register"]
pub struct HWDEVICE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Device Hardware Parameters Register"]
pub mod hwdevice;
#[doc = "Transmit Buffer Hardware Parameters Register"]
pub struct HWTXBUF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit Buffer Hardware Parameters Register"]
pub mod hwtxbuf;
#[doc = "Receive Buffer Hardware Parameters Register"]
pub struct HWRXBUF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receive Buffer Hardware Parameters Register"]
pub mod hwrxbuf;
#[doc = "General Purpose Timer n Load Register"]
pub struct GPTIMERLD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "General Purpose Timer n Load Register"]
pub mod gptimerld;
#[doc = "General Purpose Timer n Control Register"]
pub struct GPTIMERCTL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "General Purpose Timer n Control Register"]
pub mod gptimerctl;
#[doc = "System Bus Interface Configuration Register"]
pub struct USB_SBUSCFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System Bus Interface Configuration Register"]
pub mod usb_sbuscfg;
#[doc = "Host Controller Interface Version and Capability Registers Length Register"]
pub struct HCIVERSION {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Host Controller Interface Version and Capability Registers Length Register"]
pub mod hciversion;
#[doc = "Host Controller Structural Parameters Register"]
pub struct HCSPARAMS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Host Controller Structural Parameters Register"]
pub mod hcsparams;
#[doc = "Host Controller Capability Parameters Register"]
pub struct HCCPARAMS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Host Controller Capability Parameters Register"]
pub mod hccparams;
#[doc = "Device Controller Interface Version"]
pub struct DCIVERSION {
    register: ::vcell::VolatileCell<u16>,
}
#[doc = "Device Controller Interface Version"]
pub mod dciversion;
#[doc = "Device Controller Capability Parameters"]
pub struct DCCPARAMS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Device Controller Capability Parameters"]
pub mod dccparams;
#[doc = "USB Command Register"]
pub struct USBCMD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB Command Register"]
pub mod usbcmd;
#[doc = "USB Status Register"]
pub struct USBSTS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB Status Register"]
pub mod usbsts;
#[doc = "USB Interrupt Enable Register"]
pub struct USBINTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB Interrupt Enable Register"]
pub mod usbintr;
#[doc = "Frame Index Register"]
pub struct FRINDEX {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Frame Index Register"]
pub mod frindex;
#[doc = "Device Address Register"]
pub struct DEVICEADDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Device Address Register"]
pub mod deviceaddr;
#[doc = "Periodic Frame List Base Address Register"]
pub struct PERIODICLISTBASE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Periodic Frame List Base Address Register"]
pub mod periodiclistbase;
#[doc = "Current Asynchronous List Address Register"]
pub struct ASYNCLISTADDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current Asynchronous List Address Register"]
pub mod asynclistaddr;
#[doc = "Endpoint List Address Register"]
pub struct EPLISTADDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint List Address Register"]
pub mod eplistaddr;
#[doc = "Host TT Asynchronous Buffer Control"]
pub struct TTCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Host TT Asynchronous Buffer Control"]
pub mod ttctrl;
#[doc = "Master Interface Data Burst Size Register"]
pub struct BURSTSIZE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Master Interface Data Burst Size Register"]
pub mod burstsize;
#[doc = "Transmit FIFO Tuning Control Register"]
pub struct TXFILLTUNING {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit FIFO Tuning Control Register"]
pub mod txfilltuning;
#[doc = "Endpoint NAK Register"]
pub struct ENDPTNAK {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint NAK Register"]
pub mod endptnak;
#[doc = "Endpoint NAK Enable Register"]
pub struct ENDPTNAKEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint NAK Enable Register"]
pub mod endptnaken;
#[doc = "Configure Flag Register"]
pub struct CONFIGFLAG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configure Flag Register"]
pub mod configflag;
#[doc = "Port Status and Control Registers"]
pub struct PORTSC1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Port Status and Control Registers"]
pub mod portsc1;
#[doc = "On-the-Go Status and Control Register"]
pub struct OTGSC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "On-the-Go Status and Control Register"]
pub mod otgsc;
#[doc = "USB Mode Register"]
pub struct USBMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB Mode Register"]
pub mod usbmode;
#[doc = "Endpoint Setup Status Register"]
pub struct EPSETUPSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Setup Status Register"]
pub mod epsetupsr;
#[doc = "Endpoint Initialization Register"]
pub struct EPPRIME {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Initialization Register"]
pub mod epprime;
#[doc = "Endpoint Flush Register"]
pub struct EPFLUSH {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Flush Register"]
pub mod epflush;
#[doc = "Endpoint Status Register"]
pub struct EPSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Status Register"]
pub mod epsr;
#[doc = "Endpoint Complete Register"]
pub struct EPCOMPLETE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Complete Register"]
pub mod epcomplete;
#[doc = "Endpoint Control Register 0"]
pub struct EPCR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Control Register 0"]
pub mod epcr0;
#[doc = "Endpoint Control Register n"]
pub struct EPCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Endpoint Control Register n"]
pub mod epcr;
#[doc = "USB General Control Register"]
pub struct USBGENCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB General Control Register"]
pub mod usbgenctrl;