Merge pull request #10 from Kenthliu/master

Update sensor ID and FRU ID. Add power button. Workaround for NCT7904
diff --git a/bin/Barreleye.py b/bin/Barreleye.py
index 5b5a8df..45c8d68 100755
--- a/bin/Barreleye.py
+++ b/bin/Barreleye.py
@@ -113,8 +113,8 @@
 	},
 	'power_button' : {
 		'system_state'    : 'BMC_STARTING',
-		'start_process'   : False,
-		'monitor_process' : False,
+		'start_process'   : True,
+		'monitor_process' : True,
 		'process_name'    : 'button_power.exe',
 	},
 	'led_control' : {
@@ -262,15 +262,50 @@
 
 ID_LOOKUP = {
 	'FRU' : {
-		0x0d : '<inventory_root>/system/chassis',
-		0x34 : '<inventory_root>/system/chassis/motherboard',
+		0x03 : '<inventory_root>/system/chassis/motherboard',
 		0x01 : '<inventory_root>/system/chassis/motherboard/cpu0',
-		0x02 : '<inventory_root>/system/chassis/motherboard/centaur0',
-		0x03 : '<inventory_root>/system/chassis/motherboard/dimm0',
-		0x04 : '<inventory_root>/system/chassis/motherboard/dimm1',
-		0x05 : '<inventory_root>/system/chassis/motherboard/dimm2',
-		0x06 : '<inventory_root>/system/chassis/motherboard/dimm3',
-		0x35 : '<inventory_root>/system',
+                0x02 : '<inventory_root>/system/chassis/motherboard/cpu1',
+		0x04 : '<inventory_root>/system/chassis/motherboard/centaur0',
+                0x05 : '<inventory_root>/system/chassis/motherboard/centaur1',
+                0x06 : '<inventory_root>/system/chassis/motherboard/centaur2',
+                0x07 : '<inventory_root>/system/chassis/motherboard/centaur3',
+                0x08 : '<inventory_root>/system/chassis/motherboard/centaur4',
+                0x09 : '<inventory_root>/system/chassis/motherboard/centaur5',
+                0x0a : '<inventory_root>/system/chassis/motherboard/centaur6',
+                0x0b : '<inventory_root>/system/chassis/motherboard/centaur7',
+		0x0c : '<inventory_root>/system/chassis/motherboard/dimm0',
+		0x0d : '<inventory_root>/system/chassis/motherboard/dimm1',
+		0x0e : '<inventory_root>/system/chassis/motherboard/dimm2',
+		0x0f : '<inventory_root>/system/chassis/motherboard/dimm3',
+                0x10 : '<inventory_root>/system/chassis/motherboard/dimm4',
+                0x11 : '<inventory_root>/system/chassis/motherboard/dimm5',
+                0x12 : '<inventory_root>/system/chassis/motherboard/dimm6',
+                0x13 : '<inventory_root>/system/chassis/motherboard/dimm7',
+                0x14 : '<inventory_root>/system/chassis/motherboard/dimm8',
+                0x15 : '<inventory_root>/system/chassis/motherboard/dimm9',
+		0x16 : '<inventory_root>/system/chassis/motherboard/dimm10',
+		0x17 : '<inventory_root>/system/chassis/motherboard/dimm11',
+		0x18 : '<inventory_root>/system/chassis/motherboard/dimm12',
+		0x19 : '<inventory_root>/system/chassis/motherboard/dimm13',
+		0x1a : '<inventory_root>/system/chassis/motherboard/dimm14',
+		0x1b : '<inventory_root>/system/chassis/motherboard/dimm15',
+		0x1c : '<inventory_root>/system/chassis/motherboard/dimm16',
+		0x1d : '<inventory_root>/system/chassis/motherboard/dimm17',
+		0x1e : '<inventory_root>/system/chassis/motherboard/dimm18',
+		0x1f : '<inventory_root>/system/chassis/motherboard/dimm19',
+		0x20 : '<inventory_root>/system/chassis/motherboard/dimm20',
+                0x21 : '<inventory_root>/system/chassis/motherboard/dimm21',
+                0x22 : '<inventory_root>/system/chassis/motherboard/dimm22',
+                0x23 : '<inventory_root>/system/chassis/motherboard/dimm23',
+                0x24 : '<inventory_root>/system/chassis/motherboard/dimm24',
+                0x25 : '<inventory_root>/system/chassis/motherboard/dimm25',
+                0x26 : '<inventory_root>/system/chassis/motherboard/dimm26',
+                0x27 : '<inventory_root>/system/chassis/motherboard/dimm27',
+                0x28 : '<inventory_root>/system/chassis/motherboard/dimm28',
+                0x29 : '<inventory_root>/system/chassis/motherboard/dimm29',
+                0x2a : '<inventory_root>/system/chassis/motherboard/dimm30',
+                0x2b : '<inventory_root>/system/chassis/motherboard/dimm31',
+		0x33 : '<inventory_root>/system',
 	},
 	'FRU_STR' : {
 		'PRODUCT_15' : '<inventory_root>/system',
@@ -283,24 +318,73 @@
 		'PRODUCT_6'   : '<inventory_root>/system/chassis/motherboard/dimm3',
 	},
 	'SENSOR' : {
-		0x2f : '<inventory_root>/system/chassis/motherboard/cpu0',
-		0x22 : '<inventory_root>/system/chassis/motherboard/cpu0/core0',
-		0x23 : '<inventory_root>/system/chassis/motherboard/cpu0/core1',
-		0x24 : '<inventory_root>/system/chassis/motherboard/cpu0/core2',
-		0x25 : '<inventory_root>/system/chassis/motherboard/cpu0/core3',
-		0x26 : '<inventory_root>/system/chassis/motherboard/cpu0/core4',
-		0x27 : '<inventory_root>/system/chassis/motherboard/cpu0/core5',
-		0x28 : '<inventory_root>/system/chassis/motherboard/cpu0/core6',
-		0x29 : '<inventory_root>/system/chassis/motherboard/cpu0/core7',
-		0x2a : '<inventory_root>/system/chassis/motherboard/cpu0/core8',
-		0x2b : '<inventory_root>/system/chassis/motherboard/cpu0/core9',
-		0x2c : '<inventory_root>/system/chassis/motherboard/cpu0/core10',
-		0x2d : '<inventory_root>/system/chassis/motherboard/cpu0/core11',
-		0x2e : '<inventory_root>/system/chassis/motherboard/centaur0',
-		0x1e : '<inventory_root>/system/chassis/motherboard/dimm0',
-		0x1f : '<inventory_root>/system/chassis/motherboard/dimm1',
-		0x20 : '<inventory_root>/system/chassis/motherboard/dimm2',
-		0x21 : '<inventory_root>/system/chassis/motherboard/dimm3',
+                0x34 : '<inventory_root>/system/chassis/motherboard',
+		0x0c : '<inventory_root>/system/chassis/motherboard/cpu0',
+                0x0e : '<inventory_root>/system/chassis/motherboard/cpu1',
+		0xc8 : '<inventory_root>/system/chassis/motherboard/cpu0/core0',
+		0xc9 : '<inventory_root>/system/chassis/motherboard/cpu0/core1',
+		0xca : '<inventory_root>/system/chassis/motherboard/cpu0/core2',
+		0xcb : '<inventory_root>/system/chassis/motherboard/cpu0/core3',
+		0xcc : '<inventory_root>/system/chassis/motherboard/cpu0/core4',
+		0xcd : '<inventory_root>/system/chassis/motherboard/cpu0/core5',
+		0xce : '<inventory_root>/system/chassis/motherboard/cpu0/core6',
+		0xcf : '<inventory_root>/system/chassis/motherboard/cpu0/core7',
+		0xd0 : '<inventory_root>/system/chassis/motherboard/cpu0/core8',
+		0xd1 : '<inventory_root>/system/chassis/motherboard/cpu0/core9',
+		0xd2 : '<inventory_root>/system/chassis/motherboard/cpu0/core10',
+		0xd3 : '<inventory_root>/system/chassis/motherboard/cpu0/core11',
+                0xd4 : '<inventory_root>/system/chassis/motherboard/cpu0/core12',
+                0xd5 : '<inventory_root>/system/chassis/motherboard/cpu0/core13',
+                0xd6 : '<inventory_root>/system/chassis/motherboard/cpu0/core14',
+                0xd7 : '<inventory_root>/system/chassis/motherboard/cpu0/core15',
+                0xd8 : '<inventory_root>/system/chassis/motherboard/cpu0/core16',
+                0xd9 : '<inventory_root>/system/chassis/motherboard/cpu0/core17',
+                0xda : '<inventory_root>/system/chassis/motherboard/cpu0/core18',
+                0xdb : '<inventory_root>/system/chassis/motherboard/cpu0/core19',
+                0xdc : '<inventory_root>/system/chassis/motherboard/cpu0/core20',
+                0xdd : '<inventory_root>/system/chassis/motherboard/cpu0/core21',
+                0xde : '<inventory_root>/system/chassis/motherboard/cpu0/core22',
+                0xdf : '<inventory_root>/system/chassis/motherboard/cpu0/core23',
+		0x40 : '<inventory_root>/system/chassis/motherboard/centaur0',
+    	        0x41 : '<inventory_root>/system/chassis/motherboard/centaur1',
+       		0x42 : '<inventory_root>/system/chassis/motherboard/centaur2',
+       		0x43 : '<inventory_root>/system/chassis/motherboard/centaur3',
+       		0x44 : '<inventory_root>/system/chassis/motherboard/centaur4',
+                0x45 : '<inventory_root>/system/chassis/motherboard/centaur5',
+                0x46 : '<inventory_root>/system/chassis/motherboard/centaur6',
+                0x47 : '<inventory_root>/system/chassis/motherboard/centaur7',
+		0x10 : '<inventory_root>/system/chassis/motherboard/dimm0',
+		0x11 : '<inventory_root>/system/chassis/motherboard/dimm1',
+		0x12 : '<inventory_root>/system/chassis/motherboard/dimm2',
+		0x13 : '<inventory_root>/system/chassis/motherboard/dimm3',
+                0x14 : '<inventory_root>/system/chassis/motherboard/dimm4',
+                0x15 : '<inventory_root>/system/chassis/motherboard/dimm5',
+                0x16 : '<inventory_root>/system/chassis/motherboard/dimm6',
+                0x17 : '<inventory_root>/system/chassis/motherboard/dimm7',
+                0x18 : '<inventory_root>/system/chassis/motherboard/dimm8',
+                0x19 : '<inventory_root>/system/chassis/motherboard/dimm9',
+                0x1a : '<inventory_root>/system/chassis/motherboard/dimm10',
+                0x1b : '<inventory_root>/system/chassis/motherboard/dimm11',
+                0x1c : '<inventory_root>/system/chassis/motherboard/dimm12',
+                0x1d : '<inventory_root>/system/chassis/motherboard/dimm13',
+                0x1e : '<inventory_root>/system/chassis/motherboard/dimm14',
+                0x1f : '<inventory_root>/system/chassis/motherboard/dimm15',
+                0x20 : '<inventory_root>/system/chassis/motherboard/dimm16',
+                0x21 : '<inventory_root>/system/chassis/motherboard/dimm17',
+                0x22 : '<inventory_root>/system/chassis/motherboard/dimm18',
+                0x23 : '<inventory_root>/system/chassis/motherboard/dimm19',
+                0x24 : '<inventory_root>/system/chassis/motherboard/dimm20',
+                0x25 : '<inventory_root>/system/chassis/motherboard/dimm21',
+                0x26 : '<inventory_root>/system/chassis/motherboard/dimm22',
+                0x27 : '<inventory_root>/system/chassis/motherboard/dimm23',
+                0x28 : '<inventory_root>/system/chassis/motherboard/dimm24',
+                0x29 : '<inventory_root>/system/chassis/motherboard/dimm25',
+                0x2a : '<inventory_root>/system/chassis/motherboard/dimm26',
+                0x2b : '<inventory_root>/system/chassis/motherboard/dimm27',
+                0x2c : '<inventory_root>/system/chassis/motherboard/dimm28',
+                0x2d : '<inventory_root>/system/chassis/motherboard/dimm29',
+                0x2e : '<inventory_root>/system/chassis/motherboard/dimm30',
+                0x2f : '<inventory_root>/system/chassis/motherboard/dimm31',	
 		0x09 : '/org/openbmc/sensor/virtual/BootCount',
 		0x05 : '/org/openbmc/sensor/virtual/BootProgress',
 		0x04 : '/org/openbmc/sensor/virtual/HostStatus',
diff --git a/bin/startup_hacks.sh b/bin/startup_hacks.sh
index 18582ae..b55fb13 100755
--- a/bin/startup_hacks.sh
+++ b/bin/startup_hacks.sh
@@ -2,3 +2,6 @@
 
 systemctl stop serial-getty@ttyS0
 
+echo nct7904 0x2d > /sys/bus/i2c/devices/i2c-6/new_device
+echo nct7904 0x2e > /sys/bus/i2c/devices/i2c-6/new_device
+