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

Commit ea7ee4ca authored by Denis 'GNUtoo' Carikli's avatar Denis 'GNUtoo' Carikli Committed by Sascha Hauer
Browse files

mx31: add support for the bugbase 1.3 from buglabs

Note that the hardware schematics and documentations can be obtained
  here: http://www.bugcommunity.com/wiki/index.php/BUGbase



Signed-off-by: default avatarDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent b03b2a7a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -199,6 +199,15 @@ config MACH_KZM_ARM11_01
	  Include support for KZM-ARM11-01. This includes specific
	  configurations for the board and its peripherals.

config MACH_BUG
	bool "Support Buglabs BUGBase platform"
	select SOC_IMX31
	select IMX_HAVE_PLATFORM_IMX_UART
	default y
	help
	  Include support for BUGBase 1.3 platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_EUKREA_CPUIMX35
	bool "Support Eukrea CPUIMX35 Platform"
	select SOC_IMX35
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ obj-$(CONFIG_MACH_PCM043) += mach-pcm043.o
obj-$(CONFIG_MACH_ARMADILLO5X0) += mach-armadillo5x0.o
obj-$(CONFIG_MACH_MX35_3DS)	+= mach-mx35_3ds.o
obj-$(CONFIG_MACH_KZM_ARM11_01)	+= mach-kzm_arm11_01.o
obj-$(CONFIG_MACH_BUG)		+= mach-bug.o
obj-$(CONFIG_MACH_EUKREA_CPUIMX35)	+= mach-cpuimx35.o
obj-$(CONFIG_MACH_EUKREA_MBIMXSD35_BASEBOARD)	+= eukrea_mbimxsd-baseboard.o
obj-$(CONFIG_MACH_VPR200)	+= mach-vpr200.o
+66 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2000 Deep Blue Solutions Ltd
 * Copyright (C) 2002 Shane Nay (shane@minirl.com)
 * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
 * Copyright 2011 Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

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

#include <mach/iomux-mx3.h>
#include <mach/imx-uart.h>
#include <mach/hardware.h>
#include <mach/common.h>

#include <asm/mach/time.h>
#include <asm/mach/arch.h>
#include <asm/mach-types.h>

#include "devices-imx31.h"

static const struct imxuart_platform_data uart_pdata __initconst = {
	.flags = IMXUART_HAVE_RTSCTS,
};

static const unsigned int bug_pins[] __initconst = {
	MX31_PIN_PC_RST__CTS5,
	MX31_PIN_PC_VS2__RTS5,
	MX31_PIN_PC_BVD2__TXD5,
	MX31_PIN_PC_BVD1__RXD5,
};

static void __init bug_board_init(void)
{
	mxc_iomux_setup_multiple_pins(bug_pins,
				      ARRAY_SIZE(bug_pins), "uart-4");
	imx31_add_imx_uart4(&uart_pdata);
}

static void __init bug_timer_init(void)
{
	mx31_clocks_init(26000000);
}

static struct sys_timer bug_timer = {
	.init = bug_timer_init,
};

MACHINE_START(BUG, "BugLabs BUGBase")
	.map_io = mx31_map_io,
	.init_early = imx31_init_early,
	.init_irq = mx31_init_irq,
	.timer = &bug_timer,
	.init_machine = bug_board_init,
MACHINE_END
+4 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ static inline void flush(void)
#define MX2X_UART1_BASE_ADDR	0x1000a000
#define MX3X_UART1_BASE_ADDR	0x43F90000
#define MX3X_UART2_BASE_ADDR	0x43F94000
#define MX3X_UART5_BASE_ADDR	0x43FB4000
#define MX51_UART1_BASE_ADDR	0x73fbc000
#define MX50_UART1_BASE_ADDR	0x53fbc000
#define MX53_UART1_BASE_ADDR	0x53fbc000
@@ -102,6 +103,9 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)
	case MACH_TYPE_MAGX_ZN5:
		uart_base = MX3X_UART2_BASE_ADDR;
		break;
	case MACH_TYPE_BUG:
		uart_base = MX3X_UART5_BASE_ADDR;
		break;
	case MACH_TYPE_MX51_BABBAGE:
	case MACH_TYPE_EUKREA_CPUIMX51SD:
	case MACH_TYPE_MX51_3DS: