kernel.git
8 years agofix-glamo-mci-ambiguous-timeout.patch last-om-2.6.24
Andy Green [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
fix-glamo-mci-ambiguous-timeout.patch

Sometimes we see failures with cards where the status is eg, 0x310.
This corresponds to a "no data" timeout and an assertion that the
data is present.  This patch makes the data present status have
priority over the timeout status.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years ago(no commit message)
Andy Green [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]

8 years agojbt6k74_no_deep_sleep.patch
Nicolas Dufresne [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
jbt6k74_no_deep_sleep.patch

This patch from

https://docs.openmoko.org/trac/ticket/1841

defeats deep sleep on the LCM ASIC and is reported to stop the WSOD
behaviour on LCMs that exhibit it.

8 years agochange-gta01-battery-driver-name.patch
\\\"Mike (mwester)\\ [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
change-gta01-battery-driver-name.patch

[Can this be added to "stable" please?  Thanks!  Simple, short,
non-descriptive names seem to be the norm for the nodes beneath
/sys/classes/power_supply, so there seems to be no reason to do
differently for the GTA01, especially when doing so adds an
unnecessary incompatibility.]

    change-gta01-battery-driver-name.patch

    This patch changes the name of the gta01 battery driver to "bat"
    in order to maintain compatability with the gta02 device.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agofix-missing-new-files-glofiish.patch
Andy Green [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
fix-missing-new-files-glofiish.patch

Add in uncommitted local files after Harald's patch

Reported-by: Stefan Schmidt <stefan@openmoko.org>
Signed-off-by: Andy Green <andy@openmoko.com>

8 years agogta01-battery-driver.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
gta01-battery-driver.patch

Adds a simple pass-through battery driver module for the GTA01.
This will simplify user-space by providing the same sysfs API
on both GTA01 and GTA02, and is a first step towards eliminating
the need for APM emulation.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agoGTA01-use-slow-SD-clock-when-gps-on.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
GTA01-use-slow-SD-clock-when-gps-on.patch

This patch implements Andy Green's SD clock slow-down code
for the GTA01 device.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agofix-gta01-s3c-mci-stop-clock-when-idle.patch
Mike Westerhof [Thu, 13 Nov 2008 20:38:35 +0000 (20:38 +0000)]
fix-gta01-s3c-mci-stop-clock-when-idle.patch

This patch, based on the work done by Andy Green for the Glamo mci
driver, makes sure that the SD clock only runs during data transfers.
This can be overridden on the kernel command line if desired.  Also
added is the ability for the maximum SD clock speed to be limited.

Signed-off-by: Mike Westerhof (mwester@dls.net)

8 years agofix-s3c2410-usb-controller-mode-change-always-EINVAL.patch
Andy Green [Thu, 5 Feb 2009 21:04:35 +0000 (21:04 +0000)]
fix-s3c2410-usb-controller-mode-change-always-EINVAL.patch

We always return -EINVAL when changing s3c2410 USB host and device modes
due to lack of { }.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years ago[ARM] S3C24xx: Add preliminary E-TEN glofiish M800 support
Harald Welte [Thu, 13 Nov 2008 08:29:11 +0000 (08:29 +0000)]
[ARM] S3C24xx: Add preliminary E-TEN glofiish M800 support

This patch adds preliminary support for the M800.  If booted
through haret, the system has the following working components:
* NAND read support
* framebuffer / LCM (no jbt6k74 power management yet)
* USB device controller (incl. Pullup)
* microSD card (incl. card-detect)
* backlight brightness control (using gta01-bl.c)
* input event device for power, camera and record button
* input event device for keyboard slide event
* bluetooth power control (using gta01-pm-bt)

Many things are still missing, like
* NAND write support
* GPS power control
* GSM/3G modem interface
* capsense buttons, joystick and querty-keyboard
* camera
* audio

Signed-off-by: Harald Welte <laforge@gnumonks.org>

8 years agoconfig-enable-ikconfig-proc.patch
Andy Green [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
config-enable-ikconfig-proc.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoconfig-enable-storing-config-in-kernel.patch
Andy Green [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
config-enable-storing-config-in-kernel.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-gta02-defconfig-uplevel.patch
Andy Green [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
fix-gta02-defconfig-uplevel.patch

Update packaging config to silence questions on oldconfig

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agojffs2-choke-gc-thread.patch
Andres Salomon [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
jffs2-choke-gc-thread.patch

I've noticed some pretty poor behavior on OLPC machines after bootup, when
gdm/X are starting.  The GCD monopolizes the scheduler (which in turns means
it gets to do more nand i/o), which results in processes taking much much
longer than they should to start.

As an example, on an OLPC machine going from OFW to a usable X (via auto-login
gdm) takes 2m 30s.  The majority of this time is consumed by the switch into
graphical mode.  With this patch, we cut a full 60s off of bootup time.  After
bootup, things are much snappier as well.

Note that we have seen a CRC node error with this patch that causes the machine
to fail to boot, but we've also seen that problem without this patch.

Signed-off-by: Andres Salomon <dilinger@debian.org>

8 years agoconfig-allow-gta02-usb-hiddev.patch
Andy Green [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
config-allow-gta02-usb-hiddev.patch

Tick requested that we allow USB HIDDEV config on GTA02
so he can strap one on some robot legs he is working on.
He found that having it as a module broke gadget support
somehow (?) so HID and HIDDEV are changed to in-kernel

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agopalliate_touch_screen_jitter.patch
I-Fan Chen [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
palliate_touch_screen_jitter.patch

    S3C24XX touchscreen: To palliate the data jitter from touchpanel
     Thanks to Dima Kogan patch eff39cde0d3cdd2afd5e1b4be5a8eb6cf195543e,
     in which try to balence the up/down events, and inspired this patch.
     We can observe a serious up/down jitter phenomenon when touching the touchscreen lightly.
     This only happens when the press  pressure is pretty light:
     eg. large scale light touch,
     starting to touch,
     or going to move finger from touch panel.
     This will make user space library think it got extra click events.
     In order to palliate with this phenomenon, we delayed the up event for a while,
     and see if it is a jitter or not.
     The threshold is crucial. If it is too long, multiple clicks will be filtered out.
     If it is too short we did not filter anything out.
     From the log and some survey we can see that the interval of two clicks is generally over 0.1 sec.
     And Most jitter events happens in 0.3 sec.
     And the longest duration of vision is about 1/16 sec, and it's not easy for human to notice.
     So I choose 1/16 sec as the threshold.
     This filters out most (not all) jitter events, and preserves the normal behavior we expected.

Signed-off-by: I-Fan Chen <tick@openmoko.com>

8 years agoS3C24xx NAND: allow for faster timings
Harald Welte [Thu, 5 Feb 2009 21:04:30 +0000 (21:04 +0000)]
S3C24xx NAND: allow for faster timings

Tacls can actually be zero with some NAND flash devices, so we need
to permit this.

Also, the TACLS register actually specifies the actual number of
HCLK clocks, where the TWRPH0 and TWRPH1 registers are auto-incremented
by one HCLK clock in hardware.

Signed-off-by: Harald Welte <laforge@openmoko.org>

8 years agoGTA02: Improve NAND timings
Harald Welte [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
GTA02: Improve NAND timings

Rather than using conservative default timings for the NAND flash,
use the timings as specified in the S3C2442B MCP data sheet.

Signed-off-by: Harald Welte <laforge@openmoko.org>

8 years agoconfig-enable-oprofile-gta01-gta02.patch
Andy Green [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
config-enable-oprofile-gta01-gta02.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years ago: lis302dl-wakeup-configuration.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
: lis302dl-wakeup-configuration.patch

Setup accelerometer interrupt to wake the device up

From: Simon Kagstrom <simon.kagstrom@gmail.com>

The threshold implementation recently broke this functionality. This
patch reinstates it again and simplifies the code a bit. It only
supports one of the two lis302dl interrupt sources now (which is the
only connected one on the openmoko). If you need to configure both, buy
an Iphone!

(Or flame this patch)

Note that, as before, the device immediately wakes up when put to sleep
with the wakeup configured. The interface is therefore not currently
very useful, but to use it do e.g.,

   echo 1 1 1 180 0 1 > wakeup

The value is of the form

   X Y Z THRESHOLD DURATION SPEC

X, Y and Z are threshold values, given as a value > 0, < 0 or 0 to
specify if an interrupt should be generated for high or low thresholds
or neither (off). THRESHOLD specifies the threshold that must be
exceeded, in mg. DURATION specifies the time in milliseconds for which
the acceleration should be measured. SPEC is either '1' or '0' and
specifies if the thresholds should be taken all together or one at a
time ('and' or 'or' mode).

Echoing '0' to the file turns off the interrupts.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years ago: lis302dl-open-floodgates-on-zero-threshold.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
: lis302dl-open-floodgates-on-zero-threshold.patch

Generate data ready interrupts if threshold is zero

From: Simon Kagstrom <simon.kagstrom@gmail.com>

If the threshold is set to zero, enable the data ready interrupt
(generated one interrupt per datum). Otherwise use the freefall
interrupt as source.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years ago: lis302dl-configure-duration.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
: lis302dl-configure-duration.patch

Allow configuration of the duration for thresholds

From: Simon Kagstrom <simon.kagstrom@gmail.com>

This patch allows the configuration of duration used when generating
filtered data (see the lis302dl application note). Also set a flag when
the DR bit in the ctrl1 register is set to change the data rate and
simplify the ms_to_duration utility functions.

The sysfs 'duration' file is used for this.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years ago: lis302dl-threshold-configuration-in-mg.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
: lis302dl-threshold-configuration-in-mg.patch

Change the threshold configuration to be set in mg instead

From: Simon Kagstrom <simon.kagstrom@gmail.com>

This patch changes the threshold sysfs file to handle values in mg
instead of the device-values. Overrun values have also been corrected
and the sampler function now honors the FS bit.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years ago: lis302dl-refactor-and-cleanup.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
: lis302dl-refactor-and-cleanup.patch

Some code refactoring.

From: Simon Kagstrom <simon.kagstrom@gmail.com>

Re-added __reg_read and __reg_write and re-indent the code according to
these. Move some input-related functions to get a more "logical" order,
e.g., in the future we might want to support clicks again and call these
from read_sample. Removed unused function pointer in the structure

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years agosuppress "onkey" events on resume [Was: Re: Where are actions configured for buttons...
\\\\\\\"Mike (mwester)\\\\\\ [Thu, 5 Feb 2009 21:04:23 +0000 (21:04 +0000)]
suppress "onkey" events on resume [Was: Re: Where are actions configured for buttons in FSO?]

Michael 'Mickey' Lauer wrote:
...
> The problem is (and this is the reason why I'm crossposting this to the
> kernel mailing list), the kernel is not swallowing the power button
> presses that triggers the resume, so you need some "real" programming
> (as opposed to the expressional complexity of our rules) in order to
> prevent falling asleep right after resume.
>
> Kernel-guys, can we change that?

suppress-resume-onkey-event.patch

This suppresses the key press and key release events from the
power button, in the case where the power button is the wake
event for the GTA01 or GTA02 device.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years ago: Acceleration threshold configuration: lis302dl-configure-threshold-on-bitbang.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:22 +0000 (21:04 +0000)]
: Acceleration threshold configuration: lis302dl-configure-threshold-on-bitbang.patch

Configure threshold for accelerometer input

From: Simon Kagstrom <simon.kagstrom@gmail.com>

This patch, based on bitbang-all-the-way from the andy branch,
implements a configurable acceleration threshold that need to be
exceeded for the accelerometer to generate input data. The threshold can
be set in sysfs:

   cd /sys/devices/.../lis302dl.1/
   echo 10 > threshold

A value of 10 (180 mg, from the lis302dl application note) seems
empirically good to keep the accelerometers quiet while riding a (calm)
train.

The patch moves the sample reading for the accelerometers from
mach-gta02.c to lis302dl.c and instead exports the generic
lis302dl_bitbang function. This is to easier support both "raw" data
reading and reading with a threshold in the future (not yet implemented).

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years agofix-lid302dl-bitbang-all-the-way-baby.patch
Andy Green [Mon, 13 Oct 2008 10:01:05 +0000 (11:01 +0100)]
fix-lid302dl-bitbang-all-the-way-baby.patch

This large patch removes motion sensor from Linux SPI bitbang driver.
Previously, some access was done through Linux SPI protected
by a mutex, and the ISR access was done by platform bitbang code due
to inability of Linux SPI driver to work in the interrupt context.

Now all access is done by bitbang callbacks in mach_gta02.c and are
protected by single scheme of interrupt lockout for the duration --
I line-by-line'd the driver to confirm that best I could, adding
protection and taking more care on several /sys related paths.

Because this is no longer a Linux SPI bus driver, the path for various
/sys things have changed.  They can now be found down, eg,

/sys/devices/platform/lis302dl.1/sample_rate

lis302dl.1 is the top sensor and .2 the bottom.  The names of the input
susbsytem paths remain the same as before.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-defconfig-path.patch
Andy Green [Thu, 5 Feb 2009 21:04:22 +0000 (21:04 +0000)]
fix-defconfig-path.patch

Managed to miss off .../configs/ from new path, this corrects it and deletes
the maxmodules config (use the defconfig-gtaxx ones)

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoclean-move-defconfigs-stable.patch
Andy Green [Thu, 5 Feb 2009 21:04:22 +0000 (21:04 +0000)]
clean-move-defconfigs-stable.patch

This patch changes stable to delete defconfig-2.6.22.5 and defconfig-2.6.24-maxmodules,
and move defconfig-2.6.24 to arch/arm/gta02-moredrivers-defconfig

What's left in toplevel is defconfig-gta01 and defconfig-gta02, which we can imagine
is not that "confusing".

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-gcc-4.3-false-modulo-optimization.patch
Segher Boessenkool [Thu, 9 Oct 2008 19:18:27 +0000 (20:18 +0100)]
fix-gcc-4.3-false-modulo-optimization.patch

I tried to compile the current stable kernel
(a2ef813d2f439a3e9f377d33a2e5baad098afb7e)
and get the following errors:

kernel/built-in.o: In function `timespec_add_ns':
/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:174:
undefined reference to `__aeabi_uldivmod'
/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:179:
undefined reference to `__aeabi_uldivmod'
/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:174:
undefined reference to `__aeabi_uldivmod'
/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:179:
undefined reference to `__aeabi_uldivmod'

applying the following patch solved the problem:
--------
Prevent gcc-4.3 form "optimizing" the while loop into a costly modulo operation.
Patch found at http://lkml.org/lkml/2008/2/22/464.

Reported-by: Sven Rebhan <odinshorse@googlemail.com>
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>

8 years agoglamo_fb: Implement screen blanking
Harald Welte [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
glamo_fb: Implement screen blanking

This patch implements fb_blank() for the glamo-fb driver, which switches off
the pixel clock (DCLK) for power saving.

We currently delay the actual pixel clock switch until we enter
FB_BLANK_POWERDOWN, since the backlight fade is slow and we don't want the
user to see artefacts on the screen while the backlight is fading out.

So since the X server first sends FB_BLANK_{V,H}SYNC_SUSPEND, we start the
backlight fade here, and only once we get FB_BLANK_POWERDOWN the pixel clock is
disabled.

There are no measurements yet, but the power savings should be double, since
there is no longer any  generation of the high-frequency LCM signals, and
there are no video-related SDRAM accesses anymore.

Signed-off-by: Harald Welte <laforge@openmoko.org>

8 years agoglamo_fb: sync comment with code
Harald Welte [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
glamo_fb: sync comment with code

the comment claims that DHCLK is enabled, while the
code actually disables it.

No code change, purely cosmetic patch.

Signed-off-by: Harald Welte <laforge@openmoko.org>

8 years agoglamo_fb: Cosmetic cleanup
Harald Welte [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
glamo_fb: Cosmetic cleanup

Remove dead code and coding style fixes. Purely cosmetic.

Signed-off-by: Harald Welte <laforge@openmoko.org>

8 years agoconfig-remove-gta01-wm8752-from-gta02-defconfig.patch
Andy Green [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
config-remove-gta01-wm8752-from-gta02-defconfig.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoThis patch adds a framebuffer notifier in order to detect
Harald Welte [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
This patch adds a framebuffer notifier in order to detect
FB_BLANK events and switch the JBT6K74 LCM controller into
its power saving mode.

This has the potential of saving something like 50mW during screen blank.

Signed-off-by: Harald Welte <laforge@openmoko.org>

8 years agorevert-fix-build-with-no-config_mmc-glamo-resume-callback-part.patch
Andy Green [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
revert-fix-build-with-no-config_mmc-glamo-resume-callback-part.patch

Thomas White noticed that the recent patch from Andrzej cleaning up a
nasty cast in the resume_dependency stuff for Glamo broke resume.  The
problem was that the wrong resume callback was arrived at by the new
code, the one in the device's device_driver struct rather than the
struct platform_driver that actually holds the right pointer.

Since this code will be gone in 2.6.26, I reverted this part of Andrzej's
patch, tidying the cast a bit anyway.

Reported-by: Thomas White <taw27@cam.ac.uk>
Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-build-with-no-CONFIG_MMC
Andrzej Zaborowski [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
fix-build-with-no-CONFIG_MMC

I hit this when updating to 2.6.26.  Also if CONFIG_MMC is enabled this
patch converts this horrible horrible hack into a horrible hack by using
dev->resume() (untested).

Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>

8 years agofix-glamo-mci-slow-clock-until-first-bulk.patch
Andy Green [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
fix-glamo-mci-slow-clock-until-first-bulk.patch

This patch adds another module parameter to glamo-mci which sets the
SD Card clock rate used inbetween powering the card and the completion of
the first bulk transfer.  You can set it from kernel commandline like this.

glamo_mci.sd_post_power_clock=1000000

The period between changing the power state and the first bulk transfer
completion is critical because larger SDHC cards take longer to initialize
before they can service the bulk transfer, and the Glamo MMC unit has a
fixed timeout length of a maximum of 4095 x 16 x SD Card clocks.  Large
cards like 8GB Sandisk SDHC are not ready before this timeout is used up
at default 16MHz.

Subsequently, the card can handle 16MHz SD Clock and timeout durations
okay.

By default this patch operates the SD Clock at only 1MHz until the first
bulk transfer is completed after each powerup action from the MCI stack.  It
also keeps the SD Clock running during this time, and disables the SD Clock
if the card is not present and the MCI stack removes power.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agogta03-pca9632.patch
Matt Hsu [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
gta03-pca9632.patch

 - pca9632 is a LED driver which will be adopted in gta03.

Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>

8 years agoSubject: [PATCH] rework-to-make-USBINS-USBREM-exclusive.patch
Matt Hsu [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
Subject: [PATCH] rework-to-make-USBINS-USBREM-exclusive.patch

This patch is a work-around solution to correct charging indication logic.

Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>

8 years agoar6k-essid-one-and-32.patch
Werner Almesberger [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
ar6k-essid-one-and-32.patch

This patch allows ESSID with length 1, which were rejected because the
stack assumed iwconfig used a different format in the ioctl's payload.

It also refuses ESSIDs longer than 31 bytes, because there is some
buffer overrun issue buried somewhere else in the stack. In principle,
32 bytes should be fine.

Open issue:
- where is the 32 bytes overrun ?

Signed-off-by: Werner Almesberger <werner@openmoko.org>

8 years agonewline_after_disconnect_msg.patch
mattb [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
newline_after_disconnect_msg.patch

This is purely cosmetic, but annoying.

 The ar6k wifi driver does not print a newline after the informational message when disconnecting from an AP. This leads to cluttered dmesg output like the following:

 AR6000 disconnected from 00:02:cf:85:c6:08 AR6000 connected event on freq 2412 with bssid 00:02:cf:85:c6:08 listenInterval=100, beaconInterval = 100, beaconIeLen = 0 assocReqLen=27 assocRespLen =22

 What is expected, is something like:

 AR6000 disconnected from 00:02:cf:85:c6:08
 AR6000 connected event on freq 2412 with bssid 00:02:cf:85:c6:08 listenInterval=100, beaconInterval = 100, beaconIeLen = 0 assocReqLen=27 assocRespLen =22

 The upside of this is that it gives me a nice simple patch to send in as my first contribution to OpenMoko?.

 Cheers

Signed-off-by: mattb <mattb@openmoko-trac.invalid>

8 years agosoft_tap.patch
Dima Kogan [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
soft_tap.patch

Hi all.

I'm seeing a behavior in my freerunner where light taps on the
touchscreen are not registered as clicks by the kernel even though the
base hardware does report clicking events. I'm seeing the kernel
generate extra "unclick" events in these cases. It looks like in the
driver, an unclick event is processed before the click event, thus
suppressing the click from ever being generated. I'm attaching a patch
that addresses this. I'm now able to type much faster on the matchbox
keyboard, even when using my fingertips instead of fingernails.

Dima

Signed-off-by: Dima Kogan <dkogan@cds.caltech.edu>

8 years agofix-glamo-crank-memory-to-90MHz.patch
Andy Green [Thu, 5 Feb 2009 21:04:17 +0000 (21:04 +0000)]
fix-glamo-crank-memory-to-90MHz.patch

This changes Glamo memory and now host bus PLL to 90MHz from
80MHz, as recommended by S-Media.  Bandwidth should go up
by 12.5% by this in raw terms anyway.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-glamo-idleclock-around-suspend.patch
Andy Green [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
fix-glamo-idleclock-around-suspend.patch

Possible implementation of SD Card corruption workaround reported here

https://docs.openmoko.org/trac/ticket/1802#comment:5

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-one-mmc-race.patch
Andy Green [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
fix-one-mmc-race.patch

Some boots from Qi trigger a symptom from this interesting race -->

[    2.730000] Unable to handle kernel NULL pointer dereference at virtual address 00000248
[    2.730000] pgd = c0004000
[    2.735000] [00000248] *pgd=00000000
[    2.735000] Internal error: Oops: 5 [#1] PREEMPT
[    2.735000] Modules linked in:
[    2.735000] CPU: 0    Not tainted  (2.6.24-stable10_0c1587137aaf0ee3-mokodev #1071)
[    2.735000] PC is at pcf50633_voltage_set+0x1c/0xfc
[    2.735000] LR is at gta02_glamo_mmc_set_power+0xdc/0x128
[    2.735000] pc : [<c01df570>]    lr : [<c0034324>]    psr: 60000013
[    2.735000] sp : c7c57eb0  ip : c7c57ec8  fp : c7c57ec4
[    2.735000] r10: c7cfca28  r9 : 00000000  r8 : c7c57f68
[    2.735000] r7 : c7cfca68  r6 : c7cfcae0  r5 : 00000c80  r4 : 00000000
[    2.735000] r3 : 00000000  r2 : 00000c80  r1 : 0000000a  r0 : 00000c80
[    2.735000] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    2.735000] Control: c000717f  Table: 30004000  DAC: 00000017
[    2.735000] Process kmmcd (pid: 102, stack limit = 0xc7c56268)
[    2.735000] Stack: (0xc7c57eb0 to 0xc7c58000)
[    2.735000] 7ea0:                                     c0608c58 00000c80 c7c57edc c7c57ec8
[    2.735000] 7ec0: c0034324 c01df564 c7cfca28 c7cfc800 c7c57f1c c7c57ee0 c0194de0 c0034258
[    2.735000] 7ee0: c7c57f34 c7c57ef0 c01e6230 c005de5c 60000013 c7cfca28 c7cfc800 60000013
[    2.735000] 7f00: c7cfca68 c7c57f68 00000000 c01e6778 c7c57f34 c7c57f20 c01e5d68 c0194da8
[    2.735000] 7f20: c7cfc800 c7cfca08 c7c57f5c c7c57f38 c01e6810 c01e5cbc c0059278 c7c57f48
[    2.735000] 7f40: c02d2ba0 00000002 c7c44420 c7c56000 c7c57f9c c7c57f60 c00592e0 c01e6788
[    2.735000] 7f60: 00000002 c0059278 c0608d74 c04321cc c036e16c 00000000 c7c57fb0 c7c44420
[    2.735000] 7f80: c7c56000 00000000 00000000 00000000 c7c57fd4 c7c57fa0 c005a068 c00591ec
[    2.735000] 7fa0: c02d0624 00000000 c7c4c0e0 c005dc2c c7c57fb0 c7c57fb0 00000000 c7c56000
[    2.735000] 7fc0: c7c44420 c0059f84 c7c57ff4 c7c57fd8 c005db28 c0059f94 00000000 00000000
[    2.735000] 7fe0: 00000000 00000000 00000000 c7c57ff8 c004b170 c005dad8 ffffffff ffffffff
[    2.735000] Backtrace:
[    2.735000] [<c01df554>] (pcf50633_voltage_set+0x0/0xfc) from [<c0034324>] (gta02_glamo_mmc_set_power+0xdc/0x128)
[    2.735000]  r5:00000c80 r4:c0608c58
[    2.735000] [<c0034248>] (gta02_glamo_mmc_set_power+0x0/0x128) from [<c0194de0>] (glamo_mci_set_ios+0x48/0x254)
[    2.735000]  r5:c7cfc800 r4:c7cfca28
[    2.735000] [<c0194d98>] (glamo_mci_set_ios+0x0/0x254) from [<c01e5d68>] (mmc_power_up+0xbc/0x100)
[    2.735000] [<c01e5cac>] (mmc_power_up+0x0/0x100) from [<c01e6810>] (mmc_rescan+0x98/0x1a8)
[    2.735000]  r5:c7cfca08 r4:c7cfc800
[    2.735000] [<c01e6778>] (mmc_rescan+0x0/0x1a8) from [<c00592e0>] (run_workqueue+0x104/0x208)
[    2.735000]  r6:c7c56000 r5:c7c44420 r4:00000002
[    2.735000] [<c00591dc>] (run_workqueue+0x0/0x208) from [<c005a068>] (worker_thread+0xe4/0xf8)
[    2.735000] [<c0059f84>] (worker_thread+0x0/0xf8) from [<c005db28>] (kthread+0x60/0x94)
[    2.735000]  r6:c0059f84 r5:c7c44420 r4:c7c56000
[    2.735000] [<c005dac8>] (kthread+0x0/0x94) from [<c004b170>] (do_exit+0x0/0x6f4)
[    2.735000]  r6:00000000 r5:00000000 r4:00000000
[    2.735000] Code: e351000a e1a04000 e1a00002 8a000032 (e5943248)
[    2.745000] ---[ end trace 123ec1d286354824 ]---

This problem was caused by insufficient timeout waiting for pcf50633 to resume
and broken code to detect timeout exhaustion.

Although I'd like to think it has something to do with mmc resume woes it should make a panic
and subsequent emergency spew on UART2 if that had been the case.

Took the opportunity to move the stuff to show completion of probe to later in the
pcf50633 probe and tighten readiness test.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agogta02-accel-isr-fix-more.patch
Andy Green [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
gta02-accel-isr-fix-more.patch

Fix all of the mismatches Andrzej put us on to.

Found-by: Andrzej Zaborowski <balrogg@gmail.com>
Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoFrom: Andrzej Zaborowski <balrogg@gmail.com>
Andy Green [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
From: Andrzej Zaborowski <balrogg@gmail.com>

fix-accel-irq-mismatch.patch

I just found a while to start doing something cool with the
accelerometers but I hit #1613 (both accelerometer nodes can't be read
concurrently for longer than a moment). Turns out to be very silly.
I'll continue the cool stuff another day,
Cheers

8 years agocheckpatch-accel-fixes.patch
Andy Green [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
checkpatch-accel-fixes.patch

style cleanups for accel threshold setting patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agointerface for configuring freefall/wakeup interrupts for the accelerometers
Simon Kagstrom [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
interface for configuring freefall/wakeup interrupts for the accelerometers

Hi!

First: Unfortunately, the freerunner currently wakes up immediately on
suspend when the accelerometer IRQ is selected as a wakeup source. I'm
posting this for comments and if someone else wants to have a look at
this problem.

The patch should be safe to apply even though the sleep portion doesn't
work - as long as it's configured it will not disturb anything.

// Simon
--
lis302dl-configure-wakeup-interrupts.patch

From: simon.kagstrom <simon.kagstrom@gmail.com>

First: Unfortunately, the freerunner currently wakes up immediately on
suspend when the accelerometer IRQ is selected as a wakeup source.

Add configuration of wakeup/freefall interrupts through a sysfs
interface. Configuration is done through echoing a value of the
form

   X Y Z THRESHOLD DURATION SPEC

to freefall_wakeup_1/2. X, Y and Z are threshold values, given as a
value > 0, < 0 or 0 to specify if an interrupt should be generated for
high or low thresholds or neither (off). THRESHOLD specifies the
threshold that must be exceeded. DURATION specifies the time in
milliseconds for which the acceleration should be measured. SPEC is
either '1' or '0' and specifies if the thresholds should be taken all
together or one at a time ('and' or 'or' mode).

Echoing '0' to the file turns off the interrupts.

Example:

  echo "1 1 1 60 60 0" > freefall_wakeup_1   # Turn on x,y,z, 60ms/60 threshold, or-mode
  echo "0" > freefall_wakeup_1 # Turn off interrupt

The hardware supports two simulataneous wakeup sources to be configured,
but the freerunner only connects one of the interrupt outputs. The patch
exports both. Similarly, only the "top" accelerometer can be used as a
wake-up source, and it's not possible to generate DATA_READY interrupts
while the wakeup interrupts are active.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years agoFrom 5ee1ee9e1c8a652b0f9cde72ad5e547db87d4d67 Mon Sep 17 00:00:00 2001
Holger Freyther [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
From 5ee1ee9e1c8a652b0f9cde72ad5e547db87d4d67 Mon Sep 17 00:00:00 2001
Subject: [PATCH] [gta02] Disable hardware ECC unless we get instructed to enable it
     This is restoring the old behavior in regard to ECC. Even if
     hardware ECC was compiled in we didn't use it. Make this a runtime
     option. If the bootloader passes hardware_ecc we will enable the
     hardware ECC for real.

8 years agoFrom ca800f8b234299c56530e56018c031957c5c7ffb Mon Sep 17 00:00:00 2001
Holger Freyther [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
From ca800f8b234299c56530e56018c031957c5c7ffb Mon Sep 17 00:00:00 2001
Subject: [PATCH] [gta02] Disable the NAND debugging as it would print every hardware ECC

8 years agoFrom 98d97ee93af676f7d6d0bf55aaae17e11304598a Mon Sep 17 00:00:00 2001
Holger Freyther [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
From 98d97ee93af676f7d6d0bf55aaae17e11304598a Mon Sep 17 00:00:00 2001
Subject: [PATCH] Revert "s3c2440-nand-disable-hwecc.patch"

This reverts commit 1d89da736ed33d3f7c398fb9f8dfddecb7c7c7a9.

8 years agolis302dl-add-wakeup-defs.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:16 +0000 (21:04 +0000)]
lis302dl-add-wakeup-defs.patch

Add definitions for the rest of the wakeup defs and also change FFWUSRC1
to FFWUSRC - there are two of these which are identical.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years agolis302dl-allow-unloading-module.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:12 +0000 (21:04 +0000)]
lis302dl-allow-unloading-module.patch

This patch fixes module unloading for the accelerometer (actually module
loading failed before). The two problems were that the interrupt was not
unregistered, and that the device was left in a "strange" state.

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years agomach-gta02-spell-fixes.patch
Simon Kagstrom [Thu, 5 Feb 2009 21:04:12 +0000 (21:04 +0000)]
mach-gta02-spell-fixes.patch

Fix spelling error on function name

Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>

8 years agoclean-checkpatch-gsm-resume-dep.patch
Andy Green [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
clean-checkpatch-gsm-resume-dep.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoclean-remove-suspend-dependencies-syslog.patch
Andy Green [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
clean-remove-suspend-dependencies-syslog.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoalways-call-resume-dependencies.patch
\\\\\\\"Mike (mwester)\\\\\\ [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
always-call-resume-dependencies.patch

Attached is a patch that has greatly reduced the frequency of failures
to resume (due to an oops from the glamo resume handler), and the
dreaded "white screen after resume".  I can't say that it fixes all of
these, although I have yet to see the white-screen since applying this
patch and suspending/resuming several hundred times (with the 30-second
suspend on the 2008.8 image and the endless stream of GSM error messages
generated by something in that image, it has proved to be very useful to
do an automated stress test!)

This patch will apply to stable, and should make stable slightly more,
well, "stable".

[Feel free to remove the debug messages if someone feels strongly about
that; I left them in because I think they might be useful in triaging
further crashes; I'm not at all convinced that this patch will fix all
the cases of resume failures.]

[[And, yes, this is ugly, really ugly.]]

[[[Oh yeah - there's still one extreme case that will result in an oops:
 if a dependent driver is built as a module, and it is unloaded, and it
happened that the preceding suspend/resume was aborted, and that abort
happened between the dependent driver and the driver upon which it is
dependent, then a list entry will be left behind referencing the
unloaded module.  There's just no good way to fix that given the way the
resume dependency plumbing is connected up right now, so just avoid
using modules for any of the drivers involved in the resume dependency
stuff.]]]

Regards,
Mike (mwester)
commit 905d2fc9c45f622418ce9ef4e67c23453aab7571
Author: Mike Westerhof <mwester@dls.net>
Date:   Mon Aug 11 11:11:25 2008 -0500

    always-call-resume-dependencies.patch

    Ensure that a dependent resume handler is always executed,
    even if the resume handler for driver upon which it is
    dependent never suspends (and therefore never resumes either).
    Also make sure that we do not end up with duplicate
    dependencies registered, something that can happen if the
    suspend is aborted due to driver failure or an early resume
    (such as occurs when the GSM interrupts during suspend).

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agofix-no-discharging.patch
Andy Green [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
fix-no-discharging.patch

We failed to report status of "discharging", instead reporting
"not charging" even if we knew that the charger was not present.

This patch corrects it and reports "discharging" when charger
is absent.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoadd-includes-from-checkpatch-fixes.patch
Andy Green [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
add-includes-from-checkpatch-fixes.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agocheckpatch-fixes.patch
Andy Green [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
checkpatch-fixes.patch

This cleans out some random externs in C files that checkpatch does not like
and introduces a couple of .h files to contain them.  Plus some other minor
checkpatch style complaints.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agogta01-uart-fifo-trigger-sooner.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
gta01-uart-fifo-trigger-sooner.patch

    Set the UART FIFO to trigger earlier on the GTA01 device to minimize
    UART overruns from the GSM.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agofix-suspend-backlight-timing-gta01.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
fix-suspend-backlight-timing-gta01.patch

    This patch adds the gta01 backlight callback that defers the
    restoring of the backlight until after the jbt driver has
    resumed.  This doesn't eliminate the flashing of the LCD on
    the gta01, but it reduces it considerably.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agogta01-pcf50606-disable-irq-from-suspend-until-resume.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
gta01-pcf50606-disable-irq-from-suspend-until-resume.patch

    This patch is the pcf50606 equivalent of the pcf50633 patch that
    disables interrupts from the chip until after resume is complete.
    In order to ensure no data is lost, the work function is called
    post-resume to process any pending interrupts.

    Most of the code was quite literally re-used from Andy Green's
    original patch.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agosilence-serial-console-gta01.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
silence-serial-console-gta01.patch

    This patch ensures that no console data will go the UART while
    the GSM mux is switched to the GSM.  This is necessary despite
    the code that disables the console due to the fact that the
    console resumes before the neo1973_pm_gsm driver, and consoles
    always resume in the "on" state.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agocommit 830ea3d0c27c0c750b7bf1b56c002ee7943f3edc
Mike Westerhof [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
commit 830ea3d0c27c0c750b7bf1b56c002ee7943f3edc

    gta0x-log-serial-rx-error.patch

    This patch causes a KERN_DEBUG message to be printed each time an
    error status is read from a UART.  This is intended to facilitate
    the reporting of more useful problem and bug reports from users
    in the field.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agogta0x-add-minimal-GSM-flowcontrol.patch
Mike Westerhof [Thu, 5 Feb 2009 21:04:11 +0000 (21:04 +0000)]
gta0x-add-minimal-GSM-flowcontrol.patch

    Add the basic GSM flowcontrol code.

Signed-off-by: Mike Westerhof <mwester@dls.net>

8 years agoconfig-add-udf-support.patch
Andy Green [Thu, 5 Feb 2009 21:04:02 +0000 (21:04 +0000)]
config-add-udf-support.patch

Timo noticed that his compound USB device wasn't getting recognized properly,
it was stuck on the CD-ROM class part of it.  This was accepted by the GTA02
but no scsi device was spawned for it.  He figured out in the end that it is
the lack of a UDF filesystem module that was the problem.

This patch adds UDF and CDROM as a built-in on defconfig-2.6.24, for the
modular configs it just adds it as a module.

Reported-by: Timo Drick <timo@drick.de>
Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoconfig-remove-evbug-module.patch
Andy Green [Thu, 5 Feb 2009 21:04:02 +0000 (21:04 +0000)]
config-remove-evbug-module.patch

Carsten mentioned that evbug module is getting modprobed in
to ASU somehow and making havoc.  This patch stops us building
it because there's no time to figure out why it gets modprobed
in and it doesn't seem to do anything but spew syslog -- and we
never needed it before now.

Reported-by: Carsten Haitzler <raster@openmoko.org>
Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoFrom fa269b44512a03523b164c3cebc20312748c524b Mon Sep 17 00:00:00 2001
Holger Freyther [Thu, 5 Feb 2009 21:04:02 +0000 (21:04 +0000)]
From fa269b44512a03523b164c3cebc20312748c524b Mon Sep 17 00:00:00 2001
Subject: [PATCH] [ar6k] Build the wireless driver without DEBUG
    - Remove DEBUG from the Makefile

    - Do not send events through netlink to userspace. We might
      need to reevaluate this. But we seem to use wireless_send_event
      at the right places.
      (SEND_EVENT_TO_APP)

    - Do not report debug logs to apps
      (REPORT_DEBUG_LOGS_TO_APP)

Signed-Off-By: Holger Freyther <zecke@openmoko.org>

8 years agoadd-build-makerecovery.patch
Andy Green [Thu, 5 Feb 2009 21:04:02 +0000 (21:04 +0000)]
add-build-makerecovery.patch

This patch adds a script that creates a "recovery kernel" image
from a recovery-uImage-moredrivers-... image.  The use of these
recovery images is explained here:

http://wiki.openmoko.org/wiki/Freerunner_backup_kernel

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-build-hash-name-no-colon-separator.patch
Andy Green [Thu, 5 Feb 2009 21:03:57 +0000 (21:03 +0000)]
fix-build-hash-name-no-colon-separator.patch
Suggested-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

Colons are not very friendly for tar... scp has trouble too but
you can override that by prepending any path like ./ ... still
better to dilute the colon down to a _ avoiding - because it can
appear in branch names we use.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoadd-buildkeep-hash-named-copy.patch
Andy Green [Thu, 5 Feb 2009 21:03:57 +0000 (21:03 +0000)]
add-buildkeep-hash-named-copy.patch

Keep a copy of last "moredrivers" config kernel built stamped with
branch and git head at build time.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoadd-build-git-head-info.patch
Andy Green [Thu, 5 Feb 2009 21:03:57 +0000 (21:03 +0000)]
add-build-git-head-info.patch

This patch adds the branch and truncated head has to the version of the
kernel

# cat /proc/version
Linux version 2.6.26-andy-2.6.26:2b3bf342baac52b9-mokodev (agreen@pads.home.warmcat.com) (gcc version 4.1.2) #878 PREEMPT Sun Jul 27 14:45:25 BST 2008

Note this versioning is visible down /lib/modules

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-pcf50633-usbrem-charging-led.patch
Andy Green [Thu, 5 Feb 2009 21:03:54 +0000 (21:03 +0000)]
fix-pcf50633-usbrem-charging-led.patch

If the charger was removed, we fell through back to old
hdq-driven code with normally wrong but slightly random
results for charging LED behaviour in that circumstance

This patch makes us use the tracked charger status
callbacks alone if they are defined in the platform
data.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoconfig-usb-over-ethernet-module.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
config-usb-over-ethernet-module.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-add-missing-include.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
fix-add-missing-include.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agouse-gta02-glamo-mci-sd-dynamic-clock.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
use-gta02-glamo-mci-sd-dynamic-clock.patch

This patch uses the new glamo-mci slow clock ratio
patch in order to dynamically reduce SD Card clock
rate when the GPS unit is powered on GTA02.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoadd-glamo-mci-slower-clocking-dynamic-switching.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
add-glamo-mci-slower-clocking-dynamic-switching.patch

This patch gives glamo-mci a concept of a platform-defined
dynamic clock slowing callback.  It means that platform code
can associate some completely external state to decide if
we run the SD clock at normal rate or a rate divided by a
module parameter "sd_slow_ratio", which you can set on
kernel commandline like this:

glamo_mci.sd_slow_ratio=8

you can also change it at runtime by

echo 8 > /sys/module/glamo_mci/parameters/sd_slow_ratio

If no platform callback is defined, then no slow mode
is used.  If it is defined, then the default division
action is / 8, eg, 16MHz normal -> 2MHz slow mode.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-glamo-mci-dont-filter-voltage-change.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
fix-glamo-mci-dont-filter-voltage-change.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-allow-full-sd-voltage-range-selection.patch
Andy Green [Wed, 30 Jul 2008 10:43:25 +0000 (11:43 +0100)]
fix-allow-full-sd-voltage-range-selection.patch

Until now we just drove the SD Card at 3.3V all the time.  But in
fact we can do better, and use a voltage negotiated with the
SD Card itself.

With the shipping 512MB Sandisk SD Card, 2.7V is negotiated which
gives 1.7dBm reduction in power on all the SD Card lines and should
further reduce GPS perturbation during SD Card usage.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-glamo-mci-ensure-more-than-74-clocks-after-power.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
fix-glamo-mci-ensure-more-than-74-clocks-after-power.patch

We are meant to run SD_CLK a little while after power-on for the SD
Card, but with the no idle clock changes we didn't take care about it.

This makes us sleep a little bit before disabling clock if we just
powered up the SD Card.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-glamo-mci-possible-timeout-overflow.patch
Andy Green [Thu, 5 Feb 2009 21:03:32 +0000 (21:03 +0000)]
fix-glamo-mci-possible-timeout-overflow.patch

The MMC stack hands us a timeout calibrated in SD_CLK clocks, but the
Glamo can only deal with up to 65520 clocks of timeout.  If the stack
handed us a request bigger than this, it would just wrap and the
timeout we actually used would be way too short.

With this patch if that happens, we use the longest timeout we can,
65520 clocks and give it our best shot.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-pcf50633-only-do-platform-callback-once-per-event.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-pcf50633-only-do-platform-callback-once-per-event.patch
Reported-by: Holger Freyther <zecke@openmoko.org>

We harmlessly repeated PMU platform callbacks about charging state twice.
Clean it up and leave it to pcf50633_charge_enable() to report once.

Also tidies the sequencing so we set current limit before we enable
charger now.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-pcf50633-remove-charger-curlim-and-enable-apis-from-export.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-pcf50633-remove-charger-curlim-and-enable-apis-from-export.patch

Setting the current limit directly and enabling the charger
isn't anyone's business except pcf50633 driver itself, so these
two functions should not be exported and become static.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-glamo-mci-set-default-drive-level-0.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-glamo-mci-set-default-drive-level-0.patch

Tests on access to SD Card with Glamo drive level "0" show
that it reduces SD_CLK energy at 1.5GHz by 24dBm compared to
drive level 3.  This puts it only 6dB above the background
noise floor compared to 30dB and should make a solution for
GPS trouble with SD Card in.

SD card communication seems unaffected so far on the Sandisk
512MB card we ship.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-bq27000-charger-state-tracking.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-bq27000-charger-state-tracking.patch

Charger trigger stuff goes and asks for POWER_SUPPLY_PROP_STATUS
to figure out what the charger state is.  But until now, we only
reported there what we found out from HDQ, and the HDQ registers
are not updated very often in the coulomb counter, it can be 4
or more second lag before it tells us about what it experiences.

When we react to USB insertion and only after 500ms debounce tell
power_supply stuff that something changed, it most times will
see old pre-USB-insertion state from bq27000 over HDQ at that time
and will report it ain't charging, buggering up the LED trigger
tracking.

This patch maintains distance between bq27000 and pcf50633 by
having platform callbacks in bq27000 that it can use to ask about
definitive charger "online" presence and "activity", whether the
charger says it is charging.  If these callbacks are implemented
(and we implement them in this patch up in mach_gta02.c) then
this information is used in preference to what is found from
HDQ.

Result is if you set the LED trigger like this:

echo bat-charging > /sys/devices/platform/gta02-led.0/leds/gta02-aux:red/trigger

then it lights up properly on USB insertion now, goes away on
removal properly, as as far as I saw, when charging stops too.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-pcf50633-move-charger-enable-decision-to-pcf50633_usb_curlim_set.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-pcf50633-move-charger-enable-decision-to-pcf50633_usb_curlim_set.patch

At the moment we ended up enabling and disabling the charger
at the time we service USBINS and USBREM events in the ISR.

We did that in machine specific code, but really it is PMU
specific decision, so this patch moves it into PMU code.

We enabled and disabled the charge immediately we saw the
interrupt event from PMU, yet we deferred setting charging
state based on ID and USB enumeration until at least after a
PMU ADC read that was handled in a second interrupt later.

Now the timing is unified to after we determined the charger
type and we enable and disable right there.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agodebug-add-glamo-drive-strength-module-param.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
debug-add-glamo-drive-strength-module-param.patch
Suggested-by: Werner Almesberger <werner@openmoko.org>

This patch allows users to control two additional settings
in Glamo MCI driver from kernel commandline or module
parameters.

First is Glamo drive strength on SD IOs including CLK.
This ranges from 0 (weakest) to 3 (strongest).

echo 0 > /sys/module/glamo_mci/parameters/sd_drive

(Changes to this take effect on next SD Card transaction)

or, from kernel commandline

glamo_mci.sd_drive=0

On tests here with 0 strength, communication to SD card
(shipped 512MB Sandisk) seemed fine, and a dd of 10MB
urandom had the same md5 when written to cache as after
a reboot.  I set the default to 2.

Second is whether we allow SD_CLK when the SD interface
is idle.

# stop the clock when we are idle (default)
echo 0 > /sys/module/glamo_mci/parameters/sd_idleclk

# run the SD clock all the time
echo 1 > /sys/module/glamo_mci/parameters/sd_idleclk

(changes take effect on next SD Card transaction)

From kernel commandline, eg:

glamo_mci.sd_idleclk=1

Normally you don't want to run the SD Clock all the time.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agodebug-move-dev-info-to-dbg.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
debug-move-dev-info-to-dbg.patch
Suggested-by: Sean McNeil <sean@mcneil.com>

To see if some subtle race is involved, Sean has tried
removing syslog traffic during resume and found he was
not seeing the resume crash any more.  We're giving it
a try to see if it changes the behaviour for anyone
else.  It would mean we have a pretty fine race in there
somewhere.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-scard-stop-on-resume.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-scard-stop-on-resume.patch
Reported-by: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>

The reporter noticed SD Card clock is running again after resume.  After
looking at the code I saw I missed two tricks, this will force it off
after resume and will do better generally depending on what the last SD Card
packet was.

Since bulk read packet is normally last action (which set the clock off even
without this) the old patch worked for normal cases.  But after resume, the last
packet on the wire was not a bulk transfer and we didn't take care about the
clock then.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agodefconfig-enable-ext2-ext3-gtaxx.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
defconfig-enable-ext2-ext3-gtaxx.patch

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agoadd-limit-sdcard-clk-cmdline.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
add-limit-sdcard-clk-cmdline.patch

This patch allows you to control the maximum clock rate that will
be selected for SD Card access, from the kernel commandline using

 glamo_mci.sd_max_clk=10000000

and also from

 echo 10000000 > /sys/module/glamo_mci/parameters/sd_max_clk

although you have to suspend and resume to make the limit operational
on the actual SD_CLK line.

Clocks that are possible are divided down from ~50MHz, so 25000000,
166666661250000010000000, etc.  With Freerunner A5 revision that
has 100R series resistors in SD Card signals, I didn't get reliable
operation above 16MHz.  With A6 revision the series resistors went
down to 75R, maybe it can work at 25MHz.

Reducing the clock rate is something to try if you find that your
SD Card is not communicating properly with the default speed.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-force-sdcard-clk-off-when-idle.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-force-sdcard-clk-off-when-idle.patch

Existing Glamo bit for stopping SD Card Clock when there is no
transfer taking place does not work.  This patch adds stuff around
the transfer code to force the SD clock up when something is going on
and down when it is idle.  This'll save a little power and noise ;-)

I tested it briefly and was able to SD Boot normally on Sandisk 512M.
Wider testing is appreciated.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agosdio: use interruptible sleep in kthread main loops
Jason Uhlenkott [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
sdio: use interruptible sleep in kthread main loops

My FreeRunner's load average was leveling off at 2.00 as a result of
these two kernel threads:

SDIO Helper   D c02b4500     0   255      2
[<c02b4298>] (schedule+0x0/0x2d4) from [<c02b4040>] (__down+0x100/0x158)
[<c02b3f40>] (__down+0x0/0x158) from [<c02b3e2c>] (__down_failed+0xc/0x20)
 r7:00000000 r6:c01fbd64 r5:c7cb7134 r4:c7d58000
[<c01fa6fc>] (CardDetectHelperFunction+0x0/0x1ac) from [<c01fbd80>] (HelperLaunch+0x1c/0x28)
 r5:c7cb7134 r4:c7cb7134
[<c01fbd64>] (HelperLaunch+0x0/0x28) from [<c005bbd0>] (kthread+0x60/0x94)
 r4:c7d58000
[<c005bb70>] (kthread+0x0/0x94) from [<c0048f7c>] (do_exit+0x0/0x744)
 r6:00000000 r5:00000000 r4:00000000

SDIO Helper   D c02b4500     0   259      2
[<c02b4298>] (schedule+0x0/0x2d4) from [<c02b4040>] (__down+0x100/0x158)
[<c02b3f40>] (__down+0x0/0x158) from [<c02b3e2c>] (__down_failed+0xc/0x20)
 r7:c0382bb4 r6:c0382b34 r5:c7d5a000 r4:00000001
[<c01f9104>] (SDIOIrqHelperFunction+0x0/0x29c) from [<c01fbd80>] (HelperLaunch+0x1c/0x28)
 r8:00000000 r7:00000000 r6:c01fbd64 r5:c0382bb4 r4:c0382bb4
[<c01fbd64>] (HelperLaunch+0x0/0x28) from [<c005bbd0>] (kthread+0x60/0x94)
 r4:c7d5a000
[<c005bb70>] (kthread+0x0/0x94) from [<c0048f7c>] (do_exit+0x0/0x744)
 r6:00000000 r5:00000000 r4:00000000

This fixes them to use interruptible sleep primitives while waiting in
their main loops, as is conventional for kernel threads.  They can't
actually be interrupted since kernel threads ignore all signals, but
by sleeping this way they get classified as long term waiters, and
don't get counted as running for purposes of load average calculation.

This is intended as a minimal fix.  In the longer term, it'd probably
make sense to replace the semaphores with completions or something,
and to do away with some of these StudlyCapped wrapper functions.

Signed-off-by: Jason Uhlenkott <jasonuhl@jasonuhl.org>
--

This is untested, but what could possibly go wrong?  ;)

8 years agointroduce-BANKCON-meddling-sysfs.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
introduce-BANKCON-meddling-sysfs.patch

A few questions have been flying around about how optimal
our waitstates are for various things including Glamo.

This patch introduces new sysfs nodes

/sys/devices/platform/neo1973-memconfig.0/BANKCON0
...
/sys/devices/platform/neo1973-memconfig.0/BANKCON7

If you cat them you get translated info about bus speed on
that chip select, eg,

# cat /sys/devices/platform/neo1973-memconfig.0/BANKCON1
BANKCON1 = 0x00000A40
 Type = ROM / SRAM
 PMC  = normal (1 data)
 Tacp = 2 clocks
 Tcah = 0 clocks
 Tcoh = 1 clock
 Tacc = 3 clocks
 Tcos = 1 clock
 Tacs = 0 clocks

You can write them in hex too

# echo 0x200 > /sys/devices/platform/neo1973-memconfig.0/BANKCON1

The write format for BANKCON0 - 5 looks like this

 b1..b0   PMC  Page Mode Config
 b3..b2   Tacp Page Mode Access Cycle
 b5..b4   Tcah Address hold after CS deasserted
 b7..b6   Tcoh CS hold after OE deasserted
 b10..b8  Tacc Access Cycle Period
 b12..b11 Tcos CS setup before OE asserted
 b14..b13 Tacs Address setup before CS asserted

BANKCON 6 and 7 have two extra bits

 b16..b15  MT  Memory type (00=ROM/SRAM, 11=DRAM)

If it's ROM/SRAM, the rest of the bits are as described above.
For DRAM

 b1..b0   SCAN Column address number
 b3..b2   RAS to CAS delay

The patch is intended to let people experiement on their own.  But
of course you will crash things for sure if the timing is wrong, and
you can also trash SD Card data if you make Glamo unstable, so remove
it or remount ro first.  Other horrible things are possible, but
because the settings aren't sticky, you should always be able to
recover by either normal reboot usually or at worst NOR boot and then
dfu.  Most likely you will just crash your session and have to reboot
if your settings are bad, but consider yourself warned bad things are
possible. :-)

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agochange-backlight-level-not-forced-up-on-resume.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
change-backlight-level-not-forced-up-on-resume.patch

We at least always enabled backlight on resume, this patch
changes us to set backlight back to last requested backlight
brightness level on resume.  Note it means that you can
resume with screen blanked, but it should come back if that
happened with touchscreen action as usual.

/sys/class/backlight/pcf50633-bl/actual_brightness
and
/sys/class/backlight/pcf50633-bl/brightness

seem to agree after resume when reportedly they didn't before.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-glamo-suspend-resume-dram-and-engines.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-glamo-suspend-resume-dram-and-engines.patch

Two issues... we never took care to take down engines in suspend
and bring them back in resume.  This was part of the display
corruption that could be seen briefly on resume.  The other issue
that made the "noise" corruption was bad ordering of resume steps.

This patch simplifies (removing needless re-init) resume actions
and makes explicit the suspend and resume steps.  It also adds
code to track which engines are up and push them down in suspend
and bring them back in resume.

The result is no more corruption of display buffer in suspend, it
comes back completely clean.

Signed-off-by: Andy Green <andy@openmoko.com>

8 years agofix-no-uart-leak-when-gps-off.patch
Andy Green [Thu, 5 Feb 2009 21:03:31 +0000 (21:03 +0000)]
fix-no-uart-leak-when-gps-off.patch

During the suspend current reduction campaign on suspend I
forced the GPS UART to be GPIO and to drive 0 into the GPS
unit so we would not burn current there.  On resume it lets
the pins act as UARTs again.  But really, we should do this
all the time that the GPS unit is off, lest we leak it
enough power to hold internal state and make trouble.

Signed-off-by: Andy Green <andy@openmoko.com>