diff options
author | Victoria Milhoan <vicki.milhoan@freescale.com> | 2015-01-26 21:36:44 -0700 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2015-09-17 09:21:19 -0500 |
commit | fdb554deee128fa3300c32ed756575330601c840 (patch) | |
tree | 0098b42399aea7f35011c0ff47f22e27a0055962 | |
parent | 42bce580b6817e38a82faf87e8b47ac9d560f7bd (diff) |
MLK-10139 Add support for crypto/caam to imx6qdl dts
This patch adds the imx6qdl.dtsi DTS support for crypto/caam. CAAM
clocking support is also included.
Signed-off-by: Victoria Milhoan <vicki.milhoan@freescale.com>
-rw-r--r-- | arch/arm/boot/dts/imx6qdl.dtsi | 27 | ||||
-rw-r--r-- | arch/arm/mach-imx/clk-imx6q.c | 3 | ||||
-rw-r--r-- | include/dt-bindings/clock/imx6qdl-clock.h | 7 |
3 files changed, 31 insertions, 6 deletions
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi index 85423af40c09..29e204fca19b 100644 --- a/arch/arm/boot/dts/imx6qdl.dtsi +++ b/arch/arm/boot/dts/imx6qdl.dtsi @@ -845,10 +845,29 @@ reg = <0x02100000 0x100000>; ranges; - caam@02100000 { - reg = <0x02100000 0x40000>; - interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>, - <0 106 IRQ_TYPE_LEVEL_HIGH>; + crypto: caam@2100000 { + compatible = "fsl,sec-v4.0"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x2100000 0x40000>; + ranges = <0 0x2100000 0x40000>; + interrupt-parent = <&intc>; /* interrupts = <0 92 0x4>; */ + clocks = <&clks IMX6QDL_CAAM_MEM>, <&clks IMX6QDL_CAAM_ACLK>, <&clks IMX6QDL_CAAM_IPG> ,<&clks IMX6QDL_CLK_EIM_SLOW>; + clock-names = "caam_mem", "caam_aclk", "caam_ipg", "caam_emi_slow"; + + sec_jr0: jr0@1000 { + compatible = "fsl,sec-v4.0-job-ring"; + reg = <0x1000 0x1000>; + interrupt-parent = <&intc>; + interrupts = <0 105 0x4>; + }; + + sec_jr1: jr1@2000 { + compatible = "fsl,sec-v4.0-job-ring"; + reg = <0x2000 0x1000>; + interrupt-parent = <&intc>; + interrupts = <0 106 0x4>; + }; }; aipstz@0217c000 { /* AIPSTZ2 */ diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c index e0cb4abb3a7d..857107bff5bf 100644 --- a/arch/arm/mach-imx/clk-imx6q.c +++ b/arch/arm/mach-imx/clk-imx6q.c @@ -379,6 +379,9 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) clk[IMX6QDL_CLK_ASRC] = imx_clk_gate2_shared("asrc", "asrc_podf", base + 0x68, 6, &share_count_asrc); clk[IMX6QDL_CLK_ASRC_IPG] = imx_clk_gate2_shared("asrc_ipg", "ahb", base + 0x68, 6, &share_count_asrc); clk[IMX6QDL_CLK_ASRC_MEM] = imx_clk_gate2_shared("asrc_mem", "ahb", base + 0x68, 6, &share_count_asrc); + clk[IMX6QDL_CAAM_MEM] = imx_clk_gate2("caam_mem", "ahb", base + 0x68, 8); + clk[IMX6QDL_CAAM_ACLK] = imx_clk_gate2("caam_aclk", "ahb", base + 0x68, 10); + clk[IMX6QDL_CAAM_IPG] = imx_clk_gate2("caam_ipg", "ipg", base + 0x68, 12); clk[IMX6QDL_CLK_CAN1_IPG] = imx_clk_gate2("can1_ipg", "ipg", base + 0x68, 14); clk[IMX6QDL_CLK_CAN1_SERIAL] = imx_clk_gate2("can1_serial", "can_root", base + 0x68, 16); clk[IMX6QDL_CLK_CAN2_IPG] = imx_clk_gate2("can2_ipg", "ipg", base + 0x68, 18); diff --git a/include/dt-bindings/clock/imx6qdl-clock.h b/include/dt-bindings/clock/imx6qdl-clock.h index 2e3b39b85f05..64855469729e 100644 --- a/include/dt-bindings/clock/imx6qdl-clock.h +++ b/include/dt-bindings/clock/imx6qdl-clock.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014 Freescale Semiconductor, Inc. + * Copyright (C) 2015 Freescale Semiconductor, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -252,6 +252,9 @@ #define IMX6QDL_PLL6_BYPASS 243 #define IMX6QDL_PLL7_BYPASS 244 #define IMX6QDL_CLK_AXI_ALT_SEL 245 -#define IMX6QDL_CLK_END 246 +#define IMX6QDL_CAAM_MEM 246 +#define IMX6QDL_CAAM_ACLK 247 +#define IMX6QDL_CAAM_IPG 248 +#define IMX6QDL_CLK_END 249 #endif /* __DT_BINDINGS_CLOCK_IMX6QDL_H */ |