esp32: psram invalid pin on original pins if remaped
I make own build with PSRAM remaped to PINs 32,33 (because original setting has colision with pin 17 used for LAN CLK-IN).
But compared to version 1.14 witih SDK 3.3.2 of uPy I can not use those 16 and 17 pins now, because it claim them as "invalid pin"
diff to SDKconfig
+CONFIG_D0WD_PSRAM_CLK_IO=33
+CONFIG_D0WD_PSRAM_CS_IO=32
>>> machine.Pin(16)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid pin
but RAM itself works fine
>>> gc.mem_free()
4096416
of course, if I will use Pin.(33) or (32) program will crash due overlap with RAM
>>> machine.Pin(32,machine.Pin.OUT)
Pin(32)
>>>
>>>
>>> ����������������
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
But I can not find part of code which should mark those pins (32,33) as invalid instead of original (16,17)
Do not know if that is BUG of uPy 1.17 or ESP_IDF SDK 4.3
Both works fine in uPy 1.14 with SDK 3.3.2
ports/esp32: Block out IO16 and IO17 when using SPIRAM to prevent crash.
If you try to use IO16/17 on a board with PSRAM on it, it will crash. So this PR blocked them out if the firmware supports PSRAM.
I also added IO46 to the interrupt pin list for ESP32-S3.