arm-exynos4: add regulator fix patches for SMDK310 and Origen boards
Without those patches, both drivers oopses, due to a bug at the dummy regulator on Kernel 3.6. Also, some board components don't work without it. Those patches could not be 100% correct, but all components that are known to work with the upstream Kernel are available with it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
162ad0ffb6
commit
d4d4cfe7bf
|
@ -0,0 +1,12 @@
|
|||
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
|
||||
index 4e574c2..5028fee 100644
|
||||
--- a/arch/arm/mach-exynos/mach-origen.c
|
||||
+++ b/arch/arm/mach-exynos/mach-origen.c
|
||||
@@ -121,6 +121,7 @@ static struct regulator_consumer_supply __initdata ldo14_consumer[] = {
|
||||
};
|
||||
static struct regulator_consumer_supply __initdata ldo17_consumer[] = {
|
||||
REGULATOR_SUPPLY("vdd33", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */
|
||||
+ REGULATOR_SUPPLY("vmmc", NULL),
|
||||
};
|
||||
static struct regulator_consumer_supply __initdata buck1_consumer[] = {
|
||||
REGULATOR_SUPPLY("vdd_arm", NULL), /* CPUFREQ */
|
|
@ -0,0 +1,36 @@
|
|||
--- linus.orig/arch/arm/mach-exynos/mach-smdkv310.c
|
||||
+++ linus/arch/arm/mach-exynos/mach-smdkv310.c
|
||||
@@ -14,6 +14,8 @@
|
||||
#include <linux/lcd.h>
|
||||
#include <linux/mmc/host.h>
|
||||
#include <linux/platform_device.h>
|
||||
+#include <linux/regulator/fixed.h>
|
||||
+#include <linux/regulator/machine.h>
|
||||
#include <linux/smsc911x.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
@@ -380,6 +382,14 @@ static void __init smdkv310_reserve(void
|
||||
s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
|
||||
}
|
||||
|
||||
+static struct regulator_consumer_supply vddmmc_consumers[] __devinitdata = {
|
||||
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
|
||||
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.1"),
|
||||
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.2"),
|
||||
+ REGULATOR_SUPPLY("vdd33a", "smsc911x"),
|
||||
+ REGULATOR_SUPPLY("vddvario", "smsc911x"),
|
||||
+};
|
||||
+
|
||||
static void __init smdkv310_machine_init(void)
|
||||
{
|
||||
s3c_i2c1_set_platdata(NULL);
|
||||
@@ -387,6 +397,9 @@ static void __init smdkv310_machine_init
|
||||
|
||||
smdkv310_smsc911x_init();
|
||||
|
||||
+ regulator_register_always_on(0, "fixed-3.3V", vddmmc_consumers,
|
||||
+ ARRAY_SIZE(vddmmc_consumers), 3300000);
|
||||
+
|
||||
s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata);
|
||||
s3c_sdhci1_set_platdata(&smdkv310_hsmmc1_pdata);
|
||||
s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata);
|
|
@ -741,6 +741,10 @@ Patch21006: arm-tegra-sdhci-module-fix.patch
|
|||
# ARM highbank patches
|
||||
Patch21010: arm-highbank-sata-fix.patch
|
||||
|
||||
# ARM exynos4
|
||||
Patch21020: arm-smdk310-regulator-fix.patch
|
||||
Patch21021: arm-origen-regulator-fix.patch
|
||||
|
||||
Patch21094: power-x86-destdir.patch
|
||||
|
||||
#rhbz 754518
|
||||
|
@ -1341,6 +1345,9 @@ ApplyPatch arm-tegra-nvec-kconfig.patch
|
|||
ApplyPatch arm-tegra-usb-no-reset-linux33.patch
|
||||
ApplyPatch arm-tegra-sdhci-module-fix.patch
|
||||
|
||||
ApplyPatch arm-smdk310-regulator-fix.patch
|
||||
ApplyPatch arm-origen-regulator-fix.patch
|
||||
|
||||
#
|
||||
# bugfixes to drivers and filesystems
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue