Re: [PATCH 4/4] board: samsung: add support for Galaxy A series of 2017 (a5y17lte)

2021-10-31 Thread Tom Rini
On Sun, Oct 17, 2021 at 01:45:42PM +0300, Dzmitry Sankouski wrote:

> Samsung Galaxy A3, A5, A7 (2017) - middle class Samsung smartphones.
> U-boot can be used as chain-loaded bootloader to gain control
> on booting vanilla linux(and possibly others) kernels
> 
> Signed-off-by: Dzmitry Sankouski 
> Cc: Minkyu Kang 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature


[PATCH 4/4] board: samsung: add support for Galaxy A series of 2017 (a5y17lte)

2021-10-17 Thread Dzmitry Sankouski
Samsung Galaxy A3, A5, A7 (2017) - middle class Samsung smartphones.
U-boot can be used as chain-loaded bootloader to gain control
on booting vanilla linux(and possibly others) kernels

Signed-off-by: Dzmitry Sankouski 
Cc: Minkyu Kang 
---
 arch/arm/dts/Makefile|  3 +
 arch/arm/dts/exynos78x0-axy17lte.dts | 29 +
 arch/arm/mach-exynos/Kconfig | 28 +
 board/samsung/axy17lte/Kconfig   | 58 ++
 board/samsung/axy17lte/MAINTAINERS   |  8 +++
 board/samsung/axy17lte/Makefile  |  3 +
 board/samsung/axy17lte/axy17lte.c| 11 
 configs/a3y17lte_defconfig   | 24 
 configs/a5y17lte_defconfig   | 24 
 configs/a7y17lte_defconfig   | 24 
 doc/board/index.rst  |  1 +
 doc/board/samsung/axy17lte.rst   | 92 
 doc/board/samsung/index.rst  |  9 +++
 13 files changed, 314 insertions(+)
 create mode 100644 arch/arm/dts/exynos78x0-axy17lte.dts
 create mode 100644 board/samsung/axy17lte/Kconfig
 create mode 100644 board/samsung/axy17lte/MAINTAINERS
 create mode 100644 board/samsung/axy17lte/Makefile
 create mode 100644 board/samsung/axy17lte/axy17lte.c
 create mode 100644 configs/a3y17lte_defconfig
 create mode 100644 configs/a5y17lte_defconfig
 create mode 100644 configs/a7y17lte_defconfig
 create mode 100644 doc/board/samsung/axy17lte.rst
 create mode 100644 doc/board/samsung/index.rst

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index b8a382d153..947c15aa50 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -28,6 +28,9 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
exynos5800-peach-pi.dtb \
exynos5422-odroidxu3.dtb
 dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
+dtb-$(CONFIG_TARGET_A5Y17LTE) += exynos78x0-axy17lte.dtb
+dtb-$(CONFIG_TARGET_A3Y17LTE) += exynos78x0-axy17lte.dtb
+dtb-$(CONFIG_TARGET_A7Y17LTE) += exynos78x0-axy17lte.dtb
 
 dtb-$(CONFIG_ARCH_DAVINCI) += \
da850-evm.dtb \
diff --git a/arch/arm/dts/exynos78x0-axy17lte.dts 
b/arch/arm/dts/exynos78x0-axy17lte.dts
new file mode 100644
index 00..7fae8db874
--- /dev/null
+++ b/arch/arm/dts/exynos78x0-axy17lte.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Samsung Exynos78x0 SoC device tree source
+ *
+ * Copyright (c) 2020 Dzmitry Sankouski (dsankou...@gmail.com)
+ */
+
+/dts-v1/;
+#include "exynos78x0.dtsi"
+/ {
+   compatible = "samsung,exynos78x0", "samsung,exynos7880", 
"samsung,exynos7870";
+
+   aliases {
+   console = 
+   };
+
+   chosen {
+   stdout-path = 
+   };
+};
+
+ {
+   status = "okay";
+};
+
+_pll {
+   clock-frequency = <2600>;
+};
+
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 7df0e17617..7f3aee5712 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -151,6 +151,33 @@ config TARGET_ESPRESSO7420
select PINCTRL_EXYNOS7420
select SUPPORT_SPL
 
