Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fce43f99 authored by Fabio Estevam's avatar Fabio Estevam Committed by Sascha Hauer
Browse files

ARM: mx53: Add support for missing UARTs



MX53 has five UART ports.

Add support for the missing UART4 and UART5 ports.

Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 2e534b21
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1254,12 +1254,20 @@ DEFINE_CLOCK(uart2_ipg_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG5_OFFSET,
	NULL,  NULL, &ipg_clk, &aips_tz1_clk);
DEFINE_CLOCK(uart3_ipg_clk, 2, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG7_OFFSET,
	NULL,  NULL, &ipg_clk, &spba_clk);
DEFINE_CLOCK(uart4_ipg_clk, 3, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG4_OFFSET,
	NULL,  NULL, &ipg_clk, &spba_clk);
DEFINE_CLOCK(uart5_ipg_clk, 4, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG6_OFFSET,
	NULL,  NULL, &ipg_clk, &spba_clk);
DEFINE_CLOCK(uart1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG4_OFFSET,
	NULL,  NULL, &uart_root_clk, &uart1_ipg_clk);
DEFINE_CLOCK(uart2_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG6_OFFSET,
	NULL,  NULL, &uart_root_clk, &uart2_ipg_clk);
DEFINE_CLOCK(uart3_clk, 2, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG8_OFFSET,
	NULL,  NULL, &uart_root_clk, &uart3_ipg_clk);
DEFINE_CLOCK(uart4_clk, 3, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG5_OFFSET,
	NULL,  NULL, &uart_root_clk, &uart4_ipg_clk);
DEFINE_CLOCK(uart5_clk, 4, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG7_OFFSET,
	NULL,  NULL, &uart_root_clk, &uart5_ipg_clk);

/* GPT */
DEFINE_CLOCK(gpt_ipg_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG10_OFFSET,
@@ -1464,6 +1472,8 @@ static struct clk_lookup mx53_lookups[] = {
	_REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk)
	_REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk)
	_REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk)
	_REGISTER_CLOCK("imx-uart.3", NULL, uart4_clk)
	_REGISTER_CLOCK("imx-uart.4", NULL, uart5_clk)
	_REGISTER_CLOCK(NULL, "gpt", gpt_clk)
	_REGISTER_CLOCK("fec.0", NULL, fec_clk)
	_REGISTER_CLOCK(NULL, "iim_clk", iim_clk)
+2 −0
Original line number Diff line number Diff line
@@ -114,6 +114,8 @@
#define MXC_CCM_CCGR4		(MX51_CCM_BASE + 0x78)
#define MXC_CCM_CCGR5		(MX51_CCM_BASE + 0x7C)
#define MXC_CCM_CCGR6		(MX51_CCM_BASE + 0x80)
#define MXC_CCM_CCGR7		(MX51_CCM_BASE + 0x84)

#define MXC_CCM_CMEOR		(MX51_CCM_BASE + 0x84)

/* Define the bits in register CCR */
+2 −0
Original line number Diff line number Diff line
@@ -123,6 +123,8 @@ const struct imx_imx_uart_1irq_data imx53_imx_uart_data[] __initconst = {
	imx53_imx_uart_data_entry(0, 1),
	imx53_imx_uart_data_entry(1, 2),
	imx53_imx_uart_data_entry(2, 3),
	imx53_imx_uart_data_entry(3, 4),
	imx53_imx_uart_data_entry(4, 5),
};
#endif /* ifdef CONFIG_SOC_IMX53 */

+2 −2
Original line number Diff line number Diff line
@@ -241,7 +241,7 @@
#define MX53_INT_IPU_ERR	10
#define MX53_INT_IPU_SYN	11
#define MX53_INT_GPU	12
#define MX53_INT_RESV13	13
#define MX53_INT_UART4	13
#define MX53_INT_USB_H1	14
#define MX53_INT_EMI	15
#define MX53_INT_USB_H2	16
@@ -314,7 +314,7 @@
#define MX53_INT_CAN2	83
#define MX53_INT_GPU2_IRQ	84
#define MX53_INT_GPU2_BUSY	85
#define MX53_INT_RESV86	86
#define MX53_INT_UART5	86
#define MX53_INT_FEC	87
#define MX53_INT_OWIRE	88
#define MX53_INT_CTI1_TG2	89