mem-map.md 1.1 KB

AC97 controller registers

`0x00`	CSR
		[3]     (R)  Ring Frequency Indicator
		[2]	(RW) GPIO ena
		[1]	(RW) AC97_reset_n
		[0]	(RW) Run

`0x01`	Low Level Status
		[31]	(R)  Codec Ready
		[28:16] (R)  Slot Request (bit 28=Slot 12, bit 16=Slot 0)
		[12:0]	(R)  Slot Valid   (bit 12=Slot 12, bit  0=Slot 0)
		(Write clears)

`0x02`	Codec Register Access
		[31]	(R)  Busy
		[30]	(RW) Write Enable
		[29]    (R)  Read Error flag
		[21:16] (RW) Register Address
		[15:0]  (RW) Register Value

`0x04`	Codec GPIO Input
		[19:0]	(R)  GPIO Input

`0x05`	Codec GPIO Output
		[19:0]	(RW) GPIO Output

`0x06`	FIFO Data
		[31]	(R)  Empty flag (for read)
		[15:0] 	(RW) PCM 16 bits signed

`0x07`	FIFO Control/Status
		[31]	(RW) FIFO PCM In - Enable
		[30]	(RW) FIFO PCM In - Flush
		[29]    (R)  FIFO PCM In - Full
		[28]    (R)  FIFO PCM In - Empty
		[27:16]	(R)  FIFO PCM In - Level

		[15]    (RW) FIFO PCM Out - Enable
		[14]    (RW) FIFO PCM Out - Flush
		[13]    (R)  FIFO PCM Out - Full
		[12]    (R)  FIFO PCM Out - Empty
		[11:0]  (R)  FIFO PCM Out - Level