162306a36Sopenharmony_ciSEC 6 is as Freescale's Cryptographic Accelerator and Assurance Module (CAAM).
262306a36Sopenharmony_ciCurrently Freescale powerpc chip C29X is embedded with SEC 6.
362306a36Sopenharmony_ciSEC 6 device tree binding include:
462306a36Sopenharmony_ci   -SEC 6 Node
562306a36Sopenharmony_ci   -Job Ring Node
662306a36Sopenharmony_ci   -Full Example
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci=====================================================================
962306a36Sopenharmony_ciSEC 6 Node
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciDescription
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci    Node defines the base address of the SEC 6 block.
1462306a36Sopenharmony_ci    This block specifies the address range of all global
1562306a36Sopenharmony_ci    configuration registers for the SEC 6 block.
1662306a36Sopenharmony_ci    For example, In C293, we could see three SEC 6 node.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciPROPERTIES
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci   - compatible
2162306a36Sopenharmony_ci      Usage: required
2262306a36Sopenharmony_ci      Value type: <string>
2362306a36Sopenharmony_ci      Definition: Must include "fsl,sec-v6.0".
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci   - fsl,sec-era
2662306a36Sopenharmony_ci      Usage: optional
2762306a36Sopenharmony_ci      Value type: <u32>
2862306a36Sopenharmony_ci      Definition: A standard property. Define the 'ERA' of the SEC
2962306a36Sopenharmony_ci          device.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci   - #address-cells
3262306a36Sopenharmony_ci       Usage: required
3362306a36Sopenharmony_ci       Value type: <u32>
3462306a36Sopenharmony_ci       Definition: A standard property.  Defines the number of cells
3562306a36Sopenharmony_ci           for representing physical addresses in child nodes.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci   - #size-cells
3862306a36Sopenharmony_ci       Usage: required
3962306a36Sopenharmony_ci       Value type: <u32>
4062306a36Sopenharmony_ci       Definition: A standard property.  Defines the number of cells
4162306a36Sopenharmony_ci           for representing the size of physical addresses in
4262306a36Sopenharmony_ci           child nodes.
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci   - reg
4562306a36Sopenharmony_ci      Usage: required
4662306a36Sopenharmony_ci      Value type: <prop-encoded-array>
4762306a36Sopenharmony_ci      Definition: A standard property.  Specifies the physical
4862306a36Sopenharmony_ci          address and length of the SEC 6 configuration registers.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci   - ranges
5162306a36Sopenharmony_ci       Usage: required
5262306a36Sopenharmony_ci       Value type: <prop-encoded-array>
5362306a36Sopenharmony_ci       Definition: A standard property.  Specifies the physical address
5462306a36Sopenharmony_ci           range of the SEC 6.0 register space (-SNVS not included).  A
5562306a36Sopenharmony_ci           triplet that includes the child address, parent address, &
5662306a36Sopenharmony_ci           length.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci   Note: All other standard properties (see the Devicetree Specification)
5962306a36Sopenharmony_ci   are allowed but are optional.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciEXAMPLE
6262306a36Sopenharmony_ci	crypto@a0000 {
6362306a36Sopenharmony_ci		compatible = "fsl,sec-v6.0";
6462306a36Sopenharmony_ci		fsl,sec-era = <6>;
6562306a36Sopenharmony_ci		#address-cells = <1>;
6662306a36Sopenharmony_ci		#size-cells = <1>;
6762306a36Sopenharmony_ci		reg = <0xa0000 0x20000>;
6862306a36Sopenharmony_ci		ranges = <0 0xa0000 0x20000>;
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci=====================================================================
7262306a36Sopenharmony_ciJob Ring (JR) Node
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci    Child of the crypto node defines data processing interface to SEC 6
7562306a36Sopenharmony_ci    across the peripheral bus for purposes of processing
7662306a36Sopenharmony_ci    cryptographic descriptors. The specified address
7762306a36Sopenharmony_ci    range can be made visible to one (or more) cores.
7862306a36Sopenharmony_ci    The interrupt defined for this node is controlled within
7962306a36Sopenharmony_ci    the address range of this node.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci  - compatible
8262306a36Sopenharmony_ci      Usage: required
8362306a36Sopenharmony_ci      Value type: <string>
8462306a36Sopenharmony_ci      Definition: Must include "fsl,sec-v6.0-job-ring".
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci  - reg
8762306a36Sopenharmony_ci      Usage: required
8862306a36Sopenharmony_ci      Value type: <prop-encoded-array>
8962306a36Sopenharmony_ci      Definition: Specifies a two JR parameters:  an offset from
9062306a36Sopenharmony_ci           the parent physical address and the length the JR registers.
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci   - interrupts
9362306a36Sopenharmony_ci      Usage: required
9462306a36Sopenharmony_ci      Value type: <prop_encoded-array>
9562306a36Sopenharmony_ci      Definition:  Specifies the interrupts generated by this
9662306a36Sopenharmony_ci           device.  The value of the interrupts property
9762306a36Sopenharmony_ci           consists of one interrupt specifier. The format
9862306a36Sopenharmony_ci           of the specifier is defined by the binding document
9962306a36Sopenharmony_ci           describing the node's interrupt parent.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ciEXAMPLE
10262306a36Sopenharmony_ci	jr@1000 {
10362306a36Sopenharmony_ci		compatible = "fsl,sec-v6.0-job-ring";
10462306a36Sopenharmony_ci		reg = <0x1000 0x1000>;
10562306a36Sopenharmony_ci		interrupts = <49 2 0 0>;
10662306a36Sopenharmony_ci	};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci===================================================================
10962306a36Sopenharmony_ciFull Example
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciSince some chips may contain more than one SEC, the dtsi contains
11262306a36Sopenharmony_cionly the node contents, not the node itself.  A chip using the SEC
11362306a36Sopenharmony_cishould include the dtsi inside each SEC node.  Example:
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciIn qoriq-sec6.0.dtsi:
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci	compatible = "fsl,sec-v6.0";
11862306a36Sopenharmony_ci	fsl,sec-era = <6>;
11962306a36Sopenharmony_ci	#address-cells = <1>;
12062306a36Sopenharmony_ci	#size-cells = <1>;
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	jr@1000 {
12362306a36Sopenharmony_ci		compatible = "fsl,sec-v6.0-job-ring",
12462306a36Sopenharmony_ci			     "fsl,sec-v5.2-job-ring",
12562306a36Sopenharmony_ci			     "fsl,sec-v5.0-job-ring",
12662306a36Sopenharmony_ci			     "fsl,sec-v4.4-job-ring",
12762306a36Sopenharmony_ci			     "fsl,sec-v4.0-job-ring";
12862306a36Sopenharmony_ci		reg	   = <0x1000 0x1000>;
12962306a36Sopenharmony_ci	};
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	jr@2000 {
13262306a36Sopenharmony_ci		compatible = "fsl,sec-v6.0-job-ring",
13362306a36Sopenharmony_ci			     "fsl,sec-v5.2-job-ring",
13462306a36Sopenharmony_ci			     "fsl,sec-v5.0-job-ring",
13562306a36Sopenharmony_ci			     "fsl,sec-v4.4-job-ring",
13662306a36Sopenharmony_ci			     "fsl,sec-v4.0-job-ring";
13762306a36Sopenharmony_ci		reg	   = <0x2000 0x1000>;
13862306a36Sopenharmony_ci	};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ciIn the C293 device tree, we add the include of public property:
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	crypto@a0000 {
14362306a36Sopenharmony_ci		/include/ "qoriq-sec6.0.dtsi"
14462306a36Sopenharmony_ci	}
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci	crypto@a0000 {
14762306a36Sopenharmony_ci		reg = <0xa0000 0x20000>;
14862306a36Sopenharmony_ci		ranges = <0 0xa0000 0x20000>;
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci		jr@1000 {
15162306a36Sopenharmony_ci			interrupts = <49 2 0 0>;
15262306a36Sopenharmony_ci		};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci		jr@2000 {
15562306a36Sopenharmony_ci			interrupts = <50 2 0 0>;
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci	};
158