All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] Support for TQMa6ULx & TQMa6ULxL modules
Date: Tue,  8 Feb 2022 14:42:18 +0100	[thread overview]
Message-ID: <20220208134223.908757-1-alexander.stein@ew.tq-group.com> (raw)

Hi everyone,

this patch series adds support for the TQ-Systems TQMa6ULx & TQMa6ULxL modules.
Admittedly the name can be confusing, so I'll explain in more detail.

TQMa6ULx [1] is the module series using i.MX6UL. The 'x' is a placeholder for
different variants which have a different µC. TQMa6UL1 is using MCIMX6G1 which
has some peripheries disabled, more about it below. TQMa6UL2 (and TQMa6UL3)
has a full feature set and are treated identical on Linux side.

TQMa6ULxL [2] is the LGA variant of TQMa6ULx with a differnt module PCB, but
still common parts. There is no variant using MCIMX6G1.

TQMa6ULLx [1] is identical to TQMa6ULx, but using an i.MX6ULL instead.
There is no TQMa6UL1L.

TQMa6ULLxL [2] is identical to TQMa6ULxL, but using an i.MX6ULL instead.
There is no TQMa6ULL1L.

There are also 2 different mainboards namely MBAa6ULx & MBa6ULxL ('x' here is
not a placeholder, but part of the name). MBAa6ULx is for non-LGA variants
TQMa6ULx & TQMa6ULLx, while MBa6ULxL is used for TQMa6ULxL & TQMa6ULLxL.
It is also possible to mount a TQMa6ULxL to MBa6ULx using an LGA adapter
providing the sockets.

TQMa6UL1 uses MCIMX6G1 which has FEC2, CAN2, CSI and LCDIF disabled by fuses.
This wouldn't be a problem at all, iff fec would support EPROBE_DEFER for
Ethernet PHYs on a different MDIO bus. Both PHYs are connected to the same MDIO
bus. This is not a proble, but as FEC2 has the lower base address than FEC1
it is probed first. For this reason the PHYs have to be attached to FEC2 or
things wont work. But exactly this breaks on TQMa6UL1 which has no FEC2 at all.
There is a suggestion for fec driver at [3] but without solution (yet).
This is the single reason there is a 'tq,imx6ul-tqma6ul1' compatible.
In order for things to work, the PHYs have to be deleted from fec2 & mdio
subnode and added to fec1 again.

Regardings the file structure there is a .dtsi file for
* common common parts on all 4 module variants (LGA & non-LGA, imx6ul & imx6ull):
  imx6ul-tqma6ul-common.dtsi
* common to non-LGA variants only: imx6ul-tqma6ulx-common.dtsi
* common to LGA variants only: imx6ul-tqma6ulxl-common.dtsi

This is valid for both TQMa6ULx and TQMa6ULLx. To not introduce another file
name separation, 'imx6ul-' is the prefix for common parts for imx6ul as well
as imx6ull.

Best regards,
Alexander

[1] https://www.tq-group.com/de/produkte/tq-embedded/arm-architektur/tqma6ulx/
[2] https://www.tq-group.com/de/produkte/tq-embedded/arm-architektur/tqma6ulxl/
[3] https://lkml.org/lkml/2021/10/14/430

Alexander Stein (4):
  ARM: dts: imx6ul: add TQ-Systems MBa6ULx device trees
  ARM: dts: imx6ul: add TQ-Systems MBa6ULxL device trees
  ARM: dts: imx6ull: add TQ-Systems MBa6ULLx device trees
  ARM: dts: imx6ull: add TQ-Systems MBa6ULLxL device trees

