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

Commit 44a4244e authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Rafael J. Wysocki
Browse files

ARM: mach-shmobile: add fixed voltage regulators to kzm9g



On kzm9g provide 1.8V and 2.8V supplies for its SD/MMC-card interfaces
and a dummy regulator for the smsc911x driver.

Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent d50baf9e
Loading
Loading
Loading
Loading
+28 −0
Original line number Original line Diff line number Diff line
@@ -30,6 +30,8 @@
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mfd/tmio.h>
#include <linux/mfd/tmio.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/regulator/fixed.h>
#include <linux/regulator/machine.h>
#include <linux/smsc911x.h>
#include <linux/smsc911x.h>
#include <linux/usb/r8a66597.h>
#include <linux/usb/r8a66597.h>
#include <linux/usb/renesas_usbhs.h>
#include <linux/usb/renesas_usbhs.h>
@@ -57,6 +59,12 @@
#define GPIO_PCF8575_PORT15	(GPIO_NR + 13)
#define GPIO_PCF8575_PORT15	(GPIO_NR + 13)
#define GPIO_PCF8575_PORT16	(GPIO_NR + 14)
#define GPIO_PCF8575_PORT16	(GPIO_NR + 14)


/* Dummy supplies, where voltage doesn't matter */
static struct regulator_consumer_supply dummy_supplies[] = {
	REGULATOR_SUPPLY("vddvario", "smsc911x"),
	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
};

/*
/*
 * FSI-AK4648
 * FSI-AK4648
 *
 *
@@ -322,6 +330,13 @@ static struct platform_device lcdc_device = {
	},
	},
};
};


/* Fixed 1.8V regulator to be used by MMCIF */
static struct regulator_consumer_supply fixed1v8_power_consumers[] =
{
	REGULATOR_SUPPLY("vmmc", "sh_mmcif.0"),
	REGULATOR_SUPPLY("vqmmc", "sh_mmcif.0"),
};

/* MMCIF */
/* MMCIF */
static struct resource sh_mmcif_resources[] = {
static struct resource sh_mmcif_resources[] = {
	[0] = {
	[0] = {
@@ -358,6 +373,13 @@ static struct platform_device mmc_device = {
	.resource	= sh_mmcif_resources,
	.resource	= sh_mmcif_resources,
};
};


/* Fixed 2.8V regulators to be used by SDHI0 */
static struct regulator_consumer_supply fixed2v8_power_consumers[] =
{
	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
};

/* SDHI */
/* SDHI */
static struct sh_mobile_sdhi_info sdhi0_info = {
static struct sh_mobile_sdhi_info sdhi0_info = {
	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT,
	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT,
@@ -619,6 +641,12 @@ device_initcall(as3711_enable_lcdc_backlight);


static void __init kzm_init(void)
static void __init kzm_init(void)
{
{
	regulator_register_always_on(0, "fixed-1.8V", fixed1v8_power_consumers,
				     ARRAY_SIZE(fixed1v8_power_consumers), 1800000);
	regulator_register_always_on(1, "fixed-2.8V", fixed2v8_power_consumers,
				     ARRAY_SIZE(fixed2v8_power_consumers), 2800000);
	regulator_register_fixed(2, dummy_supplies, ARRAY_SIZE(dummy_supplies));

	sh73a0_pinmux_init();
	sh73a0_pinmux_init();


	/* enable SCIFA4 */
	/* enable SCIFA4 */