move pinmux.h to drivers/pinmux.h and create a shim for backward-compatibility. No functional changes to the headers. A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES. Related to #16539 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
82 lines
2.3 KiB
C
82 lines
2.3 KiB
C
/*
|
|
* Copyright (c) 2018 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <device.h>
|
|
#include <init.h>
|
|
#include <kernel.h>
|
|
#include <drivers/pinmux.h>
|
|
|
|
#include "soc.h"
|
|
|
|
static int board_pinmux_init(struct device *dev)
|
|
{
|
|
ARG_UNUSED(dev);
|
|
|
|
#ifdef CONFIG_PINMUX_XEC_GPIO000_036
|
|
struct device *porta =
|
|
device_get_binding(CONFIG_PINMUX_XEC_GPIO000_036_NAME);
|
|
#endif
|
|
#ifdef CONFIG_PINMUX_XEC_GPIO040_076
|
|
struct device *portb =
|
|
device_get_binding(CONFIG_PINMUX_XEC_GPIO040_076_NAME);
|
|
#endif
|
|
#ifdef CONFIG_PINMUX_XEC_GPIO100_136
|
|
struct device *portc =
|
|
device_get_binding(CONFIG_PINMUX_XEC_GPIO100_136_NAME);
|
|
#endif
|
|
#ifdef CONFIG_PINMUX_XEC_GPIO140_176
|
|
struct device *portd =
|
|
device_get_binding(CONFIG_PINMUX_XEC_GPIO140_176_NAME);
|
|
#endif
|
|
#ifdef CONFIG_PINMUX_XEC_GPIO200_236
|
|
struct device *porte =
|
|
device_get_binding(CONFIG_PINMUX_XEC_GPIO200_236_NAME);
|
|
#endif
|
|
#ifdef CONFIG_PINMUX_XEC_GPIO240_276
|
|
struct device *portf =
|
|
device_get_binding(CONFIG_PINMUX_XEC_GPIO240_276_NAME);
|
|
#endif
|
|
|
|
/* Release JTAG TDI and JTAG TDO pins so they can be
|
|
* controlled by their respective PCR register (UART2).
|
|
* For more details see table 44-1
|
|
*/
|
|
ECS_REGS->DEBUG_CTRL |= 0x4;
|
|
|
|
/* See table 2-4 from the data sheet for pin multiplexing*/
|
|
#ifdef CONFIG_UART_NS16550_PORT_2
|
|
/* Set muxing, for UART 2 TX/RX and power up */
|
|
mchp_pcr_periph_slp_ctrl(PCR_UART2, MCHP_PCR_SLEEP_DIS);
|
|
|
|
UART2_REGS->CFG_SEL = (MCHP_UART_LD_CFG_INTCLK +
|
|
MCHP_UART_LD_CFG_RESET_SYS + MCHP_UART_LD_CFG_NO_INVERT);
|
|
UART2_REGS->ACTV = MCHP_UART_LD_ACTIVATE;
|
|
|
|
pinmux_pin_set(portd, MCHP_GPIO_145, MCHP_GPIO_CTRL_MUX_F2);
|
|
pinmux_pin_set(portd, MCHP_GPIO_146, MCHP_GPIO_CTRL_MUX_F2);
|
|
#endif
|
|
|
|
#ifdef CONFIG_I2C_XEC_0
|
|
/* Set muxing, for I2C0 - SMB00 */
|
|
pinmux_pin_set(porta, MCHP_GPIO_003, MCHP_GPIO_CTRL_MUX_F1);
|
|
pinmux_pin_set(porta, MCHP_GPIO_004, MCHP_GPIO_CTRL_MUX_F1);
|
|
#endif
|
|
|
|
#ifdef CONFIG_I2C_XEC_1
|
|
/* Set muxing for I2C1 - SMB01 */
|
|
pinmux_pin_set(portc, MCHP_GPIO_130, MCHP_GPIO_CTRL_MUX_F1);
|
|
pinmux_pin_set(portc, MCHP_GPIO_131, MCHP_GPIO_CTRL_MUX_F1);
|
|
#endif
|
|
|
|
#ifdef CONFIG_I2C_XEC_2
|
|
/* Set muxing, for I2C2 - SMB04 */
|
|
pinmux_pin_set(portd, MCHP_GPIO_143, MCHP_GPIO_CTRL_MUX_F1);
|
|
pinmux_pin_set(portd, MCHP_GPIO_144, MCHP_GPIO_CTRL_MUX_F1);
|
|
#endif
|
|
return 0;
|
|
}
|
|
|
|
SYS_INIT(board_pinmux_init, PRE_KERNEL_1, CONFIG_PINMUX_INIT_PRIORITY);
|