#include <linux/clk.h>
#include <linux/console.h>
#include <linux/io.h>
#include <linux/libfdt.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_fdt.h>
#include <linux/platform_device.h>
#include <linux/serial_8250.h>
#include <linux/serial_core.h>
#include <linux/serial_reg.h>
#include "8250.h"
struct ingenic_uart_config { … };
struct ingenic_uart_data { … };
static const struct of_device_id of_match[];
#define UART_FCR_UME …
#define UART_MCR_MDCE …
#define UART_MCR_FCM …
static struct earlycon_device *early_device;
static uint8_t early_in(struct uart_port *port, int offset)
{ … }
static void early_out(struct uart_port *port, int offset, uint8_t value)
{ … }
static void ingenic_early_console_putc(struct uart_port *port, unsigned char c)
{ … }
static void ingenic_early_console_write(struct console *console,
const char *s, unsigned int count)
{ … }
static void __init ingenic_early_console_setup_clock(struct earlycon_device *dev)
{ … }
static int __init ingenic_earlycon_setup_tail(struct earlycon_device *dev,
const char *opt)
{ … }
static int __init ingenic_early_console_setup(struct earlycon_device *dev,
const char *opt)
{ … }
static int __init jz4750_early_console_setup(struct earlycon_device *dev,
const char *opt)
{ … }
OF_EARLYCON_DECLARE(…);
OF_EARLYCON_DECLARE(…);
OF_EARLYCON_DECLARE(…);
OF_EARLYCON_DECLARE(…);
OF_EARLYCON_DECLARE(…);
OF_EARLYCON_DECLARE(…);
static void ingenic_uart_serial_out(struct uart_port *p, int offset, int value)
{ … }
static unsigned int ingenic_uart_serial_in(struct uart_port *p, int offset)
{ … }
static int ingenic_uart_probe(struct platform_device *pdev)
{ … }
static void ingenic_uart_remove(struct platform_device *pdev)
{ … }
static const struct ingenic_uart_config jz4740_uart_config = …;
static const struct ingenic_uart_config jz4760_uart_config = …;
static const struct ingenic_uart_config jz4780_uart_config = …;
static const struct ingenic_uart_config x1000_uart_config = …;
static const struct of_device_id of_match[] = …;
MODULE_DEVICE_TABLE(of, of_match);
static struct platform_driver ingenic_uart_platform_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;