Skip to contentSkip to conversation

arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

PATCH Superseded linux-kernel-dev at beckhoff.com 4 participants 5 messages Sep 28, 2016 – Oct 7, 2016

Subsystems (2)

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

From: Patrick Bruenn <[email protected]>

Add CX9020 board based on mx53loco.
Add simplified imx53 base device tree from kernel v4.8-rc8, to reuse serial_mxc with DTE and prepare for device tree migration of other functions and imx53 devices.

The CX9020 differs from i.MX53 Quick Start Board by:
- use uart2 instead of uart1
- DVI-D connector instead of VGA
- no audio
- CCAT FPGA connected to emi
- enable rtc

---

 arch/arm/Kconfig                             |   7 +
 arch/arm/dts/Makefile                        |   2 +
 arch/arm/dts/imx53-cx9020.dts                |  26 ++
 arch/arm/dts/imx53.dtsi                      |  41 ++
 board/beckhoff/mx53cx9020/Kconfig            |  15 +
 board/beckhoff/mx53cx9020/MAINTAINERS        |   6 +
 board/beckhoff/mx53cx9020/Makefile           |   9 +
 board/beckhoff/mx53cx9020/imximage.cfg       |  82 ++++
 board/beckhoff/mx53cx9020/mx53cx9020.c       | 564 +++++++++++++++++++++++++++
 board/beckhoff/mx53cx9020/mx53cx9020_video.c |  83 ++++
 configs/mx53cx9020_defconfig                 |  19 +
 include/configs/mx53cx9020.h                 | 211 ++++++++++
 12 files changed, 1065 insertions(+)
 create mode 100644 arch/arm/dts/imx53-cx9020.dts
 create mode 100644 arch/arm/dts/imx53.dtsi
 create mode 100644 board/beckhoff/mx53cx9020/Kconfig
 create mode 100644 board/beckhoff/mx53cx9020/MAINTAINERS
 create mode 100644 board/beckhoff/mx53cx9020/Makefile
 create mode 100644 board/beckhoff/mx53cx9020/imximage.cfg
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020.c
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020_video.c
 create mode 100644 configs/mx53cx9020_defconfig
 create mode 100644 include/configs/mx53cx9020.h
arch/arm/Kconfig +7 -0
index c871eaf..82afd55 100644
@@ -573,6 +573,12 @@ config TARGET_MX53LOCO
 	bool "Support mx53loco"
 	select CPU_V7
 
+config TARGET_MX53CX9020
+	bool "Support mx53cx9020"
+	select CPU_V7
+	select DM
+	select DM_SERIAL
+
 config TARGET_MX53SMD
 	bool "Support mx53smd"
 	select CPU_V7
@@ -994,6 +1000,7 @@ source "board/freescale/mx51evk/Kconfig"
 source "board/freescale/mx53ard/Kconfig"
 source "board/freescale/mx53evk/Kconfig"
 source "board/freescale/mx53loco/Kconfig"
+source "board/beckhoff/mx53cx9020/Kconfig"
 source "board/freescale/mx53smd/Kconfig"
 source "board/freescale/s32v234evb/Kconfig"
 source "board/freescale/vf610twr/Kconfig"
arch/arm/dts/Makefile +2 -0
index 74d6ed2..5a926cb 100644
@@ -275,6 +275,8 @@ dtb-$(CONFIG_MX7) += imx7-colibri.dtb
 
 dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb
 
+dtb-$(CONFIG_TARGET_MX53CX9020) += imx53-cx9020.dtb
+
 dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \
 	k2l-evm.dtb \
 	k2e-evm.dtb \
arch/arm/dts/imx53-cx9020.dts new file +26 -0
new file mode 100644
index 0000000..4fc6214
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2016 Beckhoff Automation
+ * Copyright 2011 Freescale Semiconductor, Inc.
+ * Copyright 2011 Linaro Ltd.
+ *
+ * SPDX-License-Identifier:     GPL-2.0+ or X11
+ */
+
+/dts-v1/;
+#include "imx53.dtsi"
+
+/ {
+	model = "Beckhoff CX9020-0100 i.MX53";
+	compatible = "fsl,imx53-qsb", "fsl,imx53";
+
+	chosen {
+		stdout-path = &uart2;
+	};
+};
+
+&uart2 {
+	pinctrl-names = "default";
+	uart-has-rtscts;
+	fsl,dte-mode;
+	status = "okay";
+};
arch/arm/dts/imx53.dtsi new file +41 -0

