Skip to content
Snippets Groups Projects
Commit fde287b0 authored by Paulus Kruger's avatar Paulus Kruger
Browse files

APSPU CRC and FAN init, UNB2 I2C setup on startup

parent 79fca3e5
No related branches found
No related tags found
No related merge requests found
Pipeline #22538 passed
......@@ -25,20 +25,48 @@ device_registers:
- name: Serial
address: 0x20
- name: POL_LBA
address: 0x3C
driver: i2c_smbus
registers:
- { name: "TEMP", address: 0x8D, crc: True}
- { name: "VIN" , address: 0x88, crc: True}
- { name: "VOUT", address: 0x8B, crc: True}
- { name: "IOUT", address: 0x8C, crc: True}
- name: POL_RCU2A
address: 0x3D
driver: i2c_smbus
registers:
- { name: "TEMP", address: 0x8D, crc: True}
- { name: "VIN" , address: 0x88, crc: True}
- { name: "VOUT", address: 0x8B, crc: True}
- { name: "IOUT", address: 0x8C, crc: True}
- name: POL_RCU2D
address: 0x3E
driver: i2c_smbus
registers:
- { name: "TEMP", address: 0x8D, crc: True}
- { name: "VIN" , address: 0x88, crc: True}
- { name: "VOUT", address: 0x8B, crc: True}
- { name: "IOUT", address: 0x8C, crc: True}
- name: MAX
description: MAX6620 fan speed controller
address: 0x29
driver: I2C_PU
registers:
- name: GLOBAL
address: 0x00
- name: TACH1
address: 0x10
- name: TACH2
address: 0x12
- name: TACH3
address: 0x14
- { name: GLOBAL, address: 0x00}
- { name: TACH1, address: 0x10}
- { name: TACH2, address: 0x12}
- { name: TACH3, address: 0x14}
- { name: r2, address: 0x2}
- { name: r3, address: 0x3}
- { name: r4, address: 0x4}
- { name: r5, address: 0x5}
- { name: r6, address: 0x6}
- { name: r7, address: 0x7}
- { name: r8, address: 0x8}
variables:
......@@ -82,10 +110,9 @@ variables:
rw: ro
dtype: string
- name: [APSPU_LBA_VOUT,APSPU_RCU2A_VOUT,APSPU_RCU2D_VOUT]
driver: I2C_PU
devreg: [0x3C.0x8B,0x3D.0x8B,0x3E.0x8B]
devreg: [POL_LBA.VOUT,POL_RCU2A.VOUT,POL_RCU2D.VOUT]
width: 16
rw: ro
dtype: double
......@@ -95,7 +122,7 @@ variables:
- name: [APSPU_LBA_IOUT,APSPU_RCU2A_IOUT,APSPU_RCU2D_IOUT]
driver: I2C_PU
devreg: [0x3C.0x8C,0x3D.0x8C,0x3E.0x8C]
devreg: [POL_LBA.IOUT,POL_RCU2A.IOUT,POL_RCU2D.IOUT]
width: 16
rw: ro
dtype: double
......@@ -104,7 +131,7 @@ variables:
- name: [APSPU_LBA_TEMP,APSPU_RCU2A_TEMP,APSPU_RCU2D_TEMP]
driver: I2C_PU
devreg: [0x3C.0x8D,0x3D.0x8D,0x3E.0x8D]
devreg: [POL_LBA.TEMP,POL_RCU2A.TEMP,POL_RCU2D.TEMP]
width: 16
rw: ro
dtype: double
......@@ -131,15 +158,16 @@ methods:
- APSPU_PCB_ID : Update
- APSPU_PCB_version : Update
- APSPU_PCB_number : Update
- APSPU_FAN_monitor_on : 0
- name: APSPU_FAN_monitor_on
description: Setup the FAN monitor to give RPM
driver: I2C_PU
instructions:
- MAX.GLOBAL : 0x02; #Run monitor
- MAX.0x02 : 0x88;
- MAX.0x06 : 0x80; # int((math.log(TACH_PERIODS{16}) / math.log(2))) << 5,
- MAX.0x03 : 0x88;
- MAX.0x07 : 0x80;
- MAX.0x04 : 0x88;
- MAX.0x08 : 0x80;
- MAX.GLOBAL : 0x02 #Run monitor
- MAX.r2 : 0x88
- MAX.r6 : 0x80 # int((math.log(TACH_PERIODS{16}) / math.log(2))) << 5,
- MAX.r3 : 0x88
- MAX.r7 : 0x80
- MAX.r4 : 0x88
- MAX.r8 : 0x80
......@@ -483,9 +483,11 @@ methods:
debug: True
instructions:
- UNB2TR_I2C_error: 0
- UNB2_I2C_enabled: 1 #Make sure I2C switches are enabled
- UNB2_PCB_ID: Update
- UNB2_PCB_version: Update
- UNB2_PCB_number: Update
# - FP_IO.CONF: 0xf8 #bit 0-2 output for LED
- UNB2_Front_Panel_LED_colour: Update
- UNB2_PWR_on: Update
......
......@@ -290,7 +290,8 @@ class i2c_dev(hwdev):
callback(0,[devreg['wait']],read=3)
if not(callback(devreg['addr'],value2,read=1)): return False;
else:
if not(callback(devreg['addr'],value2,reg=reg,read=1)): return False;
rd=(5 if devreg.get('crc') else 1)
if not(callback(devreg['addr'],value2,reg=reg,read=rd)): return False;
if value2[0] is None: return False
value[:]=value2[:];
if devreg.get('store'):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment