9
0
Fork 0
Commit Graph

41 Commits

Author SHA1 Message Date
Juergen Beisert 3ee217a69c MACH SAMSUNG/S3C: Re-work the GPIO handling for S3C24xx CPUs
a) use the more CPU specific S3C* macro names
b) move the register description out of the way, as more recent CPUs using a
   different layout and more features

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:14 +01:00
Juergen Beisert 59994faae6 MACH SAMSUNG/S3C: Re-work the memory detection and handling
Keep common code in the MACH instead of re-inventing it in each platform.
Also use S3C* macros for all memory related register.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:14 +01:00
Juergen Beisert b8560b2b2f MACH SAMSUNG/S3C: Unify the UART driver for the S3C family of CPUs
The UART is one of the units which differs only slightly inside the S3C family.
Prepare this driver to share it with more recent CPUs.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:13 +01:00
Juergen Beisert b5a92c0ff1 MACH SAMSUNG/S3C: Reflect the CPU name the LCD driver is for
This LCD driver is for the LCD controller in the S3C2410/S3C2440 CPUs only.
Change its name to reflect its usage and free the way to add LCD controller
drivers for more recent Samsung CPUs.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:13 +01:00
Juergen Beisert d32acc5544 MACH SAMSUNG/S3C: Parts of the SDHC driver can be shared in the S3C CPU family
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:13 +01:00
Juergen Beisert b29b8f43d5 MACH SAMSUNG/S3C: Use the correct CPU family name to reflect NAND driver's usage
The aready existing NAND controller driver in Barebox is for the S3C24XX family
only. Change the name of the file to reflect this fact (and free the way to add
more recent Samsung NAND controllers)

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:13 +01:00
Juergen Beisert cbc08bfb42 MACH SAMSUNG/S3C: Make it more generic for future updates
Start with renaming files to share them in the S3C CPU family,

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 13:32:13 +01:00
Sascha Hauer 52fac4b1ff defaultenv: simplify boot
Now that we have a bootm command which boots everything we can
simplify the defaultenvironment. We can call bootm on every
image type and can remove the kernelimage_type variables.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-12-15 11:07:15 +01:00
Sascha Hauer e0f4fb2c98 Merge branch 'master' into next
Conflicts:
	drivers/ata/disk_drive.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-29 20:45:23 +01:00
Juergen Beisert 68284282be Mini2440: Fix leftover from A9M2440 copy
These symbols where defined for the A9M2440 platform. Rename them to the
platform they now belong to.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-27 12:16:55 +01:00
Juergen Beisert 77e8188269 Mini2440: Everything's now present to provide USB host feature
The S3C2440 CPU comes with an internal OHCI the generic part of
Barebox already supports. Just add the missing part.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-17 16:52:06 +01:00
Sascha Hauer 3ee7877a48 introduce io.h
To allow for some generic io accessors introduce io.h and use
this instead of asm/io.h throughout the tree.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-22 19:03:05 +02:00
Sascha Hauer f9f35ee938 ARM boards: move sdram setup before mmu setup
The new MMU setup will need SDRAM base addresses and sizes.
For this reason convert the MMU enabled ARM boards:

- move mem setup to mem_initcall. This is early but
  still makes sure that we already have the console available
- move MMU setup in this initcall temporary as after the mmu_init will generic

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-08-01 16:32:00 +02:00
Jean-Christophe PLAGNIOL-VILLARD 95067e23ac arm: introduce arm_add_mem_device to register dram device
this will automaticaly register the device to armlinux_add_dram

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-08-01 21:49:33 +08:00
Jean-Christophe PLAGNIOL-VILLARD 0616e182a5 s3c/boards: switch to resources
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-07-30 02:05:27 +08:00
Jean-Christophe PLAGNIOL-VILLARD 06c36cf09e dm9000: introduce add_dm9000_device to register dm9000 device
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-07-29 14:04:24 +08:00
Jean-Christophe PLAGNIOL-VILLARD 3465da7aa8 dm9000: replace DM9000_WIDTH_8/16/32 by IORESOURCE_MEM_8/16/32BIT
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-07-29 14:04:24 +08:00
Jean-Christophe PLAGNIOL-VILLARD bf466e7ad7 dm9000: switch to dev_request_mem_region
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-20 08:25:44 +02:00
Sascha Hauer f928efa818 add a add_mem_device function
Add a helper function for boards to register their memory
devices. This makes the board code smaller and also helps
getting rid of map_base and struct memory_platform_data.

And switch all of the memory to it

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-07-18 20:32:45 +08:00
Jean-Christophe PLAGNIOL-VILLARD 88618eb5f1 mem: replace DEVFS_RDWR by IORESOURCE_MEM_WRITEABLE
we keep struct memory_platform_data for now on we will switch off the memories
resources to struct resource

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-07-18 20:31:51 +08:00
Jean-Christophe PLAGNIOL-VILLARD 23c7b4c4f0 dm9200: use "struct resource" instead of platform_data
drop iobase and iodata in favor of resources

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2011-07-18 07:57:51 +08:00
Alexey Galakhov 1dec194641 Enable display for MINI2440 board.
Also add display modes for usual MINI2440 displays.

