Skip to content

Expand Aspeed AST2500 Support

Maxim Sloyko openbmc u-boot 2 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest15 patches 0 repliesNew
  2. v115 patches 34 repliesSuperseded

Changes in v2 from the cover letter

- Remove "probe" function from sandbox wdt driver
- Fix include order

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/15aspeed: Update ast2500 Device Treearch/arm/dts/ast2500.dtsi+880 -10 replies
2/15dm: Simple Watchdog uclassarch/sandbox/dts/test.dts arch/sandbox/include/asm/state.h configs/sandbox_defconfig +8 more+325 -00 replies
3/15aspeed: Watchdog Timer Driverarch/arm/include/asm/arch-aspeed/wdt.h arch/arm/mach-aspeed/ast_wdt.c drivers/watchdog/Kconfig +2 more+217 -130 replies
4/15aspeed: Make SCU lock/unlock functions part of SCU APIarch/arm/include/asm/arch-aspeed/scu_ast2500.h arch/arm/mach-aspeed/ast2500/clk_ast2500.c drivers/clk/aspeed/clk_ast2500.c+31 -160 replies
5/15aspeed: Reset Driverarch/arm/include/asm/arch-aspeed/scu_ast2500.h drivers/reset/Kconfig drivers/reset/Makefile +1 more+145 -00 replies
6/15aspeed: Device Tree configuration for Reset Driverarch/arm/dts/ast2500-evb.dts arch/arm/dts/ast2500-u-boot.dtsi include/dt-bindings/reset/ast2500-reset.h+70 -00 replies
7/15aspeed: Refactor AST2500 RAM Driver and Sysreset Driverarch/arm/include/asm/arch-aspeed/wdt.h arch/arm/mach-aspeed/Kconfig arch/arm/mach-aspeed/ast2500/sdram_ast2500.c +3 more+24 -1120 replies
8/15aspeed: AST2500 Pinctrl Driverarch/arm/include/asm/arch-aspeed/pinctrl.h arch/arm/include/asm/arch-aspeed/scu_ast2500.h drivers/pinctrl/Kconfig +3 more+209 -00 replies
9/15aspeed: Enable Pinctrl Driver in AST2500 EVBconfigs/evb-ast2500_defconfig+1 -00 replies
10/15aspeed: Add P-Bus clock in ast2500 clock driverarch/arm/include/asm/arch-aspeed/scu_ast2500.h drivers/clk/aspeed/clk_ast2500.c+13 -10 replies
11/15aspeed: Add I2C Driverdrivers/i2c/Kconfig drivers/i2c/Makefile drivers/i2c/ast_i2c.c +1 more+499 -00 replies
12/15aspeed: Enable I2C in EVB defconfigconfigs/evb-ast2500_defconfig+3 -00 replies
13/15aspeed: Add support for Clocks needed by MACsarch/arm/dts/ast2500-u-boot.dtsi arch/arm/include/asm/arch-aspeed/scu_ast2500.h drivers/clk/aspeed/clk_ast2500.c +1 more+304 -330 replies
14/15aspeed: Refactor SCU to use consistent mask & shiftarch/arm/include/asm/arch-aspeed/scu_ast2500.h arch/arm/mach-aspeed/ast2500/sdram_ast2500.c drivers/clk/aspeed/clk_ast2500.c+27 -290 replies
15/15aspeed: Cleanup ast2500-u-boot.dtsi Device Treearch/arm/dts/ast2500-u-boot.dtsi+21 -200 replies

Reviews trailers per patch

All 15 patches have a Reviewed-by or Acked-by.

PatchSimon GlassHeiko Schocher
1/15R-b
2/15R-b
3/15R-b
4/15R-b
5/15R-b
6/15R-b
7/15R-b
8/15R-b
9/15R-b
10/15R-b
11/15R-b A-b
12/15R-b
13/15R-b
14/15R-b
15/15R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/15] Expand Aspeed AST2500 Support

This series expands support for Aspeed AST2500 SoC, commonly used as Board Management Controller in many servers.

The main goal of this series is I2C driver, the rest are either cleanups or supporting patches. Most notable among them is addition of Watchdog uclass, so that watchdog drivers can now use Driver Model.

One notable thing that is *missing* from this series is Device Tree configuration for I2C driver. The Linux Kernel I2C driver is still under review and it may affect the details of how devices need to be configured in the Device Tree. So, I decided to wait until it will show up in Linux Kernel DT and then pull it into U-Boot.

I removed Network driver from this series. I will work on it separately and will make it compatible with existing Faraday devices, but that is a work better done outside of this already long series.

Also, sorry for taking long time to respond, I had to take care of some more pressing, non-U-Boot-related issues.
I can assure you that I'm still committed to continue to work on Aspeed in U-Boot.

Changes in v2:
- Remove "probe" function from sandbox wdt driver
- Fix include order

