TS-7680 Syscon

From Technologic Systems Manuals

All of the registers below are 8 bits wide and are accessed through the I2C interface. The FPGA is located at 7 bit address 0x28 on the linux device /dev/i2c-0. Accessing registers can either be done directly via tshwctl with the --peek and --poke options, using tshwctl options to abstract some of the access details away, or directly accessing and manipulating the linux I2C device. See the tshwctl sources for an example of how this is implemented


Offset GPIO # Bits Usage [Initial value/MUX]
0x0
192 7:2 FPGA_22 Crossbar [GPIO] (RW)
1 FPGA_22 value [0] (RW)
0 FPGA_22 output enable [0] (RW)
0x1
193 7:2 FPGA_23 Crossbar [GPIO] (RW)
1 FPGA_23 value [0] (RW)
0 FPGA_23 output enable [0] (RW)
0x2
194 7:2 FPGA_24 Crossbar [GPIO] (RW)
1 FPGA_24 value [0] (RW)
0 FPGA_24 output enable [0] (RW)
0x3
195 7:2 FPGA_25 Crossbar [GPIO] (RW)
1 FPGA_25 value [0] (RW)
0 FPGA_25 output enable [0] (RW)
0x4
196 7:2 FPGA_26 Crossbar [GPIO] (RW)
1 FPGA_26 value [0] (RW)
0 FPGA_26 output enable [0] (RW)
0x5
197 7:2 FPGA_27 Crossbar [GPIO] (RW)
1 FPGA_27 value [0] (RW)
0 FPGA_27 output enable [0] (RW)
0x6
198 7:2 FPGA_28 Crossbar [GPIO] (RW)
1 FPGA_28 value [0] (RW)
0 FPGA_28 output enable [0] (RW)
0x7
199 7:2 FPGA_29 Crossbar [GPIO] (RW)
1 FPGA_29 value [0] (RW)
0 FPGA_29 output enable [0] (RW)
0x8
200 7:2 FPGA_30 Crossbar [GPIO] (RW)
1 FPGA_30 value [0] (RW)
0 FPGA_30 output enable [0] (RW)
0x9
201 7:2 FPGA_31 Crossbar [GPIO] (RW)
1 FPGA_31 value [0] (RW)
0 FPGA_31 output enable [0] (RW)
0xA
202 7:2 FPGA_32 Crossbar [GPIO] (RW)
1 FPGA_32 value [0] (RW)
0 FPGA_32 output enable [0] (RW)
0xB
203 7:2 FPGA_33 Crossbar [GPIO] (RW)
1 FPGA_33 value [0] (RW)
0 FPGA_33 output enable [0] (RW)
0xC
204 7:2 FPGA_34 Crossbar [GPIO] (RW)
1 FPGA_34 value [0] (RW)
0 FPGA_34 output enable [0] (RW)
0xD
205 7:2 FPGA_35 Crossbar [GPIO] (RW)
1 FPGA_35 value [0] (RW)
0 FPGA_35 output enable [0] (RW)
0xE
N/A 7:4 Reserved
3 DIG_IN 5V (RO)
2 DIO_2_IN (RO)
1 DIO_1_IN (RO)
0 DIO_0_IN (RO)
0xF
207 7:2 Reserved
1 Enable LS_DIO_0 value [0] (RW)
0 Reserved
0x10
208 7:2 Reserved
1 Enable LS_DIO_1 value [0] (RW)
0 Reserved
0x11
209 7:2 Reserved
1 Enable LS_DIO_2 value [0] (RW)
0 Reserved
0x12
210 7:2 Reserved
1 Enable Relay 1 [0] (RW)
0 Reserved
0x13
211 7:2 Reserved
1 Enable Relay 2 [0] (RW)
0 Reserved
0x14
N/A 7:2 DC TXD Crossbar [Unassigned] (RW)
1 DC TXD value [0] (RW)
0 Reserved
0x15
N/A 7:2 COM1 TXD Crossbar [UART1_TXD] (RW)
1 COM1 TXD value [0] (RW)
0 Reserved
0x16
N/A 7:2 COM2 TXD Crossbar [UART4_TXD] (RW)
1 COM2 TXD value [0] (RW)
0 Reserved
0x17
N/A 7:2 MODBUS TXD Crossbar [UART2_TXD] (RW)
1 MODBUS TXD value [0] (RW)
0 Reserved
0x18
N/A 7:2 MODBUS TXEN Crossbar [UART2_TXEN] (RW)
1 MODBUS TXEN value [0] (RW)
0 Reserved
0x19
N/A 7:2 RS-485 TXD Crossbar [UART3_TXD] (RW)
1 RS-485 TXD value [0] (RW)
0 Reserved
0x1A
N/A 7:2 RS-485 TXEN Crossbar [UART3_TXEN] (RW)
1 RS-485 TXEN value [0] (RW)
0 Reserved
0x1B
N/A 7:2 Bluetooth RXD Crossbar [UART0_TXD] (RW)
1 Bluetooth RXD value [0] (RW)
0 Reserved
0x1C
N/A 7:2 Bluetooth CTS Crossbar [UART0_RTS] (RW)
1 Bluetooth CTS value [0] (RW)
0 Reserved
0x1D
N/A 7:2 UART0 RXD Crossbar [BT_TXD] (RW)
1 UART0 RXD value [0] (RW)
0 Reserved
0x1E
N/A 7:2 UART0 CTS Crossbar [BT_RTS] (RW)
1 UART0 CTS value [0] (RW)
0 Reserved
0x1F
N/A 7:2 UART1 RXD Crossbar [COM1_RXD] (RW)
1 UART1 RXD value [0] (RW)
0 Reserved
0x20
N/A 7:2 UART2 RXD Crossbar [MODBUS_RXD] (RW)
1 UART2 RXD value [0] (RW)
0 Reserved
0x21
N/A 7:2 UART3 RXD Crossbar [RS_485_RXD] (RW)
1 UART3 RXD value [0] (RW)
0 Reserved
0x22
N/A 7:2 UART4 RXD Crossbar [COM2_RXD] (RW)
1 UART4 RXD value [0] (RW)
0 Reserved
0x23
227 7:2 Reserved
1 En.# pullup AD0 [1] (RW)
0 Reserved
0x24
228 7:2 Reserved
1 En.# pullup AD1 [1] (RW)
0 Reserved
0x25
229 7:2 Reserved
1 En.# pullup AD2 [1] (RW)
0 Reserved
0x26
230 7:2 Reserved
1 En.# pullup AD3 [1] (RW)
0 Reserved
0x27
231 7:2 Reserved
1 En. Current loop AD 0-1 [0] (RW)
0 Reserved
0x28
232 7:2 Reserved
1 En. Current loop AD 2-3 [0] (RW)
0 Reserved
0x29
233 7:2 Reserved
1 En. 5v on DC header [0] (RW)
0 Reserved
0x2A
N/A 7:3 Reserved
2 Disable SPI interface (en. UART2 & 3) [0] (RW)
1 Boot SPI select; 0: offbd, 1: onbd [0] (RW)
0 Override automatic Boot SPI select [0] (RW)
0x2B
235 7:2 Reserved
1 Ethernet reset# [0] (RW)
0 Reserved
0x2C
236 7:2 Reserved
1 WLAN En. [0] (RW)
0 Reserved
0x2D
237 7:2 Reserved
1 Bluetooth En. [0] (RW)
0 Reserved
0x2E
N/A 7:4 Unused
3:0 Bits 11:8 of DAC0 PWM value [0] (RW)[1]
0x2F N/A 7:0 Bits 7:0 of DAC0 PWM value [0] (RW)
0x30
N/A 7:4 Unused
3:0 Bits 11:8 of DAC1 PWM value [0] (RW)[1]
0x31 N/A 7:0 Bits 7:0 of DAC1 PWM value [0] (RW)
0x32
N/A 7:4 Unused
3:0 Bits 11:8 of DAC2 PWM value [0] (RW)[1]
0x33 N/A 7:0 Bits 7:0 of DAC02 PWM value [0] (RW)
0x34
N/A 7:4 Unused
3:0 Bits 11:8 of DAC3 PWM value [0] (RW)[1]
0x35 N/A 7:0 Bits 7:0 of DAC3 PWM value [0] (RW)
0x36 N/A 7:0 Bits 23:16 of auto-485 #0 counter #0 [0] (RW)[1][2]
0x37 N/A 7:0 Bits 15:8 of auto-485 #0 counter #0 [0] (RW)[1][2]
0x38 N/A 7:0 Bits 7:0 of auto-485 #0 counter #0 [0] (RW)[2]
0x39 N/A 7:0 Bits 23:16 of auto-485 #0 counter #1 [0] (RW)[1][3]
0x3A N/A 7:0 Bits 15:8 of auto-485 #0 counter #1 [0] (RW)[1][3]
0x3B N/A 7:0 Bits 7:0 of auto-485 #0 counter #1 [0] (RW)[3]
0x3C N/A 7:0 Bits 23:16 of auto-485 #1 counter #0 [0] (RW)[1][2]
0x3D N/A 7:0 Bits 15:8 of auto-485 #1 counter #0 [0] (RW)[1][2]
0x3E N/A 7:0 Bits 7:0 of auto-485 #1 counter #0 [0] (RW)[2]
0x3F N/A 7:0 Bits 23:16 of auto-485 #1 counter #1 [0] (RW)[1][3]
0x40 N/A 7:0 Bits 15:8 of auto-485 #1 counter #1 [0] (RW)[1][3]
0x41 N/A 7:0 Bits 7:0 of auto-485 #1 counter #1 [0] (RW)[3]
0x42 N/A 7:0 Bits 23:16 of auto-485 #2 counter #0 [0] (RW)[1][2]
0x43 N/A 7:0 Bits 15:8 of auto-485 #2 counter #0 [0] (RW)[1][2]
0x44 N/A 7:0 Bits 7:0 of auto-485 #2 counter #0 [0] (RW)[2]
0x45 N/A 7:0 Bits 23:16 of auto-485 #2 counter #1 [0] (RW)[1][3]
0x46 N/A 7:0 Bits 15:8 of auto-485 #2 counter #1 [0] (RW)[1][3]
0x47 N/A 7:0 Bits 7:0 of auto-485 #2 counter #1 [0] (RW)[3]
0x48 N/A 7:0 Bits 23:16 of auto-485 #3 counter #0 [0] (RW)[1][2]
0x49 N/A 7:0 Bits 15:8 of auto-485 #3 counter #0 [0] (RW)[1][2]
0x4A N/A 7:0 Bits 7:0 of auto-485 #3 counter #0 [0] (RW)[2]
0x4B N/A 7:0 Bits 23:16 of auto-485 #3 counter #1 [0] (RW)[1][3]
0x4C N/A 7:0 Bits 15:8 of auto-485 #3 counter #1 [0] (RW)[1][3]
0x4D N/A 7:0 Bits 7:0 of auto-485 #3 counter #1 [0] (RW)[3]
0x4E N/A 7:0 Bits 23:16 of auto-485 #4 counter #0 [0] (RW)[1][2]
0x4F N/A 7:0 Bits 15:8 of auto-485 #4 counter #0 [0] (RW)[1][2]
0x50 N/A 7:0 Bits 7:0 of auto-485 #4 counter #0 [0] (RW)[2]
0x51 N/A 7:0 Bits 23:16 of auto-485 #4 counter #1 [0] (RW)[1][3]
0x52 N/A 7:0 Bits 15:8 of auto-485 #4 counter #1 [0] (RW)[1][3]
0x53 N/A 7:0 Bits 7:0 of auto-485 #4 counter #1 [0] (RW)[3]
0x7E
NA 7:3 Reserved
2 WiFi Module present
1:0 Reserved
0x7F NA 7:0 FPGA Revision
  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 MUST be written before bits 7:0
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 Value of counter #0 must be set to count to the mid-point of the stop bit based on a 25MHz clock
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 Value of counter #1 must be set to count to one-half bit time based on a 25MHz clock