Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: OMAP2+: Drop legacy remaining legacy platform data for am4

We can now drop the remaining legacy platform data as we are
probing devices with device tree data.

Signed-off-by: Tony Lindgren <tony@atomide.com>

+1 -382
-1
arch/arm/mach-omap2/Kconfig
··· 78 78 select HAVE_ARM_TWD 79 79 select ARM_ERRATA_754322 80 80 select ARM_ERRATA_775420 81 - select OMAP_HWMOD 82 81 select OMAP_INTERCONNECT 83 82 select ARM_CPU_SUSPEND if PM 84 83
+1 -4
arch/arm/mach-omap2/Makefile
··· 23 23 obj-$(CONFIG_ARCH_OMAP4) += $(hwmod-common) $(secure-common) 24 24 obj-$(CONFIG_SOC_AM33XX) += $(secure-common) 25 25 obj-$(CONFIG_SOC_OMAP5) += $(hwmod-common) $(secure-common) 26 - obj-$(CONFIG_SOC_AM43XX) += $(hwmod-common) $(secure-common) 26 + obj-$(CONFIG_SOC_AM43XX) += $(secure-common) 27 27 obj-$(CONFIG_SOC_DRA7XX) += $(hwmod-common) $(secure-common) 28 28 29 29 ifneq ($(CONFIG_SND_SOC_OMAP_MCBSP),) ··· 206 206 obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2430_data.o 207 207 obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_2xxx_3xxx_ipblock_data.o 208 208 obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o 209 - obj-$(CONFIG_SOC_AM43XX) += omap_hwmod_43xx_data.o 210 - obj-$(CONFIG_SOC_AM43XX) += omap_hwmod_33xx_43xx_interconnect_data.o 211 - obj-$(CONFIG_SOC_AM43XX) += omap_hwmod_33xx_43xx_ipblock_data.o 212 209 obj-$(CONFIG_SOC_TI81XX) += omap_hwmod_81xx_data.o 213 210 obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o 214 211 obj-$(CONFIG_SOC_OMAP5) += omap_hwmod_54xx_data.o
-1
arch/arm/mach-omap2/io.c
··· 588 588 omap2_prcm_base_init(); 589 589 am43xx_powerdomains_init(); 590 590 am43xx_clockdomains_init(); 591 - am43xx_hwmod_init(); 592 591 omap_hwmod_init_postsetup(); 593 592 omap_l2_cache_init(); 594 593 omap_clk_soc_init = am43xx_dt_clk_init;
-52
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
··· 1 - /* 2 - * 3 - * Copyright (C) 2013 Texas Instruments Incorporated 4 - * 5 - * Data common for AM335x and AM43x 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License as 9 - * published by the Free Software Foundation version 2. 10 - * 11 - * This program is distributed "as is" WITHOUT ANY WARRANTY of any 12 - * kind, whether express or implied; without even the implied warranty 13 - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - */ 16 - 17 - #ifndef __ARCH_ARM_MACH_OMAP2_OMAP_HWMOD_33XX_43XX_COMMON_DATA_H 18 - #define __ARCH_ARM_MACH_OMAP2_OMAP_HWMOD_33XX_43XX_COMMON_DATA_H 19 - 20 - extern struct omap_hwmod_ocp_if am33xx_l3_main__l3_s; 21 - extern struct omap_hwmod_ocp_if am33xx_l3_s__l4_ls; 22 - extern struct omap_hwmod_ocp_if am33xx_l3_s__l4_wkup; 23 - extern struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr; 24 - extern struct omap_hwmod_ocp_if am33xx_l3_s__l3_main; 25 - extern struct omap_hwmod_ocp_if am33xx_gfx__l3_main; 26 - extern struct omap_hwmod_ocp_if am33xx_l3_main__gfx; 27 - extern struct omap_hwmod_ocp_if am33xx_l4_ls__timer2; 28 - extern struct omap_hwmod_ocp_if am33xx_l3_main__ocmc; 29 - 30 - extern struct omap_hwmod am33xx_l3_main_hwmod; 31 - extern struct omap_hwmod am33xx_l3_s_hwmod; 32 - extern struct omap_hwmod am33xx_l3_instr_hwmod; 33 - extern struct omap_hwmod am33xx_l4_ls_hwmod; 34 - extern struct omap_hwmod am33xx_l4_wkup_hwmod; 35 - extern struct omap_hwmod am33xx_gfx_hwmod; 36 - extern struct omap_hwmod am33xx_prcm_hwmod; 37 - extern struct omap_hwmod am33xx_ocmcram_hwmod; 38 - extern struct omap_hwmod am33xx_smartreflex0_hwmod; 39 - extern struct omap_hwmod am33xx_smartreflex1_hwmod; 40 - 41 - extern struct omap_hwmod_class am33xx_emif_hwmod_class; 42 - extern struct omap_hwmod_class am33xx_l4_hwmod_class; 43 - extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class; 44 - extern struct omap_hwmod_class am33xx_control_hwmod_class; 45 - extern struct omap_hwmod_class am33xx_timer_hwmod_class; 46 - extern struct omap_hwmod_class am33xx_ehrpwm_hwmod_class; 47 - extern struct omap_hwmod_class am33xx_spi_hwmod_class; 48 - 49 - void omap_hwmod_am33xx_reg(void); 50 - void omap_hwmod_am43xx_reg(void); 51 - 52 - #endif
-59
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
··· 1 - /* 2 - * 3 - * Copyright (C) 2013 Texas Instruments Incorporated 4 - * 5 - * Interconnects common for AM335x and AM43x 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License as 9 - * published by the Free Software Foundation version 2. 10 - * 11 - * This program is distributed "as is" WITHOUT ANY WARRANTY of any 12 - * kind, whether express or implied; without even the implied warranty 13 - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - */ 16 - 17 - #include <linux/sizes.h> 18 - #include "omap_hwmod.h" 19 - #include "omap_hwmod_33xx_43xx_common_data.h" 20 - 21 - /* l3 main -> l3 s */ 22 - struct omap_hwmod_ocp_if am33xx_l3_main__l3_s = { 23 - .master = &am33xx_l3_main_hwmod, 24 - .slave = &am33xx_l3_s_hwmod, 25 - .clk = "l3s_gclk", 26 - .user = OCP_USER_MPU | OCP_USER_SDMA, 27 - }; 28 - 29 - /* l3 s -> l4 per/ls */ 30 - struct omap_hwmod_ocp_if am33xx_l3_s__l4_ls = { 31 - .master = &am33xx_l3_s_hwmod, 32 - .slave = &am33xx_l4_ls_hwmod, 33 - .clk = "l3s_gclk", 34 - .user = OCP_USER_MPU | OCP_USER_SDMA, 35 - }; 36 - 37 - /* l3 s -> l4 wkup */ 38 - struct omap_hwmod_ocp_if am33xx_l3_s__l4_wkup = { 39 - .master = &am33xx_l3_s_hwmod, 40 - .slave = &am33xx_l4_wkup_hwmod, 41 - .clk = "l3s_gclk", 42 - .user = OCP_USER_MPU | OCP_USER_SDMA, 43 - }; 44 - 45 - /* l3 main -> l3 instr */ 46 - struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr = { 47 - .master = &am33xx_l3_main_hwmod, 48 - .slave = &am33xx_l3_instr_hwmod, 49 - .clk = "l3s_gclk", 50 - .user = OCP_USER_MPU | OCP_USER_SDMA, 51 - }; 52 - 53 - /* l3 s -> l3 main*/ 54 - struct omap_hwmod_ocp_if am33xx_l3_s__l3_main = { 55 - .master = &am33xx_l3_s_hwmod, 56 - .slave = &am33xx_l3_main_hwmod, 57 - .clk = "l3s_gclk", 58 - .user = OCP_USER_MPU | OCP_USER_SDMA, 59 - };
-184
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
··· 1 - /* 2 - * 3 - * Copyright (C) 2013 Texas Instruments Incorporated 4 - * 5 - * Hwmod common for AM335x and AM43x 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License as 9 - * published by the Free Software Foundation version 2. 10 - * 11 - * This program is distributed "as is" WITHOUT ANY WARRANTY of any 12 - * kind, whether express or implied; without even the implied warranty 13 - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - */ 16 - 17 - #include <linux/types.h> 18 - 19 - #include "omap_hwmod.h" 20 - #include "cm33xx.h" 21 - #include "prm33xx.h" 22 - #include "omap_hwmod_33xx_43xx_common_data.h" 23 - #include "prcm43xx.h" 24 - #include "common.h" 25 - 26 - #define CLKCTRL(oh, clkctrl) ((oh).prcm.omap4.clkctrl_offs = (clkctrl)) 27 - #define RSTCTRL(oh, rstctrl) ((oh).prcm.omap4.rstctrl_offs = (rstctrl)) 28 - #define RSTST(oh, rstst) ((oh).prcm.omap4.rstst_offs = (rstst)) 29 - 30 - /* 31 - * 'l3' class 32 - * instance(s): l3_main, l3_s, l3_instr 33 - */ 34 - static struct omap_hwmod_class am33xx_l3_hwmod_class = { 35 - .name = "l3", 36 - }; 37 - 38 - struct omap_hwmod am33xx_l3_main_hwmod = { 39 - .name = "l3_main", 40 - .class = &am33xx_l3_hwmod_class, 41 - .clkdm_name = "l3_clkdm", 42 - .flags = HWMOD_INIT_NO_IDLE, 43 - .main_clk = "l3_gclk", 44 - .prcm = { 45 - .omap4 = { 46 - .modulemode = MODULEMODE_SWCTRL, 47 - }, 48 - }, 49 - }; 50 - 51 - /* l3_s */ 52 - struct omap_hwmod am33xx_l3_s_hwmod = { 53 - .name = "l3_s", 54 - .class = &am33xx_l3_hwmod_class, 55 - .clkdm_name = "l3s_clkdm", 56 - }; 57 - 58 - /* l3_instr */ 59 - struct omap_hwmod am33xx_l3_instr_hwmod = { 60 - .name = "l3_instr", 61 - .class = &am33xx_l3_hwmod_class, 62 - .clkdm_name = "l3_clkdm", 63 - .flags = HWMOD_INIT_NO_IDLE, 64 - .main_clk = "l3_gclk", 65 - .prcm = { 66 - .omap4 = { 67 - .modulemode = MODULEMODE_SWCTRL, 68 - }, 69 - }, 70 - }; 71 - 72 - /* 73 - * 'l4' class 74 - * instance(s): l4_ls, l4_hs, l4_wkup, l4_fw 75 - */ 76 - struct omap_hwmod_class am33xx_l4_hwmod_class = { 77 - .name = "l4", 78 - }; 79 - 80 - /* l4_ls */ 81 - struct omap_hwmod am33xx_l4_ls_hwmod = { 82 - .name = "l4_ls", 83 - .class = &am33xx_l4_hwmod_class, 84 - .clkdm_name = "l4ls_clkdm", 85 - .flags = HWMOD_INIT_NO_IDLE, 86 - .main_clk = "l4ls_gclk", 87 - .prcm = { 88 - .omap4 = { 89 - .modulemode = MODULEMODE_SWCTRL, 90 - }, 91 - }, 92 - }; 93 - 94 - /* l4_wkup */ 95 - struct omap_hwmod am33xx_l4_wkup_hwmod = { 96 - .name = "l4_wkup", 97 - .class = &am33xx_l4_hwmod_class, 98 - .clkdm_name = "l4_wkup_clkdm", 99 - .flags = HWMOD_INIT_NO_IDLE, 100 - .prcm = { 101 - .omap4 = { 102 - .modulemode = MODULEMODE_SWCTRL, 103 - }, 104 - }, 105 - }; 106 - 107 - /* 108 - * 'prcm' class 109 - * power and reset manager (whole prcm infrastructure) 110 - */ 111 - static struct omap_hwmod_class am33xx_prcm_hwmod_class = { 112 - .name = "prcm", 113 - }; 114 - 115 - /* prcm */ 116 - struct omap_hwmod am33xx_prcm_hwmod = { 117 - .name = "prcm", 118 - .class = &am33xx_prcm_hwmod_class, 119 - .clkdm_name = "l4_wkup_clkdm", 120 - }; 121 - 122 - /* 'smartreflex' class */ 123 - static struct omap_hwmod_class am33xx_smartreflex_hwmod_class = { 124 - .name = "smartreflex", 125 - }; 126 - 127 - /* smartreflex0 */ 128 - struct omap_hwmod am33xx_smartreflex0_hwmod = { 129 - .name = "smartreflex0", 130 - .class = &am33xx_smartreflex_hwmod_class, 131 - .clkdm_name = "l4_wkup_clkdm", 132 - .main_clk = "smartreflex0_fck", 133 - .prcm = { 134 - .omap4 = { 135 - .modulemode = MODULEMODE_SWCTRL, 136 - }, 137 - }, 138 - }; 139 - 140 - /* smartreflex1 */ 141 - struct omap_hwmod am33xx_smartreflex1_hwmod = { 142 - .name = "smartreflex1", 143 - .class = &am33xx_smartreflex_hwmod_class, 144 - .clkdm_name = "l4_wkup_clkdm", 145 - .main_clk = "smartreflex1_fck", 146 - .prcm = { 147 - .omap4 = { 148 - .modulemode = MODULEMODE_SWCTRL, 149 - }, 150 - }, 151 - }; 152 - 153 - static void omap_hwmod_am33xx_clkctrl(void) 154 - { 155 - CLKCTRL(am33xx_smartreflex0_hwmod, 156 - AM33XX_CM_WKUP_SMARTREFLEX0_CLKCTRL_OFFSET); 157 - CLKCTRL(am33xx_smartreflex1_hwmod, 158 - AM33XX_CM_WKUP_SMARTREFLEX1_CLKCTRL_OFFSET); 159 - CLKCTRL(am33xx_l4_ls_hwmod, AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET); 160 - CLKCTRL(am33xx_l4_wkup_hwmod, AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET); 161 - CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET); 162 - CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); 163 - } 164 - 165 - void omap_hwmod_am33xx_reg(void) 166 - { 167 - omap_hwmod_am33xx_clkctrl(); 168 - } 169 - 170 - static void omap_hwmod_am43xx_clkctrl(void) 171 - { 172 - CLKCTRL(am33xx_smartreflex0_hwmod, 173 - AM43XX_CM_WKUP_SMARTREFLEX0_CLKCTRL_OFFSET); 174 - CLKCTRL(am33xx_smartreflex1_hwmod, 175 - AM43XX_CM_WKUP_SMARTREFLEX1_CLKCTRL_OFFSET); 176 - CLKCTRL(am33xx_l4_ls_hwmod, AM43XX_CM_PER_L4LS_CLKCTRL_OFFSET); 177 - CLKCTRL(am33xx_l4_wkup_hwmod, AM43XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET); 178 - CLKCTRL(am33xx_l3_main_hwmod, AM43XX_CM_PER_L3_CLKCTRL_OFFSET); 179 - } 180 - 181 - void omap_hwmod_am43xx_reg(void) 182 - { 183 - omap_hwmod_am43xx_clkctrl(); 184 - }
-81
arch/arm/mach-omap2/omap_hwmod_43xx_data.c
··· 1 - /* 2 - * Copyright (C) 2013 Texas Instruments Incorporated 3 - * 4 - * Hwmod present only in AM43x and those that differ other than register 5 - * offsets as compared to AM335x. 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License as 9 - * published by the Free Software Foundation version 2. 10 - * 11 - * This program is distributed "as is" WITHOUT ANY WARRANTY of any 12 - * kind, whether express or implied; without even the implied warranty 13 - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - */ 16 - 17 - #include "omap_hwmod.h" 18 - #include "omap_hwmod_33xx_43xx_common_data.h" 19 - #include "prcm43xx.h" 20 - #include "omap_hwmod_common_data.h" 21 - 22 - /* IP blocks */ 23 - static struct omap_hwmod am43xx_l4_hs_hwmod = { 24 - .name = "l4_hs", 25 - .class = &am33xx_l4_hwmod_class, 26 - .clkdm_name = "l3_clkdm", 27 - .flags = HWMOD_INIT_NO_IDLE, 28 - .main_clk = "l4hs_gclk", 29 - .prcm = { 30 - .omap4 = { 31 - .clkctrl_offs = AM43XX_CM_PER_L4HS_CLKCTRL_OFFSET, 32 - .modulemode = MODULEMODE_SWCTRL, 33 - }, 34 - }, 35 - }; 36 - 37 - /* Interfaces */ 38 - 39 - static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { 40 - .master = &am33xx_l3_main_hwmod, 41 - .slave = &am43xx_l4_hs_hwmod, 42 - .clk = "l3s_gclk", 43 - .user = OCP_USER_MPU | OCP_USER_SDMA, 44 - }; 45 - 46 - static struct omap_hwmod_ocp_if am43xx_l4_wkup__smartreflex0 = { 47 - .master = &am33xx_l4_wkup_hwmod, 48 - .slave = &am33xx_smartreflex0_hwmod, 49 - .clk = "sys_clkin_ck", 50 - .user = OCP_USER_MPU, 51 - }; 52 - 53 - static struct omap_hwmod_ocp_if am43xx_l4_wkup__smartreflex1 = { 54 - .master = &am33xx_l4_wkup_hwmod, 55 - .slave = &am33xx_smartreflex1_hwmod, 56 - .clk = "sys_clkin_ck", 57 - .user = OCP_USER_MPU, 58 - }; 59 - 60 - static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { 61 - &am33xx_l3_s__l4_ls, 62 - &am33xx_l3_s__l4_wkup, 63 - &am43xx_l3_main__l4_hs, 64 - &am33xx_l3_main__l3_s, 65 - &am33xx_l3_main__l3_instr, 66 - &am33xx_l3_s__l3_main, 67 - &am43xx_l4_wkup__smartreflex0, 68 - &am43xx_l4_wkup__smartreflex1, 69 - NULL, 70 - }; 71 - 72 - int __init am43xx_hwmod_init(void) 73 - { 74 - int ret; 75 - 76 - omap_hwmod_am43xx_reg(); 77 - omap_hwmod_init(); 78 - ret = omap_hwmod_register_links(am43xx_hwmod_ocp_ifs); 79 - 80 - return ret; 81 - }