mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	 8b4adfbb87
			
		
	
	8b4adfbb87
	
	
	
		
			
			Backport additional patch required for NPU support of Airoha AN7583. These are specific for the NPU module with some minor fixes and to adds upport for loading the specific Airoha AN7583 NPU firmware. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 4478596f71d92060c9093bdf1d2d940881f41bcc Mon Sep 17 00:00:00 2001
 | |
| From: Lorenzo Bianconi <lorenzo@kernel.org>
 | |
| Date: Mon, 13 Oct 2025 15:58:51 +0200
 | |
| Subject: [PATCH 3/3] net: airoha: npu: Add 7583 SoC support
 | |
| 
 | |
| Introduce support for Airoha 7583 SoC NPU selecting proper firmware images.
 | |
| 
 | |
| Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 | |
| Reviewed-by: Simon Horman <horms@kernel.org>
 | |
| Link: https://patch.msgid.link/20251013-airoha-npu-7583-v3-3-00f748b5a0c7@kernel.org
 | |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | |
| ---
 | |
|  drivers/net/ethernet/airoha/airoha_npu.c | 16 ++++++++++++++++
 | |
|  1 file changed, 16 insertions(+)
 | |
| 
 | |
| --- a/drivers/net/ethernet/airoha/airoha_npu.c
 | |
| +++ b/drivers/net/ethernet/airoha/airoha_npu.c
 | |
| @@ -16,6 +16,8 @@
 | |
|  
 | |
|  #define NPU_EN7581_FIRMWARE_DATA		"airoha/en7581_npu_data.bin"
 | |
|  #define NPU_EN7581_FIRMWARE_RV32		"airoha/en7581_npu_rv32.bin"
 | |
| +#define NPU_AN7583_FIRMWARE_DATA		"airoha/an7583_npu_data.bin"
 | |
| +#define NPU_AN7583_FIRMWARE_RV32		"airoha/an7583_npu_rv32.bin"
 | |
|  #define NPU_EN7581_FIRMWARE_RV32_MAX_SIZE	0x200000
 | |
|  #define NPU_EN7581_FIRMWARE_DATA_MAX_SIZE	0x10000
 | |
|  #define NPU_DUMP_SIZE				512
 | |
| @@ -621,8 +623,20 @@ static const struct airoha_npu_soc_data
 | |
|  	},
 | |
|  };
 | |
|  
 | |
| +static const struct airoha_npu_soc_data an7583_npu_soc_data = {
 | |
| +	.fw_rv32 = {
 | |
| +		.name = NPU_AN7583_FIRMWARE_RV32,
 | |
| +		.max_size = NPU_EN7581_FIRMWARE_RV32_MAX_SIZE,
 | |
| +	},
 | |
| +	.fw_data = {
 | |
| +		.name = NPU_AN7583_FIRMWARE_DATA,
 | |
| +		.max_size = NPU_EN7581_FIRMWARE_DATA_MAX_SIZE,
 | |
| +	},
 | |
| +};
 | |
| +
 | |
|  static const struct of_device_id of_airoha_npu_match[] = {
 | |
|  	{ .compatible = "airoha,en7581-npu", .data = &en7581_npu_soc_data },
 | |
| +	{ .compatible = "airoha,an7583-npu", .data = &an7583_npu_soc_data },
 | |
|  	{ /* sentinel */ }
 | |
|  };
 | |
|  MODULE_DEVICE_TABLE(of, of_airoha_npu_match);
 | |
| @@ -768,6 +782,8 @@ module_platform_driver(airoha_npu_driver
 | |
|  
 | |
|  MODULE_FIRMWARE(NPU_EN7581_FIRMWARE_DATA);
 | |
|  MODULE_FIRMWARE(NPU_EN7581_FIRMWARE_RV32);
 | |
| +MODULE_FIRMWARE(NPU_AN7583_FIRMWARE_DATA);
 | |
| +MODULE_FIRMWARE(NPU_AN7583_FIRMWARE_RV32);
 | |
|  MODULE_LICENSE("GPL");
 | |
|  MODULE_AUTHOR("Lorenzo Bianconi <lorenzo@kernel.org>");
 | |
|  MODULE_DESCRIPTION("Airoha Network Processor Unit driver");
 |