mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Add firmware-name property in order to introduce the capability to specify the firmware names used for 'RiscV core' and 'Data section' binaries. This patch is needed because NPU firmware binaries are board specific since they depend on the MediaTek WiFi chip used on the board (e.g. MT7996 or MT7992) and the WiFi chip version info is not available in the NPU driver. This is a preliminary patch to enable MT76 NPU offloading if the Airoha SoC is equipped with MT7996 (Eagle) WiFi chipset. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://patch.msgid.link/20260120-airoha-npu-firmware-name-v4-1-88999628b4c1@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
108 lines
3.3 KiB
YAML
108 lines
3.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/airoha,en7581-npu.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Airoha Network Processor Unit for EN7581 SoC
|
|
|
|
maintainers:
|
|
- Lorenzo Bianconi <lorenzo@kernel.org>
|
|
|
|
description:
|
|
The Airoha Network Processor Unit (NPU) provides a configuration interface
|
|
to implement wired and wireless hardware flow offloading programming Packet
|
|
Processor Engine (PPE) flow table.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- airoha,en7581-npu
|
|
- airoha,an7583-npu
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
items:
|
|
- description: mbox host irq line
|
|
- description: watchdog0 irq line
|
|
- description: watchdog1 irq line
|
|
- description: watchdog2 irq line
|
|
- description: watchdog3 irq line
|
|
- description: watchdog4 irq line
|
|
- description: watchdog5 irq line
|
|
- description: watchdog6 irq line
|
|
- description: watchdog7 irq line
|
|
- description: wlan irq line0
|
|
- description: wlan irq line1
|
|
- description: wlan irq line2
|
|
- description: wlan irq line3
|
|
- description: wlan irq line4
|
|
- description: wlan irq line5
|
|
|
|
memory-region:
|
|
items:
|
|
- description: NPU firmware binary region
|
|
- description: NPU wlan offload RX buffers region
|
|
- description: NPU wlan offload TX buffers region
|
|
- description: NPU wlan offload TX packet identifiers region
|
|
- description: NPU wlan Block Ack buffers region
|
|
minItems: 1
|
|
|
|
memory-region-names:
|
|
items:
|
|
- const: firmware
|
|
- const: pkt
|
|
- const: tx-pkt
|
|
- const: tx-bufid
|
|
- const: ba
|
|
minItems: 1
|
|
|
|
firmware-name:
|
|
items:
|
|
- description: Firmware name of RiscV core
|
|
- description: Firmware name of Data section
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- memory-region
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
soc {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
npu@1e900000 {
|
|
compatible = "airoha,en7581-npu";
|
|
reg = <0 0x1e900000 0 0x313000>;
|
|
interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
|
memory-region = <&npu_firmware>, <&npu_pkt>, <&npu_txpkt>,
|
|
<&npu_txbufid>, <&npu_ba>;
|
|
memory-region-names = "firmware", "pkt", "tx-pkt", "tx-bufid", "ba";
|
|
firmware-name = "airoha/en7581_npu_rv32.bin",
|
|
"airoha/en7581_npu_data.bin";
|
|
};
|
|
};
|