Re: [PATCH v1 2/2] bsh: imx8mn-smm-s2/pro: Add iMX8MN BSH SMM S2 boards

2021-11-05 Thread Ariel D'Alessandro
Hi all,

On 11/3/21 4:56 PM, Ariel D'Alessandro wrote:
> Introduce BSH SystemMaster (SMM) S2 board family, which consists of:
> iMX8MN SMM S2 and iMX8MN SMM S2 PRO boards.
> 
> Add support for iMX8MN BSH SMM S2 board:
> 
> - 256 MiB DDR3 RAM
> - 512MiB Nand
> - USBOTG1 peripheral - fastboot.
> 
> Add support for iMX8MN BSH SMM S2 PRO board:
> 
> - 512 MiB DDR3 RAM
> - 8 GiB eMMC
> - USBOTG1 peripheral - fastboot.
> 
> Signed-off-by: Ariel D'Alessandro 
> Signed-off-by: Michael Trimarchi 
> ---
>  MAINTAINERS   |   9 +
>  arch/arm/dts/Makefile |   2 +
>  arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi| 203 
>  .../dts/imx8mn-bsh-smm-s2-u-boot-common.dtsi  | 179 
>  arch/arm/dts/imx8mn-bsh-smm-s2-u-boot.dtsi|  15 +
>  arch/arm/dts/imx8mn-bsh-smm-s2.dts|  48 +
>  arch/arm/dts/imx8mn-bsh-smm-s2pro-u-boot.dtsi |  15 +
>  arch/arm/dts/imx8mn-bsh-smm-s2pro.dts |  75 ++
>  arch/arm/mach-imx/imx8m/Kconfig   |  15 +
>  board/bsh/imx8mn_smm_s2/Kconfig   |  38 +
>  board/bsh/imx8mn_smm_s2/Makefile  |  13 +
>  board/bsh/imx8mn_smm_s2/ddr3l_timing_256m.c   | 943 ++
>  board/bsh/imx8mn_smm_s2/ddr3l_timing_512m.c   | 943 ++
>  board/bsh/imx8mn_smm_s2/imx8mn_smm_s2.c   |  24 +
>  board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg |  12 +
>  board/bsh/imx8mn_smm_s2/spl.c | 104 ++
>  configs/imx8mn_bsh_smm_s2_defconfig   |  93 ++
>  configs/imx8mn_bsh_smm_s2pro_defconfig|  90 ++
>  include/configs/imx8mn_bsh_smm_s2.h   |  56 ++
>  include/configs/imx8mn_bsh_smm_s2_common.h|  69 ++
>  include/configs/imx8mn_bsh_smm_s2pro.h|  42 +
>  21 files changed, 2988 insertions(+)
>  create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi
>  create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2-u-boot-common.dtsi
>  create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2-u-boot.dtsi
>  create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2.dts
>  create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2pro-u-boot.dtsi
>  create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2pro.dts
>  create mode 100644 board/bsh/imx8mn_smm_s2/Kconfig
>  create mode 100644 board/bsh/imx8mn_smm_s2/Makefile
>  create mode 100644 board/bsh/imx8mn_smm_s2/ddr3l_timing_256m.c
>  create mode 100644 board/bsh/imx8mn_smm_s2/ddr3l_timing_512m.c
>  create mode 100644 board/bsh/imx8mn_smm_s2/imx8mn_smm_s2.c
>  create mode 100644 board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg
>  create mode 100644 board/bsh/imx8mn_smm_s2/spl.c
>  create mode 100644 configs/imx8mn_bsh_smm_s2_defconfig
>  create mode 100644 configs/imx8mn_bsh_smm_s2pro_defconfig
>  create mode 100644 include/configs/imx8mn_bsh_smm_s2.h
>  create mode 100644 include/configs/imx8mn_bsh_smm_s2_common.h
>  create mode 100644 include/configs/imx8mn_bsh_smm_s2pro.h

[snip]

