r1580 - trunk/src/target/kernel/patches

laforge at sita.openmoko.org laforge at sita.openmoko.org
Fri Mar 30 21:34:59 CEST 2007


Author: laforge
Date: 2007-03-30 21:34:59 +0200 (Fri, 30 Mar 2007)
New Revision: 1580

Modified:
   trunk/src/target/kernel/patches/hxd8-core.patch
Log:
* use new configurable PCF50606 driver


Modified: trunk/src/target/kernel/patches/hxd8-core.patch
===================================================================
--- trunk/src/target/kernel/patches/hxd8-core.patch	2007-03-30 19:34:41 UTC (rev 1579)
+++ trunk/src/target/kernel/patches/hxd8-core.patch	2007-03-30 19:34:59 UTC (rev 1580)
@@ -1,8 +1,8 @@
 This patch adds another machine, the FIC HXD8
 Index: linux-2.6.20.4/arch/arm/mach-s3c2410/Kconfig
 ===================================================================
---- linux-2.6.20.4.orig/arch/arm/mach-s3c2410/Kconfig	2007-03-28 23:11:54.000000000 +0200
-+++ linux-2.6.20.4/arch/arm/mach-s3c2410/Kconfig	2007-03-28 23:11:54.000000000 +0200
+--- linux-2.6.20.4.orig/arch/arm/mach-s3c2410/Kconfig	2007-03-30 21:05:37.000000000 +0200
++++ linux-2.6.20.4/arch/arm/mach-s3c2410/Kconfig	2007-03-30 21:06:10.000000000 +0200
 @@ -94,6 +94,12 @@
  	help
  	   Say Y here if you are using the FIC Neo1973 GSM Phone
@@ -18,8 +18,8 @@
  	bool "SMDK2440"
 Index: linux-2.6.20.4/arch/arm/mach-s3c2410/Makefile
 ===================================================================
---- linux-2.6.20.4.orig/arch/arm/mach-s3c2410/Makefile	2007-03-28 23:11:54.000000000 +0200
-+++ linux-2.6.20.4/arch/arm/mach-s3c2410/Makefile	2007-03-28 23:11:54.000000000 +0200
+--- linux-2.6.20.4.orig/arch/arm/mach-s3c2410/Makefile	2007-03-30 21:05:37.000000000 +0200
++++ linux-2.6.20.4/arch/arm/mach-s3c2410/Makefile	2007-03-30 21:06:10.000000000 +0200
 @@ -90,5 +90,6 @@
  obj-$(CONFIG_MACH_VSTMS)	+= mach-vstms.o
  obj-$(CONFIG_MACH_QT2410)	+= mach-qt2410.o
@@ -30,8 +30,8 @@
 Index: linux-2.6.20.4/arch/arm/mach-s3c2410/mach-hxd8.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.20.4/arch/arm/mach-s3c2410/mach-hxd8.c	2007-03-29 22:20:21.000000000 +0200
-@@ -0,0 +1,359 @@
++++ linux-2.6.20.4/arch/arm/mach-s3c2410/mach-hxd8.c	2007-03-30 21:32:34.000000000 +0200
+@@ -0,0 +1,450 @@
 +/* linux/arch/arm/mach-s3c2410/mach-hxd8.c
 + *
 + * S3C2440 Machine Support for the FIC HXD8
@@ -73,6 +73,8 @@
 +#include <linux/mtd/nand_ecc.h>
 +#include <linux/mtd/partitions.h>
 +
++#include <linux/pcf50606.h>
++
 +#include <asm/mach/arch.h>
 +#include <asm/mach/map.h>
 +#include <asm/mach/irq.h>
@@ -217,6 +219,93 @@
 +	.sets		= hxd8_nand_sets,
 +};
 +
++/* PMU configuration */
++
++static struct pcf50606_platform_data hxd8_pcf_pdata = {
++	.used_features	= PCF50606_FEAT_EXTON |
++			  PCF50606_FEAT_BBC |
++			  PCF50606_FEAT_WDT |
++			  PCF50606_FEAT_RTC |
++			  PCF50606_FEAT_PWM |
++			  PCF50606_FEAT_BATVOLT,
++	.onkey_seconds_required	= 5,
++	.rails	= {
++		[PCF50606_REGULATOR_D1REG] = {
++			.name		= "rc_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++		[PCF50606_REGULATOR_D2REG] = {
++			.name		= "gps_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++		[PCF50606_REGULATOR_D3REG] = {
++			.name		= "io2_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++		[PCF50606_REGULATOR_DCD] = {
++			.name		= "core_1v3",
++			.voltage	= {
++				.init	= 1300,
++				.max	= 1500,
++			},
++		},
++		[PCF50606_REGULATOR_DCDE] = {
++			.name		= "io1_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++		[PCF50606_REGULATOR_DCUD] = {
++			.name		= "rf_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++		[PCF50606_REGULATOR_IOREG] = {
++			.name		= "audio_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++		[PCF50606_REGULATOR_LPREG] = {
++			.name		= "lcm_3v3",
++			.voltage	= {
++				.init	= 3300,
++				.max	= 3300,
++			},
++		},
++	},
++};
++
++static struct resource hxd8_pmu_resources[] = {
++	[0] = {
++		.flags	= IORESOURCE_IRQ,
++		.start	= HXD8_IRQ_PCF50606,
++		.end	= HXD8_IRQ_PCF50606,
++	},
++};
++
++static struct platform_device hxd8_pmu_dev = {
++	.name		= "pcf50606",
++	.num_resources	= ARRAY_SIZE(hxd8_pmu_resources),
++	.resource	= hxd8_pmu_resources,
++	.dev		= {
++		.platform_data = &hxd8_pcf_pdata,
++	},
++};
++
 +/* LCD driver info */
 +
 +static struct s3c2410fb_mach_info hxd8_lcd_cfg __initdata = {
@@ -377,6 +466,8 @@
 +	//platform_device_register(&gta01_button_dev);
 +	platform_device_register(&hxd8_pm_gsm_dev);
 +
++	platform_device_register(&hxd8_pmu_dev);
++
 +	s3c2410_pm_init();
 +}
 +
@@ -394,8 +485,8 @@
 Index: linux-2.6.20.4/include/asm-arm/arch-s3c2410/hxd8.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.20.4/include/asm-arm/arch-s3c2410/hxd8.h	2007-03-29 22:17:17.000000000 +0200
-@@ -0,0 +1,13 @@
++++ linux-2.6.20.4/include/asm-arm/arch-s3c2410/hxd8.h	2007-03-30 21:06:10.000000000 +0200
+@@ -0,0 +1,16 @@
 +#ifndef _HXD8_H
 +#define _HXD8_H
 +
@@ -407,5 +498,8 @@
 +#define HXD8_GPIO_USB_CUR_SEL	S3C2410_GPA0
 +#define HXD8_GPIO_BACKLIGHT	S3C2410_GPB0
 +#define HXD8_GPIO_USB_PULLUP	S3C2410_GPB9
++#define HXD8_GPIO_PCF50606	S3C2410_GPF6
 +
++#define HXD8_IRQ_PCF50606	S3C2410_GPF6_EINT6
++
 +#endif





More information about the commitlog mailing list