aboutsummaryrefslogtreecommitdiffstats
path: root/src/rp2040/gpio.h
diff options
context:
space:
mode:
authorLasse Dalegaard <dalegaard@gmail.com>2021-12-12 12:13:13 +0100
committerKevinOConnor <kevin@koconnor.net>2022-01-12 11:44:31 -0500
commit090fcf928fcbd36fa6e4e90fd6c52967ad5d420d (patch)
tree7aeca49a527af96df2b78f8409177557c2c8273d /src/rp2040/gpio.h
parent6e6ad7b5201d3452aa605f4ae852c51239c2c7d8 (diff)
downloadkutter-090fcf928fcbd36fa6e4e90fd6c52967ad5d420d.tar.gz
kutter-090fcf928fcbd36fa6e4e90fd6c52967ad5d420d.tar.xz
kutter-090fcf928fcbd36fa6e4e90fd6c52967ad5d420d.zip
rp2040: implement I2C
This implements I2C for the rp2040 target. All output groupings of both I2C blocks are available for use. Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
Diffstat (limited to 'src/rp2040/gpio.h')
-rw-r--r--src/rp2040/gpio.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rp2040/gpio.h b/src/rp2040/gpio.h
index 90680c6e..ae608378 100644
--- a/src/rp2040/gpio.h
+++ b/src/rp2040/gpio.h
@@ -44,4 +44,14 @@ void spi_prepare(struct spi_config config);
void spi_transfer(struct spi_config config, uint8_t receive_data
, uint8_t len, uint8_t *data);
+struct i2c_config {
+ void *i2c;
+ uint8_t addr;
+};
+
+struct i2c_config i2c_setup(uint32_t bus, uint32_t rate, uint8_t addr);
+void i2c_write(struct i2c_config config, uint8_t write_len, uint8_t *write);
+void i2c_read(struct i2c_config config, uint8_t reg_len, uint8_t *reg
+ , uint8_t read_len, uint8_t *read);
+
#endif // gpio.h