summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-01-30 21:51:51 -0700
committerGitHub <noreply@github.com>2020-01-30 21:51:51 -0700
commitaecdf67609cb4c81c015ecc95fad7210ac2acad9 (patch)
treeea7ca06b53c0e546616915db80302900f6920f79 /libs
parent3479bccff3e1a45efefdd5bc178a97d4f43b18cf (diff)
downloadbcm5719-ortega-aecdf67609cb4c81c015ecc95fad7210ac2acad9.tar.gz
bcm5719-ortega-aecdf67609cb4c81c015ecc95fad7210ac2acad9.zip
nvm: When exiting bitbang mode, ensure the bit is clear in NvmCfg1. (#20)
Diffstat (limited to 'libs')
-rw-r--r--libs/NVRam/bitbang.c3
-rw-r--r--libs/NVRam/nvm.c13
2 files changed, 10 insertions, 6 deletions
diff --git a/libs/NVRam/bitbang.c b/libs/NVRam/bitbang.c
index 5d01d9d..0e8e67d 100644
--- a/libs/NVRam/bitbang.c
+++ b/libs/NVRam/bitbang.c
@@ -178,7 +178,8 @@ bool NVRam_sendAndGetBytes(uint8_t send_bytes[], uint8_t get_bytes[], int32_t nu
get_bytes[i] = NVRAM_sendAndGetByte(send_bytes[i]);
}
- // Restore Cfg1.
+ // Restore Cfg1, ensuring bitbang mode is disabled.
+ cfg1_orig.bits.BitbangMode = 0;
NVM.NvmCfg1.r32 = cfg1_orig.r32;
NVRam_disable();
diff --git a/libs/NVRam/nvm.c b/libs/NVRam/nvm.c
index 9604b4b..b3068ba 100644
--- a/libs/NVRam/nvm.c
+++ b/libs/NVRam/nvm.c
@@ -55,16 +55,19 @@
#ifdef CXX_SIMULATOR
#include <arpa/inet.h>
+/* Host */
#define REQ ReqSet1
#define CLR ReqClr1
#define WON ArbWon1
-#elif __arm__ /* APE */
+#elif __arm__
+/* APE Firmware */
#define ntohl(__x__) (__x__) /* Todo: swap */
#define htonl(__x__) (__x__) /* Todo: swap */
-#define REQ ReqSet0
-#define CLR ReqClr0
-#define WON ArbWon0
-#else /* RX CPU Firmware */
+#define REQ ReqSet2
+#define CLR ReqClr2
+#define WON ArbWon2
+#else
+/* RX CPU Firmware */
#define ntohl(__x__) (__x__)
#define htonl(__x__) (__x__)
#define REQ ReqSet0
OpenPOWER on IntegriCloud