summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/boot/otprom_init.S16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/boot/otprom_init.S b/src/boot/otprom_init.S
index 61e82d34..430690a0 100644
--- a/src/boot/otprom_init.S
+++ b/src/boot/otprom_init.S
@@ -69,6 +69,18 @@ __sbe_config_reg:
.quad 0x000A800030000000
.endm
oos_start:
+#######################################################################################
+# UPDATE bits 30:31 of sbe message register : 0x50009 with 0b01 to indicate OTPROM Control
+#######################################################################################
+ lis r5 , 0x5 # load r5 with 0x00050000
+ lvd d2 , 0x9(r5) # loads data from 0x50009 to d2
+ ori r2 , r2 , 0x0001 # set bit 31 to 1
+
+ lis r6 , 0xFFFF # clear bit 30
+ ori r6 , r6 ,0xFFFD
+ and r2 , r2 , r6
+
+ stvd d2 , 0x9(r5) # store data back into 0x50009
oos_load_cfg_regs:
@@ -99,10 +111,10 @@ oos_load_cfg_regs:
oos_load_reg_addrs:
lis r4 , 0xA
- ori r4 , r4 , 0x0
+ #ori r4 , r4 , 0x0
stvd d0 , 1(r4) #Write reset reg . A0001
lis r5 , 0x5 #Check the validity of scratch reg and then program the bit rate div
- ori r5 , r5 , 0x0000
+ #ori r5 , r5 , 0x0000
lvd d2 , 0x3F(r5) #loads scratch_8 and updates R5 to scratch_1
bb0wi r2 , 1 , oos_load_const_brd #checks if valid bit (bit1) is 1 if yes continue else branch
lvd d2 , 0x39(r5)
OpenPOWER on IntegriCloud