1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot# Copyright 2019 Linaro Ltd. 3c66ec88fSEmmanuel Vadot%YAML 1.2 4c66ec88fSEmmanuel Vadot--- 5*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/firmware/intel,ixp4xx-network-processing-engine.yaml# 6*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadottitle: Intel IXP4xx Network Processing Engine 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadotmaintainers: 11c66ec88fSEmmanuel Vadot - Linus Walleij <linus.walleij@linaro.org> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotdescription: | 14c66ec88fSEmmanuel Vadot On the IXP4xx SoCs, the Network Processing Engine (NPE) is a small 15c66ec88fSEmmanuel Vadot processor that can load a firmware to perform offloading of networking 16c66ec88fSEmmanuel Vadot and crypto tasks. It also manages the MDIO bus to the ethernet PHYs 17c66ec88fSEmmanuel Vadot on the IXP4xx platform. All IXP4xx platforms have three NPEs at 18c66ec88fSEmmanuel Vadot consecutive memory locations. They are all included in the same 19c66ec88fSEmmanuel Vadot device node since they are not independent of each other. 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadotproperties: 22c66ec88fSEmmanuel Vadot compatible: 23c66ec88fSEmmanuel Vadot oneOf: 24c66ec88fSEmmanuel Vadot - items: 25c66ec88fSEmmanuel Vadot - const: intel,ixp4xx-network-processing-engine 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot reg: 28c66ec88fSEmmanuel Vadot items: 295956d97fSEmmanuel Vadot - description: NPE0 (NPE-A) register range 305956d97fSEmmanuel Vadot - description: NPE1 (NPE-B) register range 315956d97fSEmmanuel Vadot - description: NPE2 (NPE-C) register range 325956d97fSEmmanuel Vadot 335956d97fSEmmanuel Vadot crypto: 345956d97fSEmmanuel Vadot $ref: /schemas/crypto/intel,ixp4xx-crypto.yaml# 355956d97fSEmmanuel Vadot type: object 365956d97fSEmmanuel Vadot description: Optional node for the embedded crypto engine, the node 375956d97fSEmmanuel Vadot should be named with the instance number of the NPE engine used for 385956d97fSEmmanuel Vadot the crypto engine. 39c66ec88fSEmmanuel Vadot 40e67e8565SEmmanuel Vadot "#address-cells": 41e67e8565SEmmanuel Vadot const: 1 42e67e8565SEmmanuel Vadot 43e67e8565SEmmanuel Vadot "#size-cells": 44e67e8565SEmmanuel Vadot const: 0 45e67e8565SEmmanuel Vadot 46e67e8565SEmmanuel VadotpatternProperties: 47e67e8565SEmmanuel Vadot hss@[0-9]+$: 48e67e8565SEmmanuel Vadot $ref: /schemas/net/intel,ixp4xx-hss.yaml# 49e67e8565SEmmanuel Vadot type: object 50e67e8565SEmmanuel Vadot description: Optional node for the High Speed Serial link (HSS), the 51e67e8565SEmmanuel Vadot node should be named with the instance number of the NPE engine 52e67e8565SEmmanuel Vadot used for the HSS. 53e67e8565SEmmanuel Vadot 54c66ec88fSEmmanuel Vadotrequired: 55c66ec88fSEmmanuel Vadot - compatible 56c66ec88fSEmmanuel Vadot - reg 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel VadotadditionalProperties: false 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadotexamples: 61c66ec88fSEmmanuel Vadot - | 62e67e8565SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 63e67e8565SEmmanuel Vadot 645956d97fSEmmanuel Vadot npe: npe@c8006000 { 65c66ec88fSEmmanuel Vadot compatible = "intel,ixp4xx-network-processing-engine"; 66c66ec88fSEmmanuel Vadot reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>; 67e67e8565SEmmanuel Vadot #address-cells = <1>; 68e67e8565SEmmanuel Vadot #size-cells = <0>; 69e67e8565SEmmanuel Vadot 70e67e8565SEmmanuel Vadot hss@0 { 71e67e8565SEmmanuel Vadot compatible = "intel,ixp4xx-hss"; 72e67e8565SEmmanuel Vadot reg = <0>; 73e67e8565SEmmanuel Vadot intel,npe-handle = <&npe 0>; 74e67e8565SEmmanuel Vadot intel,queue-chl-rxtrig = <&qmgr 12>; 75e67e8565SEmmanuel Vadot intel,queue-chl-txready = <&qmgr 34>; 76e67e8565SEmmanuel Vadot intel,queue-pkt-rx = <&qmgr 13>; 77e67e8565SEmmanuel Vadot intel,queue-pkt-tx = <&qmgr 14>, <&qmgr 15>, <&qmgr 16>, <&qmgr 17>; 78e67e8565SEmmanuel Vadot intel,queue-pkt-rxfree = <&qmgr 18>, <&qmgr 19>, <&qmgr 20>, <&qmgr 21>; 79e67e8565SEmmanuel Vadot intel,queue-pkt-txdone = <&qmgr 22>; 80e67e8565SEmmanuel Vadot cts-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; 81e67e8565SEmmanuel Vadot rts-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; 82e67e8565SEmmanuel Vadot dcd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 83e67e8565SEmmanuel Vadot dtr-gpios = <&gpio_74 2 GPIO_ACTIVE_LOW>; 84e67e8565SEmmanuel Vadot clk-internal-gpios = <&gpio_74 0 GPIO_ACTIVE_HIGH>; 85e67e8565SEmmanuel Vadot }; 865956d97fSEmmanuel Vadot 875956d97fSEmmanuel Vadot crypto { 885956d97fSEmmanuel Vadot compatible = "intel,ixp4xx-crypto"; 895956d97fSEmmanuel Vadot intel,npe-handle = <&npe 2>; 905956d97fSEmmanuel Vadot queue-rx = <&qmgr 30>; 915956d97fSEmmanuel Vadot queue-txready = <&qmgr 29>; 925956d97fSEmmanuel Vadot }; 93c66ec88fSEmmanuel Vadot }; 94c66ec88fSEmmanuel Vadot... 95