# Colibri iMX7D M4 board

# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0

if BOARD_COLIBRI_IMX7D_M4

config BOARD
	default "colibri_imx7d_m4"

if GPIO_IMX

config GPIO_IMX_PORT_1
	default y

config GPIO_IMX_PORT_2
	default y

config GPIO_IMX_PORT_3
	default n

config GPIO_IMX_PORT_4
	default n

config GPIO_IMX_PORT_5
	default n

config GPIO_IMX_PORT_6
	default n

config GPIO_IMX_PORT_7
	default n

endif # GPIO_IMX

if UART_IMX

config UART_IMX_UART_2
	default y

endif # UART_IMX

if I2C_IMX

config I2C_1
	default n

config I2C_2
	default n

config I2C_3
	default n

config I2C_4
	default y

endif # I2C_IMX

if PWM_IMX

config PWM_1
	default y

endif # PWM_IMX

if !XIP
config FLASH_SIZE
	default 0
config FLASH_BASE_ADDRESS
	default 0
endif


endif # BOARD_COLIBRI_IMX7D_M4
