github.com/usbarmory/tamago@v0.0.0-20240508072735-8612bbe1e454/board/nxp/mx6ullevk/mx6ullevk.go (about)

     1  // MCIMX6ULL-EVK support for tamago/arm
     2  // https://github.com/usbarmory/tamago
     3  //
     4  // Copyright (c) WithSecure Corporation
     5  // https://foundry.withsecure.com
     6  //
     7  // Use of this source code is governed by the license
     8  // that can be found in the LICENSE file.
     9  
    10  // Package mx6ullevk provides hardware initialization, automatically on import,
    11  // for the NXP MCIMX6ULL-EVK evaluation board.
    12  //
    13  // This package is only meant to be used with `GOOS=tamago GOARCH=arm` as
    14  // supported by the TamaGo framework for bare metal Go on ARM SoCs, see
    15  // https://github.com/usbarmory/tamago.
    16  package mx6ullevk
    17  
    18  import (
    19  	_ "unsafe"
    20  
    21  	"github.com/usbarmory/tamago/soc/nxp/imx6ul"
    22  )
    23  
    24  // Peripheral instances
    25  var (
    26  	ENET1 = imx6ul.ENET1
    27  	ENET2 = imx6ul.ENET2
    28  
    29  	I2C1 = imx6ul.I2C1
    30  	I2C2 = imx6ul.I2C2
    31  
    32  	UART1 = imx6ul.UART1
    33  	UART2 = imx6ul.UART2
    34  
    35  	USB1 = imx6ul.USB1
    36  	USB2 = imx6ul.USB2
    37  
    38  	// SD1 is the base board full size SD instance
    39  	USDHC1 = imx6ul.USDHC1
    40  	USDHC2 = imx6ul.USDHC2
    41  )
    42  
    43  // Init takes care of the lower level SoC initialization triggered early in
    44  // runtime setup.
    45  //
    46  //go:linkname Init runtime.hwinit
    47  func Init() {
    48  	imx6ul.Init()
    49  
    50  	// initialize console
    51  	imx6ul.UART1.Init()
    52  }