forked from Minki/linux
4793f2ebff
Now that the SPDX tag is in all tty files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all. This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed. No copyright headers or other non-license-description text was removed. Cc: Jiri Slaby <jslaby@suse.com> Cc: Eric Anholt <eric@anholt.net> Cc: Stefan Wahren <stefan.wahren@i2se.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Ray Jui <rjui@broadcom.com> Cc: Scott Branden <sbranden@broadcom.com> Cc: bcm-kernel-feedback-list@broadcom.com Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Helge Deller <deller@gmx.de> Cc: Joachim Eastwood <manabian@gmail.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Tobias Klauser <tklauser@distanz.ch> Cc: Russell King <linux@armlinux.org.uk> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Richard Genoud <richard.genoud@gmail.com> Cc: Alexander Shiyan <shc_work@mail.ru> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Pat Gefre <pfg@sgi.com> Cc: "Guilherme G. Piccoli" <gpiccoli@linux.vnet.ibm.com> Cc: Jason Wessel <jason.wessel@windriver.com> Cc: Vladimir Zapolskiy <vz@mleia.com> Cc: Sylvain Lemieux <slemieux.tyco@gmail.com> Cc: Carlo Caione <carlo@caione.org> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Andy Gross <andy.gross@linaro.org> Cc: David Brown <david.brown@linaro.org> Cc: "Andreas Färber" <afaerber@suse.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Laxman Dewangan <ldewangan@nvidia.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Jonathan Hunter <jonathanh@nvidia.com> Cc: Barry Song <baohua@kernel.org> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: Chris Metcalf <cmetcalf@mellanox.com> Cc: Peter Korsgaard <jacmet@sunsite.dk> Cc: Timur Tabi <timur@tabi.org> Cc: Tony Prisk <linux@prisktech.co.nz> Cc: Michal Simek <michal.simek@xilinx.com> Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
126 lines
3.4 KiB
C
126 lines
3.4 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* PIC32 Integrated Serial Driver.
|
|
*
|
|
* Copyright (C) 2015 Microchip Technology, Inc.
|
|
*
|
|
* Authors:
|
|
* Sorin-Andrei Pistirica <andrei.pistirica@microchip.com>
|
|
*/
|
|
#ifndef __DT_PIC32_UART_H__
|
|
#define __DT_PIC32_UART_H__
|
|
|
|
#define PIC32_UART_DFLT_BRATE (9600)
|
|
#define PIC32_UART_TX_FIFO_DEPTH (8)
|
|
#define PIC32_UART_RX_FIFO_DEPTH (8)
|
|
|
|
#define PIC32_UART_MODE 0x00
|
|
#define PIC32_UART_STA 0x10
|
|
#define PIC32_UART_TX 0x20
|
|
#define PIC32_UART_RX 0x30
|
|
#define PIC32_UART_BRG 0x40
|
|
|
|
struct pic32_console_opt {
|
|
int baud;
|
|
int parity;
|
|
int bits;
|
|
int flow;
|
|
};
|
|
|
|
/* struct pic32_sport - pic32 serial port descriptor
|
|
* @port: uart port descriptor
|
|
* @idx: port index
|
|
* @irq_fault: virtual fault interrupt number
|
|
* @irqflags_fault: flags related to fault irq
|
|
* @irq_fault_name: irq fault name
|
|
* @irq_rx: virtual rx interrupt number
|
|
* @irqflags_rx: flags related to rx irq
|
|
* @irq_rx_name: irq rx name
|
|
* @irq_tx: virtual tx interrupt number
|
|
* @irqflags_tx: : flags related to tx irq
|
|
* @irq_tx_name: irq tx name
|
|
* @cts_gpio: clear to send gpio
|
|
* @dev: device descriptor
|
|
**/
|
|
struct pic32_sport {
|
|
struct uart_port port;
|
|
struct pic32_console_opt opt;
|
|
int idx;
|
|
|
|
int irq_fault;
|
|
int irqflags_fault;
|
|
const char *irq_fault_name;
|
|
int irq_rx;
|
|
int irqflags_rx;
|
|
const char *irq_rx_name;
|
|
int irq_tx;
|
|
int irqflags_tx;
|
|
const char *irq_tx_name;
|
|
u8 enable_tx_irq;
|
|
|
|
bool hw_flow_ctrl;
|
|
int cts_gpio;
|
|
|
|
int ref_clk;
|
|
struct clk *clk;
|
|
|
|
struct device *dev;
|
|
};
|
|
#define to_pic32_sport(c) container_of(c, struct pic32_sport, port)
|
|
#define pic32_get_port(sport) (&sport->port)
|
|
#define pic32_get_opt(sport) (&sport->opt)
|
|
#define tx_irq_enabled(sport) (sport->enable_tx_irq)
|
|
|
|
static inline void pic32_uart_writel(struct pic32_sport *sport,
|
|
u32 reg, u32 val)
|
|
{
|
|
struct uart_port *port = pic32_get_port(sport);
|
|
|
|
__raw_writel(val, port->membase + reg);
|
|
}
|
|
|
|
static inline u32 pic32_uart_readl(struct pic32_sport *sport, u32 reg)
|
|
{
|
|
struct uart_port *port = pic32_get_port(sport);
|
|
|
|
return __raw_readl(port->membase + reg);
|
|
}
|
|
|
|
/* pic32 uart mode register bits */
|
|
#define PIC32_UART_MODE_ON BIT(15)
|
|
#define PIC32_UART_MODE_FRZ BIT(14)
|
|
#define PIC32_UART_MODE_SIDL BIT(13)
|
|
#define PIC32_UART_MODE_IREN BIT(12)
|
|
#define PIC32_UART_MODE_RTSMD BIT(11)
|
|
#define PIC32_UART_MODE_RESV1 BIT(10)
|
|
#define PIC32_UART_MODE_UEN1 BIT(9)
|
|
#define PIC32_UART_MODE_UEN0 BIT(8)
|
|
#define PIC32_UART_MODE_WAKE BIT(7)
|
|
#define PIC32_UART_MODE_LPBK BIT(6)
|
|
#define PIC32_UART_MODE_ABAUD BIT(5)
|
|
#define PIC32_UART_MODE_RXINV BIT(4)
|
|
#define PIC32_UART_MODE_BRGH BIT(3)
|
|
#define PIC32_UART_MODE_PDSEL1 BIT(2)
|
|
#define PIC32_UART_MODE_PDSEL0 BIT(1)
|
|
#define PIC32_UART_MODE_STSEL BIT(0)
|
|
|
|
/* pic32 uart status register bits */
|
|
#define PIC32_UART_STA_UTXISEL1 BIT(15)
|
|
#define PIC32_UART_STA_UTXISEL0 BIT(14)
|
|
#define PIC32_UART_STA_UTXINV BIT(13)
|
|
#define PIC32_UART_STA_URXEN BIT(12)
|
|
#define PIC32_UART_STA_UTXBRK BIT(11)
|
|
#define PIC32_UART_STA_UTXEN BIT(10)
|
|
#define PIC32_UART_STA_UTXBF BIT(9)
|
|
#define PIC32_UART_STA_TRMT BIT(8)
|
|
#define PIC32_UART_STA_URXISEL1 BIT(7)
|
|
#define PIC32_UART_STA_URXISEL0 BIT(6)
|
|
#define PIC32_UART_STA_ADDEN BIT(5)
|
|
#define PIC32_UART_STA_RIDLE BIT(4)
|
|
#define PIC32_UART_STA_PERR BIT(3)
|
|
#define PIC32_UART_STA_FERR BIT(2)
|
|
#define PIC32_UART_STA_OERR BIT(1)
|
|
#define PIC32_UART_STA_URXDA BIT(0)
|
|
|
|
#endif /* __DT_PIC32_UART_H__ */
|