aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-01-19ARM: Merge next-jassi-spiBen Dooks
Merge branch 'next-jassi-spi' into next-samsung-try7
2010-01-19ARM: Merge next-s3c6410-andygreenBen Dooks
Merge branch 'next-s3c6410-andygreen' into next-samsung-try5
2010-01-19ARM: Merge next-samsung-mc-adcBen Dooks
Merge branch 'next-samsung-mc-adc' into next-samsung-try5 Conflicts: arch/arm/mach-s3c6400/include/mach/map.h (fix ADC and RTC merge)
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: SPI: Add SPI controller register baseJassi Brar
Added SPI controller register base. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18ARM: SMDK6410: Add comments on ethernet connectivityAndy Green
LAN9115 Ethernet only works on SMDK6410 if certain switches are set in specific ways. Document the requirement. Signed-off-by: Andy Green <andy@warmcat.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: SMDK6410: Add nC1 chipselect SROM setupAndy Green
Since the mach-smdk6410.c file claims it can start up the smsc9115 ethernet device on the board, it should take care about configuring the necessary chip select nCS1 so it can see the chip. The select defaults to 8-bit mode so without config the Ethernet doesn't work. This patch uses the new SROM definitions to set nCS1 to the state found in the Samsung U-Boot port for 6410. It may be more conservative that it needs to be since those settings were marked as for CS8900A also using this chip select. But this change is enough to get the ethernet working when booted with Qi. 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: SAMSUNG: Move S3C24XX ADC driver to plat-samsungMaurus Cuelenaere
Move S3C24XX ADC driver to plat-samsung 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: S5P6440: Add serial port supportKukjin Kim
This patch adds UART serial port support for S5P6440 CPU. Most of the serial support of Samsung's 6400 CPU is reused for 6440 CPU. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add configuration fileKukjin Kim
This patch adds Samsung's S5P6440 default configuration file. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add Board support fileKukjin Kim
This patch adds Samsung's SMDK6440 board support file. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add new Kconfig and MakefilesKukjin Kim
This patch adds the Kconfig and Makefile for the new S5P6440 machine and platform directories. It also updates arch/arm Kconfig and Makefiles to include the support for the new S5P6440 CPU. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add Timer supportKukjin Kim
This patch adds timer support for S5P6440 CPU. 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-15ARM: S5P6440: Add IRQ supportKukjin Kim
This patch adds IRQ support for S5P6440 CPU. Signed-off-by: Adityapratap Sharma <aditya.ps@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add Clock and PLL supportKukjin Kim
This patch adds clock and pll support for S5P6440. This patch are based on Harald Welte's patches and Ben's plat-samsung. Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5P6440: Add new CPU initialization supportKukjin Kim
This patch adds Samsung's S5P6440 CPU support. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Use common UART IRQ handling codeBen Dooks
Use the common UART IRQ handling code for the S5PC100 system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Move to using standard timer IRQ handling codeBen Dooks
Move to using the standard VIC/Timer IRQ handling code added previously to avoid duplicating code. Thanks to Marek Szyprowski for pointing out dual Kconfig change. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Remove definitions deleted by previous clksrc changesBen Dooks
Remove the definitions we've deleted in the previous updates to the clksrc_clk for arch/arm/plat-s5pc1xx/include/plat/regs-clock.h. Added comments about the removal to the clock header since we only need these defines in one place (and they've now been removed there) we get rid of them from the header. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Add script to change old clksrc_clk to new register defsBen Dooks
This script is used to change the old style clksrc_clk as originally found in plat-s3c64xx to the new style. It is here for reference if needed for future code merges. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Change clksrc_clks to use array of clocksBen Dooks
Remove the individual 'struct clksrc_clks' and place them into an array so that we can simply use s3c_register_clksrcs to register tham all in one go. Since the spdif clock relies on the audio clock, move the audio clocks into their own arrary. Thanks to Marek Szyprowski for testing and pointing out the four clocks what where missed from the clock list. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Move clock definitions around ready to turn into clksrc arraysBen Dooks
Move the clock definitions around ready to turn the clocks into an array of clocks and register them in one go. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: S5PC1XX: Move to using generic clksrc_clk for clock codeBen Dooks
Remove the copy of the old s3c64xx struct clksrc_clk and use the new one in plat-samsung. This eliminates a bug in the set_parent() call where it failed to set the clk->parent after sucesfully updating the clock. The script that was used to automate much of the process will be supplied seperately. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Add config option for number of additional GPIO pins.Kukjin Kim
This patch adds a configuration option for specifing the number of additional GPIO pins to be used in addition to the GPIO pins supported onchip. Signed-off-by: Kukjin Kim <kgene.kim@samsung.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: Move gpio-config.c into plat-samsungBen Dooks
The arch/arm/plat-s3c/gpio-config.c file is common to pretty much all the Samsung SoCs, so move it to arch/arm/plat-samsung Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move device definitions in plat-samsungBen Dooks
Move all the platform device definitions from plat-s3c into plat-samsung Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move pwm-clock code into plat-samsungBen Dooks
Move the code for the pwm-clock into plat-samsung, as it is common to all Samsung SoCs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Make clk_default_setrate and clk_ops_def_setrate visibleKukjin Kim
This patch makes clk_default_setrate and clk_ops_def_setrate available to code outside plat-samsung clock code. Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Do not register set_parent call if no sourceBen Dooks
If there is no source register defined, do not register a clksrc clock with a valid .set_parent in the ops. 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: SAMSUNG: Do not allow get/set/round rate calls with no dividerBen Dooks
If the reg_div field is not set, then do not register clk_ops with the get/set/round rate calls as these will fail to work. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-15ARM: SAMSUNG: Move clock.c to arch/arm/plat-samsungBen Dooks
This is the core implementation of the clock code for all Samsung based SoCs, so move it to arch/arm/plat-samsung (the clock.h file has already been moved). Since the file is built for every Samsung SoC, no changes are needed to the Kconfig system. 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: SAMSUNG: Add core clock implementation for clksrc based clocksHarald Welte
Add a core for the clksrc clock implementation, which is found in many of the newer Samsung SoCs into plat-samsung. Signed-off-by: Harald Welte <laforge@gnumonks.org> [ben-linux@fluff.org: split from original patch to make change smaller] [ben-linux@fluff.org: split clk and clksrc changes] [ben-linux@fluff.org: moved to plat-samsung from plat-s3c] [ben-linux@fluff.org: re-wrote headers after splits] [ben-linux@fluff.org: added better documentation to headers] 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>