> diff --git a/board/bsh/imx8mn_smm_s2/Kconfig b/board/bsh/imx8mn_smm_s2/Kconfig
> new file mode 100644
> index 000..37fe723e290
> --- /dev/null
> +++ b/board/bsh/imx8mn_smm_s2/Kconfig
> @@ -0,0 +1,38 @@
> +config BSH_SMM_S2_DDR3L_256
> + bool "BSH SMM S2 DDR3L 256 MiB RAM support"
> +
> +config BSH_SMM_S2_DDR3L_512
> + bool "BSH SMM S2 DDR3L 512 MiB RAM support"
> +
> +config SYS_BOARD
> + default "imx8mn_smm_s2"
> +
> +config SYS_VENDOR
> + default "bsh"
> +
> +config IMX_CONFIG
> + default "board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg"
> +
> +if TARGET_IMX8MN_BSH_SMM_S2
> +
> +config SYS_CONFIG_NAME
> + default "imx8mn_bsh_smm_s2"
> +
> +config BOARD_SPECIFIC_OPTIONS # dummy
> + def_bool y
> + select BSH_SMM_S2_DDR3L_256
> +
> +endif
> +
> +if TARGET_IMX8MN_BSH_SMM_S2PRO
> +
> +config SYS_CONFIG_NAME
> + default "imx8mn_bsh_smm_s2pro"
> +
> +config BOARD_SPECIFIC_OPTIONS # dummy
> + def_bool y
> + select BSH_SMM_S2_DDR3L_512
> +
> +endif
> +
> +source "board/freescale/common/Kconfig"

Please omit the above, as it's totally wrong. Will fix in v2 as follows:

config BSH_SMM_S2_DDR3L_256
bool "BSH SMM S2 DDR3L 256 MiB RAM support"

config BSH_SMM_S2_DDR3L_512
bool "BSH SMM S2 DDR3L 512 MiB RAM support"

if TARGET_IMX8MN_BSH_SMM_S2

config SYS_BOARD
default "imx8mn_smm_s2"

config SYS_VENDOR
default "bsh"

config IMX_CONFIG
default "board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg"

config SYS_CONFIG_NAME
default "imx8mn_bsh_smm_s2"

config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
select BSH_SMM_S2_DDR3L_256

source "board/freescale/common/Kconfig"

endif

if TARGET_IMX8MN_BSH_SMM_S2PRO

config SYS_BOARD
default "imx8mn_smm_s2"

config SYS_VENDOR
default "bsh"

config IMX_CONFIG
default "board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg"

config SYS_CONFIG_NAME
default "imx8mn_bsh_smm_s2pro"

config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
select BSH_SMM_S2_DDR3L_512

source "board/freescale/common/Kcon

[PATCH v1 2/2] bsh: imx8mn-smm-s2/pro: Add iMX8MN BSH SMM S2 boards

2021-11-03 Thread Ariel D'Alessandro
Introduce BSH SystemMaster (SMM) S2 board family, which consists of:
iMX8MN SMM S2 and iMX8MN SMM S2 PRO boards.

Add support for iMX8MN BSH SMM S2 board:

- 256 MiB DDR3 RAM
- 512MiB Nand
- USBOTG1 peripheral - fastboot.

Add support for iMX8MN BSH SMM S2 PRO board:

- 512 MiB DDR3 RAM
- 8 GiB eMMC
- USBOTG1 peripheral - fastboot.

