
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.
Maxim Sloyko (12): aspeed: Add mach-aspeed directory and basic Kconfig aspeed: Add support for Watchdot Timer aspeed: Add Timer Support aspeed: Add sysreset driver aspeed/ast2500: Device Tree and bindings for some of the clocks aspeed/ast2500: Add Clock Driver aspeed/ast2500: Helper function to get access to SCU aspeed/ast2500: Add SDRAM MC driver aspeed/ast2500: Common board init functions for ast2500 based boards aspeed: Common configuration parameters for aspeed boards aspeed: Device Tree for ast2500 Eval Board aspeed: Configuration 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.dtsi | 423 ++++++++++++++++++++++ arch/arm/include/asm/arch-aspeed/scu_ast2500.h | 108 ++++++ arch/arm/include/asm/arch-aspeed/sdram_ast2500.h | 133 +++++++ 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 | 74 ++++ arch/arm/mach-aspeed/ast2500/Kconfig | 13 + arch/arm/mach-aspeed/ast2500/Makefile | 1 + arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 31 ++ 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 | 1 + 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 ++ 32 files changed, 2073 insertions(+) create mode 100644 arch/arm/dts/ast2500-evb.dts 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