summaryrefslogtreecommitdiff
path: root/arch/arm/plat-s3c64xx
AgeCommit message (Collapse)AuthorFilesLines
2010-02-22ARM: S3C64XX: Eliminate plat-s3c64xxBen Dooks2-24/+0
Now we've move the support out of plat-s3c64xx for everything, eliminate the platform directory arch/arm/plat-s3c64xx and remove it from the ARM build configuration. Note, PLAT_S3C64XX is kept around for the moment until the drivers that depend on it can be updated, so it is moved to the mach-s3c64xx Kconfig. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-21ARM: SAMSUNG: Remove dma-plat.h to allow plat-s3c64xx to be removedBen Dooks1-70/+0
dma-plat.h is the last file left in plat-s3c64xx, but to remove it we must also change the use of dma-plat.h by the core code and the s3c24xx implementation. Rename the s3c24xx dma-plat.h in the common plat-samsung directory as it may be used for other ports. Move the specific dma bits into the mach-s3c64xx directory and update the build as needed. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: SAMSUNG: Move pm-core.h to machine directoryBen Dooks1-98/+0
Move the pm-core.h to the machine include directory in the process of eliminating the plat-s3c64xx. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Remove plat-s3c64xx Kconfig and PLAT_S3C64XXBen Dooks1-15/+0
Remove the Kconfig and PLAT_S3C64XX defines for the previous S3C64XX directory structure now that the code is moved into mach-s3c64xx. Note, we cannot currently remove plat-s3c64xx directory as we have a pair of include files used within plat-s3c and plat-samsung that need to find a new home. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Merge s3c6400-clock.c and clock.c into mach-s3c64xxBen Dooks3-551/+0
Merge plat-s3c64xx/s3c6400-clock.c mach-s3c64xx/clock.c placing all the clock code into one place. Note, no effort is made in this patch to squash the init functions together. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Merge s3c6400-init.c into cpu.cBen Dooks3-36/+0
Since this file is small, and is compiled for both systems in this architecture merge it into the cpu support file and remove the original instead of moving it. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move core support to mach-s3c64xxBen Dooks13-2251/+2
Move the core S3C64XX support to mach-s3c64xx as it is unlikely to be used outside of this directory. Also move the SoC header files in with it. This includes the clock, cpu, cpufreq, dma, gpiolib and pll support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move device and device setup into mach-s3c64xxBen Dooks12-908/+0
Move the S3C64XX specific device and setup files into mach-s3c64xx as they are unlikely to be used outside of this code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move IRQ support into mach-s3c64xxBen Dooks5-610/+0
Move IRQ support to mach-s3c64xx as it is unlikely to be re-used outside this machine. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20ARM: S3C64XX: Move headers into machine include directoryBen Dooks34-1383/+25
Move the register and GPIO definition files from plat-s3c64xx into the machine include direcotry as they are unlikely to be reused outside mach-s3c64xx. This move includes removing the empty <mach/regs-clock.h> and replacing it with the <plat/regs-clock.h> implementation. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21ARM: S3C64XX: Tidy up common code in s3c64xx_spi_set_info()Ben Dooks1-6/+9
The s3c64xx_spi_set_info() sets one of two platform data structures depending on which controller is being specified. Change to taking a pointer to the relevant platform data structure and then having one set of code to place the data into the area being pointed to. Cc: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21ARM: S3C64XX: Staticise audio platform dataMark Brown1-3/+3
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 Brown1-3/+3
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 Brown1-0/+4
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 Dooks1-1/+1
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 Kim2-160/+3
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 Dooks1-29/+0
Merge branch 'next-samsung-devupdates1' into next-samsung-try7
2010-01-19ARM: SAMSUNG: Make UART device code commonBen Dooks1-29/+0
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 Brar2-0/+181
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 Brar1-0/+18
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 Brar1-0/+12
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 Green1-0/+5
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 Green1-0/+59
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 Dooks3-1/+134
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 Cuelenaere2-0/+50
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 Brar1-1/+90
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 Cuelenaere2-0/+44
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 Dooks3-8/+8
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 Dooks2-114/+4
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 Dooks2-83/+8
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 Dooks1-9/+1
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 Dooks1-2/+2
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 Dooks1-25/+25
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 Dooks1-4/+10
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 Welte1-70/+1
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 Dooks2-202/+40
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 Dooks1-180/+154
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 Dooks1-44/+5
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 Dooks1-9/+1
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 Torvalds1-2/+0
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 Torvalds6-24/+78
* '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 Kosina1-2/+0
Conflicts: kernel/irq/chip.c
2009-12-04Merge branch 'topic/asoc' into for-linusTakashi Iwai1-1/+100
2009-12-04S3C64XX: Staticise platform data for PCM devicesMark Brown1-2/+2
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 Brown1-3/+3
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 Cuelenaere1-0/+20
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 Cuelenaere2-5/+26
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 Cuelenaere1-0/+5
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 Brown1-8/+7
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 Brown1-7/+13
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>