2021-09-21 01:31:05

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH v4 0/9] ARM: prepare and add colibri imx6ull 1gb (emmc) support

From: Marcel Ziswiler <[email protected]>


Clean-up imx_v6_v7_defconfig and then add support for the new Colibri
iMX6ULL 1GB (eMMC) which builds on the success of the existing Colibri
iMX6ULL SKUs using raw NAND but replaces this with more RAM (1 GB) and
an eMMC (4 GB).

Changes in v4:
- Fix dt_binding_check line too long warnings as pointed out by Rob.

Changes in v3:
- Add Fabio's reviewed-by. Thanks!
- Added fixes tag as pointed out by Stefan and Fabio. Thanks!
- Add Rob's ack. Thanks!

Changes in v2:
- New patch cleaning-up dt-bindings documentation.
- Fix indentation.
- Use latest agreed upon SPDX-License-Identifier GPL-2.0+ OR MIT.
- Drop AG in our copyright statement as recommended by our legal.
- New patch documenting dt-bindings.

Marcel Ziswiler (8):
ARM: imx_v6_v7_defconfig: enable mtd physmap
ARM: imx_v6_v7_defconfig: enable fb
ARM: imx_v6_v7_defconfig: change snd soc tlv320aic3x to i2c variant
ARM: imx_v6_v7_defconfig: rebuild default configuration
ARM: imx_v6_v7_defconfig: build imx sdma driver as module
ARM: imx_v6_v7_defconfig: enable bpf syscall and cgroup bpf
dt-bindings: arm: fsl: clean-up all toradex boards/modules
dt-bindings: arm: fsl: add toradex,colibri-imx6ull-emmc

Max Krummenacher (1):
ARM: dts: colibri-imx6ull-emmc: add device tree

.../devicetree/bindings/arm/fsl.yaml | 87 ++++----
arch/arm/boot/dts/Makefile | 1 +
.../boot/dts/imx6ull-colibri-emmc-eval-v3.dts | 17 ++
.../dts/imx6ull-colibri-emmc-nonwifi.dtsi | 185 ++++++++++++++++++
arch/arm/boot/dts/imx6ull-colibri.dtsi | 32 ++-
arch/arm/configs/imx_v6_v7_defconfig | 46 ++---
6 files changed, 299 insertions(+), 69 deletions(-)
create mode 100644 arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dts
create mode 100644 arch/arm/boot/dts/imx6ull-colibri-emmc-nonwifi.dtsi

--
2.26.2


2021-09-21 01:31:05

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH v4 7/9] dt-bindings: arm: fsl: clean-up all toradex boards/modules

From: Marcel Ziswiler <[email protected]>

Simplify and unify the distinction between modules and carrier boards.

Signed-off-by: Marcel Ziswiler <[email protected]>
Acked-by: Rob Herring <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>

---

Changes in v4:
- Fix dt_binding_check line too long warnings as pointed out by Rob.

Changes in v3:
- Add Fabio's reviewed-by. Thanks!
- Add Rob's ack. Thanks!

Changes in v2:
- New patch cleaning-up dt-bindings documentation.

.../devicetree/bindings/arm/fsl.yaml | 79 ++++++++++---------
1 file changed, 41 insertions(+), 38 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 60f4862ba15e7..f1a74f4bce245 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -235,7 +235,7 @@ properties:
- technexion,imx6q-pico-pi # TechNexion i.MX6Q Pico-Pi
- technologic,imx6q-ts4900
- technologic,imx6q-ts7970
- - toradex,apalis_imx6q # Apalis iMX6 Module
+ - toradex,apalis_imx6q # Apalis iMX6 Modules
- udoo,imx6q-udoo # Udoo i.MX6 Quad Board
- uniwest,imx6q-evi # Uniwest Evi
- variscite,dt6customboard
@@ -314,18 +314,12 @@ properties:
- const: phytec,imx6q-pfla02 # PHYTEC phyFLEX-i.MX6 Quad
- const: fsl,imx6q

- - description: i.MX6Q Boards with Toradex Apalis iMX6Q/D Module
+ - description: i.MX6Q Boards with Toradex Apalis iMX6Q/D Modules
items:
- enum:
- - toradex,apalis_imx6q-ixora # Apalis iMX6Q/D Module on Ixora Carrier Board
- - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board
- - const: toradex,apalis_imx6q
- - const: fsl,imx6q
-
- - description: i.MX6Q Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1
- items:
- - const: toradex,apalis_imx6q-ixora-v1.1
- - const: toradex,apalis_imx6q-ixora
+ - toradex,apalis_imx6q-ixora # Apalis iMX6Q/D Module on Ixora Carrier Board
+ - toradex,apalis_imx6q-ixora-v1.1 # Apalis iMX6Q/D Module on Ixora V1.1 Carrier Board
+ - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board
- const: toradex,apalis_imx6q
- const: fsl,imx6q

@@ -393,6 +387,8 @@ properties:
- technexion,imx6dl-pico-pi # TechNexion i.MX6DL Pico-Pi
- technologic,imx6dl-ts4900
- technologic,imx6dl-ts7970
+ - toradex,colibri_imx6dl # Colibri iMX6 Modules
+ - toradex,colibri_imx6dl-v1_1 # Colibri iMX6 V1.1 Modules
- udoo,imx6dl-udoo # Udoo i.MX6 Dual-lite Board
- vdl,lanmcu # Van der Laan LANMCU board
- wand,imx6dl-wandboard # Wandboard i.MX6 Dual Lite Board
@@ -466,20 +462,18 @@ properties:
- const: phytec,imx6dl-pfla02 # PHYTEC phyFLEX-i.MX6 Quad
- const: fsl,imx6dl

- - description: i.MX6DL Toradex Colibri iMX6 Module on Colibri
- Evaluation Board V3
+ - description: i.MX6DL Boards with Toradex Colibri iMX6DL/S Modules
items:
- - const: toradex,colibri_imx6dl-eval-v3
- - const: toradex,colibri_imx6dl # Colibri iMX6 Module
+ - enum:
+ - toradex,colibri_imx6dl-eval-v3 # Colibri iMX6DL/S Module on Colibri Evaluation Board V3
+ - const: toradex,colibri_imx6dl # Colibri iMX6DL/S Module
- const: fsl,imx6dl

- - description: i.MX6DL Toradex Colibri iMX6 Module V1.1 on Colibri
- Evaluation Board V3
+ - description: i.MX6DL Boards with Toradex Colibri iMX6DL/S V1.1 Modules
items:
- - const: toradex,colibri_imx6dl-v1_1-eval-v3
- - const: toradex,colibri_imx6dl-v1_1 # Colibri iMX6 Module V1.1
- - const: toradex,colibri_imx6dl-eval-v3
- - const: toradex,colibri_imx6dl # Colibri iMX6 Module
+ - enum:
+ - toradex,colibri_imx6dl-v1_1-eval-v3 # Colibri iMX6DL/S V1.1 M. on Colibri Evaluation Board V3
+ - const: toradex,colibri_imx6dl-v1_1 # Colibri iMX6DL/S V1.1 Module
- const: fsl,imx6dl

- description: i.MX6S DHCOM DRC02 Board
@@ -586,8 +580,8 @@ properties:
- fsl,imx6ull-14x14-evk # i.MX6 UltraLiteLite 14x14 EVK Board
- kontron,imx6ull-n6411-som # Kontron N6411 SOM
- myir,imx6ull-mys-6ulx-eval # MYiR Tech iMX6ULL Evaluation Board
- - toradex,colibri-imx6ull-eval # Colibri iMX6ULL Module on Colibri Eval Board
- - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT Module on Colibri Eval Board
+ - toradex,colibri-imx6ull # Colibri iMX6ULL Modules
+ - toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Modules
- const: fsl,imx6ull

- description: i.MX6ULL Armadeus Systems OPOS6ULDev Board
@@ -605,6 +599,20 @@ properties:
- const: phytec,imx6ull-pcl063 # PHYTEC phyCORE-i.MX 6ULL
- const: fsl,imx6ull

+ - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL Modules
+ items:
+ - enum:
+ - toradex,colibri-imx6ull-eval # Colibri iMX6ULL Module on Colibri Evaluation Board
+ - const: toradex,colibri-imx6ull # Colibri iMX6ULL Module
+ - const: fsl,imx6dl
+
+ - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL Wi-Fi / BT Modules
+ items:
+ - enum:
+ - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT M. on Colibri Evaluation Board
+ - const: toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Module
+ - const: fsl,imx6dl
+
- description: Kontron N6411 S Board
items:
- const: kontron,imx6ull-n6411-s
@@ -622,6 +630,7 @@ properties:
items:
- enum:
- element14,imx7s-warp # Element14 Warp i.MX7 Board
+ - toradex,colibri-imx7s # Colibri iMX7S Module
- const: fsl,imx7s

- description: i.MX7S Boards with Toradex Colibri iMX7S Module
@@ -653,15 +662,8 @@ properties:
- technexion,imx7d-pico-hobbit # TechNexion i.MX7D Pico-Hobbit
- technexion,imx7d-pico-nymph # TechNexion i.MX7D Pico-Nymph
- technexion,imx7d-pico-pi # TechNexion i.MX7D Pico-Pi
- - toradex,colibri-imx7d # Colibri iMX7 Dual Module
- - toradex,colibri-imx7d-aster # Colibri iMX7 Dual Module on Aster Carrier Board
- - toradex,colibri-imx7d-emmc # Colibri iMX7 Dual 1GB (eMMC) Module
- - toradex,colibri-imx7d-emmc-aster # Colibri iMX7 Dual 1GB (eMMC) Module on
- # Aster Carrier Board
- - toradex,colibri-imx7d-emmc-eval-v3 # Colibri iMX7 Dual 1GB (eMMC) Module on
- # Colibri Evaluation Board V3
- - toradex,colibri-imx7d-eval-v3 # Colibri iMX7 Dual Module on
- # Colibri Evaluation Board V3
+ - toradex,colibri-imx7d # Colibri iMX7D Module
+ - toradex,colibri-imx7d-emmc # Colibri iMX7D 1GB (eMMC) Module
- zii,imx7d-rmu2 # ZII RMU2 Board
- zii,imx7d-rpu2 # ZII RPU2 Board
- const: fsl,imx7d
@@ -686,12 +688,12 @@ properties:
- description: i.MX7D Boards with Toradex Colibri i.MX7D Module
items:
- enum:
- - toradex,colibri-imx7d-aster # Module on Aster Carrier Board
- - toradex,colibri-imx7d-eval-v3 # Module on Colibri Evaluation Board V3
+ - toradex,colibri-imx7d-aster # Colibri iMX7D Module on Aster Carrier Board
+ - toradex,colibri-imx7d-eval-v3 # Colibri iMX7D Module on Colibri Evaluation Board V3
- const: toradex,colibri-imx7d
- const: fsl,imx7d

- - description: i.MX7D Boards with Toradex Colibri i.MX7D eMMC Module
+ - description: i.MX7D Boards with Toradex Colibri i.MX7D 1GB (eMMC) Module
items:
- enum:
- toradex,colibri-imx7d-emmc-aster # Module on Aster Carrier Board
@@ -812,10 +814,10 @@ properties:
- enum:
- einfochips,imx8qxp-ai_ml # i.MX8QXP AI_ML Board
- fsl,imx8qxp-mek # i.MX8QXP MEK Board
- - toradex,colibri-imx8x # Colibri iMX8X Module
+ - toradex,colibri-imx8x # Colibri iMX8X Modules
- const: fsl,imx8qxp

