[U-Boot] [PATCH v2] arm: imx: add i.MX53 Beckhoff CX9020 Embedded PC

Jagan Teki jagan at amarulasolutions.com
Mon Oct 17 13:52:50 CEST 2016


On Mon, Oct 17, 2016 at 5:02 PM, Patrick Brünn <P.Bruenn at beckhoff.com> wrote:
>>From: Stefano Babic [mailto:sbabic at denx.de]
>>Sent: Montag, 17. Oktober 2016 13:27
> Hi Stefano and Jagan,
>>
>>On 17/10/2016 11:19, Jagan Teki wrote:
>>> On Fri, Oct 7, 2016 at 9:44 PM,  <linux-kernel-dev at beckhoff.com> wrote:
>>>> From: Patrick Bruenn <p.bruenn at beckhoff.com>
>>>>
>>>> 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
>>>>
>>>> Signed-off-by: Patrick Bruenn <p.bruenn at beckhoff.com>
>>>>
>>>> ---
>>>>
>>>> Changes in v2:
>>>> - remove #include <asm/errno.h> from mx53cx9020.c
>>>> - remove obsolete CONFIG_CMD_CCAT from mx53cx9020.h
>>>>
>>>>  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       | 563
>>+++++++++++++++++++++++++++
>>>>  board/beckhoff/mx53cx9020/mx53cx9020_video.c |  83 ++++
>>>>  configs/mx53cx9020_defconfig                 |  19 +
>>>>  include/configs/mx53cx9020.h                 | 208 ++++++++++
>>>>  12 files changed, 1061 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
>>>>
>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>>>> index f55d5b2..ece610a 100644
>>>> --- a/arch/arm/Kconfig
>>>> +++ b/arch/arm/Kconfig
>>>> @@ -480,6 +480,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
>>>> @@ -965,6 +971,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"
>>>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>>>> index 04d47e7..3f753ba 100644
>>>> --- a/arch/arm/dts/Makefile
>>>> +++ b/arch/arm/dts/Makefile
>>>> @@ -286,6 +286,8 @@ dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \
>>>>         imx6dl-icore.dtb \
>>>>         imx6q-icore.dtb
>>>>
>>>> +dtb-$(CONFIG_TARGET_MX53CX9020) += imx53-cx9020.dtb
>>>
>>> This should be MX arch config entry, not the target one.
>>
>>Yes, thanks Jagan. Please check inside Makefile. You could use
>>CONFIG_MX53 for this.
>>
> I will fix this in v3 (together with the removed CONFIG_DISPLAY_BOARDINFO)
>>>> +int board_mmc_init(bd_t *bis)
>>>> +{
>>>> +       static const iomux_v3_cfg_t sd1_pads[] = {
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD1_CMD__ESDHC1_CMD,
>>SD_CMD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD1_CLK__ESDHC1_CLK,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD1_DATA0__ESDHC1_DAT0,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD1_DATA1__ESDHC1_DAT1,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD1_DATA2__ESDHC1_DAT2,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD1_DATA3__ESDHC1_DAT3,
>>SD_PAD_CTRL),
>>>> +               MX53_PAD_GPIO_1__GPIO1_1,
>>>> +       };
>>>> +
>>>> +       static const iomux_v3_cfg_t sd2_pads[] = {
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD2_CMD__ESDHC2_CMD,
>>SD_CMD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD2_CLK__ESDHC2_CLK,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD2_DATA0__ESDHC2_DAT0,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD2_DATA1__ESDHC2_DAT1,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD2_DATA2__ESDHC2_DAT2,
>>SD_PAD_CTRL),
>>>> +               NEW_PAD_CTRL(MX53_PAD_SD2_DATA3__ESDHC2_DAT3,
>>SD_PAD_CTRL),
>>>> +               MX53_PAD_GPIO_4__GPIO1_4,
>>>> +       };
>>>
>>> Since, it's have dts support please use pinctrl driver for pads and
>>> mux atleast for supporting ones.
>>
>>..but for MX53 this is still missing, right ?
> Yes, as stated here:
> http://lists.denx.de/pipermail/u-boot/2016-September/268517.html
> I would like to add that in a second patch on top of this.

I think pinctrl is not taking much time as most of the generic code
already in at drivers/pinctrl/nxp/pinctrl-imx.c and once you did that
board code mostly reduced, I see a point in this sense.

thanks!
-- 
Jagan Teki
Free Software Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list