+config  TARGET_A5Y17LTE
+   bool "Samsung SM-A520F board"
+   select ARM64
+   select CLK_EXYNOS
+   select OF_CONTROL
+   select PINCTRL
+   select PINCTRL_EXYNOS78x0
+   select SUPPORT_SPL
+
+config  TARGET_A7Y17LTE
+   bool "Samsung SM-A520F board"
+   select ARM64
+   select CLK_EXYNOS
+   select OF_CONTROL
+   select PINCTRL
+   select PINCTRL_EXYNOS78x0
+   select SUPPORT_SPL
+
+config  TARGET_A3Y17LTE
+   bool "Samsung SM-A520F board"
+   select ARM64
+   select CLK_EXYNOS
+   select OF_CONTROL
+   select PINCTRL
+   select PINCTRL_EXYNOS7880
+   select SUPPORT_SPL
+
 endchoice
 endif
 
@@ -167,6 +194,7 @@ source "board/samsung/arndale/Kconfig"
 source "board/samsung/smdk5250/Kconfig"
 source "board/samsung/smdk5420/Kconfig"
 source "board/samsung/espresso7420/Kconfig"
+source "board/samsung/axy17lte/Kconfig"
 
 config SPL_LDSCRIPT
default "board/samsung/common/exynos-uboot-spl.lds" if ARCH_EXYNOS5 || 
ARCH_EXYNOS4
diff --git a/board/samsung/axy17lte/Kconfig b/board/samsung/axy17lte/Kconfig
new file mode 100644
index 00..2abf8e7acf
--- /dev/null
+++ b/board/samsung/axy17lte/Kconfig
@@ -0,0 +1,58 @@
+config SYS_CONFIG_NAME
+   string "Board configuration name"
+   default "exynos78x0-common.h"
+   help
+ This option contains information about board configuration name.
+ Based on this option include/configs/.h header
+ will be used for board configuration.
+
+if TARGET_A5Y17LTE
+config SYS_BOARD
+   default "axy17lte"
+   help
+ a5y17lte is a production board for SM-A520F phone on Exynos7880 SoC.
+
+config SYS_VENDOR
+   default "samsung"
+
+config SYS_CONFIG_NAME
+   default "a5y17lte"
+
+config EXYNOS7880
+bool "Exynos 7880 SOC support"
+default y
+endif
+
+if TARGET_A7Y17LTE
+config SYS_BOARD
+   default "axy17lte"
+   help
+ 

[PATCH 4/4] board: samsung: add support for Galaxy A series of 2017 (a5y17lte)

2021-10-12 Thread Dzmitry Sankouski
Samsung Galaxy A3, A5, A7 (2017) - middle class Samsung smartphones.
U-boot can be used as chain-loaded bootloader to gain control
on booting vanilla linux(and possibly others) kernels

Signed-off-by: Dzmitry Sankouski 
Cc: Minkyu Kang 
---
 arch/arm/dts/Makefile|  3 +
 arch/arm/dts/exynos78x0-axy17lte.dts | 29 +
 arch/arm/mach-exynos/Kconfig | 28 +
 board/samsung/axy17lte/Kconfig   | 58 ++
 board/samsung/axy17lte/MAINTAINERS   |  8 +++
 board/samsung/axy17lte/Makefile  |  3 +
 board/samsung/axy17lte/axy17lte.c| 11 
 configs/a3y17lte_defconfig   | 24 
 configs/a5y17lte_defconfig   | 24 
 configs/a7y17lte_defconfig   | 24 
 doc/board/index.rst  |  1 +
 doc/board/samsung/axy17lte.rst   | 92 
 doc/board/samsung/index.rst  |  9 +++
 13 files changed, 314 insertions(+)
 create mode 100644 arch/arm/dts/exynos78x0-axy17lte.dts
 create mode 100644 board/samsung/axy17lte/Kconfig
 create mode 100644 board/samsung/axy17lte/MAINTAINERS
 create mode 100644 board/samsung/axy17lte/Makefile
 create mode 100644 board/samsung/axy17lte/axy17lte.c
 create mode 100644 configs/a3y17lte_defconfig
 create mode 100644 configs/a5y17lte_defconfig
 create mode 100644 configs/a7y17lte_defconfig
 create mode 100644 doc/board/samsung/axy17lte.rst
 create mode 100644 doc/board/samsung/index.rst

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index b8a382d153..947c15aa50 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -28,6 +28,9 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
exynos5800-peach-pi.dtb \
exynos5422-odroidxu3.dtb
 dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
