[PATCH v2 00/13] arm: exynos: Add E850-96 board

Sam Protsenko semen.protsenko at linaro.org
Thu Jan 11 04:08:56 CET 2024


Add Exynos850 SoC and WinLink's E850-96 board support. A short overview
of series additions and modifications:
  * USI driver: configures UART block
  * PMU driver: connects AP UART lines to uart1 pins)
  * Exynos850 clock driver: generates UART clocks
  * Exynos850 pinctrl driver: mux UART pins
  * serial_s5p: UART driver
  * Exynos850 SoC: dtsi files and MMU maps
  * E850-96 board: dts files, defconfig, board file and doc

Most of the code was borrowed from mainline Linux kernel (where this
board is already enabled) and adapted for U-Boot. Preliminary
preparation for this series includes next patches / series (already
merged):

  * commit 585a2aaac2ac ("arm: exynos: Include missing CPU header in
                          soc.c")
  * commit c9ab9f30c8e4 ("arm: exynos: Include missing CPU header in
                          gpio.h")
  * commit 11bd2787deff ("watchdog: s5p_wdt: Include missing CPU
                          header")
  * commit 08cfa971a717 ("exynos: Avoid duplicate reset_cpu with
                          SYSRESET enabled")
  * commit f655090901dc ("clk: exynos: Add header guard for clk-pll.h")
  * commit 2227f4c0afed ("serial: s5p: Fix clk_get_by_index() error code
                          check")
  * commit a0615ffc99a5 ("serial: s5p: Remove common.h inclusion")
  * commit 5ad21de6bae0 ("serial: s5p: Use livetree API to get "id"
                          property")
  * commit e79f630dbf67 ("serial: s5p: Use named constants for register
                          values")
  * commit a627f2802a71 ("serial: s5p: Improve coding style")
  * commit 33e7ca5a9b6a ("serial: s5p: Use dev_read_addr_ptr() to get
                          base address")
  * commit 6219b47c4d91 ("board: samsung: Fix SYS_CONFIG_NAME configs in
                          axy17lte Kconfig")
  * commit 470682ace1e0 ("configs: Remove unneeded SYS_CONFIG_NAME from
                          a*y17lte defconfigs")

and series [1]. For more detailed description please see the board
documentation (added in PATCH #12) and corresponding commit messages.

Changes in v2:
  - PATCH 4: Removed unnecessary mode param
  - PATCH 4: Removed usi->dev and used priv data instead
  - PATCH 4: Used .of_plat_data callback for dts parsing
  - PATCH 7: Fixed Thomas Abraham e-mail
  - PATCH 9: Fixed incorrect driver description (comment)
  - Collected Reviewed-by tags
  - Rebased on top of most recent U-Boot/master

[1] https://lists.denx.de/pipermail/u-boot/2023-November/539033.html

Sam Protsenko (13):
  dt-bindings: soc: samsung: Add Exynos USI
  dt-bindings: soc: samsung: Add Exynos PMU
  dt-bindings: clock: Add Exynos850 clock controller
  soc: samsung: Add Exynos USI driver
  soc: samsung: Add Exynos PMU driver
  clk: exynos: Move pll code into clk-exynos7420
  clk: exynos: Add Samsung clock framework
  clk: exynos: Add Exynos850 clock driver
  pinctrl: exynos: Add pinctrl support for Exynos850
  serial: s5p: Add Exynos850 compatible
  arm: exynos: Add Exynos850 SoC support
  board: samsung: Add support for E850-96 board
  MAINTAINERS: Add new Samsung subsystems

 MAINTAINERS                                   |   25 +
 arch/arm/dts/Makefile                         |    1 +
 arch/arm/dts/exynos-pinctrl.h                 |   79 +
 arch/arm/dts/exynos850-e850-96-u-boot.dtsi    |   37 +
 arch/arm/dts/exynos850-e850-96.dts            |  273 ++++
 arch/arm/dts/exynos850-pinctrl.dtsi           |  663 +++++++++
 arch/arm/dts/exynos850.dtsi                   |  809 +++++++++++
 arch/arm/mach-exynos/Kconfig                  |   28 +-
 arch/arm/mach-exynos/mmu-arm64.c              |   34 +
 board/samsung/e850-96/Kconfig                 |   16 +
 board/samsung/e850-96/MAINTAINERS             |    9 +
 board/samsung/e850-96/Makefile                |    6 +
 board/samsung/e850-96/e850-96.c               |   22 +
 configs/e850-96_defconfig                     |   21 +
 doc/board/samsung/e850-96.rst                 |   87 ++
 .../img/exynos850-boot-architecture.svg       | 1283 +++++++++++++++++
 doc/board/samsung/index.rst                   |    1 +
 .../clock/samsung,exynos850-clock.yaml        |  307 ++++
 .../soc/samsung/exynos-pmu.yaml               |   85 ++
 .../soc/samsung/exynos-usi.yaml               |  162 +++
 drivers/clk/exynos/Kconfig                    |    7 +
 drivers/clk/exynos/Makefile                   |   11 +-
 drivers/clk/exynos/clk-exynos7420.c           |   25 +-
 drivers/clk/exynos/clk-exynos850.c            |  189 +++
 drivers/clk/exynos/clk-pll.c                  |  167 ++-
 drivers/clk/exynos/clk-pll.h                  |   16 +-
 drivers/clk/exynos/clk.c                      |  121 ++
 drivers/clk/exynos/clk.h                      |  228 +++
 drivers/pinctrl/exynos/Kconfig                |    8 +
 drivers/pinctrl/exynos/Makefile               |    1 +
 drivers/pinctrl/exynos/pinctrl-exynos850.c    |  125 ++
 drivers/serial/serial_s5p.c                   |    1 +
 drivers/soc/Kconfig                           |    1 +
 drivers/soc/Makefile                          |    1 +
 drivers/soc/samsung/Kconfig                   |   33 +
 drivers/soc/samsung/Makefile                  |    4 +
 drivers/soc/samsung/exynos-pmu.c              |  102 ++
 drivers/soc/samsung/exynos-usi.c              |  208 +++
 include/configs/e850-96.h                     |   12 +
 include/dt-bindings/clock/exynos850.h         |  337 +++++
 include/dt-bindings/soc/samsung,exynos-usi.h  |   17 +
 41 files changed, 5538 insertions(+), 24 deletions(-)
 create mode 100644 arch/arm/dts/exynos-pinctrl.h
 create mode 100644 arch/arm/dts/exynos850-e850-96-u-boot.dtsi
 create mode 100644 arch/arm/dts/exynos850-e850-96.dts
 create mode 100644 arch/arm/dts/exynos850-pinctrl.dtsi
 create mode 100644 arch/arm/dts/exynos850.dtsi
 create mode 100644 board/samsung/e850-96/Kconfig
 create mode 100644 board/samsung/e850-96/MAINTAINERS
 create mode 100644 board/samsung/e850-96/Makefile
 create mode 100644 board/samsung/e850-96/e850-96.c
 create mode 100644 configs/e850-96_defconfig
 create mode 100644 doc/board/samsung/e850-96.rst
 create mode 100644 doc/board/samsung/img/exynos850-boot-architecture.svg
 create mode 100644 doc/device-tree-bindings/clock/samsung,exynos850-clock.yaml
 create mode 100644 doc/device-tree-bindings/soc/samsung/exynos-pmu.yaml
 create mode 100644 doc/device-tree-bindings/soc/samsung/exynos-usi.yaml
 create mode 100644 drivers/clk/exynos/clk-exynos850.c
 create mode 100644 drivers/clk/exynos/clk.c
 create mode 100644 drivers/clk/exynos/clk.h
 create mode 100644 drivers/pinctrl/exynos/pinctrl-exynos850.c
 create mode 100644 drivers/soc/samsung/Kconfig
 create mode 100644 drivers/soc/samsung/Makefile
 create mode 100644 drivers/soc/samsung/exynos-pmu.c
 create mode 100644 drivers/soc/samsung/exynos-usi.c
 create mode 100644 include/configs/e850-96.h
 create mode 100644 include/dt-bindings/clock/exynos850.h
 create mode 100644 include/dt-bindings/soc/samsung,exynos-usi.h

-- 
2.39.2



More information about the U-Boot mailing list