[U-Boot] V4 S3C64XX: Switch all I/O to use readl/writel functio and Clear SMDK64XX

Zhong Hongbo bocui107 at gmail.com
Wed Aug 15 15:48:01 CEST 2012


V4:
1. Adjust SPL patch order
2. seperate the patch of "arm1176: Fixed No relocation.", It is a common issue for arm
platform. I sent it for other thread. 

V3:
1. Replace ELFIN with S3C64XX for all the variable of cpu.h.
2. Change __S3C6400_H__ into __CPU__H__.
3. Use C language to implement memory initialization.
4. Use C language to re-write reset function.
5. Delete u-boot-nand.lds.

V2:
1. Modify the type of return for s3c64xx_get_base_nand
2. Add patch 0014 to support s3c6410 board
3. Adjust patch for mix content.

V1:
This serial patch intent to:
1. Switch all I/O to use readl/writel function
2. Change nand_spl to use SPL framework
3. S3C64XX serial includes s3c6400 and s3c6410,
Here seprate cpu and board file to support to board's of s3c6410.


I test this patch on my s3c6410 development board. the log as following:

U-Boot 2012.07-rc3-00016-g351ea73 (Jul 28 2012 - 16:55:32) for DMATEK6410


CPU:     S3C64XX at 532MHz
         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode)
Board:   DMATEK6410
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  128 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   dm9000


Zhong Hongbo (14):
  smdk6400: Move smdk6400 board from Makefile to boards.cfg
  S3C64XX: Switch to use readl/writel to operate nand flash
  S3C64XX: Use readl/writel to operate uart
  S3C64XX: add pwm for s3c64xx support
  S3C64XX: reference s5p cpu time system for s3c64xx timer
  S3C64xx: mov cpu_init.S to the board directory
  S3C6400: Adopt SPL framwork to support spl for nand flash
  S3C6400: Delete nand_spl for S3C6400
  S3C64XX: Change SROM init to use read/write operation
  S3C64XX: Switch to use read/writel to operation clock system
  S3c64xx: clear GPIO, Interrupt, Watchdog variable.
  S3C6400: clear memory init variable
  S3C64XX: Move s3c6400.h to cpu.h to support s3c6410 board
  S3C6400: Remove the unused variable for S3C6400

 Makefile                                        |   20 -
 arch/arm/cpu/arm1176/s3c64xx/Makefile           |    7 +-
 arch/arm/cpu/arm1176/s3c64xx/cpu_init.S         |  135 ----
 arch/arm/cpu/arm1176/s3c64xx/pwm.c              |  188 +++++
 arch/arm/cpu/arm1176/s3c64xx/reset.S            |   34 -
 arch/arm/cpu/arm1176/s3c64xx/reset.c            |   39 +
 arch/arm/cpu/arm1176/s3c64xx/speed.c            |   52 +-
 arch/arm/cpu/arm1176/s3c64xx/srom.c             |   51 ++
 arch/arm/cpu/arm1176/s3c64xx/timer.c            |  195 +++---
 arch/arm/cpu/arm1176/start.S                    |   16 +-
 arch/arm/include/asm/arch-s3c64xx/clock.h       |  163 ++++
 arch/arm/include/asm/arch-s3c64xx/cpu.h         |   89 +++
 arch/arm/include/asm/arch-s3c64xx/dmc.h         |   62 ++
 arch/arm/include/asm/arch-s3c64xx/gpio.h        |   38 +
 arch/arm/include/asm/arch-s3c64xx/interrupt.h   |   31 +
 arch/arm/include/asm/arch-s3c64xx/nand.h        |   72 ++
 arch/arm/include/asm/arch-s3c64xx/pwm.h         |   70 ++
 arch/arm/include/asm/arch-s3c64xx/s3c6400.h     |  895 -----------------------
 arch/arm/include/asm/arch-s3c64xx/s3c64x0.h     |   90 ---
 arch/arm/include/asm/arch-s3c64xx/sromc.h       |   49 ++
 arch/arm/include/asm/arch-s3c64xx/uart.h        |   54 ++
 board/samsung/smdk6400/Makefile                 |   30 +-
 board/samsung/smdk6400/config.mk                |   30 -
 board/samsung/smdk6400/dmc_init.c               |  110 +++
 board/samsung/smdk6400/lowlevel_init.S          |   76 +-
 board/samsung/smdk6400/setup.h                  |  137 ++++
 board/samsung/smdk6400/smdk6400.c               |   40 +-
 board/samsung/smdk6400/smdk6400_nand_spl.c      |   61 ++-
 board/samsung/smdk6400/tools/mksmdk6400_image.c |  117 +++
 board/samsung/smdk6400/u-boot-nand.lds          |   84 ---
 boards.cfg                                      |    2 +
 drivers/mtd/nand/s3c64xx.c                      |   64 +-
 drivers/serial/s3c64xx.c                        |   52 +-
 drivers/usb/host/s3c64xx-hcd.c                  |   32 +-
 include/configs/smdk6400.h                      |   40 +-
 nand_spl/board/samsung/smdk6400/Makefile        |  117 ---
 nand_spl/board/samsung/smdk6400/config.mk       |   40 -
 nand_spl/board/samsung/smdk6400/u-boot.lds      |   78 --
 38 files changed, 1667 insertions(+), 1793 deletions(-)
 delete mode 100644 arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
 create mode 100644 arch/arm/cpu/arm1176/s3c64xx/pwm.c
 delete mode 100644 arch/arm/cpu/arm1176/s3c64xx/reset.S
 create mode 100644 arch/arm/cpu/arm1176/s3c64xx/reset.c
 create mode 100644 arch/arm/cpu/arm1176/s3c64xx/srom.c
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/clock.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/cpu.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/dmc.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/gpio.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/interrupt.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/nand.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/pwm.h
 delete mode 100644 arch/arm/include/asm/arch-s3c64xx/s3c6400.h
 delete mode 100644 arch/arm/include/asm/arch-s3c64xx/s3c64x0.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/sromc.h
 create mode 100644 arch/arm/include/asm/arch-s3c64xx/uart.h
 delete mode 100644 board/samsung/smdk6400/config.mk
 create mode 100644 board/samsung/smdk6400/dmc_init.c
 create mode 100644 board/samsung/smdk6400/setup.h
 create mode 100644 board/samsung/smdk6400/tools/mksmdk6400_image.c
 delete mode 100644 board/samsung/smdk6400/u-boot-nand.lds
 delete mode 100644 nand_spl/board/samsung/smdk6400/Makefile
 delete mode 100644 nand_spl/board/samsung/smdk6400/config.mk
 delete mode 100644 nand_spl/board/samsung/smdk6400/u-boot.lds




More information about the U-Boot mailing list