On Tue, Dec 12, 2023 at 9:16 PM Sam Protsenko <semen.protse...@linaro.org> wrote: > > NOTE: This patch series depends on "pinctrl: exynos: Prepare for other > SoCs support" series [1]. It should be applied first. > > 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] (dependency) is still pending. > > For more detailed description please see the board documentation (added > in PATCH #12) and corresponding commit messages. > > [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 | 218 +++ > 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, 5548 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 > > --
Hi Tom, Minkyu, Would really appreciate a review for this series. It's not only adding a new board, but also a bunch of stuff that I think can be useful for other modern Exynos platforms (CCF Samsung clock framework, USI driver, etc). Thanks! > 2.39.2 >