41 lines not on this page · raw message

board/beckhoff/mx53cx9020/Kconfig new file +15 -0
new file mode 100644
index 0000000..6b60ce3
@@ -0,0 +1,15 @@
+if TARGET_MX53CX9020
+
+config SYS_BOARD
+	default "mx53cx9020"
+
+config SYS_VENDOR
+	default "beckhoff"
+
+config SYS_SOC
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	default "mx53cx9020"
+
+endif
board/beckhoff/mx53cx9020/MAINTAINERS new file +6 -0
new file mode 100644
index 0000000..f84413e
@@ -0,0 +1,6 @@
+MX53 CX9020
+M:	Patrick Bruenn <[email protected]>
+S:	Maintained
+F:	board/beckhoff/mx53cx9020/
+F:	include/configs/mx53cx9020.h
+F:	configs/mx53cx9020_defconfig
board/beckhoff/mx53cx9020/Makefile new file +9 -0
new file mode 100644
index 0000000..a01c0f1
@@ -0,0 +1,9 @@
+#
+# Copyright (C) 2015  Beckhoff Automation GmbH & Co. KG
+# Patrick Bruenn <[email protected]>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y               += mx53cx9020.o
+obj-$(CONFIG_VIDEO) += mx53cx9020_video.o
board/beckhoff/mx53cx9020/imximage.cfg new file +82 -0

82 lines not on this page · raw message

board/beckhoff/mx53cx9020/mx53cx9020.c new file +564 -0

564 lines not on this page · raw message

board/beckhoff/mx53cx9020/mx53cx9020_video.c new file +83 -0

83 lines not on this page · raw message

configs/mx53cx9020_defconfig new file +19 -0
new file mode 100644
index 0000000..02ed607
@@ -0,0 +1,19 @@
+CONFIG_ARM=y
+CONFIG_TARGET_MX53CX9020=y
+CONFIG_DEFAULT_DEVICE_TREE="imx53-cx9020"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/beckhoff/mx53cx9020/imximage.cfg"
+CONFIG_BOOTDELAY=1
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_BOOTZ=y
+# CONFIG_CMD_IMLS is not set
+CONFIG_CMD_MMC=y
+#CONFIG_CMD_USB=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_CONTROL=y
include/configs/mx53cx9020.h new file +211 -0

211 lines not on this page · raw message

Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

Hi,

Quoted 33 lines · On 28 September 2016 at 09:46, <[email protected]> wrote:

From: Patrick Bruenn <[email protected]>

Add CX9020 board based on mx53loco.
Add simplified imx53 base device tree from kernel v4.8-rc8, to reuse serial_mxc with DTE and prepare for device tree migration of other functions and imx53 devices.

The CX9020 differs from i.MX53 Quick Start Board by:
- use uart2 instead of uart1
- DVI-D connector instead of VGA
- no audio
- CCAT FPGA connected to emi
- enable rtc

---

 arch/arm/Kconfig                             |   7 +
 arch/arm/dts/Makefile                        |   2 +
 arch/arm/dts/imx53-cx9020.dts                |  26 ++
 arch/arm/dts/imx53.dtsi                      |  41 ++
 board/beckhoff/mx53cx9020/Kconfig            |  15 +
 board/beckhoff/mx53cx9020/MAINTAINERS        |   6 +
 board/beckhoff/mx53cx9020/Makefile           |   9 +
 board/beckhoff/mx53cx9020/imximage.cfg       |  82 ++++
 board/beckhoff/mx53cx9020/mx53cx9020.c       | 564 +++++++++++++++++++++++++++
 board/beckhoff/mx53cx9020/mx53cx9020_video.c |  83 ++++
 configs/mx53cx9020_defconfig                 |  19 +
 include/configs/mx53cx9020.h                 | 211 ++++++++++
 12 files changed, 1065 insertions(+)
 create mode 100644 arch/arm/dts/imx53-cx9020.dts
 create mode 100644 arch/arm/dts/imx53.dtsi
Quoted 8 lines
 create mode 100644 board/beckhoff/mx53cx9020/Kconfig
 create mode 100644 board/beckhoff/mx53cx9020/MAINTAINERS
 create mode 100644 board/beckhoff/mx53cx9020/Makefile
 create mode 100644 board/beckhoff/mx53cx9020/imximage.cfg
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020.c
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020_video.c
 create mode 100644 configs/mx53cx9020_defconfig
 create mode 100644 include/configs/mx53cx9020.h

