Age | Commit message (Collapse) | Author |
|
Well dependencies of pcf50633 are getting a bit much, let's break them
out into an array
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Vibrator relies on FIQ, represent that in device tree
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Things can depend on PWM being up, allow device tree to show that
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
GPS power control device is obviously a child of pcf50633 since it
wants to meddle with regulators. Define it to be so in the device tree.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
This is an early start on populating pcf50633 device tree callback, later
we convert the guys here and some additional ones to an array.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
HDQ secretly depends on FIQ, bq27000 depends on HDQ, this patch uses the
new callbacks to make that explicit in both cases for our device
Here's what can happen without it:
[ 2.680000] Bad mode in data abort handler detected
[ 2.680000] Internal error: Oops - bad mode: 0 [#1] PREEMPT
[ 2.680000] Modules linked in:
[ 2.680000] CPU: 0 Not tainted (2.6.24 #791)
[ 2.680000] PC is at trace_hardirqs_off+0x28/0xfc
[ 2.680000] LR is at fiq_kick+0x90/0xa8
[ 2.680000] pc : [<c006759c>] lr : [<c0035000>] psr: 200000d1
[ 2.680000] sp : c7c2dd98 ip : c7c2dde0 fp : c7c2ddf4
[ 2.680000] r10: 00000008 r9 : c7d70e00 r8 : 00000002
[ 2.680000] r7 : 00000009 r6 : 200000d1 r5 : 00000000 r4 : 0000006e
[ 2.680000] r3 : c03ec000 r2 : 00000000 r1 : 00000000 r0 : 0000006e
[ 2.680000] Flags: nzCv IRQs off FIQs off Mode FIQ_32 ISA ARM Segment kernel
[ 2.680000] Control: c000717f Table: 30004000 DAC: 00000017
[ 2.680000] Process events/0 (pid: 5, stack limit = 0xc7c2c268)
[ 2.680000] Stack: (0xc7c2dd98 to 0xc7c2e000)
[ 2.680000] dd80: 0000006e 00000000
[ 2.680000] dda0: 00000000 c03ec000 0000006e 00000000 200000d1 00000009 00000002 c7d70e00
[ 2.680000] ddc0: 00000008 c7c2ddf4 c7c2dde0 c7c2dd98 c0035000 c006759c 200000d1 ffffffff
[ 2.680000] dde0: 00000009 00000004 c7c2de0c c7c2ddf8 c01f87d0 c0034f80 c7d49260 c7d49260
[ 2.680000] de00: c7c2de34 c7c2de10 c01f80dc c01f87a8 c7d49260 00000007 c7c2de5c c7d8e000
[ 2.680000] de20: c03e2908 c7d6b000 c7c2de54 c7c2de38 c01f82d0 c01f80c0 c7c2de64 00000000
[ 2.680000] de40: 00000007 c7d70e00 c7c2de84 c7c2de58 c01f79d4 c01f8154 c7c2de84 c7c2de68
[ 2.680000] de60: c0098c28 00000000 0000008c c7d8e000 c7d49264 00000001 c7c2deb4 c7c2de88
[ 2.680000] de80: c01f7d4c c01f799c c038c450 c7d70e00 c7d6b000 00000000 c7d6b000 c03da064
[ 2.680000] dea0: c038c450 c7d70ee8 c7c2decc c7c2deb8 c01aa924 c01f7c6c 00000002 c03d9fe0
[ 2.680000] dec0: c7c2df24 c7c2ded0 c016c828 c01aa864 c7c2def4 c7c2dee0 c02eb438 00000000
[ 2.680000] dee0: c0380680 c7d867e0 c7c2df14 c7c2def8 c0227888 c02eb414 c7d49264 00000002
[ 2.680000] df00: c7c03d40 c7d49264 00000000 c7c2df68 00000000 c01f7844 c7c2df34 c7c2df28
[ 2.680000] df20: c016caa8 c016c6b8 c7c2df5c c7c2df38 c01f794c c016caa4 c7c03d40 00000002
[ 2.680000] df40: c7c03d40 c7c2c000 c7d4928c c7c2df68 c7c2df9c c7c2df60 c005a30c c01f7854
[ 2.680000] df60: 00000002 c005a2a4 c0664458 c044c148 c038c460 00000000 c7c2dfb0 c7c03d40
[ 2.680000] df80: c7c2c000 00000000 00000000 00000000 c7c2dfd4 c7c2dfa0 c005b094 c005a218
[ 2.680000] dfa0: c02e8e68 00000000 c7c2ab60 c005ecb0 c7c2dfb0 c7c2dfb0 00000000 c7c2c000
[ 2.680000] dfc0: c7c03d40 c005afb0 c7c2dff4 c7c2dfd8 c005ebac c005afc0 00000000 00000000
[ 2.680000] dfe0: 00000000 00000000 00000000 c7c2dff8 c004c138 c005eb5c 00000000 00000000
[ 2.680000] Backtrace:
[ 2.680000] [<c0034f70>] (fiq_kick+0x0/0xa8) from [<c01f87d0>] (gta02hdq_read+0x38/0x90)
[ 2.680000] r5:00000004 r4:00000009
[ 2.680000] [<c01f8798>] (gta02hdq_read+0x0/0x90) from [<c01f80dc>] (hdq_read16+0x2c/0x84)
[ 2.680000] r5:c7d49260 r4:c7d49260
[ 2.680000] [<c01f80b0>] (hdq_read16+0x0/0x84) from [<c01f82d0>] (bq27000_battery_get_property+0x18c/0x304)
[ 2.680000] [<c01f8144>] (bq27000_battery_get_property+0x0/0x304) from [<c01f79d4>] (power_supply_show_property+0x48/0x124)
[ 2.680000] r6:c7d70e00 r5:00000007 r4:00000000
[ 2.680000] [<c01f798c>] (power_supply_show_property+0x0/0x124) from [<c01f7d4c>] (power_supply_uevent+0xf0/0x1a4)
[ 2.680000] r8:00000001 r7:c7d49264 r6:c7d8e000 r5:0000008c r4:00000000
[ 2.680000] [<c01f7c5c>] (power_supply_uevent+0x0/0x1a4) from [<c01aa924>] (dev_uevent+0xd0/0x10c)
[ 2.680000] [<c01aa854>] (dev_uevent+0x0/0x10c) from [<c016c828>] (kobject_uevent_env+0x180/0x3ec)
[ 2.680000] r5:c03d9fe0 r4:00000002
[ 2.680000] [<c016c6a8>] (kobject_uevent_env+0x0/0x3ec) from [<c016caa8>] (kobject_uevent+0x14/0x18)
[ 2.680000] [<c016ca94>] (kobject_uevent+0x0/0x18) from [<c01f794c>] (power_supply_changed_work+0x108/0x114)
[ 2.680000] [<c01f7844>] (power_supply_changed_work+0x0/0x114) from [<c005a30c>] (run_workqueue+0x104/0x208)
[ 2.680000] r8:c7c2df68 r7:c7d4928c r6:c7c2c000 r5:c7c03d40 r4:00000002
[ 2.680000] [<c005a208>] (run_workqueue+0x0/0x208) from [<c005b094>] (worker_thread+0xe4/0xf8)
[ 2.680000] [<c005afb0>] (worker_thread+0x0/0xf8) from [<c005ebac>] (kthread+0x60/0x94)
[ 2.680000] r6:c005afb0 r5:c7c03d40 r4:c7c2c000
[ 2.680000] [<c005eb4c>] (kthread+0x0/0x94) from [<c004c138>] (do_exit+0x0/0x6f0)
[ 2.680000] r6:00000000 r5:00000000 r4:00000000
[ 2.680000] Code: e3c3303f e3520000 e593200c 089da800 (e5923a68)
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
As part of the device tree stuff, some things are basically children of FIQ. Allow
a callback in the machine-specific code to attach the children when the FIQ device has
been instantiated
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Add missing initialization for the touchscreen driver for the
gta01 platform.
Signed-off-by: Mike Westerhof <mwester@dls.net>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
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>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
By adding missing #include <linux/module.h> we fix 6 warnings that we
care about (in our patchset).
Signed-off-by: Nelson Castillo <nelsoneci@gmail.com>
|
|
These functions are undefined at first use which causes the build to
fail. Just push the definitions forward, for now. This file needs to
be cleaned up a good bit, in general, so we'll put in a better fix at
that time. For now, this builds, at least...
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
This patch carries over the OpenMoko modifications at
include/asm-arm/arch-s3c2410/spi-gpio.h to
arch/arm/mach-s3c2410/include/mach/spi-gpio.h
Note: board_size and board_info have been removed upstream, but as we
still rely on them we'll just put them back for now. These will need to
be removed (and the corresponding driver changes made, of course) before
this can go upstream.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
This pulls the Moko changes to regs-sdi.h that were in
include/asm-arm/arch-s3c2410 over to the file at arch/arm/../mach and
deletes the file at include/asm-arm.
Note: we have been using a mix of regs-sdi.h from the two different
locations. The unification of these two files may have some unknown
consequences... keep your eyes open for oddities after applying this.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
This "move" is not so much a file move as just carrying over the current
status of the irqs.h file from include/asm-arm/arch-s3c2410 to the file
at arch/arm/mach-s3c2410/include/mach. For some reason both files
existed and had become out of sync.
NOTE: Some of these changes look fishy... please check these properly.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
This file was moved in the big file move, but some OpenMoko specific
changes did not make it. This patch peels out the relevant bits and
adds them to the gpio.h file in the upstream location.
The only OpenMoko specific change is the definition of gpio_to_irq and
irq_to_gpio. These functions should really be defined in gpio_chip and
asm-generic/gpio.h; this is coming soon, but until then we'll just use
the Moko definitions that we've been using up until now.
This is not strictly correct for the GTA02 case, but it works given
the configuration that's currently in use. This can be fixed (and
should become evident) when the configuration options are cleaned up.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
This file is OpenMoko specific and didn't get moved in the big file
move. Move it to arch/arm/mach-s3c2410/include/mach where it belongs
and fix the references to it.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
This patch removes a large number of #ifdefs that switch on machine
model. Where applicable, the machine_is_* idiom is favoured; this
mainly makes the code easier to read, but it does have some other
advantages, too.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Problems building with GTA01 disabled in config come down to not selecting the
common CONFIG for GTAXX with GTA02, and GTA01-specific gps stuff.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Delete old configs in stable-tracking, move defconfig-2.6.27 to the common config site
arch/arm/configs/gta02-moredrivers-defconfig
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Don't change bt regulator at all if already at requested state, and
turn it to opposite on | off state before changing regulator voltage
and setting final state.
Signed-off-by: Sean McNeil <sean@mcneil.com>
|
|
Move to level from edge, fix local_save... to local_irq...
simplify bitbang sequence
Signed-off-by: Sean McNeil <sean@mcneil.com>
|
|
FIQ is back up again, changed the stack to point to the post FIQ-vector
area, remove various meddlings needed to try to fix it.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
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>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
I'm not sure if this patch if complete/correct, but it seems to fix the
clock problem.
Via: http://marc.info/?l=linux-arm-kernel&m=122322617931931&w=2
|
|
Recent patches from Jonas Bonn seemed to need this addition to compile,
it can be because it was rebased earlier today.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
This makes the GTA02 work with the new-style WM8753 ALSA I2C driver.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
These fixes are required to build without MACH_NEO1973_GTA02
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
I2C devices should be registered with i2c_register_board_info in the machine
setup code. This allows the devices to be auto-probed when the requred driver
is loaded.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
|
|
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>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
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>
|
|
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
|
|
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.
|