Age | Commit message (Collapse) | Author |
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
This one is specially for Candy Chou :-)
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
|
|
The code is borrowed from gta02.
Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Reported-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
This patch provides initial support for CPU frequency scaling on the
Samsung S3C64XX series processors. Currently only S3C6410 processors
are supported, though addition of another data table with supported
clock rates should be sufficient to enable support for further CPUs.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Add support for reconfiguring the clock for the ARM core, enabling
CPUfreq support. Currently only the divider for ARMCLK may be changed,
ARMPLL is left static.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Stroe the CPU ID to system_rev and use it to detect the CPU architecture.
Even though s3c64xx has almost same IPs, some IPs such as OneNAND are different.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=522c644d34461fcd65a94cce1fcac9dc0d6cd828
ohci_s3c2410: Implement PM resume functionality
It was observed that that s3c2410_hc's root hub was not autoresumed when the
system was suspended with the root hub itself autosuspended.
As an effect of this, it was observed that the bluetooth module wouldn't get
detected at the hc's roothub ports when powered up after resume. And when
'lsusb' was executed, the roothub got out of autosuspend by force with a
'roothub lost power, resetting' message.
This patch brings the hcd roothub out of resume at global resume thereby
avoiding the issue.
Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
|
|
Control for the power for the LM4853 on the GTA02 had been made directly
visible to user space, needlessly burning power when no output was being
produced and causing pops and clicks to be worsened due to a lack of
integration with the power sequencing done by DAPM.
Bring the amplifier power under DAPM control, saving power and reducing
the levels of pops and clicks caused.
The existing control is left in place for the benefit of scenario files
but now has no effect.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
It's a little verbose...
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Factors out a lot of code.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Openmoko had similar controls with "DAPM " prefixed to them - add that
back to maintain compatibility with existing ALSA state files.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
More code cleanup.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Stops anyone wondering what they're needed for.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
It's patchy and we have git history.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
On some systems it is desirable for control for DAPM pins to be provided
to user space. This is the case with things like GSM modems which are
controlled primarily from user space, for example. Provide a helper which
exposes the state of a DAPM pin to user space for use in cases like this.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=f4fd6631973dbc67a5f4708014e81ca6e610ca05
pcf50633_charger_detection_fix.patch
Fix PCF50633 charger detection code.
Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
|
|
> |> on current andy-tracking / OM_3D7K build.
> |>
> |> I didn't see this before, it seems to related to SPI bitbang, did we
> |> break something?
Here is the patch. I've not tested it, but it's most likely the fix, as
I had seen a similar thing in spi_s3c24xx_gpio.
|
|
Hi,
git 1.6.0 in debian unstable does not put "git-branch" to a directory
that is in PATH anymore
> git-core (1:1.6.0.2-1) experimental; urgency=low
>
> * new upstream point release.
> * debian/git-core.NEWS.Debian: new; mention that most of the programs
> now are installed outside the default $PATH; the "git-xyzzy" form
> in scripts and on the command line is no longer supported in 1.6.0.
so the build script should probably be modified:
|
|
The PCF50633 stores a month value of 1-12, but the kernel wants 0-11.
Signed-off-by: Rask Ingemann Lambertsen <rask@sygehus.dk>
|
|
GTA03 project is dropped, long live Openmoko 3d7k project.
This name was literally generated by picking the first character
of the next four car license plates to pass by I am told.
The should catch all GTA03 instances except the machine name.
I registered a new machine name since the 3d7k is different
from original GTA03, the machine number is 2120.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
pending-tracking-hist top was add-om_3d7k_machine-type-patch / e4e3848be23080f6ca6727d2a4353f09e53b9781 ... parent commitmessage:
From: Andy Green <andy@openmoko.com>
add-om_3d7k_machine-type.patch
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Improve the comment on falling back to 100mA if ADC is missing.
Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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'
|
|
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>
|
|
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>
|
|
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'
|
|
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>
|
|
Tidy the driver formatting.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
|
|
Fix missing dma.o build if CONFIG_S3C_DMA
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|