Files
u-boot/include
Tom Rini 5e5b630eef Merge patch series "arm: airoha: add support for en7523 based boards"
Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> says:

This patch series adds basic support for the boards based on Airoha
EN7523/EN7529/EN7562 SoCs. Due to ATF restrictions these boards are
able to run 32-bit OS only.

This patch series adds support for the following hardware:
 * console UART
 * ethernet controller/switch
 * spinand flash (in non-dma mode)

The following issues may be expected:
 * Extra slow UBI attaching in U-Boot (up to 20 sec with fastmap enabled).
   This is caused by the lack of DMA support in the U-Boot airoha-snfi driver.
 * Linux airoha-snfi driver in some cases might damage you flash data
   (see: https://lore.kernel.org/lkml/20251012121707.2296160-15-mikhail.kshevetskiy@iopsys.eu/)
 * Latest linux kernel is recommended to properly support flashes
   with more than one plane per lun
   (see: https://lore.kernel.org/lkml/20251012121707.2296160-7-mikhail.kshevetskiy@iopsys.eu/)
 * It's NOT recommended to use flashes working in continuous mode because
   U-Boot airoha-snfi driver does not support such flashes properly.

The patches was tested on the board:
 - SoC: Airoha EN7562
 - RAM: 512 MB
 - SPI NAND: 4 Gbit, made by Toshiba
 - Linux boot: was NOT tested

The U-Boot was chain-loaded from the running U-Boot. Airoha ATF-2.3 does
not allow easily chain-loading of U-Boot from U-Boot, so a special FIT
image (mimic linux kernel) was created

1) Create u-boot.its file with the following contents:

=== cut here ===
/dts-v1/;

/ {
	description = "ARM OpenWrt FIT (Flattened Image Tree)";
	#address-cells = <1>;

	images {
		u-boot-ram {
			description = "OpenWrt U-Boot RAM image";
			data = /incbin/("u-boot.bin.lzma");
			type = "kernel";
			arch = "arm";
			os = "linux";
			compression = "lzma";
			load = <0x81e00000>;
			entry = <0x81e00000>;
			hash@1 {
				algo = "crc32";
			};
			hash@2 {
				algo = "sha1";
			};
		};

		fdt-1 {
			description = "OpenWrt device tree blob";

			data = /incbin/("dts/upstream/src/arm/airoha/en7523-evb.dtb");
			type = "flat_dt";

			arch = "arm";
			compression = "none";
			hash@1 {
				algo = "crc32";
			};
			hash@2 {
				algo = "sha1";
			};
		};
	};

	configurations {
		default = "config-ram-uboot";
		config-ram-uboot {
			description = "OpenWrt RAM U-Boot";
			kernel = "u-boot-ram";
			fdt = "fdt-1";
		};
	};
};
==================

2) Create u-boot.itb image to chain-load new u-boot from the old one

  lzma_alone e u-boot.bin u-boot.bin.lzma
  mkimage -f u-boot.its u-boot.itb

3) Load new u-boot from the old one

  U-Boot> tftpboot u-boot.itb && bootm

Link: https://lore.kernel.org/r/20251101004503.2379529-1-mikhail.kshevetskiy@iopsys.eu
2025-11-07 16:45:09 -06:00
..
2025-11-06 08:30:33 -06:00
2025-09-08 10:37:22 -06:00
2024-10-17 03:12:47 +02:00
2025-08-25 16:20:48 +02:00
2025-06-02 17:26:15 -06:00
2024-07-29 15:01:04 -06:00
2023-12-21 08:54:37 -05:00
2025-07-23 17:37:14 -06:00
2024-08-26 14:05:38 -06:00
2025-10-26 09:03:32 -06:00
2025-06-12 16:14:33 -06:00
2024-02-13 15:38:49 -05:00
2024-07-29 15:01:04 -06:00
2025-06-02 17:26:15 -06:00
2025-05-29 08:29:16 -06:00
2025-06-02 17:26:15 -06:00
2025-08-06 08:41:30 +02:00
2024-06-14 12:59:07 -06:00
2025-09-26 11:55:13 -06:00
2025-11-07 15:34:04 -06:00
2023-05-02 14:23:34 -04:00
2025-06-02 17:26:15 -06:00
2024-09-24 13:41:20 -06:00
2025-08-25 16:20:48 +02:00
2025-05-13 11:30:09 -06:00
2023-01-20 12:27:06 -05:00
2024-07-29 15:01:04 -06:00
2025-06-27 11:48:20 -06:00
2024-07-29 15:01:04 -06:00
2023-11-07 14:50:51 -05:00
2024-07-29 15:01:04 -06:00
2024-08-13 06:23:15 +02:00
2025-08-06 08:41:30 +02:00
2025-06-02 17:26:16 -06:00
2025-10-26 09:03:30 -06:00
2025-03-10 07:41:16 +01:00
2023-12-21 11:59:49 -05:00
2025-04-03 11:41:54 -06:00
2023-12-21 08:54:37 -05:00
2025-04-03 16:54:49 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2024-10-24 11:21:48 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2025-07-08 13:11:12 -06:00
2025-05-29 08:30:25 -06:00
2025-08-18 15:47:58 +02:00
2024-11-25 23:07:37 -03:00
2024-09-30 17:48:12 -06:00
2025-05-05 14:16:50 -06:00
2024-09-12 17:35:37 +02:00
2023-12-21 08:54:37 -05:00
2025-07-08 13:11:12 -06:00
2025-05-29 18:35:49 -06:00
2025-01-14 14:29:29 -06:00
2024-07-29 15:01:04 -06:00
2025-04-16 19:57:19 -06:00
2025-02-28 08:41:54 -06:00
2023-02-10 07:41:40 -05:00
2024-07-29 15:01:04 -06:00
2025-02-11 20:10:58 -06:00
2025-01-07 15:45:51 +02:00
2025-01-01 10:40:33 -06:00
2025-07-11 10:43:29 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2025-02-03 16:01:36 -06:00
2024-07-29 15:01:04 -06:00