Skip to contentSkip to conversation

arm: boards: Add support for MYIR MYD-AM335X Development Board

PATCH Superseded Alexander Shiyan 2 participants 7 messages Apr 20, 2022 – Apr 22, 2022

Subsystems (3)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm: boards: Add support for MYIR MYD-AM335X Development Board

The MYD-AM335X Development Board designed by MYIR is a high-performance ARM Evaluation Module (EVM) using the MYC-AM335X CPU module as the core controller board. It is based on up to 1GHz Texas Instruments (TI) Sitara AM335x family of ARM Cortex-A8 Microprocessors (MPUs) that deliver high DMIPs at a low cost while also delivering optional 3D graphics acceleration and key peripherals.

---
 arch/arm/boards/Makefile                      |   1 +
 arch/arm/boards/myirtech-x335x/Makefile       |   3 +
 arch/arm/boards/myirtech-x335x/board.c        |  44 +++++++
 .../defaultenv-myirtech-x335x/boot/nand       |   4 +
 .../defaultenv-myirtech-x335x/nv/boot.default |   1 +
 .../nv/linux.bootargs.console                 |   1 +
 arch/arm/boards/myirtech-x335x/lowlevel.c     | 113 ++++++++++++++++++
 arch/arm/configs/am335x_mlo_defconfig         |   1 +
 .../arm/configs/myirtech_am335x_myd_defconfig | 109 +++++++++++++++++
 arch/arm/dts/Makefile                         |   1 +
 arch/arm/dts/am335x-myirtech-myd.dts          |  23 ++++
 arch/arm/mach-omap/Kconfig                    |   6 +
 .../arm/mach-omap/include/mach/am33xx-clock.h |   1 +
 .../mach-omap/include/mach/am33xx-silicon.h   |   2 +
 images/Makefile.am33xx                        |   8 ++
 15 files changed, 318 insertions(+)
 create mode 100644 arch/arm/boards/myirtech-x335x/Makefile
 create mode 100644 arch/arm/boards/myirtech-x335x/board.c
 create mode 100644 arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/boot/nand
 create mode 100644 arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/boot.default
 create mode 100644 arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console
 create mode 100644 arch/arm/boards/myirtech-x335x/lowlevel.c
 create mode 100644 arch/arm/configs/myirtech_am335x_myd_defconfig
 create mode 100644 arch/arm/dts/am335x-myirtech-myd.dts
arch/arm/boards/Makefile +1 -0
index 75e15cbda4..d303999614 100644
@@ -77,6 +77,7 @@ obj-$(CONFIG_MACH_MB7707)			+= module-mb7707/
 obj-$(CONFIG_MACH_MIOA701)			+= mioa701/
 obj-$(CONFIG_MACH_MX23EVK)			+= freescale-mx23-evk/
 obj-$(CONFIG_MACH_MX28EVK)			+= freescale-mx28-evk/
+obj-$(CONFIG_MACH_MYIRTECH_X335X)		+= myirtech-x335x/
 obj-$(CONFIG_MACH_NESO)				+= guf-neso/
 obj-$(CONFIG_MACH_NETGEAR_RN104)		+= netgear-rn104/
 obj-$(CONFIG_MACH_NETGEAR_RN2120)		+= netgear-rn2120/
arch/arm/boards/myirtech-x335x/Makefile new file +3 -0
new file mode 100644
index 0000000000..05d9fc7bc3
@@ -0,0 +1,3 @@
+lwl-y					+= lowlevel.o
+obj-y					+= board.o
+bbenv-$(CONFIG_DEFAULT_ENVIRONMENT)	+= defaultenv-myirtech-x335x
arch/arm/boards/myirtech-x335x/board.c new file +44 -0

44 lines not on this page · raw message

arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/boot/nand new file +4 -0
new file mode 100644
index 0000000000..aca093eebb
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+global.bootm.image="/dev/nand0.system.ubi.kernel"
+global.linux.bootargs.dyn.root="ubi.mtd=system ubi.block=0,root ro"
arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/boot.default new file +1 -0
new file mode 100644
index 0000000000..026a25cc7e
@@ -0,0 +1 @@
+nand
arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console new file +1 -0
new file mode 100644
index 0000000000..4310fdd693
@@ -0,0 +1 @@
+console=ttyS0,115200n8 earlyprintk
arch/arm/boards/myirtech-x335x/lowlevel.c new file +113 -0