Matthias Schiffer (1):
  dt-bindings: arm: fsl: add TQ Systems boards based on i.MX6UL(L)

 .../devicetree/bindings/arm/fsl.yaml          |  37 ++
 arch/arm/boot/dts/Makefile                    |   5 +
 arch/arm/boot/dts/imx6ul-tqma6ul-common.dtsi  | 215 ++++++
 arch/arm/boot/dts/imx6ul-tqma6ul1-mba6ulx.dts |  56 ++
 arch/arm/boot/dts/imx6ul-tqma6ul1.dtsi        |  37 ++
 arch/arm/boot/dts/imx6ul-tqma6ul2-mba6ulx.dts |  15 +
 arch/arm/boot/dts/imx6ul-tqma6ul2.dtsi        |  71 ++
 .../arm/boot/dts/imx6ul-tqma6ul2l-mba6ulx.dts |  15 +
 arch/arm/boot/dts/imx6ul-tqma6ul2l.dtsi       |  71 ++
 arch/arm/boot/dts/imx6ul-tqma6ulx-common.dtsi |  43 ++
 .../arm/boot/dts/imx6ul-tqma6ulxl-common.dtsi |  48 ++
 .../boot/dts/imx6ull-tqma6ull2-mba6ulx.dts    |  15 +
 arch/arm/boot/dts/imx6ull-tqma6ull2.dtsi      |  76 +++
 .../boot/dts/imx6ull-tqma6ull2l-mba6ulx.dts   |  15 +
 arch/arm/boot/dts/imx6ull-tqma6ull2l.dtsi     |  76 +++
 arch/arm/boot/dts/mba6ulx.dtsi                | 615 ++++++++++++++++++
 16 files changed, 1410 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul1-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul1.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2l-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2l.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ulx-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ulxl-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2l-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2l.dtsi
 create mode 100644 arch/arm/boot/dts/mba6ulx.dtsi

-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] Support for TQMa6ULx & TQMa6ULxL modules
Date: Tue,  8 Feb 2022 14:42:18 +0100	[thread overview]
Message-ID: <20220208134223.908757-1-alexander.stein@ew.tq-group.com> (raw)

Hi everyone,

this patch series adds support for the TQ-Systems TQMa6ULx & TQMa6ULxL modules.
Admittedly the name can be confusing, so I'll explain in more detail.

TQMa6ULx [1] is the module series using i.MX6UL. The 'x' is a placeholder for
different variants which have a different µC. TQMa6UL1 is using MCIMX6G1 which
has some peripheries disabled, more about it below. TQMa6UL2 (and TQMa6UL3)
has a full feature set and are treated identical on Linux side.

TQMa6ULxL [2] is the LGA variant of TQMa6ULx with a differnt module PCB, but
still common parts. There is no variant using MCIMX6G1.

TQMa6ULLx [1] is identical to TQMa6ULx, but using an i.MX6ULL instead.
There is no TQMa6UL1L.

TQMa6ULLxL [2] is identical to TQMa6ULxL, but using an i.MX6ULL instead.
There is no TQMa6ULL1L.

There are also 2 different mainboards namely MBAa6ULx & MBa6ULxL ('x' here is
not a placeholder, but part of the name). MBAa6ULx is for non-LGA variants
TQMa6ULx & TQMa6ULLx, while MBa6ULxL is used for TQMa6ULxL & TQMa6ULLxL.
It is also possible to mount a TQMa6ULxL to MBa6ULx using an LGA adapter
providing the sockets.

TQMa6UL1 uses MCIMX6G1 which has FEC2, CAN2, CSI and LCDIF disabled by fuses.
This wouldn't be a problem at all, iff fec would support EPROBE_DEFER for
Ethernet PHYs on a different MDIO bus. Both PHYs are connected to the same MDIO
bus. This is not a proble, but as FEC2 has the lower base address than FEC1
it is probed first. For this reason the PHYs have to be attached to FEC2 or
things wont work. But exactly this breaks on TQMa6UL1 which has no FEC2 at all.
There is a suggestion for fec driver at [3] but without solution (yet).
This is the single reason there is a 'tq,imx6ul-tqma6ul1' compatible.
In order for things to work, the PHYs have to be deleted from fec2 & mdio
subnode and added to fec1 again.

Regardings the file structure there is a .dtsi file for
* common common parts on all 4 module variants (LGA & non-LGA, imx6ul & imx6ull):
  imx6ul-tqma6ul-common.dtsi
* common to non-LGA variants only: imx6ul-tqma6ulx-common.dtsi
* common to LGA variants only: imx6ul-tqma6ulxl-common.dtsi

This is valid for both TQMa6ULx and TQMa6ULLx. To not introduce another file
name separation, 'imx6ul-' is the prefix for common parts for imx6ul as well
as imx6ull.

Best regards,
Alexander

[1] https://www.tq-group.com/de/produkte/tq-embedded/arm-architektur/tqma6ulx/
[2] https://www.tq-group.com/de/produkte/tq-embedded/arm-architektur/tqma6ulxl/
[3] https://lkml.org/lkml/2021/10/14/430

