blob: 6d36b748b0023fc61e743424e8c34002f8a2dc14 [file] [log] [blame]
Vikas Manocha6a12ceb2016-02-11 15:47:19 -08001/*
2 * (C) Copyright 2016
3 * Vikas Manocha, <vikas.manocha@st.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#ifndef _SERIAL_STM32_X7_
9#define _SERIAL_STM32_X7_
10
11struct stm32_usart {
12 u32 cr1;
13 u32 cr2;
14 u32 cr3;
15 u32 brr;
16 u32 gtpr;
17 u32 rtor;
18 u32 rqr;
19 u32 sr;
20 u32 icr;
21 u32 rd_dr;
22 u32 tx_dr;
23};
24
Patrice Chotard122b2d42017-07-18 09:29:07 +020025/* Information about a serial port */
26struct stm32x7_serial_platdata {
27 struct stm32_usart *base; /* address of registers in physical memory */
Patrice Chotard27265ce2017-07-18 09:29:08 +020028 unsigned long int clock_rate;
Patrice Chotard122b2d42017-07-18 09:29:07 +020029};
Vikas Manocha6a12ceb2016-02-11 15:47:19 -080030
Patrice Chotard2a52a952017-09-27 15:44:48 +020031#define USART_CR1_OVER8 BIT(15)
32#define USART_CR1_TE BIT(3)
33#define USART_CR1_RE BIT(2)
34#define USART_CR1_UE BIT(0)
Vikas Manocha6a12ceb2016-02-11 15:47:19 -080035
Patrice Chotard2a52a952017-09-27 15:44:48 +020036#define USART_CR3_OVRDIS BIT(12)
Vikas Manocha6c0c3ce2017-05-28 12:55:12 -070037
Patrice Chotard2a52a952017-09-27 15:44:48 +020038#define USART_SR_FLAG_RXNE BIT(5)
39#define USART_SR_FLAG_TXE BIT(7)
Vikas Manocha6a12ceb2016-02-11 15:47:19 -080040
Patrice Chotard2a52a952017-09-27 15:44:48 +020041#define USART_BRR_F_MASK GENMASK(7, 0)
Vikas Manocha6a12ceb2016-02-11 15:47:19 -080042#define USART_BRR_M_SHIFT 4
Patrice Chotard2a52a952017-09-27 15:44:48 +020043#define USART_BRR_M_MASK GENMASK(15, 4)
Vikas Manocha6a12ceb2016-02-11 15:47:19 -080044
45#endif