1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 284ad6884SPeter Tyser /* 384ad6884SPeter Tyser * 484ad6884SPeter Tyser * (C) Copyright 2009 Magnus Lilja <lilja.magnus@gmail.com> 584ad6884SPeter Tyser * 684ad6884SPeter Tyser * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de> 784ad6884SPeter Tyser */ 884ad6884SPeter Tyser 984ad6884SPeter Tyser #include <common.h> 1086271115SStefano Babic #include <asm/arch/imx-regs.h> 1186271115SStefano Babic #include <asm/arch/clock.h> 1284ad6884SPeter Tyser mx31_uart1_hw_init(void)1384ad6884SPeter Tyservoid mx31_uart1_hw_init(void) 1484ad6884SPeter Tyser { 1584ad6884SPeter Tyser /* setup pins for UART1 */ 1684ad6884SPeter Tyser mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); 1784ad6884SPeter Tyser mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); 1884ad6884SPeter Tyser mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); 1984ad6884SPeter Tyser mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); 2084ad6884SPeter Tyser } 2184ad6884SPeter Tyser mx31_uart2_hw_init(void)22d121d201SHelmut Raigervoid mx31_uart2_hw_init(void) 23d121d201SHelmut Raiger { 24d121d201SHelmut Raiger /* setup pins for UART2 */ 25d121d201SHelmut Raiger mx31_gpio_mux(MUX_RXD2__UART2_RXD_MUX); 26d121d201SHelmut Raiger mx31_gpio_mux(MUX_TXD2__UART2_TXD_MUX); 27d121d201SHelmut Raiger mx31_gpio_mux(MUX_RTS2__UART2_RTS_B); 28d121d201SHelmut Raiger mx31_gpio_mux(MUX_CTS2__UART2_CTS_B); 29d121d201SHelmut Raiger } 30d121d201SHelmut Raiger 3184ad6884SPeter Tyser #ifdef CONFIG_MXC_SPI 32d121d201SHelmut Raiger /* 33d121d201SHelmut Raiger * Note: putting several spi setups here makes no sense as they may differ 34d121d201SHelmut Raiger * at board level (physical pin SS0 of CSPI2 may aswell be used as SS0 of CSPI3) 35d121d201SHelmut Raiger */ mx31_spi2_hw_init(void)3684ad6884SPeter Tyservoid mx31_spi2_hw_init(void) 3784ad6884SPeter Tyser { 3884ad6884SPeter Tyser /* SPI2 */ 3984ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); 4084ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); 4184ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); 4284ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); 4384ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); 4484ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); 4584ad6884SPeter Tyser mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); 4684ad6884SPeter Tyser 4784ad6884SPeter Tyser /* start SPI2 clock */ 4884ad6884SPeter Tyser __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); 4984ad6884SPeter Tyser } 5084ad6884SPeter Tyser #endif 51