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

Commit 7aa3d7c8 authored by Samuel Ortiz's avatar Samuel Ortiz
Browse files

Merge tag 'ux500-multiplatform-mfd' of...

Merge tag 'ux500-multiplatform-mfd' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson



MFD portions of the ux500 multiplatform branch.
A second tag for the ARM SoC tree will build upon
this one. This mainly removes the header file
dependencies from the PRCMU driver in the MFD
subsystem, and moves the PM functions to the
machine.

Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parents 8059c1c6 55b175d7
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -3,7 +3,7 @@
#
#


obj-y				:= cpu.o devices.o devices-common.o \
obj-y				:= cpu.o devices.o devices-common.o \
				   id.o usb.o timer.o
				   id.o usb.o timer.o pm.o
obj-$(CONFIG_CPU_IDLE)          += cpuidle.o
obj-$(CONFIG_CPU_IDLE)          += cpuidle.o
obj-$(CONFIG_CACHE_L2X0)	+= cache-l2x0.o
obj-$(CONFIG_CACHE_L2X0)	+= cache-l2x0.o
obj-$(CONFIG_UX500_SOC_DB8500)	+= cpu-db8500.o devices-db8500.o
obj-$(CONFIG_UX500_SOC_DB8500)	+= cpu-db8500.o devices-db8500.o
+0 −58
Original line number Original line Diff line number Diff line
@@ -206,63 +206,6 @@ struct ab8500_platform_data ab8500_platdata = {
	.codec		= &ab8500_codec_pdata,
	.codec		= &ab8500_codec_pdata,
};
};


/*
 * Thermal Sensor
 */

static struct resource db8500_thsens_resources[] = {
	{
		.name = "IRQ_HOTMON_LOW",
		.start  = IRQ_PRCMU_HOTMON_LOW,
		.end    = IRQ_PRCMU_HOTMON_LOW,
		.flags  = IORESOURCE_IRQ,
	},
	{
		.name = "IRQ_HOTMON_HIGH",
		.start  = IRQ_PRCMU_HOTMON_HIGH,
		.end    = IRQ_PRCMU_HOTMON_HIGH,
		.flags  = IORESOURCE_IRQ,
	},
};

static struct db8500_thsens_platform_data db8500_thsens_data = {
	.trip_points[0] = {
		.temp = 70000,
		.type = THERMAL_TRIP_ACTIVE,
		.cdev_name = {
			[0] = "thermal-cpufreq-0",
		},
	},
	.trip_points[1] = {
		.temp = 75000,
		.type = THERMAL_TRIP_ACTIVE,
		.cdev_name = {
			[0] = "thermal-cpufreq-0",
		},
	},
	.trip_points[2] = {
		.temp = 80000,
		.type = THERMAL_TRIP_ACTIVE,
		.cdev_name = {
			[0] = "thermal-cpufreq-0",
		},
	},
	.trip_points[3] = {
		.temp = 85000,
		.type = THERMAL_TRIP_CRITICAL,
	},
	.num_trips = 4,
};

static struct platform_device u8500_thsens_device = {
	.name           = "db8500-thermal",
	.resource       = db8500_thsens_resources,
	.num_resources  = ARRAY_SIZE(db8500_thsens_resources),
	.dev	= {
		.platform_data	= &db8500_thsens_data,
	},
};

static struct platform_device u8500_cpufreq_cooling_device = {
static struct platform_device u8500_cpufreq_cooling_device = {
	.name           = "db8500-cpufreq-cooling",
	.name           = "db8500-cpufreq-cooling",
};
};
@@ -622,7 +565,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
	&snowball_key_dev,
	&snowball_key_dev,
	&snowball_sbnet_dev,
	&snowball_sbnet_dev,
	&snowball_gpio_en_3v3_regulator_dev,
	&snowball_gpio_en_3v3_regulator_dev,
	&u8500_thsens_device,
	&u8500_cpufreq_cooling_device,
	&u8500_cpufreq_cooling_device,
};
};


+0 −2
Original line number Original line Diff line number Diff line
@@ -94,8 +94,6 @@ void __init u8500_map_io(void)
		iotable_init(u9540_io_desc, ARRAY_SIZE(u9540_io_desc));
		iotable_init(u9540_io_desc, ARRAY_SIZE(u9540_io_desc));
	else
	else
		iotable_init(u8500_io_desc, ARRAY_SIZE(u8500_io_desc));
		iotable_init(u8500_io_desc, ARRAY_SIZE(u8500_io_desc));

	_PRCMU_BASE = __io_address(U8500_PRCMU_BASE);
}
}


static struct resource db8500_pmu_resources[] = {
static struct resource db8500_pmu_resources[] = {
+13 −8
Original line number Original line Diff line number Diff line
@@ -8,7 +8,7 @@


#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/mfd/db8500-prcmu.h>
#include <linux/mfd/dbx500-prcmu.h>
#include <linux/clksrc-dbx500-prcmu.h>
#include <linux/clksrc-dbx500-prcmu.h>
#include <linux/sys_soc.h>
#include <linux/sys_soc.h>
#include <linux/err.h>
#include <linux/err.h>
@@ -20,6 +20,7 @@
#include <linux/irqchip.h>
#include <linux/irqchip.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-ux500.h>
#include <linux/platform_data/clk-ux500.h>
#include <linux/platform_data/arm-ux500-pm.h>


#include <asm/mach/map.h>
#include <asm/mach/map.h>


@@ -30,8 +31,6 @@
#include "board-mop500.h"
#include "board-mop500.h"
#include "id.h"
#include "id.h"


void __iomem *_PRCMU_BASE;

/*
/*
 * FIXME: Should we set up the GPIO domain here?
 * FIXME: Should we set up the GPIO domain here?
 *
 *
@@ -68,14 +67,20 @@ void __init ux500_init_irq(void)
	 * Init clocks here so that they are available for system timer
	 * Init clocks here so that they are available for system timer
	 * initialization.
	 * initialization.
	 */
	 */
	if (cpu_is_u8500_family() || cpu_is_u9540())
	if (cpu_is_u8500_family()) {
		db8500_prcmu_early_init();
		prcmu_early_init(U8500_PRCMU_BASE, SZ_8K - 1);

		ux500_pm_init(U8500_PRCMU_BASE, SZ_8K - 1);
	if (cpu_is_u8500_family() || cpu_is_u9540())
		u8500_clk_init();
		u8500_clk_init();
	else if (cpu_is_u8540())
	} else if (cpu_is_u9540()) {
		prcmu_early_init(U8500_PRCMU_BASE, SZ_8K - 1);
		ux500_pm_init(U8500_PRCMU_BASE, SZ_8K - 1);
		u8500_clk_init();
	} else if (cpu_is_u8540()) {
		prcmu_early_init(U8500_PRCMU_BASE, SZ_8K + SZ_4K - 1);
		ux500_pm_init(U8500_PRCMU_BASE, SZ_8K + SZ_4K - 1);
		u8540_clk_init();
		u8540_clk_init();
	}
	}
}


void __init ux500_init_late(void)
void __init ux500_init_late(void)
{
{
+2 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@
#include <linux/atomic.h>
#include <linux/atomic.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/mfd/dbx500-prcmu.h>
#include <linux/mfd/dbx500-prcmu.h>
#include <linux/platform_data/arm-ux500-pm.h>


#include <asm/cpuidle.h>
#include <asm/cpuidle.h>
#include <asm/proc-fns.h>
#include <asm/proc-fns.h>
Loading