Alexander Stein (4):
  ARM: dts: imx6ul: add TQ-Systems MBa6ULx device trees
  ARM: dts: imx6ul: add TQ-Systems MBa6ULxL device trees
  ARM: dts: imx6ull: add TQ-Systems MBa6ULLx device trees
  ARM: dts: imx6ull: add TQ-Systems MBa6ULLxL device trees

Matthias Schiffer (1):
  dt-bindings: arm: fsl: add TQ Systems boards based on i.MX6UL(L)

 .../devicetree/bindings/arm/fsl.yaml          |  37 ++
 arch/arm/boot/dts/Makefile                    |   5 +
 arch/arm/boot/dts/imx6ul-tqma6ul-common.dtsi  | 215 ++++++
 arch/arm/boot/dts/imx6ul-tqma6ul1-mba6ulx.dts |  56 ++
 arch/arm/boot/dts/imx6ul-tqma6ul1.dtsi        |  37 ++
 arch/arm/boot/dts/imx6ul-tqma6ul2-mba6ulx.dts |  15 +
 arch/arm/boot/dts/imx6ul-tqma6ul2.dtsi        |  71 ++
 .../arm/boot/dts/imx6ul-tqma6ul2l-mba6ulx.dts |  15 +
 arch/arm/boot/dts/imx6ul-tqma6ul2l.dtsi       |  71 ++
 arch/arm/boot/dts/imx6ul-tqma6ulx-common.dtsi |  43 ++
 .../arm/boot/dts/imx6ul-tqma6ulxl-common.dtsi |  48 ++
 .../boot/dts/imx6ull-tqma6ull2-mba6ulx.dts    |  15 +
 arch/arm/boot/dts/imx6ull-tqma6ull2.dtsi      |  76 +++
 .../boot/dts/imx6ull-tqma6ull2l-mba6ulx.dts   |  15 +
 arch/arm/boot/dts/imx6ull-tqma6ull2l.dtsi     |  76 +++
 arch/arm/boot/dts/mba6ulx.dtsi                | 615 ++++++++++++++++++
 16 files changed, 1410 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul1-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul1.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2l-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ul2l.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ulx-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-tqma6ulxl-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2l-mba6ulx.dts
 create mode 100644 arch/arm/boot/dts/imx6ull-tqma6ull2l.dtsi
 create mode 100644 arch/arm/boot/dts/mba6ulx.dtsi

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2022-02-08 13:42 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08 13:42 Alexander Stein [this message]
2022-02-08 13:42 ` [PATCH 0/5] Support for TQMa6ULx & TQMa6ULxL modules Alexander Stein
2022-02-08 13:42 ` [PATCH 1/5] dt-bindings: arm: fsl: add TQ Systems boards based on i.MX6UL(L) Alexander Stein
2022-02-08 13:42   ` Alexander Stein
2022-02-11 16:44   ` Rob Herring
2022-02-11 16:44     ` Rob Herring
2022-02-08 13:42 ` [PATCH 2/5] ARM: dts: imx6ul: add TQ-Systems MBa6ULx device trees Alexander Stein
2022-02-08 13:42   ` Alexander Stein
2022-02-13  3:12   ` Shawn Guo
2022-02-13  3:12     ` Shawn Guo
2022-02-21 15:45     ` (EXT) " Alexander Stein
2022-02-21 15:45       ` Alexander Stein
2022-02-22  2:14       ` Shawn Guo
2022-02-22  2:14         ` Shawn Guo
2022-02-08 13:42 ` [PATCH 3/5] ARM: dts: imx6ul: add TQ-Systems MBa6ULxL " Alexander Stein
2022-02-08 13:42   ` Alexander Stein
2022-02-08 13:42 ` [PATCH 4/5] ARM: dts: imx6ull: add TQ-Systems MBa6ULLx " Alexander Stein
2022-02-08 13:42   ` Alexander Stein
2022-02-08 13:42 ` [PATCH 5/5] ARM: dts: imx6ull: add TQ-Systems MBa6ULLxL " Alexander Stein
2022-02-08 13:42   ` Alexander Stein
2022-02-08 16:09   ` Krzysztof Kozlowski
2022-02-08 16:09     ` Krzysztof Kozlowski
2022-02-10 12:10     ` (EXT) " Alexander Stein
2022-02-10 12:10       ` Alexander Stein
2022-02-10 12:20       ` Krzysztof Kozlowski
2022-02-10 12:20         ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220208134223.908757-1-alexander.stein@ew.tq-group.com \
    --to=alexander.stein@ew.tq-group.com \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.