Message ID | 20220222070945.563672-1-alexander.stein@ew.tq-group.com (mailing list archive) |
---|---|
Headers | show |
Series | Support for TQMa6ULx & TQMa6ULxL modules | expand |
On Tue, Feb 22, 2022 at 08:09:40AM +0100, Alexander Stein wrote: > Hi everyone, > > thanks for your feedback on v2. > > Changes in v3: > * Reviewed-by: Krzysztof Kozlowski to PATCH 1 > * Fixed gpio-keys DT node names in PATCH 2 > > Changes in v2: > * Acked-by: Rob Herring to PATCH 1 > * Removed 'status' property for non-disabled devices in PATCH 2 > * Removed superfluous blank lines in PATCH 2 > * Removed doubled status = "disabled" in PATCH 2 > * Moved 'chosen' node up in PATCH 2 > * Removed unit-address for GPIO buttons in PATCH 2 > * Removed internal (und unsupported) SPI device node in PATCH 2 > * Removed QSPI flash partitions in PATCH 2 > * Rename audio-codec node name in PATCH 2 > > Below is the summary from v1 which has not changed. > > 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) Applied all, thanks!