aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/plat-s3c64xx
AgeCommit message (Collapse)Author
2010-01-21ARM: S3C64XX: Staticise audio platform dataMark Brown
It's not exported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21ARM: S3C64XX: Fix dev-audio buildMark Brown
As reported when the patch was posted commit 71269364 ("ARM: S3C64XX: Add I2S resources in platform code") uses pin names for the IISv4 data output pins which are not present in mainline, causing dev-audio to fail to build. Fix this by using the defines which are actually present in the kernel source. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21ARM: SMDK6410: Set up interrupt range for WM835x on 1190-EV1 PMIC boardMark Brown
The WM835x driver won't actually use this yet but it will in the future when the changes converting it to genirq are merged. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19ARM: SAMSUNG: Remove empty gpio-core.h and use central plat/gpio-core.hBen Dooks
Rename mach-s3c2410/include/mach/gpio-core.h to mach/gpio-track.h so that it can be included by <plat/gpio-core.h> when needed. Eliminate all other empty gpio-core.h files and just include the <plat/gpio-core.h> as necessary. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19ARM: SAMSUNG: Move GPIO common functions to plat-samsungKukjin Kim
This patch moves GPIO common functions (from plat-s3c64xx) into plat-samsung. and adds the config option to build the plat-samsung/gpiolib for Samsung SoCs. Signed-off-by: Adityapratap Sharma <aditya.ps@samsung.com> Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19ARM: Merge next-samsung-devupdates1Ben Dooks
Merge branch 'next-samsung-devupdates1' into next-samsung-try7
2010-01-19ARM: SAMSUNG: Make UART device code commonBen Dooks
Move s3c24xx_uart_devs, s3c24xx_uart_src and the platform devices to a common entry in plat-samsung since they are the same in all the current implementations. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: SPI: Define SPI controller devicesJassi Brar
Platform devices for SPI Controller of S3C64XX are defined and exported for machines to include. Also, controller setup helper functions are defined for machine code to set runtime configuration of the controller and the bus. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: SPI: Header for passing platform dataJassi Brar
We need a way to pass controller specific information to the SPI driver. For that purpose new headers are made. SPI Controller is assumed 'type-s3c64xx' and can be defined for newer SoCs. Hence, that part is placed under plat-samsung to be shared across newer SoCs. SoC specific part - spi source clocks, will be placed under plat-<soc>/include/plat/ Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: SPI: Define SPI-48M clock sourcesJassi Brar
Defined special 48MHz clock sources for SPI-0,1. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: Add virtual mapping for S3C64XX SROM areaAndy Green
This adds the physical address of the SROM unit, and applies a virtual mapping for it to the S3C_VA_MEM slot. Signed-off-by: Andy Green <andy@warmcat.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: Add SROM register definitionsAndy Green
This introduces a platform file for s3c64xx that defines the SROM unit registers that control chip select characteristics. Signed-off-by: Andy Green <andy@warmcat.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: Merge next-s3c64xxBen Dooks
Merge branch 'next-s3c64xx' into next-samsung Conflicts: arch/arm/mach-s3c6400/include/mach/map.h ( ADC and RTC PA merge fixed)
2010-01-18ARM: S3C64XX: Add S3C64XX support to the generic Samsung ADC driverMaurus Cuelenaere
Add S3C64XX support to the generic Samsung ADC driver Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: Add I2S resources in platform codeJassi Brar
Define resources needed by the I2S drivers in platform code. Audio cfg_gpio callback and IORESOURCE_DMA are added. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: S3C64XX: Add S3C64XX RTC platform driverMaurus Cuelenaere
Add S3C64XX RTC platform driver Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: Add common entry code for system with two VICsBen Dooks
Add a common entry-macro-vic2.S for systems where there are two VICs so that the machine or platform directories just need to setup the correct information before including <asm/entry-macro-vic2.S> into their own entry-macro.S file. Since this code is from the S3C64XX project, we update the S3C64XX machine entry code to use this new header. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move IRQ UART handling for newer devices to plat-samsungBen Dooks
Move the handling for the UART interrupts out of the s3c64xx specific code and into plat-samsung so that it can be used by all implementations that need it. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move IRQ VIC timer handling out to common header filesBen Dooks
Move the VIC based timer interrupt handling out of plat-s3c64xx and into plat-samsung to be re-used for other systems. This also reduces the code size as we now have a common init routine and use the irq_desc to store the interrupt number of the timer. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Add call to register array of clocksBen Dooks
Add s3c_register_clocks() to register an array of clocks, printing an error message if there is a problem. Replace all points in the code where this could be used. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Avoid announcing clksrc clocks twiceBen Dooks
The new code calls the clock setup code on registration which can be before the clock system has been fully initialised. The following code re-does this setup at the end of the clock registration and thus we get two printings. Update the calls to only print on the last pass or when doing the necessary resume work. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Fixup .reg_src and .reg_div with named initialisersBen Dooks
Change these two fields to have named initialisers as per the review comments from Kyungmin Park. sed used: s@\.reg_src\(.*\)=\(.*\){\(.*\),\(.*\),\(.*\)}@.reg_src\1=\2{ .reg =\3, .shift =\4, .size =\5 }@g s@\.reg_div\(.*\)=\(.*\){\(.*\),\(.*\),\(.*\)}@.reg_div\1=\2{ .reg =\3, .shift =\4, .size =\5 }@g Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Reduce size of struct clk.Ben Dooks
Reduce the size of struct clk by 12 bytes and make defining clocks with common implementation functions easier by moving the set_rate, get_rate, round_rate and set_parent calls into a new structure called 'struct clk_ops' and using that instead. This change does make a few clocks larger as they need their own clk_ops, but this is outweighed by the number of clocks with either no ops or having a common set of ops. Update all the users of this. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Remove unused clock definitions from clock headerHarald Welte
Clean out the definitions we are no longer using after the new clock code updates. Signed-off-by: Harald Welte <laforge@gnumonks.org> [ben-linux@fluff.org: split from initial patch provided] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Use new clock-clksrc.c code for clocks.Ben Dooks
Move the s3c6400-clock.c implementation over to use the new common plat-samsung based clock-clksrc.c. Note, this does not delete the clocks definitions that are now unused in the regs-clock.h to reduce the quantity of change in this commit. Based on original patches by Harald Welte. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Compress s3c6400-clock.c codeBen Dooks
The individually named clocks are all static to the code and thus can be compressed into a single array and then the array can be referenced. This removes the need for a seperate array of pointers to clocks. Fix a minor problem of re-initialising the pointers in s3c6400_set_clksrc() as this is also called by the cpufreq code. Move these initialisations to the code that does the registration. Based on Harald Welte's original clock changes patch. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S3C64XX: Cleanup common init code in s3c6400-clock.cBen Dooks
Remove the four fields from clksrc_clk.clk which are always the same and init them when the clock is registered. This helps remove the amount of repeated code. This is a re-work of Harald Welte's clock changes for the latest kernel. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-07ARM: S3C64XX: Fix possible clock look in EPLL and MPLL clock chainsBen Dooks
There is a possibility of a loop happening in the PLL output clock chain on the S3C64XX series. clk_mpll's parent was set to be clk_mout_mpll, but this is fed from clk_fout_epll (which is also clk_mpll). clk_mpll is meant to be the output from the MPLL, and clk_mout_mpll is a seperate clock derived from the mux of clk_mpll and clk_fin_mpll and thus should be considered a seperate clock. Anything using clk_mpll directly really should not be relying on this being the clock that is eventually routed to a peripheral, so remove the loop and ensure that the clocks accurately represent the clock chain in the device. The clk_mpll is not being used outside of the s3c6400-clock.c code, so this change should not break anything else. Do the same for the EPLL. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-09Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits) tree-wide: fix misspelling of "definition" in comments reiserfs: fix misspelling of "journaled" doc: Fix a typo in slub.txt. inotify: remove superfluous return code check hdlc: spelling fix in find_pvc() comment doc: fix regulator docs cut-and-pasteism mtd: Fix comment in Kconfig doc: Fix IRQ chip docs tree-wide: fix assorted typos all over the place drivers/ata/libata-sff.c: comment spelling fixes fix typos/grammos in Documentation/edac.txt sysctl: add missing comments fs/debugfs/inode.c: fix comment typos sgivwfb: Make use of ARRAY_SIZE. sky2: fix sky2_link_down copy/paste comment error tree-wide: fix typos "couter" -> "counter" tree-wide: fix typos "offest" -> "offset" fix kerneldoc for set_irq_msi() spidev: fix double "of of" in comment comment typo fix: sybsystem -> subsystem ...
2009-12-08Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (272 commits) Fix soc_common PCMCIA configuration ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver ARM: 5825/1: SA1100: h3600: update defconfig ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100 ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys ARM: 5822/1: SA1100: h3100/h3600: clean up #includes ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates ARM: 5820/1: SA1100: h3100/h3600: split h3600.c ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h ...
2009-12-07Merge branch 'for-next' into for-linusJiri Kosina
Conflicts: kernel/irq/chip.c
2009-12-04Merge branch 'topic/asoc' into for-linusTakashi Iwai
2009-12-04S3C64XX: Staticise platform data for PCM devicesMark Brown
The symbols aren't declared and don't need to be exported, they go along with the device structure. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Ben Dooks <ben-linux@fluff.org>
2009-12-03ARM: S3C6410: Correct names of IISv4 data output pin definitionsMark Brown
The naming of the defines suggests that there are three IISv4 ports with one data line each when in fact there is a single IISv4 port with three data lines. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-01ARM: S3C64XX: add HSMMC2 supportMaurus Cuelenaere
This adds support for the third SDHCI controller. Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-01ARM: S3C64XX: add support for all group 0 external interruptsMaurus Cuelenaere
Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-01ARM: S3C64XX: fix USB OTG compilationMaurus Cuelenaere
This adds the S3C_VA_USB_HSPHY mapping. Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-01ARM: S3C64XX: Redo voltage ranges for cpufreqMark Brown
The documentation for the S3C6410 CPU voltage scaling is rather unclear, with omitted values for several speed settings. Originally the code was using only quoted values, resulting in some fairly odd settings. The S3C6410 is also unusual in that the both the maximum and minimum voltages quoted scale as the frequency rises, rather than just the minimum voltage. Clean this up a bit by always using the specified typical settings as the minimum voltage (ignoring any specified minimum voltage) in order to avoid running near the edge of the processor capabilities. Also use the next quoted maximum voltages rather than the typical voltages where no maximum voltage is quoted, allowing operation on a greater range of systems. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-01ARM: S3C64XX: Separate out regulator and frequency latenciesMark Brown
Currently the transition latency reported by the S3C64xx cpufreq driver includes both the time for the CPU to reclock itself and the time for a regulator to change voltage. This means that if a regulator is not in use then the transition latency reported is excessively high. In future the regulator API will be extended to report latencies so the driver will be able to query the performance of a given regulator. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-01ARM: S3C64XX: Provide logging when CPU frequencies are eliminated due to clocksMark Brown
This provides symmetry with the voltage based checks done for the regulator. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-18ARM: S3C64XX: Defined PCM controller platform devicesJassi Brar
Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-11-09ARM: S3C64XX: DMA: Free node for non-circular queuesJassi Brar
We need to free the buff and lli nodes if the buffer queue is not CIRCULAR. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Callback with correct buffer pointerJassi Brar
buffdone callback should be called per buffer request with pointer to the latest serviced request. 'next' should point to the one next to currently active. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Make src and dst transfer size sameJassi Brar
Some devices don't seem to work if the source and desitnation transfer widths are not same. For example, SPI dma xfers, with 8bits/word, don't work without this patch. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Unify callback functions for success/failureJassi Brar
Replace s3c64xx_dma_tcirq and s3c64xx_dma_errirq with the common s3c64xx_dma_buffdone. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09ARM: S3C64XX: DMA: Protect buffer pointers while manipulationJassi Brar
Ensure the DMA buffer points are not updated from another source during the process of enquing a buffer. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> [ben-linux@fluff.org: Updated patch comment] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-11-09Kconfig: Remove useless and sometimes wrong commentsMichael Roth
Additionally, some excessive newlines removed. Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-10-26ARM: S3C64XX: Set rate of crystal muxMark Brown
The current code assumes that the external clock mux will be set to the crystal. Set this up explicitly within the clock API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-10-26ARM: S3C64XX: Fix S3C64XX_CLKDIV0_ARM_MASK valueKukjin Kim
Fix the values of S3C6400_CLKDIV0_ARM_MASK and S3C6410_CLKDIV0_ARM_MASK. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-09-18Merge branch 'next-s3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linuxRussell King