aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* regulator: Add WM8350 regulator supportMark Brown2008-10-136-0/+1494
| | | | | | | | | | | | The WM8350 features six DCDC convertors (four buck and two boost), four LDO voltage regulators and two constant current sinks. This driver adds support for these through the regulator API. This driver was written by Liam Girdwood with updates for submission from Mark Brown. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 interrupt supportMark Brown2008-10-133-6/+787
| | | | | | | | | | | | | | | | The WM8350 has an interrupt line to the CPU which is shared by the devices on the CPU. This patch adds support for the interrupt controller within the WM8350 which identifies which identifies the interrupt cause. In common with other similar chips this is done outside the standard interrupt framework due to the need to access the interrupt controller over an interrupt-driven bus. This code was all originally written by Liam Girdwood with updates for submission by me. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add initialisation callback for WM8350Mark Brown2008-10-133-3/+25
| | | | | | | | | | | | Some functions of the WM8350 require board-specific initialisation on startup. Provide a callback to the WM8350 driver in platform data for platforms to use to configure the chip. Use of a callback allows platforms to control the ordering of initialisation which can be important. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add GPIO pin configuration support for WM8350Mark Brown2008-10-133-1/+233
| | | | | | | | | | | | | | | | | | | The WM8350 provides a number of user-configurable pins providing access to various signals generated by the functions on the chip. These are referred to as GPIO pins in the device documentation but in Linux terms they are more general than that, providing configuration of alternate functions. This patch implements support for selecting the alternate functions for these pins. They can also be used as GPIOs in the normal Linux sense - a subsequent patch will add support for doing so. This code was all written by Liam Girdwood and has had minor updates and rearrangements by Mark Brown. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add I2C control support for WM8350Mark Brown2008-10-133-0/+132
| | | | | | | | | | Implement the I2C control interface for the WM8350. This code was originally written by Liam Girdwood and has been updated for submission by Mark Brown. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Core support for the WM8350 AudioPlus PMICMark Brown2008-10-135-0/+2409
| | | | | | | | | | | | | | | | The WM8350 is an integrated audio and power management subsystem intended for use as the primary PMIC in mobile multimedia applications. The WM8350 can be controlled via either I2C or SPI - the control interface is provided by a separate module in order to allow greatest flexibility in configuring the kernel. This driver was originally written by Liam Girdwood and has since been updated to current kernel APIs and split up for submission by me. All the heavy lifting here was done by Liam. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 watchdog register definitionsMark Brown2008-10-131-0/+22
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 RTC register definitionsMark Brown2008-10-131-0/+260
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 comparator register definitionsMark Brown2008-10-131-0/+167
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 PMU register definitionsMark Brown2008-10-131-0/+105
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 PMIC register definitionsMark Brown2008-10-131-0/+699
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 GPIO register definitionsMark Brown2008-10-131-0/+326
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Add WM8350 audio register definitionsMark Brown2008-10-131-0/+592
| | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: Export regulator name via sysfsMark Brown2008-10-132-0/+31
| | | | | | | | Provide a new file 'name' in the regulator sysfs class with a human readable name for the regulator for use in applications. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: Add WM8400 regulator supportMark Brown2008-10-135-0/+417
| | | | | | | | | | | | The WM8400 provides two programmable DCDC step-down (buck) convertors and four low-dropout (LDO) regulators. This driver provides support for runtime managment of these in the standard regulator API. Support for configuration of the suspend and hibernate mode behaviour of the regulators is not yet included. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* mfd: Core support for the WM8400 AudioPlus HiFi CODEC and PMUMark Brown2008-10-135-0/+2586
| | | | | | | | | | | | | | The WM8400 is a highly integrated audio CODEC and power management unit optimised for use in mobile multimedia applications. This patch adds core support for the WM8400 to the MFD subsystem. Both I2C and SPI access are supported by the hardware but currently only I2C access is implemented. The code is structured to allow SPI support to be slotted in later. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: update email address for Liam GirdwoodLiam Girdwood2008-10-132-22/+23
| | | | | | Additionally added another web resource for voltage regulators. Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: Enable regulators marked as always_onMark Brown2008-10-131-2/+17
| | | | | | | | | If the machine constraints mark a regulator as always_on but this was not done by the bootloader then enable the regulator when applying constraints. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: Additional diagnostics for machine constraintsMark Brown2008-10-131-4/+19
| | | | | | | | Try to find a human readable name for the regulator we're failing on and print a specific diagnostic when we fail to set the suspend state. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: check for init_data on registrationMark Brown2008-10-131-0/+3
| | | | | | | | | Since it is now mandatory to supply constraints via init_data on device registration check for that when registering, saving us from oopsing later on. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: Fix typoMark Brown2008-10-131-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* regulator: core - Rework machine API to remove string based functions.Liam Girdwood2008-10-136-330/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves the machine level API in order to configure regulator constraints and consumers as platform data and removes the old string based API that required several calls to set up each regulator. The intention is to create a struct regulator_init_data, populate it's fields with constraints, consumers devices, etc and then register the regulator device from board.c in the standard Linux way. e.g. regulator LDO2 (supplying codec and sim) platform data. /* regulator LDO2 consumer devices */ static struct regulator_consumer_supply ldo2_consumers[] = { { .dev = &platform_audio_device.dev, .supply = "codec_avdd", }, { .dev = &platform_sim_device.dev, .supply = "sim_vcc", } }; /* regulator LDO2 constraints */ static struct regulator_init_data ldo2_data = { .constraints = { .min_uV = 3300000, .max_uV = 3300000, .valid_modes_mask = REGULATOR_MODE_NORMAL, .apply_uV = 1, }, .num_consumer_supplies = ARRAY_SIZE(ldo2_consumers), .consumer_supplies = ldo2_consumers, }; /* machine regulator devices with thier consumers and constraints */ static struct platform_device wm8350_regulator_devices[] = { { .name = "wm8350-regulator", .id = WM8350_LDO_2, .dev = { .platform_data = &ldo2_data, }, }, }; Changes in detail:- o Removed all const char* regulator config functions in machine API. o Created new struct regulator_init_data to contain regulator machine configuration constraints and consmuers. o Changed set_supply(), set_machine_constraints(), set_consumer_device_supply() to remove their string identifier parameters. Also made them static and moved functions nearer top of core.c. o Removed no longer used inline func to_rdev() o Added regulator_get_init_drvdata() to retrieve init data. o Added struct device* as parameter to regulator_register(). o Changed my email address. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* vfs: Use const for kernel parser tableSteven Whitehouse2008-10-1338-43/+43
| | | | | | | | | | | | | | This is a much better version of a previous patch to make the parser tables constant. Rather than changing the typedef, we put the "const" in all the various places where its required, allowing the __initconst exception for nfsroot which was the cause of the previous trouble. This was posted for review some time ago and I believe its been in -mm since then. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> Cc: Alexander Viro <aviro@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-10-1366-1019/+4503
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (60 commits) Blackfin arch: make sure we include the fix for SPORT hysteresis when reprogramming clocks Blackfin arch: Fix bogus str_ident check in gpio code Blackfin arch: AD7879 Touchscreen driver Blackfin arch: introducing bfin_addr_dcachable Blackfin arch: fix a typo in comments Blackfin arch: Remove useless head file Blackfin arch: make sure L2 start and length are always defined (fixes building on BF542) Blackfin arch: use the Blackfin on-chip ROM to do software reset when possible Blackfin arch: update anomaly headers to match the latest sheet Blackfin arch: bfin_reset() is an internal reboot function ... everyone should go through machine_restart() Blackfin arch: print out error/warning if you are running on the incorrect CPU type Blackfin arch: remove non-bf54x ifdef logic since this file is only compiled on bf54x parts Blackfin arch: update board defconfigs Blackfin arch: Add optional verbose debug Blackfin arch: emulate a TTY over the EMUDAT/JTAG interface Blackfin arch: have is_user_addr_valid() check for overflows (like when address is -1) Blackfin arch: ptrace - fix off-by-one check on end of memory regions Blackfin arch: Enable framebuffer support for the BF526-EZkit TFT LCD display Blackfin arch: flash memory map and dm9000 resources updating Blackfin arch: early prink code still use uart core console functions to parse and set configure option string ...
| * Blackfin arch: make sure we include the fix for SPORT hysteresis when ↵Robin Getz2008-10-135-0/+15
| | | | | | | | | | | | | | | | | | | | | | reprogramming clocks As pointed out by Appalayagari Sreedhar, make sure we include the fix for SPORT hysteresis when reprogramming clocks. Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: Fix bogus str_ident check in gpio codeMichael Hennerich2008-10-131-5/+2
| | | | | | | | | | | | Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: AD7879 Touchscreen driverMichael Hennerich2008-10-131-3/+37
| | | | | | | | | | | | | | | | Add AD7879 Touchscreen driver to the device structures Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: introducing bfin_addr_dcachableVitja Makarov2008-10-132-0/+15
| | | | | | | | | | | | | | | | This patch introduces bfin_addr_dcachable() predicate, that simply tests is address in cachable region or not. Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: fix a typo in commentsBryan Wu2008-10-101-1/+1
| | | | | | | | | | Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: Remove useless head fileGraf Yang2008-10-101-6/+0
| | | | | | | | | | | | Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: make sure L2 start and length are always defined (fixes ↵Mike Frysinger2008-10-101-7/+7
| | | | | | | | | | | | | | | | building on BF542) Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: use the Blackfin on-chip ROM to do software reset when possibleMike Frysinger2008-10-132-1/+94
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: update anomaly headers to match the latest sheetMike Frysinger2008-10-105-75/+227
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: bfin_reset() is an internal reboot function ... everyone ↵Mike Frysinger2008-10-102-2/+1
| | | | | | | | | | | | | | | | should go through machine_restart() Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: print out error/warning if you are running on the incorrect ↵Robin Getz2008-10-107-41/+76
| | | | | | | | | | | | | | | | CPU type Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: remove non-bf54x ifdef logic since this file is only compiled ↵Mike Frysinger2008-10-101-45/+4
| | | | | | | | | | | | | | | | on bf54x parts Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: update board defconfigsMike Frysinger2008-10-101-14/+22
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: Add optional verbose debugRobin Getz2008-10-102-100/+143
| | | | | | | | | | | | | | | | | | Add optional verbose debug - which when turned off, quiets down userspace errors. Saves ~8k of code/data for production systems Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: emulate a TTY over the EMUDAT/JTAG interfaceMike Frysinger2008-10-101-0/+12
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: have is_user_addr_valid() check for overflows (like when ↵Mike Frysinger2008-10-101-0/+4
| | | | | | | | | | | | | | | | address is -1) Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: ptrace - fix off-by-one check on end of memory regionsMike Frysinger2008-10-101-29/+21
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: Enable framebuffer support for the BF526-EZkit TFT LCD displayMichael Hennerich2008-10-131-0/+49
| | | | | | | | | | | | Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: flash memory map and dm9000 resources updatingJavier Herrero2008-10-091-15/+19
| | | | | | | | | | | | Signed-off-by: Javier Herrero <jherrero@hvsistemas.es> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: early prink code still use uart core console functions to ↵Sonic Zhang2008-10-091-0/+1
| | | | | | | | | | | | | | | | parse and set configure option string Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: Move all the silicon rev handling to one placeMike Frysinger2008-10-097-11/+15
| | | | | | | | | | | | | | | | | | Move all the silicon rev handling to one place (Kconfig) and make sure we warn if you are running on silicon that has not been tested on Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: fix end address for parallel flash and increase kernel ↵Mike Frysinger2008-10-091-2/+2
| | | | | | | | | | | | | | | | partition size to 4meg Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: avoid using actual config name in commentMike Frysinger2008-10-091-1/+1
| | | | | | | | | | | | | | | | | | avoid using actual config name in comment as a text search is done to see what files need to be rebuilt Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: Fix bug - HW Errors never recover on BF548Robin Getz2008-10-092-2/+22
| | | | | | | | | | | | | | | | | | | | | | The kernel does not properly clear the EBIU Error Master (EBIU_ERRMST) Register on BF548, which causes the kernel to panic. We need to make sure that we clear the EBIU_ERRMST (necessary on BF54x) Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: correct icache size in show_cpuinfo(), let c_start() return ↵Graf Yang2008-10-091-4/+10
| | | | | | | | | | | | | | | | proper pointer Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * Blackfin arch: give sys_strace proper entry markingsMike Frysinger2008-10-091-0/+3
| | | | | | | | | | | | | | | | a global _sys_trace will cause the assembler to fail, it should be fixed in toolchain side firstly. Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>