1d2912cb1SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 2ded11383SPaul Walmsley /* 3ded11383SPaul Walmsley * omap_hwmod_2xxx_interconnect_data.c - common interconnect data for OMAP2xxx 4ded11383SPaul Walmsley * 5ded11383SPaul Walmsley * Copyright (C) 2009-2011 Nokia Corporation 6ded11383SPaul Walmsley * Paul Walmsley 7ded11383SPaul Walmsley * 8ded11383SPaul Walmsley * XXX handle crossbar/shared link difference for L3? 9ded11383SPaul Walmsley * XXX these should be marked initdata for multi-OMAP kernels 10ded11383SPaul Walmsley */ 1187dfb311SMasahiro Yamada #include <linux/sizes.h> 12ded11383SPaul Walmsley 132a296c8fSTony Lindgren #include "omap_hwmod.h" 141e0f51a9STony Lindgren #include "l3_2xxx.h" 1570606b1cSTony Lindgren #include "l4_2xxx.h" 16ded11383SPaul Walmsley 17ded11383SPaul Walmsley #include "omap_hwmod_common_data.h" 18ded11383SPaul Walmsley 196a29755fSPaul Walmsley /* 206a29755fSPaul Walmsley * Common interconnect data 216a29755fSPaul Walmsley */ 226a29755fSPaul Walmsley 236a29755fSPaul Walmsley /* L3 -> L4_CORE interface */ 246a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l3_main__l4_core = { 256a29755fSPaul Walmsley .master = &omap2xxx_l3_main_hwmod, 266a29755fSPaul Walmsley .slave = &omap2xxx_l4_core_hwmod, 276a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 286a29755fSPaul Walmsley }; 296a29755fSPaul Walmsley 306a29755fSPaul Walmsley /* MPU -> L3 interface */ 316a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_mpu__l3_main = { 326a29755fSPaul Walmsley .master = &omap2xxx_mpu_hwmod, 336a29755fSPaul Walmsley .slave = &omap2xxx_l3_main_hwmod, 346a29755fSPaul Walmsley .user = OCP_USER_MPU, 356a29755fSPaul Walmsley }; 366a29755fSPaul Walmsley 376a29755fSPaul Walmsley /* DSS -> l3 */ 386a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_dss__l3 = { 396a29755fSPaul Walmsley .master = &omap2xxx_dss_core_hwmod, 406a29755fSPaul Walmsley .slave = &omap2xxx_l3_main_hwmod, 416a29755fSPaul Walmsley .fw = { 426a29755fSPaul Walmsley .omap2 = { 436a29755fSPaul Walmsley .l3_perm_bit = OMAP2_L3_CORE_FW_CONNID_DSS, 446a29755fSPaul Walmsley .flags = OMAP_FIREWALL_L3, 45b05ef215STony Lindgren }, 466a29755fSPaul Walmsley }, 476a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 486a29755fSPaul Walmsley }; 496a29755fSPaul Walmsley 506a29755fSPaul Walmsley /* L4_CORE -> L4_WKUP interface */ 516a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__l4_wkup = { 526a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 536a29755fSPaul Walmsley .slave = &omap2xxx_l4_wkup_hwmod, 546a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 556a29755fSPaul Walmsley }; 566a29755fSPaul Walmsley 576a29755fSPaul Walmsley /* L4 CORE -> UART1 interface */ 586a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2_l4_core__uart1 = { 596a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 606a29755fSPaul Walmsley .slave = &omap2xxx_uart1_hwmod, 616a29755fSPaul Walmsley .clk = "uart1_ick", 626a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 636a29755fSPaul Walmsley }; 646a29755fSPaul Walmsley 656a29755fSPaul Walmsley /* L4 CORE -> UART2 interface */ 666a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2_l4_core__uart2 = { 676a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 686a29755fSPaul Walmsley .slave = &omap2xxx_uart2_hwmod, 696a29755fSPaul Walmsley .clk = "uart2_ick", 706a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 716a29755fSPaul Walmsley }; 726a29755fSPaul Walmsley 736a29755fSPaul Walmsley /* L4 PER -> UART3 interface */ 746a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2_l4_core__uart3 = { 756a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 766a29755fSPaul Walmsley .slave = &omap2xxx_uart3_hwmod, 776a29755fSPaul Walmsley .clk = "uart3_ick", 786a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 796a29755fSPaul Walmsley }; 806a29755fSPaul Walmsley 816a29755fSPaul Walmsley /* l4 core -> mcspi1 interface */ 826a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi1 = { 836a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 846a29755fSPaul Walmsley .slave = &omap2xxx_mcspi1_hwmod, 856a29755fSPaul Walmsley .clk = "mcspi1_ick", 866a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 876a29755fSPaul Walmsley }; 886a29755fSPaul Walmsley 896a29755fSPaul Walmsley /* l4 core -> mcspi2 interface */ 906a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi2 = { 916a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 926a29755fSPaul Walmsley .slave = &omap2xxx_mcspi2_hwmod, 936a29755fSPaul Walmsley .clk = "mcspi2_ick", 946a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 956a29755fSPaul Walmsley }; 966a29755fSPaul Walmsley 976a29755fSPaul Walmsley /* l4_core -> timer3 */ 986a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer3 = { 996a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1006a29755fSPaul Walmsley .slave = &omap2xxx_timer3_hwmod, 1016a29755fSPaul Walmsley .clk = "gpt3_ick", 1026a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1036a29755fSPaul Walmsley }; 1046a29755fSPaul Walmsley 1056a29755fSPaul Walmsley /* l4_core -> timer4 */ 1066a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer4 = { 1076a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1086a29755fSPaul Walmsley .slave = &omap2xxx_timer4_hwmod, 1096a29755fSPaul Walmsley .clk = "gpt4_ick", 1106a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1116a29755fSPaul Walmsley }; 1126a29755fSPaul Walmsley 1136a29755fSPaul Walmsley /* l4_core -> timer5 */ 1146a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer5 = { 1156a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1166a29755fSPaul Walmsley .slave = &omap2xxx_timer5_hwmod, 1176a29755fSPaul Walmsley .clk = "gpt5_ick", 1186a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1196a29755fSPaul Walmsley }; 1206a29755fSPaul Walmsley 1216a29755fSPaul Walmsley /* l4_core -> timer6 */ 1226a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer6 = { 1236a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1246a29755fSPaul Walmsley .slave = &omap2xxx_timer6_hwmod, 1256a29755fSPaul Walmsley .clk = "gpt6_ick", 1266a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1276a29755fSPaul Walmsley }; 1286a29755fSPaul Walmsley 1296a29755fSPaul Walmsley /* l4_core -> timer7 */ 1306a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer7 = { 1316a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1326a29755fSPaul Walmsley .slave = &omap2xxx_timer7_hwmod, 1336a29755fSPaul Walmsley .clk = "gpt7_ick", 1346a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1356a29755fSPaul Walmsley }; 1366a29755fSPaul Walmsley 1376a29755fSPaul Walmsley /* l4_core -> timer8 */ 1386a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer8 = { 1396a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1406a29755fSPaul Walmsley .slave = &omap2xxx_timer8_hwmod, 1416a29755fSPaul Walmsley .clk = "gpt8_ick", 1426a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1436a29755fSPaul Walmsley }; 1446a29755fSPaul Walmsley 1456a29755fSPaul Walmsley /* l4_core -> timer9 */ 1466a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer9 = { 1476a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1486a29755fSPaul Walmsley .slave = &omap2xxx_timer9_hwmod, 1496a29755fSPaul Walmsley .clk = "gpt9_ick", 1506a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1516a29755fSPaul Walmsley }; 1526a29755fSPaul Walmsley 1536a29755fSPaul Walmsley /* l4_core -> timer10 */ 1546a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer10 = { 1556a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1566a29755fSPaul Walmsley .slave = &omap2xxx_timer10_hwmod, 1576a29755fSPaul Walmsley .clk = "gpt10_ick", 1586a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1596a29755fSPaul Walmsley }; 1606a29755fSPaul Walmsley 1616a29755fSPaul Walmsley /* l4_core -> timer11 */ 1626a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer11 = { 1636a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1646a29755fSPaul Walmsley .slave = &omap2xxx_timer11_hwmod, 1656a29755fSPaul Walmsley .clk = "gpt11_ick", 1666a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1676a29755fSPaul Walmsley }; 1686a29755fSPaul Walmsley 1696a29755fSPaul Walmsley /* l4_core -> timer12 */ 1706a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__timer12 = { 1716a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1726a29755fSPaul Walmsley .slave = &omap2xxx_timer12_hwmod, 1736a29755fSPaul Walmsley .clk = "gpt12_ick", 1746a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1756a29755fSPaul Walmsley }; 1766a29755fSPaul Walmsley 1776a29755fSPaul Walmsley /* l4_core -> dss */ 1786a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__dss = { 1796a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1806a29755fSPaul Walmsley .slave = &omap2xxx_dss_core_hwmod, 1816a29755fSPaul Walmsley .clk = "dss_ick", 1826a29755fSPaul Walmsley .fw = { 1836a29755fSPaul Walmsley .omap2 = { 1846a29755fSPaul Walmsley .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION, 1856a29755fSPaul Walmsley .flags = OMAP_FIREWALL_L4, 186b05ef215STony Lindgren }, 1876a29755fSPaul Walmsley }, 1886a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 1896a29755fSPaul Walmsley }; 1906a29755fSPaul Walmsley 1916a29755fSPaul Walmsley /* l4_core -> dss_dispc */ 1926a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_dispc = { 1936a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 1946a29755fSPaul Walmsley .slave = &omap2xxx_dss_dispc_hwmod, 1956a29755fSPaul Walmsley .clk = "dss_ick", 1966a29755fSPaul Walmsley .fw = { 1976a29755fSPaul Walmsley .omap2 = { 1986a29755fSPaul Walmsley .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_DISPC_REGION, 1996a29755fSPaul Walmsley .flags = OMAP_FIREWALL_L4, 200b05ef215STony Lindgren }, 2016a29755fSPaul Walmsley }, 2026a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 2036a29755fSPaul Walmsley }; 2046a29755fSPaul Walmsley 2056a29755fSPaul Walmsley /* l4_core -> dss_rfbi */ 2066a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_rfbi = { 2076a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 2086a29755fSPaul Walmsley .slave = &omap2xxx_dss_rfbi_hwmod, 2096a29755fSPaul Walmsley .clk = "dss_ick", 2106a29755fSPaul Walmsley .fw = { 2116a29755fSPaul Walmsley .omap2 = { 2126a29755fSPaul Walmsley .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION, 2136a29755fSPaul Walmsley .flags = OMAP_FIREWALL_L4, 214b05ef215STony Lindgren }, 2156a29755fSPaul Walmsley }, 2166a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 2176a29755fSPaul Walmsley }; 2186a29755fSPaul Walmsley 2196a29755fSPaul Walmsley /* l4_core -> dss_venc */ 2206a29755fSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_venc = { 2216a29755fSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 2226a29755fSPaul Walmsley .slave = &omap2xxx_dss_venc_hwmod, 2236a29755fSPaul Walmsley .clk = "dss_ick", 2246a29755fSPaul Walmsley .fw = { 2256a29755fSPaul Walmsley .omap2 = { 2266a29755fSPaul Walmsley .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_VENC_REGION, 2276a29755fSPaul Walmsley .flags = OMAP_FIREWALL_L4, 228b05ef215STony Lindgren }, 2296a29755fSPaul Walmsley }, 2306a29755fSPaul Walmsley .flags = OCPIF_SWSUP_IDLE, 2316a29755fSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 2326a29755fSPaul Walmsley }; 233ded11383SPaul Walmsley 234e9b0a2fbSPaul Walmsley /* l4_core -> rng */ 235e9b0a2fbSPaul Walmsley struct omap_hwmod_ocp_if omap2xxx_l4_core__rng = { 236e9b0a2fbSPaul Walmsley .master = &omap2xxx_l4_core_hwmod, 237e9b0a2fbSPaul Walmsley .slave = &omap2xxx_rng_hwmod, 238e9b0a2fbSPaul Walmsley .clk = "rng_ick", 239e9b0a2fbSPaul Walmsley .user = OCP_USER_MPU | OCP_USER_SDMA, 240e9b0a2fbSPaul Walmsley }; 241e569e994SMark A. Greer 242e569e994SMark A. Greer /* l4 core -> sham interface */ 243e569e994SMark A. Greer struct omap_hwmod_ocp_if omap2xxx_l4_core__sham = { 244e569e994SMark A. Greer .master = &omap2xxx_l4_core_hwmod, 245e569e994SMark A. Greer .slave = &omap2xxx_sham_hwmod, 246e569e994SMark A. Greer .clk = "sha_ick", 247fa7807b4SMark A. Greer .user = OCP_USER_MPU | OCP_USER_SDMA, 248e569e994SMark A. Greer }; 249660ffd6bSMark A. Greer 250660ffd6bSMark A. Greer /* l4 core -> aes interface */ 251660ffd6bSMark A. Greer struct omap_hwmod_ocp_if omap2xxx_l4_core__aes = { 252660ffd6bSMark A. Greer .master = &omap2xxx_l4_core_hwmod, 253660ffd6bSMark A. Greer .slave = &omap2xxx_aes_hwmod, 254660ffd6bSMark A. Greer .clk = "aes_ick", 255660ffd6bSMark A. Greer .user = OCP_USER_MPU | OCP_USER_SDMA, 256660ffd6bSMark A. Greer }; 257