There are a few things here that should use driver model:

- Video
- LED GPIOs
- Pinctrl

Is that future work?

Regards,
Simon

#2 lore raw

PATCH 1/1 arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

From: [email protected] [mailto:sjg at google.com] On Behalf Of Simon Glass

Quoted 4 lines

Sent: Mittwoch, 28. September 2016 19:52
Subject: Re: [PATCH] arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

Hi,

Hi Simon,
thanks for the fast feedback.

Quoted 45 lines · On 28 September 2016 at 09:46, <[email protected]> wrote:
Quoted 18 lines

From: Patrick Bruenn <[email protected]>

Add CX9020 board based on mx53loco.
Add simplified imx53 base device tree from kernel v4.8-rc8, to reuse serial_mxc with DTE and prepare for device tree migration of other functions and imx53 devices.

The CX9020 differs from i.MX53 Quick Start Board by:
- use uart2 instead of uart1
- DVI-D connector instead of VGA
- no audio
- CCAT FPGA connected to emi
- enable rtc

---

Quoted 9 lines
 arch/arm/Kconfig                             |   7 +
 arch/arm/dts/Makefile                        |   2 +
 arch/arm/dts/imx53-cx9020.dts                |  26 ++
 arch/arm/dts/imx53.dtsi                      |  41 ++
 board/beckhoff/mx53cx9020/Kconfig            |  15 +
 board/beckhoff/mx53cx9020/MAINTAINERS        |   6 +
 board/beckhoff/mx53cx9020/Makefile           |   9 +
 board/beckhoff/mx53cx9020/imximage.cfg       |  82 ++++
 board/beckhoff/mx53cx9020/mx53cx9020.c       | 564

+++++++++++++++++++++++++++

Quoted 6 lines
 board/beckhoff/mx53cx9020/mx53cx9020_video.c |  83 ++++
 configs/mx53cx9020_defconfig                 |  19 +
 include/configs/mx53cx9020.h                 | 211 ++++++++++
 12 files changed, 1065 insertions(+)
 create mode 100644 arch/arm/dts/imx53-cx9020.dts
 create mode 100644 arch/arm/dts/imx53.dtsi
Quoted 8 lines
 create mode 100644 board/beckhoff/mx53cx9020/Kconfig
 create mode 100644 board/beckhoff/mx53cx9020/MAINTAINERS
 create mode 100644 board/beckhoff/mx53cx9020/Makefile
 create mode 100644 board/beckhoff/mx53cx9020/imximage.cfg
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020.c
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020_video.c
 create mode 100644 configs/mx53cx9020_defconfig
 create mode 100644 include/configs/mx53cx9020.h
Quoted 8 lines

There are a few things here that should use driver model:

- Video
- LED GPIOs
- Pinctrl

Is that future work?

Yes. As this is my first patch, I tried to keep it as less invasive as possible. Pinctrl would be the first thing on my list, but it looked like I would have to add something similar to pinctrl-imx6/7.c for imx5 so I didn't include it into this patch.
Same thing for imx53.dtsi. Right now, it is a stripped down (but diffable) version from kernel.org. My plan was to gradually migrate parts of that dtsi to u-boot, when I use them.
Is that compliant with u-boot development style?
Would you prefer a series with all the imx5 infrastructure patches first and the cx9020 board as last patch?

Regards,
Patrick
Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff Registered office: Verl, Germany | Register court: Guetersloh HRA 7075

#3 lore raw

PATCH 1/1 arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

Hi Patrick,

Quoted 60 lines · Patrick Br?nn
Quoted 5 lines

From: sjg at google.com [mailto:sjg at google.com] On Behalf Of Simon Glass
Sent: Mittwoch, 28. September 2016 19:52
Subject: Re: [PATCH] arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

Hi,

Hi Simon,
thanks for the fast feedback.

Quoted 45 lines · On 28 September 2016 at 09:46, <[email protected]> wrote:
Quoted 18 lines

From: Patrick Bruenn <[email protected]>

Add CX9020 board based on mx53loco.
Add simplified imx53 base device tree from kernel v4.8-rc8, to reuse serial_mxc with DTE and prepare for device tree migration of other functions and imx53 devices.

