[PATCH] hxd8-resume.patch

Arnaud Patard (Rtp) arnaud.patard at rtp-net.org
Wed May 23 09:47:19 CEST 2007

Harald Welte <laforge at openmoko.org> writes:


> On Tue, May 22, 2007 at 06:20:49PM +0200, Arnaud Patard wrote:
>> > – ?,2007-05-22 – 13:50 +0200,Harald Welte ?°:
>> >> Hi Matt!
>> >> 
>> >> The patch seems fine to me (style-wise), however:
>> >> 
>> >> On Sun, May 20, 2007 at 04:13:20PM +0800, matt_hsu wrote:
>> >> > Log:
>> >> > 	HXD8: GPG[15:13] must be selected as input for resuming from u-boot.
>> >> 
>> >> the most important bit is missing: WHY?
>> >> 
>> > I checked the source, it's result from s3c2410_ts_connect() in
>> > s3c2410_ts.c. Even the GPIO configuration (GPGCON) is correct in uboot.
>> > TS module would modify these important bits. 
>> >
>> > But doesn't these bits affect resume logic for GTA01?
>> > This caution is not mentioned in S3C2410 datasheet. 
>> > That is, GPG[13:15] are not functional pins in NAND boot mode in 2410.
>> >
>> > So I think this patch should be applied on GTA02 if TS module is
>> > included. 
>> hmmm... Sorry, but I don't understand. When loaded, the ts driver configures
>> the gpio to "ts mode" and doesn't play anymore with them. Nothing to do
>> with suspend/resume.
> well, not exactly.  Without looking at the documentation again, IIRC the GPG[13:15]
> gpio's are used to determine the bootup memory configuration on the
> s3c2440.  The resume-from-RAM code in a NAND-only configuration requires

2440 ? uh... I though we were talking about the 2410 :(

> that the first 4k of the bootloader are loaded from NAND into internal
> SRAM (steppingstone) for the resume logic to work.
> The current s3c2410_ts driver however seems to assume that it is always
> only running on s3c2410, not s3c2440.  Thus, it reconfigures GPG12..15
> unconditionally.

the ts driver is called "s3c2410_ts" for some reason :) For the 2440 but
the driver may need some tweaks. I'm not even sure that you need to play
with GPG12..15 (I don't have a 2440 datasheet at hand so it's iirc).

> The correct solution to this problem thus is: Put the GPG12..15
> initialization in a s3c2410 specific section (runtime, not compile
> time).

What about doint like in the udc driver: different platforms driver
structure and check against pdev->name ? 
May be interesting also to look at the other SoC from Samsung if they
need similar tweak so that you can design a generic solution not
something limited to s3c2410/s3c2440.


More information about the openmoko-kernel mailing list