Changes in v1:
- Added link to the original version to commit message
- Rename wdt_reset to wdt_expire_now
- Rename wdt_restart to wdt_reset
- Clarified function documentation in few cases
- Add Sandbox WDT driver and unit tests
- Rename reset to expire_now
- Rename restart to reset
- Remove unnecessary check for error in dev_get_priv
- Fix comment
- Rename wdt_reset call to wdt_expire_now
- Rename wdt_reset call to wdt_expire_now
- Style fixes

Maxim Sloyko (15):
aspeed: Update ast2500 Device Tree
dm: Simple Watchdog uclass
aspeed: Watchdog Timer Driver
aspeed: Make SCU lock/unlock functions part of SCU API
aspeed: Reset Driver
aspeed: Device Tree configuration for Reset Driver
aspeed: Refactor AST2500 RAM Driver and Sysreset Driver
aspeed: AST2500 Pinctrl Driver
aspeed: Enable Pinctrl Driver in AST2500 EVB
aspeed: Add P-Bus clock in ast2500 clock driver
aspeed: Add I2C Driver
aspeed: Enable I2C in EVB defconfig
aspeed: Add support for Clocks needed by MACs
aspeed: Refactor SCU to use consistent mask & shift
aspeed: Cleanup ast2500-u-boot.dtsi Device Tree

 arch/arm/dts/ast2500-evb.dts                   |  15 +
 arch/arm/dts/ast2500-u-boot.dtsi               |  59 +-
 arch/arm/dts/ast2500.dtsi                      | 881 ++++++++++++++++++++++++-
 arch/arm/include/asm/arch-aspeed/pinctrl.h     |  52 ++
 arch/arm/include/asm/arch-aspeed/scu_ast2500.h | 132 +++-
 arch/arm/include/asm/arch-aspeed/wdt.h         |  38 +-
 arch/arm/mach-aspeed/Kconfig                   |   8 +-
 arch/arm/mach-aspeed/ast2500/clk_ast2500.c     |  15 +
 arch/arm/mach-aspeed/ast2500/sdram_ast2500.c   |  17 +-
 arch/arm/mach-aspeed/ast_wdt.c                 |  47 +-
 arch/sandbox/dts/test.dts                      |   4 +
 arch/sandbox/include/asm/state.h               |   9 +
 configs/evb-ast2500_defconfig                  |   6 +
 configs/sandbox_defconfig                      |   2 +
 drivers/clk/aspeed/clk_ast2500.c               | 321 +++++++--
 drivers/i2c/Kconfig                            |   9 +
 drivers/i2c/Makefile                           |   1 +
 drivers/i2c/ast_i2c.c                          | 357 ++++++++++
 drivers/i2c/ast_i2c.h                          | 132 ++++
 drivers/pinctrl/Kconfig                        |   9 +
 drivers/pinctrl/Makefile                       |   1 +
 drivers/pinctrl/aspeed/Makefile                |   1 +
 drivers/pinctrl/aspeed/pinctrl_ast2500.c       | 127 ++++
 drivers/reset/Kconfig                          |  10 +
 drivers/reset/Makefile                         |   1 +
 drivers/reset/ast2500-reset.c                  | 106 +++
 drivers/sysreset/sysreset_ast.c                |  24 +-
 drivers/watchdog/Kconfig                       |  32 +
 drivers/watchdog/Makefile                      |   3 +
 drivers/watchdog/ast_wdt.c                     | 125 ++++
 drivers/watchdog/sandbox_wdt.c                 |  66 ++
 drivers/watchdog/wdt-uclass.c                  |  72 ++
 include/dm/uclass-id.h                         |   1 +
 include/dt-bindings/clock/ast2500-scu.h        |   2 +
 include/dt-bindings/reset/ast2500-reset.h      |  45 ++
 include/wdt.h                                  | 107 +++
 test/dm/Makefile                               |   1 +
 test/dm/wdt.c                                  |  40 ++
 38 files changed, 2711 insertions(+), 167 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-aspeed/pinctrl.h
 create mode 100644 drivers/i2c/ast_i2c.c
 create mode 100644 drivers/i2c/ast_i2c.h
 create mode 100644 drivers/pinctrl/aspeed/Makefile
 create mode 100644 drivers/pinctrl/aspeed/pinctrl_ast2500.c
 create mode 100644 drivers/reset/ast2500-reset.c
 create mode 100644 drivers/watchdog/ast_wdt.c
 create mode 100644 drivers/watchdog/sandbox_wdt.c
 create mode 100644 drivers/watchdog/wdt-uclass.c
 create mode 100644 include/dt-bindings/reset/ast2500-reset.h
 create mode 100644 include/wdt.h
 create mode 100644 test/dm/wdt.c
Signature · 1 line
2.13.0.rc1.294.g07d810a77f-goog