mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-04 02:57:46 +00:00
machine/samd21: I2C implementation
Signed-off-by: Ron Evans <ron@hybridgroup.com>
This commit is contained in:
committed by
Ayke van Laethem
parent
38c5e384af
commit
3ebf464da2
@@ -23,6 +23,7 @@ func init() {
|
||||
initClocks()
|
||||
initRTC()
|
||||
initUARTClock()
|
||||
initI2CClock()
|
||||
|
||||
// connect to UART
|
||||
machine.UART0.Configure(machine.UARTConfig{})
|
||||
@@ -306,3 +307,17 @@ func initUARTClock() {
|
||||
sam.GCLK_CLKCTRL_CLKEN)
|
||||
waitForSync()
|
||||
}
|
||||
|
||||
func initI2CClock() {
|
||||
// Turn on clock to SERCOM3 for I2C0
|
||||
sam.PM.APBCMASK |= sam.PM_APBCMASK_SERCOM3_
|
||||
|
||||
// Use GCLK0 for SERCOM3 aka I2C0
|
||||
// GCLK_CLKCTRL_ID( clockId ) | // Generic Clock 0 (SERCOMx)
|
||||
// GCLK_CLKCTRL_GEN_GCLK0 | // Generic Clock Generator 0 is source
|
||||
// GCLK_CLKCTRL_CLKEN ;
|
||||
sam.GCLK.CLKCTRL = sam.RegValue16((sam.GCLK_CLKCTRL_ID_SERCOM3_CORE << sam.GCLK_CLKCTRL_ID_Pos) |
|
||||
(sam.GCLK_CLKCTRL_GEN_GCLK0 << sam.GCLK_CLKCTRL_GEN_Pos) |
|
||||
sam.GCLK_CLKCTRL_CLKEN)
|
||||
waitForSync()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user