samd/machine_i2c_target: Support I2C target mode.

Supporting readfrom_mem*(). writeto_mem() and a set of IRQs.  Enabled by
default for SAMD51 devices and SAMD21 devices with external flash.

Tested with ItsyBitsy M4 and ItsyBitsy M0 with both on-board SoftI2C and a
RP2 Pico as controller.

Signed-off-by: Damien George <damien@micropython.org>
Signed-off-by: robert-hh <robert@hammelrath.com>
This commit is contained in:
robert-hh
2025-06-05 20:48:25 +02:00
committed by Damien George
parent 5c78762c16
commit 79d182deb2
10 changed files with 259 additions and 26 deletions

View File

@@ -100,3 +100,5 @@ adc_config_t get_adc_config(int pin_id, int32_t flag);
pwm_config_t get_pwm_config(int pin_id, int wanted_dev, uint8_t used_dev[]);
const machine_pin_obj_t *pin_find_by_id(int pin_id);
const machine_pin_obj_t *pin_find(mp_obj_t pin);
uint8_t pin_config_for_i2c(mp_obj_t pin_obj, uint8_t id, uint8_t pad_nr);