Re: [PATCH] imx: imx8mp: Add support for Polyhex Debix Model A SBC

2023-05-22 Thread Peng Fan




On 5/22/2023 6:58 AM, Gilles Talis wrote:

+ * Copyright 2022 Ideas on Board Oy

Time?

This was taken as is from the kernel. Hence, the reason why the date
is unchanged.



Then it is fine to keep as it is. Just note this in commit log.

Regards,
Peng.


Re: [PATCH] imx: imx8mp: Add support for Polyhex Debix Model A SBC

2023-05-21 Thread Gilles Talis
Hi Peng,


Le jeu. 11 mai 2023 à 20:47, Peng Fan  a écrit :
>
> Hi Gilles,
>
> only some minor comments, overall looks good.
Thanks for the review. Will fix all comments, but one (see below).

>
> On 4/13/2023 9:17 PM, Gilles Talis wrote:
> > Add support for the Polyhex Debix Model A SBC board.
> > It is an industrial grade single board computer based on
> > NXP's i.MX 8M Plus.
> > Currently supported interfaces are:
> > - Serial console
> > - Micro SD
> > - eQOS and FEC Ethernet
> >
> > imx8mp-debix-model-a.dts is taken from Linux 6.3-rc6.
> >
> > Signed-off-by: Gilles Talis 
> > ---
> >   arch/arm/dts/Makefile |1 +
> >   arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi |  140 ++
> >   arch/arm/dts/imx8mp-debix-model-a.dts |  507 +
> >   arch/arm/mach-imx/imx8m/Kconfig   |8 +
> >   board/polyhex/imx8mp_debix_model_a/Kconfig|   15 +
> >   .../polyhex/imx8mp_debix_model_a/MAINTAINERS  |8 +
> >   board/polyhex/imx8mp_debix_model_a/Makefile   |   12 +
> >   .../imx8mp_debix_model_a.c|   54 +
> >   .../imximage-8mp-lpddr4.cfg   |9 +
> >   .../imx8mp_debix_model_a/lpddr4_timing.c  | 1843 +
> >   board/polyhex/imx8mp_debix_model_a/spl.c  |  129 ++
> >   configs/imx8mp_debix_model_a_defconfig|  110 +
> >   include/configs/imx8mp_debix_model_a.h|   54 +
> >   13 files changed, 2890 insertions(+)
> >   create mode 100644 arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
> >   create mode 100644 arch/arm/dts/imx8mp-debix-model-a.dts
> >   create mode 100644 board/polyhex/imx8mp_debix_model_a/Kconfig
> >   create mode 100644 board/polyhex/imx8mp_debix_model_a/MAINTAINERS
> >   create mode 100644 board/polyhex/imx8mp_debix_model_a/Makefile
> >   create mode 100644 
> > board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
> >   create mode 100644 
> > board/polyhex/imx8mp_debix_model_a/imximage-8mp-lpddr4.cfg
> >   create mode 100644 board/polyhex/imx8mp_debix_model_a/lpddr4_timing.c
> >   create mode 100644 board/polyhex/imx8mp_debix_model_a/spl.c
> >   create mode 100644 configs/imx8mp_debix_model_a_defconfig
> >   create mode 100644 include/configs/imx8mp_debix_model_a.h
> >
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index 337bee7e1e..5e1dd627d7 100644
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -997,6 +997,7 @@ dtb-$(CONFIG_ARCH_IMX8M) += \
> >   imx8mq-phanbell.dtb \
> >   imx8mp-beacon-kit.dtb \
> >   imx8mp-data-modul-edm-sbc.dtb \
> > + imx8mp-debix-model-a.dtb \
> >   imx8mp-dhcom-pdk2.dtb \
> >   imx8mp-dhcom-pdk3.dtb \
> >   imx8mp-evk.dtb \
> > diff --git a/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi 
> > b/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
> > new file mode 100644
> > index 00..97c011895f
> > --- /dev/null
> > +++ b/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
> > @@ -0,0 +1,140 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright 2019, 2021 NXP
>
> Need update time?
>
> > + */
> > +
> > +#include "imx8mp-u-boot.dtsi"
> > +
>
> [.]
>
> > index 00..58dae612b4
> > --- /dev/null
> > +++ b/arch/arm/dts/imx8mp-debix-model-a.dts
> > @@ -0,0 +1,507 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2019 NXP
> > + * Copyright 2022 Ideas on Board Oy
>
> Time?
This was taken as is from the kernel. Hence, the reason why the date
is unchanged.

