aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-03-02Fix typo in mach-gta02Sven Rebhan
Improve the comment on falling back to 100mA if ADC is missing. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-03-02GTA02 GSM requires PCF50633 GPIOSven Rebhan
The GSM part of all MACH_NEO1973s require GPIO functions, thus we should select PCF50633_GPIO for GTA02. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-03-02OpenMoko: Update for normal WM8753 device registration.Mark Brown
The WM8753 driver now uses the standard I2C device registration model and so requires the platform to register the device. Convert the OpenMoko GTA0x series devices to do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-02ASoC: Convert WM8753 to register via normal device probeMark Brown
The base support for the only in-tree user, the GTA01, is out of tree and will be updated separately. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-02ASoC: Shuffle WM8753 device registration codeMark Brown
This patch should be pure code motion, separating that out from the functional changes to move to new style device registration. [Backported from upstream with some modifications for old code.] Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-02MERGE-via-pending-tracking-hist-asoc-only-write-back-non-defaumerge
pending-tracking-hist top was asoc-only-write-back-non-defau / 04f55b6c2392d4af2b8b2178c333c7f131d3cdc0 ... parent commitmessage: From: Mark Brown <broonie@opensource.wolfsonmicro.com> ASoC: Only write back non-default registers when resuming WM8753 This will reduce the number of writes done on resume, allowing that to complete faster (especially on systems with very slow I2C like the current Samsung driver). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-02ARM/S3C2440: Don't build armv4t modules we can't loadRask Ingemann Lambertsen
The kernel can't load armv4t modules ("unknown relocation: 40"). This patch fixes the ARM makefile accordingly to tell GCC to generate armv4 code instead of armv4t code. The assembler still needs to allow armv4t instructions for some object files which are linked into the kernel. Signed-off-by: Rask Ingemann Lambertsen <rask@sygehus.dk>
2009-03-02Fixed corruption of LCM registersNicolas Dufresne
Some registers where not set properly, or at the right time (thanks to Balaji for his patch). Weak locking could lead to corruption when using sysfs to switch state from multiple threads or processes. The state transitions are now all atomic. The driver attribute 'last_state' was used for same purpose of 'normal_state'. Kept only 'normal_state' and used it in 'init_regs' instead of custom qvga parameter. This patch should fix bug #2235. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@gmail.com>
2009-03-02Subject: Get rid of board_info information in glamo and s3c24xx_gpio ↵Balaji Rao
spigpio_info. X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=740c6704e830829d8539a6cc34346ff1980cd9ee Get rid of board_info information in glamo and s3c24xx_gpio spigpio_info. The board info does not belong there and has been removed. In spi_s3c24xx_gpio, board_info has been removed in mainline. Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-02-26AUDIO: Select DMA if I2S is configuredBen Dooks
Select the relevant DMA implementation when the sound driver is selected. Signed-off-by: Ben Dooks <ben@simtec.co.uk> -- Ben (ben@fluff.org, http://www.fluff.org/) 'a smiley only costs 4 bytes'
2009-02-26S3C64XX: Fix DMA channel numbersBen Dooks
The I2S TX and RX channels where reversed. Also add implicit numbers to the start of the two DMA controllers. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-26AUDIO: Fixup s3c-i2s-v2 merge problemsBen Dooks
Fix CONFIG_CPU_S3C64XX which should have been CONFIG_PLAT_S3C64XX. Fix the merge problems that failed to properly set the master/slave bits for S3C64XX. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-26AUDIO: GTA03 make get/set calls use common codeBen Dooks
The GTA03 driver has a number of get and set calls that can be easily be done by calling a pair of common helper functions. Signed-off-by: Ben Dooks <ben@simtec.co.uk>Index: linux.agit/sound/soc/s3c24xx/om_gta03_wm8753.c =================================================================== --- linux.agit.orig/sound/soc/s3c24xx/om_gta03_wm8753.c 2009-02-26 17:58:18.000000000 +0000 +++ linux.agit/sound/soc/s3c24xx/om_gta03_wm8753.c 2009-02-26 17:59:46.000000000 +0000 @@ -228,8 +228,9 @@ static struct snd_soc_ops om_gta03_voice .hw_free = om_gta03_voice_hw_free, }; -static int om_gta03_set_stereo_out(struct snd_kcontrol *kcontrol, - struct snd_ctl_elem_value *ucontrol) +static int common_set_dapm(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol, + char *epname) { struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); int val = ucontrol->value.integer.value[0]; @@ -240,133 +241,89 @@ static int om_gta03_set_stereo_out(struc return 0; } -static int om_gta03_get_stereo_out(struct snd_kcontrol *kcontrol, - struct snd_ctl_elem_value *ucontrol) +static int common_get_dapm(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol, + char *name) { struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); + int val; - ucontrol->value.integer.value[0] = - snd_soc_dapm_get_endpoint(codec, "Stereo Out"); + val = snd_soc_dapm_get_endpoint(codec, name); + ucontrol->value.integer.value[0] = val; return 0; } +static int om_gta03_set_stereo_out(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + return common_set_dapm(kcontrol, ucontrol, "Stereo Out"); +} + +static int om_gta03_get_stereo_out(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + return common_get_dapm(kcontrol, ucontrol, "Stereo Out"); +} static int om_gta03_set_gsm_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - int val = ucontrol->value.integer.value[0]; - - snd_soc_dapm_set_endpoint(codec, "GSM Line Out", val); - snd_soc_dapm_sync(codec); - - return 0; + return common_set_dapm(kcontrol, ucontrol, "GSM Line Out"); } static int om_gta03_get_gsm_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - - ucontrol->value.integer.value[0] = - snd_soc_dapm_get_endpoint(codec, "GSM Line Out"); - - return 0; + return common_get_dapm(kcontrol, ucontrol, "GSM Line Out"); } static int om_gta03_set_gsm_in(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - int val = ucontrol->value.integer.value[0]; - - snd_soc_dapm_set_endpoint(codec, "GSM Line In", val); - snd_soc_dapm_sync(codec); - - return 0; + return common_set_dapm(kcontrol, ucontrol, "GSM Line In"); } static int om_gta03_get_gsm_in(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - - ucontrol->value.integer.value[0] = - snd_soc_dapm_get_endpoint(codec, "GSM Line In"); - - return 0; + return common_get_dapm(kcontrol, ucontrol, "GSM Line In"); } static int om_gta03_set_headset_mic(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - int val = ucontrol->value.integer.value[0]; - - snd_soc_dapm_set_endpoint(codec, "Headset Mic", val); - snd_soc_dapm_sync(codec); - - return 0; + return common_set_dapm(kcontrol, ucontrol, "Headset Mic"); } static int om_gta03_get_headset_mic(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - - ucontrol->value.integer.value[0] = - snd_soc_dapm_get_endpoint(codec, "Headset Mic"); - - return 0; + return common_get_dapm(kcontrol, ucontrol, "Headset Mic"); } static int om_gta03_set_handset_mic(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - int val = ucontrol->value.integer.value[0]; - - snd_soc_dapm_set_endpoint(codec, "Handset Mic", val); - - snd_soc_dapm_sync(codec); - - return 0; + return common_set_dapm(kcontrol, ucontrol, "Handset Mic"); } static int om_gta03_get_handset_mic(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - - ucontrol->value.integer.value[0] = - snd_soc_dapm_get_endpoint(codec, "Handset Mic"); - - return 0; + return common_get_dapm(kcontrol, ucontrol, "Handset Mic"); } static int om_gta03_set_handset_spk(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - int val = ucontrol->value.integer.value[0]; - - snd_soc_dapm_set_endpoint(codec, "Handset Spk", val); - - snd_soc_dapm_sync(codec); - - return 0; + return common_set_dapm(kcontrol, ucontrol, "Handset Spk"); } static int om_gta03_get_handset_spk(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - - ucontrol->value.integer.value[0] = - snd_soc_dapm_get_endpoint(codec, "Handset Spk"); - - return 0; + return common_get_dapm(kcontrol, ucontrol, "Handset Spk"); } static const struct snd_soc_dapm_widget wm8753_dapm_widgets[] = { -- Ben (ben@fluff.org, http://www.fluff.org/) 'a smiley only costs 4 bytes'
2009-02-26AUDIO: Update GTA03 setup error pathBen Dooks
Add common error exit for om_gta03_hifi_hw_params() so that any error can easily be debugged. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-26AUDIO: Tidy indentation in GTA03 driverBen Dooks
Tidy the driver formatting. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-26S3C64XX: Fix DMA makefileBen Dooks
Fix missing dma.o build if CONFIG_S3C_DMA Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-26AUDIO: Fix GTA03 clock and channel setup.Ben Dooks
The I2S codec is connected to I2S channel 1, not 0 as initially setup. Also fix the divisors to produce 12MHz on MCLK (was 6MHz) to ensure that the PLL in the WM8753 is within proper limits. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-26Fix the current leaking issue on gta03 a3 or later version.Matt Hsu
Since GPI0, GPI1 and GPI8 are for hardware version control. They would create current leaking if they are setup as output. It's resloved by adding gta03 specific fb_gpio_setup function in fb platform data. Signed-off-by: Matt Hsu <matt_hsu@openmoko.org> Reported-by: Dkay Chen <dkay_chen@openmoko.com>
2009-02-26fix-hdq-increase-break-timing.patchAndy Green
This removes the unstable operation by increasing break timing from 170us to 230us, the datasheet minimum was 190us. Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-26Subject: fix_gta03_fiq_stuff.patchBalaji Rao
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=c94ea3d685fa6e9b24d62adb11a7ad6087b9edf5 fix_gta03_fiq_stuff.patch Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-02-26Subject: lis302dl_use_s3c24xx_gpio_spi_bitbang.patchBalaji Rao
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=5689ad9b0ded29adec4be64df53e488c648b9831 lis302dl_use_s3c24xx_gpio_spi_bitbang.patch Change lis302dl driver to use generic spi code. This requires that we define a s3c24xx_gpio spi bitbang based controller in mach-gta02.c. Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-02-26Subject: spi_supoport_non_blocking_sync_transfers.patchBalaji Rao
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=f8fbb07854e3aff64dce9fe6ef6a8dc0e0f762b5 spi_supoport_non_blocking_sync_transfers.patch A mew option is added to spi_bitbang_info to specify if the transfers off it will be non blocking. A new function - spi_non_blocking_transfer is added to the SPI core. Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-02-25Fix jbt6k74 qvga_normal state handlingBalaji Rao
Hi Andy, Here's the fix for the qvga-normal bug we observed the other day here - when the screen is powered up again after a blanking, in qvga-normal mode, we see a WSOD(kind of!)
2009-02-25add-s3c64xx-tzic-plat.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-25add-s3c64xx-tzic.patchAndy Green
This adds in the TZIC support consts and also the VM mapping for the TZIC units, and adds TZIC init into mach-om-gta03.c Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-25clean-neo1973-pm-gps.patchAndy Green
Clean out more switch() on version that has no point given the actual features that (don't) differ on supported GTA02 versions. We take care about forcing GPS regulator off on neo1973-pm-gps probe, but we don't take care about killing the UART GPIO so they don't drive into the powered-down subsystem. We took care of doing that when we turned off the thing already, but we cannot just call the OFF code from the probe due to problems with regulator state init. Reported-by: Rask Ingemann Lambersten <rask@sygehus.dk> Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-25config-nfs-root.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-25S3C64XX: Drop i2c0.max_freq to 150kHz.Ben Dooks
Drop the i2c0 bus max-frequency to 150kHz to avoid problems with boards where this is too fast. Signed-off-by: Ben Dooks <ben@simtec.co.uk> --- linux.agit.orig/arch/arm/plat-s3c/dev-i2c0.c 2009-02-20 23:04:34.000000000 +0000 +++ linux.agit/arch/arm/plat-s3c/dev-i2c0.c 2009-02-20 23:04:37.000000000 +0000 @@ -51,7 +51,7 @@ static struct s3c2410_platform_i2c defau .flags = 0, .slave_addr = 0x10, .bus_freq = 100*1000, - .max_freq = 400*1000, + .max_freq = 150*1000, .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON, }; -- Ben (ben@fluff.org, http://www.fluff.org/) 'a smiley only costs 4 bytes'
2009-02-25config-squashfs-embedded.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-25[GTA03] Fix the power on status of the GSM module again.DKAY_CHEN
Because i found the level of the "MODEM_RST" will return to "L" when it set to "Input". GSM module sometimes can not turn on especially after emove the C9102. Signed-off-by: DKAY_CHEN <dkay_chen@openmoko.com>
2009-02-25S3C64XX: Add DMA clock enableBen Dooks
Ensure the DMA channels have the controller clock enabled before they are used. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-25S3C64XX: Register DMA channels as system devicesBen Dooks
Add the DMA channels as system devices to provide suspend/resume and a presence in sysfs. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-25S3C64XX: Add DMA/SDMA clock sourcesBen Dooks
Add the clock sources for the DMA and SDMA controllers and ensure that they are shut down at startup. The DMA engines are dma0 and dma1, whilst the SDMA are called dma2 and dma3. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-25S3C64XX: Fix HCLK_GATE bit definitionsBen Dooks
Fix the definitions of HCLK_GATE bits, which had SDMA0/1 named SDMA1/2 and the definitions of bits 26..29 in the wrong order. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-24config-squashfs-module.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24config-smdk6410-audio.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24fix-dma-setflags-dust.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24fix-gta02-plat-plat-dma.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24config-gta03-plat-s3c-dma.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24fix-plat-s3c-dma-build-in-makefile.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24clean-dust-to-info-s3c64xx-i2s.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-24MERGE-via-pending-tracking-hist-MERGE-via-stable-tracking-MERGE-via-mokopatc ↵merge
hes-tracking-s3c64xx-dma-support-1235439162-1235439227 pending-tracking-hist top was MERGE-via-stable-tracking-MERGE-via-mokopatches-tracking-s3c64xx-dma-support-1235439162-1235439227 / 3d6a1b21cf5fbdb6250d781b0a4900a7a0768aa1 ... parent commitmessage: From: merge <null@invalid> MERGE-via-stable-tracking-hist-MERGE-via-mokopatches-tracking-s3c64xx-dma-support-1235439162 stable-tracking-hist top was MERGE-via-mokopatches-tracking-s3c64xx-dma-support-1235439162 / 893e864e65adffc9eb085ed4f8b552a31dcec840 ... parent commitmessage: From: merge <null@invalid> MERGE-via-mokopatches-tracking-hist-s3c64xx-dma-support mokopatches-tracking-hist top was s3c64xx-dma-support / 2515f9a1d53d19b1e61d639875aedcbe7929666e ... parent commitmessage: From: Ben Dooks <ben@simtec.co.uk> S3C64XX: DMA support Add support for the DMA blocks in the S3C64XX series of CPUS, which are based on the ARM PL080 PrimeCell system. Unfortunately, these DMA controllers diverge from the PL080 design by adding another DMA controller register and configuration for OneNAND. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
2009-02-23config-uplevel-hdq-network-led-trigger.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-02-23Move bq27000 data structuresSven Rebhan
It's always a good idea to first define the data structures you use. ;-) Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-02-23Cleanup s3c2442 KconfigSven Rebhan
For GTA02 we can remove GTA02_HDQ (not used anywhere) and S3C2410_CLOCK (already selected by CPU_S3C2442). Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-02-23Revert "Cleanup s3c2442 Kconfig"Sven Rebhan
This reverts commit fe8b7ff1a79648146501f37d467fcb2f2bea0164. I undo the reordering of the options here, as it hides what really happend. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-02-23Cleanup s3c2442 KconfigSven Rebhan
For GTA02 we can remove GTA02_HDQ (not used anywhere) and S3C2410_CLOCK (already selected by CPU_S3C2442). Additionally I reordered the options a bit. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-02-23Care about PCF50633 ADC disabledSven Rebhan
If the PCF50633 ADC is disabled, but the charger is enabled we can't determine the charger type using the pulldown. The safest thing we can do is to fallback to 100mA that should be supplied according to the USB specs. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-02-23Allow disabling of GTA02 vibratorSven Rebhan
If the vibrator is disabled we don't need to register a platform device. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
2009-02-23PCF50633 core depends on I2CSven Rebhan
We select the PCF50633 core part, which depends on I2C, in our Kconfig. However, make oldconfig does not automatically resolve this "depends on I2C" dependency. We should select I2C for GTA02 as it's needed anyway. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>