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

Maxim Sloyko
2017-01-05T22:42:10Z

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.

For the first round of reviews I'm mostly looking for a nod to add
mach-aspeed and arch-aspeed directories, as well as for feedback
on naming, file locations and overall approach.

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 | 113 ++++++
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 | 89 +++++
arch/arm/mach-aspeed/Kconfig | 17 +
arch/arm/mach-aspeed/Makefile | 8 +
arch/arm/mach-aspeed/ast2500-board.c | 78 ++++
arch/arm/mach-aspeed/ast2500/Kconfig | 13 +
arch/arm/mach-aspeed/ast2500/Makefile | 1 +
arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 30 ++
arch/arm/mach-aspeed/ast2500/sdram_ast2500.c | 443 +++++++++++++++++++++++
arch/arm/mach-aspeed/ast_wdt.c | 44 +++
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 | 255 +++++++++++++
drivers/sysreset/Makefile | 1 +
drivers/sysreset/sysreset_ast.c | 55 +++
drivers/timer/Kconfig | 7 +
drivers/timer/Makefile | 1 +
drivers/timer/ast_timer.c | 96 +++++
include/configs/aspeed-common.h | 84 +++++
include/configs/evb_ast2500.h | 30 ++
include/dt-bindings/clock/ast2500-scu.h | 29 ++
33 files changed, 1895 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.390.gc69c2f50cf-goog