Commit Graph

6979 Commits

Author SHA1 Message Date
Kwabena W. Agyeman
89d60c8002 ports/stm32: Add missing init bits to fix glitches. 2025-06-23 14:40:11 -07:00
Kwabena W. Agyeman
1dece0b461 ports/stm32: Fully implement N6 GPU driver for draw_image. 2025-06-23 14:29:32 -07:00
Kwabena W. Agyeman
8f81f16963 ports/stm32: Fix NEMA GPU driver.
* You have to clean and invalidate the destination image so that
  the processor writes out the full image and so that the processor
  doesn't flush cache lines ontop of the GPU writing the image.
* The ICACHE doesn't automatically flush itself after a draw operation.
  Depending on the situation, it will just hold the entire source
  image internally and never read it again. In particular, when
  scaling something like 160x120 it just caches the whole image
  and never reads it again.
2025-06-23 12:34:41 -07:00
iabdalkader
43c6b6c5fd ports/stm32: Fix GPU drawing offset. 2025-06-23 12:34:41 -07:00
Ibrahim Abdelkader
899d645e69
Merge pull request #2727 from openmv/refactor_csi_i2c
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
misc: Refactor CSI I2C bus.
2025-06-23 15:23:29 +03:00
iabdalkader
b04f2fcf6a ports/all: Refactor CSI I2C bus.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 14:14:02 +02:00
iabdalkader
37327d27da drivers: Refactor CSI I2C bus.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 14:14:02 +02:00
iabdalkader
5933198a14 common/csi: Refactor CSI I2C bus.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 14:13:57 +02:00
Ibrahim Abdelkader
1701ec941d
Merge pull request #2726 from openmv/stm32_fix_pipes
ports/stm32: Reset pipes states on abort.
2025-06-23 14:22:09 +03:00
iabdalkader
e5178be046 ports/stm32: Reset pipes states on abort.
HAL STOP doesn't seem to do so.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 13:04:45 +02:00
Ibrahim Abdelkader
f3f7b0aa06
Merge pull request #2725 from openmv/refactor_csi
ports/all: Refactor CSI drivers.
2025-06-23 13:55:08 +03:00
iabdalkader
19f818c49f ports/alif: Refactor CSI.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:49:57 +02:00
iabdalkader
fef2e1dc8b ports/stm32: Refactor CSI.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:25 +02:00
iabdalkader
6cfd8dd82b ports/nrf: Refactor CSI. 2025-06-23 12:41:21 +02:00
iabdalkader
f1286053e9 ports/mimxrt: Refactor CSI.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
iabdalkader
7db2782d4b ports/rp2: Refactor csi.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
iabdalkader
eccbb62e1d drivers: Rename omv_csi_get_clk_frequency.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
iabdalkader
fe2e2cd82a common: Rename omv_csi_get_clk_frequency.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
Ibrahim Abdelkader
696c68c9af
Merge pull request #2719 from openmv/fix_n6_port
Some checks failed
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
ports/stm32: Fix N6 support.
2025-06-20 15:31:01 +03:00
iabdalkader
795a86e39d micropython: Update submodule.
Fix N6 flash layout.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-20 14:20:55 +02:00
iabdalkader
f2823a53c1 misc: Disable rtl-loop2_doloop for M55.
Current toolchains are broken.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-20 14:20:55 +02:00
iabdalkader
1864a85396 boards/OPENMV_N6: Reduce GC block size. 2025-06-20 14:20:55 +02:00
iabdalkader
b95089acac boards/OPENMV_N6: Update GPDMA channels.
MicroPython uses the first 7 channels (so far).

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-20 14:20:55 +02:00
Kwabena W. Agyeman
acd4506e5a ports/stm32: Fix missing sleep clocks.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-20 14:20:52 +02:00
Kwabena W. Agyeman
80f8b47526 boards/OPENMV_N6: Move memory addresses to secure memory. 2025-06-19 22:22:36 -07:00
Kwabena W. Agyeman
2297dedd80 boards/OPENMV_N6: Update MSC_BUF size to 4KB. 2025-06-19 20:07:28 -07:00
Ibrahim Abdelkader
5534b34880
Merge pull request #2603 from openmv/n6_port
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
ports/stm32: Add N6 support.
2025-06-19 17:47:33 +03:00
iabdalkader
deba7c05a6 modules/py_audio: Add support for MDF. 2025-06-19 16:24:38 +02:00
iabdalkader
2359a5c6d4 lib/stm32: Update N6 HAL conf.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-19 16:24:38 +02:00
iabdalkader
89f8bf5366 lib/cmsis/stm32: Load ram function section.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-19 16:24:38 +02:00
iabdalkader
6ac86edc64 lib/cmsis: Update N6 clock sources.
- Add MDF clock source.
- Set SDMMC1/2 clock source.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-19 16:24:38 +02:00
iabdalkader
c89e2c33a3 boards: Add OPENMV_N6 board.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-19 16:24:33 +02:00
iabdalkader
6793761eb8 ports/stm32: N6 support.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-19 16:13:14 +02:00
Ibrahim Abdelkader
18668c4d43
Merge pull request #2717 from openmv/update_micropython
micropython: Update submodule.
2025-06-19 17:13:00 +03:00
iabdalkader
cb253c7ce4 micropython: Update submodule.
Add N6 support.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-19 16:05:42 +02:00
Ibrahim Abdelkader
5c5946a944
Merge pull request #2713 from kwagyeman/kwabena/oled_display
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
scripts/libraries: Add support for the SSD1351 OLED display.
2025-06-18 22:54:11 +03:00
Kwabena W. Agyeman
d4ecba464c boards/OPENMV_RT1060: Enable ssd1351 driver for the RT1062. 2025-06-18 12:41:37 -07:00
Kwabena W. Agyeman
ea255e81ce scripts/examples: Add Joystick example for OLED shield. 2025-06-18 12:41:36 -07:00
Kwabena W. Agyeman
7e77155551 modules/py_spi_display: Reduce timeout from max to 5 seconds. 2025-06-18 12:39:20 -07:00
Kwabena W. Agyeman
73a73a0806 scripts/libraries: Add support for the SSD1351 OLED display. 2025-06-18 12:37:53 -07:00
Kwabena W. Agyeman
eb2276e476 modules: Update SPIDisplay to allow LCD controllers to override commands. 2025-06-18 12:37:51 -07:00
Kwabena W. Agyeman
0c85a5df9d boards/OPENMV_AE3: Enable SPI LCD module support. 2025-06-17 15:29:01 -07:00
Kwabena W. Agyeman
8c842d1306 ports/alif: Fix SPI default clock polarity to match other ports. 2025-06-17 15:29:01 -07:00
Ibrahim Abdelkader
40ebead707
Merge pull request #2715 from openmv/update_micropython
Some checks failed
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
micropython: Update submodule.
2025-06-17 20:01:12 +03:00
iabdalkader
ef44dbc03f micropython: Update submodule.
Add support for Alif machine_pin IRQ.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-17 18:28:50 +02:00
Ibrahim Abdelkader
a95ce57e16
Merge pull request #2714 from openmv/fix_alif_spi
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
ports/alif: Implement spi_transfer with poll and timeout.
2025-06-16 21:37:25 +03:00
iabdalkader
4c1e525d5a modules/spi_display: Disable SPI DMA mode if not supported.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-16 14:10:48 +02:00
iabdalkader
6261074439 ports/alif: Disable SPI DMA mode.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-16 14:10:43 +02:00
iabdalkader
c6e8b499b9 ports/alif: Implement spi_transfer with poll and timeout.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-16 14:01:39 +02:00
Ibrahim Abdelkader
5acf5baf92
Merge pull request #2710 from Sighthesia/patch-1
Some checks failed
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
ports: Add conditional compilation for py_fir_init0()
2025-06-12 10:29:27 +03:00