[Pull request] Minimal S5PV210 support

Alexey Galakhov agalakhov at gmail.com
Sat May 12 12:23:02 EDT 2012


This is minimal working Samsung S5PV210 CPU support and very minimal
example Tiny210 board support. No working MMC or NAND drivers yet.

It is able to start from MMC using iROM, can blink LEDs and has working
command-line. It has working DRAM and clock initialization. Also there
is BL1 file cooker.

The checksummed image is named barebox.s5p and should be dd-ed from 1st
512-byte sector of an MMC card.

TODO: add S5P NAND driver, add MMC driver.
TODO: get rid of iROM booting.
TODO: support USB and DM9000 in Tiny210.

The following changes since commit c7c32736bcd428ef146fa49846defaeff0679fdb:

  i2c: Fix barebox crash when 'count' is not set for i2c_read command
(2012-05-11 20:12:19 +0200)

are available in the git repository at:

  git://github.com/agalakhov/barebox.git master

for you to fetch changes up to 1a50adbbea14a995e14301725b969680410a3f24:

  S5P boot header and image generator (2012-05-12 22:08:58 +0600)

----------------------------------------------------------------
Alexey Galakhov (9):
      Support most Samsung SoCs in S3C serial driver
      Fine split S3C arch dependencies from generic code
      Minimal S5PV210 + Tiny210 support (2nd stage only)
      S5PV210 iROM magic boot code
      S5P DRAM support
      S5P lowlevel clock init
      Revert "S5PV210 iROM magic boot code"
      S5P iROM boot support - improved
      S5P boot header and image generator

 .gitignore                                         |    2 +
 arch/arm/Kconfig                                   |    6 +
 arch/arm/Makefile                                  |    8 +
 arch/arm/boards/a9m2410/a9m2410.c                  |   10 +-
 arch/arm/boards/a9m2410/config.h                   |    2 +-
 arch/arm/boards/a9m2410/lowlevel_init.S            |    2 +-
 arch/arm/boards/a9m2440/a9m2410dev.c               |    2 +-
 arch/arm/boards/a9m2440/a9m2440.c                  |   10 +-
 arch/arm/boards/a9m2440/config.h                   |    2 +-
 arch/arm/boards/a9m2440/lowlevel_init.S            |    4 +-
 arch/arm/boards/mini2440/config.h                  |    2 +-
 arch/arm/boards/mini2440/lowlevel_init.S           |    2 +-
 arch/arm/boards/mini2440/mini2440.c                |   10 +-
 arch/arm/boards/tiny210/Makefile                   |    1 +
 arch/arm/boards/tiny210/config.h                   |   23 +
 arch/arm/boards/tiny210/lowlevel.c                 |   58 ++
 arch/arm/boards/tiny210/tiny210.c                  |  113 +++
 arch/arm/configs/a9m2410_defconfig                 |    2 +-
 arch/arm/configs/a9m2440_defconfig                 |    4 +-
 arch/arm/configs/mini2440_defconfig                |    2 +-
 arch/arm/mach-samsung/Kconfig                      |   63 +-
 arch/arm/mach-samsung/Makefile                     |    8 +-
 .../{s3c24xx-clocks.c => clocks-s3c24x0.c}         |   17 +
 arch/arm/mach-samsung/clocks-s5pcxx.c              |   98 +++
 arch/arm/mach-samsung/generic.c                    |  112 ---
 arch/arm/mach-samsung/gpio-s3c24x0.c               |    2 +-
 arch/arm/mach-samsung/gpio-s5pcxx.c                |  123 +++
 .../arm/mach-samsung/include/mach/clocks-s3c24x0.h |   24 +
 arch/arm/mach-samsung/include/mach/clocks-s5pcxx.h |   55 ++
 .../mach/{s3c24xx-gpio.h => gpio-s3c24x0.h}        |    6 +-
 arch/arm/mach-samsung/include/mach/gpio.h          |    3 +
 arch/arm/mach-samsung/include/mach/iomap-s3c24x0.h |   69 ++
 arch/arm/mach-samsung/include/mach/iomap-s5pcxx.h  |   52 ++
 arch/arm/mach-samsung/include/mach/iomux-s5pcxx.h  |  798
++++++++++++++++++++
 .../mach/{s3c24xx-nand.h => nand-s3c24x0.h}        |    4 +-
 arch/arm/mach-samsung/include/mach/s3c-clocks.h    |   25 +-
 arch/arm/mach-samsung/include/mach/s3c-generic.h   |   13 +-
 arch/arm/mach-samsung/include/mach/s3c-iomap.h     |   56 +-
 arch/arm/mach-samsung/include/mach/s5pcxx-irom.h   |   32 +
 .../{lowlevel-init.S => lowlevel-s3c24x0.S}        |   12 +-
 arch/arm/mach-samsung/lowlevel-s5pcxx.c            |   61 ++
 arch/arm/mach-samsung/mem-s3c24x0.c                |  143 ++++
 arch/arm/mach-samsung/mem-s5pcxx.c                 |  260 +++++++
 arch/arm/mach-samsung/s5p-irom-boot.c              |   59 ++
 drivers/mtd/nand/nand_s3c24xx.c                    |   16 +-
 drivers/serial/Kconfig                             |    2 +-
 drivers/serial/serial_s3c.c                        |   55 +-
 scripts/Makefile                                   |    1 +
 scripts/s5p_cksum.c                                |  140 ++++
 49 files changed, 2319 insertions(+), 255 deletions(-)
 create mode 100644 arch/arm/boards/tiny210/Makefile
 create mode 100644 arch/arm/boards/tiny210/config.h
 create mode 100644 arch/arm/boards/tiny210/lowlevel.c
 create mode 100644 arch/arm/boards/tiny210/tiny210.c
 rename arch/arm/mach-samsung/{s3c24xx-clocks.c => clocks-s3c24x0.c} (91%)
 create mode 100644 arch/arm/mach-samsung/clocks-s5pcxx.c
 create mode 100644 arch/arm/mach-samsung/gpio-s5pcxx.c
 create mode 100644 arch/arm/mach-samsung/include/mach/clocks-s3c24x0.h
 create mode 100644 arch/arm/mach-samsung/include/mach/clocks-s5pcxx.h
 rename arch/arm/mach-samsung/include/mach/{s3c24xx-gpio.h =>
gpio-s3c24x0.h} (96%)
 create mode 100644 arch/arm/mach-samsung/include/mach/iomap-s3c24x0.h
 create mode 100644 arch/arm/mach-samsung/include/mach/iomap-s5pcxx.h
 create mode 100644 arch/arm/mach-samsung/include/mach/iomux-s5pcxx.h
 rename arch/arm/mach-samsung/include/mach/{s3c24xx-nand.h =>
nand-s3c24x0.h} (95%)
 create mode 100644 arch/arm/mach-samsung/include/mach/s5pcxx-irom.h
 rename arch/arm/mach-samsung/{lowlevel-init.S => lowlevel-s3c24x0.S} (96%)
 create mode 100644 arch/arm/mach-samsung/lowlevel-s5pcxx.c
 create mode 100644 arch/arm/mach-samsung/mem-s3c24x0.c
 create mode 100644 arch/arm/mach-samsung/mem-s5pcxx.c
 create mode 100644 arch/arm/mach-samsung/s5p-irom-boot.c
 create mode 100644 scripts/s5p_cksum.c



More information about the barebox mailing list