113 lines not on this page · raw message

arch/arm/configs/am335x_mlo_defconfig +1 -0
index 51d238db3e..83bb20e4b5 100644
@@ -5,6 +5,7 @@ CONFIG_OMAP_SERIALBOOT=y
 CONFIG_OMAP_MULTI_BOARDS=y
 CONFIG_MACH_AFI_GF=y
 CONFIG_MACH_BEAGLEBONE=y
+CONFIG_MACH_MYIRTECH_X335X=y
 CONFIG_MACH_PHYTEC_SOM_AM335X=y
 CONFIG_THUMB2_BAREBOX=y
 # CONFIG_MEMINFO is not set
arch/arm/configs/myirtech_am335x_myd_defconfig new file +109 -0

109 lines not on this page · raw message

arch/arm/dts/Makefile +1 -0
index 925ac12aa5..619354fcb6 100644
@@ -40,6 +40,7 @@ lwl-$(CONFIG_MACH_MARVELL_ARMADA_XP_GP) += armada-xp-gp-bb.dtb.o
 lwl-$(CONFIG_MACH_MARVELL_ARMADA_XP_DB) += armada-xp-db-bb.dtb.o
 lwl-$(CONFIG_MACH_MB7707) += module-mb7707.dtb.o
 lwl-$(CONFIG_MACH_MX28EVK) += imx28-evk.dtb.o
+lwl-$(CONFIG_MACH_MYIRTECH_X335X) += am335x-myirtech-myd.dtb.o
 lwl-$(CONFIG_MACH_NETGEAR_RN104) += armada-370-rn104-bb.dtb.o
 lwl-$(CONFIG_MACH_NETGEAR_RN2120) += armada-xp-rn2120-bb.dtb.o
 lwl-$(CONFIG_MACH_NITROGEN6) += imx6q-nitrogen6x.dtb.o imx6dl-nitrogen6x.dtb.o imx6qp-nitrogen6_max.dtb.o
arch/arm/dts/am335x-myirtech-myd.dts new file +23 -0
new file mode 100644
index 0000000000..0d376f5eee
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/* SPDX-FileCopyrightText: Alexander Shiyan, <[email protected]> */
+
+/dts-v1/;
+
+#include <arm/am335x-myirtech-myd.dts>
+
+/ {
+	chosen {
+		environment {
+			compatible = "barebox,environment";
+			device-path = &env_nand;
+		};
+	};
+
+};
+
+&nand0 {
+	env_nand: partition@a0000 {
+		label = "env";
+		reg = <0xa0000 0x40000>;
+	};
+};
arch/arm/mach-omap/Kconfig +6 -0
index 220b635167..f0e035e31e 100644
@@ -168,6 +168,12 @@ config MACH_BEAGLEBONE
 	help
 	  Say Y here if you are using Beagle Bone
 
+config MACH_MYIRTECH_X335X
+	bool "MYIR Tech Limited SOMs"
+	select ARCH_AM33XX
+	help
+	  Say Y here if you are using a TI AM335X based MYIR SOM
+
 config MACH_PHYTEC_SOM_AM335X
 	bool "Phytec AM335X SOMs"
 	select ARCH_AM33XX
arch/arm/mach-omap/include/mach/am33xx-clock.h +1 -0
index 3c2143d600..b0293db990 100644
@@ -25,6 +25,7 @@
 #define MPUPLL_M_600	600	/* 125 * n */
 #define MPUPLL_M_720	720	/* 125 * n */
 #define MPUPLL_M_800	800
+#define MPUPLL_M_1000	1000
 
 #define MPUPLL_M2	1
 
arch/arm/mach-omap/include/mach/am33xx-silicon.h +2 -0
index 0729369255..0467dac03b 100644
@@ -201,6 +201,8 @@
 #define AM33XX_MAC_ID1_HI	(AM33XX_CTRL_BASE + 0x63c)
 #define AM33XX_MAC_MII_SEL	(AM33XX_CTRL_BASE + 0x650)
 