>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include 
> > +#include 
> > +#include 
> > +
> > +#include "imx8mp.dtsi"
> > +
>
> []
>
>
> > diff --git a/board/polyhex/imx8mp_debix_model_a/Makefile 
> > b/board/polyhex/imx8mp_debix_model_a/Makefile
> > new file mode 100644
> > index 00..dffaccedb8
> > --- /dev/null
> > +++ b/board/polyhex/imx8mp_debix_model_a/Makefile
> > @@ -0,0 +1,12 @@
> > +#
> > +# Copyright 2019 NXP
>
> Time?
>
> > +#
> > +# SPDX-License-Identifier:  GPL-2.0+
> > +#
> > +
> > +obj-y += imx8mp_debix_model_a.o
> > +
> > +ifdef CONFIG_SPL_BUILD
> > +obj-y += spl.o
> > +obj-$(CONFIG_IMX8M_LPDDR4) += lpddr4_timing.o
> > +endif
> > diff --git a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c 
> > b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
> > new file mode 100644
> > index 00..ff73510ad6
> > --- /dev/null
> > +++ b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
> > @@ -0,0 +1,54 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright 2019 NXP
>
> Ditto
>
> > + */
> > +
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
>
> Sort the headers
>
> > +
> > +DECLARE_GLOBAL_DATA_PTR;
> > +
> > +static void setup_fec(void)
> > +{
> > + struct iomuxc_gpr_base_regs *gpr =
> > + (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR;

Re: [PATCH] imx: imx8mp: Add support for Polyhex Debix Model A SBC

2023-05-11 Thread Peng Fan

Hi Gilles,

only some minor comments, overall looks good.

On 4/13/2023 9:17 PM, Gilles Talis wrote:

Add support for the Polyhex Debix Model A SBC board.
It is an industrial grade single board computer based on
NXP's i.MX 8M Plus.
Currently supported interfaces are:
- Serial console
- Micro SD
- eQOS and FEC Ethernet

imx8mp-debix-model-a.dts is taken from Linux 6.3-rc6.

Signed-off-by: Gilles Talis 
---
  arch/arm/dts/Makefile |1 +
  arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi |  140 ++
  arch/arm/dts/imx8mp-debix-model-a.dts |  507 +
  arch/arm/mach-imx/imx8m/Kconfig   |8 +
  board/polyhex/imx8mp_debix_model_a/Kconfig|   15 +
  .../polyhex/imx8mp_debix_model_a/MAINTAINERS  |8 +
  board/polyhex/imx8mp_debix_model_a/Makefile   |   12 +
  .../imx8mp_debix_model_a.c|   54 +
  .../imximage-8mp-lpddr4.cfg   |9 +
  .../imx8mp_debix_model_a/lpddr4_timing.c  | 1843 +
  board/polyhex/imx8mp_debix_model_a/spl.c  |  129 ++
  configs/imx8mp_debix_model_a_defconfig|  110 +
  include/configs/imx8mp_debix_model_a.h|   54 +
  13 files changed, 2890 insertions(+)
  create mode 100644 arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
  create mode 100644 arch/arm/dts/imx8mp-debix-model-a.dts
  create mode 100644 board/polyhex/imx8mp_debix_model_a/Kconfig
  create mode 100644 board/polyhex/imx8mp_debix_model_a/MAINTAINERS
  create mode 100644 board/polyhex/imx8mp_debix_model_a/Makefile
  create mode 100644 board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
  create mode 100644 board/polyhex/imx8mp_debix_model_a/imximage-8mp-lpddr4.cfg
  create mode 100644 board/polyhex/imx8mp_debix_model_a/lpddr4_timing.c
  create mode 100644 board/polyhex/imx8mp_debix_model_a/spl.c
  create mode 100644 configs/imx8mp_debix_model_a_defconfig
  create mode 100644 include/configs/imx8mp_debix_model_a.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 337bee7e1e..5e1dd627d7 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -997,6 +997,7 @@ dtb-$(CONFIG_ARCH_IMX8M) += \
imx8mq-phanbell.dtb \
imx8mp-beacon-kit.dtb \
imx8mp-data-modul-edm-sbc.dtb \
+   imx8mp-debix-model-a.dtb \
imx8mp-dhcom-pdk2.dtb \
imx8mp-dhcom-pdk3.dtb \
imx8mp-evk.dtb \
diff --git a/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi 
b/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
new file mode 100644
index 00..97c011895f
--- /dev/null
+++ b/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2019, 2021 NXP


Need update time?


+ */
+
+#include "imx8mp-u-boot.dtsi"
+


[.]


index 00..58dae612b4
--- /dev/null
+++ b/arch/arm/dts/imx8mp-debix-model-a.dts
@@ -0,0 +1,507 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019 NXP
+ * Copyright 2022 Ideas on Board Oy


Time?


+ */
+
+/dts-v1/;
+
+#include 
+#include 
+#include 
+
+#include "imx8mp.dtsi"
+


[]



diff --git a/board/polyhex/imx8mp_debix_model_a/Makefile 
b/board/polyhex/imx8mp_debix_model_a/Makefile
new file mode 100644
index 00..dffaccedb8
--- /dev/null
+++ b/board/polyhex/imx8mp_debix_model_a/Makefile
@@ -0,0 +1,12 @@
+#
+# Copyright 2019 NXP


Time?


+#
+# SPDX-License-Identifier:  GPL-2.0+
+#
+
+obj-y += imx8mp_debix_model_a.o
+
+ifdef CONFIG_SPL_BUILD
+obj-y += spl.o
+obj-$(CONFIG_IMX8M_LPDDR4) += lpddr4_timing.o
+endif
diff --git a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c 
b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
new file mode 100644
index 00..ff73510ad6
--- /dev/null
+++ b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2019 NXP


Ditto


+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 


Sort the headers


+
+DECLARE_GLOBAL_DATA_PTR;
+
+static void setup_fec(void)
+{
+   struct iomuxc_gpr_base_regs *gpr =
+   (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR;
+
+   /* Enable RGMII TX clk output */
+   setbits_le32(&gpr->gpr[1], BIT(22));
+}
+
+#if CONFIG_IS_ENABLED(NET)
+int board_phy_config(struct phy_device *phydev)
+{
+   if (phydev->drv->config)
+   phydev->drv->config(phydev);
+   return 0;
+}
+#endif
+
+int board_init(void)
+{
+   int ret = 0;
+
+   if (IS_ENABLED(CONFIG_FEC_MXC))
+   setup_fec();
+
+   return ret;
+}
+
+int board_late_init(void)
+{
+   return 0;
+}
diff --git a/board/polyhex/imx8mp_debix_model_a/imximage-8mp-lpddr4.cfg 
b/board/polyhex/imx8mp_debix_model_a/imximage-8mp-lpddr4.cfg
new file mode 100644
index 00..6dedf1724a
--- /dev/null
+++ b/board/polyhex/imx8mp_debix_model_a/imximage-8mp-lpddr4.cfg
@@ -0,0 +1,9 @@
+/* 

[PATCH] imx: imx8mp: Add support for Polyhex Debix Model A SBC

2023-04-13 Thread Gilles Talis
Add support for the Polyhex Debix Model A SBC board.
It is an industrial grade single board computer based on
NXP's i.MX 8M Plus.
Currently supported interfaces are:
- Serial console
- Micro SD
- eQOS and FEC Ethernet

imx8mp-debix-model-a.dts is taken from Linux 6.3-rc6.

Signed-off-by: Gilles Talis 
---
 arch/arm/dts/Makefile |1 +
 arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi |  140 ++
 arch/arm/dts/imx8mp-debix-model-a.dts |  507 +
 arch/arm/mach-imx/imx8m/Kconfig   |8 +
 board/polyhex/imx8mp_debix_model_a/Kconfig|   15 +
 .../polyhex/imx8mp_debix_model_a/MAINTAINERS  |8 +
 board/polyhex/imx8mp_debix_model_a/Makefile   |   12 +
 .../imx8mp_debix_model_a.c|   54 +
 .../imximage-8mp-lpddr4.cfg   |9 +
 .../imx8mp_debix_model_a/lpddr4_timing.c  | 1843 +
 board/polyhex/imx8mp_debix_model_a/spl.c  |  129 ++
 configs/imx8mp_debix_model_a_defconfig|  110 +
 include/configs/imx8mp_debix_model_a.h|   54 +
 13 files changed, 2890 insertions(+)
 create mode 100644 arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
 create mode 100644 arch/arm/dts/imx8mp-debix-model-a.dts
 create mode 100644 board/polyhex/imx8mp_debix_model_a/Kconfig
 create mode 100644 board/polyhex/imx8mp_debix_model_a/MAINTAINERS
 create mode 100644 board/polyhex/imx8mp_debix_model_a/Makefile
 create mode 100644 board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
 create mode 100644 board/polyhex/imx8mp_debix_model_a/imximage-8mp-lpddr4.cfg
 create mode 100644 board/polyhex/imx8mp_debix_model_a/lpddr4_timing.c
 create mode 100644 board/polyhex/imx8mp_debix_model_a/spl.c
 create mode 100644 configs/imx8mp_debix_model_a_defconfig
 create mode 100644 include/configs/imx8mp_debix_model_a.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 337bee7e1e..5e1dd627d7 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -997,6 +997,7 @@ dtb-$(CONFIG_ARCH_IMX8M) += \
imx8mq-phanbell.dtb \
imx8mp-beacon-kit.dtb \
imx8mp-data-modul-edm-sbc.dtb \
+   imx8mp-debix-model-a.dtb \
imx8mp-dhcom-pdk2.dtb \
imx8mp-dhcom-pdk3.dtb \
imx8mp-evk.dtb \
diff --git a/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi 
b/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
new file mode 100644
index 00..97c011895f
--- /dev/null
+++ b/arch/arm/dts/imx8mp-debix-model-a-u-boot.dtsi
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2019, 2021 NXP
+ */
+
+#include "imx8mp-u-boot.dtsi"
+
+/ {
+   wdt-reboot {
+   compatible = "wdt-reboot";
+   wdt = <&wdog1>;
+   bootph-pre-ram;
+   };
+   firmware {
+   optee {
+   compatible = "linaro,optee-tz";
+   method = "smc";
+   };
+   };
+};
+
+&crypto {
+   bootph-pre-ram;
+};
+
+ðphy0 {
+   reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>;
+   reset-delay-us = <15000>;
+   reset-post-delay-us = <10>;
+};
+
+&fec {
+   phy-reset-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
+   phy-reset-duration = <15>;
+   phy-reset-post-delay = <100>;
+};
+
+&gpio1 {
+   bootph-pre-ram;
+};
+
+&gpio2 {
+   bootph-pre-ram;
+};
+
+&gpio3 {
+   bootph-pre-ram;
+};
+
+&gpio4 {
+   bootph-pre-ram;
+};
+
+&gpio5 {
+   bootph-pre-ram;
+};
+
+&i2c1 {
+   bootph-pre-ram;
+};
+
+&pinctrl_i2c1 {
+   bootph-pre-ram;
+};
+
+&pinctrl_pmic {
+   bootph-pre-ram;
+};
+
+&pinctrl_uart2 {
+   bootph-pre-ram;
+};
+
+&pinctrl_usdhc2_gpio {
+   bootph-pre-ram;
+};
+
+&pinctrl_usdhc2 {
+   bootph-pre-ram;
+};
+
+&pinctrl_usdhc3 {
+   bootph-pre-ram;
+};
+
+&pinctrl_wdog {
+   bootph-pre-ram;
+};
+
+&pmic {
+   bootph-pre-ram;
+
+   regulators {
+   bootph-pre-ram;
+   };
+};
+
+®_usdhc2_vmmc {
+   u-boot,off-on-delay-us = <2>;
+};
+
+®_usdhc2_vmmc {
+   bootph-pre-ram;
+};
+
+&uart2 {
+   bootph-pre-ram;
+};
+
+&sec_jr0 {
+   bootph-pre-ram;
+};
+
+&sec_jr1 {
+   bootph-pre-ram;
+};
+
+&sec_jr2 {
+   bootph-pre-ram;
+};
+
+&usdhc1 {
+   bootph-pre-ram;
+};
+
+&usdhc2 {
+   bootph-pre-ram;
+   sd-uhs-sdr104;
+   sd-uhs-ddr50;
+};
+
+&usdhc3 {
+   bootph-pre-ram;
+   mmc-hs400-1_8v;
+   mmc-hs400-enhanced-strobe;
+};
+
+&wdog1 {
+   bootph-pre-ram;
+};
diff --git a/arch/arm/dts/imx8mp-debix-model-a.dts 
b/arch/arm/dts/imx8mp-debix-model-a.dts
new file mode 100644
index 00..58dae612b4
--- /dev/null
+++ b/arch/arm/dts/imx8mp-debix-model-a.dts
@@ -0,0 +1,507 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019 NXP
+ * Copyright 2022 Ideas on Board Oy
+ */
+
+/dts-v1/;
+
+#include 
+#include 
+#include 
+
+#include "imx8mp.dtsi"
+
+/ {
+   model = "Polyhex Debix Model A i.MX8MPlus board";
+   compatible = "polyhex,imx8mp-debix-model-a", "p