mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-20 22:11:05 +02:00
All identifiers, regardless of use, that start with two underscores are reserved. This means they can't be used in header guards. The style that this project is now to use the full name of the file in capital letters followed by 'H'. For example, for a file called "uart_example.h", the header guard is UART_EXAMPLE_H. The exceptions are files that are imported from other projects: - CryptoCell driver - dt-bindings folders - zlib headers Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
67 lines
1.6 KiB
C
67 lines
1.6 KiB
C
/*
|
|
* Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef IMX8_LPUART_H
|
|
#define IMX8_LPUART_H
|
|
|
|
#include <console.h>
|
|
|
|
#define VERID 0x0
|
|
#define PARAM 0x4
|
|
#define GLOBAL 0x8
|
|
#define PINCFG 0xC
|
|
#define BAUD 0x10
|
|
#define STAT 0x14
|
|
#define CTRL 0x18
|
|
#define DATA 0x1C
|
|
#define MATCH 0x20
|
|
#define MODIR 0x24
|
|
#define FIFO 0x28
|
|
#define WATER 0x2c
|
|
|
|
#define US1_TDRE (1 << 23)
|
|
#define US1_RDRF (1 << 21)
|
|
|
|
#define CTRL_TE (1 << 19)
|
|
#define CTRL_RE (1 << 18)
|
|
|
|
#define FIFO_TXFE 0x80
|
|
#define FIFO_RXFE 0x40
|
|
|
|
#define WATER_TXWATER_OFF 1
|
|
#define WATER_RXWATER_OFF 16
|
|
|
|
#define LPUART_CTRL_PT_MASK 0x1
|
|
#define LPUART_CTRL_PE_MASK 0x2
|
|
#define LPUART_CTRL_M_MASK 0x10
|
|
|
|
#define LPUART_BAUD_OSR_MASK (0x1F000000U)
|
|
#define LPUART_BAUD_OSR_SHIFT (24U)
|
|
#define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK)
|
|
|
|
#define LPUART_BAUD_SBR_MASK (0x1FFFU)
|
|
#define LPUART_BAUD_SBR_SHIFT (0U)
|
|
#define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK)
|
|
|
|
#define LPUART_BAUD_SBNS_MASK (0x2000U)
|
|
#define LPUART_BAUD_BOTHEDGE_MASK (0x20000U)
|
|
#define LPUART_BAUD_M10_MASK (0x20000000U)
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct {
|
|
console_t console;
|
|
uintptr_t base;
|
|
} console_lpuart_t;
|
|
|
|
int console_lpuart_register(uintptr_t baseaddr, uint32_t clock, uint32_t baud,
|
|
console_lpuart_t *console);
|
|
#endif /*__ASSEMBLY__*/
|
|
|
|
#endif /* IMX8_LPUART_H */
|