summaryrefslogtreecommitdiff
path: root/include/dm/platform_data/serial_pxa.h
blob: 0d7dc4c462db8af5388081efafa24e0a2cc89070 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (c) 2016 Marcel Ziswiler <marcel.ziswiler@toradex.com>
 */

#ifndef __SERIAL_PXA_H
#define __SERIAL_PXA_H

/*
 * The numbering scheme differs here for PXA25x, PXA27x and PXA3xx so we can
 * easily handle enabling of clock.
 */
#ifdef CONFIG_CPU_MONAHANS
#define UART_CLK_BASE	CKENA_21_BTUART
#define UART_CLK_REG	CKENA
#define BTUART_INDEX	0
#define FFUART_INDEX	1
#define STUART_INDEX	2
#elif CONFIG_CPU_PXA25X
#define UART_CLK_BASE	BIT(4)	/* HWUART */
#define UART_CLK_REG	CKEN
#define HWUART_INDEX	0
#define STUART_INDEX	1
#define FFUART_INDEX	2
#define BTUART_INDEX	3
#else /* PXA27x */
#define UART_CLK_BASE	CKEN5_STUART
#define UART_CLK_REG	CKEN
#define STUART_INDEX	0
#define FFUART_INDEX	1
#define BTUART_INDEX	2
#endif

/*
 * Only PXA250 has HWUART, to avoid poluting the code with more macros,
 * artificially introduce this.
 */
#ifndef CONFIG_CPU_PXA25X
#define HWUART_INDEX	0xff
#endif

/*
 * struct pxa_serial_plat - information about a PXA port
 *
 * @base:	Uart port base register address
 * @port:	Uart port index, for cpu with pinmux for uart / gpio
 * baudrtatre:	Uart port baudrate
 */
struct pxa_serial_plat {
	struct pxa_uart_regs *base;
	int port;
	int baudrate;
};

#endif /* __SERIAL_PXA_H */