Signed-off-by: Ariel D'Alessandro 
Signed-off-by: Michael Trimarchi 
---
 MAINTAINERS   |   9 +
 arch/arm/dts/Makefile |   2 +
 arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi| 203 
 .../dts/imx8mn-bsh-smm-s2-u-boot-common.dtsi  | 179 
 arch/arm/dts/imx8mn-bsh-smm-s2-u-boot.dtsi|  15 +
 arch/arm/dts/imx8mn-bsh-smm-s2.dts|  48 +
 arch/arm/dts/imx8mn-bsh-smm-s2pro-u-boot.dtsi |  15 +
 arch/arm/dts/imx8mn-bsh-smm-s2pro.dts |  75 ++
 arch/arm/mach-imx/imx8m/Kconfig   |  15 +
 board/bsh/imx8mn_smm_s2/Kconfig   |  38 +
 board/bsh/imx8mn_smm_s2/Makefile  |  13 +
 board/bsh/imx8mn_smm_s2/ddr3l_timing_256m.c   | 943 ++
 board/bsh/imx8mn_smm_s2/ddr3l_timing_512m.c   | 943 ++
 board/bsh/imx8mn_smm_s2/imx8mn_smm_s2.c   |  24 +
 board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg |  12 +
 board/bsh/imx8mn_smm_s2/spl.c | 104 ++
 configs/imx8mn_bsh_smm_s2_defconfig   |  93 ++
 configs/imx8mn_bsh_smm_s2pro_defconfig|  90 ++
 include/configs/imx8mn_bsh_smm_s2.h   |  56 ++
 include/configs/imx8mn_bsh_smm_s2_common.h|  69 ++
 include/configs/imx8mn_bsh_smm_s2pro.h|  42 +
 21 files changed, 2988 insertions(+)
 create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi
 create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2-u-boot-common.dtsi
 create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2-u-boot.dtsi
 create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2.dts
 create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2pro-u-boot.dtsi
 create mode 100644 arch/arm/dts/imx8mn-bsh-smm-s2pro.dts
 create mode 100644 board/bsh/imx8mn_smm_s2/Kconfig
 create mode 100644 board/bsh/imx8mn_smm_s2/Makefile
 create mode 100644 board/bsh/imx8mn_smm_s2/ddr3l_timing_256m.c
 create mode 100644 board/bsh/imx8mn_smm_s2/ddr3l_timing_512m.c
 create mode 100644 board/bsh/imx8mn_smm_s2/imx8mn_smm_s2.c
 create mode 100644 board/bsh/imx8mn_smm_s2/imximage-8mn-ddr3.cfg
 create mode 100644 board/bsh/imx8mn_smm_s2/spl.c
 create mode 100644 configs/imx8mn_bsh_smm_s2_defconfig
 create mode 100644 configs/imx8mn_bsh_smm_s2pro_defconfig
 create mode 100644 include/configs/imx8mn_bsh_smm_s2.h
 create mode 100644 include/configs/imx8mn_bsh_smm_s2_common.h
 create mode 100644 include/configs/imx8mn_bsh_smm_s2pro.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 9d8cba90280..82b9c1ff20b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -197,6 +197,15 @@ F: doc/README.bcm7xxx
 F: drivers/mmc/bcmstb_sdhci.c
 F: drivers/spi/bcmstb_spi.c
 
+ARM BSH SMM S2 boards
+M: Ariel D'Alessandro 
+M: Michael Trimarchi 
+S: Maintained
+F: arch/arm/dts/imx8mn-bsh-smm-s2*
+F: board/bsh/imx8mn_smm_s2/
+F: configs/imx8mn_bsh_smm_s2*
+F: include/configs/imx8mn_bsh_smm_s2*
+
 ARM CORTINA ACCESS CA
 M: Alex Nemirovsky 
 S: Supported
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index cc34da7bd83..7d21c32f62f 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -898,6 +898,8 @@ dtb-$(CONFIG_ARCH_IMX8M) += \
imx8mm-venice-gw7902.dtb \
imx8mm-verdin.dtb \
phycore-imx8mm.dtb \
+   imx8mn-bsh-smm-s2.dtb \
+   imx8mn-bsh-smm-s2pro.dtb \
imx8mn-ddr4-evk.dtb \
imx8mq-cm.dtb \
imx8mn-evk.dtb \
diff --git a/arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi 
b/arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi
new file mode 100644
index 000..d08f6cb76f4
--- /dev/null
+++ b/arch/arm/dts/imx8mn-bsh-smm-s2-common.dtsi
@@ -0,0 +1,203 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2021 Collabora Ltd.
+ * Copyright 2021 BSH Hausgeraete GmbH
+ */
+
+/dts-v1/;
+
+#include "imx8mn.dtsi"
+
+/ {
+   chosen {
+   bootargs = "console=ttymxc3,115200 
earlycon=ec_imx6q,0x30a6,115200";
+   stdout-path = &uart4;
+   };
+};
+
+&A53_0 {
+   cpu-supply = <&buck2_reg>;
+};
+
+&A53_1 {
+   cpu-supply = <&buck2_reg>;
+};
+
+&A53_2 {
+   cpu-supply = <&buck2_reg>;
+};
+
+&A53_3 {
+   cpu-supply = <&buck2_reg>;
+};
+
+&iomuxc {
+   pinctrl_i2c1: i2c1grp {
+   fsl,pins = <
+   MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL  
0x40c2
+   MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA  
0x40c2
+   >;
+   };
+
+   pinctrl_pmic: pmicirq {
+   fsl,pins = <
+   MX8MN_IOMUXC_GPIO1_IO03_GPIO1_IO3   0x040
+   >;
+   };
+
+   pinctrl_uart4: uart4grp {
+   fsl,pins = <
+