+#define AM33XX_EFUSE_SMA	(AM33XX_CTRL_BASE + 0x7fc)
+
 struct am33xx_cmd_control {
 	u32 slave_ratio0;
 	u32 dll_lock_diff0;
images/Makefile.am33xx +8 -0
index add676117c..a63def771e 100644
@@ -26,6 +26,14 @@ FILE_barebox-am33xx-afi-gf-mlo.spi.img = start_am33xx_afi_gf_sram.pblb.mlospi
 am33xx-mlo-$(CONFIG_MACH_AFI_GF) += barebox-am33xx-afi-gf-mlo.img
 am33xx-mlospi-$(CONFIG_MACH_AFI_GF) += barebox-am33xx-afi-gf-mlo.spi.img
 
+pblb-$(CONFIG_MACH_MYIRTECH_X335X) += start_am33xx_myirtech_sdram
+FILE_barebox-am33xx-myirtech.img = start_am33xx_myirtech_sdram.pblb
+am33xx-barebox-$(CONFIG_MACH_MYIRTECH_X335X) += barebox-am33xx-myirtech.img
+
+pblb-$(CONFIG_MACH_MYIRTECH_X335X) += start_am33xx_myirtech_sram
+FILE_barebox-am33xx-myirtech-mlo.img = start_am33xx_myirtech_sram.pblb.mlo
+am33xx-mlo-$(CONFIG_MACH_MYIRTECH_X335X) += barebox-am33xx-myirtech-mlo.img
+
 pblb-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += start_am33xx_phytec_phycore_nand_sdram
 FILE_barebox-am33xx-phytec-phycore.img = start_am33xx_phytec_phycore_nand_sdram.pblb
 am33xx-barebox-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += barebox-am33xx-phytec-phycore.img
Signature · 7 lines
2.32.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#1 lore raw
Quoted 66 lines · Alexander Shiyan

The MYD-AM335X Development Board designed by MYIR is a high-performance ARM Evaluation Module (EVM) using the MYC-AM335X CPU module as the core controller board. It is based on up to 1GHz Texas Instruments (TI) Sitara AM335x family of ARM Cortex-A8 Microprocessors (MPUs) that deliver high DMIPs at a low cost while also delivering optional 3D graphics acceleration and key peripherals.

---
 arch/arm/boards/Makefile                      |   1 +
 arch/arm/boards/myirtech-x335x/Makefile       |   3 +
 arch/arm/boards/myirtech-x335x/board.c        |  44 +++++++
 .../defaultenv-myirtech-x335x/boot/nand       |   4 +
 .../defaultenv-myirtech-x335x/nv/boot.default |   1 +
 .../nv/linux.bootargs.console                 |   1 +
 arch/arm/boards/myirtech-x335x/lowlevel.c     | 113 ++++++++++++++++++
 arch/arm/configs/am335x_mlo_defconfig         |   1 +
 .../arm/configs/myirtech_am335x_myd_defconfig | 109 +++++++++++++++++
 arch/arm/dts/Makefile                         |   1 +
 arch/arm/dts/am335x-myirtech-myd.dts          |  23 ++++
 arch/arm/mach-omap/Kconfig                    |   6 +
 .../arm/mach-omap/include/mach/am33xx-clock.h |   1 +
 .../mach-omap/include/mach/am33xx-silicon.h   |   2 +
 images/Makefile.am33xx                        |   8 ++
 15 files changed, 318 insertions(+)
 create mode 100644 arch/arm/boards/myirtech-x335x/Makefile
 create mode 100644 arch/arm/boards/myirtech-x335x/board.c
 create mode 100644 arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/boot/nand
 create mode 100644 arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/boot.default
 create mode 100644 arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console
 create mode 100644 arch/arm/boards/myirtech-x335x/lowlevel.c
 create mode 100644 arch/arm/configs/myirtech_am335x_myd_defconfig
 create mode 100644 arch/arm/dts/am335x-myirtech-myd.dts
arch/arm/boards/Makefile +1 -0
index 75e15cbda4..d303999614 100644
@@ -77,6 +77,7 @@ obj-$(CONFIG_MACH_MB7707)			+= module-mb7707/
 obj-$(CONFIG_MACH_MIOA701)			+= mioa701/
 obj-$(CONFIG_MACH_MX23EVK)			+= freescale-mx23-evk/
 obj-$(CONFIG_MACH_MX28EVK)			+= freescale-mx28-evk/
+obj-$(CONFIG_MACH_MYIRTECH_X335X)		+= myirtech-x335x/
 obj-$(CONFIG_MACH_NESO)				+= guf-neso/
 obj-$(CONFIG_MACH_NETGEAR_RN104)		+= netgear-rn104/
 obj-$(CONFIG_MACH_NETGEAR_RN2120)		+= netgear-rn2120/
arch/arm/boards/myirtech-x335x/Makefile new file +3 -0
new file mode 100644
index 0000000000..05d9fc7bc3
@@ -0,0 +1,3 @@
+lwl-y					+= lowlevel.o
+obj-y					+= board.o
+bbenv-$(CONFIG_DEFAULT_ENVIRONMENT)	+= defaultenv-myirtech-x335x
arch/arm/boards/myirtech-x335x/board.c new file +5 -0
new file mode 100644
index 0000000000..b5af651254
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/* SPDX-FileCopyrightText: Alexander Shiyan <[email protected]> */
+
+#include <bootsource.h>
+#include <common.h>

arch/arm/boards/myirtech-x335x/board.c line 15

Quoted 10 lines
arch/arm/boards/myirtech-x335x/board.c new file +10 -0
+#include <driver.h>
+#include <envfs.h>
+#include <init.h>
+#include <linux/sizes.h>
+#include <mach/am33xx-generic.h>
+
+static struct omap_barebox_part myir_barebox_part = {
+	.nand_offset = SZ_128K,
+	.nand_size = SZ_512K,
+};

Isn't this a bit too small? Putting a barebox into 128k seems very ambicous.

Quoted 52 lines
arch/arm/boards/myirtech-x335x/board.c new file +29 -0
+
+static __init int myir_devices_init(void)
+{
+	if (!of_machine_is_compatible("myir,myc-am335x"))
+		return 0;
+
+	am33xx_register_ethaddr(0, 0);
+	am33xx_register_ethaddr(1, 1);
+
+	switch (bootsource_get()) {
+	case BOOTSOURCE_MMC:
+		omap_set_bootmmc_devname("mmc0");
+		break;
+	case BOOTSOURCE_NAND:
+		omap_set_barebox_part(&myir_barebox_part);
+		break;
+	default:
+		break;
+	}
+
+	if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT))
+		defaultenv_append_directory(defaultenv_myirtech_x335x);
+
+	if (IS_ENABLED(CONFIG_SHELL_NONE))
+		return am33xx_of_register_bootdevice();
+
+	return 0;
+}
+coredevice_initcall(myir_devices_init);
arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/boot/nand new file +4 -0
new file mode 100644
index 0000000000..aca093eebb
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+global.bootm.image="/dev/nand0.system.ubi.kernel"
+global.linux.bootargs.dyn.root="ubi.mtd=system ubi.block=0,root ro"
arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/boot.default new file +1 -0
new file mode 100644
index 0000000000..026a25cc7e
@@ -0,0 +1 @@
+nand
arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console new file +0 -0
new file mode 100644
index 0000000000..4310fdd693

arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console line 1

Quoted 1 line
arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console new file +1 -0
@@ -0,0 +1 @@
+console=ttyS0,115200n8 earlyprintk

The console= part shouldn't be needed. barebox should add a console= parameter matching the current barebox console automatically.

I wouldn't add the earlyprintk by default. It might break booting when the kernel is not exactly configured for your board. Anyway, that's personal taste.

arch/arm/configs/myirtech_am335x_myd_defconfig

Quoted 13 lines
arch/arm/configs/am335x_mlo_defconfig +1 -0
index 51d238db3e..83bb20e4b5 100644
@@ -5,6 +5,7 @@ CONFIG_OMAP_SERIALBOOT=y
 CONFIG_OMAP_MULTI_BOARDS=y
 CONFIG_MACH_AFI_GF=y
 CONFIG_MACH_BEAGLEBONE=y
+CONFIG_MACH_MYIRTECH_X335X=y
 CONFIG_MACH_PHYTEC_SOM_AM335X=y
 CONFIG_THUMB2_BAREBOX=y
 # CONFIG_MEMINFO is not set
arch/arm/configs/myirtech_am335x_myd_defconfig +0 -0

Do you need this config? I rather prefer to add the board to some existing config, omap_defconfig in this case.

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#2 lore raw

чт, 21 апр. 2022 г. в 10:35, Sascha Hauer <[email protected]>:

Quoted 10 lines · Alexander Shiyan
Quoted 8 lines

