HPMICRO HPM5361 HPM5300 1.0 HPM5300 device /* * Copyright (c) 2021-2023 HPMicro * * SPDX-License-Identifier: BSD-3-Clause * */ other r0p0 little false true true 7 false 8 32 32 read-write 0x0 0xFFFFFFFF FGPIO FGPIO GPIO 0xc0000 0x0 0x8f0 registers 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy DI[%s] no description available 0x0 VALUE GPIO input value 0x0 32 0x00000000 0xFFFFFFFF INPUT GPIO input bus value, each bit represents a bus bit 0: low level presents on chip pin 1: high level presents on chip pin 0 32 read-only 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy DO[%s] no description available 0x100 VALUE GPIO output value 0x0 32 0x00000000 0xFFFFFFFF OUTPUT GPIO output register value, each bit represents a bus bit 0: chip pin output low level when direction is output 1: chip pin output high level when direction is output 0 32 read-write SET GPIO output set 0x4 32 0x00000000 0xFFFFFFFF OUTPUT GPIO output register value, each bit represents a bus bit 0: chip pin output low level when direction is output 1: chip pin output high level when direction is output 0 32 read-write CLEAR GPIO output clear 0x8 32 0x00000000 0xFFFFFFFF OUTPUT GPIO output register value, each bit represents a bus bit 0: chip pin output low level when direction is output 1: chip pin output high level when direction is output 0 32 read-write TOGGLE GPIO output toggle 0xc 32 0x00000000 0xFFFFFFFF OUTPUT GPIO output register value, each bit represents a bus bit 0: chip pin output low level when direction is output 1: chip pin output high level when direction is output 0 32 read-write 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy OE[%s] no description available 0x200 VALUE GPIO direction value 0x0 32 0x00000000 0xFFFFFFFF DIRECTION GPIO direction, each bit represents a bus bit 0: input 1: output 0 32 read-write SET GPIO direction set 0x4 32 0x00000000 0xFFFFFFFF DIRECTION GPIO direction, each bit represents a bus bit 0: input 1: output 0 32 read-write CLEAR GPIO direction clear 0x8 32 0x00000000 0xFFFFFFFF DIRECTION GPIO direction, each bit represents a bus bit 0: input 1: output 0 32 read-write TOGGLE GPIO direction toggle 0xc 32 0x00000000 0xFFFFFFFF DIRECTION GPIO direction, each bit represents a bus bit 0: input 1: output 0 32 read-write 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy IF[%s] no description available 0x300 VALUE GPIO interrupt flag value 0x0 32 0x00000000 0xFFFFFFFF IRQ_FLAG GPIO interrupt flag, write 1 to clear this flag 0: no irq 1: irq pending 0 32 write-only 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy IE[%s] no description available 0x400 VALUE GPIO interrupt enable value 0x0 32 0x00000000 0xFFFFFFFF IRQ_EN GPIO interrupt enable, each bit represents a bus bit 0: irq is disabled 1: irq is enable 0 32 read-write SET GPIO interrupt enable set 0x4 32 0x00000000 0xFFFFFFFF IRQ_EN GPIO interrupt enable, each bit represents a bus bit 0: irq is disabled 1: irq is enable 0 32 read-write CLEAR GPIO interrupt enable clear 0x8 32 0x00000000 0xFFFFFFFF IRQ_EN GPIO interrupt enable, each bit represents a bus bit 0: irq is disabled 1: irq is enable 0 32 read-write TOGGLE GPIO interrupt enable toggle 0xc 32 0x00000000 0xFFFFFFFF IRQ_EN GPIO interrupt enable, each bit represents a bus bit 0: irq is disabled 1: irq is enable 0 32 read-write 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy PL[%s] no description available 0x500 VALUE GPIO interrupt polarity value 0x0 32 0x00000000 0xFFFFFFFF IRQ_POL GPIO interrupt polarity, each bit represents a bus bit 0: irq is high level or rising edge 1: irq is low level or falling edge 0 32 read-write SET GPIO interrupt polarity set 0x4 32 0x00000000 0xFFFFFFFF IRQ_POL GPIO interrupt polarity, each bit represents a bus bit 0: irq is high level or rising edge 1: irq is low level or falling edge 0 32 read-write CLEAR GPIO interrupt polarity clear 0x8 32 0x00000000 0xFFFFFFFF IRQ_POL GPIO interrupt polarity, each bit represents a bus bit 0: irq is high level or rising edge 1: irq is low level or falling edge 0 32 read-write TOGGLE GPIO interrupt polarity toggle 0xc 32 0x00000000 0xFFFFFFFF IRQ_POL GPIO interrupt polarity, each bit represents a bus bit 0: irq is high level or rising edge 1: irq is low level or falling edge 0 32 read-write 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy TP[%s] no description available 0x600 VALUE GPIO interrupt type value 0x0 32 0x00000000 0xFFFFFFFF IRQ_TYPE GPIO interrupt type, each bit represents a bus bit 0: irq is triggered by level 1: irq is triggered by edge 0 32 read-write SET GPIO interrupt type set 0x4 32 0x00000000 0xFFFFFFFF IRQ_TYPE GPIO interrupt type, each bit represents a bus bit 0: irq is triggered by level 1: irq is triggered by edge 0 32 read-write CLEAR GPIO interrupt type clear 0x8 32 0x00000000 0xFFFFFFFF IRQ_TYPE GPIO interrupt type, each bit represents a bus bit 0: irq is triggered by level 1: irq is triggered by edge 0 32 read-write TOGGLE GPIO interrupt type toggle 0xc 32 0x00000000 0xFFFFFFFF IRQ_TYPE GPIO interrupt type, each bit represents a bus bit 0: irq is triggered by level 1: irq is triggered by edge 0 32 read-write 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy AS[%s] no description available 0x700 VALUE GPIO interrupt asynchronous value 0x0 32 0x00000000 0xFFFFFFFF IRQ_ASYNC GPIO interrupt asynchronous, each bit represents a bus bit 0: irq is triggered base on system clock 1: irq is triggered combinational Note: combinational interrupt is sensitive to environment noise 0 32 read-write SET GPIO interrupt asynchronous set 0x4 32 0x00000000 0xFFFFFFFF IRQ_ASYNC GPIO interrupt asynchronous, each bit represents a bus bit 0: irq is triggered base on system clock 1: irq is triggered combinational Note: combinational interrupt is sensitive to environment noise 0 32 read-write CLEAR GPIO interrupt asynchronous clear 0x8 32 0x00000000 0xFFFFFFFF IRQ_ASYNC GPIO interrupt asynchronous, each bit represents a bus bit 0: irq is triggered base on system clock 1: irq is triggered combinational Note: combinational interrupt is sensitive to environment noise 0 32 read-write TOGGLE GPIO interrupt asynchronous toggle 0xc 32 0x00000000 0xFFFFFFFF IRQ_ASYNC GPIO interrupt asynchronous, each bit represents a bus bit 0: irq is triggered base on system clock 1: irq is triggered combinational Note: combinational interrupt is sensitive to environment noise 0 32 read-write 15 0x10 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy PD[%s] no description available 0x800 VALUE GPIO dual edge interrupt enable value 0x0 32 0x00000000 0x00000001 IRQ_DUAL GPIO dual edge interrupt enable 0: single edge interrupt 1: dual edge interrupt enable 0 1 read-write SET GPIO dual edge interrupt enable set 0x4 32 0x00000000 0x00000001 IRQ_DUAL GPIO dual edge interrupt enable set 0: keep original edge interrupt type 1: dual edge interrupt enable 0 1 read-write CLEAR GPIO dual edge interrupt enable clear 0x8 32 0x00000000 0x00000001 IRQ_DUAL GPIO dual edge interrupt enable clear 0: keep original edge interrupt type 1: single edge interrupt enable 0 1 read-write TOGGLE GPIO dual edge interrupt enable toggle 0xc 32 0x00000000 0x00000001 IRQ_DUAL GPIO dual edge interrupt enable toggle 0: keep original edge interrupt type 1: change original edge interrupt type to another one. 0 1 read-write GPIO0 GPIO0 GPIO 0xf00d0000 PGPIO PGPIO GPIO 0xf411c000 PLIC PLIC PLIC 0xe4000000 0x0 0x201000 registers feature Feature enable register 0x0 32 0x00000000 0x00000003 VECTORED Vector mode enable 0: Disabled 1: Enabled 1 1 read-write PREEMPT Preemptive priority interrupt enable 0: Disabled 1: Enabled 0 1 read-write 127 0x4 PRIORITY1,PRIORITY2,PRIORITY3,PRIORITY4,PRIORITY5,PRIORITY6,PRIORITY7,PRIORITY8,PRIORITY9,PRIORITY10,PRIORITY11,PRIORITY12,PRIORITY13,PRIORITY14,PRIORITY15,PRIORITY16,PRIORITY17,PRIORITY18,PRIORITY19,PRIORITY20,PRIORITY21,PRIORITY22,PRIORITY23,PRIORITY24,PRIORITY25,PRIORITY26,PRIORITY27,PRIORITY28,PRIORITY29,PRIORITY30,PRIORITY31,PRIORITY32,PRIORITY33,PRIORITY34,PRIORITY35,PRIORITY36,PRIORITY37,PRIORITY38,PRIORITY39,PRIORITY40,PRIORITY41,PRIORITY42,PRIORITY43,PRIORITY44,PRIORITY45,PRIORITY46,PRIORITY47,PRIORITY48,PRIORITY49,PRIORITY50,PRIORITY51,PRIORITY52,PRIORITY53,PRIORITY54,PRIORITY55,PRIORITY56,PRIORITY57,PRIORITY58,PRIORITY59,PRIORITY60,PRIORITY61,PRIORITY62,PRIORITY63,PRIORITY64,PRIORITY65,PRIORITY66,PRIORITY67,PRIORITY68,PRIORITY69,PRIORITY70,PRIORITY71,PRIORITY72,PRIORITY73,PRIORITY74,PRIORITY75,PRIORITY76,PRIORITY77,PRIORITY78,PRIORITY79,PRIORITY80,PRIORITY81,PRIORITY82,PRIORITY83,PRIORITY84,PRIORITY85,PRIORITY86,PRIORITY87,PRIORITY88,PRIORITY89,PRIORITY90,PRIORITY91,PRIORITY92,PRIORITY93,PRIORITY94,PRIORITY95,PRIORITY96,PRIORITY97,PRIORITY98,PRIORITY99,PRIORITY100,PRIORITY101,PRIORITY102,PRIORITY103,PRIORITY104,PRIORITY105,PRIORITY106,PRIORITY107,PRIORITY108,PRIORITY109,PRIORITY110,PRIORITY111,PRIORITY112,PRIORITY113,PRIORITY114,PRIORITY115,PRIORITY116,PRIORITY117,PRIORITY118,PRIORITY119,PRIORITY120,PRIORITY121,PRIORITY122,PRIORITY123,PRIORITY124,PRIORITY125,PRIORITY126,PRIORITY127 PRIORITY[%s] no description available 0x4 32 0x00000001 0xFFFFFFFF PRIORITY Interrupt source priority. The valid range of this field is 0-7. 0: Never interrupt 1-7: Interrupt source priority. The larger the value, the higher the priority. 0 32 read-write 4 0x4 PENDING0,PENDING1,PENDING2,PENDING3 PENDING[%s] no description available 0x1000 32 0x00000000 0xFFFFFFFF INTERRUPT The interrupt pending status of inpterrupt sources. Every interrupt source occupies 1 bit. 0 32 read-write 4 0x4 TRIGGER0,TRIGGER1,TRIGGER2,TRIGGER3 TRIGGER[%s] no description available 0x1080 32 0x00000000 0xFFFFFFFF INTERRUPT The interrupt trigger type of interrupt sources. Every interrupt source occupies 1 bit. 0: Level-triggered interrupt 1: Edge-triggered interrupt 0 32 read-only NUMBER Number of supported interrupt sources and targets 0x1100 32 0xFFFFFFFF NUM_TARGET The number of supported targets 16 16 read-only NUM_INTERRUPT The number of supported interrupt sources 0 16 read-only INFO Version and the maximum priority 0x1104 32 0xFFFFFFFF MAX_PRIORITY The maximum priority supported 16 16 read-only VERSION The version of the PLIC design 0 16 read-only 1 0x80 target0 TARGETINT[%s] no description available 0x2000 4 0x4 INTEN0,INTEN1,INTEN2,INTEN3 INTEN[%s] no description available 0x0 32 0x00000000 0xFFFFFFFF INTERRUPT The interrupt enable bit for interrupt. Every interrupt source occupies 1 bit. 0 32 read-write 1 0x1000 target0 TARGETCONFIG[%s] no description available 0x200000 THRESHOLD Target0 priority threshold 0x0 32 0x00000000 0xFFFFFFFF THRESHOLD Interrupt priority threshold. 0 32 read-write CLAIM Target claim and complete 0x4 32 0x00000000 0x000003FF INTERRUPT_ID On reads, indicating the interrupt source that has being claimed. On writes, indicating the interrupt source that has been handled (completed). 0 10 read-write PPS Preempted priority stack 0x400 32 0x00000000 0xFFFFFFFF PRIORITY_PREEMPTED Each bit indicates if the corresponding priority level has been preempted by a higher-priority interrupt. 0 32 read-write MCHTMR MCHTMR MCHTMR 0xe6000000 0x0 0x10 registers MTIME Machine Time 0x0 64 0x0000000000020210 0xFFFFFFFFFFFFFFFF MTIME Machine time 0 64 read-write MTIMECMP Machine Time Compare 0x8 64 0x0000000000020210 0xFFFFFFFFFFFFFFFF MTIMECMP Machine time compare 0 64 read-write PLICSW PLICSW PLIC_SW 0xe6400000 0x1000 0x1ff008 registers PENDING Pending status 0x1000 32 0x00000000 0x00000002 INTERRUPT writing 1 to trigger software interrupt 1 1 read-write INTEN Interrupt enable 0x2000 32 0x00000000 0x00000001 INTERRUPT enable software interrupt 0 1 read-write CLAIM Claim and complete. 0x200004 32 0x00000000 0x00000001 INTERRUPT_ID On reads, indicating the interrupt source that has being claimed. On writes, indicating the interrupt source that has been handled (completed). 0 1 read-write GPTMR0 GPTMR0 TMR 0xf0000000 0x0 0x20c registers 4 0x40 ch0,ch1,ch2,ch3 CHANNEL[%s] no description available 0x0 CR Control Register 0x0 32 0x00000000 0xFFFC7FFF CNTUPT 1- update counter to new value as CNTUPTVAL This bit will be auto cleared after 1 cycle 31 1 write-only CNTRST 1- reset counter 14 1 read-write SYNCFLW 1- enable this channel to reset counter to reload(RLD) together with its previous channel. This bit is not valid for channel 0. 13 1 read-write SYNCIFEN 1- SYNCI is valid on its falling edge 12 1 read-write SYNCIREN 1- SYNCI is valid on its rising edge 11 1 read-write CEN 1- counter enable 10 1 read-write CMPINIT Output compare initial poliarity 1- The channel output initial level is high 0- The channel output initial level is low User should set this bit before set CMPEN to 1. 9 1 read-write CMPEN 1- Enable the channel output compare function. The output signal can be generated per comparator (CMPx) settings. 8 1 read-write DMASEL select one of DMA request: 00- CMP0 flag 01- CMP1 flag 10- Input signal toggle captured 11- RLD flag, counter reload; 6 2 read-write DMAEN 1- enable dma 5 1 read-write SWSYNCIEN 1- enable software sync. When this bit is set, counter will reset to RLD when swsynct bit is set 4 1 read-write DBGPAUSE 1- counter will pause if chip is in debug mode 3 1 read-write CAPMODE This bitfield define the input capture mode 100: width measure mode, timer will calculate the input signal period and duty cycle 011: capture at both rising edge and falling edge 010: capture at falling edge 001: capture at rising edge 000: No capture 0 3 read-write 2 0x4 CMP0,CMP1 CMP[%s] no description available 0x4 32 0xFFFFFFFF 0xFFFFFFFF CMP compare value 0 0 32 read-write RLD Reload register 0xc 32 0xFFFFFFFF 0xFFFFFFFF RLD reload value 0 32 read-write CNTUPTVAL Counter update value register 0x10 32 0x00000000 0xFFFFFFFF CNTUPTVAL counter will be set to this value when software write cntupt bit in CR 0 32 read-write CAPPOS Capture rising edge register 0x20 32 0x00000000 0xFFFFFFFF CAPPOS This register contains the counter value captured at input signal rising edge 0 32 read-only CAPNEG Capture falling edge register 0x24 32 0x00000000 0xFFFFFFFF CAPNEG This register contains the counter value captured at input signal falling edge 0 32 read-only CAPPRD PWM period measure register 0x28 32 0x00000000 0xFFFFFFFF CAPPRD This register contains the input signal period when channel is configured to input capture measure mode. 0 32 read-only CAPDTY PWM duty cycle measure register 0x2c 32 0x00000000 0xFFFFFFFF MEAS_HIGH This register contains the input signal duty cycle when channel is configured to input capture measure mode. 0 32 read-only CNT Counter 0x30 32 0x00000000 0xFFFFFFFF COUNTER 32 bit counter value 0 32 read-only SR Status register 0x200 32 0x00000000 0xFFFFFFFF CH3CMP1F channel 3 compare value 1 match flag 15 1 write-only CH3CMP0F channel 3 compare value 1 match flag 14 1 write-only CH3CAPF channel 3 capture flag, the flag will be set at the valid capture edge per CAPMODE setting. If the capture channel is set to measure mode, the flag will be set at rising edge. 13 1 write-only CH3RLDF channel 3 counter reload flag 12 1 write-only CH2CMP1F channel 2 compare value 1 match flag 11 1 write-only CH2CMP0F channel 2 compare value 1 match flag 10 1 write-only CH2CAPF channel 2 capture flag, the flag will be set at the valid capture edge per CAPMODE setting. If the capture channel is set to measure mode, the flag will be set at rising edge. 9 1 write-only CH2RLDF channel 2 counter reload flag 8 1 write-only CH1CMP1F channel 1 compare value 1 match flag 7 1 write-only CH1CMP0F channel 1 compare value 1 match flag 6 1 write-only CH1CAPF channel 1 capture flag, the flag will be set at the valid capture edge per CAPMODE setting. If the capture channel is set to measure mode, the flag will be set at rising edge. 5 1 write-only CH1RLDF channel 1 counter reload flag 4 1 write-only CH0CMP1F channel 1 compare value 1 match flag 3 1 write-only CH0CMP0F channel 1 compare value 1 match flag 2 1 write-only CH0CAPF channel 1 capture flag, the flag will be set at the valid capture edge per CAPMODE setting. If the capture channel is set to measure mode, the flag will be set at rising edge. 1 1 write-only CH0RLDF channel 1 counter reload flag 0 1 write-only IRQEN Interrupt request enable register 0x204 32 0x00000000 0xFFFFFFFF CH3CMP1EN 1- generate interrupt request when ch3cmp1f flag is set 15 1 read-write CH3CMP0EN 1- generate interrupt request when ch3cmp0f flag is set 14 1 read-write CH3CAPEN 1- generate interrupt request when ch3capf flag is set 13 1 read-write CH3RLDEN 1- generate interrupt request when ch3rldf flag is set 12 1 read-write CH2CMP1EN 1- generate interrupt request when ch2cmp1f flag is set 11 1 read-write CH2CMP0EN 1- generate interrupt request when ch2cmp0f flag is set 10 1 read-write CH2CAPEN 1- generate interrupt request when ch2capf flag is set 9 1 read-write CH2RLDEN 1- generate interrupt request when ch2rldf flag is set 8 1 read-write CH1CMP1EN 1- generate interrupt request when ch1cmp1f flag is set 7 1 read-write CH1CMP0EN 1- generate interrupt request when ch1cmp0f flag is set 6 1 read-write CH1CAPEN 1- generate interrupt request when ch1capf flag is set 5 1 read-write CH1RLDEN 1- generate interrupt request when ch1rldf flag is set 4 1 read-write CH0CMP1EN 1- generate interrupt request when ch0cmp1f flag is set 3 1 read-write CH0CMP0EN 1- generate interrupt request when ch0cmp0f flag is set 2 1 read-write CH0CAPEN 1- generate interrupt request when ch0capf flag is set 1 1 read-write CH0RLDEN 1- generate interrupt request when ch0rldf flag is set 0 1 read-write GCR Global control register 0x208 32 0x00000000 0x0000000F SWSYNCT set this bitfield to trigger software coutner sync event 0 4 read-write GPTMR1 GPTMR1 TMR 0xf0004000 GPTMR2 GPTMR2 TMR 0xf0008000 GPTMR3 GPTMR3 TMR 0xf000c000 PTMR PTMR TMR 0xf4120000 LIN0 LIN0 LINV2 0xf0020000 0x0 0x18 registers 2 0x4 data0,data1 DATA[%s] no description available 0x0 32 0x00000000 0xFFFFFFFF DATA data 0 32 read-write 8 0x1 data_byte0,data_byte1,data_byte2,data_byte3,data_byte4,data_byte5,data_byte6,data_byte7 DATA_BYTE[%s] no description available 0x0 8 0x00 0xFF DATA_BYTE data byte 0 8 read-write data_len_id data length and ID register 0x8 32 0x00000000 0x00FFFF8F CHECKSUM No description avaiable 16 8 read-only ID_PARITY No description avaiable 14 2 read-only ID ID register 8 6 read-write ENH_CHECK 1:enhance check mode 0:classical check mode 7 1 read-write DATA_LEN payload data length control register。The data length will decoded from ID[5:4] when all 1 is configured: 00-2 01-2 10-4 11-8 0 4 read-write control_status control and status register 0xc 32 0x00000000 0x003FFFFF BREAK_ERR_DIS No description avaiable 21 1 read-write BREAK_ERR No description avaiable 20 1 read-only PARITY_ERROR slave only. identifier parity error 19 1 read-only TIME_OUT timeout error. The master detects a timeout error if it is expecting data from the bus but no slave does respond. The slave detects a timeout error if it is requesting a data acknowledge to the host controller. The slave detects a timeout if it has transmitted a wakeup signal and it detects no sync field within 150ms 18 1 read-only CHK_ERROR checksum error 17 1 read-only BIT_ERROR bit error 16 1 read-only LIN_ACTIVE The bit indicates whether the LIN bus is active or not 15 1 read-only BUS_IDLE_TIMEOUT slave only. This bit is set by LIN core if bit sleep is not set and no bus activity is detected for 4s 14 1 read-only ABORTED slave only. This bit is set by LIN core slave if a transmission is aborted after the bneginning of the data field due to a timeout or bit error. 13 1 read-only DATA_REQ slave only. Sets after receiving the identifier and requests an interrupt to the host controller. 12 1 read-only INT set when request an interrupt. Reset by reset_int 11 1 read-only ERROR set when detecte an error, clear by reset_error 10 1 read-only WAKEUP set when transmitting a wakeup signal or when received a wakeup signal. Clear when reset_error bit is 1 9 1 read-only COMPLETE set after a transmission has been successful finished and it will reset at the start of a transmission. 8 1 read-only STOP slave only. Write 1 when the Host determin do not response to the data request according to a unkown ID 7 1 write-only SLEEP The bit is used by the LIN core to determine whether the LIN bus is in sleep mode or not. Set this bit after sending or receiving a Sleep Mode frame or if a bus idle timeout interrupt is requested or if after a wakeup request there is no response from the master and a timeout is signaled. The bit will be automatically reset by the LIN core. 6 1 read-write TRANSMIT 1: transmit operation 0: receive operation 5 1 read-write DATA_ACK slave only. Write 1 after handling a data request interrupt 4 1 read-write RESET_INT set 1 will clear the int register 3 1 write-only RESET_ERROR set 1 will clear the error register, and also the timeout/complete/wakeup register 2 1 write-only WAKEUP_REQ set 1 will make LIN bus exit sleep mode, the bit auto cleared after a wakeup signal has been complete 1 1 read-write START_REQ master only. Set 1 will start lin transmission, the bit will be auto cleared when an error occur or the trasmission complete 0 1 read-write timing_control timing control register 0x10 32 0x00400000 0x3F7FFFFF WAKE_LEN No description avaiable 27 3 read-write BRK_LEN No description avaiable 24 3 read-write LINBUSDISABLE 1:lin rx is disable 22 1 read-write LIN_INITIAL 1:initial lin controller 21 1 read-write MASTER_MODE 1:master mode 20 1 read-write BUS_INACTIVE_TIME slave only. LIN bus idle timeout register: 00-4s 01-6s 10-8s 11-10s 18 2 read-write WUP_REPEAT_TIME slave only. wakeup repeat interval time 00-180ms 01-200ms 10-220ms 11-240ms 16 2 read-write PRESCL prescl register 14 2 read-write BT_MUL bt_mul register 9 5 read-write BT_DIV bt_div register 0 9 read-write dma_control dma control register 0x14 32 0x00000000 0x00001FFF DMA_REQ_ENH_CHK payload data checksum type for dma operation 12 1 read-write DMA_REQ_LEN paylaod length for dma request 8 4 read-write DMA_REQ_ID_TYPE 1:transmite 0:receive 7 1 read-write DMA_REQ_ID dma_req_id register 1 6 read-write DMA_REQ_ENABLE slave mode only. 1: enable dma request for data request ID equal dma_req_id 0 1 read-write LIN1 LIN1 LINV2 0xf0024000 LIN2 LIN2 LINV2 0xf0028000 LIN3 LIN3 LINV2 0xf002c000 UART0 UART0 UART 0xf0040000 0x4 0x3c registers IDLE_CFG Idle Configuration Register 0x4 32 0x00000000 0x03FF0BFF TX_IDLE_COND IDLE Detection Condition 0 - Treat as idle if TX pin is logic one 1 - Treat as idle if UART state machine state is idle 25 1 read-write TX_IDLE_EN UART TX Idle Detect Enable 0 - Disable 1 - Enable 24 1 read-write TX_IDLE_THR Threshold for UART transmit Idle detection (in terms of bits) 16 8 read-write RXEN UART receive enable. 0 - hold RX input to high, avoide wrong data input when config pinmux 1 - bypass RX input from PIN software should set it after config pinmux 11 1 read-write RX_IDLE_COND IDLE Detection Condition 0 - Treat as idle if RX pin is logic one 1 - Treat as idle if UART state machine state is idle 9 1 read-write RX_IDLE_EN UART Idle Detect Enable 0 - Disable 1 - Enable it should be enabled if enable address match feature 8 1 read-write RX_IDLE_THR Threshold for UART Receive Idle detection (in terms of bits) 0 8 read-write ADDR_CFG address match config register 0x8 32 0x00000000 0x001FFFFF TXEN_9BIT set to use 9bit mode for transmitter, will set the MSB for the first character as address flag, keep 0 for others. 20 1 read-write RXEN_ADDR_MSB set to use MSB as address flag at receiver(actually this is done by software set correct MSB in addr0/addr1). Clr to use first character as address. Only needed if enable address match feature 19 1 read-write RXEN_9BIT set to use 9bit mode for receiver, only valid if rxen_addr_msb is set 18 1 read-write A1_EN enable addr1 compare for the first character. If a1_en OR a0_en, then do not receive data if address not match. If ~a1_en AND ~a0_en, the receive all data like before. NOTE: should set idle_tmout_en if enable address match feature 17 1 read-write A0_EN enable addr0 compare for the first character 16 1 read-write ADDR1 address 1 fileld. in 9bit mode, this is the full address byte. For other mode(8/7/6/5bit), MSB should be set for address flag. If want address==0 to be matched at 8bit mode, should set addr1=0x80 8 8 read-write ADDR0 address 0 field. 0 8 read-write IIR2 Interrupt Identification Register2 0xc 32 0x00000001 0xF80000CF RXIDLE_FLAG UART RX IDLE Flag, assert after rxd low and then rx idle timeout, write one clear 0 - UART RX is busy 1 - UART RX is idle 31 1 write-only TXIDLE_FLAG UART TX IDLE Flag, assert after txd low and then tx idle timeout, write one clear 0 - UART TX is busy 1 - UART TX is idle 30 1 write-only ADDR_MATCH address match irq status, assert if either address match(and enabled). Write one clear NOTE: the address byte may not moved by DMA at this point. User can wait next addr_match_idle irq for the whole data include address 29 1 write-only ADDR_MATCH_IDLE address match and idle irq status, assert at rx bus idle if address match event triggered. Write one clear; 28 1 write-only DATA_LOST assert if data lost before address match status, write one clear; It will not assert if no address match occurs 27 1 write-only FIFOED FIFOs enabled These two bits are 1 when bit 0 of the FIFO Control Register (FIFOE) is set to 1. 6 2 read-only INTRID Interrupt ID, see IIR2 for detail decoding 0 4 read-only Cfg Configuration Register 0x10 32 0x00000000 0xFFFFFFFF FIFOSIZE The depth of RXFIFO and TXFIFO 0: 16-byte FIFO 1: 32-byte FIFO 2: 64-byte FIFO 3: 128-byte FIFO 0 2 read-only OSCR Over Sample Control Register 0x14 32 0x00000010 0x0000001F OSC Over-sample control The value must be an even number; any odd value writes to this field will be converted to an even value. OSC=0: The over-sample ratio is 32 OSC<=8: The over-sample ratio is 8 8 < OSC< 32: The over sample ratio is OSC 0 5 read-write FCRR FIFO Control Register config 0x18 32 0x00000000 0x008F0FFF FIFOT4EN set to use new 4bit fifo threshold(TFIFOT4 and RFIFOT4) clr to use 2bit(TFIFOT and RFIFOT) 23 1 read-write TFIFOT4 txfifo threshold(0 for 1byte, 0xF for 16bytes), uart will send tx_dma_req when data in fifo is less than threshold. 16 4 read-write RFIFOT4 rxfifo threshold(0 for 1byte, 0xF for 16bytes). Uart will send rx_dma_req if data in fifo reachs the threshold, also will set the rxdata irq if enabled 8 4 read-write RFIFOT Receiver FIFO trigger level 6 2 read-write TFIFOT Transmitter FIFO trigger level 4 2 read-write DMAE DMA enable 0: Disable 1: Enable 3 1 read-write TFIFORST Transmitter FIFO reset Write 1 to clear all bytes in the TXFIFO and resets its counter. The Transmitter Shift Register is not cleared. This bit will automatically be cleared. 2 1 write-only RFIFORST Receiver FIFO reset Write 1 to clear all bytes in the RXFIFO and resets its counter. The Receiver Shift Register is not cleared. This bit will automatically be cleared. 1 1 write-only FIFOE FIFO enable Write 1 to enable both the transmitter and receiver FIFOs. The FIFOs are reset when the value of this bit toggles. 0 1 read-write MOTO_CFG moto system control register 0x1c 32 0x00000000 0x8000FFF0 SWTRG software trigger. User should avoid use sw/hw trigger at same time, otherwise result unknown. Hardware auto reset. 31 1 write-only TXSTP_BITS if TXSTOP_INSERT is enabled, the STOP bits to be inserted between each byte. 0 for 1 bit; 0xFF for 256bits 8 8 read-write HWTRG_EN set to enable hardware trigger(trigger from moto is shared by other UART) 7 1 read-write TRG_MODE set to enable trigger mode. software should push needed data into txbuffer frist, uart will not start transmission at this time. User should send trigger signal(by hw or sw), uart will send all data in txfifo till empty NOTE: the hw_trigger should be pulse signal from trig mux. 6 1 read-write TRG_CLR_RFIFO set to enable the feature that, clear rxfifo at tx trigger(sw or hw), avoid unexpected data in rxfifo. 5 1 read-write TXSTOP_INSERT set to insert STOP bits between each tx byte till tx fifo empty. NOTE: there will be no 1.5/2 STOP bits if enabled this feature, LCR.STB should be set to 0 if this bit is set 4 1 read-write RBR Receiver Buffer Register (when DLAB = 0) 0x20 32 0x00000000 0x000000FF RBR Receive data read port 0 8 read-only THR Transmitter Holding Register (when DLAB = 0) 0x20 32 0x00000000 0x000000FF THR Transmit data write port 0 8 write-only DLL Divisor Latch LSB (when DLAB = 1) 0x20 32 0x00000001 0x000000FF DLL Least significant byte of the Divisor Latch 0 8 read-write IER Interrupt Enable Register (when DLAB = 0) 0x24 32 0x00000000 0xF800000F ERXIDLE Enable Receive Idle interrupt 0 - Disable Idle interrupt 1 - Enable Idle interrupt 31 1 read-write ETXIDLE enable transmit idle interrupt 30 1 read-write EADDRM enable ADDR_MATCH interrupt 29 1 read-write EADDRM_IDLE enable ADDR_MATCH_IDLE interrupt 28 1 read-write EDATLOST enable DATA_LOST interrupt 27 1 read-write EMSI Enable modem status interrupt The interrupt asserts when the status of one of the following occurs: The status of modem_rin, modem_dcdn, modem_dsrn or modem_ctsn (If the auto-cts mode is disabled) has been changed. If the auto-cts mode is enabled (MCR bit4 (AFE) = 1), modem_ctsn would be used to control the transmitter. 3 1 read-write ELSI Enable receiver line status interrupt 2 1 read-write ETHEI Enable transmitter holding register interrupt 1 1 read-write ERBI Enable received data available interrupt and the character timeout interrupt 0: Disable 1: Enable 0 1 read-write DLM Divisor Latch MSB (when DLAB = 1) 0x24 32 0x00000000 0x000000FF DLM Most significant byte of the Divisor Latch 0 8 read-write IIR Interrupt Identification Register 0x28 32 0x00000001 0x800000CF RXIDLE_FLAG UART IDLE Flag 0 - UART is busy 1 - UART is idle NOTE: when write one to clear this bit, avoid changging FCR register since it's same address as IIR 31 1 write-only FIFOED FIFOs enabled These two bits are 1 when bit 0 of the FIFO Control Register (FIFOE) is set to 1. 6 2 read-only INTRID Interrupt ID, see IIR2 for detail decoding 0 4 read-only FCR FIFO Control Register 0x28 32 0x00000000 0x000000FF RFIFOT Receiver FIFO trigger level 6 2 write-only TFIFOT Transmitter FIFO trigger level 4 2 write-only DMAE DMA enable 0: Disable 1: Enable 3 1 write-only TFIFORST Transmitter FIFO reset Write 1 to clear all bytes in the TXFIFO and resets its counter. The Transmitter Shift Register is not cleared. This bit will automatically be cleared. 2 1 write-only RFIFORST Receiver FIFO reset Write 1 to clear all bytes in the RXFIFO and resets its counter. The Receiver Shift Register is not cleared. This bit will automatically be cleared. 1 1 write-only FIFOE FIFO enable Write 1 to enable both the transmitter and receiver FIFOs. The FIFOs are reset when the value of this bit toggles. 0 1 write-only LCR Line Control Register 0x2c 32 0x00000000 0x000000FF DLAB Divisor latch access bit 7 1 read-write BC Break control 6 1 read-write SPS Stick parity 1: Parity bit is constant 0 or 1, depending on bit4 (EPS). 0: Disable the sticky bit parity. 5 1 read-write EPS Even parity select 1: Even parity (an even number of logic-1 is in the data and parity bits) 0: Old parity. 4 1 read-write PEN Parity enable When this bit is set, a parity bit is generated in transmitted data before the first STOP bit and the parity bit would be checked for the received data. 3 1 read-write STB Number of STOP bits 0: 1 bits 1: The number of STOP bit is based on the WLS setting When WLS = 0, STOP bit is 1.5 bits When WLS = 1, 2, 3, STOP bit is 2 bits 2 1 read-write WLS Word length setting 0: 5 bits 1: 6 bits 2: 7 bits 3: 8 bits 0 2 read-write MCR Modem Control Register ( 0x30 32 0x00000000 0x00000032 AFE Auto flow control enable 0: Disable 1: The auto-CTS and auto-RTS setting is based on the RTS bit setting: When RTS = 0, auto-CTS only When RTS = 1, auto-CTS and auto-RTS 5 1 read-write LOOP Enable loopback mode 0: Disable 1: Enable 4 1 read-write RTS Request to send This bit controls the modem_rtsn output. 0: The modem_rtsn output signal will be driven HIGH 1: The modem_rtsn output signal will be driven LOW 1 1 read-write LSR Line Status Register 0x34 32 0x00000000 0xC01F1FFF RXIDLE rxidle after timeout, clear after rx idle condition not match 31 1 read-only TXIDLE txidle after timeout, clear after tx idle condition not match 30 1 read-only RFIFO_NUM data bytes in rxfifo not read 16 5 read-only TFIFO_NUM data bytes in txfifo not sent 8 5 read-only ERRF Error in RXFIFO In the FIFO mode, this bit is set when there is at least one parity error, framing error, or line break associated with data in the RXFIFO. It is cleared when this register is read and there is no more error for the rest of data in the RXFIFO. 7 1 read-only TEMT Transmitter empty This bit is 1 when the THR (TXFIFO in the FIFO mode) and the Transmitter Shift Register (TSR) are both empty. Otherwise, it is zero. 6 1 read-only THRE Transmitter Holding Register empty This bit is 1 when the THR (TXFIFO in the FIFO mode) is empty. Otherwise, it is zero. If the THRE interrupt is enabled, an interrupt is triggered when THRE becomes 1. 5 1 read-only LBREAK Line break This bit is set when the uart_sin input signal was held LOWfor longer than the time for a full-word transmission. A full-word transmission is the transmission of the START, data, parity, and STOP bits. It is cleared when this register is read. In the FIFO mode, this bit indicates the line break for the received data at the top of the RXFIFO. 4 1 read-only FE Framing error This bit is set when the received STOP bit is not HIGH. It is cleared when this register is read. In the FIFO mode, this bit indicates the framing error for the received data at the top of the RXFIFO. 3 1 read-only PE Parity error This bit is set when the received parity does not match with the parity selected in the LCR[5:4]. It is cleared when this register is read. In the FIFO mode, this bit indicates the parity error for the received data at the top of the RXFIFO. 2 1 read-only OE Overrun error This bit indicates that data in the Receiver Buffer Register (RBR) is overrun. 1 1 read-only DR Data ready. This bit is set when there are incoming received data in the Receiver Buffer Register (RBR). It is cleared when all of the received data are read. 0 1 read-only MSR Modem Status Register 0x38 32 0x00000000 0x00000011 CTS Clear to send 0: The modem_ctsn input signal is HIGH. 1: The modem_ctsn input signal is LOW. 4 1 read-only DCTS Delta clear to send This bit is set when the state of the modem_ctsn input signal has been changed since the last time this register is read. 0 1 read-only GPR GPR Register 0x3c 32 0x00000000 0x000000FF DATA An one-byte storage register 0 8 read-write UART1 UART1 UART 0xf0044000 UART2 UART2 UART 0xf0048000 UART3 UART3 UART 0xf004c000 UART4 UART4 UART 0xf0050000 UART5 UART5 UART 0xf0054000 UART6 UART6 UART 0xf0058000 UART7 UART7 UART 0xf005c000 PUART PUART UART 0xf4124000 I2C0 I2C0 I2C 0xf0060000 0x4 0x30 registers Cfg Configuration Register 0x10 32 0x00000001 0xFFFFFFFF FIFOSIZE FIFO Size: 0: 2 bytes 1: 4 bytes 2: 8 bytes 3: 16 bytes 0 2 read-only IntEn Interrupt Enable Register 0x14 32 0x00000000 0xFFFFFFFF CMPL Set to enable the Completion Interrupt. Master: interrupts when a transaction is issued from this master and completed without losing the bus arbitration. Slave: interrupts when a transaction addressing the controller is completed. 9 1 read-write BYTERECV Set to enable the Byte Receive Interrupt. Interrupts when a byte of data is received Auto-ACK will be disabled if this interrupt is enabled, that is, the software needs to ACK/NACK the received byte manually. 8 1 read-write BYTETRANS Set to enable the Byte Transmit Interrupt. Interrupts when a byte of data is transmitted. 7 1 read-write START Set to enable the START Condition Interrupt. Interrupts when a START condition/repeated START condition is detected. 6 1 read-write STOP Set to enable the STOP Condition Interrupt Interrupts when a STOP condition is detected. 5 1 read-write ARBLOSE Set to enable the Arbitration Lose Interrupt. Master: interrupts when the controller loses the bus arbitration Slave: not available in this mode. 4 1 read-write ADDRHIT Set to enable the Address Hit Interrupt. Master: interrupts when the addressed slave returned an ACK. Slave: interrupts when the controller is addressed. 3 1 read-write FIFOHALF Set to enable the FIFO Half Interrupt. Receiver: Interrupts when the FIFO is half-empty, i.e, there is >= 1/2 entries in the FIFO. Transmitter: Interrupts when the FIFO is half-empty, i.e. there is <= 1/2 entries in the FIFO. This interrupt depends on the transaction direction; don’t enable this interrupt unless the transfer direction is determined, otherwise unintended interrupts may be triggered. 2 1 read-write FIFOFULL Set to enable the FIFO Full Interrupt. Interrupts when the FIFO is full. 1 1 read-write FIFOEMPTY Set to enabled the FIFO Empty Interrupt Interrupts when the FIFO is empty. 0 1 read-write Status Status Register 0x18 32 0x00000001 0xFFFFFFFF LINESDA Indicates the current status of the SDA line on the bus 1: high 0: low 14 1 read-only LINESCL Indicates the current status of the SCL line on the bus 1: high 0: low 13 1 read-only GENCALL Indicates that the address of the current transaction is a general call address: 1: General call 0: Not general call 12 1 read-only BUSBUSY Indicates that the bus is busy The bus is busy when a START condition is on bus and it ends when a STOP condition is seen on bus 1: Busy 0: Not busy 11 1 read-only ACK Indicates the type of the last received/transmitted acknowledgement bit: 1: ACK 0: NACK 10 1 read-only CMPL Transaction Completion Master: Indicates that a transaction has been issued from this master and completed without losing the bus arbitration Slave: Indicates that a transaction addressing the controller has been completed. This status bit must be cleared to receive the next transaction; otherwise, the next incoming transaction will be blocked. 9 1 write-only BYTERECV Indicates that a byte of data has been received. 8 1 write-only BYTETRANS Indicates that a byte of data has been transmitted. 7 1 write-only START Indicates that a START Condition or a repeated START condition has been transmitted/received. 6 1 write-only STOP Indicates that a STOP Condition has been transmitted/received. 5 1 write-only ARBLOSE Indicates that the controller has lost the bus arbitration. 4 1 write-only ADDRHIT Master: indicates that a slave has responded to the transaction. Slave: indicates that a transaction is targeting the controller (including the General Call). 3 1 write-only FIFOHALF Transmitter: Indicates that the FIFO is half-empty. 2 1 read-only FIFOFULL Indicates that the FIFO is full. 1 1 read-only FIFOEMPTY Indicates that the FIFO is empty. 0 1 read-only Addr Address Register 0x1c 32 0x00000000 0xFFFFFFFF ADDR The slave address. For 7-bit addressing mode, the most significant 3 bits are ignored and only the least-significant 7 bits of Addr are valid 0 10 read-write Data Data Register 0x20 32 0x00000000 0xFFFFFFFF DATA Write this register to put one byte of data to the FIFO. Read this register to get one byte of data from the FIFO. 0 8 read-write Ctrl Control Register 0x24 32 0x00905E00 0xFFFFFFFF DATACNT_HIGH Data counts in bytes. Master: The number of bytes to transmit/receive. 0 means max length. DataCnt will be decreased by one for each byte transmitted/received. Slave: the meaning of DataCnt depends on the DMA mode: If DMA is not enabled, DataCnt is the number of bytes transmitted/received from the bus master. It is reset to 0 when the controller is addressed and then increased by one for each byte of data transmitted/received. If DMA is enabled, DataCnt is the number of bytes to transmit/receive. It will not be reset to 0 when the slave is addressed and it will be decreased by one for each byte of data transmitted/received. 24 8 read-write RESET_LEN reset clock cycles. the clock high/low time is defined by Setup.T_SCLHi, 50% duty cycle. 20 4 read-write RESET_HOLD_SCKIN set to hold input clock to high when reset is active 14 1 read-write RESET_ON set to send reset signals(just toggle clock bus defined by reset_len). this register is clered when reset is end, can't be cleared by software 13 1 read-write PHASE_START Enable this bit to send a START condition at the beginning of transaction. Master mode only. 12 1 read-write PHASE_ADDR Enable this bit to send the address after START condition. Master mode only. 11 1 read-write PHASE_DATA Enable this bit to send the data after Address phase. Master mode only. 10 1 read-write PHASE_STOP Enable this bit to send a STOP condition at the end of a transaction. Master mode only. 9 1 read-write DIR Transaction direction Master: Set this bit to determine the direction for the next transaction. 0: Transmitter 1: Receiver Slave: The direction of the last received transaction. 0: Receiver 1: Transmitter 8 1 read-write DATACNT Data counts in bytes. Master: The number of bytes to transmit/receive. 0 means max length. DataCnt will be decreased by one for each byte transmitted/received. Slave: the meaning of DataCnt depends on the DMA mode: If DMA is not enabled, DataCnt is the number of bytes transmitted/received from the bus master. It is reset to 0 when the controller is addressed and then increased by one for each byte of data transmitted/received. If DMA is enabled, DataCnt is the number of bytes to transmit/receive. It will not be reset to 0 when the slave is addressed and it will be decreased by one for each byte of data transmitted/received. 0 8 read-write Cmd Command Register 0x28 32 0x00000000 0xFFFFFFFF CMD Write this register with the following values to perform the corresponding actions: 0x0: no action 0x1: issue a data transaction (Master only) 0x2: respond with an ACK to the received byte 0x3: respond with a NACK to the received byte 0x4: clear the FIFO 0x5: reset the I2C controller (abort current transaction, set the SDA and SCL line to the open-drain mode, reset the Status Register and the Interrupt Enable Register, and empty the FIFO) When issuing a data transaction by writing 0x1 to this register, the CMD field stays at 0x1 for the duration of the entire transaction, and it is only cleared to 0x0 after when the transaction has completed or when the controller loses the arbitration. Note: No transaction will be issued by the controller when all phases (Start, Address, Data and Stop) are disabled. 0 3 read-write Setup Setup Register 0x2c 32 0x05252100 0xFFFFFFFF T_SUDAT T_SUDAT defines the data setup time before releasing the SCL. Setup time = (2 * tpclk) + (2 + T_SP + T_SUDAT) * tpclk* (TPM+1) tpclk = PCLK period TPM = The multiplier value in Timing Parameter Multiplier Register 24 5 read-write T_SP T_SP defines the pulse width of spikes that must be suppressed by the input filter. Pulse width = T_SP * tpclk* (TPM+1) 21 3 read-write T_HDDAT T_HDDAT defines the data hold time after SCL goes LOW Hold time = (2 * tpclk) + (2 + T_SP + T_HDDAT) * tpclk* (TPM+1) 16 5 read-write T_SCLRADIO The LOW period of the generated SCL clock is defined by the combination of T_SCLRatio and T_SCLHi values. When T_SCLRatio = 0, the LOW period is equal to HIGH period. When T_SCLRatio = 1, the LOW period is roughly two times of HIGH period. SCL LOW period = (2 * tpclk) + (2 + T_SP + T_SCLHi * ratio) * tpclk * (TPM+1) 1: ratio = 2 0: ratio = 1 This field is only valid when the controller is in the master mode. 13 1 read-write T_SCLHI The HIGH period of generated SCL clock is defined by T_SCLHi. SCL HIGH period = (2 * tpclk) + (2 + T_SP + T_SCLHi) * tpclk* (TPM+1) The T_SCLHi value must be greater than T_SP and T_HDDAT values. This field is only valid when the controller is in the master mode. 4 9 read-write DMAEN Enable the direct memory access mode data transfer. 1: Enable 0: Disable 3 1 read-write MASTER Configure this device as a master or a slave. 1: Master mode 0: Slave mode 2 1 read-write ADDRESSING I2C addressing mode: 1: 10-bit addressing mode 0: 7-bit addressing mode 1 1 read-write IICEN Enable the I2C controller. 1: Enable 0: Disable 0 1 read-write TPM I2C Timing Paramater Multiplier 0x30 32 0x00000000 0xFFFFFFFF TPM A multiplication value for I2C timing parameters. All the timing parameters in the Setup Register are multiplied by (TPM+1). 0 5 read-write I2C1 I2C1 I2C 0xf0064000 I2C2 I2C2 I2C 0xf0068000 I2C3 I2C3 I2C 0xf006c000 SPI0 SPI0 SPI 0xf0070000 0x4 0x7c registers wr_trans_cnt Transfer count for write data 0x4 32 0x00000000 0xFFFFFFFF WRTRANCNT Transfer count for write data WrTranCnt indicates the number of units of data to be transmitted to the SPI bus from the Data Register. The actual transfer count is (WrTranCnt+1). WrTranCnt only takes effect when TransMode is 0, 1, 3, 4, 5, 6 or 8. The size (bit-width) of a data unit is defined by the DataLen field of the Transfer Format Register. For TransMode 0, WrTranCnt must be equal to RdTranCnt. 0 32 read-write rd_trans_cnt Transfer count for read data 0x8 32 0x00000000 0xFFFFFFFF RDTRANCNT Transfer count for read data RdTranCnt indicates the number of units of data to be received from SPI bus and stored to the Data Register. The actual received count is (RdTranCnt+1). RdTransCnt only takes effect when TransMode is 0, 2, 3, 4, 5, 6 or 9. The size (bit-width) of a data unit is defined by the DataLen field of the Transfer Format Register. For TransMode 0, WrTranCnt must equal RdTranCnt. 0 32 read-write TransFmt Transfer Format Register 0x10 32 0x00020780 0xFFFF1F9F ADDRLEN Address length in bytes 0x0: 1 byte 0x1: 2 bytes 0x2: 3 bytes 0x3: 4 bytes 16 2 read-write DATALEN The length of each data unit in bits The actual bit number of a data unit is (DataLen + 1) 8 5 read-write DATAMERGE Enable Data Merge mode, which does automatic data split on write and data coalescing on read. This bit only takes effect when DataLen = 0x7. Under Data Merge mode, each write to the Data Register will transmit all fourbytes of the write data; each read from the Data Register will retrieve four bytes of received data as a single word data. When Data Merge mode is disabled, only the least (DataLen+1) significient bits of the Data Register are valid for read/write operations; no automatic data split/coalescing will be performed. 7 1 read-write MOSIBIDIR Bi-directional MOSI in regular (single) mode 0x0: MOSI is uni-directional signal in regular mode. 0x1: MOSI is bi-directional signal in regular mode. This bi-directional signal replaces the two 4 1 read-write LSB Transfer data with the least significant bit first 0x0: Most significant bit first 0x1: Least significant bit first 3 1 read-write SLVMODE SPI Master/Slave mode selection 0x0: Master mode 0x1: Slave mode 2 1 read-write CPOL SPI Clock Polarity 0x0: SCLK is LOW in the idle states 0x1: SCLK is HIGH in the idle states 1 1 read-write CPHA SPI Clock Phase 0x0: Sampling data at odd SCLK edges 0x1: Sampling data at even SCLK edges 0 1 read-write DirectIO Direct IO Control Register 0x14 32 0x00003100 0x013F3F3F DIRECTIOEN Enable Direct IO 0x0: Disable 0x1: Enable 24 1 read-write HOLD_OE Output enable for the SPI Flash hold signal 21 1 read-write WP_OE Output enable for the SPI Flash write protect signal 20 1 read-write MISO_OE Output enable fo the SPI MISO signal 19 1 read-write MOSI_OE Output enable for the SPI MOSI signal 18 1 read-write SCLK_OE Output enable for the SPI SCLK signal 17 1 read-write CS_OE Output enable for SPI CS (chip select) signal 16 1 read-write HOLD_O Output value for the SPI Flash hold signal 13 1 read-write WP_O Output value for the SPI Flash write protect signal 12 1 read-write MISO_O Output value for the SPI MISO signal 11 1 read-write MOSI_O Output value for the SPI MOSI signal 10 1 read-write SCLK_O Output value for the SPI SCLK signal 9 1 read-write CS_O Output value for the SPI CS (chip select) signal 8 1 read-write HOLD_I Status of the SPI Flash hold signal 5 1 read-only WP_I Status of the SPI Flash write protect signal 4 1 read-only MISO_I Status of the SPI MISO signal 3 1 read-only MOSI_I Status of the SPI MOSI signal 2 1 read-only SCLK_I Status of the SPI SCLK signal 1 1 read-only CS_I Status of the SPI CS (chip select) signal 0 1 read-only TransCtrl Transfer Control Register 0x20 32 0x00000000 0xFFFFFFFF SLVDATAONLY Data-only mode (slave mode only) 0x0: Disable the data-only mode 0x1: Enable the data-only mode Note: This mode only works in the uni-directional regular (single) mode so MOSIBiDir, DualQuad and TransMode should be set to 0. 31 1 read-write CMDEN SPI command phase enable (Master mode only) 0x0: Disable the command phase 0x1: Enable the command phase 30 1 read-write ADDREN SPI address phase enable (Master mode only) 0x0: Disable the address phase 0x1: Enable the address phase 29 1 read-write ADDRFMT SPI address phase format (Master mode only) 0x0: Address phase is the regular (single) mode 0x1: The format of the address phase is the same as the data phase (DualQuad). 28 1 read-write TRANSMODE Transfer mode The transfer sequence could be 0x0: Write and read at the same time 0x1: Write only 0x2: Read only 0x3: Write, Read 0x4: Read, Write 0x5: Write, Dummy, Read 0x6: Read, Dummy, Write 0x7: None Data (must enable CmdEn or AddrEn in master mode) 0x8: Dummy, Write 0x9: Dummy, Read 0xa~0xf: Reserved 24 4 read-write DUALQUAD SPI data phase format 0x0: Regular (Single) mode 0x1: Dual I/O mode 0x2: Quad I/O mode 0x3: Reserved 22 2 read-write TOKENEN Token transfer enable (Master mode only) Append an one-byte special token following the address phase for SPI read transfers. The value of the special token should be selected in TokenValue. 0x0: Disable the one-byte special token 0x1: Enable the one-byte special token 21 1 read-write WRTRANCNT Transfer count for write data WrTranCnt indicates the number of units of data to be transmitted to the SPI bus from the Data Register. The actual transfer count is (WrTranCnt+1). WrTranCnt only takes effect when TransMode is 0, 1, 3, 4, 5, 6 or 8. The size (bit-width) of a data unit is defined by the DataLen field of the Transfer Format Register. For TransMode 0, WrTranCnt must be equal to RdTranCnt. 12 9 read-write TOKENVALUE Token value (Master mode only) The value of the one-byte special token following the address phase for SPI read transfers. 0x0: token value = 0x00 0x1: token value = 0x69 11 1 read-write DUMMYCNT Dummy data count. The actual dummy count is (DummyCnt +1). The number of dummy cycles on the SPI interface will be (DummyCnt+1)* ((DataLen+1)/SPI IO width) The Data pins are put into the high impedance during the dummy data phase. DummyCnt is only used for TransMode 5, 6, 8 and 9, which has dummy data phases. 9 2 read-write RDTRANCNT Transfer count for read data RdTranCnt indicates the number of units of data to be received from SPI bus and stored to the Data Register. The actual received count is (RdTranCnt+1). RdTransCnt only takes effect when TransMode is 0, 2, 3, 4, 5, 6 or 9. The size (bit-width) of a data unit is defined by the DataLen field of the Transfer Format Register. For TransMode 0, WrTranCnt must equal RdTranCnt. 0 9 read-write Cmd Command Register 0x24 32 0x00000000 0x000000FF CMD SPI Command 0 8 read-write Addr Address Register 0x28 32 0x00000000 0xFFFFFFFF ADDR SPI Address (Master mode only) 0 32 read-write Data Data Register 0x2c 32 0x00000000 0xFFFFFFFF DATA Data to transmit or the received data For writes, data is enqueued to the TX FIFO. The least significant byte is always transmitted first. If the TX FIFO is full and the SPIActive bit of the status register is 1, the ready signal hready/pready will be deasserted to insert wait states to the transfer. For reads, data is read and dequeued from the RX FIFO. The least significant byte is the first received byte. If the RX FIFO is empty and the SPIActive bit of the status register is 1, the ready signal hready/pready will be deasserted to insert wait states to the transfer. The FIFOs decouple the speed of the SPI transfers and the software鈥檚 generation/consumption of data. When the TX FIFO is empty, SPI transfers will hold until more data is written to the TX FIFO; when the RX FIFO is full, SPI transfers will hold until there is more room in the RX FIFO. If more data is written to the TX FIFO than the write transfer count (WrTranCnt), the remaining data will stay in the TX FIFO for the next transfer or until the TX FIFO is reset. 0 32 read-write Ctrl Control Register 0x30 32 0x00000000 0x0FFFFF1F CS_EN No description avaiable 24 4 read-write TXTHRES Transmit (TX) FIFO Threshold The TXFIFOInt interrupt or DMA request would be issued to replenish the TX FIFO when the TX data count is less than or equal to the TX FIFO threshold. 16 8 read-write RXTHRES Receive (RX) FIFO Threshold The RXFIFOInt interrupt or DMA request would be issued for consuming the RX FIFO when the RX data count is more than or equal to the RX FIFO threshold. 8 8 read-write TXDMAEN TX DMA enable 4 1 read-write RXDMAEN RX DMA enable 3 1 read-write TXFIFORST Transmit FIFO reset Write 1 to reset. It is automatically cleared to 0 after the reset operation completes. 2 1 read-write RXFIFORST Receive FIFO reset Write 1 to reset. It is automatically cleared to 0 after the reset operation completes. 1 1 read-write SPIRST SPI reset Write 1 to reset. It is automatically cleared to 0 after the reset operation completes. 0 1 read-write Status Status Register 0x34 32 0x00000000 0x33FFFF01 TXNUM_7_6 Number of valid entries in the Transmit FIFO 28 2 read-only RXNUM_7_6 Number of valid entries in the Receive FIFO 24 2 read-only TXFULL Transmit FIFO Full flag 23 1 read-only TXEMPTY Transmit FIFO Empty flag 22 1 read-only TXNUM_5_0 Number of valid entries in the Transmit FIFO 16 6 read-only RXFULL Receive FIFO Full flag 15 1 read-only RXEMPTY Receive FIFO Empty flag 14 1 read-only RXNUM_5_0 Number of valid entries in the Receive FIFO 8 6 read-only SPIACTIVE SPI register programming is in progress. In master mode, SPIActive becomes 1 after the SPI command register is written and becomes 0 after the transfer is finished. In slave mode, SPIActive becomes 1 after the SPI CS signal is asserted and becomes 0 after the SPI CS signal is deasserted. Note that due to clock synchronization, it may take at most two spi_clock cycles for SPIActive to change when the corresponding condition happens. Note this bit stays 0 when Direct IO Control or the memory-mapped interface is used. 0 1 read-only IntrEn Interrupt Enable Register 0x38 32 0x00000000 0x0000003F SLVCMDEN Enable the Slave Command Interrupt. Control whether interrupts are triggered whenever slave commands are received. (Slave mode only) 5 1 read-write ENDINTEN Enable the End of SPI Transfer interrupt. Control whether interrupts are triggered when SPI transfers end. (In slave mode, end of read status transaction doesn鈥檛 trigger this interrupt.) 4 1 read-write TXFIFOINTEN Enable the SPI Transmit FIFO Threshold interrupt. Control whether interrupts are triggered when the valid entries are less than or equal to the TX FIFO threshold. 3 1 read-write RXFIFOINTEN Enable the SPI Receive FIFO Threshold interrupt. Control whether interrupts are triggered when the valid entries are greater than or equal to the RX FIFO threshold. 2 1 read-write TXFIFOURINTEN Enable the SPI Transmit FIFO Underrun interrupt. Control whether interrupts are triggered when the Transmit FIFO run out of data. (Slave mode only) 1 1 read-write RXFIFOORINTEN Enable the SPI Receive FIFO Overrun interrupt. Control whether interrupts are triggered when the Receive FIFO overflows. (Slave mode only) 0 1 read-write IntrSt Interrupt Status Register 0x3c 32 0x00000000 0x0000003F SLVCMDINT Slave Command Interrupt. This bit is set when Slave Command interrupts occur. (Slave mode only) 5 1 write-only ENDINT End of SPI Transfer interrupt. This bit is set when End of SPI Transfer interrupts occur. 4 1 write-only TXFIFOINT TX FIFO Threshold interrupt. This bit is set when TX FIFO Threshold interrupts occur. 3 1 write-only RXFIFOINT RX FIFO Threshold interrupt. This bit is set when RX FIFO Threshold interrupts occur. 2 1 write-only TXFIFOURINT TX FIFO Underrun interrupt. This bit is set when TX FIFO Underrun interrupts occur. (Slave mode only) 1 1 write-only RXFIFOORINT RX FIFO Overrun interrupt. This bit is set when RX FIFO Overrun interrupts occur. (Slave mode only) 0 1 write-only Timing Interface Timing Register 0x40 32 0x00000000 0x00003FFF CS2SCLK The minimum time between the edges of SPI CS and the edges of SCLK. SCLK_period * (CS2SCLK + 1) / 2 12 2 read-write CSHT The minimum time that SPI CS should stay HIGH. SCLK_period * (CSHT + 1) / 2 8 4 read-write SCLK_DIV The clock frequency ratio between the clock source and SPI interface SCLK. SCLK_period = ((SCLK_DIV + 1) * 2) * (Period of the SPI clock source) The SCLK_DIV value 0xff is a special value which indicates that the SCLK frequency should be the same as the spi_clock frequency. 0 8 read-write SlvSt Slave Status Register 0x60 32 0x00000000 0x0007FFFF UNDERRUN Data underrun occurs in the last transaction 18 1 write-only OVERRUN Data overrun occurs in the last transaction 17 1 read-write READY Set this bit to indicate that the ATCSPI200 is ready for data transaction. When an SPI transaction other than slave status-reading command ends, this bit will be cleared to 0. 16 1 read-write USR_STATUS User defined status flags 0 16 read-write SlvDataCnt Slave Data Count Register 0x64 32 0x00000000 0x03FF03FF WCNT Slave transmitted data count 16 10 read-only RCNT Slave received data count 0 10 read-only SlvDataWCnt WCnt 0x68 32 0x00000000 0xFFFFFFFF VAL No description avaiable 0 32 read-only SlvDataRCnt RCnt 0x6c 32 0x00000000 0xFFFFFFFF VAL No description avaiable 0 32 read-only Config Configuration Register 0x7c 32 0x00004311 0x000043FF SLAVE Support for SPI Slave mode 14 1 read-only QUADSPI Support for Quad I/O SPI 9 1 read-only DUALSPI Support for Dual I/O SPI 8 1 read-only TXFIFOSIZE Depth of TX FIFO 0x0: 2 words 0x1: 4 words 0x2: 8 words 0x3: 16 words 0x4: 32 words 0x5: 64 words 0x6: 128 words 4 4 read-only RXFIFOSIZE Depth of RX FIFO 0x0: 2 words 0x1: 4 words 0x2: 8 words 0x3: 16 words 0x4: 32 words 0x5: 64 words 0x6: 128 words 0 4 read-only SPI1 SPI1 SPI 0xf0074000 SPI2 SPI2 SPI 0xf0078000 SPI3 SPI3 SPI 0xf007c000 CRC CRC CRC 0xf0080000 0x0 0x200 registers 8 0x40 0,1,2,3,4,5,6,7 CHN[%s] no description available 0x0 pre_set &index0 pre set for crc setting 0x0 32 0x00000000 0x000000FF PRE_SET 0: no pre set 1: CRC32 2: CRC32-AUTOSAR 3: CRC16-CCITT 4: CRC16-XMODEM 5: CRC16-MODBUS 1: CRC32 2: CRC32-autosar 3: CRC16-ccitt 4: CRC16-xmodem 5: CRC16-modbus 6: crc16_dnp 7: crc16_x25 8: crc16_usb 9: crc16_maxim 10: crc16_ibm 11: crc8_maxim 12: crc8_rohc 13: crc8_itu 14: crc8 15: crc5_usb 0 8 read-write clr chn&index0 clear crc result and setting 0x4 32 0x00000000 0x00000001 CLR write 1 to clr crc setting and result for its channel. always read 0. 0 1 read-write poly chn&index0 poly 0x8 32 0x00000000 0xFFFFFFFF POLY poly setting 0 32 read-write init_data chn&index0 init_data 0xc 32 0x00000000 0xFFFFFFFF INIT_DATA initial data of CRC 0 32 read-write xorout chn&index0 xorout 0x10 32 0x00000000 0xFFFFFFFF XOROUT XOR for CRC result 0 32 read-write misc_setting chn&index0 misc_setting 0x14 32 0x00000000 0x0101013F BYTE_REV 0: no wrap input byte order 1: wrap input byte order 24 1 read-write REV_OUT 0: no wrap output bit order 1: wrap output bit order 16 1 read-write REV_IN 0: no wrap input bit order 1: wrap input bit order 8 1 read-write POLY_WIDTH crc data length 0 6 read-write data chn&index0 data 0x18 32 0x00000000 0xFFFFFFFF DATA data for crc 0 32 read-write result chn&index0 result 0x1c 32 0x00000000 0xFFFFFFFF RESULT crc result 0 32 read-write TSNS TSNS TSNS 0xf0090000 0x0 0x3c registers T Temperature 0x0 32 0x00000000 0xFFFFFFFF T Signed number of temperature in 256 x celsius degree 0 32 read-only TMAX Maximum Temperature 0x4 32 0xFF800000 0xFFFFFFFF T maximum temperature ever found 0 32 read-only TMIN Minimum Temperature 0x8 32 0x007FFFFF 0xFFFFFFFF T minimum temperature ever found 0 32 read-only AGE Sample age 0xc 32 0x00000000 0xFFFFFFFF AGE age of T register in 24MHz clock cycles 0 32 read-only STATUS Status 0x10 32 0x00000000 0x80000001 VALID indicate value in T is valid or not 0: not valid 1:valid 31 1 read-only TRIGGER Software trigger for sensing in trigger mode, trigger will be ignored if in sensing or other mode 0 1 write-only CONFIG Configuration 0x14 32 0x00600300 0xC3FF0713 IRQ_EN Enable interrupt 31 1 read-write RST_EN Enable reset 30 1 read-write COMPARE_MIN_EN Enable compare for minimum temperature 25 1 read-write COMPARE_MAX_EN Enable compare for maximum temperature 24 1 read-write SPEED cycles of a progressive step in 24M clock, valide from 24-255, default 96 24: 24 cycle for a step 25: 25 cycle for a step 26: 26 cycle for a step ... 255: 255 cycle for a step 16 8 read-write AVERAGE Average time, default in 3 0: measure and return 1: twice and average 2: 4 times and average . . . 7: 128 times and average 8 3 read-write CONTINUOUS continuous mode that keep sampling temperature peridically 0: trigger mode 1: continuous mode 4 1 read-write ASYNC Acynchronous mode, this mode can work without clock, only available function ios compare to certain ADC value 0: active mode 1: Async mode 1 1 read-write ENABLE Enable temperature 0: disable, temperature sensor is shut down 1: enable. Temperature sensor enabled 0 1 read-write VALIDITY Sample validity 0x18 32 0x016E3600 0xFFFFFFFF VALIDITY time for temperature values to expire in 24M clock cycles 0 32 read-write FLAG Temperature flag 0x1c 32 0x00000000 0x00330001 RECORD_MIN_CLR Clear minimum recorder of temerature, write 1 to clear 21 1 read-write RECORD_MAX_CLR Clear maximum recorder of temerature, write 1 to clear 20 1 read-write UNDER_TEMP Clear under temperature status, write 1 to clear 17 1 read-write OVER_TEMP Clear over temperature status, write 1 to clear 16 1 read-write IRQ IRQ flag, write 1 to clear 0 1 read-write UPPER_LIM_IRQ Maximum temperature to interrupt 0x20 32 0x00000000 0xFFFFFFFF T Maximum temperature for compare 0 32 read-write LOWER_LIM_IRQ Minimum temperature to interrupt 0x24 32 0x00000000 0xFFFFFFFF T Minimum temperature for compare 0 32 read-write UPPER_LIM_RST Maximum temperature to reset 0x28 32 0x00000000 0xFFFFFFFF T Maximum temperature for compare 0 32 read-write LOWER_LIM_RST Minimum temperature to reset 0x2c 32 0x00000000 0xFFFFFFFF T Minimum temperature for compare 0 32 read-write ASYNC Configuration in asynchronous mode 0x30 32 0x00000000 0x010107FF ASYNC_TYPE Compare hotter than or colder than in asynchoronous mode 0: hotter than 1: colder than 24 1 read-write POLARITY Polarity of internal comparator 16 1 read-write VALUE Value of async mode to compare 0 11 read-write ADVAN Advance configuration 0x38 32 0x00000000 0x03010003 ASYNC_IRQ interrupt status of asynchronous mode 25 1 read-only ACTIVE_IRQ interrupt status of active mode 24 1 read-only SAMPLING temperature sampling is working 16 1 read-only NEG_ONLY use negative compare polarity only 1 1 read-write POS_ONLY use positive compare polarity only 0 1 read-write MBX0A MBX0A MBX 0xf00a0000 0x0 0x24 registers CR Command Registers 0x0 32 0x00000000 0xFFFFFFFF TXRESET Reset TX Fifo and word. 31 1 read-write BARCTL Bus Acccess Response Control, when bit 15:14= 00: no bus error will be generated, no wait for fifo write when fifo full and no wait for word/fifo read when word message invalid or fifo empty; or when write to word/fifo message will be ignored. 01: bus error will be generated when: 1, access invalid address; 2, write to ready only addr; 3, write to fulled fifo or valid message; 4, read from a emptied fifo/word message. 10: no error will be generated, but bus will wait when 1, write to fulled fifo/reg message; 2, read from a emptied fifo/reg message; write to word message will overwrite the existing reg value enven word message are still valid; read from invalid word message will read out last read out message data.happen. 11: reserved. 14 2 read-write BEIE Bus Error Interrupt Enable, will enable the interrupt for any bus error as described in the SR bit 13 to bit 8. 1, enable the bus access error interrupt. 0, disable the bus access error interrupt. 8 1 read-write TFMAIE TX FIFO message available interrupt enable. 1, enable the TX FIFO massage available interrupt. 0, disable the TX FIFO message available interrupt. 7 1 read-write TFMEIE TX FIFO message empty interrupt enable. 1, enable the TX FIFO massage empty interrupt. 0, disable the TX FIFO message empty interrupt. 6 1 read-write RFMAIE RX FIFO message available interrupt enable. 1, enable the RX FIFO massage available interrupt. 0, disable the RX FIFO message available interrupt. 5 1 read-write RFMFIE RX fifo message full interrupt enable. 1, enable the RX fifo message full interrupt. 0, disable the RX fifo message full interrupt. 4 1 read-write TWMEIE TX word message empty interrupt enable. 1, enable the TX word massage empty interrupt. 0, disable the TX word message empty interrupt. 1 1 read-write RWMVIE RX word message valid interrupt enable. 1, enable the RX word massage valid interrupt. 0, disable the RX word message valid interrupt. 0 1 read-write SR Status Registers 0x4 32 0x000000E2 0xFFFF3FFF RFVC RX FIFO valid message count 20 4 read-only TFEC TX FIFO empty message word count 16 4 read-only ERRRE bus Error for read when rx word message are still invalid, this bit is W1C bit. 1, read from word message when the word message are still invalid will cause this error bit set. 0, nothis kind of bus error; write this bit to 1 will clear this bit when this kind of error happen. 13 1 write-only EWTRF bus Error for write when tx word message are still valid, this bit is W1C bit. 1, write to word message when the word message are still valid will cause this error bit set. 0, nothis kind of bus error; write this bit to 1 will clear this bit when this kind of error happen. 12 1 write-only ERRFE bus Error for read when rx fifo empty, this bit is W1C bit. 1, read from a empty rx fifo will cause this error bit set. 0, nothis kind of bus error; write this bit to 1 will clear this bit when this kind of error happen. 11 1 write-only EWTFF bus Error for write when tx fifo full, this bit is W1C bit. 1, write to a fulled tx fifo will cause this error bit set. 0, nothis kind of bus error; write this bit to 1 will clear this bit when this kind of error happen. 10 1 write-only EAIVA bus Error for Accessing Invalid Address; this bit is W1C bit. 1, read and write to invalid address in the bus of this block, will set this bit. 0, nothis kind of bus error; write this bit to 1 will clear this bit when this kind of error happen. 9 1 write-only EW2RO bus Error for Write to Read Only address; this bit is W1C bit. 1, write to read only address happened in the bus of this block. 0, nothis kind of bus error; write this bit to 1 will clear this bit when this kind of error happen. 8 1 write-only TFMA TX FIFO Message slot available, the 4x32 TX FIFO message buffer to the other core full, will not trigger any interrupt. 1, TXFIFO message buffer has slot available 0, no slot available (fifo full) 7 1 read-write TFME TX FIFO Message Empty, no any data in the message FIFO buffer from other core, will not trigger any interrupt.message from other core. 1, no any message data in TXFIFO from other core. 0, there are some data in the 4x32 TX FIFO from other core yet. 6 1 read-write RFMA RX FIFO Message Available, available data in the 4x32 TX FIFO message buffer to the other core, will trigger interrupt if the related interrupt enable bit set in the control (CR) registrer. 1, no any data in the 4x32 TXFIFO message buffer. 0, there are some data in the the 4x32 TXFIFO message buffer already. 5 1 read-only RFMF RX FIFO Message Full, message from other core; will trigger interrupt if the related interrupt enable bit set in the control (CR) registrer. 1, the other core had written 4x32 message in the RXFIFO. 0, no 4x32 RX FIFO message from other core yet. 4 1 read-only TWME TX word message empty, will trigger interrupt if the related interrupt enable bit set in the control (CR) registrer. 1, means this core had write word message to TXREG. 0, means no valid word message in the TXREG yet. 1 1 read-only RWMV RX word message valid, will trigger interrupt if the related interrupt enable bit set in the control (CR) registrer. 1, the other core had written word message in the RXREG. 0, no valid word message yet in the RXREG. 0 1 read-only TXREG Transmit word message to other core. 0x8 32 0x00000000 0xFFFFFFFF TXREG Transmit word message to other core. 0 32 write-only RXREG Receive word message from other core. 0xc 32 0x00000000 0xFFFFFFFF RXREG Receive word message from other core. 0 32 read-only 1 0x4 TXFIFO0 TXWRD[%s] no description available 0x10 32 0x00000000 0xFFFFFFFF TXFIFO TXFIFO for sending message to other core, FIFO size, 4x32 can write one of the word address to push data to the FIFO; can also use 4x32 burst write from 0x010 to push 4 words to the FIFO. 0 32 write-only 1 0x4 RXFIFO0 RXWRD[%s] no description available 0x20 32 0x00000000 0xFFFFFFFF RXFIFO RXFIFO for receiving message from other core, FIFO size, 4x32 can read one of the word address to pop data to the FIFO; can also use 4x32 burst read from 0x020 to read 4 words from the FIFO. 0 32 read-only MBX0B MBX0B MBX 0xf00a4000 WDG0 WDG0 EWDG 0xf00b0000 0x0 0x28 registers CTRL0 wdog ctrl register 0 Note: Parity check is required once writing to this register. The result should be zero by modular two addition of all bits 0x0 32 0x00000000 0x2FE2F03F CLK_SEL clock select 0:bus clock 1:ext clock 29 1 read-write DIV_VALUE clock divider, the clock divider works as 2 ^ div_value for wdt counter 25 3 read-write WIN_EN window mode enable 24 1 read-write WIN_LOWER Once window mode is opened, the lower counter value to refresh wdt 00: 4/8 overtime value 01: 5/8 of overtime value 10: 6/8 of overtime value 11: 7/8 of overtime value 22 2 read-write CFG_LOCK The register is locked and unlock is needed before re-config registers Once the lock mechanism takes effect, the CTRL0, CTRL1, timeout int register, timeout rst register, needs unlock before re-config them. The register update needs to be finished in the required period defined by UPD_OT_TIME register 21 1 read-write OT_SELF_CLEAR overtime reset can be self released after 32 function cycles 17 1 read-write REF_OT_REQ If refresh event has to be limited into a period after refresh unlocked. Note: the refresh overtime counter works in bus clock domain, not in wdt function clock domain. The wdt divider doesn't take effect for refresh counter 15 1 read-write WIN_UPPER The upper threshold of window value The window period upper limit is: lower_limit + (overtime_rst_value / 16) * upper_reg_value If this register value is zero, then no upper level limitation 12 3 read-write REF_LOCK WDT refresh has to be unlocked firstly once refresh lock is enable. 5 1 read-write REF_UNLOCK_MEC Unlock refresh mechanism 00: the required unlock password is the same with refresh_psd_register 01: the required unlock password is a ring shift left value of refresh_psd_register 10: the required unlock password is always 16'h55AA, no matter what refresh_psd_register is 11: the required unlock password is a LSFR result of refresh_psd_register, the characteristic polynomial is X^15 + 1 3 2 read-write EN_DBG WTD enable or not in debug mode 2 1 read-write EN_LP WDT enable or not in low power mode 2'b00: wdt is halted once in low power mode 2'b01: wdt will work with 1/4 normal clock freq in low power mode 2'b10: wdt will work with 1/2 normal clock freq in low power mode 2'b11: wdt will work with normal clock freq in low power mode 0 2 read-write CTRL1 wdog ctrl register 1 Note: Parity check is required once writing to this register. The result should be zero by modular two addition of all bits 0x4 32 0x00000000 0x00F300FC REF_FAIL_RST_EN Refresh violation will trigger an reset. These event will be taken as a refresh violation: 1) Not refresh in the window once window mode is enabled 2) Not unlock refresh firstly if unlock is required 3) Not refresh in the required time after unlock, once refresh unlock overtime is enabled. 4) Not write the required word to refresh wdt. 23 1 read-write REF_FAIL_INT_EN Refresh violation will trigger an interrupt 22 1 read-write UNL_REF_FAIL_RST_EN Refresh unlock fail will trigger a reset 21 1 read-write UNL_REF_FAIL_INT_EN Refresh unlock fail will trigger a interrupt 20 1 read-write OT_RST_EN WDT overtime will generate a reset 17 1 read-write OT_INT_EN WDT can generate an interrupt warning before timeout 16 1 read-write CTL_VIO_RST_EN Ctrl update violation will trigger a reset The violation event is to try updating the locked register before unlock them 7 1 read-write CTL_VIO_INT_EN Ctrl update violation will trigger a interrupt 6 1 read-write UNL_CTL_FAIL_RST_EN Unlock register update failure will trigger a reset 5 1 read-write UNL_CTL_FAIL_INT_EN Unlock register update failure will trigger a interrupt 4 1 read-write PARITY_FAIL_RST_EN Parity error will trigger a reset A parity check is required once writing to ctrl0 and ctrl1 register. The result should be zero by modular two addition of all bits 3 1 read-write PARITY_FAIL_INT_EN Parity error will trigger a interrupt 2 1 read-write OT_INT_VAL wdog timeout interrupt counter value 0x8 32 0x00000000 0x0000FFFF OT_INT_VAL WDT timeout interrupt value 0 16 read-write OT_RST_VAL wdog timeout reset counter value 0xc 32 0x00000000 0x0000FFFF OT_RST_VAL WDT timeout reset value 0 16 read-write WDT_REFRESH_REG wdog refresh register 0x10 32 0x00000000 0xFFFFFFFF WDT_REFRESH_REG Write this register by 32'h5A45_524F to refresh wdog Note: Reading this register can read back wdt real time counter value, while it is only used by debug purpose 0 32 write-only WDT_STATUS wdog status register 0x14 32 0x00000000 0x0000007F PARITY_ERROR parity error Write one to clear the bit 6 1 read-write OT_RST Timeout happens, a reset will happen once enable bit set This bit can be cleared only by refreshing wdt or reset 5 1 read-only OT_INT Timeout happens, a interrupt will happen once enable bit set This bit can be cleared only by refreshing wdt or reset 4 1 read-only CTL_UNL_FAIL Unlock ctrl reg update protection fail Write one to clear the bit 3 1 read-write CTL_VIO Violate register update protection mechanism Write one to clear the bit 2 1 read-write REF_UNL_FAIL Refresh unlock fail Write one to clear the bit 1 1 read-write REF_VIO Refresh fail Write one to clear the bit 0 1 read-write CFG_PROT ctrl register protection register 0x18 32 0x00000000 0x000FFFFF UPD_OT_TIME The period in which register update has to be in after unlock The required period is less than: 128 * 2 ^ UPD_OT_TIME * bus_clock_cycle 16 4 read-write UPD_PSD The password of unlocking register update 0 16 read-write REF_PROT refresh protection register 0x1c 32 0x00000000 0x0000FFFF REF_UNL_PSD The password to unlock refreshing 0 16 read-write WDT_EN Wdog enable 0x20 32 0x00000000 0x00000001 WDOG_EN Wdog is enabled, the re-written of this register is impacted by enable lock function 0 1 read-write REF_TIME Refresh period value 0x24 32 0x00000000 0x0000FFFF REFRESH_PERIOD The refresh period after refresh unlocked Note: the refresh overtime counter works in bus clock domain, not in wdt function clock domain. The wdt divider doesn't take effect for refresh counter 0 16 read-write WDG1 WDG1 EWDG 0xf00b4000 PWDG PWDG EWDG 0xf4128000 DMAMUX DMAMUX DMAMUX 0xf00c4000 0x0 0x80 registers 32 0x4 HDMA_MUX0,HDMA_MUX1,HDMA_MUX2,HDMA_MUX3,HDMA_MUX4,HDMA_MUX5,HDMA_MUX6,HDMA_MUX7,HDMA_MUX8,HDMA_MUX9,HDMA_MUX10,HDMA_MUX11,HDMA_MUX12,HDMA_MUX13,HDMA_MUX14,HDMA_MUX15,HDMA_MUX16,HDMA_MUX17,HDMA_MUX18,HDMA_MUX19,HDMA_MUX20,HDMA_MUX21,HDMA_MUX22,HDMA_MUX23,HDMA_MUX24,HDMA_MUX25,HDMA_MUX26,HDMA_MUX27,HDMA_MUX28,HDMA_MUX29,HDMA_MUX30,HDMA_MUX31 MUXCFG[%s] no description available 0x0 32 0x00000000 0x8000007F ENABLE DMA Mux Channel Enable Enables the channel for DMA Mux. The DMA has separate channel enables/disables, which should be used to disable or reconfigure a DMA channel. 0b - DMA Mux channel is disabled 1b - DMA Mux channel is enabled 31 1 read-write SOURCE DMA Channel Source Specifies which DMA source, if any, is routed to a particular DMA channel. See the "DMA MUX Mapping" 0 7 read-write HDMA HDMA DMAV2 0xf00c8000 0x4 0x43c registers IDMisc ID Misc 0x4 32 0x00000000 0x0000FF00 DMASTATE DMA state machine localparam ST_IDLE = 3'b000; localparam ST_READ = 3'b001; localparam ST_READ_ACK = 3'b010; localparam ST_WRITE = 3'b011; localparam ST_WRITE_ACK = 3'b100; localparam ST_LL = 3'b101; localparam ST_END = 3'b110; localparam ST_END_WAIT = 3'b111; 13 3 read-only CURCHAN current channel in used 8 5 read-only DMACfg DMAC Configuration Register 0x10 32 0x00000000 0xC3FFFFFF CHAINXFR Chain transfer 0x0: Chain transfer is not configured 0x1: Chain transfer is configured 31 1 read-only REQSYNC DMA request synchronization. The DMA request synchronization should be configured to avoid signal integrity problems when the request signal is not clocked by the system bus clock, which the DMA control logic operates in. If the request synchronization is not configured, the request signal is sampled directly without synchronization. 0x0: Request synchronization is not configured 0x1: Request synchronization is configured 30 1 read-only DATAWIDTH AXI bus data width 0x0: 32 bits 0x1: 64 bits 0x2: 128 bits 0x3: 256 bits 24 2 read-only ADDRWIDTH AXI bus address width 0x18: 24 bits 0x19: 25 bits ... 0x40: 64 bits Others: Invalid 17 7 read-only CORENUM DMA core number 0x0: 1 core 0x1: 2 cores 16 1 read-only BUSNUM AXI bus interface number 0x0: 1 AXI bus 0x1: 2 AXI busses 15 1 read-only REQNUM Request/acknowledge pair number 0x0: 0 pair 0x1: 1 pair 0x2: 2 pairs ... 0x10: 16 pairs 10 5 read-only FIFODEPTH FIFO depth 0x4: 4 entries 0x8: 8 entries 0x10: 16 entries 0x20: 32 entries Others: Invalid 4 6 read-only CHANNELNUM Channel number 0x1: 1 channel 0x2: 2 channels ... 0x8: 8 channels Others: Invalid 0 4 read-only DMACtrl DMAC Control Register 0x14 32 0x00000000 0x00000001 RESET Software reset control. Write 1 to this bit to reset the DMA core and disable all channels. Note: The software reset may cause the in-completion of AXI transaction. 0 1 write-only ChAbort Channel Abort Register 0x18 32 0x00000000 0xFFFFFFFF CHABORT Write 1 to bit n to abort channel n. The bits should only be set when the corresponding channels are enabled. Otherwise, the writes will be ignored for channels that are not enabled. (N: Number of channels) 0 32 write-only INTHALFSTS Harlf Complete Interrupt Status 0x24 32 0x00000000 0xFFFFFFFF STS half transfer done irq status 0 32 read-write INTTCSTS Trans Complete Interrupt Status Register 0x28 32 0x00000000 0xFFFFFFFF STS The terminal count status, one bit per channel. The terminal count status is set when a channel transfer finishes without the abort or error event. 0x0: Channel n has no terminal count status 0x1: Channel n has terminal count status 0 32 write-only INTABORTSTS Abort Interrupt Status Register 0x2c 32 0x00000000 0xFFFFFFFF STS The abort status of channel, one bit per channel. The abort status is set when a channel transfer is aborted. 0x0: Channel n has no abort status 0x1: Channel n has abort status 0 32 write-only INTERRSTS Error Interrupt Status Register 0x30 32 0x00000000 0xFFFFFFFF STS The error status, one bit per channel. The error status is set when a channel transfer encounters the following error events: - Bus error - Unaligned address - Unaligned transfer width - Reserved configuration 0x0: Channel n has no error status 0x1: Channel n has error status 0 32 write-only ChEN Channel Enable Register 0x34 32 0x00000000 0xFFFFFFFF CHEN Alias of the Enable field of all ChnCtrl registers 0 32 read-only 32 0x20 ch0,ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8,ch9,ch10,ch11,ch12,ch13,ch14,ch15,ch16,ch17,ch18,ch19,ch20,ch21,ch22,ch23,ch24,ch25,ch26,ch27,ch28,ch29,ch30,ch31 CHCTRL[%s] no description available 0x40 Ctrl Channel &index0 Control Register 0x0 32 0x00000000 0xFFFFF01F INFINITELOOP set to loop current config infinitely 31 1 read-write HANDSHAKEOPT 0: one request to transfer one burst 1: one request to transfer all the data defined in ch_tts 30 1 read-write PRIORITY Channel priority level 0x0: Lower priority 0x1: Higher priority 29 1 read-write BURSTOPT set to change burst_size definition 28 1 read-write SRCBURSTSIZE Source burst size. This field indicates the number of transfers before DMA channel re-arbitration. The burst transfer byte number is (SrcBurstSize * SrcWidth). 0x0: 1 transfer 0x1: 2 transfers 0x2: 4 transfers 0x3: 8 transfers 0x4: 16 transfers 0x5: 32 transfers 0x6: 64 transfers 0x7: 128 transfers 0x8: 256 transfers 0x9:512 transfers 0xa: 1024 transfers 0xb - 0xf: Reserved, setting this field with a reserved value triggers the error exception 24 4 read-write SRCWIDTH Source transfer width 0x0: Byte transfer 0x1: Half-word transfer 0x2: Word transfer 0x3: Double word transfer 0x4: Quad word transfer 0x5: Eight word transfer 0x6 - 0x7: Reserved, setting this field with a reserved value triggers the error exception 21 3 read-write DSTWIDTH Destination transfer width. Both the total transfer byte number and the burst transfer byte number should be aligned to the destination transfer width; otherwise the error event will be triggered. For example, destination transfer width should be set as byte transfer if total transfer byte is not aligned to half-word. See field SrcBurstSize above for the definition of burst transfer byte number and section 3.2.8 for the definition of the total transfer byte number. 0x0: Byte transfer 0x1: Half-word transfer 0x2: Word transfer 0x3: Double word transfer 0x4: Quad word transfer 0x5: Eight word transfer 0x6 - 0x7: Reserved, setting this field with a reserved value triggers the error exception 18 3 read-write SRCMODE Source DMA handshake mode 0x0: Normal mode 0x1: Handshake mode Normal mode is enabled and started by software set Enable bit; Handshake mode is enabled by software set Enable bit, started by hardware dma request from DMAMUX block 17 1 read-write DSTMODE Destination DMA handshake mode 0x0: Normal mode 0x1: Handshake mode the difference bewteen Source/Destination handshake mode is: the dma block will response hardware request after read in Source handshake mode; the dma block will response hardware request after write in Destination handshake mode; NOTE: can't set SrcMode and DstMode at same time, otherwise result unknown. 16 1 read-write SRCADDRCTRL Source address control 0x0: Increment address 0x1: Decrement address 0x2: Fixed address 0x3: Reserved, setting the field with this value triggers the error exception 14 2 read-write DSTADDRCTRL Destination address control 0x0: Increment address 0x1: Decrement address 0x2: Fixed address 0x3: Reserved, setting the field with this value triggers the error exception 12 2 read-write INTHALFCNTMASK Channel half interrupt mask 0x0: Allow the half interrupt to be triggered 0x1: Disable the half interrupt 4 1 read-write INTABTMASK Channel abort interrupt mask 0x0: Allow the abort interrupt to be triggered 0x1: Disable the abort interrupt 3 1 read-write INTERRMASK Channel error interrupt mask 0x0: Allow the error interrupt to be triggered 0x1: Disable the error interrupt 2 1 read-write INTTCMASK Channel terminal count interrupt mask 0x0: Allow the terminal count interrupt to be triggered 0x1: Disable the terminal count interrupt 1 1 read-write ENABLE Channel enable bit 0x0: Disable 0x1: Enable 0 1 read-write TranSize Channel &index0Transfer Size Register 0x4 32 0x00000000 0x0FFFFFFF TRANSIZE Total transfer size from source. The total number of transferred bytes is (TranSize * SrcWidth). This register is cleared when the DMA transfer is done. If a channel is enabled with zero total transfer size, the error event will be triggered and the transfer will be terminated. 0 28 read-write SrcAddr Channel &index0 Source Address Low Part Register 0x8 32 0x00000000 0xFFFFFFFF SRCADDRL Low part of the source starting address. When the transfer completes, the value of {SrcAddrH,SrcAddrL} is updated to the ending address. This address must be aligned to the source transfer size; otherwise, an error event will be triggered. 0 32 read-write ChanReqCtrl Channel &index0 DMA Request Control Register 0xc 32 0x00000000 0x1F1F0000 SRCREQSEL Source DMA request select. Select the request/ack handshake pair that the source device is connected to. 24 5 read-write DSTREQSEL Destination DMA request select. Select the request/ack handshake pair that the destination device is connected to. 16 5 read-write DstAddr Channel &index0 Destination Address Low Part Register 0x10 32 0x00000000 0xFFFFFFFF DSTADDRL Low part of the destination starting address. When the transfer completes, the value of {DstAddrH,DstAddrL} is updated to the ending address. This address must be aligned to the destination transfer size; otherwise the error event will be triggered. 0 32 read-write LLPointer Channel &index0 Linked List Pointer Low Part Register 0x18 32 0x00000000 0xFFFFFFF8 LLPOINTERL Low part of the pointer to the next descriptor. The pointer must be double word aligned. 3 29 read-write GPIOM GPIOM GPIOM 0xf00d8000 0x0 0x780 registers 15 0x80 gpioa,gpiob,rsv3,rsv4,rsv5,rsv6,rsv7,rsv8,rsv9,rsv10,rsv11,rsv12,rsv13,gpiox,gpioy ASSIGN[%s] no description available 0x0 32 0x4 PIN00,PIN01,PIN02,PIN03,PIN04,PIN05,PIN06,PIN07,PIN08,PIN09,PIN10,PIN11,PIN12,PIN13,PIN14,PIN15,PIN16,PIN17,PIN18,PIN19,PIN20,PIN21,PIN22,PIN23,PIN24,PIN25,PIN26,PIN27,PIN28,PIN29,PIN30,PIN31 PIN[%s] no description available 0x0 32 0x00000000 0x80000F03 LOCK lock fields in this register, lock can only be cleared by soc reset 0: fields can be changed 1: fields locked to current value, not changeable 31 1 read-write HIDE pin value visibility to gpios, bit0: 1, invisible to soc gpio0; 0: visible to soc gpio0 bit2: 1, invisible to cpu0 fast gpio; 0: visible to cpu0 fast gpio 8 4 read-write SELECT select which gpio controls chip pin, 0: soc gpio0; 2: cpu0 fastgpio 0 2 read-write MCAN0 MCAN0 MCAN 0xf0280000 0x4 0x408 registers ENDN endian register 0x4 32 0x87654321 0xFFFFFFFF EVT Endianness Test Value The endianness test value is 0x87654321. 0 32 read-only DBTP data bit timing and prescaler, writeable when CCCR.CCE and CCCR.INT are set 0xc 32 0x00000A33 0x009F1FFF TDC transmitter delay compensation enable 0= Transmitter Delay Compensation disabled 1= Transmitter Delay Compensation enabled 23 1 read-write DBRP Data Bit Rate Prescaler The value by which the oscillator frequency is divided for generating the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values for the Bit Rate Prescaler are 0 to 31. When TDC = ‘1’, the range is limited to 0,1. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 16 5 read-write DTSEG1 Data time segment before sample point Valid values are 0 to 31. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. 8 5 read-write DTSEG2 Data time segment after sample point Valid values are 0 to 15. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. 4 4 read-write DSJW Data (Re)Synchronization Jump Width Valid values are 0 to 15. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 0 4 read-write TEST test register 0x10 32 0x00000000 0x003F3FF0 SVAL Started Valid 0= Value of TXBNS not valid 1= Value of TXBNS valid 21 1 read-only TXBNS Tx Buffer Number Started Tx Buffer number of message whose transmission was started last. Valid when SVAL is set. Valid values are 0 to 31. 16 5 read-only PVAL Prepared Valid 0= Value of TXBNP not valid 1= Value of TXBNP valid 13 1 read-only TXBNP Tx Buffer Number Prepared Tx Buffer number of message that is ready for transmission. Valid when PVAL is set.Valid values are 0 to 31. 8 5 read-only RX Receive Pin Monitors the actual value of pin m_can_rx 0= The CAN bus is dominant (m_can_rx = ‘0’) 1= The CAN bus is recessive (m_can_rx = ‘1’) 7 1 read-only TX Control of Transmit Pin 00 Reset value, m_can_tx controlled by the CAN Core, updated at the end of the CAN bit time 01 Sample Point can be monitored at pin m_can_tx 10 Dominant (‘0’) level at pin m_can_tx 11 Recessive (‘1’) at pin m_can_tx 5 2 read-write LBCK Loop Back Mode 0= Reset value, Loop Back Mode is disabled 1= Loop Back Mode is enabled 4 1 read-write RWD ram watchdog 0x14 32 0x00000000 0x0000FFFF WDV Watchdog Value Actual Message RAM Watchdog Counter Value. 8 8 read-only WDC Watchdog Configuration Start value of the Message RAM Watchdog Counter. With the reset value of “00” the counter is disabled. 0 8 read-write CCCR CC control register 0x18 32 0x00000001 0x0000FFFF NISO Non ISO Operation If this bit is set, the M_CAN uses the CAN FD frame format as specified by the Bosch CAN FD Specification V1.0. 0= CAN FD frame format according to ISO 11898-1:2015 1= CAN FD frame format according to Bosch CAN FD Specification V1.0 Note: When the generic parameter iso_only_g is set to ‘1’ in hardware synthesis, this bit becomes reserved and is read as ‘0’. The M_CAN always operates with the CAN FD frame format according to ISO 11898-1:2015. 15 1 read-write TXP Transmit Pause If this bit is set, the M_CAN pauses for two CAN bit times before starting the next transmission after itself has successfully transmitted a frame (see Section 3.5). 0= Transmit pause disabled 1= Transmit pause enabled 14 1 read-write EFBI Edge Filtering during Bus Integration 0= Edge filtering disabled 1= Two consecutive dominant tq required to detect an edge for hard synchronization 13 1 read-write PXHD Protocol Exception Handling Disable 0= Protocol exception handling enabled 1= Protocol exception handling disabled Note: When protocol exception handling is disabled, the M_CAN will transmit an error frame when it detects a protocol exception condition. 12 1 read-write WMM Wide Message Marker Enables the use of 16-bit Wide Message Markers. When 16-bit Wide Message Markers are used (WMM = ‘1’), 16-bit internal timestamping is disabled for the Tx Event FIFO. 0= 8-bit Message Marker used 1= 16-bit Message Marker used, replacing 16-bit timestamps in Tx Event FIFO 11 1 read-write UTSU Use Timestamping Unit When UTSU is set, 16-bit Wide Message Markers are also enabled regardless of the value of WMM. 0= Internal time stamping 1= External time stamping by TSU Note: When generic parameter connected_tsu_g = ‘0’, there is no TSU connected to the M_CAN. In this case bit UTSU is fixed to zero by synthesis. 10 1 read-write BRSE Bit Rate Switch Enable 0= Bit rate switching for transmissions disabled 1= Bit rate switching for transmissions enabled Note: When CAN FD operation is disabled FDOE = ‘0’, BRSE is not evaluated. 9 1 read-write FDOE FD Operation Enable 0= FD operation disabled 1= FD operation enabled 8 1 read-write TEST Test Mode Enable 0= Normal operation, register TEST holds reset values 1= Test Mode, write access to register TEST enabled 7 1 read-write DAR Disable Automatic Retransmission 0= Automatic retransmission of messages not transmitted successfully enabled 1= Automatic retransmission disabled 6 1 read-write MON Bus Monitoring Mode Bit MON can only be set by the Host when both CCE and INIT are set to ‘1’. The bit can be reset by the Host at any time. 0= Bus Monitoring Mode is disabled 1= Bus Monitoring Mode is enabled 5 1 read-write CSR Clock Stop Request 0= No clock stop is requested 1= Clock stop requested. When clock stop is requested, first INIT and then CSA will be set after all pending transfer requests have been completed and the CAN bus reached idle. 4 1 read-write CSA Clock Stop Acknowledge 0= No clock stop acknowledged 1= M_CAN may be set in power down by stopping m_can_hclk and m_can_cclk 3 1 read-only ASM Restricted Operation Mode Bit ASM can only be set by the Host when both CCE and INIT are set to ‘1’. The bit can be reset by the Host at any time. For a description of the Restricted Operation Mode see Section 3.1.5. 0= Normal CAN operation 1= Restricted Operation Mode active 2 1 read-write CCE Configuration Change Enable 0= The CPU has no write access to the protected configuration registers 1= The CPU has write access to the protected configuration registers (while CCCR.INIT = ‘1’) 1 1 read-write INIT Initialization 0= Normal Operation 1= Initialization is started 0 1 read-write NBTP nominal bit timing and prescaler register 0x1c 32 0x06000A03 0xFFFFFF7F NSJW Nominal (Re)Synchronization Jump Width Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 25 7 read-write NBRP Nominal Bit Rate Prescaler The value by which the oscillator frequency is divided for generating the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values for the Bit Rate Prescaler are 0 to 511. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 16 9 read-write NTSEG1 Nominal Time segment before sample point Valid values are 1 to 255. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. 8 8 read-write NTSEG2 Nominal Time segment after sample point Valid values are 1 to 127. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. 0 7 read-write TSCC timestamp counter configuration 0x20 32 0x00000000 0x000F0003 TCP Timestamp Counter Prescaler Configures the timestamp and timeout counters time unit in multiples of CAN bit times [1…16]. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 16 4 read-write TSS timestamp Select 00= Timestamp counter value always 0x0000 01= Timestamp counter value incremented according to TCP 10= External timestamp counter value used 11= Same as “00” 0 2 read-write TSCV timestamp counter value 0x24 32 0x00000000 0x0000FFFF TSC Timestamp Counter The internal/external Timestamp Counter value is captured on start of frame (both Rx and Tx).When TSCC.TSS = “01”, the Timestamp Counter is incremented in multiples of CAN bit times [1…16] depending on the configuration of TSCC.TCP. A wrap around sets interrupt flag IR.TSW. Write access resets the counter to zero. When TSCC.TSS = “10”, TSC reflects the external Timestamp Counter value. A write access has no impact. 0 16 read-only TOCC timeout counter configuration 0x28 32 0xFFFF0000 0xFFFF0007 TOP Timeout Period Start value of the Timeout Counter (down-counter). Configures the Timeout Period. 16 16 read-write TOS Timeout Select When operating in Continuous mode, a write to TOCV presets the counter to the value configured by TOCC.TOP and continues down-counting. When the Timeout Counter is controlled by one of the FIFOs, an empty FIFO presets the counter to the value configured by TOCC.TOP. Down-counting is started when the first FIFO element is stored. 00= Continuous operation 01= Timeout controlled by Tx Event FIFO 10= Timeout controlled by Rx FIFO 0 11= Timeout controlled by Rx FIFO 1 1 2 read-write RP Enable Timeout Counter 0= Timeout Counter disabled 1= Timeout Counter enabled 0 1 read-write TOCV timeout counter value 0x2c 32 0x0000FFFF 0x0000FFFF TOC Timeout Counter The Timeout Counter is decremented in multiples of CAN bit times [1…16] depending on the configuration of TSCC.TCP. When decremented to zero, interrupt flag IR.TOO is set and the Timeout Counter is stopped. Start and reset/restart conditions are configured via TOCC.TOS. Note: Byte access: when TOCC.TOS = “00,writing one of the register bytes 3/2/1/0 will preset the Timeout Counter. 0 16 read-only ECR error counter register 0x40 32 0x00000000 0x00FFFFFF CEL CAN Error Logging The counter is incremented each time when a CAN protocol error causes the 8-bit Transmit Error Counter TEC or the 7-bit Receive Error Counter REC to be incremented. The counter is also incremented when the Bus_Off limit is reached. It is not incremented when only RP is set without changing REC. The increment of CEL follows after the increment of REC or TEC. The counter is reset by read access to CEL. The counter stops at 0xFF; the next increment of TEC or REC sets interrupt flag IR.ELO. Note: Byte access: Reading byte 2 will reset CEL to zero, reading bytes 3/1/0 has no impact. 16 8 read-only RP Receive Error Passive 0= The Receive Error Counter is below the error passive level of 128 1= The Receive Error Counter has reached the error passive level of 128 15 1 read-only REC Receive Error Counter Actual state of the Receive Error Counter, values between 0 and 127 8 7 read-only TEC Transmit Error Counter Actual state of the Transmit Error Counter, values between 0 and 255 Note: When CCCR.ASM is set, the CAN protocol controller does not increment TEC and REC when a CAN protocol error is detected, but CEL is still incremented. 0 8 read-only PSR protocol status register 0x44 32 0x00000707 0x007F7FFF TDCV Transmitter Delay Compensation Value Position of the secondary sample point, defined by the sum of the measured delay from m_can_tx to m_can_rx and TDCR.TDCO. The SSP position is, in the data phase, the number of mtq between the start of the transmitted bit and the secondary sample point. Valid values are 0 to 127 mtq. 16 7 read-only PXE Protocol Exception Event 0= No protocol exception event occurred since last read access 1= Protocol exception event occurred Note: Byte access: Reading byte 0 will reset PXE, reading bytes 3/2/1 has no impact. 14 1 read-only RFDF Received a CAN FD Message This bit is set independent of acceptance filtering. 0= Since this bit was reset by the CPU, no CAN FD message has been received 1= Message in CAN FD format with FDF flag set has been received Note: Byte access: Reading byte 0 will reset RFDF, reading bytes 3/2/1 has no impact. 13 1 read-only RBRS BRS flag of last received CAN FD Message This bit is set together with RFDF, independent of acceptance filtering. 0= Last received CAN FD message did not have its BRS flag set 1= Last received CAN FD message had its BRS flag set Note: Byte access: Reading byte 0 will reset RBRS, reading bytes 3/2/1 has no impact. 12 1 read-only RESI ESI flag of last received CAN FD Message This bit is set together with RFDF, independent of acceptance filtering. 0= Last received CAN FD message did not have its ESI flag set 1= Last received CAN FD message had its ESI flag set Note: Byte access: Reading byte 0 will reset RESI, reading bytes 3/2/1 has no impact. 11 1 read-only DLEC Data Phase Last Error Code Type of last error that occurred in the data phase of a CAN FD format frame with its BRS flag set.Coding is the same as for LEC. This field will be cleared to zero when a CAN FD format frame with its BRS flag set has been transferred (reception or transmission) without error. Note: Byte access: Reading byte 0 will set DLEC to “111”, reading bytes 3/2/1 has no impact. 8 3 read-only BO Bus_Off Status 0= The M_CAN is not Bus_Off 1= The M_CAN is in Bus_Off state 7 1 read-only EW Warning Status 0= Both error counters are below the Error_Warning limit of 96 1= At least one of error counter has reached the Error_Warning limit of 96 6 1 read-only EP Error Passive 0= The M_CAN is in the Error_Active state. It normally takes part in bus communication and sends an active error flag when an error has been detected 1= The M_CAN is in the Error_Passive state 5 1 read-only ACT Activity Monitors the module’s CAN communication state. 00= Synchronizing - node is synchronizing on CAN communication 01= Idle - node is neither receiver nor transmitter 10= Receiver - node is operating as receiver 11= Transmitter - node is operating as transmitter Note: ACT is set to “00” by a Protocol Exception Event. 3 2 read-only LEC Last Error Code The LEC indicates the type of the last error to occur on the CAN bus. This field will be cleared to ‘0’when a message has been transferred (reception or transmission) without error. 0= No Error: No error occurred since LEC has been reset by successful reception or transmission. 1= Stuff Error: More than 5 equal bits in a sequence have occurred in a part of a received message where this is not allowed. 2= Form Error: A fixed format part of a received frame has the wrong format. 3= AckError: The message transmitted by the M_CAN was not acknowledged by another node. 4= Bit1Error: During the transmission of a message (with the exception of the arbitration field), the device wanted to send a recessive level (bit of logical value ‘1’), but the monitored bus value was dominant. 5= Bit0Error: During the transmission of a message (or acknowledge bit, or active error flag, or overload flag), the device wanted to send a dominant level (data or identifier bit logical value‘0’), but the monitored bus value was recessive. During Bus_Off recovery this status is set each time a sequence of 11 recessive bits has been monitored. This enables the CPU to monitor the proceeding of the Bus_Off recovery sequence (indicating the bus is not stuck at dominant or continuously disturbed). 6= CRCError: The CRC check sum of a received message was incorrect. The CRC of an incoming message does not match with the CRC calculated from the received data. 7= NoChange: Any read access to the Protocol Status Register re-initializes the LEC to ‘7’. When the LEC shows the value ‘7’, no CAN bus event was detected since the last CPU read access to the Protocol Status Register. Note: When a frame in CAN FD format has reached the data phase with BRS flag set, the next CAN event (error or valid frame) will be shown in DLEC instead of LEC. An error in a fixed stuff bit of a CAN FD CRC sequence will be shown as a Form Error, not Stuff Error. Note: The Bus_Off recovery sequence (see ISO 11898-1:2015) cannot be shortened by setting or resetting CCCR.INIT. If the device goes Bus_Off, it will set CCCR.INIT of its own accord,stopping all bus activities. Once CCCR.INIT has been cleared by the CPU, the device will then wait for 129 occurrences of Bus Idle (129 * 11 consecutive recessive bits) before resuming normal operation. At the end of the Bus_Off recovery sequence, the Error Management Counters will be reset. During the waiting time after the resetting of CCCR.INIT, each time a sequence of 11 recessive bits has been monitored, a Bit0Error code is written to PSR.LEC, enabling the CPU to readily check up whether the CAN bus is stuck at dominant or continuously disturbed and to monitor the Bus_Off recovery sequence. ECR.REC is used to count these sequences. Note: Byte access: Reading byte 0 will set LEC to “111”, reading bytes 3/2/1 has no impact. 0 3 read-only TDCR transmitter delay compensation 0x48 32 0x00000000 0x00007F7F TDCO Transmitter Delay Compensation SSP Offset Offset value defining the distance between the measured delay from m_can_tx to m_can_rx and the secondary sample point. Valid values are 0 to 127 mtq. 8 7 read-write TDCF Transmitter Delay Compensation Filter Window Length Defines the minimum value for the SSP position, dominant edges on m_can_rx that would result in an earlier SSP position are ignored for transmitter delay measurement. The feature is enabled when TDCF is configured to a value greater than TDCO. Valid values are 0 to 127 mtq. 0 7 read-write IR interrupt register 0x50 32 0x00000000 0x3FFFFFFF ARA Access to Reserved Address 0= No access to reserved address occurred 1= Access to reserved address occurred 29 1 read-write PED Protocol Error in Data Phase (Data Bit Time is used) 0= No protocol error in data phase 1= Protocol error in data phase detected (PSR.DLEC ≠ 0,7) 28 1 read-write PEA Protocol Error in Arbitration Phase (Nominal Bit Time is used) 0= No protocol error in arbitration phase 1= Protocol error in arbitration phase detected (PSR.LEC ≠ 0,7) 27 1 read-write WDI Watchdog Interrupt 0= No Message RAM Watchdog event occurred 1= Message RAM Watchdog event due to missing READY 26 1 read-write BO Bus_Off Status 0= Bus_Off status unchanged 1= Bus_Off status changed 25 1 read-write EW Warning Status 0= Error_Warning status unchanged 1= Error_Warning status changed 24 1 read-write EP Error Passive 0= Error_Passive status unchanged 1= Error_Passive status changed 23 1 read-write ELO Error Logging Overflow 0= CAN Error Logging Counter did not overflow 1= Overflow of CAN Error Logging Counter occurred 22 1 read-write BEU Bit Error Uncorrected Message RAM bit error detected, uncorrected. Controlled by input signal m_can_aeim_berr[1] generated by an optional external parity / ECC logic attached to the Message RAM. An uncorrected Message RAM bit error sets CCCR.INIT to ‘1’. This is done to avoid transmission of corrupted data. 0= No bit error detected when reading from Message RAM 1= Bit error detected, uncorrected (e.g. parity logic) 21 1 read-write BEC Bit Error Corrected Message RAM bit error detected and corrected. Controlled by input signal m_can_aeim_berr[0] generated by an optional external parity / ECC logic attached to the Message RAM. 0= No bit error detected when reading from Message RAM 1= Bit error detected and corrected (e.g. ECC) 20 1 read-write DRX Message stored to Dedicated Rx Buffer The flag is set whenever a received message has been stored into a dedicated Rx Buffer. 0= No Rx Buffer updated 1= At least one received message stored into an Rx Buffer 19 1 read-write TOO Timeout Occurred 0= No timeout 1= Timeout reached 18 1 read-write MRAF Message RAM Access Failure The flag is set, when the Rx Handler .has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. In this case acceptance filtering or message storage is aborted and the Rx Handler starts processing of the following message. .was not able to write a message to the Message RAM. In this case message storage is aborted. In both cases the FIFO put index is not updated resp. the New Data flag for a dedicated Rx Buffer is not set, a partly stored message is overwritten when the next message is stored to this location. The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. In this case message transmission is aborted. In case of a Tx Handler access failure the M_CAN is switched into Restricted Operation Mode (see Section 3.1.5). To leave Restricted Operation Mode, the Host CPU has to reset CCCR.ASM. 0= No Message RAM access failure occurred 1= Message RAM access failure occurred 17 1 read-write TSW Timestamp Wraparound 0= No timestamp counter wrap-around 1= Timestamp counter wrapped around 16 1 read-write TEFL Tx Event FIFO Element Lost 0= No Tx Event FIFO element lost 1= Tx Event FIFO element lost, also set after write attempt to Tx Event FIFO of size zero 15 1 read-write TEFF Tx Event FIFO Full 0= Tx Event FIFO not full 1= Tx Event FIFO full 14 1 read-write TEFW Tx Event FIFO Watermark Reached 0= Tx Event FIFO fill level below watermark 1= Tx Event FIFO fill level reached watermark 13 1 read-write TEFN Tx Event FIFO New Entry 0= Tx Event FIFO unchanged 1= Tx Handler wrote Tx Event FIFO element 12 1 read-write TFE Tx FIFO Empty 0= Tx FIFO non-empty 1= Tx FIFO empty 11 1 read-write TCF Transmission Cancellation Finished 0= No transmission cancellation finished 1= Transmission cancellation finished 10 1 read-write TC Transmission Completed 0= No transmission completed 1= Transmission completed 9 1 read-write HPM High Priority Message 0= No high priority message received 1= High priority message received 8 1 read-write RF1L Rx FIFO 1 Message Lost 0= No Rx FIFO 1 message lost 1= Rx FIFO 1 message lost, also set after write attempt to Rx FIFO 1 of size zero 7 1 read-write RF1F Rx FIFO 1 Full 0= Rx FIFO 1 not full 1= Rx FIFO 1 full 6 1 read-write RF1W Rx FIFO 1 Watermark Reached 0= Rx FIFO 1 fill level below watermark 1= Rx FIFO 1 fill level reached watermark 5 1 read-write RF1N Rx FIFO 1 New Message 0= No new message written to Rx FIFO 1 1= New message written to Rx FIFO 1 4 1 read-write RF0L Rx FIFO 0 Message Lost 0= No Rx FIFO 0 message lost 1= Rx FIFO 0 message lost, also set after write attempt to Rx FIFO 0 of size zero 3 1 read-write RF0F Rx FIFO 0 Full 0= Rx FIFO 0 not full 1= Rx FIFO 0 full 2 1 read-write RF0W Rx FIFO 0 Watermark Reached 0= Rx FIFO 0 fill level below watermark 1= Rx FIFO 0 fill level reached watermark 1 1 read-write RF0N Rx FIFO 0 New Message 0= No new message written to Rx FIFO 0 1= New message written to Rx FIFO 0 0 1 read-write IE interrupt enable 0x54 32 0x00000000 0x3FFFFFFF ARAE Access to Reserved Address Enable 29 1 read-write PEDE Protocol Error in Data Phase Enable 28 1 read-write PEAE Protocol Error in Arbitration Phase Enable 27 1 read-write WDIE Watchdog Interrupt Enable 26 1 read-write BOE Bus_Off Status Interrupt Enable 25 1 read-write EWE Warning Status Interrupt Enable 24 1 read-write EPE Error Passive Interrupt Enable 23 1 read-write ELOE Error Logging Overflow Interrupt Enable 22 1 read-write BEUE Bit Error Uncorrected Interrupt Enable 21 1 read-write BECE Bit Error Corrected Interrupt Enable 20 1 read-write DRXE Message stored to Dedicated Rx Buffer Interrupt Enable 19 1 read-write TOOE Timeout Occurred Interrupt Enable 18 1 read-write MRAFE Message RAM Access Failure Interrupt Enable 17 1 read-write TSWE Timestamp Wraparound Interrupt Enable 16 1 read-write TEFLE Tx Event FIFO Event Lost Interrupt Enable 15 1 read-write TEFFE Tx Event FIFO Full Interrupt Enable 14 1 read-write TEFWE Tx Event FIFO Watermark Reached Interrupt Enable 13 1 read-write TEFNE Tx Event FIFO New Entry Interrupt Enable 12 1 read-write TFEE Tx FIFO Empty Interrupt Enable 11 1 read-write TCFE Transmission Cancellation Finished Interrupt Enable 10 1 read-write TCE Transmission Completed Interrupt Enable 9 1 read-write HPME High Priority Message Interrupt Enable 8 1 read-write RF1LE Rx FIFO 1 Message Lost Interrupt Enable 7 1 read-write RF1FE Rx FIFO 1 Full Interrupt Enable 6 1 read-write RF1WE Rx FIFO 1 Watermark Reached Interrupt Enable 5 1 read-write RF1NE Rx FIFO 1 New Message Interrupt Enable 4 1 read-write RF0LE Rx FIFO 0 Message Lost Interrupt Enable 3 1 read-write RF0FE Rx FIFO 0 Full Interrupt Enable 2 1 read-write RF0WE Rx FIFO 0 Watermark Reached Interrupt Enable 1 1 read-write RF0NE Rx FIFO 0 New Message Interrupt Enable 0 1 read-write ILS interrupt line select 0x58 32 0x00000000 0x3FFFFFFF ARAL Access to Reserved Address Line 29 1 read-write PEDL Protocol Error in Data Phase Line 28 1 read-write PEAL Protocol Error in Arbitration Phase Line 27 1 read-write WDIL Watchdog Interrupt Line 26 1 read-write BOL Bus_Off Status Interrupt Line 25 1 read-write EWL Warning Status Interrupt Line 24 1 read-write EPL Error Passive Interrupt Line 23 1 read-write ELOL Error Logging Overflow Interrupt Line 22 1 read-write BEUL Bit Error Uncorrected Interrupt Line 21 1 read-write BECL Bit Error Corrected Interrupt Line 20 1 read-write DRXL Message stored to Dedicated Rx Buffer Interrupt Line 19 1 read-write TOOL Timeout Occurred Interrupt Line 18 1 read-write MRAFL Message RAM Access Failure Interrupt Line 17 1 read-write TSWL Timestamp Wraparound Interrupt Line 16 1 read-write TEFLL Tx Event FIFO Event Lost Interrupt Line 15 1 read-write TEFFL Tx Event FIFO Full Interrupt Line 14 1 read-write TEFWL Tx Event FIFO Watermark Reached Interrupt Line 13 1 read-write TEFNL Tx Event FIFO New Entry Interrupt Line 12 1 read-write TFEL Tx FIFO Empty Interrupt Line 11 1 read-write TCFL Transmission Cancellation Finished Interrupt Line 10 1 read-write TCL Transmission Completed Interrupt Line 9 1 read-write HPML High Priority Message Interrupt Line 8 1 read-write RF1LL Rx FIFO 1 Message Lost Interrupt Line 7 1 read-write RF1FL Rx FIFO 1 Full Interrupt Line 6 1 read-write RF1WL Rx FIFO 1 Watermark Reached Interrupt Line 5 1 read-write RF1NL Rx FIFO 1 New Message Interrupt Line 4 1 read-write RF0LL Rx FIFO 0 Message Lost Interrupt Line 3 1 read-write RF0FL Rx FIFO 0 Full Interrupt Line 2 1 read-write RF0WL Rx FIFO 0 Watermark Reached Interrupt Line 1 1 read-write RF0NL Rx FIFO 0 New Message Interrupt Line 0 1 read-write ILE interrupt line enable 0x5c 32 0x00000000 0x00000003 EINT1 Enable Interrupt Line 1 0= Interrupt line m_can_int1 disabled 1= Interrupt line m_can_int1 enabled 1 1 read-write EINT0 Enable Interrupt Line 0 0= Interrupt line m_can_int0 disabled 1= Interrupt line m_can_int0 enabled 0 1 read-write GFC global filter configuration 0x80 32 0x00000000 0x0000003F ANFS Accept Non-matching Frames Standard Defines how received messages with 11-bit IDs that do not match any element of the filter list are treated. 00= Accept in Rx FIFO 0 01= Accept in Rx FIFO 1 10= Reject 11= Reject 4 2 read-write ANFE Accept Non-matching Frames Extended Defines how received messages with 29-bit IDs that do not match any element of the filter list are treated. 00= Accept in Rx FIFO 0 01= Accept in Rx FIFO 1 10= Reject 11= Reject 2 2 read-write RRFS Reject Remote Frames Standard 0= Filter remote frames with 11-bit standard IDs 1= Reject all remote frames with 11-bit standard IDs 1 1 read-write RRFE Reject Remote Frames Extended 0= Filter remote frames with 29-bit extended IDs 1= Reject all remote frames with 29-bit extended IDs 0 1 read-write SIDFC standard ID filter configuration 0x84 32 0x00000000 0x00FFFFFC LSS List Size Standard 0= No standard Message ID filter 1-128= Number of standard Message ID filter elements >128= Values greater than 128 are interpreted as 128 16 8 read-write FLSSA Filter List Standard Start Address Start address of standard Message ID filter list (32-bit word address) 2 14 read-write XIDFC extended ID filter configuration 0x88 32 0x00000000 0x007FFFFC LSE List Size Extended 0= No extended Message ID filter 1-64= Number of extended Message ID filter elements >64= Values greater than 64 are interpreted as 64 16 7 read-write FLESA Filter List Extended Start Address Start address of extended Message ID filter list (32-bit word address). 2 14 read-write XIDAM extended id and mask 0x90 32 0x1FFFFFFF 0x1FFFFFFF EIDM Extended ID Mask For acceptance filtering of extended frames the Extended ID AND Mask is ANDed with the Message ID of a received frame. Intended for masking of 29-bit IDs in SAE J1939. With the reset value of all bits set to one the mask is not active. 0 29 read-write HPMS high priority message status 0x94 32 0x00000000 0x0000FFFF FLST Filter List Indicates the filter list of the matching filter element. 0= Standard Filter List 1= Extended Filter List 15 1 read-only FIDX Filter Index Index of matching filter element. Range is 0 to SIDFC.LSS - 1 resp. XIDFC.LSE - 1. 8 7 read-only MSI Message Storage Indicator 00= No FIFO selected 01= FIFO message lost 10= Message stored in FIFO 0 11= Message stored in FIFO 1 6 2 read-only BIDX Buffer Index Index of Rx FIFO element to which the message was stored. Only valid when MSI[1] = ‘1’. 0 6 read-only NDAT1 new data1 0x98 32 0x00000000 0xFFFFFFFF ND1 New Data[31:0] The register holds the New Data flags of Rx Buffers 0 to 31. The flags are set when the respective Rx Buffer has been updated from a received frame. The flags remain set until the Host clears them.A flag is cleared by writing a ’1’ to the corresponding bit position. Writing a ’0’ has no effect. A hard reset will clear the register. 0= Rx Buffer not updated 1= Rx Buffer updated from new message 0 32 read-write NDAT2 new data2 0x9c 32 0x00000000 0xFFFFFFFF ND2 New Data[63:32] The register holds the New Data flags of Rx Buffers 32 to 63. The flags are set when the respective Rx Buffer has been updated from a received frame. The flags remain set until the Host clears them. A flag is cleared by writing a ’1’ to the corresponding bit position. Writing a ’0’ has no effect. A hard reset will clear the register. 0= Rx Buffer not updated 1= Rx Buffer updated from new message 0 32 read-write RXF0C rx fifo 0 configuration 0xa0 32 0x00000000 0xFF7FFFFC F0OM FIFO 0 Operation Mode FIFO 0 can be operated in blocking or in overwrite mode (see Section 3.4.2). 0= FIFO 0 blocking mode 1= FIFO 0 overwrite mode 31 1 read-write F0WM Rx FIFO 0 Watermark 0= Watermark interrupt disabled 1-64= Level for Rx FIFO 0 watermark interrupt (IR.RF0W) >64= Watermark interrupt disabled 24 7 read-write F0S Rx FIFO 0 Size 0= No Rx FIFO 0 1-64= Number of Rx FIFO 0 elements >64= Values greater than 64 are interpreted as 64 The Rx FIFO 0 elements are indexed from 0 to F0S-1 16 7 read-write F0SA Rx FIFO 0 Start Address Start address of Rx FIFO 0 in Message RAM (32-bit word address) 2 14 read-write RXF0S rx fifo 0 status 0xa4 32 0x00000000 0x033F3F7F RF0L Rx FIFO 0 Message Lost This bit is a copy of interrupt flag IR.RF0L. When IR.RF0L is reset, this bit is also reset. 0= No Rx FIFO 0 message lost 1= Rx FIFO 0 message lost, also set after write attempt to Rx FIFO 0 of size zero Note: Overwriting the oldest message when RXF0C.F0OM = ‘1’ will not set this flag. 25 1 read-only F0F Rx FIFO 0 Full 0= Rx FIFO 0 not full 1= Rx FIFO 0 full 24 1 read-only F0PI Rx FIFO 0 Put Index Rx FIFO 0 write index pointer, range 0 to 63. 16 6 read-only F0GI Rx FIFO 0 Get Index Rx FIFO 0 read index pointer, range 0 to 63. 8 6 read-only F0FL Rx FIFO 0 Fill Level Number of elements stored in Rx FIFO 0, range 0 to 64. 0 7 read-only RXF0A rx fifo0 acknowledge 0xa8 32 0x00000000 0x0000003F F0AI Rx FIFO 0 Acknowledge Index After the Host has read a message or a sequence of messages from Rx FIFO 0 it has to write the buffer index of the last element read from Rx FIFO 0 to F0AI. This will set the Rx FIFO 0 Get Index RXF0S.F0GI to F0AI + 1 and update the FIFO 0 Fill Level RXF0S.F0FL. 0 6 read-write RXBC rx buffer configuration 0xac 32 0x00000000 0x0000FFFC RBSA Rx Buffer Start Address Configures the start address of the Rx Buffers section in the Message RAM (32-bit word address).Also used to reference debug messages A,B,C. 2 14 read-write RXF1C rx fifo1 configuration 0xb0 32 0x00000000 0xFF7FFFFC F1OM FIFO 1 Operation Mode FIFO 1 can be operated in blocking or in overwrite mode (see Section 3.4.2). 0= FIFO 1 blocking mode 1= FIFO 1 overwrite mode 31 1 read-write F1WM Rx FIFO 1 Watermark 0= Watermark interrupt disabled 1-64= Level for Rx FIFO 1 watermark interrupt (IR.RF1W) >64= Watermark interrupt disabled 24 7 read-write F1S Rx FIFO 1 Size 0= No Rx FIFO 1 1-64= Number of Rx FIFO 1 elements >64= Values greater than 64 are interpreted as 64 The Rx FIFO 1 elements are indexed from 0 to F1S - 1 16 7 read-write F1SA Rx FIFO 1 Start Address Start address of Rx FIFO 1 in Message RAM (32-bit word address) 2 14 read-write RXF1S rx fifo1 status 0xb4 32 0x00000000 0xC33F3F7F DMS Debug Message Status 00= Idle state, wait for reception of debug messages, DMA request is cleared 01= Debug message A received 10= Debug messages A, B received 11= Debug messages A, B, C received, DMA request is set 30 2 read-only RF1L Rx FIFO 1 Message Lost This bit is a copy of interrupt flag IR.RF1L. When IR.RF1L is reset, this bit is also reset. 0= No Rx FIFO 1 message lost 1= Rx FIFO 1 message lost, also set after write attempt to Rx FIFO 1 of size zero Note: Overwriting the oldest message when RXF1C.F1OM = ‘1’ will not set this flag. 25 1 read-only F1F Rx FIFO 1 Full 0= Rx FIFO 1 not full 1= Rx FIFO 1 full 24 1 read-only F1PI Rx FIFO 1 Put Index Rx FIFO 1 write index pointer, range 0 to 63. 16 6 read-only F1GI Rx FIFO 1 Get Index Rx FIFO 1 read index pointer, range 0 to 63. 8 6 read-only F1FL Rx FIFO 1 Fill Level Number of elements stored in Rx FIFO 1, range 0 to 64. 0 7 read-only RXF1A rx fifo 1 acknowledge 0xb8 32 0x00000000 0x0000003F F1AI Rx FIFO 1 Acknowledge Index After the Host has read a message or a sequence of messages from Rx FIFO 1 it has to write the buffer index of the last element read from Rx FIFO 1 to F1AI. This will set the Rx FIFO 1 Get Index RXF1S.F1GI to F1AI + 1 and update the FIFO 1 Fill Level RXF1S.F1FL. 0 6 read-write RXESC rx buffer/fifo element size configuration 0xbc 32 0x00000000 0x00000777 RBDS Rx Buffer Data Field Size 000= 8 byte data field 001= 12 byte data field 010= 16 byte data field 011= 20 byte data field 100= 24 byte data field 101= 32 byte data field 110= 48 byte data field 111= 64 byte data field 8 3 read-write F1DS Rx FIFO 1 Data Field Size 000= 8 byte data field 001= 12 byte data field 010= 16 byte data field 011= 20 byte data field 100= 24 byte data field 101= 32 byte data field 110= 48 byte data field 111= 64 byte data field 4 3 read-write F0DS Rx FIFO 0 Data Field Size 000= 8 byte data field 001= 12 byte data field 010= 16 byte data field 011= 20 byte data field 100= 24 byte data field 101= 32 byte data field 110= 48 byte data field 111= 64 byte data field Note: In case the data field size of an accepted CAN frame exceeds the data field size configured for the matching Rx Buffer or Rx FIFO, only the number of bytes as configured by RXESC are stored to the Rx Buffer resp. Rx FIFO element. The rest of the frame’s data field is ignored. 0 3 read-write TXBC tx buffer configuration 0xc0 32 0x00000000 0x7F3FFFFC TFQM Tx FIFO/Queue Mode 0= Tx FIFO operation 1= Tx Queue operation 30 1 read-write TFQS Transmit FIFO/Queue Size 0= No Tx FIFO/Queue 1-32= Number of Tx Buffers used for Tx FIFO/Queue >32= Values greater than 32 are interpreted as 32 24 6 read-write NDTB Number of Dedicated Transmit Buffers 0= No Dedicated Tx Buffers 1-32= Number of Dedicated Tx Buffers >32= Values greater than 32 are interpreted as 32 16 6 read-write TBSA Tx Buffers Start Address Start address of Tx Buffers section in Message RAM (32-bit word address, see Figure 2). Note: Be aware that the sum of TFQS and NDTB may be not greater than 32. There is no check for erroneous configurations. The Tx Buffers section in the Message RAM starts with the dedicated Tx Buffers. 2 14 read-write TXFQS tx fifo/queue status 0xc4 32 0x00000000 0x003F1F3F TFQF Tx FIFO/Queue Full 0= Tx FIFO/Queue not full 1= Tx FIFO/Queue full 21 1 read-only TFQPI Tx FIFO/Queue Put Index Tx FIFO/Queue write index pointer, range 0 to 31. 16 5 read-only TFGI Tx FIFO Get Index Tx FIFO read index pointer, range 0 to 31. Read as zero when Tx Queue operation is configured (TXBC.TFQM = ‘1’). 8 5 read-only TFFL Tx FIFO Free Level Number of consecutive free Tx FIFO elements starting from TFGI, range 0 to 32. Read as zero when Tx Queue operation is configured (TXBC.TFQM = ‘1’) Note: In case of mixed configurations where dedicated Tx Buffers are combined with a Tx FIFO or a Tx Queue, the Put and Get Indices indicate the number of the Tx Buffer starting with the first dedicated Tx Buffers. Example: For a configuration of 12 dedicated Tx Buffers and a Tx FIFO of 20 Buffers a Put Index of 15 points to the fourth buffer of the Tx FIFO. 0 6 read-only TXESC tx buffer element size configuration 0xc8 32 0x00000000 0x00000007 TBDS Tx Buffer Data Field Size 000= 8 byte data field 001= 12 byte data field 010= 16 byte data field 011= 20 byte data field 100= 24 byte data field 101= 32 byte data field 110= 48 byte data field 111= 64 byte data field Note: In case the data length code DLC of a Tx Buffer element is configured to a value higher than the Tx Buffer data field size TXESC.TBDS, the bytes not defined by the Tx Buffer are transmitted as “0xCC” (padding bytes). 0 3 read-write TXBRP tx buffer request pending 0xcc 32 0x00000000 0xFFFFFFFF TRP Transmission Request Pending Each Tx Buffer has its own Transmission Request Pending bit. The bits are set via register TXBAR.The bits are reset after a requested transmission has completed or has been cancelled via register TXBCR. TXBRP bits are set only for those Tx Buffers configured via TXBC. After a TXBRP bit has been set, a Tx scan (see Section 3.5, Tx Handling) is started to check for the pending Tx request with the highest priority (Tx Buffer with lowest Message ID). A cancellation request resets the corresponding transmission request pending bit of register TXBRP. In case a transmission has already been started when a cancellation is requested, this is done at the end of the transmission, regardless whether the transmission was successful or not. The cancellation request bits are reset directly after the corresponding TXBRP bit has been reset. After a cancellation has been requested, a finished cancellation is signalled via TXBCF ? after successful transmission together with the corresponding TXBTO bit ? when the transmission has not yet been started at the point of cancellation ? when the transmission has been aborted due to lost arbitration ? when an error occurred during frame transmission In DAR mode all transmissions are automatically cancelled if they are not successful. The corresponding TXBCF bit is set for all unsuccessful transmissions. 0= No transmission request pending 1= Transmission request pending Note: TXBRP bits which are set while a Tx scan is in progress are not considered during this particular Tx scan. In case a cancellation is requested for such a Tx Buffer, this Add Request is cancelled immediately, the corresponding TXBRP bit is reset. 0 32 read-only TXBAR tx buffer add request 0xd0 32 0x00000000 0xFFFFFFFF AR Add Request Each Tx Buffer has its own Add Request bit. Writing a ‘1’ will set the corresponding Add Request bit; writing a ‘0’ has no impact. This enables the Host to set transmission requests for multiple Tx Buffers with one write to TXBAR. TXBAR bits are set only for those Tx Buffers configured via TXBC. When no Tx scan is running, the bits are reset immediately, else the bits remain set until the Tx scan process has completed. 0= No transmission request added 1= Transmission requested added Note: If an add request is applied for a Tx Buffer with pending transmission request (corresponding TXBRP bit already set), this add request is ignored. 0 32 read-write TXBCR tx buffer cancellation request 0xd4 32 0x00000000 0xFFFFFFFF CR Cancellation Request Each Tx Buffer has its own Cancellation Request bit. Writing a ‘1’ will set the corresponding Cancellation Request bit; writing a ‘0’ has no impact. This enables the Host to set cancellation requests for multiple Tx Buffers with one write to TXBCR. TXBCR bits are set only for those Tx Buffers configured via TXBC. The bits remain set until the corresponding bit of TXBRP is reset. 0= No cancellation pending 1= Cancellation pending 0 32 read-write TXBTO tx buffer transmission occurred 0xd8 32 0x00000000 0xFFFFFFFF TO Transmission Occurred Each Tx Buffer has its own Transmission Occurred bit. The bits are set when the corresponding TXBRP bit is cleared after a successful transmission. The bits are reset when a new transmission is requested by writing a ‘1’ to the corresponding bit of register TXBAR. 0= No transmission occurred 1= Transmission occurred 0 32 read-only TXBCF tx buffer cancellation finished 0xdc 32 0x00000000 0xFFFFFFFF CF Cancellation Finished Each Tx Buffer has its own Cancellation Finished bit. The bits are set when the corresponding TXBRP bit is cleared after a cancellation was requested via TXBCR. In case the corresponding TXBRP bit was not set at the point of cancellation, CF is set immediately. The bits are reset when a new transmission is requested by writing a ‘1’ to the corresponding bit of register TXBAR. 0= No transmit buffer cancellation 1= Transmit buffer cancellation finished 0 32 read-only TXBTIE tx buffer transmission interrupt enable 0xe0 32 0x00000000 0xFFFFFFFF TIE Transmission Interrupt Enable Each Tx Buffer has its own Transmission Interrupt Enable bit. 0= Transmission interrupt disabled 1= Transmission interrupt enable 0 32 read-write TXBCIE tx buffer cancellation finished interrupt enable 0xe4 32 0x00000000 0xFFFFFFFF CFIE Cancellation Finished Interrupt Enable Each Tx Buffer has its own Cancellation Finished Interrupt Enable bit. 0= Cancellation finished interrupt disabled 1= Cancellation finished interrupt enabled 0 32 read-write TXEFC tx event fifo configuration 0xf0 32 0x00000000 0x3F3FFFFC EFWM Event FIFO Watermark 0= Watermark interrupt disabled 1-32= Level for Tx Event FIFO watermark interrupt (IR.TEFW) >32= Watermark interrupt disabled 24 6 read-write EFS Event FIFO Size 0= Tx Event FIFO disabled 1-32= Number of Tx Event FIFO elements >32= Values greater than 32 are interpreted as 32 The Tx Event FIFO elements are indexed from 0 to EFS - 1 16 6 read-write EFSA Event FIFO Start Address Start address of Tx Event FIFO in Message RAM (32-bit word address) 2 14 read-write TXEFS tx event fifo status 0xf4 32 0x00000000 0x031F1F3F TEFL Tx Event FIFO Element Lost This bit is a copy of interrupt flag IR.TEFL. When IR.TEFL is reset, this bit is also reset. 0= No Tx Event FIFO element lost 1= Tx Event FIFO element lost, also set after write attempt to Tx Event FIFO of size zero. 25 1 read-only EFF Event FIFO Full 0= Tx Event FIFO not full 1= Tx Event FIFO full 24 1 read-only EFPI Event FIFO Put Index Tx Event FIFO write index pointer, range 0 to 31. 16 5 read-only EFGI Event FIFO Get Index Tx Event FIFO read index pointer, range 0 to 31. 8 5 read-only EFFL Event FIFO Fill Level Number of elements stored in Tx Event FIFO, range 0 to 32. 0 6 read-only TXEFA tx event fifo acknowledge 0xf8 32 0x00000000 0x0000001F EFAI Event FIFO Acknowledge Index After the Host has read an element or a sequence of elements from the Tx Event FIFO it has to write the index of the last element read from Tx Event FIFO to EFAI. This will set the Tx Event FIFO Get Index TXEFS.EFGI to EFAI + 1 and update the Event FIFO Fill Level TXEFS.EFFL. 0 5 read-write 16 0x4 TS_SEL0,TS_SEL1,TS_SEL2,TS_SEL3,TS_SEL4,TS_SEL5,TS_SEL6,TS_SEL7,TS_SEL8,TS_SEL9,TS_SEL10,TS_SEL11,TS_SEL12,TS_SEL13,TS_SEL14,TS_SEL15 TS_SEL[%s] no description available 0x200 32 0x00000000 0xFFFFFFFF TS Timestamp Word TS default can save 16 timestamps with 32bit; if ts64_en is set, then work at 64bit mode, can save 8 timestamps with 01/23/45…. 0 32 read-only CREL core release register 0x240 32 0x00000000 0xFFFFFFFF REL Core Release One digit, BCD-coded 28 4 read-only STEP Step of Core Release One digit, BCD-coded. 24 4 read-only SUBSTEP Sub-step of Core Release One digit, BCD-coded 20 4 read-only YEAR Timestamp Year One digit, BCD-coded. This field is set by generic parameter on synthesis. 16 4 read-only MON Timestamp Month Two digits, BCD-coded. This field is set by generic parameter on synthesis. 8 8 read-only DAY Timestamp Day Two digits, BCD-coded. This field is set by generic parameter on synthesis. 0 8 read-only TSCFG timestamp configuration 0x244 32 0x00000000 0x0000FF0F TBPRE Timebase Prescaler 0x00 to 0xFF The value by which the oscillator frequency is divided for generating the timebase counter clock. Valid values for the Timebase Prescaler are 0 to 255. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. Affects only the TSU internal timebase. When the internal timebase is excluded by synthesis, TBPRE[7:0] is fixed to 0x00, the Timestamp Prescaler is not used. 8 8 read-write EN64 set to use 64bit timestamp. when enabled, tsu can save up to 8 different timestamps, TS(k) and TS(k+1) are used for one 64bit timestamp, k is 0~7. TSP can be used to select different one 3 1 read-write SCP Select Capturing Position 0: Capture Timestamp at EOF 1: Capture Timestamp at SOF 2 1 read-write TBCS Timebase Counter Select When the internal timebase is excluded by synthesis, TBCS is fixed to ‘1’. 0: Timestamp value captured from internal timebase counter, ATB.TB[31:0] is the internal timbase counter 1: Timestamp value captured from input tsu_tbin[31:0],ATB.TB[31:0] is tsu_tbin[31:0] 1 1 read-write TSUE Timestamp Unit Enable 0: TSU disabled 1: TSU enabled 0 1 read-write TSS1 timestamp status1 0x248 32 0x00000000 0xFFFFFFFF TSL Timestamp Lost Each Timestamp register (TS0-TS15) is assigned one bit. The bits are set when the timestamp stored in the related Timestamp register was overwritten before it was read. Reading a Timestamp register resets the related bit. 16 16 read-only TSN Timestamp New Each Timestamp register (TS0-TS15) is assigned one bit. The bits are set when a timestamp was stored in the related Timestamp register. Reading a Timestamp register resets the related bit. 0 16 read-only TSS2 timestamp status2 0x24c 32 0x00000000 0x0000000F TSP Timestamp Pointer The Timestamp Pointer is incremented by one each time a timestamp is captured. From its maximum value (3, 7, or 15 depending on number_ts_g), it is incremented to 0. Value also signalled on output m_can_tsp[3:0]. 0 4 read-only ATB actual timebase 0x250 32 0x00000000 0xFFFFFFFF TB timebase for timestamp generation 31-0 0 32 read-only ATBH actual timebase high 0x254 32 0x00000000 0xFFFFFFFF TBH timebase for timestamp generation 63-32 0 32 read-only GLB_CTL global control 0x400 32 0x00000000 0xE0000003 M_CAN_STBY m_can standby control 31 1 read-write STBY_CLR_EN m_can standby clear control 0:controlled by software by standby bit[bit31] 1:auto clear standby by hardware when rx data is 0 30 1 read-write STBY_POL standby polarity selection 29 1 read-write TSU_TBIN_SEL external timestamp select. each CAN block has 4 timestamp input, this register is used to select one of them as timestame if TSCFG.TBCS is set to 1 0 2 read-write GLB_STATUS global status 0x404 32 0x00000000 0x0000000C M_CAN_INT1 m_can interrupt status1 3 1 read-only M_CAN_INT0 m_can interrupt status0 2 1 read-only MCAN1 MCAN1 MCAN 0xf0284000 MCAN2 MCAN2 MCAN 0xf0288000 MCAN3 MCAN3 MCAN 0xf028c000 PTPC PTPC PTPC 0xf02fc000 0x0 0x3004 registers 2 0x1000 0,1 PTPC[%s] no description available 0x0 Ctrl0 Control Register 0 0x0 32 0x00000000 0x000003FF SUBSEC_DIGITAL_ROLLOVER Format for ns counter rollover, 1-digital, overflow time 1000000000/0x3B9ACA00 0-binary, overflow time 0x7FFFFFFF 9 1 read-write CAPT_SNAP_KEEP set will keep capture snap till software read capt_snapl. If this bit is set, software should read capt_snaph first to avoid wrong result. If this bit is cleared, capture result will be updated at each capture event 8 1 read-write CAPT_SNAP_POS_EN set will use posege of input capture signal to latch timestamp value 7 1 read-write CAPT_SNAP_NEG_EN No description avaiable 6 1 read-write COMP_EN set to enable compare, will be cleared by HW when compare event triggered 4 1 read-write UPDATE_TIMER update timer with +/- ts_updt, pulse, clear after set 3 1 write-only INIT_TIMER initial timer with ts_updt, pulse, clear after set 2 1 write-only FINE_COARSE_SEL 0: coarse update, ns counter add ss_incr[7:0] each clk 1: fine update, ns counter add ss_incr[7:0] each time addend counter overflow 1 1 read-write TIMER_ENABLE No description avaiable 0 1 read-write ctrl1 Control Register 1 0x4 32 0x00000000 0x000000FF SS_INCR constant value used to add ns counter; such as for 50MHz timer clock, set it to 8'd20 0 8 read-write timeh timestamp high 0x8 32 0x00000000 0xFFFFFFFF TIMESTAMP_HIGH No description avaiable 0 32 read-only timel timestamp low 0xc 32 0x00000000 0xFFFFFFFF TIMESTAMP_LOW No description avaiable 0 32 read-only ts_updth timestamp update high 0x10 32 0x00000000 0xFFFFFFFF SEC_UPDATE together with ts_updtl, used to initial or update timestamp 0 32 read-write ts_updtl timestamp update low 0x14 32 0x00000000 0xFFFFFFFF ADD_SUB 1 for sub; 0 for add, used only at update 31 1 read-write NS_UPDATE No description avaiable 0 31 read-write addend No description avaiable 0x18 32 0x00000000 0xFFFFFFFF ADDEND used in fine update mode only 0 32 read-write tarh No description avaiable 0x1c 32 0x00000000 0xFFFFFFFF TARGET_TIME_HIGH used for generate compare signal if enabled 0 32 read-write tarl No description avaiable 0x20 32 0x00000000 0xFFFFFFFF TARGET_TIME_LOW No description avaiable 0 32 read-write pps_ctrl No description avaiable 0x2c 32 0x00000000 0x0000000F PPS_CTRL No description avaiable 0 4 read-write capt_snaph No description avaiable 0x30 32 0x00000000 0xFFFFFFFF CAPT_SNAP_HIGH take snapshot for input capture signal, at pos or neg or both; the result can be kept or updated at each event according to cfg0.bit8 0 32 read-only capt_snapl No description avaiable 0x34 32 0x00000000 0xFFFFFFFF CAPT_SNAP_LOW No description avaiable 0 32 read-write time_sel No description avaiable 0x2000 32 0x00000000 0x0000000F CAN3_TIME_SEL No description avaiable 3 1 read-write CAN2_TIME_SEL No description avaiable 2 1 read-write CAN1_TIME_SEL No description avaiable 1 1 read-write CAN0_TIME_SEL set to use ptpc1 for canx clr to use ptpc0 for canx 0 1 read-write int_sts No description avaiable 0x2004 32 0x00000000 0x00070007 COMP_INT_STS1 No description avaiable 18 1 write-only CAPTURE_INT_STS1 No description avaiable 17 1 write-only PPS_INT_STS1 No description avaiable 16 1 write-only COMP_INT_STS0 No description avaiable 2 1 write-only CAPTURE_INT_STS0 No description avaiable 1 1 write-only PPS_INT_STS0 No description avaiable 0 1 write-only int_en No description avaiable 0x2008 32 0x00000000 0x00070007 COMP_INT_STS1 No description avaiable 18 1 read-write CAPTURE_INT_STS1 No description avaiable 17 1 read-write PPS_INT_STS1 No description avaiable 16 1 read-write COMP_INT_STS0 No description avaiable 2 1 read-write CAPTURE_INT_STS0 No description avaiable 1 1 read-write PPS_INT_STS0 No description avaiable 0 1 read-write ptpc_can_ts_sel No description avaiable 0x3000 32 0x00000000 0xFFFFFF00 TSU_TBIN3_SEL No description avaiable 26 6 read-write TSU_TBIN2_SEL No description avaiable 20 6 read-write TSU_TBIN1_SEL No description avaiable 14 6 read-write TSU_TBIN0_SEL No description avaiable 8 6 read-write QEI0 QEI0 QEIV2 0xf0300000 0x0 0x298 registers cr Control register 0x0 32 0x00000000 0x807FFF7F READ 1- load phcnt, zcnt, spdcnt and tmrcnt into their read registers. Hardware auto-clear; read as 0 31 1 write-only ZCNTCFG 1- zcnt will increment when phcnt upcount to phmax, decrement when phcnt downcount to 0 0- zcnt will increment or decrement when Z input assert 22 1 read-write PHCALIZ 1- phcnt will set to phidx when Z input assert(for abz digital signsl) 21 1 read-write Z_ONLY_EN 1- phcnt will set to phidx when Z input assert(for xy analog signal and digital z, also need set phcaliz) 20 1 read-write H2FDIR0 No description avaiable 19 1 read-write H2FDIR1 No description avaiable 18 1 read-write H2RDIR0 No description avaiable 17 1 read-write H2RDIR1 No description avaiable 16 1 read-write PAUSEPOS 1- pause position output valid when PAUSE assert 15 1 read-write PAUSESPD 1- pause spdcnt when PAUSE assert 14 1 read-write PAUSEPH 1- pause phcnt when PAUSE assert 13 1 read-write PAUSEZ 1- pause zcnt when PAUSE assert 12 1 read-write HFDIR0 1- HOMEF will set at H rising edge when dir == 1 (negative rotation direction) 11 1 read-write HFDIR1 1- HOMEF will set at H rising edge when dir == 0 (positive rotation direction) 10 1 read-write HRDIR0 1- HOMEF will set at H falling edge when dir == 1 (negative rotation direction) 9 1 read-write HRDIR1 1- HOMEF will set at H falling edge when dir == 1 (positive rotation direction) 8 1 read-write FAULTPOS No description avaiable 6 1 read-write SNAPEN 1- load phcnt, zcnt, spdcnt and tmrcnt into their snap registers when snapi input assert 5 1 read-write RSTCNT 1- reset zcnt, spdcnt and tmrcnt to 0. reset phcnt to phidx 4 1 read-write RD_SEL define the width/counter value(affect width_match, width_match2, width_cur, timer_cur, width_read, timer_read, width_snap0,width_snap1, timer_snap0, timer_snap1) 0 : same as hpm1000/500/500s; 1: use width for position; use timer for angle 3 1 read-write ENCTYP 000-abz; 001-pd; 010-ud; 011-UVW(hal) 100-single A; 101-single sin; 110: sin&cos 0 3 read-write phcfg Phase configure register 0x4 32 0x00000000 0xFFFFFFFF PHMAX maximum phcnt number, phcnt will rollover to 0 when it upcount to phmax 0 32 read-write wdgcfg Watchdog configure register 0x8 32 0x00000000 0xFFFFFFFF WDGEN 1- enable wdog counter 31 1 read-write WDOG_CFG define as stop if phase_cnt change is less than it if 0, then each change of phase_cnt will clear wdog counter; if 2, then phase_cnt change larger than 2 will clear wdog counter 28 3 read-write WDGTO watch dog timeout value 0 28 read-write phidx Phase index register 0xc 32 0x00000000 0xFFFFFFFF PHIDX phcnt reset value, phcnt will reset to phidx when phcaliz set to 1 0 32 read-write trgoen Tigger output enable register 0x10 32 0x00000000 0xFFFC0000 WDGFEN 1- enable trigger output when wdg flag set 31 1 read-write HOMEFEN 1- enable trigger output when homef flag set 30 1 read-write POSCMPFEN 1- enable trigger output when poscmpf flag set 29 1 read-write ZPHFEN 1- enable trigger output when zphf flag set 28 1 read-write ZMISSFEN No description avaiable 27 1 read-write WIDTHTMFEN No description avaiable 26 1 read-write POS2CMPFEN No description avaiable 25 1 read-write DIRCHGFEN No description avaiable 24 1 read-write CYCLE0FEN No description avaiable 23 1 read-write CYCLE1FEN No description avaiable 22 1 read-write PULSE0FEN No description avaiable 21 1 read-write PULSE1FEN No description avaiable 20 1 read-write HOME2FEN No description avaiable 19 1 read-write FAULTFEN No description avaiable 18 1 read-write readen Read event enable register 0x14 32 0x00000000 0xFFFC0000 WDGFEN 1- load counters to their read registers when wdg flag set 31 1 read-write HOMEFEN 1- load counters to their read registers when homef flag set 30 1 read-write POSCMPFEN 1- load counters to their read registers when poscmpf flag set 29 1 read-write ZPHFEN 1- load counters to their read registers when zphf flag set 28 1 read-write ZMISSFEN No description avaiable 27 1 read-write WIDTHTMFEN No description avaiable 26 1 read-write POS2CMPFEN No description avaiable 25 1 read-write DIRCHGFEN No description avaiable 24 1 read-write CYCLE0FEN No description avaiable 23 1 read-write CYCLE1FEN No description avaiable 22 1 read-write PULSE0FEN No description avaiable 21 1 read-write PULSE1FEN No description avaiable 20 1 read-write HOME2FEN No description avaiable 19 1 read-write FAULTFEN No description avaiable 18 1 read-write zcmp Z comparator 0x18 32 0x00000000 0xFFFFFFFF ZCMP zcnt postion compare value 0 32 read-write phcmp Phase comparator 0x1c 32 0x00000000 0xFFFFFFFF PHCMP phcnt position compare value 0 32 read-write spdcmp Speed comparator 0x20 32 0x00000000 0xFFFFFFFF SPDCMP spdcnt position compare value 0 32 read-write dmaen DMA request enable register 0x24 32 0x00000000 0xFFFC0000 WDGFEN 1- generate dma request when wdg flag set 31 1 read-write HOMEFEN 1- generate dma request when homef flag set 30 1 read-write POSCMPFEN 1- generate dma request when poscmpf flag set 29 1 read-write ZPHFEN 1- generate dma request when zphf flag set 28 1 read-write ZMISSFEN No description avaiable 27 1 read-write WIDTHTMFEN No description avaiable 26 1 read-write POS2CMPFEN No description avaiable 25 1 read-write DIRCHGFEN No description avaiable 24 1 read-write CYCLE0FEN No description avaiable 23 1 read-write CYCLE1FEN No description avaiable 22 1 read-write PULSE0FEN No description avaiable 21 1 read-write PULSE1FEN No description avaiable 20 1 read-write HOME2FEN No description avaiable 19 1 read-write FAULTFEN No description avaiable 18 1 read-write sr Status register 0x28 32 0x00000000 0xFFFC0000 WDGF watchdog flag 31 1 read-write HOMEF home flag 30 1 read-write POSCMPF postion compare match flag 29 1 read-write ZPHF z input flag 28 1 read-write ZMISSF No description avaiable 27 1 read-write WIDTHTMF No description avaiable 26 1 read-write POS2CMPF No description avaiable 25 1 read-write DIRCHGF No description avaiable 24 1 read-write CYCLE0F No description avaiable 23 1 read-write CYCLE1F No description avaiable 22 1 read-write PULSE0F No description avaiable 21 1 read-write PULSE1F No description avaiable 20 1 read-write HOME2F No description avaiable 19 1 read-write FAULTF No description avaiable 18 1 read-write irqen Interrupt request register 0x2c 32 0x00000000 0xFFFC0000 WDGIE 1- generate interrupt when wdg flag set 31 1 read-write HOMEIE 1- generate interrupt when homef flag set 30 1 read-write POSCMPIE 1- generate interrupt when poscmpf flag set 29 1 read-write ZPHIE 1- generate interrupt when zphf flag set 28 1 read-write ZMISSE No description avaiable 27 1 read-write WIDTHTME No description avaiable 26 1 read-write POS2CMPE No description avaiable 25 1 read-write DIRCHGE No description avaiable 24 1 read-write CYCLE0E No description avaiable 23 1 read-write CYCLE1E No description avaiable 22 1 read-write PULSE0E No description avaiable 21 1 read-write PULSE1E No description avaiable 20 1 read-write HOME2E No description avaiable 19 1 read-write FAULTE No description avaiable 18 1 read-write 4 0x10 current,read,snap0,snap1 COUNT[%s] no description available 0x30 z Z counter 0x0 32 0x00000000 0xFFFFFFFF ZCNT zcnt value 0 32 read-write ph Phase counter 0x4 32 0x00000000 0x461FFFFF DIR 1- reverse rotation 0- forward rotation 30 1 read-only ASTAT 1- a input is high 0- a input is low 26 1 read-only BSTAT 1- b input is high 0- b input is low 25 1 read-only PHCNT phcnt value 0 21 read-only spd Speed counter 0x8 32 0x00000000 0xEFFFFFFF DIR 1- reverse rotation 0- forward rotation 31 1 read-only ASTAT 1- a input is high 0- a input is low 30 1 read-only BSTAT 1- b input is high 0- b input is low 29 1 read-write SPDCNT spdcnt value 0 28 read-only tmr Timer counter 0xc 32 0x00000000 0xFFFFFFFF TMRCNT 32 bit free run timer 0 32 read-only zcmp2 Z comparator 0x80 32 0x00000000 0xFFFFFFFF ZCMP2 No description avaiable 0 32 read-write phcmp2 Phase comparator 0x84 32 0x00000000 0xFFFFFFFF PHCMP2 No description avaiable 0 32 read-write spdcmp2 Speed comparator 0x88 32 0x00000000 0xFFFFFFFF SPDCMP2 No description avaiable 0 32 read-write match_cfg No description avaiable 0x8c 32 0x00000000 0xFE00FE00 ZCMPDIS 1- postion compare not include zcnt 31 1 read-write DIRCMPDIS 1- postion compare not include rotation direction 30 1 read-write DIRCMP 0- position compare need positive rotation 1- position compare need negative rotation 29 1 read-write SPDCMPDIS No description avaiable 28 1 read-write PHASE_MATCH_DIS No description avaiable 27 1 read-write POS_MATCH_DIR No description avaiable 26 1 read-write POS_MATCH_OPT No description avaiable 25 1 read-write ZCMP2DIS No description avaiable 15 1 read-write DIRCMP2DIS No description avaiable 14 1 read-write DIRCMP2 No description avaiable 13 1 read-write SPDCMP2DIS No description avaiable 12 1 read-write PHASE_MATCH_DIS2 No description avaiable 11 1 read-write POS_MATCH2_DIR No description avaiable 10 1 read-write POS_MATCH2_OPT No description avaiable 9 1 read-write 6 0x4 filt_cfg_a,filt_cfg_b,filt_cfg_z,filt_cfg_h,filt_cfg_h2,filt_cfg_f FILT_CFG[%s] no description available 0x90 32 0x00000000 0x0001FFFF OUTINV 1- Filter will invert the output 0- Filter will not invert the output 16 1 read-write MODE This bitfields defines the filter mode 000-bypass; 100-rapid change mode; 101-delay filter mode; 110-stable low mode; 111-stable high mode 13 3 read-write SYNCEN set to enable sychronization input signal with TRGM clock 12 1 read-write FILTLEN This bitfields defines the filter counter length. 0 12 read-write qei_cfg qei config register 0x100 32 0x00000000 0x0000103F SPEED_DIR_CHG_EN clear counter if detect direction change 12 1 read-write UVW_POS_OPT0 set to output next area position for QEO use; clr to output exact point position for MMC use 5 1 read-write NEGEDGE_EN bit4: negedge enable bit3: posedge enable bit2: W in hal enable bit1: signal b(or V in hal) enable bit0: signal a(or U in hal) enable such as: 01001: use posedge A 11010: use both edge of signal B 11111: use both edge of all HAL siganls 4 1 read-write POSIDGE_EN No description avaiable 3 1 read-write SIGZ_EN No description avaiable 2 1 read-write SIGB_EN No description avaiable 1 1 read-write SIGA_EN No description avaiable 0 1 read-write pulse0_num pulse0_num 0x110 32 0x00000000 0xFFFFFFFF PULSE0_NUM for speed detection, will count the cycle number for configed pulse_num 0 32 read-write pulse1_num pulse1_num 0x114 32 0x00000000 0xFFFFFFFF PULSE1_NUM No description avaiable 0 32 read-write cycle0_cnt cycle0_cnt 0x118 32 0x00000000 0xFFFFFFFF CYCLE0_CNT No description avaiable 0 32 read-only cycle0pulse_cnt cycle0pulse_cnt 0x11c 32 0x00000000 0xFFFFFFFF CYCLE0PULSE_CNT No description avaiable 0 32 read-only cycle1_cnt cycle1_cnt 0x120 32 0x00000000 0xFFFFFFFF CYCLE1_CNT No description avaiable 0 32 read-only cycle1pulse_cnt cycle1pulse_cnt 0x124 32 0x00000000 0xFFFFFFFF CYCLE1PULSE_CNT No description avaiable 0 32 read-only cycle0_snap0 cycle0_snap0 0x128 32 0x00000000 0xFFFFFFFF CYCLE0_SNAP0 No description avaiable 0 32 read-only cycle0_snap1 cycle0_snap1 0x12c 32 0x00000000 0xFFFFFFFF CYCLE0_SNAP1 No description avaiable 0 32 read-only cycle1_snap0 cycle1_snap0 0x130 32 0x00000000 0xFFFFFFFF CYCLE1_SNAP0 No description avaiable 0 32 read-only cycle1_snap1 cycle1_snap1 0x134 32 0x00000000 0xFFFFFFFF CYCLE1_SNAP1 No description avaiable 0 32 read-only cycle0_num cycle0_num 0x140 32 0x00000000 0xFFFFFFFF CYCLE0_NUM No description avaiable 0 32 read-write cycle1_num cycle1_num 0x144 32 0x00000000 0xFFFFFFFF CYCLE1_NUM No description avaiable 0 32 read-write pulse0_cnt pulse0_cnt 0x148 32 0x00000000 0xFFFFFFFF PULSE0_CNT No description avaiable 0 32 read-only pulse0cycle_cnt pulse0cycle_cnt 0x14c 32 0x00000000 0xFFFFFFFF PULSE0CYCLE_CNT No description avaiable 0 32 read-only pulse1_cnt pulse1_cnt 0x150 32 0x00000000 0xFFFFFFFF PULSE1_CNT No description avaiable 0 32 read-only pulse1cycle_cnt pulse1cycle_cnt 0x154 32 0x00000000 0xFFFFFFFF PULSE1CYCLE_CNT No description avaiable 0 32 read-only pulse0_snap0 pulse0_snap0 0x158 32 0x00000000 0xFFFFFFFF PULSE0_SNAP0 No description avaiable 0 32 read-only pulse0cycle_snap0 pulse0cycle_snap0 0x15c 32 0x00000000 0xFFFFFFFF PULSE0CYCLE_SNAP0 No description avaiable 0 32 read-only pulse0_snap1 pulse0_snap1 0x160 32 0x00000000 0xFFFFFFFF PULSE0_SNAP1 No description avaiable 0 32 read-only pulse0cycle_snap1 pulse0cycle_snap1 0x164 32 0x00000000 0xFFFFFFFF PULSE0CYCLE_SNAP1 No description avaiable 0 32 read-only pulse1_snap0 pulse1_snap0 0x168 32 0x00000000 0xFFFFFFFF PULSE1_SNAP0 No description avaiable 0 32 read-only pulse1cycle_snap0 pulse1cycle_snap0 0x16c 32 0x00000000 0xFFFFFFFF PULSE1CYCLE_SNAP0 No description avaiable 0 32 read-only pulse1_snap1 pulse1_snap1 0x170 32 0x00000000 0xFFFFFFFF PULSE1_SNAP1 No description avaiable 0 32 read-only pulse1cycle_snap1 pulse1cycle_snap1 0x174 32 0x00000000 0xFFFFFFFF PULSE1CYCLE_SNAP1 No description avaiable 0 32 read-only adcx_cfg0 adcx_cfg0 0x200 32 0x00000000 0x0000019F X_ADCSEL No description avaiable 8 1 read-write X_ADC_ENABLE No description avaiable 7 1 read-write X_CHAN No description avaiable 0 5 read-write adcx_cfg1 adcx_cfg1 0x204 32 0x00000000 0xFFFFFFFF X_PARAM1 No description avaiable 16 16 read-write X_PARAM0 No description avaiable 0 16 read-write adcx_cfg2 adcx_cfg2 0x208 32 0x00000000 0xFFFFFFFF X_OFFSET No description avaiable 0 32 read-write adcy_cfg0 adcy_cfg0 0x210 32 0x00000000 0x0000019F Y_ADCSEL No description avaiable 8 1 read-write Y_ADC_ENABLE No description avaiable 7 1 read-write Y_CHAN No description avaiable 0 5 read-write adcy_cfg1 adcy_cfg1 0x214 32 0x00000000 0xFFFFFFFF Y_PARAM1 No description avaiable 16 16 read-write Y_PARAM0 No description avaiable 0 16 read-write adcy_cfg2 adcy_cfg2 0x218 32 0x00000000 0xFFFFFFFF Y_OFFSET No description avaiable 0 32 read-write cal_cfg cal_cfg 0x220 32 0x00000000 0x00FFFFFF XY_DELAY valid x/y delay, larger than this delay will be treated as invalid data. Default 1.25us@200MHz; max 80ms; 0 24 read-write phase_param phase_param 0x230 32 0x00000000 0xFFFFFFFF PHASE_PARAM No description avaiable 0 32 read-write angle_adj angle_adj 0x234 32 0x00000000 0xFFFFFFFF ANGLE_ADJ No description avaiable 0 32 read-write pos_threshold pos_threshold 0x238 32 0x00000000 0xFFFFFFFF POS_THRESHOLD No description avaiable 0 32 read-write 6 0x4 uvw_pos0,uvw_pos1,uvw_pos2,uvw_pos3,uvw_pos4,uvw_pos5 UVW_POS[%s] no description available 0x240 32 0x00000000 0xFFFFFFFF UVW_POS0 No description avaiable 0 32 read-write 6 0x4 uvw_pos0_cfg,uvw_pos1_cfg,uvw_pos2_cfg,uvw_pos3_cfg,uvw_pos4_cfg,uvw_pos5_cfg UVW_POS_CFG[%s] no description available 0x258 32 0x00000000 0x0000007F POS_EN No description avaiable 6 1 read-write U_POS_SEL No description avaiable 4 2 read-write V_POS_SEL No description avaiable 2 2 read-write W_POS_SEL No description avaiable 0 2 read-write phase_cnt phase_cnt 0x280 32 0x00000000 0xFFFFFFFF PHASE_CNT No description avaiable 0 32 read-write phase_update phase_update 0x284 32 0x00000000 0xFFFFFFFF INC set to add value to phase_cnt 31 1 write-only DEC set to minus value from phase_cnt(set inc and dec same time willl act inc) 30 1 write-only VALUE value to be added or minus from phase_cnt. only valid when inc or dec is set in one 32bit write operation 0 30 write-only position position 0x288 32 0x00000000 0xFFFFFFFF POSITION No description avaiable 0 32 read-write position_update position_update 0x28c 32 0x00000000 0xFFFFFFFF INC set to add value to position 31 1 write-only DEC set to minus value from position(set inc and dec same time willl act inc) 30 1 write-only VALUE value to be added or minus from position. only valid when inc or dec is set in one 32bit write operation 0 30 write-only angle No description avaiable 0x290 32 0x00000000 0xFFFFFFFF ANGLE No description avaiable 0 32 read-only pos_timeout pos_timeout 0x294 32 0x00000000 0xFFFFFFFF ENABLE enable position timeout feature, if timeout, send valid again 31 1 read-write TIMEOUT postion timeout value 0 31 read-write QEI1 QEI1 QEIV2 0xf0304000 QEO0 QEO0 QEO 0xf0308000 0x0 0x114 registers wave_mode analog waves mode 0x0 32 0x00000000 0xFFFFFFF3 WAVE2_ABOVE_MAX_LIMIT wave2 above max limit mode. 0: output 0xffff. 1: output 0x0. 2: output as level_max_limit2.level0_max_limit 30 2 read-write WAVE2_HIGH_AREA1_LIMIT wave2 high area1 limit mode. 0: output 0xffff. 1: output as level_max_limit2.level0_max_limit 29 1 read-write WAVE2_HIGH_AREA0_LIMIT wave2 high area0 limit mode. 0: output 0xffff. 1: output as level_max_limit2.level0_max_limit 28 1 read-write WAVE2_LOW_AREA1_LIMIT wave2 low area1 limit mode. 0: output 0. 1: output as level_min_limit2.level1_min_limit 27 1 read-write WAVE2_LOW_AREA0_LIMIT wave2 low area0 limit mode. 0: output 0. 1: output as level_min_limit2.level1_min_limit 26 1 read-write WAVE2_BELOW_MIN_LIMIT wave2 below min limit mode. 0: output 0. 1: output 0xffff. 2: output as level_min_limit2.level1_min_limit 24 2 read-write WAVE1_ABOVE_MAX_LIMIT wave1 above max limit mode. 0: output 0xffff. 1: output 0x0. 2: output as level_max_limit1.level0_max_limit 22 2 read-write WAVE1_HIGH_AREA1_LIMIT wave1 high area1 limit mode. 0: output 0xffff. 1: output as level_max_limit1.level0_max_limit 21 1 read-write WAVE1_HIGH_AREA0_LIMIT wave1 high area0 limit mode. 0: output 0xffff. 1: output as level_max_limit1.level0_max_limit 20 1 read-write WAVE1_LOW_AREA1_LIMIT wave1 low area1 limit mode. 0: output 0. 1: output as level_min_limit1.level1_min_limit 19 1 read-write WAVE1_LOW_AREA0_LIMIT wave1 low area0 limit mode. 0: output 0. 1: output as level_min_limit1.level1_min_limit 18 1 read-write WAVE1_BELOW_MIN_LIMIT wave1 below min limit mode. 0: output 0. 1: output 0xffff. 2: output as level_min_limit1.level1_min_limit 16 2 read-write WAVE0_ABOVE_MAX_LIMIT wave0 above max limit mode. 0: output 0xffff. 1: output 0x0. 2: output as level_max_limit0.level0_max_limit 14 2 read-write WAVE0_HIGH_AREA1_LIMIT wave0 high area1 limit mode. 0: output 0xffff. 1: output as level_max_limit0.level0_max_limit 13 1 read-write WAVE0_HIGH_AREA0_LIMIT wave0 high area0 limit mode. 0: output 0xffff. 1: output as level_max_limit0.level0_max_limit 12 1 read-write WAVE0_LOW_AREA1_LIMIT wave0 low area1 limit mode. 0: output 0. 1: output as level_min_limit0.level1_min_limit 11 1 read-write WAVE0_LOW_AREA0_LIMIT wave0 low area0 limit mode. 0: output 0. 1: output as level_min_limit0.level1_min_limit 10 1 read-write WAVE0_BELOW_MIN_LIMIT wave0 below min limit mode. 0: output 0. 1: output 0xffff. 2: output as level_min_limit0.level1_min_limit 8 2 read-write SADDLE_TYPE saddle type seclect; 0:standard saddle. 1: triple-cos saddle. 7 1 read-write EN_WAVE2_VD_VQ_INJECT wave2 VdVq inject enable. 0: disable VdVq inject. 1: enable VdVq inject. 6 1 read-write EN_WAVE1_VD_VQ_INJECT wave1 VdVq inject enable. 0: disable VdVq inject. 1: enable VdVq inject. 5 1 read-write EN_WAVE0_VD_VQ_INJECT wave0 VdVq inject enable. 0: disable VdVq inject. 1: enable VdVq inject. 4 1 read-write WAVES_OUTPUT_TYPE wave0/1/2 output mode. 0: cosine wave. 1: saddle wave. 2. abs cosine wave. 3. saw wave 0 2 read-write wave_resolution resolution of wave0/1/2 0x4 32 0x00000000 0xFFFFFFFF LINES wave0/1/2 resolution 0 32 read-write 3 0x4 wave0,wave1,wave2 PHASE_SHIFT_WAVE[%s] no description available 0x8 32 0x00000000 0x0000FFFF VAL wave0 phase shifter value, default is 0x0. write other value will shift phase early as (cfg_value/2^16) period 0 16 read-write 3 0x4 wave0,wave1,wave2 VD_VQ_INJECT[%s] no description available 0x14 32 0x00000000 0xFFFFFFFF VQ_VAL Vq inject value 16 16 read-write VD_VAL Vd inject value 0 16 read-write vd_vq_load load wave0/1/2 vd vq value 0x20 32 0x00000000 0x00000001 LOAD load wave0/1/2 vd vq value. always read 0 0: vd vq keep previous value. 1: load wave0/1/2 vd vq value at sametime. 0 1 write-only 3 0x4 wave0,wave1,wave2 AMPLITUDE[%s] no description available 0x24 32 0x00000000 0x0001FFFF EN_SCAL enable wave amplitude scaling. 0: disable; 1: enable 16 1 read-write AMP_VAL amplitude scaling value. bit15-12 are integer part value. bit11-0 are fraction value. 0 16 read-write 3 0x4 wave0,wave1,wave2 MID_POINT[%s] no description available 0x30 32 0x00000000 0xFFFFFFFF VAL wave0 output middle point, use this value as 32 bit signed value. bit 31 is signed bit. bit30-27 is integer part value. bit26-0 is fraction value. 0 32 read-write 3 0x8 wave0,wave1,wave2 LIMIT[%s] no description available 0x3c min wave0 low area limit value 0x0 32 0x00000000 0xFFFFFFFF LIMIT1 low area limit level1 16 16 read-write LIMIT0 low area limit level0 0 16 read-write max wave0 high area limit value 0x4 32 0xFFFFFFFF 0xFFFFFFFF LIMIT1 high area limit level1 16 16 read-write LIMIT0 high area limit level0 0 16 read-write 3 0x4 wave0,wave1,wave2 DEADZONE_SHIFT[%s] no description available 0x54 32 0x00000000 0x0000FFFF VAL wave0 deadzone shifter value 0 16 read-write abz_mode wave_a/b/z output mode 0x60 32 0x00000000 0x11111333 REVERSE_EDGE_TYPE pulse reverse wave,reverse edge point: 0: between pulse's posedge and negedge, min period dedicated by the num line_width 1: edge change point flow pulse's negedge. 28 1 read-write EN_WDOG enable abz wdog: 0: disable abz wdog. 1: enable abz wdog. 24 1 read-write Z_POLARITY wave_z polarity. 0: normal output. 1: invert normal output 20 1 read-write B_POLARITY wave_b polarity. 0: normal output. 1: invert normal output 16 1 read-write A_POLARITY wave_a polarity. 0: normal output. 1: invert normal output 12 1 read-write Z_TYPE wave_z type: 0: zero pulse and output high at both wave_a and wave_b are high. mantain about 25% period. 1: zero pulse output high about 75% period. start from 0 to 75% period. 2: zero pulse output high about 100% period. 3: wave_z output as tree-phase wave same as wave_a/wave_b 8 2 read-write B_TYPE wave_b type: 0: Two-phase orthogonality wave_b. 1: reverse wave of pulse/reverse type. 2: down wave of up/down type. 3: Three-phase orthogonality wave_b. 4 2 read-write A_TYPE wave_a type: 0: Two-phase orthogonality wave_a. 1: pulse wave of pulse/reverse type. 2: up wave of up/down type. 3: Three-phase orthogonality wave_a. 0 2 read-write abz_resolution resolution of wave_a/b/z 0x64 32 0x00000000 0xFFFFFFFF LINES wave_a/b/z resolution 0 32 read-write 3 0x4 a,b,z PHASE_SHIFT_ABZ[%s] no description available 0x68 32 0x00000000 0x0000FFFF VAL wave_a phase shifter value, default is 0x0. write other value will shift phase early as (cfg_value/2^16) period. 0 16 read-write line_width Two-phase orthogonality wave 1/4 period 0x74 32 0x00000000 0xFFFFFFFF LINE the num of system clk by 1/4 period when using as Two-phase orthogonality. 0 32 read-write wdog_width wdog width of qeo 0x78 32 0x00000000 0xFFFFFFFF WIDTH wave will step 1/4 line to reminder user QEO still in controlled if QEO has no any toggle after the num of wdog_width sys clk. 0 32 read-write postion_sync sync abz owned postion 0x7c 32 0x00000000 0x00000001 POSTION load next valid postion into abz owned postion. always read 0 0: sync abz owned postion with next valid postion. 1: not sync. 0 1 write-only mode pwm mode 0x80 32 0x00000000 0xFFFF031F PWM7_SAFETY PWM safety mode phase table 30 2 read-write PWM6_SAFETY PWM safety mode phase table 28 2 read-write PWM5_SAFETY PWM safety mode phase table 26 2 read-write PWM4_SAFETY PWM safety mode phase table 24 2 read-write PWM3_SAFETY PWM safety mode phase table 22 2 read-write PWM2_SAFETY PWM safety mode phase table 20 2 read-write PWM1_SAFETY PWM safety mode phase table 18 2 read-write PWM0_SAFETY PWM safety mode phase table 16 2 read-write PWM_ENTER_SAFETY_MODE PWM enter safety mode 0: not enter 1: enter 9 1 read-write PWM_SAFETY_BYPASS PWM safety mode bypass 0: not bypass 1: bypass 8 1 read-write REVISE_UP_DN exchange PWM pairs’ output 0: not exchange. 1: exchange. 4 1 read-write PHASE_NUM pwm force phase number. 0 4 read-write resolution resolution of pwm 0x84 32 0x00000000 0xFFFFFFFF LINES pwm resolution 0 32 read-write 4 0x4 a,b,c,d PHASE_SHIFT[%s] no description available 0x88 32 0x00000000 0x0000FFFF VAL pwm_a phase shifter value, default is 0x0. write other value will shift phase early as (cfg_value/2^16) period 0 16 read-write 24 0x4 posedge0,posedge1,posedge2,posedge3,posedge4,posedge5,posedge6,posedge7,posedge8,posedge9,posedge10,posedge11,negedge0,negedge1,negedge2,negedge3,negedge4,negedge5,negedge6,negedge7,negedge8,negedge9,negedge10,negedge11 PHASE_TABLE[%s] no description available 0x98 32 0x00000000 0x0000FFFF PWM7 pwm phase table value 14 2 read-write PWM6 pwm phase table value 12 2 read-write PWM5 pwm phase table value 10 2 read-write PWM4 pwm phase table value 8 2 read-write PWM3 pwm phase table value 6 2 read-write PWM2 pwm phase table value 4 2 read-write PWM1 pwm phase table value 2 2 read-write PWM0 pwm phase table value 0 2 read-write postion_software softwave inject postion 0xf8 32 0x00000000 0xFFFFFFFF POSTION_SOFTWAVE softwave inject postion 0 32 read-write postion_sel select softwave inject postion 0xfc 32 0x00000000 0x00000001 POSTION_SEL enable softwave inject postion. 0: disable. 1: enable. 0 1 read-write status qeo status 0x100 32 0x00000000 0xFFFF0001 PWM_FOURCE qeo_pwm_force observe 16 16 read-only PWM_SAFETY pwm_fault status 0 1 read-only debug0 qeo debug 0 0x104 32 0x00000000 0xFFFFFFFF WAVE1 wave1 observe 16 16 read-only WAVE0 wave0 observe 0 16 read-only debug1 qeo debug 1 0x108 32 0x00000000 0x1111FFFF QEO_FINISH qeo finish observe 28 1 read-only WAVE_Z wave_z observe 24 1 read-only WAVE_B wave_b observe 20 1 read-only WAVE_A wave_a observe 16 1 read-only WAVE2 wave2 observe 0 16 read-only debug2 qeo debug 2 0x10c 32 0x00000000 0xFFFFFFFF ABZ_OWN_POSTION abz_own_postion observe 0 32 read-only debug3 qeo debug 3 0x110 32 0x00000000 0xFFFFFFFF ABZ_OWN_POSTION abz_own_postion observe 0 32 read-only QEO1 QEO1 QEO 0xf030c000 MMC0 MMC0 MMC 0xf0310000 0x0 0x334 registers CR Control Register 0x0 32 0x00000000 0xBFFFFFFF SFTRST Software reset, high active. When write 1 ,all internal logical will be reset. 0b - No action 1b - All MMC internal registers are forced into their reset state. Interface registers are not affected. 31 1 read-write INI_BR0_POS_REQ Auto clear. Only effective in open_loop mode. 29 1 read-write INI_BR1_POS_REQ Auto clear. Only effective in open_loop mode. 28 1 read-write FRCACCELZERO Zeroise the accelerator calculation. 27 1 read-write MS_COEF_EN Multiple Coefficients Enable 26 1 read-write INI_DELTA_POS_TRG_TYPE 0: Time Stamp in the configuration 1: Risedge of In Trg[0] 2: Risedge of In Trg[1] 3: Risedge of out trg[0] 4: Risedge of out trg[1] 5: triggered by self position trigger 6: triggered by self speed trigger Otherser: no function 23 3 read-write INI_POS_TRG_TYPE 0: Time Stamp in the configuration 1: Risedge of In Trg[0] 2: Risedge of In Trg[1] 3: Risedge of out trg[0] 4: Risedge of out trg[1] 5: triggered by self position trigger 6: triggered by self speed trigger Otherser: no function 20 3 read-write INI_DELTA_POS_CMD_MSK 1: change 0: won't change bit 3: for delta accel bit 2: for delta speed bit 1: for delta revolution bit 0: for delta position 16 4 read-write INI_DELTA_POS_REQ 1: Command to reload the delta pos. Auto clear 0: 15 1 read-write OPEN_LOOP_MODE 1: in open loop mode 0: not in open loop mode 14 1 read-write POS_TYPE 1: 32-bit for rev+pos, with each element occupying 16 bits 0: 32-bit for rev, and 32 bit for pos When CR[MANUAL_IO]==1, 1: means that the INI_POS is acting as INI_POS cmds 0: means that the INI_POS is simulating the input of iposition and itimestamp 13 1 read-write INI_POS_CMD_MSK 1: change 0: won't change bit 3: for accel bit 2: for speed bit 1: for revolution bit 0: for position 9 4 read-write INI_POS_REQ 1: Command to reload the positions. Auto clear 0: 8 1 read-write INI_COEFS_CMD_MSK 1: change 0: won't change bit 2: for ACOEF bit 1: for ICOEF bit 0: for PCOEF 5 3 read-write INI_COEFS_CMD 1: Command to reload the coefs. Auto clear 0: 4 1 read-write SHADOW_RD_REQ 1: Shadow Request for read of tracking parameters. Auto clear 0: 3 1 read-write ADJOP 1: use the input iposition whenever a new iposition comes, and force the predicted output stop at the boundaries. 0: Continuous tracking mode, without any boundary check 2 1 read-write DISCRETETRC 1: Discrete position input 0: Continuous position input 1 1 read-write MOD_EN Module Enable 0 1 read-write STA Status Register 0x4 32 0x00000020 0xF00007F7 ERR_ID Tracking ERR_ID 28 4 read-only SPEED_TRG_VALID W1C 10 1 write-only POS_TRG_VALID W1C 9 1 write-only INI_DELTA_POS_REQ_CMD_DONE W1C 8 1 write-only INI_BR0_POS_REQ_CMD_DONE W1C 7 1 write-only INI_BR1_POS_REQ_CMD_DONE W1C 6 1 write-only IDLE Tracking Module in Idle status 5 1 read-only OOSYNC Tracking module out-of sync. W1C 4 1 write-only INI_POS_REQ_CMD_DONE W1C 2 1 write-only INI_COEFS_CMD_DONE W1C 1 1 write-only SHADOW_RD_DONE Shadow ready for read. Auto cleared by setting CR[SHADOW_RD_REQ] as 1 0 1 read-only INT_EN Interrupt Enable Register 0x8 32 0x00000000 0x000007D7 SPEED_TRG_VLD_IE Interrupt Enable for SPEED_TRG_VALID 10 1 read-write POS_TRG_VLD_IE Interrupt Enable for POS_TRG_VALID 9 1 read-write INI_DELTA_POS_REQ_CMD_DONE_IE Interrupt Enable for INI_DELTA_POS_REQ_CMD_DONE 8 1 read-write INI_BR0_POS_REQ_CMD_DONE_IE Interrupt Enable for INI_BR0_POS_REQ_CMD_DONE 7 1 read-write INI_BR1_POS_REQ_CMD_DONE_IE Interrupt Enable for INI_BR1_POS_REQ_CMD_DONE 6 1 read-write OOSYNC_IE Interrupt Enable for OOSYNC 4 1 read-write INI_POS_REQ_CMD_DONE_IE Interrupt Enable for INI_POS_REQ_CMD_DONE 2 1 read-write INI_COEFS_CMD_DONE_IE Interrupt Enable for INI_COEFS_CMD_DONE 1 1 read-write SHADOW_RD_DONE_IE Interrupt Enable for SHADOW_RD_DONE 0 1 read-write SYSCLK_FREQ System Clock Frequency Register 0xc 32 0x00000000 0xFFFFFFFF VAL system clock frequency, ufix<32, 0> 0 32 read-write SYSCLK_PERIOD System Clock Period Register 0x10 32 0x00000000 0xFFFFFFFF VAL round( the value of clock period * (2^24)*(2^20) ), ufix<32, 0> 0 32 read-write OOSYNC_THETA_THR Position Out-Of-Sync Threshold Regster 0x14 32 0x00000000 0xFFFFFFFF VAL the threshold of theta difference between actual and prediction for out-of-sync determination,ufix<32, 32> 0 32 read-write DiscreteCfg0 Discrete Mode Configuration 0 Register 0x18 32 0x00000000 0x000FFFFF POSMAX Max ID Of Lines. For example-1, for 512 lines, it is 511. ufix<32, 0> 0 20 read-write DiscreteCfg1 Discrete Mode Configuration 1 Register 0x1c 32 0x00000000 0xFFFFFFFF INV_POSMAX discrete mode: ufix<32, 0> of 1/(Number Of Lines) continuous mode: the max delta for tracking from the last received position, ufix<32, 32> 0 32 read-write ContCfg0 Continuous Mode Configuration 0 Register 0x20 32 0x00000000 0xFFFFFFFF HALF_CIRC_THETA the theta for cal the clockwise or anticlockwise rotation between two adjacent inputs, ufix<32, 32> 0 32 read-write INI_POS_TIME The destined timestamp register for position initialization 0x24 32 0x00000000 0xFFFFFFFF VAL indicate the time to change the values. 0: instant change 0 32 read-write INI_POS The destined position register for position initialization 0x28 32 0x00000000 0xFFFFFFFF VAL the value; continuous mode: ufix<32, 32> 0 32 read-write INI_REV The destined revolution register for position initialization 0x2c 32 0x00000000 0xFFFFFFFF VAL the value; continuous mode: ufix<32, 0> 0 32 read-write INI_SPEED The destined speed register for position initialization 0x30 32 0x00000000 0xFFFFFFFF VAL the value; continuous mode: fix<32, 19> 0 32 read-write INI_ACCEL The destined accelerator register for position initialization 0x34 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 19> 0 32 read-write INI_COEF_TIME The destined timestamp register for coefficients initialization 0x38 32 0x00000000 0xFFFFFFFF VAL indicate the time to change the values. 0: instant change 0 32 read-write INI_PCOEF The destined coefficient P register for coefficients initialization 0x3c 32 0x00000000 0xFFFFFFFF VAL the value, fix<32, 15> 0 32 read-write INI_ICOEF The destined coefficient I register for coefficients initialization 0x40 32 0x00000000 0xFFFFFFFF VAL the value, fix<32, 21> 0 32 read-write INI_ACOEF The destined coefficient A register for coefficients initialization 0x44 32 0x00000000 0xFFFFFFFF VAL the value, fix<32, 19> 0 32 read-write ESTM_TIM The timestamp register for internal estimation 0x48 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only ESTM_POS The position register for the internal estimation 0x4c 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only ESTM_REV The revolution register for the internal estimation 0x50 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only ESTM_SPEED The speed register for the internal estimation 0x54 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only ESTM_ACCEL The accelerator register for theinternal estimation 0x58 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only CUR_PCOEF The coefficient P register for the internal estimation 0x5c 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only CUR_ICOEF The coefficient I register for the internal estimation 0x60 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only CUR_ACOEF The coefficient A register for the internal estimation 0x64 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only INI_DELTA_POS_TIME The destined timestamp register for delta position initialization 0x68 32 0x00000000 0xFFFFFFFF VAL indicate the time to change the values. 0: instant change 0 32 read-write INI_DELTA_POS The destined delta position register for delta position initialization 0x6c 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: ufix <32, 32> 0 32 read-write INI_DELTA_REV The destined delta revolution register for delta position initialization 0x70 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 0> 0 32 read-write INI_DELTA_SPEED The destined delta speed register for delta position initialization 0x74 32 0x00000000 0xFFFFFFFF VAL the value; continuous mode: fix<32, 19> 0 32 read-write INI_DELTA_ACCEL The destined delta accelerator register for delta position initialization 0x78 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 19> 0 32 read-write pos_trg_cfg Tracking Configuration pos trigger cfg 0x80 32 0x00000000 0x00000003 EDGE 0: (rising edge) pos inc greater than, 1: (falling edge) pos dec less than 1 1 read-write EN 1-trigger valid; 0-Trigger not valid" 0 1 read-write pos_trg_pos_thr Tracking Configuration position threshold 0x84 32 0x00000000 0xFFFFFFFF VAL For pos out trigger (pos). ufix<32, 32> 0 32 read-write pos_trg_rev_thr Tracking Configuration revolution threshold 0x88 32 0x00000000 0xFFFFFFFF VAL For pos out trigger (rev) fix<32, 0> 0 32 read-write speed_trg_cfg Tracking Configuration speed trigger cfg 0x8c 32 0x00000000 0x00000007 COMP_TYPE 1: Use abs value for comparion. 0: Use the speed with direction info (so not the abs value) 2 1 read-write EDGE 0: (rising edge) speed inc greater than, 1: (falling edge) speed dec less than 1 1 read-write EN 1-trigger valid; 0-Trigger not valid Normally it means either the max pos speed, or the min negative speed. 0 1 read-write speed_trg_thr Tracking Configuration speed threshold 0x90 32 0x00000000 0xFFFFFFFF VAL For speed trigger. continuous mode: fix<32, 19> 0 32 read-write 3 0x14 0,1,2 COEF_TRG_CFG[%s] no description available 0xa0 err_thr Tracking Configuration coef trigger cfg&index0 0x0 32 0x00000000 0xFFFFFFFF VAL ErrThr0: Error Threshold 0, (abs(tracking error)>= will choose the coefs as below) Note: ErrThr0>ErrThr1>ErrThr2 ufix<31, 28> 0 32 read-write P Tracking Configuration coef trigger cfg&index0 P 0x4 32 0x00000000 0xFFFFFFFF VAL P0_Coef, fix<32, 15> 0 32 read-write I Tracking Configuration coef trigger cfg&index0 I 0x8 32 0x00000000 0xFFFFFFFF VAL I0_Coef, fix<32, 21> 0 32 read-write A Tracking Configuration coef trigger cfg&index0 A 0xc 32 0x00000000 0xFFFFFFFF VAL A0_Coef,fix<32, 19> 0 32 read-write TIME Tracking Configuration coef trigger cfg&index0 time 0x10 32 0x00000000 0xFFFFFFFF VAL CoefTime0: Time Stayed using this coefs (counted in input samples). Ideal value of tracing cycles should +1. ufix<32,0> 0 32 read-write 2 0x100 0,1 BR[%s] no description available 0x100 BR_CTRL Prediction Control Register 0x0 32 0x00000000 0x63BDFFB7 SPEED_TRG_VALID_IE Interrupt Enable for SPEED_TRG_VALID 30 1 read-write POS_TRG_VALID_IE Interrupt Enable for POS_TRG_VALID 29 1 read-write INI_POS_TRG_TYPE 0: Time Stamp in the configuration 1: Risedge of In Trg[0] 2: Risedge of In Trg[1] 3: Risedge of out trg[0] 4: Risedge of out trg[1] 5: Risedge of self pos trigger 6: Risedge of self speed trigger Others: no function 23 3 read-write INI_POS_CMD_MSK 1: change 0: won't change bit 3: for accel bit 2: for speed bit 1: for revolution bit 0: for position 18 4 read-write INI_DELTA_POS_TRG_TYPE 0: Time Stamp in the configuration 1: Risedge of In Trg[0] 2: Risedge of In Trg[1] 3: Risedge of out trg[0] 4: Risedge of out trg[1] 5: Risedge of self pos trigger 6: Risedge of self speed trigger Others: no function 14 3 read-write INI_DELTA_POS_DONE_IE Interrupt Enable for INI_DELTA_POS_DONE 13 1 read-write INI_DELTA_POS_CMD_MSK 1: change 0: won't change bit 3: for delta accel bit 2: for delta speed bit 1: for delta revolution bit 0: for delta position 9 4 read-write INI_DELTA_POS_REQ 1: Command to reload the delta pos. Auto clear 0: 8 1 read-write OPEN_LOOP_MODE 1: in open loop mode 0: not in open loop mode 7 1 read-write PRED_MODE 1:continuously repeat pred, 0:cal the pred based on a definite time-stamp offset, 2:programed one-shot prediction mode 4 2 read-write NF_TRG_TYPE 1. Each non-first trigger by external trigger pin 0. Each non-first trigger by the timer 2 1 read-write F_TRG_TYPE 1. First trigger by external trigger pin 0. First trigger by the timer When in CR[MANUAL_IO]=1 mode, it is the prediction trigger 1 1 read-write BR_EN Branch Enable 0 1 read-write BR_TIMEOFF Prediction Timing Offset Register 0x4 32 0x00000000 0xFFFFFFFF VAL ufix<32, 0> time offset incycles from the trigger time 0 32 read-write BR_TRG_PERIOD Prediction Triggering Period Offset Register 0x8 32 0x00000000 0xFFFFFFFF VAL uifx<32, 0>, time offset incycles between each trigger time 0 32 read-write BR_TRG_F_TIME Prediction Triggering First Offset Register 0xc 32 0x00000000 0xFFFFFFFF VAL uifx<32, 0> the time for the first trigger 0 32 read-write BR_ST Prediction Status Register 0x10 32 0x00000000 0x0000076F OPEN_LOOP_ST 1:in open loop mode 0:in closed loop mode 10 1 read-only SPEED_TRG_VLD 1:self speed trigger event found 0:self speed trigger event not found yet 9 1 write-only POS_TRG_VLD 1:self position trigger event found 0:self position trigger event not found yet 8 1 write-only INI_DELTA_POS_DONE 1: the initialization of delta position command is done 0: the initialization of delta position command is not done 6 1 write-only IDLE 1: The prediction module is idle. 0: The prediction module is not idle. 5 1 read-only ERR_ID The module's error ID output 0 4 read-only BR_TRG_pos_cfg Prediction Configuration postion trigger cfg 0x40 32 0x00000000 0x00000003 EDGE bit1: 0: (rising edge) pos inc greater than, 1: (falling edge) pos dec less than 1 1 read-write EN 1-trigger valid; 0-Trigger not valid 0 1 read-write BR_TRG_pos_thr Prediction Configuration postion threshold 0x44 32 0x00000000 0xFFFFFFFF VAL For pos out trigger (pos). ufix<32, 32> 0 32 read-write BR_TRG_rev_thr Prediction Configuration revolutiom threshold 0x48 32 0x00000000 0xFFFFFFFF VAL For pos out trigger (rev) ufix<32, 0> 0 32 read-write BR_TRG_speed_cfg Prediction Configuration speed trigger cfg 0x4c 32 0x00000000 0x00000007 COMP_TYPE Use abs value for comparion. 0: Use the speed with direction info (so not the abs value) 2 1 read-write EDGE_SEL 0: (rising edge) speed inc greater than, 1: (falling edge) speed dec less than 1 1 read-write EN 1-trigger valid; 0-Trigger not valid Normally it means either the max pos speed, or the min negative speed. 0 1 read-write BR_TRG_speed_thr Prediction Configuration speed threshold 0x50 32 0x00000000 0xFFFFFFFF VAL For speed trigger. continuous mode: fix<32, 19> 0 32 read-write BR_INI_POS_TIME Initialization timestamp for open-loop mode 0xc0 32 0x00000000 0xFFFFFFFF VAL indicate the time to change the values. 0: instant change 0 32 read-write BR_INI_POS Initialization position for open-loop mode 0xc4 32 0x00000000 0xFFFFFFFF VAL the value ufix<32, 32> 0 32 read-write BR_INI_REV Initialization revolution for open-loop mode 0xc8 32 0x00000000 0xFFFFFFFF VAL the value ufix<32, 0> 0 32 read-write BR_INI_SPEED Initialization speed for open-loop mode 0xcc 32 0x00000000 0xFFFFFFFF VAL the value fix<32, 19> 0 32 read-write BR_INI_ACCEL Initialization acceleration for open-loop mode 0xd0 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 19> 0 32 read-write BR_INI_DELTA_POS_TIME Initialization timestamp for delta mode in prediction mode 0xd4 32 0x00000000 0xFFFFFFFF VAL indicate the time to change the values. 0: instant change 0 32 read-write BR_INI_DELTA_POS Initialization delta position for delta mode in prediction mode 0xd8 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: ufix<32, 32> 0 32 read-write BR_INI_DELTA_REV Initialization delta revolution for delta mode in prediction mode 0xdc 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 0> 0 32 read-write BR_INI_DELTA_SPEED Initialization delta speed for delta mode in prediction mode 0xe0 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 19> 0 32 read-write BR_INI_DELTA_ACCEL Initialization delta acceleration for delta mode in prediction mode 0xe4 32 0x00000000 0xFFFFFFFF VAL the value continuous mode: fix<32, 19> 0 32 read-write BR_CUR_POS_TIME Monitor of the output timestamp 0xec 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BR_CUR_POS Monitor of the output position 0xf0 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BR_CUR_REV Monitor of the output revolution 0xf4 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BR_CUR_SPEED Monitor of the output speed 0xf8 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BR_CUR_ACCEL Monitor of the output acceleration 0xfc 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK0_TIMESTAMP Monitor of the just received input timestamp for tracing logic 0x300 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK0_POSITION Monitor of the just received input position for tracing logic 0x304 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK0_REVOLUTION Monitor of the just received input revolution for tracing logic 0x308 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK0_SPEED Monitor of the just received input speed for tracing logic 0x30c 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK0_ACCELERATOR Monitor of the just received input acceleration for tracing logic 0x310 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK1_TIMESTAMP Monitor of the previous received input timestamp for tracing logic 0x320 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK1_POSITION Monitor of the previous received input position for tracing logic 0x324 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK1_REVOLUTION Monitor of the previous received input revolution for tracing logic 0x328 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK1_SPEED Monitor of the previous received input speed for tracing logic 0x32c 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only BK1_ACCELERATOR Monitor of the previous received input acceleration for tracing logic 0x330 32 0x00000000 0xFFFFFFFF VAL the value 0 32 read-only MMC1 MMC1 MMC 0xf0314000 PWM0 PWM0 PWM 0xf0318000 0x0 0x290 registers unlk Shadow registers unlock register 0x0 32 0x00000000 0xFFFFFFFF SHUNLK write 0xB0382607 to unlock the shadow registers of register offset from 0x04 to 0x78, otherwise the shadow registers can not be written. 0 32 read-write sta Counter start register 0x4 32 0x00000000 0xFFFFFFFF XSTA pwm timer counter extended start point, should back to this value after reach xrld 28 4 read-write STA pwm timer counter start value sta/rld will be loaded from shadow register to work register at main counter reload time, or software write unlk.shunlk 4 24 read-write rld Counter reload register 0x8 32 0x00000000 0xFFFFFFFF XRLD timeout counter extended reload point, counter will reload to xsta after reach this point 28 4 read-write RLD pwm timer counter reload value 4 24 read-write 24 0x4 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 CMP[%s] no description available 0xc 32 0x00000000 0xFFFFFFFF XCMP extended counter compare value 28 4 read-write CMP clock counter compare value, the compare output is 0 at default, set to 1 when compare value meet, and clr to 0 when timer reload. Software can invert the output by setting chan_cfg.out_polarity. 4 24 read-write CMPHLF half clock counter compare value 3 1 read-write CMPJIT jitter counter compare value 0 3 read-write frcmd Force output mode register 0x78 32 0x00000000 0x0000FFFF FRCMD 2bit for each PWM output channel (0-7); 00: force output 0 01: force output 1 10: output highz 11: no force 0 16 read-write shlk Shadow registers lock register 0x7c 32 0x00000000 0x80000000 SHLK write 1 to lock all shawdow register, wirte access is not permitted 31 1 read-write 24 0x4 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 CHCFG[%s] no description available 0x80 32 0x00000000 0xFFFF0003 CMPSELEND assign the last comparator for this output channel 24 5 read-write CMPSELBEG assign the first comparator for this output channel 16 5 read-write OUTPOL output polarity, set to 1 will invert the output 1 1 read-write gcr Global control register 0xf0 32 0x00000000 0xFDFFFFEF FAULTI3EN 1- enable the internal fault input 3 31 1 read-write FAULTI2EN 1- enable the internal fault input 2 30 1 read-write FAULTI1EN 1- enable the internal fault input 1 29 1 read-write FAULTI0EN 1- enable the internal fault input 0 28 1 read-write DEBUGFAULT 1- enable debug mode output protection 27 1 read-write FRCPOL polarity of input pwm_force, 1- active low 0- active high 26 1 read-write HWSHDWEDG When hardware event is selected as shawdow register effective time and the select comparator is configured as input capture mode. This bit assign its which edge is used as compare shadow register hardware load event. 1- Falling edge 0- Rising edge 24 1 read-write CMPSHDWSEL This bitfield select one of the comparators as hardware event time to load comparator shadow registers 19 5 read-write FAULTRECEDG When hardware load is selected as output fault recover trigger and the selected channel is capture mode. This bit assign its effective edge of fault recover trigger. 1- Falling edge 0- Rising edge 18 1 read-write FAULTRECHWSEL Selec one of the 24 comparators as fault output recover trigger. 13 5 read-write FAULTE1EN 1- enable the external fault input 1 12 1 read-write FAULTE0EN 1- enable the external fault input 0 11 1 read-write FAULTEXPOL external fault polarity 1-active low 0-active high 9 2 read-write RLDSYNCEN 1- pwm timer counter reset to reload value (rld) by synci is enabled 8 1 read-write CEN 1- enable the pwm timer counter 0- stop the pwm timer counter 7 1 read-write FAULTCLR 1- Write 1 to clear the fault condition. The output will recover if FAULTRECTIME is set to 2b'11. User should write 1 to this bit after the active FAULT signal de-assert and before it re-assert again. 6 1 read-write XRLDSYNCEN 1- pwm timer extended counter (xcnt) reset to extended reload value (xrld) by synci is enabled 5 1 read-write TIMERRESET set to clear current timer(total 28bit, main counter and tmout_count ). Auto clear 3 1 read-write FRCTIME This bit field select the force effective time 00: force immediately 01: force at main counter reload time 10: force at FRCSYNCI 11: no force 1 2 write-only SWFRC 1- write 1 to enable software force, if the frcsrcsel is set to 0, force will take effect 0 1 read-write shcr Shadow register control register 0xf4 32 0x00000000 0x00001FFF FRCSHDWSEL This bitfield select one of the comparators as hardware event time to load FRCMD shadow registers 8 5 read-write CNTSHDWSEL This bitfield select one of the comparators as hardware event time to load the counter related shadow registers (STA and RLD) 3 5 read-write CNTSHDWUPT This bitfield select when the counter related shadow registers (STA and RLD) will be loaded to its work register 00: after software set shlk bit of shlk register 01: immediately after the register being modified 10: after hardware event assert, user can select one of the comparators to generate this hardware event. The comparator can be either output compare mode or input capture mode. 11: after SHSYNCI assert 1 2 read-write SHLKEN 1- enable shadow registers lock feature, 0- disable shadow registers lock, shlk bit will always be 0 0 1 read-write 24 0x4 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 CAPPOS[%s] no description available 0x100 32 0x00000000 0xFFFFFFF0 CAPPOS counter value captured at input posedge 4 28 read-only cnt Counter 0x170 32 0x00000000 0xFFFFFFFF XCNT current extended counter value 28 4 read-only CNT current clock counter value 4 24 read-only 24 0x4 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 CAPNEG[%s] no description available 0x180 32 0x00000000 0xFFFFFFFF CAPNEG counter value captured at input signal falling edge 0 32 read-only cntcopy Counter copy 0x1f0 32 0x00000000 0xFFFFFFFF XCNT current extended counter value 28 4 read-only CNT current clock counter value 4 24 read-only 8 0x4 0,1,2,3,4,5,6,7 PWMCFG[%s] no description available 0x200 32 0x00000000 0x1FFFFFFF OEN PWM output enable 1- output is enabled 0- output is disabled 28 1 read-write FRCSHDWUPT This bitfield select when the FRCMD shadow register will be loaded to its work register 00: after software set shlk bit of shlk register 01: immediately after the register being modified 10: after hardware event assert, user can select one of the comparators to generate this hardware event. The comparator can be either output compare mode or input capture mode. 11: after SHSYNCI assert 26 2 read-write FAULTMODE This bitfield defines the PWM output status when fault condition happen 00: force output 0 01: force output 1 1x: output highz 24 2 read-write FAULTRECTIME This bitfield select when to recover PWM output after fault condition removed. 00: immediately 01: after pwm timer counter reload time 10: after hardware event assert, user can select one of the comparators to generate this hardware event. The comparator can be either output compare mode or input capture mode. 11: after software write faultclr bit in GCR register 22 2 read-write FRCSRCSEL Select sources for force output 0- force output is enabled when FRCI assert 1- force output is enabled by software write swfrc to 1 21 1 read-write PAIR 1- PWM output is in pair mode. Note the two PWM outputs need to be both set to pair mode. 0- PWM output is in indepandent mode. 20 1 read-write DEADAREA This bitfield define the PWM pair deadarea length. The unit is 0.5 cycle. The minimum length of deadarea is 1 cycle. Note: user should configure pair bit and this bitfield before PWM output is enabled. 0 20 read-write sr Status register 0x220 32 0x00000000 0x0FFFFFFF FAULTF fault condition flag 27 1 write-only XRLDF extended reload flag, this flag set when xcnt count to xrld value or when SYNCI assert 26 1 write-only HALFRLDF half reload flag, this flag set when cnt count to rld/2 25 1 write-only RLDF reload flag, this flag set when cnt count to rld value or when SYNCI assert 24 1 write-only CMPFX comparator output compare or input capture flag 0 24 write-only irqen Interrupt request enable register 0x224 32 0x00000000 0x0FFFFFFF FAULTIRQE fault condition interrupt enable 27 1 read-write XRLDIRQE extended reload flag interrupt enable 26 1 read-write HALFRLDIRQE half reload flag interrupt enable 25 1 read-write RLDIRQE reload flag interrupt enable 24 1 read-write CMPIRQEX comparator output compare or input capture flag interrupt enable 0 24 read-write dmaen DMA request enable register 0x22c 32 0x00000000 0x0FFFFFFF FAULTEN fault condition DMA request enable 27 1 read-write XRLDEN extended reload flag DMA request enable 26 1 read-write HALFRLDEN half reload flag DMA request enable 25 1 read-write RLDEN reload flag DMA request enable 24 1 read-write CMPENX comparator output compare or input capture flag DMA request enable 0 24 read-write 24 0x4 cmpcfg0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 CMPCFG[%s] no description available 0x230 32 0x00000000 0x000000FF XCNTCMPEN This bitfield enable the comparator to compare xcmp with xcnt. 4 4 read-write CMPSHDWUPT This bitfield select when the comparator shadow register will be loaded to its work register 00: after software set shlk bit of shlk register 01: immediately after the register being modified 10: after hardware event assert, user can select one of the comparators to generate this hardware event. The comparator can be either output compare mode or input capture mode. 11: after SHSYNCI assert 2 2 read-write CMPMODE comparator mode 0- output compare mode 1- input capture mode 1 1 read-write PWM1 PWM1 PWM 0xf031c000 RDC RDC RDC 0xf0320000 0x0 0xf0 registers rdc_ctl rdc control 0x0 32 0x00000000 0x003FF077 TS_SEL Time stamp selection for accumulation 0: end of accumulation 1: start of accumulation 2: center of accumulation 20 2 read-write ACC_LEN Accumulate time, support on the fly change 0:1 cycle 1:2 cycles … 255: 256 cycles 12 8 read-write RECTIFY_SEL Select reference point of rectify signal 0: 0 phase of internal exciting signal 1: 90 phase of internal exciting signal 2: 180 phase of internal exciting signal 3: 270 phase of internal exciting signal 4: use value on external pin 5: use invert value on external pin 4 3 read-write ACC_EN Enable rdc accumulate 0: rdc disable 1: rdc enable 2 1 read-write EXC_START Write 1 start excite signal, always read 0 0: no effect 1: start excite signal 1 1 read-write EXC_EN Enable rdc excite signal 0: rdc disable 1: rdc enable 0 1 read-write acc_i accumulate result of i_channel 0x4 32 0x00000000 0xFFFFFFFF ACC accumulate result of i_channel, this is a signed number 0 32 read-only acc_q accumulate result of q_channel 0x8 32 0x00000000 0xFFFFFFFF ACC accumulate result of q_channel, this is a signed number 0 32 read-only in_ctl input channel selection 0xc 32 0x00000000 0x0011F11F PORT_Q_SEL Input port selection for q_channel, 0:sel port0 1:sel port1 20 1 read-write CH_Q_SEL Input channel selection for q_channel 0: channel 0 selected 1: channel 1 selected … 31: channel 31 selected 12 5 read-write PORT_I_SEL Input port selection for i_channel, 0:sel port0 1:sel port1 8 1 read-write CH_I_SEL Input channel selection for i_channel 0: channel 0 selected 1: channel 1 selected … 31: channel 31 selected 0 5 read-write out_ctl output channel selection 0x10 32 0x00000000 0x00001F1F CH_Q_SEL Output channel selection for q_channel 8 5 read-write CH_I_SEL Output channel selection for i_channel 0 5 read-write exc_timming excitation signal timming setting 0x34 32 0x000400C8 0x01FFFFFF SWAP Swap output of PWM and DAC 0: disable swap 1: swap output 24 1 read-write PWM_PRD Pwm period in samples, 0:1 sample period 1: 2 sample period ... 15: 16 sample period 20 4 read-write SMP_NUM Number of sample every excitation period 0: 4 point 1: 8 point … 8: 1024 point 16 4 read-write SMP_RATE The period for excitation sample in clock cycle, 0: not allowed 1: 1 cycle 2: 2 cycles … 65535 : 65535 cycles 0 16 read-write exc_scaling amplitude scaling for excitation 0x38 32 0x00000011 0x000000FF AMP_EXP Amplitude scaling for excitation, amplitude = [table value] x man / 2^exp 4 4 read-write AMP_MAN Amplitude scaling for excitation, amplitude = [table value] x man / 2^exp 0 4 read-write exc_offset amplitude offset setting 0x3c 32 0x00800000 0x00FFFFFF AMP_OFFSET Offset for excitation 0 24 read-write pwm_scaling amplitude scaling for excitation 0x40 32 0x00000111 0x000031FF N_POL Polarity of exc_n signal 0: high active 1: low active 13 1 read-write P_POL Polarity of exc_p signal 0: high active 1: low active 12 1 read-write DITHER Enable dither of pwm 0: disable 1: enable 8 1 read-write AMP_EXP Amplitude scaling for excitation, amplitude = [table value] x man / 2^exp 4 4 read-write AMP_MAN Amplitude scaling for excitation, amplitude = [table value] x man / 2^exp 0 4 read-write pwm_offset amplitude offset setting 0x44 32 0x00000064 0x00FFFFFF AMP_OFFSET Offset for excitation 0 24 read-write trig_out0_cfg Configuration for trigger out 0 in clock cycle 0x48 32 0x00100019 0x001FFFFF ENABLE Enable trigger out0 0: disable 1: enable 20 1 read-write LEAD_TIM Lead time for trigger out0 from center of low level , this is a signed value … 2: 2 cycle befor center of low level 1: 1 cycle before center of low level 0: center of low level -1: 1cycle after center of low level -2: 2cycle after center of low level 0 20 read-write trig_out1_cfg Configuration for trigger out 1 in clock cycle 0x4c 32 0x0010004B 0x001FFFFF ENABLE Enable trigger out1 0: disable 1: enable 20 1 read-write LEAD_TIM Lead time for trigger out0 from center of hight level , this is a signed value … 2: 2 cycle befor center of hight level 1: 1 cycle before center of hight level 0: center of hight level -1: 1cycle after center of hight level -2: 2cycle after center of hight level 0 20 read-write pwm_dz pwm dead zone control in clock cycle 0x50 32 0x00000000 0x0000FFFF DZ_N Exc_n dead zone in clock cycle before swap 0: no dead zone 1: 1 cycle dead zone 2: 2 cycle dead zone … 8 8 read-write DZ_P Exc_p dead zone in clock cycle before swap 0: no dead zone 1: 1 cycle dead zone 2: 2 cycle dead zone … 0 8 read-write sync_out_ctrl synchronize output signal control 0x54 32 0x00000000 0xFFFF0033 PWM_OUT_DLY Delay bettween the delyed trigger and the first pwm pulse in clock cycle 1: 1 cycle 2: 2 cycle … 16 16 read-only MIN2TRIG_EN Enable trigger out from the min point of exciting signal 1: enable 0: disable 5 1 read-write MAX2TRIG_EN Enable trigger out from the max point of exciting signal 1: enable 0: disable 4 1 read-write SYNC_OUT_SEL Select output synchornize signal 0: 0 phase of internal exciting signal 1: 90 phase of internal exciting signal 2: 180 phase of internal exciting signal 3: 270 phase of internal exciting signal 0 2 read-write exc_sync_dly trigger in delay timming in soc bus cycle 0x58 32 0x01000001 0x01FFFFFF DISABLE Disable hardware trigger input 0: enable 1: disable 24 1 read-write DELAY Trigger in delay timming in bus cycle from rising edge of trigger signal 0: 1 cycle 1: 2 cycle … 0xffffff: 2^24 cycle 0 24 read-write max_i max value of i_channel 0x70 32 0x00000000 0xFFFFFF01 MAX Max value of i_channel, write clear 8 24 read-write VALID Max value valid, write clear 0: max value is not valid 1: max value is valid 0 1 read-write min_i min value of i_channel 0x74 32 0x00000000 0xFFFFFF01 MIN Min value of i_channel, write clear 8 24 read-write VALID Min value valid, write clear 0: min value is not valid 1: min value is valid 0 1 read-write max_q max value of q_channel 0x78 32 0x00000000 0xFFFFFF01 MAX Max value of q_channel, write clear 8 24 read-write VALID Max value valid, write clear 0: max value is not valid 1: max value is valid 0 1 read-write min_q min value of q_channel 0x7c 32 0x00000000 0xFFFFFF01 MIN Min value of q_channel, write clear 8 24 read-write VALID Min value valid, write clear 0: min value is not valid 1: min value is valid 0 1 read-write thrs_i the offset setting for edge detection of the i_channel 0x80 32 0x00000000 0xFFFFFF00 THRS The offset setting for edge detection of the i_channel, signed number … 2: the offset is 0x800000+2 1: the offset is 0x800000+1 0: the offset is 0x800000 -1: the offset is 0x800000-1 -2: the offset is 0x800000-2 … 8 24 read-write thrs_q the offset setting for edge detection of the q_channel 0x84 32 0x00000000 0xFFFFFF00 THRS The offset setting for edge detection of the q_channel, signed number … 2: the offset is 0x800000+2 1: the offset is 0x800000+1 0: the offset is 0x800000 -1: the offset is 0x800000-1 -2: the offset is 0x800000-2 … 8 24 read-write edg_det_ctl the control for edge detection 0x88 32 0x00000080 0x000003F7 HOLD The minimum edge distance in sample 0:1 sample 1:2 sample 2:3 samples … 63:64 samples 4 6 read-write FILTER The continuous positive or negative number for edge detection 0: 1 1: 2 … 7: 8 0 3 read-write acc_scaling scaling for accumulation result 0x8c 32 0x00000000 0x0000010F TOXIC_LK Toxic accumulation data be removed control 1: enable 0: disable 8 1 read-write ACC_SHIFT Accumulation value shift control, this is a sign number. 0: {acc[39],acc[38:8]} 1: {acc[39],acc[37:7]} 2: {acc[39],acc[36:6]} … 7: {acc[39],acc[31:1]} 8: {acc[39],acc[30:0]} 9: acc/2^9 10: acc/2^10 … 15:acc/2^15 0 4 read-write exc_period period of excitation 0x90 32 0x00001770 0xFFFFFFFF EXC_PERIOD The num in clock cycle for period of excitation 0: invalid value 1:1 cycle 2:2 cycles … 0 32 read-write sync_delay_i delay setting in clock cycle for synchronous signal 0xa0 32 0x00000008 0xFFFFFFFF DELAY Delay in clock cycle for synchronous signal , the value shoud less than half of exc_period.exc_period. 0: invalid value 1: 1 cycles 2: 2 cycles ... 0 32 read-write rise_delay_i delay in clock cycle between excitation synchrnous signal and rising edge of i_channel data 0xa8 32 0x00000000 0xFFFFFFFF RISE_DELAY Delay value on rising edge of i_channel data 0: 1 cycle 1: 2 cycles … 0 32 read-only fall_delay_i delay in clock cycle between excitation synchrnous signal and falling edge of i_channel data 0xac 32 0x00000000 0xFFFFFFFF FALL_DELAY Delay value on falling edge of i_channel data 0: 1 cycle 1: 2 cycles … 0 32 read-only sample_rise_i sample value on rising edge of rectify signal 0xb0 32 0x00000000 0xFFFFFF00 VALUE sample value on rising edge of rectify signal 8 24 read-only sample_fall_i sample value on falling edge of rectify signal 0xb4 32 0x00000000 0xFFFFFF00 VALUE sample value on falling edge of rectify signal 8 24 read-only acc_cnt_i number of accumulation 0xb8 32 0x00000000 0xFFFFFFFF CNT_NEG sample number during the negtive of rectify signal 1: 1 2: 2 … 16 16 read-only CNT_POS sample number during the positive of rectify signal 1: 1 2: 2 … 0 16 read-only sign_cnt_i sample counter of opposite sign with rectify signal 0xbc 32 0x00000000 0xFFFFFFFF CNT_NEG Positive sample counter during negative rectify signal 16 16 read-only CNT_POS Negative sample counter during positive rectify signal 0 16 read-only sync_delay_q delay setting in clock cycle for synchronous signal 0xc0 32 0x00000008 0xFFFFFFFF DELAY Delay in clock cycle for synchronous signal , the value shoud less than half of exc_period.exc_period. 0: invalid value 1: 1 cycles 2: 2 cycles ... 0 32 read-write rise_delay_q delay in clock cycle between excitation synchrnous signal and rising edge of q_channel data 0xc8 32 0x00000000 0xFFFFFFFF RISE_DELAY Delay value on rising edge of q_channel data 0: 1 cycle 1: 2 cycles … 0 32 read-only fall_delay_q delay in clock cycle between excitation synchrnous signal and falling edge of q_channel data 0xcc 32 0x00000000 0xFFFFFFFF FALL_DELAY Delay value on falling edge of q_channel data 0: 1 cycle 1: 2 cycles … 0 32 read-only sample_rise_q sample value on rising edge of rectify signal 0xd0 32 0x00000000 0xFFFFFF00 VALUE sample value on rising edge of rectify signal 8 24 read-only sample_fall_q sample value on falling edge of rectify signal 0xd4 32 0x00000000 0xFFFFFF00 VALUE sample value on falling edge of rectify signal 8 24 read-only acc_cnt_q number of accumulation 0xd8 32 0x00000000 0xFFFFFFFF CNT_NEG sample number during the negtive of rectify signal 1: 1 2: 2 … 16 16 read-only CNT_POS sample number during the positive of rectify signal 1: 1 2: 2 … 0 16 read-only sign_cnt_q sample counter of opposite sign with rectify signal 0xdc 32 0x00000000 0xFFFFFFFF CNT_NEG Positive sample counter during negative rectify signal 16 16 read-only CNT_POS Negative sample counter during positive rectify signal 0 16 read-only amp_max the maximum of acc amplitude 0xe0 32 0x01000000 0xFFFFFFFF MAX the maximum of acc amplitude 0 32 read-write amp_min the minimum of acc amplitude 0xe4 32 0x00400000 0xFFFFFFFF MIN the minimum of acc amplitude 0 32 read-write int_en the interrupt mask control 0xe8 32 0x00000000 0x8000FFFF INT_EN enable interrupt output 31 1 read-write ACC_VLD_I_EN i_channel accumulate valid interrupt enable for i_channel 15 1 read-write ACC_VLD_Q_EN q_channel accumulate valid interrupt enable for i_channel 14 1 read-write RISING_DELAY_I_EN i_channel delayed rectify signal rising edge interrupt enable 13 1 read-write FALLING_DELAY_I_EN i_channel delayed rectify signal falling edge interrupt enable 12 1 read-write RISING_DELAY_Q_EN q_channel delayed rectify signal rising edge interrupt enable 11 1 read-write FALLING_DELAY_Q_EN q_channel delayed rectify signal falling edge interrupt enable 10 1 read-write SAMPLE_RISING_I_EN i_channel rising edge interrupt enable 9 1 read-write SAMPLE_FALLING_I_EN i_channel falling edge interrupt enable 8 1 read-write SAMPLE_RISING_Q_EN q_channel rising edge interrupt enable 7 1 read-write SAMPLE_FALLING_Q_EN q_channel falling edge interrupt enable 6 1 read-write ACC_VLD_I_OVH_EN i_channel accumulate overflow interrupt enable 5 1 read-write ACC_VLD_Q_OVH_EN q_channel accumulate overflow interrupt enable 4 1 read-write ACC_VLD_I_OVL_EN i_channel accumulate underflow interrupt enable 3 1 read-write ACC_VLD_Q_OVL_EN q_channel accumulate underflow interrupt enable 2 1 read-write ACC_AMP_OVH_EN accumulate ample overflow interrupt enable 1 1 read-write ACC_AMP_OVL_EN accumulate ample underflow interrupt enable 0 1 read-write adc_int_state the interrupt state 0xec 32 0x00000000 0x0000FFFF ACC_VLD_I_STA i_channel accumulate valid interrupt status for i_channel 15 1 write-only ACC_VLD_Q_STA q_channel accumulate valid interrupt status for i_channel 14 1 write-only RISING_DELAY_I_STA i_channel delayed rectify signal rising edge interrupt status 13 1 write-only FALLING_DELAY_I_STA i_channel delayed rectify signal falling edge interrupt status 12 1 write-only RISING_DELAY_Q_STA q_channel delayed rectify signal rising edge interrupt status 11 1 write-only FALLING_DELAY_Q_STA q_channel delayed rectify signal falling edge interrupt status 10 1 write-only SAMPLE_RISING_I_STA i_channel rising edge interrupt status 9 1 write-only SAMPLE_FALLING_I_STA i_channel falling edge interrupt status 8 1 write-only SAMPLE_RISING_Q_STA q_channel rising edge interrupt status 7 1 write-only SAMPLE_FALLING_Q_STA q_channel falling edge interrupt status 6 1 write-only ACC_VLD_I_OVH_STA i_channel accumulate overflow interrupt status 5 1 write-only ACC_VLD_Q_OVH_STA q_channel accumulate overflow interrupt status 4 1 write-only ACC_VLD_I_OVL_STA i_channel accumulate underflow interrupt status 3 1 write-only ACC_VLD_Q_OVL_STA q_channel accumulate underflow interrupt status 2 1 write-only ACC_AMP_OVH_STA accumulate ample overflow interrupt status 1 1 write-only ACC_AMP_OVL_STA accumulate ample underflow interrupt status 0 1 write-only PLB PLB PLB 0xf0324000 0x0 0x480 registers 4 0x20 0,1,2,3 TYPE_A[%s] no description available 0x0 4 0x4 0,1,2,3 LOOKUP_TABLE[%s] no description available 0x0 32 0x00000000 0x0000FFFF LOOKUP_TABLE using 4 bit trig_in as lookup index. software can program this register as trig_in's true table. 0 16 read-write sw_inject TYPE A CHN&index0 software inject 0x10 32 0x00000000 0x0000000F SW_INJECT software can inject value to TYPEA's output 0 4 read-write 4 0x20 0,1,2,3 TYPE_B[%s] no description available 0x400 2 0x4 0,1 LUT[%s] no description available 0x0 32 0x00000000 0xFFFFFFFF LOOKUP_TABLE lut0 and lut1 union as 64bit, consider each 4bit as one slice. then, total 16 slice. slice0 as bit3:0, slice1 as bit7:4...etc. using 4bit trig in as index of slice. the operate sel in data unit of type B channle is decided by which slice value choosed by trig_in 0 32 read-write 4 0x4 0,1,2,3 CMP[%s] no description available 0x8 32 0x00000000 0xFFFFFFFF CMP_VALUE cmp value, using as data unit operation 0 32 read-write mode TYPE B CHN&index0 mode ctrl 0x18 32 0x00000000 0x0001FFFF OPT_SEL operation selection in data unit. 16 1 read-write OUT3_SEL trig out 3 output type in current channel 12 4 read-write OUT2_SEL trig out 2 output type in current channel 8 4 read-write OUT1_SEL trig out 1 output type in current channel 4 4 read-write OUT0_SEL trig out 0 output type in current channel 0 4 read-write sw_inject TYPE B CHN&index0 software inject 0x1c 32 0x00000000 0xFFFFFFFF SOFTWARE_INJECT data unit value can be changed if program this register 0 32 read-write SYNT SYNT SYNT 0xf0328000 0x0 0x30 registers gcr Global control register 0x0 32 0x00000000 0xF0000037 TIMESTAMP_INC_NEW set to increase the timesamp with new value, auto clr 31 1 write-only TIMESTAMP_DEC_NEW set to decrease the timesamp with new value, auto clr 30 1 write-only TIMESTAMP_SET_NEW set the timesamp to new value, auto clr 29 1 write-only TIMESTAMP_RESET reset timesamp to 0, auto clr 28 1 write-only TIMESTAMP_DEBUG_EN set to enable cpu_debug_mode to stop the timesamp 5 1 read-write TIMESTAMP_ENABLE set to enable the timesamp , clr to stop 4 1 read-write COUNTER_DEBUG_EN set to enable cpu_debug_mode to stop the counter 2 1 read-write CRST 1- Reset counter 1 1 read-write CEN 1- Enable counter 0 1 read-write rld Counter reload register 0x4 32 0x00000000 0xFFFFFFFF RLD counter reload value 0 32 read-write timestamp_new timestamp new value register 0x8 32 0x00000000 0xFFFFFFFF VALUE new value for timesamp , can be used as set/inc/dec 0 32 read-write cnt Counter 0xc 32 0x00000000 0xFFFFFFFF CNT counter 0 32 read-only timestamp_sav timestamp trig save value 0x10 32 0x00000000 0xFFFFFFFF VALUE use the trigger to save timesamp here 0 32 read-only timestamp_cur timestamp read value 0x14 32 0x00000000 0xFFFFFFFF VALUE current timesamp value 0 32 read-only 4 0x4 0,1,2,3 CMP[%s] no description available 0x20 32 0x00000000 0xFFFFFFFF CMP comparator value, the output will assert when counter count to this value 0 32 read-write SEI SEI SEI 0xf032c000 0x0 0x3a80 registers 2 0x400 0,1 CTRL[%s] no description available 0x0 ENGINE_CTRL Engine control register 0x0 32 0x00000000 0xFFFFFFFF WATCH Enable watch dog 0: Watch dog disabled 1: Watch dog enabled 24 1 read-write ARMING Wait for trigger before excuting 0: Execute on enable 1: Wait trigger before exection after enabled 16 1 read-write EXCEPT Explain timout as exception 0: when timeout, pointer move to next instruction 1: when timeout, pointer jump to timeout vector 8 1 read-write REWIND Rewind execution pointer 0: run 1: clean status and rewind 4 1 read-write ENABLE Enable 0: disable 1: enable 0 1 read-write PTR_CFG Pointer configuration register 0x4 32 0x00000000 0xFF1FFFFF DAT_CDM Select DATA register to receive CDM bit in BiSSC slave mode 0: ignore 1: command 2: data register 2 3: data register 3 ... 29:data register 29 30: value 0 when send, ignore in receive 31: value1 when send, ignore in receive 24 5 read-write DAT_BASE Bias for data register access, if calculated index bigger than 32, index will wrap around 0: real data index 1: access index is 1 greater than instruction address 2: access index is 2 greater than instruction address ... 31: access index is 31 greater than instruction address 16 5 read-write POINTER_WDOG Pointer to the instruction that the program starts executing after the instruction timeout. The timeout is WDOG_TIME 8 8 read-write POINTER_INIT Initial execute pointer 0 8 read-write WDG_CFG Watch dog configuration register 0x8 32 0x00000000 0x0000FFFF WDOG_TIME Time out count for each instruction, counter in bit time. 0 16 read-write EXE_STA Execution status 0x10 32 0x00000000 0x00110101 TRIGERED Execution has been triggered 0: Execution not triggered 1: Execution triggered 20 1 read-only ARMED Waiting for trigger for execution 0: Not in waiting status 1: In waiting status 16 1 read-only EXPIRE Watchdog timer expired 0: Not expired 1: Expired 8 1 read-only STALL Program finished 0: Program is executing 1: Program finished 0 1 read-only EXE_PTR Execution pointer 0x14 32 0x00000000 0x1F1F00FF HALT_CNT Halt count in halt instrution 24 5 read-only BIT_CNT Bit count in send and receive instruction execution 16 5 read-only POINTER Current program pointer 0 8 read-only EXE_INST Execution instruction 0x18 32 0x00000000 0xFFFFFFFF INST Current instruction 0 32 read-only WDG_STA Watch dog status 0x1c 32 0x00000000 0x0000FFFF WDOG_CNT Current watch dog counter value 0 16 read-only XCVR_CTRL Transceiver control register 0x20 32 0x00000000 0xFFFFFFFF TRISMP Tipple sampe 0: sample 1 time for data transition 1: sample 3 times in receive and result in 2oo3 12 1 read-write PAR_CLR Clear parity error, this is a self clear bit 0: no effect 1: clear parity error 8 1 write-only RESTART Restart tranceiver, this is a self clear bit 0: no effect 1: reset tranceiver 4 1 write-only MODE Tranceiver mode 0: synchronous maaster 1: synchronous slave 2: asynchronous mode 3: asynchronous mode 0 2 read-write TYPE_CFG Transceiver configuration register 0x24 32 0x00000000 0xFFFFFFFF WAIT_LEN Number of extra stop bit for asynchronous mode 0: 1 bit 1: 2 bit ... 255: 256 bit 24 8 read-write DATA_LEN Number of data bit for asynchronous mode 0: 1 bit 1: 2 bit ... 31: 32 bit 16 5 read-write PAR_POL Polarity of parity for asynchronous mode 0: even 1: odd 9 1 read-write PAR_EN enable parity check for asynchronous mode 0: disable 1: enable 8 1 read-write DA_IDLEZ Idle state driver of data line 0: output 1: high-Z 3 1 read-write CK_IDLEZ Idle state driver of clock line 0: output 1: high-Z 2 1 read-write DA_IDLEV Idle state value of data line 0: data'0' 1: data'1' 1 1 read-write CK_IDLEV Idle state value of clock line 0: data'0' 1: data'1' 0 1 read-write BAUD_CFG Transceiver baud rate register 0x28 32 0x00000000 0xFFFFFFFF SYNC_POINT Baud synchronous time, minmum bit time 16 16 read-write BAUD_DIV Baud rate, bit time in system clock cycle 0 16 read-write DATA_CFG Transceiver data timing configuration 0x2c 32 0x00000000 0xFFFFFFFF TXD_POINT data transmit point in system clcok cycle 16 16 read-write RXD_POINT data receive point in system clcok cycle 0 16 read-write CLK_CFG Transceiver clock timing configuration 0x30 32 0x00000000 0xFFFFFFFF CK1_POINT clock point 1 in system clcok cycle 16 16 read-write CK0_POINT clock point 0 in system clcok cycle 0 16 read-write PIN Transceiver pin status 0x38 32 0x00000000 0x07070707 OE_CK CK drive state 0: input 1: output 26 1 read-only DI_CK CK state 0: data 0 1: data 1 25 1 read-only DO_CK CK output 0: data 0 1: data 1 24 1 read-only OE_RX RX drive state 0: input 1: output 18 1 read-only DI_RX RX state 0: data 0 1: data 1 17 1 read-only DO_RX RX output 0: data 0 1: data 1 16 1 read-only OE_DE DE drive state 0: input 1: output 10 1 read-only DI_DE DE state 0: data 0 1: data 1 9 1 read-only DO_DE DE output 0: data 0 1: data 1 8 1 read-only OE_TX TX drive state 0: input 1: output 2 1 read-only DI_TX TX state 0: data 0 1: data 1 1 1 read-only DO_TX TX output 0: data 0 1: data 1 0 1 read-only STATE FSM of asynchronous 0x3c 32 0x00000000 0x07070000 RECV_STATE FSM of asynchronous receive 24 3 read-only SEND_STATE FSM of asynchronous transmit 16 3 read-only IN_CFG Trigger input configuration 0x40 32 0x00000000 0x00878787 PRD_EN Enable period trigger (tigger 2) 0: periodical trigger disabled 1: periodical trigger enabled 23 1 read-write SYNC_SEL Synchronize sigal selection (tigger 2) 0: trigger in 0 1: trigger in 1 ... 7: trigger in 7 16 3 read-write IN1_EN Enable trigger 1 0: disable trigger 1 1: enable trigger 1 15 1 read-write IN1_SEL Trigger 1 sigal selection 0: trigger in 0 1: trigger in 1 ... 7: trigger in 7 8 3 read-write IN0_EN Enable trigger 0 0: disable trigger 1 1: enable trigger 1 7 1 read-write IN0_SEL Trigger 0 sigal selection 0: trigger in 0 1: trigger in 1 ... 7: trigger in 7 0 3 read-write SW Software trigger 0x44 32 0x00000000 0x00000001 SOFT Software trigger (tigger 3). this bit is self-clear 0: trigger source disabled 1: trigger source enabled 0 1 write-only TRG_PRD_CFG Period trigger configuration 0x48 32 0x00000000 0xFFFF0001 ARMING Wait for trigger synchronous before trigger 0: Trigger directly 1: Wait trigger source before period trigger 16 1 read-write SYNC Synchronous 0: Not synchronous 1: Synchronous every trigger source 0 1 read-write PRD Trigger period 0x4c 32 0x00000000 0xFFFFFFFF PERIOD Trigger period 0 32 read-write OUT_CFG Trigger output configuration 0x50 32 0x00000000 0x87878787 OUT3_EN Enable trigger 3 0: disable trigger 3 1: enable trigger 3 31 1 read-write OUT3_SEL Trigger 3 sigal selection 0: trigger out 0 1: trigger out 1 ... 7: trigger out 7 24 3 read-write OUT2_EN Enable trigger 2 0: disable trigger 2 1: enable trigger 2 23 1 read-write OUT2_SEL Trigger 2 sigal selection 0: trigger out 0 1: trigger out 1 ... 7: trigger out 7 16 3 read-write OUT1_EN Enable trigger 1 0: disable trigger 1 1: enable trigger 1 15 1 read-write OUT1_SEL Trigger 1 sigal selection 0: trigger out 0 1: trigger out 1 ... 7: trigger out 7 8 3 read-write OUT0_EN Enable trigger 0 0: disable trigger 1 1: enable trigger 1 7 1 read-write OUT0_SEL Trigger 0 sigal selection 0: trigger out 0 1: trigger out 1 ... 7: trigger out 7 0 3 read-write PRD_STS Period trigger status 0x60 32 0x00000000 0x00110000 TRIGERED Period has been triggered 0: Not triggered 1: Triggered 20 1 read-only ARMED Waiting for trigger 0: Not in waiting status 1: In waiting status 16 1 read-only PRD_CNT Period trigger counter 0x64 32 0x00000000 0xFFFFFFFF PERIOD_CNT Trigger period counter 0 32 read-only 4 0x4 0,1,2,3 TRG_TABLE_CMD[%s] no description available 0x80 32 0x00000000 0xFFFFFFFF CMD_TRIGGER0 Trigger command 0 32 read-write 4 0x4 0,1,2,3 TIME[%s] no description available 0xa0 32 0x00000000 0xFFFFFFFF TRIGGER0_TIME Trigger time 0 32 read-only MODE command register mode 0xc0 32 0x00000000 0xE0FFCFFF WLEN word length 0: 1 bit 1: 2 bit ... 31: 32 bit 16 5 read-write WORDER word order 0: sample as bit order 1: different from bit order 11 1 read-write BORDER bit order 0: LSB first 1: MSB first 10 1 read-write SIGNED Signed 0: unsigned value 1: signed value 9 1 read-write REWIND Write 1 to rewind read/write pointer, this is a self clear bit 8 1 write-only MODE Data mode 0: data mode 1: check mode 2: CRC mode 0 2 read-write IDX command register configuration 0xc4 32 0x00000000 0xFFFFFFFF LAST_BIT Last bit index for tranceive 24 5 read-write FIRST_BIT First bit index for tranceive 16 5 read-write MAX_BIT Highest bit index 8 5 read-write MIN_BIT Lowest bit index 0 5 read-write GOLD Command gold value 0xc8 32 0x00000000 0xFFFFFFFF GOLD_VALUE Gold value for check mode 0 32 read-write CRCINIT Command Initial value 0xcc 32 0x00000000 0xFFFFFFFF CRC_INIT CRC initial value 0 32 read-write CRCPOLY Command CRC polymial 0xd0 32 0x00000000 0xFFFFFFFF CRC_POLY CRC polymonial 0 32 read-write CMD command 0xe0 32 0x00000000 0xFFFFFFFF DATA DATA 0 32 read-write SET command bit set register 0xe4 32 0x00000000 0xFFFFFFFF DATA_SET DATA bit set 0 32 read-write CLR command bit clear register 0xe8 32 0x00000000 0xFFFFFFFF DATA_CLR DATA bit clear 0 32 read-write INV command bit invert register 0xec 32 0x00000000 0xFFFFFFFF DATA_TGL DATA bit toggle 0 32 read-write IN Commad input 0xf0 32 0x00000000 0xFFFFFFFF DATA_IN Commad input 0 32 read-only OUT Command output 0xf4 32 0x00000000 0xFFFFFFFF DATA_OUT Command output 0 32 read-only STS Command status 0xf8 32 0x00000000 0xFFFFFFFF CRC_IDX CRC index 24 5 read-only WORD_IDX Word index 16 5 read-only WORD_CNT Word counter 8 5 read-only BIT_IDX Bit index 0 5 read-only 8 0x20 0,1,2,3,4,5,6,7 CMD_TABLE[%s] no description available 0x100 MIN command start value 0x0 32 0x00000000 0xFFFFFFFF CMD_MIN minimum command value 0 32 read-write MAX command end value 0x4 32 0x00000000 0xFFFFFFFF CMD_MAX maximum command value 0 32 read-write MSK command compare bit enable 0x8 32 0x00000000 0xFFFFFFFF CMD_MASK compare mask 0 32 read-write PTA command pointer 0 - 3 0x10 32 0x00000000 0xFFFFFFFF PTR3 pointer3 24 8 read-write PTR2 pointer2 16 8 read-write PTR1 pointer1 8 8 read-write PTR0 pointer0 0 8 read-write PTB command pointer 4 - 7 0x14 32 0x00000000 0xFFFFFFFF PTR7 pointer7 24 8 read-write PTR6 pointer6 16 8 read-write PTR5 pointer5 8 8 read-write PTR4 pointer4 0 8 read-write 4 0x20 0,1,2,3 LATCH[%s] no description available 0x200 4 0x4 0_1,1_2,2_3,3_0 TRAN[%s] no description available 0x0 32 0x00000000 0xFF0F3FF7 POINTER pointer 24 8 read-write CFG_TM timeout 0: high 1: low 2: rise 3: fall 16 2 read-write CFG_TXD data send 0: high 1: low 2: rise 3: fall 12 2 read-write CFG_CLK clock 0: high 1: low 2: rise 3: fall 10 2 read-write CFG_PTR pointer 0: match 1: not match 2:entry 3:leave 8 2 read-write OV_TM override timeout check 4 1 read-write OV_TXD override TX data check 2 1 read-write OV_CLK override clock check 1 1 read-write OV_PTR override pointer check 0 1 read-write CFG Latch configuration 0x10 32 0x00000000 0x8700FFFF EN Enable latch 0: disable 1: enable 31 1 read-write SELECT Output select 0: state0-state1 1: state1-state2 2: state2-state3 3: state3-state0 24 3 read-write DELAY Delay in system clock cycle, for state transition 0 16 read-write TIME Latch time 0x18 32 0x00000000 0xFFFFFFFF LAT_TIME Latch time 0 32 read-only STS Latch status 0x1c 32 0x00000000 0x0700FFFF STATE State 24 3 read-only LAT_CNT Latch counter 0 16 read-only SMP_EN Sample selection register 0x280 32 0x00000000 0xFFFFFFFF ACC_EN Position include acceleration 31 1 read-write ACC_SEL Data register for acceleration transfer 24 5 read-write SPD_EN Position include speed 23 1 read-write SPD_SEL Data register for speed transfer 16 5 read-write REV_EN Position include revolution 15 1 read-write REV_SEL Data register for revolution transfer 8 5 read-write POS_EN Position include position 7 1 read-write POS_SEL Data register for position transfer 0 5 read-write SMP_CFG Sample configuration 0x284 32 0x00000000 0x0103FFFF ONCE Sample one time 0: Sample during windows time 1: Close sample window after first sample 24 1 read-write LAT_SEL Latch selection 0: latch 0 1: latch 1 2: latch 2 3: latch 3 16 2 read-write WINDOW Sample window, in clock cycle 0 16 read-write SMP_DAT Sample data 0x288 32 0x00000000 0xFFFFFFFF DAT_SEL Data register sampled, each bit represent a data register 0 32 read-write SMP_POS Sample override position 0x290 32 0x00000000 0xFFFFFFFF POS Sample override position 0 32 read-write SMP_REV Sample override revolution 0x294 32 0x00000000 0xFFFFFFFF REV Sample override revolution 0 32 read-write SMP_SPD Sample override speed 0x298 32 0x00000000 0xFFFFFFFF SPD Sample override speed 0 32 read-write SMP_ACC Sample override accelerate 0x29c 32 0x00000000 0xFFFFFFFF ACC Sample override accelerate 0 32 read-write UPD_EN Update configuration 0x2a0 32 0x00000000 0xFFFFFFFF ACC_EN Position include acceleration 31 1 read-write ACC_SEL Data register for acceleration transfer 24 5 read-write SPD_EN Position include speed 23 1 read-write SPD_SEL Data register for speed transfer 16 5 read-write REV_EN Position include revolution 15 1 read-write REV_SEL Data register for revolution transfer 8 5 read-write POS_EN Position include position 7 1 read-write POS_SEL Data register for position transfer 0 5 read-write UPD_CFG Update configuration 0x2a4 32 0x00000000 0x81030000 TIME_OVRD Use override time 0: use time sample from motor group 1: use override time 31 1 read-write ONERR Sample one time 0: Sample during windows time 1: Close sample window after first sample 24 1 read-write LAT_SEL Latch selection 0: latch 0 1: latch 1 2: latch 2 3: latch 3 16 2 read-write UPD_DAT Update data 0x2a8 32 0x00000000 0xFFFFFFFF DAT_SEL Data register sampled, each bit represent a data register 0 32 read-write UPD_TIME Update overide time 0x2ac 32 0x00000000 0xFFFFFFFF TIME Update override time 0 32 read-write UPD_POS Update override position 0x2b0 32 0x00000000 0xFFFFFFFF POS Update override position 0 32 read-write UPD_REV Update override revolution 0x2b4 32 0x00000000 0xFFFFFFFF REV Update override revolution 0 32 read-write UPD_SPD Update override speed 0x2b8 32 0x00000000 0xFFFFFFFF SPD Update override speed 0 32 read-write UPD_ACC Update override accelerate 0x2bc 32 0x00000000 0xFFFFFFFF ACC Update override accelerate 0 32 read-write SMP_VAL Sample valid 0x2c0 32 0x00000000 0x80808080 ACC Position include acceleration 31 1 read-only SPD Position include speed 23 1 read-only REV Position include revolution 15 1 read-only POS Position include position 7 1 read-only SMP_STS Sample status 0x2c4 32 0x00000000 0x0100FFFF OCCUR Sample occured 0: Sample not happened 1: Sample occured 24 1 read-only WIN_CNT Sample window counter 0 16 read-only TIME_IN input time 0x2cc 32 0x00000000 0xFFFFFFFF TIME input time 0 32 read-only POS_IN Input position 0x2d0 32 0x00000000 0xFFFFFFFF POS Input position 0 32 read-only REV_IN Input revolution 0x2d4 32 0x00000000 0xFFFFFFFF REV Input revolution 0 32 read-only SPD_IN Input speed 0x2d8 32 0x00000000 0xFFFFFFFF SPD Input speed 0 32 read-only ACC_IN Input accelerate 0x2dc 32 0x00000000 0xFFFFFFFF ACC Input accelerate 0 32 read-only UPD_STS Update status 0x2e4 32 0x00000000 0x01000000 UPD_ERR Update error 0: data receive normally 1: data receive error 24 1 read-only INT_EN Interrupt Enable 0x300 32 0x00000000 0xFF1F3FF7 TRG_ERR3 Trigger3 failed 31 1 read-write TRG_ERR2 Trigger2 failed 30 1 read-write TRG_ERR1 Trigger1 failed 29 1 read-write TRG_ERR0 Trigger0 failed 28 1 read-write TRIGER3 Trigger3 27 1 read-write TRIGER2 Trigger2 26 1 read-write TRIGER1 Trigger1 25 1 read-write TRIGER0 Trigger0 24 1 read-write SMP_ERR Sample error 20 1 read-write LATCH3 Latch3 19 1 read-write LATCH2 Latch2 18 1 read-write LATCH1 Latch1 17 1 read-write LATCH0 Latch0 16 1 read-write TIMEOUT Timeout 13 1 read-write TRX_ERR Transfer error 12 1 read-write INSTR1_END Instruction 1 end 11 1 read-write INSTR0_END Instruction 0 end 10 1 read-write PTR1_END Pointer 1 end 9 1 read-write PTR0_END Pointer 0 end 8 1 read-write INSTR1_ST Instruction 1 start 7 1 read-write INSTR0_ST Instruction 0 start 6 1 read-write PTR1_ST Pointer 1 start 5 1 read-write PTR0_ST Pointer 0 start 4 1 read-write WDOG Watch dog 2 1 read-write EXECPT Exception 1 1 read-write STALL Stall 0 1 read-write INT_FLAG Interrupt flag 0x304 32 0x00000000 0xFF1F3FF7 TRG_ERR3 Trigger3 failed 31 1 write-only TRG_ERR2 Trigger2 failed 30 1 write-only TRG_ERR1 Trigger1 failed 29 1 write-only TRG_ERR0 Trigger0 failed 28 1 write-only TRIGER3 Trigger3 27 1 write-only TRIGER2 Trigger2 26 1 write-only TRIGER1 Trigger1 25 1 write-only TRIGER0 Trigger0 24 1 write-only SMP_ERR Sample error 20 1 write-only LATCH3 Latch3 19 1 write-only LATCH2 Latch2 18 1 write-only LATCH1 Latch1 17 1 write-only LATCH0 Latch0 16 1 write-only TIMEOUT Timeout 13 1 write-only TRX_ERR Transfer error 12 1 write-only INSTR1_END Instruction 1 end 11 1 write-only INSTR0_END Instruction 0 end 10 1 write-only PTR1_END Pointer 1 end 9 1 write-only PTR0_END Pointer 0 end 8 1 write-only INSTR1_ST Instruction 1 start 7 1 write-only INSTR0_ST Instruction 0 start 6 1 write-only PTR1_ST Pointer 1 start 5 1 write-only PTR0_ST Pointer 0 start 4 1 write-only WDOG Watch dog 2 1 write-only EXECPT Exception 1 1 write-only STALL Stall 0 1 write-only INT_STS Interrupt status 0x308 32 0x00000000 0xFF1F3FF7 TRG_ERR3 Trigger3 failed 31 1 read-only TRG_ERR2 Trigger2 failed 30 1 read-only TRG_ERR1 Trigger1 failed 29 1 read-only TRG_ERR0 Trigger0 failed 28 1 read-only TRIGER3 Trigger3 27 1 read-only TRIGER2 Trigger2 26 1 read-only TRIGER1 Trigger1 25 1 read-only TRIGER0 Trigger0 24 1 read-only SMP_ERR Sample error 20 1 read-only LATCH3 Latch3 19 1 read-only LATCH2 Latch2 18 1 read-only LATCH1 Latch1 17 1 read-only LATCH0 Latch0 16 1 read-only TIMEOUT Timeout 13 1 read-only TRX_ERR Transfer error 12 1 read-only INSTR1_END Instruction 1 end 11 1 read-only INSTR0_END Instruction 0 end 10 1 read-only PTR1_END Pointer 1 end 9 1 read-only PTR0_END Pointer 0 end 8 1 read-only INSTR1_ST Instruction 1 start 7 1 read-only INSTR0_ST Instruction 0 start 6 1 read-only PTR1_ST Pointer 1 start 5 1 read-only PTR0_ST Pointer 0 start 4 1 read-only WDOG Watch dog 2 1 read-only EXECPT Exception 1 1 read-only STALL Stall 0 1 read-only POINTER0 Match pointer 0 0x310 32 0x00000000 0x000000FF POINTER Match pointer 0 0 8 read-write POINTER1 Match pointer 1 0x314 32 0x00000000 0x000000FF POINTER Match pointer 1 0 8 read-write INSTR0 Match instruction 0 0x318 32 0x00000000 0xFFFFFFFF INSTR Match instruction 0 0 32 read-write INSTR1 Match instruction 1 0x31c 32 0x00000000 0xFFFFFFFF INSTR Match instruction 1 0 32 read-write 64 0x4 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63 INSTR[%s] no description available 0x3400 32 0x00000000 0xFFFFFFFF OP operation 0: halt 1: jump 2: send with timeout check 3: send without timout check 4: wait with timeout check 5: wait without timout check 6: receive with timeout check 7: receive without timout check 26 3 read-write CK clock 0: low 1: rise-fall 2: fall-rise 3: high 24 2 read-write CRC CRC register 0: don't calculate CRC 1: do not set this value 2: data register 2 3: data register 3 ... 29: data register 29 30: value 0 when send, wait 0 in receive 31: value1 when send, wait 1 in receive 16 5 read-write DAT DATA register 0: ignore data 1: command 2: data register 2 3: data register 3 ... 29: data register 29 30: value 0 when send, wait 0 in receive 31: value1 when send, wait 1 in receive 8 5 read-write OPR [1] When OP is 0, this area is the halt time in baudrate, 0 represents infinite time. [2] When OP is 1, this area is the the pointer to the command table. OPR[4]=1, OPR[3:0] value is CMD_TABLE instruct pointer; OPR[4]=0, OPR[3:0]=0 is INIT_POINTER; OPR[4]=0, OPR[3:0]=1 is WDG_POINTER. [3] When OP is 2-7, this area is the data length as fellow: 0: 1 bit 1: 2 bit ... 31: 32 bit 0 5 read-write 10 0x40 0,1,2,3,4,5,6,7,8,9 DAT[%s] no description available 0x3800 MODE No description avaiable 0x0 32 0x00000000 0xFFFFFFFF CRC_LEN CRC length 0: 1 bit 1: 2 bit ... 31: 32 bit 24 5 read-write WLEN word length 0: 1 bit 1: 2 bit ... 31: 32 bit 16 5 read-write CRC_SHIFT CRC shift mode, this mode is used to perform repeat code check 0: CRC 1: shift mode 13 1 read-write CRC_INV CRC invert 0: use CRC 1: use inverted CRC 12 1 read-write WORDER word order 0: sample as bit order 1: different from bit order 11 1 read-write BORDER bit order 0: LSB first 1: MSB first 10 1 read-write SIGNED Signed 0: unsigned value 1: signed value 9 1 read-write REWIND Write 1 to rewind read/write pointer, this is a self clear bit 8 1 read-write MODE Data mode 0: data mode 1: check mode 2: CRC mode 0 2 read-write IDX Data register bit index 0x4 32 0x00000000 0xFFFFFFFF LAST_BIT Last bit index for tranceive 24 5 read-write FIRST_BIT First bit index for tranceive 16 5 read-write MAX_BIT Highest bit index 8 5 read-write MIN_BIT Lowest bit index 0 5 read-write GOLD Gold data for data check 0x8 32 0x00000000 0xFFFFFFFF GOLD_VALUE Gold value for check mode 0 32 read-write CRCINIT CRC calculation initial vector 0xc 32 0x00000000 0xFFFFFFFF CRC_INIT CRC initial value 0 32 read-write CRCPOLY CRC calculation polynomial 0x10 32 0x00000000 0xFFFFFFFF CRC_POLY CRC polymonial 0 32 read-write DATA Data value 0x20 32 0x00000000 0xFFFFFFFF DATA DATA 0 32 read-write SET Data bit set 0x24 32 0x00000000 0xFFFFFFFF DATA_SET DATA bit set 0 32 read-write CLR Data bit clear 0x28 32 0x00000000 0xFFFFFFFF DATA_CLR DATA bit clear 0 32 read-write INV Data bit invert 0x2c 32 0x00000000 0xFFFFFFFF DATA_INV DATA bit toggle 0 32 read-write IN Data input 0x30 32 0x00000000 0xFFFFFFFF DATA_IN Data input 0 32 read-only OUT Data output 0x34 32 0x00000000 0xFFFFFFFF DATA_OUT Data output 0 32 read-only STS Data status 0x38 32 0x00000000 0xFFFFFFFF CRC_IDX CRC index 24 5 read-only WORD_IDX Word index 16 5 read-only WORD_CNT Word counter 8 5 read-only BIT_IDX Bit index 0 5 read-only TRGM0 TRGM0 TRGM 0xf033c000 0x0 0x634 registers 28 0x4 PWM0_IN0,PWM0_IN1,PWM0_IN2,PWM0_IN3,PWM0_IN4,PWM0_IN5,PWM0_IN6,PWM0_IN7,PWM1_IN0,PWM1_IN1,PWM1_IN2,PWM1_IN3,PWM1_IN4,PWM1_IN5,PWM1_IN6,PWM1_IN7,MOTO_GPIO_IN0,MOTO_GPIO_IN1,MOTO_GPIO_IN2,MOTO_GPIO_IN3,MOTO_GPIO_IN4,MOTO_GPIO_IN5,MOTO_GPIO_IN6,MOTO_GPIO_IN7,PWM0_FAULT0,PWM0_FAULT1,PWM1_FAULT0,PWM1_FAULT1 FILTCFG[%s] no description available 0x0 32 0x00000000 0x0001FFFF OUTINV 1- Filter will invert the output 0- Filter will not invert the output 16 1 read-write MODE This bitfields defines the filter mode 000-bypass; 100-rapid change mode; 101-delay filter mode; 110-stalbe low mode; 111-stable high mode 13 3 read-write SYNCEN set to enable sychronization input signal with TRGM clock 12 1 read-write FILTLEN This bitfields defines the filter counter length. 0 12 read-write 137 0x4 MOT2OPAMP0_0,MOT2OPAMP0_1,MOT2OPAMP0_2,MOT2OPAMP0_3,MOT2OPAMP0_4,MOT2OPAMP0_5,MOT2OPAMP0_6,MOT2OPAMP0_7,MOT2OPAMP1_0,MOT2OPAMP1_1,MOT2OPAMP1_2,MOT2OPAMP1_3,MOT2OPAMP1_4,MOT2OPAMP1_5,MOT2OPAMP1_6,MOT2OPAMP1_7,GPTMR0_IN2,GPTMR0_IN3,GPTMR0_SYNCI,GPTMR1_IN2,GPTMR1_IN3,GPTMR1_SYNCI,GPTMR2_IN2,GPTMR2_IN3,GPTMR2_SYNCI,GPTMR3_IN2,GPTMR3_IN3,GPTMR3_SYNCI,CMP0_WIN,CMP1_WIN,DAC0_BUFTRG,DAC1_BUFTRG,ADC0_STRGI,ADC1_STRGI,ADCx_PTRGI0A,ADCx_PTRGI0B,ADCx_PTRGI0C,ADCx_PTRGI1A,ADCx_PTRGI1B,ADCx_PTRGI1C,ADCx_PTRGI2A,ADCx_PTRGI2B,ADCx_PTRGI2C,ADCx_PTRGI3A,ADCx_PTRGI3B,ADCx_PTRGI3C,CAN_PTPC0_CAP,CAN_PTPC1_CAP,QEO0_TRIG_IN0,QEO0_TRIG_IN1,QEO1_TRIG_IN0,QEO1_TRIG_IN1,SEI_TRIG_IN0,SEI_TRIG_IN1,SEI_TRIG_IN2,SEI_TRIG_IN3,SEI_TRIG_IN4,SEI_TRIG_IN5,SEI_TRIG_IN6,SEI_TRIG_IN7,MMC0_TRIG_IN0,MMC0_TRIG_IN1,MMC1_TRIG_IN0,MMC1_TRIG_IN1,PLB_IN_00,PLB_IN_01,PLB_IN_02,PLB_IN_03,PLB_IN_04,PLB_IN_05,PLB_IN_06,PLB_IN_07,PLB_IN_08,PLB_IN_09,PLB_IN_10,PLB_IN_11,PLB_IN_12,PLB_IN_13,PLB_IN_14,PLB_IN_15,PLB_IN_16,PLB_IN_17,PLB_IN_18,PLB_IN_19,PLB_IN_20,PLB_IN_21,PLB_IN_22,PLB_IN_23,PLB_IN_24,PLB_IN_25,PLB_IN_26,PLB_IN_27,PLB_IN_28,PLB_IN_29,PLB_IN_30,PLB_IN_31,MOT_GPIO0,MOT_GPIO1,MOT_GPIO2,MOT_GPIO3,MOT_GPIO4,MOT_GPIO5,MOT_GPIO6,MOT_GPIO7,PWM_IN8,PWM_IN9,PWM_IN10,PWM_IN11,PWM_IN12,PWM_IN13,PWM_IN14,PWM_IN15,PWM0_FRCI,PWM0_FRCSYNCI,PWM0_SYNCI,PWM0_SHRLDSYNCI,PWM0_FAULTI0,PWM0_FAULTI1,PWM1_FRCI,PWM1_FRCSYNCI,PWM1_SYNCI,PWM1_SHRLDSYNCI,PWM1_FAULTI0,PWM1_FAULTI1,RDC_TRIG_IN0,RDC_TRIG_IN1,SYNCTIMER_TRIG,QEI0_TRIG_IN,QEI1_TRIG_IN,QEI0_PAUSE,QEI1_PAUSE,UART_TRIG0,UART_TRIG1,TRGM_IRQ0,TRGM_IRQ1,TRGM_DMA0,TRGM_DMA1 TRGOCFG[%s] no description available 0x100 32 0x00000000 0x00000E7F OUTINV 1- Invert the output 11 1 read-write FEDG2PEN 1- The selected input signal falling edge will be convert to an pulse on output. 10 1 read-write REDG2PEN 1- The selected input signal rising edge will be convert to an pulse on output. 9 1 read-write TRIGOSEL This bitfield selects one of the TRGM inputs as output. 0 7 read-write 8 0x4 0,1,2,3,4,5,6,7 DMACFG[%s] no description available 0x400 32 0x00000000 0x8000003F DMAMUX_EN No description avaiable 31 1 read-write DMASRCSEL This field selects one of the DMA requests as the DMA request output. 0 6 read-write GCR General Control Register 0x500 32 0x00000000 0x000000FF TRGOPEN The bitfield enable the TRGM outputs. 0 8 read-write ADC_MATRIX_SEL adc matrix select register 0x510 32 0x00000000 0xFFFFFFFF QEI1_ADC1_SEL 0-adc0; 1-adc1; 2-rdc_adc0; 3-rdc_adc1; bit7 is used to invert adc_value; others reserved 24 8 read-write QEI1_ADC0_SEL No description avaiable 16 8 read-write QEI0_ADC1_SEL No description avaiable 8 8 read-write QEI0_ADC0_SEL No description avaiable 0 8 read-write DAC_MATRIX_SEL dac matrix select register 0x514 32 0x00000000 0xFFFFFFFF DAC1_DAC_SEL 0-qeo0_dac0; 1-qeo0_dac1; 2-qeo0_dac2; 3-qeo1_dac0; 4-qeo1_dac1; 5-qeo1_dac2; 6-rdc_dac0; 7-rdc_dac1; bit7 is used to invert dac_value; others reserved 24 8 read-write DAC0_DAC_SEL No description avaiable 16 8 read-write ACMP1_DAC_SEL No description avaiable 8 8 read-write ACMP0_DAC_SEL No description avaiable 0 8 read-write POS_MATRIX_SEL0 position matrix select register0 0x518 32 0x00000000 0xFFFFFFFF MMC1_POSIN_SEL 0-sei_pos_out0; 1-sei_pos_out1; 2-qei0_pos; 3-qei1_pos; 4-mmc0_pos_out0; 5-mmc0_pos_out1; 6-mmc1_pos_out0; 7-mmc1_pos_out1; bit7 is used to invert position value; others reserved 24 8 read-write MMC0_POSIN_SEL No description avaiable 16 8 read-write SEI_POSIN1_SEL No description avaiable 8 8 read-write SEI_POSIN0_SEL No description avaiable 0 8 read-write POS_MATRIX_SEL1 position matrix select register1 0x51c 32 0x00000000 0x0000FFFF QEO1_POS_SEL No description avaiable 8 8 read-write QEO0_POS_SEL No description avaiable 0 8 read-write 4 0x4 0,1,2,3 TRGM_IN[%s] no description available 0x600 32 0x00000000 0xFFFFFFFF TRGM_IN mmc1_trig_out[1:0], mmc0_trig_out[1:0],sync_pulse[3:0],moto_gpio_in_sync[7:0],//31:16 gtmr3_to_motor_sync[1:0],gtmr2_to_motor_sync[1:0],gtmr1_to_motor_sync[1:0],gtmr0_to_motor_sync[1:0], //15:8 acmp_out_sync[1:0],can2mot_event_sync[1:0],usb0_sof_tog_sync,pwm_debug,1'b1,1'b0 //7:0 0 32 read-only 5 0x4 0,1,2,3,4 TRGM_OUT[%s] no description available 0x620 32 0x00000000 0xFFFFFFFF TRGM_OUT motor_to_opamp0[7:0] = trig_mux_out[7:0]; motor_to_opamp1[7:0] = trig_mux_out[15:8]; motor_to_gtmr0_capt[1:0] = trig_mux_out[17:16]; motor_to_gtmr0_sync = trig_mux_out[18]; motor_to_gtmr1_capt[1:0] = trig_mux_out[20:19]; motor_to_gtmr1_sync = trig_mux_out[21]; motor_to_gtmr2_capt[1:0] = trig_mux_out[23:22]; motor_to_gtmr2_sync = trig_mux_out[24]; motor_to_gtmr3_capt[1:0] = trig_mux_out[26:25]; motor_to_gtmr3_sync = trig_mux_out[27]; acmp_window[1:0] = trig_mux_out[29:28]; dac0_buf_trigger = trig_mux_out[30]; dac1_buf_trigger = trig_mux_out[31]; dac0_step_trigger[3:0] = {trig_mux_out[24:22],trig_mux_out[30]};//use same buf_trig, and gtmr2 dac1_step_trigger[3:0] = {trig_mux_out[27:25],trig_mux_out[31]}; //use same buf_trig, and gtmr3 0 32 read-only USB0 USB0 USB 0xf300c000 0x80 0x1a8 registers GPTIMER0LD General Purpose Timer #0 Load Register 0x80 32 0x00000000 0x00FFFFFF GPTLD GPTLD General Purpose Timer Load Value These bit fields are loaded to GPTCNT bits when GPTRST bit is set '1b'. This value represents the time in microseconds minus 1 for the timer duration. Example: for a one millisecond timer, load 1000-1=999 or 0x0003E7. NOTE: Max value is 0xFFFFFF or 16.777215 seconds. 0 24 read-write GPTIMER0CTRL General Purpose Timer #0 Controller Register 0x84 32 0x00000000 0xC1FFFFFF GPTRUN GPTRUN General Purpose Timer Run GPTCNT bits are not effected when setting or clearing this bit. 0 - Stop counting 1 - Run 31 1 read-write GPTRST GPTRST General Purpose Timer Reset 0 - No action 1 - Load counter value from GPTLD bits in n_GPTIMER0LD 30 1 write-only GPTMODE GPTMODE General Purpose Timer Mode In one shot mode, the timer will count down to zero, generate an interrupt, and stop until the counter is reset by software; In repeat mode, the timer will count down to zero, generate an interrupt and automatically reload the counter value from GPTLD bits to start again. 0 - One Shot Mode 1 - Repeat Mode 24 1 read-write GPTCNT GPTCNT General Purpose Timer Counter. This field is the count value of the countdown timer. 0 24 read-only GPTIMER1LD General Purpose Timer #1 Load Register 0x88 32 0x00000000 0x00FFFFFF GPTLD GPTLD General Purpose Timer Load Value These bit fields are loaded to GPTCNT bits when GPTRST bit is set '1b'. This value represents the time in microseconds minus 1 for the timer duration. Example: for a one millisecond timer, load 1000-1=999 or 0x0003E7. NOTE: Max value is 0xFFFFFF or 16.777215 seconds. 0 24 read-write GPTIMER1CTRL General Purpose Timer #1 Controller Register 0x8c 32 0x00000000 0xC1FFFFFF GPTRUN GPTRUN General Purpose Timer Run GPTCNT bits are not effected when setting or clearing this bit. 0 - Stop counting 1 - Run 31 1 read-write GPTRST GPTRST General Purpose Timer Reset 0 - No action 1 - Load counter value from GPTLD bits in USB_n_GPTIMER1LD 30 1 write-only GPTMODE GPTMODE General Purpose Timer Mode In one shot mode, the timer will count down to zero, generate an interrupt, and stop until the counter is reset by software. In repeat mode, the timer will count down to zero, generate an interrupt and automatically reload the counter value from GPTLD bits to start again. 0 - One Shot Mode 1 - Repeat Mode 24 1 read-write GPTCNT GPTCNT General Purpose Timer Counter. This field is the count value of the countdown timer. 0 24 read-only SBUSCFG System Bus Config Register 0x90 32 0x00000000 0x00000007 AHBBRST AHBBRST AHB master interface Burst configuration These bits control AHB master transfer type sequence (or priority). NOTE: This register overrides n_BURSTSIZE register when its value is not zero. 000 - Incremental burst of unspecified length only 001 - INCR4 burst, then single transfer 010 - INCR8 burst, INCR4 burst, then single transfer 011 - INCR16 burst, INCR8 burst, INCR4 burst, then single transfer 100 - Reserved, don't use 101 - INCR4 burst, then incremental burst of unspecified length 110 - INCR8 burst, INCR4 burst, then incremental burst of unspecified length 111 - INCR16 burst, INCR8 burst, INCR4 burst, then incremental burst of unspecified length 0 3 read-write USBCMD USB Command Register 0x140 32 0x00080000 0x00FFEB7F ITC ITC Interrupt Threshold Control -Read/Write. The system software uses this field to set the maximum rate at which the host/device controller will issue interrupts. ITC contains the maximum interrupt interval measured in micro-frames. Valid values are shown below. Value Maximum Interrupt Interval 00000000 - Immediate (no threshold) 00000001 - 1 micro-frame 00000010 - 2 micro-frames 00000100 - 4 micro-frames 00001000 - 8 micro-frames 00010000 - 16 micro-frames 00100000 - 32 micro-frames 01000000 - 64 micro-frames 16 8 read-write FS_2 FS_2 Frame List Size - (Read/Write or Read Only). [host mode only] This field is Read/Write only if Programmable Frame List Flag in the HCCPARAMS registers is set to one. This field specifies the size of the frame list that controls which bits in the Frame Index Register should be used for the Frame List Current index. NOTE: This field is made up from USBCMD bits 15, 3 and 2. Value Meaning 0b000 - 1024 elements (4096 bytes) Default value 0b001 - 512 elements (2048 bytes) 0b010 - 256 elements (1024 bytes) 0b011 - 128 elements (512 bytes) 0b100 - 64 elements (256 bytes) 0b101 - 32 elements (128 bytes) 0b110 - 16 elements (64 bytes) 0b111 - 8 elements (32 bytes) 15 1 read-write ATDTW ATDTW Add dTD TripWire - Read/Write. [device mode only] This bit is used as a semaphore to ensure proper addition of a new dTD to an active (primed) endpoint's linked list. This bit is set and cleared by software. This bit would also be cleared by hardware when state machine is hazard region for which adding a dTD to a primed endpoint may go unrecognized. 14 1 read-write SUTW SUTW Setup TripWire - Read/Write. [device mode only] This bit is used as a semaphore to ensure that the setup data payload of 8 bytes is extracted from a QH by the DCD without being corrupted. If the setup lockout mode is off (SLOM bit in USB core register n_USBMODE, see USBMODE ) then there is a hazard when new setup data arrives while the DCD is copying the setup data payload from the QH for a previous setup packet. This bit is set and cleared by software. This bit would also be cleared by hardware when a hazard detected. 13 1 read-write ASPE ASPE Asynchronous Schedule Park Mode Enable - Read/Write. If the Asynchronous Park Capability bit in the HCCPARAMS register is a one, then this bit defaults to a 1h and is R/W. Otherwise the bit must be a zero and is RO. Software uses this bit to enable or disable Park mode. When this bit is one, Park mode is enabled. When this bit is a zero, Park mode is disabled. NOTE: ASPE bit reset value: '0b' for OTG controller . 11 1 read-write ASP ASP Asynchronous Schedule Park Mode Count - Read/Write. If the Asynchronous Park Capability bit in the HCCPARAMS register is a one, then this field defaults to 3h and is R/W. Otherwise it defaults to zero and is Read-Only. It contains a count of the number of successive transactions the host controller is allowed to execute from a high-speed queue head on the Asynchronous schedule before continuing traversal of the Asynchronous schedule. Valid values are 1h to 3h. Software must not write a zero to this bit when Park Mode Enable is a one as this will result in undefined behavior. This field is set to 3h in all controller core. 8 2 read-write IAA IAA Interrupt on Async Advance Doorbell - Read/Write. This bit is used as a doorbell by software to tell the host controller to issue an interrupt the next time it advances asynchronous schedule. Software must write a 1 to this bit to ring the doorbell. When the host controller has evicted all appropriate cached schedule states, it sets the Interrupt on Async Advance status bit in the USBSTS register. If the Interrupt on Sync Advance Enable bit in the USBINTR register is one, then the host controller will assert an interrupt at the next interrupt threshold. The host controller sets this bit to zero after it has set the Interrupt on Sync Advance status bit in the USBSTS register to one. Software should not write a one to this bit when the asynchronous schedule is inactive. Doing so will yield undefined results. This bit is only used in host mode. Writing a one to this bit when device mode is selected will have undefined results. 6 1 read-write ASE ASE Asynchronous Schedule Enable - Read/Write. Default 0b. This bit controls whether the host controller skips processing the Asynchronous Schedule. Only the host controller uses this bit. Values Meaning 0 - Do not process the Asynchronous Schedule. 1 - Use the ASYNCLISTADDR register to access the Asynchronous Schedule. 5 1 read-write PSE PSE Periodic Schedule Enable- Read/Write. Default 0b. This bit controls whether the host controller skips processing the Periodic Schedule. Only the host controller uses this bit. Values Meaning 0 - Do not process the Periodic Schedule 1 - Use the PERIODICLISTBASE register to access the Periodic Schedule. 4 1 read-write FS_1 FS_1 See description at bit 15 2 2 read-write RST RST Controller Reset (RESET) - Read/Write. Software uses this bit to reset the controller. This bit is set to zero by the Host/Device Controller when the reset process is complete. Software cannot terminate the reset process early by writing a zero to this register. Host operation mode: When software writes a one to this bit, the Controller resets its internal pipelines, timers, counters, state machines etc. to their initial value. Any transaction currently in progress on USB is immediately terminated. A USB reset is not driven on downstream ports. Software should not set this bit to a one when the HCHalted bit in the USBSTS register is a zero. Attempting to reset an actively running host controller will result in undefined behavior. Device operation mode: When software writes a one to this bit, the Controller resets its internal pipelines, timers, counters, state machines etc. to their initial value. Writing a one to this bit when the device is in the attached state is not recommended, because the effect on an attached host is undefined. In order to ensure that the device is not in an attached state before initiating a device controller reset, all primed endpoints should be flushed and the USBCMD Run/Stop bit should be set to 0. 1 1 read-write RS RS Run/Stop (RS) - Read/Write. Default 0b. 1=Run. 0=Stop. Host operation mode: When set to '1b', the Controller proceeds with the execution of the schedule. The Controller continues execution as long as this bit is set to a one. When this bit is set to 0, the Host Controller completes the current transaction on the USB and then halts. The HC Halted bit in the status register indicates when the Controller has finished the transaction and has entered the stopped state. Software should not write a one to this field unless the controller is in the Halted state (that is, HCHalted in the USBSTS register is a one). Device operation mode: Writing a one to this bit will cause the controller to enable a pull-up on D+ and initiate an attach event. This control bit is not directly connected to the pull-up enable, as the pull-up will become disabled upon transitioning into high-speed mode. Software should use this bit to prevent an attach event before the controller has been properly initialized. Writing a 0 to this will cause a detach event. 0 1 read-write USBSTS USB Status Register 0x144 32 0x00000000 0x030DF1FF TI1 TI1 General Purpose Timer Interrupt 1(GPTINT1)--R/WC. This bit is set when the counter in the GPTIMER1CTRL register transitions to zero, writing a one to this bit will clear it. 25 1 read-write TI0 TI0 General Purpose Timer Interrupt 0(GPTINT0)--R/WC. This bit is set when the counter in the GPTIMER0CTRL register transitions to zero, writing a one to this bit clears it. 24 1 read-write UPI USB Host Periodic Interrupt – RWC. Default = 0b. This bit is set by the Host Controller when the cause of an interrupt is a completion of a USB transaction where the Transfer Descriptor (TD) has an interrupt on complete (IOC) bit set and the TD was from the periodic schedule. This bit is also set by the Host Controller when a short packet is detected and the packet is on the periodic schedule. A short packet is when the actual number of bytes received was less than expected. This bit is not used by the device controller and will always be zero. 19 1 read-write UAI USB Host Asynchronous Interrupt – RWC. Default = 0b. This bit is set by the Host Controller when the cause of an interrupt is a completion of a USB transaction where the Transfer Descriptor (TD) has an interrupt on complete (IOC) bit set AND the TD was from the asynchronous schedule. This bit is also set by the Host when a short packet is detected and the packet is on the asynchronous schedule. A short packet is when the actual number of bytes received was less than expected. This bit is not used by the device controller and will always be zero 18 1 read-write NAKI NAKI NAK Interrupt Bit--RO. This bit is set by hardware when for a particular endpoint both the TX/RX Endpoint NAK bit and corresponding TX/RX Endpoint NAK Enable bit are set. This bit is automatically cleared by hardware when all Enabled TX/RX Endpoint NAK bits are cleared. 16 1 read-only AS AS Asynchronous Schedule Status - Read Only. This bit reports the current real status of the Asynchronous Schedule. When set to zero the asynchronous schedule status is disabled and if set to one the status is enabled. The Host Controller is not required to immediately disable or enable the Asynchronous Schedule when software transitions the Asynchronous Schedule Enable bit in the USBCMD register. When this bit and the Asynchronous Schedule Enable bit are the same value, the Asynchronous Schedule is either enabled (1) or disabled (0). Only used in the host operation mode. 15 1 read-only PS PS Periodic Schedule Status - Read Only. This bit reports the current real status of the Periodic Schedule. When set to zero the periodic schedule is disabled, and if set to one the status is enabled. The Host Controller is not required to immediately disable or enable the Periodic Schedule when software transitions the Periodic Schedule Enable bit in the USBCMD register. When this bit and the Periodic Schedule Enable bit are the same value, the Periodic Schedule is either enabled (1) or disabled (0). Only used in the host operation mode. 14 1 read-only RCL RCL Reclamation - Read Only. This is a read-only status bit used to detect an empty asynchronous schedule. Only used in the host operation mode. 13 1 read-only HCH HCH HCHaIted - Read Only. This bit is a zero whenever the Run/Stop bit is a one. The Controller sets this bit to one after it has stopped executing because of the Run/Stop bit being set to 0, either by software or by the Controller hardware (for example, an internal error). Only used in the host operation mode. Default value is '0b' for OTG core . This is because OTG core is not operating as host in default. Please see CM bit in USB_n_USBMODE register. NOTE: HCH bit reset value: '0b' for OTG controller core . 12 1 read-only SLI SLI DCSuspend - R/WC. When a controller enters a suspend state from an active state, this bit will be set to a one. The device controller clears the bit upon exiting from a suspend state. Only used in device operation mode. 8 1 read-write SRI SRI SOF Received - R/WC. When the device controller detects a Start Of (micro) Frame, this bit will be set to a one. When a SOF is extremely late, the device controller will automatically set this bit to indicate that an SOF was expected. Therefore, this bit will be set roughly every 1ms in device FS mode and every 125ms in HS mode and will be synchronized to the actual SOF that is received. Because the device controller is initialized to FS before connect, this bit will be set at an interval of 1ms during the prelude to connect and chirp. In host mode, this bit will be set every 125us and can be used by host controller driver as a time base. Software writes a 1 to this bit to clear it. 7 1 read-write URI URI USB Reset Received - R/WC. When the device controller detects a USB Reset and enters the default state, this bit will be set to a one. Software can write a 1 to this bit to clear the USB Reset Received status bit. Only used in device operation mode. 6 1 read-write AAI AAI Interrupt on Async Advance - R/WC. System software can force the host controller to issue an interrupt the next time the host controller advances the asynchronous schedule by writing a one to the Interrupt on Async Advance Doorbell bit in the n_USBCMD register. This status bit indicates the assertion of that interrupt source. Only used in host operation mode. 5 1 read-write SEI System Error – RWC. Default = 0b. In the BVCI implementation of the USBHS core, this bit is not used, and will always be cleared to '0b'. In the AMBA implementation, this bit will be set to '1b' when an Error response is seen by the master interface (HRESP[1:0]=ERROR) 4 1 read-write FRI FRI Frame List Rollover - R/WC. The Host Controller sets this bit to a one when the Frame List Index rolls over from its maximum value to zero. The exact value at which the rollover occurs depends on the frame list size. For example. If the frame list size (as programmed in the Frame List Size field of the USB_n_USBCMD register) is 1024, the Frame Index Register rolls over every time FRINDEX [13] toggles. Similarly, if the size is 512, the Host Controller sets this bit to a one every time FHINDEX [12] toggles. Only used in host operation mode. 3 1 read-write PCI PCI Port Change Detect - R/WC. The Host Controller sets this bit to a one when on any port a Connect Status occurs, a Port Enable/Disable Change occurs, or the Force Port Resume bit is set as the result of a J-K transition on the suspended port. The Device Controller sets this bit to a one when the port controller enters the full or high-speed operational state. When the port controller exits the full or high-speed operation states due to Reset or Suspend events, the notification mechanisms are the USB Reset Received bit and the DCSuspend bits Respectively. 2 1 read-write UEI UEI USB Error Interrupt (USBERRINT) - R/WC. When completion of a USB transaction results in an error condition, this bit is set by the Host/Device Controller. This bit is set along with the USBINT bit, if the TD on which the error interrupt occurred also had its interrupt on complete (IOC) bit set. 1 1 read-write UI UI USB Interrupt (USBINT) - R/WC. This bit is set by the Host/Device Controller when the cause of an interrupt is a completion of a USB transaction where the Transfer Descriptor (TD) has an interrupt on complete (IOC) bit set. This bit is also set by the Host/Device Controller when a short packet is detected. A short packet is when the actual number of bytes received was less than the expected number of bytes. 0 1 read-write USBINTR Interrupt Enable Register 0x148 32 0x00000000 0x030D01FF TIE1 TIE1 General Purpose Timer #1 Interrupt Enable When this bit is one and the TI1 bit in n_USBSTS register is a one the controller will issue an interrupt. 25 1 read-write TIE0 TIE0 General Purpose Timer #0 Interrupt Enable When this bit is one and the TI0 bit in n_USBSTS register is a one the controller will issue an interrupt. 24 1 read-write UPIE UPIE USB Host Periodic Interrupt Enable When this bit is one, and the UPI bit in the n_USBSTS register is one, host controller will issue an interrupt at the next interrupt threshold. 19 1 read-write UAIE UAIE USB Host Asynchronous Interrupt Enable When this bit is one, and the UAI bit in the n_USBSTS register is one, host controller will issue an interrupt at the next interrupt threshold. 18 1 read-write NAKE NAKE NAK Interrupt Enable When this bit is one and the NAKI bit in n_USBSTS register is a one the controller will issue an interrupt. 16 1 read-only SLE SLE Sleep Interrupt Enable When this bit is one and the SLI bit in n_n_USBSTS register is a one the controller will issue an interrupt. Only used in device operation mode. 8 1 read-write SRE SRE SOF Received Interrupt Enable When this bit is one and the SRI bit in n_USBSTS register is a one the controller will issue an interrupt. 7 1 read-write URE URE USB Reset Interrupt Enable When this bit is one and the URI bit in n_USBSTS register is a one the controller will issue an interrupt. Only used in device operation mode. 6 1 read-write AAE AAE Async Advance Interrupt Enable When this bit is one and the AAI bit in n_USBSTS register is a one the controller will issue an interrupt. Only used in host operation mode. 5 1 read-write SEE SEE System Error Interrupt Enable When this bit is one and the SEI bit in n_USBSTS register is a one the controller will issue an interrupt. Only used in host operation mode. 4 1 read-write FRE FRE Frame List Rollover Interrupt Enable When this bit is one and the FRI bit in n_USBSTS register is a one the controller will issue an interrupt. Only used in host operation mode. 3 1 read-write PCE PCE Port Change Detect Interrupt Enable When this bit is one and the PCI bit in n_USBSTS register is a one the controller will issue an interrupt. 2 1 read-write UEE UEE USB Error Interrupt Enable When this bit is one and the UEI bit in n_USBSTS register is a one the controller will issue an interrupt. 1 1 read-write UE UE USB Interrupt Enable When this bit is one and the UI bit in n_USBSTS register is a one the controller will issue an interrupt. 0 1 read-write FRINDEX USB Frame Index Register 0x14c 32 0x00000000 0x00003FFF FRINDEX FRINDEX Frame Index. The value, in this register, increments at the end of each time frame (micro-frame). Bits [N: 3] are used for the Frame List current index. This means that each location of the frame list is accessed 8 times (frames or micro-frames) before moving to the next index. The following illustrates values of N based on the value of the Frame List Size field in the USBCMD register, when used in host mode. USBCMD [Frame List Size] Number Elements N In device mode the value is the current frame number of the last frame transmitted. It is not used as an index. In either mode bits 2:0 indicate the current microframe. The bit field values description below is represented as (Frame List Size) Number Elements N. 00000000000000 - (1024) 12 00000000000001 - (512) 11 00000000000010 - (256) 10 00000000000011 - (128) 9 00000000000100 - (64) 8 00000000000101 - (32) 7 00000000000110 - (16) 6 00000000000111 - (8) 5 0 14 read-write DEVICEADDR Device Address Register 0x154 32 0x00000000 0xFF000000 USBADR USBADR Device Address. These bits correspond to the USB device address 25 7 read-write USBADRA USBADRA Device Address Advance. Default=0. When this bit is '0', any writes to USBADR are instantaneous. When this bit is written to a '1' at the same time or before USBADR is written, the write to the USBADR field is staged and held in a hidden register. After an IN occurs on endpoint 0 and is ACKed, USBADR will be loaded from the holding register. Hardware will automatically clear this bit on the following conditions: 1) IN is ACKed to endpoint 0. (USBADR is updated from staging register). 2) OUT/SETUP occur to endpoint 0. (USBADR is not updated). 3) Device Reset occurs (USBADR is reset to 0). NOTE: After the status phase of the SET_ADDRESS descriptor, the DCD has 2 ms to program the USBADR field. This mechanism will ensure this specification is met when the DCD can not write of the device address within 2ms from the SET_ADDRESS status phase. If the DCD writes the USBADR with USBADRA=1 after the SET_ADDRESS data phase (before the prime of the status phase), the USBADR will be programmed instantly at the correct time and meet the 2ms USB requirement. 24 1 read-write PERIODICLISTBASE Frame List Base Address Register 0x154 32 0x00000000 0xFFFFF000 BASEADR BASEADR Base Address (Low). These bits correspond to memory address signals [31:12], respectively. Only used by the host controller. 12 20 read-write ASYNCLISTADDR Next Asynch. Address Register 0x158 32 0x00000000 0xFFFFFFE0 ASYBASE ASYBASE Link Pointer Low (LPL). These bits correspond to memory address signals [31:5], respectively. This field may only reference a Queue Head (QH). Only used by the host controller. 5 27 read-write ENDPTLISTADDR Endpoint List Address Register 0x158 32 0x00000000 0xFFFFF800 EPBASE EPBASE Endpoint List Pointer(Low). These bits correspond to memory address signals [31:11], respectively. This field will reference a list of up to 32 Queue Head (QH) (that is, one queue head per endpoint & direction). 11 21 read-write BURSTSIZE Programmable Burst Size Register 0x160 32 0x00000000 0x0000FFFF TXPBURST TXPBURST Programmable TX Burst Size. Default value is determined by TXBURST bits in n_HWTXBUF. This register represents the maximum length of a the burst in 32-bit words while moving data from system memory to the USB bus. 8 8 read-write RXPBURST RXPBURST Programmable RX Burst Size. Default value is determined by TXBURST bits in n_HWRXBUF. This register represents the maximum length of a the burst in 32-bit words while moving data from the USB bus to system memory. 0 8 read-write TXFILLTUNING TX FIFO Fill Tuning Register 0x164 32 0x00000000 0x003F1F7F TXFIFOTHRES TXFIFOTHRES FIFO Burst Threshold. (Read/Write) This register controls the number of data bursts that are posted to the TX latency FIFO in host mode before the packet begins on to the bus. The minimum value is 2 and this value should be a low as possible to maximize USB performance. A higher value can be used in systems with unpredictable latency and/or insufficient bandwidth where the FIFO may underrun because the data transferred from the latency FIFO to USB occurs before it can be replenished from system memory. This value is ignored if the Stream Disable bit in USB_n_USBMODE register is set. 16 6 read-write TXSCHHEALTH TXSCHHEALTH Scheduler Health Counter. (Read/Write To Clear) Table continues on the next page This register increments when the host controller fails to fill the TX latency FIFO to the level programmed by TXFIFOTHRES before running out of time to send the packet before the next Start-Of-Frame. This health counter measures the number of times this occurs to provide feedback to selecting a proper TXSCHOH. Writing to this register will clear the counter and this counter will max. at 31. 8 5 read-write TXSCHOH TXSCHOH Scheduler Overhead. (Read/Write) [Default = 0] This register adds an additional fixed offset to the schedule time estimator described above as Tff. As an approximation, the value chosen for this register should limit the number of back-off events captured in the TXSCHHEALTH to less than 10 per second in a highly utilized bus. Choosing a value that is too high for this register is not desired as it can needlessly reduce USB utilization. The time unit represented in this register is 1.267us when a device is connected in High-Speed Mode. The time unit represented in this register is 6.333us when a device is connected in Low/Full Speed Mode. Default value is '08h' for OTG controller core . 0 7 read-write ENDPTNAK Endpoint NAK Register 0x178 32 0x00000000 0x00FF00FF EPTN EPTN TX Endpoint NAK - R/WC. Each TX endpoint has 1 bit in this field. The bit is set when the device sends a NAK handshake on a received IN token for the corresponding endpoint. Bit [N] - Endpoint #[N], N is 0-7 16 8 read-write EPRN EPRN RX Endpoint NAK - R/WC. Each RX endpoint has 1 bit in this field. The bit is set when the device sends a NAK handshake on a received OUT or PING token for the corresponding endpoint. Bit [N] - Endpoint #[N], N is 0-7 0 8 read-write ENDPTNAKEN Endpoint NAK Enable Register 0x17c 32 0x00000000 0x00FF00FF EPTNE EPTNE TX Endpoint NAK Enable - R/W. Each bit is an enable bit for the corresponding TX Endpoint NAK bit. If this bit is set and the corresponding TX Endpoint NAK bit is set, the NAK Interrupt bit is set. Bit [N] - Endpoint #[N], N is 0-7 16 8 read-write EPRNE EPRNE RX Endpoint NAK Enable - R/W. Each bit is an enable bit for the corresponding RX Endpoint NAK bit. If this bit is set and the corresponding RX Endpoint NAK bit is set, the NAK Interrupt bit is set. Bit [N] - Endpoint #[N], N is 0-7 0 8 read-write PORTSC1 Port Status & Control 0x184 32 0x00000000 0x3DFF1FFF STS STS Serial Transceiver Select 1 Serial Interface Engine is selected 0 Parallel Interface signals is selected Serial Interface Engine can be used in combination with UTMI+/ULPI physical interface to provide FS/LS signaling instead of the parallel interface signals. When this bit is set '1b', serial interface engine will be used instead of parallel interface signals. 29 1 read-write PTW PTW Parallel Transceiver Width This bit has no effect if serial interface engine is used. 0 - Select the 8-bit UTMI interface [60MHz] 1 - Select the 16-bit UTMI interface [30MHz] 28 1 read-write PSPD PSPD Port Speed - Read Only. This register field indicates the speed at which the port is operating. 00 - Full Speed 01 - Low Speed 10 - High Speed 11 - Undefined 26 2 read-only PFSC PFSC Port Force Full Speed Connect - Read/Write. Default = 0b. When this bit is set to '1b', the port will be forced to only connect at Full Speed, It disables the chirp sequence that allows the port to identify itself as High Speed. 0 - Normal operation 1 - Forced to full speed 24 1 read-write PHCD PHCD PHY Low Power Suspend - Clock Disable (PLPSCD) - Read/Write. Default = 0b. When this bit is set to '1b', the PHY clock is disabled. Reading this bit will indicate the status of the PHY clock. NOTE: The PHY clock cannot be disabled if it is being used as the system clock. In device mode, The PHY can be put into Low Power Suspend when the device is not running (USBCMD Run/Stop=0b) or the host has signalled suspend (PORTSC1 SUSPEND=1b). PHY Low power suspend will be cleared automatically when the host initials resume. Before forcing a resume from the device, the device controller driver must clear this bit. In host mode, the PHY can be put into Low Power Suspend when the downstream device has been put into suspend mode or when no downstream device is connected. Low power suspend is completely under the control of software. 0 - Enable PHY clock 1 - Disable PHY clock 23 1 read-write WKOC WKOC Wake on Over-current Enable (WKOC_E) - Read/Write. Default = 0b. Writing this bit to a one enables the port to be sensitive to over-current conditions as wake-up events. This field is zero if Port Power(PORTSC1) is zero. 22 1 read-write WKDC WKDC Wake on Disconnect Enable (WKDSCNNT_E) - Read/Write. Default=0b. Writing this bit to a one enables the port to be sensitive to device disconnects as wake-up events. This field is zero if Port Power(PORTSC1) is zero or in device mode. 21 1 read-write WKCN WKCN Wake on Connect Enable (WKCNNT_E) - Read/Write. Default=0b. Writing this bit to a one enables the port to be sensitive to device connects as wake-up events. This field is zero if Port Power(PORTSC1) is zero or in device mode. 20 1 read-write PTC PTC Port Test Control - Read/Write. Default = 0000b. Refer to Port Test Mode for the operational model for using these test modes and the USB Specification Revision 2.0, Chapter 7 for details on each test mode. The FORCE_ENABLE_FS and FORCE ENABLE_LS are extensions to the test mode support specified in the EHCI specification. Writing the PTC field to any of the FORCE_ENABLE_{HS/FS/LS} values will force the port into the connected and enabled state at the selected speed. Writing the PTC field back to TEST_MODE_DISABLE will allow the port state machines to progress normally from that point. NOTE: Low speed operations are not supported as a peripheral device. Any other value than zero indicates that the port is operating in test mode. Value Specific Test 0000 - TEST_MODE_DISABLE 0001 - J_STATE 0010 - K_STATE 0011 - SE0 (host) / NAK (device) 0100 - Packet 0101 - FORCE_ENABLE_HS 0110 - FORCE_ENABLE_FS 0111 - FORCE_ENABLE_LS 1000-1111 - Reserved 16 4 read-write PP PP Port Power (PP)-Read/Write or Read Only. The function of this bit depends on the value of the Port Power Switching (PPC) field in the HCSPARAMS register. The behavior is as follows: PPC PP Operation 0 1b Read Only - Host controller does not have port power control switches. Each port is hard-wired to power. 1 1b/0b - Read/Write. OTG controller requires port power control switches. This bit represents the current setting of the switch (0=off, 1=on). When power is not available on a port (that is, PP equals a 0), the port is non-functional and will not report attaches, detaches, etc. When an over-current condition is detected on a powered port and PPC is a one, the PP bit in each affected port may be transitional by the host controller driver from a one to a zero (removing power from the port). This feature is implemented in all controller cores (PPC = 1). 12 1 read-write LS LS Line Status-Read Only. These bits reflect the current logical levels of the D+ (bit 11) and D- (bit 10) signal lines. In host mode, the use of linestate by the host controller driver is not necessary (unlike EHCI), because the port controller state machine and the port routing manage the connection of LS and FS. In device mode, the use of linestate by the device controller driver is not necessary. The encoding of the bits are: Bits [11:10] Meaning 00 - SE0 01 - K-state 10 - J-state 11 - Undefined 10 2 read-only HSP HSP High-Speed Port - Read Only. Default = 0b. When the bit is one, the host/device connected to the port is in high-speed mode and if set to zero, the host/device connected to the port is not in a high-speed mode. NOTE: HSP is redundant with PSPD(bit 27, 26) but remained for compatibility. 9 1 read-only PR PR Port Reset - Read/Write or Read Only. Default = 0b. In Host Mode: Read/Write. 1=Port is in Reset. 0=Port is not in Reset. Default 0. When software writes a one to this bit the bus-reset sequence as defined in the USB Specification Revision 2.0 is started. This bit will automatically change to zero after the reset sequence is complete. This behavior is different from EHCI where the host controller driver is required to set this bit to a zero after the reset duration is timed in the driver. In Device Mode: This bit is a read only status bit. Device reset from the USB bus is also indicated in the USBSTS register. 8 1 read-write SUSP SUSP Suspend - Read/Write or Read Only. Default = 0b. 1=Port in suspend state. 0=Port not in suspend state. In Host Mode: Read/Write. Port Enabled Bit and Suspend bit of this register define the port states as follows: Bits [Port Enabled, Suspend] Port State 0x Disable 10 Enable 11 Suspend When in suspend state, downstream propagation of data is blocked on this port, except for port reset. The blocking occurs at the end of the current transaction if a transaction was in progress when this bit was written to 1. In the suspend state, the port is sensitive to resume detection. Note that the bit status does not change until the port is suspended and that there may be a delay in suspending a port if there is a transaction currently in progress on the USB. The host controller will unconditionally set this bit to zero when software sets the Force Port Resume bit to zero. The host controller ignores a write of zero to this bit. If host software sets this bit to a one when the port is not enabled (that is, Port enabled bit is a zero) the results are undefined. This field is zero if Port Power(PORTSC1) is zero in host mode. In Device Mode: Read Only. In device mode this bit is a read only status bit. 7 1 read-write FPR FPR Force Port Resume -Read/Write. 1= Resume detected/driven on port. 0=No resume (K-state) detected driven on port. Default = 0. In Host Mode: Software sets this bit to one to drive resume signaling. The Host Controller sets this bit to one if a J-to-K transition is detected while the port is in the Suspend state. When this bit transitions to a one because a J-to-K transition is detected, the Port Change Detect bit in the USBSTS register is also set to one. This bit will automatically change to zero after the resume sequence is complete. This behavior is different from EHCI where the host controller driver is required to set this bit to a zero after the resume duration is timed in the driver. Note that when the Host controller owns the port, the resume sequence follows the defined sequence documented in the USB Specification Revision 2.0. The resume signaling (Full-speed 'K') is driven on the port as long as this bit remains a one. This bit will remain a one until the port has switched to the high-speed idle. Writing a zero has no effect because the port controller will time the resume operation, clear the bit the port control state switches to HS or FS idle. This field is zero if Port Power(PORTSC1) is zero in host mode. This bit is not-EHCI compatible. In Device mode: After the device has been in Suspend State for 5ms or more, software must set this bit to one to drive resume signaling before clearing. The Device Controller will set this bit to one if a J-to-K transition is detected while the port is in the Suspend state. The bit will be cleared when the device returns to normal operation. Also, when this bit wil be cleared because a K-to-J transition detected, the Port Change Detect bit in the USBSTS register is also set to one. 6 1 read-write OCC OCC Over-current Change-R/WC. Default=0. This bit is set '1b' by hardware when there is a change to Over-current Active. Software can clear this bit by writing a one to this bit position. 5 1 read-write OCA OCA Over-current Active-Read Only. Default 0. This bit will automatically transition from one to zero when the over current condition is removed. 0 - This port does not have an over-current condition. 1 - This port currently has an over-current condition 4 1 read-only PEC PEC Port Enable/Disable Change-R/WC. 1=Port enabled/disabled status has changed. 0=No change. Default = 0. In Host Mode: For the root hub, this bit is set to a one only when a port is disabled due to disconnect on the port or due to the appropriate conditions existing at the EOF2 point (See Chapter 11 of the USB Specification). Software clears this by writing a one to it. This field is zero if Port Power(PORTSC1) is zero. In Device mode: The device port is always enabled, so this bit is always '0b'. 3 1 read-write PE PE Port Enabled/Disabled-Read/Write. 1=Enable. 0=Disable. Default 0. In Host Mode: Ports can only be enabled by the host controller as a part of the reset and enable. Software cannot enable a port by writing a one to this field. Ports can be disabled by either a fault condition (disconnect event or other fault condition) or by the host software. Note that the bit status does not change until the port state actually changes. There may be a delay in disabling or enabling a port due to other host controller and bus events. When the port is disabled, (0b) downstream propagation of data is blocked except for reset. This field is zero if Port Power(PORTSC1) is zero in host mode. In Device Mode: The device port is always enabled, so this bit is always '1b'. 2 1 read-write CSC CSC Connect Status Change-R/WC. 1 =Change in Current Connect Status. 0=No change. Default 0. In Host Mode: Indicates a change has occurred in the port's Current Connect Status. The host/device controller sets this bit for all changes to the port device connect status, even if system software has not cleared an existing connect status change. For example, the insertion status changes twice before system software has cleared the changed condition, hub hardware will be 'setting' an already-set bit (that is, the bit will remain set). Software clears this bit by writing a one to it. This field is zero if Port Power(PORTSC1) is zero in host mode. In Device Mode: This bit is undefined in device controller mode. 1 1 read-write CCS CCS Current Connect Status-Read Only. In Host Mode: 1=Device is present on port. 0=No device is present. Default = 0. This value reflects the current state of the port, and may not correspond directly to the event that caused the Connect Status Change bit (Bit 1) to be set. This field is zero if Port Power(PORTSC1) is zero in host mode. In Device Mode: 1=Attached. 0=Not Attached. Default=0. A one indicates that the device successfully attached and is operating in either high speed or full speed as indicated by the High Speed Port bit in this register. A zero indicates that the device did not attach successfully or was forcibly disconnected by the software writing a zero to the Run bit in the USBCMD register. It does not state the device being disconnected or Suspended. 0 1 read-write OTGSC On-The-Go Status & control Register 0x1a4 32 0x00000000 0x07070723 ASVIE ASVIE A Session Valid Interrupt Enable - Read/Write. 26 1 read-write AVVIE AVVIE A VBus Valid Interrupt Enable - Read/Write. Setting this bit enables the A VBus valid interrupt. 25 1 read-write IDIE IDIE USB ID Interrupt Enable - Read/Write. Setting this bit enables the USB ID interrupt. 24 1 read-write ASVIS ASVIS A Session Valid Interrupt Status - Read/Write to Clear. This bit is set when VBus has either risen above or fallen below the A session valid threshold. Software must write a one to clear this bit. 18 1 read-write AVVIS AVVIS A VBus Valid Interrupt Status - Read/Write to Clear. This bit is set when VBus has either risen above or fallen below the VBus valid threshold on an A device. Software must write a one to clear this bit. 17 1 read-write IDIS IDIS USB ID Interrupt Status - Read/Write. This bit is set when a change on the ID input has been detected. Software must write a one to clear this bit. 16 1 read-write ASV ASV A Session Valid - Read Only. Indicates VBus is above the A session valid threshold. 10 1 read-only AVV AVV A VBus Valid - Read Only. Indicates VBus is above the A VBus valid threshold. 9 1 read-only ID ID USB ID - Read Only. 0 = A device, 1 = B device 8 1 read-only IDPU IDPU ID Pullup - Read/Write This bit provide control over the ID pull-up resistor; 0 = off, 1 = on [default]. When this bit is 0, the ID input will not be sampled. 5 1 read-write VC VC VBUS Charge - Read/Write. Setting this bit causes the VBus line to be charged. This is used for VBus pulsing during SRP. 1 1 read-write VD VD VBUS_Discharge - Read/Write. Setting this bit causes VBus to discharge through a resistor. 0 1 read-write USBMODE USB Device Mode Register 0x1a8 32 0x00000000 0x0000001F SDIS SDIS Stream Disable Mode. (0 - Inactive [default]; 1 - Active) Device Mode: Setting to a '1' disables double priming on both RX and TX for low bandwidth systems. This mode ensures that when the RX and TX buffers are sufficient to contain an entire packet that the standard double buffering scheme is disabled to prevent overruns/underruns in bandwidth limited systems. Note: In High Speed Mode, all packets received are responded to with a NYET handshake when stream disable is active. Host Mode: Setting to a '1' ensures that overruns/underruns of the latency FIFO are eliminated for low bandwidth systems where the RX and TX buffers are sufficient to contain the entire packet. Enabling stream disable also has the effect of ensuring the TX latency is filled to capacity before the packet is launched onto the USB. NOTE: Time duration to pre-fill the FIFO becomes significant when stream disable is active. See TXFILLTUNING and TXTTFILLTUNING [MPH Only] to characterize the adjustments needed for the scheduler when using this feature. NOTE: The use of this feature substantially limits of the overall USB performance that can be achieved. 4 1 read-write SLOM SLOM Setup Lockout Mode. In device mode, this bit controls behavior of the setup lock mechanism. See Control Endpoint Operation Model . 0 - Setup Lockouts On (default); 1 - Setup Lockouts Off. DCD requires use of Setup Data Buffer Tripwire in USBCMD. 3 1 read-write ES ES Endian Select - Read/Write. This bit can change the byte alignment of the transfer buffers to match the host microprocessor. The bit fields in the microprocessor interface and the data structures are unaffected by the value of this bit because they are based upon the 32-bit word. Bit Meaning 0 - Little Endian [Default] 1 - Big Endian 2 1 read-write CM CM Controller Mode - R/WO. Controller mode is defaulted to the proper mode for host only and device only implementations. For those designs that contain both host & device capability, the controller defaults to an idle state and needs to be initialized to the desired operating mode after reset. For combination host/ device controllers, this register can only be written once after reset. If it is necessary to switch modes, software must reset the controller by writing to the RESET bit in the USBCMD register before reprogramming this register. For OTG controller core, reset value is '00b'. 00 - Idle [Default for combination host/device] 01 - Reserved 10 - Device Controller [Default for device only controller] 11 - Host Controller [Default for host only controller] 0 2 read-write ENDPTSETUPSTAT Endpoint Setup Status Register 0x1ac 32 0x00000000 0x000000FF ENDPTSETUPSTAT ENDPTSETUPSTAT Setup Endpoint Status. For every setup transaction that is received, a corresponding bit in this register is set to one. Software must clear or acknowledge the setup transfer by writing a one to a respective bit after it has read the setup data from Queue head. The response to a setup packet as in the order of operations and total response time is crucial to limit bus time outs while the setup lock out mechanism is engaged. This register is only used in device mode. 0 8 read-write ENDPTPRIME Endpoint Prime Register 0x1b0 32 0x00000000 0x00FF00FF PETB PETB Prime Endpoint Transmit Buffer - R/WS. For each endpoint a corresponding bit is used to request that a buffer is prepared for a transmit operation in order to respond to a USB IN/INTERRUPT transaction. Software should write a one to the corresponding bit when posting a new transfer descriptor to an endpoint queue head. Hardware automatically uses this bit to begin parsing for a new transfer descriptor from the queue head and prepare a transmit buffer. Hardware clears this bit when the associated endpoint(s) is (are) successfully primed. NOTE: These bits are momentarily set by hardware during hardware re-priming operations when a dTD is retired, and the dQH is updated. PETB[N] - Endpoint #N, N is in 0..7 16 8 read-write PERB PERB Prime Endpoint Receive Buffer - R/WS. For each endpoint, a corresponding bit is used to request a buffer prepare for a receive operation for when a USB host initiates a USB OUT transaction. Software should write a one to the corresponding bit whenever posting a new transfer descriptor to an endpoint queue head. Hardware automatically uses this bit to begin parsing for a new transfer descriptor from the queue head and prepare a receive buffer. Hardware clears this bit when the associated endpoint(s) is (are) successfully primed. NOTE: These bits are momentarily set by hardware during hardware re-priming operations when a dTD is retired, and the dQH is updated. PERB[N] - Endpoint #N, N is in 0..7 0 8 read-write ENDPTFLUSH Endpoint Flush Register 0x1b4 32 0x00000000 0x00FF00FF FETB FETB Flush Endpoint Transmit Buffer - R/WS. Writing one to a bit(s) in this register causes the associated endpoint(s) to clear any primed buffers. If a packet is in progress for one of the associated endpoints, then that transfer continues until completion. Hardware clears this register after the endpoint flush operation is successful. FETB[N] - Endpoint #N, N is in 0..7 16 8 read-write FERB FERB Flush Endpoint Receive Buffer - R/WS. Writing one to a bit(s) causes the associated endpoint(s) to clear any primed buffers. If a packet is in progress for one of the associated endpoints, then that transfer continues until completion. Hardware clears this register after the endpoint flush operation is successful. FERB[N] - Endpoint #N, N is in 0..7 0 8 read-write ENDPTSTAT Endpoint Status Register 0x1b8 32 0x00000000 0x00FF00FF ETBR ETBR Endpoint Transmit Buffer Ready -- Read Only. One bit for each endpoint indicates status of the respective endpoint buffer. This bit is set to one by the hardware as a response to receiving a command from a corresponding bit in the ENDPTPRIME register. There is always a delay between setting a bit in the ENDPTPRIME register and endpoint indicating ready. This delay time varies based upon the current USB traffic and the number of bits set in the ENDPRIME register. Buffer ready is cleared by USB reset, by the USB DMA system, or through the ENDPTFLUSH register. NOTE: These bits are momentarily cleared by hardware during hardware endpoint re-priming operations when a dTD is retired, and the dQH is updated. ETBR[N] - Endpoint #N, N is in 0..7 16 8 read-only ERBR ERBR Endpoint Receive Buffer Ready -- Read Only. One bit for each endpoint indicates status of the respective endpoint buffer. This bit is set to a one by the hardware as a response to receiving a command from a corresponding bit in the ENDPRIME register. There is always a delay between setting a bit in the ENDPRIME register and endpoint indicating ready. This delay time varies based upon the current USB traffic and the number of bits set in the ENDPRIME register. Buffer ready is cleared by USB reset, by the USB DMA system, or through the ENDPTFLUSH register. NOTE: These bits are momentarily cleared by hardware during hardware endpoint re-priming operations when a dTD is retired, and the dQH is updated. ERBR[N] - Endpoint #N, N is in 0..7 0 8 read-only ENDPTCOMPLETE Endpoint Complete Register 0x1bc 32 0x00000000 0x00FF00FF ETCE ETCE Endpoint Transmit Complete Event - R/WC. Each bit indicates a transmit event (IN/INTERRUPT) occurred and software should read the corresponding endpoint queue to determine the endpoint status. If the corresponding IOC bit is set in the Transfer Descriptor, then this bit is set simultaneously with the USBINT . Writing one clears the corresponding bit in this register. ETCE[N] - Endpoint #N, N is in 0..7 16 8 read-write ERCE ERCE Endpoint Receive Complete Event - RW/C. Each bit indicates a received event (OUT/SETUP) occurred and software should read the corresponding endpoint queue to determine the transfer status. If the corresponding IOC bit is set in the Transfer Descriptor, then this bit is set simultaneously with the USBINT . Writing one clears the corresponding bit in this register. ERCE[N] - Endpoint #N, N is in 0..7 0 8 read-write 8 0x4 ENDPTCTRL0,ENDPTCTRL1,ENDPTCTRL2,ENDPTCTRL3,ENDPTCTRL4,ENDPTCTRL5,ENDPTCTRL6,ENDPTCTRL7 ENDPTCTRL[%s] no description available 0x1c0 32 0x00000000 0x00CD00CD TXE TXE TX Endpoint Enable 0 Disabled [Default] 1 Enabled An Endpoint should be enabled only after it has been configured. 23 1 read-write TXR TXR TX Data Toggle Reset (WS) Write 1 - Reset PID Sequence Whenever a configuration event is received for this Endpoint, software must write a one to this bit in order to synchronize the data PID's between the Host and device. 22 1 write-only TXT TXT TX Endpoint Type - Read/Write 00 Control 01 Isochronous 10 Bulk 11 Interrupt 18 2 read-write TXS TXS TX Endpoint Stall - Read/Write 0 End Point OK 1 End Point Stalled This bit will be cleared automatically upon receipt of a SETUP request if this Endpoint is configured as a Control Endpoint and this bit will continue to be cleared by hardware until the associated ENDPTSETUPSTAT bit is cleared. Software can write a one to this bit to force the endpoint to return a STALL handshake to the Host. This control will continue to STALL until this bit is either cleared by software or automatically cleared as above for control endpoints. NOTE: [CONTROL ENDPOINT TYPES ONLY]: there is a slight delay (50 clocks max) between the ENDPTSETUPSTAT begin cleared and hardware continuing to clear this bit. In most systems, it is unlikely the DCD software will observe this delay. However, should the DCD observe that the stall bit is not set after writing a one to it then follow this procedure: continually write this stall bit until it is set or until a new setup has been received by checking the associated endptsetupstat Bit. 16 1 read-write RXE RXE RX Endpoint Enable 0 Disabled [Default] 1 Enabled An Endpoint should be enabled only after it has been configured. 7 1 read-write RXR RXR RX Data Toggle Reset (WS) Write 1 - Reset PID Sequence Whenever a configuration event is received for this Endpoint, software must write a one to this bit in order to synchronize the data PID's between the host and device. 6 1 write-only RXT RXT RX Endpoint Type - Read/Write 00 Control 01 Isochronous 10 Bulk 11 Interrupt 2 2 read-write RXS RXS RX Endpoint Stall - Read/Write 0 End Point OK. [Default] 1 End Point Stalled This bit is set automatically upon receipt of a SETUP request if this Endpoint is configured as a Control Endpointand this bit will continue to be cleared by hardware until the associated ENDPTSETUPSTAT bit is cleared. Software can write a one to this bit to force the endpoint to return a STALL handshake to the Host. This control will continue to STALL until this bit is either cleared by software or automatically cleared as above for control endpoints. NOTE: [CONTROL ENDPOINT TYPES ONLY]: there is a slight delay (50 clocks max) between the ENDPTSETUPSTAT begin cleared and hardware continuing to clear this bit. In most systems, it is unlikely the DCD software will observe this delay. However, should the DCD observe that the stall bit is not set after writing a one to it then follow this procedure: continually write this stall bit until it is set or until a new setup has been received by checking the associated endptsetupstat Bit. 0 1 read-write OTG_CTRL0 No description avaiable 0x200 32 0x00000000 0x020B3F90 OTG_WKDPDMCHG_EN No description avaiable 25 1 read-write AUTORESUME_EN No description avaiable 19 1 read-write OTG_VBUS_WAKEUP_EN No description avaiable 17 1 read-write OTG_ID_WAKEUP_EN No description avaiable 16 1 read-write OTG_VBUS_SOURCE_SEL No description avaiable 13 1 read-write OTG_UTMI_SUSPENDM_SW default 0 for naneng usbphy 12 1 read-write OTG_UTMI_RESET_SW default 1 for naneng usbphy 11 1 read-write OTG_WAKEUP_INT_ENABLE No description avaiable 10 1 read-write OTG_POWER_MASK No description avaiable 9 1 read-write OTG_OVER_CUR_POL No description avaiable 8 1 read-write OTG_OVER_CUR_DIS No description avaiable 7 1 read-write SER_MODE_SUSPEND_EN for naneng usbphy, only switch to serial mode when suspend 4 1 read-write PHY_CTRL0 No description avaiable 0x210 32 0x00000000 0x02007007 GPIO_ID_SEL_N No description avaiable 25 1 read-write ID_DIG_OVERRIDE No description avaiable 14 1 read-write SESS_VALID_OVERRIDE No description avaiable 13 1 read-write VBUS_VALID_OVERRIDE No description avaiable 12 1 read-write ID_DIG_OVERRIDE_EN No description avaiable 2 1 read-write SESS_VALID_OVERRIDE_EN No description avaiable 1 1 read-write VBUS_VALID_OVERRIDE_EN No description avaiable 0 1 read-write PHY_CTRL1 No description avaiable 0x214 32 0x00000000 0x00100002 UTMI_CFG_RST_N No description avaiable 20 1 read-write UTMI_OTG_SUSPENDM OTG suspend, not utmi_suspendm 1 1 read-write TOP_STATUS No description avaiable 0x220 32 0x00000000 0x80000000 WAKEUP_INT_STATUS No description avaiable 31 1 read-write PHY_STATUS No description avaiable 0x224 32 0x00000000 0x800000F5 UTMI_CLK_VALID No description avaiable 31 1 read-write LINE_STATE No description avaiable 6 2 read-write HOST_DISCONNECT No description avaiable 5 1 read-write ID_DIG No description avaiable 4 1 read-write UTMI_SESS_VALID No description avaiable 2 1 read-write VBUS_VALID No description avaiable 0 1 read-write SDP SDP SDP 0xf3040000 0x0 0x60 registers SDPCR SDP control register 0x0 32 0x30000000 0xFFFE0101 SFTRST soft reset. Write 1 then 0, to reset the SDP block. 31 1 read-write CLKGAT Clock Gate for the SDP main logic. Write to 1 will clock gate for most logic of the SDP block, dynamic power saving when not use SDP block. 30 1 read-write CIPDIS Cipher Disable, read the info, whether the CIPHER features is besing disable in this chip or not. 1, Cipher is disabled in this chip. 0, Cipher is enabled in this chip. 29 1 read-only HASDIS HASH Disable, read the info, whether the HASH features is besing disable in this chip or not. 1, HASH is disabled in this chip. 0, HASH is enabled in this chip. 28 1 read-only CIPHEN Cipher Enablement, controlled by SW. 1, Cipher is Enabled. 0, Cipher is Disabled. 23 1 read-write HASHEN HASH Enablement, controlled by SW. 1, HASH is Enabled. 0, HASH is Disabled. 22 1 read-write MCPEN Memory Copy Enablement, controlled by SW. 1, Memory copy is Enabled. 0, Memory copy is Disabled. 21 1 read-write CONFEN Constant Fill to memory, controlled by SW. 1, Constant fill is Enabled. 0, Constant fill is Disabled. 20 1 read-write DCRPDI Decryption Disable bit, Write to 1 to disable the decryption. 19 1 read-write TSTPKT0IRQ Test purpose for interrupt when Packet counter reachs "0", but CHAIN=1 in the current packet. 17 1 read-write RDSCEN when set to "1", the 1st data packet descriptor loacted in the register(CMDPTR, NPKTPTR, ...) when set to "0", the 1st data packet descriptor loacted in the memeory(pointed by CMDPTR) 8 1 read-write INTEN Interrupt Enablement, controlled by SW. 1, SDP interrupt is enabled. 0, SDP interrupt is disabled. 0 1 read-write MODCTRL Mod control register. 0x4 32 0x00000000 0xFFFFFFFF AESALG AES algorithem selection. 0x0 = AES 128; 0x1 = AES 256; 0x8 = SM4; Others, reserved. 28 4 read-write AESMOD AES mode selection. 0x0 = ECB; 0x1 = CBC; Others, reserved. 24 4 read-write AESKS AES Key Selection. These regisgers are being used to select the AES key that stored in the 16x128 key ram of the SDP, or select the key from the OTP. Detail as following: 0x00: key from the 16x128, this is the key read address, valid for AES128; AES256 will use 128 bit from this address and 128 bit key from next address as 256 bit AES key. 0x01: key from the 16x128, this is the key read address, valid for AES128, not valid for AES286. .... 0x0E: key from the 16x128, this is the key read address, valid for AES128; AES256 will use 128 from this add and 128 from next add for the AES key. 0x0F: key from the 16x128, this is the key read address, valid for AES128, not valid for AES286. 0x20: kman_sk0[127:0] from the key manager for AES128; AES256 will use kman_sk0[255:0] as AES key. 0x21: kman_sk0[255:128] from the key manager for AES128; not valid for AES256. 0x22: kman_sk1[127:0] from the key manager for AES128; AES256 will use kman_sk1[255:0] as AES key. 0x23: kman_sk1[255:128] from the key manager for AES128; not valid for AES256. 0x24: kman_sk2[127:0] from the key manager for AES128; AES256 will use kman_sk2[255:0] as AES key. 0x25: kman_sk2[255:128] from the key manager for AES128; not valid for AES256. 0x26: kman_sk3[127:0] from the key manager for AES128; AES256 will use kman_sk3[255:0] as AES key. 0x27: kman_sk3[255:128] from the key manager for AES128; not valid for AES256. 0x30: exip0_key[127:0] from OTP for AES128; AES256 will use exip0_key[255:0] as AES key. 0x31: exip0_key[255:128] from OTP for AES128; not valid for AES256. 0x32: exip1_key[127:0] from OTP for AES128; AES256 will use exip1_key[255:0] as AES key. 0x33: exip1_key[255:128] from OTP for AES128; not valid for AES256. Other values, reserved. 18 6 read-write AESDIR AES direction 1x1, AES Decryption 1x0, AES Encryption. 16 1 read-write HASALG HASH Algorithem selection. 0x0 SHA1 — 0x1 CRC32 — 0x2 SHA256 — 12 4 read-write CRCEN CRC enable. 1x1, CRC is enabled. 1x0, CRC is disabled. 11 1 read-write HASCHK HASH Check Enable Bit. 1x1, HASH check need, hash result will compare with the HASHRSLT 0-7 registers; 1x0, HASH check is not enabled, HASHRSLT0-7 store the HASH result. For SHA1, will use HASHRSLT0-3 words, and HASH 256 will use HASH0-7 words. 10 1 read-write HASOUT When hashing is enabled, this bit controls the input or output data of the AES engine is hashed. 0 INPUT HASH 1 OUTPUT HASH 9 1 read-write DINSWP Decide whether the SDP byteswaps the input data (big-endian data); When all bits are set, the data is assumed to be in the big-endian format 4 2 read-write DOUTSWP Decide whether the SDP byteswaps the output data (big-endian data); When all bits are set, the data is assumed to be in the big-endian format 2 2 read-write KEYSWP Decide whether the SDP byteswaps the Key (big-endian data). When all bits are set, the data is assumed to be in the big-endian format 0 2 read-write PKTCNT packet counter registers. 0x8 32 0x00000000 0xFFFFFFFF CNTVAL This read-only field shows the current (instantaneous) value of the packet counter 16 8 read-only CNTINCR The value written to this field is added to the spacket count. 0 8 read-write STA Status Registers 0xc 32 0x00000000 0xFFFFFFFF TAG packet tag. 24 8 read-only IRQ interrupt Request, requested when error happen, or when packet processing done, packet counter reach to zero. 23 1 write-only CHN1PKT0 the chain buffer "chain" bit is "1", while packet counter is "0", now, waiting for new buffer data. 20 1 write-only AESBSY AES Busy 19 1 read-only HASBSY Hashing Busy 18 1 read-only PKTCNT0 Packet Counter registers reachs to ZERO now. 17 1 write-only PKTDON Packet processing done, will trigger this itnerrrupt when the "PKTINT" bit set in the packet control word. 16 1 write-only ERRSET Working mode setup error. 5 1 write-only ERRPKT Packet head access error, or status update error. 4 1 write-only ERRSRC Source Buffer Access Error 3 1 write-only ERRDST Destination Buffer Error 2 1 write-only ERRHAS Hashing Check Error 1 1 write-only ERRCHAIN buffer chain error happen when packet's CHAIN bit=0, but the Packet counter is still not zero. 0 1 write-only KEYADDR Key Address 0x10 32 0x00000040 0xFFFFFFFF INDEX To write a key to the SDP KEY RAM, the software must first write the desired key index/subword to this register. Key index pointer. The valid indices are 0-[number_keys]. In the SDP, there is a 16x128 key ram can store 16 AES128 keys or 8 AES 256 Keys; this index is for addressing the 16 128-bit key addresses. 16 8 read-write SUBWRD Key subword pointer. The valid indices are 0-3. After each write to the key data register, this field increments; To write a key, the software must first write the desired key index/subword to this register. 0 2 read-write KEYDAT Key Data 0x14 32 0x00000030 0xFFFFFFFF KEYDAT This register provides the write access to the key/key subword specified by the key index register. Writing this location updates the selected subword for the key located at the index specified by the key index register. The write also triggers the SUBWORD field of the KEY register to increment to the next higher word in the key 0 32 read-write 4 0x4 CIPHIV0,CIPHIV1,CIPHIV2,CIPHIV3 CIPHIV[%s] no description available 0x18 32 0x00000000 0xFFFFFFFF CIPHIV cipher initialization vector. 0 32 read-write 8 0x4 HASWRD0,HASWRD1,HASWRD2,HASWRD3,HASWRD4,HASWRD5,HASWRD6,HASWRD7 HASWRD[%s] no description available 0x28 32 0x00000030 0xFFFFFFFF HASWRD Hash Data Word x - HASH result bit; will store the expected hash result bit if hash check enabled; when hash check is not enabled, the hash engine will store the final hash result[31:0] here. If CRC mode enabled, this work store the CRC expected result if the check enabled, or store the final calcuated CRC result. 0 32 read-write CMDPTR Command Pointer 0x48 32 0x00000000 0xFFFFFFFF CMDPTR current command addresses the register points to the multiword descriptor that is to be executed (or is currently being executed) 0 32 read-write NPKTPTR Next Packet Address Pointer 0x4c 32 0x00000000 0xFFFFFFFF NPKTPTR Next Packet Address Pointer 0 32 read-write PKTCTL Packet Control Registers 0x50 32 0x00000000 0xFFFFFFFF PKTTAG packet tag 24 8 read-write CIPHIV Load Initial Vector for the AES in this packet. 6 1 read-write HASFNL Hash Termination packet 5 1 read-write HASINI Hash Initialization packat 4 1 read-write CHAIN whether the next command pointer register must be loaded into the channel's current descriptor pointer. 3 1 read-write DCRSEMA whether the channel's semaphore must be decremented at the end of the current operation. When the semaphore reaches a value of zero, no more operations are issued from the channel. 2 1 read-write PKTINT Reflects whether the channel must issue an interrupt upon the completion of the packet 1 1 read-write PKTSRC Packet Memory Source Address 0x54 32 0x00000000 0xFFFFFFFF PKTSRC Packet Memory Source Address 0 32 read-write PKTDST Packet Memory Destination Address 0x58 32 0x00000000 0xFFFFFFFF PKTDST Packet Memory Destination Address 0 32 read-write PKTBUF Packet buffer size. 0x5c 32 0x00000000 0xFFFFFFFF PKTBUF No description avaiable 0 32 read-write SEC SEC SEC 0xf3044000 0x0 0x18 registers SECURE_STATE Secure state 0x0 32 0x00000000 0x000300F0 ALLOW_NSC Non-secure state allow 0: system is not healthy to enter non-secure state, request to enter non-secure state will cause a fail state 1: system is healthy to enter non-secure state 17 1 read-only ALLOW_SEC Secure state allow 0: system is not healthy to enter secure state, request to enter non-secure state will cause a fail state 1: system is healthy to enter secure state 16 1 read-only PMIC_FAIL PMIC secure state one hot indicator 0: secure state is not in fail state 1: secure state is in fail state 7 1 read-write PMIC_NSC PMIC secure state one hot indicator 0: secure state is not in non-secure state 1: secure state is in non-secure state 6 1 read-write PMIC_SEC PMIC secure state one hot indicator 0: secure state is not in secure state 1: secure state is in secure state 5 1 read-write PMIC_INS PMIC secure state one hot indicator 0: secure state is not in inspect state 1: secure state is in inspect state 4 1 read-write SECURE_STATE_CONFIG secure state configuration 0x4 32 0x00000000 0x00000009 LOCK Lock bit of allow restart setting, once locked, lock bit itself and configuration register will keep value until next reset 0: not locked, register can be modified 1: register locked, write access to the register is ignored 3 1 read-write ALLOW_RESTART allow secure state restart from fail state 0: restart is not allowed, only hardware reset can recover secure state 1: software is allowed to switch to inspect state from fail state 0 1 read-write VIOLATION_CONFIG Security violation config 0x8 32 0x00000000 0xFFFFFFFF LOCK_NSC Lock bit non-secure violation setting, once locked, lock bit itself and configuration will keep value until next reset 0: not locked, configuration can be modified 1: register locked, write access to the configuration is ignored 31 1 read-write NSC_VIO_CFG configuration of non-secure state violations, each bit represents one security event 0: event is not a security violation 1: event is a security violation 16 15 read-write LOCK_SEC Lock bit secure violation setting, once locked, lock bit itself and configuration will keep value until next reset 0: not locked, configuration can be modified 1: register locked, write access to the configuration is ignored 15 1 read-write SEC_VIO_CFG configuration of secure state violations, each bit represents one security event 0: event is not a security violation 1: event is a security violation 0 15 read-write ESCALATE_CONFIG Escalate behavior on security event 0xc 32 0x00000000 0xFFFFFFFF LOCK_NSC Lock bit non-secure escalate setting, once locked, lock bit itself and configuration will keep value until next reset 0: not locked, configuration can be modified 1: register locked, write access to the configuration is ignored 31 1 read-write NSC_VIO_CFG configuration of non-secure state escalates, each bit represents one security event 0: event is not a security escalate 1: event is a security escalate 16 15 read-write LOCK_SEC Lock bit secure escalate setting, once locked, lock bit itself and configuration will keep value until next reset 0: not locked, configuration can be modified 1: register locked, write access to the configuration is ignored 15 1 read-write SEC_VIO_CFG configuration of secure state escalates, each bit represents one security event 0: event is not a security escalate 1: event is a security escalate 0 15 read-write EVENT Event and escalate status 0x10 32 0x00000000 0xFFFF000C EVENT local event statue, each bit represents one security event 16 16 read-only PMIC_ESC_NSC PMIC is escalating non-secure event 3 1 read-only PMIC_ESC_SEC PMIC is escalting secure event 2 1 read-only LIFECYCLE Lifecycle 0x14 32 0x00000000 0x000000FF LIFECYCLE lifecycle status, bit7: lifecycle_debate, bit6: lifecycle_scribe, bit5: lifecycle_no_ret, bit4: lifecycle_return, bit3: lifecycle_secure, bit2: lifecycle_nonsec, bit1: lifecycle_create, bit0: lifecycle_unknow 0 8 read-only MON MON MON 0xf3048000 0x0 0x48 registers 4 0x8 glitch0,glitch1,clock0,clock1 MONITOR[%s] no description available 0x0 CONTROL Glitch and clock monitor control 0x0 32 0x00000000 0x00000011 ACTIVE select glitch works in active mode or passve mode. 0: passive mode, depends on power glitch destory DFF value 1: active mode, check glitch by DFF chain 4 1 read-write ENABLE enable glitch detector 0: detector disabled 1: detector enabled 0 1 read-write STATUS Glitch and clock monitor status 0x4 32 0x00000000 0x00000001 FLAG flag for glitch detected, write 1 to clear this flag 0: glitch not detected 1: glitch detected 0 1 read-write IRQ_FLAG No description avaiable 0x40 32 0x00000000 0x0000000F FLAG interrupt flag, each bit represents for one monitor, write 1 to clear interrupt flag 0: no monitor interrupt 1: monitor interrupt happened 0 4 read-write IRQ_ENABLE No description avaiable 0x44 32 0x00000000 0x0000000F ENABLE interrupt enable, each bit represents for one monitor 0: monitor interrupt disabled 1: monitor interrupt enabled 0 4 read-write RNG RNG RNG 0xf304c000 0x0 0x40 registers CMD Command Register 0x0 32 0x00000000 0xFFFFFFFF SFTRST Soft Reset, Perform a software reset of the RNG This bit is self-clearing. 0 Do not perform a software reset. 1 Software reset 6 1 read-write CLRERR Clear the Error, clear the errors in the ESR register and the RNG interrupt. This bit is self-clearing. 0 Do not clear the errors and the interrupt. 1 Clear the errors and the interrupt. 5 1 read-write CLRINT Clear the Interrupt, clear the RNG interrupt if an error is not present. This bit is self-clearing. 0 Do not clear the interrupt. 1 Clear the interrupt 4 1 read-write GENSD Generate Seed, when both ST and GS triggered, ST first and GS next. 1 1 read-write SLFCHK Self Test, when both ST and GS triggered, ST first and GS next. 0 1 read-write CTRL Control Register 0x4 32 0x00000000 0xFFFFFFFF MIRQERR Mask Interrupt Request for Error 6 1 read-write MIRQDN Mask Interrupt Request for Done Event, asks the interrupts generated upon the completion of the seed and self-test modes. The status of these jobs can be viewed by: • Reading the STA and viewing the seed done and the self-test done bits (STA[SDN, STDN]). • Viewing the RNG_CMD for the generate-seed or the self-test bits (CMD[GS,ST]) being set, indicating that the operation is still taking place. 5 1 read-write AUTRSD Auto Reseed 4 1 read-write FUFMOD FIFO underflow response mode 00 Return all zeros and set the ESR[FUFE]. 01 Return all zeros and set the ESR[FUFE]. 10 Generate the bus transfer error 11 Generate the interrupt and return all zeros (overrides the CTRL[MASKERR]). 0 2 read-write STA Status Register 0x8 32 0x00000000 0xFFFFFFFF SCPF Self Check Pass Fail 21 3 read-only FUNCERR Error was detected, check ESR register for details 16 1 read-only FSIZE Fifo Size, it is 5 in this design. 12 4 read-only FRNNU Fifo Level, Indicates the number of random words currently in the output FIFO 8 4 read-only NSDDN New seed done. 6 1 read-only FSDDN 1st Seed done When "1", Indicates that the RNG generated the first seed. 5 1 read-only SCDN Self Check Done Indicates whether Self Test is done or not. Can be cleared by the hardware reset or a new self test is initiated by setting the CMD[ST]. 0 Self test not completed 1 Completed a self test since the last reset. 4 1 read-only RSDREQ Reseed needed Indicates that the RNG needs to be reseeded. This is done by setting the CMD[GS], or automatically if the CTRL[ARS] is set. 3 1 read-only IDLE Idle, the RNG is in the idle mode, and internal clocks are disabled, in this mode, access to the FIFO is allowed. Once the FIFO is empty, the RNGB fills the FIFO and then enters idle mode again. 2 1 read-only BUSY when 1, means the RNG engine is busy for seeding or random number generation, self test and so on. 1 1 read-only ERR Error Registers 0xc 32 0x00000000 0xFFFFFF3F FUFE FIFO access error(underflow) 5 1 read-only SCKERR Self-test error Indicates that the RNG failed the most recent self test. This bit is sticky and can only be reset by a hardware reset or by writing 1 to the CMD[CE] 3 1 read-only FO2B FIFO out to bus/cpu 0x10 32 0x00000000 0xFFFFFFFF FO2B SW read the FIFO output. 0 32 read-only 8 0x4 FO2S0,FO2S1,FO2S2,FO2S3,FO2S4,FO2S5,FO2S6,FO2S7 R2SK[%s] no description available 0x20 32 0x00000000 0xFFFFFFFF FO2S0 FIFO out to KMAN, will be SDP engine key. 0 32 read-only OTP OTP OTP 0xf3050000 0x0 0xc08 registers 128 0x4 SHADOW000,SHADOW001,SHADOW002,SHADOW003,SHADOW004,SHADOW005,SHADOW006,SHADOW007,SHADOW008,SHADOW009,SHADOW010,SHADOW011,SHADOW012,SHADOW013,SHADOW014,SHADOW015,SHADOW016,SHADOW017,SHADOW018,SHADOW019,SHADOW020,SHADOW021,SHADOW022,SHADOW023,SHADOW024,SHADOW025,SHADOW026,SHADOW027,SHADOW028,SHADOW029,SHADOW030,SHADOW031,SHADOW032,SHADOW033,SHADOW034,SHADOW035,SHADOW036,SHADOW037,SHADOW038,SHADOW039,SHADOW040,SHADOW041,SHADOW042,SHADOW043,SHADOW044,SHADOW045,SHADOW046,SHADOW047,SHADOW048,SHADOW049,SHADOW050,SHADOW051,SHADOW052,SHADOW053,SHADOW054,SHADOW055,SHADOW056,SHADOW057,SHADOW058,SHADOW059,SHADOW060,SHADOW061,SHADOW062,SHADOW063,SHADOW064,SHADOW065,SHADOW066,SHADOW067,SHADOW068,SHADOW069,SHADOW070,SHADOW071,SHADOW072,SHADOW073,SHADOW074,SHADOW075,SHADOW076,SHADOW077,SHADOW078,SHADOW079,SHADOW080,SHADOW081,SHADOW082,SHADOW083,SHADOW084,SHADOW085,SHADOW086,SHADOW087,SHADOW088,SHADOW089,SHADOW090,SHADOW091,SHADOW092,SHADOW093,SHADOW094,SHADOW095,SHADOW096,SHADOW097,SHADOW098,SHADOW099,SHADOW100,SHADOW101,SHADOW102,SHADOW103,SHADOW104,SHADOW105,SHADOW106,SHADOW107,SHADOW108,SHADOW109,SHADOW110,SHADOW111,SHADOW112,SHADOW113,SHADOW114,SHADOW115,SHADOW116,SHADOW117,SHADOW118,SHADOW119,SHADOW120,SHADOW121,SHADOW122,SHADOW123,SHADOW124,SHADOW125,SHADOW126,SHADOW127 SHADOW[%s] no description available 0x0 32 0x00000000 0xFFFFFFFF SHADOW shadow register of fuse for pmic area for PMIC, index valid for 0-15, for SOC index valid for 16-128 0 32 read-write 8 0x4 LOCK00,LOCK01,LOCK02,LOCK03,LOCK04,LOCK05,LOCK06,LOCK07 SHADOW_LOCK[%s] no description available 0x200 32 0x00000000 0xFFFFFFFF LOCK lock for pmic part shadow registers, 2 bits per 32 bit word, lock behavior is different between different fuse types 00: not locked 01: soft locked 10: not locked, and cannot lock in furture 11: double locked 0 32 read-write 128 0x4 FUSE000,FUSE001,FUSE002,FUSE003,FUSE004,FUSE005,FUSE006,FUSE007,FUSE008,FUSE009,FUSE010,FUSE011,FUSE012,FUSE013,FUSE014,FUSE015,FUSE016,FUSE017,FUSE018,FUSE019,FUSE020,FUSE021,FUSE022,FUSE023,FUSE024,FUSE025,FUSE026,FUSE027,FUSE028,FUSE029,FUSE030,FUSE031,FUSE032,FUSE033,FUSE034,FUSE035,FUSE036,FUSE037,FUSE038,FUSE039,FUSE040,FUSE041,FUSE042,FUSE043,FUSE044,FUSE045,FUSE046,FUSE047,FUSE048,FUSE049,FUSE050,FUSE051,FUSE052,FUSE053,FUSE054,FUSE055,FUSE056,FUSE057,FUSE058,FUSE059,FUSE060,FUSE061,FUSE062,FUSE063,FUSE064,FUSE065,FUSE066,FUSE067,FUSE068,FUSE069,FUSE070,FUSE071,FUSE072,FUSE073,FUSE074,FUSE075,FUSE076,FUSE077,FUSE078,FUSE079,FUSE080,FUSE081,FUSE082,FUSE083,FUSE084,FUSE085,FUSE086,FUSE087,FUSE088,FUSE089,FUSE090,FUSE091,FUSE092,FUSE093,FUSE094,FUSE095,FUSE096,FUSE097,FUSE098,FUSE099,FUSE100,FUSE101,FUSE102,FUSE103,FUSE104,FUSE105,FUSE106,FUSE107,FUSE108,FUSE109,FUSE110,FUSE111,FUSE112,FUSE113,FUSE114,FUSE115,FUSE116,FUSE117,FUSE118,FUSE119,FUSE120,FUSE121,FUSE122,FUSE123,FUSE124,FUSE125,FUSE126,FUSE127 FUSE[%s] no description available 0x400 32 0x00000000 0xFFFFFFFF FUSE fuse array, valid in PMIC part only read operation will read out value in fuse array write operation will update fuse array value(please make sure fuse is unlocked and 2.5V power is ready) 0 32 read-write 8 0x4 LOCK00,LOCK01,LOCK02,LOCK03,LOCK04,LOCK05,LOCK06,LOCK07 FUSE_LOCK[%s] no description available 0x600 32 0x00000000 0xFFFFFFFF LOCK lock for fuse array, 2 bits per 32 bit word, lock behavior is different between different fuse types 00: not locked 01: soft locked 10: not locked, and cannot lock in furture 11: double locked 0 32 read-write UNLOCK UNLOCK 0x800 32 0x00000000 0xFFFFFFFF UNLOCK unlock word for fuse array operation write "OPEN" to unlock fuse array, write any other value will lock write to fuse. Please make sure 24M crystal is running and 2.5V LDO working properly 0 32 read-write DATA DATA 0x804 32 0x00000000 0xFFFFFFFF DATA data register for non-blocking access this register hold dat read from fuse array or data to by programmed to fuse array 0 32 read-write ADDR ADDR 0x808 32 0x00000000 0x0000007F ADDR word address to be read or write 0 7 read-write CMD CMD 0x80c 32 0x00000000 0xFFFFFFFF CMD command to access fure array "BLOW" will update fuse word at ADDR to value hold in DATA "READ" will fetch fuse value in at ADDR to DATA register 0 32 read-write LOAD_REQ LOAD Request 0xa00 32 0x00000007 0x0000000F REQUEST reload request for 4 regions bit0: region0 bit1: region1 bit2: region2 bit3: region3 0 4 read-write LOAD_COMP LOAD complete 0xa04 32 0x00000007 0x0000000F COMPLETE reload complete sign for 4 regions bit0: region 0 bit1: region1 bit2: region2 bit3: region3 0 4 read-write 4 0x4 LOAD_REGION0,LOAD_REGION1,LOAD_REGION2,LOAD_REGION3 REGION[%s] no description available 0xa20 32 0x00000800 0x00007F7F STOP stop address of load region, fuse word at end address will NOT be reloaded region0: fixed at 8 region1: fixed at 16 region2: fixed at 0, region3: usrer configurable 8 7 read-write START start address of load region, fuse word at start address will be reloaded region0: fixed at 0 region1: fixed at 8 region2: fixed at 16, region3: usrer configurable 0 7 read-write INT_FLAG interrupt flag 0xc00 32 0x00000000 0x00000007 WRITE fuse write flag, write 1 to clear 0: fuse is not written or writing 1: value in DATA register is programmed into fuse 2 1 read-write READ fuse read flag, write 1 to clear 0: fuse is not read or reading 1: fuse value is put in DATA register 1 1 read-write LOAD fuse load flag, write 1 to clear 0: fuse is not loaded or loading 1: fuse loaded 0 1 read-write INT_EN interrupt enable 0xc04 32 0x00000000 0x00000007 WRITE fuse write interrupt enable 0: fuse write interrupt is not enable 1: fuse write interrupt is enable 2 1 read-write READ fuse read interrupt enable 0: fuse read interrupt is not enable 1: fuse read interrupt is enable 1 1 read-write LOAD fuse load interrupt enable 0: fuse load interrupt is not enable 1: fuse load interrupt is enable 0 1 read-write KEYM KEYM KEYM 0xf3054000 0x0 0x50 registers 8 0x4 SFK0,SFK1,SFK2,SFK3,SFK4,SFK5,SFK6,SFK7 SOFTMKEY[%s] no description available 0x0 32 0x00000000 0xFFFFFFFF KEY software symmetric key key will be scambled to 4 variants for software to use, and replicable on same chip. scramble keys are chip different, and not replicable on different chip must be write sequencely from 0 - 7, otherwise key value will be treated as all 0 0 32 read-write 8 0x4 SPK0,SPK1,SPK2,SPK3,SPK4,SPK5,SPK6,SPK7 SOFTPKEY[%s] no description available 0x20 32 0x00000000 0xFFFFFFFF KEY software asymmetric key key is derived from scrambles of fuse private key, software input key, SRK, and system security status. This key os read once, sencondary read will read out 0 0 32 read-write SEC_KEY_CTL secure key generation 0x40 32 0x00000000 0x80011117 LOCK_SEC_CTL block secure state key setting being changed 31 1 read-write SK_VAL session key valid 0: session key is all 0's and not usable 1: session key is valid 16 1 read-only SMK_SEL software symmetric key selection 0: use origin value in software symmetric key 1: use scramble version of software symmetric key 12 1 read-write ZMK_SEL batt symmetric key selection 0: use scramble version of software symmetric key 1: use origin value in software symmetric key 8 1 read-write FMK_SEL fuse symmetric key selection 0: use scramble version of fuse symmetric key 1: use alnertave scramble of fuse symmetric key 4 1 read-write KEY_SEL secure symmtric key synthesize setting, key is a XOR of followings bit0: fuse mk, 0: not selected, 1:selected bit1: zmk from batt, 0: not selected, 1:selected bit2: software key 0: not selected, 1:selected 0 3 read-write NSC_KEY_CTL non-secure key generation 0x44 32 0x00000000 0x80011117 LOCK_NSC_CTL block non-secure state key setting being changed 31 1 read-write SK_VAL session key valid 0: session key is all 0's and not usable 1: session key is valid 16 1 read-only SMK_SEL software symmetric key selection 0: use scramble version of software symmetric key 1: use origin value in software symmetric key 12 1 read-write ZMK_SEL batt symmetric key selection 0: use scramble version of software symmetric key 1: use origin value in software symmetric key 8 1 read-write FMK_SEL fuse symmetric key selection 0: use scramble version of fuse symmetric key 1: use origin value in fuse symmetric key 4 1 read-write KEY_SEL non-secure symmtric key synthesize setting, key is a XOR of followings bit0: fuse mk, 0: not selected, 1:selected bit1: zmk from batt, 0: not selected, 1:selected bit2: software key 0: not selected, 1:selected 0 3 read-write RNG Random number interface behavior 0x48 32 0x00000000 0x00010001 BLOCK_RNG_XOR block RNG_XOR bit from changing, if this bit is written to 1, it will hold 1 until next reset 0: RNG_XOR can be changed by software 1: RNG_XOR ignore software change from software 16 1 read-write RNG_XOR control how SFK is accepted from random number generator 0: SFK value replaced by random number input 1: SFK value exclusive or with random number input,this help generate random number using 2 rings inside RNG 0 1 read-write READ_CONTROL key read out control 0x4c 32 0x00000000 0x00010001 BLOCK_PK_READ asymmetric key readout control, if this bit is written to 1, it will hold 1 until next reset 0: key can be read out 1: key cannot be read out 16 1 read-write BLOCK_SMK_READ symmetric key readout control, if this bit is written to 1, it will hold 1 until next reset 0: key can be read out 1: key cannot be read out 0 1 read-write ADC0 ADC0 ADC16 0xf3080000 0x0 0x1464 registers 12 0x4 trg0a,trg0b,trg0c,trg1a,trg1b,trg1c,trg2a,trg2b,trg2c,trg3a,trg3b,trg3c CONFIG[%s] no description available 0x0 32 0x00000000 0xFF3F3F7F TRIG_LEN length for current trigger, can up to 4 conversions for one trigger, from 0 to 3 30 2 write-only INTEN3 interupt enable for 4th conversion 29 1 read-write CHAN3 channel number for 4th conversion 24 5 read-write INTEN2 interupt enable for 3rd conversion 21 1 read-write CHAN2 channel number for 3rd conversion 16 5 read-write INTEN1 interupt enable for 2nd conversion 13 1 read-write CHAN1 channel number for 2nd conversion 8 5 read-write QUEUE_EN preemption queue enable control 6 1 read-write INTEN0 interupt enable for 1st conversion 5 1 read-write CHAN0 channel number for 1st conversion 0 5 read-write trg_dma_addr No description avaiable 0x30 32 0x00000000 0xFFFFFFFC TRG_DMA_ADDR buffer start address for trigger queue, 192byte total, 16 bytes for each trigger (4 bytes for each conversion) 2 30 read-write trg_sw_sta No description avaiable 0x34 32 0x00000000 0x0000001F TRG_SW_STA SW trigger start bit, HW will clear it after all conversions(up to 4) finished. SW should make sure it's 0 before set it. 4 1 read-write TRIG_SW_INDEX which trigger for the SW trigger 0 for trig0a, 1 for trig0b… 3 for trig1a, …11 for trig3c 0 4 read-write 16 0x4 chn0,chn1,chn2,chn3,chn4,chn5,chn6,chn7,chn8,chn9,chn10,chn11,chn12,chn13,chn14,chn15 BUS_RESULT[%s] no description available 0x400 32 0x00000000 0x0001FFFF VALID set after conversion finished if wait_dis is set, cleared after software read. The first time read with 0 will trigger one new conversion. If SW read other channel when one channel conversion is in progress, it will not trigger new conversion at other channel, and will get old result with valid 0, also with read_cflct interrupt status bit set. the result may not realtime if software read once and wait long time to read again 16 1 read-only CHAN_RESULT read this register will trigger one adc conversion. If wait_dis bit is set, SW will get the latest conversion result(not current one) with valid bit is 0, SW need polling valid bit till it's set to get current result If wait_dis bit is 0, SW can get the current conversion result with holding the bus, valid bit is always set at this mode. this is not recommended if channel sample time is too long 0 16 read-only buf_cfg0 No description avaiable 0x500 32 0x00000000 0x00000003 BUS_MODE_EN bus mode enable 1 1 read-write WAIT_DIS set to disable read waiting, get result immediately but maybe not current conversion result. 0 1 read-write seq_cfg0 No description avaiable 0x800 32 0x00000000 0x80000F1F CYCLE current dma write cycle bit 31 1 read-only SEQ_LEN sequence queue length, 0 for one, 0xF for 16 8 4 read-write RESTART_EN if set together with cont_en, HW will continue process the whole queue after trigger once. If cont_en is 0, this bit is not used 4 1 read-write CONT_EN if set, HW will continue process the queue till end(seq_len) after trigger once 3 1 read-write SW_TRIG SW trigger, pulse signal, cleared by HW one cycle later 2 1 write-only SW_TRIG_EN set to enable SW trigger 1 1 read-write HW_TRIG_EN set to enable external HW trigger, only trigger on posedge 0 1 read-write seq_dma_addr No description avaiable 0x804 32 0x00000000 0xFFFFFFFC TAR_ADDR dma target address, should be 4-byte aligned 2 30 read-write seq_wr_addr No description avaiable 0x808 32 0x00000000 0x00FFFFFF SEQ_WR_POINTER HW update this field after each dma write, it indicate the next dma write pointer. dma write address is (tar_addr+seq_wr_pointer)*4 0 24 read-only seq_dma_cfg No description avaiable 0x80c 32 0x00000000 0x0FFF3FFF STOP_POS if stop_en is set, SW is responsible to udpate this field to the next read point, HW should not write data to this point since it's not read out by SW yet 16 12 read-write DMA_RST set this bit will reset HW dma write pointer to seq_dma_addr, and set HW cycle bit to 1. dma is halted if this bit is set. SW should clear all cycle bit in buffer to 0 before clear dma_rst 13 1 read-write STOP_EN set to stop dma if reach the stop_pos 12 1 read-write BUF_LEN dma buffer length, after write to (tar_addr[31:2]+buf_len)*4, the next dma address will be tar_addr[31:2]*4 0 for 4byte; 0xFFF for 16kbyte. 0 12 read-write 16 0x4 cfg0,cfg1,cfg2,cfg3,cfg4,cfg5,cfg6,cfg7,cfg8,cfg9,cfg10,cfg11,cfg12,cfg13,cfg14,cfg15 SEQ_QUE[%s] no description available 0x810 32 0x00000000 0x0000003F SEQ_INT_EN interrupt enable for current conversion 5 1 read-write CHAN_NUM_4_0 channel number for current conversion 0 5 read-write seq_high_cfg No description avaiable 0x850 32 0x00000000 0x00FFFFFF STOP_POS_HIGH No description avaiable 12 12 read-write BUF_LEN_HIGH No description avaiable 0 12 read-write 16 0x10 chn0,chn1,chn2,chn3,chn4,chn5,chn6,chn7,chn8,chn9,chn10,chn11,chn12,chn13,chn14,chn15 PRD_CFG_CHN[%s] no description available 0xc00 prd_cfg No description avaiable 0x0 32 0x00000000 0x00001FFF PRESCALE 0: 1xclock, 1: 2x, 2: 4x, 3: 8x,…,15: 32768x,…,31: 2Gx 8 5 read-write PRD conver period, with prescale. Set to 0 means disable current channel 0 8 read-write prd_thshd_cfg No description avaiable 0x4 32 0x00000000 0xFFFFFFFF THSHDH threshold high, assert interrupt(if enabled) if result exceed high or low. 16 16 read-write THSHDL threshold low 0 16 read-write prd_result No description avaiable 0x8 32 0x00000000 0x0000FFFF CHAN_RESULT adc convert result, update after each valid conversion. it may be updated period according to config, also may be updated due to other queue convert the same channel 0 16 read-only 16 0x4 chn0,chn1,chn2,chn3,chn4,chn5,chn6,chn7,chn8,chn9,chn10,chn11,chn12,chn13,chn14,chn15 SAMPLE_CFG[%s] no description available 0x1000 32 0x00000000 0x00000FFF SAMPLE_CLOCK_NUMBER_SHIFT shift for sample clock number 9 3 read-write SAMPLE_CLOCK_NUMBER sample clock number, base on clock_period, default one period 0 9 read-write conv_cfg1 No description avaiable 0x1104 32 0x00000000 0x000001FF CONVERT_CLOCK_NUMBER convert clock numbers, set to 21 (0x15) for 16bit mode, which means convert need 21 adc clock cycles(based on clock after divider); user can use small value to get faster convertion, but less accuracy, need to config cov_end_cnt at adc16_config1 also. Ex: use 200MHz bus clock for adc, set sample_clock_number to 4, sample_clock_number_shift to 0, covert_clk_number to 21 for 16bit mode, clock_divder to 3, then each ADC convertion(plus sample) need 25 cycles(50MHz). 4 5 read-write CLOCK_DIVIDER clock_period, N half clock cycle per half adc cycle 0 for same adc_clk and bus_clk, 1 for 1:2, 2 for 1:3, ... 15 for 1:16 Note: set to 2 can genenerate 66.7MHz adc_clk at 200MHz bus_clk 0 4 read-write adc_cfg0 No description avaiable 0x1108 32 0x00000000 0xAFFFF001 SEL_SYNC_AHB set to 1 will enable sync AHB bus, to get better bus performance. Adc_clk must to be set to same as bus clock at this mode 31 1 read-write ADC_AHB_EN set to 1 to enable ADC DMA to write data to soc memory bus, for trig queue and seq queue; 29 1 read-write CONVERT_DURATION for trigger queue, from trg_sample_req to trg_convert_req 12 16 read-write PORT3_REALTIME set to enable trg queue stop other queues 0 1 read-write int_sts No description avaiable 0x1110 32 0x00000000 0xFFE03FFF TRIG_CMPT interrupt for one trigger conversion complete if enabled 31 1 read-write TRIG_SW_CFLCT No description avaiable 30 1 read-write TRIG_HW_CFLCT No description avaiable 29 1 read-write READ_CFLCT read conflict interrup, set if wait_dis is set, one conversion is in progress, SW read another channel 28 1 read-write SEQ_SW_CFLCT sequence queue conflict interrup, set if HW or SW trigger received during conversion 27 1 read-write SEQ_HW_CFLCT No description avaiable 26 1 read-write SEQ_DMAABT dma abort interrupt, set if seqence dma write pointer reachs sw read pointer if stop_en is set 25 1 read-write SEQ_CMPT the whole sequence complete interrupt 24 1 read-write SEQ_CVC one conversion complete in seq_queue if related seq_int_en is set 23 1 read-write DMA_FIFO_FULL DMA fifo full interrupt, user need to check clock frequency if it's set. 22 1 read-write AHB_ERR set if got hresp=1, generally caused by wrong trg_dma_addr or seq_dma_addr 21 1 read-write WDOG set if one chanel watch dog event triggered 0 14 read-write int_en No description avaiable 0x1114 32 0x00000000 0xFFE03FFF TRIG_CMPT interrupt for one trigger conversion complete if enabled 31 1 read-write TRIG_SW_CFLCT No description avaiable 30 1 read-write TRIG_HW_CFLCT No description avaiable 29 1 read-write READ_CFLCT read conflict interrup, set if wait_dis is set, one conversion is in progress, SW read another channel 28 1 read-write SEQ_SW_CFLCT sequence queue conflict interrup, set if HW or SW trigger received during conversion 27 1 read-write SEQ_HW_CFLCT No description avaiable 26 1 read-write SEQ_DMAABT dma abort interrupt, set if seqence dma write pointer reachs sw read pointer if stop_en is set 25 1 read-write SEQ_CMPT the whole sequence complete interrupt 24 1 read-write SEQ_CVC one conversion complete in seq_queue if related seq_int_en is set 23 1 read-write DMA_FIFO_FULL DMA fifo full interrupt, user need to check clock frequency if it's set. 22 1 read-write AHB_ERR set if got hresp=1, generally caused by wrong trg_dma_addr or seq_dma_addr 21 1 read-write WDOG set if one chanel watch dog event triggered 0 14 read-write ana_ctrl0 No description avaiable 0x1200 32 0x00000000 0x80001004 MOTO_EN "set to enable moto_soc and moto_valid. Should use AHB clock for adc, this bit can be used avoid async output" 31 1 read-write ADC_CLK_ON set to enable adc clock to analog, Software should set this bit before access to any adc16_* register. MUST set clock_period to 0 or 1 for adc16 reg access 12 1 read-write STARTCAL set to start the offset calibration cycle (Active H). user need to clear it after setting it. 2 1 read-write ana_status No description avaiable 0x1210 32 0x00000000 0x00000080 CALON Indicates if the ADC is in calibration mode (Active H). 7 1 read-write 34 0x2 adc16_para00,adc16_para01,adc16_para02,adc16_para03,adc16_para04,adc16_para05,adc16_para06,adc16_para07,adc16_para08,adc16_para09,adc16_para10,adc16_para11,adc16_para12,adc16_para13,adc16_para14,adc16_para15,adc16_para16,adc16_para17,adc16_para18,adc16_para19,adc16_para20,adc16_para21,adc16_para22,adc16_para23,adc16_para24,adc16_para25,adc16_para26,adc16_para27,adc16_para28,adc16_para29,adc16_para30,adc16_para31,adc16_para32,adc16_para33 ADC16_PARAMS[%s] no description available 0x1400 16 0x0000 0xFFFF PARAM_VAL No description avaiable 0 16 read-write adc16_config0 No description avaiable 0x1444 32 0x00000000 0x01F07FFF REG_EN set to enable regulator 24 1 read-write BANDGAP_EN set to enable bandgap. user should set reg_en and bandgap_en before use adc16. 23 1 read-write CAL_AVG_CFG for average the calibration result. 0- 1 loop; 1- 2 loops; 2- 4 loops; 3- 8 loops; 4- 16 loops; 5-32 loops; others reserved 20 3 read-write PREEMPT_EN set to enable preemption feature 14 1 read-write CONV_PARAM convertion parameter 0 14 read-write adc16_config1 No description avaiable 0x1460 32 0x00000000 0x00001F00 COV_END_CNT used for faster conversion, user can change it to get higher convert speed(but less accuracy). should set to (21-convert_clock_number+1). 8 5 read-write ADC1 ADC1 ADC16 0xf3084000 DAC0 DAC0 DAC 0xf3090000 0x0 0x4c registers cfg0 No description avaiable 0x0 32 0x00000000 0x0FFF03FF SW_DAC_DATA dac data used in direct mode(dac_mode==2'b10) 16 12 write-only DMA_AHB_EN set to enable internal DMA, it will read one burst if enough space in FIFO. Should only be used in buffer mode. 9 1 write-only SYNC_MODE 1: sync dac clock and ahb clock. all HW trigger signals are pulse in sync mode, can get faster response; 0: async dac clock and ahb_clock all HW trigger signals should be level and should be more than one dac clock cycle, used to get accurate output frequency(which may not be divided from AHB clock) 8 1 write-only TRIG_MODE 0: single mode, one trigger pulse will send one 12bit data to DAC analog; 1: continual mode, if trigger signal(either or HW) is set, DAC will send data if FIFO is not empty, if trigger signal is clear, DAC will stop send data. 7 1 write-only HW_TRIG_EN set to use trigger signal from trigger_mux, user should config it to pulse in single mode, and level in continual mode 6 1 write-only DAC_MODE 00: direct mode, DAC output the fixed configured data(from sw_dac_data) 01: step mode, DAC output from start_point to end point, with configured step, can step up or step down 10: buffer mode, read data from buffer, then output to analog, internal DMA will load next burst if enough space in local FIFO; 11: trigger mode, DAC output from external trigger signals Note: Trigger mode is not supported in hpm63xx and hpm62xx families. 4 2 write-only BUF_DATA_MODE data structure for buffer mode, 0: each 32-bit data contains 2 points, b11:0 for first, b27:16 for second. 1: each 32-bit data contains 1 point, b11:0 for first 3 1 write-only HBURST_CFG DAC support following fixed burst only 000-SINGLE; 011-INCR4; 101: INCR8 others are reserved 0 3 write-only cfg1 No description avaiable 0x4 32 0x00010000 0x0007FFFF ANA_CLK_EN set to enable analog clock(divided by ana_div_cfg) need to be set in direct mode and trigger mode 18 1 read-write ANA_DIV_CFG clock divider config for ana_clk to dac analog; 00: div2 01: div4 10: div6 11: div8 16 2 read-write DIV_CFG step mode and buffer mode: defines how many clk_dac cycles to change data to analog, should configured to less than 1MHz data rate. Direct mode and trigger mode: defines how many clk_dac cycles to accpet the input data, dac will not accept new written data or trigger data before the clock cycles passed. should configured to less than 1MHz. Note: For direct mode and trigger mode, this config is not supported in hpm63xx and hpm62xx families. 0 16 read-write cfg2 No description avaiable 0x8 32 0x00000000 0x000000FF DMA_RST1 set to reset dma read pointer to buf1_start_addr; if set both dma_rst0&dma_rst1, will set to buf0_start_addr user can set fifo_clr bit when use dma_rst* 7 1 write-only DMA_RST0 set to reset dma read pointer to buf0_start_addr 6 1 write-only FIFO_CLR set to clear FIFO content(set both read/write pointer to 0) 5 1 write-only BUF_SW_TRIG software trigger for buffer mode, W1C in single mode. RW in continual mode 4 1 read-write STEP_SW_TRIG3 No description avaiable 3 1 read-write STEP_SW_TRIG2 No description avaiable 2 1 read-write STEP_SW_TRIG1 No description avaiable 1 1 read-write STEP_SW_TRIG0 software trigger0 for step mode, W1C in single mode. RW in continual mode 0 1 read-write 4 0x4 step0,step1,step2,step3 STEP_CFG[%s] no description available 0x10 32 0x00000000 0x3FFFFFFF ROUND_MODE 0: stop at end point; 1: reload start point, step again 29 1 read-write UP_DOWN 0 for up, 1 for down 28 1 read-write END_POINT No description avaiable 16 12 read-write STEP_NUM output data change step_num each DAC clock cycle. Ex: if step_num=3, output data sequence is 0,3,6,9 NOTE: user should make sure end_point can be reached if step_num is not 1 if step_num is 0, output data will always at start point 12 4 read-write START_POINT No description avaiable 0 12 read-write 2 0x4 buf0,buf1 BUF_ADDR[%s] no description available 0x20 32 0x00000000 0xFFFFFFFD BUF_START_ADDR buffer start address, should be 4-byte aligned AHB burst can't cross 1K-byte boundary, user should config the address/length/burst to avoid such issue. 2 30 read-write BUF_STOP set to stop read point at end of bufffer0 0 1 read-write buf_length No description avaiable 0x28 32 0x00000000 0xFFFFFFFF BUF1_LEN buffer length, 1 indicate one 32bit date, 256K-byte max for one buffer 16 16 read-write BUF0_LEN No description avaiable 0 16 read-write irq_sts No description avaiable 0x30 32 0x00000000 0x0000001F STEP_CMPT No description avaiable 4 1 write-only AHB_ERROR set if hresp==2'b01(ERROR) 3 1 write-only FIFO_EMPTY No description avaiable 2 1 write-only BUF1_CMPT No description avaiable 1 1 write-only BUF0_CMPT No description avaiable 0 1 write-only irq_en No description avaiable 0x34 32 0x00000000 0x0000001F STEP_CMPT No description avaiable 4 1 read-write AHB_ERROR No description avaiable 3 1 read-write FIFO_EMPTY No description avaiable 2 1 read-write BUF1_CMPT No description avaiable 1 1 read-write BUF0_CMPT No description avaiable 0 1 read-write dma_en No description avaiable 0x38 32 0x00000000 0x00000013 STEP_CMPT No description avaiable 4 1 read-write BUF1_CMPT No description avaiable 1 1 read-write BUF0_CMPT No description avaiable 0 1 read-write ana_cfg0 No description avaiable 0x40 32 0x00000030 0x000001FF DAC12BIT_LP_MODE No description avaiable 8 1 read-write DAC_CONFIG No description avaiable 4 4 read-write CALI_DELTA_V_CFG No description avaiable 2 2 read-write BYPASS_CALI_GM No description avaiable 1 1 read-write DAC12BIT_EN No description avaiable 0 1 read-write cfg0_bak No description avaiable 0x44 32 0x00000000 0x0FFF03FF SW_DAC_DATA dac data used in direct mode(dac_mode==2'b10) 16 12 read-write DMA_AHB_EN set to enable internal DMA, it will read one burst if enough space in FIFO. Should only be used in buffer mode. 9 1 read-write SYNC_MODE 1: sync dac clock and ahb clock. all HW trigger signals are pulse in sync mode, can get faster response; 0: async dac clock and ahb_clock all HW trigger signals should be level and should be more than one dac clock cycle, used to get accurate output frequency(which may not be divided from AHB clock) 8 1 read-write TRIG_MODE 0: single mode, one trigger pulse will send one 12bit data to DAC analog; 1: continual mode, if trigger signal(either or HW) is set, DAC will send data if FIFO is not empty, if trigger signal is clear, DAC will stop send data. 7 1 read-write HW_TRIG_EN set to use trigger signal from trigger_mux, user should config it to pulse in single mode, and level in continual mode 6 1 read-write DAC_MODE 00: direct mode, DAC output the fixed configured data(from sw_dac_data) 01: step mode, DAC output from start_point to end point, with configured step, can step up or step down 10: buffer mode, read data from buffer, then output to analog, internal DMA will load next burst if enough space in local FIFO; 4 2 read-write BUF_DATA_MODE data structure for buffer mode, 0: each 32-bit data contains 2 points, b11:0 for first, b27:16 for second. 1: each 32-bit data contains 1 point, b11:0 for first 3 1 read-write HBURST_CFG DAC support following fixed burst only 000-SINGLE; 011-INCR4; 101: INCR8 others are reserved 0 3 read-write status0 No description avaiable 0x48 32 0x00000000 0x00FFFF80 CUR_BUF_OFFSET No description avaiable 8 16 read-write CUR_BUF_INDEX No description avaiable 7 1 read-write DAC1 DAC1 DAC 0xf3094000 OPAMP0 OPAMP0 OPAMP 0xf30a0000 0x0 0x90 registers ctrl0 control reg 0x0 32 0x00000000 0x07FFFFFF EN_LV No description avaiable 26 1 read-write OPAOUT_SEL No description avaiable 24 2 read-write VSWITCH_SEL No description avaiable 21 3 read-write ISEL No description avaiable 19 2 read-write VIM_SEL No description avaiable 16 3 read-write GPA_SEL No description avaiable 8 8 read-write CSEL No description avaiable 4 4 read-write VBYPASS No description avaiable 3 1 read-write VIP_SEL No description avaiable 0 3 read-write status status reg 0x4 32 0x00000000 0x0FFF0000 TRIG_CONFLICT if more than one hardware trigger is set, will put all trigger input here; write any value to clear 20 8 read-write PRESET_ACT 1 for preset active; one of cur_preset is selected for OPAMP; 0 for no preset, OPAMP use cfg0 parameters 19 1 read-only CUR_PRESET current selected preset 16 3 read-only ctrl1 control reg1 0x8 32 0x00000000 0x80000007 SW_PRESET set to use preset defined by sw_sel. NOTE: when set, the hardware trigger will not be used 31 1 read-write SW_SEL No description avaiable 0 3 read-write 8 0x10 preset0,preset1,preset2,preset3,preset4,preset5,preset6,preset7 CFG[%s] no description available 0x10 cfg0 No description avaiable 0x0 32 0x00000000 0x0F070707 CSEL No description avaiable 24 4 read-write VSWITCH_SEL No description avaiable 16 3 read-write VIM_SEL No description avaiable 8 3 read-write VIP_SEL No description avaiable 0 3 read-write cfg1 No description avaiable 0x4 32 0x00000000 0xE30300FF HW_TRIG_EN set to enable hardware trigger from moto system. NOTE: when sw_preset is enabled, this bit will not take effert 31 1 read-write EN_LV No description avaiable 30 1 read-write VBYPASS_LV No description avaiable 29 1 read-write OPAOUT_SEL No description avaiable 24 2 read-write ISEL No description avaiable 16 2 read-write PGA_SEL No description avaiable 0 8 read-write cfg2 No description avaiable 0x8 32 0x00000000 0x07000000 CHANNEL No description avaiable 24 3 read-write OPAMP1 OPAMP1 OPAMP 0xf30a4000 ACMP ACMP ACMP 0xf30b0000 0x0 0x80 registers 4 0x20 chn0,chn1,chn2,chn3 CHANNEL[%s] no description available 0x0 cfg Configure Register 0x0 32 0x00000000 0xFF7FFFFF HYST This bitfield configure the comparator hysteresis. 00: Hysteresis level 0 01: Hysteresis level 1 10: Hysteresis level 2 11: Hysteresis level 3 30 2 read-write DACEN This bit enable the comparator internal DAC 0: DAC disabled 1: DAC enabled 29 1 read-write HPMODE This bit enable the comparator high performance mode. 0: HP mode disabled 1: HP mode enabled 28 1 read-write CMPEN This bit enable the comparator. 0: ACMP disabled 1: ACMP enabled 27 1 read-write MINSEL PIN select, from pad_ai_acmp[7:1] and dac_out 24 3 read-write PINSEL MIN select, from pad_ai_acmp[7:1] and dac_out 20 3 read-write CMPOEN This bit enable the comparator output on pad. 0: ACMP output disabled 1: ACMP output enabled 19 1 read-write FLTBYPS This bit bypass the comparator output digital filter. 0: The ACMP output need pass digital filter 1: The ACMP output digital filter is bypassed. 18 1 read-write WINEN This bit enable the comparator window mode. 0: Window mode is disabled 1: Window mode is enabled 17 1 read-write OPOL The output polarity control bit. 0: The ACMP output remain un-changed. 1: The ACMP output is inverted. 16 1 read-write FLTMODE This bitfield define the ACMP output digital filter mode: 000-bypass 100-change immediately; 101-change after filter; 110-stalbe low; 111-stable high 13 3 read-write SYNCEN This bit enable the comparator output synchronization. 0: ACMP output not synchronized with ACMP clock. 1: ACMP output synchronized with ACMP clock. 12 1 read-write FLTLEN This bitfield define the ACMP output digital filter length. The unit is ACMP clock cycle. 0 12 read-write daccfg DAC configure register 0x4 32 0x00000000 0x000000FF DACCFG 8bit DAC digital value 0 8 read-write sr Status register 0x10 32 0x00000000 0x00000003 FEDGF Output falling edge flag. Write 1 to clear this flag. 1 1 read-write REDGF Output rising edge flag. Write 1 to clear this flag. 0 1 read-write irqen Interrupt request enable register 0x14 32 0x00000000 0x00000003 FEDGEN Output falling edge flag interrupt enable bit. 1 1 read-write REDGEN Output rising edge flag interrupt enable bit. 0 1 read-write dmaen DMA request enable register 0x18 32 0x00000000 0x00000003 FEDGEN Output falling edge flag DMA request enable bit. 1 1 read-write REDGEN Output rising edge flag DMA request enable bit. 0 1 read-write SYSCTL SYSCTL SYSCTL 0xf4000000 0x0 0x2c00 registers 113 0x4 cpu0,cpx0,pow_cpu0,rst_soc,rst_cpu0,clk_src_xtal,clk_src_pll0,clk_src_clk0_pll0,clk_src_clk1_pll0,clk_src_clk2_pll0,clk_src_pll1,clk_src_clk0_pll1,clk_src_clk1_pll1,clk_src_clk2_pll1,clk_src_clk3_pll1,clk_src_pll0_ref,clk_src_pll1_ref,clk_top_cpu0,clk_top_mct0,clk_top_can0,clk_top_can1,clk_top_can2,clk_top_can3,clk_top_lin0,clk_top_lin1,clk_top_lin2,clk_top_lin3,clk_top_tmr0,clk_top_tmr1,clk_top_tmr2,clk_top_tmr3,clk_top_i2c0,clk_top_i2c1,clk_top_i2c2,clk_top_i2c3,clk_top_spi0,clk_top_spi1,clk_top_spi2,clk_top_spi3,clk_top_urt0,clk_top_urt1,clk_top_urt2,clk_top_urt3,clk_top_urt4,clk_top_urt5,clk_top_urt6,clk_top_urt7,clk_top_xpi0,clk_top_ana0,clk_top_ana1,clk_top_ana2,clk_top_ana3,clk_top_ref0,clk_top_ref1,clk_top_adc0,clk_top_adc1,clk_top_dac0,clk_top_dac1,ahb0,lmm0,mct0,rom0,can0,can1,can2,can3,ptpc,lin0,lin1,lin2,lin3,tmr0,tmr1,tmr2,tmr3,i2c0,i2c1,i2c2,i2c3,spi0,spi1,spi2,spi3,urt0,urt1,urt2,urt3,urt4,urt5,urt6,urt7,wdg0,wdg1,mbx0,tsns,crc0,adc0,adc1,dac0,dac1,acmp,opa0,opa1,mot0,rng0,sdp0,kman,gpio,hdma,xpi0,usb0,ref0,ref1 RESOURCE[%s] no description available 0x0 32 0x00000000 0xC0000003 GLB_BUSY global busy 0: no changes pending to any nodes 1: any of nodes is changing status 31 1 read-only LOC_BUSY local busy 0: no change is pending for current node 1: current node is changing status 30 1 read-only MODE resource work mode 0:auto turn on and off as system required(recommended) 1:always on 2:always off 3:reserved 0 2 read-write 2 0x10 link0,link1 GROUP0[%s] no description available 0x800 VALUE Group setting 0x0 32 0x00000000 0xFFFFFFFF LINK denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral 0: peripheral is not needed 1: periphera is needed 0 32 read-write SET Group setting 0x4 32 0x00000000 0xFFFFFFFF LINK denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral 0: no effect 1: add periphera into this group,periphera is needed 0 32 read-write CLEAR Group setting 0x8 32 0x00000000 0xFFFFFFFF LINK denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral 0: no effect 1: delete periphera in this group,periphera is not needed 0 32 read-write TOGGLE Group setting 0xc 32 0x00000000 0xFFFFFFFF LINK denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral 0: no effect 1: toggle the result that whether periphera is needed before 0 32 read-write 1 0x10 cpu0 AFFILIATE[%s] no description available 0x900 VALUE Affiliate of Group 0x0 32 0x00000000 0x0000000F LINK Affiliate groups of cpu0, each bit represents a group bit0: cpu0 depends on group0 bit1: cpu0 depends on group1 bit2: cpu0 depends on group2 bit3: cpu0 depends on group3 0 4 read-write SET Affiliate of Group 0x4 32 0x00000000 0x0000000F LINK Affiliate groups of cpu0,each bit represents a group 0: no effect 1: the group is assigned to CPU0 0 4 read-write CLEAR Affiliate of Group 0x8 32 0x00000000 0x0000000F LINK Affiliate groups of cpu0, each bit represents a group 0: no effect 1: the group is not assigned to CPU0 0 4 read-write TOGGLE Affiliate of Group 0xc 32 0x00000000 0x0000000F LINK Affiliate groups of cpu0, each bit represents a group 0: no effect 1: toggle the result that whether the group is assigned to CPU0 before 0 4 read-write 1 0x10 cpu0 RETENTION[%s] no description available 0x920 VALUE Retention Contol 0x0 32 0x00000000 0x00007FFF LINK retention setting while CPU0 enter stop mode, each bit represents a resource bit00: soc_mem is kept on while cpu0 stop bit01: soc_ctx is kept on while cpu0 stop bit02: cpu0_mem is kept on while cpu0 stop bit03: cpu0_ctx is kept on while cpu0 stop bit04: xtal_hold is kept on while cpu0 stop bit05: pll0_hold is kept on while cpu0 stop bit06: pll1_hold is kept on while cpu0 stop 0 15 read-write SET Retention Contol 0x4 32 0x00000000 0x00007FFF LINK retention setting while CPU0 enter stop mode, each bit represents a resource 0: no effect 1: keep 0 15 read-write CLEAR Retention Contol 0x8 32 0x00000000 0x00007FFF LINK retention setting while CPU0 enter stop mode, each bit represents a resource 0: no effect 1: no keep 0 15 read-write TOGGLE Retention Contol 0xc 32 0x00000000 0x00007FFF LINK retention setting while CPU0 enter stop mode, each bit represents a resource 0: no effect 1: toggle the result that whether the resource is kept on while CPU0 stop before 0 15 read-write 1 0x14 cpu0 POWER[%s] no description available 0x1000 status Power Setting 0x0 32 0x80000000 0xC0031100 FLAG flag represents power cycle happened from last clear of this bit 0: power domain did not edurance power cycle since last clear of this bit 1: power domain enduranced power cycle since last clear of this bit 31 1 read-write FLAG_WAKE flag represents wakeup power cycle happened from last clear of this bit 0: power domain did not edurance wakeup power cycle since last clear of this bit 1: power domain enduranced wakeup power cycle since last clear of this bit 30 1 read-write MEM_RET_N memory info retention control signal 0: memory enter retention mode 1: memory exit retention mode 17 1 read-only MEM_RET_P memory info retention control signal 0: memory not enterexitretention mode 1: memory enter retention mode 16 1 read-only LF_DISABLE low fanout power switch disable 0: low fanout power switches are turned on 1: low fanout power switches are truned off 12 1 read-only LF_ACK low fanout power switch feedback 0: low fanout power switches are turned on 1: low fanout power switches are truned off 8 1 read-only lf_wait Power Setting 0x4 32 0x000000FF 0x000FFFFF WAIT wait time for low fan out power switch turn on, default value is 255 0: 0 clock cycle 1: 1 clock cycles . . . clock cycles count on 24MHz 0 20 read-write off_wait Power Setting 0xc 32 0x0000000F 0x000FFFFF WAIT wait time for power switch turn off, default value is 15 0: 0 clock cycle 1: 1 clock cycles . . . clock cycles count on 24MHz 0 20 read-write ret_wait Power Setting 0x10 32 0x0000000F 0x000FFFFF WAIT wait time for memory retention mode transition, default value is 15 0: 0 clock cycle 1: 1 clock cycles . . . clock cycles count on 24MHz 0 20 read-write 2 0x10 soc,cpu0 RESET[%s] no description available 0x1400 control Reset Setting 0x0 32 0x80000000 0xC0000011 FLAG flag represents reset happened from last clear of this bit 0: domain did not edurance reset cycle since last clear of this bit 1: domain enduranced reset cycle since last clear of this bit 31 1 read-write FLAG_WAKE flag represents wakeup reset happened from last clear of this bit 0: domain did not edurance wakeup reset cycle since last clear of this bit 1: domain enduranced wakeup reset cycle since last clear of this bit 30 1 read-write HOLD perform reset and hold in reset, until ths bit cleared by software 0: reset is released for function 1: reset is assert and hold 4 1 read-write RESET perform reset and release imediately 0: reset is released 1 reset is asserted and will release automaticly 0 1 read-write config Reset Setting 0x4 32 0x00402003 0x00FFFFFF PRE_WAIT wait cycle numbers before assert reset 0: wait 0 cycle 1: wait 1 cycles . . . Note, clock cycle is base on 24M 16 8 read-write RSTCLK_NUM reset clock number(must be even number) 0: 0 cycle 1: 0 cycles 2: 2 cycles 3: 2 cycles . . . Note, clock cycle is base on 24M 8 8 read-write POST_WAIT time guard band for reset release 0: wait 0 cycle 1: wait 1 cycles . . . Note, clock cycle is base on 24M 0 8 read-write counter Reset Setting 0xc 32 0x00000000 0x000FFFFF COUNTER self clear trigger counter, reset triggered when counter value is 1, write 0 will cancel reset 0: wait 0 cycle 1: wait 1 cycles . . . Note, clock cycle is base on 24M 0 20 read-write 1 0x4 clk_top_cpu0 CLOCK_CPU[%s] no description available 0x1800 32 0x00000000 0xD00F07FF GLB_BUSY global busy 0: no changes pending to any clock 1: any of nodes is changing status 31 1 read-only LOC_BUSY local busy 0: a change is pending for current node 1: current node is changing status 30 1 read-only PRESERVE preserve function against global select 0: select global clock setting 1: not select global clock setting 28 1 read-write SUB0_DIV ahb bus divider, the bus clock is generated by cpu_clock/div 0: divider by 1 1: divider by 2 … 16 4 read-write MUX current mux in clock component 0:osc0_clk0 1:pll0_clk0 2:pll0_clk1 3:pll0_clk2 4:pll1_clk0 5:pll1_clk1 6:pll1_clk2 7:pll1_clk3 8 3 read-write DIV clock divider 0: divider by 1 1: divider by 2 2: divider by 3 . . . 255: divider by 256 0 8 read-write 36 0x4 clk_top_mct0,clk_top_can0,clk_top_can1,clk_top_can2,clk_top_can3,clk_top_lin0,clk_top_lin1,clk_top_lin2,clk_top_lin3,clk_top_tmr0,clk_top_tmr1,clk_top_tmr2,clk_top_tmr3,clk_top_i2c0,clk_top_i2c1,clk_top_i2c2,clk_top_i2c3,clk_top_spi0,clk_top_spi1,clk_top_spi2,clk_top_spi3,clk_top_urt0,clk_top_urt1,clk_top_urt2,clk_top_urt3,clk_top_urt4,clk_top_urt5,clk_top_urt6,clk_top_urt7,clk_top_xpi0,clk_top_ana0,clk_top_ana1,clk_top_ana2,clk_top_ana3,clk_top_ref0,clk_top_ref1 CLOCK[%s] no description available 0x1804 32 0x00000000 0xD00007FF GLB_BUSY global busy 0: no changes pending to any clock 1: any of nodes is changing status 31 1 read-only LOC_BUSY local busy 0: a change is pending for current node 1: current node is changing status 30 1 read-only PRESERVE preserve function against global select 0: select global clock setting 1: not select global clock setting 28 1 read-write MUX current mux in clock component 0:osc0_clk0 1:pll0_clk0 2:pll0_clk1 3:pll0_clk2 4:pll1_clk0 5:pll1_clk1 6:pll1_clk2 7:pll1_clk3 8 3 read-write DIV clock divider 0: divider by 1 1: divider by 2 2: divider by 3 . . . 255: divider by 256 0 8 read-write 2 0x4 clk_top_adc0,clk_top_adc1 ADCCLK[%s] no description available 0x1c00 32 0x00000000 0xD0000100 GLB_BUSY global busy 0: no changes pending to any clock 1: any of nodes is changing status 31 1 read-only LOC_BUSY local busy 0: a change is pending for current node 1: current node is changing status 30 1 read-only PRESERVE preserve function against global select 0: select global clock setting 1: not select global clock setting 28 1 read-write MUX current mux 0: ahb0 clock N 1: ana clock 8 1 read-write 2 0x4 clk_top_dac0,clk_top_dac1 DACCLK[%s] no description available 0x1c08 32 0x00000000 0xD0000100 GLB_BUSY global busy 0: no changes pending to any clock 1: any of nodes is changing status 31 1 read-only LOC_BUSY local busy 0: a change is pending for current node 1: current node is changing status 30 1 read-only PRESERVE preserve function against global select 0: select global clock setting 1: not select global clock setting 28 1 read-write MUX current mux 0: ahb0 clock N 1: ana clock 8 1 read-write global00 Clock senario 0x2000 32 0x00000000 0x000000FF MUX global clock override request bit0: override to preset0 bit1: override to preset1 bit2: override to preset2 bit3: override to preset3 bit4: override to preset4 bit5: override to preset5 bit6: override to preset6 bit7: override to preset7 0 8 read-write 4 0x20 slice0,slice1,slice2,slice3 MONITOR[%s] no description available 0x2400 control Clock measure and monitor control 0x0 32 0x00000000 0x89FFD7FF VALID result is ready for read 0: not ready 1: result is ready 31 1 read-write DIV_BUSY divider is applying new setting 27 1 read-only OUTEN enable clock output 24 1 read-write DIV output divider 16 8 read-write HIGH clock frequency higher than upper limit 15 1 read-write LOW clock frequency lower than lower limit 14 1 read-write START start measurement 12 1 read-write MODE work mode, 0: register value will be compared to measurement 1: upper and lower value will be recordered in register 10 1 read-write ACCURACY measurement accuracy, 0: resolution is 1kHz 1: resolution is 1Hz 9 1 read-write REFERENCE refrence clock selection, 0: 32k 1: 24M 8 1 read-write SELECTION clock measurement selection 0 8 read-write current Clock measure result 0x4 32 0x00000000 0xFFFFFFFF FREQUENCY self updating measure result 0 32 read-only low_limit Clock lower limit 0x8 32 0xFFFFFFFF 0xFFFFFFFF FREQUENCY lower frequency 0 32 read-write high_limit Clock upper limit 0xc 32 0x00000000 0xFFFFFFFF FREQUENCY upper frequency 0 32 read-write 1 0x400 cpu0 CPU[%s] no description available 0x2800 LP CPU0 LP control 0x0 32 0x00001000 0xFF013703 WAKE_CNT CPU0 wake up counter, counter satuated at 255, write 0x00 to clear 24 8 read-write HALT halt request for CPU0, 0: CPU0 will start to execute after reset or receive wakeup request 1: CPU0 will not start after reset, or wakeup after WFI 16 1 read-write WAKE CPU0 is waking up 0: CPU0 wake up not asserted 1: CPU0 wake up asserted 13 1 read-only EXEC CPU0 is executing 0: CPU0 is not executing 1: CPU0 is executing 12 1 read-only WAKE_FLAG CPU0 wakeup flag, indicate a wakeup event got active, write 1 to clear this bit 0: CPU0 wakeup not happened 1: CPU0 wake up happened 10 1 read-write SLEEP_FLAG CPU0 sleep flag, indicate a sleep event got active, write 1 to clear this bit 0: CPU0 sleep not happened 1: CPU0 sleep happened 9 1 read-write RESET_FLAG CPU0 reset flag, indicate a reset event got active, write 1 to clear this bit 0: CPU0 reset not happened 1: CPU0 reset happened 8 1 read-write MODE Low power mode, system behavior after WFI 00: CPU clock stop after WFI 01: System enter low power mode after WFI 10: Keep running after WFI 11: reserved 0 2 read-write LOCK CPU0 Lock GPR 0x4 32 0x00000000 0x0000FFFE GPR Lock bit for CPU_DATA0 to CPU_DATA13, once set, this bit will not clear untile next reset 2 14 read-write LOCK Lock bit for CPU_LOCK 1 1 read-write 14 0x4 GPR0,GPR1,GPR2,GPR3,GPR4,GPR5,GPR6,GPR7,GPR8,GPR9,GPR10,GPR11,GPR12,GPR13 GPR[%s] no description available 0x8 32 0x00000000 0xFFFFFFFF GPR register for software to handle resume, can save resume address or status 0 32 read-write 4 0x4 STATUS0,STATUS1,STATUS2,STATUS3 WAKEUP_STATUS[%s] no description available 0x40 32 0x00000000 0xFFFFFFFF STATUS IRQ values 0 32 read-only 4 0x4 ENABLE0,ENABLE1,ENABLE2,ENABLE3 WAKEUP_ENABLE[%s] no description available 0x80 32 0x00000000 0xFFFFFFFF ENABLE IRQ wakeup enable 0 32 read-write IOC IOC IOC 0xf4040000 0x0 0xe40 registers 456 0x8 pa00,pa01,pa02,pa03,pa04,pa05,pa06,pa07,pa08,pa09,pa10,pa11,pa12,pa13,pa14,pa15,pa16,pa17,pa18,pa19,pa20,pa21,pa22,pa23,pa24,pa25,pa26,pa27,pa28,pa29,pa30,pa31,pb00,pb01,pb02,pb03,pb04,pb05,pb06,pb07,pb08,pb09,pb10,pb11,pb12,pb13,pb14,pb15,rsv49,rsv50,rsv51,rsv52,rsv53,rsv54,rsv55,rsv56,rsv57,rsv58,rsv59,rsv60,rsv61,rsv62,rsv63,rsv64,rsv65,rsv66,rsv67,rsv68,rsv69,rsv70,rsv71,rsv72,rsv73,rsv74,rsv75,rsv76,rsv77,rsv78,rsv79,rsv80,rsv81,rsv82,rsv83,rsv84,rsv85,rsv86,rsv87,rsv88,rsv89,rsv90,rsv91,rsv92,rsv93,rsv94,rsv95,rsv96,rsv97,rsv98,rsv99,rsv100,rsv101,rsv102,rsv103,rsv104,rsv105,rsv106,rsv107,rsv108,rsv109,rsv110,rsv111,rsv112,rsv113,rsv114,rsv115,rsv116,rsv117,rsv118,rsv119,rsv120,rsv121,rsv122,rsv123,rsv124,rsv125,rsv126,rsv127,rsv128,rsv129,rsv130,rsv131,rsv132,rsv133,rsv134,rsv135,rsv136,rsv137,rsv138,rsv139,rsv140,rsv141,rsv142,rsv143,rsv144,rsv145,rsv146,rsv147,rsv148,rsv149,rsv150,rsv151,rsv152,rsv153,rsv154,rsv155,rsv156,rsv157,rsv158,rsv159,rsv160,rsv161,rsv162,rsv163,rsv164,rsv165,rsv166,rsv167,rsv168,rsv169,rsv170,rsv171,rsv172,rsv173,rsv174,rsv175,rsv176,rsv177,rsv178,rsv179,rsv180,rsv181,rsv182,rsv183,rsv184,rsv185,rsv186,rsv187,rsv188,rsv189,rsv190,rsv191,rsv192,rsv193,rsv194,rsv195,rsv196,rsv197,rsv198,rsv199,rsv200,rsv201,rsv202,rsv203,rsv204,rsv205,rsv206,rsv207,rsv208,rsv209,rsv210,rsv211,rsv212,rsv213,rsv214,rsv215,rsv216,rsv217,rsv218,rsv219,rsv220,rsv221,rsv222,rsv223,rsv224,rsv225,rsv226,rsv227,rsv228,rsv229,rsv230,rsv231,rsv232,rsv233,rsv234,rsv235,rsv236,rsv237,rsv238,rsv239,rsv240,rsv241,rsv242,rsv243,rsv244,rsv245,rsv246,rsv247,rsv248,rsv249,rsv250,rsv251,rsv252,rsv253,rsv254,rsv255,rsv256,rsv257,rsv258,rsv259,rsv260,rsv261,rsv262,rsv263,rsv264,rsv265,rsv266,rsv267,rsv268,rsv269,rsv270,rsv271,rsv272,rsv273,rsv274,rsv275,rsv276,rsv277,rsv278,rsv279,rsv280,rsv281,rsv282,rsv283,rsv284,rsv285,rsv286,rsv287,rsv288,rsv289,rsv290,rsv291,rsv292,rsv293,rsv294,rsv295,rsv296,rsv297,rsv298,rsv299,rsv300,rsv301,rsv302,rsv303,rsv304,rsv305,rsv306,rsv307,rsv308,rsv309,rsv310,rsv311,rsv312,rsv313,rsv314,rsv315,rsv316,rsv317,rsv318,rsv319,rsv320,rsv321,rsv322,rsv323,rsv324,rsv325,rsv326,rsv327,rsv328,rsv329,rsv330,rsv331,rsv332,rsv333,rsv334,rsv335,rsv336,rsv337,rsv338,rsv339,rsv340,rsv341,rsv342,rsv343,rsv344,rsv345,rsv346,rsv347,rsv348,rsv349,rsv350,rsv351,rsv352,rsv353,rsv354,rsv355,rsv356,rsv357,rsv358,rsv359,rsv360,rsv361,rsv362,rsv363,rsv364,rsv365,rsv366,rsv367,rsv368,rsv369,rsv370,rsv371,rsv372,rsv373,rsv374,rsv375,rsv376,rsv377,rsv378,rsv379,rsv380,rsv381,rsv382,rsv383,rsv384,rsv385,rsv386,rsv387,rsv388,rsv389,rsv390,rsv391,rsv392,rsv393,rsv394,rsv395,rsv396,rsv397,rsv398,rsv399,rsv400,rsv401,rsv402,rsv403,rsv404,rsv405,rsv406,rsv407,rsv408,rsv409,rsv410,rsv411,rsv412,rsv413,rsv414,rsv415,rsv416,px00,px01,px02,px03,px04,px05,px06,px07,rsv425,rsv426,rsv427,rsv428,rsv429,rsv430,rsv431,rsv432,rsv433,rsv434,rsv435,rsv436,rsv437,rsv438,rsv439,rsv440,rsv441,rsv442,rsv443,rsv444,rsv445,rsv446,rsv447,rsv448,py00,py01,py02,py03,py04,py05,py06,py07 PAD[%s] no description available 0x0 FUNC_CTL ALT SELECT 0x0 32 0x00000000 0x0001011F LOOP_BACK force input on 0: disable 1: enable 16 1 read-write ANALOG select analog pin in pad 0: disable 1: enable 8 1 read-write ALT_SELECT alt select 0: ALT0 1: ALT1 ... 31:ALT31 0 5 read-write PAD_CTL PAD SETTINGS 0x4 32 0x01010056 0x01370177 HYS schmitt trigger enable 0: disable 1: enable 24 1 read-write PRS select pull up/down internal resistance strength: For pull down, only have 100 Kohm resistance For pull up: 00: 100 KOhm 01: 47 KOhm 10: 22 KOhm 11: 22 KOhm 20 2 read-write PS pull select 0: pull down 1: pull up 18 1 read-write PE pull enable 0: pull disable 1: pull enable 17 1 read-write KE keeper capability enable 0: keeper disable 1: keeper enable 16 1 read-write OD open drain 0: open drain disable 1: open drain enable 8 1 read-write SR slew rate 0: Slow slew rate 1: Fast slew rate 6 1 read-write SPD additional 2-bit slew rate to select IO cell operation frequency range with reduced switching noise 00: Slow frequency slew rate(50Mhz) 01: Medium frequency slew rate(100 Mhz) 10: Fast frequency slew rate(150 Mhz) 11: Max frequency slew rate(200Mhz) 4 2 read-write DS drive strength 1.8V Mode: 000: 260 Ohm 001: 260 Ohm 010: 130 Ohm 011: 88 Ohm 100: 65 Ohm 101: 52 Ohm 110: 43 Ohm 111: 37 Ohm 3.3V Mode: 000: 157 Ohm 001: 157 Ohm 010: 78 Ohm 011: 53 Ohm 100: 39 Ohm 101: 32 Ohm 110: 26 Ohm 111: 23 Ohm 0 3 read-write PIOC PIOC IOC 0xf4118000 PLLCTLV2 PLLCTLV2 PLLCTLV2 0xf40c0000 0x0 0x200 registers XTAL OSC configuration 0x0 32 0x0001FFFF 0xB00FFFFF BUSY Busy flag 0: Oscillator is working or shutdown 1: Oscillator is changing status 31 1 read-only RESPONSE Crystal oscillator status 0: Oscillator is not stable 1: Oscillator is stable for use 29 1 read-only ENABLE Crystal oscillator enable status 0: Oscillator is off 1: Oscillator is on 28 1 read-only RAMP_TIME Rampup time of XTAL oscillator in cycles of RC24M clock 0: 0 cycle 1: 1 cycle 2: 2 cycle 1048575: 1048575 cycles 0 20 read-write 3 0x80 pll0,pll1,pll2 PLL[%s] no description available 0x80 MFI PLL0 multiple register 0x0 32 0x00000010 0xB000007F BUSY Busy flag 0: PLL is stable or shutdown 1: PLL is changing status 31 1 read-only RESPONSE PLL status 0: PLL is not stable 1: PLL is stable for use 29 1 read-only ENABLE PLL enable status 0: PLL is off 1: PLL is on 28 1 read-only MFI loop back divider of PLL, support from 13 to 42, f=fref*(mfi + mfn/mfd) 0-15: invalid 16: divide by 16 17: divide by17 . . . 42: divide by 42 43~:invalid 0 7 read-write MFN PLL0 fraction numerator register 0x4 32 0x09896800 0x3FFFFFFF MFN Numeratorof fractional part,f=fref*(mfi + mfn/mfd). This field supports changing while running. 0 30 read-write MFD PLL0 fraction demoninator register 0x8 32 0x0E4E1C00 0x3FFFFFFF MFD Demoninator of fraction part,f=fref*(mfi + mfn/mfd). This field should not be changed during PLL enabled. If changed, change will take efftect when PLL re-enabled. 0 30 read-write SS_STEP PLL0 spread spectrum step register 0xc 32 0x00000000 0x3FFFFFFF STEP Step of spread spectrum modulator. This register should not be changed during PLL and spread spectrum enabled. If changed, new value will take effect when PLL disabled or spread spectrum disabled. 0 30 read-write SS_STOP PLL0 spread spectrum stop register 0x10 32 0x00000000 0x3FFFFFFF STOP Stop point of spread spectrum modulator This register should not be changed during PLL and spread spectrum enabled. If changed, new value will take effect when PLL disabled or spread spectrum disabled. 0 30 read-write CONFIG PLL0 confguration register 0x14 32 0x00000000 0x00000101 SPREAD Enable spread spectrum function. This field supports changing during PLL running. 8 1 read-write REFSEL Select reference clock, This filed support changing while running, but application must take frequency error and jitter into consideration. And if MFN changed before reference switch, application need make sure time is enough for MFN updating. 0: XTAL24M 1: IRC24M 0 1 read-write LOCKTIME PLL0 lock time register 0x18 32 0x000009C4 0x0000FFFF LOCKTIME Lock time of PLL in 24M clock cycles, typical value is 2500. If MFI changed during PLL startup, PLL lock time may be longer than this setting. 0 16 read-write STEPTIME PLL0 step time register 0x1c 32 0x000009C4 0x0000FFFF STEPTIME Step time for MFI on-the-fly change in 24M clock cycles, typical value is 2500. 0 16 read-write ADVANCED PLL0 advance configuration register 0x20 32 0x00000000 0x11000000 SLOW Use slow lock flow, PLL lock expendite is disabled. This mode might be stabler. And software need config LOCKTIME field accordingly. 0: fast lock enabled, lock time is 100us 1: fast lock disabled, lock time is 400us 28 1 read-write DITHER Enable dither function 24 1 read-write 3 0x4 DIV0,DIV1,DIV2 DIV[%s] no description available 0x40 32 0x00000000 0xB000003F BUSY Busy flag 0: divider is working 1: divider is changing status 31 1 read-only RESPONSE Divider response status 0: Divider is not stable 1: Divider is stable for use 29 1 read-only ENABLE Divider enable status 0: Divider is off 1: Divider is on 28 1 read-only DIV Divider factor, divider factor is DIV/5 + 1 0: divide by 1 1: divide by 1.2 2: divide by 1.4 . . . 63: divide by 13.6 0 6 read-write PPOR PPOR PPOR 0xf4100000 0x0 0x20 registers RESET_FLAG flag indicate reset source 0x0 32 0x00000000 0xFFFFFFFF FLAG reset reason of last hard reset, write 1 to clear each bit 0: brownout 1: temperature 4: debug reset 5: jtag soft reset 8: cpu0 lockup(not available) 9: cpu1 lockup(not available) 10: cpu0 request(not available) 11: cpu1 request(not available) 16: watch dog 0 17: watch dog 1 18: watch dog 2(not available) 19: watch dog 3(not available) 24: pmic watch dog 30: jtag ieee reset 31: software 0 32 write-only RESET_STATUS reset source status 0x4 32 0x00000000 0xFFFFFFFF STATUS current status of reset sources 0: brownout 1: temperature 4: debug reset 5: jtag soft reset 8: cpu0 lockup(not available) 9: cpu1 lockup(not available) 10: cpu0 request(not available) 11: cpu1 request(not available) 16: watch dog 0 17: watch dog 1 18: watch dog 2(not available) 19: watch dog 3(not available) 24: pmic watch dog 30: jtag ieee reset 31: software 0 32 read-only RESET_HOLD reset hold attribute 0x8 32 0x00000000 0xFFFFFFFF HOLD hold arrtibute, when set, SOC keep in reset status until reset source release, or, reset will be released after SOC enter reset status 0: brownout 1: temperature 4: debug reset 5: jtag soft reset 8: cpu0 lockup(not available) 9: cpu1 lockup(not available) 10: cpu0 request(not available) 11: cpu1 request(not available) 16: watch dog 0 17: watch dog 1 18: watch dog 2(not available) 19: watch dog 3(not available) 24: pmic watch dog 30: jtag ieee reset 31: software 0 32 read-write RESET_ENABLE reset source enable 0xc 32 0xFFFFFFFF 0xFFFFFFFF ENABLE enable of reset sources 0: brownout 1: temperature 4: debug reset 5: jtag soft reset 8: cpu0 lockup(not available) 9: cpu1 lockup(not available) 10: cpu0 request(not available) 11: cpu1 request(not available) 16: watch dog 0 17: watch dog 1 18: watch dog 2(not available) 19: watch dog 3(not available) 24: pmic watch dog 30: jtag ieee reset 31: software 0 32 read-write RESET_TYPE reset type triggered by reset 0x10 32 0x00000000 0xFFFFFFFF TYPE reset type of reset sources, 0 for cold reset, all system control setting cleared except debug/fuse/ioc; 1 for hot reset, keep system control setting and debug/fuse/ioc setting, only clear some subsystem 0: brownout 1: temperature 4: debug reset 5: jtag soft reset 8: cpu0 lockup(not available) 9: cpu1 lockup(not available) 10: cpu0 request(not available) 11: cpu1 request(not available) 16: watch dog 0 17: watch dog 1 18: watch dog 2(not available) 19: watch dog 3(not available) 24: pmic watch dog 30: jtag ieee reset 31: software 0 32 read-write SOFTWARE_RESET Software reset counter 0x1c 32 0x00000000 0xFFFFFFFF COUNTER counter decrease in 24MHz and stop at 0, trigger reset when value reach 2, software can write 0 to cancel reset 0 32 read-write PCFG PCFG PMU 0xf4104000 0x0 0x70 registers BANDGAP BANGGAP control 0x0 32 0x00101010 0x801F1F1F VBG_TRIMMED Bandgap trim happened, this bit set by hardware after trim value loaded, and stop load, write 0 will clear this bit and reload trim value 0: bandgap is not trimmed 1: bandgap is trimmed 31 1 read-write VBG_1P0_TRIM Banggap 1.0V output trim value 16 5 read-write VBG_P65_TRIM Banggap 1.0V output trim value 8 5 read-write VBG_P50_TRIM Banggap 1.0V output trim value 0 5 read-write LDO1P1 1V LDO config 0x4 32 0x0001044C 0x00010FFF ENABLE LDO enable 0: turn off LDO 1: turn on LDO 16 1 read-write VOLT LDO output voltage in mV, value valid through 700-1320, , step 20mV. Hardware select voltage no less than target if not on valid steps, with maximum 1320mV. 700: 700mV 720: 720mV . . . 1320:1320mV 0 12 read-write LDO2P5 2.5V LDO config 0x8 32 0x000009C4 0x10010FFF READY Ready flag, will set 1ms after enabled or voltage change 0: LDO is not ready for use 1: LDO is ready 28 1 read-only ENABLE LDO enable 0: turn off LDO 1: turn on LDO 16 1 read-write VOLT LDO output voltage in mV, value valid through 2125-2900, step 25mV. Hardware select voltage no less than target if not on valid steps, with maximum 2900mV. 2125: 2125mV 2150: 2150mV . . . 2900:2900mV 0 12 read-write DCDC_MODE DCDC mode select 0x10 32 0x0001047E 0x10070FFF READY Ready flag 0: DCDC is applying new change 1: DCDC is ready 28 1 read-only MODE DCDC work mode XX0: trun off 001: basic mode 011: generic mode 101: automatic mode 111: expert mode 16 3 read-write VOLT DCDC voltage in mV in normal mode, value valid through 600-1375, , step 25mV. Hardware select voltage no less than target if not on valid steps, with maximum 1375mV. 600: 600mV 625: 625mV . . . 1375:1375mV 0 12 read-write DCDC_LPMODE DCDC low power mode 0x14 32 0x00000384 0x00000FFF STBY_VOLT DCDC voltage in mV in standby mode, , value valid through 600-1375, , step 25mV. Hardware select voltage no less than target if not on valid steps, with maximum 1375mV. 600: 600mV 625: 625mV . . . 1375:1375mV 0 12 read-write DCDC_PROT DCDC protection 0x18 32 0x00000010 0x11018191 ILIMIT_LP over current setting for low power mode 0:250mA 1:200mA 28 1 read-write OVERLOAD_LP over current in low power mode 0: current is below setting 1: overcurrent happened in low power mode 24 1 read-only POWER_LOSS_FLAG power loss 0: input power is good 1: input power is too low 16 1 read-only DISABLE_OVERVOLTAGE ouput over voltage protection 0: protection enabled, DCDC will shut down is output voltage is unexpected high 1: protection disabled, DCDC continue to adjust output voltage 15 1 read-write OVERVOLT_FLAG output over voltage flag 0: output is normal 1: output is unexpected high 8 1 read-only DISABLE_SHORT disable output short circuit protection 0: short circuits protection enabled, DCDC shut down if short circuit on ouput detected 1: short circuit protection disabled 7 1 read-write SHORT_CURRENT short circuit current setting 0: 2.0A, 1: 1.3A 4 1 read-write SHORT_FLAG short circuit flag 0: current is within limit 1: short circuits detected 0 1 read-only DCDC_CURRENT DCDC current estimation 0x1c 32 0x00000000 0x0000811F ESTI_EN enable current measure 15 1 read-write VALID Current level valid 0: data is invalid 1: data is valid 8 1 read-only LEVEL DCDC current level, current level is num * 50mA 0 5 read-only DCDC_ADVMODE DCDC advance setting 0x20 32 0x03120040 0x073F007F EN_RCSCALE Enable RC scale 24 3 read-write DC_C Loop C number 20 2 read-write DC_R Loop R number 16 4 read-write EN_FF_DET enable feed forward detect 0: feed forward detect is disabled 1: feed forward detect is enabled 6 1 read-write EN_FF_LOOP enable feed forward loop 0: feed forward loop is disabled 1: feed forward loop is enabled 5 1 read-write EN_AUTOLP enable auto enter low power mode 0: do not enter low power mode 1: enter low power mode if current is detected low 4 1 read-write EN_DCM_EXIT avoid over voltage 0: stay in DCM mode when voltage excess 1: change to CCM mode when voltage excess 3 1 read-write EN_SKIP enable skip on narrow pulse 0: do not skip narrow pulse 1: skip narrow pulse 2 1 read-write EN_IDLE enable skip when voltage is higher than threshold 0: do not skip 1: skip if voltage is excess 1 1 read-write EN_DCM DCM mode 0: CCM mode 1: DCM mode 0 1 read-write DCDC_ADVPARAM DCDC advance parameter 0x24 32 0x00006E1C 0x00007F7F MIN_DUT minimum duty cycle 8 7 read-write MAX_DUT maximum duty cycle 0 7 read-write DCDC_MISC DCDC misc parameter 0x28 32 0x00070100 0x13170317 EN_HYST hysteres enable 28 1 read-write HYST_SIGN hysteres sign 25 1 read-write HYST_THRS hysteres threshold 24 1 read-write RC_SCALE Loop RC scale threshold 20 1 read-write DC_FF Loop feed forward number 16 3 read-write OL_THRE overload for threshold for lod power mode 8 2 read-write OL_HYST current hysteres range 0: 12.5mV 1: 25mV 4 1 read-write DELAY enable delay 0: delay disabled, 1: delay enabled 2 1 read-write CLK_SEL clock selection 0: select DCDC internal oscillator 1: select RC24M oscillator 1 1 read-write EN_STEP enable stepping in voltage change 0: stepping disabled, 1: steping enabled 0 1 read-write DCDC_DEBUG DCDC Debug 0x2c 32 0x00005DBF 0x000FFFFF UPDATE_TIME DCDC voltage change time in 24M clock cycles, default value is 1mS 0 20 read-write DCDC_START_TIME DCDC ramp time 0x30 32 0x0001193F 0x000FFFFF START_TIME Start delay for DCDC to turn on, in 24M clock cycles, default value is 3mS 0 20 read-write DCDC_RESUME_TIME DCDC resume time 0x34 32 0x00008C9F 0x000FFFFF RESUME_TIME Resume delay for DCDC to recover from low power mode, in 24M clock cycles, default value is 1.5mS 0 20 read-write POWER_TRAP SOC power trap 0x40 32 0x00000000 0x80010001 TRIGGERED Low power trap status, thit bit will set when power related low power flow triggered, write 1 to clear this flag. 0: low power trap is not triggered 1: low power trap triggered 31 1 read-write RETENTION DCDC enter standby mode, which will reduce voltage for memory content retention 0: Shutdown DCDC 1: reduce DCDC voltage 16 1 read-write TRAP Enable trap of SOC power supply, trap is used to hold SOC in low power mode for DCDC to enter further low power mode, this bit will self-clear when power related low pwer flow triggered 0: trap not enabled, pmic side low power function disabled 1: trap enabled, STOP operation leads to PMIC low power flow if SOC is not retentioned. 0 1 read-write WAKE_CAUSE Wake up source 0x44 32 0x00000000 0xFFFFFFFF CAUSE wake up cause, each bit represents one wake up source, write 1 to clear the register bit 0: wake up source is not active during last wakeup 1: wake up source is active furing last wakeup bit 0: pmic_enable bit 7: UART interrupt bit 8: TMR interrupt bit 9: WDG interrupt bit10: GPIO in PMIC interrupt bit31: pin wakeup 0 32 read-write WAKE_MASK Wake up mask 0x48 32 0x00000000 0xFFFFFFFF MASK mask for wake up sources, each bit represents one wakeup source 0: allow source to wake up system 1: disallow source to wakeup system bit 0: pmic_enable bit 7: UART interrupt bit 8: TMR interrupt bit 9: WDG interrupt bit10: GPIO in PMIC interrupt bit31: pin wakeup 0 32 read-write SCG_CTRL Clock gate control in PMIC 0x4c 32 0xFFFFFFFF 0xFFFFFFFF SCG control whether clock being gated during PMIC low power flow, 2 bits for each peripheral 00,01: reserved 10: clock is always off 11: clock is always on bit6-7:gpio bit8-9:ioc bit10-11: timer bit12-13:wdog bit14-15:uart 0 32 read-write RC24M RC 24M config 0x60 32 0x00000310 0x8000071F RC_TRIMMED RC24M trim happened, this bit set by hardware after trim value loaded, and stop load, write 0 will clear this bit and reload trim value 0: RC is not trimmed 1: RC is trimmed 31 1 read-write TRIM_C Coarse trim for RC24M, bigger value means faster 8 3 read-write TRIM_F Fine trim for RC24M, bigger value means faster 0 5 read-write RC24M_TRACK RC 24M track mode 0x64 32 0x00000000 0x00010011 SEL24M Select track reference 0: select 32K as reference 1: select 24M XTAL as reference 16 1 read-write RETURN Retrun default value when XTAL loss 0: remain last tracking value 1: switch to default value 4 1 read-write TRACK track mode 0: RC24M free running 1: track RC24M to external XTAL 0 1 read-write TRACK_TARGET RC 24M track target 0x68 32 0x00000000 0xFFFFFFFF PRE_DIV Divider for reference source 16 16 read-write TARGET Target frequency multiplier of divided source 0 16 read-write STATUS RC 24M track status 0x6c 32 0x00000000 0x0011871F SEL32K track is using XTAL32K 0: track is not using XTAL32K 1: track is using XTAL32K 20 1 read-only SEL24M track is using XTAL24M 0: track is not using XTAL24M 1: track is using XTAL24M 16 1 read-only EN_TRIM default value takes effect 0: default value is invalid 1: default value is valid 15 1 read-only TRIM_C default coarse trim value 8 3 read-only TRIM_F default fine trim value 0 5 read-only PGPR0 PGPR0 PGPR 0xf4110000 0x0 0x40 registers PMIC_GPR00 Generic control 0x0 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR01 Generic control 0x4 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR02 Generic control 0x8 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR03 Generic control 0xc 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR04 Generic control 0x10 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR05 Generic control 0x14 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR06 Generic control 0x18 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR07 Generic control 0x1c 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR08 Generic control 0x20 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR09 Generic control 0x24 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR10 Generic control 0x28 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR11 Generic control 0x2c 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR12 Generic control 0x30 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR13 Generic control 0x34 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR14 Generic control 0x38 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PMIC_GPR15 Generic control 0x3c 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write PGPR1 PGPR1 PGPR 0xf4114000 PDGO PDGO PDGO 0xf4134000 0x0 0x714 registers DGO_TURNOFF trunoff control 0x0 32 0x00000000 0xFFFFFFFF COUNTER trunoff counter, counter stops when it counts down to 0, the trunoff occurs when the counter value is 1. 0 32 write-only DGO_RC32K_CFG RC32K CLOCK 0x4 32 0x00000000 0x80C001FF IRC_TRIMMED IRC32K trim happened, this bit set by hardware after trim value loaded, and stop load, write 0 will clear this bit and reload trim value 0: irc is not trimmed 1: irc is trimmed 31 1 read-write CAPEX7_TRIM IRC32K bit 7 23 1 read-write CAPEX6_TRIM IRC32K bit 6 22 1 read-write CAP_TRIM capacitor trim bits 0 9 read-write DGO_GPR00 Generic control 0 0x600 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write DGO_GPR01 Generic control 1 0x604 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write DGO_GPR02 Generic control 2 0x608 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write DGO_GPR03 Generic control 3 0x60c 32 0x00000000 0xFFFFFFFF GPR Generic control 0 32 read-write DGO_CTR0 control register 0 0x700 32 0x00000000 0x00010000 RETENTION dgo register status retenion 16 1 read-write DGO_CTR1 control register 1 0x704 32 0x00000000 0x80010001 AOTO_SYS_WAKEUP software wakeup: 0 : wakeup once; 1:auto wakeup Continuously 31 1 read-write WAKEUP_EN permit wakeup pin or software wakeup 16 1 read-write PIN_WAKEUP_STATUS wakeup pin status 0 1 read-only DGO_CTR2 control register 2 0x708 32 0x00000000 0x01010000 RESETN_PULLUP_DISABLE resetn pin pull up disable 24 1 read-write WAKEUP_PULLDN_DISABLE wakeup pin pull down disable 16 1 read-write DGO_CTR3 control register 3 0x70c 32 0x00000000 0xFFFFFFFF WAKEUP_COUNTER software wakeup counter 0 32 read-write DGO_CTR4 control register 4 0x710 32 0x00000000 0x00000003 BANDGAP_LESS_POWER Banggap work in power save mode, banggap function normally 0: banggap works in high performance mode 1: banggap works in power saving mode 1 1 read-write BANDGAP_LP_MODE Banggap work in low power mode, banggap function limited 0: banggap works in normal mode 1: banggap works in low power mode 0 1 read-write