Signed-off-by: Alexey Galakhov <agalakhov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-05-19 20:37:45 +02:00
Juergen Beisert e0965c4d56 S3C24xx/NFC: Consider correct NAND page size for boot.
When booting from NAND, its important to know the correct page size. When
the NAND is used as the boot source, four dedicated pins are used to configure
the correct page size and address cycles. These pins can be read back in one
of the NFC registers to parametrize the load function.

This patch also extends the read routine to support more than four address
cycles on demand.

BTW: At least some mini2440s are misconfigured to use five address cycles for
a NAND device that is known to need only four address cycles. In this case the
vendor is at our side: This NAND simply ignores any additional address cycles
than required.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-14 12:11:19 +01:00
Jean-Christophe PLAGNIOL-VILLARD 9eac282024 defaultenv: add kernel_loc nfs and tftp support
before we can only support tftp
so keep it as default

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-14 11:57:11 +01:00
Juergen Beisert 01bad70e64 mini2440: Use generic environment
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:55 +01:00
Juergen Beisert b2afcf9389 mini2440: Remove some A9M2440 platform leftovers
Also adapt the config file to the default environment.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:55 +01:00
Juergen Beisert f7d49a38f1 mini2440: Add booting from NAND support
With this patch barebox can now be booted from RAM, NOR and NAND on the
mini2440 platform. 'CONFIG_S3C24XX_NAND_BOOT' must still be 'y' to be able to
boot from NAND.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:55 +01:00
Juergen Beisert 955f13760b mini2440: Use a flash based BBT as the kernel also does
The default configuration of the mini2440 in the current 2.6.37 kernel uses
a flash based BBT. So, the barebox for the mini2440 must also use one, to be
in sync with the kernel about bad blocks in the flash.

Due to the used OOB layout, the generic BBT description coming with the
framework can be used.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:55 +01:00
Juergen Beisert 5aa7b6a683 mini2440: Make it able to save a runtime environment
Without this modification saving a modified environment ends with:

mini2440:/ saveenv
saving environment
could not open /dev/env0: Read-only file system

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:55 +01:00
Juergen Beisert 12ceaff1a0 mini2440: Add MCI support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:54 +01:00
Juergen Beisert 4a10717ca9 mini2440: Add GPIO settings
This is required in order to enable booting from NAND, when there is no
other first level bootlader.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:54 +01:00
Juergen Beisert 1c21bb37bb mini2440: Add SDRAM size autodetection
If the SDRAM type will change in the future, only the 'config.h' must be
adapted to the new settings. The real size will be read back from this setting.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:54 +01:00
Juergen Beisert 018fdf06a2 mini2440: Configure debug UART pins very early
This is required in order to enable booting from NAND and to avoid any visible
garbage on the screen until the pins are really set.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:54 +01:00
Juergen Beisert 29cfc72bd9 mini2440: Add SDRAM config settings
This is required in order to enable booting from NAND and using the generic
S3C2440 setup routines.

Two types of SDRAM devices are known to be shipped by FriendlyARM. This config
should work on both of them. But it is really tested only for the HY57V561620
type.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:54 +01:00
Juergen Beisert 2fbca613d1 mini2440: Add PLL settings
This is required in order to enable booting from NAND and using the generic
S3C2440 setup routines.

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:54 +01:00
Juergen Beisert fb14c8683c mini2440: Add some useful documentation
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:53 +01:00
Juergen Beisert 8c9b6ae3a0 mini2440: Fix a runtime warning when '.id=0' is used
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:53 +01:00
Juergen Beisert 70bacdbac7 mini2440: Be a little be pedantic with the include file order
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-03 16:15:53 +01:00
Marek Belisko b1dd843c02 arm: mini2440: Add memory size.
MINI240 board has available always 64M of memory so add
size to memory device structure.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-03 16:12:31 +01:00
Marek Belisko 6d2fd508d1 mini2440: Fix compilation error.
Patch fix following compilation error:
../mini2440.c:33:28: error: asm/mach-types.h: No such file or directory
../mini2440.c: In function 'mini2440_devices_init':
../mini2440.c:113: error: 'MACH_TYPE_MINI2440' undeclared (first use in this function)
../mini2440.c:113: error: (Each undeclared identifier is reported only once
../mini2440.c:113: error: for each function it appears in.)

Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-15 09:20:34 +01:00
Marek Belisko 85b3963adb Add basic support for mini2440 dev board.
This work is mainly based on a9m2440 board implementation
from Juergen Beisert <jbe@pengutronix.de>. Functionality
was tested only running barebox from ram. Loading to flash
and booting will not work because missing lowlevel_init
functionality (lack of jtag debugger on my side ;)).

Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-04 08:25:14 +01:00