Last active
December 18, 2015 18:09
-
-
Save pamaury/5823734 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/firmware/target/arm/imx233/debug-imx233.c b/firmware/target/arm/imx233/debug-imx233.c | |
index 76f2c6b..84d68a7 100644 | |
--- a/firmware/target/arm/imx233/debug-imx233.c | |
+++ b/firmware/target/arm/imx233/debug-imx233.c | |
@@ -537,13 +537,13 @@ bool dbg_hw_info_pinctrl(void) | |
} | |
} | |
-#if IMX233_SUBTARGET >= 3700 | |
struct | |
{ | |
const char *name; | |
volatile uint32_t *addr; | |
} dbg_ocotp[] = | |
{ | |
+#if IMX233_SUBTARGET >= 3700 | |
#define E(n,v) { .name = n, .addr = &v } | |
E("CUST0", HW_OCOTP_CUSTn(0)), E("CUST1", HW_OCOTP_CUSTn(1)), | |
E("CUST2", HW_OCOTP_CUSTn(2)), E("CUST0", HW_OCOTP_CUSTn(3)), | |
@@ -559,6 +559,23 @@ struct | |
E("ROM2", HW_OCOTP_ROMn(2)), E("ROM3", HW_OCOTP_ROMn(3)), | |
E("ROM4", HW_OCOTP_ROMn(4)), E("ROM5", HW_OCOTP_ROMn(5)), | |
E("ROM6", HW_OCOTP_ROMn(6)), E("ROM7", HW_OCOTP_ROMn(7)), | |
+#undef E | |
+#else | |
+#define E(n,v) { .name = n, .addr = &v } | |
+ E("LASERFUSE0", HW_RTC_LASERFUSEn(0)), | |
+ E("LASERFUSE1", HW_RTC_LASERFUSEn(1)), | |
+ E("LASERFUSE2", HW_RTC_LASERFUSEn(2)), | |
+ E("LASERFUSE3", HW_RTC_LASERFUSEn(3)), | |
+ E("LASERFUSE4", HW_RTC_LASERFUSEn(4)), | |
+ E("LASERFUSE5", HW_RTC_LASERFUSEn(5)), | |
+ E("LASERFUSE6", HW_RTC_LASERFUSEn(6)), | |
+ E("LASERFUSE7", HW_RTC_LASERFUSEn(7)), | |
+ E("LASERFUSE8", HW_RTC_LASERFUSEn(8)), | |
+ E("LASERFUSE9", HW_RTC_LASERFUSEn(9)), | |
+ E("LASERFUSE10", HW_RTC_LASERFUSEn(10)), | |
+ E("LASERFUSE11", HW_RTC_LASERFUSEn(11)), | |
+#undef E | |
+#endif | |
}; | |
bool dbg_hw_info_ocotp(void) | |
@@ -608,12 +625,6 @@ bool dbg_hw_info_ocotp(void) | |
yield(); | |
} | |
} | |
-#else | |
-bool dbg_hw_info_ocotp(void) | |
-{ | |
- return true; | |
-} | |
-#endif | |
bool dbg_hw_info_pwm(void) | |
{ | |
diff --git a/firmware/target/arm/imx233/ocotp-imx233.h b/firmware/target/arm/imx233/ocotp-imx233.h | |
index 635d7c9..cb1bced 100644 | |
--- a/firmware/target/arm/imx233/ocotp-imx233.h | |
+++ b/firmware/target/arm/imx233/ocotp-imx233.h | |
@@ -24,9 +24,12 @@ | |
#include "config.h" | |
#include "system.h" | |
-#include "regs/regs-ocotp.h" | |
+/** STMP3700 and over have OCOTP registers | |
+ * where STMP3600 has laser fuses. */ | |
#if IMX233_SUBTARGET >= 3700 | |
+#include "regs/regs-ocotp.h" | |
+ | |
#define IMX233_NUM_OCOTP_CUST 4 | |
#define IMX233_NUM_OCOTP_CRYPTO 4 | |
#define IMX233_NUM_OCOTP_HWCAP 6 | |
@@ -53,6 +56,15 @@ static inline uint32_t imx233_ocotp_read(volatile uint32_t *reg) | |
imx233_ocotp_open_banks(false); | |
return val; | |
} | |
+#else | |
+#include "regs/regs-rtc.h" | |
+ | |
+#define IMX233_NUM_OCOTP_LASERFUSE 12 | |
+ | |
+static inline uint32_t imx233_ocotp_read(volatile uint32_t *reg) | |
+{ | |
+ return *reg; | |
+} | |
#endif | |
#endif /* OCOTP_IMX233_H */ | |
diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c | |
index dbc9367..406f2a7 100644 | |
--- a/firmware/usbstack/usb_core.c | |
+++ b/firmware/usbstack/usb_core.c | |
@@ -333,7 +333,8 @@ static void set_serial_descriptor(void) | |
} | |
usb_string_iSerial.bLength = 36 + (2 * AS3514_UID_LEN); | |
} | |
-#elif (CONFIG_CPU == IMX233) | |
+#elif (CONFIG_CPU == IMX233) && IMX233_SUBTARGET >= 3700 | |
+// FIXME where is the STMP3600 serial number stored ? | |
static void set_serial_descriptor(void) | |
{ | |
short* p = &usb_string_iSerial.wString[1]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment