aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/runtime/runtime_atsame5x_can.go
blob: dc1fc2ab851141f888145c76c407ee8f7cbf361f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//go:build (sam && atsame51) || (sam && atsame54)
// +build sam,atsame51 sam,atsame54

package runtime

import (
	"device/sam"
)

func init() {
	initCANClock()
}

func initCANClock() {
	// Turn on clocks for CAN0/CAN1.
	sam.MCLK.AHBMASK.SetBits(sam.MCLK_AHBMASK_CAN0_)
	sam.MCLK.AHBMASK.SetBits(sam.MCLK_AHBMASK_CAN1_)

	// Put Generic Clock Generator 1 as source for USB
	sam.GCLK.PCHCTRL[sam.PCHCTRL_GCLK_CAN0].Set((sam.GCLK_PCHCTRL_GEN_GCLK1 << sam.GCLK_PCHCTRL_GEN_Pos) |
		sam.GCLK_PCHCTRL_CHEN)
	sam.GCLK.PCHCTRL[sam.PCHCTRL_GCLK_CAN1].Set((sam.GCLK_PCHCTRL_GEN_GCLK1 << sam.GCLK_PCHCTRL_GEN_Pos) |
		sam.GCLK_PCHCTRL_CHEN)
}