From: Jonathan McDowell <noodles@earth.li>
Date: Sun, 11 Jul 2021 16:16:10 +0000 (+0100)
Subject: Update for SDK 3.0.4
X-Git-Url: https://the.earth.li/gitweb/?a=commitdiff_plain;ds=sidebyside;p=esp8266-clock.git

Update for SDK 3.0.4

Add missing crypto library for linking, remove stdbool as it conflicts
with c_types from the SDK and include the user_pre_init() setup function
now required.
---

diff --git a/Makefile b/Makefile
index 572e7a3..401642a 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ LD = xtensa-lx106-elf-gcc
 OBJCOPY = xtensa-lx106-elf-objcopy
 OBJDUMP = xtensa-lx106-elf-objdump
 
-LIBS = -lc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain
+LIBS = -lc -lcrypto -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain
 
 CFLAGS = -Wall -Os -fno-inline-functions -mlongcalls -DICACHE_FLASH -I. \
 	 -I$(SDKDIR)/xtensa-lx106-elf/include
diff --git a/max7219.c b/max7219.c
index 0aa7bd6..3793d63 100644
--- a/max7219.c
+++ b/max7219.c
@@ -14,7 +14,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include <stdbool.h>
 #include <stdint.h>
 #include <stdlib.h>
 
diff --git a/user_main.c b/user_main.c
index 26150f8..8bd1628 100644
--- a/user_main.c
+++ b/user_main.c
@@ -144,6 +144,42 @@ void ICACHE_FLASH_ATTR wifi_init(void)
 	wifi_set_event_handler_cb(wifi_callback);
 }
 
+#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM SYSTEM_PARTITION_CUSTOMER_BEGIN
+
+void user_pre_init(void)
+{
+	partition_item_t p_table[] = {
+		{ SYSTEM_PARTITION_BOOTLOADER,		0x00000, 0x01000 },
+		{ SYSTEM_PARTITION_OTA_1,		0x01000, 0x76000 },
+		{ SYSTEM_PARTITION_OTA_2,		0x81000, 0x76000 },
+		{ SYSTEM_PARTITION_RF_CAL,		0xFB000, 0x01000 },
+		{ SYSTEM_PARTITION_PHY_DATA,		0xFC000, 0x01000 },
+		{ SYSTEM_PARTITION_SYSTEM_PARAMETER,	0xFD000, 0x03000 },
+	};
+	uint32_t map = system_get_flash_size_map();
+
+	switch (map) {
+	case FLASH_SIZE_8M_MAP_512_512: /* 1MB /  8Mb */
+		break;
+	case FLASH_SIZE_32M_MAP_512_512: /* 4MB / 32Mb */
+		/* Fix up system partition table bits */
+		p_table[5].addr += 0x300000;
+		p_table[6].addr += 0x300000;
+		p_table[7].addr += 0x300000;
+		break;
+	default:
+		os_printf("Unknown flash map %u\n", map);
+		while(1) ;
+	}
+
+	if (!system_partition_table_regist(p_table,
+				sizeof(p_table)/sizeof(p_table[0]),
+				map)) {
+		os_printf("system_partition_table_regist fail\n");
+		while(1);
+	}
+}
+
 void user_init(void)
 {
 	/* Fix up UART0 baud rate */