The MYD-AM335X Development Board designed by MYIR is a high-performance ARM Evaluation Module (EVM) using the MYC-AM335X CPU module as the core controller board. It is based on up to 1GHz Texas Instruments (TI) Sitara AM335x family of ARM Cortex-A8 Microprocessors (MPUs) that deliver high DMIPs at a low cost while also delivering optional 3D graphics acceleration and key peripherals.

...

Quoted 7 lines

arch/arm/boards/myirtech-x335x/board.c line 15

Quoted 4 lines
arch/arm/boards/myirtech-x335x/board.c new file +4 -0
+static struct omap_barebox_part myir_barebox_part = {
+     .nand_offset = SZ_128K,
+     .nand_size = SZ_512K,
+};

Isn't this a bit too small? Putting a barebox into 128k seems very ambicous.

The boot image (MLO) should not exceed 128 KB in size, so I think this should be enough.
In any case this size is already specified for the boot partition in kernel DTS for this board. :)

...

Quoted 10 lines

arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console line 1

Quoted 3 lines

+++ b/arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console

arch/arm/boards/myirtech-x335x/defaultenv-myirtech-x335x/nv/linux.bootargs.console new file +1 -0
@@ -0,0 +1 @@
+console=ttyS0,115200n8 earlyprintk

The console= part shouldn't be needed. barebox should add a console= parameter matching the current barebox console automatically.

I wouldn't add the earlyprintk by default. It might break booting when the kernel is not exactly configured for your board. Anyway, that's personal taste.

OK.

...

Quoted 4 lines

arch/arm/configs/myirtech_am335x_myd_defconfig

Quoted 1 line
arch/arm/configs/myirtech_am335x_myd_defconfig +0 -0

Do you need this config? I rather prefer to add the board to some existing config, omap_defconfig in this case.

OK.

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#3 lore raw
Quoted 20 lines · Alexander Shiyan

чт, 21 апр. 2022 г. в 10:35, Sascha Hauer <[email protected]>:

Quoted 10 lines · Alexander Shiyan
Quoted 8 lines

The MYD-AM335X Development Board designed by MYIR is a high-performance ARM Evaluation Module (EVM) using the MYC-AM335X CPU module as the core controller board. It is based on up to 1GHz Texas Instruments (TI) Sitara AM335x family of ARM Cortex-A8 Microprocessors (MPUs) that deliver high DMIPs at a low cost while also delivering optional 3D graphics acceleration and key peripherals.

...

Quoted 7 lines

arch/arm/boards/myirtech-x335x/board.c line 15

Quoted 4 lines
arch/arm/boards/myirtech-x335x/board.c new file +4 -0
+static struct omap_barebox_part myir_barebox_part = {
+     .nand_offset = SZ_128K,
+     .nand_size = SZ_512K,
+};

Isn't this a bit too small? Putting a barebox into 128k seems very ambicous.

Quoted 4 lines

The boot image (MLO) should not exceed 128 KB in size, so I think this should be enough.
In any case this size is already specified for the boot partition in kernel DTS for this board. :)

Oh, I accidently misread nand_size as SZ_128K. Indeed it's SZ_512K which is small, but sufficient. Anyway, the BBU code assumes 4 eraseblocks for the four MLO images. That would be a nand_offset of SZ_512K also, which would then also match the upstream device tree for the board:

&nand0 {
        partition@0 {
                label = "MLO";
                reg = <0x00000 0x20000>;
        };

        partition@20000 {
                label = "boot";
                reg = <0x20000 0x80000>;
        };
};

512k is still very small nowadays. The images built with omap_defconfig are just a bit smaller than that.

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#4 lore raw

чт, 21 апр. 2022 г. в 11:30, Sascha Hauer <[email protected]>:

Quoted 43 lines · Alexander Shiyan
Quoted 20 lines

чт, 21 апр. 2022 г. в 10:35, Sascha Hauer <[email protected]>:

Quoted 10 lines · Alexander Shiyan
Quoted 8 lines

The MYD-AM335X Development Board designed by MYIR is a high-performance ARM Evaluation Module (EVM) using the MYC-AM335X CPU module as the core controller board. It is based on up to 1GHz Texas Instruments (TI) Sitara AM335x family of ARM Cortex-A8 Microprocessors (MPUs) that deliver high DMIPs at a low cost while also delivering optional 3D graphics acceleration and key peripherals.

...

Quoted 7 lines

arch/arm/boards/myirtech-x335x/board.c line 15