- - description: Toradex Colibri i.MX8 Evaluation Board
+ - description: i.MX8QXP Boards with Toradex Coilbri iMX8X Modules
items:
- enum:
- toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3
@@ -847,9 +849,10 @@ properties:
- description: VF610 based Boards
items:
- enum:
+ - fsl,vf610-twr # VF610 Tower Board
- lwn,bk4 # Liebherr BK4 controller
- phytec,vf610-cosmic # PHYTEC Cosmic/Cosmic+ Board
- - fsl,vf610-twr # VF610 Tower Board
+ - toradex,vf610-colibri_vf61 # Colibri VF61 Modules
- const: fsl,vf610

- description: Toradex Colibri VF61 Module on Colibri Evaluation Board
--
2.26.2

2021-09-21 01:31:29

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH v4 5/9] ARM: imx_v6_v7_defconfig: build imx sdma driver as module

From: Marcel Ziswiler <[email protected]>

Build CONFIG_IMX_SDMA as a module to avoid the following boot issue:

[ 5.214751] imx-sdma 20ec000.sdma: Direct firmware load for
imx/sdma/sdma-imx6q.bin failed with error -2
[ 5.215762] imx-sdma 20ec000.sdma: Falling back to sysfs fallback
for: imx/sdma/sdma-imx6q.bin

Signed-off-by: Marcel Ziswiler <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>

---

(no changes since v3)

Changes in v3:
- Add Fabio's reviewed-by. Thanks!

arch/arm/configs/imx_v6_v7_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 21803cd2d1ba7..c0008b7faf2ce 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -380,7 +380,7 @@ CONFIG_RTC_DRV_MXC_V2=y
CONFIG_RTC_DRV_SNVS=y
CONFIG_DMADEVICES=y
CONFIG_FSL_EDMA=y
-CONFIG_IMX_SDMA=y
+CONFIG_IMX_SDMA=m
CONFIG_MXS_DMA=y
CONFIG_DMATEST=m
CONFIG_STAGING=y
--
2.26.2

2021-09-21 01:31:39

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH v4 5/9] ARM: imx_v6_v7_defconfig: build imx sdma driver as module

On 9/20/21 4:49 PM, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <[email protected]>
>
> Build CONFIG_IMX_SDMA as a module to avoid the following boot issue:
>
> [ 5.214751] imx-sdma 20ec000.sdma: Direct firmware load for
> imx/sdma/sdma-imx6q.bin failed with error -2
> [ 5.215762] imx-sdma 20ec000.sdma: Falling back to sysfs fallback
> for: imx/sdma/sdma-imx6q.bin

Isn't there some ROM-side SDMA firmware baked into the MX6 which is used
as a fallback if loading newer one from filesystem fails ? I suspect the
default ROM firmware might be buggy.

2021-09-21 01:38:01

by Marcel Ziswiler

[permalink] [raw]
Subject: Re: [PATCH v4 5/9] ARM: imx_v6_v7_defconfig: build imx sdma driver as module

On Mon, 2021-09-20 at 16:52 +0200, Marek Vasut wrote:
> On 9/20/21 4:49 PM, Marcel Ziswiler wrote:
> > From: Marcel Ziswiler <[email protected]>
> >
> > Build CONFIG_IMX_SDMA as a module to avoid the following boot issue:
> >
> > [    5.214751] imx-sdma 20ec000.sdma: Direct firmware load for
> >   imx/sdma/sdma-imx6q.bin failed with error -2
> > [    5.215762] imx-sdma 20ec000.sdma: Falling back to sysfs fallback
> >   for: imx/sdma/sdma-imx6q.bin
>
> Isn't there some ROM-side SDMA firmware baked into the MX6 which is used
> as a fallback if loading newer one from filesystem fails ? I suspect the
> default ROM firmware might be buggy.

I'm not so sure about this. At least it seems to fail if no external firmware can be loaded.

2021-09-21 01:40:10

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH v4 5/9] ARM: imx_v6_v7_defconfig: build imx sdma driver as module

On 9/20/21 5:55 PM, Marcel Ziswiler wrote:
> On Mon, 2021-09-20 at 16:52 +0200, Marek Vasut wrote:
>> On 9/20/21 4:49 PM, Marcel Ziswiler wrote:
>>> From: Marcel Ziswiler <[email protected]>
>>>
>>> Build CONFIG_IMX_SDMA as a module to avoid the following boot issue:
>>>
>>> [    5.214751] imx-sdma 20ec000.sdma: Direct firmware load for
>>>   imx/sdma/sdma-imx6q.bin failed with error -2
>>> [    5.215762] imx-sdma 20ec000.sdma: Falling back to sysfs fallback
>>>   for: imx/sdma/sdma-imx6q.bin
>>
>> Isn't there some ROM-side SDMA firmware baked into the MX6 which is used
>> as a fallback if loading newer one from filesystem fails ? I suspect the
>> default ROM firmware might be buggy.
>
> I'm not so sure about this. At least it seems to fail if no external firmware can be loaded.

See e.g. SDMA chapter in MX6SDLRM or similar, it does talk about 4k boot
ROM, which contains scripts and utilities later referenced by scripts in
RAM. It might be worth looking into that a bit further, but that seems
like a separate topic from this patch.

2021-09-21 01:47:13

by Lucas Stach

[permalink] [raw]
Subject: Re: [PATCH v4 5/9] ARM: imx_v6_v7_defconfig: build imx sdma driver as module

Am Montag, dem 20.09.2021 um 18:14 +0200 schrieb Marek Vasut:
> On 9/20/21 5:55 PM, Marcel Ziswiler wrote:
> > On Mon, 2021-09-20 at 16:52 +0200, Marek Vasut wrote:
> > > On 9/20/21 4:49 PM, Marcel Ziswiler wrote:
> > > > From: Marcel Ziswiler <[email protected]>
> > > >
> > > > Build CONFIG_IMX_SDMA as a module to avoid the following boot issue:
> > > >
> > > > [    5.214751] imx-sdma 20ec000.sdma: Direct firmware load for
> > > >   imx/sdma/sdma-imx6q.bin failed with error -2
> > > > [    5.215762] imx-sdma 20ec000.sdma: Falling back to sysfs fallback
> > > >   for: imx/sdma/sdma-imx6q.bin
> > >
> > > Isn't there some ROM-side SDMA firmware baked into the MX6 which is used
> > > as a fallback if loading newer one from filesystem fails ? I suspect the
> > > default ROM firmware might be buggy.
> >
> > I'm not so sure about this. At least it seems to fail if no external firmware can be loaded.
>
> See e.g. SDMA chapter in MX6SDLRM or similar, it does talk about 4k boot
> ROM, which contains scripts and utilities later referenced by scripts in
> RAM. It might be worth looking into that a bit further, but that seems
> like a separate topic from this patch.
>
Yep, most of the systems we ship do work with the ROM firmware, which
should be picked when firmware loading fails.

The RAM firmware is useful in some cases like multichannel SAI or now
to work around the SPI DMA issue on i.MX6.

Regards,
Lucas

2021-10-05 03:28:51

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v4 5/9] ARM: imx_v6_v7_defconfig: build imx sdma driver as module

On Mon, Sep 20, 2021 at 04:49:34PM +0200, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <[email protected]>
>
> Build CONFIG_IMX_SDMA as a module to avoid the following boot issue:
>
> [ 5.214751] imx-sdma 20ec000.sdma: Direct firmware load for
> imx/sdma/sdma-imx6q.bin failed with error -2
> [ 5.215762] imx-sdma 20ec000.sdma: Falling back to sysfs fallback
> for: imx/sdma/sdma-imx6q.bin
>
> Signed-off-by: Marcel Ziswiler <[email protected]>
> Reviewed-by: Fabio Estevam <[email protected]>

Applied, thanks!

2021-10-05 03:29:49

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v4 7/9] dt-bindings: arm: fsl: clean-up all toradex boards/modules

On Mon, Sep 20, 2021 at 04:49:36PM +0200, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <[email protected]>
>
> Simplify and unify the distinction between modules and carrier boards.
>
> Signed-off-by: Marcel Ziswiler <[email protected]>
> Acked-by: Rob Herring <[email protected]>
> Reviewed-by: Fabio Estevam <[email protected]>

Applied, thanks!