95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
 | |
| # Copyright 2019 Linaro Ltd.
 | |
| %YAML 1.2
 | |
| ---
 | |
| $id: http://devicetree.org/schemas/firmware/intel,ixp4xx-network-processing-engine.yaml#
 | |
| $schema: http://devicetree.org/meta-schemas/core.yaml#
 | |
| 
 | |
| title: Intel IXP4xx Network Processing Engine
 | |
| 
 | |
| maintainers:
 | |
|   - Linus Walleij <linus.walleij@linaro.org>
 | |
| 
 | |
| description: |
 | |
|   On the IXP4xx SoCs, the Network Processing Engine (NPE) is a small
 | |
|   processor that can load a firmware to perform offloading of networking
 | |
|   and crypto tasks. It also manages the MDIO bus to the ethernet PHYs
 | |
|   on the IXP4xx platform. All IXP4xx platforms have three NPEs at
 | |
|   consecutive memory locations. They are all included in the same
 | |
|   device node since they are not independent of each other.  
 | |
| 
 | |
| properties:
 | |
|   compatible:
 | |
|     oneOf:
 | |
|       - items:
 | |
|           - const: intel,ixp4xx-network-processing-engine
 | |
| 
 | |
|   reg:
 | |
|     items:
 | |
|       - description: NPE0 (NPE-A) register range
 | |
|       - description: NPE1 (NPE-B) register range
 | |
|       - description: NPE2 (NPE-C) register range
 | |
| 
 | |
|   crypto:
 | |
|     $ref: /schemas/crypto/intel,ixp4xx-crypto.yaml#
 | |
|     type: object
 | |
|     description: Optional node for the embedded crypto engine, the node
 | |
|       should be named with the instance number of the NPE engine used for
 | |
|       the crypto engine.
 | |
| 
 | |
|   "#address-cells":
 | |
|     const: 1
 | |
| 
 | |
|   "#size-cells":
 | |
|     const: 0
 | |
| 
 | |
| patternProperties:
 | |
|   hss@[0-9]+$:
 | |
|     $ref: /schemas/net/intel,ixp4xx-hss.yaml#
 | |
|     type: object
 | |
|     description: Optional node for the High Speed Serial link (HSS), the
 | |
|       node should be named with the instance number of the NPE engine
 | |
|       used for the HSS.
 | |
| 
 | |
| required:
 | |
|   - compatible
 | |
|   - reg
 | |
| 
 | |
| additionalProperties: false
 | |
| 
 | |
| examples:
 | |
|   - |
 | |
|     #include <dt-bindings/gpio/gpio.h>
 | |
| 
 | |
|     npe: npe@c8006000 {
 | |
|          compatible = "intel,ixp4xx-network-processing-engine";
 | |
|          reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>;
 | |
|          #address-cells = <1>;
 | |
|          #size-cells = <0>;
 | |
| 
 | |
|          hss@0 {
 | |
|              compatible = "intel,ixp4xx-hss";
 | |
|              reg = <0>;
 | |
|              intel,npe-handle = <&npe 0>;
 | |
|              intel,queue-chl-rxtrig = <&qmgr 12>;
 | |
|              intel,queue-chl-txready = <&qmgr 34>;
 | |
|              intel,queue-pkt-rx = <&qmgr 13>;
 | |
|              intel,queue-pkt-tx = <&qmgr 14>, <&qmgr 15>, <&qmgr 16>, <&qmgr 17>;
 | |
|              intel,queue-pkt-rxfree = <&qmgr 18>, <&qmgr 19>, <&qmgr 20>, <&qmgr 21>;
 | |
|              intel,queue-pkt-txdone = <&qmgr 22>;
 | |
|              cts-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
 | |
|              rts-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
 | |
|              dcd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
 | |
|              dtr-gpios = <&gpio_74 2 GPIO_ACTIVE_LOW>;
 | |
|              clk-internal-gpios = <&gpio_74 0 GPIO_ACTIVE_HIGH>;
 | |
|          };
 | |
| 
 | |
|          crypto {
 | |
|              compatible = "intel,ixp4xx-crypto";
 | |
|              intel,npe-handle = <&npe 2>;
 | |
|              queue-rx = <&qmgr 30>;
 | |
|              queue-txready = <&qmgr 29>;
 | |
|          };
 | |
|     };    
 | |
| ...
 |