[U-Boot] [PATCH v4 0/4] arm: aspeed: Basic support for Aspeed AST2500 part and eval board

Maxim Sloyko maxims at google.com
Wed Jan 18 22:44:54 CET 2017


This series adds minimal support for AST2500 part and eval board,
enough to boot EVB into prompt. It contains WDT, Timer, Sysreset,
Clock (very basic) and SDRAM MC drivers, all written from scratch,
using AST2500 datasheet. Aspeed's SDK was used only for reference.
Given very limited documentation provided by Aspeed, some parts of SDRAM
init sequence were basically rewritten to do the same thing that is done
in Aspeed SDK, without real understanding of what is going on.

The file layout closely follows the example of rk3288 chip and firefly-rk3288
board.

Changes in v4:
- Expanded AST2500 description in Kconfig
- Expanded ast_timer description in Kconfig
- Added struct ast_timer_counter to timer private data
- Use dev_get_addr_ptr in timer's of_platdata
- Added helper function to wdt for resetting peripherals
- Expanded AST2500 EVB description in Kconfig
- Added docstrings for ast_get_clk() and ast_get_scu()
- Fixed include file ordering
- Added docstring for ast2500_get_uart_clk_rate
- Use dev_get_addr_ptr
- Use WDT helper function to reset memory controller
- Fixed include file order in ast2500-board.c
- Multiple cosmetic changes: new lines, removed parens etc.
- Removed local PRE_CON_RAM_SZ variable from aspeed-common.h
- Cosmetic: Fixed comment formatting

Changes in v3:
- Added SYS_TEXT_BASE as Kconfig option
- Removed CONFIG_SYS_TEXT_BASE in favor of Kconfig option
- In aspeed-common.h changed some options from define CONFIG_FOO 1 to
  define CONFIG_FOO
- In evb_ast2500.h fixed some options to define CONFIG_FOO instead of
  define CONFIG_FOO 1

Changes in v2:
- Moved number of WDTs to a Kconfig option

Changes in v1:
- Merged together the patches related to aspeed common drivers and
  configuration
- Fixed timer driver name (was sandbox_timer)
- Removed yet nonexistent files from mach-aspeed/Makefile
- Merge together all patches related to ast2500 specific drivers
- Add Copyright statement to all c/h files
- Use DT include from Linux Kernel, Add U-Boot specific modifications in
  ast2500-u-boot.dtsi
- Merge together all patches related to ast2500 boards common
  functions/configs
- Add copyright statement to ast2500-board.c
- Merge together patches related to ast2500 eval board configuration
- Add Copyright statement to evb_ast2500.c
- Use ast2500-u-boot.dtsi instead of ast2500.dtsi, which is now Linux
  Kernel DT Include

Maxim Sloyko (4):
  aspeed: Add drivers common to all Aspeed SoCs
  aspeed: Add basic ast2500-specific drivers and configuration
  aspeed: Board init functions and common configs for ast2500 based
    boards
  aspeed: Support for ast2500 Eval Board

 arch/arm/Kconfig                                 |   7 +
 arch/arm/Makefile                                |   1 +
 arch/arm/dts/Makefile                            |   2 +
 arch/arm/dts/ast2500-evb.dts                     |  23 ++
 arch/arm/dts/ast2500-u-boot.dtsi                 |  53 +++
 arch/arm/dts/ast2500.dtsi                        | 174 +++++++++
 arch/arm/include/asm/arch-aspeed/scu_ast2500.h   | 125 +++++++
 arch/arm/include/asm/arch-aspeed/sdram_ast2500.h | 138 ++++++++
 arch/arm/include/asm/arch-aspeed/timer.h         |  54 +++
 arch/arm/include/asm/arch-aspeed/wdt.h           |  99 ++++++
 arch/arm/mach-aspeed/Kconfig                     |  29 ++
 arch/arm/mach-aspeed/Makefile                    |   8 +
 arch/arm/mach-aspeed/ast2500-board.c             |  83 +++++
 arch/arm/mach-aspeed/ast2500/Kconfig             |  16 +
 arch/arm/mach-aspeed/ast2500/Makefile            |   1 +
 arch/arm/mach-aspeed/ast2500/clk_ast2500.c       |  30 ++
 arch/arm/mach-aspeed/ast2500/sdram_ast2500.c     | 432 +++++++++++++++++++++++
 arch/arm/mach-aspeed/ast_wdt.c                   |  59 ++++
 board/aspeed/evb_ast2500/Kconfig                 |  12 +
 board/aspeed/evb_ast2500/Makefile                |   1 +
 board/aspeed/evb_ast2500/evb_ast2500.c           |   6 +
 configs/evb-ast2500_defconfig                    |  21 ++
 drivers/clk/Makefile                             |   2 +
 drivers/clk/aspeed/Makefile                      |   7 +
 drivers/clk/aspeed/clk_ast2500.c                 | 265 ++++++++++++++
 drivers/sysreset/Makefile                        |   1 +
 drivers/sysreset/sysreset_ast.c                  |  55 +++
 drivers/timer/Kconfig                            |  12 +
 drivers/timer/Makefile                           |   1 +
 drivers/timer/ast_timer.c                        |  97 +++++
 include/configs/aspeed-common.h                  |  81 +++++
 include/configs/evb_ast2500.h                    |  27 ++
 include/dt-bindings/clock/ast2500-scu.h          |  29 ++
 33 files changed, 1951 insertions(+)
 create mode 100644 arch/arm/dts/ast2500-evb.dts
 create mode 100644 arch/arm/dts/ast2500-u-boot.dtsi
 create mode 100644 arch/arm/dts/ast2500.dtsi
 create mode 100644 arch/arm/include/asm/arch-aspeed/scu_ast2500.h
 create mode 100644 arch/arm/include/asm/arch-aspeed/sdram_ast2500.h
 create mode 100644 arch/arm/include/asm/arch-aspeed/timer.h
 create mode 100644 arch/arm/include/asm/arch-aspeed/wdt.h
 create mode 100644 arch/arm/mach-aspeed/Kconfig
 create mode 100644 arch/arm/mach-aspeed/Makefile
 create mode 100644 arch/arm/mach-aspeed/ast2500-board.c
 create mode 100644 arch/arm/mach-aspeed/ast2500/Kconfig
 create mode 100644 arch/arm/mach-aspeed/ast2500/Makefile
 create mode 100644 arch/arm/mach-aspeed/ast2500/clk_ast2500.c
 create mode 100644 arch/arm/mach-aspeed/ast2500/sdram_ast2500.c
 create mode 100644 arch/arm/mach-aspeed/ast_wdt.c
 create mode 100644 board/aspeed/evb_ast2500/Kconfig
 create mode 100644 board/aspeed/evb_ast2500/Makefile
 create mode 100644 board/aspeed/evb_ast2500/evb_ast2500.c
 create mode 100644 configs/evb-ast2500_defconfig
 create mode 100644 drivers/clk/aspeed/Makefile
 create mode 100644 drivers/clk/aspeed/clk_ast2500.c
 create mode 100644 drivers/sysreset/sysreset_ast.c
 create mode 100644 drivers/timer/ast_timer.c
 create mode 100644 include/configs/aspeed-common.h
 create mode 100644 include/configs/evb_ast2500.h
 create mode 100644 include/dt-bindings/clock/ast2500-scu.h

--
2.11.0.483.g087da7b7c-goog



More information about the U-Boot mailing list