| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * omap_hwmod_3xxx_data.c - hardware modules present on the OMAP3xxx chips |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 2009-2011 Nokia Corporation |
|---|
| 5 | 6 | * Copyright (C) 2012 Texas Instruments, Inc. |
|---|
| 6 | 7 | * Paul Walmsley |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 9 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 10 | | - * published by the Free Software Foundation. |
|---|
| 11 | 8 | * |
|---|
| 12 | 9 | * The data in this file should be completely autogeneratable from |
|---|
| 13 | 10 | * the TI hardware database or other technical documentation. |
|---|
| .. | .. |
|---|
| 19 | 16 | #include <linux/power/smartreflex.h> |
|---|
| 20 | 17 | #include <linux/platform_data/hsmmc-omap.h> |
|---|
| 21 | 18 | |
|---|
| 22 | | -#include <linux/omap-dma.h> |
|---|
| 23 | 19 | #include "l3_3xxx.h" |
|---|
| 24 | 20 | #include "l4_3xxx.h" |
|---|
| 25 | 21 | |
|---|
| .. | .. |
|---|
| 151 | 147 | .sysc = &omap3xxx_timer_sysc, |
|---|
| 152 | 148 | }; |
|---|
| 153 | 149 | |
|---|
| 154 | | -/* timer1 */ |
|---|
| 155 | | -static struct omap_hwmod omap3xxx_timer1_hwmod = { |
|---|
| 156 | | - .name = "timer1", |
|---|
| 157 | | - .main_clk = "gpt1_fck", |
|---|
| 158 | | - .prcm = { |
|---|
| 159 | | - .omap2 = { |
|---|
| 160 | | - .module_offs = WKUP_MOD, |
|---|
| 161 | | - .idlest_reg_id = 1, |
|---|
| 162 | | - .idlest_idle_bit = OMAP3430_ST_GPT1_SHIFT, |
|---|
| 163 | | - }, |
|---|
| 164 | | - }, |
|---|
| 165 | | - .class = &omap3xxx_timer_hwmod_class, |
|---|
| 166 | | - .flags = HWMOD_SET_DEFAULT_CLOCKACT, |
|---|
| 167 | | -}; |
|---|
| 168 | | - |
|---|
| 169 | | -/* timer2 */ |
|---|
| 170 | | -static struct omap_hwmod omap3xxx_timer2_hwmod = { |
|---|
| 171 | | - .name = "timer2", |
|---|
| 172 | | - .main_clk = "gpt2_fck", |
|---|
| 173 | | - .prcm = { |
|---|
| 174 | | - .omap2 = { |
|---|
| 175 | | - .module_offs = OMAP3430_PER_MOD, |
|---|
| 176 | | - .idlest_reg_id = 1, |
|---|
| 177 | | - .idlest_idle_bit = OMAP3430_ST_GPT2_SHIFT, |
|---|
| 178 | | - }, |
|---|
| 179 | | - }, |
|---|
| 180 | | - .class = &omap3xxx_timer_hwmod_class, |
|---|
| 181 | | - .flags = HWMOD_SET_DEFAULT_CLOCKACT, |
|---|
| 182 | | -}; |
|---|
| 183 | | - |
|---|
| 184 | 150 | /* timer3 */ |
|---|
| 185 | 151 | static struct omap_hwmod omap3xxx_timer3_hwmod = { |
|---|
| 186 | 152 | .name = "timer3", |
|---|
| .. | .. |
|---|
| 310 | 276 | .module_offs = CORE_MOD, |
|---|
| 311 | 277 | .idlest_reg_id = 1, |
|---|
| 312 | 278 | .idlest_idle_bit = OMAP3430_ST_GPT11_SHIFT, |
|---|
| 313 | | - }, |
|---|
| 314 | | - }, |
|---|
| 315 | | - .class = &omap3xxx_timer_hwmod_class, |
|---|
| 316 | | - .flags = HWMOD_SET_DEFAULT_CLOCKACT, |
|---|
| 317 | | -}; |
|---|
| 318 | | - |
|---|
| 319 | | -/* timer12 */ |
|---|
| 320 | | -static struct omap_hwmod omap3xxx_timer12_hwmod = { |
|---|
| 321 | | - .name = "timer12", |
|---|
| 322 | | - .main_clk = "gpt12_fck", |
|---|
| 323 | | - .prcm = { |
|---|
| 324 | | - .omap2 = { |
|---|
| 325 | | - .module_offs = WKUP_MOD, |
|---|
| 326 | | - .idlest_reg_id = 1, |
|---|
| 327 | | - .idlest_idle_bit = OMAP3430_ST_GPT12_SHIFT, |
|---|
| 328 | 279 | }, |
|---|
| 329 | 280 | }, |
|---|
| 330 | 281 | .class = &omap3xxx_timer_hwmod_class, |
|---|
| .. | .. |
|---|
| 484 | 435 | static struct omap_hwmod_class i2c_class = { |
|---|
| 485 | 436 | .name = "i2c", |
|---|
| 486 | 437 | .sysc = &i2c_sysc, |
|---|
| 487 | | - .rev = OMAP_I2C_IP_VERSION_1, |
|---|
| 488 | 438 | .reset = &omap_i2c_reset, |
|---|
| 489 | 439 | }; |
|---|
| 490 | 440 | |
|---|
| .. | .. |
|---|
| 707 | 657 | static struct omap_hwmod_class omap3xxx_gpio_hwmod_class = { |
|---|
| 708 | 658 | .name = "gpio", |
|---|
| 709 | 659 | .sysc = &omap3xxx_gpio_sysc, |
|---|
| 710 | | - .rev = 1, |
|---|
| 711 | 660 | }; |
|---|
| 712 | 661 | |
|---|
| 713 | 662 | /* gpio1 */ |
|---|
| .. | .. |
|---|
| 836 | 785 | }, |
|---|
| 837 | 786 | }, |
|---|
| 838 | 787 | .class = &omap3xxx_gpio_hwmod_class, |
|---|
| 839 | | -}; |
|---|
| 840 | | - |
|---|
| 841 | | -/* dma attributes */ |
|---|
| 842 | | -static struct omap_dma_dev_attr dma_dev_attr = { |
|---|
| 843 | | - .dev_caps = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY | |
|---|
| 844 | | - IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY, |
|---|
| 845 | | - .lch_count = 32, |
|---|
| 846 | | -}; |
|---|
| 847 | | - |
|---|
| 848 | | -static struct omap_hwmod_class_sysconfig omap3xxx_dma_sysc = { |
|---|
| 849 | | - .rev_offs = 0x0000, |
|---|
| 850 | | - .sysc_offs = 0x002c, |
|---|
| 851 | | - .syss_offs = 0x0028, |
|---|
| 852 | | - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | |
|---|
| 853 | | - SYSC_HAS_MIDLEMODE | SYSC_HAS_CLOCKACTIVITY | |
|---|
| 854 | | - SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE | |
|---|
| 855 | | - SYSS_HAS_RESET_STATUS), |
|---|
| 856 | | - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | |
|---|
| 857 | | - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), |
|---|
| 858 | | - .sysc_fields = &omap_hwmod_sysc_type1, |
|---|
| 859 | | -}; |
|---|
| 860 | | - |
|---|
| 861 | | -static struct omap_hwmod_class omap3xxx_dma_hwmod_class = { |
|---|
| 862 | | - .name = "dma", |
|---|
| 863 | | - .sysc = &omap3xxx_dma_sysc, |
|---|
| 864 | | -}; |
|---|
| 865 | | - |
|---|
| 866 | | -/* dma_system */ |
|---|
| 867 | | -static struct omap_hwmod omap3xxx_dma_system_hwmod = { |
|---|
| 868 | | - .name = "dma", |
|---|
| 869 | | - .class = &omap3xxx_dma_hwmod_class, |
|---|
| 870 | | - .main_clk = "core_l3_ick", |
|---|
| 871 | | - .prcm = { |
|---|
| 872 | | - .omap2 = { |
|---|
| 873 | | - .module_offs = CORE_MOD, |
|---|
| 874 | | - .idlest_reg_id = 1, |
|---|
| 875 | | - .idlest_idle_bit = OMAP3430_ST_SDMA_SHIFT, |
|---|
| 876 | | - }, |
|---|
| 877 | | - }, |
|---|
| 878 | | - .dev_attr = &dma_dev_attr, |
|---|
| 879 | | - .flags = HWMOD_NO_IDLEST, |
|---|
| 880 | 788 | }; |
|---|
| 881 | 789 | |
|---|
| 882 | 790 | /* |
|---|
| .. | .. |
|---|
| 1029 | 937 | static struct omap_hwmod_class omap34xx_smartreflex_hwmod_class = { |
|---|
| 1030 | 938 | .name = "smartreflex", |
|---|
| 1031 | 939 | .sysc = &omap34xx_sr_sysc, |
|---|
| 1032 | | - .rev = 1, |
|---|
| 1033 | 940 | }; |
|---|
| 1034 | 941 | |
|---|
| 1035 | 942 | static struct omap_hwmod_class_sysconfig omap36xx_sr_sysc = { |
|---|
| .. | .. |
|---|
| 1044 | 951 | static struct omap_hwmod_class omap36xx_smartreflex_hwmod_class = { |
|---|
| 1045 | 952 | .name = "smartreflex", |
|---|
| 1046 | 953 | .sysc = &omap36xx_sr_sysc, |
|---|
| 1047 | | - .rev = 2, |
|---|
| 1048 | 954 | }; |
|---|
| 1049 | 955 | |
|---|
| 1050 | 956 | /* SR1 */ |
|---|
| .. | .. |
|---|
| 1574 | 1480 | }; |
|---|
| 1575 | 1481 | |
|---|
| 1576 | 1482 | /* |
|---|
| 1577 | | - * '32K sync counter' class |
|---|
| 1578 | | - * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock |
|---|
| 1579 | | - */ |
|---|
| 1580 | | -static struct omap_hwmod_class_sysconfig omap3xxx_counter_sysc = { |
|---|
| 1581 | | - .rev_offs = 0x0000, |
|---|
| 1582 | | - .sysc_offs = 0x0004, |
|---|
| 1583 | | - .sysc_flags = SYSC_HAS_SIDLEMODE, |
|---|
| 1584 | | - .idlemodes = (SIDLE_FORCE | SIDLE_NO), |
|---|
| 1585 | | - .sysc_fields = &omap_hwmod_sysc_type1, |
|---|
| 1586 | | -}; |
|---|
| 1587 | | - |
|---|
| 1588 | | -static struct omap_hwmod_class omap3xxx_counter_hwmod_class = { |
|---|
| 1589 | | - .name = "counter", |
|---|
| 1590 | | - .sysc = &omap3xxx_counter_sysc, |
|---|
| 1591 | | -}; |
|---|
| 1592 | | - |
|---|
| 1593 | | -static struct omap_hwmod omap3xxx_counter_32k_hwmod = { |
|---|
| 1594 | | - .name = "counter_32k", |
|---|
| 1595 | | - .class = &omap3xxx_counter_hwmod_class, |
|---|
| 1596 | | - .clkdm_name = "wkup_clkdm", |
|---|
| 1597 | | - .flags = HWMOD_SWSUP_SIDLE, |
|---|
| 1598 | | - .main_clk = "wkup_32k_fck", |
|---|
| 1599 | | - .prcm = { |
|---|
| 1600 | | - .omap2 = { |
|---|
| 1601 | | - .module_offs = WKUP_MOD, |
|---|
| 1602 | | - .idlest_reg_id = 1, |
|---|
| 1603 | | - .idlest_idle_bit = OMAP3430_ST_32KSYNC_SHIFT, |
|---|
| 1604 | | - }, |
|---|
| 1605 | | - }, |
|---|
| 1606 | | -}; |
|---|
| 1607 | | - |
|---|
| 1608 | | -/* |
|---|
| 1609 | 1483 | * 'gpmc' class |
|---|
| 1610 | 1484 | * general purpose memory controller |
|---|
| 1611 | 1485 | */ |
|---|
| .. | .. |
|---|
| 1917 | 1791 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 1918 | 1792 | }; |
|---|
| 1919 | 1793 | |
|---|
| 1920 | | - |
|---|
| 1921 | | -/* l4_wkup -> timer1 */ |
|---|
| 1922 | | -static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__timer1 = { |
|---|
| 1923 | | - .master = &omap3xxx_l4_wkup_hwmod, |
|---|
| 1924 | | - .slave = &omap3xxx_timer1_hwmod, |
|---|
| 1925 | | - .clk = "gpt1_ick", |
|---|
| 1926 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 1927 | | -}; |
|---|
| 1928 | | - |
|---|
| 1929 | | - |
|---|
| 1930 | | -/* l4_per -> timer2 */ |
|---|
| 1931 | | -static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer2 = { |
|---|
| 1932 | | - .master = &omap3xxx_l4_per_hwmod, |
|---|
| 1933 | | - .slave = &omap3xxx_timer2_hwmod, |
|---|
| 1934 | | - .clk = "gpt2_ick", |
|---|
| 1935 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 1936 | | -}; |
|---|
| 1937 | | - |
|---|
| 1938 | | - |
|---|
| 1939 | 1794 | /* l4_per -> timer3 */ |
|---|
| 1940 | 1795 | static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer3 = { |
|---|
| 1941 | 1796 | .master = &omap3xxx_l4_per_hwmod, |
|---|
| .. | .. |
|---|
| 2011 | 1866 | .master = &omap3xxx_l4_core_hwmod, |
|---|
| 2012 | 1867 | .slave = &omap3xxx_timer11_hwmod, |
|---|
| 2013 | 1868 | .clk = "gpt11_ick", |
|---|
| 2014 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2015 | | -}; |
|---|
| 2016 | | - |
|---|
| 2017 | | - |
|---|
| 2018 | | -/* l4_core -> timer12 */ |
|---|
| 2019 | | -static struct omap_hwmod_ocp_if omap3xxx_l4_sec__timer12 = { |
|---|
| 2020 | | - .master = &omap3xxx_l4_sec_hwmod, |
|---|
| 2021 | | - .slave = &omap3xxx_timer12_hwmod, |
|---|
| 2022 | | - .clk = "gpt12_ick", |
|---|
| 2023 | 1869 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2024 | 1870 | }; |
|---|
| 2025 | 1871 | |
|---|
| .. | .. |
|---|
| 2240 | 2086 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2241 | 2087 | }; |
|---|
| 2242 | 2088 | |
|---|
| 2243 | | -/* dma_system -> L3 */ |
|---|
| 2244 | | -static struct omap_hwmod_ocp_if omap3xxx_dma_system__l3 = { |
|---|
| 2245 | | - .master = &omap3xxx_dma_system_hwmod, |
|---|
| 2246 | | - .slave = &omap3xxx_l3_main_hwmod, |
|---|
| 2247 | | - .clk = "core_l3_ick", |
|---|
| 2248 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2249 | | -}; |
|---|
| 2250 | | - |
|---|
| 2251 | | -/* l4_cfg -> dma_system */ |
|---|
| 2252 | | -static struct omap_hwmod_ocp_if omap3xxx_l4_core__dma_system = { |
|---|
| 2253 | | - .master = &omap3xxx_l4_core_hwmod, |
|---|
| 2254 | | - .slave = &omap3xxx_dma_system_hwmod, |
|---|
| 2255 | | - .clk = "core_l4_ick", |
|---|
| 2256 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2257 | | -}; |
|---|
| 2258 | | - |
|---|
| 2259 | | - |
|---|
| 2260 | 2089 | /* l4_core -> mcbsp1 */ |
|---|
| 2261 | 2090 | static struct omap_hwmod_ocp_if omap3xxx_l4_core__mcbsp1 = { |
|---|
| 2262 | 2091 | .master = &omap3xxx_l4_core_hwmod, |
|---|
| .. | .. |
|---|
| 2391 | 2220 | .flags = OMAP_FIREWALL_L4 | OCPIF_SWSUP_IDLE, |
|---|
| 2392 | 2221 | }; |
|---|
| 2393 | 2222 | |
|---|
| 2394 | | -/* l4_wkup -> 32ksync_counter */ |
|---|
| 2395 | | - |
|---|
| 2396 | | - |
|---|
| 2397 | | -static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__counter_32k = { |
|---|
| 2398 | | - .master = &omap3xxx_l4_wkup_hwmod, |
|---|
| 2399 | | - .slave = &omap3xxx_counter_32k_hwmod, |
|---|
| 2400 | | - .clk = "omap_32ksync_ick", |
|---|
| 2401 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2402 | | -}; |
|---|
| 2403 | | - |
|---|
| 2404 | 2223 | /* am35xx has Davinci MDIO & EMAC */ |
|---|
| 2405 | 2224 | static struct omap_hwmod_class am35xx_mdio_class = { |
|---|
| 2406 | 2225 | .name = "davinci_mdio", |
|---|
| .. | .. |
|---|
| 2523 | 2342 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2524 | 2343 | }; |
|---|
| 2525 | 2344 | |
|---|
| 2526 | | -/* l4_core -> AES */ |
|---|
| 2527 | | -static struct omap_hwmod_class_sysconfig omap3_aes_sysc = { |
|---|
| 2528 | | - .rev_offs = 0x44, |
|---|
| 2529 | | - .sysc_offs = 0x48, |
|---|
| 2530 | | - .syss_offs = 0x4c, |
|---|
| 2531 | | - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | |
|---|
| 2532 | | - SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS), |
|---|
| 2533 | | - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), |
|---|
| 2534 | | - .sysc_fields = &omap3xxx_aes_sysc_fields, |
|---|
| 2535 | | -}; |
|---|
| 2536 | | - |
|---|
| 2537 | | -static struct omap_hwmod_class omap3xxx_aes_class = { |
|---|
| 2538 | | - .name = "aes", |
|---|
| 2539 | | - .sysc = &omap3_aes_sysc, |
|---|
| 2540 | | -}; |
|---|
| 2541 | | - |
|---|
| 2542 | | - |
|---|
| 2543 | | -static struct omap_hwmod omap3xxx_aes_hwmod = { |
|---|
| 2544 | | - .name = "aes", |
|---|
| 2545 | | - .main_clk = "aes2_ick", |
|---|
| 2546 | | - .prcm = { |
|---|
| 2547 | | - .omap2 = { |
|---|
| 2548 | | - .module_offs = CORE_MOD, |
|---|
| 2549 | | - .idlest_reg_id = 1, |
|---|
| 2550 | | - .idlest_idle_bit = OMAP3430_ST_AES2_SHIFT, |
|---|
| 2551 | | - }, |
|---|
| 2552 | | - }, |
|---|
| 2553 | | - .class = &omap3xxx_aes_class, |
|---|
| 2554 | | -}; |
|---|
| 2555 | | - |
|---|
| 2556 | | - |
|---|
| 2557 | | -static struct omap_hwmod_ocp_if omap3xxx_l4_core__aes = { |
|---|
| 2558 | | - .master = &omap3xxx_l4_core_hwmod, |
|---|
| 2559 | | - .slave = &omap3xxx_aes_hwmod, |
|---|
| 2560 | | - .clk = "aes2_ick", |
|---|
| 2561 | | - .user = OCP_USER_MPU | OCP_USER_SDMA, |
|---|
| 2562 | | -}; |
|---|
| 2563 | | - |
|---|
| 2564 | 2345 | /* |
|---|
| 2565 | 2346 | * 'ssi' class |
|---|
| 2566 | 2347 | * synchronous serial interface (multichannel and full-duplex serial if) |
|---|
| .. | .. |
|---|
| 2617 | 2398 | &omap3_l4_core__i2c2, |
|---|
| 2618 | 2399 | &omap3_l4_core__i2c3, |
|---|
| 2619 | 2400 | &omap3xxx_l4_wkup__l4_sec, |
|---|
| 2620 | | - &omap3xxx_l4_wkup__timer1, |
|---|
| 2621 | | - &omap3xxx_l4_per__timer2, |
|---|
| 2622 | 2401 | &omap3xxx_l4_per__timer3, |
|---|
| 2623 | 2402 | &omap3xxx_l4_per__timer4, |
|---|
| 2624 | 2403 | &omap3xxx_l4_per__timer5, |
|---|
| .. | .. |
|---|
| 2635 | 2414 | &omap3xxx_l4_per__gpio4, |
|---|
| 2636 | 2415 | &omap3xxx_l4_per__gpio5, |
|---|
| 2637 | 2416 | &omap3xxx_l4_per__gpio6, |
|---|
| 2638 | | - &omap3xxx_dma_system__l3, |
|---|
| 2639 | | - &omap3xxx_l4_core__dma_system, |
|---|
| 2640 | 2417 | &omap3xxx_l4_core__mcbsp1, |
|---|
| 2641 | 2418 | &omap3xxx_l4_per__mcbsp2, |
|---|
| 2642 | 2419 | &omap3xxx_l4_per__mcbsp3, |
|---|
| .. | .. |
|---|
| 2648 | 2425 | &omap34xx_l4_core__mcspi2, |
|---|
| 2649 | 2426 | &omap34xx_l4_core__mcspi3, |
|---|
| 2650 | 2427 | &omap34xx_l4_core__mcspi4, |
|---|
| 2651 | | - &omap3xxx_l4_wkup__counter_32k, |
|---|
| 2652 | 2428 | &omap3xxx_l3_main__gpmc, |
|---|
| 2653 | | - NULL, |
|---|
| 2654 | | -}; |
|---|
| 2655 | | - |
|---|
| 2656 | | -/* GP-only hwmod links */ |
|---|
| 2657 | | -static struct omap_hwmod_ocp_if *omap34xx_gp_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2658 | | - &omap3xxx_l4_sec__timer12, |
|---|
| 2659 | | - NULL, |
|---|
| 2660 | | -}; |
|---|
| 2661 | | - |
|---|
| 2662 | | -static struct omap_hwmod_ocp_if *omap36xx_gp_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2663 | | - &omap3xxx_l4_sec__timer12, |
|---|
| 2664 | | - NULL, |
|---|
| 2665 | | -}; |
|---|
| 2666 | | - |
|---|
| 2667 | | -static struct omap_hwmod_ocp_if *am35xx_gp_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2668 | | - &omap3xxx_l4_sec__timer12, |
|---|
| 2669 | 2429 | NULL, |
|---|
| 2670 | 2430 | }; |
|---|
| 2671 | 2431 | |
|---|
| .. | .. |
|---|
| 2675 | 2435 | NULL, |
|---|
| 2676 | 2436 | }; |
|---|
| 2677 | 2437 | |
|---|
| 2678 | | -static struct omap_hwmod_ocp_if *omap34xx_aes_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2679 | | - &omap3xxx_l4_core__aes, |
|---|
| 2680 | | - NULL, |
|---|
| 2681 | | -}; |
|---|
| 2682 | | - |
|---|
| 2683 | 2438 | static struct omap_hwmod_ocp_if *omap36xx_sham_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2684 | 2439 | &omap3xxx_l4_core__sham, |
|---|
| 2685 | 2440 | NULL |
|---|
| 2686 | 2441 | }; |
|---|
| 2687 | 2442 | |
|---|
| 2688 | | -static struct omap_hwmod_ocp_if *omap36xx_aes_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2689 | | - &omap3xxx_l4_core__aes, |
|---|
| 2690 | | - NULL |
|---|
| 2691 | | -}; |
|---|
| 2692 | 2443 | |
|---|
| 2693 | 2444 | /* |
|---|
| 2694 | 2445 | * Apparently the SHA/MD5 and AES accelerator IP blocks are |
|---|
| .. | .. |
|---|
| 2701 | 2452 | static struct omap_hwmod_ocp_if *am35xx_sham_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2702 | 2453 | /* &omap3xxx_l4_core__sham, */ |
|---|
| 2703 | 2454 | NULL |
|---|
| 2704 | | -}; |
|---|
| 2705 | | - |
|---|
| 2706 | | -static struct omap_hwmod_ocp_if *am35xx_aes_hwmod_ocp_ifs[] __initdata = { |
|---|
| 2707 | | - /* &omap3xxx_l4_core__aes, */ |
|---|
| 2708 | | - NULL, |
|---|
| 2709 | 2455 | }; |
|---|
| 2710 | 2456 | |
|---|
| 2711 | 2457 | /* 3430ES1-only hwmod links */ |
|---|
| .. | .. |
|---|
| 2842 | 2588 | int __init omap3xxx_hwmod_init(void) |
|---|
| 2843 | 2589 | { |
|---|
| 2844 | 2590 | int r; |
|---|
| 2845 | | - struct omap_hwmod_ocp_if **h = NULL, **h_gp = NULL, **h_sham = NULL; |
|---|
| 2846 | | - struct omap_hwmod_ocp_if **h_aes = NULL; |
|---|
| 2591 | + struct omap_hwmod_ocp_if **h = NULL, **h_sham = NULL; |
|---|
| 2847 | 2592 | struct device_node *bus; |
|---|
| 2848 | 2593 | unsigned int rev; |
|---|
| 2849 | 2594 | |
|---|
| .. | .. |
|---|
| 2865 | 2610 | rev == OMAP3430_REV_ES2_1 || rev == OMAP3430_REV_ES3_0 || |
|---|
| 2866 | 2611 | rev == OMAP3430_REV_ES3_1 || rev == OMAP3430_REV_ES3_1_2) { |
|---|
| 2867 | 2612 | h = omap34xx_hwmod_ocp_ifs; |
|---|
| 2868 | | - h_gp = omap34xx_gp_hwmod_ocp_ifs; |
|---|
| 2869 | 2613 | h_sham = omap34xx_sham_hwmod_ocp_ifs; |
|---|
| 2870 | | - h_aes = omap34xx_aes_hwmod_ocp_ifs; |
|---|
| 2871 | 2614 | } else if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) { |
|---|
| 2872 | 2615 | h = am35xx_hwmod_ocp_ifs; |
|---|
| 2873 | | - h_gp = am35xx_gp_hwmod_ocp_ifs; |
|---|
| 2874 | 2616 | h_sham = am35xx_sham_hwmod_ocp_ifs; |
|---|
| 2875 | | - h_aes = am35xx_aes_hwmod_ocp_ifs; |
|---|
| 2876 | 2617 | } else if (rev == OMAP3630_REV_ES1_0 || rev == OMAP3630_REV_ES1_1 || |
|---|
| 2877 | 2618 | rev == OMAP3630_REV_ES1_2) { |
|---|
| 2878 | 2619 | h = omap36xx_hwmod_ocp_ifs; |
|---|
| 2879 | | - h_gp = omap36xx_gp_hwmod_ocp_ifs; |
|---|
| 2880 | 2620 | h_sham = omap36xx_sham_hwmod_ocp_ifs; |
|---|
| 2881 | | - h_aes = omap36xx_aes_hwmod_ocp_ifs; |
|---|
| 2882 | 2621 | } else { |
|---|
| 2883 | 2622 | WARN(1, "OMAP3 hwmod family init: unknown chip type\n"); |
|---|
| 2884 | 2623 | return -EINVAL; |
|---|
| .. | .. |
|---|
| 2887 | 2626 | r = omap_hwmod_register_links(h); |
|---|
| 2888 | 2627 | if (r < 0) |
|---|
| 2889 | 2628 | return r; |
|---|
| 2890 | | - |
|---|
| 2891 | | - /* Register GP-only hwmod links. */ |
|---|
| 2892 | | - if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) { |
|---|
| 2893 | | - r = omap_hwmod_register_links(h_gp); |
|---|
| 2894 | | - if (r < 0) |
|---|
| 2895 | | - return r; |
|---|
| 2896 | | - } |
|---|
| 2897 | 2629 | |
|---|
| 2898 | 2630 | /* |
|---|
| 2899 | 2631 | * Register crypto hwmod links only if they are not disabled in DT. |
|---|
| .. | .. |
|---|
| 2908 | 2640 | goto put_node; |
|---|
| 2909 | 2641 | } |
|---|
| 2910 | 2642 | |
|---|
| 2911 | | - if (h_aes && omap3xxx_hwmod_is_hs_ip_block_usable(bus, "aes")) { |
|---|
| 2912 | | - r = omap_hwmod_register_links(h_aes); |
|---|
| 2913 | | - if (r < 0) |
|---|
| 2914 | | - goto put_node; |
|---|
| 2915 | | - } |
|---|
| 2916 | 2643 | of_node_put(bus); |
|---|
| 2917 | 2644 | |
|---|
| 2918 | 2645 | /* |
|---|