Files
tinygo/src/machine/machine_esp32s3_i2c.go
T
Dima 180220a2e3 Esp32s3 i2c interface (#5210)
* esp32s3-i2c implement interface

* esp32s3-i2c: disable m5stamp_c3

* added simple tests without Listen

* replace smoke tests

* esp32s3-i2c: fix allocation in tx
2026-04-05 14:15:40 +02:00

36 lines
592 B
Go

//go:build esp32s3
package machine
import (
"device/esp"
)
const (
I2CEXT0_SCL_OUT_IDX = 89
I2CEXT0_SDA_OUT_IDX = 90
I2CEXT1_SCL_OUT_IDX = 91
I2CEXT1_SDA_OUT_IDX = 92
)
var (
I2C0 = &I2C{
Bus: esp.I2C0,
funcSCL: I2CEXT0_SCL_OUT_IDX,
funcSDA: I2CEXT0_SDA_OUT_IDX,
useExt1: false,
}
I2C1 = &I2C{
Bus: esp.I2C1,
funcSCL: I2CEXT1_SCL_OUT_IDX,
funcSDA: I2CEXT1_SDA_OUT_IDX,
useExt1: true,
}
)
func initI2CExt1Clock() {
esp.SYSTEM.SetPERIP_RST_EN0_I2C_EXT1_RST(1)
esp.SYSTEM.SetPERIP_CLK_EN0_I2C_EXT1_CLK_EN(1)
esp.SYSTEM.SetPERIP_RST_EN0_I2C_EXT1_RST(0)
}