162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright 2019 Linaro Ltd. 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/firmware/intel,ixp4xx-network-processing-engine.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: Intel IXP4xx Network Processing Engine 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Linus Walleij <linus.walleij@linaro.org> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: | 1462306a36Sopenharmony_ci On the IXP4xx SoCs, the Network Processing Engine (NPE) is a small 1562306a36Sopenharmony_ci processor that can load a firmware to perform offloading of networking 1662306a36Sopenharmony_ci and crypto tasks. It also manages the MDIO bus to the ethernet PHYs 1762306a36Sopenharmony_ci on the IXP4xx platform. All IXP4xx platforms have three NPEs at 1862306a36Sopenharmony_ci consecutive memory locations. They are all included in the same 1962306a36Sopenharmony_ci device node since they are not independent of each other. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciproperties: 2262306a36Sopenharmony_ci compatible: 2362306a36Sopenharmony_ci oneOf: 2462306a36Sopenharmony_ci - items: 2562306a36Sopenharmony_ci - const: intel,ixp4xx-network-processing-engine 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci reg: 2862306a36Sopenharmony_ci items: 2962306a36Sopenharmony_ci - description: NPE0 (NPE-A) register range 3062306a36Sopenharmony_ci - description: NPE1 (NPE-B) register range 3162306a36Sopenharmony_ci - description: NPE2 (NPE-C) register range 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci crypto: 3462306a36Sopenharmony_ci $ref: /schemas/crypto/intel,ixp4xx-crypto.yaml# 3562306a36Sopenharmony_ci type: object 3662306a36Sopenharmony_ci description: Optional node for the embedded crypto engine, the node 3762306a36Sopenharmony_ci should be named with the instance number of the NPE engine used for 3862306a36Sopenharmony_ci the crypto engine. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci "#address-cells": 4162306a36Sopenharmony_ci const: 1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci "#size-cells": 4462306a36Sopenharmony_ci const: 0 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_cipatternProperties: 4762306a36Sopenharmony_ci hss@[0-9]+$: 4862306a36Sopenharmony_ci $ref: /schemas/net/intel,ixp4xx-hss.yaml# 4962306a36Sopenharmony_ci type: object 5062306a36Sopenharmony_ci description: Optional node for the High Speed Serial link (HSS), the 5162306a36Sopenharmony_ci node should be named with the instance number of the NPE engine 5262306a36Sopenharmony_ci used for the HSS. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_cirequired: 5562306a36Sopenharmony_ci - compatible 5662306a36Sopenharmony_ci - reg 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciadditionalProperties: false 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciexamples: 6162306a36Sopenharmony_ci - | 6262306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci npe: npe@c8006000 { 6562306a36Sopenharmony_ci compatible = "intel,ixp4xx-network-processing-engine"; 6662306a36Sopenharmony_ci reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>; 6762306a36Sopenharmony_ci #address-cells = <1>; 6862306a36Sopenharmony_ci #size-cells = <0>; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci hss@0 { 7162306a36Sopenharmony_ci compatible = "intel,ixp4xx-hss"; 7262306a36Sopenharmony_ci reg = <0>; 7362306a36Sopenharmony_ci intel,npe-handle = <&npe 0>; 7462306a36Sopenharmony_ci intel,queue-chl-rxtrig = <&qmgr 12>; 7562306a36Sopenharmony_ci intel,queue-chl-txready = <&qmgr 34>; 7662306a36Sopenharmony_ci intel,queue-pkt-rx = <&qmgr 13>; 7762306a36Sopenharmony_ci intel,queue-pkt-tx = <&qmgr 14>, <&qmgr 15>, <&qmgr 16>, <&qmgr 17>; 7862306a36Sopenharmony_ci intel,queue-pkt-rxfree = <&qmgr 18>, <&qmgr 19>, <&qmgr 20>, <&qmgr 21>; 7962306a36Sopenharmony_ci intel,queue-pkt-txdone = <&qmgr 22>; 8062306a36Sopenharmony_ci cts-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; 8162306a36Sopenharmony_ci rts-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; 8262306a36Sopenharmony_ci dcd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 8362306a36Sopenharmony_ci dtr-gpios = <&gpio_74 2 GPIO_ACTIVE_LOW>; 8462306a36Sopenharmony_ci clk-internal-gpios = <&gpio_74 0 GPIO_ACTIVE_HIGH>; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci crypto { 8862306a36Sopenharmony_ci compatible = "intel,ixp4xx-crypto"; 8962306a36Sopenharmony_ci intel,npe-handle = <&npe 2>; 9062306a36Sopenharmony_ci queue-rx = <&qmgr 30>; 9162306a36Sopenharmony_ci queue-txready = <&qmgr 29>; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci... 95