Quoted 4 lines
arch/arm/boards/myirtech-x335x/board.c new file +4 -0
+static struct omap_barebox_part myir_barebox_part = {
+     .nand_offset = SZ_128K,
+     .nand_size = SZ_512K,
+};

Isn't this a bit too small? Putting a barebox into 128k seems very ambicous.

Quoted 4 lines

The boot image (MLO) should not exceed 128 KB in size, so I think this should be enough.
In any case this size is already specified for the boot partition in kernel DTS for this board. :)

Oh, I accidently misread nand_size as SZ_128K. Indeed it's SZ_512K which is small, but sufficient. Anyway, the BBU code assumes 4 eraseblocks for the four MLO images. That would be a nand_offset of SZ_512K also, which would then also match the upstream device tree for the board:

&nand0 {
        partition@0 {
                label = "MLO";
                reg = <0x00000 0x20000>;
        };

        partition@20000 {
                label = "boot";
                reg = <0x20000 0x80000>;
        };
};
Quoted 2 lines

512k is still very small nowadays. The images built with omap_defconfig are just a bit smaller than that.

Do you prefer that we fix this in the local overlay now, or leave it as is until kernel DTS upstream changes?

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#5 lore raw
Quoted 44 lines · Alexander Shiyan

чт, 21 апр. 2022 г. в 11:30, Sascha Hauer <[email protected]>:

Quoted 43 lines · Alexander Shiyan
Quoted 20 lines

чт, 21 апр. 2022 г. в 10:35, Sascha Hauer <[email protected]>:

Quoted 10 lines · Alexander Shiyan
Quoted 8 lines

The MYD-AM335X Development Board designed by MYIR is a high-performance ARM Evaluation Module (EVM) using the MYC-AM335X CPU module as the core controller board. It is based on up to 1GHz Texas Instruments (TI) Sitara AM335x family of ARM Cortex-A8 Microprocessors (MPUs) that deliver high DMIPs at a low cost while also delivering optional 3D graphics acceleration and key peripherals.

...

Quoted 7 lines

arch/arm/boards/myirtech-x335x/board.c line 15

Quoted 4 lines
arch/arm/boards/myirtech-x335x/board.c new file +4 -0
+static struct omap_barebox_part myir_barebox_part = {
+     .nand_offset = SZ_128K,
+     .nand_size = SZ_512K,
+};

Isn't this a bit too small? Putting a barebox into 128k seems very ambicous.

Quoted 4 lines

The boot image (MLO) should not exceed 128 KB in size, so I think this should be enough.
In any case this size is already specified for the boot partition in kernel DTS for this board. :)

Oh, I accidently misread nand_size as SZ_128K. Indeed it's SZ_512K which is small, but sufficient. Anyway, the BBU code assumes 4 eraseblocks for the four MLO images. That would be a nand_offset of SZ_512K also, which would then also match the upstream device tree for the board:

&nand0 {
        partition@0 {
                label = "MLO";
                reg = <0x00000 0x20000>;
        };

        partition@20000 {
                label = "boot";
                reg = <0x20000 0x80000>;
        };
};
Quoted 5 lines
Quoted 2 lines

512k is still very small nowadays. The images built with omap_defconfig are just a bit smaller than that.

Do you prefer that we fix this in the local overlay now, or leave it as is until kernel DTS upstream changes?

Do it locally for now. BTW you used a legacy binding here. Nowadays the partitions are under a partitions node with compatible "fixed-partitions".

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#6 lore raw

пт, 22 апр. 2022 г. в 09:50, Sascha Hauer <[email protected]>:

Quoted 5 lines · Alexander Shiyan
Quoted 4 lines

чт, 21 апр. 2022 г. в 11:30, Sascha Hauer <[email protected]>:

Quoted 3 lines · Alexander Shiyan
Quoted 2 lines

чт, 21 апр. 2022 г. в 10:35, Sascha Hauer <[email protected]>:

Quoted 1 line · Alexander Shiyan

...

Quoted 11 lines
Quoted 11 lines
Quoted 11 lines
&nand0 {
        partition@0 {
                label = "MLO";
                reg = <0x00000 0x20000>;
        };

        partition@20000 {
                label = "boot";
                reg = <0x20000 0x80000>;
        };
};

...

Quoted 3 lines

Do it locally for now. BTW you used a legacy binding here. Nowadays the partitions are under a partitions node with compatible "fixed-partitions".

Thanks for the hint.

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox