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

Commit b540e264 authored by Venkatesh Yadav Abbarapu's avatar Venkatesh Yadav Abbarapu
Browse files

msm: fsm9010: Add initial board files for fsm9010



Add support for the FSM9010 chipset based targets.

Change-Id: I4cc92e9ad25d563e11616fe6c49ae8131390ae1f
Acked-by: default avatarKaushik Sikdar <ksikdar@qti.qualcomm.com>
Signed-off-by: default avatarVenkatesh Yadav Abbarapu <quicvenkat@codeaurora.org>
parent e92aa60f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -120,6 +120,7 @@ dtb-$(CONFIG_ARCH_FSM9900) += fsm9900-rumi.dtb \
	fsm9900-cdp.dtb \
	fsm9900-mtp-v1.0.dtb \
	fsm9900-mtp-v1.1.dtb
dtb-$(CONFIG_ARCH_FSM9010) += fsm9010-rumi.dtb
dtb-$(CONFIG_ARCH_MDM9630) += mdm9630-sim.dtb \
	mdm9630-v1-cdp.dtb \
	mdm9630-v1-mtp.dtb \
+30 −0
Original line number Diff line number Diff line
@@ -158,6 +158,25 @@ config ARCH_FSM9900
	select MIGHT_HAVE_PCI
	select MSM_IRQ

config ARCH_FSM9010
	bool "FSM9010"
	select ARM_GIC
	select GIC_SECURE
	select ARCH_MSM_CORTEXMP
	select CPU_V7
	select GPIO_MSM_V3
	select HAVE_ARM_ARCH_TIMER
	select MSM_NATIVE_RESTART
	select MSM_CORTEX_A7
	select PM_DEVFREQ
	select MSM_DEVFREQ_CPUBW
	select MSM_PIL
	select ARM_HAS_SG_CHAIN
	select REGULATOR
	select MSM_NOPM
	select MSM_JTAG_MM if CORESIGHT_ETM
	select MSM_IRQ

config ARCH_MDM9630
	bool "MDM9630"
	select ARM_GIC
@@ -368,6 +387,7 @@ config PHYS_OFFSET
	default "0x00000000" if ARCH_MSM8226
	default "0x00000000" if ARCH_MSM8610
	default "0x0b600000" if ARCH_FSM9900
	default "0x00000000" if ARCH_FSM9010
	default "0x00000000" if ARCH_MDM9630
	default "0x80000000" if ARCH_MSMZIRC
	default "0x00200000" if !MSM_STACKED_MEMORY
@@ -461,6 +481,16 @@ choice
		  Say Y here if you want the debug print routines to direct
		  their output to the serial port on FSM9900 devices.

	config DEBUG_FSM9010_UART
		bool "Kernel low-level debugging messages via FSM9010 UART"
		depends on ARCH_FSM9010
		select MSM_HAS_DEBUG_UART_HS_V14
		help
		  Say Y here if you want the debug print routines to
		  direct their output to the serial port on FSM9010
		  devices. This is useful in the early kernel
		  development.

	config DEBUG_MSM8226_UART
		bool "Kernel low-level debugging messages via MSM 8226 UART"
		depends on ARCH_MSM8226
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ obj-$(CONFIG_SURF_FFA_GPIO_KEYPAD) += keypad-surf-ffa.o
obj-$(CONFIG_ARCH_FSM9900) += board-fsm9900.o board-fsm9900-gpiomux.o
obj-$(CONFIG_ARCH_FSM9900) += clock-fsm9900.o
obj-$(CONFIG_ARCH_FSM9900) += rfic-fsm9900.o bbif-fsm9900.o
obj-$(CONFIG_ARCH_FSM9010) += board-fsm9010.o
obj-$(CONFIG_QPNP_BMS) += bms-batterydata.o bms-batterydata-desay.o
obj-$(CONFIG_QPNP_BMS) += bms-batterydata-oem.o bms-batterydata-qrd-4v35-2000mah.o bms-batterydata-qrd-4v2-1300mah.o
obj-$(CONFIG_ARCH_APQ8084) += board-8084.o board-8084-gpiomux.o
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@
# FSM9900
   zreladdr-$(CONFIG_ARCH_FSM9900)	:= 0x0b608000

# FSM9010
   zreladdr-$(CONFIG_ARCH_FSM9010)	:= 0x00008000

# MSMFERRUM
   zreladdr-$(CONFIG_ARCH_MSMFERRUM)	:= 0x80008000

+79 −0
Original line number Diff line number Diff line
/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * 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/err.h>
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_platform.h>
#include <linux/memory.h>
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <mach/board.h>
#include <mach/msm_iomap.h>
#include <soc/qcom/restart.h>
#include <soc/qcom/socinfo.h>
#include <soc/qcom/smd.h>
#include "board-dt.h"
#include "platsmp.h"


void __init fsm9010_reserve(void)
{
}

/*
 * Used to satisfy dependencies for devices that need to be
 * run early or in a particular order. Most likely your device doesn't fall
 * into this category, and thus the driver should not be added here. The
 * EPROBE_DEFER can satisfy most dependency problems.
 */
void __init fsm9010_add_drivers(void)
{
	msm_smd_init();
}

static void __init fsm9010_map_io(void)
{
	msm_map_fsm9010_io();
}

void __init fsm9010_init(void)
{
	/*
	 * Populate devices from DT first so smem probe will get called as part
	 * of msm_smem_init. socinfo_init needs smem support so call
	 * msm_smem_init before it.
	 */
	board_dt_populate(NULL);

	msm_smem_init();

	if (socinfo_init() < 0)
		pr_err("%s: socinfo_init() failed\n", __func__);

	fsm9010_add_drivers();
}

static const char *fsm9010_dt_match[] __initconst = {
	"qcom,fsm9010",
	NULL
};

DT_MACHINE_START(FSM9010_DT,
		"Qualcomm Technologies, Inc. FSM 9010 (Flattened Device Tree)")
	.map_io			= fsm9010_map_io,
	.init_machine		= fsm9010_init,
	.dt_compat		= fsm9010_dt_match,
	.reserve		= fsm9010_reserve,
	.smp			= &arm_smp_ops,
MACHINE_END