The CX9020 differs from i.MX53 Quick Start Board by:
- use uart2 instead of uart1
- DVI-D connector instead of VGA
- no audio
- CCAT FPGA connected to emi
- enable rtc

---

Quoted 9 lines
 arch/arm/Kconfig                             |   7 +
 arch/arm/dts/Makefile                        |   2 +
 arch/arm/dts/imx53-cx9020.dts                |  26 ++
 arch/arm/dts/imx53.dtsi                      |  41 ++
 board/beckhoff/mx53cx9020/Kconfig            |  15 +
 board/beckhoff/mx53cx9020/MAINTAINERS        |   6 +
 board/beckhoff/mx53cx9020/Makefile           |   9 +
 board/beckhoff/mx53cx9020/imximage.cfg       |  82 ++++
 board/beckhoff/mx53cx9020/mx53cx9020.c       | 564

+++++++++++++++++++++++++++

Quoted 6 lines
 board/beckhoff/mx53cx9020/mx53cx9020_video.c |  83 ++++
 configs/mx53cx9020_defconfig                 |  19 +
 include/configs/mx53cx9020.h                 | 211 ++++++++++
 12 files changed, 1065 insertions(+)
 create mode 100644 arch/arm/dts/imx53-cx9020.dts
 create mode 100644 arch/arm/dts/imx53.dtsi
Quoted 8 lines
 create mode 100644 board/beckhoff/mx53cx9020/Kconfig
 create mode 100644 board/beckhoff/mx53cx9020/MAINTAINERS
 create mode 100644 board/beckhoff/mx53cx9020/Makefile
 create mode 100644 board/beckhoff/mx53cx9020/imximage.cfg
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020.c
 create mode 100644 board/beckhoff/mx53cx9020/mx53cx9020_video.c
 create mode 100644 configs/mx53cx9020_defconfig
 create mode 100644 include/configs/mx53cx9020.h
Quoted 8 lines

There are a few things here that should use driver model:

- Video
- LED GPIOs
- Pinctrl

Is that future work?

Quoted 10 lines

Yes. As this is my first patch, I tried to keep it as less invasive as possible. Pinctrl would be the first thing on my list, but it looked like I would have to add something similar to pinctrl-imx6/7.c for imx5 so I didn't include it into this patch.
Same thing for imx53.dtsi. Right now, it is a stripped down (but diffable) version from kernel.org. My plan was to gradually migrate parts of that dtsi to u-boot, when I use them.
Is that compliant with u-boot development style?
Would you prefer a series with all the imx5 infrastructure patches first and the cx9020 board as last patch?

I think it is fine for now, however you want to do it.

Regards,
Simon

#4 lore raw

PATCH 1/1 arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

In reply to linux-kernel-dev at beckhoff.com

Hi Patrick,

I see a couple of small issues by merging this:

Quoted 14 lines · linux-kernel-dev at beckhoff.com

From: Patrick Bruenn <[email protected]>

Add CX9020 board based on mx53loco.
Add simplified imx53 base device tree from kernel v4.8-rc8, to reuse serial_mxc with DTE and prepare for device tree migration of other functions and imx53 devices.

The CX9020 differs from i.MX53 Quick Start Board by:
- use uart2 instead of uart1
- DVI-D connector instead of VGA
- no audio
- CCAT FPGA connected to emi
- enable rtc

Quoted 3 lines

---

CONFIG_CMD_CCAT: you add an own CONFIG_, and all CONFIG_ should be selected via Kconfig. This generates a build error for your board.

Quoted 11 lines

+++ b/board/beckhoff/mx53cx9020/mx53cx9020.c

board/beckhoff/mx53cx9020/mx53cx9020.c new file +9 -0
@@ -0,0 +1,564 @@
+/*
+ * Copyright (C) 2015  Beckhoff Automation GmbH & Co. KG
+ * Patrick Bruenn <[email protected]>
+ *
+ * Based on Freescale's Linux i.MX mx53loco.c file:
+ * Copyright (C) 2011 Freescale Semiconductor, Inc.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */

board/beckhoff/mx53cx9020/mx53cx9020.c line 19

Quoted 10 lines
board/beckhoff/mx53cx9020/mx53cx9020.c new file +10 -0
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/imx-regs.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/crm_regs.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/iomux-mx53.h>
+#include <asm/arch/clock.h>
+#include <asm/errno.h>

This is not found and you do not need it (tested with gcc 5.4). If you rely on toolchain's header, you can drop it. This generates a build error as well.

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================