cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bman.txt (3540B)


      1QorIQ DPAA Buffer Manager Device Tree Bindings
      2
      3Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
      4
      5CONTENTS
      6
      7	- BMan Node
      8	- BMan Private Memory Node
      9	- Example
     10
     11BMan Node
     12
     13The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
     14BMan supports hardware allocation and deallocation of buffers belonging to pools
     15originally created by software with configurable depletion thresholds. This
     16binding covers the CCSR space programming model
     17
     18PROPERTIES
     19
     20- compatible
     21	Usage:		Required
     22	Value type:	<stringlist>
     23	Definition:	Must include "fsl,bman"
     24			May include "fsl,<SoC>-bman"
     25
     26- reg
     27	Usage:		Required
     28	Value type:	<prop-encoded-array>
     29	Definition:	Registers region within the CCSR address space
     30
     31The BMan revision information is located in the BMAN_IP_REV_1/2 registers which
     32are located at offsets 0xbf8 and 0xbfc
     33
     34- interrupts
     35	Usage:		Required
     36	Value type:	<prop-encoded-array>
     37	Definition:	Standard property. The error interrupt
     38
     39- fsl,bman-portals
     40	Usage:		Required
     41	Value type:	<phandle>
     42	Definition:	Phandle to this BMan instance's portals
     43
     44- fsl,liodn
     45	Usage:		See pamu.txt
     46	Value type:	<prop-encoded-array>
     47	Definition:	PAMU property used for static LIODN assignment
     48
     49- fsl,iommu-parent
     50	Usage:		See pamu.txt
     51	Value type:	<phandle>
     52	Definition:	PAMU property used for dynamic LIODN assignment
     53
     54	For additional details about the PAMU/LIODN binding(s) see pamu.txt
     55
     56Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
     57to the respective BMan instance
     58
     59- fsl,bman
     60	Usage:		Required
     61	Value type:	<prop-encoded-array>
     62	Description:	List of phandle and DCP index pairs, to the BMan instance
     63			to which this device is connected via the DCP
     64
     65BMan Private Memory Node
     66
     67BMan requires a contiguous range of physical memory used for the backing store
     68for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
     69a node under the /reserved-memory node.
     70
     71The BMan FBPR memory node must be named "bman-fbpr"
     72
     73PROPERTIES
     74
     75- compatible
     76	Usage:		required
     77	Value type:	<stringlist>
     78	Definition:	PPC platforms: Must include "fsl,bman-fbpr"
     79			ARM platforms: Must include "shared-dma-pool"
     80				       as well as the "no-map" property
     81
     82The following constraints are relevant to the FBPR private memory:
     83	- The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to
     84	  16 GiB
     85	- The alignment must be a muliptle of the memory size
     86
     87The size of the FBPR must be chosen by observing the hardware features configured
     88via the Reset Configuration Word (RCW) and that are relevant to a specific board
     89(e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports,
     90etc.). The size configured in the DT must reflect the hardware capabilities and
     91not the specific needs of an application
     92
     93For additional details about reserved memory regions see reserved-memory.txt
     94
     95EXAMPLE
     96
     97The example below shows a BMan FBPR dynamic allocation memory node
     98
     99	reserved-memory {
    100		#address-cells = <2>;
    101		#size-cells = <2>;
    102		ranges;
    103
    104		bman_fbpr: bman-fbpr {
    105			compatible = "shared-mem-pool";
    106			size = <0 0x1000000>;
    107			alignment = <0 0x1000000>;
    108			no-map;
    109		};
    110	};
    111
    112The example below shows a (P4080) BMan CCSR-space node
    113
    114	bportals: bman-portals@ff4000000 {
    115		...
    116	};
    117
    118	crypto@300000 {
    119		...
    120		fsl,bman = <&bman, 2>;
    121		...
    122	};
    123
    124	bman: bman@31a000 {
    125		compatible = "fsl,bman";
    126		reg = <0x31a000 0x1000>;
    127		interrupts = <16 2 1 2>;
    128		fsl,liodn = <0x17>;
    129		fsl,bman-portals = <&bportals>;
    130		memory-region = <&bman_fbpr>;
    131	};
    132
    133	fman@400000 {
    134		...
    135		fsl,bman = <&bman, 0>;
    136		...
    137	};