+dtb-$(CONFIG_TARGET_A5Y17LTE) += exynos78x0-axy17lte.dtb
+dtb-$(CONFIG_TARGET_A3Y17LTE) += exynos78x0-axy17lte.dtb
+dtb-$(CONFIG_TARGET_A7Y17LTE) += exynos78x0-axy17lte.dtb
 
 dtb-$(CONFIG_ARCH_DAVINCI) += \
da850-evm.dtb \
diff --git a/arch/arm/dts/exynos78x0-axy17lte.dts 
b/arch/arm/dts/exynos78x0-axy17lte.dts
new file mode 100644
index 00..7fae8db874
--- /dev/null
+++ b/arch/arm/dts/exynos78x0-axy17lte.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Samsung Exynos78x0 SoC device tree source
+ *
+ * Copyright (c) 2020 Dzmitry Sankouski (dsankou...@gmail.com)
+ */
+
+/dts-v1/;
+#include "exynos78x0.dtsi"
+/ {
+   compatible = "samsung,exynos78x0", "samsung,exynos7880", 
"samsung,exynos7870";
+
+   aliases {
+   console = 
+   };
+
+   chosen {
+   stdout-path = 
+   };
+};
+
+ {
+   status = "okay";
+};
+
+_pll {
+   clock-frequency = <2600>;
+};
+
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 7df0e17617..7f3aee5712 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -151,6 +151,33 @@ config TARGET_ESPRESSO7420
select PINCTRL_EXYNOS7420
select SUPPORT_SPL
 
+config  TARGET_A5Y17LTE
+   bool "Samsung SM-A520F board"
+   select ARM64
+   select CLK_EXYNOS
+   select OF_CONTROL
+   select PINCTRL
+   select PINCTRL_EXYNOS78x0
+   select SUPPORT_SPL
+
+config  TARGET_A7Y17LTE
+   bool "Samsung SM-A520F board"
+   select ARM64
+   select CLK_EXYNOS
+   select OF_CONTROL
+   select PINCTRL
+   select PINCTRL_EXYNOS78x0
+   select SUPPORT_SPL
+
+config  TARGET_A3Y17LTE
+   bool "Samsung SM-A520F board"
+   select ARM64
+   select CLK_EXYNOS
+   select OF_CONTROL
+   select PINCTRL
+   select PINCTRL_EXYNOS7880
+   select SUPPORT_SPL
+
 endchoice
 endif
 
@@ -167,6 +194,7 @@ source "board/samsung/arndale/Kconfig"
 source "board/samsung/smdk5250/Kconfig"
 source "board/samsung/smdk5420/Kconfig"
 source "board/samsung/espresso7420/Kconfig"
+source "board/samsung/axy17lte/Kconfig"
 
 config SPL_LDSCRIPT
default "board/samsung/common/exynos-uboot-spl.lds" if ARCH_EXYNOS5 || 
ARCH_EXYNOS4
diff --git a/board/samsung/axy17lte/Kconfig b/board/samsung/axy17lte/Kconfig
new file mode 100644
index 00..2abf8e7acf
--- /dev/null
+++ b/board/samsung/axy17lte/Kconfig
@@ -0,0 +1,58 @@
+config SYS_CONFIG_NAME
+   string "Board configuration name"
+   default "exynos78x0-common.h"
+   help
+ This option contains information about board configuration name.
+ Based on this option include/configs/.h header
+ will be used for board configuration.
+
+if TARGET_A5Y17LTE
+config SYS_BOARD
+   default "axy17lte"
+   help
+ a5y17lte is a production board for SM-A520F phone on Exynos7880 SoC.
+
+config SYS_VENDOR
+   default "samsung"
+
+config SYS_CONFIG_NAME
+   default "a5y17lte"
+
+config EXYNOS7880
+bool "Exynos 7880 SOC support"
+default y
+endif
+
+if TARGET_A7Y17LTE
+config SYS_BOARD
+   default "axy17lte"
+   help
+