Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9fcd66e5 authored by Maxime Bizon's avatar Maxime Bizon Committed by Ralf Baechle
Browse files

MIPS: BCM63xx: Add serial driver for bcm63xx integrated UART.

parent 8813d33e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
obj-y		+= clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \
		   dev-dsp.o dev-enet.o
		   dev-dsp.o dev-enet.o dev-uart.o
obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o

obj-y		+= boards/
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_uart.h>
#include <board_bcm963xx.h>

#define PFX	"board_bcm963xx: "
@@ -792,6 +793,8 @@ int __init board_register_devices(void)
{
	u32 val;

	bcm63xx_uart_register();

	if (board.has_enet0 &&
	    !board_get_mac_address(board.enet0.mac_addr))
		bcm63xx_enet_register(0, &board.enet0);
+41 −0
Original line number Diff line number Diff line
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2008 Maxime Bizon <mbizon@freebox.fr>
 */

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/platform_device.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>

static struct resource uart_resources[] = {
	{
		.start		= -1, /* filled at runtime */
		.end		= -1, /* filled at runtime */
		.flags		= IORESOURCE_MEM,
	},
	{
		.start		= -1, /* filled at runtime */
		.flags		= IORESOURCE_IRQ,
	},
};

static struct platform_device bcm63xx_uart_device = {
	.name		= "bcm63xx_uart",
	.id		= 0,
	.num_resources	= ARRAY_SIZE(uart_resources),
	.resource	= uart_resources,
};

int __init bcm63xx_uart_register(void)
{
	uart_resources[0].start = bcm63xx_regset_address(RSET_UART0);
	uart_resources[0].end = uart_resources[0].start;
	uart_resources[0].end += RSET_UART_SIZE - 1;
	uart_resources[1].start = bcm63xx_get_irq_number(IRQ_UART0);
	return platform_device_register(&bcm63xx_uart_device);
}
+6 −0
Original line number Diff line number Diff line
#ifndef BCM63XX_DEV_UART_H_
#define BCM63XX_DEV_UART_H_

int bcm63xx_uart_register(void);

#endif /* BCM63XX_DEV_UART_H_ */
+19 −0
Original line number Diff line number Diff line
@@ -1458,4 +1458,23 @@ config SERIAL_TIMBERDALE
	---help---
	Add support for UART controller on timberdale.

config SERIAL_BCM63XX
	tristate "bcm63xx serial port support"
	select SERIAL_CORE
	depends on BCM63XX
	help
	  If you have a bcm63xx CPU, you can enable its onboard
	  serial port by enabling this options.

          To compile this driver as a module, choose M here: the
          module will be called bcm963xx_uart.

config SERIAL_BCM63XX_CONSOLE
	bool "Console on bcm63xx serial port"
	depends on SERIAL_BCM63XX=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the bcm63xx CPU
	  you can make it the console by answering Y to this option.

endmenu
Loading