diff options
author | Sage Weil <sage@inktank.com> | 2013-08-15 14:11:45 -0400 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-15 14:11:45 -0400 |
commit | ee3e542fec6e69bc9fb668698889a37d93950ddf (patch) | |
tree | e74ee766a4764769ef1d3d45d266b4dea64101d3 /arch/arm/mach-omap2 | |
parent | fe2a801b50c0bb8039d627e5ae1fec249d10ff39 (diff) | |
parent | f1d6e17f540af37bb1891480143669ba7636c4cf (diff) |
Merge remote-tracking branch 'linus/master' into testing
Diffstat (limited to 'arch/arm/mach-omap2')
93 files changed, 9922 insertions, 6875 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index f49cd51e162a..3eed0006d189 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -1,61 +1,10 @@ | |||
1 | config ARCH_OMAP | 1 | config ARCH_OMAP |
2 | bool | 2 | bool |
3 | 3 | ||
4 | config ARCH_OMAP2PLUS | ||
5 | bool "TI OMAP2/3/4/5 SoCs with device tree support" if (ARCH_MULTI_V6 || ARCH_MULTI_V7) | ||
6 | select ARCH_HAS_CPUFREQ | ||
7 | select ARCH_HAS_HOLES_MEMORYMODEL | ||
8 | select ARCH_OMAP | ||
9 | select ARCH_REQUIRE_GPIOLIB | ||
10 | select CLKDEV_LOOKUP | ||
11 | select CLKSRC_MMIO | ||
12 | select GENERIC_CLOCKEVENTS | ||
13 | select GENERIC_IRQ_CHIP | ||
14 | select HAVE_CLK | ||
15 | select OMAP_DM_TIMER | ||
16 | select PINCTRL | ||
17 | select PROC_DEVICETREE if PROC_FS | ||
18 | select SOC_BUS | ||
19 | select SPARSE_IRQ | ||
20 | select USE_OF | ||
21 | help | ||
22 | Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 | ||
23 | |||
24 | |||
25 | if ARCH_OMAP2PLUS | ||
26 | |||
27 | menu "TI OMAP2/3/4 Specific Features" | ||
28 | |||
29 | config ARCH_OMAP2PLUS_TYPICAL | ||
30 | bool "Typical OMAP configuration" | ||
31 | default y | ||
32 | select AEABI | ||
33 | select HIGHMEM | ||
34 | select I2C | ||
35 | select I2C_OMAP | ||
36 | select MENELAUS if ARCH_OMAP2 | ||
37 | select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 | ||
38 | select PM_RUNTIME | ||
39 | select REGULATOR | ||
40 | select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 | ||
41 | select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 | ||
42 | select VFP | ||
43 | help | ||
44 | Compile a kernel suitable for booting most boards | ||
45 | |||
46 | config SOC_HAS_OMAP2_SDRC | ||
47 | bool "OMAP2 SDRAM Controller support" | ||
48 | |||
49 | config SOC_HAS_REALTIME_COUNTER | ||
50 | bool "Real time free running counter" | ||
51 | depends on SOC_OMAP5 | ||
52 | default y | ||
53 | |||
54 | config ARCH_OMAP2 | 4 | config ARCH_OMAP2 |
55 | bool "TI OMAP2" | 5 | bool "TI OMAP2" |
56 | depends on ARCH_OMAP2PLUS | ||
57 | depends on ARCH_MULTI_V6 | 6 | depends on ARCH_MULTI_V6 |
58 | default y | 7 | select ARCH_OMAP2PLUS |
59 | select CPU_V6 | 8 | select CPU_V6 |
60 | select MULTI_IRQ_HANDLER | 9 | select MULTI_IRQ_HANDLER |
61 | select SOC_HAS_OMAP2_SDRC | 10 | select SOC_HAS_OMAP2_SDRC |
@@ -63,9 +12,8 @@ config ARCH_OMAP2 | |||
63 | 12 | ||
64 | config ARCH_OMAP3 | 13 | config ARCH_OMAP3 |
65 | bool "TI OMAP3" | 14 | bool "TI OMAP3" |
66 | depends on ARCH_OMAP2PLUS | ||
67 | depends on ARCH_MULTI_V7 | 15 | depends on ARCH_MULTI_V7 |
68 | default y | 16 | select ARCH_OMAP2PLUS |
69 | select ARCH_HAS_OPP | 17 | select ARCH_HAS_OPP |
70 | select ARM_CPU_SUSPEND if PM | 18 | select ARM_CPU_SUSPEND if PM |
71 | select CPU_V7 | 19 | select CPU_V7 |
@@ -79,9 +27,8 @@ config ARCH_OMAP3 | |||
79 | 27 | ||
80 | config ARCH_OMAP4 | 28 | config ARCH_OMAP4 |
81 | bool "TI OMAP4" | 29 | bool "TI OMAP4" |
82 | default y | ||
83 | depends on ARCH_OMAP2PLUS | ||
84 | depends on ARCH_MULTI_V7 | 30 | depends on ARCH_MULTI_V7 |
31 | select ARCH_OMAP2PLUS | ||
85 | select ARCH_HAS_OPP | 32 | select ARCH_HAS_OPP |
86 | select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP | 33 | select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP |
87 | select ARM_CPU_SUSPEND if PM | 34 | select ARM_CPU_SUSPEND if PM |
@@ -106,12 +53,87 @@ config ARCH_OMAP4 | |||
106 | config SOC_OMAP5 | 53 | config SOC_OMAP5 |
107 | bool "TI OMAP5" | 54 | bool "TI OMAP5" |
108 | depends on ARCH_MULTI_V7 | 55 | depends on ARCH_MULTI_V7 |
56 | select ARCH_OMAP2PLUS | ||
109 | select ARM_CPU_SUSPEND if PM | 57 | select ARM_CPU_SUSPEND if PM |
110 | select ARM_GIC | 58 | select ARM_GIC |
111 | select CPU_V7 | 59 | select CPU_V7 |
60 | select HAVE_ARM_SCU if SMP | ||
61 | select HAVE_ARM_TWD if LOCAL_TIMERS | ||
112 | select HAVE_SMP | 62 | select HAVE_SMP |
113 | select COMMON_CLK | 63 | select COMMON_CLK |
114 | select HAVE_ARM_ARCH_TIMER | 64 | select HAVE_ARM_ARCH_TIMER |
65 | select ARM_ERRATA_798181 if SMP | ||
66 | |||
67 | config SOC_AM33XX | ||
68 | bool "AM33XX support" | ||
69 | depends on ARCH_MULTI_V7 | ||
70 | select ARCH_OMAP2PLUS | ||
71 | select ARM_CPU_SUSPEND if PM | ||
72 | select CPU_V7 | ||
73 | select MULTI_IRQ_HANDLER | ||
74 | select COMMON_CLK | ||
75 | |||
76 | config SOC_AM43XX | ||
77 | bool "TI AM43x" | ||
78 | depends on ARCH_MULTI_V7 | ||
79 | select CPU_V7 | ||
80 | select ARCH_OMAP2PLUS | ||
81 | select MULTI_IRQ_HANDLER | ||
82 | select ARM_GIC | ||
83 | select COMMON_CLK | ||
84 | select MACH_OMAP_GENERIC | ||
85 | |||
86 | config ARCH_OMAP2PLUS | ||
87 | bool | ||
88 | select ARCH_HAS_BANDGAP | ||
89 | select ARCH_HAS_CPUFREQ | ||
90 | select ARCH_HAS_HOLES_MEMORYMODEL | ||
91 | select ARCH_OMAP | ||
92 | select ARCH_REQUIRE_GPIOLIB | ||
93 | select CLKDEV_LOOKUP | ||
94 | select CLKSRC_MMIO | ||
95 | select GENERIC_CLOCKEVENTS | ||
96 | select GENERIC_IRQ_CHIP | ||
97 | select HAVE_CLK | ||
98 | select OMAP_DM_TIMER | ||
99 | select PINCTRL | ||
100 | select PROC_DEVICETREE if PROC_FS | ||
101 | select SOC_BUS | ||
102 | select SPARSE_IRQ | ||
103 | select TI_PRIV_EDMA | ||
104 | select USE_OF | ||
105 | help | ||
106 | Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 | ||
107 | |||
108 | |||
109 | if ARCH_OMAP2PLUS | ||
110 | |||
111 | menu "TI OMAP2/3/4 Specific Features" | ||
112 | |||
113 | config ARCH_OMAP2PLUS_TYPICAL | ||
114 | bool "Typical OMAP configuration" | ||
115 | default y | ||
116 | select AEABI | ||
117 | select HIGHMEM | ||
118 | select I2C | ||
119 | select I2C_OMAP | ||
120 | select MENELAUS if ARCH_OMAP2 | ||
121 | select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 | ||
122 | select PM_RUNTIME | ||
123 | select REGULATOR | ||
124 | select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 | ||
125 | select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 | ||
126 | select VFP | ||
127 | help | ||
128 | Compile a kernel suitable for booting most boards | ||
129 | |||
130 | config SOC_HAS_OMAP2_SDRC | ||
131 | bool "OMAP2 SDRAM Controller support" | ||
132 | |||
133 | config SOC_HAS_REALTIME_COUNTER | ||
134 | bool "Real time free running counter" | ||
135 | depends on SOC_OMAP5 | ||
136 | default y | ||
115 | 137 | ||
116 | comment "OMAP Core Type" | 138 | comment "OMAP Core Type" |
117 | depends on ARCH_OMAP2 | 139 | depends on ARCH_OMAP2 |
@@ -140,15 +162,6 @@ config SOC_TI81XX | |||
140 | depends on ARCH_OMAP3 | 162 | depends on ARCH_OMAP3 |
141 | default y | 163 | default y |
142 | 164 | ||
143 | config SOC_AM33XX | ||
144 | bool "AM33XX support" | ||
145 | depends on ARCH_MULTI_V7 | ||
146 | default y | ||
147 | select ARM_CPU_SUSPEND if PM | ||
148 | select CPU_V7 | ||
149 | select MULTI_IRQ_HANDLER | ||
150 | select COMMON_CLK | ||
151 | |||
152 | config OMAP_PACKAGE_ZAF | 165 | config OMAP_PACKAGE_ZAF |
153 | bool | 166 | bool |
154 | 167 | ||
@@ -167,12 +180,6 @@ config OMAP_PACKAGE_CUS | |||
167 | config OMAP_PACKAGE_CBP | 180 | config OMAP_PACKAGE_CBP |
168 | bool | 181 | bool |
169 | 182 | ||
170 | config OMAP_PACKAGE_CBL | ||
171 | bool | ||
172 | |||
173 | config OMAP_PACKAGE_CBS | ||
174 | bool | ||
175 | |||
176 | comment "OMAP Board Type" | 183 | comment "OMAP Board Type" |
177 | depends on ARCH_OMAP2PLUS | 184 | depends on ARCH_OMAP2PLUS |
178 | 185 | ||
@@ -378,22 +385,6 @@ config MACH_TI8148EVM | |||
378 | depends on SOC_TI81XX | 385 | depends on SOC_TI81XX |
379 | default y | 386 | default y |
380 | 387 | ||
381 | config MACH_OMAP_4430SDP | ||
382 | bool "OMAP 4430 SDP board" | ||
383 | default y | ||
384 | depends on ARCH_OMAP4 | ||
385 | select OMAP_PACKAGE_CBL | ||
386 | select OMAP_PACKAGE_CBS | ||
387 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
388 | |||
389 | config MACH_OMAP4_PANDA | ||
390 | bool "OMAP4 Panda Board" | ||
391 | default y | ||
392 | depends on ARCH_OMAP4 | ||
393 | select OMAP_PACKAGE_CBL | ||
394 | select OMAP_PACKAGE_CBS | ||
395 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
396 | |||
397 | config OMAP3_EMU | 388 | config OMAP3_EMU |
398 | bool "OMAP3 debugging peripherals" | 389 | bool "OMAP3 debugging peripherals" |
399 | depends on ARCH_OMAP3 | 390 | depends on ARCH_OMAP3 |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 55a9d6777683..d4f671547c37 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -22,6 +22,7 @@ obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) | |||
22 | obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) | 22 | obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) |
23 | obj-$(CONFIG_SOC_AM33XX) += irq.o $(hwmod-common) | 23 | obj-$(CONFIG_SOC_AM33XX) += irq.o $(hwmod-common) |
24 | obj-$(CONFIG_SOC_OMAP5) += prm44xx.o $(hwmod-common) $(secure-common) | 24 | obj-$(CONFIG_SOC_OMAP5) += prm44xx.o $(hwmod-common) $(secure-common) |
25 | obj-$(CONFIG_SOC_AM43XX) += $(hwmod-common) $(secure-common) | ||
25 | 26 | ||
26 | ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) | 27 | ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) |
27 | obj-y += mcbsp.o | 28 | obj-y += mcbsp.o |
@@ -34,10 +35,10 @@ obj-$(CONFIG_SOC_HAS_OMAP2_SDRC) += sdrc.o | |||
34 | 35 | ||
35 | smp-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o | 36 | smp-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o |
36 | smp-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o | 37 | smp-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o |
37 | omap-4-5-common = omap4-common.o omap-wakeupgen.o \ | 38 | omap-4-5-common = omap4-common.o omap-wakeupgen.o |
38 | sleep44xx.o | 39 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) $(smp-y) sleep44xx.o |
39 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) $(smp-y) | 40 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) $(smp-y) sleep44xx.o |
40 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) $(smp-y) | 41 | obj-$(CONFIG_SOC_AM43XX) += $(omap-4-5-common) |
41 | 42 | ||
42 | plus_sec := $(call as-instr,.arch_extension sec,+sec) | 43 | plus_sec := $(call as-instr,.arch_extension sec,+sec) |
43 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) | 44 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) |
@@ -58,12 +59,13 @@ obj-$(CONFIG_SOC_OMAP2420) += omap2-restart.o | |||
58 | obj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o | 59 | obj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o |
59 | obj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o | 60 | obj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o |
60 | obj-$(CONFIG_ARCH_OMAP3) += omap3-restart.o | 61 | obj-$(CONFIG_ARCH_OMAP3) += omap3-restart.o |
62 | obj-$(CONFIG_ARCH_OMAP4) += omap4-restart.o | ||
63 | obj-$(CONFIG_SOC_OMAP5) += omap4-restart.o | ||
61 | 64 | ||
62 | # Pin multiplexing | 65 | # Pin multiplexing |
63 | obj-$(CONFIG_SOC_OMAP2420) += mux2420.o | 66 | obj-$(CONFIG_SOC_OMAP2420) += mux2420.o |
64 | obj-$(CONFIG_SOC_OMAP2430) += mux2430.o | 67 | obj-$(CONFIG_SOC_OMAP2430) += mux2430.o |
65 | obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o | 68 | obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o |
66 | obj-$(CONFIG_ARCH_OMAP4) += mux44xx.o | ||
67 | 69 | ||
68 | # SMS/SDRC | 70 | # SMS/SDRC |
69 | obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o | 71 | obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o |
@@ -93,10 +95,6 @@ obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o | |||
93 | AFLAGS_sleep24xx.o :=-Wa,-march=armv6 | 95 | AFLAGS_sleep24xx.o :=-Wa,-march=armv6 |
94 | AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) | 96 | AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) |
95 | 97 | ||
96 | ifeq ($(CONFIG_PM_VERBOSE),y) | ||
97 | CFLAGS_pm_bus.o += -DDEBUG | ||
98 | endif | ||
99 | |||
100 | endif | 98 | endif |
101 | 99 | ||
102 | ifeq ($(CONFIG_CPU_IDLE),y) | 100 | ifeq ($(CONFIG_CPU_IDLE),y) |
@@ -110,6 +108,7 @@ obj-$(CONFIG_ARCH_OMAP2) += prm2xxx_3xxx.o prm2xxx.o cm2xxx.o | |||
110 | obj-$(CONFIG_ARCH_OMAP3) += prm2xxx_3xxx.o prm3xxx.o cm3xxx.o | 108 | obj-$(CONFIG_ARCH_OMAP3) += prm2xxx_3xxx.o prm3xxx.o cm3xxx.o |
111 | obj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o | 109 | obj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o |
112 | obj-$(CONFIG_SOC_AM33XX) += prm33xx.o cm33xx.o | 110 | obj-$(CONFIG_SOC_AM33XX) += prm33xx.o cm33xx.o |
111 | obj-$(CONFIG_SOC_AM43XX) += prm33xx.o cm33xx.o | ||
113 | omap-prcm-4-5-common = cminst44xx.o cm44xx.o prm44xx.o \ | 112 | omap-prcm-4-5-common = cminst44xx.o cm44xx.o prm44xx.o \ |
114 | prcm_mpu44xx.o prminst44xx.o \ | 113 | prcm_mpu44xx.o prminst44xx.o \ |
115 | vc44xx_data.o vp44xx_data.o | 114 | vc44xx_data.o vp44xx_data.o |
@@ -125,8 +124,9 @@ obj-$(CONFIG_ARCH_OMAP3) += voltagedomains3xxx_data.o | |||
125 | obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) | 124 | obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) |
126 | obj-$(CONFIG_ARCH_OMAP4) += voltagedomains44xx_data.o | 125 | obj-$(CONFIG_ARCH_OMAP4) += voltagedomains44xx_data.o |
127 | obj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common) | 126 | obj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common) |
128 | obj-$(CONFIG_SOC_AM33XX) += voltagedomains33xx_data.o | 127 | obj-$(CONFIG_SOC_AM43XX) += $(voltagedomain-common) |
129 | obj-$(CONFIG_SOC_OMAP5) += $(voltagedomain-common) | 128 | obj-$(CONFIG_SOC_OMAP5) += $(voltagedomain-common) |
129 | obj-$(CONFIG_SOC_OMAP5) += voltagedomains54xx_data.o | ||
130 | 130 | ||
131 | # OMAP powerdomain framework | 131 | # OMAP powerdomain framework |
132 | powerdomain-common += powerdomain.o powerdomain-common.o | 132 | powerdomain-common += powerdomain.o powerdomain-common.o |
@@ -140,7 +140,9 @@ obj-$(CONFIG_ARCH_OMAP4) += $(powerdomain-common) | |||
140 | obj-$(CONFIG_ARCH_OMAP4) += powerdomains44xx_data.o | 140 | obj-$(CONFIG_ARCH_OMAP4) += powerdomains44xx_data.o |
141 | obj-$(CONFIG_SOC_AM33XX) += $(powerdomain-common) | 141 | obj-$(CONFIG_SOC_AM33XX) += $(powerdomain-common) |
142 | obj-$(CONFIG_SOC_AM33XX) += powerdomains33xx_data.o | 142 | obj-$(CONFIG_SOC_AM33XX) += powerdomains33xx_data.o |
143 | obj-$(CONFIG_SOC_AM43XX) += $(powerdomain-common) | ||
143 | obj-$(CONFIG_SOC_OMAP5) += $(powerdomain-common) | 144 | obj-$(CONFIG_SOC_OMAP5) += $(powerdomain-common) |
145 | obj-$(CONFIG_SOC_OMAP5) += powerdomains54xx_data.o | ||
144 | 146 | ||
145 | # PRCM clockdomain control | 147 | # PRCM clockdomain control |
146 | clockdomain-common += clockdomain.o | 148 | clockdomain-common += clockdomain.o |
@@ -155,7 +157,9 @@ obj-$(CONFIG_ARCH_OMAP4) += $(clockdomain-common) | |||
155 | obj-$(CONFIG_ARCH_OMAP4) += clockdomains44xx_data.o | 157 | obj-$(CONFIG_ARCH_OMAP4) += clockdomains44xx_data.o |
156 | obj-$(CONFIG_SOC_AM33XX) += $(clockdomain-common) | 158 | obj-$(CONFIG_SOC_AM33XX) += $(clockdomain-common) |
157 | obj-$(CONFIG_SOC_AM33XX) += clockdomains33xx_data.o | 159 | obj-$(CONFIG_SOC_AM33XX) += clockdomains33xx_data.o |
160 | obj-$(CONFIG_SOC_AM43XX) += $(clockdomain-common) | ||
158 | obj-$(CONFIG_SOC_OMAP5) += $(clockdomain-common) | 161 | obj-$(CONFIG_SOC_OMAP5) += $(clockdomain-common) |
162 | obj-$(CONFIG_SOC_OMAP5) += clockdomains54xx_data.o | ||
159 | 163 | ||
160 | # Clock framework | 164 | # Clock framework |
161 | obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o | 165 | obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o |
@@ -198,14 +202,12 @@ obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_2xxx_3xxx_interconnect_data.o | |||
198 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o | 202 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o |
199 | obj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_data.o | 203 | obj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_data.o |
200 | obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o | 204 | obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o |
205 | obj-$(CONFIG_SOC_OMAP5) += omap_hwmod_54xx_data.o | ||
201 | 206 | ||
202 | # EMU peripherals | 207 | # EMU peripherals |
203 | obj-$(CONFIG_OMAP3_EMU) += emu.o | 208 | obj-$(CONFIG_OMAP3_EMU) += emu.o |
204 | obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o | 209 | obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o |
205 | 210 | ||
206 | obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o | ||
207 | mailbox_mach-objs := mailbox.o | ||
208 | |||
209 | iommu-$(CONFIG_OMAP_IOMMU) := omap-iommu.o | 211 | iommu-$(CONFIG_OMAP_IOMMU) := omap-iommu.o |
210 | obj-y += $(iommu-m) $(iommu-y) | 212 | obj-y += $(iommu-m) $(iommu-y) |
211 | 213 | ||
@@ -251,8 +253,6 @@ obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o | |||
251 | obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o | 253 | obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o |
252 | obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o | 254 | obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o |
253 | obj-$(CONFIG_MACH_TOUCHBOOK) += board-omap3touchbook.o | 255 | obj-$(CONFIG_MACH_TOUCHBOOK) += board-omap3touchbook.o |
254 | obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o | ||
255 | obj-$(CONFIG_MACH_OMAP4_PANDA) += board-omap4panda.o | ||
256 | 256 | ||
257 | obj-$(CONFIG_MACH_OMAP3517EVM) += board-am3517evm.o | 257 | obj-$(CONFIG_MACH_OMAP3517EVM) += board-am3517evm.o |
258 | 258 | ||
diff --git a/arch/arm/mach-omap2/am33xx-restart.c b/arch/arm/mach-omap2/am33xx-restart.c index 88e4fa8af031..1eae96212315 100644 --- a/arch/arm/mach-omap2/am33xx-restart.c +++ b/arch/arm/mach-omap2/am33xx-restart.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * published by the Free Software Foundation. | 6 | * published by the Free Software Foundation. |
7 | */ | 7 | */ |
8 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
9 | #include <linux/reboot.h> | ||
9 | 10 | ||
10 | #include "common.h" | 11 | #include "common.h" |
11 | #include "prm-regbits-33xx.h" | 12 | #include "prm-regbits-33xx.h" |
@@ -19,7 +20,7 @@ | |||
19 | * Resets the SoC. For @cmd, see the 'reboot' syscall in | 20 | * Resets the SoC. For @cmd, see the 'reboot' syscall in |
20 | * kernel/sys.c. No return value. | 21 | * kernel/sys.c. No return value. |
21 | */ | 22 | */ |
22 | void am33xx_restart(char mode, const char *cmd) | 23 | void am33xx_restart(enum reboot_mode mode, const char *cmd) |
23 | { | 24 | { |
24 | /* TODO: Handle mode and cmd if necessary */ | 25 | /* TODO: Handle mode and cmd if necessary */ |
25 | 26 | ||
diff --git a/arch/arm/mach-omap2/am33xx.h b/arch/arm/mach-omap2/am33xx.h index 43296c1af9ee..5eef093e6738 100644 --- a/arch/arm/mach-omap2/am33xx.h +++ b/arch/arm/mach-omap2/am33xx.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #define AM33XX_SCM_BASE 0x44E10000 | 21 | #define AM33XX_SCM_BASE 0x44E10000 |
22 | #define AM33XX_CTRL_BASE AM33XX_SCM_BASE | 22 | #define AM33XX_CTRL_BASE AM33XX_SCM_BASE |
23 | #define AM33XX_PRCM_BASE 0x44E00000 | 23 | #define AM33XX_PRCM_BASE 0x44E00000 |
24 | #define AM43XX_PRCM_BASE 0x44DF0000 | ||
24 | #define AM33XX_TAP_BASE (AM33XX_CTRL_BASE + 0x3FC) | 25 | #define AM33XX_TAP_BASE (AM33XX_CTRL_BASE + 0x3FC) |
25 | 26 | ||
26 | #endif /* __ASM_ARCH_AM33XX_H */ | 27 | #endif /* __ASM_ARCH_AM33XX_H */ |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c deleted file mode 100644 index 56a9a4f855c7..000000000000 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ /dev/null | |||
@@ -1,765 +0,0 @@ | |||
1 | /* | ||
2 | * Board support file for OMAP4430 SDP. | ||
3 | * | ||
4 | * Copyright (C) 2009 Texas Instruments | ||
5 | * | ||
6 | * Author: Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
7 | * | ||
8 | * Based on mach-omap2/board-3430sdp.c | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #include <linux/kernel.h> | ||
16 | #include <linux/init.h> | ||
17 | #include <linux/platform_device.h> | ||
18 | #include <linux/io.h> | ||
19 | #include <linux/gpio.h> | ||
20 | #include <linux/usb/otg.h> | ||
21 | #include <linux/spi/spi.h> | ||
22 | #include <linux/i2c/twl.h> | ||
23 | #include <linux/mfd/twl6040.h> | ||
24 | #include <linux/gpio_keys.h> | ||
25 | #include <linux/regulator/machine.h> | ||
26 | #include <linux/regulator/fixed.h> | ||
27 | #include <linux/pwm.h> | ||
28 | #include <linux/leds.h> | ||
29 | #include <linux/leds_pwm.h> | ||
30 | #include <linux/pwm_backlight.h> | ||
31 | #include <linux/irqchip/arm-gic.h> | ||
32 | #include <linux/platform_data/omap4-keypad.h> | ||
33 | #include <linux/usb/musb.h> | ||
34 | #include <linux/usb/phy.h> | ||
35 | |||
36 | #include <asm/mach-types.h> | ||
37 | #include <asm/mach/arch.h> | ||
38 | #include <asm/mach/map.h> | ||
39 | |||
40 | #include "common.h" | ||
41 | #include "omap4-keypad.h" | ||
42 | #include <linux/wl12xx.h> | ||
43 | #include <linux/platform_data/omap-abe-twl6040.h> | ||
44 | |||
45 | #include "soc.h" | ||
46 | #include "mux.h" | ||
47 | #include "mmc.h" | ||
48 | #include "hsmmc.h" | ||
49 | #include "control.h" | ||
50 | #include "common-board-devices.h" | ||
51 | #include "dss-common.h" | ||
52 | |||
53 | #define ETH_KS8851_IRQ 34 | ||
54 | #define ETH_KS8851_POWER_ON 48 | ||
55 | #define ETH_KS8851_QUART 138 | ||
56 | #define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184 | ||
57 | #define OMAP4_SFH7741_ENABLE_GPIO 188 | ||
58 | |||
59 | #define GPIO_WIFI_PMENA 54 | ||
60 | #define GPIO_WIFI_IRQ 53 | ||
61 | |||
62 | static const int sdp4430_keymap[] = { | ||
63 | KEY(0, 0, KEY_E), | ||
64 | KEY(0, 1, KEY_R), | ||
65 | KEY(0, 2, KEY_T), | ||
66 | KEY(0, 3, KEY_HOME), | ||
67 | KEY(0, 4, KEY_F5), | ||
68 | KEY(0, 5, KEY_UNKNOWN), | ||
69 | KEY(0, 6, KEY_I), | ||
70 | KEY(0, 7, KEY_LEFTSHIFT), | ||
71 | |||
72 | KEY(1, 0, KEY_D), | ||
73 | KEY(1, 1, KEY_F), | ||
74 | KEY(1, 2, KEY_G), | ||
75 | KEY(1, 3, KEY_SEND), | ||
76 | KEY(1, 4, KEY_F6), | ||
77 | KEY(1, 5, KEY_UNKNOWN), | ||
78 | KEY(1, 6, KEY_K), | ||
79 | KEY(1, 7, KEY_ENTER), | ||
80 | |||
81 | KEY(2, 0, KEY_X), | ||
82 | KEY(2, 1, KEY_C), | ||
83 | KEY(2, 2, KEY_V), | ||
84 | KEY(2, 3, KEY_END), | ||
85 | KEY(2, 4, KEY_F7), | ||
86 | KEY(2, 5, KEY_UNKNOWN), | ||
87 | KEY(2, 6, KEY_DOT), | ||
88 | KEY(2, 7, KEY_CAPSLOCK), | ||
89 | |||
90 | KEY(3, 0, KEY_Z), | ||
91 | KEY(3, 1, KEY_KPPLUS), | ||
92 | KEY(3, 2, KEY_B), | ||
93 | KEY(3, 3, KEY_F1), | ||
94 | KEY(3, 4, KEY_F8), | ||
95 | KEY(3, 5, KEY_UNKNOWN), | ||
96 | KEY(3, 6, KEY_O), | ||
97 | KEY(3, 7, KEY_SPACE), | ||
98 | |||
99 | KEY(4, 0, KEY_W), | ||
100 | KEY(4, 1, KEY_Y), | ||
101 | KEY(4, 2, KEY_U), | ||
102 | KEY(4, 3, KEY_F2), | ||
103 | KEY(4, 4, KEY_VOLUMEUP), | ||
104 | KEY(4, 5, KEY_UNKNOWN), | ||
105 | KEY(4, 6, KEY_L), | ||
106 | KEY(4, 7, KEY_LEFT), | ||
107 | |||
108 | KEY(5, 0, KEY_S), | ||
109 | KEY(5, 1, KEY_H), | ||
110 | KEY(5, 2, KEY_J), | ||
111 | KEY(5, 3, KEY_F3), | ||
112 | KEY(5, 4, KEY_F9), | ||
113 | KEY(5, 5, KEY_VOLUMEDOWN), | ||
114 | KEY(5, 6, KEY_M), | ||
115 | KEY(5, 7, KEY_RIGHT), | ||
116 | |||
117 | KEY(6, 0, KEY_Q), | ||
118 | KEY(6, 1, KEY_A), | ||
119 | KEY(6, 2, KEY_N), | ||
120 | KEY(6, 3, KEY_BACK), | ||
121 | KEY(6, 4, KEY_BACKSPACE), | ||
122 | KEY(6, 5, KEY_UNKNOWN), | ||
123 | KEY(6, 6, KEY_P), | ||
124 | KEY(6, 7, KEY_UP), | ||
125 | |||
126 | KEY(7, 0, KEY_PROG1), | ||
127 | KEY(7, 1, KEY_PROG2), | ||
128 | KEY(7, 2, KEY_PROG3), | ||
129 | KEY(7, 3, KEY_PROG4), | ||
130 | KEY(7, 4, KEY_F4), | ||
131 | KEY(7, 5, KEY_UNKNOWN), | ||
132 | KEY(7, 6, KEY_OK), | ||
133 | KEY(7, 7, KEY_DOWN), | ||
134 | }; | ||
135 | static struct omap_device_pad keypad_pads[] = { | ||
136 | { .name = "kpd_col1.kpd_col1", | ||
137 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
138 | }, | ||
139 | { .name = "kpd_col1.kpd_col1", | ||
140 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
141 | }, | ||
142 | { .name = "kpd_col2.kpd_col2", | ||
143 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
144 | }, | ||
145 | { .name = "kpd_col3.kpd_col3", | ||
146 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
147 | }, | ||
148 | { .name = "kpd_col4.kpd_col4", | ||
149 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
150 | }, | ||
151 | { .name = "kpd_col5.kpd_col5", | ||
152 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
153 | }, | ||
154 | { .name = "gpmc_a23.kpd_col7", | ||
155 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
156 | }, | ||
157 | { .name = "gpmc_a22.kpd_col6", | ||
158 | .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, | ||
159 | }, | ||
160 | { .name = "kpd_row0.kpd_row0", | ||
161 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
162 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
163 | }, | ||
164 | { .name = "kpd_row1.kpd_row1", | ||
165 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
166 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
167 | }, | ||
168 | { .name = "kpd_row2.kpd_row2", | ||
169 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
170 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
171 | }, | ||
172 | { .name = "kpd_row3.kpd_row3", | ||
173 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
174 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
175 | }, | ||
176 | { .name = "kpd_row4.kpd_row4", | ||
177 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
178 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
179 | }, | ||
180 | { .name = "kpd_row5.kpd_row5", | ||
181 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
182 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
183 | }, | ||
184 | { .name = "gpmc_a18.kpd_row6", | ||
185 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
186 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
187 | }, | ||
188 | { .name = "gpmc_a19.kpd_row7", | ||
189 | .enable = OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | | ||
190 | OMAP_MUX_MODE1 | OMAP_INPUT_EN, | ||
191 | }, | ||
192 | }; | ||
193 | |||
194 | static struct matrix_keymap_data sdp4430_keymap_data = { | ||
195 | .keymap = sdp4430_keymap, | ||
196 | .keymap_size = ARRAY_SIZE(sdp4430_keymap), | ||
197 | }; | ||
198 | |||
199 | static struct omap4_keypad_platform_data sdp4430_keypad_data = { | ||
200 | .keymap_data = &sdp4430_keymap_data, | ||
201 | .rows = 8, | ||
202 | .cols = 8, | ||
203 | }; | ||
204 | |||
205 | static struct omap_board_data keypad_data = { | ||
206 | .id = 1, | ||
207 | .pads = keypad_pads, | ||
208 | .pads_cnt = ARRAY_SIZE(keypad_pads), | ||
209 | }; | ||
210 | |||
211 | static struct gpio_led sdp4430_gpio_leds[] = { | ||
212 | { | ||
213 | .name = "omap4:green:debug0", | ||
214 | .gpio = 61, | ||
215 | }, | ||
216 | { | ||
217 | .name = "omap4:green:debug1", | ||
218 | .gpio = 30, | ||
219 | }, | ||
220 | { | ||
221 | .name = "omap4:green:debug2", | ||
222 | .gpio = 7, | ||
223 | }, | ||
224 | { | ||
225 | .name = "omap4:green:debug3", | ||
226 | .gpio = 8, | ||
227 | }, | ||
228 | { | ||
229 | .name = "omap4:green:debug4", | ||
230 | .gpio = 50, | ||
231 | }, | ||
232 | { | ||
233 | .name = "omap4:blue:user", | ||
234 | .gpio = 169, | ||
235 | }, | ||
236 | { | ||
237 | .name = "omap4:red:user", | ||
238 | .gpio = 170, | ||
239 | }, | ||
240 | { | ||
241 | .name = "omap4:green:user", | ||
242 | .gpio = 139, | ||
243 | }, | ||
244 | |||
245 | }; | ||
246 | |||
247 | static struct gpio_keys_button sdp4430_gpio_keys[] = { | ||
248 | { | ||
249 | .desc = "Proximity Sensor", | ||
250 | .type = EV_SW, | ||
251 | .code = SW_FRONT_PROXIMITY, | ||
252 | .gpio = OMAP4_SFH7741_SENSOR_OUTPUT_GPIO, | ||
253 | .active_low = 0, | ||
254 | } | ||
255 | }; | ||
256 | |||
257 | static struct gpio_led_platform_data sdp4430_led_data = { | ||
258 | .leds = sdp4430_gpio_leds, | ||
259 | .num_leds = ARRAY_SIZE(sdp4430_gpio_leds), | ||
260 | }; | ||
261 | |||
262 | static struct pwm_lookup sdp4430_pwm_lookup[] = { | ||
263 | PWM_LOOKUP("twl-pwm", 0, "leds_pwm", "omap4::keypad"), | ||
264 | PWM_LOOKUP("twl-pwm", 1, "pwm-backlight", NULL), | ||
265 | PWM_LOOKUP("twl-pwmled", 0, "leds_pwm", "omap4:green:chrg"), | ||
266 | }; | ||
267 | |||
268 | static struct led_pwm sdp4430_pwm_leds[] = { | ||
269 | { | ||
270 | .name = "omap4::keypad", | ||
271 | .max_brightness = 127, | ||
272 | .pwm_period_ns = 7812500, | ||
273 | }, | ||
274 | { | ||
275 | .name = "omap4:green:chrg", | ||
276 | .max_brightness = 255, | ||
277 | .pwm_period_ns = 7812500, | ||
278 | }, | ||
279 | }; | ||
280 | |||
281 | static struct led_pwm_platform_data sdp4430_pwm_data = { | ||
282 | .num_leds = ARRAY_SIZE(sdp4430_pwm_leds), | ||
283 | .leds = sdp4430_pwm_leds, | ||
284 | }; | ||
285 | |||
286 | static struct platform_device sdp4430_leds_pwm = { | ||
287 | .name = "leds_pwm", | ||
288 | .id = -1, | ||
289 | .dev = { | ||
290 | .platform_data = &sdp4430_pwm_data, | ||
291 | }, | ||
292 | }; | ||
293 | |||
294 | /* Dummy regulator for pwm-backlight driver */ | ||
295 | static struct regulator_consumer_supply backlight_supply = | ||
296 | REGULATOR_SUPPLY("enable", "pwm-backlight"); | ||
297 | |||
298 | static struct platform_pwm_backlight_data sdp4430_backlight_data = { | ||
299 | .max_brightness = 127, | ||
300 | .dft_brightness = 127, | ||
301 | .pwm_period_ns = 7812500, | ||
302 | }; | ||
303 | |||
304 | static struct platform_device sdp4430_backlight_pwm = { | ||
305 | .name = "pwm-backlight", | ||
306 | .id = -1, | ||
307 | .dev = { | ||
308 | .platform_data = &sdp4430_backlight_data, | ||
309 | }, | ||
310 | }; | ||
311 | |||
312 | static int omap_prox_activate(struct device *dev) | ||
313 | { | ||
314 | gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 1); | ||
315 | return 0; | ||
316 | } | ||
317 | |||
318 | static void omap_prox_deactivate(struct device *dev) | ||
319 | { | ||
320 | gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 0); | ||
321 | } | ||
322 | |||
323 | static struct gpio_keys_platform_data sdp4430_gpio_keys_data = { | ||
324 | .buttons = sdp4430_gpio_keys, | ||
325 | .nbuttons = ARRAY_SIZE(sdp4430_gpio_keys), | ||
326 | .enable = omap_prox_activate, | ||
327 | .disable = omap_prox_deactivate, | ||
328 | }; | ||
329 | |||
330 | static struct platform_device sdp4430_gpio_keys_device = { | ||
331 | .name = "gpio-keys", | ||
332 | .id = -1, | ||
333 | .dev = { | ||
334 | .platform_data = &sdp4430_gpio_keys_data, | ||
335 | }, | ||
336 | }; | ||
337 | |||
338 | static struct platform_device sdp4430_leds_gpio = { | ||
339 | .name = "leds-gpio", | ||
340 | .id = -1, | ||
341 | .dev = { | ||
342 | .platform_data = &sdp4430_led_data, | ||
343 | }, | ||
344 | }; | ||
345 | static struct spi_board_info sdp4430_spi_board_info[] __initdata = { | ||
346 | { | ||
347 | .modalias = "ks8851", | ||
348 | .bus_num = 1, | ||
349 | .chip_select = 0, | ||
350 | .max_speed_hz = 24000000, | ||
351 | /* | ||
352 | * .irq is set to gpio_to_irq(ETH_KS8851_IRQ) | ||
353 | * in omap_4430sdp_init | ||
354 | */ | ||
355 | }, | ||
356 | }; | ||
357 | |||
358 | static struct gpio sdp4430_eth_gpios[] __initdata = { | ||
359 | { ETH_KS8851_POWER_ON, GPIOF_OUT_INIT_HIGH, "eth_power" }, | ||
360 | { ETH_KS8851_QUART, GPIOF_OUT_INIT_HIGH, "quart" }, | ||
361 | { ETH_KS8851_IRQ, GPIOF_IN, "eth_irq" }, | ||
362 | }; | ||
363 | |||
364 | static int __init omap_ethernet_init(void) | ||
365 | { | ||
366 | int status; | ||
367 | |||
368 | /* Request of GPIO lines */ | ||
369 | status = gpio_request_array(sdp4430_eth_gpios, | ||
370 | ARRAY_SIZE(sdp4430_eth_gpios)); | ||
371 | if (status) | ||
372 | pr_err("Cannot request ETH GPIOs\n"); | ||
373 | |||
374 | return status; | ||
375 | } | ||
376 | |||
377 | static struct regulator_consumer_supply sdp4430_vbat_supply[] = { | ||
378 | REGULATOR_SUPPLY("vddvibl", "twl6040-vibra"), | ||
379 | REGULATOR_SUPPLY("vddvibr", "twl6040-vibra"), | ||
380 | }; | ||
381 | |||
382 | static struct regulator_init_data sdp4430_vbat_data = { | ||
383 | .constraints = { | ||
384 | .always_on = 1, | ||
385 | }, | ||
386 | .num_consumer_supplies = ARRAY_SIZE(sdp4430_vbat_supply), | ||
387 | .consumer_supplies = sdp4430_vbat_supply, | ||
388 | }; | ||
389 | |||
390 | static struct fixed_voltage_config sdp4430_vbat_pdata = { | ||
391 | .supply_name = "VBAT", | ||
392 | .microvolts = 3750000, | ||
393 | .init_data = &sdp4430_vbat_data, | ||
394 | .gpio = -EINVAL, | ||
395 | }; | ||
396 | |||
397 | static struct platform_device sdp4430_vbat = { | ||
398 | .name = "reg-fixed-voltage", | ||
399 | .id = -1, | ||
400 | .dev = { | ||
401 | .platform_data = &sdp4430_vbat_pdata, | ||
402 | }, | ||
403 | }; | ||
404 | |||
405 | static struct platform_device sdp4430_dmic_codec = { | ||
406 | .name = "dmic-codec", | ||
407 | .id = -1, | ||
408 | }; | ||
409 | |||
410 | static struct platform_device sdp4430_hdmi_audio_codec = { | ||
411 | .name = "hdmi-audio-codec", | ||
412 | .id = -1, | ||
413 | }; | ||
414 | |||
415 | static struct omap_abe_twl6040_data sdp4430_abe_audio_data = { | ||
416 | .card_name = "SDP4430", | ||
417 | .has_hs = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
418 | .has_hf = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
419 | .has_ep = 1, | ||
420 | .has_aux = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
421 | .has_vibra = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
422 | |||
423 | .has_dmic = 1, | ||
424 | .has_hsmic = 1, | ||
425 | .has_mainmic = 1, | ||
426 | .has_submic = 1, | ||
427 | .has_afm = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
428 | |||
429 | .jack_detection = 1, | ||
430 | /* MCLK input is 38.4MHz */ | ||
431 | .mclk_freq = 38400000, | ||
432 | }; | ||
433 | |||
434 | static struct platform_device sdp4430_abe_audio = { | ||
435 | .name = "omap-abe-twl6040", | ||
436 | .id = -1, | ||
437 | .dev = { | ||
438 | .platform_data = &sdp4430_abe_audio_data, | ||
439 | }, | ||
440 | }; | ||
441 | |||
442 | static struct platform_device *sdp4430_devices[] __initdata = { | ||
443 | &sdp4430_gpio_keys_device, | ||
444 | &sdp4430_leds_gpio, | ||
445 | &sdp4430_leds_pwm, | ||
446 | &sdp4430_backlight_pwm, | ||
447 | &sdp4430_vbat, | ||
448 | &sdp4430_dmic_codec, | ||
449 | &sdp4430_abe_audio, | ||
450 | &sdp4430_hdmi_audio_codec, | ||
451 | }; | ||
452 | |||
453 | static struct omap_musb_board_data musb_board_data = { | ||
454 | .interface_type = MUSB_INTERFACE_UTMI, | ||
455 | .mode = MUSB_OTG, | ||
456 | .power = 100, | ||
457 | }; | ||
458 | |||
459 | static struct omap2_hsmmc_info mmc[] = { | ||
460 | { | ||
461 | .mmc = 2, | ||
462 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, | ||
463 | .gpio_cd = -EINVAL, | ||
464 | .gpio_wp = -EINVAL, | ||
465 | .nonremovable = true, | ||
466 | .ocr_mask = MMC_VDD_29_30, | ||
467 | .no_off_init = true, | ||
468 | }, | ||
469 | { | ||
470 | .mmc = 1, | ||
471 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, | ||
472 | .gpio_cd = -EINVAL, | ||
473 | .gpio_wp = -EINVAL, | ||
474 | }, | ||
475 | { | ||
476 | .mmc = 5, | ||
477 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD, | ||
478 | .pm_caps = MMC_PM_KEEP_POWER, | ||
479 | .gpio_cd = -EINVAL, | ||
480 | .gpio_wp = -EINVAL, | ||
481 | .ocr_mask = MMC_VDD_165_195, | ||
482 | .nonremovable = true, | ||
483 | }, | ||
484 | {} /* Terminator */ | ||
485 | }; | ||
486 | |||
487 | static struct regulator_consumer_supply sdp4430_vaux_supply[] = { | ||
488 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"), | ||
489 | }; | ||
490 | |||
491 | static struct regulator_consumer_supply omap4_sdp4430_vmmc5_supply = { | ||
492 | .supply = "vmmc", | ||
493 | .dev_name = "omap_hsmmc.4", | ||
494 | }; | ||
495 | |||
496 | static struct regulator_init_data sdp4430_vmmc5 = { | ||
497 | .constraints = { | ||
498 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
499 | }, | ||
500 | .num_consumer_supplies = 1, | ||
501 | .consumer_supplies = &omap4_sdp4430_vmmc5_supply, | ||
502 | }; | ||
503 | |||
504 | static struct fixed_voltage_config sdp4430_vwlan = { | ||
505 | .supply_name = "vwl1271", | ||
506 | .microvolts = 1800000, /* 1.8V */ | ||
507 | .gpio = GPIO_WIFI_PMENA, | ||
508 | .startup_delay = 70000, /* 70msec */ | ||
509 | .enable_high = 1, | ||
510 | .enabled_at_boot = 0, | ||
511 | .init_data = &sdp4430_vmmc5, | ||
512 | }; | ||
513 | |||
514 | static struct platform_device omap_vwlan_device = { | ||
515 | .name = "reg-fixed-voltage", | ||
516 | .id = 1, | ||
517 | .dev = { | ||
518 | .platform_data = &sdp4430_vwlan, | ||
519 | }, | ||
520 | }; | ||
521 | |||
522 | static struct regulator_init_data sdp4430_vaux1 = { | ||
523 | .constraints = { | ||
524 | .min_uV = 1000000, | ||
525 | .max_uV = 3000000, | ||
526 | .apply_uV = true, | ||
527 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
528 | | REGULATOR_MODE_STANDBY, | ||
529 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
530 | | REGULATOR_CHANGE_MODE | ||
531 | | REGULATOR_CHANGE_STATUS, | ||
532 | }, | ||
533 | .num_consumer_supplies = ARRAY_SIZE(sdp4430_vaux_supply), | ||
534 | .consumer_supplies = sdp4430_vaux_supply, | ||
535 | }; | ||
536 | |||
537 | static struct regulator_init_data sdp4430_vusim = { | ||
538 | .constraints = { | ||
539 | .min_uV = 1200000, | ||
540 | .max_uV = 2900000, | ||
541 | .apply_uV = true, | ||
542 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
543 | | REGULATOR_MODE_STANDBY, | ||
544 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
545 | | REGULATOR_CHANGE_MODE | ||
546 | | REGULATOR_CHANGE_STATUS, | ||
547 | }, | ||
548 | }; | ||
549 | |||
550 | static struct twl6040_codec_data twl6040_codec = { | ||
551 | /* single-step ramp for headset and handsfree */ | ||
552 | .hs_left_step = 0x0f, | ||
553 | .hs_right_step = 0x0f, | ||
554 | .hf_left_step = 0x1d, | ||
555 | .hf_right_step = 0x1d, | ||
556 | }; | ||
557 | |||
558 | static struct twl6040_vibra_data twl6040_vibra = { | ||
559 | .vibldrv_res = 8, | ||
560 | .vibrdrv_res = 3, | ||
561 | .viblmotor_res = 10, | ||
562 | .vibrmotor_res = 10, | ||
563 | .vddvibl_uV = 0, /* fixed volt supply - VBAT */ | ||
564 | .vddvibr_uV = 0, /* fixed volt supply - VBAT */ | ||
565 | }; | ||
566 | |||
567 | static struct twl6040_platform_data twl6040_data = { | ||
568 | .codec = &twl6040_codec, | ||
569 | .vibra = &twl6040_vibra, | ||
570 | .audpwron_gpio = 127, | ||
571 | }; | ||
572 | |||
573 | static struct i2c_board_info __initdata sdp4430_i2c_1_boardinfo[] = { | ||
574 | { | ||
575 | I2C_BOARD_INFO("twl6040", 0x4b), | ||
576 | .irq = 119 + OMAP44XX_IRQ_GIC_START, | ||
577 | .platform_data = &twl6040_data, | ||
578 | }, | ||
579 | }; | ||
580 | |||
581 | static struct twl4030_platform_data sdp4430_twldata = { | ||
582 | /* Regulators */ | ||
583 | .vusim = &sdp4430_vusim, | ||
584 | .vaux1 = &sdp4430_vaux1, | ||
585 | }; | ||
586 | |||
587 | static struct i2c_board_info __initdata sdp4430_i2c_3_boardinfo[] = { | ||
588 | { | ||
589 | I2C_BOARD_INFO("tmp105", 0x48), | ||
590 | }, | ||
591 | { | ||
592 | I2C_BOARD_INFO("bh1780", 0x29), | ||
593 | }, | ||
594 | }; | ||
595 | static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = { | ||
596 | { | ||
597 | I2C_BOARD_INFO("hmc5843", 0x1e), | ||
598 | }, | ||
599 | }; | ||
600 | static int __init omap4_i2c_init(void) | ||
601 | { | ||
602 | omap4_pmic_get_config(&sdp4430_twldata, TWL_COMMON_PDATA_USB, | ||
603 | TWL_COMMON_REGULATOR_VDAC | | ||
604 | TWL_COMMON_REGULATOR_VAUX2 | | ||
605 | TWL_COMMON_REGULATOR_VAUX3 | | ||
606 | TWL_COMMON_REGULATOR_VMMC | | ||
607 | TWL_COMMON_REGULATOR_VPP | | ||
608 | TWL_COMMON_REGULATOR_VANA | | ||
609 | TWL_COMMON_REGULATOR_VCXIO | | ||
610 | TWL_COMMON_REGULATOR_VUSB | | ||
611 | TWL_COMMON_REGULATOR_CLK32KG | | ||
612 | TWL_COMMON_REGULATOR_V1V8 | | ||
613 | TWL_COMMON_REGULATOR_V2V1); | ||
614 | omap4_pmic_init("twl6030", &sdp4430_twldata, sdp4430_i2c_1_boardinfo, | ||
615 | ARRAY_SIZE(sdp4430_i2c_1_boardinfo)); | ||
616 | omap_register_i2c_bus(2, 400, NULL, 0); | ||
617 | omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, | ||
618 | ARRAY_SIZE(sdp4430_i2c_3_boardinfo)); | ||
619 | omap_register_i2c_bus(4, 400, sdp4430_i2c_4_boardinfo, | ||
620 | ARRAY_SIZE(sdp4430_i2c_4_boardinfo)); | ||
621 | return 0; | ||
622 | } | ||
623 | |||
624 | static void __init omap_sfh7741prox_init(void) | ||
625 | { | ||
626 | int error; | ||
627 | |||
628 | error = gpio_request_one(OMAP4_SFH7741_ENABLE_GPIO, | ||
629 | GPIOF_OUT_INIT_LOW, "sfh7741"); | ||
630 | if (error < 0) | ||
631 | pr_err("%s:failed to request GPIO %d, error %d\n", | ||
632 | __func__, OMAP4_SFH7741_ENABLE_GPIO, error); | ||
633 | } | ||
634 | |||
635 | #ifdef CONFIG_OMAP_MUX | ||
636 | static struct omap_board_mux board_mux[] __initdata = { | ||
637 | OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
638 | /* NIRQ2 for twl6040 */ | ||
639 | OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 | | ||
640 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), | ||
641 | /* GPIO_127 for twl6040 */ | ||
642 | OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), | ||
643 | /* McPDM */ | ||
644 | OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
645 | OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
646 | OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
647 | OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
648 | OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
649 | /* DMIC */ | ||
650 | OMAP4_MUX(ABE_DMIC_CLK1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
651 | OMAP4_MUX(ABE_DMIC_DIN1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
652 | OMAP4_MUX(ABE_DMIC_DIN2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
653 | OMAP4_MUX(ABE_DMIC_DIN3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
654 | /* McBSP1 */ | ||
655 | OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
656 | OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
657 | OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | | ||
658 | OMAP_PULL_ENA), | ||
659 | OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
660 | /* McBSP2 */ | ||
661 | OMAP4_MUX(ABE_MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
662 | OMAP4_MUX(ABE_MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
663 | OMAP4_MUX(ABE_MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | | ||
664 | OMAP_PULL_ENA), | ||
665 | OMAP4_MUX(ABE_MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
666 | |||
667 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
668 | }; | ||
669 | |||
670 | #else | ||
671 | #define board_mux NULL | ||
672 | #endif | ||
673 | |||
674 | static void __init omap4_sdp4430_wifi_mux_init(void) | ||
675 | { | ||
676 | omap_mux_init_gpio(GPIO_WIFI_IRQ, OMAP_PIN_INPUT | | ||
677 | OMAP_PIN_OFF_WAKEUPENABLE); | ||
678 | omap_mux_init_gpio(GPIO_WIFI_PMENA, OMAP_PIN_OUTPUT); | ||
679 | |||
680 | omap_mux_init_signal("sdmmc5_cmd.sdmmc5_cmd", | ||
681 | OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP); | ||
682 | omap_mux_init_signal("sdmmc5_clk.sdmmc5_clk", | ||
683 | OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP); | ||
684 | omap_mux_init_signal("sdmmc5_dat0.sdmmc5_dat0", | ||
685 | OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP); | ||
686 | omap_mux_init_signal("sdmmc5_dat1.sdmmc5_dat1", | ||
687 | OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP); | ||
688 | omap_mux_init_signal("sdmmc5_dat2.sdmmc5_dat2", | ||
689 | OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP); | ||
690 | omap_mux_init_signal("sdmmc5_dat3.sdmmc5_dat3", | ||
691 | OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP); | ||
692 | |||
693 | } | ||
694 | |||
695 | static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = { | ||
696 | .board_ref_clock = WL12XX_REFCLOCK_26, | ||
697 | .board_tcxo_clock = WL12XX_TCXOCLOCK_26, | ||
698 | }; | ||
699 | |||
700 | static void __init omap4_sdp4430_wifi_init(void) | ||
701 | { | ||
702 | int ret; | ||
703 | |||
704 | omap4_sdp4430_wifi_mux_init(); | ||
705 | omap4_sdp4430_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ); | ||
706 | ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data); | ||
707 | if (ret) | ||
708 | pr_err("Error setting wl12xx data: %d\n", ret); | ||
709 | ret = platform_device_register(&omap_vwlan_device); | ||
710 | if (ret) | ||
711 | pr_err("Error registering wl12xx device: %d\n", ret); | ||
712 | } | ||
713 | |||
714 | static void __init omap_4430sdp_init(void) | ||
715 | { | ||
716 | int status; | ||
717 | int package = OMAP_PACKAGE_CBS; | ||
718 | |||
719 | if (omap_rev() == OMAP4430_REV_ES1_0) | ||
720 | package = OMAP_PACKAGE_CBL; | ||
721 | omap4_mux_init(board_mux, NULL, package); | ||
722 | |||
723 | omap4_i2c_init(); | ||
724 | omap_sfh7741prox_init(); | ||
725 | regulator_register_always_on(0, "backlight-enable", | ||
726 | &backlight_supply, 1, 0); | ||
727 | platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); | ||
728 | omap_serial_init(); | ||
729 | omap_sdrc_init(NULL, NULL); | ||
730 | omap4_sdp4430_wifi_init(); | ||
731 | omap4_twl6030_hsmmc_init(mmc); | ||
732 | |||
733 | usb_bind_phy("musb-hdrc.2.auto", 0, "omap-usb2.3.auto"); | ||
734 | usb_musb_init(&musb_board_data); | ||
735 | |||
736 | status = omap_ethernet_init(); | ||
737 | if (status) { | ||
738 | pr_err("Ethernet initialization failed: %d\n", status); | ||
739 | } else { | ||
740 | sdp4430_spi_board_info[0].irq = gpio_to_irq(ETH_KS8851_IRQ); | ||
741 | spi_register_board_info(sdp4430_spi_board_info, | ||
742 | ARRAY_SIZE(sdp4430_spi_board_info)); | ||
743 | } | ||
744 | |||
745 | pwm_add_table(sdp4430_pwm_lookup, ARRAY_SIZE(sdp4430_pwm_lookup)); | ||
746 | status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data); | ||
747 | if (status) | ||
748 | pr_err("Keypad initialization failed: %d\n", status); | ||
749 | |||
750 | omap_4430sdp_display_init(); | ||
751 | } | ||
752 | |||
753 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") | ||
754 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ | ||
755 | .atag_offset = 0x100, | ||
756 | .smp = smp_ops(omap4_smp_ops), | ||
757 | .reserve = omap_reserve, | ||
758 | .map_io = omap4_map_io, | ||
759 | .init_early = omap4430_init_early, | ||
760 | .init_irq = gic_init_irq, | ||
761 | .init_machine = omap_4430sdp_init, | ||
762 | .init_late = omap4430_init_late, | ||
763 | .init_time = omap4_local_timer_init, | ||
764 | .restart = omap44xx_restart, | ||
765 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index ee6218c74807..d4622ed26252 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -293,7 +293,8 @@ static struct regulator_consumer_supply cm_t35_vsim_supply[] = { | |||
293 | static struct regulator_consumer_supply cm_t35_vio_supplies[] = { | 293 | static struct regulator_consumer_supply cm_t35_vio_supplies[] = { |
294 | REGULATOR_SUPPLY("vcc", "spi1.0"), | 294 | REGULATOR_SUPPLY("vcc", "spi1.0"), |
295 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | 295 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), |
296 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | 296 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"), |
297 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), | ||
297 | }; | 298 | }; |
298 | 299 | ||
299 | /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ | 300 | /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 576420544178..f1d91ba5d1ac 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -222,6 +222,7 @@ static struct twl4030_gpio_platform_data devkit8000_gpio_data = { | |||
222 | 222 | ||
223 | static struct regulator_consumer_supply devkit8000_vpll1_supplies[] = { | 223 | static struct regulator_consumer_supply devkit8000_vpll1_supplies[] = { |
224 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | 224 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), |
225 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"), | ||
225 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), | 226 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), |
226 | }; | 227 | }; |
227 | 228 | ||
diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c index c33adea0247c..fc20a61f6b2a 100644 --- a/arch/arm/mach-omap2/board-flash.c +++ b/arch/arm/mach-omap2/board-flash.c | |||
@@ -112,6 +112,9 @@ struct gpmc_timings nand_default_timings[1] = { | |||
112 | .cs_rd_off = 36, | 112 | .cs_rd_off = 36, |
113 | .cs_wr_off = 36, | 113 | .cs_wr_off = 36, |
114 | 114 | ||
115 | .we_on = 6, | ||
116 | .oe_on = 6, | ||
117 | |||
115 | .adv_on = 6, | 118 | .adv_on = 6, |
116 | .adv_rd_off = 24, | 119 | .adv_rd_off = 24, |
117 | .adv_wr_off = 36, | 120 | .adv_wr_off = 36, |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 88aa6b1835c3..be5d005ebad2 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/of_irq.h> | 15 | #include <linux/of_irq.h> |
16 | #include <linux/of_platform.h> | 16 | #include <linux/of_platform.h> |
17 | #include <linux/irqdomain.h> | 17 | #include <linux/irqdomain.h> |
18 | #include <linux/clk.h> | ||
18 | 19 | ||
19 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
20 | 21 | ||
@@ -35,6 +36,21 @@ static struct of_device_id omap_dt_match_table[] __initdata = { | |||
35 | { } | 36 | { } |
36 | }; | 37 | }; |
37 | 38 | ||
39 | /* | ||
40 | * Create alias for USB host PHY clock. | ||
41 | * Remove this when clock phandle can be provided via DT | ||
42 | */ | ||
43 | static void __init legacy_init_ehci_clk(char *clkname) | ||
44 | { | ||
45 | int ret; | ||
46 | |||
47 | ret = clk_add_alias("main_clk", NULL, clkname, NULL); | ||
48 | if (ret) { | ||
49 | pr_err("%s:Failed to add main_clk alias to %s :%d\n", | ||
50 | __func__, clkname, ret); | ||
51 | } | ||
52 | } | ||
53 | |||
38 | static void __init omap_generic_init(void) | 54 | static void __init omap_generic_init(void) |
39 | { | 55 | { |
40 | omap_sdrc_init(NULL, NULL); | 56 | omap_sdrc_init(NULL, NULL); |
@@ -45,10 +61,15 @@ static void __init omap_generic_init(void) | |||
45 | * HACK: call display setup code for selected boards to enable omapdss. | 61 | * HACK: call display setup code for selected boards to enable omapdss. |
46 | * This will be removed when omapdss supports DT. | 62 | * This will be removed when omapdss supports DT. |
47 | */ | 63 | */ |
48 | if (of_machine_is_compatible("ti,omap4-panda")) | 64 | if (of_machine_is_compatible("ti,omap4-panda")) { |
49 | omap4_panda_display_init_of(); | 65 | omap4_panda_display_init_of(); |
66 | legacy_init_ehci_clk("auxclk3_ck"); | ||
67 | |||
68 | } | ||
50 | else if (of_machine_is_compatible("ti,omap4-sdp")) | 69 | else if (of_machine_is_compatible("ti,omap4-sdp")) |
51 | omap_4430sdp_display_init_of(); | 70 | omap_4430sdp_display_init_of(); |
71 | else if (of_machine_is_compatible("ti,omap5-uevm")) | ||
72 | legacy_init_ehci_clk("auxclk1_ck"); | ||
52 | } | 73 | } |
53 | 74 | ||
54 | #ifdef CONFIG_SOC_OMAP2420 | 75 | #ifdef CONFIG_SOC_OMAP2420 |
@@ -185,3 +206,19 @@ DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)") | |||
185 | .restart = omap44xx_restart, | 206 | .restart = omap44xx_restart, |
186 | MACHINE_END | 207 | MACHINE_END |
187 | #endif | 208 | #endif |
209 | |||
210 | #ifdef CONFIG_SOC_AM43XX | ||
211 | static const char *am43_boards_compat[] __initdata = { | ||
212 | "ti,am43", | ||
213 | NULL, | ||
214 | }; | ||
215 | |||
216 | DT_MACHINE_START(AM43_DT, "Generic AM43 (Flattened Device Tree)") | ||
217 | .map_io = am33xx_map_io, | ||
218 | .init_early = am43xx_init_early, | ||
219 | .init_irq = omap_gic_of_init, | ||
220 | .init_machine = omap_generic_init, | ||
221 | .init_time = omap3_sync32k_timer_init, | ||
222 | .dt_compat = am43_boards_compat, | ||
223 | MACHINE_END | ||
224 | #endif | ||
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index b54562d1235e..87e65dde8e13 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -553,6 +553,37 @@ static struct usbhs_omap_platform_data igep3_usbhs_bdata __initdata = { | |||
553 | 553 | ||
554 | #ifdef CONFIG_OMAP_MUX | 554 | #ifdef CONFIG_OMAP_MUX |
555 | static struct omap_board_mux board_mux[] __initdata = { | 555 | static struct omap_board_mux board_mux[] __initdata = { |
556 | /* Display Sub System */ | ||
557 | OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
558 | OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
559 | OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
560 | OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
561 | OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
562 | OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
563 | OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
564 | OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
565 | OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
566 | OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
567 | OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
568 | OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
569 | OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
570 | OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
571 | OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
572 | OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
573 | OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
574 | OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
575 | OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
576 | OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
577 | OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
578 | OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
579 | OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
580 | OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
581 | OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
582 | OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
583 | OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
584 | OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
585 | /* TFP410 PanelBus DVI Transmitte (GPIO_170) */ | ||
586 | OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
556 | /* SMSC9221 LAN Controller ETH IRQ (GPIO_176) */ | 587 | /* SMSC9221 LAN Controller ETH IRQ (GPIO_176) */ |
557 | OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | 588 | OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), |
558 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 589 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index d0d17bc58d9b..62e4f701b63b 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -272,7 +272,8 @@ static struct regulator_init_data ldp_vaux1 = { | |||
272 | 272 | ||
273 | static struct regulator_consumer_supply ldp_vpll2_supplies[] = { | 273 | static struct regulator_consumer_supply ldp_vpll2_supplies[] = { |
274 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | 274 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), |
275 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), | 275 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"), |
276 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), | ||
276 | }; | 277 | }; |
277 | 278 | ||
278 | static struct regulator_init_data ldp_vpll2 = { | 279 | static struct regulator_init_data ldp_vpll2 = { |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index f76d0de7b406..8c026269baca 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -174,6 +174,7 @@ static struct panel_sharp_ls037v7dw01_data omap3_evm_lcd_data = { | |||
174 | .ud_gpio = OMAP3EVM_LCD_PANEL_UD, | 174 | .ud_gpio = OMAP3EVM_LCD_PANEL_UD, |
175 | }; | 175 | }; |
176 | 176 | ||
177 | #ifdef CONFIG_BROKEN | ||
177 | static void __init omap3_evm_display_init(void) | 178 | static void __init omap3_evm_display_init(void) |
178 | { | 179 | { |
179 | int r; | 180 | int r; |
@@ -193,6 +194,7 @@ static void __init omap3_evm_display_init(void) | |||
193 | else | 194 | else |
194 | gpio_set_value_cansleep(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1); | 195 | gpio_set_value_cansleep(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1); |
195 | } | 196 | } |
197 | #endif | ||
196 | 198 | ||
197 | static struct omap_dss_device omap3_evm_lcd_device = { | 199 | static struct omap_dss_device omap3_evm_lcd_device = { |
198 | .name = "lcd", | 200 | .name = "lcd", |
@@ -715,7 +717,9 @@ static void __init omap3_evm_init(void) | |||
715 | 717 | ||
716 | omap_ads7846_init(1, OMAP3_EVM_TS_GPIO, 310, NULL); | 718 | omap_ads7846_init(1, OMAP3_EVM_TS_GPIO, 310, NULL); |
717 | omap3evm_init_smsc911x(); | 719 | omap3evm_init_smsc911x(); |
720 | #ifdef CONFIG_BROKEN | ||
718 | omap3_evm_display_init(); | 721 | omap3_evm_display_init(); |
722 | #endif | ||
719 | omap3_evm_wl12xx_init(); | 723 | omap3_evm_wl12xx_init(); |
720 | omap_twl4030_audio_init("omap3evm", NULL); | 724 | omap_twl4030_audio_init("omap3evm", NULL); |
721 | } | 725 | } |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 28133d5b4fed..b1547a0edfcd 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -343,6 +343,7 @@ static struct regulator_consumer_supply pandora_vmmc3_supply[] = { | |||
343 | static struct regulator_consumer_supply pandora_vdds_supplies[] = { | 343 | static struct regulator_consumer_supply pandora_vdds_supplies[] = { |
344 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), | 344 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), |
345 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | 345 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), |
346 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"), | ||
346 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), | 347 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), |
347 | }; | 348 | }; |
348 | 349 | ||
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c deleted file mode 100644 index 1e2c75eee912..000000000000 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ /dev/null | |||
@@ -1,455 +0,0 @@ | |||
1 | /* | ||
2 | * Board support file for OMAP4430 based PandaBoard. | ||
3 | * | ||
4 | * Copyright (C) 2010 Texas Instruments | ||
5 | * | ||
6 | * Author: David Anders <x0132446@ti.com> | ||
7 | * | ||
8 | * Based on mach-omap2/board-4430sdp.c | ||
9 | * | ||
10 | * Author: Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
11 | * | ||
12 | * Based on mach-omap2/board-3430sdp.c | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | #include <linux/clk.h> | ||
23 | #include <linux/io.h> | ||
24 | #include <linux/leds.h> | ||
25 | #include <linux/gpio.h> | ||
26 | #include <linux/usb/otg.h> | ||
27 | #include <linux/i2c/twl.h> | ||
28 | #include <linux/mfd/twl6040.h> | ||
29 | #include <linux/regulator/machine.h> | ||
30 | #include <linux/regulator/fixed.h> | ||
31 | #include <linux/ti_wilink_st.h> | ||
32 | #include <linux/usb/musb.h> | ||
33 | #include <linux/usb/phy.h> | ||
34 | #include <linux/usb/nop-usb-xceiv.h> | ||
35 | #include <linux/wl12xx.h> | ||
36 | #include <linux/irqchip/arm-gic.h> | ||
37 | #include <linux/platform_data/omap-abe-twl6040.h> | ||
38 | |||
39 | #include <asm/mach-types.h> | ||
40 | #include <asm/mach/arch.h> | ||
41 | #include <asm/mach/map.h> | ||
42 | |||
43 | #include "common.h" | ||
44 | #include "soc.h" | ||
45 | #include "mmc.h" | ||
46 | #include "hsmmc.h" | ||
47 | #include "control.h" | ||
48 | #include "mux.h" | ||
49 | #include "common-board-devices.h" | ||
50 | #include "dss-common.h" | ||
51 | |||
52 | #define GPIO_HUB_POWER 1 | ||
53 | #define GPIO_HUB_NRESET 62 | ||
54 | #define GPIO_WIFI_PMENA 43 | ||
55 | #define GPIO_WIFI_IRQ 53 | ||
56 | |||
57 | /* wl127x BT, FM, GPS connectivity chip */ | ||
58 | static struct ti_st_plat_data wilink_platform_data = { | ||
59 | .nshutdown_gpio = 46, | ||
60 | .dev_name = "/dev/ttyO1", | ||
61 | .flow_cntrl = 1, | ||
62 | .baud_rate = 3000000, | ||
63 | .chip_enable = NULL, | ||
64 | .suspend = NULL, | ||
65 | .resume = NULL, | ||
66 | }; | ||
67 | |||
68 | static struct platform_device wl1271_device = { | ||
69 | .name = "kim", | ||
70 | .id = -1, | ||
71 | .dev = { | ||
72 | .platform_data = &wilink_platform_data, | ||
73 | }, | ||
74 | }; | ||
75 | |||
76 | static struct gpio_led gpio_leds[] = { | ||
77 | { | ||
78 | .name = "pandaboard::status1", | ||
79 | .default_trigger = "heartbeat", | ||
80 | .gpio = 7, | ||
81 | }, | ||
82 | { | ||
83 | .name = "pandaboard::status2", | ||
84 | .default_trigger = "mmc0", | ||
85 | .gpio = 8, | ||
86 | }, | ||
87 | }; | ||
88 | |||
89 | static struct gpio_led_platform_data gpio_led_info = { | ||
90 | .leds = gpio_leds, | ||
91 | .num_leds = ARRAY_SIZE(gpio_leds), | ||
92 | }; | ||
93 | |||
94 | static struct platform_device leds_gpio = { | ||
95 | .name = "leds-gpio", | ||
96 | .id = -1, | ||
97 | .dev = { | ||
98 | .platform_data = &gpio_led_info, | ||
99 | }, | ||
100 | }; | ||
101 | |||
102 | static struct omap_abe_twl6040_data panda_abe_audio_data = { | ||
103 | /* Audio out */ | ||
104 | .has_hs = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
105 | /* HandsFree through expansion connector */ | ||
106 | .has_hf = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
107 | /* PandaBoard: FM TX, PandaBoardES: can be connected to audio out */ | ||
108 | .has_aux = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
109 | /* PandaBoard: FM RX, PandaBoardES: audio in */ | ||
110 | .has_afm = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, | ||
111 | /* No jack detection. */ | ||
112 | .jack_detection = 0, | ||
113 | /* MCLK input is 38.4MHz */ | ||
114 | .mclk_freq = 38400000, | ||
115 | |||
116 | }; | ||
117 | |||
118 | static struct platform_device panda_abe_audio = { | ||
119 | .name = "omap-abe-twl6040", | ||
120 | .id = -1, | ||
121 | .dev = { | ||
122 | .platform_data = &panda_abe_audio_data, | ||
123 | }, | ||
124 | }; | ||
125 | |||
126 | static struct platform_device panda_hdmi_audio_codec = { | ||
127 | .name = "hdmi-audio-codec", | ||
128 | .id = -1, | ||
129 | }; | ||
130 | |||
131 | static struct platform_device btwilink_device = { | ||
132 | .name = "btwilink", | ||
133 | .id = -1, | ||
134 | }; | ||
135 | |||
136 | /* PHY device on HS USB Port 1 i.e. nop_usb_xceiv.1 */ | ||
137 | static struct nop_usb_xceiv_platform_data hsusb1_phy_data = { | ||
138 | /* FREF_CLK3 provides the 19.2 MHz reference clock to the PHY */ | ||
139 | .clk_rate = 19200000, | ||
140 | }; | ||
141 | |||
142 | static struct usbhs_phy_data phy_data[] __initdata = { | ||
143 | { | ||
144 | .port = 1, | ||
145 | .reset_gpio = GPIO_HUB_NRESET, | ||
146 | .vcc_gpio = GPIO_HUB_POWER, | ||
147 | .vcc_polarity = 1, | ||
148 | .platform_data = &hsusb1_phy_data, | ||
149 | }, | ||
150 | }; | ||
151 | |||
152 | static struct platform_device *panda_devices[] __initdata = { | ||
153 | &leds_gpio, | ||
154 | &wl1271_device, | ||
155 | &panda_abe_audio, | ||
156 | &panda_hdmi_audio_codec, | ||
157 | &btwilink_device, | ||
158 | }; | ||
159 | |||
160 | static struct usbhs_omap_platform_data usbhs_bdata __initdata = { | ||
161 | .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, | ||
162 | }; | ||
163 | |||
164 | static void __init omap4_ehci_init(void) | ||
165 | { | ||
166 | int ret; | ||
167 | |||
168 | /* FREF_CLK3 provides the 19.2 MHz reference clock to the PHY */ | ||
169 | ret = clk_add_alias("main_clk", "nop_usb_xceiv.1", "auxclk3_ck", NULL); | ||
170 | if (ret) | ||
171 | pr_err("Failed to add main_clk alias to auxclk3_ck\n"); | ||
172 | |||
173 | usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data)); | ||
174 | usbhs_init(&usbhs_bdata); | ||
175 | } | ||
176 | |||
177 | static struct omap_musb_board_data musb_board_data = { | ||
178 | .interface_type = MUSB_INTERFACE_UTMI, | ||
179 | .mode = MUSB_OTG, | ||
180 | .power = 100, | ||
181 | }; | ||
182 | |||
183 | static struct omap2_hsmmc_info mmc[] = { | ||
184 | { | ||
185 | .mmc = 1, | ||
186 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, | ||
187 | .gpio_wp = -EINVAL, | ||
188 | .gpio_cd = -EINVAL, | ||
189 | }, | ||
190 | { | ||
191 | .name = "wl1271", | ||
192 | .mmc = 5, | ||
193 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD, | ||
194 | .gpio_wp = -EINVAL, | ||
195 | .gpio_cd = -EINVAL, | ||
196 | .ocr_mask = MMC_VDD_165_195, | ||
197 | .nonremovable = true, | ||
198 | }, | ||
199 | {} /* Terminator */ | ||
200 | }; | ||
201 | |||
202 | static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = { | ||
203 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"), | ||
204 | }; | ||
205 | |||
206 | static struct regulator_init_data panda_vmmc5 = { | ||
207 | .constraints = { | ||
208 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
209 | }, | ||
210 | .num_consumer_supplies = ARRAY_SIZE(omap4_panda_vmmc5_supply), | ||
211 | .consumer_supplies = omap4_panda_vmmc5_supply, | ||
212 | }; | ||
213 | |||
214 | static struct fixed_voltage_config panda_vwlan = { | ||
215 | .supply_name = "vwl1271", | ||
216 | .microvolts = 1800000, /* 1.8V */ | ||
217 | .gpio = GPIO_WIFI_PMENA, | ||
218 | .startup_delay = 70000, /* 70msec */ | ||
219 | .enable_high = 1, | ||
220 | .enabled_at_boot = 0, | ||
221 | .init_data = &panda_vmmc5, | ||
222 | }; | ||
223 | |||
224 | static struct platform_device omap_vwlan_device = { | ||
225 | .name = "reg-fixed-voltage", | ||
226 | .id = 1, | ||
227 | .dev = { | ||
228 | .platform_data = &panda_vwlan, | ||
229 | }, | ||
230 | }; | ||
231 | |||
232 | static struct wl12xx_platform_data omap_panda_wlan_data __initdata = { | ||
233 | .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */ | ||
234 | }; | ||
235 | |||
236 | static struct twl6040_codec_data twl6040_codec = { | ||
237 | /* single-step ramp for headset and handsfree */ | ||
238 | .hs_left_step = 0x0f, | ||
239 | .hs_right_step = 0x0f, | ||
240 | .hf_left_step = 0x1d, | ||
241 | .hf_right_step = 0x1d, | ||
242 | }; | ||
243 | |||
244 | static struct twl6040_platform_data twl6040_data = { | ||
245 | .codec = &twl6040_codec, | ||
246 | .audpwron_gpio = 127, | ||
247 | }; | ||
248 | |||
249 | static struct i2c_board_info __initdata panda_i2c_1_boardinfo[] = { | ||
250 | { | ||
251 | I2C_BOARD_INFO("twl6040", 0x4b), | ||
252 | .irq = 119 + OMAP44XX_IRQ_GIC_START, | ||
253 | .platform_data = &twl6040_data, | ||
254 | }, | ||
255 | }; | ||
256 | |||
257 | /* Panda board uses the common PMIC configuration */ | ||
258 | static struct twl4030_platform_data omap4_panda_twldata; | ||
259 | |||
260 | /* | ||
261 | * Display monitor features are burnt in their EEPROM as EDID data. The EEPROM | ||
262 | * is connected as I2C slave device, and can be accessed at address 0x50 | ||
263 | */ | ||
264 | static struct i2c_board_info __initdata panda_i2c_eeprom[] = { | ||
265 | { | ||
266 | I2C_BOARD_INFO("eeprom", 0x50), | ||
267 | }, | ||
268 | }; | ||
269 | |||
270 | static int __init omap4_panda_i2c_init(void) | ||
271 | { | ||
272 | omap4_pmic_get_config(&omap4_panda_twldata, TWL_COMMON_PDATA_USB, | ||
273 | TWL_COMMON_REGULATOR_VDAC | | ||
274 | TWL_COMMON_REGULATOR_VAUX2 | | ||
275 | TWL_COMMON_REGULATOR_VAUX3 | | ||
276 | TWL_COMMON_REGULATOR_VMMC | | ||
277 | TWL_COMMON_REGULATOR_VPP | | ||
278 | TWL_COMMON_REGULATOR_VANA | | ||
279 | TWL_COMMON_REGULATOR_VCXIO | | ||
280 | TWL_COMMON_REGULATOR_VUSB | | ||
281 | TWL_COMMON_REGULATOR_CLK32KG | | ||
282 | TWL_COMMON_REGULATOR_V1V8 | | ||
283 | TWL_COMMON_REGULATOR_V2V1); | ||
284 | omap4_pmic_init("twl6030", &omap4_panda_twldata, panda_i2c_1_boardinfo, | ||
285 | ARRAY_SIZE(panda_i2c_1_boardinfo)); | ||
286 | omap_register_i2c_bus(2, 400, NULL, 0); | ||
287 | /* | ||
288 | * Bus 3 is attached to the DVI port where devices like the pico DLP | ||
289 | * projector don't work reliably with 400kHz | ||
290 | */ | ||
291 | omap_register_i2c_bus(3, 100, panda_i2c_eeprom, | ||
292 | ARRAY_SIZE(panda_i2c_eeprom)); | ||
293 | omap_register_i2c_bus(4, 400, NULL, 0); | ||
294 | return 0; | ||
295 | } | ||
296 | |||
297 | #ifdef CONFIG_OMAP_MUX | ||
298 | static struct omap_board_mux board_mux[] __initdata = { | ||
299 | /* WLAN IRQ - GPIO 53 */ | ||
300 | OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
301 | /* WLAN POWER ENABLE - GPIO 43 */ | ||
302 | OMAP4_MUX(GPMC_A19, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), | ||
303 | /* WLAN SDIO: MMC5 CMD */ | ||
304 | OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
305 | /* WLAN SDIO: MMC5 CLK */ | ||
306 | OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
307 | /* WLAN SDIO: MMC5 DAT[0-3] */ | ||
308 | OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
309 | OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
310 | OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
311 | OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
312 | /* gpio 0 - TFP410 PD */ | ||
313 | OMAP4_MUX(KPD_COL1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE3), | ||
314 | /* dispc2_data23 */ | ||
315 | OMAP4_MUX(USBB2_ULPITLL_STP, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
316 | /* dispc2_data22 */ | ||
317 | OMAP4_MUX(USBB2_ULPITLL_DIR, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
318 | /* dispc2_data21 */ | ||
319 | OMAP4_MUX(USBB2_ULPITLL_NXT, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
320 | /* dispc2_data20 */ | ||
321 | OMAP4_MUX(USBB2_ULPITLL_DAT0, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
322 | /* dispc2_data19 */ | ||
323 | OMAP4_MUX(USBB2_ULPITLL_DAT1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
324 | /* dispc2_data18 */ | ||
325 | OMAP4_MUX(USBB2_ULPITLL_DAT2, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
326 | /* dispc2_data15 */ | ||
327 | OMAP4_MUX(USBB2_ULPITLL_DAT3, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
328 | /* dispc2_data14 */ | ||
329 | OMAP4_MUX(USBB2_ULPITLL_DAT4, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
330 | /* dispc2_data13 */ | ||
331 | OMAP4_MUX(USBB2_ULPITLL_DAT5, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
332 | /* dispc2_data12 */ | ||
333 | OMAP4_MUX(USBB2_ULPITLL_DAT6, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
334 | /* dispc2_data11 */ | ||
335 | OMAP4_MUX(USBB2_ULPITLL_DAT7, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
336 | /* dispc2_data10 */ | ||
337 | OMAP4_MUX(DPM_EMU3, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
338 | /* dispc2_data9 */ | ||
339 | OMAP4_MUX(DPM_EMU4, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
340 | /* dispc2_data16 */ | ||
341 | OMAP4_MUX(DPM_EMU5, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
342 | /* dispc2_data17 */ | ||
343 | OMAP4_MUX(DPM_EMU6, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
344 | /* dispc2_hsync */ | ||
345 | OMAP4_MUX(DPM_EMU7, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
346 | /* dispc2_pclk */ | ||
347 | OMAP4_MUX(DPM_EMU8, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
348 | /* dispc2_vsync */ | ||
349 | OMAP4_MUX(DPM_EMU9, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
350 | /* dispc2_de */ | ||
351 | OMAP4_MUX(DPM_EMU10, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
352 | /* dispc2_data8 */ | ||
353 | OMAP4_MUX(DPM_EMU11, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
354 | /* dispc2_data7 */ | ||
355 | OMAP4_MUX(DPM_EMU12, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
356 | /* dispc2_data6 */ | ||
357 | OMAP4_MUX(DPM_EMU13, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
358 | /* dispc2_data5 */ | ||
359 | OMAP4_MUX(DPM_EMU14, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
360 | /* dispc2_data4 */ | ||
361 | OMAP4_MUX(DPM_EMU15, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
362 | /* dispc2_data3 */ | ||
363 | OMAP4_MUX(DPM_EMU16, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
364 | /* dispc2_data2 */ | ||
365 | OMAP4_MUX(DPM_EMU17, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
366 | /* dispc2_data1 */ | ||
367 | OMAP4_MUX(DPM_EMU18, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
368 | /* dispc2_data0 */ | ||
369 | OMAP4_MUX(DPM_EMU19, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5), | ||
370 | /* NIRQ2 for twl6040 */ | ||
371 | OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 | | ||
372 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), | ||
373 | /* GPIO_127 for twl6040 */ | ||
374 | OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), | ||
375 | /* McPDM */ | ||
376 | OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
377 | OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
378 | OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
379 | OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
380 | OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
381 | /* McBSP1 */ | ||
382 | OMAP4_MUX(ABE_MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
383 | OMAP4_MUX(ABE_MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
384 | OMAP4_MUX(ABE_MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | | ||
385 | OMAP_PULL_ENA), | ||
386 | OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
387 | |||
388 | /* UART2 - BT/FM/GPS shared transport */ | ||
389 | OMAP4_MUX(UART2_CTS, OMAP_PIN_INPUT | OMAP_MUX_MODE0), | ||
390 | OMAP4_MUX(UART2_RTS, OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
391 | OMAP4_MUX(UART2_RX, OMAP_PIN_INPUT | OMAP_MUX_MODE0), | ||
392 | OMAP4_MUX(UART2_TX, OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
393 | |||
394 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
395 | }; | ||
396 | |||
397 | #else | ||
398 | #define board_mux NULL | ||
399 | #endif | ||
400 | |||
401 | |||
402 | static void omap4_panda_init_rev(void) | ||
403 | { | ||
404 | if (cpu_is_omap443x()) { | ||
405 | /* PandaBoard 4430 */ | ||
406 | /* ASoC audio configuration */ | ||
407 | panda_abe_audio_data.card_name = "PandaBoard"; | ||
408 | panda_abe_audio_data.has_hsmic = 1; | ||
409 | } else { | ||
410 | /* PandaBoard ES */ | ||
411 | /* ASoC audio configuration */ | ||
412 | panda_abe_audio_data.card_name = "PandaBoardES"; | ||
413 | } | ||
414 | } | ||
415 | |||
416 | static void __init omap4_panda_init(void) | ||
417 | { | ||
418 | int package = OMAP_PACKAGE_CBS; | ||
419 | int ret; | ||
420 | |||
421 | if (omap_rev() == OMAP4430_REV_ES1_0) | ||
422 | package = OMAP_PACKAGE_CBL; | ||
423 | omap4_mux_init(board_mux, NULL, package); | ||
424 | |||
425 | omap_panda_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ); | ||
426 | ret = wl12xx_set_platform_data(&omap_panda_wlan_data); | ||
427 | if (ret) | ||
428 | pr_err("error setting wl12xx data: %d\n", ret); | ||
429 | |||
430 | omap4_panda_init_rev(); | ||
431 | omap4_panda_i2c_init(); | ||
432 | platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices)); | ||
433 | platform_device_register(&omap_vwlan_device); | ||
434 | omap_serial_init(); | ||
435 | omap_sdrc_init(NULL, NULL); | ||
436 | omap4_twl6030_hsmmc_init(mmc); | ||
437 | omap4_ehci_init(); | ||
438 | usb_bind_phy("musb-hdrc.2.auto", 0, "omap-usb2.3.auto"); | ||
439 | usb_musb_init(&musb_board_data); | ||
440 | omap4_panda_display_init(); | ||
441 | } | ||
442 | |||
443 | MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") | ||
444 | /* Maintainer: David Anders - Texas Instruments Inc */ | ||
445 | .atag_offset = 0x100, | ||
446 | .smp = smp_ops(omap4_smp_ops), | ||
447 | .reserve = omap_reserve, | ||
448 | .map_io = omap4_map_io, | ||
449 | .init_early = omap4430_init_early, | ||
450 | .init_irq = gic_init_irq, | ||
451 | .init_machine = omap4_panda_init, | ||
452 | .init_late = omap4430_init_late, | ||
453 | .init_time = omap4_local_timer_init, | ||
454 | .restart = omap44xx_restart, | ||
455 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 4ca6b680aa72..5748b5d06c23 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -68,6 +68,7 @@ | |||
68 | 68 | ||
69 | #define OVERO_SMSC911X_CS 5 | 69 | #define OVERO_SMSC911X_CS 5 |
70 | #define OVERO_SMSC911X_GPIO 176 | 70 | #define OVERO_SMSC911X_GPIO 176 |
71 | #define OVERO_SMSC911X_NRESET 64 | ||
71 | #define OVERO_SMSC911X2_CS 4 | 72 | #define OVERO_SMSC911X2_CS 4 |
72 | #define OVERO_SMSC911X2_GPIO 65 | 73 | #define OVERO_SMSC911X2_GPIO 65 |
73 | 74 | ||
@@ -122,7 +123,7 @@ static struct omap_smsc911x_platform_data smsc911x_cfg = { | |||
122 | .id = 0, | 123 | .id = 0, |
123 | .cs = OVERO_SMSC911X_CS, | 124 | .cs = OVERO_SMSC911X_CS, |
124 | .gpio_irq = OVERO_SMSC911X_GPIO, | 125 | .gpio_irq = OVERO_SMSC911X_GPIO, |
125 | .gpio_reset = -EINVAL, | 126 | .gpio_reset = OVERO_SMSC911X_NRESET, |
126 | .flags = SMSC911X_USE_32BIT, | 127 | .flags = SMSC911X_USE_32BIT, |
127 | }; | 128 | }; |
128 | 129 | ||
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 18ca61e300b3..9c2dd102fbbb 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -553,6 +553,7 @@ static struct regulator_consumer_supply rx51_vio_supplies[] = { | |||
553 | 553 | ||
554 | static struct regulator_consumer_supply rx51_vaux1_consumers[] = { | 554 | static struct regulator_consumer_supply rx51_vaux1_consumers[] = { |
555 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), | 555 | REGULATOR_SUPPLY("vdds_sdi", "omapdss"), |
556 | REGULATOR_SUPPLY("vdds_sdi", "omapdss_sdi.0"), | ||
556 | /* Si4713 supply */ | 557 | /* Si4713 supply */ |
557 | REGULATOR_SUPPLY("vdd", "2-0063"), | 558 | REGULATOR_SUPPLY("vdd", "2-0063"), |
558 | /* lis3lv02d */ | 559 | /* lis3lv02d */ |
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c index bd74f9f6063b..bdd1e3a179e1 100644 --- a/arch/arm/mach-omap2/board-rx51-video.c +++ b/arch/arm/mach-omap2/board-rx51-video.c | |||
@@ -61,7 +61,7 @@ static struct omap_dss_board_info rx51_dss_board_info = { | |||
61 | 61 | ||
62 | static int __init rx51_video_init(void) | 62 | static int __init rx51_video_init(void) |
63 | { | 63 | { |
64 | if (!machine_is_nokia_rx51()) | 64 | if (!machine_is_nokia_rx51() && !of_machine_is_compatible("nokia,omap3-n900")) |
65 | return 0; | 65 | return 0; |
66 | 66 | ||
67 | if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) { | 67 | if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) { |
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c index af3544ce4f02..ba6534d7f155 100644 --- a/arch/arm/mach-omap2/cclock33xx_data.c +++ b/arch/arm/mach-omap2/cclock33xx_data.c | |||
@@ -431,15 +431,11 @@ DEFINE_STRUCT_CLK(aes0_fck, dpll_core_ck_parents, clk_ops_null); | |||
431 | * - Driver code is not yet migrated to use hwmod/runtime pm | 431 | * - Driver code is not yet migrated to use hwmod/runtime pm |
432 | * - Modules outside kernel access (to disable them by default) | 432 | * - Modules outside kernel access (to disable them by default) |
433 | * | 433 | * |
434 | * - debugss | ||
435 | * - mmu (gfx domain) | 434 | * - mmu (gfx domain) |
436 | * - cefuse | 435 | * - cefuse |
437 | * - usbotg_fck (its additional clock and not really a modulemode) | 436 | * - usbotg_fck (its additional clock and not really a modulemode) |
438 | * - ieee5000 | 437 | * - ieee5000 |
439 | */ | 438 | */ |
440 | DEFINE_CLK_GATE(debugss_ick, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0, | ||
441 | AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT, | ||
442 | 0x0, NULL); | ||
443 | 439 | ||
444 | DEFINE_CLK_GATE(mmu_fck, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0, | 440 | DEFINE_CLK_GATE(mmu_fck, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0, |
445 | AM33XX_CM_GFX_MMUDATA_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT, | 441 | AM33XX_CM_GFX_MMUDATA_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT, |
@@ -862,6 +858,69 @@ static struct clk_hw_omap wdt1_fck_hw = { | |||
862 | 858 | ||
863 | DEFINE_STRUCT_CLK(wdt1_fck, wdt_ck_parents, gpio_fck_ops); | 859 | DEFINE_STRUCT_CLK(wdt1_fck, wdt_ck_parents, gpio_fck_ops); |
864 | 860 | ||
861 | static const char *pwmss_clk_parents[] = { | ||
862 | "dpll_per_m2_ck", | ||
863 | }; | ||
864 | |||
865 | static const struct clk_ops ehrpwm_tbclk_ops = { | ||
866 | .enable = &omap2_dflt_clk_enable, | ||
867 | .disable = &omap2_dflt_clk_disable, | ||
868 | }; | ||
869 | |||
870 | DEFINE_CLK_OMAP_MUX_GATE(ehrpwm0_tbclk, "l4ls_clkdm", | ||
871 | NULL, NULL, 0, | ||
872 | AM33XX_CTRL_REGADDR(AM33XX_PWMSS_TBCLK_CLKCTRL), | ||
873 | AM33XX_PWMSS0_TBCLKEN_SHIFT, | ||
874 | NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); | ||
875 | |||
876 | DEFINE_CLK_OMAP_MUX_GATE(ehrpwm1_tbclk, "l4ls_clkdm", | ||
877 | NULL, NULL, 0, | ||
878 | AM33XX_CTRL_REGADDR(AM33XX_PWMSS_TBCLK_CLKCTRL), | ||
879 | AM33XX_PWMSS1_TBCLKEN_SHIFT, | ||
880 | NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); | ||
881 | |||
882 | DEFINE_CLK_OMAP_MUX_GATE(ehrpwm2_tbclk, "l4ls_clkdm", | ||
883 | NULL, NULL, 0, | ||
884 | AM33XX_CTRL_REGADDR(AM33XX_PWMSS_TBCLK_CLKCTRL), | ||
885 | AM33XX_PWMSS2_TBCLKEN_SHIFT, | ||
886 | NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); | ||
887 | |||
888 | /* | ||
889 | * debugss optional clocks | ||
890 | */ | ||
891 | DEFINE_CLK_GATE(dbg_sysclk_ck, "sys_clkin_ck", &sys_clkin_ck, | ||
892 | 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, | ||
893 | AM33XX_OPTFCLKEN_DBGSYSCLK_SHIFT, 0x0, NULL); | ||
894 | |||
895 | DEFINE_CLK_GATE(dbg_clka_ck, "dpll_core_m4_ck", &dpll_core_m4_ck, | ||
896 | 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, | ||
897 | AM33XX_OPTCLK_DEBUG_CLKA_SHIFT, 0x0, NULL); | ||
898 | |||
899 | static const char *stm_pmd_clock_mux_ck_parents[] = { | ||
900 | "dbg_sysclk_ck", "dbg_clka_ck", | ||
901 | }; | ||
902 | |||
903 | DEFINE_CLK_MUX(stm_pmd_clock_mux_ck, stm_pmd_clock_mux_ck_parents, NULL, 0x0, | ||
904 | AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, AM33XX_STM_PMD_CLKSEL_SHIFT, | ||
905 | AM33XX_STM_PMD_CLKSEL_WIDTH, 0x0, NULL); | ||
906 | |||
907 | DEFINE_CLK_MUX(trace_pmd_clk_mux_ck, stm_pmd_clock_mux_ck_parents, NULL, 0x0, | ||
908 | AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, | ||
909 | AM33XX_TRC_PMD_CLKSEL_SHIFT, | ||
910 | AM33XX_TRC_PMD_CLKSEL_WIDTH, 0x0, NULL); | ||
911 | |||
912 | DEFINE_CLK_DIVIDER(stm_clk_div_ck, "stm_pmd_clock_mux_ck", | ||
913 | &stm_pmd_clock_mux_ck, 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, | ||
914 | AM33XX_STM_PMD_CLKDIVSEL_SHIFT, | ||
915 | AM33XX_STM_PMD_CLKDIVSEL_WIDTH, CLK_DIVIDER_POWER_OF_TWO, | ||
916 | NULL); | ||
917 | |||
918 | DEFINE_CLK_DIVIDER(trace_clk_div_ck, "trace_pmd_clk_mux_ck", | ||
919 | &trace_pmd_clk_mux_ck, 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, | ||
920 | AM33XX_TRC_PMD_CLKDIVSEL_SHIFT, | ||
921 | AM33XX_TRC_PMD_CLKDIVSEL_WIDTH, CLK_DIVIDER_POWER_OF_TWO, | ||
922 | NULL); | ||
923 | |||
865 | /* | 924 | /* |
866 | * clkdev | 925 | * clkdev |
867 | */ | 926 | */ |
@@ -899,7 +958,6 @@ static struct omap_clk am33xx_clks[] = { | |||
899 | CLK("481cc000.d_can", NULL, &dcan0_fck), | 958 | CLK("481cc000.d_can", NULL, &dcan0_fck), |
900 | CLK(NULL, "dcan1_fck", &dcan1_fck), | 959 | CLK(NULL, "dcan1_fck", &dcan1_fck), |
901 | CLK("481d0000.d_can", NULL, &dcan1_fck), | 960 | CLK("481d0000.d_can", NULL, &dcan1_fck), |
902 | CLK(NULL, "debugss_ick", &debugss_ick), | ||
903 | CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk), | 961 | CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk), |
904 | CLK(NULL, "mcasp0_fck", &mcasp0_fck), | 962 | CLK(NULL, "mcasp0_fck", &mcasp0_fck), |
905 | CLK(NULL, "mcasp1_fck", &mcasp1_fck), | 963 | CLK(NULL, "mcasp1_fck", &mcasp1_fck), |
@@ -942,6 +1000,16 @@ static struct omap_clk am33xx_clks[] = { | |||
942 | CLK(NULL, "clkout2_div_ck", &clkout2_div_ck), | 1000 | CLK(NULL, "clkout2_div_ck", &clkout2_div_ck), |
943 | CLK(NULL, "timer_32k_ck", &clkdiv32k_ick), | 1001 | CLK(NULL, "timer_32k_ck", &clkdiv32k_ick), |
944 | CLK(NULL, "timer_sys_ck", &sys_clkin_ck), | 1002 | CLK(NULL, "timer_sys_ck", &sys_clkin_ck), |
1003 | CLK(NULL, "dbg_sysclk_ck", &dbg_sysclk_ck), | ||
1004 | CLK(NULL, "dbg_clka_ck", &dbg_clka_ck), | ||
1005 | CLK(NULL, "stm_pmd_clock_mux_ck", &stm_pmd_clock_mux_ck), | ||
1006 | CLK(NULL, "trace_pmd_clk_mux_ck", &trace_pmd_clk_mux_ck), | ||
1007 | CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck), | ||
1008 | CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck), | ||
1009 | CLK(NULL, "clkout2_ck", &clkout2_ck), | ||
1010 | CLK("48300200.ehrpwm", "tbclk", &ehrpwm0_tbclk), | ||
1011 | CLK("48302200.ehrpwm", "tbclk", &ehrpwm1_tbclk), | ||
1012 | CLK("48304200.ehrpwm", "tbclk", &ehrpwm2_tbclk), | ||
945 | }; | 1013 | }; |
946 | 1014 | ||
947 | 1015 | ||
@@ -952,6 +1020,7 @@ static const char *enable_init_clks[] = { | |||
952 | "l4hs_gclk", | 1020 | "l4hs_gclk", |
953 | "l4fw_gclk", | 1021 | "l4fw_gclk", |
954 | "l4ls_gclk", | 1022 | "l4ls_gclk", |
1023 | "clkout2_ck", /* Required for external peripherals like, Audio codecs */ | ||
955 | }; | 1024 | }; |
956 | 1025 | ||
957 | int __init am33xx_clk_init(void) | 1026 | int __init am33xx_clk_init(void) |
diff --git a/arch/arm/mach-omap2/cclock3xxx_data.c b/arch/arm/mach-omap2/cclock3xxx_data.c index 45cd26430d1f..334b76745900 100644 --- a/arch/arm/mach-omap2/cclock3xxx_data.c +++ b/arch/arm/mach-omap2/cclock3xxx_data.c | |||
@@ -3329,11 +3329,7 @@ static struct omap_clk omap36xx_am35xx_omap3430es2plus_clks[] = { | |||
3329 | CLK(NULL, "cpefuse_fck", &cpefuse_fck), | 3329 | CLK(NULL, "cpefuse_fck", &cpefuse_fck), |
3330 | CLK(NULL, "ts_fck", &ts_fck), | 3330 | CLK(NULL, "ts_fck", &ts_fck), |
3331 | CLK(NULL, "usbtll_fck", &usbtll_fck), | 3331 | CLK(NULL, "usbtll_fck", &usbtll_fck), |
3332 | CLK("usbhs_omap", "usbtll_fck", &usbtll_fck), | ||
3333 | CLK("usbhs_tll", "usbtll_fck", &usbtll_fck), | ||
3334 | CLK(NULL, "usbtll_ick", &usbtll_ick), | 3332 | CLK(NULL, "usbtll_ick", &usbtll_ick), |
3335 | CLK("usbhs_omap", "usbtll_ick", &usbtll_ick), | ||
3336 | CLK("usbhs_tll", "usbtll_ick", &usbtll_ick), | ||
3337 | CLK("omap_hsmmc.2", "ick", &mmchs3_ick), | 3333 | CLK("omap_hsmmc.2", "ick", &mmchs3_ick), |
3338 | CLK(NULL, "mmchs3_ick", &mmchs3_ick), | 3334 | CLK(NULL, "mmchs3_ick", &mmchs3_ick), |
3339 | CLK(NULL, "mmchs3_fck", &mmchs3_fck), | 3335 | CLK(NULL, "mmchs3_fck", &mmchs3_fck), |
@@ -3343,7 +3339,6 @@ static struct omap_clk omap36xx_am35xx_omap3430es2plus_clks[] = { | |||
3343 | CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck), | 3339 | CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck), |
3344 | CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck), | 3340 | CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck), |
3345 | CLK(NULL, "usbhost_ick", &usbhost_ick), | 3341 | CLK(NULL, "usbhost_ick", &usbhost_ick), |
3346 | CLK("usbhs_omap", "usbhost_ick", &usbhost_ick), | ||
3347 | }; | 3342 | }; |
3348 | 3343 | ||
3349 | /* | 3344 | /* |
@@ -3463,12 +3458,6 @@ static struct omap_clk omap3xxx_clks[] = { | |||
3463 | CLK(NULL, "utmi_p2_gfclk", &dummy_ck), | 3458 | CLK(NULL, "utmi_p2_gfclk", &dummy_ck), |
3464 | CLK(NULL, "xclk60mhsp1_ck", &dummy_ck), | 3459 | CLK(NULL, "xclk60mhsp1_ck", &dummy_ck), |
3465 | CLK(NULL, "xclk60mhsp2_ck", &dummy_ck), | 3460 | CLK(NULL, "xclk60mhsp2_ck", &dummy_ck), |
3466 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &dummy_ck), | ||
3467 | CLK(NULL, "usb_host_hs_utmi_p2_clk", &dummy_ck), | ||
3468 | CLK("usbhs_omap", "usb_tll_hs_usb_ch0_clk", &dummy_ck), | ||
3469 | CLK("usbhs_omap", "usb_tll_hs_usb_ch1_clk", &dummy_ck), | ||
3470 | CLK("usbhs_tll", "usb_tll_hs_usb_ch0_clk", &dummy_ck), | ||
3471 | CLK("usbhs_tll", "usb_tll_hs_usb_ch1_clk", &dummy_ck), | ||
3472 | CLK(NULL, "init_60m_fclk", &dummy_ck), | 3461 | CLK(NULL, "init_60m_fclk", &dummy_ck), |
3473 | CLK(NULL, "gpt1_fck", &gpt1_fck), | 3462 | CLK(NULL, "gpt1_fck", &gpt1_fck), |
3474 | CLK(NULL, "aes2_ick", &aes2_ick), | 3463 | CLK(NULL, "aes2_ick", &aes2_ick), |
diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h index 2da37656a693..daeecf1b89fa 100644 --- a/arch/arm/mach-omap2/clockdomain.h +++ b/arch/arm/mach-omap2/clockdomain.h | |||
@@ -216,6 +216,7 @@ extern void __init omap243x_clockdomains_init(void); | |||
216 | extern void __init omap3xxx_clockdomains_init(void); | 216 | extern void __init omap3xxx_clockdomains_init(void); |
217 | extern void __init am33xx_clockdomains_init(void); | 217 | extern void __init am33xx_clockdomains_init(void); |
218 | extern void __init omap44xx_clockdomains_init(void); | 218 | extern void __init omap44xx_clockdomains_init(void); |
219 | extern void __init omap54xx_clockdomains_init(void); | ||
219 | 220 | ||
220 | extern void clkdm_add_autodeps(struct clockdomain *clkdm); | 221 | extern void clkdm_add_autodeps(struct clockdomain *clkdm); |
221 | extern void clkdm_del_autodeps(struct clockdomain *clkdm); | 222 | extern void clkdm_del_autodeps(struct clockdomain *clkdm); |
diff --git a/arch/arm/mach-omap2/clockdomains54xx_data.c b/arch/arm/mach-omap2/clockdomains54xx_data.c new file mode 100644 index 000000000000..1a3c69d2e14c --- /dev/null +++ b/arch/arm/mach-omap2/clockdomains54xx_data.c | |||
@@ -0,0 +1,464 @@ | |||
1 | /* | ||
2 | * OMAP54XX Clock domains framework | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments, Inc. | ||
5 | * | ||
6 | * Abhijit Pagare (abhijitpagare@ti.com) | ||
7 | * Benoit Cousson (b-cousson@ti.com) | ||
8 | * Paul Walmsley (paul@pwsan.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/io.h> | ||
23 | |||
24 | #include "clockdomain.h" | ||
25 | #include "cm1_54xx.h" | ||
26 | #include "cm2_54xx.h" | ||
27 | |||
28 | #include "cm-regbits-54xx.h" | ||
29 | #include "prm54xx.h" | ||
30 | #include "prcm44xx.h" | ||
31 | #include "prcm_mpu54xx.h" | ||
32 | |||
33 | /* Static Dependencies for OMAP4 Clock Domains */ | ||
34 | |||
35 | static struct clkdm_dep c2c_wkup_sleep_deps[] = { | ||
36 | { .clkdm_name = "abe_clkdm" }, | ||
37 | { .clkdm_name = "emif_clkdm" }, | ||
38 | { .clkdm_name = "iva_clkdm" }, | ||
39 | { .clkdm_name = "l3init_clkdm" }, | ||
40 | { .clkdm_name = "l3main1_clkdm" }, | ||
41 | { .clkdm_name = "l3main2_clkdm" }, | ||
42 | { .clkdm_name = "l4cfg_clkdm" }, | ||
43 | { .clkdm_name = "l4per_clkdm" }, | ||
44 | { NULL }, | ||
45 | }; | ||
46 | |||
47 | static struct clkdm_dep cam_wkup_sleep_deps[] = { | ||
48 | { .clkdm_name = "emif_clkdm" }, | ||
49 | { .clkdm_name = "iva_clkdm" }, | ||
50 | { .clkdm_name = "l3main1_clkdm" }, | ||
51 | { NULL }, | ||
52 | }; | ||
53 | |||
54 | static struct clkdm_dep dma_wkup_sleep_deps[] = { | ||
55 | { .clkdm_name = "abe_clkdm" }, | ||
56 | { .clkdm_name = "dss_clkdm" }, | ||
57 | { .clkdm_name = "emif_clkdm" }, | ||
58 | { .clkdm_name = "ipu_clkdm" }, | ||
59 | { .clkdm_name = "iva_clkdm" }, | ||
60 | { .clkdm_name = "l3init_clkdm" }, | ||
61 | { .clkdm_name = "l3main1_clkdm" }, | ||
62 | { .clkdm_name = "l4cfg_clkdm" }, | ||
63 | { .clkdm_name = "l4per_clkdm" }, | ||
64 | { .clkdm_name = "l4sec_clkdm" }, | ||
65 | { .clkdm_name = "wkupaon_clkdm" }, | ||
66 | { NULL }, | ||
67 | }; | ||
68 | |||
69 | static struct clkdm_dep dsp_wkup_sleep_deps[] = { | ||
70 | { .clkdm_name = "abe_clkdm" }, | ||
71 | { .clkdm_name = "emif_clkdm" }, | ||
72 | { .clkdm_name = "iva_clkdm" }, | ||
73 | { .clkdm_name = "l3init_clkdm" }, | ||
74 | { .clkdm_name = "l3main1_clkdm" }, | ||
75 | { .clkdm_name = "l3main2_clkdm" }, | ||
76 | { .clkdm_name = "l4cfg_clkdm" }, | ||
77 | { .clkdm_name = "l4per_clkdm" }, | ||
78 | { .clkdm_name = "wkupaon_clkdm" }, | ||
79 | { NULL }, | ||
80 | }; | ||
81 | |||
82 | static struct clkdm_dep dss_wkup_sleep_deps[] = { | ||
83 | { .clkdm_name = "emif_clkdm" }, | ||
84 | { .clkdm_name = "iva_clkdm" }, | ||
85 | { .clkdm_name = "l3main2_clkdm" }, | ||
86 | { NULL }, | ||
87 | }; | ||
88 | |||
89 | static struct clkdm_dep gpu_wkup_sleep_deps[] = { | ||
90 | { .clkdm_name = "emif_clkdm" }, | ||
91 | { .clkdm_name = "iva_clkdm" }, | ||
92 | { .clkdm_name = "l3main1_clkdm" }, | ||
93 | { NULL }, | ||
94 | }; | ||
95 | |||
96 | static struct clkdm_dep ipu_wkup_sleep_deps[] = { | ||
97 | { .clkdm_name = "abe_clkdm" }, | ||
98 | { .clkdm_name = "dsp_clkdm" }, | ||
99 | { .clkdm_name = "dss_clkdm" }, | ||
100 | { .clkdm_name = "emif_clkdm" }, | ||
101 | { .clkdm_name = "gpu_clkdm" }, | ||
102 | { .clkdm_name = "iva_clkdm" }, | ||
103 | { .clkdm_name = "l3init_clkdm" }, | ||
104 | { .clkdm_name = "l3main1_clkdm" }, | ||
105 | { .clkdm_name = "l3main2_clkdm" }, | ||
106 | { .clkdm_name = "l4cfg_clkdm" }, | ||
107 | { .clkdm_name = "l4per_clkdm" }, | ||
108 | { .clkdm_name = "l4sec_clkdm" }, | ||
109 | { .clkdm_name = "wkupaon_clkdm" }, | ||
110 | { NULL }, | ||
111 | }; | ||
112 | |||
113 | static struct clkdm_dep iva_wkup_sleep_deps[] = { | ||
114 | { .clkdm_name = "emif_clkdm" }, | ||
115 | { .clkdm_name = "l3main1_clkdm" }, | ||
116 | { NULL }, | ||
117 | }; | ||
118 | |||
119 | static struct clkdm_dep l3init_wkup_sleep_deps[] = { | ||
120 | { .clkdm_name = "abe_clkdm" }, | ||
121 | { .clkdm_name = "emif_clkdm" }, | ||
122 | { .clkdm_name = "iva_clkdm" }, | ||
123 | { .clkdm_name = "l4cfg_clkdm" }, | ||
124 | { .clkdm_name = "l4per_clkdm" }, | ||
125 | { .clkdm_name = "l4sec_clkdm" }, | ||
126 | { .clkdm_name = "wkupaon_clkdm" }, | ||
127 | { NULL }, | ||
128 | }; | ||
129 | |||
130 | static struct clkdm_dep l4sec_wkup_sleep_deps[] = { | ||
131 | { .clkdm_name = "emif_clkdm" }, | ||
132 | { .clkdm_name = "l3main1_clkdm" }, | ||
133 | { .clkdm_name = "l4per_clkdm" }, | ||
134 | { NULL }, | ||
135 | }; | ||
136 | |||
137 | static struct clkdm_dep mipiext_wkup_sleep_deps[] = { | ||
138 | { .clkdm_name = "abe_clkdm" }, | ||
139 | { .clkdm_name = "emif_clkdm" }, | ||
140 | { .clkdm_name = "iva_clkdm" }, | ||
141 | { .clkdm_name = "l3init_clkdm" }, | ||
142 | { .clkdm_name = "l3main1_clkdm" }, | ||
143 | { .clkdm_name = "l3main2_clkdm" }, | ||
144 | { .clkdm_name = "l4cfg_clkdm" }, | ||
145 | { .clkdm_name = "l4per_clkdm" }, | ||
146 | { NULL }, | ||
147 | }; | ||
148 | |||
149 | static struct clkdm_dep mpu_wkup_sleep_deps[] = { | ||
150 | { .clkdm_name = "abe_clkdm" }, | ||
151 | { .clkdm_name = "dsp_clkdm" }, | ||
152 | { .clkdm_name = "dss_clkdm" }, | ||
153 | { .clkdm_name = "emif_clkdm" }, | ||
154 | { .clkdm_name = "gpu_clkdm" }, | ||
155 | { .clkdm_name = "ipu_clkdm" }, | ||
156 | { .clkdm_name = "iva_clkdm" }, | ||
157 | { .clkdm_name = "l3init_clkdm" }, | ||
158 | { .clkdm_name = "l3main1_clkdm" }, | ||
159 | { .clkdm_name = "l3main2_clkdm" }, | ||
160 | { .clkdm_name = "l4cfg_clkdm" }, | ||
161 | { .clkdm_name = "l4per_clkdm" }, | ||
162 | { .clkdm_name = "l4sec_clkdm" }, | ||
163 | { .clkdm_name = "wkupaon_clkdm" }, | ||
164 | { NULL }, | ||
165 | }; | ||
166 | |||
167 | static struct clockdomain l4sec_54xx_clkdm = { | ||
168 | .name = "l4sec_clkdm", | ||
169 | .pwrdm = { .name = "core_pwrdm" }, | ||
170 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
171 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
172 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_L4SEC_CDOFFS, | ||
173 | .dep_bit = OMAP54XX_L4SEC_STATDEP_SHIFT, | ||
174 | .wkdep_srcs = l4sec_wkup_sleep_deps, | ||
175 | .sleepdep_srcs = l4sec_wkup_sleep_deps, | ||
176 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
177 | }; | ||
178 | |||
179 | static struct clockdomain iva_54xx_clkdm = { | ||
180 | .name = "iva_clkdm", | ||
181 | .pwrdm = { .name = "iva_pwrdm" }, | ||
182 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
183 | .cm_inst = OMAP54XX_CM_CORE_IVA_INST, | ||
184 | .clkdm_offs = OMAP54XX_CM_CORE_IVA_IVA_CDOFFS, | ||
185 | .dep_bit = OMAP54XX_IVA_STATDEP_SHIFT, | ||
186 | .wkdep_srcs = iva_wkup_sleep_deps, | ||
187 | .sleepdep_srcs = iva_wkup_sleep_deps, | ||
188 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
189 | }; | ||
190 | |||
191 | static struct clockdomain mipiext_54xx_clkdm = { | ||
192 | .name = "mipiext_clkdm", | ||
193 | .pwrdm = { .name = "core_pwrdm" }, | ||
194 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
195 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
196 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_MIPIEXT_CDOFFS, | ||
197 | .wkdep_srcs = mipiext_wkup_sleep_deps, | ||
198 | .sleepdep_srcs = mipiext_wkup_sleep_deps, | ||
199 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
200 | }; | ||
201 | |||
202 | static struct clockdomain l3main2_54xx_clkdm = { | ||
203 | .name = "l3main2_clkdm", | ||
204 | .pwrdm = { .name = "core_pwrdm" }, | ||
205 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
206 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
207 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_L3MAIN2_CDOFFS, | ||
208 | .dep_bit = OMAP54XX_L3MAIN2_STATDEP_SHIFT, | ||
209 | .flags = CLKDM_CAN_HWSUP, | ||
210 | }; | ||
211 | |||
212 | static struct clockdomain l3main1_54xx_clkdm = { | ||
213 | .name = "l3main1_clkdm", | ||
214 | .pwrdm = { .name = "core_pwrdm" }, | ||
215 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
216 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
217 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_L3MAIN1_CDOFFS, | ||
218 | .dep_bit = OMAP54XX_L3MAIN1_STATDEP_SHIFT, | ||
219 | .flags = CLKDM_CAN_HWSUP, | ||
220 | }; | ||
221 | |||
222 | static struct clockdomain custefuse_54xx_clkdm = { | ||
223 | .name = "custefuse_clkdm", | ||
224 | .pwrdm = { .name = "custefuse_pwrdm" }, | ||
225 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
226 | .cm_inst = OMAP54XX_CM_CORE_CUSTEFUSE_INST, | ||
227 | .clkdm_offs = OMAP54XX_CM_CORE_CUSTEFUSE_CUSTEFUSE_CDOFFS, | ||
228 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
229 | }; | ||
230 | |||
231 | static struct clockdomain ipu_54xx_clkdm = { | ||
232 | .name = "ipu_clkdm", | ||
233 | .pwrdm = { .name = "core_pwrdm" }, | ||
234 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
235 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
236 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_IPU_CDOFFS, | ||
237 | .dep_bit = OMAP54XX_IPU_STATDEP_SHIFT, | ||
238 | .wkdep_srcs = ipu_wkup_sleep_deps, | ||
239 | .sleepdep_srcs = ipu_wkup_sleep_deps, | ||
240 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
241 | }; | ||
242 | |||
243 | static struct clockdomain l4cfg_54xx_clkdm = { | ||
244 | .name = "l4cfg_clkdm", | ||
245 | .pwrdm = { .name = "core_pwrdm" }, | ||
246 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
247 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
248 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_L4CFG_CDOFFS, | ||
249 | .dep_bit = OMAP54XX_L4CFG_STATDEP_SHIFT, | ||
250 | .flags = CLKDM_CAN_HWSUP, | ||
251 | }; | ||
252 | |||
253 | static struct clockdomain abe_54xx_clkdm = { | ||
254 | .name = "abe_clkdm", | ||
255 | .pwrdm = { .name = "abe_pwrdm" }, | ||
256 | .prcm_partition = OMAP54XX_CM_CORE_AON_PARTITION, | ||
257 | .cm_inst = OMAP54XX_CM_CORE_AON_ABE_INST, | ||
258 | .clkdm_offs = OMAP54XX_CM_CORE_AON_ABE_ABE_CDOFFS, | ||
259 | .dep_bit = OMAP54XX_ABE_STATDEP_SHIFT, | ||
260 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
261 | }; | ||
262 | |||
263 | static struct clockdomain dss_54xx_clkdm = { | ||
264 | .name = "dss_clkdm", | ||
265 | .pwrdm = { .name = "dss_pwrdm" }, | ||
266 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
267 | .cm_inst = OMAP54XX_CM_CORE_DSS_INST, | ||
268 | .clkdm_offs = OMAP54XX_CM_CORE_DSS_DSS_CDOFFS, | ||
269 | .dep_bit = OMAP54XX_DSS_STATDEP_SHIFT, | ||
270 | .wkdep_srcs = dss_wkup_sleep_deps, | ||
271 | .sleepdep_srcs = dss_wkup_sleep_deps, | ||
272 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
273 | }; | ||
274 | |||
275 | static struct clockdomain dsp_54xx_clkdm = { | ||
276 | .name = "dsp_clkdm", | ||
277 | .pwrdm = { .name = "dsp_pwrdm" }, | ||
278 | .prcm_partition = OMAP54XX_CM_CORE_AON_PARTITION, | ||
279 | .cm_inst = OMAP54XX_CM_CORE_AON_DSP_INST, | ||
280 | .clkdm_offs = OMAP54XX_CM_CORE_AON_DSP_DSP_CDOFFS, | ||
281 | .dep_bit = OMAP54XX_DSP_STATDEP_SHIFT, | ||
282 | .wkdep_srcs = dsp_wkup_sleep_deps, | ||
283 | .sleepdep_srcs = dsp_wkup_sleep_deps, | ||
284 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
285 | }; | ||
286 | |||
287 | static struct clockdomain c2c_54xx_clkdm = { | ||
288 | .name = "c2c_clkdm", | ||
289 | .pwrdm = { .name = "core_pwrdm" }, | ||
290 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
291 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
292 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_C2C_CDOFFS, | ||
293 | .wkdep_srcs = c2c_wkup_sleep_deps, | ||
294 | .sleepdep_srcs = c2c_wkup_sleep_deps, | ||
295 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
296 | }; | ||
297 | |||
298 | static struct clockdomain l4per_54xx_clkdm = { | ||
299 | .name = "l4per_clkdm", | ||
300 | .pwrdm = { .name = "core_pwrdm" }, | ||
301 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
302 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
303 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_L4PER_CDOFFS, | ||
304 | .dep_bit = OMAP54XX_L4PER_STATDEP_SHIFT, | ||
305 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
306 | }; | ||
307 | |||
308 | static struct clockdomain gpu_54xx_clkdm = { | ||
309 | .name = "gpu_clkdm", | ||
310 | .pwrdm = { .name = "gpu_pwrdm" }, | ||
311 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
312 | .cm_inst = OMAP54XX_CM_CORE_GPU_INST, | ||
313 | .clkdm_offs = OMAP54XX_CM_CORE_GPU_GPU_CDOFFS, | ||
314 | .dep_bit = OMAP54XX_GPU_STATDEP_SHIFT, | ||
315 | .wkdep_srcs = gpu_wkup_sleep_deps, | ||
316 | .sleepdep_srcs = gpu_wkup_sleep_deps, | ||
317 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
318 | }; | ||
319 | |||
320 | static struct clockdomain wkupaon_54xx_clkdm = { | ||
321 | .name = "wkupaon_clkdm", | ||
322 | .pwrdm = { .name = "wkupaon_pwrdm" }, | ||
323 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
324 | .cm_inst = OMAP54XX_PRM_WKUPAON_CM_INST, | ||
325 | .clkdm_offs = OMAP54XX_PRM_WKUPAON_CM_WKUPAON_CDOFFS, | ||
326 | .dep_bit = OMAP54XX_WKUPAON_STATDEP_SHIFT, | ||
327 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
328 | }; | ||
329 | |||
330 | static struct clockdomain mpu0_54xx_clkdm = { | ||
331 | .name = "mpu0_clkdm", | ||
332 | .pwrdm = { .name = "cpu0_pwrdm" }, | ||
333 | .prcm_partition = OMAP54XX_PRCM_MPU_PARTITION, | ||
334 | .cm_inst = OMAP54XX_PRCM_MPU_CM_C0_INST, | ||
335 | .clkdm_offs = OMAP54XX_PRCM_MPU_CM_C0_CPU0_CDOFFS, | ||
336 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
337 | }; | ||
338 | |||
339 | static struct clockdomain mpu1_54xx_clkdm = { | ||
340 | .name = "mpu1_clkdm", | ||
341 | .pwrdm = { .name = "cpu1_pwrdm" }, | ||
342 | .prcm_partition = OMAP54XX_PRCM_MPU_PARTITION, | ||
343 | .cm_inst = OMAP54XX_PRCM_MPU_CM_C1_INST, | ||
344 | .clkdm_offs = OMAP54XX_PRCM_MPU_CM_C1_CPU1_CDOFFS, | ||
345 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
346 | }; | ||
347 | |||
348 | static struct clockdomain coreaon_54xx_clkdm = { | ||
349 | .name = "coreaon_clkdm", | ||
350 | .pwrdm = { .name = "coreaon_pwrdm" }, | ||
351 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
352 | .cm_inst = OMAP54XX_CM_CORE_COREAON_INST, | ||
353 | .clkdm_offs = OMAP54XX_CM_CORE_COREAON_COREAON_CDOFFS, | ||
354 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
355 | }; | ||
356 | |||
357 | static struct clockdomain mpu_54xx_clkdm = { | ||
358 | .name = "mpu_clkdm", | ||
359 | .pwrdm = { .name = "mpu_pwrdm" }, | ||
360 | .prcm_partition = OMAP54XX_CM_CORE_AON_PARTITION, | ||
361 | .cm_inst = OMAP54XX_CM_CORE_AON_MPU_INST, | ||
362 | .clkdm_offs = OMAP54XX_CM_CORE_AON_MPU_MPU_CDOFFS, | ||
363 | .wkdep_srcs = mpu_wkup_sleep_deps, | ||
364 | .sleepdep_srcs = mpu_wkup_sleep_deps, | ||
365 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
366 | }; | ||
367 | |||
368 | static struct clockdomain l3init_54xx_clkdm = { | ||
369 | .name = "l3init_clkdm", | ||
370 | .pwrdm = { .name = "l3init_pwrdm" }, | ||
371 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
372 | .cm_inst = OMAP54XX_CM_CORE_L3INIT_INST, | ||
373 | .clkdm_offs = OMAP54XX_CM_CORE_L3INIT_L3INIT_CDOFFS, | ||
374 | .dep_bit = OMAP54XX_L3INIT_STATDEP_SHIFT, | ||
375 | .wkdep_srcs = l3init_wkup_sleep_deps, | ||
376 | .sleepdep_srcs = l3init_wkup_sleep_deps, | ||
377 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
378 | }; | ||
379 | |||
380 | static struct clockdomain dma_54xx_clkdm = { | ||
381 | .name = "dma_clkdm", | ||
382 | .pwrdm = { .name = "core_pwrdm" }, | ||
383 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
384 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
385 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_DMA_CDOFFS, | ||
386 | .wkdep_srcs = dma_wkup_sleep_deps, | ||
387 | .sleepdep_srcs = dma_wkup_sleep_deps, | ||
388 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
389 | }; | ||
390 | |||
391 | static struct clockdomain l3instr_54xx_clkdm = { | ||
392 | .name = "l3instr_clkdm", | ||
393 | .pwrdm = { .name = "core_pwrdm" }, | ||
394 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
395 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
396 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_L3INSTR_CDOFFS, | ||
397 | }; | ||
398 | |||
399 | static struct clockdomain emif_54xx_clkdm = { | ||
400 | .name = "emif_clkdm", | ||
401 | .pwrdm = { .name = "core_pwrdm" }, | ||
402 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
403 | .cm_inst = OMAP54XX_CM_CORE_CORE_INST, | ||
404 | .clkdm_offs = OMAP54XX_CM_CORE_CORE_EMIF_CDOFFS, | ||
405 | .dep_bit = OMAP54XX_EMIF_STATDEP_SHIFT, | ||
406 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
407 | }; | ||
408 | |||
409 | static struct clockdomain emu_54xx_clkdm = { | ||
410 | .name = "emu_clkdm", | ||
411 | .pwrdm = { .name = "emu_pwrdm" }, | ||
412 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
413 | .cm_inst = OMAP54XX_PRM_EMU_CM_INST, | ||
414 | .clkdm_offs = OMAP54XX_PRM_EMU_CM_EMU_CDOFFS, | ||
415 | .flags = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP, | ||
416 | }; | ||
417 | |||
418 | static struct clockdomain cam_54xx_clkdm = { | ||
419 | .name = "cam_clkdm", | ||
420 | .pwrdm = { .name = "cam_pwrdm" }, | ||
421 | .prcm_partition = OMAP54XX_CM_CORE_PARTITION, | ||
422 | .cm_inst = OMAP54XX_CM_CORE_CAM_INST, | ||
423 | .clkdm_offs = OMAP54XX_CM_CORE_CAM_CAM_CDOFFS, | ||
424 | .wkdep_srcs = cam_wkup_sleep_deps, | ||
425 | .sleepdep_srcs = cam_wkup_sleep_deps, | ||
426 | .flags = CLKDM_CAN_HWSUP_SWSUP, | ||
427 | }; | ||
428 | |||
429 | /* As clockdomains are added or removed above, this list must also be changed */ | ||
430 | static struct clockdomain *clockdomains_omap54xx[] __initdata = { | ||
431 | &l4sec_54xx_clkdm, | ||
432 | &iva_54xx_clkdm, | ||
433 | &mipiext_54xx_clkdm, | ||
434 | &l3main2_54xx_clkdm, | ||
435 | &l3main1_54xx_clkdm, | ||
436 | &custefuse_54xx_clkdm, | ||
437 | &ipu_54xx_clkdm, | ||
438 | &l4cfg_54xx_clkdm, | ||
439 | &abe_54xx_clkdm, | ||
440 | &dss_54xx_clkdm, | ||
441 | &dsp_54xx_clkdm, | ||
442 | &c2c_54xx_clkdm, | ||
443 | &l4per_54xx_clkdm, | ||
444 | &gpu_54xx_clkdm, | ||
445 | &wkupaon_54xx_clkdm, | ||
446 | &mpu0_54xx_clkdm, | ||
447 | &mpu1_54xx_clkdm, | ||
448 | &coreaon_54xx_clkdm, | ||
449 | &mpu_54xx_clkdm, | ||
450 | &l3init_54xx_clkdm, | ||
451 | &dma_54xx_clkdm, | ||
452 | &l3instr_54xx_clkdm, | ||
453 | &emif_54xx_clkdm, | ||
454 | &emu_54xx_clkdm, | ||
455 | &cam_54xx_clkdm, | ||
456 | NULL | ||
457 | }; | ||
458 | |||
459 | void __init omap54xx_clockdomains_init(void) | ||
460 | { | ||
461 | clkdm_register_platform_funcs(&omap4_clkdm_operations); | ||
462 | clkdm_register_clkdms(clockdomains_omap54xx); | ||
463 | clkdm_complete_init(); | ||
464 | } | ||
diff --git a/arch/arm/mach-omap2/cm-regbits-54xx.h b/arch/arm/mach-omap2/cm-regbits-54xx.h new file mode 100644 index 000000000000..e83b8e352b6e --- /dev/null +++ b/arch/arm/mach-omap2/cm-regbits-54xx.h | |||
@@ -0,0 +1,1737 @@ | |||
1 | /* | ||
2 | * OMAP54xx Clock Management register bits | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley (paul@pwsan.com) | ||
7 | * Rajendra Nayak (rnayak@ti.com) | ||
8 | * Benoit Cousson (b-cousson@ti.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_54XX_H | ||
22 | #define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_54XX_H | ||
23 | |||
24 | /* Used by CM_DSP_DYNAMICDEP, CM_L3MAIN1_DYNAMICDEP, CM_MPU_DYNAMICDEP */ | ||
25 | #define OMAP54XX_ABE_DYNDEP_SHIFT 3 | ||
26 | #define OMAP54XX_ABE_DYNDEP_WIDTH 0x1 | ||
27 | #define OMAP54XX_ABE_DYNDEP_MASK (1 << 3) | ||
28 | |||
29 | /* | ||
30 | * Used by CM_C2C_STATICDEP, CM_DMA_STATICDEP, CM_DSP_STATICDEP, | ||
31 | * CM_IPU_STATICDEP, CM_L3INIT_STATICDEP, CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
32 | */ | ||
33 | #define OMAP54XX_ABE_STATDEP_SHIFT 3 | ||
34 | #define OMAP54XX_ABE_STATDEP_WIDTH 0x1 | ||
35 | #define OMAP54XX_ABE_STATDEP_MASK (1 << 3) | ||
36 | |||
37 | /* | ||
38 | * Used by CM_AUTOIDLE_DPLL_ABE, CM_AUTOIDLE_DPLL_CORE, CM_AUTOIDLE_DPLL_IVA, | ||
39 | * CM_AUTOIDLE_DPLL_MPU, CM_AUTOIDLE_DPLL_PER, CM_AUTOIDLE_DPLL_UNIPRO1, | ||
40 | * CM_AUTOIDLE_DPLL_UNIPRO2, CM_AUTOIDLE_DPLL_USB | ||
41 | */ | ||
42 | #define OMAP54XX_AUTO_DPLL_MODE_SHIFT 0 | ||
43 | #define OMAP54XX_AUTO_DPLL_MODE_WIDTH 0x3 | ||
44 | #define OMAP54XX_AUTO_DPLL_MODE_MASK (0x7 << 0) | ||
45 | |||
46 | /* Used by CM_L3MAIN2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP */ | ||
47 | #define OMAP54XX_C2C_DYNDEP_SHIFT 18 | ||
48 | #define OMAP54XX_C2C_DYNDEP_WIDTH 0x1 | ||
49 | #define OMAP54XX_C2C_DYNDEP_MASK (1 << 18) | ||
50 | |||
51 | /* Used by CM_MPU_STATICDEP */ | ||
52 | #define OMAP54XX_C2C_STATDEP_SHIFT 18 | ||
53 | #define OMAP54XX_C2C_STATDEP_WIDTH 0x1 | ||
54 | #define OMAP54XX_C2C_STATDEP_MASK (1 << 18) | ||
55 | |||
56 | /* Used by CM_IPU_DYNAMICDEP, CM_L3MAIN2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP */ | ||
57 | #define OMAP54XX_CAM_DYNDEP_SHIFT 9 | ||
58 | #define OMAP54XX_CAM_DYNDEP_WIDTH 0x1 | ||
59 | #define OMAP54XX_CAM_DYNDEP_MASK (1 << 9) | ||
60 | |||
61 | /* | ||
62 | * Used by CM_DMA_STATICDEP, CM_DSP_STATICDEP, CM_IPU_STATICDEP, | ||
63 | * CM_MPU_STATICDEP | ||
64 | */ | ||
65 | #define OMAP54XX_CAM_STATDEP_SHIFT 9 | ||
66 | #define OMAP54XX_CAM_STATDEP_WIDTH 0x1 | ||
67 | #define OMAP54XX_CAM_STATDEP_MASK (1 << 9) | ||
68 | |||
69 | /* Used by CM_ABE_CLKSTCTRL */ | ||
70 | #define OMAP54XX_CLKACTIVITY_ABE_24M_GFCLK_SHIFT 13 | ||
71 | #define OMAP54XX_CLKACTIVITY_ABE_24M_GFCLK_WIDTH 0x1 | ||
72 | #define OMAP54XX_CLKACTIVITY_ABE_24M_GFCLK_MASK (1 << 13) | ||
73 | |||
74 | /* Used by CM_ABE_CLKSTCTRL */ | ||
75 | #define OMAP54XX_CLKACTIVITY_ABE_32K_CLK_SHIFT 12 | ||
76 | #define OMAP54XX_CLKACTIVITY_ABE_32K_CLK_WIDTH 0x1 | ||
77 | #define OMAP54XX_CLKACTIVITY_ABE_32K_CLK_MASK (1 << 12) | ||
78 | |||
79 | /* Used by CM_ABE_CLKSTCTRL */ | ||
80 | #define OMAP54XX_CLKACTIVITY_ABE_GICLK_SHIFT 9 | ||
81 | #define OMAP54XX_CLKACTIVITY_ABE_GICLK_WIDTH 0x1 | ||
82 | #define OMAP54XX_CLKACTIVITY_ABE_GICLK_MASK (1 << 9) | ||
83 | |||
84 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
85 | #define OMAP54XX_CLKACTIVITY_ABE_LP_CLK_SHIFT 9 | ||
86 | #define OMAP54XX_CLKACTIVITY_ABE_LP_CLK_WIDTH 0x1 | ||
87 | #define OMAP54XX_CLKACTIVITY_ABE_LP_CLK_MASK (1 << 9) | ||
88 | |||
89 | /* Used by CM_ABE_CLKSTCTRL */ | ||
90 | #define OMAP54XX_CLKACTIVITY_ABE_SYS_CLK_SHIFT 11 | ||
91 | #define OMAP54XX_CLKACTIVITY_ABE_SYS_CLK_WIDTH 0x1 | ||
92 | #define OMAP54XX_CLKACTIVITY_ABE_SYS_CLK_MASK (1 << 11) | ||
93 | |||
94 | /* Used by CM_ABE_CLKSTCTRL */ | ||
95 | #define OMAP54XX_CLKACTIVITY_ABE_X2_CLK_SHIFT 8 | ||
96 | #define OMAP54XX_CLKACTIVITY_ABE_X2_CLK_WIDTH 0x1 | ||
97 | #define OMAP54XX_CLKACTIVITY_ABE_X2_CLK_MASK (1 << 8) | ||
98 | |||
99 | /* Used by CM_DSS_CLKSTCTRL */ | ||
100 | #define OMAP54XX_CLKACTIVITY_BB2D_GFCLK_SHIFT 13 | ||
101 | #define OMAP54XX_CLKACTIVITY_BB2D_GFCLK_WIDTH 0x1 | ||
102 | #define OMAP54XX_CLKACTIVITY_BB2D_GFCLK_MASK (1 << 13) | ||
103 | |||
104 | /* Used by CM_C2C_CLKSTCTRL */ | ||
105 | #define OMAP54XX_CLKACTIVITY_C2C_GFCLK_SHIFT 9 | ||
106 | #define OMAP54XX_CLKACTIVITY_C2C_GFCLK_WIDTH 0x1 | ||
107 | #define OMAP54XX_CLKACTIVITY_C2C_GFCLK_MASK (1 << 9) | ||
108 | |||
109 | /* Used by CM_C2C_CLKSTCTRL */ | ||
110 | #define OMAP54XX_CLKACTIVITY_C2C_GICLK_SHIFT 10 | ||
111 | #define OMAP54XX_CLKACTIVITY_C2C_GICLK_WIDTH 0x1 | ||
112 | #define OMAP54XX_CLKACTIVITY_C2C_GICLK_MASK (1 << 10) | ||
113 | |||
114 | /* Used by CM_C2C_CLKSTCTRL */ | ||
115 | #define OMAP54XX_CLKACTIVITY_C2C_L4_GICLK_SHIFT 8 | ||
116 | #define OMAP54XX_CLKACTIVITY_C2C_L4_GICLK_WIDTH 0x1 | ||
117 | #define OMAP54XX_CLKACTIVITY_C2C_L4_GICLK_MASK (1 << 8) | ||
118 | |||
119 | /* Used by CM_CAM_CLKSTCTRL */ | ||
120 | #define OMAP54XX_CLKACTIVITY_CAM_BOOST_GCLK_SHIFT 11 | ||
121 | #define OMAP54XX_CLKACTIVITY_CAM_BOOST_GCLK_WIDTH 0x1 | ||
122 | #define OMAP54XX_CLKACTIVITY_CAM_BOOST_GCLK_MASK (1 << 11) | ||
123 | |||
124 | /* Used by CM_CAM_CLKSTCTRL */ | ||
125 | #define OMAP54XX_CLKACTIVITY_CAM_GCLK_SHIFT 8 | ||
126 | #define OMAP54XX_CLKACTIVITY_CAM_GCLK_WIDTH 0x1 | ||
127 | #define OMAP54XX_CLKACTIVITY_CAM_GCLK_MASK (1 << 8) | ||
128 | |||
129 | /* Used by CM_CAM_CLKSTCTRL */ | ||
130 | #define OMAP54XX_CLKACTIVITY_CAM_L3_GICLK_SHIFT 12 | ||
131 | #define OMAP54XX_CLKACTIVITY_CAM_L3_GICLK_WIDTH 0x1 | ||
132 | #define OMAP54XX_CLKACTIVITY_CAM_L3_GICLK_MASK (1 << 12) | ||
133 | |||
134 | /* Used by CM_COREAON_CLKSTCTRL */ | ||
135 | #define OMAP54XX_CLKACTIVITY_COREAON_32K_GFCLK_SHIFT 12 | ||
136 | #define OMAP54XX_CLKACTIVITY_COREAON_32K_GFCLK_WIDTH 0x1 | ||
137 | #define OMAP54XX_CLKACTIVITY_COREAON_32K_GFCLK_MASK (1 << 12) | ||
138 | |||
139 | /* Used by CM_COREAON_CLKSTCTRL */ | ||
140 | #define OMAP54XX_CLKACTIVITY_COREAON_IO_SRCOMP_GFCLK_SHIFT 14 | ||
141 | #define OMAP54XX_CLKACTIVITY_COREAON_IO_SRCOMP_GFCLK_WIDTH 0x1 | ||
142 | #define OMAP54XX_CLKACTIVITY_COREAON_IO_SRCOMP_GFCLK_MASK (1 << 14) | ||
143 | |||
144 | /* Used by CM_COREAON_CLKSTCTRL */ | ||
145 | #define OMAP54XX_CLKACTIVITY_COREAON_L4_GICLK_SHIFT 8 | ||
146 | #define OMAP54XX_CLKACTIVITY_COREAON_L4_GICLK_WIDTH 0x1 | ||
147 | #define OMAP54XX_CLKACTIVITY_COREAON_L4_GICLK_MASK (1 << 8) | ||
148 | |||
149 | /* Used by CM_CAM_CLKSTCTRL */ | ||
150 | #define OMAP54XX_CLKACTIVITY_CSI_PHY_GFCLK_SHIFT 9 | ||
151 | #define OMAP54XX_CLKACTIVITY_CSI_PHY_GFCLK_WIDTH 0x1 | ||
152 | #define OMAP54XX_CLKACTIVITY_CSI_PHY_GFCLK_MASK (1 << 9) | ||
153 | |||
154 | /* Used by CM_CUSTEFUSE_CLKSTCTRL */ | ||
155 | #define OMAP54XX_CLKACTIVITY_CUSTEFUSE_L4_GICLK_SHIFT 8 | ||
156 | #define OMAP54XX_CLKACTIVITY_CUSTEFUSE_L4_GICLK_WIDTH 0x1 | ||
157 | #define OMAP54XX_CLKACTIVITY_CUSTEFUSE_L4_GICLK_MASK (1 << 8) | ||
158 | |||
159 | /* Used by CM_CUSTEFUSE_CLKSTCTRL */ | ||
160 | #define OMAP54XX_CLKACTIVITY_CUSTEFUSE_SYS_GFCLK_SHIFT 9 | ||
161 | #define OMAP54XX_CLKACTIVITY_CUSTEFUSE_SYS_GFCLK_WIDTH 0x1 | ||
162 | #define OMAP54XX_CLKACTIVITY_CUSTEFUSE_SYS_GFCLK_MASK (1 << 9) | ||
163 | |||
164 | /* Used by CM_EMIF_CLKSTCTRL */ | ||
165 | #define OMAP54XX_CLKACTIVITY_DLL_GCLK_SHIFT 9 | ||
166 | #define OMAP54XX_CLKACTIVITY_DLL_GCLK_WIDTH 0x1 | ||
167 | #define OMAP54XX_CLKACTIVITY_DLL_GCLK_MASK (1 << 9) | ||
168 | |||
169 | /* Used by CM_DMA_CLKSTCTRL */ | ||
170 | #define OMAP54XX_CLKACTIVITY_DMA_L3_GICLK_SHIFT 8 | ||
171 | #define OMAP54XX_CLKACTIVITY_DMA_L3_GICLK_WIDTH 0x1 | ||
172 | #define OMAP54XX_CLKACTIVITY_DMA_L3_GICLK_MASK (1 << 8) | ||
173 | |||
174 | /* Used by CM_DSP_CLKSTCTRL */ | ||
175 | #define OMAP54XX_CLKACTIVITY_DSP_GCLK_SHIFT 8 | ||
176 | #define OMAP54XX_CLKACTIVITY_DSP_GCLK_WIDTH 0x1 | ||
177 | #define OMAP54XX_CLKACTIVITY_DSP_GCLK_MASK (1 << 8) | ||
178 | |||
179 | /* Used by CM_DSS_CLKSTCTRL */ | ||
180 | #define OMAP54XX_CLKACTIVITY_DSS_GFCLK_SHIFT 9 | ||
181 | #define OMAP54XX_CLKACTIVITY_DSS_GFCLK_WIDTH 0x1 | ||
182 | #define OMAP54XX_CLKACTIVITY_DSS_GFCLK_MASK (1 << 9) | ||
183 | |||
184 | /* Used by CM_DSS_CLKSTCTRL */ | ||
185 | #define OMAP54XX_CLKACTIVITY_DSS_L3_GICLK_SHIFT 8 | ||
186 | #define OMAP54XX_CLKACTIVITY_DSS_L3_GICLK_WIDTH 0x1 | ||
187 | #define OMAP54XX_CLKACTIVITY_DSS_L3_GICLK_MASK (1 << 8) | ||
188 | |||
189 | /* Used by CM_DSS_CLKSTCTRL */ | ||
190 | #define OMAP54XX_CLKACTIVITY_DSS_SYS_GFCLK_SHIFT 10 | ||
191 | #define OMAP54XX_CLKACTIVITY_DSS_SYS_GFCLK_WIDTH 0x1 | ||
192 | #define OMAP54XX_CLKACTIVITY_DSS_SYS_GFCLK_MASK (1 << 10) | ||
193 | |||
194 | /* Used by CM_EMIF_CLKSTCTRL */ | ||
195 | #define OMAP54XX_CLKACTIVITY_EMIF_L3_GICLK_SHIFT 8 | ||
196 | #define OMAP54XX_CLKACTIVITY_EMIF_L3_GICLK_WIDTH 0x1 | ||
197 | #define OMAP54XX_CLKACTIVITY_EMIF_L3_GICLK_MASK (1 << 8) | ||
198 | |||
199 | /* Used by CM_EMIF_CLKSTCTRL */ | ||
200 | #define OMAP54XX_CLKACTIVITY_EMIF_LL_GCLK_SHIFT 11 | ||
201 | #define OMAP54XX_CLKACTIVITY_EMIF_LL_GCLK_WIDTH 0x1 | ||
202 | #define OMAP54XX_CLKACTIVITY_EMIF_LL_GCLK_MASK (1 << 11) | ||
203 | |||
204 | /* Used by CM_EMIF_CLKSTCTRL */ | ||
205 | #define OMAP54XX_CLKACTIVITY_EMIF_PHY_GCLK_SHIFT 10 | ||
206 | #define OMAP54XX_CLKACTIVITY_EMIF_PHY_GCLK_WIDTH 0x1 | ||
207 | #define OMAP54XX_CLKACTIVITY_EMIF_PHY_GCLK_MASK (1 << 10) | ||
208 | |||
209 | /* Used by CM_EMU_CLKSTCTRL */ | ||
210 | #define OMAP54XX_CLKACTIVITY_EMU_SYS_GCLK_SHIFT 8 | ||
211 | #define OMAP54XX_CLKACTIVITY_EMU_SYS_GCLK_WIDTH 0x1 | ||
212 | #define OMAP54XX_CLKACTIVITY_EMU_SYS_GCLK_MASK (1 << 8) | ||
213 | |||
214 | /* Used by CM_CAM_CLKSTCTRL */ | ||
215 | #define OMAP54XX_CLKACTIVITY_FDIF_GCLK_SHIFT 10 | ||
216 | #define OMAP54XX_CLKACTIVITY_FDIF_GCLK_WIDTH 0x1 | ||
217 | #define OMAP54XX_CLKACTIVITY_FDIF_GCLK_MASK (1 << 10) | ||
218 | |||
219 | /* Used by CM_ABE_CLKSTCTRL */ | ||
220 | #define OMAP54XX_CLKACTIVITY_FUNC_24M_GFCLK_SHIFT 10 | ||
221 | #define OMAP54XX_CLKACTIVITY_FUNC_24M_GFCLK_WIDTH 0x1 | ||
222 | #define OMAP54XX_CLKACTIVITY_FUNC_24M_GFCLK_MASK (1 << 10) | ||
223 | |||
224 | /* Used by CM_GPU_CLKSTCTRL */ | ||
225 | #define OMAP54XX_CLKACTIVITY_GPU_CORE_GCLK_SHIFT 9 | ||
226 | #define OMAP54XX_CLKACTIVITY_GPU_CORE_GCLK_WIDTH 0x1 | ||
227 | #define OMAP54XX_CLKACTIVITY_GPU_CORE_GCLK_MASK (1 << 9) | ||
228 | |||
229 | /* Used by CM_GPU_CLKSTCTRL */ | ||
230 | #define OMAP54XX_CLKACTIVITY_GPU_HYD_GCLK_SHIFT 10 | ||
231 | #define OMAP54XX_CLKACTIVITY_GPU_HYD_GCLK_WIDTH 0x1 | ||
232 | #define OMAP54XX_CLKACTIVITY_GPU_HYD_GCLK_MASK (1 << 10) | ||
233 | |||
234 | /* Used by CM_GPU_CLKSTCTRL */ | ||
235 | #define OMAP54XX_CLKACTIVITY_GPU_SYS_GCLK_SHIFT 8 | ||
236 | #define OMAP54XX_CLKACTIVITY_GPU_SYS_GCLK_WIDTH 0x1 | ||
237 | #define OMAP54XX_CLKACTIVITY_GPU_SYS_GCLK_MASK (1 << 8) | ||
238 | |||
239 | /* Used by CM_DSS_CLKSTCTRL */ | ||
240 | #define OMAP54XX_CLKACTIVITY_HDMI_CEC_GFCLK_SHIFT 12 | ||
241 | #define OMAP54XX_CLKACTIVITY_HDMI_CEC_GFCLK_WIDTH 0x1 | ||
242 | #define OMAP54XX_CLKACTIVITY_HDMI_CEC_GFCLK_MASK (1 << 12) | ||
243 | |||
244 | /* Used by CM_DSS_CLKSTCTRL */ | ||
245 | #define OMAP54XX_CLKACTIVITY_HDMI_PHY_GFCLK_SHIFT 11 | ||
246 | #define OMAP54XX_CLKACTIVITY_HDMI_PHY_GFCLK_WIDTH 0x1 | ||
247 | #define OMAP54XX_CLKACTIVITY_HDMI_PHY_GFCLK_MASK (1 << 11) | ||
248 | |||
249 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
250 | #define OMAP54XX_CLKACTIVITY_HSIC_P1_480M_GFCLK_SHIFT 20 | ||
251 | #define OMAP54XX_CLKACTIVITY_HSIC_P1_480M_GFCLK_WIDTH 0x1 | ||
252 | #define OMAP54XX_CLKACTIVITY_HSIC_P1_480M_GFCLK_MASK (1 << 20) | ||
253 | |||
254 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
255 | #define OMAP54XX_CLKACTIVITY_HSIC_P1_GFCLK_SHIFT 26 | ||
256 | #define OMAP54XX_CLKACTIVITY_HSIC_P1_GFCLK_WIDTH 0x1 | ||
257 | #define OMAP54XX_CLKACTIVITY_HSIC_P1_GFCLK_MASK (1 << 26) | ||
258 | |||
259 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
260 | #define OMAP54XX_CLKACTIVITY_HSIC_P2_480M_GFCLK_SHIFT 21 | ||
261 | #define OMAP54XX_CLKACTIVITY_HSIC_P2_480M_GFCLK_WIDTH 0x1 | ||
262 | #define OMAP54XX_CLKACTIVITY_HSIC_P2_480M_GFCLK_MASK (1 << 21) | ||
263 | |||
264 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
265 | #define OMAP54XX_CLKACTIVITY_HSIC_P2_GFCLK_SHIFT 27 | ||
266 | #define OMAP54XX_CLKACTIVITY_HSIC_P2_GFCLK_WIDTH 0x1 | ||
267 | #define OMAP54XX_CLKACTIVITY_HSIC_P2_GFCLK_MASK (1 << 27) | ||
268 | |||
269 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
270 | #define OMAP54XX_CLKACTIVITY_HSIC_P3_480M_GFCLK_SHIFT 6 | ||
271 | #define OMAP54XX_CLKACTIVITY_HSIC_P3_480M_GFCLK_WIDTH 0x1 | ||
272 | #define OMAP54XX_CLKACTIVITY_HSIC_P3_480M_GFCLK_MASK (1 << 6) | ||
273 | |||
274 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
275 | #define OMAP54XX_CLKACTIVITY_HSIC_P3_GFCLK_SHIFT 7 | ||
276 | #define OMAP54XX_CLKACTIVITY_HSIC_P3_GFCLK_WIDTH 0x1 | ||
277 | #define OMAP54XX_CLKACTIVITY_HSIC_P3_GFCLK_MASK (1 << 7) | ||
278 | |||
279 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
280 | #define OMAP54XX_CLKACTIVITY_HSI_GFCLK_SHIFT 16 | ||
281 | #define OMAP54XX_CLKACTIVITY_HSI_GFCLK_WIDTH 0x1 | ||
282 | #define OMAP54XX_CLKACTIVITY_HSI_GFCLK_MASK (1 << 16) | ||
283 | |||
284 | /* Used by CM_IPU_CLKSTCTRL */ | ||
285 | #define OMAP54XX_CLKACTIVITY_IPU_GCLK_SHIFT 8 | ||
286 | #define OMAP54XX_CLKACTIVITY_IPU_GCLK_WIDTH 0x1 | ||
287 | #define OMAP54XX_CLKACTIVITY_IPU_GCLK_MASK (1 << 8) | ||
288 | |||
289 | /* Used by CM_IVA_CLKSTCTRL */ | ||
290 | #define OMAP54XX_CLKACTIVITY_IVA_GCLK_SHIFT 8 | ||
291 | #define OMAP54XX_CLKACTIVITY_IVA_GCLK_WIDTH 0x1 | ||
292 | #define OMAP54XX_CLKACTIVITY_IVA_GCLK_MASK (1 << 8) | ||
293 | |||
294 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
295 | #define OMAP54XX_CLKACTIVITY_L3INIT_48M_GFCLK_SHIFT 12 | ||
296 | #define OMAP54XX_CLKACTIVITY_L3INIT_48M_GFCLK_WIDTH 0x1 | ||
297 | #define OMAP54XX_CLKACTIVITY_L3INIT_48M_GFCLK_MASK (1 << 12) | ||
298 | |||
299 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
300 | #define OMAP54XX_CLKACTIVITY_L3INIT_60M_P1_GFCLK_SHIFT 28 | ||
301 | #define OMAP54XX_CLKACTIVITY_L3INIT_60M_P1_GFCLK_WIDTH 0x1 | ||
302 | #define OMAP54XX_CLKACTIVITY_L3INIT_60M_P1_GFCLK_MASK (1 << 28) | ||
303 | |||
304 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
305 | #define OMAP54XX_CLKACTIVITY_L3INIT_60M_P2_GFCLK_SHIFT 29 | ||
306 | #define OMAP54XX_CLKACTIVITY_L3INIT_60M_P2_GFCLK_WIDTH 0x1 | ||
307 | #define OMAP54XX_CLKACTIVITY_L3INIT_60M_P2_GFCLK_MASK (1 << 29) | ||
308 | |||
309 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
310 | #define OMAP54XX_CLKACTIVITY_L3INIT_L3_GICLK_SHIFT 8 | ||
311 | #define OMAP54XX_CLKACTIVITY_L3INIT_L3_GICLK_WIDTH 0x1 | ||
312 | #define OMAP54XX_CLKACTIVITY_L3INIT_L3_GICLK_MASK (1 << 8) | ||
313 | |||
314 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
315 | #define OMAP54XX_CLKACTIVITY_L3INIT_L4_GICLK_SHIFT 9 | ||
316 | #define OMAP54XX_CLKACTIVITY_L3INIT_L4_GICLK_WIDTH 0x1 | ||
317 | #define OMAP54XX_CLKACTIVITY_L3INIT_L4_GICLK_MASK (1 << 9) | ||
318 | |||
319 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
320 | #define OMAP54XX_CLKACTIVITY_L3INIT_USB_OTG_SS_LFPS_TX_GFCLK_SHIFT 11 | ||
321 | #define OMAP54XX_CLKACTIVITY_L3INIT_USB_OTG_SS_LFPS_TX_GFCLK_WIDTH 0x1 | ||
322 | #define OMAP54XX_CLKACTIVITY_L3INIT_USB_OTG_SS_LFPS_TX_GFCLK_MASK (1 << 11) | ||
323 | |||
324 | /* Used by CM_L3INSTR_CLKSTCTRL */ | ||
325 | #define OMAP54XX_CLKACTIVITY_L3INSTR_DLL_AGING_GCLK_SHIFT 9 | ||
326 | #define OMAP54XX_CLKACTIVITY_L3INSTR_DLL_AGING_GCLK_WIDTH 0x1 | ||
327 | #define OMAP54XX_CLKACTIVITY_L3INSTR_DLL_AGING_GCLK_MASK (1 << 9) | ||
328 | |||
329 | /* Used by CM_L3INSTR_CLKSTCTRL */ | ||
330 | #define OMAP54XX_CLKACTIVITY_L3INSTR_L3_GICLK_SHIFT 8 | ||
331 | #define OMAP54XX_CLKACTIVITY_L3INSTR_L3_GICLK_WIDTH 0x1 | ||
332 | #define OMAP54XX_CLKACTIVITY_L3INSTR_L3_GICLK_MASK (1 << 8) | ||
333 | |||
334 | /* Used by CM_L3INSTR_CLKSTCTRL */ | ||
335 | #define OMAP54XX_CLKACTIVITY_L3INSTR_TS_GCLK_SHIFT 10 | ||
336 | #define OMAP54XX_CLKACTIVITY_L3INSTR_TS_GCLK_WIDTH 0x1 | ||
337 | #define OMAP54XX_CLKACTIVITY_L3INSTR_TS_GCLK_MASK (1 << 10) | ||
338 | |||
339 | /* Used by CM_L3MAIN1_CLKSTCTRL */ | ||
340 | #define OMAP54XX_CLKACTIVITY_L3MAIN1_L3_GICLK_SHIFT 8 | ||
341 | #define OMAP54XX_CLKACTIVITY_L3MAIN1_L3_GICLK_WIDTH 0x1 | ||
342 | #define OMAP54XX_CLKACTIVITY_L3MAIN1_L3_GICLK_MASK (1 << 8) | ||
343 | |||
344 | /* Used by CM_L3MAIN2_CLKSTCTRL */ | ||
345 | #define OMAP54XX_CLKACTIVITY_L3MAIN2_L3_GICLK_SHIFT 8 | ||
346 | #define OMAP54XX_CLKACTIVITY_L3MAIN2_L3_GICLK_WIDTH 0x1 | ||
347 | #define OMAP54XX_CLKACTIVITY_L3MAIN2_L3_GICLK_MASK (1 << 8) | ||
348 | |||
349 | /* Used by CM_L4CFG_CLKSTCTRL */ | ||
350 | #define OMAP54XX_CLKACTIVITY_L4CFG_L4_GICLK_SHIFT 8 | ||
351 | #define OMAP54XX_CLKACTIVITY_L4CFG_L4_GICLK_WIDTH 0x1 | ||
352 | #define OMAP54XX_CLKACTIVITY_L4CFG_L4_GICLK_MASK (1 << 8) | ||
353 | |||
354 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
355 | #define OMAP54XX_CLKACTIVITY_L4PER_L4_GICLK_SHIFT 8 | ||
356 | #define OMAP54XX_CLKACTIVITY_L4PER_L4_GICLK_WIDTH 0x1 | ||
357 | #define OMAP54XX_CLKACTIVITY_L4PER_L4_GICLK_MASK (1 << 8) | ||
358 | |||
359 | /* Used by CM_L4SEC_CLKSTCTRL */ | ||
360 | #define OMAP54XX_CLKACTIVITY_L4SEC_L3_GICLK_SHIFT 8 | ||
361 | #define OMAP54XX_CLKACTIVITY_L4SEC_L3_GICLK_WIDTH 0x1 | ||
362 | #define OMAP54XX_CLKACTIVITY_L4SEC_L3_GICLK_MASK (1 << 8) | ||
363 | |||
364 | /* Used by CM_L4SEC_CLKSTCTRL */ | ||
365 | #define OMAP54XX_CLKACTIVITY_L4SEC_L4_GICLK_SHIFT 9 | ||
366 | #define OMAP54XX_CLKACTIVITY_L4SEC_L4_GICLK_WIDTH 0x1 | ||
367 | #define OMAP54XX_CLKACTIVITY_L4SEC_L4_GICLK_MASK (1 << 9) | ||
368 | |||
369 | /* Used by CM_MIPIEXT_CLKSTCTRL */ | ||
370 | #define OMAP54XX_CLKACTIVITY_MIPIEXT_L3_GICLK_SHIFT 8 | ||
371 | #define OMAP54XX_CLKACTIVITY_MIPIEXT_L3_GICLK_WIDTH 0x1 | ||
372 | #define OMAP54XX_CLKACTIVITY_MIPIEXT_L3_GICLK_MASK (1 << 8) | ||
373 | |||
374 | /* Used by CM_MIPIEXT_CLKSTCTRL */ | ||
375 | #define OMAP54XX_CLKACTIVITY_MIPIEXT_PHY_REF_GFCLK_SHIFT 11 | ||
376 | #define OMAP54XX_CLKACTIVITY_MIPIEXT_PHY_REF_GFCLK_WIDTH 0x1 | ||
377 | #define OMAP54XX_CLKACTIVITY_MIPIEXT_PHY_REF_GFCLK_MASK (1 << 11) | ||
378 | |||
379 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
380 | #define OMAP54XX_CLKACTIVITY_MMC1_32K_GFCLK_SHIFT 2 | ||
381 | #define OMAP54XX_CLKACTIVITY_MMC1_32K_GFCLK_WIDTH 0x1 | ||
382 | #define OMAP54XX_CLKACTIVITY_MMC1_32K_GFCLK_MASK (1 << 2) | ||
383 | |||
384 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
385 | #define OMAP54XX_CLKACTIVITY_MMC1_GFCLK_SHIFT 17 | ||
386 | #define OMAP54XX_CLKACTIVITY_MMC1_GFCLK_WIDTH 0x1 | ||
387 | #define OMAP54XX_CLKACTIVITY_MMC1_GFCLK_MASK (1 << 17) | ||
388 | |||
389 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
390 | #define OMAP54XX_CLKACTIVITY_MMC2_GFCLK_SHIFT 18 | ||
391 | #define OMAP54XX_CLKACTIVITY_MMC2_GFCLK_WIDTH 0x1 | ||
392 | #define OMAP54XX_CLKACTIVITY_MMC2_GFCLK_MASK (1 << 18) | ||
393 | |||
394 | /* Used by CM_MPU_CLKSTCTRL */ | ||
395 | #define OMAP54XX_CLKACTIVITY_MPU_GCLK_SHIFT 8 | ||
396 | #define OMAP54XX_CLKACTIVITY_MPU_GCLK_WIDTH 0x1 | ||
397 | #define OMAP54XX_CLKACTIVITY_MPU_GCLK_MASK (1 << 8) | ||
398 | |||
399 | /* Used by CM_ABE_CLKSTCTRL */ | ||
400 | #define OMAP54XX_CLKACTIVITY_PAD_CLKS_SHIFT 14 | ||
401 | #define OMAP54XX_CLKACTIVITY_PAD_CLKS_WIDTH 0x1 | ||
402 | #define OMAP54XX_CLKACTIVITY_PAD_CLKS_MASK (1 << 14) | ||
403 | |||
404 | /* Used by CM_ABE_CLKSTCTRL */ | ||
405 | #define OMAP54XX_CLKACTIVITY_PAD_SLIMBUS1_CLK_SHIFT 15 | ||
406 | #define OMAP54XX_CLKACTIVITY_PAD_SLIMBUS1_CLK_WIDTH 0x1 | ||
407 | #define OMAP54XX_CLKACTIVITY_PAD_SLIMBUS1_CLK_MASK (1 << 15) | ||
408 | |||
409 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
410 | #define OMAP54XX_CLKACTIVITY_PAD_XCLK60MHSP1_SHIFT 3 | ||
411 | #define OMAP54XX_CLKACTIVITY_PAD_XCLK60MHSP1_WIDTH 0x1 | ||
412 | #define OMAP54XX_CLKACTIVITY_PAD_XCLK60MHSP1_MASK (1 << 3) | ||
413 | |||
414 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
415 | #define OMAP54XX_CLKACTIVITY_PAD_XCLK60MHSP2_SHIFT 4 | ||
416 | #define OMAP54XX_CLKACTIVITY_PAD_XCLK60MHSP2_WIDTH 0x1 | ||
417 | #define OMAP54XX_CLKACTIVITY_PAD_XCLK60MHSP2_MASK (1 << 4) | ||
418 | |||
419 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
420 | #define OMAP54XX_CLKACTIVITY_PER_12M_GFCLK_SHIFT 15 | ||
421 | #define OMAP54XX_CLKACTIVITY_PER_12M_GFCLK_WIDTH 0x1 | ||
422 | #define OMAP54XX_CLKACTIVITY_PER_12M_GFCLK_MASK (1 << 15) | ||
423 | |||
424 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
425 | #define OMAP54XX_CLKACTIVITY_PER_32K_GFCLK_SHIFT 17 | ||
426 | #define OMAP54XX_CLKACTIVITY_PER_32K_GFCLK_WIDTH 0x1 | ||
427 | #define OMAP54XX_CLKACTIVITY_PER_32K_GFCLK_MASK (1 << 17) | ||
428 | |||
429 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
430 | #define OMAP54XX_CLKACTIVITY_PER_48M_GFCLK_SHIFT 18 | ||
431 | #define OMAP54XX_CLKACTIVITY_PER_48M_GFCLK_WIDTH 0x1 | ||
432 | #define OMAP54XX_CLKACTIVITY_PER_48M_GFCLK_MASK (1 << 18) | ||
433 | |||
434 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
435 | #define OMAP54XX_CLKACTIVITY_PER_96M_GFCLK_SHIFT 19 | ||
436 | #define OMAP54XX_CLKACTIVITY_PER_96M_GFCLK_WIDTH 0x1 | ||
437 | #define OMAP54XX_CLKACTIVITY_PER_96M_GFCLK_MASK (1 << 19) | ||
438 | |||
439 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
440 | #define OMAP54XX_CLKACTIVITY_SATA_REF_GFCLK_SHIFT 19 | ||
441 | #define OMAP54XX_CLKACTIVITY_SATA_REF_GFCLK_WIDTH 0x1 | ||
442 | #define OMAP54XX_CLKACTIVITY_SATA_REF_GFCLK_MASK (1 << 19) | ||
443 | |||
444 | /* Used by CM_COREAON_CLKSTCTRL */ | ||
445 | #define OMAP54XX_CLKACTIVITY_SR_CORE_SYS_GFCLK_SHIFT 11 | ||
446 | #define OMAP54XX_CLKACTIVITY_SR_CORE_SYS_GFCLK_WIDTH 0x1 | ||
447 | #define OMAP54XX_CLKACTIVITY_SR_CORE_SYS_GFCLK_MASK (1 << 11) | ||
448 | |||
449 | /* Used by CM_COREAON_CLKSTCTRL */ | ||
450 | #define OMAP54XX_CLKACTIVITY_SR_MM_SYS_GFCLK_SHIFT 10 | ||
451 | #define OMAP54XX_CLKACTIVITY_SR_MM_SYS_GFCLK_WIDTH 0x1 | ||
452 | #define OMAP54XX_CLKACTIVITY_SR_MM_SYS_GFCLK_MASK (1 << 10) | ||
453 | |||
454 | /* Used by CM_COREAON_CLKSTCTRL */ | ||
455 | #define OMAP54XX_CLKACTIVITY_SR_MPU_SYS_GFCLK_SHIFT 9 | ||
456 | #define OMAP54XX_CLKACTIVITY_SR_MPU_SYS_GFCLK_WIDTH 0x1 | ||
457 | #define OMAP54XX_CLKACTIVITY_SR_MPU_SYS_GFCLK_MASK (1 << 9) | ||
458 | |||
459 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
460 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_SHIFT 8 | ||
461 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_WIDTH 0x1 | ||
462 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_MASK (1 << 8) | ||
463 | |||
464 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
465 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_ALL_SHIFT 15 | ||
466 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_ALL_WIDTH 0x1 | ||
467 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_ALL_MASK (1 << 15) | ||
468 | |||
469 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
470 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_FUNC_SHIFT 14 | ||
471 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_FUNC_WIDTH 0x1 | ||
472 | #define OMAP54XX_CLKACTIVITY_SYS_CLK_FUNC_MASK (1 << 14) | ||
473 | |||
474 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
475 | #define OMAP54XX_CLKACTIVITY_TIMER10_GFCLK_SHIFT 9 | ||
476 | #define OMAP54XX_CLKACTIVITY_TIMER10_GFCLK_WIDTH 0x1 | ||
477 | #define OMAP54XX_CLKACTIVITY_TIMER10_GFCLK_MASK (1 << 9) | ||
478 | |||
479 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
480 | #define OMAP54XX_CLKACTIVITY_TIMER11_GFCLK_SHIFT 10 | ||
481 | #define OMAP54XX_CLKACTIVITY_TIMER11_GFCLK_WIDTH 0x1 | ||
482 | #define OMAP54XX_CLKACTIVITY_TIMER11_GFCLK_MASK (1 << 10) | ||
483 | |||
484 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
485 | #define OMAP54XX_CLKACTIVITY_TIMER2_GFCLK_SHIFT 11 | ||
486 | #define OMAP54XX_CLKACTIVITY_TIMER2_GFCLK_WIDTH 0x1 | ||
487 | #define OMAP54XX_CLKACTIVITY_TIMER2_GFCLK_MASK (1 << 11) | ||
488 | |||
489 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
490 | #define OMAP54XX_CLKACTIVITY_TIMER3_GFCLK_SHIFT 12 | ||
491 | #define OMAP54XX_CLKACTIVITY_TIMER3_GFCLK_WIDTH 0x1 | ||
492 | #define OMAP54XX_CLKACTIVITY_TIMER3_GFCLK_MASK (1 << 12) | ||
493 | |||
494 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
495 | #define OMAP54XX_CLKACTIVITY_TIMER4_GFCLK_SHIFT 13 | ||
496 | #define OMAP54XX_CLKACTIVITY_TIMER4_GFCLK_WIDTH 0x1 | ||
497 | #define OMAP54XX_CLKACTIVITY_TIMER4_GFCLK_MASK (1 << 13) | ||
498 | |||
499 | /* Used by CM_L4PER_CLKSTCTRL */ | ||
500 | #define OMAP54XX_CLKACTIVITY_TIMER9_GFCLK_SHIFT 14 | ||
501 | #define OMAP54XX_CLKACTIVITY_TIMER9_GFCLK_WIDTH 0x1 | ||
502 | #define OMAP54XX_CLKACTIVITY_TIMER9_GFCLK_MASK (1 << 14) | ||
503 | |||
504 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
505 | #define OMAP54XX_CLKACTIVITY_TLL_CH0_GFCLK_SHIFT 22 | ||
506 | #define OMAP54XX_CLKACTIVITY_TLL_CH0_GFCLK_WIDTH 0x1 | ||
507 | #define OMAP54XX_CLKACTIVITY_TLL_CH0_GFCLK_MASK (1 << 22) | ||
508 | |||
509 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
510 | #define OMAP54XX_CLKACTIVITY_TLL_CH1_GFCLK_SHIFT 23 | ||
511 | #define OMAP54XX_CLKACTIVITY_TLL_CH1_GFCLK_WIDTH 0x1 | ||
512 | #define OMAP54XX_CLKACTIVITY_TLL_CH1_GFCLK_MASK (1 << 23) | ||
513 | |||
514 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
515 | #define OMAP54XX_CLKACTIVITY_TLL_CH2_GFCLK_SHIFT 24 | ||
516 | #define OMAP54XX_CLKACTIVITY_TLL_CH2_GFCLK_WIDTH 0x1 | ||
517 | #define OMAP54XX_CLKACTIVITY_TLL_CH2_GFCLK_MASK (1 << 24) | ||
518 | |||
519 | /* Used by CM_MIPIEXT_CLKSTCTRL */ | ||
520 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_DPLL_CLK_SHIFT 10 | ||
521 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_DPLL_CLK_WIDTH 0x1 | ||
522 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_DPLL_CLK_MASK (1 << 10) | ||
523 | |||
524 | /* Used by CM_MIPIEXT_CLKSTCTRL */ | ||
525 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_PHY_GFCLK_SHIFT 13 | ||
526 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_PHY_GFCLK_WIDTH 0x1 | ||
527 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_PHY_GFCLK_MASK (1 << 13) | ||
528 | |||
529 | /* Used by CM_MIPIEXT_CLKSTCTRL */ | ||
530 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_TXPHY_LS_GFCLK_SHIFT 12 | ||
531 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_TXPHY_LS_GFCLK_WIDTH 0x1 | ||
532 | #define OMAP54XX_CLKACTIVITY_UNIPRO1_TXPHY_LS_GFCLK_MASK (1 << 12) | ||
533 | |||
534 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
535 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_DPLL_CLK_SHIFT 10 | ||
536 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_DPLL_CLK_WIDTH 0x1 | ||
537 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_DPLL_CLK_MASK (1 << 10) | ||
538 | |||
539 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
540 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_PHY_GFCLK_SHIFT 13 | ||
541 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_PHY_GFCLK_WIDTH 0x1 | ||
542 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_PHY_GFCLK_MASK (1 << 13) | ||
543 | |||
544 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
545 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_PHY_REF_GFCLK_SHIFT 5 | ||
546 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_PHY_REF_GFCLK_WIDTH 0x1 | ||
547 | #define OMAP54XX_CLKACTIVITY_UNIPRO2_PHY_REF_GFCLK_MASK (1 << 5) | ||
548 | |||
549 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
550 | #define OMAP54XX_CLKACTIVITY_USB_DPLL_CLK_SHIFT 14 | ||
551 | #define OMAP54XX_CLKACTIVITY_USB_DPLL_CLK_WIDTH 0x1 | ||
552 | #define OMAP54XX_CLKACTIVITY_USB_DPLL_CLK_MASK (1 << 14) | ||
553 | |||
554 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
555 | #define OMAP54XX_CLKACTIVITY_USB_DPLL_HS_CLK_SHIFT 15 | ||
556 | #define OMAP54XX_CLKACTIVITY_USB_DPLL_HS_CLK_WIDTH 0x1 | ||
557 | #define OMAP54XX_CLKACTIVITY_USB_DPLL_HS_CLK_MASK (1 << 15) | ||
558 | |||
559 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
560 | #define OMAP54XX_CLKACTIVITY_USB_OTG_SS_REF_CLK_SHIFT 31 | ||
561 | #define OMAP54XX_CLKACTIVITY_USB_OTG_SS_REF_CLK_WIDTH 0x1 | ||
562 | #define OMAP54XX_CLKACTIVITY_USB_OTG_SS_REF_CLK_MASK (1 << 31) | ||
563 | |||
564 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
565 | #define OMAP54XX_CLKACTIVITY_UTMI_P3_GFCLK_SHIFT 30 | ||
566 | #define OMAP54XX_CLKACTIVITY_UTMI_P3_GFCLK_WIDTH 0x1 | ||
567 | #define OMAP54XX_CLKACTIVITY_UTMI_P3_GFCLK_MASK (1 << 30) | ||
568 | |||
569 | /* Used by CM_L3INIT_CLKSTCTRL */ | ||
570 | #define OMAP54XX_CLKACTIVITY_UTMI_ROOT_GFCLK_SHIFT 25 | ||
571 | #define OMAP54XX_CLKACTIVITY_UTMI_ROOT_GFCLK_WIDTH 0x1 | ||
572 | #define OMAP54XX_CLKACTIVITY_UTMI_ROOT_GFCLK_MASK (1 << 25) | ||
573 | |||
574 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
575 | #define OMAP54XX_CLKACTIVITY_WKUPAON_32K_GFCLK_SHIFT 11 | ||
576 | #define OMAP54XX_CLKACTIVITY_WKUPAON_32K_GFCLK_WIDTH 0x1 | ||
577 | #define OMAP54XX_CLKACTIVITY_WKUPAON_32K_GFCLK_MASK (1 << 11) | ||
578 | |||
579 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
580 | #define OMAP54XX_CLKACTIVITY_WKUPAON_GICLK_SHIFT 12 | ||
581 | #define OMAP54XX_CLKACTIVITY_WKUPAON_GICLK_WIDTH 0x1 | ||
582 | #define OMAP54XX_CLKACTIVITY_WKUPAON_GICLK_MASK (1 << 12) | ||
583 | |||
584 | /* Used by CM_WKUPAON_CLKSTCTRL */ | ||
585 | #define OMAP54XX_CLKACTIVITY_WKUPAON_IO_SRCOMP_GFCLK_SHIFT 13 | ||
586 | #define OMAP54XX_CLKACTIVITY_WKUPAON_IO_SRCOMP_GFCLK_WIDTH 0x1 | ||
587 | #define OMAP54XX_CLKACTIVITY_WKUPAON_IO_SRCOMP_GFCLK_MASK (1 << 13) | ||
588 | |||
589 | /* Used by CM_COREAON_IO_SRCOMP_CLKCTRL, CM_WKUPAON_IO_SRCOMP_CLKCTRL */ | ||
590 | #define OMAP54XX_CLKEN_SRCOMP_FCLK_SHIFT 8 | ||
591 | #define OMAP54XX_CLKEN_SRCOMP_FCLK_WIDTH 0x1 | ||
592 | #define OMAP54XX_CLKEN_SRCOMP_FCLK_MASK (1 << 8) | ||
593 | |||
594 | /* | ||
595 | * Used by CM_ABE_TIMER5_CLKCTRL, CM_ABE_TIMER6_CLKCTRL, CM_ABE_TIMER7_CLKCTRL, | ||
596 | * CM_ABE_TIMER8_CLKCTRL, CM_L3INIT_HSI_CLKCTRL, CM_L4PER_TIMER10_CLKCTRL, | ||
597 | * CM_L4PER_TIMER11_CLKCTRL, CM_L4PER_TIMER2_CLKCTRL, CM_L4PER_TIMER3_CLKCTRL, | ||
598 | * CM_L4PER_TIMER4_CLKCTRL, CM_L4PER_TIMER9_CLKCTRL, CM_WKUPAON_TIMER1_CLKCTRL | ||
599 | */ | ||
600 | #define OMAP54XX_CLKSEL_SHIFT 24 | ||
601 | #define OMAP54XX_CLKSEL_WIDTH 0x1 | ||
602 | #define OMAP54XX_CLKSEL_MASK (1 << 24) | ||
603 | |||
604 | /* | ||
605 | * Renamed from CLKSEL Used by CM_CLKSEL_ABE_DSS_SYS, CM_CLKSEL_ABE_PLL_REF, | ||
606 | * CM_CLKSEL_USB_60MHZ, CM_CLKSEL_WKUPAON | ||
607 | */ | ||
608 | #define OMAP54XX_CLKSEL_0_0_SHIFT 0 | ||
609 | #define OMAP54XX_CLKSEL_0_0_WIDTH 0x1 | ||
610 | #define OMAP54XX_CLKSEL_0_0_MASK (1 << 0) | ||
611 | |||
612 | /* Renamed from CLKSEL Used by CM_BYPCLK_DPLL_IVA, CM_BYPCLK_DPLL_MPU */ | ||
613 | #define OMAP54XX_CLKSEL_0_1_SHIFT 0 | ||
614 | #define OMAP54XX_CLKSEL_0_1_WIDTH 0x2 | ||
615 | #define OMAP54XX_CLKSEL_0_1_MASK (0x3 << 0) | ||
616 | |||
617 | /* Renamed from CLKSEL Used by CM_L3INSTR_CTRL_MODULE_BANDGAP_CLKCTRL */ | ||
618 | #define OMAP54XX_CLKSEL_24_25_SHIFT 24 | ||
619 | #define OMAP54XX_CLKSEL_24_25_WIDTH 0x2 | ||
620 | #define OMAP54XX_CLKSEL_24_25_MASK (0x3 << 24) | ||
621 | |||
622 | /* Used by CM_MPU_MPU_CLKCTRL */ | ||
623 | #define OMAP54XX_CLKSEL_ABE_DIV_MODE_SHIFT 26 | ||
624 | #define OMAP54XX_CLKSEL_ABE_DIV_MODE_WIDTH 0x1 | ||
625 | #define OMAP54XX_CLKSEL_ABE_DIV_MODE_MASK (1 << 26) | ||
626 | |||
627 | /* Used by CM_ABE_AESS_CLKCTRL */ | ||
628 | #define OMAP54XX_CLKSEL_AESS_FCLK_SHIFT 24 | ||
629 | #define OMAP54XX_CLKSEL_AESS_FCLK_WIDTH 0x1 | ||
630 | #define OMAP54XX_CLKSEL_AESS_FCLK_MASK (1 << 24) | ||
631 | |||
632 | /* Used by CM_L3INIT_MMC1_CLKCTRL, CM_L3INIT_MMC2_CLKCTRL */ | ||
633 | #define OMAP54XX_CLKSEL_DIV_SHIFT 25 | ||
634 | #define OMAP54XX_CLKSEL_DIV_WIDTH 0x1 | ||
635 | #define OMAP54XX_CLKSEL_DIV_MASK (1 << 25) | ||
636 | |||
637 | /* Used by CM_MPU_MPU_CLKCTRL */ | ||
638 | #define OMAP54XX_CLKSEL_EMIF_DIV_MODE_SHIFT 24 | ||
639 | #define OMAP54XX_CLKSEL_EMIF_DIV_MODE_WIDTH 0x2 | ||
640 | #define OMAP54XX_CLKSEL_EMIF_DIV_MODE_MASK (0x3 << 24) | ||
641 | |||
642 | /* Used by CM_CAM_FDIF_CLKCTRL */ | ||
643 | #define OMAP54XX_CLKSEL_FCLK_SHIFT 24 | ||
644 | #define OMAP54XX_CLKSEL_FCLK_WIDTH 0x1 | ||
645 | #define OMAP54XX_CLKSEL_FCLK_MASK (1 << 24) | ||
646 | |||
647 | /* Used by CM_GPU_GPU_CLKCTRL */ | ||
648 | #define OMAP54XX_CLKSEL_GPU_CORE_GCLK_SHIFT 24 | ||
649 | #define OMAP54XX_CLKSEL_GPU_CORE_GCLK_WIDTH 0x1 | ||
650 | #define OMAP54XX_CLKSEL_GPU_CORE_GCLK_MASK (1 << 24) | ||
651 | |||
652 | /* Used by CM_GPU_GPU_CLKCTRL */ | ||
653 | #define OMAP54XX_CLKSEL_GPU_HYD_GCLK_SHIFT 25 | ||
654 | #define OMAP54XX_CLKSEL_GPU_HYD_GCLK_WIDTH 0x1 | ||
655 | #define OMAP54XX_CLKSEL_GPU_HYD_GCLK_MASK (1 << 25) | ||
656 | |||
657 | /* Used by CM_GPU_GPU_CLKCTRL */ | ||
658 | #define OMAP54XX_CLKSEL_GPU_SYS_CLK_SHIFT 26 | ||
659 | #define OMAP54XX_CLKSEL_GPU_SYS_CLK_WIDTH 0x1 | ||
660 | #define OMAP54XX_CLKSEL_GPU_SYS_CLK_MASK (1 << 26) | ||
661 | |||
662 | /* | ||
663 | * Used by CM_ABE_DMIC_CLKCTRL, CM_ABE_MCASP_CLKCTRL, CM_ABE_MCBSP1_CLKCTRL, | ||
664 | * CM_ABE_MCBSP2_CLKCTRL, CM_ABE_MCBSP3_CLKCTRL | ||
665 | */ | ||
666 | #define OMAP54XX_CLKSEL_INTERNAL_SOURCE_SHIFT 26 | ||
667 | #define OMAP54XX_CLKSEL_INTERNAL_SOURCE_WIDTH 0x2 | ||
668 | #define OMAP54XX_CLKSEL_INTERNAL_SOURCE_MASK (0x3 << 26) | ||
669 | |||
670 | /* Used by CM_CLKSEL_CORE */ | ||
671 | #define OMAP54XX_CLKSEL_L3_SHIFT 4 | ||
672 | #define OMAP54XX_CLKSEL_L3_WIDTH 0x1 | ||
673 | #define OMAP54XX_CLKSEL_L3_MASK (1 << 4) | ||
674 | |||
675 | /* Renamed from CLKSEL_L3 Used by CM_SHADOW_FREQ_CONFIG2 */ | ||
676 | #define OMAP54XX_CLKSEL_L3_1_1_SHIFT 1 | ||
677 | #define OMAP54XX_CLKSEL_L3_1_1_WIDTH 0x1 | ||
678 | #define OMAP54XX_CLKSEL_L3_1_1_MASK (1 << 1) | ||
679 | |||
680 | /* Used by CM_CLKSEL_CORE */ | ||
681 | #define OMAP54XX_CLKSEL_L4_SHIFT 8 | ||
682 | #define OMAP54XX_CLKSEL_L4_WIDTH 0x1 | ||
683 | #define OMAP54XX_CLKSEL_L4_MASK (1 << 8) | ||
684 | |||
685 | /* Used by CM_EMIF_EMIF1_CLKCTRL */ | ||
686 | #define OMAP54XX_CLKSEL_LL_SHIFT 24 | ||
687 | #define OMAP54XX_CLKSEL_LL_WIDTH 0x1 | ||
688 | #define OMAP54XX_CLKSEL_LL_MASK (1 << 24) | ||
689 | |||
690 | /* Used by CM_CLKSEL_ABE */ | ||
691 | #define OMAP54XX_CLKSEL_OPP_SHIFT 0 | ||
692 | #define OMAP54XX_CLKSEL_OPP_WIDTH 0x2 | ||
693 | #define OMAP54XX_CLKSEL_OPP_MASK (0x3 << 0) | ||
694 | |||
695 | /* Renamed from CLKSEL_OPP Used by CM_L3INIT_UNIPRO2_CLKCTRL */ | ||
696 | #define OMAP54XX_CLKSEL_OPP_24_24_SHIFT 24 | ||
697 | #define OMAP54XX_CLKSEL_OPP_24_24_WIDTH 0x1 | ||
698 | #define OMAP54XX_CLKSEL_OPP_24_24_MASK (1 << 24) | ||
699 | |||
700 | /* | ||
701 | * Used by CM_ABE_DMIC_CLKCTRL, CM_ABE_MCASP_CLKCTRL, CM_ABE_MCBSP1_CLKCTRL, | ||
702 | * CM_ABE_MCBSP2_CLKCTRL, CM_ABE_MCBSP3_CLKCTRL | ||
703 | */ | ||
704 | #define OMAP54XX_CLKSEL_SOURCE_SHIFT 24 | ||
705 | #define OMAP54XX_CLKSEL_SOURCE_WIDTH 0x2 | ||
706 | #define OMAP54XX_CLKSEL_SOURCE_MASK (0x3 << 24) | ||
707 | |||
708 | /* | ||
709 | * Renamed from CLKSEL_SOURCE Used by CM_L3INIT_MMC1_CLKCTRL, | ||
710 | * CM_L3INIT_MMC2_CLKCTRL | ||
711 | */ | ||
712 | #define OMAP54XX_CLKSEL_SOURCE_L3INIT_MMC1_SHIFT 24 | ||
713 | #define OMAP54XX_CLKSEL_SOURCE_L3INIT_MMC1_WIDTH 0x1 | ||
714 | #define OMAP54XX_CLKSEL_SOURCE_L3INIT_MMC1_MASK (1 << 24) | ||
715 | |||
716 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
717 | #define OMAP54XX_CLKSEL_UTMI_P1_SHIFT 24 | ||
718 | #define OMAP54XX_CLKSEL_UTMI_P1_WIDTH 0x1 | ||
719 | #define OMAP54XX_CLKSEL_UTMI_P1_MASK (1 << 24) | ||
720 | |||
721 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
722 | #define OMAP54XX_CLKSEL_UTMI_P2_SHIFT 25 | ||
723 | #define OMAP54XX_CLKSEL_UTMI_P2_WIDTH 0x1 | ||
724 | #define OMAP54XX_CLKSEL_UTMI_P2_MASK (1 << 25) | ||
725 | |||
726 | /* | ||
727 | * Used by CM_DIV_H11_DPLL_CORE, CM_DIV_H11_DPLL_IVA, CM_DIV_H11_DPLL_PER, | ||
728 | * CM_DIV_H12_DPLL_CORE, CM_DIV_H12_DPLL_IVA, CM_DIV_H12_DPLL_PER, | ||
729 | * CM_DIV_H13_DPLL_CORE, CM_DIV_H13_DPLL_PER, CM_DIV_H14_DPLL_CORE, | ||
730 | * CM_DIV_H14_DPLL_PER, CM_DIV_H21_DPLL_CORE, CM_DIV_H22_DPLL_CORE, | ||
731 | * CM_DIV_H23_DPLL_CORE, CM_DIV_H24_DPLL_CORE, CM_DIV_M2_DPLL_ABE, | ||
732 | * CM_DIV_M2_DPLL_CORE, CM_DIV_M2_DPLL_MPU, CM_DIV_M2_DPLL_PER, | ||
733 | * CM_DIV_M2_DPLL_UNIPRO1, CM_DIV_M2_DPLL_UNIPRO2, CM_DIV_M2_DPLL_USB, | ||
734 | * CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE, CM_DIV_M3_DPLL_PER | ||
735 | */ | ||
736 | #define OMAP54XX_CLKST_SHIFT 9 | ||
737 | #define OMAP54XX_CLKST_WIDTH 0x1 | ||
738 | #define OMAP54XX_CLKST_MASK (1 << 9) | ||
739 | |||
740 | /* | ||
741 | * Used by CM_ABE_CLKSTCTRL, CM_C2C_CLKSTCTRL, CM_CAM_CLKSTCTRL, | ||
742 | * CM_COREAON_CLKSTCTRL, CM_CUSTEFUSE_CLKSTCTRL, CM_DMA_CLKSTCTRL, | ||
743 | * CM_DSP_CLKSTCTRL, CM_DSS_CLKSTCTRL, CM_EMIF_CLKSTCTRL, CM_EMU_CLKSTCTRL, | ||
744 | * CM_GPU_CLKSTCTRL, CM_IPU_CLKSTCTRL, CM_IVA_CLKSTCTRL, CM_L3INIT_CLKSTCTRL, | ||
745 | * CM_L3INSTR_CLKSTCTRL, CM_L3MAIN1_CLKSTCTRL, CM_L3MAIN2_CLKSTCTRL, | ||
746 | * CM_L4CFG_CLKSTCTRL, CM_L4PER_CLKSTCTRL, CM_L4SEC_CLKSTCTRL, | ||
747 | * CM_MIPIEXT_CLKSTCTRL, CM_MPU_CLKSTCTRL, CM_WKUPAON_CLKSTCTRL | ||
748 | */ | ||
749 | #define OMAP54XX_CLKTRCTRL_SHIFT 0 | ||
750 | #define OMAP54XX_CLKTRCTRL_WIDTH 0x2 | ||
751 | #define OMAP54XX_CLKTRCTRL_MASK (0x3 << 0) | ||
752 | |||
753 | /* Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_PER */ | ||
754 | #define OMAP54XX_CLKX2ST_SHIFT 11 | ||
755 | #define OMAP54XX_CLKX2ST_WIDTH 0x1 | ||
756 | #define OMAP54XX_CLKX2ST_MASK (1 << 11) | ||
757 | |||
758 | /* Used by CM_L4CFG_DYNAMICDEP */ | ||
759 | #define OMAP54XX_COREAON_DYNDEP_SHIFT 16 | ||
760 | #define OMAP54XX_COREAON_DYNDEP_WIDTH 0x1 | ||
761 | #define OMAP54XX_COREAON_DYNDEP_MASK (1 << 16) | ||
762 | |||
763 | /* Used by CM_DSP_STATICDEP, CM_IPU_STATICDEP, CM_MPU_STATICDEP */ | ||
764 | #define OMAP54XX_COREAON_STATDEP_SHIFT 16 | ||
765 | #define OMAP54XX_COREAON_STATDEP_WIDTH 0x1 | ||
766 | #define OMAP54XX_COREAON_STATDEP_MASK (1 << 16) | ||
767 | |||
768 | /* Used by CM_L4CFG_DYNAMICDEP */ | ||
769 | #define OMAP54XX_CUSTEFUSE_DYNDEP_SHIFT 17 | ||
770 | #define OMAP54XX_CUSTEFUSE_DYNDEP_WIDTH 0x1 | ||
771 | #define OMAP54XX_CUSTEFUSE_DYNDEP_MASK (1 << 17) | ||
772 | |||
773 | /* Used by CM_DSP_STATICDEP, CM_IPU_STATICDEP, CM_MPU_STATICDEP */ | ||
774 | #define OMAP54XX_CUSTEFUSE_STATDEP_SHIFT 17 | ||
775 | #define OMAP54XX_CUSTEFUSE_STATDEP_WIDTH 0x1 | ||
776 | #define OMAP54XX_CUSTEFUSE_STATDEP_MASK (1 << 17) | ||
777 | |||
778 | /* Used by REVISION_CM_CORE, REVISION_CM_CORE_AON */ | ||
779 | #define OMAP54XX_CUSTOM_SHIFT 6 | ||
780 | #define OMAP54XX_CUSTOM_WIDTH 0x2 | ||
781 | #define OMAP54XX_CUSTOM_MASK (0x3 << 6) | ||
782 | |||
783 | /* | ||
784 | * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_IVA, | ||
785 | * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER, CM_CLKSEL_DPLL_UNIPRO1, | ||
786 | * CM_CLKSEL_DPLL_UNIPRO2, CM_CLKSEL_DPLL_USB | ||
787 | */ | ||
788 | #define OMAP54XX_DCC_EN_SHIFT 22 | ||
789 | #define OMAP54XX_DCC_EN_WIDTH 0x1 | ||
790 | #define OMAP54XX_DCC_EN_MASK (1 << 22) | ||
791 | |||
792 | /* | ||
793 | * Used by CM_CORE_AON_DEBUG_CM_CORE_AON_FD_TRANS, | ||
794 | * CM_CORE_AON_DEBUG_DSS_FD_TRANS, CM_CORE_AON_DEBUG_EMIF_FD_TRANS, | ||
795 | * CM_CORE_AON_DEBUG_L4SEC_FD_TRANS | ||
796 | */ | ||
797 | #define OMAP54XX_CM_DEBUG_OUT_SHIFT 0 | ||
798 | #define OMAP54XX_CM_DEBUG_OUT_WIDTH 0xd | ||
799 | #define OMAP54XX_CM_DEBUG_OUT_MASK (0x1fff << 0) | ||
800 | |||
801 | /* | ||
802 | * Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_ABE_FD_TRANS, | ||
803 | * CM_CORE_AON_DEBUG_L3INIT_FD_TRANS, CM_CORE_AON_DEBUG_L4PER_FD_TRANS | ||
804 | */ | ||
805 | #define OMAP54XX_DEBUG_OUT_0_31_SHIFT 0 | ||
806 | #define OMAP54XX_DEBUG_OUT_0_31_WIDTH 0x20 | ||
807 | #define OMAP54XX_DEBUG_OUT_0_31_MASK (0xffffffff << 0) | ||
808 | |||
809 | /* | ||
810 | * Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_C2C_FD_TRANS, | ||
811 | * CM_CORE_AON_DEBUG_COREAON_FD_TRANS, CM_CORE_AON_DEBUG_L4CFG_FD_TRANS | ||
812 | */ | ||
813 | #define OMAP54XX_DEBUG_OUT_0_8_SHIFT 0 | ||
814 | #define OMAP54XX_DEBUG_OUT_0_8_WIDTH 0x9 | ||
815 | #define OMAP54XX_DEBUG_OUT_0_8_MASK (0x1ff << 0) | ||
816 | |||
817 | /* | ||
818 | * Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_CUSTEFUSE_FD_TRANS, | ||
819 | * CM_CORE_AON_DEBUG_DMA_FD_TRANS, CM_CORE_AON_DEBUG_L3MAIN1_FD_TRANS | ||
820 | */ | ||
821 | #define OMAP54XX_DEBUG_OUT_0_4_SHIFT 0 | ||
822 | #define OMAP54XX_DEBUG_OUT_0_4_WIDTH 0x5 | ||
823 | #define OMAP54XX_DEBUG_OUT_0_4_MASK (0x1f << 0) | ||
824 | |||
825 | /* | ||
826 | * Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_DSP_FD_TRANS, | ||
827 | * CM_CORE_AON_DEBUG_IPU_FD_TRANS, CM_CORE_AON_DEBUG_MPU_FD_TRANS | ||
828 | */ | ||
829 | #define OMAP54XX_DEBUG_OUT_0_5_SHIFT 0 | ||
830 | #define OMAP54XX_DEBUG_OUT_0_5_WIDTH 0x6 | ||
831 | #define OMAP54XX_DEBUG_OUT_0_5_MASK (0x3f << 0) | ||
832 | |||
833 | /* | ||
834 | * Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_CAM_FD_TRANS, | ||
835 | * CM_CORE_AON_DEBUG_MIPIEXT_FD_TRANS | ||
836 | */ | ||
837 | #define OMAP54XX_DEBUG_OUT_0_10_SHIFT 0 | ||
838 | #define OMAP54XX_DEBUG_OUT_0_10_WIDTH 0xb | ||
839 | #define OMAP54XX_DEBUG_OUT_0_10_MASK (0x7ff << 0) | ||
840 | |||
841 | /* | ||
842 | * Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_IVA_FD_TRANS, | ||
843 | * CM_CORE_AON_DEBUG_L3MAIN2_FD_TRANS | ||
844 | */ | ||
845 | #define OMAP54XX_DEBUG_OUT_0_6_SHIFT 0 | ||
846 | #define OMAP54XX_DEBUG_OUT_0_6_WIDTH 0x7 | ||
847 | #define OMAP54XX_DEBUG_OUT_0_6_MASK (0x7f << 0) | ||
848 | |||
849 | /* Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_ABE_FD_TRANS2 */ | ||
850 | #define OMAP54XX_DEBUG_OUT_0_19_SHIFT 0 | ||
851 | #define OMAP54XX_DEBUG_OUT_0_19_WIDTH 0x14 | ||
852 | #define OMAP54XX_DEBUG_OUT_0_19_MASK (0xfffff << 0) | ||
853 | |||
854 | /* Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_GPU_FD_TRANS */ | ||
855 | #define OMAP54XX_DEBUG_OUT_0_9_SHIFT 0 | ||
856 | #define OMAP54XX_DEBUG_OUT_0_9_WIDTH 0xa | ||
857 | #define OMAP54XX_DEBUG_OUT_0_9_MASK (0x3ff << 0) | ||
858 | |||
859 | /* Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_L3INIT_FD_TRANS2 */ | ||
860 | #define OMAP54XX_DEBUG_OUT_0_26_SHIFT 0 | ||
861 | #define OMAP54XX_DEBUG_OUT_0_26_WIDTH 0x1b | ||
862 | #define OMAP54XX_DEBUG_OUT_0_26_MASK (0x7ffffff << 0) | ||
863 | |||
864 | /* Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_L3INSTR_FD_TRANS */ | ||
865 | #define OMAP54XX_DEBUG_OUT_0_13_SHIFT 0 | ||
866 | #define OMAP54XX_DEBUG_OUT_0_13_WIDTH 0xe | ||
867 | #define OMAP54XX_DEBUG_OUT_0_13_MASK (0x3fff << 0) | ||
868 | |||
869 | /* Renamed from DEBUG_OUT Used by CM_CORE_AON_DEBUG_L4PER_FD_TRANS2 */ | ||
870 | #define OMAP54XX_DEBUG_OUT_0_21_SHIFT 0 | ||
871 | #define OMAP54XX_DEBUG_OUT_0_21_WIDTH 0x16 | ||
872 | #define OMAP54XX_DEBUG_OUT_0_21_MASK (0x3fffff << 0) | ||
873 | |||
874 | /* | ||
875 | * Used by CM_SSC_DELTAMSTEP_DPLL_ABE, CM_SSC_DELTAMSTEP_DPLL_CORE, | ||
876 | * CM_SSC_DELTAMSTEP_DPLL_IVA, CM_SSC_DELTAMSTEP_DPLL_MPU, | ||
877 | * CM_SSC_DELTAMSTEP_DPLL_PER | ||
878 | */ | ||
879 | #define OMAP54XX_DELTAMSTEP_SHIFT 0 | ||
880 | #define OMAP54XX_DELTAMSTEP_WIDTH 0x14 | ||
881 | #define OMAP54XX_DELTAMSTEP_MASK (0xfffff << 0) | ||
882 | |||
883 | /* | ||
884 | * Renamed from DELTAMSTEP Used by CM_SSC_DELTAMSTEP_DPLL_UNIPRO1, | ||
885 | * CM_SSC_DELTAMSTEP_DPLL_UNIPRO2, CM_SSC_DELTAMSTEP_DPLL_USB | ||
886 | */ | ||
887 | #define OMAP54XX_DELTAMSTEP_0_20_SHIFT 0 | ||
888 | #define OMAP54XX_DELTAMSTEP_0_20_WIDTH 0x15 | ||
889 | #define OMAP54XX_DELTAMSTEP_0_20_MASK (0x1fffff << 0) | ||
890 | |||
891 | /* | ||
892 | * Used by CM_DIV_H11_DPLL_CORE, CM_DIV_H11_DPLL_IVA, CM_DIV_H11_DPLL_PER, | ||
893 | * CM_DIV_H12_DPLL_CORE, CM_DIV_H12_DPLL_IVA, CM_DIV_H12_DPLL_PER, | ||
894 | * CM_DIV_H13_DPLL_CORE, CM_DIV_H13_DPLL_PER, CM_DIV_H14_DPLL_CORE, | ||
895 | * CM_DIV_H14_DPLL_PER, CM_DIV_H21_DPLL_CORE, CM_DIV_H22_DPLL_CORE, | ||
896 | * CM_DIV_H23_DPLL_CORE, CM_DIV_H24_DPLL_CORE | ||
897 | */ | ||
898 | #define OMAP54XX_DIVHS_SHIFT 0 | ||
899 | #define OMAP54XX_DIVHS_WIDTH 0x6 | ||
900 | #define OMAP54XX_DIVHS_MASK (0x3f << 0) | ||
901 | |||
902 | /* | ||
903 | * Renamed from DIVHS Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE, | ||
904 | * CM_DIV_M2_DPLL_MPU, CM_DIV_M2_DPLL_PER, CM_DIV_M3_DPLL_ABE, | ||
905 | * CM_DIV_M3_DPLL_CORE, CM_DIV_M3_DPLL_PER | ||
906 | */ | ||
907 | #define OMAP54XX_DIVHS_0_4_SHIFT 0 | ||
908 | #define OMAP54XX_DIVHS_0_4_WIDTH 0x5 | ||
909 | #define OMAP54XX_DIVHS_0_4_MASK (0x1f << 0) | ||
910 | |||
911 | /* | ||
912 | * Renamed from DIVHS Used by CM_DIV_M2_DPLL_UNIPRO1, CM_DIV_M2_DPLL_UNIPRO2, | ||
913 | * CM_DIV_M2_DPLL_USB | ||
914 | */ | ||
915 | #define OMAP54XX_DIVHS_0_6_SHIFT 0 | ||
916 | #define OMAP54XX_DIVHS_0_6_WIDTH 0x7 | ||
917 | #define OMAP54XX_DIVHS_0_6_MASK (0x7f << 0) | ||
918 | |||
919 | /* Used by CM_DLL_CTRL */ | ||
920 | #define OMAP54XX_DLL_OVERRIDE_SHIFT 0 | ||
921 | #define OMAP54XX_DLL_OVERRIDE_WIDTH 0x1 | ||
922 | #define OMAP54XX_DLL_OVERRIDE_MASK (1 << 0) | ||
923 | |||
924 | /* Renamed from DLL_OVERRIDE Used by CM_SHADOW_FREQ_CONFIG1 */ | ||
925 | #define OMAP54XX_DLL_OVERRIDE_2_2_SHIFT 2 | ||
926 | #define OMAP54XX_DLL_OVERRIDE_2_2_WIDTH 0x1 | ||
927 | #define OMAP54XX_DLL_OVERRIDE_2_2_MASK (1 << 2) | ||
928 | |||
929 | /* Used by CM_SHADOW_FREQ_CONFIG1 */ | ||
930 | #define OMAP54XX_DLL_RESET_SHIFT 3 | ||
931 | #define OMAP54XX_DLL_RESET_WIDTH 0x1 | ||
932 | #define OMAP54XX_DLL_RESET_MASK (1 << 3) | ||
933 | |||
934 | /* | ||
935 | * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_IVA, | ||
936 | * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER, CM_CLKSEL_DPLL_UNIPRO1, | ||
937 | * CM_CLKSEL_DPLL_UNIPRO2, CM_CLKSEL_DPLL_USB | ||
938 | */ | ||
939 | #define OMAP54XX_DPLL_BYP_CLKSEL_SHIFT 23 | ||
940 | #define OMAP54XX_DPLL_BYP_CLKSEL_WIDTH 0x1 | ||
941 | #define OMAP54XX_DPLL_BYP_CLKSEL_MASK (1 << 23) | ||
942 | |||
943 | /* Used by CM_CLKSEL_DPLL_CORE */ | ||
944 | #define OMAP54XX_DPLL_CLKOUTHIF_CLKSEL_SHIFT 20 | ||
945 | #define OMAP54XX_DPLL_CLKOUTHIF_CLKSEL_WIDTH 0x1 | ||
946 | #define OMAP54XX_DPLL_CLKOUTHIF_CLKSEL_MASK (1 << 20) | ||
947 | |||
948 | /* Used by CM_SHADOW_FREQ_CONFIG1 */ | ||
949 | #define OMAP54XX_DPLL_CORE_DPLL_EN_SHIFT 8 | ||
950 | #define OMAP54XX_DPLL_CORE_DPLL_EN_WIDTH 0x3 | ||
951 | #define OMAP54XX_DPLL_CORE_DPLL_EN_MASK (0x7 << 8) | ||
952 | |||
953 | /* Used by CM_SHADOW_FREQ_CONFIG2 */ | ||
954 | #define OMAP54XX_DPLL_CORE_H12_DIV_SHIFT 2 | ||
955 | #define OMAP54XX_DPLL_CORE_H12_DIV_WIDTH 0x6 | ||
956 | #define OMAP54XX_DPLL_CORE_H12_DIV_MASK (0x3f << 2) | ||
957 | |||
958 | /* Used by CM_SHADOW_FREQ_CONFIG1 */ | ||
959 | #define OMAP54XX_DPLL_CORE_M2_DIV_SHIFT 11 | ||
960 | #define OMAP54XX_DPLL_CORE_M2_DIV_WIDTH 0x5 | ||
961 | #define OMAP54XX_DPLL_CORE_M2_DIV_MASK (0x1f << 11) | ||
962 | |||
963 | /* | ||
964 | * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_IVA, | ||
965 | * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER | ||
966 | */ | ||
967 | #define OMAP54XX_DPLL_DIV_SHIFT 0 | ||
968 | #define OMAP54XX_DPLL_DIV_WIDTH 0x7 | ||
969 | #define OMAP54XX_DPLL_DIV_MASK (0x7f << 0) | ||
970 | |||
971 | /* | ||
972 | * Renamed from DPLL_DIV Used by CM_CLKSEL_DPLL_UNIPRO1, | ||
973 | * CM_CLKSEL_DPLL_UNIPRO2, CM_CLKSEL_DPLL_USB | ||
974 | */ | ||
975 | #define OMAP54XX_DPLL_DIV_0_7_SHIFT 0 | ||
976 | #define OMAP54XX_DPLL_DIV_0_7_WIDTH 0x8 | ||
977 | #define OMAP54XX_DPLL_DIV_0_7_MASK (0xff << 0) | ||
978 | |||
979 | /* | ||
980 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
981 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER | ||
982 | */ | ||
983 | #define OMAP54XX_DPLL_DRIFTGUARD_EN_SHIFT 8 | ||
984 | #define OMAP54XX_DPLL_DRIFTGUARD_EN_WIDTH 0x1 | ||
985 | #define OMAP54XX_DPLL_DRIFTGUARD_EN_MASK (1 << 8) | ||
986 | |||
987 | /* | ||
988 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
989 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO1, | ||
990 | * CM_CLKMODE_DPLL_UNIPRO2, CM_CLKMODE_DPLL_USB | ||
991 | */ | ||
992 | #define OMAP54XX_DPLL_EN_SHIFT 0 | ||
993 | #define OMAP54XX_DPLL_EN_WIDTH 0x3 | ||
994 | #define OMAP54XX_DPLL_EN_MASK (0x7 << 0) | ||
995 | |||
996 | /* | ||
997 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
998 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER | ||
999 | */ | ||
1000 | #define OMAP54XX_DPLL_LPMODE_EN_SHIFT 10 | ||
1001 | #define OMAP54XX_DPLL_LPMODE_EN_WIDTH 0x1 | ||
1002 | #define OMAP54XX_DPLL_LPMODE_EN_MASK (1 << 10) | ||
1003 | |||
1004 | /* | ||
1005 | * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_IVA, | ||
1006 | * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER | ||
1007 | */ | ||
1008 | #define OMAP54XX_DPLL_MULT_SHIFT 8 | ||
1009 | #define OMAP54XX_DPLL_MULT_WIDTH 0xb | ||
1010 | #define OMAP54XX_DPLL_MULT_MASK (0x7ff << 8) | ||
1011 | |||
1012 | /* | ||
1013 | * Renamed from DPLL_MULT Used by CM_CLKSEL_DPLL_UNIPRO1, | ||
1014 | * CM_CLKSEL_DPLL_UNIPRO2, CM_CLKSEL_DPLL_USB | ||
1015 | */ | ||
1016 | #define OMAP54XX_DPLL_MULT_UNIPRO1_SHIFT 8 | ||
1017 | #define OMAP54XX_DPLL_MULT_UNIPRO1_WIDTH 0xc | ||
1018 | #define OMAP54XX_DPLL_MULT_UNIPRO1_MASK (0xfff << 8) | ||
1019 | |||
1020 | /* | ||
1021 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
1022 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER | ||
1023 | */ | ||
1024 | #define OMAP54XX_DPLL_REGM4XEN_SHIFT 11 | ||
1025 | #define OMAP54XX_DPLL_REGM4XEN_WIDTH 0x1 | ||
1026 | #define OMAP54XX_DPLL_REGM4XEN_MASK (1 << 11) | ||
1027 | |||
1028 | /* Used by CM_CLKSEL_DPLL_UNIPRO1, CM_CLKSEL_DPLL_UNIPRO2, CM_CLKSEL_DPLL_USB */ | ||
1029 | #define OMAP54XX_DPLL_SD_DIV_SHIFT 24 | ||
1030 | #define OMAP54XX_DPLL_SD_DIV_WIDTH 0x8 | ||
1031 | #define OMAP54XX_DPLL_SD_DIV_MASK (0xff << 24) | ||
1032 | |||
1033 | /* Used by CM_CLKSEL_DPLL_UNIPRO1, CM_CLKSEL_DPLL_UNIPRO2, CM_CLKSEL_DPLL_USB */ | ||
1034 | #define OMAP54XX_DPLL_SELFREQDCO_SHIFT 21 | ||
1035 | #define OMAP54XX_DPLL_SELFREQDCO_WIDTH 0x1 | ||
1036 | #define OMAP54XX_DPLL_SELFREQDCO_MASK (1 << 21) | ||
1037 | |||
1038 | /* | ||
1039 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
1040 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO1, | ||
1041 | * CM_CLKMODE_DPLL_UNIPRO2, CM_CLKMODE_DPLL_USB | ||
1042 | */ | ||
1043 | #define OMAP54XX_DPLL_SSC_ACK_SHIFT 13 | ||
1044 | #define OMAP54XX_DPLL_SSC_ACK_WIDTH 0x1 | ||
1045 | #define OMAP54XX_DPLL_SSC_ACK_MASK (1 << 13) | ||
1046 | |||
1047 | /* | ||
1048 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
1049 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO1, | ||
1050 | * CM_CLKMODE_DPLL_UNIPRO2, CM_CLKMODE_DPLL_USB | ||
1051 | */ | ||
1052 | #define OMAP54XX_DPLL_SSC_DOWNSPREAD_SHIFT 14 | ||
1053 | #define OMAP54XX_DPLL_SSC_DOWNSPREAD_WIDTH 0x1 | ||
1054 | #define OMAP54XX_DPLL_SSC_DOWNSPREAD_MASK (1 << 14) | ||
1055 | |||
1056 | /* | ||
1057 | * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_IVA, | ||
1058 | * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO1, | ||
1059 | * CM_CLKMODE_DPLL_UNIPRO2, CM_CLKMODE_DPLL_USB | ||
1060 | */ | ||
1061 | #define OMAP54XX_DPLL_SSC_EN_SHIFT 12 | ||
1062 | #define OMAP54XX_DPLL_SSC_EN_WIDTH 0x1 | ||
1063 | #define OMAP54XX_DPLL_SSC_EN_MASK (1 << 12) | ||
1064 | |||
1065 | /* Used by CM_L4CFG_DYNAMICDEP */ | ||
1066 | #define OMAP54XX_DSP_DYNDEP_SHIFT 1 | ||
1067 | #define OMAP54XX_DSP_DYNDEP_WIDTH 0x1 | ||
1068 | #define OMAP54XX_DSP_DYNDEP_MASK (1 << 1) | ||
1069 | |||
1070 | /* Used by CM_IPU_STATICDEP, CM_MPU_STATICDEP */ | ||
1071 | #define OMAP54XX_DSP_STATDEP_SHIFT 1 | ||
1072 | #define OMAP54XX_DSP_STATDEP_WIDTH 0x1 | ||
1073 | #define OMAP54XX_DSP_STATDEP_MASK (1 << 1) | ||
1074 | |||
1075 | /* Used by CM_L3MAIN2_DYNAMICDEP, CM_L4PER_DYNAMICDEP */ | ||
1076 | #define OMAP54XX_DSS_DYNDEP_SHIFT 8 | ||
1077 | #define OMAP54XX_DSS_DYNDEP_WIDTH 0x1 | ||
1078 | #define OMAP54XX_DSS_DYNDEP_MASK (1 << 8) | ||
1079 | |||
1080 | /* Used by CM_DMA_STATICDEP, CM_IPU_STATICDEP, CM_MPU_STATICDEP */ | ||
1081 | #define OMAP54XX_DSS_STATDEP_SHIFT 8 | ||
1082 | #define OMAP54XX_DSS_STATDEP_WIDTH 0x1 | ||
1083 | #define OMAP54XX_DSS_STATDEP_MASK (1 << 8) | ||
1084 | |||
1085 | /* | ||
1086 | * Used by CM_C2C_DYNAMICDEP, CM_L3MAIN1_DYNAMICDEP, CM_L4CFG_DYNAMICDEP, | ||
1087 | * CM_MIPIEXT_DYNAMICDEP, CM_MPU_DYNAMICDEP | ||
1088 | */ | ||
1089 | #define OMAP54XX_EMIF_DYNDEP_SHIFT 4 | ||
1090 | #define OMAP54XX_EMIF_DYNDEP_WIDTH 0x1 | ||
1091 | #define OMAP54XX_EMIF_DYNDEP_MASK (1 << 4) | ||
1092 | |||
1093 | /* | ||
1094 | * Used by CM_C2C_STATICDEP, CM_CAM_STATICDEP, CM_DMA_STATICDEP, | ||
1095 | * CM_DSP_STATICDEP, CM_DSS_STATICDEP, CM_GPU_STATICDEP, CM_IPU_STATICDEP, | ||
1096 | * CM_IVA_STATICDEP, CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, | ||
1097 | * CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1098 | */ | ||
1099 | #define OMAP54XX_EMIF_STATDEP_SHIFT 4 | ||
1100 | #define OMAP54XX_EMIF_STATDEP_WIDTH 0x1 | ||
1101 | #define OMAP54XX_EMIF_STATDEP_MASK (1 << 4) | ||
1102 | |||
1103 | /* Used by CM_SHADOW_FREQ_CONFIG1 */ | ||
1104 | #define OMAP54XX_FREQ_UPDATE_SHIFT 0 | ||
1105 | #define OMAP54XX_FREQ_UPDATE_WIDTH 0x1 | ||
1106 | #define OMAP54XX_FREQ_UPDATE_MASK (1 << 0) | ||
1107 | |||
1108 | /* Used by REVISION_CM_CORE, REVISION_CM_CORE_AON */ | ||
1109 | #define OMAP54XX_FUNC_SHIFT 16 | ||
1110 | #define OMAP54XX_FUNC_WIDTH 0xc | ||
1111 | #define OMAP54XX_FUNC_MASK (0xfff << 16) | ||
1112 | |||
1113 | /* Used by CM_SHADOW_FREQ_CONFIG2 */ | ||
1114 | #define OMAP54XX_GPMC_FREQ_UPDATE_SHIFT 0 | ||
1115 | #define OMAP54XX_GPMC_FREQ_UPDATE_WIDTH 0x1 | ||
1116 | #define OMAP54XX_GPMC_FREQ_UPDATE_MASK (1 << 0) | ||
1117 | |||
1118 | /* Used by CM_L3MAIN2_DYNAMICDEP */ | ||
1119 | #define OMAP54XX_GPU_DYNDEP_SHIFT 10 | ||
1120 | #define OMAP54XX_GPU_DYNDEP_WIDTH 0x1 | ||
1121 | #define OMAP54XX_GPU_DYNDEP_MASK (1 << 10) | ||
1122 | |||
1123 | /* Used by CM_IPU_STATICDEP, CM_MPU_STATICDEP */ | ||
1124 | #define OMAP54XX_GPU_STATDEP_SHIFT 10 | ||
1125 | #define OMAP54XX_GPU_STATDEP_WIDTH 0x1 | ||
1126 | #define OMAP54XX_GPU_STATDEP_MASK (1 << 10) | ||
1127 | |||
1128 | /* | ||
1129 | * Used by CM_ABE_AESS_CLKCTRL, CM_ABE_DMIC_CLKCTRL, CM_ABE_L4_ABE_CLKCTRL, | ||
1130 | * CM_ABE_MCASP_CLKCTRL, CM_ABE_MCBSP1_CLKCTRL, CM_ABE_MCBSP2_CLKCTRL, | ||
1131 | * CM_ABE_MCBSP3_CLKCTRL, CM_ABE_MCPDM_CLKCTRL, CM_ABE_SLIMBUS1_CLKCTRL, | ||
1132 | * CM_ABE_TIMER5_CLKCTRL, CM_ABE_TIMER6_CLKCTRL, CM_ABE_TIMER7_CLKCTRL, | ||
1133 | * CM_ABE_TIMER8_CLKCTRL, CM_ABE_WD_TIMER3_CLKCTRL, CM_C2C_C2C_CLKCTRL, | ||
1134 | * CM_C2C_C2C_OCP_FW_CLKCTRL, CM_C2C_MODEM_ICR_CLKCTRL, CM_CAM_CAL_CLKCTRL, | ||
1135 | * CM_CAM_FDIF_CLKCTRL, CM_CAM_ISS_CLKCTRL, CM_CM_CORE_AON_PROFILING_CLKCTRL, | ||
1136 | * CM_CM_CORE_PROFILING_CLKCTRL, CM_COREAON_SMARTREFLEX_CORE_CLKCTRL, | ||
1137 | * CM_COREAON_SMARTREFLEX_MM_CLKCTRL, CM_COREAON_SMARTREFLEX_MPU_CLKCTRL, | ||
1138 | * CM_CUSTEFUSE_EFUSE_CTRL_CUST_CLKCTRL, CM_DMA_DMA_SYSTEM_CLKCTRL, | ||
1139 | * CM_DSP_DSP_CLKCTRL, CM_DSS_BB2D_CLKCTRL, CM_DSS_DSS_CLKCTRL, | ||
1140 | * CM_EMIF_DMM_CLKCTRL, CM_EMIF_EMIF1_CLKCTRL, CM_EMIF_EMIF2_CLKCTRL, | ||
1141 | * CM_EMIF_EMIF_OCP_FW_CLKCTRL, CM_EMU_DEBUGSS_CLKCTRL, | ||
1142 | * CM_EMU_MPU_EMU_DBG_CLKCTRL, CM_GPU_GPU_CLKCTRL, CM_IPU_IPU_CLKCTRL, | ||
1143 | * CM_IVA_IVA_CLKCTRL, CM_IVA_SL2_CLKCTRL, CM_L3INIT_HSI_CLKCTRL, | ||
1144 | * CM_L3INIT_IEEE1500_2_OCP_CLKCTRL, CM_L3INIT_MMC1_CLKCTRL, | ||
1145 | * CM_L3INIT_MMC2_CLKCTRL, CM_L3INIT_MPHY_UNIPRO2_CLKCTRL, | ||
1146 | * CM_L3INIT_OCP2SCP1_CLKCTRL, CM_L3INIT_OCP2SCP3_CLKCTRL, | ||
1147 | * CM_L3INIT_SATA_CLKCTRL, CM_L3INIT_UNIPRO2_CLKCTRL, | ||
1148 | * CM_L3INIT_USB_HOST_HS_CLKCTRL, CM_L3INIT_USB_OTG_SS_CLKCTRL, | ||
1149 | * CM_L3INIT_USB_TLL_HS_CLKCTRL, CM_L3INSTR_CTRL_MODULE_BANDGAP_CLKCTRL, | ||
1150 | * CM_L3INSTR_DLL_AGING_CLKCTRL, CM_L3INSTR_L3_INSTR_CLKCTRL, | ||
1151 | * CM_L3INSTR_L3_MAIN_3_CLKCTRL, CM_L3INSTR_OCP_WP_NOC_CLKCTRL, | ||
1152 | * CM_L3MAIN1_L3_MAIN_1_CLKCTRL, CM_L3MAIN2_GPMC_CLKCTRL, | ||
1153 | * CM_L3MAIN2_L3_MAIN_2_CLKCTRL, CM_L3MAIN2_OCMC_RAM_CLKCTRL, | ||
1154 | * CM_L4CFG_L4_CFG_CLKCTRL, CM_L4CFG_MAILBOX_CLKCTRL, | ||
1155 | * CM_L4CFG_OCP2SCP2_CLKCTRL, CM_L4CFG_SAR_ROM_CLKCTRL, | ||
1156 | * CM_L4CFG_SPINLOCK_CLKCTRL, CM_L4PER_ELM_CLKCTRL, CM_L4PER_GPIO2_CLKCTRL, | ||
1157 | * CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL, | ||
1158 | * CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_GPIO7_CLKCTRL, CM_L4PER_GPIO8_CLKCTRL, | ||
1159 | * CM_L4PER_HDQ1W_CLKCTRL, CM_L4PER_I2C1_CLKCTRL, CM_L4PER_I2C2_CLKCTRL, | ||
1160 | * CM_L4PER_I2C3_CLKCTRL, CM_L4PER_I2C4_CLKCTRL, CM_L4PER_I2C5_CLKCTRL, | ||
1161 | * CM_L4PER_L4_PER_CLKCTRL, CM_L4PER_MCSPI1_CLKCTRL, CM_L4PER_MCSPI2_CLKCTRL, | ||
1162 | * CM_L4PER_MCSPI3_CLKCTRL, CM_L4PER_MCSPI4_CLKCTRL, CM_L4PER_MMC3_CLKCTRL, | ||
1163 | * CM_L4PER_MMC4_CLKCTRL, CM_L4PER_MMC5_CLKCTRL, CM_L4PER_TIMER10_CLKCTRL, | ||
1164 | * CM_L4PER_TIMER11_CLKCTRL, CM_L4PER_TIMER2_CLKCTRL, CM_L4PER_TIMER3_CLKCTRL, | ||
1165 | * CM_L4PER_TIMER4_CLKCTRL, CM_L4PER_TIMER9_CLKCTRL, CM_L4PER_UART1_CLKCTRL, | ||
1166 | * CM_L4PER_UART2_CLKCTRL, CM_L4PER_UART3_CLKCTRL, CM_L4PER_UART4_CLKCTRL, | ||
1167 | * CM_L4PER_UART5_CLKCTRL, CM_L4PER_UART6_CLKCTRL, CM_L4SEC_AES1_CLKCTRL, | ||
1168 | * CM_L4SEC_AES2_CLKCTRL, CM_L4SEC_DES3DES_CLKCTRL, | ||
1169 | * CM_L4SEC_DMA_CRYPTO_CLKCTRL, CM_L4SEC_FPKA_CLKCTRL, CM_L4SEC_RNG_CLKCTRL, | ||
1170 | * CM_L4SEC_SHA2MD5_CLKCTRL, CM_MIPIEXT_LLI_CLKCTRL, | ||
1171 | * CM_MIPIEXT_LLI_OCP_FW_CLKCTRL, CM_MIPIEXT_MPHY_CLKCTRL, CM_MPU_MPU_CLKCTRL, | ||
1172 | * CM_MPU_MPU_MPU_DBG_CLKCTRL, CM_WKUPAON_COUNTER_32K_CLKCTRL, | ||
1173 | * CM_WKUPAON_GPIO1_CLKCTRL, CM_WKUPAON_KBD_CLKCTRL, | ||
1174 | * CM_WKUPAON_L4_WKUP_CLKCTRL, CM_WKUPAON_SAR_RAM_CLKCTRL, | ||
1175 | * CM_WKUPAON_TIMER12_CLKCTRL, CM_WKUPAON_TIMER1_CLKCTRL, | ||
1176 | * CM_WKUPAON_WD_TIMER1_CLKCTRL, CM_WKUPAON_WD_TIMER2_CLKCTRL | ||
1177 | */ | ||
1178 | #define OMAP54XX_IDLEST_SHIFT 16 | ||
1179 | #define OMAP54XX_IDLEST_WIDTH 0x2 | ||
1180 | #define OMAP54XX_IDLEST_MASK (0x3 << 16) | ||
1181 | |||
1182 | /* Used by CM_L3MAIN2_DYNAMICDEP */ | ||
1183 | #define OMAP54XX_IPU_DYNDEP_SHIFT 0 | ||
1184 | #define OMAP54XX_IPU_DYNDEP_WIDTH 0x1 | ||
1185 | #define OMAP54XX_IPU_DYNDEP_MASK (1 << 0) | ||
1186 | |||
1187 | /* Used by CM_DMA_STATICDEP, CM_MPU_STATICDEP */ | ||
1188 | #define OMAP54XX_IPU_STATDEP_SHIFT 0 | ||
1189 | #define OMAP54XX_IPU_STATDEP_WIDTH 0x1 | ||
1190 | #define OMAP54XX_IPU_STATDEP_MASK (1 << 0) | ||
1191 | |||
1192 | /* Used by CM_DSP_DYNAMICDEP, CM_L3MAIN2_DYNAMICDEP */ | ||
1193 | #define OMAP54XX_IVA_DYNDEP_SHIFT 2 | ||
1194 | #define OMAP54XX_IVA_DYNDEP_WIDTH 0x1 | ||
1195 | #define OMAP54XX_IVA_DYNDEP_MASK (1 << 2) | ||
1196 | |||
1197 | /* | ||
1198 | * Used by CM_C2C_STATICDEP, CM_CAM_STATICDEP, CM_DMA_STATICDEP, | ||
1199 | * CM_DSP_STATICDEP, CM_DSS_STATICDEP, CM_GPU_STATICDEP, CM_IPU_STATICDEP, | ||
1200 | * CM_L3INIT_STATICDEP, CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1201 | */ | ||
1202 | #define OMAP54XX_IVA_STATDEP_SHIFT 2 | ||
1203 | #define OMAP54XX_IVA_STATDEP_WIDTH 0x1 | ||
1204 | #define OMAP54XX_IVA_STATDEP_MASK (1 << 2) | ||
1205 | |||
1206 | /* Used by CM_L4CFG_DYNAMICDEP, CM_L4PER_DYNAMICDEP */ | ||
1207 | #define OMAP54XX_L3INIT_DYNDEP_SHIFT 7 | ||
1208 | #define OMAP54XX_L3INIT_DYNDEP_WIDTH 0x1 | ||
1209 | #define OMAP54XX_L3INIT_DYNDEP_MASK (1 << 7) | ||
1210 | |||
1211 | /* | ||
1212 | * Used by CM_C2C_STATICDEP, CM_DMA_STATICDEP, CM_DSP_STATICDEP, | ||
1213 | * CM_IPU_STATICDEP, CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1214 | */ | ||
1215 | #define OMAP54XX_L3INIT_STATDEP_SHIFT 7 | ||
1216 | #define OMAP54XX_L3INIT_STATDEP_WIDTH 0x1 | ||
1217 | #define OMAP54XX_L3INIT_STATDEP_MASK (1 << 7) | ||
1218 | |||
1219 | /* | ||
1220 | * Used by CM_DSP_DYNAMICDEP, CM_DSS_DYNAMICDEP, CM_L3INIT_DYNAMICDEP, | ||
1221 | * CM_L3MAIN2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP, CM_MPU_DYNAMICDEP | ||
1222 | */ | ||
1223 | #define OMAP54XX_L3MAIN1_DYNDEP_SHIFT 5 | ||
1224 | #define OMAP54XX_L3MAIN1_DYNDEP_WIDTH 0x1 | ||
1225 | #define OMAP54XX_L3MAIN1_DYNDEP_MASK (1 << 5) | ||
1226 | |||
1227 | /* | ||
1228 | * Used by CM_C2C_STATICDEP, CM_CAM_STATICDEP, CM_DMA_STATICDEP, | ||
1229 | * CM_DSP_STATICDEP, CM_DSS_STATICDEP, CM_GPU_STATICDEP, CM_IPU_STATICDEP, | ||
1230 | * CM_IVA_STATICDEP, CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, | ||
1231 | * CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1232 | */ | ||
1233 | #define OMAP54XX_L3MAIN1_STATDEP_SHIFT 5 | ||
1234 | #define OMAP54XX_L3MAIN1_STATDEP_WIDTH 0x1 | ||
1235 | #define OMAP54XX_L3MAIN1_STATDEP_MASK (1 << 5) | ||
1236 | |||
1237 | /* | ||
1238 | * Used by CM_C2C_DYNAMICDEP, CM_CAM_DYNAMICDEP, CM_DMA_DYNAMICDEP, | ||
1239 | * CM_DSS_DYNAMICDEP, CM_EMU_DYNAMICDEP, CM_GPU_DYNAMICDEP, CM_IPU_DYNAMICDEP, | ||
1240 | * CM_IVA_DYNAMICDEP, CM_L3INIT_DYNAMICDEP, CM_L3MAIN1_DYNAMICDEP, | ||
1241 | * CM_L4CFG_DYNAMICDEP, CM_L4SEC_DYNAMICDEP, CM_MIPIEXT_DYNAMICDEP | ||
1242 | */ | ||
1243 | #define OMAP54XX_L3MAIN2_DYNDEP_SHIFT 6 | ||
1244 | #define OMAP54XX_L3MAIN2_DYNDEP_WIDTH 0x1 | ||
1245 | #define OMAP54XX_L3MAIN2_DYNDEP_MASK (1 << 6) | ||
1246 | |||
1247 | /* | ||
1248 | * Used by CM_C2C_STATICDEP, CM_CAM_STATICDEP, CM_DMA_STATICDEP, | ||
1249 | * CM_DSP_STATICDEP, CM_DSS_STATICDEP, CM_GPU_STATICDEP, CM_IPU_STATICDEP, | ||
1250 | * CM_IVA_STATICDEP, CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, | ||
1251 | * CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1252 | */ | ||
1253 | #define OMAP54XX_L3MAIN2_STATDEP_SHIFT 6 | ||
1254 | #define OMAP54XX_L3MAIN2_STATDEP_WIDTH 0x1 | ||
1255 | #define OMAP54XX_L3MAIN2_STATDEP_MASK (1 << 6) | ||
1256 | |||
1257 | /* Used by CM_L3MAIN1_DYNAMICDEP */ | ||
1258 | #define OMAP54XX_L4CFG_DYNDEP_SHIFT 12 | ||
1259 | #define OMAP54XX_L4CFG_DYNDEP_WIDTH 0x1 | ||
1260 | #define OMAP54XX_L4CFG_DYNDEP_MASK (1 << 12) | ||
1261 | |||
1262 | /* | ||
1263 | * Used by CM_C2C_STATICDEP, CM_DMA_STATICDEP, CM_DSP_STATICDEP, | ||
1264 | * CM_IPU_STATICDEP, CM_L3INIT_STATICDEP, CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1265 | */ | ||
1266 | #define OMAP54XX_L4CFG_STATDEP_SHIFT 12 | ||
1267 | #define OMAP54XX_L4CFG_STATDEP_WIDTH 0x1 | ||
1268 | #define OMAP54XX_L4CFG_STATDEP_MASK (1 << 12) | ||
1269 | |||
1270 | /* Used by CM_L3MAIN2_DYNAMICDEP */ | ||
1271 | #define OMAP54XX_L4PER_DYNDEP_SHIFT 13 | ||
1272 | #define OMAP54XX_L4PER_DYNDEP_WIDTH 0x1 | ||
1273 | #define OMAP54XX_L4PER_DYNDEP_MASK (1 << 13) | ||
1274 | |||
1275 | /* | ||
1276 | * Used by CM_C2C_STATICDEP, CM_DMA_STATICDEP, CM_DSP_STATICDEP, | ||
1277 | * CM_IPU_STATICDEP, CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, | ||
1278 | * CM_MIPIEXT_STATICDEP, CM_MPU_STATICDEP | ||
1279 | */ | ||
1280 | #define OMAP54XX_L4PER_STATDEP_SHIFT 13 | ||
1281 | #define OMAP54XX_L4PER_STATDEP_WIDTH 0x1 | ||
1282 | #define OMAP54XX_L4PER_STATDEP_MASK (1 << 13) | ||
1283 | |||
1284 | /* Used by CM_L3MAIN2_DYNAMICDEP, CM_L4PER_DYNAMICDEP */ | ||
1285 | #define OMAP54XX_L4SEC_DYNDEP_SHIFT 14 | ||
1286 | #define OMAP54XX_L4SEC_DYNDEP_WIDTH 0x1 | ||
1287 | #define OMAP54XX_L4SEC_DYNDEP_MASK (1 << 14) | ||
1288 | |||
1289 | /* | ||
1290 | * Used by CM_DMA_STATICDEP, CM_IPU_STATICDEP, CM_L3INIT_STATICDEP, | ||
1291 | * CM_MPU_STATICDEP | ||
1292 | */ | ||
1293 | #define OMAP54XX_L4SEC_STATDEP_SHIFT 14 | ||
1294 | #define OMAP54XX_L4SEC_STATDEP_WIDTH 0x1 | ||
1295 | #define OMAP54XX_L4SEC_STATDEP_MASK (1 << 14) | ||
1296 | |||
1297 | /* Used by CM_L3MAIN2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP */ | ||
1298 | #define OMAP54XX_MIPIEXT_DYNDEP_SHIFT 21 | ||
1299 | #define OMAP54XX_MIPIEXT_DYNDEP_WIDTH 0x1 | ||
1300 | #define OMAP54XX_MIPIEXT_DYNDEP_MASK (1 << 21) | ||
1301 | |||
1302 | /* Used by CM_MPU_STATICDEP */ | ||
1303 | #define OMAP54XX_MIPIEXT_STATDEP_SHIFT 21 | ||
1304 | #define OMAP54XX_MIPIEXT_STATDEP_WIDTH 0x1 | ||
1305 | #define OMAP54XX_MIPIEXT_STATDEP_MASK (1 << 21) | ||
1306 | |||
1307 | /* | ||
1308 | * Used by CM_SSC_MODFREQDIV_DPLL_ABE, CM_SSC_MODFREQDIV_DPLL_CORE, | ||
1309 | * CM_SSC_MODFREQDIV_DPLL_IVA, CM_SSC_MODFREQDIV_DPLL_MPU, | ||
1310 | * CM_SSC_MODFREQDIV_DPLL_PER, CM_SSC_MODFREQDIV_DPLL_UNIPRO1, | ||
1311 | * CM_SSC_MODFREQDIV_DPLL_UNIPRO2, CM_SSC_MODFREQDIV_DPLL_USB | ||
1312 | */ | ||
1313 | #define OMAP54XX_MODFREQDIV_EXPONENT_SHIFT 8 | ||
1314 | #define OMAP54XX_MODFREQDIV_EXPONENT_WIDTH 0x3 | ||
1315 | #define OMAP54XX_MODFREQDIV_EXPONENT_MASK (0x7 << 8) | ||
1316 | |||
1317 | /* | ||
1318 | * Used by CM_SSC_MODFREQDIV_DPLL_ABE, CM_SSC_MODFREQDIV_DPLL_CORE, | ||
1319 | * CM_SSC_MODFREQDIV_DPLL_IVA, CM_SSC_MODFREQDIV_DPLL_MPU, | ||
1320 | * CM_SSC_MODFREQDIV_DPLL_PER, CM_SSC_MODFREQDIV_DPLL_UNIPRO1, | ||
1321 | * CM_SSC_MODFREQDIV_DPLL_UNIPRO2, CM_SSC_MODFREQDIV_DPLL_USB | ||
1322 | */ | ||
1323 | #define OMAP54XX_MODFREQDIV_MANTISSA_SHIFT 0 | ||
1324 | #define OMAP54XX_MODFREQDIV_MANTISSA_WIDTH 0x7 | ||
1325 | #define OMAP54XX_MODFREQDIV_MANTISSA_MASK (0x7f << 0) | ||
1326 | |||
1327 | /* | ||
1328 | * Used by CM_ABE_AESS_CLKCTRL, CM_ABE_DMIC_CLKCTRL, CM_ABE_L4_ABE_CLKCTRL, | ||
1329 | * CM_ABE_MCASP_CLKCTRL, CM_ABE_MCBSP1_CLKCTRL, CM_ABE_MCBSP2_CLKCTRL, | ||
1330 | * CM_ABE_MCBSP3_CLKCTRL, CM_ABE_MCPDM_CLKCTRL, CM_ABE_SLIMBUS1_CLKCTRL, | ||
1331 | * CM_ABE_TIMER5_CLKCTRL, CM_ABE_TIMER6_CLKCTRL, CM_ABE_TIMER7_CLKCTRL, | ||
1332 | * CM_ABE_TIMER8_CLKCTRL, CM_ABE_WD_TIMER3_CLKCTRL, CM_C2C_C2C_CLKCTRL, | ||
1333 | * CM_C2C_C2C_OCP_FW_CLKCTRL, CM_C2C_MODEM_ICR_CLKCTRL, CM_CAM_CAL_CLKCTRL, | ||
1334 | * CM_CAM_FDIF_CLKCTRL, CM_CAM_ISS_CLKCTRL, CM_CM_CORE_AON_PROFILING_CLKCTRL, | ||
1335 | * CM_CM_CORE_PROFILING_CLKCTRL, CM_COREAON_SMARTREFLEX_CORE_CLKCTRL, | ||
1336 | * CM_COREAON_SMARTREFLEX_MM_CLKCTRL, CM_COREAON_SMARTREFLEX_MPU_CLKCTRL, | ||
1337 | * CM_CUSTEFUSE_EFUSE_CTRL_CUST_CLKCTRL, CM_DMA_DMA_SYSTEM_CLKCTRL, | ||
1338 | * CM_DSP_DSP_CLKCTRL, CM_DSS_BB2D_CLKCTRL, CM_DSS_DSS_CLKCTRL, | ||
1339 | * CM_EMIF_DMM_CLKCTRL, CM_EMIF_EMIF1_CLKCTRL, CM_EMIF_EMIF2_CLKCTRL, | ||
1340 | * CM_EMIF_EMIF_OCP_FW_CLKCTRL, CM_EMU_DEBUGSS_CLKCTRL, | ||
1341 | * CM_EMU_MPU_EMU_DBG_CLKCTRL, CM_GPU_GPU_CLKCTRL, CM_IPU_IPU_CLKCTRL, | ||
1342 | * CM_IVA_IVA_CLKCTRL, CM_IVA_SL2_CLKCTRL, CM_L3INIT_HSI_CLKCTRL, | ||
1343 | * CM_L3INIT_IEEE1500_2_OCP_CLKCTRL, CM_L3INIT_MMC1_CLKCTRL, | ||
1344 | * CM_L3INIT_MMC2_CLKCTRL, CM_L3INIT_MPHY_UNIPRO2_CLKCTRL, | ||
1345 | * CM_L3INIT_OCP2SCP1_CLKCTRL, CM_L3INIT_OCP2SCP3_CLKCTRL, | ||
1346 | * CM_L3INIT_SATA_CLKCTRL, CM_L3INIT_UNIPRO2_CLKCTRL, | ||
1347 | * CM_L3INIT_USB_HOST_HS_CLKCTRL, CM_L3INIT_USB_OTG_SS_CLKCTRL, | ||
1348 | * CM_L3INIT_USB_TLL_HS_CLKCTRL, CM_L3INSTR_CTRL_MODULE_BANDGAP_CLKCTRL, | ||
1349 | * CM_L3INSTR_DLL_AGING_CLKCTRL, CM_L3INSTR_L3_INSTR_CLKCTRL, | ||
1350 | * CM_L3INSTR_L3_MAIN_3_CLKCTRL, CM_L3INSTR_OCP_WP_NOC_CLKCTRL, | ||
1351 | * CM_L3MAIN1_L3_MAIN_1_CLKCTRL, CM_L3MAIN2_GPMC_CLKCTRL, | ||
1352 | * CM_L3MAIN2_L3_MAIN_2_CLKCTRL, CM_L3MAIN2_OCMC_RAM_CLKCTRL, | ||
1353 | * CM_L4CFG_L4_CFG_CLKCTRL, CM_L4CFG_MAILBOX_CLKCTRL, | ||
1354 | * CM_L4CFG_OCP2SCP2_CLKCTRL, CM_L4CFG_SAR_ROM_CLKCTRL, | ||
1355 | * CM_L4CFG_SPINLOCK_CLKCTRL, CM_L4PER_ELM_CLKCTRL, CM_L4PER_GPIO2_CLKCTRL, | ||
1356 | * CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL, | ||
1357 | * CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_GPIO7_CLKCTRL, CM_L4PER_GPIO8_CLKCTRL, | ||
1358 | * CM_L4PER_HDQ1W_CLKCTRL, CM_L4PER_I2C1_CLKCTRL, CM_L4PER_I2C2_CLKCTRL, | ||
1359 | * CM_L4PER_I2C3_CLKCTRL, CM_L4PER_I2C4_CLKCTRL, CM_L4PER_I2C5_CLKCTRL, | ||
1360 | * CM_L4PER_L4_PER_CLKCTRL, CM_L4PER_MCSPI1_CLKCTRL, CM_L4PER_MCSPI2_CLKCTRL, | ||
1361 | * CM_L4PER_MCSPI3_CLKCTRL, CM_L4PER_MCSPI4_CLKCTRL, CM_L4PER_MMC3_CLKCTRL, | ||
1362 | * CM_L4PER_MMC4_CLKCTRL, CM_L4PER_MMC5_CLKCTRL, CM_L4PER_TIMER10_CLKCTRL, | ||
1363 | * CM_L4PER_TIMER11_CLKCTRL, CM_L4PER_TIMER2_CLKCTRL, CM_L4PER_TIMER3_CLKCTRL, | ||
1364 | * CM_L4PER_TIMER4_CLKCTRL, CM_L4PER_TIMER9_CLKCTRL, CM_L4PER_UART1_CLKCTRL, | ||
1365 | * CM_L4PER_UART2_CLKCTRL, CM_L4PER_UART3_CLKCTRL, CM_L4PER_UART4_CLKCTRL, | ||
1366 | * CM_L4PER_UART5_CLKCTRL, CM_L4PER_UART6_CLKCTRL, CM_L4SEC_AES1_CLKCTRL, | ||
1367 | * CM_L4SEC_AES2_CLKCTRL, CM_L4SEC_DES3DES_CLKCTRL, | ||
1368 | * CM_L4SEC_DMA_CRYPTO_CLKCTRL, CM_L4SEC_FPKA_CLKCTRL, CM_L4SEC_RNG_CLKCTRL, | ||
1369 | * CM_L4SEC_SHA2MD5_CLKCTRL, CM_MIPIEXT_LLI_CLKCTRL, | ||
1370 | * CM_MIPIEXT_LLI_OCP_FW_CLKCTRL, CM_MIPIEXT_MPHY_CLKCTRL, CM_MPU_MPU_CLKCTRL, | ||
1371 | * CM_MPU_MPU_MPU_DBG_CLKCTRL, CM_WKUPAON_COUNTER_32K_CLKCTRL, | ||
1372 | * CM_WKUPAON_GPIO1_CLKCTRL, CM_WKUPAON_KBD_CLKCTRL, | ||
1373 | * CM_WKUPAON_L4_WKUP_CLKCTRL, CM_WKUPAON_SAR_RAM_CLKCTRL, | ||
1374 | * CM_WKUPAON_TIMER12_CLKCTRL, CM_WKUPAON_TIMER1_CLKCTRL, | ||
1375 | * CM_WKUPAON_WD_TIMER1_CLKCTRL, CM_WKUPAON_WD_TIMER2_CLKCTRL | ||
1376 | */ | ||
1377 | #define OMAP54XX_MODULEMODE_SHIFT 0 | ||
1378 | #define OMAP54XX_MODULEMODE_WIDTH 0x2 | ||
1379 | #define OMAP54XX_MODULEMODE_MASK (0x3 << 0) | ||
1380 | |||
1381 | /* Used by CM_L4CFG_DYNAMICDEP */ | ||
1382 | #define OMAP54XX_MPU_DYNDEP_SHIFT 19 | ||
1383 | #define OMAP54XX_MPU_DYNDEP_WIDTH 0x1 | ||
1384 | #define OMAP54XX_MPU_DYNDEP_MASK (1 << 19) | ||
1385 | |||
1386 | /* Used by CM_DSS_DSS_CLKCTRL */ | ||
1387 | #define OMAP54XX_OPTFCLKEN_32KHZ_CLK_SHIFT 11 | ||
1388 | #define OMAP54XX_OPTFCLKEN_32KHZ_CLK_WIDTH 0x1 | ||
1389 | #define OMAP54XX_OPTFCLKEN_32KHZ_CLK_MASK (1 << 11) | ||
1390 | |||
1391 | /* Renamed from OPTFCLKEN_32KHZ_CLK Used by CM_L3INIT_MMC1_CLKCTRL */ | ||
1392 | #define OMAP54XX_OPTFCLKEN_32KHZ_CLK_8_8_SHIFT 8 | ||
1393 | #define OMAP54XX_OPTFCLKEN_32KHZ_CLK_8_8_WIDTH 0x1 | ||
1394 | #define OMAP54XX_OPTFCLKEN_32KHZ_CLK_8_8_MASK (1 << 8) | ||
1395 | |||
1396 | /* Used by CM_DSS_DSS_CLKCTRL */ | ||
1397 | #define OMAP54XX_OPTFCLKEN_48MHZ_CLK_SHIFT 9 | ||
1398 | #define OMAP54XX_OPTFCLKEN_48MHZ_CLK_WIDTH 0x1 | ||
1399 | #define OMAP54XX_OPTFCLKEN_48MHZ_CLK_MASK (1 << 9) | ||
1400 | |||
1401 | /* Used by CM_COREAON_USB_PHY_CORE_CLKCTRL */ | ||
1402 | #define OMAP54XX_OPTFCLKEN_CLK32K_SHIFT 8 | ||
1403 | #define OMAP54XX_OPTFCLKEN_CLK32K_WIDTH 0x1 | ||
1404 | #define OMAP54XX_OPTFCLKEN_CLK32K_MASK (1 << 8) | ||
1405 | |||
1406 | /* Used by CM_CAM_ISS_CLKCTRL */ | ||
1407 | #define OMAP54XX_OPTFCLKEN_CTRLCLK_SHIFT 8 | ||
1408 | #define OMAP54XX_OPTFCLKEN_CTRLCLK_WIDTH 0x1 | ||
1409 | #define OMAP54XX_OPTFCLKEN_CTRLCLK_MASK (1 << 8) | ||
1410 | |||
1411 | /* | ||
1412 | * Used by CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL, | ||
1413 | * CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL, | ||
1414 | * CM_L4PER_GPIO7_CLKCTRL, CM_L4PER_GPIO8_CLKCTRL, CM_WKUPAON_GPIO1_CLKCTRL | ||
1415 | */ | ||
1416 | #define OMAP54XX_OPTFCLKEN_DBCLK_SHIFT 8 | ||
1417 | #define OMAP54XX_OPTFCLKEN_DBCLK_WIDTH 0x1 | ||
1418 | #define OMAP54XX_OPTFCLKEN_DBCLK_MASK (1 << 8) | ||
1419 | |||
1420 | /* Used by CM_EMIF_EMIF_DLL_CLKCTRL */ | ||
1421 | #define OMAP54XX_OPTFCLKEN_DLL_CLK_SHIFT 8 | ||
1422 | #define OMAP54XX_OPTFCLKEN_DLL_CLK_WIDTH 0x1 | ||
1423 | #define OMAP54XX_OPTFCLKEN_DLL_CLK_MASK (1 << 8) | ||
1424 | |||
1425 | /* Used by CM_DSS_DSS_CLKCTRL */ | ||
1426 | #define OMAP54XX_OPTFCLKEN_DSSCLK_SHIFT 8 | ||
1427 | #define OMAP54XX_OPTFCLKEN_DSSCLK_WIDTH 0x1 | ||
1428 | #define OMAP54XX_OPTFCLKEN_DSSCLK_MASK (1 << 8) | ||
1429 | |||
1430 | /* Used by CM_ABE_SLIMBUS1_CLKCTRL */ | ||
1431 | #define OMAP54XX_OPTFCLKEN_FCLK0_SHIFT 8 | ||
1432 | #define OMAP54XX_OPTFCLKEN_FCLK0_WIDTH 0x1 | ||
1433 | #define OMAP54XX_OPTFCLKEN_FCLK0_MASK (1 << 8) | ||
1434 | |||
1435 | /* Used by CM_ABE_SLIMBUS1_CLKCTRL */ | ||
1436 | #define OMAP54XX_OPTFCLKEN_FCLK1_SHIFT 9 | ||
1437 | #define OMAP54XX_OPTFCLKEN_FCLK1_WIDTH 0x1 | ||
1438 | #define OMAP54XX_OPTFCLKEN_FCLK1_MASK (1 << 9) | ||
1439 | |||
1440 | /* Used by CM_ABE_SLIMBUS1_CLKCTRL */ | ||
1441 | #define OMAP54XX_OPTFCLKEN_FCLK2_SHIFT 10 | ||
1442 | #define OMAP54XX_OPTFCLKEN_FCLK2_WIDTH 0x1 | ||
1443 | #define OMAP54XX_OPTFCLKEN_FCLK2_MASK (1 << 10) | ||
1444 | |||
1445 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1446 | #define OMAP54XX_OPTFCLKEN_FUNC48M_CLK_SHIFT 15 | ||
1447 | #define OMAP54XX_OPTFCLKEN_FUNC48M_CLK_WIDTH 0x1 | ||
1448 | #define OMAP54XX_OPTFCLKEN_FUNC48M_CLK_MASK (1 << 15) | ||
1449 | |||
1450 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1451 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P1_CLK_SHIFT 13 | ||
1452 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P1_CLK_WIDTH 0x1 | ||
1453 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P1_CLK_MASK (1 << 13) | ||
1454 | |||
1455 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1456 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P2_CLK_SHIFT 14 | ||
1457 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P2_CLK_WIDTH 0x1 | ||
1458 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P2_CLK_MASK (1 << 14) | ||
1459 | |||
1460 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1461 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P3_CLK_SHIFT 7 | ||
1462 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P3_CLK_WIDTH 0x1 | ||
1463 | #define OMAP54XX_OPTFCLKEN_HSIC480M_P3_CLK_MASK (1 << 7) | ||
1464 | |||
1465 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1466 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P1_CLK_SHIFT 11 | ||
1467 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P1_CLK_WIDTH 0x1 | ||
1468 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P1_CLK_MASK (1 << 11) | ||
1469 | |||
1470 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1471 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P2_CLK_SHIFT 12 | ||
1472 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P2_CLK_WIDTH 0x1 | ||
1473 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P2_CLK_MASK (1 << 12) | ||
1474 | |||
1475 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1476 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P3_CLK_SHIFT 6 | ||
1477 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P3_CLK_WIDTH 0x1 | ||
1478 | #define OMAP54XX_OPTFCLKEN_HSIC60M_P3_CLK_MASK (1 << 6) | ||
1479 | |||
1480 | /* Used by CM_L3INIT_USB_OTG_SS_CLKCTRL */ | ||
1481 | #define OMAP54XX_OPTFCLKEN_REFCLK960M_SHIFT 8 | ||
1482 | #define OMAP54XX_OPTFCLKEN_REFCLK960M_WIDTH 0x1 | ||
1483 | #define OMAP54XX_OPTFCLKEN_REFCLK960M_MASK (1 << 8) | ||
1484 | |||
1485 | /* Used by CM_L3INIT_SATA_CLKCTRL */ | ||
1486 | #define OMAP54XX_OPTFCLKEN_REF_CLK_SHIFT 8 | ||
1487 | #define OMAP54XX_OPTFCLKEN_REF_CLK_WIDTH 0x1 | ||
1488 | #define OMAP54XX_OPTFCLKEN_REF_CLK_MASK (1 << 8) | ||
1489 | |||
1490 | /* Used by CM_WKUPAON_SCRM_CLKCTRL */ | ||
1491 | #define OMAP54XX_OPTFCLKEN_SCRM_CORE_SHIFT 8 | ||
1492 | #define OMAP54XX_OPTFCLKEN_SCRM_CORE_WIDTH 0x1 | ||
1493 | #define OMAP54XX_OPTFCLKEN_SCRM_CORE_MASK (1 << 8) | ||
1494 | |||
1495 | /* Used by CM_WKUPAON_SCRM_CLKCTRL */ | ||
1496 | #define OMAP54XX_OPTFCLKEN_SCRM_PER_SHIFT 9 | ||
1497 | #define OMAP54XX_OPTFCLKEN_SCRM_PER_WIDTH 0x1 | ||
1498 | #define OMAP54XX_OPTFCLKEN_SCRM_PER_MASK (1 << 9) | ||
1499 | |||
1500 | /* Used by CM_ABE_SLIMBUS1_CLKCTRL */ | ||
1501 | #define OMAP54XX_OPTFCLKEN_SLIMBUS_CLK_SHIFT 11 | ||
1502 | #define OMAP54XX_OPTFCLKEN_SLIMBUS_CLK_WIDTH 0x1 | ||
1503 | #define OMAP54XX_OPTFCLKEN_SLIMBUS_CLK_MASK (1 << 11) | ||
1504 | |||
1505 | /* Used by CM_DSS_DSS_CLKCTRL */ | ||
1506 | #define OMAP54XX_OPTFCLKEN_SYS_CLK_SHIFT 10 | ||
1507 | #define OMAP54XX_OPTFCLKEN_SYS_CLK_WIDTH 0x1 | ||
1508 | #define OMAP54XX_OPTFCLKEN_SYS_CLK_MASK (1 << 10) | ||
1509 | |||
1510 | /* Used by CM_MIPIEXT_LLI_CLKCTRL */ | ||
1511 | #define OMAP54XX_OPTFCLKEN_TXPHY_CLK_SHIFT 8 | ||
1512 | #define OMAP54XX_OPTFCLKEN_TXPHY_CLK_WIDTH 0x1 | ||
1513 | #define OMAP54XX_OPTFCLKEN_TXPHY_CLK_MASK (1 << 8) | ||
1514 | |||
1515 | /* Used by CM_MIPIEXT_LLI_CLKCTRL */ | ||
1516 | #define OMAP54XX_OPTFCLKEN_TXPHY_LS_CLK_SHIFT 9 | ||
1517 | #define OMAP54XX_OPTFCLKEN_TXPHY_LS_CLK_WIDTH 0x1 | ||
1518 | #define OMAP54XX_OPTFCLKEN_TXPHY_LS_CLK_MASK (1 << 9) | ||
1519 | |||
1520 | /* Used by CM_L3INIT_USB_TLL_HS_CLKCTRL */ | ||
1521 | #define OMAP54XX_OPTFCLKEN_USB_CH0_CLK_SHIFT 8 | ||
1522 | #define OMAP54XX_OPTFCLKEN_USB_CH0_CLK_WIDTH 0x1 | ||
1523 | #define OMAP54XX_OPTFCLKEN_USB_CH0_CLK_MASK (1 << 8) | ||
1524 | |||
1525 | /* Used by CM_L3INIT_USB_TLL_HS_CLKCTRL */ | ||
1526 | #define OMAP54XX_OPTFCLKEN_USB_CH1_CLK_SHIFT 9 | ||
1527 | #define OMAP54XX_OPTFCLKEN_USB_CH1_CLK_WIDTH 0x1 | ||
1528 | #define OMAP54XX_OPTFCLKEN_USB_CH1_CLK_MASK (1 << 9) | ||
1529 | |||
1530 | /* Used by CM_L3INIT_USB_TLL_HS_CLKCTRL */ | ||
1531 | #define OMAP54XX_OPTFCLKEN_USB_CH2_CLK_SHIFT 10 | ||
1532 | #define OMAP54XX_OPTFCLKEN_USB_CH2_CLK_WIDTH 0x1 | ||
1533 | #define OMAP54XX_OPTFCLKEN_USB_CH2_CLK_MASK (1 << 10) | ||
1534 | |||
1535 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1536 | #define OMAP54XX_OPTFCLKEN_UTMI_P1_CLK_SHIFT 8 | ||
1537 | #define OMAP54XX_OPTFCLKEN_UTMI_P1_CLK_WIDTH 0x1 | ||
1538 | #define OMAP54XX_OPTFCLKEN_UTMI_P1_CLK_MASK (1 << 8) | ||
1539 | |||
1540 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1541 | #define OMAP54XX_OPTFCLKEN_UTMI_P2_CLK_SHIFT 9 | ||
1542 | #define OMAP54XX_OPTFCLKEN_UTMI_P2_CLK_WIDTH 0x1 | ||
1543 | #define OMAP54XX_OPTFCLKEN_UTMI_P2_CLK_MASK (1 << 9) | ||
1544 | |||
1545 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL */ | ||
1546 | #define OMAP54XX_OPTFCLKEN_UTMI_P3_CLK_SHIFT 10 | ||
1547 | #define OMAP54XX_OPTFCLKEN_UTMI_P3_CLK_WIDTH 0x1 | ||
1548 | #define OMAP54XX_OPTFCLKEN_UTMI_P3_CLK_MASK (1 << 10) | ||
1549 | |||
1550 | /* Used by CM_CORE_AON_DEBUG_OUT, CM_CORE_DEBUG_OUT */ | ||
1551 | #define OMAP54XX_OUTPUT_SHIFT 0 | ||
1552 | #define OMAP54XX_OUTPUT_WIDTH 0x20 | ||
1553 | #define OMAP54XX_OUTPUT_MASK (0xffffffff << 0) | ||
1554 | |||
1555 | /* Used by CM_CLKSEL_ABE */ | ||
1556 | #define OMAP54XX_PAD_CLKS_GATE_SHIFT 8 | ||
1557 | #define OMAP54XX_PAD_CLKS_GATE_WIDTH 0x1 | ||
1558 | #define OMAP54XX_PAD_CLKS_GATE_MASK (1 << 8) | ||
1559 | |||
1560 | /* Used by CM_RESTORE_ST */ | ||
1561 | #define OMAP54XX_PHASE1_COMPLETED_SHIFT 0 | ||
1562 | #define OMAP54XX_PHASE1_COMPLETED_WIDTH 0x1 | ||
1563 | #define OMAP54XX_PHASE1_COMPLETED_MASK (1 << 0) | ||
1564 | |||
1565 | /* Used by CM_RESTORE_ST */ | ||
1566 | #define OMAP54XX_PHASE2A_COMPLETED_SHIFT 1 | ||
1567 | #define OMAP54XX_PHASE2A_COMPLETED_WIDTH 0x1 | ||
1568 | #define OMAP54XX_PHASE2A_COMPLETED_MASK (1 << 1) | ||
1569 | |||
1570 | /* Used by CM_RESTORE_ST */ | ||
1571 | #define OMAP54XX_PHASE2B_COMPLETED_SHIFT 2 | ||
1572 | #define OMAP54XX_PHASE2B_COMPLETED_WIDTH 0x1 | ||
1573 | #define OMAP54XX_PHASE2B_COMPLETED_MASK (1 << 2) | ||
1574 | |||
1575 | /* Used by CM_DYN_DEP_PRESCAL */ | ||
1576 | #define OMAP54XX_PRESCAL_SHIFT 0 | ||
1577 | #define OMAP54XX_PRESCAL_WIDTH 0x6 | ||
1578 | #define OMAP54XX_PRESCAL_MASK (0x3f << 0) | ||
1579 | |||
1580 | /* Used by REVISION_CM_CORE, REVISION_CM_CORE_AON */ | ||
1581 | #define OMAP54XX_R_RTL_SHIFT 11 | ||
1582 | #define OMAP54XX_R_RTL_WIDTH 0x5 | ||
1583 | #define OMAP54XX_R_RTL_MASK (0x1f << 11) | ||
1584 | |||
1585 | /* Used by CM_L3INIT_USB_HOST_HS_CLKCTRL, CM_L3INIT_USB_TLL_HS_CLKCTRL */ | ||
1586 | #define OMAP54XX_SAR_MODE_SHIFT 4 | ||
1587 | #define OMAP54XX_SAR_MODE_WIDTH 0x1 | ||
1588 | #define OMAP54XX_SAR_MODE_MASK (1 << 4) | ||
1589 | |||
1590 | /* Used by REVISION_CM_CORE, REVISION_CM_CORE_AON */ | ||
1591 | #define OMAP54XX_SCHEME_SHIFT 30 | ||
1592 | #define OMAP54XX_SCHEME_WIDTH 0x2 | ||
1593 | #define OMAP54XX_SCHEME_MASK (0x3 << 30) | ||
1594 | |||
1595 | /* Used by CM_L4CFG_DYNAMICDEP */ | ||
1596 | #define OMAP54XX_SDMA_DYNDEP_SHIFT 11 | ||
1597 | #define OMAP54XX_SDMA_DYNDEP_WIDTH 0x1 | ||
1598 | #define OMAP54XX_SDMA_DYNDEP_MASK (1 << 11) | ||
1599 | |||
1600 | /* Used by CM_IPU_STATICDEP, CM_MPU_STATICDEP */ | ||
1601 | #define OMAP54XX_SDMA_STATDEP_SHIFT 11 | ||
1602 | #define OMAP54XX_SDMA_STATDEP_WIDTH 0x1 | ||
1603 | #define OMAP54XX_SDMA_STATDEP_MASK (1 << 11) | ||
1604 | |||
1605 | /* Used by CM_CORE_AON_DEBUG_CFG */ | ||
1606 | #define OMAP54XX_SEL0_SHIFT 0 | ||
1607 | #define OMAP54XX_SEL0_WIDTH 0x7 | ||
1608 | #define OMAP54XX_SEL0_MASK (0x7f << 0) | ||
1609 | |||
1610 | /* Renamed from SEL0 Used by CM_CORE_DEBUG_CFG */ | ||
1611 | #define OMAP54XX_SEL0_0_7_SHIFT 0 | ||
1612 | #define OMAP54XX_SEL0_0_7_WIDTH 0x8 | ||
1613 | #define OMAP54XX_SEL0_0_7_MASK (0xff << 0) | ||
1614 | |||
1615 | /* Used by CM_CORE_AON_DEBUG_CFG */ | ||
1616 | #define OMAP54XX_SEL1_SHIFT 8 | ||
1617 | #define OMAP54XX_SEL1_WIDTH 0x7 | ||
1618 | #define OMAP54XX_SEL1_MASK (0x7f << 8) | ||
1619 | |||
1620 | /* Renamed from SEL1 Used by CM_CORE_DEBUG_CFG */ | ||
1621 | #define OMAP54XX_SEL1_CORE_DEBUG_CFG_SHIFT 8 | ||
1622 | #define OMAP54XX_SEL1_CORE_DEBUG_CFG_WIDTH 0x8 | ||
1623 | #define OMAP54XX_SEL1_CORE_DEBUG_CFG_MASK (0xff << 8) | ||
1624 | |||
1625 | /* Used by CM_CORE_AON_DEBUG_CFG */ | ||
1626 | #define OMAP54XX_SEL2_SHIFT 16 | ||
1627 | #define OMAP54XX_SEL2_WIDTH 0x7 | ||
1628 | #define OMAP54XX_SEL2_MASK (0x7f << 16) | ||
1629 | |||
1630 | /* Renamed from SEL2 Used by CM_CORE_DEBUG_CFG */ | ||
1631 | #define OMAP54XX_SEL2_CORE_DEBUG_CFG_SHIFT 16 | ||
1632 | #define OMAP54XX_SEL2_CORE_DEBUG_CFG_WIDTH 0x8 | ||
1633 | #define OMAP54XX_SEL2_CORE_DEBUG_CFG_MASK (0xff << 16) | ||
1634 | |||
1635 | /* Used by CM_CORE_AON_DEBUG_CFG */ | ||
1636 | #define OMAP54XX_SEL3_SHIFT 24 | ||
1637 | #define OMAP54XX_SEL3_WIDTH 0x7 | ||
1638 | #define OMAP54XX_SEL3_MASK (0x7f << 24) | ||
1639 | |||
1640 | /* Renamed from SEL3 Used by CM_CORE_DEBUG_CFG */ | ||
1641 | #define OMAP54XX_SEL3_CORE_DEBUG_CFG_SHIFT 24 | ||
1642 | #define OMAP54XX_SEL3_CORE_DEBUG_CFG_WIDTH 0x8 | ||
1643 | #define OMAP54XX_SEL3_CORE_DEBUG_CFG_MASK (0xff << 24) | ||
1644 | |||
1645 | /* Used by CM_CLKSEL_ABE */ | ||
1646 | #define OMAP54XX_SLIMBUS1_CLK_GATE_SHIFT 10 | ||
1647 | #define OMAP54XX_SLIMBUS1_CLK_GATE_WIDTH 0x1 | ||
1648 | #define OMAP54XX_SLIMBUS1_CLK_GATE_MASK (1 << 10) | ||
1649 | |||
1650 | /* | ||
1651 | * Used by CM_ABE_AESS_CLKCTRL, CM_C2C_C2C_CLKCTRL, CM_CAM_FDIF_CLKCTRL, | ||
1652 | * CM_CAM_ISS_CLKCTRL, CM_DMA_DMA_SYSTEM_CLKCTRL, CM_DSP_DSP_CLKCTRL, | ||
1653 | * CM_DSS_BB2D_CLKCTRL, CM_DSS_DSS_CLKCTRL, CM_EMU_DEBUGSS_CLKCTRL, | ||
1654 | * CM_GPU_GPU_CLKCTRL, CM_IPU_IPU_CLKCTRL, CM_IVA_IVA_CLKCTRL, | ||
1655 | * CM_L3INIT_HSI_CLKCTRL, CM_L3INIT_IEEE1500_2_OCP_CLKCTRL, | ||
1656 | * CM_L3INIT_MMC1_CLKCTRL, CM_L3INIT_MMC2_CLKCTRL, CM_L3INIT_SATA_CLKCTRL, | ||
1657 | * CM_L3INIT_UNIPRO2_CLKCTRL, CM_L3INIT_USB_HOST_HS_CLKCTRL, | ||
1658 | * CM_L3INIT_USB_OTG_SS_CLKCTRL, CM_L4SEC_DMA_CRYPTO_CLKCTRL, | ||
1659 | * CM_MIPIEXT_LLI_CLKCTRL, CM_MPU_MPU_CLKCTRL | ||
1660 | */ | ||
1661 | #define OMAP54XX_STBYST_SHIFT 18 | ||
1662 | #define OMAP54XX_STBYST_WIDTH 0x1 | ||
1663 | #define OMAP54XX_STBYST_MASK (1 << 18) | ||
1664 | |||
1665 | /* | ||
1666 | * Used by CM_IDLEST_DPLL_ABE, CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_IVA, | ||
1667 | * CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER, CM_IDLEST_DPLL_UNIPRO1, | ||
1668 | * CM_IDLEST_DPLL_UNIPRO2, CM_IDLEST_DPLL_USB | ||
1669 | */ | ||
1670 | #define OMAP54XX_ST_DPLL_CLK_SHIFT 0 | ||
1671 | #define OMAP54XX_ST_DPLL_CLK_WIDTH 0x1 | ||
1672 | #define OMAP54XX_ST_DPLL_CLK_MASK (1 << 0) | ||
1673 | |||
1674 | /* | ||
1675 | * Used by CM_CLKDCOLDO_DPLL_UNIPRO1, CM_CLKDCOLDO_DPLL_UNIPRO2, | ||
1676 | * CM_CLKDCOLDO_DPLL_USB | ||
1677 | */ | ||
1678 | #define OMAP54XX_ST_DPLL_CLKDCOLDO_SHIFT 9 | ||
1679 | #define OMAP54XX_ST_DPLL_CLKDCOLDO_WIDTH 0x1 | ||
1680 | #define OMAP54XX_ST_DPLL_CLKDCOLDO_MASK (1 << 9) | ||
1681 | |||
1682 | /* | ||
1683 | * Used by CM_IDLEST_DPLL_ABE, CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_IVA, | ||
1684 | * CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER, CM_IDLEST_DPLL_UNIPRO1, | ||
1685 | * CM_IDLEST_DPLL_UNIPRO2, CM_IDLEST_DPLL_USB | ||
1686 | */ | ||
1687 | #define OMAP54XX_ST_DPLL_INIT_SHIFT 4 | ||
1688 | #define OMAP54XX_ST_DPLL_INIT_WIDTH 0x1 | ||
1689 | #define OMAP54XX_ST_DPLL_INIT_MASK (1 << 4) | ||
1690 | |||
1691 | /* | ||
1692 | * Used by CM_IDLEST_DPLL_ABE, CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_IVA, | ||
1693 | * CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER, CM_IDLEST_DPLL_UNIPRO1, | ||
1694 | * CM_IDLEST_DPLL_UNIPRO2, CM_IDLEST_DPLL_USB | ||
1695 | */ | ||
1696 | #define OMAP54XX_ST_DPLL_MODE_SHIFT 1 | ||
1697 | #define OMAP54XX_ST_DPLL_MODE_WIDTH 0x3 | ||
1698 | #define OMAP54XX_ST_DPLL_MODE_MASK (0x7 << 1) | ||
1699 | |||
1700 | /* Used by CM_CLKSEL_SYS */ | ||
1701 | #define OMAP54XX_SYS_CLKSEL_SHIFT 0 | ||
1702 | #define OMAP54XX_SYS_CLKSEL_WIDTH 0x3 | ||
1703 | #define OMAP54XX_SYS_CLKSEL_MASK (0x7 << 0) | ||
1704 | |||
1705 | /* | ||
1706 | * Used by CM_C2C_DYNAMICDEP, CM_DSP_DYNAMICDEP, CM_EMU_DYNAMICDEP, | ||
1707 | * CM_IPU_DYNAMICDEP, CM_L3MAIN1_DYNAMICDEP, CM_L3MAIN2_DYNAMICDEP, | ||
1708 | * CM_L4CFG_DYNAMICDEP, CM_L4PER_DYNAMICDEP, CM_MIPIEXT_DYNAMICDEP, | ||
1709 | * CM_MPU_DYNAMICDEP | ||
1710 | */ | ||
1711 | #define OMAP54XX_WINDOWSIZE_SHIFT 24 | ||
1712 | #define OMAP54XX_WINDOWSIZE_WIDTH 0x4 | ||
1713 | #define OMAP54XX_WINDOWSIZE_MASK (0xf << 24) | ||
1714 | |||
1715 | /* Used by CM_L3MAIN1_DYNAMICDEP */ | ||
1716 | #define OMAP54XX_WKUPAON_DYNDEP_SHIFT 15 | ||
1717 | #define OMAP54XX_WKUPAON_DYNDEP_WIDTH 0x1 | ||
1718 | #define OMAP54XX_WKUPAON_DYNDEP_MASK (1 << 15) | ||
1719 | |||
1720 | /* | ||
1721 | * Used by CM_DMA_STATICDEP, CM_DSP_STATICDEP, CM_IPU_STATICDEP, | ||
1722 | * CM_L3INIT_STATICDEP, CM_MPU_STATICDEP | ||
1723 | */ | ||
1724 | #define OMAP54XX_WKUPAON_STATDEP_SHIFT 15 | ||
1725 | #define OMAP54XX_WKUPAON_STATDEP_WIDTH 0x1 | ||
1726 | #define OMAP54XX_WKUPAON_STATDEP_MASK (1 << 15) | ||
1727 | |||
1728 | /* Used by REVISION_CM_CORE, REVISION_CM_CORE_AON */ | ||
1729 | #define OMAP54XX_X_MAJOR_SHIFT 8 | ||
1730 | #define OMAP54XX_X_MAJOR_WIDTH 0x3 | ||
1731 | #define OMAP54XX_X_MAJOR_MASK (0x7 << 8) | ||
1732 | |||
1733 | /* Used by REVISION_CM_CORE, REVISION_CM_CORE_AON */ | ||
1734 | #define OMAP54XX_Y_MINOR_SHIFT 0 | ||
1735 | #define OMAP54XX_Y_MINOR_WIDTH 0x6 | ||
1736 | #define OMAP54XX_Y_MINOR_MASK (0x3f << 0) | ||
1737 | #endif | ||
diff --git a/arch/arm/mach-omap2/cm1_44xx.h b/arch/arm/mach-omap2/cm1_44xx.h index 1bc00dc4876c..5ae8fe39d6ee 100644 --- a/arch/arm/mach-omap2/cm1_44xx.h +++ b/arch/arm/mach-omap2/cm1_44xx.h | |||
@@ -25,6 +25,8 @@ | |||
25 | #ifndef __ARCH_ARM_MACH_OMAP2_CM1_44XX_H | 25 | #ifndef __ARCH_ARM_MACH_OMAP2_CM1_44XX_H |
26 | #define __ARCH_ARM_MACH_OMAP2_CM1_44XX_H | 26 | #define __ARCH_ARM_MACH_OMAP2_CM1_44XX_H |
27 | 27 | ||
28 | #include "cm_44xx_54xx.h" | ||
29 | |||
28 | /* CM1 base address */ | 30 | /* CM1 base address */ |
29 | #define OMAP4430_CM1_BASE 0x4a004000 | 31 | #define OMAP4430_CM1_BASE 0x4a004000 |
30 | 32 | ||
@@ -217,9 +219,4 @@ | |||
217 | #define OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET 0x0088 | 219 | #define OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET 0x0088 |
218 | #define OMAP4430_CM1_ABE_WDT3_CLKCTRL OMAP44XX_CM1_REGADDR(OMAP4430_CM1_ABE_INST, 0x0088) | 220 | #define OMAP4430_CM1_ABE_WDT3_CLKCTRL OMAP44XX_CM1_REGADDR(OMAP4430_CM1_ABE_INST, 0x0088) |
219 | 221 | ||
220 | /* Function prototypes */ | ||
221 | extern u32 omap4_cm1_read_inst_reg(s16 inst, u16 idx); | ||
222 | extern void omap4_cm1_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
223 | extern u32 omap4_cm1_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx); | ||
224 | |||
225 | #endif | 222 | #endif |
diff --git a/arch/arm/mach-omap2/cm1_54xx.h b/arch/arm/mach-omap2/cm1_54xx.h new file mode 100644 index 000000000000..90b3348e6672 --- /dev/null +++ b/arch/arm/mach-omap2/cm1_54xx.h | |||
@@ -0,0 +1,213 @@ | |||
1 | /* | ||
2 | * OMAP54xx CM1 instance offset macros | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley (paul@pwsan.com) | ||
7 | * Rajendra Nayak (rnayak@ti.com) | ||
8 | * Benoit Cousson (b-cousson@ti.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | * | ||
20 | */ | ||
21 | |||
22 | #ifndef __ARCH_ARM_MACH_OMAP2_CM1_54XX_H | ||
23 | #define __ARCH_ARM_MACH_OMAP2_CM1_54XX_H | ||
24 | |||
25 | #include "cm_44xx_54xx.h" | ||
26 | |||
27 | /* CM1 base address */ | ||
28 | #define OMAP54XX_CM_CORE_AON_BASE 0x4a004000 | ||
29 | |||
30 | #define OMAP54XX_CM_CORE_AON_REGADDR(inst, reg) \ | ||
31 | OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_AON_BASE + (inst) + (reg)) | ||
32 | |||
33 | /* CM_CORE_AON instances */ | ||
34 | #define OMAP54XX_CM_CORE_AON_OCP_SOCKET_INST 0x0000 | ||
35 | #define OMAP54XX_CM_CORE_AON_CKGEN_INST 0x0100 | ||
36 | #define OMAP54XX_CM_CORE_AON_MPU_INST 0x0300 | ||
37 | #define OMAP54XX_CM_CORE_AON_DSP_INST 0x0400 | ||
38 | #define OMAP54XX_CM_CORE_AON_ABE_INST 0x0500 | ||
39 | #define OMAP54XX_CM_CORE_AON_RESTORE_INST 0x0e00 | ||
40 | #define OMAP54XX_CM_CORE_AON_INSTR_INST 0x0f00 | ||
41 | |||
42 | /* CM_CORE_AON clockdomain register offsets (from instance start) */ | ||
43 | #define OMAP54XX_CM_CORE_AON_MPU_MPU_CDOFFS 0x0000 | ||
44 | #define OMAP54XX_CM_CORE_AON_DSP_DSP_CDOFFS 0x0000 | ||
45 | #define OMAP54XX_CM_CORE_AON_ABE_ABE_CDOFFS 0x0000 | ||
46 | |||
47 | /* CM_CORE_AON */ | ||
48 | |||
49 | /* CM_CORE_AON.OCP_SOCKET_CM_CORE_AON register offsets */ | ||
50 | #define OMAP54XX_REVISION_CM_CORE_AON_OFFSET 0x0000 | ||
51 | #define OMAP54XX_CM_CM_CORE_AON_PROFILING_CLKCTRL_OFFSET 0x0040 | ||
52 | #define OMAP54XX_CM_CM_CORE_AON_PROFILING_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_OCP_SOCKET_INST, 0x0040) | ||
53 | #define OMAP54XX_CM_CORE_AON_DEBUG_CFG_OFFSET 0x0080 | ||
54 | #define OMAP54XX_CM_CORE_AON_DEBUG_OUT_OFFSET 0x0084 | ||
55 | #define OMAP54XX_CM_CORE_AON_DEBUG_MPU_FD_TRANS_OFFSET 0x0090 | ||
56 | #define OMAP54XX_CM_CORE_AON_DEBUG_DSP_FD_TRANS_OFFSET 0x0094 | ||
57 | #define OMAP54XX_CM_CORE_AON_DEBUG_ABE_FD_TRANS_OFFSET 0x0098 | ||
58 | #define OMAP54XX_CM_CORE_AON_DEBUG_ABE_FD_TRANS2_OFFSET 0x009c | ||
59 | #define OMAP54XX_CM_CORE_AON_DEBUG_CM_CORE_AON_FD_TRANS_OFFSET 0x00a0 | ||
60 | #define OMAP54XX_CM_CORE_AON_DEBUG_C2C_FD_TRANS_OFFSET 0x00a4 | ||
61 | #define OMAP54XX_CM_CORE_AON_DEBUG_CAM_FD_TRANS_OFFSET 0x00a8 | ||
62 | #define OMAP54XX_CM_CORE_AON_DEBUG_COREAON_FD_TRANS_OFFSET 0x00ac | ||
63 | #define OMAP54XX_CM_CORE_AON_DEBUG_CUSTEFUSE_FD_TRANS_OFFSET 0x00b0 | ||
64 | #define OMAP54XX_CM_CORE_AON_DEBUG_DMA_FD_TRANS_OFFSET 0x00b4 | ||
65 | #define OMAP54XX_CM_CORE_AON_DEBUG_DSS_FD_TRANS_OFFSET 0x00b8 | ||
66 | #define OMAP54XX_CM_CORE_AON_DEBUG_EMIF_FD_TRANS_OFFSET 0x00bc | ||
67 | #define OMAP54XX_CM_CORE_AON_DEBUG_GPU_FD_TRANS_OFFSET 0x00c0 | ||
68 | #define OMAP54XX_CM_CORE_AON_DEBUG_IPU_FD_TRANS_OFFSET 0x00c4 | ||
69 | #define OMAP54XX_CM_CORE_AON_DEBUG_IVA_FD_TRANS_OFFSET 0x00c8 | ||
70 | #define OMAP54XX_CM_CORE_AON_DEBUG_L3INIT_FD_TRANS_OFFSET 0x00cc | ||
71 | #define OMAP54XX_CM_CORE_AON_DEBUG_L3INIT_FD_TRANS2_OFFSET 0x00d0 | ||
72 | #define OMAP54XX_CM_CORE_AON_DEBUG_L3INSTR_FD_TRANS_OFFSET 0x00d4 | ||
73 | #define OMAP54XX_CM_CORE_AON_DEBUG_L3MAIN1_FD_TRANS_OFFSET 0x00d8 | ||
74 | #define OMAP54XX_CM_CORE_AON_DEBUG_L3MAIN2_FD_TRANS_OFFSET 0x00dc | ||
75 | #define OMAP54XX_CM_CORE_AON_DEBUG_L4CFG_FD_TRANS_OFFSET 0x00e0 | ||
76 | #define OMAP54XX_CM_CORE_AON_DEBUG_L4PER_FD_TRANS_OFFSET 0x00e4 | ||
77 | #define OMAP54XX_CM_CORE_AON_DEBUG_L4PER_FD_TRANS2_OFFSET 0x00e8 | ||
78 | #define OMAP54XX_CM_CORE_AON_DEBUG_L4SEC_FD_TRANS_OFFSET 0x00ec | ||
79 | #define OMAP54XX_CM_CORE_AON_DEBUG_MIPIEXT_FD_TRANS_OFFSET 0x00f0 | ||
80 | |||
81 | /* CM_CORE_AON.CKGEN_CM_CORE_AON register offsets */ | ||
82 | #define OMAP54XX_CM_CLKSEL_CORE_OFFSET 0x0000 | ||
83 | #define OMAP54XX_CM_CLKSEL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0000) | ||
84 | #define OMAP54XX_CM_CLKSEL_ABE_OFFSET 0x0008 | ||
85 | #define OMAP54XX_CM_CLKSEL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0008) | ||
86 | #define OMAP54XX_CM_DLL_CTRL_OFFSET 0x0010 | ||
87 | #define OMAP54XX_CM_CLKMODE_DPLL_CORE_OFFSET 0x0020 | ||
88 | #define OMAP54XX_CM_CLKMODE_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0020) | ||
89 | #define OMAP54XX_CM_IDLEST_DPLL_CORE_OFFSET 0x0024 | ||
90 | #define OMAP54XX_CM_IDLEST_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0024) | ||
91 | #define OMAP54XX_CM_AUTOIDLE_DPLL_CORE_OFFSET 0x0028 | ||
92 | #define OMAP54XX_CM_AUTOIDLE_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0028) | ||
93 | #define OMAP54XX_CM_CLKSEL_DPLL_CORE_OFFSET 0x002c | ||
94 | #define OMAP54XX_CM_CLKSEL_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x002c) | ||
95 | #define OMAP54XX_CM_DIV_M2_DPLL_CORE_OFFSET 0x0030 | ||
96 | #define OMAP54XX_CM_DIV_M2_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0030) | ||
97 | #define OMAP54XX_CM_DIV_M3_DPLL_CORE_OFFSET 0x0034 | ||
98 | #define OMAP54XX_CM_DIV_M3_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0034) | ||
99 | #define OMAP54XX_CM_DIV_H11_DPLL_CORE_OFFSET 0x0038 | ||
100 | #define OMAP54XX_CM_DIV_H11_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0038) | ||
101 | #define OMAP54XX_CM_DIV_H12_DPLL_CORE_OFFSET 0x003c | ||
102 | #define OMAP54XX_CM_DIV_H12_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x003c) | ||
103 | #define OMAP54XX_CM_DIV_H13_DPLL_CORE_OFFSET 0x0040 | ||
104 | #define OMAP54XX_CM_DIV_H13_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0040) | ||
105 | #define OMAP54XX_CM_DIV_H14_DPLL_CORE_OFFSET 0x0044 | ||
106 | #define OMAP54XX_CM_DIV_H14_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0044) | ||
107 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_CORE_OFFSET 0x0048 | ||
108 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_CORE_OFFSET 0x004c | ||
109 | #define OMAP54XX_CM_DIV_H21_DPLL_CORE_OFFSET 0x0050 | ||
110 | #define OMAP54XX_CM_DIV_H21_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0050) | ||
111 | #define OMAP54XX_CM_DIV_H22_DPLL_CORE_OFFSET 0x0054 | ||
112 | #define OMAP54XX_CM_DIV_H22_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0054) | ||
113 | #define OMAP54XX_CM_DIV_H23_DPLL_CORE_OFFSET 0x0058 | ||
114 | #define OMAP54XX_CM_DIV_H23_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0058) | ||
115 | #define OMAP54XX_CM_DIV_H24_DPLL_CORE_OFFSET 0x005c | ||
116 | #define OMAP54XX_CM_DIV_H24_DPLL_CORE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x005c) | ||
117 | #define OMAP54XX_CM_CLKMODE_DPLL_MPU_OFFSET 0x0060 | ||
118 | #define OMAP54XX_CM_CLKMODE_DPLL_MPU OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0060) | ||
119 | #define OMAP54XX_CM_IDLEST_DPLL_MPU_OFFSET 0x0064 | ||
120 | #define OMAP54XX_CM_IDLEST_DPLL_MPU OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0064) | ||
121 | #define OMAP54XX_CM_AUTOIDLE_DPLL_MPU_OFFSET 0x0068 | ||
122 | #define OMAP54XX_CM_AUTOIDLE_DPLL_MPU OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0068) | ||
123 | #define OMAP54XX_CM_CLKSEL_DPLL_MPU_OFFSET 0x006c | ||
124 | #define OMAP54XX_CM_CLKSEL_DPLL_MPU OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x006c) | ||
125 | #define OMAP54XX_CM_DIV_M2_DPLL_MPU_OFFSET 0x0070 | ||
126 | #define OMAP54XX_CM_DIV_M2_DPLL_MPU OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x0070) | ||
127 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_MPU_OFFSET 0x0088 | ||
128 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_MPU_OFFSET 0x008c | ||
129 | #define OMAP54XX_CM_BYPCLK_DPLL_MPU_OFFSET 0x009c | ||
130 | #define OMAP54XX_CM_BYPCLK_DPLL_MPU OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x009c) | ||
131 | #define OMAP54XX_CM_CLKMODE_DPLL_IVA_OFFSET 0x00a0 | ||
132 | #define OMAP54XX_CM_CLKMODE_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00a0) | ||
133 | #define OMAP54XX_CM_IDLEST_DPLL_IVA_OFFSET 0x00a4 | ||
134 | #define OMAP54XX_CM_IDLEST_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00a4) | ||
135 | #define OMAP54XX_CM_AUTOIDLE_DPLL_IVA_OFFSET 0x00a8 | ||
136 | #define OMAP54XX_CM_AUTOIDLE_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00a8) | ||
137 | #define OMAP54XX_CM_CLKSEL_DPLL_IVA_OFFSET 0x00ac | ||
138 | #define OMAP54XX_CM_CLKSEL_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00ac) | ||
139 | #define OMAP54XX_CM_DIV_H11_DPLL_IVA_OFFSET 0x00b8 | ||
140 | #define OMAP54XX_CM_DIV_H11_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00b8) | ||
141 | #define OMAP54XX_CM_DIV_H12_DPLL_IVA_OFFSET 0x00bc | ||
142 | #define OMAP54XX_CM_DIV_H12_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00bc) | ||
143 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_IVA_OFFSET 0x00c8 | ||
144 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_IVA_OFFSET 0x00cc | ||
145 | #define OMAP54XX_CM_BYPCLK_DPLL_IVA_OFFSET 0x00dc | ||
146 | #define OMAP54XX_CM_BYPCLK_DPLL_IVA OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00dc) | ||
147 | #define OMAP54XX_CM_CLKMODE_DPLL_ABE_OFFSET 0x00e0 | ||
148 | #define OMAP54XX_CM_CLKMODE_DPLL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00e0) | ||
149 | #define OMAP54XX_CM_IDLEST_DPLL_ABE_OFFSET 0x00e4 | ||
150 | #define OMAP54XX_CM_IDLEST_DPLL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00e4) | ||
151 | #define OMAP54XX_CM_AUTOIDLE_DPLL_ABE_OFFSET 0x00e8 | ||
152 | #define OMAP54XX_CM_AUTOIDLE_DPLL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00e8) | ||
153 | #define OMAP54XX_CM_CLKSEL_DPLL_ABE_OFFSET 0x00ec | ||
154 | #define OMAP54XX_CM_CLKSEL_DPLL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00ec) | ||
155 | #define OMAP54XX_CM_DIV_M2_DPLL_ABE_OFFSET 0x00f0 | ||
156 | #define OMAP54XX_CM_DIV_M2_DPLL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00f0) | ||
157 | #define OMAP54XX_CM_DIV_M3_DPLL_ABE_OFFSET 0x00f4 | ||
158 | #define OMAP54XX_CM_DIV_M3_DPLL_ABE OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_CKGEN_INST, 0x00f4) | ||
159 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_ABE_OFFSET 0x0108 | ||
160 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_ABE_OFFSET 0x010c | ||
161 | #define OMAP54XX_CM_SHADOW_FREQ_CONFIG1_OFFSET 0x0160 | ||
162 | #define OMAP54XX_CM_SHADOW_FREQ_CONFIG2_OFFSET 0x0164 | ||
163 | #define OMAP54XX_CM_DYN_DEP_PRESCAL_OFFSET 0x0170 | ||
164 | #define OMAP54XX_CM_RESTORE_ST_OFFSET 0x0180 | ||
165 | |||
166 | /* CM_CORE_AON.MPU_CM_CORE_AON register offsets */ | ||
167 | #define OMAP54XX_CM_MPU_CLKSTCTRL_OFFSET 0x0000 | ||
168 | #define OMAP54XX_CM_MPU_STATICDEP_OFFSET 0x0004 | ||
169 | #define OMAP54XX_CM_MPU_DYNAMICDEP_OFFSET 0x0008 | ||
170 | #define OMAP54XX_CM_MPU_MPU_CLKCTRL_OFFSET 0x0020 | ||
171 | #define OMAP54XX_CM_MPU_MPU_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_MPU_INST, 0x0020) | ||
172 | #define OMAP54XX_CM_MPU_MPU_MPU_DBG_CLKCTRL_OFFSET 0x0028 | ||
173 | #define OMAP54XX_CM_MPU_MPU_MPU_DBG_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_MPU_INST, 0x0028) | ||
174 | |||
175 | /* CM_CORE_AON.DSP_CM_CORE_AON register offsets */ | ||
176 | #define OMAP54XX_CM_DSP_CLKSTCTRL_OFFSET 0x0000 | ||
177 | #define OMAP54XX_CM_DSP_STATICDEP_OFFSET 0x0004 | ||
178 | #define OMAP54XX_CM_DSP_DYNAMICDEP_OFFSET 0x0008 | ||
179 | #define OMAP54XX_CM_DSP_DSP_CLKCTRL_OFFSET 0x0020 | ||
180 | #define OMAP54XX_CM_DSP_DSP_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_DSP_INST, 0x0020) | ||
181 | |||
182 | /* CM_CORE_AON.ABE_CM_CORE_AON register offsets */ | ||
183 | #define OMAP54XX_CM_ABE_CLKSTCTRL_OFFSET 0x0000 | ||
184 | #define OMAP54XX_CM_ABE_L4_ABE_CLKCTRL_OFFSET 0x0020 | ||
185 | #define OMAP54XX_CM_ABE_L4_ABE_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0020) | ||
186 | #define OMAP54XX_CM_ABE_AESS_CLKCTRL_OFFSET 0x0028 | ||
187 | #define OMAP54XX_CM_ABE_AESS_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0028) | ||
188 | #define OMAP54XX_CM_ABE_MCPDM_CLKCTRL_OFFSET 0x0030 | ||
189 | #define OMAP54XX_CM_ABE_MCPDM_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0030) | ||
190 | #define OMAP54XX_CM_ABE_DMIC_CLKCTRL_OFFSET 0x0038 | ||
191 | #define OMAP54XX_CM_ABE_DMIC_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0038) | ||
192 | #define OMAP54XX_CM_ABE_MCASP_CLKCTRL_OFFSET 0x0040 | ||
193 | #define OMAP54XX_CM_ABE_MCASP_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0040) | ||
194 | #define OMAP54XX_CM_ABE_MCBSP1_CLKCTRL_OFFSET 0x0048 | ||
195 | #define OMAP54XX_CM_ABE_MCBSP1_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0048) | ||
196 | #define OMAP54XX_CM_ABE_MCBSP2_CLKCTRL_OFFSET 0x0050 | ||
197 | #define OMAP54XX_CM_ABE_MCBSP2_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0050) | ||
198 | #define OMAP54XX_CM_ABE_MCBSP3_CLKCTRL_OFFSET 0x0058 | ||
199 | #define OMAP54XX_CM_ABE_MCBSP3_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0058) | ||
200 | #define OMAP54XX_CM_ABE_SLIMBUS1_CLKCTRL_OFFSET 0x0060 | ||
201 | #define OMAP54XX_CM_ABE_SLIMBUS1_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0060) | ||
202 | #define OMAP54XX_CM_ABE_TIMER5_CLKCTRL_OFFSET 0x0068 | ||
203 | #define OMAP54XX_CM_ABE_TIMER5_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0068) | ||
204 | #define OMAP54XX_CM_ABE_TIMER6_CLKCTRL_OFFSET 0x0070 | ||
205 | #define OMAP54XX_CM_ABE_TIMER6_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0070) | ||
206 | #define OMAP54XX_CM_ABE_TIMER7_CLKCTRL_OFFSET 0x0078 | ||
207 | #define OMAP54XX_CM_ABE_TIMER7_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0078) | ||
208 | #define OMAP54XX_CM_ABE_TIMER8_CLKCTRL_OFFSET 0x0080 | ||
209 | #define OMAP54XX_CM_ABE_TIMER8_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0080) | ||
210 | #define OMAP54XX_CM_ABE_WD_TIMER3_CLKCTRL_OFFSET 0x0088 | ||
211 | #define OMAP54XX_CM_ABE_WD_TIMER3_CLKCTRL OMAP54XX_CM_CORE_AON_REGADDR(OMAP54XX_CM_CORE_AON_ABE_INST, 0x0088) | ||
212 | |||
213 | #endif | ||
diff --git a/arch/arm/mach-omap2/cm2_44xx.h b/arch/arm/mach-omap2/cm2_44xx.h index b9de72da1a8e..ee5136d7cdda 100644 --- a/arch/arm/mach-omap2/cm2_44xx.h +++ b/arch/arm/mach-omap2/cm2_44xx.h | |||
@@ -25,6 +25,8 @@ | |||
25 | #ifndef __ARCH_ARM_MACH_OMAP2_CM2_44XX_H | 25 | #ifndef __ARCH_ARM_MACH_OMAP2_CM2_44XX_H |
26 | #define __ARCH_ARM_MACH_OMAP2_CM2_44XX_H | 26 | #define __ARCH_ARM_MACH_OMAP2_CM2_44XX_H |
27 | 27 | ||
28 | #include "cm_44xx_54xx.h" | ||
29 | |||
28 | /* CM2 base address */ | 30 | /* CM2 base address */ |
29 | #define OMAP4430_CM2_BASE 0x4a008000 | 31 | #define OMAP4430_CM2_BASE 0x4a008000 |
30 | 32 | ||
@@ -449,9 +451,4 @@ | |||
449 | #define OMAP4_CM_CEFUSE_CEFUSE_CLKCTRL_OFFSET 0x0020 | 451 | #define OMAP4_CM_CEFUSE_CEFUSE_CLKCTRL_OFFSET 0x0020 |
450 | #define OMAP4430_CM_CEFUSE_CEFUSE_CLKCTRL OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CEFUSE_INST, 0x0020) | 452 | #define OMAP4430_CM_CEFUSE_CEFUSE_CLKCTRL OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CEFUSE_INST, 0x0020) |
451 | 453 | ||
452 | /* Function prototypes */ | ||
453 | extern u32 omap4_cm2_read_inst_reg(s16 inst, u16 idx); | ||
454 | extern void omap4_cm2_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
455 | extern u32 omap4_cm2_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx); | ||
456 | |||
457 | #endif | 454 | #endif |
diff --git a/arch/arm/mach-omap2/cm2_54xx.h b/arch/arm/mach-omap2/cm2_54xx.h new file mode 100644 index 000000000000..2683231b299b --- /dev/null +++ b/arch/arm/mach-omap2/cm2_54xx.h | |||
@@ -0,0 +1,389 @@ | |||
1 | /* | ||
2 | * OMAP54xx CM2 instance offset macros | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley (paul@pwsan.com) | ||
7 | * Rajendra Nayak (rnayak@ti.com) | ||
8 | * Benoit Cousson (b-cousson@ti.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #ifndef __ARCH_ARM_MACH_OMAP2_CM2_54XX_H | ||
22 | #define __ARCH_ARM_MACH_OMAP2_CM2_54XX_H | ||
23 | |||
24 | #include "cm_44xx_54xx.h" | ||
25 | |||
26 | /* CM2 base address */ | ||
27 | #define OMAP54XX_CM_CORE_BASE 0x4a008000 | ||
28 | |||
29 | #define OMAP54XX_CM_CORE_REGADDR(inst, reg) \ | ||
30 | OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_BASE + (inst) + (reg)) | ||
31 | |||
32 | /* CM_CORE instances */ | ||
33 | #define OMAP54XX_CM_CORE_OCP_SOCKET_INST 0x0000 | ||
34 | #define OMAP54XX_CM_CORE_CKGEN_INST 0x0100 | ||
35 | #define OMAP54XX_CM_CORE_COREAON_INST 0x0600 | ||
36 | #define OMAP54XX_CM_CORE_CORE_INST 0x0700 | ||
37 | #define OMAP54XX_CM_CORE_IVA_INST 0x1200 | ||
38 | #define OMAP54XX_CM_CORE_CAM_INST 0x1300 | ||
39 | #define OMAP54XX_CM_CORE_DSS_INST 0x1400 | ||
40 | #define OMAP54XX_CM_CORE_GPU_INST 0x1500 | ||
41 | #define OMAP54XX_CM_CORE_L3INIT_INST 0x1600 | ||
42 | #define OMAP54XX_CM_CORE_CUSTEFUSE_INST 0x1700 | ||
43 | #define OMAP54XX_CM_CORE_RESTORE_INST 0x1e00 | ||
44 | #define OMAP54XX_CM_CORE_INSTR_INST 0x1f00 | ||
45 | |||
46 | /* CM_CORE clockdomain register offsets (from instance start) */ | ||
47 | #define OMAP54XX_CM_CORE_COREAON_COREAON_CDOFFS 0x0000 | ||
48 | #define OMAP54XX_CM_CORE_CORE_L3MAIN1_CDOFFS 0x0000 | ||
49 | #define OMAP54XX_CM_CORE_CORE_L3MAIN2_CDOFFS 0x0100 | ||
50 | #define OMAP54XX_CM_CORE_CORE_IPU_CDOFFS 0x0200 | ||
51 | #define OMAP54XX_CM_CORE_CORE_DMA_CDOFFS 0x0300 | ||
52 | #define OMAP54XX_CM_CORE_CORE_EMIF_CDOFFS 0x0400 | ||
53 | #define OMAP54XX_CM_CORE_CORE_C2C_CDOFFS 0x0500 | ||
54 | #define OMAP54XX_CM_CORE_CORE_L4CFG_CDOFFS 0x0600 | ||
55 | #define OMAP54XX_CM_CORE_CORE_L3INSTR_CDOFFS 0x0700 | ||
56 | #define OMAP54XX_CM_CORE_CORE_MIPIEXT_CDOFFS 0x0800 | ||
57 | #define OMAP54XX_CM_CORE_CORE_L4PER_CDOFFS 0x0900 | ||
58 | #define OMAP54XX_CM_CORE_CORE_L4SEC_CDOFFS 0x0a80 | ||
59 | #define OMAP54XX_CM_CORE_IVA_IVA_CDOFFS 0x0000 | ||
60 | #define OMAP54XX_CM_CORE_CAM_CAM_CDOFFS 0x0000 | ||
61 | #define OMAP54XX_CM_CORE_DSS_DSS_CDOFFS 0x0000 | ||
62 | #define OMAP54XX_CM_CORE_GPU_GPU_CDOFFS 0x0000 | ||
63 | #define OMAP54XX_CM_CORE_L3INIT_L3INIT_CDOFFS 0x0000 | ||
64 | #define OMAP54XX_CM_CORE_CUSTEFUSE_CUSTEFUSE_CDOFFS 0x0000 | ||
65 | |||
66 | /* CM_CORE */ | ||
67 | |||
68 | /* CM_CORE.OCP_SOCKET_CM_CORE register offsets */ | ||
69 | #define OMAP54XX_REVISION_CM_CORE_OFFSET 0x0000 | ||
70 | #define OMAP54XX_CM_CM_CORE_PROFILING_CLKCTRL_OFFSET 0x0040 | ||
71 | #define OMAP54XX_CM_CM_CORE_PROFILING_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_OCP_SOCKET_INST, 0x0040) | ||
72 | #define OMAP54XX_CM_CORE_DEBUG_CFG_OFFSET 0x0080 | ||
73 | #define OMAP54XX_CM_CORE_DEBUG_OUT_OFFSET 0x0084 | ||
74 | |||
75 | /* CM_CORE.CKGEN_CM_CORE register offsets */ | ||
76 | #define OMAP54XX_CM_CLKSEL_USB_60MHZ_OFFSET 0x0004 | ||
77 | #define OMAP54XX_CM_CLKSEL_USB_60MHZ OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0004) | ||
78 | #define OMAP54XX_CM_CLKMODE_DPLL_PER_OFFSET 0x0040 | ||
79 | #define OMAP54XX_CM_CLKMODE_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0040) | ||
80 | #define OMAP54XX_CM_IDLEST_DPLL_PER_OFFSET 0x0044 | ||
81 | #define OMAP54XX_CM_IDLEST_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0044) | ||
82 | #define OMAP54XX_CM_AUTOIDLE_DPLL_PER_OFFSET 0x0048 | ||
83 | #define OMAP54XX_CM_AUTOIDLE_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0048) | ||
84 | #define OMAP54XX_CM_CLKSEL_DPLL_PER_OFFSET 0x004c | ||
85 | #define OMAP54XX_CM_CLKSEL_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x004c) | ||
86 | #define OMAP54XX_CM_DIV_M2_DPLL_PER_OFFSET 0x0050 | ||
87 | #define OMAP54XX_CM_DIV_M2_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0050) | ||
88 | #define OMAP54XX_CM_DIV_M3_DPLL_PER_OFFSET 0x0054 | ||
89 | #define OMAP54XX_CM_DIV_M3_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0054) | ||
90 | #define OMAP54XX_CM_DIV_H11_DPLL_PER_OFFSET 0x0058 | ||
91 | #define OMAP54XX_CM_DIV_H11_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0058) | ||
92 | #define OMAP54XX_CM_DIV_H12_DPLL_PER_OFFSET 0x005c | ||
93 | #define OMAP54XX_CM_DIV_H12_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x005c) | ||
94 | #define OMAP54XX_CM_DIV_H13_DPLL_PER_OFFSET 0x0060 | ||
95 | #define OMAP54XX_CM_DIV_H13_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0060) | ||
96 | #define OMAP54XX_CM_DIV_H14_DPLL_PER_OFFSET 0x0064 | ||
97 | #define OMAP54XX_CM_DIV_H14_DPLL_PER OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0064) | ||
98 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_PER_OFFSET 0x0068 | ||
99 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_PER_OFFSET 0x006c | ||
100 | #define OMAP54XX_CM_CLKMODE_DPLL_USB_OFFSET 0x0080 | ||
101 | #define OMAP54XX_CM_CLKMODE_DPLL_USB OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0080) | ||
102 | #define OMAP54XX_CM_IDLEST_DPLL_USB_OFFSET 0x0084 | ||
103 | #define OMAP54XX_CM_IDLEST_DPLL_USB OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0084) | ||
104 | #define OMAP54XX_CM_AUTOIDLE_DPLL_USB_OFFSET 0x0088 | ||
105 | #define OMAP54XX_CM_AUTOIDLE_DPLL_USB OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0088) | ||
106 | #define OMAP54XX_CM_CLKSEL_DPLL_USB_OFFSET 0x008c | ||
107 | #define OMAP54XX_CM_CLKSEL_DPLL_USB OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x008c) | ||
108 | #define OMAP54XX_CM_DIV_M2_DPLL_USB_OFFSET 0x0090 | ||
109 | #define OMAP54XX_CM_DIV_M2_DPLL_USB OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0090) | ||
110 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_USB_OFFSET 0x00a8 | ||
111 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_USB_OFFSET 0x00ac | ||
112 | #define OMAP54XX_CM_CLKDCOLDO_DPLL_USB_OFFSET 0x00b4 | ||
113 | #define OMAP54XX_CM_CLKDCOLDO_DPLL_USB OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00b4) | ||
114 | #define OMAP54XX_CM_CLKMODE_DPLL_UNIPRO2_OFFSET 0x00c0 | ||
115 | #define OMAP54XX_CM_CLKMODE_DPLL_UNIPRO2 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00c0) | ||
116 | #define OMAP54XX_CM_IDLEST_DPLL_UNIPRO2_OFFSET 0x00c4 | ||
117 | #define OMAP54XX_CM_IDLEST_DPLL_UNIPRO2 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00c4) | ||
118 | #define OMAP54XX_CM_AUTOIDLE_DPLL_UNIPRO2_OFFSET 0x00c8 | ||
119 | #define OMAP54XX_CM_AUTOIDLE_DPLL_UNIPRO2 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00c8) | ||
120 | #define OMAP54XX_CM_CLKSEL_DPLL_UNIPRO2_OFFSET 0x00cc | ||
121 | #define OMAP54XX_CM_CLKSEL_DPLL_UNIPRO2 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00cc) | ||
122 | #define OMAP54XX_CM_DIV_M2_DPLL_UNIPRO2_OFFSET 0x00d0 | ||
123 | #define OMAP54XX_CM_DIV_M2_DPLL_UNIPRO2 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00d0) | ||
124 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_UNIPRO2_OFFSET 0x00e8 | ||
125 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_UNIPRO2_OFFSET 0x00ec | ||
126 | #define OMAP54XX_CM_CLKDCOLDO_DPLL_UNIPRO2_OFFSET 0x00f4 | ||
127 | #define OMAP54XX_CM_CLKDCOLDO_DPLL_UNIPRO2 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x00f4) | ||
128 | #define OMAP54XX_CM_CLKMODE_DPLL_UNIPRO1_OFFSET 0x0100 | ||
129 | #define OMAP54XX_CM_CLKMODE_DPLL_UNIPRO1 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0100) | ||
130 | #define OMAP54XX_CM_IDLEST_DPLL_UNIPRO1_OFFSET 0x0104 | ||
131 | #define OMAP54XX_CM_IDLEST_DPLL_UNIPRO1 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0104) | ||
132 | #define OMAP54XX_CM_AUTOIDLE_DPLL_UNIPRO1_OFFSET 0x0108 | ||
133 | #define OMAP54XX_CM_AUTOIDLE_DPLL_UNIPRO1 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0108) | ||
134 | #define OMAP54XX_CM_CLKSEL_DPLL_UNIPRO1_OFFSET 0x010c | ||
135 | #define OMAP54XX_CM_CLKSEL_DPLL_UNIPRO1 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x010c) | ||
136 | #define OMAP54XX_CM_DIV_M2_DPLL_UNIPRO1_OFFSET 0x0110 | ||
137 | #define OMAP54XX_CM_DIV_M2_DPLL_UNIPRO1 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0110) | ||
138 | #define OMAP54XX_CM_SSC_DELTAMSTEP_DPLL_UNIPRO1_OFFSET 0x0128 | ||
139 | #define OMAP54XX_CM_SSC_MODFREQDIV_DPLL_UNIPRO1_OFFSET 0x012c | ||
140 | #define OMAP54XX_CM_CLKDCOLDO_DPLL_UNIPRO1_OFFSET 0x0134 | ||
141 | #define OMAP54XX_CM_CLKDCOLDO_DPLL_UNIPRO1 OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CKGEN_INST, 0x0134) | ||
142 | |||
143 | /* CM_CORE.COREAON_CM_CORE register offsets */ | ||
144 | #define OMAP54XX_CM_COREAON_CLKSTCTRL_OFFSET 0x0000 | ||
145 | #define OMAP54XX_CM_COREAON_SMARTREFLEX_MPU_CLKCTRL_OFFSET 0x0028 | ||
146 | #define OMAP54XX_CM_COREAON_SMARTREFLEX_MPU_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_COREAON_INST, 0x0028) | ||
147 | #define OMAP54XX_CM_COREAON_SMARTREFLEX_MM_CLKCTRL_OFFSET 0x0030 | ||
148 | #define OMAP54XX_CM_COREAON_SMARTREFLEX_MM_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_COREAON_INST, 0x0030) | ||
149 | #define OMAP54XX_CM_COREAON_SMARTREFLEX_CORE_CLKCTRL_OFFSET 0x0038 | ||
150 | #define OMAP54XX_CM_COREAON_SMARTREFLEX_CORE_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_COREAON_INST, 0x0038) | ||
151 | #define OMAP54XX_CM_COREAON_USB_PHY_CORE_CLKCTRL_OFFSET 0x0040 | ||
152 | #define OMAP54XX_CM_COREAON_USB_PHY_CORE_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_COREAON_INST, 0x0040) | ||
153 | #define OMAP54XX_CM_COREAON_IO_SRCOMP_CLKCTRL_OFFSET 0x0050 | ||
154 | #define OMAP54XX_CM_COREAON_IO_SRCOMP_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_COREAON_INST, 0x0050) | ||
155 | |||
156 | /* CM_CORE.CORE_CM_CORE register offsets */ | ||
157 | #define OMAP54XX_CM_L3MAIN1_CLKSTCTRL_OFFSET 0x0000 | ||
158 | #define OMAP54XX_CM_L3MAIN1_DYNAMICDEP_OFFSET 0x0008 | ||
159 | #define OMAP54XX_CM_L3MAIN1_L3_MAIN_1_CLKCTRL_OFFSET 0x0020 | ||
160 | #define OMAP54XX_CM_L3MAIN1_L3_MAIN_1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0020) | ||
161 | #define OMAP54XX_CM_L3MAIN2_CLKSTCTRL_OFFSET 0x0100 | ||
162 | #define OMAP54XX_CM_L3MAIN2_DYNAMICDEP_OFFSET 0x0108 | ||
163 | #define OMAP54XX_CM_L3MAIN2_L3_MAIN_2_CLKCTRL_OFFSET 0x0120 | ||
164 | #define OMAP54XX_CM_L3MAIN2_L3_MAIN_2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0120) | ||
165 | #define OMAP54XX_CM_L3MAIN2_GPMC_CLKCTRL_OFFSET 0x0128 | ||
166 | #define OMAP54XX_CM_L3MAIN2_GPMC_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0128) | ||
167 | #define OMAP54XX_CM_L3MAIN2_OCMC_RAM_CLKCTRL_OFFSET 0x0130 | ||
168 | #define OMAP54XX_CM_L3MAIN2_OCMC_RAM_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0130) | ||
169 | #define OMAP54XX_CM_IPU_CLKSTCTRL_OFFSET 0x0200 | ||
170 | #define OMAP54XX_CM_IPU_STATICDEP_OFFSET 0x0204 | ||
171 | #define OMAP54XX_CM_IPU_DYNAMICDEP_OFFSET 0x0208 | ||
172 | #define OMAP54XX_CM_IPU_IPU_CLKCTRL_OFFSET 0x0220 | ||
173 | #define OMAP54XX_CM_IPU_IPU_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0220) | ||
174 | #define OMAP54XX_CM_DMA_CLKSTCTRL_OFFSET 0x0300 | ||
175 | #define OMAP54XX_CM_DMA_STATICDEP_OFFSET 0x0304 | ||
176 | #define OMAP54XX_CM_DMA_DYNAMICDEP_OFFSET 0x0308 | ||
177 | #define OMAP54XX_CM_DMA_DMA_SYSTEM_CLKCTRL_OFFSET 0x0320 | ||
178 | #define OMAP54XX_CM_DMA_DMA_SYSTEM_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0320) | ||
179 | #define OMAP54XX_CM_EMIF_CLKSTCTRL_OFFSET 0x0400 | ||
180 | #define OMAP54XX_CM_EMIF_DMM_CLKCTRL_OFFSET 0x0420 | ||
181 | #define OMAP54XX_CM_EMIF_DMM_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0420) | ||
182 | #define OMAP54XX_CM_EMIF_EMIF_OCP_FW_CLKCTRL_OFFSET 0x0428 | ||
183 | #define OMAP54XX_CM_EMIF_EMIF_OCP_FW_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0428) | ||
184 | #define OMAP54XX_CM_EMIF_EMIF1_CLKCTRL_OFFSET 0x0430 | ||
185 | #define OMAP54XX_CM_EMIF_EMIF1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0430) | ||
186 | #define OMAP54XX_CM_EMIF_EMIF2_CLKCTRL_OFFSET 0x0438 | ||
187 | #define OMAP54XX_CM_EMIF_EMIF2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0438) | ||
188 | #define OMAP54XX_CM_EMIF_EMIF_DLL_CLKCTRL_OFFSET 0x0440 | ||
189 | #define OMAP54XX_CM_EMIF_EMIF_DLL_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0440) | ||
190 | #define OMAP54XX_CM_C2C_CLKSTCTRL_OFFSET 0x0500 | ||
191 | #define OMAP54XX_CM_C2C_STATICDEP_OFFSET 0x0504 | ||
192 | #define OMAP54XX_CM_C2C_DYNAMICDEP_OFFSET 0x0508 | ||
193 | #define OMAP54XX_CM_C2C_C2C_CLKCTRL_OFFSET 0x0520 | ||
194 | #define OMAP54XX_CM_C2C_C2C_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0520) | ||
195 | #define OMAP54XX_CM_C2C_MODEM_ICR_CLKCTRL_OFFSET 0x0528 | ||
196 | #define OMAP54XX_CM_C2C_MODEM_ICR_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0528) | ||
197 | #define OMAP54XX_CM_C2C_C2C_OCP_FW_CLKCTRL_OFFSET 0x0530 | ||
198 | #define OMAP54XX_CM_C2C_C2C_OCP_FW_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0530) | ||
199 | #define OMAP54XX_CM_L4CFG_CLKSTCTRL_OFFSET 0x0600 | ||
200 | #define OMAP54XX_CM_L4CFG_DYNAMICDEP_OFFSET 0x0608 | ||
201 | #define OMAP54XX_CM_L4CFG_L4_CFG_CLKCTRL_OFFSET 0x0620 | ||
202 | #define OMAP54XX_CM_L4CFG_L4_CFG_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0620) | ||
203 | #define OMAP54XX_CM_L4CFG_SPINLOCK_CLKCTRL_OFFSET 0x0628 | ||
204 | #define OMAP54XX_CM_L4CFG_SPINLOCK_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0628) | ||
205 | #define OMAP54XX_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET 0x0630 | ||
206 | #define OMAP54XX_CM_L4CFG_MAILBOX_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0630) | ||
207 | #define OMAP54XX_CM_L4CFG_SAR_ROM_CLKCTRL_OFFSET 0x0638 | ||
208 | #define OMAP54XX_CM_L4CFG_SAR_ROM_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0638) | ||
209 | #define OMAP54XX_CM_L4CFG_OCP2SCP2_CLKCTRL_OFFSET 0x0640 | ||
210 | #define OMAP54XX_CM_L4CFG_OCP2SCP2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0640) | ||
211 | #define OMAP54XX_CM_L3INSTR_CLKSTCTRL_OFFSET 0x0700 | ||
212 | #define OMAP54XX_CM_L3INSTR_L3_MAIN_3_CLKCTRL_OFFSET 0x0720 | ||
213 | #define OMAP54XX_CM_L3INSTR_L3_MAIN_3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0720) | ||
214 | #define OMAP54XX_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET 0x0728 | ||
215 | #define OMAP54XX_CM_L3INSTR_L3_INSTR_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0728) | ||
216 | #define OMAP54XX_CM_L3INSTR_OCP_WP_NOC_CLKCTRL_OFFSET 0x0740 | ||
217 | #define OMAP54XX_CM_L3INSTR_OCP_WP_NOC_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0740) | ||
218 | #define OMAP54XX_CM_L3INSTR_DLL_AGING_CLKCTRL_OFFSET 0x0748 | ||
219 | #define OMAP54XX_CM_L3INSTR_DLL_AGING_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0748) | ||
220 | #define OMAP54XX_CM_L3INSTR_CTRL_MODULE_BANDGAP_CLKCTRL_OFFSET 0x0750 | ||
221 | #define OMAP54XX_CM_L3INSTR_CTRL_MODULE_BANDGAP_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0750) | ||
222 | #define OMAP54XX_CM_MIPIEXT_CLKSTCTRL_OFFSET 0x0800 | ||
223 | #define OMAP54XX_CM_MIPIEXT_STATICDEP_OFFSET 0x0804 | ||
224 | #define OMAP54XX_CM_MIPIEXT_DYNAMICDEP_OFFSET 0x0808 | ||
225 | #define OMAP54XX_CM_MIPIEXT_LLI_CLKCTRL_OFFSET 0x0820 | ||
226 | #define OMAP54XX_CM_MIPIEXT_LLI_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0820) | ||
227 | #define OMAP54XX_CM_MIPIEXT_LLI_OCP_FW_CLKCTRL_OFFSET 0x0828 | ||
228 | #define OMAP54XX_CM_MIPIEXT_LLI_OCP_FW_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0828) | ||
229 | #define OMAP54XX_CM_MIPIEXT_MPHY_CLKCTRL_OFFSET 0x0830 | ||
230 | #define OMAP54XX_CM_MIPIEXT_MPHY_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0830) | ||
231 | #define OMAP54XX_CM_L4PER_CLKSTCTRL_OFFSET 0x0900 | ||
232 | #define OMAP54XX_CM_L4PER_DYNAMICDEP_OFFSET 0x0908 | ||
233 | #define OMAP54XX_CM_L4PER_TIMER10_CLKCTRL_OFFSET 0x0928 | ||
234 | #define OMAP54XX_CM_L4PER_TIMER10_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0928) | ||
235 | #define OMAP54XX_CM_L4PER_TIMER11_CLKCTRL_OFFSET 0x0930 | ||
236 | #define OMAP54XX_CM_L4PER_TIMER11_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0930) | ||
237 | #define OMAP54XX_CM_L4PER_TIMER2_CLKCTRL_OFFSET 0x0938 | ||
238 | #define OMAP54XX_CM_L4PER_TIMER2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0938) | ||
239 | #define OMAP54XX_CM_L4PER_TIMER3_CLKCTRL_OFFSET 0x0940 | ||
240 | #define OMAP54XX_CM_L4PER_TIMER3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0940) | ||
241 | #define OMAP54XX_CM_L4PER_TIMER4_CLKCTRL_OFFSET 0x0948 | ||
242 | #define OMAP54XX_CM_L4PER_TIMER4_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0948) | ||
243 | #define OMAP54XX_CM_L4PER_TIMER9_CLKCTRL_OFFSET 0x0950 | ||
244 | #define OMAP54XX_CM_L4PER_TIMER9_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0950) | ||
245 | #define OMAP54XX_CM_L4PER_ELM_CLKCTRL_OFFSET 0x0958 | ||
246 | #define OMAP54XX_CM_L4PER_ELM_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0958) | ||
247 | #define OMAP54XX_CM_L4PER_GPIO2_CLKCTRL_OFFSET 0x0960 | ||
248 | #define OMAP54XX_CM_L4PER_GPIO2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0960) | ||
249 | #define OMAP54XX_CM_L4PER_GPIO3_CLKCTRL_OFFSET 0x0968 | ||
250 | #define OMAP54XX_CM_L4PER_GPIO3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0968) | ||
251 | #define OMAP54XX_CM_L4PER_GPIO4_CLKCTRL_OFFSET 0x0970 | ||
252 | #define OMAP54XX_CM_L4PER_GPIO4_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0970) | ||
253 | #define OMAP54XX_CM_L4PER_GPIO5_CLKCTRL_OFFSET 0x0978 | ||
254 | #define OMAP54XX_CM_L4PER_GPIO5_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0978) | ||
255 | #define OMAP54XX_CM_L4PER_GPIO6_CLKCTRL_OFFSET 0x0980 | ||
256 | #define OMAP54XX_CM_L4PER_GPIO6_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0980) | ||
257 | #define OMAP54XX_CM_L4PER_HDQ1W_CLKCTRL_OFFSET 0x0988 | ||
258 | #define OMAP54XX_CM_L4PER_HDQ1W_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0988) | ||
259 | #define OMAP54XX_CM_L4PER_I2C1_CLKCTRL_OFFSET 0x09a0 | ||
260 | #define OMAP54XX_CM_L4PER_I2C1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09a0) | ||
261 | #define OMAP54XX_CM_L4PER_I2C2_CLKCTRL_OFFSET 0x09a8 | ||
262 | #define OMAP54XX_CM_L4PER_I2C2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09a8) | ||
263 | #define OMAP54XX_CM_L4PER_I2C3_CLKCTRL_OFFSET 0x09b0 | ||
264 | #define OMAP54XX_CM_L4PER_I2C3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09b0) | ||
265 | #define OMAP54XX_CM_L4PER_I2C4_CLKCTRL_OFFSET 0x09b8 | ||
266 | #define OMAP54XX_CM_L4PER_I2C4_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09b8) | ||
267 | #define OMAP54XX_CM_L4PER_L4_PER_CLKCTRL_OFFSET 0x09c0 | ||
268 | #define OMAP54XX_CM_L4PER_L4_PER_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09c0) | ||
269 | #define OMAP54XX_CM_L4PER_MCSPI1_CLKCTRL_OFFSET 0x09f0 | ||
270 | #define OMAP54XX_CM_L4PER_MCSPI1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09f0) | ||
271 | #define OMAP54XX_CM_L4PER_MCSPI2_CLKCTRL_OFFSET 0x09f8 | ||
272 | #define OMAP54XX_CM_L4PER_MCSPI2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x09f8) | ||
273 | #define OMAP54XX_CM_L4PER_MCSPI3_CLKCTRL_OFFSET 0x0a00 | ||
274 | #define OMAP54XX_CM_L4PER_MCSPI3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a00) | ||
275 | #define OMAP54XX_CM_L4PER_MCSPI4_CLKCTRL_OFFSET 0x0a08 | ||
276 | #define OMAP54XX_CM_L4PER_MCSPI4_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a08) | ||
277 | #define OMAP54XX_CM_L4PER_GPIO7_CLKCTRL_OFFSET 0x0a10 | ||
278 | #define OMAP54XX_CM_L4PER_GPIO7_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a10) | ||
279 | #define OMAP54XX_CM_L4PER_GPIO8_CLKCTRL_OFFSET 0x0a18 | ||
280 | #define OMAP54XX_CM_L4PER_GPIO8_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a18) | ||
281 | #define OMAP54XX_CM_L4PER_MMC3_CLKCTRL_OFFSET 0x0a20 | ||
282 | #define OMAP54XX_CM_L4PER_MMC3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a20) | ||
283 | #define OMAP54XX_CM_L4PER_MMC4_CLKCTRL_OFFSET 0x0a28 | ||
284 | #define OMAP54XX_CM_L4PER_MMC4_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a28) | ||
285 | #define OMAP54XX_CM_L4PER_UART1_CLKCTRL_OFFSET 0x0a40 | ||
286 | #define OMAP54XX_CM_L4PER_UART1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a40) | ||
287 | #define OMAP54XX_CM_L4PER_UART2_CLKCTRL_OFFSET 0x0a48 | ||
288 | #define OMAP54XX_CM_L4PER_UART2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a48) | ||
289 | #define OMAP54XX_CM_L4PER_UART3_CLKCTRL_OFFSET 0x0a50 | ||
290 | #define OMAP54XX_CM_L4PER_UART3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a50) | ||
291 | #define OMAP54XX_CM_L4PER_UART4_CLKCTRL_OFFSET 0x0a58 | ||
292 | #define OMAP54XX_CM_L4PER_UART4_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a58) | ||
293 | #define OMAP54XX_CM_L4PER_MMC5_CLKCTRL_OFFSET 0x0a60 | ||
294 | #define OMAP54XX_CM_L4PER_MMC5_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a60) | ||
295 | #define OMAP54XX_CM_L4PER_I2C5_CLKCTRL_OFFSET 0x0a68 | ||
296 | #define OMAP54XX_CM_L4PER_I2C5_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a68) | ||
297 | #define OMAP54XX_CM_L4PER_UART5_CLKCTRL_OFFSET 0x0a70 | ||
298 | #define OMAP54XX_CM_L4PER_UART5_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a70) | ||
299 | #define OMAP54XX_CM_L4PER_UART6_CLKCTRL_OFFSET 0x0a78 | ||
300 | #define OMAP54XX_CM_L4PER_UART6_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0a78) | ||
301 | #define OMAP54XX_CM_L4SEC_CLKSTCTRL_OFFSET 0x0a80 | ||
302 | #define OMAP54XX_CM_L4SEC_STATICDEP_OFFSET 0x0a84 | ||
303 | #define OMAP54XX_CM_L4SEC_DYNAMICDEP_OFFSET 0x0a88 | ||
304 | #define OMAP54XX_CM_L4SEC_AES1_CLKCTRL_OFFSET 0x0aa0 | ||
305 | #define OMAP54XX_CM_L4SEC_AES1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0aa0) | ||
306 | #define OMAP54XX_CM_L4SEC_AES2_CLKCTRL_OFFSET 0x0aa8 | ||
307 | #define OMAP54XX_CM_L4SEC_AES2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0aa8) | ||
308 | #define OMAP54XX_CM_L4SEC_DES3DES_CLKCTRL_OFFSET 0x0ab0 | ||
309 | #define OMAP54XX_CM_L4SEC_DES3DES_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0ab0) | ||
310 | #define OMAP54XX_CM_L4SEC_FPKA_CLKCTRL_OFFSET 0x0ab8 | ||
311 | #define OMAP54XX_CM_L4SEC_FPKA_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0ab8) | ||
312 | #define OMAP54XX_CM_L4SEC_RNG_CLKCTRL_OFFSET 0x0ac0 | ||
313 | #define OMAP54XX_CM_L4SEC_RNG_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0ac0) | ||
314 | #define OMAP54XX_CM_L4SEC_SHA2MD5_CLKCTRL_OFFSET 0x0ac8 | ||
315 | #define OMAP54XX_CM_L4SEC_SHA2MD5_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0ac8) | ||
316 | #define OMAP54XX_CM_L4SEC_DMA_CRYPTO_CLKCTRL_OFFSET 0x0ad8 | ||
317 | #define OMAP54XX_CM_L4SEC_DMA_CRYPTO_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CORE_INST, 0x0ad8) | ||
318 | |||
319 | /* CM_CORE.IVA_CM_CORE register offsets */ | ||
320 | #define OMAP54XX_CM_IVA_CLKSTCTRL_OFFSET 0x0000 | ||
321 | #define OMAP54XX_CM_IVA_STATICDEP_OFFSET 0x0004 | ||
322 | #define OMAP54XX_CM_IVA_DYNAMICDEP_OFFSET 0x0008 | ||
323 | #define OMAP54XX_CM_IVA_IVA_CLKCTRL_OFFSET 0x0020 | ||
324 | #define OMAP54XX_CM_IVA_IVA_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_IVA_INST, 0x0020) | ||
325 | #define OMAP54XX_CM_IVA_SL2_CLKCTRL_OFFSET 0x0028 | ||
326 | #define OMAP54XX_CM_IVA_SL2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_IVA_INST, 0x0028) | ||
327 | |||
328 | /* CM_CORE.CAM_CM_CORE register offsets */ | ||
329 | #define OMAP54XX_CM_CAM_CLKSTCTRL_OFFSET 0x0000 | ||
330 | #define OMAP54XX_CM_CAM_STATICDEP_OFFSET 0x0004 | ||
331 | #define OMAP54XX_CM_CAM_DYNAMICDEP_OFFSET 0x0008 | ||
332 | #define OMAP54XX_CM_CAM_ISS_CLKCTRL_OFFSET 0x0020 | ||
333 | #define OMAP54XX_CM_CAM_ISS_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CAM_INST, 0x0020) | ||
334 | #define OMAP54XX_CM_CAM_FDIF_CLKCTRL_OFFSET 0x0028 | ||
335 | #define OMAP54XX_CM_CAM_FDIF_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CAM_INST, 0x0028) | ||
336 | #define OMAP54XX_CM_CAM_CAL_CLKCTRL_OFFSET 0x0030 | ||
337 | #define OMAP54XX_CM_CAM_CAL_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CAM_INST, 0x0030) | ||
338 | |||
339 | /* CM_CORE.DSS_CM_CORE register offsets */ | ||
340 | #define OMAP54XX_CM_DSS_CLKSTCTRL_OFFSET 0x0000 | ||
341 | #define OMAP54XX_CM_DSS_STATICDEP_OFFSET 0x0004 | ||
342 | #define OMAP54XX_CM_DSS_DYNAMICDEP_OFFSET 0x0008 | ||
343 | #define OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET 0x0020 | ||
344 | #define OMAP54XX_CM_DSS_DSS_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_DSS_INST, 0x0020) | ||
345 | #define OMAP54XX_CM_DSS_BB2D_CLKCTRL_OFFSET 0x0030 | ||
346 | #define OMAP54XX_CM_DSS_BB2D_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_DSS_INST, 0x0030) | ||
347 | |||
348 | /* CM_CORE.GPU_CM_CORE register offsets */ | ||
349 | #define OMAP54XX_CM_GPU_CLKSTCTRL_OFFSET 0x0000 | ||
350 | #define OMAP54XX_CM_GPU_STATICDEP_OFFSET 0x0004 | ||
351 | #define OMAP54XX_CM_GPU_DYNAMICDEP_OFFSET 0x0008 | ||
352 | #define OMAP54XX_CM_GPU_GPU_CLKCTRL_OFFSET 0x0020 | ||
353 | #define OMAP54XX_CM_GPU_GPU_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_GPU_INST, 0x0020) | ||
354 | |||
355 | /* CM_CORE.L3INIT_CM_CORE register offsets */ | ||
356 | #define OMAP54XX_CM_L3INIT_CLKSTCTRL_OFFSET 0x0000 | ||
357 | #define OMAP54XX_CM_L3INIT_STATICDEP_OFFSET 0x0004 | ||
358 | #define OMAP54XX_CM_L3INIT_DYNAMICDEP_OFFSET 0x0008 | ||
359 | #define OMAP54XX_CM_L3INIT_MMC1_CLKCTRL_OFFSET 0x0028 | ||
360 | #define OMAP54XX_CM_L3INIT_MMC1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0028) | ||
361 | #define OMAP54XX_CM_L3INIT_MMC2_CLKCTRL_OFFSET 0x0030 | ||
362 | #define OMAP54XX_CM_L3INIT_MMC2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0030) | ||
363 | #define OMAP54XX_CM_L3INIT_HSI_CLKCTRL_OFFSET 0x0038 | ||
364 | #define OMAP54XX_CM_L3INIT_HSI_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0038) | ||
365 | #define OMAP54XX_CM_L3INIT_UNIPRO2_CLKCTRL_OFFSET 0x0040 | ||
366 | #define OMAP54XX_CM_L3INIT_UNIPRO2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0040) | ||
367 | #define OMAP54XX_CM_L3INIT_MPHY_UNIPRO2_CLKCTRL_OFFSET 0x0048 | ||
368 | #define OMAP54XX_CM_L3INIT_MPHY_UNIPRO2_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0048) | ||
369 | #define OMAP54XX_CM_L3INIT_USB_HOST_HS_CLKCTRL_OFFSET 0x0058 | ||
370 | #define OMAP54XX_CM_L3INIT_USB_HOST_HS_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0058) | ||
371 | #define OMAP54XX_CM_L3INIT_USB_TLL_HS_CLKCTRL_OFFSET 0x0068 | ||
372 | #define OMAP54XX_CM_L3INIT_USB_TLL_HS_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0068) | ||
373 | #define OMAP54XX_CM_L3INIT_IEEE1500_2_OCP_CLKCTRL_OFFSET 0x0078 | ||
374 | #define OMAP54XX_CM_L3INIT_IEEE1500_2_OCP_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0078) | ||
375 | #define OMAP54XX_CM_L3INIT_SATA_CLKCTRL_OFFSET 0x0088 | ||
376 | #define OMAP54XX_CM_L3INIT_SATA_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x0088) | ||
377 | #define OMAP54XX_CM_L3INIT_OCP2SCP1_CLKCTRL_OFFSET 0x00e0 | ||
378 | #define OMAP54XX_CM_L3INIT_OCP2SCP1_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x00e0) | ||
379 | #define OMAP54XX_CM_L3INIT_OCP2SCP3_CLKCTRL_OFFSET 0x00e8 | ||
380 | #define OMAP54XX_CM_L3INIT_OCP2SCP3_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x00e8) | ||
381 | #define OMAP54XX_CM_L3INIT_USB_OTG_SS_CLKCTRL_OFFSET 0x00f0 | ||
382 | #define OMAP54XX_CM_L3INIT_USB_OTG_SS_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_L3INIT_INST, 0x00f0) | ||
383 | |||
384 | /* CM_CORE.CUSTEFUSE_CM_CORE register offsets */ | ||
385 | #define OMAP54XX_CM_CUSTEFUSE_CLKSTCTRL_OFFSET 0x0000 | ||
386 | #define OMAP54XX_CM_CUSTEFUSE_EFUSE_CTRL_CUST_CLKCTRL_OFFSET 0x0020 | ||
387 | #define OMAP54XX_CM_CUSTEFUSE_EFUSE_CTRL_CUST_CLKCTRL OMAP54XX_CM_CORE_REGADDR(OMAP54XX_CM_CORE_CUSTEFUSE_INST, 0x0020) | ||
388 | |||
389 | #endif | ||
diff --git a/arch/arm/mach-omap2/cm33xx.h b/arch/arm/mach-omap2/cm33xx.h index 64f4bafe7bd9..9d1f4fcdebbb 100644 --- a/arch/arm/mach-omap2/cm33xx.h +++ b/arch/arm/mach-omap2/cm33xx.h | |||
@@ -383,7 +383,7 @@ extern void am33xx_cm_clkdm_disable_hwsup(s16 inst, u16 cdoffs); | |||
383 | extern void am33xx_cm_clkdm_force_sleep(s16 inst, u16 cdoffs); | 383 | extern void am33xx_cm_clkdm_force_sleep(s16 inst, u16 cdoffs); |
384 | extern void am33xx_cm_clkdm_force_wakeup(s16 inst, u16 cdoffs); | 384 | extern void am33xx_cm_clkdm_force_wakeup(s16 inst, u16 cdoffs); |
385 | 385 | ||
386 | #ifdef CONFIG_SOC_AM33XX | 386 | #if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX) |
387 | extern int am33xx_cm_wait_module_idle(u16 inst, s16 cdoffs, | 387 | extern int am33xx_cm_wait_module_idle(u16 inst, s16 cdoffs, |
388 | u16 clkctrl_offs); | 388 | u16 clkctrl_offs); |
389 | extern void am33xx_cm_module_enable(u8 mode, u16 inst, s16 cdoffs, | 389 | extern void am33xx_cm_module_enable(u8 mode, u16 inst, s16 cdoffs, |
diff --git a/arch/arm/mach-omap2/cm_44xx_54xx.h b/arch/arm/mach-omap2/cm_44xx_54xx.h new file mode 100644 index 000000000000..cbb211690321 --- /dev/null +++ b/arch/arm/mach-omap2/cm_44xx_54xx.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * OMAP44xx and OMAP54xx CM1/CM2 function prototypes | ||
3 | * | ||
4 | * Copyright (C) 2009-2013 Texas Instruments, Inc. | ||
5 | * Copyright (C) 2009-2010 Nokia Corporation | ||
6 | * | ||
7 | * Paul Walmsley (paul@pwsan.com) | ||
8 | * Rajendra Nayak (rnayak@ti.com) | ||
9 | * Benoit Cousson (b-cousson@ti.com) | ||
10 | * | ||
11 | * This file is automatically generated from the OMAP hardware databases. | ||
12 | * We respectfully ask that any modifications to this file be coordinated | ||
13 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
14 | * authors above to ensure that the autogeneration scripts are kept | ||
15 | * up-to-date with the file contents. | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | ||
18 | * it under the terms of the GNU General Public License version 2 as | ||
19 | * published by the Free Software Foundation. | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #ifndef __ARCH_ARM_MACH_OMAP2_CM_44XX_54XX_H | ||
24 | #define __ARCH_ARM_MACH_OMAP2_CM_44XX_55XX_H | ||
25 | |||
26 | /* CM1 Function prototypes */ | ||
27 | extern u32 omap4_cm1_read_inst_reg(s16 inst, u16 idx); | ||
28 | extern void omap4_cm1_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
29 | extern u32 omap4_cm1_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx); | ||
30 | |||
31 | /* CM2 Function prototypes */ | ||
32 | extern u32 omap4_cm2_read_inst_reg(s16 inst, u16 idx); | ||
33 | extern void omap4_cm2_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
34 | extern u32 omap4_cm2_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx); | ||
35 | |||
36 | #endif | ||
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index d555cf2459e1..dfcc182ecff9 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/i2c.h> | 31 | #include <linux/i2c.h> |
32 | #include <linux/i2c/twl.h> | 32 | #include <linux/i2c/twl.h> |
33 | #include <linux/i2c-omap.h> | 33 | #include <linux/i2c-omap.h> |
34 | #include <linux/reboot.h> | ||
34 | 35 | ||
35 | #include <asm/proc-fns.h> | 36 | #include <asm/proc-fns.h> |
36 | 37 | ||
@@ -96,6 +97,7 @@ void am33xx_init_early(void); | |||
96 | void am35xx_init_early(void); | 97 | void am35xx_init_early(void); |
97 | void ti81xx_init_early(void); | 98 | void ti81xx_init_early(void); |
98 | void am33xx_init_early(void); | 99 | void am33xx_init_early(void); |
100 | void am43xx_init_early(void); | ||
99 | void omap4430_init_early(void); | 101 | void omap4430_init_early(void); |
100 | void omap5_init_early(void); | 102 | void omap5_init_early(void); |
101 | void omap3_init_late(void); /* Do not use this one */ | 103 | void omap3_init_late(void); /* Do not use this one */ |
@@ -118,33 +120,33 @@ static inline void omap_soc_device_init(void) | |||
118 | #endif | 120 | #endif |
119 | 121 | ||
120 | #if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430) | 122 | #if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430) |
121 | void omap2xxx_restart(char mode, const char *cmd); | 123 | void omap2xxx_restart(enum reboot_mode mode, const char *cmd); |
122 | #else | 124 | #else |
123 | static inline void omap2xxx_restart(char mode, const char *cmd) | 125 | static inline void omap2xxx_restart(enum reboot_mode mode, const char *cmd) |
124 | { | 126 | { |
125 | } | 127 | } |
126 | #endif | 128 | #endif |
127 | 129 | ||
128 | #ifdef CONFIG_SOC_AM33XX | 130 | #ifdef CONFIG_SOC_AM33XX |
129 | void am33xx_restart(char mode, const char *cmd); | 131 | void am33xx_restart(enum reboot_mode mode, const char *cmd); |
130 | #else | 132 | #else |
131 | static inline void am33xx_restart(char mode, const char *cmd) | 133 | static inline void am33xx_restart(enum reboot_mode mode, const char *cmd) |
132 | { | 134 | { |
133 | } | 135 | } |
134 | #endif | 136 | #endif |
135 | 137 | ||
136 | #ifdef CONFIG_ARCH_OMAP3 | 138 | #ifdef CONFIG_ARCH_OMAP3 |
137 | void omap3xxx_restart(char mode, const char *cmd); | 139 | void omap3xxx_restart(enum reboot_mode mode, const char *cmd); |
138 | #else | 140 | #else |
139 | static inline void omap3xxx_restart(char mode, const char *cmd) | 141 | static inline void omap3xxx_restart(enum reboot_mode mode, const char *cmd) |
140 | { | 142 | { |
141 | } | 143 | } |
142 | #endif | 144 | #endif |
143 | 145 | ||
144 | #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) | 146 | #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) |
145 | void omap44xx_restart(char mode, const char *cmd); | 147 | void omap44xx_restart(enum reboot_mode mode, const char *cmd); |
146 | #else | 148 | #else |
147 | static inline void omap44xx_restart(char mode, const char *cmd) | 149 | static inline void omap44xx_restart(enum reboot_mode mode, const char *cmd) |
148 | { | 150 | { |
149 | } | 151 | } |
150 | #endif | 152 | #endif |
@@ -237,8 +239,8 @@ extern void omap_do_wfi(void); | |||
237 | 239 | ||
238 | #ifdef CONFIG_SMP | 240 | #ifdef CONFIG_SMP |
239 | /* Needed for secondary core boot */ | 241 | /* Needed for secondary core boot */ |
240 | extern void omap_secondary_startup(void); | 242 | extern void omap4_secondary_startup(void); |
241 | extern void omap_secondary_startup_4460(void); | 243 | extern void omap4460_secondary_startup(void); |
242 | extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask); | 244 | extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask); |
243 | extern void omap_auxcoreboot_addr(u32 cpu_addr); | 245 | extern void omap_auxcoreboot_addr(u32 cpu_addr); |
244 | extern u32 omap_read_auxcoreboot0(void); | 246 | extern u32 omap_read_auxcoreboot0(void); |
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c index 2adb2683f074..31e0dfe4a4ea 100644 --- a/arch/arm/mach-omap2/control.c +++ b/arch/arm/mach-omap2/control.c | |||
@@ -249,6 +249,7 @@ void omap_ctrl_write_dsp_boot_addr(u32 bootaddr) | |||
249 | u32 offset = cpu_is_omap243x() ? OMAP243X_CONTROL_IVA2_BOOTADDR : | 249 | u32 offset = cpu_is_omap243x() ? OMAP243X_CONTROL_IVA2_BOOTADDR : |
250 | cpu_is_omap34xx() ? OMAP343X_CONTROL_IVA2_BOOTADDR : | 250 | cpu_is_omap34xx() ? OMAP343X_CONTROL_IVA2_BOOTADDR : |
251 | cpu_is_omap44xx() ? OMAP4_CTRL_MODULE_CORE_DSP_BOOTADDR : | 251 | cpu_is_omap44xx() ? OMAP4_CTRL_MODULE_CORE_DSP_BOOTADDR : |
252 | soc_is_omap54xx() ? OMAP4_CTRL_MODULE_CORE_DSP_BOOTADDR : | ||
252 | 0; | 253 | 0; |
253 | 254 | ||
254 | if (!offset) { | 255 | if (!offset) { |
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h index e6c328128a0a..f7d7c2ef1b40 100644 --- a/arch/arm/mach-omap2/control.h +++ b/arch/arm/mach-omap2/control.h | |||
@@ -358,6 +358,18 @@ | |||
358 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_WIDTH 0x2 | 358 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_WIDTH 0x2 |
359 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_MASK (0x3 << 22) | 359 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_MASK (0x3 << 22) |
360 | 360 | ||
361 | /* AM33XX PWMSS Control register */ | ||
362 | #define AM33XX_PWMSS_TBCLK_CLKCTRL 0x664 | ||
363 | |||
364 | /* AM33XX PWMSS Control bitfields */ | ||
365 | #define AM33XX_PWMSS0_TBCLKEN_SHIFT 0 | ||
366 | #define AM33XX_PWMSS1_TBCLKEN_SHIFT 1 | ||
367 | #define AM33XX_PWMSS2_TBCLKEN_SHIFT 2 | ||
368 | |||
369 | /* DEV Feature register to identify AM33XX features */ | ||
370 | #define AM33XX_DEV_FEATURE 0x604 | ||
371 | #define AM33XX_SGX_MASK BIT(29) | ||
372 | |||
361 | /* CONTROL OMAP STATUS register to identify OMAP3 features */ | 373 | /* CONTROL OMAP STATUS register to identify OMAP3 features */ |
362 | #define OMAP3_CONTROL_OMAP_STATUS 0x044c | 374 | #define OMAP3_CONTROL_OMAP_STATUS 0x044c |
363 | 375 | ||
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 4269fc145698..3c1279f27d1f 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -19,8 +19,8 @@ | |||
19 | #include <linux/of.h> | 19 | #include <linux/of.h> |
20 | #include <linux/pinctrl/machine.h> | 20 | #include <linux/pinctrl/machine.h> |
21 | #include <linux/platform_data/omap4-keypad.h> | 21 | #include <linux/platform_data/omap4-keypad.h> |
22 | #include <linux/platform_data/omap_ocp2scp.h> | 22 | #include <linux/wl12xx.h> |
23 | #include <linux/usb/omap_control_usb.h> | 23 | #include <linux/platform_data/mailbox-omap.h> |
24 | 24 | ||
25 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
26 | #include <asm/mach/map.h> | 26 | #include <asm/mach/map.h> |
@@ -37,7 +37,6 @@ | |||
37 | #include "mux.h" | 37 | #include "mux.h" |
38 | #include "control.h" | 38 | #include "control.h" |
39 | #include "devices.h" | 39 | #include "devices.h" |
40 | #include "dma.h" | ||
41 | 40 | ||
42 | #define L3_MODULES_MAX_LEN 12 | 41 | #define L3_MODULES_MAX_LEN 12 |
43 | #define L3_MODULES 3 | 42 | #define L3_MODULES 3 |
@@ -66,7 +65,7 @@ static int __init omap3_l3_init(void) | |||
66 | 65 | ||
67 | WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); | 66 | WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); |
68 | 67 | ||
69 | return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; | 68 | return PTR_RET(pdev); |
70 | } | 69 | } |
71 | omap_postcore_initcall(omap3_l3_init); | 70 | omap_postcore_initcall(omap3_l3_init); |
72 | 71 | ||
@@ -100,7 +99,7 @@ static int __init omap4_l3_init(void) | |||
100 | 99 | ||
101 | WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); | 100 | WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); |
102 | 101 | ||
103 | return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; | 102 | return PTR_RET(pdev); |
104 | } | 103 | } |
105 | omap_postcore_initcall(omap4_l3_init); | 104 | omap_postcore_initcall(omap4_l3_init); |
106 | 105 | ||
@@ -253,49 +252,6 @@ static inline void omap_init_camera(void) | |||
253 | #endif | 252 | #endif |
254 | } | 253 | } |
255 | 254 | ||
256 | #if IS_ENABLED(CONFIG_OMAP_CONTROL_USB) | ||
257 | static struct omap_control_usb_platform_data omap4_control_usb_pdata = { | ||
258 | .type = 1, | ||
259 | }; | ||
260 | |||
261 | struct resource omap4_control_usb_res[] = { | ||
262 | { | ||
263 | .name = "control_dev_conf", | ||
264 | .start = 0x4a002300, | ||
265 | .end = 0x4a002303, | ||
266 | .flags = IORESOURCE_MEM, | ||
267 | }, | ||
268 | { | ||
269 | .name = "otghs_control", | ||
270 | .start = 0x4a00233c, | ||
271 | .end = 0x4a00233f, | ||
272 | .flags = IORESOURCE_MEM, | ||
273 | }, | ||
274 | }; | ||
275 | |||
276 | static struct platform_device omap4_control_usb = { | ||
277 | .name = "omap-control-usb", | ||
278 | .id = -1, | ||
279 | .dev = { | ||
280 | .platform_data = &omap4_control_usb_pdata, | ||
281 | }, | ||
282 | .num_resources = 2, | ||
283 | .resource = omap4_control_usb_res, | ||
284 | }; | ||
285 | |||
286 | static inline void __init omap_init_control_usb(void) | ||
287 | { | ||
288 | if (!cpu_is_omap44xx()) | ||
289 | return; | ||
290 | |||
291 | if (platform_device_register(&omap4_control_usb)) | ||
292 | pr_err("Error registering omap_control_usb device\n"); | ||
293 | } | ||
294 | |||
295 | #else | ||
296 | static inline void omap_init_control_usb(void) { } | ||
297 | #endif /* CONFIG_OMAP_CONTROL_USB */ | ||
298 | |||
299 | int __init omap4_keyboard_init(struct omap4_keypad_platform_data | 255 | int __init omap4_keyboard_init(struct omap4_keypad_platform_data |
300 | *sdp4430_keypad_data, struct omap_board_data *bdata) | 256 | *sdp4430_keypad_data, struct omap_board_data *bdata) |
301 | { | 257 | { |
@@ -327,25 +283,31 @@ int __init omap4_keyboard_init(struct omap4_keypad_platform_data | |||
327 | return 0; | 283 | return 0; |
328 | } | 284 | } |
329 | 285 | ||
330 | #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE) | 286 | #if defined(CONFIG_OMAP2PLUS_MBOX) || defined(CONFIG_OMAP2PLUS_MBOX_MODULE) |
331 | static inline void __init omap_init_mbox(void) | 287 | static inline void __init omap_init_mbox(void) |
332 | { | 288 | { |
333 | struct omap_hwmod *oh; | 289 | struct omap_hwmod *oh; |
334 | struct platform_device *pdev; | 290 | struct platform_device *pdev; |
291 | struct omap_mbox_pdata *pdata; | ||
335 | 292 | ||
336 | oh = omap_hwmod_lookup("mailbox"); | 293 | oh = omap_hwmod_lookup("mailbox"); |
337 | if (!oh) { | 294 | if (!oh) { |
338 | pr_err("%s: unable to find hwmod\n", __func__); | 295 | pr_err("%s: unable to find hwmod\n", __func__); |
339 | return; | 296 | return; |
340 | } | 297 | } |
298 | if (!oh->dev_attr) { | ||
299 | pr_err("%s: hwmod doesn't have valid attrs\n", __func__); | ||
300 | return; | ||
301 | } | ||
341 | 302 | ||
342 | pdev = omap_device_build("omap-mailbox", -1, oh, NULL, 0); | 303 | pdata = (struct omap_mbox_pdata *)oh->dev_attr; |
304 | pdev = omap_device_build("omap-mailbox", -1, oh, pdata, sizeof(*pdata)); | ||
343 | WARN(IS_ERR(pdev), "%s: could not build device, err %ld\n", | 305 | WARN(IS_ERR(pdev), "%s: could not build device, err %ld\n", |
344 | __func__, PTR_ERR(pdev)); | 306 | __func__, PTR_ERR(pdev)); |
345 | } | 307 | } |
346 | #else | 308 | #else |
347 | static inline void omap_init_mbox(void) { } | 309 | static inline void omap_init_mbox(void) { } |
348 | #endif /* CONFIG_OMAP_MBOX_FWK */ | 310 | #endif /* CONFIG_OMAP2PLUS_MBOX */ |
349 | 311 | ||
350 | static inline void omap_init_sti(void) {} | 312 | static inline void omap_init_sti(void) {} |
351 | 313 | ||
@@ -374,10 +336,8 @@ static void __init omap_init_mcpdm(void) | |||
374 | struct platform_device *pdev; | 336 | struct platform_device *pdev; |
375 | 337 | ||
376 | oh = omap_hwmod_lookup("mcpdm"); | 338 | oh = omap_hwmod_lookup("mcpdm"); |
377 | if (!oh) { | 339 | if (!oh) |
378 | printk(KERN_ERR "Could not look up mcpdm hw_mod\n"); | ||
379 | return; | 340 | return; |
380 | } | ||
381 | 341 | ||
382 | pdev = omap_device_build("omap-mcpdm", -1, oh, NULL, 0); | 342 | pdev = omap_device_build("omap-mcpdm", -1, oh, NULL, 0); |
383 | WARN(IS_ERR(pdev), "Can't build omap_device for omap-mcpdm.\n"); | 343 | WARN(IS_ERR(pdev), "Can't build omap_device for omap-mcpdm.\n"); |
@@ -395,10 +355,8 @@ static void __init omap_init_dmic(void) | |||
395 | struct platform_device *pdev; | 355 | struct platform_device *pdev; |
396 | 356 | ||
397 | oh = omap_hwmod_lookup("dmic"); | 357 | oh = omap_hwmod_lookup("dmic"); |
398 | if (!oh) { | 358 | if (!oh) |
399 | pr_err("Could not look up dmic hw_mod\n"); | ||
400 | return; | 359 | return; |
401 | } | ||
402 | 360 | ||
403 | pdev = omap_device_build("omap-dmic", -1, oh, NULL, 0); | 361 | pdev = omap_device_build("omap-dmic", -1, oh, NULL, 0); |
404 | WARN(IS_ERR(pdev), "Can't build omap_device for omap-dmic.\n"); | 362 | WARN(IS_ERR(pdev), "Can't build omap_device for omap-dmic.\n"); |
@@ -421,10 +379,8 @@ static void __init omap_init_hdmi_audio(void) | |||
421 | struct platform_device *pdev; | 379 | struct platform_device *pdev; |
422 | 380 | ||
423 | oh = omap_hwmod_lookup("dss_hdmi"); | 381 | oh = omap_hwmod_lookup("dss_hdmi"); |
424 | if (!oh) { | 382 | if (!oh) |
425 | printk(KERN_ERR "Could not look up dss_hdmi hw_mod\n"); | ||
426 | return; | 383 | return; |
427 | } | ||
428 | 384 | ||
429 | pdev = omap_device_build("omap-hdmi-audio-dai", -1, oh, NULL, 0); | 385 | pdev = omap_device_build("omap-hdmi-audio-dai", -1, oh, NULL, 0); |
430 | WARN(IS_ERR(pdev), | 386 | WARN(IS_ERR(pdev), |
@@ -557,80 +513,38 @@ static void omap_init_vout(void) | |||
557 | static inline void omap_init_vout(void) {} | 513 | static inline void omap_init_vout(void) {} |
558 | #endif | 514 | #endif |
559 | 515 | ||
560 | #if defined(CONFIG_OMAP_OCP2SCP) || defined(CONFIG_OMAP_OCP2SCP_MODULE) | 516 | #if IS_ENABLED(CONFIG_WL12XX) |
561 | static int count_ocp2scp_devices(struct omap_ocp2scp_dev *ocp2scp_dev) | ||
562 | { | ||
563 | int cnt = 0; | ||
564 | 517 | ||
565 | while (ocp2scp_dev->drv_name != NULL) { | 518 | static struct wl12xx_platform_data wl12xx __initdata; |
566 | cnt++; | ||
567 | ocp2scp_dev++; | ||
568 | } | ||
569 | 519 | ||
570 | return cnt; | 520 | void __init omap_init_wl12xx_of(void) |
571 | } | ||
572 | |||
573 | static void __init omap_init_ocp2scp(void) | ||
574 | { | 521 | { |
575 | struct omap_hwmod *oh; | 522 | int ret; |
576 | struct platform_device *pdev; | ||
577 | int bus_id = -1, dev_cnt = 0, i; | ||
578 | struct omap_ocp2scp_dev *ocp2scp_dev; | ||
579 | const char *oh_name, *name; | ||
580 | struct omap_ocp2scp_platform_data *pdata; | ||
581 | |||
582 | if (!cpu_is_omap44xx()) | ||
583 | return; | ||
584 | |||
585 | oh_name = "ocp2scp_usb_phy"; | ||
586 | name = "omap-ocp2scp"; | ||
587 | |||
588 | oh = omap_hwmod_lookup(oh_name); | ||
589 | if (!oh) { | ||
590 | pr_err("%s: could not find omap_hwmod for %s\n", __func__, | ||
591 | oh_name); | ||
592 | return; | ||
593 | } | ||
594 | 523 | ||
595 | pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); | 524 | if (!of_have_populated_dt()) |
596 | if (!pdata) { | ||
597 | pr_err("%s: No memory for ocp2scp pdata\n", __func__); | ||
598 | return; | 525 | return; |
599 | } | ||
600 | 526 | ||
601 | ocp2scp_dev = oh->dev_attr; | 527 | if (of_machine_is_compatible("ti,omap4-sdp")) { |
602 | dev_cnt = count_ocp2scp_devices(ocp2scp_dev); | 528 | wl12xx.board_ref_clock = WL12XX_REFCLOCK_26; |
603 | 529 | wl12xx.board_tcxo_clock = WL12XX_TCXOCLOCK_26; | |
604 | if (!dev_cnt) { | 530 | wl12xx.irq = gpio_to_irq(53); |
605 | pr_err("%s: No devices connected to ocp2scp\n", __func__); | 531 | } else if (of_machine_is_compatible("ti,omap4-panda")) { |
606 | kfree(pdata); | 532 | wl12xx.board_ref_clock = WL12XX_REFCLOCK_38; |
533 | wl12xx.irq = gpio_to_irq(53); | ||
534 | } else { | ||
607 | return; | 535 | return; |
608 | } | 536 | } |
609 | 537 | ||
610 | pdata->devices = kzalloc(sizeof(struct omap_ocp2scp_dev *) | 538 | ret = wl12xx_set_platform_data(&wl12xx); |
611 | * dev_cnt, GFP_KERNEL); | 539 | if (ret) { |
612 | if (!pdata->devices) { | 540 | pr_err("error setting wl12xx data: %d\n", ret); |
613 | pr_err("%s: No memory for ocp2scp pdata devices\n", __func__); | ||
614 | kfree(pdata); | ||
615 | return; | ||
616 | } | ||
617 | |||
618 | for (i = 0; i < dev_cnt; i++, ocp2scp_dev++) | ||
619 | pdata->devices[i] = ocp2scp_dev; | ||
620 | |||
621 | pdata->dev_cnt = dev_cnt; | ||
622 | |||
623 | pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata)); | ||
624 | if (IS_ERR(pdev)) { | ||
625 | pr_err("Could not build omap_device for %s %s\n", | ||
626 | name, oh_name); | ||
627 | kfree(pdata->devices); | ||
628 | kfree(pdata); | ||
629 | return; | 541 | return; |
630 | } | 542 | } |
631 | } | 543 | } |
632 | #else | 544 | #else |
633 | static inline void omap_init_ocp2scp(void) { } | 545 | static inline void omap_init_wl12xx_of(void) |
546 | { | ||
547 | } | ||
634 | #endif | 548 | #endif |
635 | 549 | ||
636 | /*-------------------------------------------------------------------------*/ | 550 | /*-------------------------------------------------------------------------*/ |
@@ -651,17 +565,18 @@ static int __init omap2_init_devices(void) | |||
651 | omap_init_mbox(); | 565 | omap_init_mbox(); |
652 | /* If dtb is there, the devices will be created dynamically */ | 566 | /* If dtb is there, the devices will be created dynamically */ |
653 | if (!of_have_populated_dt()) { | 567 | if (!of_have_populated_dt()) { |
654 | omap_init_control_usb(); | ||
655 | omap_init_dmic(); | 568 | omap_init_dmic(); |
656 | omap_init_mcpdm(); | 569 | omap_init_mcpdm(); |
657 | omap_init_mcspi(); | 570 | omap_init_mcspi(); |
658 | omap_init_sham(); | 571 | omap_init_sham(); |
659 | omap_init_aes(); | 572 | omap_init_aes(); |
573 | } else { | ||
574 | /* These can be removed when bindings are done */ | ||
575 | omap_init_wl12xx_of(); | ||
660 | } | 576 | } |
661 | omap_init_sti(); | 577 | omap_init_sti(); |
662 | omap_init_rng(); | 578 | omap_init_rng(); |
663 | omap_init_vout(); | 579 | omap_init_vout(); |
664 | omap_init_ocp2scp(); | ||
665 | 580 | ||
666 | return 0; | 581 | return 0; |
667 | } | 582 | } |
diff --git a/arch/arm/mach-omap2/dma.h b/arch/arm/mach-omap2/dma.h deleted file mode 100644 index 65f80cacf178..000000000000 --- a/arch/arm/mach-omap2/dma.h +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | /* | ||
2 | * OMAP2PLUS DMA channel definitions | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | ||
18 | |||
19 | #ifndef __OMAP2PLUS_DMA_CHANNEL_H | ||
20 | #define __OMAP2PLUS_DMA_CHANNEL_H | ||
21 | |||
22 | |||
23 | /* DMA channels for 24xx */ | ||
24 | #define OMAP24XX_DMA_NO_DEVICE 0 | ||
25 | #define OMAP24XX_DMA_EXT_DMAREQ0 2 /* S_DMA_1 */ | ||
26 | #define OMAP24XX_DMA_EXT_DMAREQ1 3 /* S_DMA_2 */ | ||
27 | #define OMAP24XX_DMA_GPMC 4 /* S_DMA_3 */ | ||
28 | #define OMAP24XX_DMA_AES_TX 9 /* S_DMA_8 */ | ||
29 | #define OMAP24XX_DMA_AES_RX 10 /* S_DMA_9 */ | ||
30 | #define OMAP242X_DMA_EXT_DMAREQ2 14 /* S_DMA_13 */ | ||
31 | #define OMAP242X_DMA_EXT_DMAREQ3 15 /* S_DMA_14 */ | ||
32 | #define OMAP242X_DMA_EXT_DMAREQ4 16 /* S_DMA_15 */ | ||
33 | #define OMAP34XX_DMA_I2C3_TX 25 /* S_DMA_24 */ | ||
34 | #define OMAP34XX_DMA_I2C3_RX 26 /* S_DMA_25 */ | ||
35 | #define OMAP24XX_DMA_I2C1_TX 27 /* S_DMA_26 */ | ||
36 | #define OMAP24XX_DMA_I2C1_RX 28 /* S_DMA_27 */ | ||
37 | #define OMAP24XX_DMA_I2C2_TX 29 /* S_DMA_28 */ | ||
38 | #define OMAP24XX_DMA_I2C2_RX 30 /* S_DMA_29 */ | ||
39 | #define OMAP24XX_DMA_MMC2_TX 47 /* S_DMA_46 */ | ||
40 | #define OMAP24XX_DMA_MMC2_RX 48 /* S_DMA_47 */ | ||
41 | #define OMAP24XX_DMA_UART1_TX 49 /* S_DMA_48 */ | ||
42 | #define OMAP24XX_DMA_UART1_RX 50 /* S_DMA_49 */ | ||
43 | #define OMAP24XX_DMA_UART2_TX 51 /* S_DMA_50 */ | ||
44 | #define OMAP24XX_DMA_UART2_RX 52 /* S_DMA_51 */ | ||
45 | #define OMAP24XX_DMA_UART3_TX 53 /* S_DMA_52 */ | ||
46 | #define OMAP24XX_DMA_UART3_RX 54 /* S_DMA_53 */ | ||
47 | #define OMAP24XX_DMA_MMC1_TX 61 /* S_DMA_60 */ | ||
48 | #define OMAP24XX_DMA_MMC1_RX 62 /* S_DMA_61 */ | ||
49 | #define OMAP242X_DMA_EXT_DMAREQ5 64 /* S_DMA_63 */ | ||
50 | #define OMAP34XX_DMA_AES2_TX 65 /* S_DMA_64 */ | ||
51 | #define OMAP34XX_DMA_AES2_RX 66 /* S_DMA_65 */ | ||
52 | #define OMAP34XX_DMA_SHA1MD5_RX 69 /* S_DMA_68 */ | ||
53 | |||
54 | #define OMAP36XX_DMA_UART4_TX 81 /* S_DMA_80 */ | ||
55 | #define OMAP36XX_DMA_UART4_RX 82 /* S_DMA_81 */ | ||
56 | |||
57 | /* Only for AM35xx */ | ||
58 | #define AM35XX_DMA_UART4_TX 54 | ||
59 | #define AM35XX_DMA_UART4_RX 55 | ||
60 | |||
61 | #endif /* __OMAP2PLUS_DMA_CHANNEL_H */ | ||
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c index 393aeefaebb0..043e5705f2a6 100644 --- a/arch/arm/mach-omap2/dss-common.c +++ b/arch/arm/mach-omap2/dss-common.c | |||
@@ -42,7 +42,7 @@ | |||
42 | 42 | ||
43 | /* Using generic display panel */ | 43 | /* Using generic display panel */ |
44 | static struct tfp410_platform_data omap4_dvi_panel = { | 44 | static struct tfp410_platform_data omap4_dvi_panel = { |
45 | .i2c_bus_num = 3, | 45 | .i2c_bus_num = 2, |
46 | .power_down_gpio = PANDA_DVI_TFP410_POWER_DOWN_GPIO, | 46 | .power_down_gpio = PANDA_DVI_TFP410_POWER_DOWN_GPIO, |
47 | }; | 47 | }; |
48 | 48 | ||
diff --git a/arch/arm/mach-omap2/fb.c b/arch/arm/mach-omap2/fb.c index 190ae493c6ef..2ca33cc0c484 100644 --- a/arch/arm/mach-omap2/fb.c +++ b/arch/arm/mach-omap2/fb.c | |||
@@ -83,10 +83,7 @@ static int __init omap_init_vrfb(void) | |||
83 | pdev = platform_device_register_resndata(NULL, "omapvrfb", -1, | 83 | pdev = platform_device_register_resndata(NULL, "omapvrfb", -1, |
84 | res, num_res, NULL, 0); | 84 | res, num_res, NULL, 0); |
85 | 85 | ||
86 | if (IS_ERR(pdev)) | 86 | return PTR_RET(pdev); |
87 | return PTR_ERR(pdev); | ||
88 | else | ||
89 | return 0; | ||
90 | } | 87 | } |
91 | 88 | ||
92 | omap_arch_initcall(omap_init_vrfb); | 89 | omap_arch_initcall(omap_init_vrfb); |
diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c index d9c27195caf0..662c7fd633cc 100644 --- a/arch/arm/mach-omap2/gpmc-nand.c +++ b/arch/arm/mach-omap2/gpmc-nand.c | |||
@@ -43,44 +43,6 @@ static struct platform_device gpmc_nand_device = { | |||
43 | .resource = gpmc_nand_resource, | 43 | .resource = gpmc_nand_resource, |
44 | }; | 44 | }; |
45 | 45 | ||
46 | static int omap2_nand_gpmc_retime( | ||
47 | struct omap_nand_platform_data *gpmc_nand_data, | ||
48 | struct gpmc_timings *gpmc_t) | ||
49 | { | ||
50 | struct gpmc_timings t; | ||
51 | int err; | ||
52 | |||
53 | memset(&t, 0, sizeof(t)); | ||
54 | t.sync_clk = gpmc_t->sync_clk; | ||
55 | t.cs_on = gpmc_t->cs_on; | ||
56 | t.adv_on = gpmc_t->adv_on; | ||
57 | |||
58 | /* Read */ | ||
59 | t.adv_rd_off = gpmc_t->adv_rd_off; | ||
60 | t.oe_on = t.adv_on; | ||
61 | t.access = gpmc_t->access; | ||
62 | t.oe_off = gpmc_t->oe_off; | ||
63 | t.cs_rd_off = gpmc_t->cs_rd_off; | ||
64 | t.rd_cycle = gpmc_t->rd_cycle; | ||
65 | |||
66 | /* Write */ | ||
67 | t.adv_wr_off = gpmc_t->adv_wr_off; | ||
68 | t.we_on = t.oe_on; | ||
69 | if (cpu_is_omap34xx()) { | ||
70 | t.wr_data_mux_bus = gpmc_t->wr_data_mux_bus; | ||
71 | t.wr_access = gpmc_t->wr_access; | ||
72 | } | ||
73 | t.we_off = gpmc_t->we_off; | ||
74 | t.cs_wr_off = gpmc_t->cs_wr_off; | ||
75 | t.wr_cycle = gpmc_t->wr_cycle; | ||
76 | |||
77 | err = gpmc_cs_set_timings(gpmc_nand_data->cs, &t); | ||
78 | if (err) | ||
79 | return err; | ||
80 | |||
81 | return 0; | ||
82 | } | ||
83 | |||
84 | static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) | 46 | static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) |
85 | { | 47 | { |
86 | /* support only OMAP3 class */ | 48 | /* support only OMAP3 class */ |
@@ -131,7 +93,7 @@ int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, | |||
131 | gpmc_get_client_irq(GPMC_IRQ_COUNT_EVENT); | 93 | gpmc_get_client_irq(GPMC_IRQ_COUNT_EVENT); |
132 | 94 | ||
133 | if (gpmc_t) { | 95 | if (gpmc_t) { |
134 | err = omap2_nand_gpmc_retime(gpmc_nand_data, gpmc_t); | 96 | err = gpmc_cs_set_timings(gpmc_nand_data->cs, gpmc_t); |
135 | if (err < 0) { | 97 | if (err < 0) { |
136 | dev_err(dev, "Unable to set gpmc timings: %d\n", err); | 98 | dev_err(dev, "Unable to set gpmc timings: %d\n", err); |
137 | return err; | 99 | return err; |
@@ -140,8 +102,6 @@ int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, | |||
140 | if (gpmc_nand_data->of_node) { | 102 | if (gpmc_nand_data->of_node) { |
141 | gpmc_read_settings_dt(gpmc_nand_data->of_node, &s); | 103 | gpmc_read_settings_dt(gpmc_nand_data->of_node, &s); |
142 | } else { | 104 | } else { |
143 | s.device_nand = true; | ||
144 | |||
145 | /* Enable RD PIN Monitoring Reg */ | 105 | /* Enable RD PIN Monitoring Reg */ |
146 | if (gpmc_nand_data->dev_ready) { | 106 | if (gpmc_nand_data->dev_ready) { |
147 | s.wait_on_read = true; | 107 | s.wait_on_read = true; |
@@ -149,6 +109,8 @@ int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, | |||
149 | } | 109 | } |
150 | } | 110 | } |
151 | 111 | ||
112 | s.device_nand = true; | ||
113 | |||
152 | if (gpmc_nand_data->devsize == NAND_BUSWIDTH_16) | 114 | if (gpmc_nand_data->devsize == NAND_BUSWIDTH_16) |
153 | s.device_width = GPMC_DEVWIDTH_16BIT; | 115 | s.device_width = GPMC_DEVWIDTH_16BIT; |
154 | else | 116 | else |
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 6c4da1254f53..f3fdd6afa213 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/of_mtd.h> | 30 | #include <linux/of_mtd.h> |
31 | #include <linux/of_device.h> | 31 | #include <linux/of_device.h> |
32 | #include <linux/mtd/nand.h> | 32 | #include <linux/mtd/nand.h> |
33 | #include <linux/pm_runtime.h> | ||
33 | 34 | ||
34 | #include <linux/platform_data/mtd-nand-omap2.h> | 35 | #include <linux/platform_data/mtd-nand-omap2.h> |
35 | 36 | ||
@@ -155,6 +156,7 @@ static struct resource gpmc_cs_mem[GPMC_CS_NUM]; | |||
155 | static DEFINE_SPINLOCK(gpmc_mem_lock); | 156 | static DEFINE_SPINLOCK(gpmc_mem_lock); |
156 | /* Define chip-selects as reserved by default until probe completes */ | 157 | /* Define chip-selects as reserved by default until probe completes */ |
157 | static unsigned int gpmc_cs_map = ((1 << GPMC_CS_NUM) - 1); | 158 | static unsigned int gpmc_cs_map = ((1 << GPMC_CS_NUM) - 1); |
159 | static unsigned int gpmc_cs_num = GPMC_CS_NUM; | ||
158 | static unsigned int gpmc_nr_waitpins; | 160 | static unsigned int gpmc_nr_waitpins; |
159 | static struct device *gpmc_dev; | 161 | static struct device *gpmc_dev; |
160 | static int gpmc_irq; | 162 | static int gpmc_irq; |
@@ -521,8 +523,10 @@ static int gpmc_cs_remap(int cs, u32 base) | |||
521 | int ret; | 523 | int ret; |
522 | u32 old_base, size; | 524 | u32 old_base, size; |
523 | 525 | ||
524 | if (cs > GPMC_CS_NUM) | 526 | if (cs > gpmc_cs_num) { |
527 | pr_err("%s: requested chip-select is disabled\n", __func__); | ||
525 | return -ENODEV; | 528 | return -ENODEV; |
529 | } | ||
526 | gpmc_cs_get_memconf(cs, &old_base, &size); | 530 | gpmc_cs_get_memconf(cs, &old_base, &size); |
527 | if (base == old_base) | 531 | if (base == old_base) |
528 | return 0; | 532 | return 0; |
@@ -545,9 +549,10 @@ int gpmc_cs_request(int cs, unsigned long size, unsigned long *base) | |||
545 | struct resource *res = &gpmc_cs_mem[cs]; | 549 | struct resource *res = &gpmc_cs_mem[cs]; |
546 | int r = -1; | 550 | int r = -1; |
547 | 551 | ||
548 | if (cs > GPMC_CS_NUM) | 552 | if (cs > gpmc_cs_num) { |
553 | pr_err("%s: requested chip-select is disabled\n", __func__); | ||
549 | return -ENODEV; | 554 | return -ENODEV; |
550 | 555 | } | |
551 | size = gpmc_mem_align(size); | 556 | size = gpmc_mem_align(size); |
552 | if (size > (1 << GPMC_SECTION_SHIFT)) | 557 | if (size > (1 << GPMC_SECTION_SHIFT)) |
553 | return -ENOMEM; | 558 | return -ENOMEM; |
@@ -582,7 +587,7 @@ EXPORT_SYMBOL(gpmc_cs_request); | |||
582 | void gpmc_cs_free(int cs) | 587 | void gpmc_cs_free(int cs) |
583 | { | 588 | { |
584 | spin_lock(&gpmc_mem_lock); | 589 | spin_lock(&gpmc_mem_lock); |
585 | if (cs >= GPMC_CS_NUM || cs < 0 || !gpmc_cs_reserved(cs)) { | 590 | if (cs >= gpmc_cs_num || cs < 0 || !gpmc_cs_reserved(cs)) { |
586 | printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs); | 591 | printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs); |
587 | BUG(); | 592 | BUG(); |
588 | spin_unlock(&gpmc_mem_lock); | 593 | spin_unlock(&gpmc_mem_lock); |
@@ -777,7 +782,7 @@ static void gpmc_mem_exit(void) | |||
777 | { | 782 | { |
778 | int cs; | 783 | int cs; |
779 | 784 | ||
780 | for (cs = 0; cs < GPMC_CS_NUM; cs++) { | 785 | for (cs = 0; cs < gpmc_cs_num; cs++) { |
781 | if (!gpmc_cs_mem_enabled(cs)) | 786 | if (!gpmc_cs_mem_enabled(cs)) |
782 | continue; | 787 | continue; |
783 | gpmc_cs_delete_mem(cs); | 788 | gpmc_cs_delete_mem(cs); |
@@ -798,7 +803,7 @@ static void gpmc_mem_init(void) | |||
798 | gpmc_mem_root.end = GPMC_MEM_END; | 803 | gpmc_mem_root.end = GPMC_MEM_END; |
799 | 804 | ||
800 | /* Reserve all regions that has been set up by bootloader */ | 805 | /* Reserve all regions that has been set up by bootloader */ |
801 | for (cs = 0; cs < GPMC_CS_NUM; cs++) { | 806 | for (cs = 0; cs < gpmc_cs_num; cs++) { |
802 | u32 base, size; | 807 | u32 base, size; |
803 | 808 | ||
804 | if (!gpmc_cs_mem_enabled(cs)) | 809 | if (!gpmc_cs_mem_enabled(cs)) |
@@ -1245,7 +1250,6 @@ void gpmc_read_settings_dt(struct device_node *np, struct gpmc_settings *p) | |||
1245 | 1250 | ||
1246 | p->sync_read = of_property_read_bool(np, "gpmc,sync-read"); | 1251 | p->sync_read = of_property_read_bool(np, "gpmc,sync-read"); |
1247 | p->sync_write = of_property_read_bool(np, "gpmc,sync-write"); | 1252 | p->sync_write = of_property_read_bool(np, "gpmc,sync-write"); |
1248 | p->device_nand = of_property_read_bool(np, "gpmc,device-nand"); | ||
1249 | of_property_read_u32(np, "gpmc,device-width", &p->device_width); | 1253 | of_property_read_u32(np, "gpmc,device-width", &p->device_width); |
1250 | of_property_read_u32(np, "gpmc,mux-add-data", &p->mux_add_data); | 1254 | of_property_read_u32(np, "gpmc,mux-add-data", &p->mux_add_data); |
1251 | 1255 | ||
@@ -1345,6 +1349,13 @@ static const char * const nand_ecc_opts[] = { | |||
1345 | [OMAP_ECC_BCH8_CODE_HW] = "bch8", | 1349 | [OMAP_ECC_BCH8_CODE_HW] = "bch8", |
1346 | }; | 1350 | }; |
1347 | 1351 | ||
1352 | static const char * const nand_xfer_types[] = { | ||
1353 | [NAND_OMAP_PREFETCH_POLLED] = "prefetch-polled", | ||
1354 | [NAND_OMAP_POLLED] = "polled", | ||
1355 | [NAND_OMAP_PREFETCH_DMA] = "prefetch-dma", | ||
1356 | [NAND_OMAP_PREFETCH_IRQ] = "prefetch-irq", | ||
1357 | }; | ||
1358 | |||
1348 | static int gpmc_probe_nand_child(struct platform_device *pdev, | 1359 | static int gpmc_probe_nand_child(struct platform_device *pdev, |
1349 | struct device_node *child) | 1360 | struct device_node *child) |
1350 | { | 1361 | { |
@@ -1374,6 +1385,13 @@ static int gpmc_probe_nand_child(struct platform_device *pdev, | |||
1374 | break; | 1385 | break; |
1375 | } | 1386 | } |
1376 | 1387 | ||
1388 | if (!of_property_read_string(child, "ti,nand-xfer-type", &s)) | ||
1389 | for (val = 0; val < ARRAY_SIZE(nand_xfer_types); val++) | ||
1390 | if (!strcasecmp(s, nand_xfer_types[val])) { | ||
1391 | gpmc_nand_data->xfer_type = val; | ||
1392 | break; | ||
1393 | } | ||
1394 | |||
1377 | val = of_get_nand_bus_width(child); | 1395 | val = of_get_nand_bus_width(child); |
1378 | if (val == 16) | 1396 | if (val == 16) |
1379 | gpmc_nand_data->devsize = NAND_BUSWIDTH_16; | 1397 | gpmc_nand_data->devsize = NAND_BUSWIDTH_16; |
@@ -1513,6 +1531,20 @@ static int gpmc_probe_dt(struct platform_device *pdev) | |||
1513 | if (!of_id) | 1531 | if (!of_id) |
1514 | return 0; | 1532 | return 0; |
1515 | 1533 | ||
1534 | ret = of_property_read_u32(pdev->dev.of_node, "gpmc,num-cs", | ||
1535 | &gpmc_cs_num); | ||
1536 | if (ret < 0) { | ||
1537 | pr_err("%s: number of chip-selects not defined\n", __func__); | ||
1538 | return ret; | ||
1539 | } else if (gpmc_cs_num < 1) { | ||
1540 | pr_err("%s: all chip-selects are disabled\n", __func__); | ||
1541 | return -EINVAL; | ||
1542 | } else if (gpmc_cs_num > GPMC_CS_NUM) { | ||
1543 | pr_err("%s: number of supported chip-selects cannot be > %d\n", | ||
1544 | __func__, GPMC_CS_NUM); | ||
1545 | return -EINVAL; | ||
1546 | } | ||
1547 | |||
1516 | ret = of_property_read_u32(pdev->dev.of_node, "gpmc,num-waitpins", | 1548 | ret = of_property_read_u32(pdev->dev.of_node, "gpmc,num-waitpins", |
1517 | &gpmc_nr_waitpins); | 1549 | &gpmc_nr_waitpins); |
1518 | if (ret < 0) { | 1550 | if (ret < 0) { |
@@ -1577,7 +1609,8 @@ static int gpmc_probe(struct platform_device *pdev) | |||
1577 | return PTR_ERR(gpmc_l3_clk); | 1609 | return PTR_ERR(gpmc_l3_clk); |
1578 | } | 1610 | } |
1579 | 1611 | ||
1580 | clk_prepare_enable(gpmc_l3_clk); | 1612 | pm_runtime_enable(&pdev->dev); |
1613 | pm_runtime_get_sync(&pdev->dev); | ||
1581 | 1614 | ||
1582 | gpmc_dev = &pdev->dev; | 1615 | gpmc_dev = &pdev->dev; |
1583 | 1616 | ||
@@ -1610,12 +1643,14 @@ static int gpmc_probe(struct platform_device *pdev) | |||
1610 | /* Now the GPMC is initialised, unreserve the chip-selects */ | 1643 | /* Now the GPMC is initialised, unreserve the chip-selects */ |
1611 | gpmc_cs_map = 0; | 1644 | gpmc_cs_map = 0; |
1612 | 1645 | ||
1613 | if (!pdev->dev.of_node) | 1646 | if (!pdev->dev.of_node) { |
1647 | gpmc_cs_num = GPMC_CS_NUM; | ||
1614 | gpmc_nr_waitpins = GPMC_NR_WAITPINS; | 1648 | gpmc_nr_waitpins = GPMC_NR_WAITPINS; |
1649 | } | ||
1615 | 1650 | ||
1616 | rc = gpmc_probe_dt(pdev); | 1651 | rc = gpmc_probe_dt(pdev); |
1617 | if (rc < 0) { | 1652 | if (rc < 0) { |
1618 | clk_disable_unprepare(gpmc_l3_clk); | 1653 | pm_runtime_put_sync(&pdev->dev); |
1619 | clk_put(gpmc_l3_clk); | 1654 | clk_put(gpmc_l3_clk); |
1620 | dev_err(gpmc_dev, "failed to probe DT parameters\n"); | 1655 | dev_err(gpmc_dev, "failed to probe DT parameters\n"); |
1621 | return rc; | 1656 | return rc; |
@@ -1628,10 +1663,30 @@ static int gpmc_remove(struct platform_device *pdev) | |||
1628 | { | 1663 | { |
1629 | gpmc_free_irq(); | 1664 | gpmc_free_irq(); |
1630 | gpmc_mem_exit(); | 1665 | gpmc_mem_exit(); |
1666 | pm_runtime_put_sync(&pdev->dev); | ||
1667 | pm_runtime_disable(&pdev->dev); | ||
1631 | gpmc_dev = NULL; | 1668 | gpmc_dev = NULL; |
1632 | return 0; | 1669 | return 0; |
1633 | } | 1670 | } |
1634 | 1671 | ||
1672 | #ifdef CONFIG_PM_SLEEP | ||
1673 | static int gpmc_suspend(struct device *dev) | ||
1674 | { | ||
1675 | omap3_gpmc_save_context(); | ||
1676 | pm_runtime_put_sync(dev); | ||
1677 | return 0; | ||
1678 | } | ||
1679 | |||
1680 | static int gpmc_resume(struct device *dev) | ||
1681 | { | ||
1682 | pm_runtime_get_sync(dev); | ||
1683 | omap3_gpmc_restore_context(); | ||
1684 | return 0; | ||
1685 | } | ||
1686 | #endif | ||
1687 | |||
1688 | static SIMPLE_DEV_PM_OPS(gpmc_pm_ops, gpmc_suspend, gpmc_resume); | ||
1689 | |||
1635 | static struct platform_driver gpmc_driver = { | 1690 | static struct platform_driver gpmc_driver = { |
1636 | .probe = gpmc_probe, | 1691 | .probe = gpmc_probe, |
1637 | .remove = gpmc_remove, | 1692 | .remove = gpmc_remove, |
@@ -1639,6 +1694,7 @@ static struct platform_driver gpmc_driver = { | |||
1639 | .name = DEVICE_NAME, | 1694 | .name = DEVICE_NAME, |
1640 | .owner = THIS_MODULE, | 1695 | .owner = THIS_MODULE, |
1641 | .of_match_table = of_match_ptr(gpmc_dt_ids), | 1696 | .of_match_table = of_match_ptr(gpmc_dt_ids), |
1697 | .pm = &gpmc_pm_ops, | ||
1642 | }, | 1698 | }, |
1643 | }; | 1699 | }; |
1644 | 1700 | ||
@@ -1678,7 +1734,7 @@ static int __init omap_gpmc_init(void) | |||
1678 | pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0); | 1734 | pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0); |
1679 | WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); | 1735 | WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); |
1680 | 1736 | ||
1681 | return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; | 1737 | return PTR_RET(pdev); |
1682 | } | 1738 | } |
1683 | omap_postcore_initcall(omap_gpmc_init); | 1739 | omap_postcore_initcall(omap_gpmc_init); |
1684 | 1740 | ||
@@ -1701,7 +1757,6 @@ static irqreturn_t gpmc_handle_irq(int irq, void *dev) | |||
1701 | return IRQ_HANDLED; | 1757 | return IRQ_HANDLED; |
1702 | } | 1758 | } |
1703 | 1759 | ||
1704 | #ifdef CONFIG_ARCH_OMAP3 | ||
1705 | static struct omap3_gpmc_regs gpmc_context; | 1760 | static struct omap3_gpmc_regs gpmc_context; |
1706 | 1761 | ||
1707 | void omap3_gpmc_save_context(void) | 1762 | void omap3_gpmc_save_context(void) |
@@ -1715,7 +1770,7 @@ void omap3_gpmc_save_context(void) | |||
1715 | gpmc_context.prefetch_config1 = gpmc_read_reg(GPMC_PREFETCH_CONFIG1); | 1770 | gpmc_context.prefetch_config1 = gpmc_read_reg(GPMC_PREFETCH_CONFIG1); |
1716 | gpmc_context.prefetch_config2 = gpmc_read_reg(GPMC_PREFETCH_CONFIG2); | 1771 | gpmc_context.prefetch_config2 = gpmc_read_reg(GPMC_PREFETCH_CONFIG2); |
1717 | gpmc_context.prefetch_control = gpmc_read_reg(GPMC_PREFETCH_CONTROL); | 1772 | gpmc_context.prefetch_control = gpmc_read_reg(GPMC_PREFETCH_CONTROL); |
1718 | for (i = 0; i < GPMC_CS_NUM; i++) { | 1773 | for (i = 0; i < gpmc_cs_num; i++) { |
1719 | gpmc_context.cs_context[i].is_valid = gpmc_cs_mem_enabled(i); | 1774 | gpmc_context.cs_context[i].is_valid = gpmc_cs_mem_enabled(i); |
1720 | if (gpmc_context.cs_context[i].is_valid) { | 1775 | if (gpmc_context.cs_context[i].is_valid) { |
1721 | gpmc_context.cs_context[i].config1 = | 1776 | gpmc_context.cs_context[i].config1 = |
@@ -1747,7 +1802,7 @@ void omap3_gpmc_restore_context(void) | |||
1747 | gpmc_write_reg(GPMC_PREFETCH_CONFIG1, gpmc_context.prefetch_config1); | 1802 | gpmc_write_reg(GPMC_PREFETCH_CONFIG1, gpmc_context.prefetch_config1); |
1748 | gpmc_write_reg(GPMC_PREFETCH_CONFIG2, gpmc_context.prefetch_config2); | 1803 | gpmc_write_reg(GPMC_PREFETCH_CONFIG2, gpmc_context.prefetch_config2); |
1749 | gpmc_write_reg(GPMC_PREFETCH_CONTROL, gpmc_context.prefetch_control); | 1804 | gpmc_write_reg(GPMC_PREFETCH_CONTROL, gpmc_context.prefetch_control); |
1750 | for (i = 0; i < GPMC_CS_NUM; i++) { | 1805 | for (i = 0; i < gpmc_cs_num; i++) { |
1751 | if (gpmc_context.cs_context[i].is_valid) { | 1806 | if (gpmc_context.cs_context[i].is_valid) { |
1752 | gpmc_cs_write_reg(i, GPMC_CS_CONFIG1, | 1807 | gpmc_cs_write_reg(i, GPMC_CS_CONFIG1, |
1753 | gpmc_context.cs_context[i].config1); | 1808 | gpmc_context.cs_context[i].config1); |
@@ -1766,4 +1821,3 @@ void omap3_gpmc_restore_context(void) | |||
1766 | } | 1821 | } |
1767 | } | 1822 | } |
1768 | } | 1823 | } |
1769 | #endif /* CONFIG_ARCH_OMAP3 */ | ||
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c index 2ef1f8714fcf..07d4c7b35754 100644 --- a/arch/arm/mach-omap2/hsmmc.c +++ b/arch/arm/mach-omap2/hsmmc.c | |||
@@ -29,7 +29,6 @@ | |||
29 | 29 | ||
30 | static u16 control_pbias_offset; | 30 | static u16 control_pbias_offset; |
31 | static u16 control_devconf1_offset; | 31 | static u16 control_devconf1_offset; |
32 | static u16 control_mmc1; | ||
33 | 32 | ||
34 | #define HSMMC_NAME_LEN 9 | 33 | #define HSMMC_NAME_LEN 9 |
35 | 34 | ||
@@ -121,57 +120,6 @@ static void omap_hsmmc1_after_set_reg(struct device *dev, int slot, | |||
121 | } | 120 | } |
122 | } | 121 | } |
123 | 122 | ||
124 | static void omap4_hsmmc1_before_set_reg(struct device *dev, int slot, | ||
125 | int power_on, int vdd) | ||
126 | { | ||
127 | u32 reg; | ||
128 | |||
129 | /* | ||
130 | * Assume we power both OMAP VMMC1 (for CMD, CLK, DAT0..3) and the | ||
131 | * card with Vcc regulator (from twl4030 or whatever). OMAP has both | ||
132 | * 1.8V and 3.0V modes, controlled by the PBIAS register. | ||
133 | */ | ||
134 | reg = omap4_ctrl_pad_readl(control_pbias_offset); | ||
135 | reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK | | ||
136 | OMAP4_MMC1_PWRDNZ_MASK | | ||
137 | OMAP4_MMC1_PBIASLITE_VMODE_MASK); | ||
138 | omap4_ctrl_pad_writel(reg, control_pbias_offset); | ||
139 | } | ||
140 | |||
141 | static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot, | ||
142 | int power_on, int vdd) | ||
143 | { | ||
144 | u32 reg; | ||
145 | unsigned long timeout; | ||
146 | |||
147 | if (power_on) { | ||
148 | reg = omap4_ctrl_pad_readl(control_pbias_offset); | ||
149 | reg |= OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK; | ||
150 | if ((1 << vdd) <= MMC_VDD_165_195) | ||
151 | reg &= ~OMAP4_MMC1_PBIASLITE_VMODE_MASK; | ||
152 | else | ||
153 | reg |= OMAP4_MMC1_PBIASLITE_VMODE_MASK; | ||
154 | reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK | | ||
155 | OMAP4_MMC1_PWRDNZ_MASK); | ||
156 | omap4_ctrl_pad_writel(reg, control_pbias_offset); | ||
157 | |||
158 | timeout = jiffies + msecs_to_jiffies(5); | ||
159 | do { | ||
160 | reg = omap4_ctrl_pad_readl(control_pbias_offset); | ||
161 | if (!(reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK)) | ||
162 | break; | ||
163 | usleep_range(100, 200); | ||
164 | } while (!time_after(jiffies, timeout)); | ||
165 | |||
166 | if (reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK) { | ||
167 | pr_err("Pbias Voltage is not same as LDO\n"); | ||
168 | /* Caution : On VMODE_ERROR Power Down MMC IO */ | ||
169 | reg &= ~(OMAP4_MMC1_PWRDNZ_MASK); | ||
170 | omap4_ctrl_pad_writel(reg, control_pbias_offset); | ||
171 | } | ||
172 | } | ||
173 | } | ||
174 | |||
175 | static void hsmmc2_select_input_clk_src(struct omap_mmc_platform_data *mmc) | 123 | static void hsmmc2_select_input_clk_src(struct omap_mmc_platform_data *mmc) |
176 | { | 124 | { |
177 | u32 reg; | 125 | u32 reg; |
@@ -317,11 +265,7 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, | |||
317 | mmc->slots[0].pm_caps = c->pm_caps; | 265 | mmc->slots[0].pm_caps = c->pm_caps; |
318 | mmc->slots[0].internal_clock = !c->ext_clock; | 266 | mmc->slots[0].internal_clock = !c->ext_clock; |
319 | mmc->max_freq = c->max_freq; | 267 | mmc->max_freq = c->max_freq; |
320 | if (cpu_is_omap44xx()) | 268 | mmc->reg_offset = 0; |
321 | mmc->reg_offset = OMAP4_MMC_REG_OFFSET; | ||
322 | else | ||
323 | mmc->reg_offset = 0; | ||
324 | |||
325 | mmc->get_context_loss_count = hsmmc_get_context_loss; | 269 | mmc->get_context_loss_count = hsmmc_get_context_loss; |
326 | 270 | ||
327 | mmc->slots[0].switch_pin = c->gpio_cd; | 271 | mmc->slots[0].switch_pin = c->gpio_cd; |
@@ -368,24 +312,14 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, | |||
368 | if (!soc_is_am35xx()) | 312 | if (!soc_is_am35xx()) |
369 | mmc->slots[0].features |= HSMMC_HAS_PBIAS; | 313 | mmc->slots[0].features |= HSMMC_HAS_PBIAS; |
370 | 314 | ||
371 | if (cpu_is_omap44xx() && (omap_rev() > OMAP4430_REV_ES1_0)) | ||
372 | mmc->slots[0].features |= HSMMC_HAS_UPDATED_RESET; | ||
373 | |||
374 | switch (c->mmc) { | 315 | switch (c->mmc) { |
375 | case 1: | 316 | case 1: |
376 | if (mmc->slots[0].features & HSMMC_HAS_PBIAS) { | 317 | if (mmc->slots[0].features & HSMMC_HAS_PBIAS) { |
377 | /* on-chip level shifting via PBIAS0/PBIAS1 */ | 318 | /* on-chip level shifting via PBIAS0/PBIAS1 */ |
378 | if (cpu_is_omap44xx()) { | 319 | mmc->slots[0].before_set_reg = |
379 | mmc->slots[0].before_set_reg = | 320 | omap_hsmmc1_before_set_reg; |
380 | omap4_hsmmc1_before_set_reg; | 321 | mmc->slots[0].after_set_reg = |
381 | mmc->slots[0].after_set_reg = | 322 | omap_hsmmc1_after_set_reg; |
382 | omap4_hsmmc1_after_set_reg; | ||
383 | } else { | ||
384 | mmc->slots[0].before_set_reg = | ||
385 | omap_hsmmc1_before_set_reg; | ||
386 | mmc->slots[0].after_set_reg = | ||
387 | omap_hsmmc1_after_set_reg; | ||
388 | } | ||
389 | } | 323 | } |
390 | 324 | ||
391 | if (soc_is_am35xx()) | 325 | if (soc_is_am35xx()) |
@@ -563,34 +497,17 @@ free_mmc: | |||
563 | 497 | ||
564 | void __init omap_hsmmc_init(struct omap2_hsmmc_info *controllers) | 498 | void __init omap_hsmmc_init(struct omap2_hsmmc_info *controllers) |
565 | { | 499 | { |
566 | u32 reg; | ||
567 | |||
568 | if (omap_hsmmc_done) | 500 | if (omap_hsmmc_done) |
569 | return; | 501 | return; |
570 | 502 | ||
571 | omap_hsmmc_done = 1; | 503 | omap_hsmmc_done = 1; |
572 | 504 | ||
573 | if (!cpu_is_omap44xx()) { | 505 | if (cpu_is_omap2430()) { |
574 | if (cpu_is_omap2430()) { | 506 | control_pbias_offset = OMAP243X_CONTROL_PBIAS_LITE; |
575 | control_pbias_offset = OMAP243X_CONTROL_PBIAS_LITE; | 507 | control_devconf1_offset = OMAP243X_CONTROL_DEVCONF1; |
576 | control_devconf1_offset = OMAP243X_CONTROL_DEVCONF1; | ||
577 | } else { | ||
578 | control_pbias_offset = OMAP343X_CONTROL_PBIAS_LITE; | ||
579 | control_devconf1_offset = OMAP343X_CONTROL_DEVCONF1; | ||
580 | } | ||
581 | } else { | 508 | } else { |
582 | control_pbias_offset = | 509 | control_pbias_offset = OMAP343X_CONTROL_PBIAS_LITE; |
583 | OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_PBIASLITE; | 510 | control_devconf1_offset = OMAP343X_CONTROL_DEVCONF1; |
584 | control_mmc1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_MMC1; | ||
585 | reg = omap4_ctrl_pad_readl(control_mmc1); | ||
586 | reg |= (OMAP4_SDMMC1_PUSTRENGTH_GRP0_MASK | | ||
587 | OMAP4_SDMMC1_PUSTRENGTH_GRP1_MASK); | ||
588 | reg &= ~(OMAP4_SDMMC1_PUSTRENGTH_GRP2_MASK | | ||
589 | OMAP4_SDMMC1_PUSTRENGTH_GRP3_MASK); | ||
590 | reg |= (OMAP4_SDMMC1_DR0_SPEEDCTRL_MASK | | ||
591 | OMAP4_SDMMC1_DR1_SPEEDCTRL_MASK | | ||
592 | OMAP4_SDMMC1_DR2_SPEEDCTRL_MASK); | ||
593 | omap4_ctrl_pad_writel(reg, control_mmc1); | ||
594 | } | 511 | } |
595 | 512 | ||
596 | for (; controllers->mmc; controllers++) | 513 | for (; controllers->mmc; controllers++) |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 1272c41d4749..2dc62a25f2c3 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
@@ -55,7 +55,7 @@ int omap_type(void) | |||
55 | 55 | ||
56 | if (cpu_is_omap24xx()) { | 56 | if (cpu_is_omap24xx()) { |
57 | val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS); | 57 | val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS); |
58 | } else if (soc_is_am33xx()) { | 58 | } else if (soc_is_am33xx() || soc_is_am43xx()) { |
59 | val = omap_ctrl_readl(AM33XX_CONTROL_STATUS); | 59 | val = omap_ctrl_readl(AM33XX_CONTROL_STATUS); |
60 | } else if (cpu_is_omap34xx()) { | 60 | } else if (cpu_is_omap34xx()) { |
61 | val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS); | 61 | val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS); |
@@ -209,6 +209,8 @@ static void __init omap3_cpuinfo(void) | |||
209 | cpu_name = "TI816X"; | 209 | cpu_name = "TI816X"; |
210 | } else if (soc_is_am335x()) { | 210 | } else if (soc_is_am335x()) { |
211 | cpu_name = "AM335X"; | 211 | cpu_name = "AM335X"; |
212 | } else if (soc_is_am437x()) { | ||
213 | cpu_name = "AM437x"; | ||
212 | } else if (cpu_is_ti814x()) { | 214 | } else if (cpu_is_ti814x()) { |
213 | cpu_name = "TI814X"; | 215 | cpu_name = "TI814X"; |
214 | } else if (omap3_has_iva() && omap3_has_sgx()) { | 216 | } else if (omap3_has_iva() && omap3_has_sgx()) { |
@@ -302,6 +304,19 @@ void __init ti81xx_check_features(void) | |||
302 | omap3_cpuinfo(); | 304 | omap3_cpuinfo(); |
303 | } | 305 | } |
304 | 306 | ||
307 | void __init am33xx_check_features(void) | ||
308 | { | ||
309 | u32 status; | ||
310 | |||
311 | omap_features = OMAP3_HAS_NEON; | ||
312 | |||
313 | status = omap_ctrl_readl(AM33XX_DEV_FEATURE); | ||
314 | if (status & AM33XX_SGX_MASK) | ||
315 | omap_features |= OMAP3_HAS_SGX; | ||
316 | |||
317 | omap3_cpuinfo(); | ||
318 | } | ||
319 | |||
305 | void __init omap3xxx_check_revision(void) | 320 | void __init omap3xxx_check_revision(void) |
306 | { | 321 | { |
307 | const char *cpu_rev; | 322 | const char *cpu_rev; |
@@ -405,11 +420,18 @@ void __init omap3xxx_check_revision(void) | |||
405 | cpu_rev = "1.0"; | 420 | cpu_rev = "1.0"; |
406 | break; | 421 | break; |
407 | case 1: | 422 | case 1: |
408 | /* FALLTHROUGH */ | ||
409 | default: | ||
410 | omap_revision = TI8168_REV_ES1_1; | 423 | omap_revision = TI8168_REV_ES1_1; |
411 | cpu_rev = "1.1"; | 424 | cpu_rev = "1.1"; |
412 | break; | 425 | break; |
426 | case 2: | ||
427 | omap_revision = TI8168_REV_ES2_0; | ||
428 | cpu_rev = "2.0"; | ||
429 | break; | ||
430 | case 3: | ||
431 | /* FALLTHROUGH */ | ||
432 | default: | ||
433 | omap_revision = TI8168_REV_ES2_1; | ||
434 | cpu_rev = "2.1"; | ||
413 | } | 435 | } |
414 | break; | 436 | break; |
415 | case 0xb944: | 437 | case 0xb944: |
@@ -430,6 +452,10 @@ void __init omap3xxx_check_revision(void) | |||
430 | break; | 452 | break; |
431 | } | 453 | } |
432 | break; | 454 | break; |
455 | case 0xb98c: | ||
456 | omap_revision = AM437X_REV_ES1_0; | ||
457 | cpu_rev = "1.0"; | ||
458 | break; | ||
433 | case 0xb8f2: | 459 | case 0xb8f2: |
434 | switch (rev) { | 460 | switch (rev) { |
435 | case 0: | 461 | case 0: |
@@ -601,7 +627,7 @@ void __init omap2_set_globals_tap(u32 class, void __iomem *tap) | |||
601 | 627 | ||
602 | #ifdef CONFIG_SOC_BUS | 628 | #ifdef CONFIG_SOC_BUS |
603 | 629 | ||
604 | static const char const *omap_types[] = { | 630 | static const char * const omap_types[] = { |
605 | [OMAP2_DEVICE_TYPE_TEST] = "TST", | 631 | [OMAP2_DEVICE_TYPE_TEST] = "TST", |
606 | [OMAP2_DEVICE_TYPE_EMU] = "EMU", | 632 | [OMAP2_DEVICE_TYPE_EMU] = "EMU", |
607 | [OMAP2_DEVICE_TYPE_SEC] = "HS", | 633 | [OMAP2_DEVICE_TYPE_SEC] = "HS", |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 09abf99e9e57..4a3f06f02859 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -202,7 +202,7 @@ static struct map_desc omapti81xx_io_desc[] __initdata = { | |||
202 | }; | 202 | }; |
203 | #endif | 203 | #endif |
204 | 204 | ||
205 | #ifdef CONFIG_SOC_AM33XX | 205 | #if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX) |
206 | static struct map_desc omapam33xx_io_desc[] __initdata = { | 206 | static struct map_desc omapam33xx_io_desc[] __initdata = { |
207 | { | 207 | { |
208 | .virtual = L4_34XX_VIRT, | 208 | .virtual = L4_34XX_VIRT, |
@@ -318,7 +318,7 @@ void __init ti81xx_map_io(void) | |||
318 | } | 318 | } |
319 | #endif | 319 | #endif |
320 | 320 | ||
321 | #ifdef CONFIG_SOC_AM33XX | 321 | #if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX) |
322 | void __init am33xx_map_io(void) | 322 | void __init am33xx_map_io(void) |
323 | { | 323 | { |
324 | iotable_init(omapam33xx_io_desc, ARRAY_SIZE(omapam33xx_io_desc)); | 324 | iotable_init(omapam33xx_io_desc, ARRAY_SIZE(omapam33xx_io_desc)); |
@@ -394,7 +394,7 @@ static void __init omap_hwmod_init_postsetup(void) | |||
394 | omap_pm_if_early_init(); | 394 | omap_pm_if_early_init(); |
395 | } | 395 | } |
396 | 396 | ||
397 | static void __init omap_common_late_init(void) | 397 | static void __init __maybe_unused omap_common_late_init(void) |
398 | { | 398 | { |
399 | omap_mux_late_init(); | 399 | omap_mux_late_init(); |
400 | omap2_common_pm_late_init(); | 400 | omap2_common_pm_late_init(); |
@@ -576,8 +576,7 @@ void __init am33xx_init_early(void) | |||
576 | omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE)); | 576 | omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE)); |
577 | omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL); | 577 | omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL); |
578 | omap3xxx_check_revision(); | 578 | omap3xxx_check_revision(); |
579 | ti81xx_check_features(); | 579 | am33xx_check_features(); |
580 | am33xx_voltagedomains_init(); | ||
581 | am33xx_powerdomains_init(); | 580 | am33xx_powerdomains_init(); |
582 | am33xx_clockdomains_init(); | 581 | am33xx_clockdomains_init(); |
583 | am33xx_hwmod_init(); | 582 | am33xx_hwmod_init(); |
@@ -586,6 +585,19 @@ void __init am33xx_init_early(void) | |||
586 | } | 585 | } |
587 | #endif | 586 | #endif |
588 | 587 | ||
588 | #ifdef CONFIG_SOC_AM43XX | ||
589 | void __init am43xx_init_early(void) | ||
590 | { | ||
591 | omap2_set_globals_tap(AM335X_CLASS, | ||
592 | AM33XX_L4_WK_IO_ADDRESS(AM33XX_TAP_BASE)); | ||
593 | omap2_set_globals_control(AM33XX_L4_WK_IO_ADDRESS(AM33XX_CTRL_BASE), | ||
594 | NULL); | ||
595 | omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM43XX_PRCM_BASE)); | ||
596 | omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM43XX_PRCM_BASE), NULL); | ||
597 | omap3xxx_check_revision(); | ||
598 | } | ||
599 | #endif | ||
600 | |||
589 | #ifdef CONFIG_ARCH_OMAP4 | 601 | #ifdef CONFIG_ARCH_OMAP4 |
590 | void __init omap4430_init_early(void) | 602 | void __init omap4430_init_early(void) |
591 | { | 603 | { |
@@ -631,7 +643,13 @@ void __init omap5_init_early(void) | |||
631 | omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE)); | 643 | omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE)); |
632 | omap_prm_base_init(); | 644 | omap_prm_base_init(); |
633 | omap_cm_base_init(); | 645 | omap_cm_base_init(); |
646 | omap44xx_prm_init(); | ||
634 | omap5xxx_check_revision(); | 647 | omap5xxx_check_revision(); |
648 | omap54xx_voltagedomains_init(); | ||
649 | omap54xx_powerdomains_init(); | ||
650 | omap54xx_clockdomains_init(); | ||
651 | omap54xx_hwmod_init(); | ||
652 | omap_hwmod_init_postsetup(); | ||
635 | } | 653 | } |
636 | #endif | 654 | #endif |
637 | 655 | ||
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c deleted file mode 100644 index 0b080267b7f6..000000000000 --- a/arch/arm/mach-omap2/mailbox.c +++ /dev/null | |||
@@ -1,430 +0,0 @@ | |||
1 | /* | ||
2 | * Mailbox reservation modules for OMAP2/3 | ||
3 | * | ||
4 | * Copyright (C) 2006-2009 Nokia Corporation | ||
5 | * Written by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | ||
6 | * and Paul Mundt | ||
7 | * | ||
8 | * This file is subject to the terms and conditions of the GNU General Public | ||
9 | * License. See the file "COPYING" in the main directory of this archive | ||
10 | * for more details. | ||
11 | */ | ||
12 | |||
13 | #include <linux/module.h> | ||
14 | #include <linux/clk.h> | ||
15 | #include <linux/err.h> | ||
16 | #include <linux/platform_device.h> | ||
17 | #include <linux/io.h> | ||
18 | #include <linux/pm_runtime.h> | ||
19 | |||
20 | #include <plat/mailbox.h> | ||
21 | |||
22 | #include "soc.h" | ||
23 | |||
24 | #define MAILBOX_REVISION 0x000 | ||
25 | #define MAILBOX_MESSAGE(m) (0x040 + 4 * (m)) | ||
26 | #define MAILBOX_FIFOSTATUS(m) (0x080 + 4 * (m)) | ||
27 | #define MAILBOX_MSGSTATUS(m) (0x0c0 + 4 * (m)) | ||
28 | #define MAILBOX_IRQSTATUS(u) (0x100 + 8 * (u)) | ||
29 | #define MAILBOX_IRQENABLE(u) (0x104 + 8 * (u)) | ||
30 | |||
31 | #define OMAP4_MAILBOX_IRQSTATUS(u) (0x104 + 0x10 * (u)) | ||
32 | #define OMAP4_MAILBOX_IRQENABLE(u) (0x108 + 0x10 * (u)) | ||
33 | #define OMAP4_MAILBOX_IRQENABLE_CLR(u) (0x10c + 0x10 * (u)) | ||
34 | |||
35 | #define MAILBOX_IRQ_NEWMSG(m) (1 << (2 * (m))) | ||
36 | #define MAILBOX_IRQ_NOTFULL(m) (1 << (2 * (m) + 1)) | ||
37 | |||
38 | #define MBOX_REG_SIZE 0x120 | ||
39 | |||
40 | #define OMAP4_MBOX_REG_SIZE 0x130 | ||
41 | |||
42 | #define MBOX_NR_REGS (MBOX_REG_SIZE / sizeof(u32)) | ||
43 | #define OMAP4_MBOX_NR_REGS (OMAP4_MBOX_REG_SIZE / sizeof(u32)) | ||
44 | |||
45 | static void __iomem *mbox_base; | ||
46 | |||
47 | struct omap_mbox2_fifo { | ||
48 | unsigned long msg; | ||
49 | unsigned long fifo_stat; | ||
50 | unsigned long msg_stat; | ||
51 | }; | ||
52 | |||
53 | struct omap_mbox2_priv { | ||
54 | struct omap_mbox2_fifo tx_fifo; | ||
55 | struct omap_mbox2_fifo rx_fifo; | ||
56 | unsigned long irqenable; | ||
57 | unsigned long irqstatus; | ||
58 | u32 newmsg_bit; | ||
59 | u32 notfull_bit; | ||
60 | u32 ctx[OMAP4_MBOX_NR_REGS]; | ||
61 | unsigned long irqdisable; | ||
62 | }; | ||
63 | |||
64 | static void omap2_mbox_enable_irq(struct omap_mbox *mbox, | ||
65 | omap_mbox_type_t irq); | ||
66 | |||
67 | static inline unsigned int mbox_read_reg(size_t ofs) | ||
68 | { | ||
69 | return __raw_readl(mbox_base + ofs); | ||
70 | } | ||
71 | |||
72 | static inline void mbox_write_reg(u32 val, size_t ofs) | ||
73 | { | ||
74 | __raw_writel(val, mbox_base + ofs); | ||
75 | } | ||
76 | |||
77 | /* Mailbox H/W preparations */ | ||
78 | static int omap2_mbox_startup(struct omap_mbox *mbox) | ||
79 | { | ||
80 | u32 l; | ||
81 | |||
82 | pm_runtime_enable(mbox->dev->parent); | ||
83 | pm_runtime_get_sync(mbox->dev->parent); | ||
84 | |||
85 | l = mbox_read_reg(MAILBOX_REVISION); | ||
86 | pr_debug("omap mailbox rev %d.%d\n", (l & 0xf0) >> 4, (l & 0x0f)); | ||
87 | |||
88 | return 0; | ||
89 | } | ||
90 | |||
91 | static void omap2_mbox_shutdown(struct omap_mbox *mbox) | ||
92 | { | ||
93 | pm_runtime_put_sync(mbox->dev->parent); | ||
94 | pm_runtime_disable(mbox->dev->parent); | ||
95 | } | ||
96 | |||
97 | /* Mailbox FIFO handle functions */ | ||
98 | static mbox_msg_t omap2_mbox_fifo_read(struct omap_mbox *mbox) | ||
99 | { | ||
100 | struct omap_mbox2_fifo *fifo = | ||
101 | &((struct omap_mbox2_priv *)mbox->priv)->rx_fifo; | ||
102 | return (mbox_msg_t) mbox_read_reg(fifo->msg); | ||
103 | } | ||
104 | |||
105 | static void omap2_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg) | ||
106 | { | ||
107 | struct omap_mbox2_fifo *fifo = | ||
108 | &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; | ||
109 | mbox_write_reg(msg, fifo->msg); | ||
110 | } | ||
111 | |||
112 | static int omap2_mbox_fifo_empty(struct omap_mbox *mbox) | ||
113 | { | ||
114 | struct omap_mbox2_fifo *fifo = | ||
115 | &((struct omap_mbox2_priv *)mbox->priv)->rx_fifo; | ||
116 | return (mbox_read_reg(fifo->msg_stat) == 0); | ||
117 | } | ||
118 | |||
119 | static int omap2_mbox_fifo_full(struct omap_mbox *mbox) | ||
120 | { | ||
121 | struct omap_mbox2_fifo *fifo = | ||
122 | &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; | ||
123 | return mbox_read_reg(fifo->fifo_stat); | ||
124 | } | ||
125 | |||
126 | /* Mailbox IRQ handle functions */ | ||
127 | static void omap2_mbox_enable_irq(struct omap_mbox *mbox, | ||
128 | omap_mbox_type_t irq) | ||
129 | { | ||
130 | struct omap_mbox2_priv *p = mbox->priv; | ||
131 | u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | ||
132 | |||
133 | l = mbox_read_reg(p->irqenable); | ||
134 | l |= bit; | ||
135 | mbox_write_reg(l, p->irqenable); | ||
136 | } | ||
137 | |||
138 | static void omap2_mbox_disable_irq(struct omap_mbox *mbox, | ||
139 | omap_mbox_type_t irq) | ||
140 | { | ||
141 | struct omap_mbox2_priv *p = mbox->priv; | ||
142 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | ||
143 | |||
144 | if (!cpu_is_omap44xx()) | ||
145 | bit = mbox_read_reg(p->irqdisable) & ~bit; | ||
146 | |||
147 | mbox_write_reg(bit, p->irqdisable); | ||
148 | } | ||
149 | |||
150 | static void omap2_mbox_ack_irq(struct omap_mbox *mbox, | ||
151 | omap_mbox_type_t irq) | ||
152 | { | ||
153 | struct omap_mbox2_priv *p = mbox->priv; | ||
154 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | ||
155 | |||
156 | mbox_write_reg(bit, p->irqstatus); | ||
157 | |||
158 | /* Flush posted write for irq status to avoid spurious interrupts */ | ||
159 | mbox_read_reg(p->irqstatus); | ||
160 | } | ||
161 | |||
162 | static int omap2_mbox_is_irq(struct omap_mbox *mbox, | ||
163 | omap_mbox_type_t irq) | ||
164 | { | ||
165 | struct omap_mbox2_priv *p = mbox->priv; | ||
166 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | ||
167 | u32 enable = mbox_read_reg(p->irqenable); | ||
168 | u32 status = mbox_read_reg(p->irqstatus); | ||
169 | |||
170 | return (int)(enable & status & bit); | ||
171 | } | ||
172 | |||
173 | static void omap2_mbox_save_ctx(struct omap_mbox *mbox) | ||
174 | { | ||
175 | int i; | ||
176 | struct omap_mbox2_priv *p = mbox->priv; | ||
177 | int nr_regs; | ||
178 | if (cpu_is_omap44xx()) | ||
179 | nr_regs = OMAP4_MBOX_NR_REGS; | ||
180 | else | ||
181 | nr_regs = MBOX_NR_REGS; | ||
182 | for (i = 0; i < nr_regs; i++) { | ||
183 | p->ctx[i] = mbox_read_reg(i * sizeof(u32)); | ||
184 | |||
185 | dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__, | ||
186 | i, p->ctx[i]); | ||
187 | } | ||
188 | } | ||
189 | |||
190 | static void omap2_mbox_restore_ctx(struct omap_mbox *mbox) | ||
191 | { | ||
192 | int i; | ||
193 | struct omap_mbox2_priv *p = mbox->priv; | ||
194 | int nr_regs; | ||
195 | if (cpu_is_omap44xx()) | ||
196 | nr_regs = OMAP4_MBOX_NR_REGS; | ||
197 | else | ||
198 | nr_regs = MBOX_NR_REGS; | ||
199 | for (i = 0; i < nr_regs; i++) { | ||
200 | mbox_write_reg(p->ctx[i], i * sizeof(u32)); | ||
201 | |||
202 | dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__, | ||
203 | i, p->ctx[i]); | ||
204 | } | ||
205 | } | ||
206 | |||
207 | static struct omap_mbox_ops omap2_mbox_ops = { | ||
208 | .type = OMAP_MBOX_TYPE2, | ||
209 | .startup = omap2_mbox_startup, | ||
210 | .shutdown = omap2_mbox_shutdown, | ||
211 | .fifo_read = omap2_mbox_fifo_read, | ||
212 | .fifo_write = omap2_mbox_fifo_write, | ||
213 | .fifo_empty = omap2_mbox_fifo_empty, | ||
214 | .fifo_full = omap2_mbox_fifo_full, | ||
215 | .enable_irq = omap2_mbox_enable_irq, | ||
216 | .disable_irq = omap2_mbox_disable_irq, | ||
217 | .ack_irq = omap2_mbox_ack_irq, | ||
218 | .is_irq = omap2_mbox_is_irq, | ||
219 | .save_ctx = omap2_mbox_save_ctx, | ||
220 | .restore_ctx = omap2_mbox_restore_ctx, | ||
221 | }; | ||
222 | |||
223 | /* | ||
224 | * MAILBOX 0: ARM -> DSP, | ||
225 | * MAILBOX 1: ARM <- DSP. | ||
226 | * MAILBOX 2: ARM -> IVA, | ||
227 | * MAILBOX 3: ARM <- IVA. | ||
228 | */ | ||
229 | |||
230 | /* FIXME: the following structs should be filled automatically by the user id */ | ||
231 | |||
232 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP2) | ||
233 | /* DSP */ | ||
234 | static struct omap_mbox2_priv omap2_mbox_dsp_priv = { | ||
235 | .tx_fifo = { | ||
236 | .msg = MAILBOX_MESSAGE(0), | ||
237 | .fifo_stat = MAILBOX_FIFOSTATUS(0), | ||
238 | }, | ||
239 | .rx_fifo = { | ||
240 | .msg = MAILBOX_MESSAGE(1), | ||
241 | .msg_stat = MAILBOX_MSGSTATUS(1), | ||
242 | }, | ||
243 | .irqenable = MAILBOX_IRQENABLE(0), | ||
244 | .irqstatus = MAILBOX_IRQSTATUS(0), | ||
245 | .notfull_bit = MAILBOX_IRQ_NOTFULL(0), | ||
246 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(1), | ||
247 | .irqdisable = MAILBOX_IRQENABLE(0), | ||
248 | }; | ||
249 | |||
250 | struct omap_mbox mbox_dsp_info = { | ||
251 | .name = "dsp", | ||
252 | .ops = &omap2_mbox_ops, | ||
253 | .priv = &omap2_mbox_dsp_priv, | ||
254 | }; | ||
255 | #endif | ||
256 | |||
257 | #if defined(CONFIG_ARCH_OMAP3) | ||
258 | struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL }; | ||
259 | #endif | ||
260 | |||
261 | #if defined(CONFIG_SOC_OMAP2420) | ||
262 | /* IVA */ | ||
263 | static struct omap_mbox2_priv omap2_mbox_iva_priv = { | ||
264 | .tx_fifo = { | ||
265 | .msg = MAILBOX_MESSAGE(2), | ||
266 | .fifo_stat = MAILBOX_FIFOSTATUS(2), | ||
267 | }, | ||
268 | .rx_fifo = { | ||
269 | .msg = MAILBOX_MESSAGE(3), | ||
270 | .msg_stat = MAILBOX_MSGSTATUS(3), | ||
271 | }, | ||
272 | .irqenable = MAILBOX_IRQENABLE(3), | ||
273 | .irqstatus = MAILBOX_IRQSTATUS(3), | ||
274 | .notfull_bit = MAILBOX_IRQ_NOTFULL(2), | ||
275 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(3), | ||
276 | .irqdisable = MAILBOX_IRQENABLE(3), | ||
277 | }; | ||
278 | |||
279 | static struct omap_mbox mbox_iva_info = { | ||
280 | .name = "iva", | ||
281 | .ops = &omap2_mbox_ops, | ||
282 | .priv = &omap2_mbox_iva_priv, | ||
283 | }; | ||
284 | #endif | ||
285 | |||
286 | #ifdef CONFIG_ARCH_OMAP2 | ||
287 | struct omap_mbox *omap2_mboxes[] = { | ||
288 | &mbox_dsp_info, | ||
289 | #ifdef CONFIG_SOC_OMAP2420 | ||
290 | &mbox_iva_info, | ||
291 | #endif | ||
292 | NULL | ||
293 | }; | ||
294 | #endif | ||
295 | |||
296 | #if defined(CONFIG_ARCH_OMAP4) | ||
297 | /* OMAP4 */ | ||
298 | static struct omap_mbox2_priv omap2_mbox_1_priv = { | ||
299 | .tx_fifo = { | ||
300 | .msg = MAILBOX_MESSAGE(0), | ||
301 | .fifo_stat = MAILBOX_FIFOSTATUS(0), | ||
302 | }, | ||
303 | .rx_fifo = { | ||
304 | .msg = MAILBOX_MESSAGE(1), | ||
305 | .msg_stat = MAILBOX_MSGSTATUS(1), | ||
306 | }, | ||
307 | .irqenable = OMAP4_MAILBOX_IRQENABLE(0), | ||
308 | .irqstatus = OMAP4_MAILBOX_IRQSTATUS(0), | ||
309 | .notfull_bit = MAILBOX_IRQ_NOTFULL(0), | ||
310 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(1), | ||
311 | .irqdisable = OMAP4_MAILBOX_IRQENABLE_CLR(0), | ||
312 | }; | ||
313 | |||
314 | struct omap_mbox mbox_1_info = { | ||
315 | .name = "mailbox-1", | ||
316 | .ops = &omap2_mbox_ops, | ||
317 | .priv = &omap2_mbox_1_priv, | ||
318 | }; | ||
319 | |||
320 | static struct omap_mbox2_priv omap2_mbox_2_priv = { | ||
321 | .tx_fifo = { | ||
322 | .msg = MAILBOX_MESSAGE(3), | ||
323 | .fifo_stat = MAILBOX_FIFOSTATUS(3), | ||
324 | }, | ||
325 | .rx_fifo = { | ||
326 | .msg = MAILBOX_MESSAGE(2), | ||
327 | .msg_stat = MAILBOX_MSGSTATUS(2), | ||
328 | }, | ||
329 | .irqenable = OMAP4_MAILBOX_IRQENABLE(0), | ||
330 | .irqstatus = OMAP4_MAILBOX_IRQSTATUS(0), | ||
331 | .notfull_bit = MAILBOX_IRQ_NOTFULL(3), | ||
332 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(2), | ||
333 | .irqdisable = OMAP4_MAILBOX_IRQENABLE_CLR(0), | ||
334 | }; | ||
335 | |||
336 | struct omap_mbox mbox_2_info = { | ||
337 | .name = "mailbox-2", | ||
338 | .ops = &omap2_mbox_ops, | ||
339 | .priv = &omap2_mbox_2_priv, | ||
340 | }; | ||
341 | |||
342 | struct omap_mbox *omap4_mboxes[] = { &mbox_1_info, &mbox_2_info, NULL }; | ||
343 | #endif | ||
344 | |||
345 | static int omap2_mbox_probe(struct platform_device *pdev) | ||
346 | { | ||
347 | struct resource *mem; | ||
348 | int ret; | ||
349 | struct omap_mbox **list; | ||
350 | |||
351 | if (false) | ||
352 | ; | ||
353 | #if defined(CONFIG_ARCH_OMAP3) | ||
354 | else if (cpu_is_omap34xx()) { | ||
355 | list = omap3_mboxes; | ||
356 | |||
357 | list[0]->irq = platform_get_irq(pdev, 0); | ||
358 | } | ||
359 | #endif | ||
360 | #if defined(CONFIG_ARCH_OMAP2) | ||
361 | else if (cpu_is_omap2430()) { | ||
362 | list = omap2_mboxes; | ||
363 | |||
364 | list[0]->irq = platform_get_irq(pdev, 0); | ||
365 | } else if (cpu_is_omap2420()) { | ||
366 | list = omap2_mboxes; | ||
367 | |||
368 | list[0]->irq = platform_get_irq_byname(pdev, "dsp"); | ||
369 | list[1]->irq = platform_get_irq_byname(pdev, "iva"); | ||
370 | } | ||
371 | #endif | ||
372 | #if defined(CONFIG_ARCH_OMAP4) | ||
373 | else if (cpu_is_omap44xx()) { | ||
374 | list = omap4_mboxes; | ||
375 | |||
376 | list[0]->irq = list[1]->irq = platform_get_irq(pdev, 0); | ||
377 | } | ||
378 | #endif | ||
379 | else { | ||
380 | pr_err("%s: platform not supported\n", __func__); | ||
381 | return -ENODEV; | ||
382 | } | ||
383 | |||
384 | mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); | ||
385 | mbox_base = ioremap(mem->start, resource_size(mem)); | ||
386 | if (!mbox_base) | ||
387 | return -ENOMEM; | ||
388 | |||
389 | ret = omap_mbox_register(&pdev->dev, list); | ||
390 | if (ret) { | ||
391 | iounmap(mbox_base); | ||
392 | return ret; | ||
393 | } | ||
394 | |||
395 | return 0; | ||
396 | } | ||
397 | |||
398 | static int omap2_mbox_remove(struct platform_device *pdev) | ||
399 | { | ||
400 | omap_mbox_unregister(); | ||
401 | iounmap(mbox_base); | ||
402 | return 0; | ||
403 | } | ||
404 | |||
405 | static struct platform_driver omap2_mbox_driver = { | ||
406 | .probe = omap2_mbox_probe, | ||
407 | .remove = omap2_mbox_remove, | ||
408 | .driver = { | ||
409 | .name = "omap-mailbox", | ||
410 | }, | ||
411 | }; | ||
412 | |||
413 | static int __init omap2_mbox_init(void) | ||
414 | { | ||
415 | return platform_driver_register(&omap2_mbox_driver); | ||
416 | } | ||
417 | |||
418 | static void __exit omap2_mbox_exit(void) | ||
419 | { | ||
420 | platform_driver_unregister(&omap2_mbox_driver); | ||
421 | } | ||
422 | |||
423 | module_init(omap2_mbox_init); | ||
424 | module_exit(omap2_mbox_exit); | ||
425 | |||
426 | MODULE_LICENSE("GPL v2"); | ||
427 | MODULE_DESCRIPTION("omap mailbox: omap2/3/4 architecture specific functions"); | ||
428 | MODULE_AUTHOR("Hiroshi DOYU <Hiroshi.DOYU@nokia.com>"); | ||
429 | MODULE_AUTHOR("Paul Mundt"); | ||
430 | MODULE_ALIAS("platform:omap2-mailbox"); | ||
diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h index fdb22f14021f..5d2080ef7923 100644 --- a/arch/arm/mach-omap2/mux.h +++ b/arch/arm/mach-omap2/mux.h | |||
@@ -10,7 +10,6 @@ | |||
10 | #include "mux2420.h" | 10 | #include "mux2420.h" |
11 | #include "mux2430.h" | 11 | #include "mux2430.h" |
12 | #include "mux34xx.h" | 12 | #include "mux34xx.h" |
13 | #include "mux44xx.h" | ||
14 | 13 | ||
15 | #define OMAP_MUX_TERMINATOR 0xffff | 14 | #define OMAP_MUX_TERMINATOR 0xffff |
16 | 15 | ||
@@ -64,8 +63,6 @@ | |||
64 | 63 | ||
65 | /* Flags for omapX_mux_init */ | 64 | /* Flags for omapX_mux_init */ |
66 | #define OMAP_PACKAGE_MASK 0xffff | 65 | #define OMAP_PACKAGE_MASK 0xffff |
67 | #define OMAP_PACKAGE_CBS 8 /* 547-pin 0.40 0.40 */ | ||
68 | #define OMAP_PACKAGE_CBL 7 /* 547-pin 0.40 0.40 */ | ||
69 | #define OMAP_PACKAGE_CBP 6 /* 515-pin 0.40 0.50 */ | 66 | #define OMAP_PACKAGE_CBP 6 /* 515-pin 0.40 0.50 */ |
70 | #define OMAP_PACKAGE_CUS 5 /* 423-pin 0.65 */ | 67 | #define OMAP_PACKAGE_CUS 5 /* 423-pin 0.65 */ |
71 | #define OMAP_PACKAGE_CBB 4 /* 515-pin 0.40 0.50 */ | 68 | #define OMAP_PACKAGE_CBB 4 /* 515-pin 0.40 0.50 */ |
diff --git a/arch/arm/mach-omap2/mux44xx.c b/arch/arm/mach-omap2/mux44xx.c deleted file mode 100644 index f5a74daab2ff..000000000000 --- a/arch/arm/mach-omap2/mux44xx.c +++ /dev/null | |||
@@ -1,1356 +0,0 @@ | |||
1 | /* | ||
2 | * OMAP44xx ES1.0 pin mux definition | ||
3 | * | ||
4 | * Copyright (C) 2010 Texas Instruments, Inc. | ||
5 | * | ||
6 | * Benoit Cousson (b-cousson@ti.com) | ||
7 | * | ||
8 | * - Based on mux34xx.c done by Tony Lindgren <tony@atomide.com> | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | #include <linux/module.h> | ||
21 | #include <linux/init.h> | ||
22 | |||
23 | #include "mux.h" | ||
24 | |||
25 | #ifdef CONFIG_OMAP_MUX | ||
26 | |||
27 | #define _OMAP4_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \ | ||
28 | { \ | ||
29 | .reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \ | ||
30 | .gpio = (g), \ | ||
31 | .muxnames = { m0, m1, m2, m3, m4, m5, m6, m7 }, \ | ||
32 | } | ||
33 | |||
34 | #else | ||
35 | |||
36 | #define _OMAP4_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \ | ||
37 | { \ | ||
38 | .reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \ | ||
39 | .gpio = (g), \ | ||
40 | } | ||
41 | |||
42 | #endif | ||
43 | |||
44 | #define _OMAP4_BALLENTRY(M0, bb, bt) \ | ||
45 | { \ | ||
46 | .reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \ | ||
47 | .balls = { bb, bt }, \ | ||
48 | } | ||
49 | |||
50 | /* | ||
51 | * Superset of all mux modes for omap4 ES1.0 | ||
52 | */ | ||
53 | static struct omap_mux __initdata omap4_core_muxmodes[] = { | ||
54 | _OMAP4_MUXENTRY(GPMC_AD0, 0, "gpmc_ad0", "sdmmc2_dat0", NULL, NULL, | ||
55 | NULL, NULL, NULL, NULL), | ||
56 | _OMAP4_MUXENTRY(GPMC_AD1, 0, "gpmc_ad1", "sdmmc2_dat1", NULL, NULL, | ||
57 | NULL, NULL, NULL, NULL), | ||
58 | _OMAP4_MUXENTRY(GPMC_AD2, 0, "gpmc_ad2", "sdmmc2_dat2", NULL, NULL, | ||
59 | NULL, NULL, NULL, NULL), | ||
60 | _OMAP4_MUXENTRY(GPMC_AD3, 0, "gpmc_ad3", "sdmmc2_dat3", NULL, NULL, | ||
61 | NULL, NULL, NULL, NULL), | ||
62 | _OMAP4_MUXENTRY(GPMC_AD4, 0, "gpmc_ad4", "sdmmc2_dat4", | ||
63 | "sdmmc2_dir_dat0", NULL, NULL, NULL, NULL, NULL), | ||
64 | _OMAP4_MUXENTRY(GPMC_AD5, 0, "gpmc_ad5", "sdmmc2_dat5", | ||
65 | "sdmmc2_dir_dat1", NULL, NULL, NULL, NULL, NULL), | ||
66 | _OMAP4_MUXENTRY(GPMC_AD6, 0, "gpmc_ad6", "sdmmc2_dat6", | ||
67 | "sdmmc2_dir_cmd", NULL, NULL, NULL, NULL, NULL), | ||
68 | _OMAP4_MUXENTRY(GPMC_AD7, 0, "gpmc_ad7", "sdmmc2_dat7", | ||
69 | "sdmmc2_clk_fdbk", NULL, NULL, NULL, NULL, NULL), | ||
70 | _OMAP4_MUXENTRY(GPMC_AD8, 32, "gpmc_ad8", "kpd_row0", "c2c_data15", | ||
71 | "gpio_32", NULL, NULL, NULL, NULL), | ||
72 | _OMAP4_MUXENTRY(GPMC_AD9, 33, "gpmc_ad9", "kpd_row1", "c2c_data14", | ||
73 | "gpio_33", NULL, NULL, NULL, NULL), | ||
74 | _OMAP4_MUXENTRY(GPMC_AD10, 34, "gpmc_ad10", "kpd_row2", "c2c_data13", | ||
75 | "gpio_34", NULL, NULL, NULL, NULL), | ||
76 | _OMAP4_MUXENTRY(GPMC_AD11, 35, "gpmc_ad11", "kpd_row3", "c2c_data12", | ||
77 | "gpio_35", NULL, NULL, NULL, NULL), | ||
78 | _OMAP4_MUXENTRY(GPMC_AD12, 36, "gpmc_ad12", "kpd_col0", "c2c_data11", | ||
79 | "gpio_36", NULL, NULL, NULL, NULL), | ||
80 | _OMAP4_MUXENTRY(GPMC_AD13, 37, "gpmc_ad13", "kpd_col1", "c2c_data10", | ||
81 | "gpio_37", NULL, NULL, NULL, NULL), | ||
82 | _OMAP4_MUXENTRY(GPMC_AD14, 38, "gpmc_ad14", "kpd_col2", "c2c_data9", | ||
83 | "gpio_38", NULL, NULL, NULL, NULL), | ||
84 | _OMAP4_MUXENTRY(GPMC_AD15, 39, "gpmc_ad15", "kpd_col3", "c2c_data8", | ||
85 | "gpio_39", NULL, NULL, NULL, NULL), | ||
86 | _OMAP4_MUXENTRY(GPMC_A16, 40, "gpmc_a16", "kpd_row4", "c2c_datain0", | ||
87 | "gpio_40", "venc_656_data0", NULL, NULL, NULL), | ||
88 | _OMAP4_MUXENTRY(GPMC_A17, 41, "gpmc_a17", "kpd_row5", "c2c_datain1", | ||
89 | "gpio_41", "venc_656_data1", NULL, NULL, "safe_mode"), | ||
90 | _OMAP4_MUXENTRY(GPMC_A18, 42, "gpmc_a18", "kpd_row6", "c2c_datain2", | ||
91 | "gpio_42", "venc_656_data2", NULL, NULL, "safe_mode"), | ||
92 | _OMAP4_MUXENTRY(GPMC_A19, 43, "gpmc_a19", "kpd_row7", "c2c_datain3", | ||
93 | "gpio_43", "venc_656_data3", NULL, NULL, "safe_mode"), | ||
94 | _OMAP4_MUXENTRY(GPMC_A20, 44, "gpmc_a20", "kpd_col4", "c2c_datain4", | ||
95 | "gpio_44", "venc_656_data4", NULL, NULL, "safe_mode"), | ||
96 | _OMAP4_MUXENTRY(GPMC_A21, 45, "gpmc_a21", "kpd_col5", "c2c_datain5", | ||
97 | "gpio_45", "venc_656_data5", NULL, NULL, "safe_mode"), | ||
98 | _OMAP4_MUXENTRY(GPMC_A22, 46, "gpmc_a22", "kpd_col6", "c2c_datain6", | ||
99 | "gpio_46", "venc_656_data6", NULL, NULL, "safe_mode"), | ||
100 | _OMAP4_MUXENTRY(GPMC_A23, 47, "gpmc_a23", "kpd_col7", "c2c_datain7", | ||
101 | "gpio_47", "venc_656_data7", NULL, NULL, "safe_mode"), | ||
102 | _OMAP4_MUXENTRY(GPMC_A24, 48, "gpmc_a24", NULL, "c2c_clkout0", | ||
103 | "gpio_48", NULL, NULL, NULL, "safe_mode"), | ||
104 | _OMAP4_MUXENTRY(GPMC_A25, 49, "gpmc_a25", NULL, "c2c_clkout1", | ||
105 | "gpio_49", NULL, NULL, NULL, "safe_mode"), | ||
106 | _OMAP4_MUXENTRY(GPMC_NCS0, 50, "gpmc_ncs0", NULL, NULL, "gpio_50", | ||
107 | "sys_ndmareq0", NULL, NULL, NULL), | ||
108 | _OMAP4_MUXENTRY(GPMC_NCS1, 51, "gpmc_ncs1", NULL, "c2c_dataout6", | ||
109 | "gpio_51", NULL, NULL, NULL, "safe_mode"), | ||
110 | _OMAP4_MUXENTRY(GPMC_NCS2, 52, "gpmc_ncs2", NULL, "c2c_dataout7", | ||
111 | "gpio_52", NULL, NULL, NULL, "safe_mode"), | ||
112 | _OMAP4_MUXENTRY(GPMC_NCS3, 53, "gpmc_ncs3", "gpmc_dir", | ||
113 | "c2c_dataout4", "gpio_53", NULL, NULL, NULL, | ||
114 | "safe_mode"), | ||
115 | _OMAP4_MUXENTRY(GPMC_NWP, 54, "gpmc_nwp", "dsi1_te0", NULL, "gpio_54", | ||
116 | "sys_ndmareq1", NULL, NULL, NULL), | ||
117 | _OMAP4_MUXENTRY(GPMC_CLK, 55, "gpmc_clk", NULL, NULL, "gpio_55", | ||
118 | "sys_ndmareq2", NULL, NULL, NULL), | ||
119 | _OMAP4_MUXENTRY(GPMC_NADV_ALE, 56, "gpmc_nadv_ale", "dsi1_te1", NULL, | ||
120 | "gpio_56", "sys_ndmareq3", NULL, NULL, NULL), | ||
121 | _OMAP4_MUXENTRY(GPMC_NOE, 0, "gpmc_noe", "sdmmc2_clk", NULL, NULL, | ||
122 | NULL, NULL, NULL, NULL), | ||
123 | _OMAP4_MUXENTRY(GPMC_NWE, 0, "gpmc_nwe", "sdmmc2_cmd", NULL, NULL, | ||
124 | NULL, NULL, NULL, NULL), | ||
125 | _OMAP4_MUXENTRY(GPMC_NBE0_CLE, 59, "gpmc_nbe0_cle", "dsi2_te0", NULL, | ||
126 | "gpio_59", NULL, NULL, NULL, NULL), | ||
127 | _OMAP4_MUXENTRY(GPMC_NBE1, 60, "gpmc_nbe1", NULL, "c2c_dataout5", | ||
128 | "gpio_60", NULL, NULL, NULL, "safe_mode"), | ||
129 | _OMAP4_MUXENTRY(GPMC_WAIT0, 61, "gpmc_wait0", "dsi2_te1", NULL, | ||
130 | "gpio_61", NULL, NULL, NULL, NULL), | ||
131 | _OMAP4_MUXENTRY(GPMC_WAIT1, 62, "gpmc_wait1", NULL, "c2c_dataout2", | ||
132 | "gpio_62", NULL, NULL, NULL, "safe_mode"), | ||
133 | _OMAP4_MUXENTRY(C2C_DATA11, 100, "c2c_data11", "usbc1_icusb_txen", | ||
134 | "c2c_dataout3", "gpio_100", "sys_ndmareq0", NULL, | ||
135 | NULL, "safe_mode"), | ||
136 | _OMAP4_MUXENTRY(C2C_DATA12, 101, "c2c_data12", "dsi1_te0", | ||
137 | "c2c_clkin0", "gpio_101", "sys_ndmareq1", NULL, NULL, | ||
138 | "safe_mode"), | ||
139 | _OMAP4_MUXENTRY(C2C_DATA13, 102, "c2c_data13", "dsi1_te1", | ||
140 | "c2c_clkin1", "gpio_102", "sys_ndmareq2", NULL, NULL, | ||
141 | "safe_mode"), | ||
142 | _OMAP4_MUXENTRY(C2C_DATA14, 103, "c2c_data14", "dsi2_te0", | ||
143 | "c2c_dataout0", "gpio_103", "sys_ndmareq3", NULL, | ||
144 | NULL, "safe_mode"), | ||
145 | _OMAP4_MUXENTRY(C2C_DATA15, 104, "c2c_data15", "dsi2_te1", | ||
146 | "c2c_dataout1", "gpio_104", NULL, NULL, NULL, | ||
147 | "safe_mode"), | ||
148 | _OMAP4_MUXENTRY(HDMI_HPD, 63, "hdmi_hpd", NULL, NULL, "gpio_63", NULL, | ||
149 | NULL, NULL, "safe_mode"), | ||
150 | _OMAP4_MUXENTRY(HDMI_CEC, 64, "hdmi_cec", NULL, NULL, "gpio_64", NULL, | ||
151 | NULL, NULL, "safe_mode"), | ||
152 | _OMAP4_MUXENTRY(HDMI_DDC_SCL, 65, "hdmi_ddc_scl", NULL, NULL, | ||
153 | "gpio_65", NULL, NULL, NULL, "safe_mode"), | ||
154 | _OMAP4_MUXENTRY(HDMI_DDC_SDA, 66, "hdmi_ddc_sda", NULL, NULL, | ||
155 | "gpio_66", NULL, NULL, NULL, "safe_mode"), | ||
156 | _OMAP4_MUXENTRY(CSI21_DX0, 0, "csi21_dx0", NULL, NULL, "gpi_67", NULL, | ||
157 | NULL, NULL, "safe_mode"), | ||
158 | _OMAP4_MUXENTRY(CSI21_DY0, 0, "csi21_dy0", NULL, NULL, "gpi_68", NULL, | ||
159 | NULL, NULL, "safe_mode"), | ||
160 | _OMAP4_MUXENTRY(CSI21_DX1, 0, "csi21_dx1", NULL, NULL, "gpi_69", NULL, | ||
161 | NULL, NULL, "safe_mode"), | ||
162 | _OMAP4_MUXENTRY(CSI21_DY1, 0, "csi21_dy1", NULL, NULL, "gpi_70", NULL, | ||
163 | NULL, NULL, "safe_mode"), | ||
164 | _OMAP4_MUXENTRY(CSI21_DX2, 0, "csi21_dx2", NULL, NULL, "gpi_71", NULL, | ||
165 | NULL, NULL, "safe_mode"), | ||
166 | _OMAP4_MUXENTRY(CSI21_DY2, 0, "csi21_dy2", NULL, NULL, "gpi_72", NULL, | ||
167 | NULL, NULL, "safe_mode"), | ||
168 | _OMAP4_MUXENTRY(CSI21_DX3, 0, "csi21_dx3", NULL, NULL, "gpi_73", NULL, | ||
169 | NULL, NULL, "safe_mode"), | ||
170 | _OMAP4_MUXENTRY(CSI21_DY3, 0, "csi21_dy3", NULL, NULL, "gpi_74", NULL, | ||
171 | NULL, NULL, "safe_mode"), | ||
172 | _OMAP4_MUXENTRY(CSI21_DX4, 0, "csi21_dx4", NULL, NULL, "gpi_75", NULL, | ||
173 | NULL, NULL, "safe_mode"), | ||
174 | _OMAP4_MUXENTRY(CSI21_DY4, 0, "csi21_dy4", NULL, NULL, "gpi_76", NULL, | ||
175 | NULL, NULL, "safe_mode"), | ||
176 | _OMAP4_MUXENTRY(CSI22_DX0, 0, "csi22_dx0", NULL, NULL, "gpi_77", NULL, | ||
177 | NULL, NULL, "safe_mode"), | ||
178 | _OMAP4_MUXENTRY(CSI22_DY0, 0, "csi22_dy0", NULL, NULL, "gpi_78", NULL, | ||
179 | NULL, NULL, "safe_mode"), | ||
180 | _OMAP4_MUXENTRY(CSI22_DX1, 0, "csi22_dx1", NULL, NULL, "gpi_79", NULL, | ||
181 | NULL, NULL, "safe_mode"), | ||
182 | _OMAP4_MUXENTRY(CSI22_DY1, 0, "csi22_dy1", NULL, NULL, "gpi_80", NULL, | ||
183 | NULL, NULL, "safe_mode"), | ||
184 | _OMAP4_MUXENTRY(CAM_SHUTTER, 81, "cam_shutter", NULL, NULL, "gpio_81", | ||
185 | NULL, NULL, NULL, "safe_mode"), | ||
186 | _OMAP4_MUXENTRY(CAM_STROBE, 82, "cam_strobe", NULL, NULL, "gpio_82", | ||
187 | NULL, NULL, NULL, "safe_mode"), | ||
188 | _OMAP4_MUXENTRY(CAM_GLOBALRESET, 83, "cam_globalreset", NULL, NULL, | ||
189 | "gpio_83", NULL, NULL, NULL, "safe_mode"), | ||
190 | _OMAP4_MUXENTRY(USBB1_ULPITLL_CLK, 84, "usbb1_ulpitll_clk", | ||
191 | "hsi1_cawake", NULL, "gpio_84", "usbb1_ulpiphy_clk", | ||
192 | NULL, "hw_dbg20", "safe_mode"), | ||
193 | _OMAP4_MUXENTRY(USBB1_ULPITLL_STP, 85, "usbb1_ulpitll_stp", | ||
194 | "hsi1_cadata", "mcbsp4_clkr", "gpio_85", | ||
195 | "usbb1_ulpiphy_stp", "usbb1_mm_rxdp", "hw_dbg21", | ||
196 | "safe_mode"), | ||
197 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DIR, 86, "usbb1_ulpitll_dir", | ||
198 | "hsi1_caflag", "mcbsp4_fsr", "gpio_86", | ||
199 | "usbb1_ulpiphy_dir", NULL, "hw_dbg22", "safe_mode"), | ||
200 | _OMAP4_MUXENTRY(USBB1_ULPITLL_NXT, 87, "usbb1_ulpitll_nxt", | ||
201 | "hsi1_acready", "mcbsp4_fsx", "gpio_87", | ||
202 | "usbb1_ulpiphy_nxt", "usbb1_mm_rxdm", "hw_dbg23", | ||
203 | "safe_mode"), | ||
204 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT0, 88, "usbb1_ulpitll_dat0", | ||
205 | "hsi1_acwake", "mcbsp4_clkx", "gpio_88", | ||
206 | "usbb1_ulpiphy_dat0", "usbb1_mm_rxrcv", "hw_dbg24", | ||
207 | "safe_mode"), | ||
208 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT1, 89, "usbb1_ulpitll_dat1", | ||
209 | "hsi1_acdata", "mcbsp4_dx", "gpio_89", | ||
210 | "usbb1_ulpiphy_dat1", "usbb1_mm_txse0", "hw_dbg25", | ||
211 | "safe_mode"), | ||
212 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT2, 90, "usbb1_ulpitll_dat2", | ||
213 | "hsi1_acflag", "mcbsp4_dr", "gpio_90", | ||
214 | "usbb1_ulpiphy_dat2", "usbb1_mm_txdat", "hw_dbg26", | ||
215 | "safe_mode"), | ||
216 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT3, 91, "usbb1_ulpitll_dat3", | ||
217 | "hsi1_caready", NULL, "gpio_91", "usbb1_ulpiphy_dat3", | ||
218 | "usbb1_mm_txen", "hw_dbg27", "safe_mode"), | ||
219 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT4, 92, "usbb1_ulpitll_dat4", | ||
220 | "dmtimer8_pwm_evt", "abe_mcbsp3_dr", "gpio_92", | ||
221 | "usbb1_ulpiphy_dat4", NULL, "hw_dbg28", "safe_mode"), | ||
222 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT5, 93, "usbb1_ulpitll_dat5", | ||
223 | "dmtimer9_pwm_evt", "abe_mcbsp3_dx", "gpio_93", | ||
224 | "usbb1_ulpiphy_dat5", NULL, "hw_dbg29", "safe_mode"), | ||
225 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT6, 94, "usbb1_ulpitll_dat6", | ||
226 | "dmtimer10_pwm_evt", "abe_mcbsp3_clkx", "gpio_94", | ||
227 | "usbb1_ulpiphy_dat6", "abe_dmic_din3", "hw_dbg30", | ||
228 | "safe_mode"), | ||
229 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT7, 95, "usbb1_ulpitll_dat7", | ||
230 | "dmtimer11_pwm_evt", "abe_mcbsp3_fsx", "gpio_95", | ||
231 | "usbb1_ulpiphy_dat7", "abe_dmic_clk3", "hw_dbg31", | ||
232 | "safe_mode"), | ||
233 | _OMAP4_MUXENTRY(USBB1_HSIC_DATA, 96, "usbb1_hsic_data", NULL, NULL, | ||
234 | "gpio_96", NULL, NULL, NULL, "safe_mode"), | ||
235 | _OMAP4_MUXENTRY(USBB1_HSIC_STROBE, 97, "usbb1_hsic_strobe", NULL, | ||
236 | NULL, "gpio_97", NULL, NULL, NULL, "safe_mode"), | ||
237 | _OMAP4_MUXENTRY(USBC1_ICUSB_DP, 98, "usbc1_icusb_dp", NULL, NULL, | ||
238 | "gpio_98", NULL, NULL, NULL, "safe_mode"), | ||
239 | _OMAP4_MUXENTRY(USBC1_ICUSB_DM, 99, "usbc1_icusb_dm", NULL, NULL, | ||
240 | "gpio_99", NULL, NULL, NULL, "safe_mode"), | ||
241 | _OMAP4_MUXENTRY(SDMMC1_CLK, 100, "sdmmc1_clk", NULL, "dpm_emu19", | ||
242 | "gpio_100", NULL, NULL, NULL, "safe_mode"), | ||
243 | _OMAP4_MUXENTRY(SDMMC1_CMD, 101, "sdmmc1_cmd", NULL, "uart1_rx", | ||
244 | "gpio_101", NULL, NULL, NULL, "safe_mode"), | ||
245 | _OMAP4_MUXENTRY(SDMMC1_DAT0, 102, "sdmmc1_dat0", NULL, "dpm_emu18", | ||
246 | "gpio_102", NULL, NULL, NULL, "safe_mode"), | ||
247 | _OMAP4_MUXENTRY(SDMMC1_DAT1, 103, "sdmmc1_dat1", NULL, "dpm_emu17", | ||
248 | "gpio_103", NULL, NULL, NULL, "safe_mode"), | ||
249 | _OMAP4_MUXENTRY(SDMMC1_DAT2, 104, "sdmmc1_dat2", NULL, "dpm_emu16", | ||
250 | "gpio_104", "jtag_tms_tmsc", NULL, NULL, "safe_mode"), | ||
251 | _OMAP4_MUXENTRY(SDMMC1_DAT3, 105, "sdmmc1_dat3", NULL, "dpm_emu15", | ||
252 | "gpio_105", "jtag_tck", NULL, NULL, "safe_mode"), | ||
253 | _OMAP4_MUXENTRY(SDMMC1_DAT4, 106, "sdmmc1_dat4", NULL, NULL, | ||
254 | "gpio_106", NULL, NULL, NULL, "safe_mode"), | ||
255 | _OMAP4_MUXENTRY(SDMMC1_DAT5, 107, "sdmmc1_dat5", NULL, NULL, | ||
256 | "gpio_107", NULL, NULL, NULL, "safe_mode"), | ||
257 | _OMAP4_MUXENTRY(SDMMC1_DAT6, 108, "sdmmc1_dat6", NULL, NULL, | ||
258 | "gpio_108", NULL, NULL, NULL, "safe_mode"), | ||
259 | _OMAP4_MUXENTRY(SDMMC1_DAT7, 109, "sdmmc1_dat7", NULL, NULL, | ||
260 | "gpio_109", NULL, NULL, NULL, "safe_mode"), | ||
261 | _OMAP4_MUXENTRY(ABE_MCBSP2_CLKX, 110, "abe_mcbsp2_clkx", "mcspi2_clk", | ||
262 | "abe_mcasp_ahclkx", "gpio_110", "usbb2_mm_rxdm", | ||
263 | NULL, NULL, "safe_mode"), | ||
264 | _OMAP4_MUXENTRY(ABE_MCBSP2_DR, 111, "abe_mcbsp2_dr", "mcspi2_somi", | ||
265 | "abe_mcasp_axr", "gpio_111", "usbb2_mm_rxdp", NULL, | ||
266 | NULL, "safe_mode"), | ||
267 | _OMAP4_MUXENTRY(ABE_MCBSP2_DX, 112, "abe_mcbsp2_dx", "mcspi2_simo", | ||
268 | "abe_mcasp_amute", "gpio_112", "usbb2_mm_rxrcv", NULL, | ||
269 | NULL, "safe_mode"), | ||
270 | _OMAP4_MUXENTRY(ABE_MCBSP2_FSX, 113, "abe_mcbsp2_fsx", "mcspi2_cs0", | ||
271 | "abe_mcasp_afsx", "gpio_113", "usbb2_mm_txen", NULL, | ||
272 | NULL, "safe_mode"), | ||
273 | _OMAP4_MUXENTRY(ABE_MCBSP1_CLKX, 114, "abe_mcbsp1_clkx", | ||
274 | "abe_slimbus1_clock", NULL, "gpio_114", NULL, NULL, | ||
275 | NULL, "safe_mode"), | ||
276 | _OMAP4_MUXENTRY(ABE_MCBSP1_DR, 115, "abe_mcbsp1_dr", | ||
277 | "abe_slimbus1_data", NULL, "gpio_115", NULL, NULL, | ||
278 | NULL, "safe_mode"), | ||
279 | _OMAP4_MUXENTRY(ABE_MCBSP1_DX, 116, "abe_mcbsp1_dx", "sdmmc3_dat2", | ||
280 | "abe_mcasp_aclkx", "gpio_116", NULL, NULL, NULL, | ||
281 | "safe_mode"), | ||
282 | _OMAP4_MUXENTRY(ABE_MCBSP1_FSX, 117, "abe_mcbsp1_fsx", "sdmmc3_dat3", | ||
283 | "abe_mcasp_amutein", "gpio_117", NULL, NULL, NULL, | ||
284 | "safe_mode"), | ||
285 | _OMAP4_MUXENTRY(ABE_PDM_UL_DATA, 0, "abe_pdm_ul_data", | ||
286 | "abe_mcbsp3_dr", NULL, NULL, NULL, NULL, NULL, | ||
287 | "safe_mode"), | ||
288 | _OMAP4_MUXENTRY(ABE_PDM_DL_DATA, 0, "abe_pdm_dl_data", | ||
289 | "abe_mcbsp3_dx", NULL, NULL, NULL, NULL, NULL, | ||
290 | "safe_mode"), | ||
291 | _OMAP4_MUXENTRY(ABE_PDM_FRAME, 0, "abe_pdm_frame", "abe_mcbsp3_clkx", | ||
292 | NULL, NULL, NULL, NULL, NULL, "safe_mode"), | ||
293 | _OMAP4_MUXENTRY(ABE_PDM_LB_CLK, 0, "abe_pdm_lb_clk", "abe_mcbsp3_fsx", | ||
294 | NULL, NULL, NULL, NULL, NULL, "safe_mode"), | ||
295 | _OMAP4_MUXENTRY(ABE_CLKS, 118, "abe_clks", NULL, NULL, "gpio_118", | ||
296 | NULL, NULL, NULL, "safe_mode"), | ||
297 | _OMAP4_MUXENTRY(ABE_DMIC_CLK1, 119, "abe_dmic_clk1", NULL, NULL, | ||
298 | "gpio_119", "usbb2_mm_txse0", NULL, NULL, | ||
299 | "safe_mode"), | ||
300 | _OMAP4_MUXENTRY(ABE_DMIC_DIN1, 120, "abe_dmic_din1", NULL, NULL, | ||
301 | "gpio_120", "usbb2_mm_txdat", NULL, NULL, | ||
302 | "safe_mode"), | ||
303 | _OMAP4_MUXENTRY(ABE_DMIC_DIN2, 121, "abe_dmic_din2", "slimbus2_clock", | ||
304 | NULL, "gpio_121", NULL, NULL, NULL, "safe_mode"), | ||
305 | _OMAP4_MUXENTRY(ABE_DMIC_DIN3, 122, "abe_dmic_din3", "slimbus2_data", | ||
306 | "abe_dmic_clk2", "gpio_122", NULL, NULL, NULL, | ||
307 | "safe_mode"), | ||
308 | _OMAP4_MUXENTRY(UART2_CTS, 123, "uart2_cts", "sdmmc3_clk", NULL, | ||
309 | "gpio_123", NULL, NULL, NULL, "safe_mode"), | ||
310 | _OMAP4_MUXENTRY(UART2_RTS, 124, "uart2_rts", "sdmmc3_cmd", NULL, | ||
311 | "gpio_124", NULL, NULL, NULL, "safe_mode"), | ||
312 | _OMAP4_MUXENTRY(UART2_RX, 125, "uart2_rx", "sdmmc3_dat0", NULL, | ||
313 | "gpio_125", NULL, NULL, NULL, "safe_mode"), | ||
314 | _OMAP4_MUXENTRY(UART2_TX, 126, "uart2_tx", "sdmmc3_dat1", NULL, | ||
315 | "gpio_126", NULL, NULL, NULL, "safe_mode"), | ||
316 | _OMAP4_MUXENTRY(HDQ_SIO, 127, "hdq_sio", "i2c3_sccb", "i2c2_sccb", | ||
317 | "gpio_127", NULL, NULL, NULL, "safe_mode"), | ||
318 | _OMAP4_MUXENTRY(I2C1_SCL, 0, "i2c1_scl", NULL, NULL, NULL, NULL, NULL, | ||
319 | NULL, NULL), | ||
320 | _OMAP4_MUXENTRY(I2C1_SDA, 0, "i2c1_sda", NULL, NULL, NULL, NULL, NULL, | ||
321 | NULL, NULL), | ||
322 | _OMAP4_MUXENTRY(I2C2_SCL, 128, "i2c2_scl", "uart1_rx", NULL, | ||
323 | "gpio_128", NULL, NULL, NULL, "safe_mode"), | ||
324 | _OMAP4_MUXENTRY(I2C2_SDA, 129, "i2c2_sda", "uart1_tx", NULL, | ||
325 | "gpio_129", NULL, NULL, NULL, "safe_mode"), | ||
326 | _OMAP4_MUXENTRY(I2C3_SCL, 130, "i2c3_scl", NULL, NULL, "gpio_130", | ||
327 | NULL, NULL, NULL, "safe_mode"), | ||
328 | _OMAP4_MUXENTRY(I2C3_SDA, 131, "i2c3_sda", NULL, NULL, "gpio_131", | ||
329 | NULL, NULL, NULL, "safe_mode"), | ||
330 | _OMAP4_MUXENTRY(I2C4_SCL, 132, "i2c4_scl", NULL, NULL, "gpio_132", | ||
331 | NULL, NULL, NULL, "safe_mode"), | ||
332 | _OMAP4_MUXENTRY(I2C4_SDA, 133, "i2c4_sda", NULL, NULL, "gpio_133", | ||
333 | NULL, NULL, NULL, "safe_mode"), | ||
334 | _OMAP4_MUXENTRY(MCSPI1_CLK, 134, "mcspi1_clk", NULL, NULL, "gpio_134", | ||
335 | NULL, NULL, NULL, "safe_mode"), | ||
336 | _OMAP4_MUXENTRY(MCSPI1_SOMI, 135, "mcspi1_somi", NULL, NULL, | ||
337 | "gpio_135", NULL, NULL, NULL, "safe_mode"), | ||
338 | _OMAP4_MUXENTRY(MCSPI1_SIMO, 136, "mcspi1_simo", NULL, NULL, | ||
339 | "gpio_136", NULL, NULL, NULL, "safe_mode"), | ||
340 | _OMAP4_MUXENTRY(MCSPI1_CS0, 137, "mcspi1_cs0", NULL, NULL, "gpio_137", | ||
341 | NULL, NULL, NULL, "safe_mode"), | ||
342 | _OMAP4_MUXENTRY(MCSPI1_CS1, 138, "mcspi1_cs1", "uart1_rx", NULL, | ||
343 | "gpio_138", NULL, NULL, NULL, "safe_mode"), | ||
344 | _OMAP4_MUXENTRY(MCSPI1_CS2, 139, "mcspi1_cs2", "uart1_cts", | ||
345 | "slimbus2_clock", "gpio_139", NULL, NULL, NULL, | ||
346 | "safe_mode"), | ||
347 | _OMAP4_MUXENTRY(MCSPI1_CS3, 140, "mcspi1_cs3", "uart1_rts", | ||
348 | "slimbus2_data", "gpio_140", NULL, NULL, NULL, | ||
349 | "safe_mode"), | ||
350 | _OMAP4_MUXENTRY(UART3_CTS_RCTX, 141, "uart3_cts_rctx", "uart1_tx", | ||
351 | NULL, "gpio_141", NULL, NULL, NULL, "safe_mode"), | ||
352 | _OMAP4_MUXENTRY(UART3_RTS_SD, 142, "uart3_rts_sd", NULL, NULL, | ||
353 | "gpio_142", NULL, NULL, NULL, "safe_mode"), | ||
354 | _OMAP4_MUXENTRY(UART3_RX_IRRX, 143, "uart3_rx_irrx", | ||
355 | "dmtimer8_pwm_evt", NULL, "gpio_143", NULL, NULL, | ||
356 | NULL, "safe_mode"), | ||
357 | _OMAP4_MUXENTRY(UART3_TX_IRTX, 144, "uart3_tx_irtx", | ||
358 | "dmtimer9_pwm_evt", NULL, "gpio_144", NULL, NULL, | ||
359 | NULL, "safe_mode"), | ||
360 | _OMAP4_MUXENTRY(SDMMC5_CLK, 145, "sdmmc5_clk", "mcspi2_clk", | ||
361 | "usbc1_icusb_dp", "gpio_145", NULL, NULL, NULL, | ||
362 | "safe_mode"), | ||
363 | _OMAP4_MUXENTRY(SDMMC5_CMD, 146, "sdmmc5_cmd", "mcspi2_simo", | ||
364 | "usbc1_icusb_dm", "gpio_146", NULL, NULL, NULL, | ||
365 | "safe_mode"), | ||
366 | _OMAP4_MUXENTRY(SDMMC5_DAT0, 147, "sdmmc5_dat0", "mcspi2_somi", | ||
367 | "usbc1_icusb_rcv", "gpio_147", NULL, NULL, NULL, | ||
368 | "safe_mode"), | ||
369 | _OMAP4_MUXENTRY(SDMMC5_DAT1, 148, "sdmmc5_dat1", NULL, | ||
370 | "usbc1_icusb_txen", "gpio_148", NULL, NULL, NULL, | ||
371 | "safe_mode"), | ||
372 | _OMAP4_MUXENTRY(SDMMC5_DAT2, 149, "sdmmc5_dat2", "mcspi2_cs1", NULL, | ||
373 | "gpio_149", NULL, NULL, NULL, "safe_mode"), | ||
374 | _OMAP4_MUXENTRY(SDMMC5_DAT3, 150, "sdmmc5_dat3", "mcspi2_cs0", NULL, | ||
375 | "gpio_150", NULL, NULL, NULL, "safe_mode"), | ||
376 | _OMAP4_MUXENTRY(MCSPI4_CLK, 151, "mcspi4_clk", "sdmmc4_clk", NULL, | ||
377 | "gpio_151", NULL, NULL, NULL, "safe_mode"), | ||
378 | _OMAP4_MUXENTRY(MCSPI4_SIMO, 152, "mcspi4_simo", "sdmmc4_cmd", NULL, | ||
379 | "gpio_152", NULL, NULL, NULL, "safe_mode"), | ||
380 | _OMAP4_MUXENTRY(MCSPI4_SOMI, 153, "mcspi4_somi", "sdmmc4_dat0", NULL, | ||
381 | "gpio_153", NULL, NULL, NULL, "safe_mode"), | ||
382 | _OMAP4_MUXENTRY(MCSPI4_CS0, 154, "mcspi4_cs0", "sdmmc4_dat3", NULL, | ||
383 | "gpio_154", NULL, NULL, NULL, "safe_mode"), | ||
384 | _OMAP4_MUXENTRY(UART4_RX, 155, "uart4_rx", "sdmmc4_dat2", NULL, | ||
385 | "gpio_155", NULL, NULL, NULL, "safe_mode"), | ||
386 | _OMAP4_MUXENTRY(UART4_TX, 156, "uart4_tx", "sdmmc4_dat1", NULL, | ||
387 | "gpio_156", NULL, NULL, NULL, "safe_mode"), | ||
388 | _OMAP4_MUXENTRY(USBB2_ULPITLL_CLK, 157, "usbb2_ulpitll_clk", | ||
389 | "usbb2_ulpiphy_clk", "sdmmc4_cmd", "gpio_157", | ||
390 | "hsi2_cawake", NULL, NULL, "safe_mode"), | ||
391 | _OMAP4_MUXENTRY(USBB2_ULPITLL_STP, 158, "usbb2_ulpitll_stp", | ||
392 | "usbb2_ulpiphy_stp", "sdmmc4_clk", "gpio_158", | ||
393 | "hsi2_cadata", "dispc2_data23", NULL, "reserved"), | ||
394 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DIR, 159, "usbb2_ulpitll_dir", | ||
395 | "usbb2_ulpiphy_dir", "sdmmc4_dat0", "gpio_159", | ||
396 | "hsi2_caflag", "dispc2_data22", NULL, "reserved"), | ||
397 | _OMAP4_MUXENTRY(USBB2_ULPITLL_NXT, 160, "usbb2_ulpitll_nxt", | ||
398 | "usbb2_ulpiphy_nxt", "sdmmc4_dat1", "gpio_160", | ||
399 | "hsi2_acready", "dispc2_data21", NULL, "reserved"), | ||
400 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT0, 161, "usbb2_ulpitll_dat0", | ||
401 | "usbb2_ulpiphy_dat0", "sdmmc4_dat2", "gpio_161", | ||
402 | "hsi2_acwake", "dispc2_data20", NULL, "reserved"), | ||
403 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT1, 162, "usbb2_ulpitll_dat1", | ||
404 | "usbb2_ulpiphy_dat1", "sdmmc4_dat3", "gpio_162", | ||
405 | "hsi2_acdata", "dispc2_data19", NULL, "reserved"), | ||
406 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT2, 163, "usbb2_ulpitll_dat2", | ||
407 | "usbb2_ulpiphy_dat2", "sdmmc3_dat2", "gpio_163", | ||
408 | "hsi2_acflag", "dispc2_data18", NULL, "reserved"), | ||
409 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT3, 164, "usbb2_ulpitll_dat3", | ||
410 | "usbb2_ulpiphy_dat3", "sdmmc3_dat1", "gpio_164", | ||
411 | "hsi2_caready", "dispc2_data15", NULL, "reserved"), | ||
412 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT4, 165, "usbb2_ulpitll_dat4", | ||
413 | "usbb2_ulpiphy_dat4", "sdmmc3_dat0", "gpio_165", | ||
414 | "mcspi3_somi", "dispc2_data14", NULL, "reserved"), | ||
415 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT5, 166, "usbb2_ulpitll_dat5", | ||
416 | "usbb2_ulpiphy_dat5", "sdmmc3_dat3", "gpio_166", | ||
417 | "mcspi3_cs0", "dispc2_data13", NULL, "reserved"), | ||
418 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT6, 167, "usbb2_ulpitll_dat6", | ||
419 | "usbb2_ulpiphy_dat6", "sdmmc3_cmd", "gpio_167", | ||
420 | "mcspi3_simo", "dispc2_data12", NULL, "reserved"), | ||
421 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT7, 168, "usbb2_ulpitll_dat7", | ||
422 | "usbb2_ulpiphy_dat7", "sdmmc3_clk", "gpio_168", | ||
423 | "mcspi3_clk", "dispc2_data11", NULL, "reserved"), | ||
424 | _OMAP4_MUXENTRY(USBB2_HSIC_DATA, 169, "usbb2_hsic_data", NULL, NULL, | ||
425 | "gpio_169", NULL, NULL, NULL, "safe_mode"), | ||
426 | _OMAP4_MUXENTRY(USBB2_HSIC_STROBE, 170, "usbb2_hsic_strobe", NULL, | ||
427 | NULL, "gpio_170", NULL, NULL, NULL, "safe_mode"), | ||
428 | _OMAP4_MUXENTRY(UNIPRO_TX0, 171, "unipro_tx0", "kpd_col0", NULL, | ||
429 | "gpio_171", NULL, NULL, NULL, "safe_mode"), | ||
430 | _OMAP4_MUXENTRY(UNIPRO_TY0, 172, "unipro_ty0", "kpd_col1", NULL, | ||
431 | "gpio_172", NULL, NULL, NULL, "safe_mode"), | ||
432 | _OMAP4_MUXENTRY(UNIPRO_TX1, 173, "unipro_tx1", "kpd_col2", NULL, | ||
433 | "gpio_173", NULL, NULL, NULL, "safe_mode"), | ||
434 | _OMAP4_MUXENTRY(UNIPRO_TY1, 174, "unipro_ty1", "kpd_col3", NULL, | ||
435 | "gpio_174", NULL, NULL, NULL, "safe_mode"), | ||
436 | _OMAP4_MUXENTRY(UNIPRO_TX2, 0, "unipro_tx2", "kpd_col4", NULL, | ||
437 | "gpio_0", NULL, NULL, NULL, "safe_mode"), | ||
438 | _OMAP4_MUXENTRY(UNIPRO_TY2, 1, "unipro_ty2", "kpd_col5", NULL, | ||
439 | "gpio_1", NULL, NULL, NULL, "safe_mode"), | ||
440 | _OMAP4_MUXENTRY(UNIPRO_RX0, 0, "unipro_rx0", "kpd_row0", NULL, | ||
441 | "gpi_175", NULL, NULL, NULL, "safe_mode"), | ||
442 | _OMAP4_MUXENTRY(UNIPRO_RY0, 0, "unipro_ry0", "kpd_row1", NULL, | ||
443 | "gpi_176", NULL, NULL, NULL, "safe_mode"), | ||
444 | _OMAP4_MUXENTRY(UNIPRO_RX1, 0, "unipro_rx1", "kpd_row2", NULL, | ||
445 | "gpi_177", NULL, NULL, NULL, "safe_mode"), | ||
446 | _OMAP4_MUXENTRY(UNIPRO_RY1, 0, "unipro_ry1", "kpd_row3", NULL, | ||
447 | "gpi_178", NULL, NULL, NULL, "safe_mode"), | ||
448 | _OMAP4_MUXENTRY(UNIPRO_RX2, 0, "unipro_rx2", "kpd_row4", NULL, | ||
449 | "gpi_2", NULL, NULL, NULL, "safe_mode"), | ||
450 | _OMAP4_MUXENTRY(UNIPRO_RY2, 0, "unipro_ry2", "kpd_row5", NULL, | ||
451 | "gpi_3", NULL, NULL, NULL, "safe_mode"), | ||
452 | _OMAP4_MUXENTRY(USBA0_OTG_CE, 0, "usba0_otg_ce", NULL, NULL, NULL, | ||
453 | NULL, NULL, NULL, NULL), | ||
454 | _OMAP4_MUXENTRY(USBA0_OTG_DP, 179, "usba0_otg_dp", "uart3_rx_irrx", | ||
455 | "uart2_rx", "gpio_179", NULL, NULL, NULL, | ||
456 | "safe_mode"), | ||
457 | _OMAP4_MUXENTRY(USBA0_OTG_DM, 180, "usba0_otg_dm", "uart3_tx_irtx", | ||
458 | "uart2_tx", "gpio_180", NULL, NULL, NULL, | ||
459 | "safe_mode"), | ||
460 | _OMAP4_MUXENTRY(FREF_CLK1_OUT, 181, "fref_clk1_out", NULL, NULL, | ||
461 | "gpio_181", NULL, NULL, NULL, "safe_mode"), | ||
462 | _OMAP4_MUXENTRY(FREF_CLK2_OUT, 182, "fref_clk2_out", NULL, NULL, | ||
463 | "gpio_182", NULL, NULL, NULL, "safe_mode"), | ||
464 | _OMAP4_MUXENTRY(SYS_NIRQ1, 0, "sys_nirq1", NULL, NULL, NULL, NULL, | ||
465 | NULL, NULL, "safe_mode"), | ||
466 | _OMAP4_MUXENTRY(SYS_NIRQ2, 183, "sys_nirq2", NULL, NULL, "gpio_183", | ||
467 | NULL, NULL, NULL, "safe_mode"), | ||
468 | _OMAP4_MUXENTRY(SYS_BOOT0, 184, "sys_boot0", NULL, NULL, "gpio_184", | ||
469 | NULL, NULL, NULL, "safe_mode"), | ||
470 | _OMAP4_MUXENTRY(SYS_BOOT1, 185, "sys_boot1", NULL, NULL, "gpio_185", | ||
471 | NULL, NULL, NULL, "safe_mode"), | ||
472 | _OMAP4_MUXENTRY(SYS_BOOT2, 186, "sys_boot2", NULL, NULL, "gpio_186", | ||
473 | NULL, NULL, NULL, "safe_mode"), | ||
474 | _OMAP4_MUXENTRY(SYS_BOOT3, 187, "sys_boot3", NULL, NULL, "gpio_187", | ||
475 | NULL, NULL, NULL, "safe_mode"), | ||
476 | _OMAP4_MUXENTRY(SYS_BOOT4, 188, "sys_boot4", NULL, NULL, "gpio_188", | ||
477 | NULL, NULL, NULL, "safe_mode"), | ||
478 | _OMAP4_MUXENTRY(SYS_BOOT5, 189, "sys_boot5", NULL, NULL, "gpio_189", | ||
479 | NULL, NULL, NULL, "safe_mode"), | ||
480 | _OMAP4_MUXENTRY(DPM_EMU0, 11, "dpm_emu0", NULL, NULL, "gpio_11", NULL, | ||
481 | NULL, "hw_dbg0", "safe_mode"), | ||
482 | _OMAP4_MUXENTRY(DPM_EMU1, 12, "dpm_emu1", NULL, NULL, "gpio_12", NULL, | ||
483 | NULL, "hw_dbg1", "safe_mode"), | ||
484 | _OMAP4_MUXENTRY(DPM_EMU2, 13, "dpm_emu2", "usba0_ulpiphy_clk", NULL, | ||
485 | "gpio_13", NULL, "dispc2_fid", "hw_dbg2", "reserved"), | ||
486 | _OMAP4_MUXENTRY(DPM_EMU3, 14, "dpm_emu3", "usba0_ulpiphy_stp", NULL, | ||
487 | "gpio_14", NULL, "dispc2_data10", "hw_dbg3", | ||
488 | "reserved"), | ||
489 | _OMAP4_MUXENTRY(DPM_EMU4, 15, "dpm_emu4", "usba0_ulpiphy_dir", NULL, | ||
490 | "gpio_15", NULL, "dispc2_data9", "hw_dbg4", | ||
491 | "reserved"), | ||
492 | _OMAP4_MUXENTRY(DPM_EMU5, 16, "dpm_emu5", "usba0_ulpiphy_nxt", NULL, | ||
493 | "gpio_16", "rfbi_te_vsync0", "dispc2_data16", | ||
494 | "hw_dbg5", "reserved"), | ||
495 | _OMAP4_MUXENTRY(DPM_EMU6, 17, "dpm_emu6", "usba0_ulpiphy_dat0", | ||
496 | "uart3_tx_irtx", "gpio_17", "rfbi_hsync0", | ||
497 | "dispc2_data17", "hw_dbg6", "reserved"), | ||
498 | _OMAP4_MUXENTRY(DPM_EMU7, 18, "dpm_emu7", "usba0_ulpiphy_dat1", | ||
499 | "uart3_rx_irrx", "gpio_18", "rfbi_cs0", | ||
500 | "dispc2_hsync", "hw_dbg7", "reserved"), | ||
501 | _OMAP4_MUXENTRY(DPM_EMU8, 19, "dpm_emu8", "usba0_ulpiphy_dat2", | ||
502 | "uart3_rts_sd", "gpio_19", "rfbi_re", "dispc2_pclk", | ||
503 | "hw_dbg8", "reserved"), | ||
504 | _OMAP4_MUXENTRY(DPM_EMU9, 20, "dpm_emu9", "usba0_ulpiphy_dat3", | ||
505 | "uart3_cts_rctx", "gpio_20", "rfbi_we", | ||
506 | "dispc2_vsync", "hw_dbg9", "reserved"), | ||
507 | _OMAP4_MUXENTRY(DPM_EMU10, 21, "dpm_emu10", "usba0_ulpiphy_dat4", | ||
508 | NULL, "gpio_21", "rfbi_a0", "dispc2_de", "hw_dbg10", | ||
509 | "reserved"), | ||
510 | _OMAP4_MUXENTRY(DPM_EMU11, 22, "dpm_emu11", "usba0_ulpiphy_dat5", | ||
511 | NULL, "gpio_22", "rfbi_data8", "dispc2_data8", | ||
512 | "hw_dbg11", "reserved"), | ||
513 | _OMAP4_MUXENTRY(DPM_EMU12, 23, "dpm_emu12", "usba0_ulpiphy_dat6", | ||
514 | NULL, "gpio_23", "rfbi_data7", "dispc2_data7", | ||
515 | "hw_dbg12", "reserved"), | ||
516 | _OMAP4_MUXENTRY(DPM_EMU13, 24, "dpm_emu13", "usba0_ulpiphy_dat7", | ||
517 | NULL, "gpio_24", "rfbi_data6", "dispc2_data6", | ||
518 | "hw_dbg13", "reserved"), | ||
519 | _OMAP4_MUXENTRY(DPM_EMU14, 25, "dpm_emu14", "sys_drm_msecure", | ||
520 | "uart1_rx", "gpio_25", "rfbi_data5", "dispc2_data5", | ||
521 | "hw_dbg14", "reserved"), | ||
522 | _OMAP4_MUXENTRY(DPM_EMU15, 26, "dpm_emu15", "sys_secure_indicator", | ||
523 | NULL, "gpio_26", "rfbi_data4", "dispc2_data4", | ||
524 | "hw_dbg15", "reserved"), | ||
525 | _OMAP4_MUXENTRY(DPM_EMU16, 27, "dpm_emu16", "dmtimer8_pwm_evt", | ||
526 | "dsi1_te0", "gpio_27", "rfbi_data3", "dispc2_data3", | ||
527 | "hw_dbg16", "reserved"), | ||
528 | _OMAP4_MUXENTRY(DPM_EMU17, 28, "dpm_emu17", "dmtimer9_pwm_evt", | ||
529 | "dsi1_te1", "gpio_28", "rfbi_data2", "dispc2_data2", | ||
530 | "hw_dbg17", "reserved"), | ||
531 | _OMAP4_MUXENTRY(DPM_EMU18, 190, "dpm_emu18", "dmtimer10_pwm_evt", | ||
532 | "dsi2_te0", "gpio_190", "rfbi_data1", "dispc2_data1", | ||
533 | "hw_dbg18", "reserved"), | ||
534 | _OMAP4_MUXENTRY(DPM_EMU19, 191, "dpm_emu19", "dmtimer11_pwm_evt", | ||
535 | "dsi2_te1", "gpio_191", "rfbi_data0", "dispc2_data0", | ||
536 | "hw_dbg19", "reserved"), | ||
537 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
538 | }; | ||
539 | |||
540 | /* | ||
541 | * Balls for 44XX CBL package | ||
542 | * 547-pin CBL ES1.0 S-FPGA-N547, 0.40mm Ball Pitch (Top), | ||
543 | * 0.40mm Ball Pitch (Bottom) | ||
544 | */ | ||
545 | #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) \ | ||
546 | && defined(CONFIG_OMAP_PACKAGE_CBL) | ||
547 | static struct omap_ball __initdata omap4_core_cbl_ball[] = { | ||
548 | _OMAP4_BALLENTRY(GPMC_AD0, "c12", NULL), | ||
549 | _OMAP4_BALLENTRY(GPMC_AD1, "d12", NULL), | ||
550 | _OMAP4_BALLENTRY(GPMC_AD2, "c13", NULL), | ||
551 | _OMAP4_BALLENTRY(GPMC_AD3, "d13", NULL), | ||
552 | _OMAP4_BALLENTRY(GPMC_AD4, "c15", NULL), | ||
553 | _OMAP4_BALLENTRY(GPMC_AD5, "d15", NULL), | ||
554 | _OMAP4_BALLENTRY(GPMC_AD6, "a16", NULL), | ||
555 | _OMAP4_BALLENTRY(GPMC_AD7, "b16", NULL), | ||
556 | _OMAP4_BALLENTRY(GPMC_AD8, "c16", NULL), | ||
557 | _OMAP4_BALLENTRY(GPMC_AD9, "d16", NULL), | ||
558 | _OMAP4_BALLENTRY(GPMC_AD10, "c17", NULL), | ||
559 | _OMAP4_BALLENTRY(GPMC_AD11, "d17", NULL), | ||
560 | _OMAP4_BALLENTRY(GPMC_AD12, "c18", NULL), | ||
561 | _OMAP4_BALLENTRY(GPMC_AD13, "d18", NULL), | ||
562 | _OMAP4_BALLENTRY(GPMC_AD14, "c19", NULL), | ||
563 | _OMAP4_BALLENTRY(GPMC_AD15, "d19", NULL), | ||
564 | _OMAP4_BALLENTRY(GPMC_A16, "b17", NULL), | ||
565 | _OMAP4_BALLENTRY(GPMC_A17, "a18", NULL), | ||
566 | _OMAP4_BALLENTRY(GPMC_A18, "b18", NULL), | ||
567 | _OMAP4_BALLENTRY(GPMC_A19, "a19", NULL), | ||
568 | _OMAP4_BALLENTRY(GPMC_A20, "b19", NULL), | ||
569 | _OMAP4_BALLENTRY(GPMC_A21, "b20", NULL), | ||
570 | _OMAP4_BALLENTRY(GPMC_A22, "a21", NULL), | ||
571 | _OMAP4_BALLENTRY(GPMC_A23, "b21", NULL), | ||
572 | _OMAP4_BALLENTRY(GPMC_A24, "c20", NULL), | ||
573 | _OMAP4_BALLENTRY(GPMC_A25, "d20", NULL), | ||
574 | _OMAP4_BALLENTRY(GPMC_NCS0, "b25", NULL), | ||
575 | _OMAP4_BALLENTRY(GPMC_NCS1, "c21", NULL), | ||
576 | _OMAP4_BALLENTRY(GPMC_NCS2, "d21", NULL), | ||
577 | _OMAP4_BALLENTRY(GPMC_NCS3, "c22", NULL), | ||
578 | _OMAP4_BALLENTRY(GPMC_NWP, "c25", NULL), | ||
579 | _OMAP4_BALLENTRY(GPMC_CLK, "b22", NULL), | ||
580 | _OMAP4_BALLENTRY(GPMC_NADV_ALE, "d25", NULL), | ||
581 | _OMAP4_BALLENTRY(GPMC_NOE, "b11", NULL), | ||
582 | _OMAP4_BALLENTRY(GPMC_NWE, "b12", NULL), | ||
583 | _OMAP4_BALLENTRY(GPMC_NBE0_CLE, "c23", NULL), | ||
584 | _OMAP4_BALLENTRY(GPMC_NBE1, "d22", NULL), | ||
585 | _OMAP4_BALLENTRY(GPMC_WAIT0, "b26", NULL), | ||
586 | _OMAP4_BALLENTRY(GPMC_WAIT1, "b23", NULL), | ||
587 | _OMAP4_BALLENTRY(C2C_DATA11, "d23", NULL), | ||
588 | _OMAP4_BALLENTRY(C2C_DATA12, "a24", NULL), | ||
589 | _OMAP4_BALLENTRY(C2C_DATA13, "b24", NULL), | ||
590 | _OMAP4_BALLENTRY(C2C_DATA14, "c24", NULL), | ||
591 | _OMAP4_BALLENTRY(C2C_DATA15, "d24", NULL), | ||
592 | _OMAP4_BALLENTRY(HDMI_HPD, "b9", NULL), | ||
593 | _OMAP4_BALLENTRY(HDMI_CEC, "b10", NULL), | ||
594 | _OMAP4_BALLENTRY(HDMI_DDC_SCL, "a8", NULL), | ||
595 | _OMAP4_BALLENTRY(HDMI_DDC_SDA, "b8", NULL), | ||
596 | _OMAP4_BALLENTRY(CSI21_DX0, "r26", NULL), | ||
597 | _OMAP4_BALLENTRY(CSI21_DY0, "r25", NULL), | ||
598 | _OMAP4_BALLENTRY(CSI21_DX1, "t26", NULL), | ||
599 | _OMAP4_BALLENTRY(CSI21_DY1, "t25", NULL), | ||
600 | _OMAP4_BALLENTRY(CSI21_DX2, "u26", NULL), | ||
601 | _OMAP4_BALLENTRY(CSI21_DY2, "u25", NULL), | ||
602 | _OMAP4_BALLENTRY(CSI21_DX3, "v26", NULL), | ||
603 | _OMAP4_BALLENTRY(CSI21_DY3, "v25", NULL), | ||
604 | _OMAP4_BALLENTRY(CSI21_DX4, "w26", NULL), | ||
605 | _OMAP4_BALLENTRY(CSI21_DY4, "w25", NULL), | ||
606 | _OMAP4_BALLENTRY(CSI22_DX0, "m26", NULL), | ||
607 | _OMAP4_BALLENTRY(CSI22_DY0, "m25", NULL), | ||
608 | _OMAP4_BALLENTRY(CSI22_DX1, "n26", NULL), | ||
609 | _OMAP4_BALLENTRY(CSI22_DY1, "n25", NULL), | ||
610 | _OMAP4_BALLENTRY(CAM_SHUTTER, "t27", NULL), | ||
611 | _OMAP4_BALLENTRY(CAM_STROBE, "u27", NULL), | ||
612 | _OMAP4_BALLENTRY(CAM_GLOBALRESET, "v27", NULL), | ||
613 | _OMAP4_BALLENTRY(USBB1_ULPITLL_CLK, "ae18", NULL), | ||
614 | _OMAP4_BALLENTRY(USBB1_ULPITLL_STP, "ag19", NULL), | ||
615 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DIR, "af19", NULL), | ||
616 | _OMAP4_BALLENTRY(USBB1_ULPITLL_NXT, "ae19", NULL), | ||
617 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT0, "af18", NULL), | ||
618 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT1, "ag18", NULL), | ||
619 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT2, "ae17", NULL), | ||
620 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT3, "af17", NULL), | ||
621 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT4, "ah17", NULL), | ||
622 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT5, "ae16", NULL), | ||
623 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT6, "af16", NULL), | ||
624 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT7, "ag16", NULL), | ||
625 | _OMAP4_BALLENTRY(USBB1_HSIC_DATA, "af14", NULL), | ||
626 | _OMAP4_BALLENTRY(USBB1_HSIC_STROBE, "ae14", NULL), | ||
627 | _OMAP4_BALLENTRY(USBC1_ICUSB_DP, "h2", NULL), | ||
628 | _OMAP4_BALLENTRY(USBC1_ICUSB_DM, "h3", NULL), | ||
629 | _OMAP4_BALLENTRY(SDMMC1_CLK, "d2", NULL), | ||
630 | _OMAP4_BALLENTRY(SDMMC1_CMD, "e3", NULL), | ||
631 | _OMAP4_BALLENTRY(SDMMC1_DAT0, "e4", NULL), | ||
632 | _OMAP4_BALLENTRY(SDMMC1_DAT1, "e2", NULL), | ||
633 | _OMAP4_BALLENTRY(SDMMC1_DAT2, "e1", NULL), | ||
634 | _OMAP4_BALLENTRY(SDMMC1_DAT3, "f4", NULL), | ||
635 | _OMAP4_BALLENTRY(SDMMC1_DAT4, "f3", NULL), | ||
636 | _OMAP4_BALLENTRY(SDMMC1_DAT5, "f1", NULL), | ||
637 | _OMAP4_BALLENTRY(SDMMC1_DAT6, "g4", NULL), | ||
638 | _OMAP4_BALLENTRY(SDMMC1_DAT7, "g3", NULL), | ||
639 | _OMAP4_BALLENTRY(ABE_MCBSP2_CLKX, "ad27", NULL), | ||
640 | _OMAP4_BALLENTRY(ABE_MCBSP2_DR, "ad26", NULL), | ||
641 | _OMAP4_BALLENTRY(ABE_MCBSP2_DX, "ad25", NULL), | ||
642 | _OMAP4_BALLENTRY(ABE_MCBSP2_FSX, "ac28", NULL), | ||
643 | _OMAP4_BALLENTRY(ABE_MCBSP1_CLKX, "ac26", NULL), | ||
644 | _OMAP4_BALLENTRY(ABE_MCBSP1_DR, "ac25", NULL), | ||
645 | _OMAP4_BALLENTRY(ABE_MCBSP1_DX, "ab25", NULL), | ||
646 | _OMAP4_BALLENTRY(ABE_MCBSP1_FSX, "ac27", NULL), | ||
647 | _OMAP4_BALLENTRY(ABE_PDM_UL_DATA, "ag25", NULL), | ||
648 | _OMAP4_BALLENTRY(ABE_PDM_DL_DATA, "af25", NULL), | ||
649 | _OMAP4_BALLENTRY(ABE_PDM_FRAME, "ae25", NULL), | ||
650 | _OMAP4_BALLENTRY(ABE_PDM_LB_CLK, "af26", NULL), | ||
651 | _OMAP4_BALLENTRY(ABE_CLKS, "ah26", NULL), | ||
652 | _OMAP4_BALLENTRY(ABE_DMIC_CLK1, "ae24", NULL), | ||
653 | _OMAP4_BALLENTRY(ABE_DMIC_DIN1, "af24", NULL), | ||
654 | _OMAP4_BALLENTRY(ABE_DMIC_DIN2, "ag24", NULL), | ||
655 | _OMAP4_BALLENTRY(ABE_DMIC_DIN3, "ah24", NULL), | ||
656 | _OMAP4_BALLENTRY(UART2_CTS, "ab26", NULL), | ||
657 | _OMAP4_BALLENTRY(UART2_RTS, "ab27", NULL), | ||
658 | _OMAP4_BALLENTRY(UART2_RX, "aa25", NULL), | ||
659 | _OMAP4_BALLENTRY(UART2_TX, "aa26", NULL), | ||
660 | _OMAP4_BALLENTRY(HDQ_SIO, "aa27", NULL), | ||
661 | _OMAP4_BALLENTRY(I2C1_SCL, "ae28", NULL), | ||
662 | _OMAP4_BALLENTRY(I2C1_SDA, "ae26", NULL), | ||
663 | _OMAP4_BALLENTRY(I2C2_SCL, "c26", NULL), | ||
664 | _OMAP4_BALLENTRY(I2C2_SDA, "d26", NULL), | ||
665 | _OMAP4_BALLENTRY(I2C3_SCL, "w27", NULL), | ||
666 | _OMAP4_BALLENTRY(I2C3_SDA, "y27", NULL), | ||
667 | _OMAP4_BALLENTRY(I2C4_SCL, "ag21", NULL), | ||
668 | _OMAP4_BALLENTRY(I2C4_SDA, "ah22", NULL), | ||
669 | _OMAP4_BALLENTRY(MCSPI1_CLK, "af22", NULL), | ||
670 | _OMAP4_BALLENTRY(MCSPI1_SOMI, "ae22", NULL), | ||
671 | _OMAP4_BALLENTRY(MCSPI1_SIMO, "ag22", NULL), | ||
672 | _OMAP4_BALLENTRY(MCSPI1_CS0, "ae23", NULL), | ||
673 | _OMAP4_BALLENTRY(MCSPI1_CS1, "af23", NULL), | ||
674 | _OMAP4_BALLENTRY(MCSPI1_CS2, "ag23", NULL), | ||
675 | _OMAP4_BALLENTRY(MCSPI1_CS3, "ah23", NULL), | ||
676 | _OMAP4_BALLENTRY(UART3_CTS_RCTX, "f27", NULL), | ||
677 | _OMAP4_BALLENTRY(UART3_RTS_SD, "f28", NULL), | ||
678 | _OMAP4_BALLENTRY(UART3_RX_IRRX, "g27", NULL), | ||
679 | _OMAP4_BALLENTRY(UART3_TX_IRTX, "g28", NULL), | ||
680 | _OMAP4_BALLENTRY(SDMMC5_CLK, "ae5", NULL), | ||
681 | _OMAP4_BALLENTRY(SDMMC5_CMD, "af5", NULL), | ||
682 | _OMAP4_BALLENTRY(SDMMC5_DAT0, "ae4", NULL), | ||
683 | _OMAP4_BALLENTRY(SDMMC5_DAT1, "af4", NULL), | ||
684 | _OMAP4_BALLENTRY(SDMMC5_DAT2, "ag3", NULL), | ||
685 | _OMAP4_BALLENTRY(SDMMC5_DAT3, "af3", NULL), | ||
686 | _OMAP4_BALLENTRY(MCSPI4_CLK, "ae21", NULL), | ||
687 | _OMAP4_BALLENTRY(MCSPI4_SIMO, "af20", NULL), | ||
688 | _OMAP4_BALLENTRY(MCSPI4_SOMI, "af21", NULL), | ||
689 | _OMAP4_BALLENTRY(MCSPI4_CS0, "ae20", NULL), | ||
690 | _OMAP4_BALLENTRY(UART4_RX, "ag20", NULL), | ||
691 | _OMAP4_BALLENTRY(UART4_TX, "ah19", NULL), | ||
692 | _OMAP4_BALLENTRY(USBB2_ULPITLL_CLK, "ag12", NULL), | ||
693 | _OMAP4_BALLENTRY(USBB2_ULPITLL_STP, "af12", NULL), | ||
694 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DIR, "ae12", NULL), | ||
695 | _OMAP4_BALLENTRY(USBB2_ULPITLL_NXT, "ag13", NULL), | ||
696 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT0, "ae11", NULL), | ||
697 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT1, "af11", NULL), | ||
698 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT2, "ag11", NULL), | ||
699 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT3, "ah11", NULL), | ||
700 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT4, "ae10", NULL), | ||
701 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT5, "af10", NULL), | ||
702 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT6, "ag10", NULL), | ||
703 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT7, "ae9", NULL), | ||
704 | _OMAP4_BALLENTRY(USBB2_HSIC_DATA, "af13", NULL), | ||
705 | _OMAP4_BALLENTRY(USBB2_HSIC_STROBE, "ae13", NULL), | ||
706 | _OMAP4_BALLENTRY(UNIPRO_TX0, "g26", NULL), | ||
707 | _OMAP4_BALLENTRY(UNIPRO_TY0, "g25", NULL), | ||
708 | _OMAP4_BALLENTRY(UNIPRO_TX1, "h26", NULL), | ||
709 | _OMAP4_BALLENTRY(UNIPRO_TY1, "h25", NULL), | ||
710 | _OMAP4_BALLENTRY(UNIPRO_TX2, "j27", NULL), | ||
711 | _OMAP4_BALLENTRY(UNIPRO_TY2, "h27", NULL), | ||
712 | _OMAP4_BALLENTRY(UNIPRO_RX0, "j26", NULL), | ||
713 | _OMAP4_BALLENTRY(UNIPRO_RY0, "j25", NULL), | ||
714 | _OMAP4_BALLENTRY(UNIPRO_RX1, "k26", NULL), | ||
715 | _OMAP4_BALLENTRY(UNIPRO_RY1, "k25", NULL), | ||
716 | _OMAP4_BALLENTRY(UNIPRO_RX2, "l27", NULL), | ||
717 | _OMAP4_BALLENTRY(UNIPRO_RY2, "k27", NULL), | ||
718 | _OMAP4_BALLENTRY(USBA0_OTG_CE, "c3", NULL), | ||
719 | _OMAP4_BALLENTRY(USBA0_OTG_DP, "b5", NULL), | ||
720 | _OMAP4_BALLENTRY(USBA0_OTG_DM, "b4", NULL), | ||
721 | _OMAP4_BALLENTRY(FREF_CLK1_OUT, "aa28", NULL), | ||
722 | _OMAP4_BALLENTRY(FREF_CLK2_OUT, "y28", NULL), | ||
723 | _OMAP4_BALLENTRY(SYS_NIRQ1, "ae6", NULL), | ||
724 | _OMAP4_BALLENTRY(SYS_NIRQ2, "af6", NULL), | ||
725 | _OMAP4_BALLENTRY(SYS_BOOT0, "f26", NULL), | ||
726 | _OMAP4_BALLENTRY(SYS_BOOT1, "e27", NULL), | ||
727 | _OMAP4_BALLENTRY(SYS_BOOT2, "e26", NULL), | ||
728 | _OMAP4_BALLENTRY(SYS_BOOT3, "e25", NULL), | ||
729 | _OMAP4_BALLENTRY(SYS_BOOT4, "d28", NULL), | ||
730 | _OMAP4_BALLENTRY(SYS_BOOT5, "d27", NULL), | ||
731 | _OMAP4_BALLENTRY(DPM_EMU0, "m2", NULL), | ||
732 | _OMAP4_BALLENTRY(DPM_EMU1, "n2", NULL), | ||
733 | _OMAP4_BALLENTRY(DPM_EMU2, "p2", NULL), | ||
734 | _OMAP4_BALLENTRY(DPM_EMU3, "v1", NULL), | ||
735 | _OMAP4_BALLENTRY(DPM_EMU4, "v2", NULL), | ||
736 | _OMAP4_BALLENTRY(DPM_EMU5, "w1", NULL), | ||
737 | _OMAP4_BALLENTRY(DPM_EMU6, "w2", NULL), | ||
738 | _OMAP4_BALLENTRY(DPM_EMU7, "w3", NULL), | ||
739 | _OMAP4_BALLENTRY(DPM_EMU8, "w4", NULL), | ||
740 | _OMAP4_BALLENTRY(DPM_EMU9, "y2", NULL), | ||
741 | _OMAP4_BALLENTRY(DPM_EMU10, "y3", NULL), | ||
742 | _OMAP4_BALLENTRY(DPM_EMU11, "y4", NULL), | ||
743 | _OMAP4_BALLENTRY(DPM_EMU12, "aa1", NULL), | ||
744 | _OMAP4_BALLENTRY(DPM_EMU13, "aa2", NULL), | ||
745 | _OMAP4_BALLENTRY(DPM_EMU14, "aa3", NULL), | ||
746 | _OMAP4_BALLENTRY(DPM_EMU15, "aa4", NULL), | ||
747 | _OMAP4_BALLENTRY(DPM_EMU16, "ab2", NULL), | ||
748 | _OMAP4_BALLENTRY(DPM_EMU17, "ab3", NULL), | ||
749 | _OMAP4_BALLENTRY(DPM_EMU18, "ab4", NULL), | ||
750 | _OMAP4_BALLENTRY(DPM_EMU19, "ac4", NULL), | ||
751 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
752 | }; | ||
753 | #else | ||
754 | #define omap4_core_cbl_ball NULL | ||
755 | #endif | ||
756 | |||
757 | /* | ||
758 | * Signals different on ES2.0 compared to superset | ||
759 | */ | ||
760 | static struct omap_mux __initdata omap4_es2_core_subset[] = { | ||
761 | _OMAP4_MUXENTRY(GPMC_AD8, 32, "gpmc_ad8", "kpd_row0", "c2c_data15", | ||
762 | "gpio_32", NULL, "sdmmc1_dat0", NULL, NULL), | ||
763 | _OMAP4_MUXENTRY(GPMC_AD9, 33, "gpmc_ad9", "kpd_row1", "c2c_data14", | ||
764 | "gpio_33", NULL, "sdmmc1_dat1", NULL, NULL), | ||
765 | _OMAP4_MUXENTRY(GPMC_AD10, 34, "gpmc_ad10", "kpd_row2", "c2c_data13", | ||
766 | "gpio_34", NULL, "sdmmc1_dat2", NULL, NULL), | ||
767 | _OMAP4_MUXENTRY(GPMC_AD11, 35, "gpmc_ad11", "kpd_row3", "c2c_data12", | ||
768 | "gpio_35", NULL, "sdmmc1_dat3", NULL, NULL), | ||
769 | _OMAP4_MUXENTRY(GPMC_AD12, 36, "gpmc_ad12", "kpd_col0", "c2c_data11", | ||
770 | "gpio_36", NULL, "sdmmc1_dat4", NULL, NULL), | ||
771 | _OMAP4_MUXENTRY(GPMC_AD13, 37, "gpmc_ad13", "kpd_col1", "c2c_data10", | ||
772 | "gpio_37", NULL, "sdmmc1_dat5", NULL, NULL), | ||
773 | _OMAP4_MUXENTRY(GPMC_AD14, 38, "gpmc_ad14", "kpd_col2", "c2c_data9", | ||
774 | "gpio_38", NULL, "sdmmc1_dat6", NULL, NULL), | ||
775 | _OMAP4_MUXENTRY(GPMC_AD15, 39, "gpmc_ad15", "kpd_col3", "c2c_data8", | ||
776 | "gpio_39", NULL, "sdmmc1_dat7", NULL, NULL), | ||
777 | _OMAP4_MUXENTRY(GPMC_A16, 40, "gpmc_a16", "kpd_row4", "c2c_datain0", | ||
778 | "gpio_40", "venc_656_data0", NULL, NULL, "safe_mode"), | ||
779 | _OMAP4_MUXENTRY(GPMC_A24, 48, "gpmc_a24", "kpd_col8", "c2c_clkout0", | ||
780 | "gpio_48", NULL, NULL, NULL, "safe_mode"), | ||
781 | _OMAP4_MUXENTRY(GPMC_NCS2, 52, "gpmc_ncs2", "kpd_row8", | ||
782 | "c2c_dataout7", "gpio_52", NULL, NULL, NULL, | ||
783 | "safe_mode"), | ||
784 | _OMAP4_MUXENTRY(GPMC_CLK, 55, "gpmc_clk", NULL, NULL, "gpio_55", | ||
785 | "sys_ndmareq2", "sdmmc1_cmd", NULL, NULL), | ||
786 | _OMAP4_MUXENTRY(GPMC_NADV_ALE, 56, "gpmc_nadv_ale", "dsi1_te1", NULL, | ||
787 | "gpio_56", "sys_ndmareq3", "sdmmc1_clk", NULL, NULL), | ||
788 | _OMAP4_MUXENTRY(GPMC_WAIT2, 100, "gpmc_wait2", "usbc1_icusb_txen", | ||
789 | "c2c_dataout3", "gpio_100", "sys_ndmareq0", NULL, | ||
790 | NULL, "safe_mode"), | ||
791 | _OMAP4_MUXENTRY(GPMC_NCS4, 101, "gpmc_ncs4", "dsi1_te0", "c2c_clkin0", | ||
792 | "gpio_101", "sys_ndmareq1", NULL, NULL, "safe_mode"), | ||
793 | _OMAP4_MUXENTRY(GPMC_NCS5, 102, "gpmc_ncs5", "dsi1_te1", "c2c_clkin1", | ||
794 | "gpio_102", "sys_ndmareq2", NULL, NULL, "safe_mode"), | ||
795 | _OMAP4_MUXENTRY(GPMC_NCS6, 103, "gpmc_ncs6", "dsi2_te0", | ||
796 | "c2c_dataout0", "gpio_103", "sys_ndmareq3", NULL, | ||
797 | NULL, "safe_mode"), | ||
798 | _OMAP4_MUXENTRY(GPMC_NCS7, 104, "gpmc_ncs7", "dsi2_te1", | ||
799 | "c2c_dataout1", "gpio_104", NULL, NULL, NULL, | ||
800 | "safe_mode"), | ||
801 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT0, 88, "usbb1_ulpitll_dat0", | ||
802 | "hsi1_acwake", "mcbsp4_clkx", "gpio_88", | ||
803 | "usbb1_ulpiphy_dat0", "usbb1_mm_txen", "hw_dbg24", | ||
804 | "safe_mode"), | ||
805 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT1, 89, "usbb1_ulpitll_dat1", | ||
806 | "hsi1_acdata", "mcbsp4_dx", "gpio_89", | ||
807 | "usbb1_ulpiphy_dat1", "usbb1_mm_txdat", "hw_dbg25", | ||
808 | "safe_mode"), | ||
809 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT2, 90, "usbb1_ulpitll_dat2", | ||
810 | "hsi1_acflag", "mcbsp4_dr", "gpio_90", | ||
811 | "usbb1_ulpiphy_dat2", "usbb1_mm_txse0", "hw_dbg26", | ||
812 | "safe_mode"), | ||
813 | _OMAP4_MUXENTRY(USBB1_ULPITLL_DAT3, 91, "usbb1_ulpitll_dat3", | ||
814 | "hsi1_caready", NULL, "gpio_91", "usbb1_ulpiphy_dat3", | ||
815 | "usbb1_mm_rxrcv", "hw_dbg27", "safe_mode"), | ||
816 | _OMAP4_MUXENTRY(ABE_DMIC_CLK1, 119, "abe_dmic_clk1", NULL, NULL, | ||
817 | "gpio_119", "usbb2_mm_txse0", "uart4_cts", NULL, | ||
818 | "safe_mode"), | ||
819 | _OMAP4_MUXENTRY(ABE_DMIC_DIN1, 120, "abe_dmic_din1", NULL, NULL, | ||
820 | "gpio_120", "usbb2_mm_txdat", "uart4_rts", NULL, | ||
821 | "safe_mode"), | ||
822 | _OMAP4_MUXENTRY(ABE_DMIC_DIN2, 121, "abe_dmic_din2", "slimbus2_clock", | ||
823 | "abe_mcasp_axr", "gpio_121", NULL, | ||
824 | "dmtimer11_pwm_evt", NULL, "safe_mode"), | ||
825 | _OMAP4_MUXENTRY(ABE_DMIC_DIN3, 122, "abe_dmic_din3", "slimbus2_data", | ||
826 | "abe_dmic_clk2", "gpio_122", NULL, "dmtimer9_pwm_evt", | ||
827 | NULL, "safe_mode"), | ||
828 | _OMAP4_MUXENTRY(SDMMC5_CLK, 145, "sdmmc5_clk", "mcspi2_clk", | ||
829 | "usbc1_icusb_dp", "gpio_145", NULL, "sdmmc2_clk", | ||
830 | NULL, "safe_mode"), | ||
831 | _OMAP4_MUXENTRY(SDMMC5_CMD, 146, "sdmmc5_cmd", "mcspi2_simo", | ||
832 | "usbc1_icusb_dm", "gpio_146", NULL, "sdmmc2_cmd", | ||
833 | NULL, "safe_mode"), | ||
834 | _OMAP4_MUXENTRY(SDMMC5_DAT0, 147, "sdmmc5_dat0", "mcspi2_somi", | ||
835 | "usbc1_icusb_rcv", "gpio_147", NULL, "sdmmc2_dat0", | ||
836 | NULL, "safe_mode"), | ||
837 | _OMAP4_MUXENTRY(SDMMC5_DAT1, 148, "sdmmc5_dat1", NULL, | ||
838 | "usbc1_icusb_txen", "gpio_148", NULL, "sdmmc2_dat1", | ||
839 | NULL, "safe_mode"), | ||
840 | _OMAP4_MUXENTRY(SDMMC5_DAT2, 149, "sdmmc5_dat2", "mcspi2_cs1", NULL, | ||
841 | "gpio_149", NULL, "sdmmc2_dat2", NULL, "safe_mode"), | ||
842 | _OMAP4_MUXENTRY(SDMMC5_DAT3, 150, "sdmmc5_dat3", "mcspi2_cs0", NULL, | ||
843 | "gpio_150", NULL, "sdmmc2_dat3", NULL, "safe_mode"), | ||
844 | _OMAP4_MUXENTRY(MCSPI4_CLK, 151, "mcspi4_clk", "sdmmc4_clk", | ||
845 | "kpd_col6", "gpio_151", NULL, NULL, NULL, | ||
846 | "safe_mode"), | ||
847 | _OMAP4_MUXENTRY(MCSPI4_SIMO, 152, "mcspi4_simo", "sdmmc4_cmd", | ||
848 | "kpd_col7", "gpio_152", NULL, NULL, NULL, | ||
849 | "safe_mode"), | ||
850 | _OMAP4_MUXENTRY(MCSPI4_SOMI, 153, "mcspi4_somi", "sdmmc4_dat0", | ||
851 | "kpd_row6", "gpio_153", NULL, NULL, NULL, | ||
852 | "safe_mode"), | ||
853 | _OMAP4_MUXENTRY(MCSPI4_CS0, 154, "mcspi4_cs0", "sdmmc4_dat3", | ||
854 | "kpd_row7", "gpio_154", NULL, NULL, NULL, | ||
855 | "safe_mode"), | ||
856 | _OMAP4_MUXENTRY(UART4_RX, 155, "uart4_rx", "sdmmc4_dat2", "kpd_row8", | ||
857 | "gpio_155", NULL, NULL, NULL, "safe_mode"), | ||
858 | _OMAP4_MUXENTRY(UART4_TX, 156, "uart4_tx", "sdmmc4_dat1", "kpd_col8", | ||
859 | "gpio_156", NULL, NULL, NULL, "safe_mode"), | ||
860 | _OMAP4_MUXENTRY(USBB2_ULPITLL_STP, 158, "usbb2_ulpitll_stp", | ||
861 | "usbb2_ulpiphy_stp", "sdmmc4_clk", "gpio_158", | ||
862 | "hsi2_cadata", "dispc2_data23", NULL, "safe_mode"), | ||
863 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DIR, 159, "usbb2_ulpitll_dir", | ||
864 | "usbb2_ulpiphy_dir", "sdmmc4_dat0", "gpio_159", | ||
865 | "hsi2_caflag", "dispc2_data22", NULL, "safe_mode"), | ||
866 | _OMAP4_MUXENTRY(USBB2_ULPITLL_NXT, 160, "usbb2_ulpitll_nxt", | ||
867 | "usbb2_ulpiphy_nxt", "sdmmc4_dat1", "gpio_160", | ||
868 | "hsi2_acready", "dispc2_data21", NULL, "safe_mode"), | ||
869 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT0, 161, "usbb2_ulpitll_dat0", | ||
870 | "usbb2_ulpiphy_dat0", "sdmmc4_dat2", "gpio_161", | ||
871 | "hsi2_acwake", "dispc2_data20", "usbb2_mm_txen", | ||
872 | "safe_mode"), | ||
873 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT1, 162, "usbb2_ulpitll_dat1", | ||
874 | "usbb2_ulpiphy_dat1", "sdmmc4_dat3", "gpio_162", | ||
875 | "hsi2_acdata", "dispc2_data19", "usbb2_mm_txdat", | ||
876 | "safe_mode"), | ||
877 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT2, 163, "usbb2_ulpitll_dat2", | ||
878 | "usbb2_ulpiphy_dat2", "sdmmc3_dat2", "gpio_163", | ||
879 | "hsi2_acflag", "dispc2_data18", "usbb2_mm_txse0", | ||
880 | "safe_mode"), | ||
881 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT3, 164, "usbb2_ulpitll_dat3", | ||
882 | "usbb2_ulpiphy_dat3", "sdmmc3_dat1", "gpio_164", | ||
883 | "hsi2_caready", "dispc2_data15", "rfbi_data15", | ||
884 | "safe_mode"), | ||
885 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT4, 165, "usbb2_ulpitll_dat4", | ||
886 | "usbb2_ulpiphy_dat4", "sdmmc3_dat0", "gpio_165", | ||
887 | "mcspi3_somi", "dispc2_data14", "rfbi_data14", | ||
888 | "safe_mode"), | ||
889 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT5, 166, "usbb2_ulpitll_dat5", | ||
890 | "usbb2_ulpiphy_dat5", "sdmmc3_dat3", "gpio_166", | ||
891 | "mcspi3_cs0", "dispc2_data13", "rfbi_data13", | ||
892 | "safe_mode"), | ||
893 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT6, 167, "usbb2_ulpitll_dat6", | ||
894 | "usbb2_ulpiphy_dat6", "sdmmc3_cmd", "gpio_167", | ||
895 | "mcspi3_simo", "dispc2_data12", "rfbi_data12", | ||
896 | "safe_mode"), | ||
897 | _OMAP4_MUXENTRY(USBB2_ULPITLL_DAT7, 168, "usbb2_ulpitll_dat7", | ||
898 | "usbb2_ulpiphy_dat7", "sdmmc3_clk", "gpio_168", | ||
899 | "mcspi3_clk", "dispc2_data11", "rfbi_data11", | ||
900 | "safe_mode"), | ||
901 | _OMAP4_MUXENTRY(KPD_COL3, 171, "kpd_col3", "kpd_col0", NULL, | ||
902 | "gpio_171", NULL, NULL, NULL, "safe_mode"), | ||
903 | _OMAP4_MUXENTRY(KPD_COL4, 172, "kpd_col4", "kpd_col1", NULL, | ||
904 | "gpio_172", NULL, NULL, NULL, "safe_mode"), | ||
905 | _OMAP4_MUXENTRY(KPD_COL5, 173, "kpd_col5", "kpd_col2", NULL, | ||
906 | "gpio_173", NULL, NULL, NULL, "safe_mode"), | ||
907 | _OMAP4_MUXENTRY(KPD_COL0, 174, "kpd_col0", "kpd_col3", NULL, | ||
908 | "gpio_174", NULL, NULL, NULL, "safe_mode"), | ||
909 | _OMAP4_MUXENTRY(KPD_COL1, 0, "kpd_col1", "kpd_col4", NULL, "gpio_0", | ||
910 | NULL, NULL, NULL, "safe_mode"), | ||
911 | _OMAP4_MUXENTRY(KPD_COL2, 1, "kpd_col2", "kpd_col5", NULL, "gpio_1", | ||
912 | NULL, NULL, NULL, "safe_mode"), | ||
913 | _OMAP4_MUXENTRY(KPD_ROW3, 175, "kpd_row3", "kpd_row0", NULL, | ||
914 | "gpio_175", NULL, NULL, NULL, "safe_mode"), | ||
915 | _OMAP4_MUXENTRY(KPD_ROW4, 176, "kpd_row4", "kpd_row1", NULL, | ||
916 | "gpio_176", NULL, NULL, NULL, "safe_mode"), | ||
917 | _OMAP4_MUXENTRY(KPD_ROW5, 177, "kpd_row5", "kpd_row2", NULL, | ||
918 | "gpio_177", NULL, NULL, NULL, "safe_mode"), | ||
919 | _OMAP4_MUXENTRY(KPD_ROW0, 178, "kpd_row0", "kpd_row3", NULL, | ||
920 | "gpio_178", NULL, NULL, NULL, "safe_mode"), | ||
921 | _OMAP4_MUXENTRY(KPD_ROW1, 2, "kpd_row1", "kpd_row4", NULL, "gpio_2", | ||
922 | NULL, NULL, NULL, "safe_mode"), | ||
923 | _OMAP4_MUXENTRY(KPD_ROW2, 3, "kpd_row2", "kpd_row5", NULL, "gpio_3", | ||
924 | NULL, NULL, NULL, "safe_mode"), | ||
925 | _OMAP4_MUXENTRY(USBA0_OTG_DP, 0, "usba0_otg_dp", "uart3_rx_irrx", | ||
926 | "uart2_rx", NULL, NULL, NULL, NULL, "safe_mode"), | ||
927 | _OMAP4_MUXENTRY(USBA0_OTG_DM, 0, "usba0_otg_dm", "uart3_tx_irtx", | ||
928 | "uart2_tx", NULL, NULL, NULL, NULL, "safe_mode"), | ||
929 | _OMAP4_MUXENTRY(DPM_EMU2, 13, "dpm_emu2", "usba0_ulpiphy_clk", NULL, | ||
930 | "gpio_13", NULL, "dispc2_fid", "hw_dbg2", | ||
931 | "safe_mode"), | ||
932 | _OMAP4_MUXENTRY(DPM_EMU3, 14, "dpm_emu3", "usba0_ulpiphy_stp", NULL, | ||
933 | "gpio_14", "rfbi_data10", "dispc2_data10", "hw_dbg3", | ||
934 | "safe_mode"), | ||
935 | _OMAP4_MUXENTRY(DPM_EMU4, 15, "dpm_emu4", "usba0_ulpiphy_dir", NULL, | ||
936 | "gpio_15", "rfbi_data9", "dispc2_data9", "hw_dbg4", | ||
937 | "safe_mode"), | ||
938 | _OMAP4_MUXENTRY(DPM_EMU5, 16, "dpm_emu5", "usba0_ulpiphy_nxt", NULL, | ||
939 | "gpio_16", "rfbi_te_vsync0", "dispc2_data16", | ||
940 | "hw_dbg5", "safe_mode"), | ||
941 | _OMAP4_MUXENTRY(DPM_EMU6, 17, "dpm_emu6", "usba0_ulpiphy_dat0", | ||
942 | "uart3_tx_irtx", "gpio_17", "rfbi_hsync0", | ||
943 | "dispc2_data17", "hw_dbg6", "safe_mode"), | ||
944 | _OMAP4_MUXENTRY(DPM_EMU7, 18, "dpm_emu7", "usba0_ulpiphy_dat1", | ||
945 | "uart3_rx_irrx", "gpio_18", "rfbi_cs0", | ||
946 | "dispc2_hsync", "hw_dbg7", "safe_mode"), | ||
947 | _OMAP4_MUXENTRY(DPM_EMU8, 19, "dpm_emu8", "usba0_ulpiphy_dat2", | ||
948 | "uart3_rts_sd", "gpio_19", "rfbi_re", "dispc2_pclk", | ||
949 | "hw_dbg8", "safe_mode"), | ||
950 | _OMAP4_MUXENTRY(DPM_EMU9, 20, "dpm_emu9", "usba0_ulpiphy_dat3", | ||
951 | "uart3_cts_rctx", "gpio_20", "rfbi_we", | ||
952 | "dispc2_vsync", "hw_dbg9", "safe_mode"), | ||
953 | _OMAP4_MUXENTRY(DPM_EMU10, 21, "dpm_emu10", "usba0_ulpiphy_dat4", | ||
954 | NULL, "gpio_21", "rfbi_a0", "dispc2_de", "hw_dbg10", | ||
955 | "safe_mode"), | ||
956 | _OMAP4_MUXENTRY(DPM_EMU11, 22, "dpm_emu11", "usba0_ulpiphy_dat5", | ||
957 | NULL, "gpio_22", "rfbi_data8", "dispc2_data8", | ||
958 | "hw_dbg11", "safe_mode"), | ||
959 | _OMAP4_MUXENTRY(DPM_EMU12, 23, "dpm_emu12", "usba0_ulpiphy_dat6", | ||
960 | NULL, "gpio_23", "rfbi_data7", "dispc2_data7", | ||
961 | "hw_dbg12", "safe_mode"), | ||
962 | _OMAP4_MUXENTRY(DPM_EMU13, 24, "dpm_emu13", "usba0_ulpiphy_dat7", | ||
963 | NULL, "gpio_24", "rfbi_data6", "dispc2_data6", | ||
964 | "hw_dbg13", "safe_mode"), | ||
965 | _OMAP4_MUXENTRY(DPM_EMU14, 25, "dpm_emu14", "sys_drm_msecure", | ||
966 | "uart1_rx", "gpio_25", "rfbi_data5", "dispc2_data5", | ||
967 | "hw_dbg14", "safe_mode"), | ||
968 | _OMAP4_MUXENTRY(DPM_EMU15, 26, "dpm_emu15", "sys_secure_indicator", | ||
969 | NULL, "gpio_26", "rfbi_data4", "dispc2_data4", | ||
970 | "hw_dbg15", "safe_mode"), | ||
971 | _OMAP4_MUXENTRY(DPM_EMU16, 27, "dpm_emu16", "dmtimer8_pwm_evt", | ||
972 | "dsi1_te0", "gpio_27", "rfbi_data3", "dispc2_data3", | ||
973 | "hw_dbg16", "safe_mode"), | ||
974 | _OMAP4_MUXENTRY(DPM_EMU17, 28, "dpm_emu17", "dmtimer9_pwm_evt", | ||
975 | "dsi1_te1", "gpio_28", "rfbi_data2", "dispc2_data2", | ||
976 | "hw_dbg17", "safe_mode"), | ||
977 | _OMAP4_MUXENTRY(DPM_EMU18, 190, "dpm_emu18", "dmtimer10_pwm_evt", | ||
978 | "dsi2_te0", "gpio_190", "rfbi_data1", "dispc2_data1", | ||
979 | "hw_dbg18", "safe_mode"), | ||
980 | _OMAP4_MUXENTRY(DPM_EMU19, 191, "dpm_emu19", "dmtimer11_pwm_evt", | ||
981 | "dsi2_te1", "gpio_191", "rfbi_data0", "dispc2_data0", | ||
982 | "hw_dbg19", "safe_mode"), | ||
983 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
984 | }; | ||
985 | |||
986 | /* | ||
987 | * Balls for 44XX CBS package | ||
988 | * 547-pin CBL ES2.0 S-FPGA-N547, 0.40mm Ball Pitch (Top), | ||
989 | * 0.40mm Ball Pitch (Bottom) | ||
990 | */ | ||
991 | #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) \ | ||
992 | && defined(CONFIG_OMAP_PACKAGE_CBS) | ||
993 | static struct omap_ball __initdata omap4_core_cbs_ball[] = { | ||
994 | _OMAP4_BALLENTRY(GPMC_AD0, "c12", NULL), | ||
995 | _OMAP4_BALLENTRY(GPMC_AD1, "d12", NULL), | ||
996 | _OMAP4_BALLENTRY(GPMC_AD2, "c13", NULL), | ||
997 | _OMAP4_BALLENTRY(GPMC_AD3, "d13", NULL), | ||
998 | _OMAP4_BALLENTRY(GPMC_AD4, "c15", NULL), | ||
999 | _OMAP4_BALLENTRY(GPMC_AD5, "d15", NULL), | ||
1000 | _OMAP4_BALLENTRY(GPMC_AD6, "a16", NULL), | ||
1001 | _OMAP4_BALLENTRY(GPMC_AD7, "b16", NULL), | ||
1002 | _OMAP4_BALLENTRY(GPMC_AD8, "c16", NULL), | ||
1003 | _OMAP4_BALLENTRY(GPMC_AD9, "d16", NULL), | ||
1004 | _OMAP4_BALLENTRY(GPMC_AD10, "c17", NULL), | ||
1005 | _OMAP4_BALLENTRY(GPMC_AD11, "d17", NULL), | ||
1006 | _OMAP4_BALLENTRY(GPMC_AD12, "c18", NULL), | ||
1007 | _OMAP4_BALLENTRY(GPMC_AD13, "d18", NULL), | ||
1008 | _OMAP4_BALLENTRY(GPMC_AD14, "c19", NULL), | ||
1009 | _OMAP4_BALLENTRY(GPMC_AD15, "d19", NULL), | ||
1010 | _OMAP4_BALLENTRY(GPMC_A16, "b17", NULL), | ||
1011 | _OMAP4_BALLENTRY(GPMC_A17, "a18", NULL), | ||
1012 | _OMAP4_BALLENTRY(GPMC_A18, "b18", NULL), | ||
1013 | _OMAP4_BALLENTRY(GPMC_A19, "a19", NULL), | ||
1014 | _OMAP4_BALLENTRY(GPMC_A20, "b19", NULL), | ||
1015 | _OMAP4_BALLENTRY(GPMC_A21, "b20", NULL), | ||
1016 | _OMAP4_BALLENTRY(GPMC_A22, "a21", NULL), | ||
1017 | _OMAP4_BALLENTRY(GPMC_A23, "b21", NULL), | ||
1018 | _OMAP4_BALLENTRY(GPMC_A24, "c20", NULL), | ||
1019 | _OMAP4_BALLENTRY(GPMC_A25, "d20", NULL), | ||
1020 | _OMAP4_BALLENTRY(GPMC_NCS0, "b25", NULL), | ||
1021 | _OMAP4_BALLENTRY(GPMC_NCS1, "c21", NULL), | ||
1022 | _OMAP4_BALLENTRY(GPMC_NCS2, "d21", NULL), | ||
1023 | _OMAP4_BALLENTRY(GPMC_NCS3, "c22", NULL), | ||
1024 | _OMAP4_BALLENTRY(GPMC_NWP, "c25", NULL), | ||
1025 | _OMAP4_BALLENTRY(GPMC_CLK, "b22", NULL), | ||
1026 | _OMAP4_BALLENTRY(GPMC_NADV_ALE, "d25", NULL), | ||
1027 | _OMAP4_BALLENTRY(GPMC_NOE, "b11", NULL), | ||
1028 | _OMAP4_BALLENTRY(GPMC_NWE, "b12", NULL), | ||
1029 | _OMAP4_BALLENTRY(GPMC_NBE0_CLE, "c23", NULL), | ||
1030 | _OMAP4_BALLENTRY(GPMC_NBE1, "d22", NULL), | ||
1031 | _OMAP4_BALLENTRY(GPMC_WAIT0, "b26", NULL), | ||
1032 | _OMAP4_BALLENTRY(GPMC_WAIT1, "b23", NULL), | ||
1033 | _OMAP4_BALLENTRY(GPMC_WAIT2, "d23", NULL), | ||
1034 | _OMAP4_BALLENTRY(GPMC_NCS4, "a24", NULL), | ||
1035 | _OMAP4_BALLENTRY(GPMC_NCS5, "b24", NULL), | ||
1036 | _OMAP4_BALLENTRY(GPMC_NCS6, "c24", NULL), | ||
1037 | _OMAP4_BALLENTRY(GPMC_NCS7, "d24", NULL), | ||
1038 | _OMAP4_BALLENTRY(HDMI_HPD, "b9", NULL), | ||
1039 | _OMAP4_BALLENTRY(HDMI_CEC, "b10", NULL), | ||
1040 | _OMAP4_BALLENTRY(HDMI_DDC_SCL, "a8", NULL), | ||
1041 | _OMAP4_BALLENTRY(HDMI_DDC_SDA, "b8", NULL), | ||
1042 | _OMAP4_BALLENTRY(CSI21_DX0, "r26", NULL), | ||
1043 | _OMAP4_BALLENTRY(CSI21_DY0, "r25", NULL), | ||
1044 | _OMAP4_BALLENTRY(CSI21_DX1, "t26", NULL), | ||
1045 | _OMAP4_BALLENTRY(CSI21_DY1, "t25", NULL), | ||
1046 | _OMAP4_BALLENTRY(CSI21_DX2, "u26", NULL), | ||
1047 | _OMAP4_BALLENTRY(CSI21_DY2, "u25", NULL), | ||
1048 | _OMAP4_BALLENTRY(CSI21_DX3, "v26", NULL), | ||
1049 | _OMAP4_BALLENTRY(CSI21_DY3, "v25", NULL), | ||
1050 | _OMAP4_BALLENTRY(CSI21_DX4, "w26", NULL), | ||
1051 | _OMAP4_BALLENTRY(CSI21_DY4, "w25", NULL), | ||
1052 | _OMAP4_BALLENTRY(CSI22_DX0, "m26", NULL), | ||
1053 | _OMAP4_BALLENTRY(CSI22_DY0, "m25", NULL), | ||
1054 | _OMAP4_BALLENTRY(CSI22_DX1, "n26", NULL), | ||
1055 | _OMAP4_BALLENTRY(CSI22_DY1, "n25", NULL), | ||
1056 | _OMAP4_BALLENTRY(CAM_SHUTTER, "t27", NULL), | ||
1057 | _OMAP4_BALLENTRY(CAM_STROBE, "u27", NULL), | ||
1058 | _OMAP4_BALLENTRY(CAM_GLOBALRESET, "v27", NULL), | ||
1059 | _OMAP4_BALLENTRY(USBB1_ULPITLL_CLK, "ae18", NULL), | ||
1060 | _OMAP4_BALLENTRY(USBB1_ULPITLL_STP, "ag19", NULL), | ||
1061 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DIR, "af19", NULL), | ||
1062 | _OMAP4_BALLENTRY(USBB1_ULPITLL_NXT, "ae19", NULL), | ||
1063 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT0, "af18", NULL), | ||
1064 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT1, "ag18", NULL), | ||
1065 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT2, "ae17", NULL), | ||
1066 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT3, "af17", NULL), | ||
1067 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT4, "ah17", NULL), | ||
1068 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT5, "ae16", NULL), | ||
1069 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT6, "af16", NULL), | ||
1070 | _OMAP4_BALLENTRY(USBB1_ULPITLL_DAT7, "ag16", NULL), | ||
1071 | _OMAP4_BALLENTRY(USBB1_HSIC_DATA, "af14", NULL), | ||
1072 | _OMAP4_BALLENTRY(USBB1_HSIC_STROBE, "ae14", NULL), | ||
1073 | _OMAP4_BALLENTRY(USBC1_ICUSB_DP, "h2", NULL), | ||
1074 | _OMAP4_BALLENTRY(USBC1_ICUSB_DM, "h3", NULL), | ||
1075 | _OMAP4_BALLENTRY(SDMMC1_CLK, "d2", NULL), | ||
1076 | _OMAP4_BALLENTRY(SDMMC1_CMD, "e3", NULL), | ||
1077 | _OMAP4_BALLENTRY(SDMMC1_DAT0, "e4", NULL), | ||
1078 | _OMAP4_BALLENTRY(SDMMC1_DAT1, "e2", NULL), | ||
1079 | _OMAP4_BALLENTRY(SDMMC1_DAT2, "e1", NULL), | ||
1080 | _OMAP4_BALLENTRY(SDMMC1_DAT3, "f4", NULL), | ||
1081 | _OMAP4_BALLENTRY(SDMMC1_DAT4, "f3", NULL), | ||
1082 | _OMAP4_BALLENTRY(SDMMC1_DAT5, "f1", NULL), | ||
1083 | _OMAP4_BALLENTRY(SDMMC1_DAT6, "g4", NULL), | ||
1084 | _OMAP4_BALLENTRY(SDMMC1_DAT7, "g3", NULL), | ||
1085 | _OMAP4_BALLENTRY(ABE_MCBSP2_CLKX, "ad27", NULL), | ||
1086 | _OMAP4_BALLENTRY(ABE_MCBSP2_DR, "ad26", NULL), | ||
1087 | _OMAP4_BALLENTRY(ABE_MCBSP2_DX, "ad25", NULL), | ||
1088 | _OMAP4_BALLENTRY(ABE_MCBSP2_FSX, "ac28", NULL), | ||
1089 | _OMAP4_BALLENTRY(ABE_MCBSP1_CLKX, "ac26", NULL), | ||
1090 | _OMAP4_BALLENTRY(ABE_MCBSP1_DR, "ac25", NULL), | ||
1091 | _OMAP4_BALLENTRY(ABE_MCBSP1_DX, "ab25", NULL), | ||
1092 | _OMAP4_BALLENTRY(ABE_MCBSP1_FSX, "ac27", NULL), | ||
1093 | _OMAP4_BALLENTRY(ABE_PDM_UL_DATA, "ag25", NULL), | ||
1094 | _OMAP4_BALLENTRY(ABE_PDM_DL_DATA, "af25", NULL), | ||
1095 | _OMAP4_BALLENTRY(ABE_PDM_FRAME, "ae25", NULL), | ||
1096 | _OMAP4_BALLENTRY(ABE_PDM_LB_CLK, "af26", NULL), | ||
1097 | _OMAP4_BALLENTRY(ABE_CLKS, "ah26", NULL), | ||
1098 | _OMAP4_BALLENTRY(ABE_DMIC_CLK1, "ae24", NULL), | ||
1099 | _OMAP4_BALLENTRY(ABE_DMIC_DIN1, "af24", NULL), | ||
1100 | _OMAP4_BALLENTRY(ABE_DMIC_DIN2, "ag24", NULL), | ||
1101 | _OMAP4_BALLENTRY(ABE_DMIC_DIN3, "ah24", NULL), | ||
1102 | _OMAP4_BALLENTRY(UART2_CTS, "ab26", NULL), | ||
1103 | _OMAP4_BALLENTRY(UART2_RTS, "ab27", NULL), | ||
1104 | _OMAP4_BALLENTRY(UART2_RX, "aa25", NULL), | ||
1105 | _OMAP4_BALLENTRY(UART2_TX, "aa26", NULL), | ||
1106 | _OMAP4_BALLENTRY(HDQ_SIO, "aa27", NULL), | ||
1107 | _OMAP4_BALLENTRY(I2C1_SCL, "ae28", NULL), | ||
1108 | _OMAP4_BALLENTRY(I2C1_SDA, "ae26", NULL), | ||
1109 | _OMAP4_BALLENTRY(I2C2_SCL, "c26", NULL), | ||
1110 | _OMAP4_BALLENTRY(I2C2_SDA, "d26", NULL), | ||
1111 | _OMAP4_BALLENTRY(I2C3_SCL, "w27", NULL), | ||
1112 | _OMAP4_BALLENTRY(I2C3_SDA, "y27", NULL), | ||
1113 | _OMAP4_BALLENTRY(I2C4_SCL, "ag21", NULL), | ||
1114 | _OMAP4_BALLENTRY(I2C4_SDA, "ah22", NULL), | ||
1115 | _OMAP4_BALLENTRY(MCSPI1_CLK, "af22", NULL), | ||
1116 | _OMAP4_BALLENTRY(MCSPI1_SOMI, "ae22", NULL), | ||
1117 | _OMAP4_BALLENTRY(MCSPI1_SIMO, "ag22", NULL), | ||
1118 | _OMAP4_BALLENTRY(MCSPI1_CS0, "ae23", NULL), | ||
1119 | _OMAP4_BALLENTRY(MCSPI1_CS1, "af23", NULL), | ||
1120 | _OMAP4_BALLENTRY(MCSPI1_CS2, "ag23", NULL), | ||
1121 | _OMAP4_BALLENTRY(MCSPI1_CS3, "ah23", NULL), | ||
1122 | _OMAP4_BALLENTRY(UART3_CTS_RCTX, "f27", NULL), | ||
1123 | _OMAP4_BALLENTRY(UART3_RTS_SD, "f28", NULL), | ||
1124 | _OMAP4_BALLENTRY(UART3_RX_IRRX, "g27", NULL), | ||
1125 | _OMAP4_BALLENTRY(UART3_TX_IRTX, "g28", NULL), | ||
1126 | _OMAP4_BALLENTRY(SDMMC5_CLK, "ae5", NULL), | ||
1127 | _OMAP4_BALLENTRY(SDMMC5_CMD, "af5", NULL), | ||
1128 | _OMAP4_BALLENTRY(SDMMC5_DAT0, "ae4", NULL), | ||
1129 | _OMAP4_BALLENTRY(SDMMC5_DAT1, "af4", NULL), | ||
1130 | _OMAP4_BALLENTRY(SDMMC5_DAT2, "ag3", NULL), | ||
1131 | _OMAP4_BALLENTRY(SDMMC5_DAT3, "af3", NULL), | ||
1132 | _OMAP4_BALLENTRY(MCSPI4_CLK, "ae21", NULL), | ||
1133 | _OMAP4_BALLENTRY(MCSPI4_SIMO, "af20", NULL), | ||
1134 | _OMAP4_BALLENTRY(MCSPI4_SOMI, "af21", NULL), | ||
1135 | _OMAP4_BALLENTRY(MCSPI4_CS0, "ae20", NULL), | ||
1136 | _OMAP4_BALLENTRY(UART4_RX, "ag20", NULL), | ||
1137 | _OMAP4_BALLENTRY(UART4_TX, "ah19", NULL), | ||
1138 | _OMAP4_BALLENTRY(USBB2_ULPITLL_CLK, "ag12", NULL), | ||
1139 | _OMAP4_BALLENTRY(USBB2_ULPITLL_STP, "af12", NULL), | ||
1140 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DIR, "ae12", NULL), | ||
1141 | _OMAP4_BALLENTRY(USBB2_ULPITLL_NXT, "ag13", NULL), | ||
1142 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT0, "ae11", NULL), | ||
1143 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT1, "af11", NULL), | ||
1144 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT2, "ag11", NULL), | ||
1145 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT3, "ah11", NULL), | ||
1146 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT4, "ae10", NULL), | ||
1147 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT5, "af10", NULL), | ||
1148 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT6, "ag10", NULL), | ||
1149 | _OMAP4_BALLENTRY(USBB2_ULPITLL_DAT7, "ae9", NULL), | ||
1150 | _OMAP4_BALLENTRY(USBB2_HSIC_DATA, "af13", NULL), | ||
1151 | _OMAP4_BALLENTRY(USBB2_HSIC_STROBE, "ae13", NULL), | ||
1152 | _OMAP4_BALLENTRY(KPD_COL3, "g26", NULL), | ||
1153 | _OMAP4_BALLENTRY(KPD_COL4, "g25", NULL), | ||
1154 | _OMAP4_BALLENTRY(KPD_COL5, "h26", NULL), | ||
1155 | _OMAP4_BALLENTRY(KPD_COL0, "h25", NULL), | ||
1156 | _OMAP4_BALLENTRY(KPD_COL1, "j27", NULL), | ||
1157 | _OMAP4_BALLENTRY(KPD_COL2, "h27", NULL), | ||
1158 | _OMAP4_BALLENTRY(KPD_ROW3, "j26", NULL), | ||
1159 | _OMAP4_BALLENTRY(KPD_ROW4, "j25", NULL), | ||
1160 | _OMAP4_BALLENTRY(KPD_ROW5, "k26", NULL), | ||
1161 | _OMAP4_BALLENTRY(KPD_ROW0, "k25", NULL), | ||
1162 | _OMAP4_BALLENTRY(KPD_ROW1, "l27", NULL), | ||
1163 | _OMAP4_BALLENTRY(KPD_ROW2, "k27", NULL), | ||
1164 | _OMAP4_BALLENTRY(USBA0_OTG_CE, "c3", NULL), | ||
1165 | _OMAP4_BALLENTRY(USBA0_OTG_DP, "b5", NULL), | ||
1166 | _OMAP4_BALLENTRY(USBA0_OTG_DM, "b4", NULL), | ||
1167 | _OMAP4_BALLENTRY(FREF_CLK1_OUT, "aa28", NULL), | ||
1168 | _OMAP4_BALLENTRY(FREF_CLK2_OUT, "y28", NULL), | ||
1169 | _OMAP4_BALLENTRY(SYS_NIRQ1, "ae6", NULL), | ||
1170 | _OMAP4_BALLENTRY(SYS_NIRQ2, "af6", NULL), | ||
1171 | _OMAP4_BALLENTRY(SYS_BOOT0, "f26", NULL), | ||
1172 | _OMAP4_BALLENTRY(SYS_BOOT1, "e27", NULL), | ||
1173 | _OMAP4_BALLENTRY(SYS_BOOT2, "e26", NULL), | ||
1174 | _OMAP4_BALLENTRY(SYS_BOOT3, "e25", NULL), | ||
1175 | _OMAP4_BALLENTRY(SYS_BOOT4, "d28", NULL), | ||
1176 | _OMAP4_BALLENTRY(SYS_BOOT5, "d27", NULL), | ||
1177 | _OMAP4_BALLENTRY(DPM_EMU0, "m2", NULL), | ||
1178 | _OMAP4_BALLENTRY(DPM_EMU1, "n2", NULL), | ||
1179 | _OMAP4_BALLENTRY(DPM_EMU2, "p2", NULL), | ||
1180 | _OMAP4_BALLENTRY(DPM_EMU3, "v1", NULL), | ||
1181 | _OMAP4_BALLENTRY(DPM_EMU4, "v2", NULL), | ||
1182 | _OMAP4_BALLENTRY(DPM_EMU5, "w1", NULL), | ||
1183 | _OMAP4_BALLENTRY(DPM_EMU6, "w2", NULL), | ||
1184 | _OMAP4_BALLENTRY(DPM_EMU7, "w3", NULL), | ||
1185 | _OMAP4_BALLENTRY(DPM_EMU8, "w4", NULL), | ||
1186 | _OMAP4_BALLENTRY(DPM_EMU9, "y2", NULL), | ||
1187 | _OMAP4_BALLENTRY(DPM_EMU10, "y3", NULL), | ||
1188 | _OMAP4_BALLENTRY(DPM_EMU11, "y4", NULL), | ||
1189 | _OMAP4_BALLENTRY(DPM_EMU12, "aa1", NULL), | ||
1190 | _OMAP4_BALLENTRY(DPM_EMU13, "aa2", NULL), | ||
1191 | _OMAP4_BALLENTRY(DPM_EMU14, "aa3", NULL), | ||
1192 | _OMAP4_BALLENTRY(DPM_EMU15, "aa4", NULL), | ||
1193 | _OMAP4_BALLENTRY(DPM_EMU16, "ab2", NULL), | ||
1194 | _OMAP4_BALLENTRY(DPM_EMU17, "ab3", NULL), | ||
1195 | _OMAP4_BALLENTRY(DPM_EMU18, "ab4", NULL), | ||
1196 | _OMAP4_BALLENTRY(DPM_EMU19, "ac4", NULL), | ||
1197 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
1198 | }; | ||
1199 | #else | ||
1200 | #define omap4_core_cbs_ball NULL | ||
1201 | #endif | ||
1202 | |||
1203 | /* | ||
1204 | * Superset of all mux modes for omap4 | ||
1205 | */ | ||
1206 | static struct omap_mux __initdata omap4_wkup_muxmodes[] = { | ||
1207 | _OMAP4_MUXENTRY(SIM_IO, 0, "sim_io", NULL, NULL, "gpio_wk0", NULL, | ||
1208 | NULL, NULL, "safe_mode"), | ||
1209 | _OMAP4_MUXENTRY(SIM_CLK, 1, "sim_clk", NULL, NULL, "gpio_wk1", NULL, | ||
1210 | NULL, NULL, "safe_mode"), | ||
1211 | _OMAP4_MUXENTRY(SIM_RESET, 2, "sim_reset", NULL, NULL, "gpio_wk2", | ||
1212 | NULL, NULL, NULL, "safe_mode"), | ||
1213 | _OMAP4_MUXENTRY(SIM_CD, 3, "sim_cd", NULL, NULL, "gpio_wk3", NULL, | ||
1214 | NULL, NULL, "safe_mode"), | ||
1215 | _OMAP4_MUXENTRY(SIM_PWRCTRL, 4, "sim_pwrctrl", NULL, NULL, "gpio_wk4", | ||
1216 | NULL, NULL, NULL, "safe_mode"), | ||
1217 | _OMAP4_MUXENTRY(SR_SCL, 0, "sr_scl", NULL, NULL, NULL, NULL, NULL, | ||
1218 | NULL, NULL), | ||
1219 | _OMAP4_MUXENTRY(SR_SDA, 0, "sr_sda", NULL, NULL, NULL, NULL, NULL, | ||
1220 | NULL, NULL), | ||
1221 | _OMAP4_MUXENTRY(FREF_XTAL_IN, 0, "fref_xtal_in", NULL, NULL, NULL, | ||
1222 | "c2c_wakereqin", NULL, NULL, NULL), | ||
1223 | _OMAP4_MUXENTRY(FREF_SLICER_IN, 0, "fref_slicer_in", NULL, NULL, | ||
1224 | "gpi_wk5", "c2c_wakereqin", NULL, NULL, "safe_mode"), | ||
1225 | _OMAP4_MUXENTRY(FREF_CLK_IOREQ, 0, "fref_clk_ioreq", NULL, NULL, NULL, | ||
1226 | NULL, NULL, NULL, NULL), | ||
1227 | _OMAP4_MUXENTRY(FREF_CLK0_OUT, 6, "fref_clk0_out", "fref_clk1_req", | ||
1228 | "sys_drm_msecure", "gpio_wk6", NULL, NULL, NULL, | ||
1229 | "safe_mode"), | ||
1230 | _OMAP4_MUXENTRY(FREF_CLK3_REQ, 30, "fref_clk3_req", "fref_clk1_req", | ||
1231 | "sys_drm_msecure", "gpio_wk30", "c2c_wakereqin", NULL, | ||
1232 | NULL, "safe_mode"), | ||
1233 | _OMAP4_MUXENTRY(FREF_CLK3_OUT, 31, "fref_clk3_out", "fref_clk2_req", | ||
1234 | "sys_secure_indicator", "gpio_wk31", "c2c_wakereqout", | ||
1235 | NULL, NULL, "safe_mode"), | ||
1236 | _OMAP4_MUXENTRY(FREF_CLK4_REQ, 7, "fref_clk4_req", "fref_clk5_out", | ||
1237 | NULL, "gpio_wk7", NULL, NULL, NULL, NULL), | ||
1238 | _OMAP4_MUXENTRY(FREF_CLK4_OUT, 8, "fref_clk4_out", NULL, NULL, | ||
1239 | "gpio_wk8", NULL, NULL, NULL, NULL), | ||
1240 | _OMAP4_MUXENTRY(SYS_32K, 0, "sys_32k", NULL, NULL, NULL, NULL, NULL, | ||
1241 | NULL, NULL), | ||
1242 | _OMAP4_MUXENTRY(SYS_NRESPWRON, 0, "sys_nrespwron", NULL, NULL, NULL, | ||
1243 | NULL, NULL, NULL, NULL), | ||
1244 | _OMAP4_MUXENTRY(SYS_NRESWARM, 0, "sys_nreswarm", NULL, NULL, NULL, | ||
1245 | NULL, NULL, NULL, NULL), | ||
1246 | _OMAP4_MUXENTRY(SYS_PWR_REQ, 0, "sys_pwr_req", NULL, NULL, NULL, NULL, | ||
1247 | NULL, NULL, NULL), | ||
1248 | _OMAP4_MUXENTRY(SYS_PWRON_RESET_OUT, 29, "sys_pwron_reset_out", NULL, | ||
1249 | NULL, "gpio_wk29", NULL, NULL, NULL, NULL), | ||
1250 | _OMAP4_MUXENTRY(SYS_BOOT6, 9, "sys_boot6", "dpm_emu18", NULL, | ||
1251 | "gpio_wk9", "c2c_wakereqout", NULL, NULL, | ||
1252 | "safe_mode"), | ||
1253 | _OMAP4_MUXENTRY(SYS_BOOT7, 10, "sys_boot7", "dpm_emu19", NULL, | ||
1254 | "gpio_wk10", NULL, NULL, NULL, "safe_mode"), | ||
1255 | _OMAP4_MUXENTRY(JTAG_NTRST, 0, "jtag_ntrst", NULL, NULL, NULL, NULL, | ||
1256 | NULL, NULL, NULL), | ||
1257 | _OMAP4_MUXENTRY(JTAG_TCK, 0, "jtag_tck", NULL, NULL, NULL, NULL, NULL, | ||
1258 | NULL, "safe_mode"), | ||
1259 | _OMAP4_MUXENTRY(JTAG_RTCK, 0, "jtag_rtck", NULL, NULL, NULL, NULL, | ||
1260 | NULL, NULL, NULL), | ||
1261 | _OMAP4_MUXENTRY(JTAG_TMS_TMSC, 0, "jtag_tms_tmsc", NULL, NULL, NULL, | ||
1262 | NULL, NULL, NULL, "safe_mode"), | ||
1263 | _OMAP4_MUXENTRY(JTAG_TDI, 0, "jtag_tdi", NULL, NULL, NULL, NULL, NULL, | ||
1264 | NULL, NULL), | ||
1265 | _OMAP4_MUXENTRY(JTAG_TDO, 0, "jtag_tdo", NULL, NULL, NULL, NULL, NULL, | ||
1266 | NULL, NULL), | ||
1267 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
1268 | }; | ||
1269 | |||
1270 | /* | ||
1271 | * Balls for 44XX CBL & CBS package - wakeup partition | ||
1272 | * 547-pin CBL ES1.0 S-FPGA-N547, 0.40mm Ball Pitch (Top), | ||
1273 | * 0.40mm Ball Pitch (Bottom) | ||
1274 | */ | ||
1275 | #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) \ | ||
1276 | && defined(CONFIG_OMAP_PACKAGE_CBL) | ||
1277 | static struct omap_ball __initdata omap4_wkup_cbl_cbs_ball[] = { | ||
1278 | _OMAP4_BALLENTRY(SIM_IO, "h4", NULL), | ||
1279 | _OMAP4_BALLENTRY(SIM_CLK, "j2", NULL), | ||
1280 | _OMAP4_BALLENTRY(SIM_RESET, "g2", NULL), | ||
1281 | _OMAP4_BALLENTRY(SIM_CD, "j1", NULL), | ||
1282 | _OMAP4_BALLENTRY(SIM_PWRCTRL, "k1", NULL), | ||
1283 | _OMAP4_BALLENTRY(SR_SCL, "ag9", NULL), | ||
1284 | _OMAP4_BALLENTRY(SR_SDA, "af9", NULL), | ||
1285 | _OMAP4_BALLENTRY(FREF_XTAL_IN, "ah6", NULL), | ||
1286 | _OMAP4_BALLENTRY(FREF_SLICER_IN, "ag8", NULL), | ||
1287 | _OMAP4_BALLENTRY(FREF_CLK_IOREQ, "ad1", NULL), | ||
1288 | _OMAP4_BALLENTRY(FREF_CLK0_OUT, "ad2", NULL), | ||
1289 | _OMAP4_BALLENTRY(FREF_CLK3_REQ, "ad3", NULL), | ||
1290 | _OMAP4_BALLENTRY(FREF_CLK3_OUT, "ad4", NULL), | ||
1291 | _OMAP4_BALLENTRY(FREF_CLK4_REQ, "ac2", NULL), | ||
1292 | _OMAP4_BALLENTRY(FREF_CLK4_OUT, "ac3", NULL), | ||
1293 | _OMAP4_BALLENTRY(SYS_32K, "ag7", NULL), | ||
1294 | _OMAP4_BALLENTRY(SYS_NRESPWRON, "ae7", NULL), | ||
1295 | _OMAP4_BALLENTRY(SYS_NRESWARM, "af7", NULL), | ||
1296 | _OMAP4_BALLENTRY(SYS_PWR_REQ, "ah7", NULL), | ||
1297 | _OMAP4_BALLENTRY(SYS_PWRON_RESET_OUT, "ag6", NULL), | ||
1298 | _OMAP4_BALLENTRY(SYS_BOOT6, "af8", NULL), | ||
1299 | _OMAP4_BALLENTRY(SYS_BOOT7, "ae8", NULL), | ||
1300 | _OMAP4_BALLENTRY(JTAG_NTRST, "ah2", NULL), | ||
1301 | _OMAP4_BALLENTRY(JTAG_TCK, "ag1", NULL), | ||
1302 | _OMAP4_BALLENTRY(JTAG_RTCK, "ae3", NULL), | ||
1303 | _OMAP4_BALLENTRY(JTAG_TMS_TMSC, "ah1", NULL), | ||
1304 | _OMAP4_BALLENTRY(JTAG_TDI, "ae1", NULL), | ||
1305 | _OMAP4_BALLENTRY(JTAG_TDO, "ae2", NULL), | ||
1306 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
1307 | }; | ||
1308 | #else | ||
1309 | #define omap4_wkup_cbl_cbs_ball NULL | ||
1310 | #endif | ||
1311 | |||
1312 | int __init omap4_mux_init(struct omap_board_mux *board_subset, | ||
1313 | struct omap_board_mux *board_wkup_subset, int flags) | ||
1314 | { | ||
1315 | struct omap_ball *package_balls_core; | ||
1316 | struct omap_ball *package_balls_wkup = omap4_wkup_cbl_cbs_ball; | ||
1317 | struct omap_mux *core_muxmodes; | ||
1318 | struct omap_mux *core_subset = NULL; | ||
1319 | int ret; | ||
1320 | |||
1321 | switch (flags & OMAP_PACKAGE_MASK) { | ||
1322 | case OMAP_PACKAGE_CBL: | ||
1323 | pr_debug("%s: OMAP4430 ES1.0 -> OMAP_PACKAGE_CBL\n", __func__); | ||
1324 | package_balls_core = omap4_core_cbl_ball; | ||
1325 | core_muxmodes = omap4_core_muxmodes; | ||
1326 | break; | ||
1327 | case OMAP_PACKAGE_CBS: | ||
1328 | pr_debug("%s: OMAP4430 ES2.X -> OMAP_PACKAGE_CBS\n", __func__); | ||
1329 | package_balls_core = omap4_core_cbs_ball; | ||
1330 | core_muxmodes = omap4_core_muxmodes; | ||
1331 | core_subset = omap4_es2_core_subset; | ||
1332 | break; | ||
1333 | default: | ||
1334 | pr_err("%s: Unknown omap package, mux disabled\n", __func__); | ||
1335 | return -EINVAL; | ||
1336 | } | ||
1337 | |||
1338 | ret = omap_mux_init("core", | ||
1339 | OMAP_MUX_GPIO_IN_MODE3, | ||
1340 | OMAP4_CTRL_MODULE_PAD_CORE_MUX_PBASE, | ||
1341 | OMAP4_CTRL_MODULE_PAD_CORE_MUX_SIZE, | ||
1342 | core_muxmodes, core_subset, board_subset, | ||
1343 | package_balls_core); | ||
1344 | if (ret) | ||
1345 | return ret; | ||
1346 | |||
1347 | ret = omap_mux_init("wkup", | ||
1348 | OMAP_MUX_GPIO_IN_MODE3, | ||
1349 | OMAP4_CTRL_MODULE_PAD_WKUP_MUX_PBASE, | ||
1350 | OMAP4_CTRL_MODULE_PAD_WKUP_MUX_SIZE, | ||
1351 | omap4_wkup_muxmodes, NULL, board_wkup_subset, | ||
1352 | package_balls_wkup); | ||
1353 | |||
1354 | return ret; | ||
1355 | } | ||
1356 | |||
diff --git a/arch/arm/mach-omap2/mux44xx.h b/arch/arm/mach-omap2/mux44xx.h deleted file mode 100644 index c635026cd7e9..000000000000 --- a/arch/arm/mach-omap2/mux44xx.h +++ /dev/null | |||
@@ -1,298 +0,0 @@ | |||
1 | /* | ||
2 | * OMAP44xx MUX registers and bitfields | ||
3 | * | ||
4 | * Copyright (C) 2009-2010 Texas Instruments, Inc. | ||
5 | * | ||
6 | * Benoit Cousson (b-cousson@ti.com) | ||
7 | * | ||
8 | * This file is automatically generated from the OMAP hardware databases. | ||
9 | * We respectfully ask that any modifications to this file be coordinated | ||
10 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
11 | * authors above to ensure that the autogeneration scripts are kept | ||
12 | * up-to-date with the file contents. | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ARCH_ARM_MACH_OMAP2_MUX_44XX_H | ||
20 | #define __ARCH_ARM_MACH_OMAP2_MUX_44XX_H | ||
21 | |||
22 | #define OMAP4_MUX(M0, mux_value) \ | ||
23 | { \ | ||
24 | .reg_offset = (OMAP4_CTRL_MODULE_PAD_##M0##_OFFSET), \ | ||
25 | .value = (mux_value), \ | ||
26 | } | ||
27 | |||
28 | /* ctrl_module_pad_core base address */ | ||
29 | #define OMAP4_CTRL_MODULE_PAD_CORE_MUX_PBASE 0x4a100000 | ||
30 | |||
31 | /* ctrl_module_pad_core registers offset */ | ||
32 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD0_OFFSET 0x0040 | ||
33 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD1_OFFSET 0x0042 | ||
34 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD2_OFFSET 0x0044 | ||
35 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD3_OFFSET 0x0046 | ||
36 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD4_OFFSET 0x0048 | ||
37 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD5_OFFSET 0x004a | ||
38 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD6_OFFSET 0x004c | ||
39 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD7_OFFSET 0x004e | ||
40 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD8_OFFSET 0x0050 | ||
41 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD9_OFFSET 0x0052 | ||
42 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD10_OFFSET 0x0054 | ||
43 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD11_OFFSET 0x0056 | ||
44 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD12_OFFSET 0x0058 | ||
45 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD13_OFFSET 0x005a | ||
46 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD14_OFFSET 0x005c | ||
47 | #define OMAP4_CTRL_MODULE_PAD_GPMC_AD15_OFFSET 0x005e | ||
48 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A16_OFFSET 0x0060 | ||
49 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A17_OFFSET 0x0062 | ||
50 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A18_OFFSET 0x0064 | ||
51 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A19_OFFSET 0x0066 | ||
52 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A20_OFFSET 0x0068 | ||
53 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A21_OFFSET 0x006a | ||
54 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A22_OFFSET 0x006c | ||
55 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A23_OFFSET 0x006e | ||
56 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A24_OFFSET 0x0070 | ||
57 | #define OMAP4_CTRL_MODULE_PAD_GPMC_A25_OFFSET 0x0072 | ||
58 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS0_OFFSET 0x0074 | ||
59 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS1_OFFSET 0x0076 | ||
60 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS2_OFFSET 0x0078 | ||
61 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS3_OFFSET 0x007a | ||
62 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NWP_OFFSET 0x007c | ||
63 | #define OMAP4_CTRL_MODULE_PAD_GPMC_CLK_OFFSET 0x007e | ||
64 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NADV_ALE_OFFSET 0x0080 | ||
65 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NOE_OFFSET 0x0082 | ||
66 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NWE_OFFSET 0x0084 | ||
67 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NBE0_CLE_OFFSET 0x0086 | ||
68 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NBE1_OFFSET 0x0088 | ||
69 | #define OMAP4_CTRL_MODULE_PAD_GPMC_WAIT0_OFFSET 0x008a | ||
70 | #define OMAP4_CTRL_MODULE_PAD_GPMC_WAIT1_OFFSET 0x008c | ||
71 | #define OMAP4_CTRL_MODULE_PAD_C2C_DATA11_OFFSET 0x008e | ||
72 | #define OMAP4_CTRL_MODULE_PAD_C2C_DATA12_OFFSET 0x0090 | ||
73 | #define OMAP4_CTRL_MODULE_PAD_C2C_DATA13_OFFSET 0x0092 | ||
74 | #define OMAP4_CTRL_MODULE_PAD_C2C_DATA14_OFFSET 0x0094 | ||
75 | #define OMAP4_CTRL_MODULE_PAD_C2C_DATA15_OFFSET 0x0096 | ||
76 | #define OMAP4_CTRL_MODULE_PAD_HDMI_HPD_OFFSET 0x0098 | ||
77 | #define OMAP4_CTRL_MODULE_PAD_HDMI_CEC_OFFSET 0x009a | ||
78 | #define OMAP4_CTRL_MODULE_PAD_HDMI_DDC_SCL_OFFSET 0x009c | ||
79 | #define OMAP4_CTRL_MODULE_PAD_HDMI_DDC_SDA_OFFSET 0x009e | ||
80 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DX0_OFFSET 0x00a0 | ||
81 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DY0_OFFSET 0x00a2 | ||
82 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DX1_OFFSET 0x00a4 | ||
83 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DY1_OFFSET 0x00a6 | ||
84 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DX2_OFFSET 0x00a8 | ||
85 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DY2_OFFSET 0x00aa | ||
86 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DX3_OFFSET 0x00ac | ||
87 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DY3_OFFSET 0x00ae | ||
88 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DX4_OFFSET 0x00b0 | ||
89 | #define OMAP4_CTRL_MODULE_PAD_CSI21_DY4_OFFSET 0x00b2 | ||
90 | #define OMAP4_CTRL_MODULE_PAD_CSI22_DX0_OFFSET 0x00b4 | ||
91 | #define OMAP4_CTRL_MODULE_PAD_CSI22_DY0_OFFSET 0x00b6 | ||
92 | #define OMAP4_CTRL_MODULE_PAD_CSI22_DX1_OFFSET 0x00b8 | ||
93 | #define OMAP4_CTRL_MODULE_PAD_CSI22_DY1_OFFSET 0x00ba | ||
94 | #define OMAP4_CTRL_MODULE_PAD_CAM_SHUTTER_OFFSET 0x00bc | ||
95 | #define OMAP4_CTRL_MODULE_PAD_CAM_STROBE_OFFSET 0x00be | ||
96 | #define OMAP4_CTRL_MODULE_PAD_CAM_GLOBALRESET_OFFSET 0x00c0 | ||
97 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_CLK_OFFSET 0x00c2 | ||
98 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_STP_OFFSET 0x00c4 | ||
99 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DIR_OFFSET 0x00c6 | ||
100 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_NXT_OFFSET 0x00c8 | ||
101 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT0_OFFSET 0x00ca | ||
102 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT1_OFFSET 0x00cc | ||
103 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT2_OFFSET 0x00ce | ||
104 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT3_OFFSET 0x00d0 | ||
105 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT4_OFFSET 0x00d2 | ||
106 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT5_OFFSET 0x00d4 | ||
107 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT6_OFFSET 0x00d6 | ||
108 | #define OMAP4_CTRL_MODULE_PAD_USBB1_ULPITLL_DAT7_OFFSET 0x00d8 | ||
109 | #define OMAP4_CTRL_MODULE_PAD_USBB1_HSIC_DATA_OFFSET 0x00da | ||
110 | #define OMAP4_CTRL_MODULE_PAD_USBB1_HSIC_STROBE_OFFSET 0x00dc | ||
111 | #define OMAP4_CTRL_MODULE_PAD_USBC1_ICUSB_DP_OFFSET 0x00de | ||
112 | #define OMAP4_CTRL_MODULE_PAD_USBC1_ICUSB_DM_OFFSET 0x00e0 | ||
113 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_CLK_OFFSET 0x00e2 | ||
114 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_CMD_OFFSET 0x00e4 | ||
115 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT0_OFFSET 0x00e6 | ||
116 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT1_OFFSET 0x00e8 | ||
117 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT2_OFFSET 0x00ea | ||
118 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT3_OFFSET 0x00ec | ||
119 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT4_OFFSET 0x00ee | ||
120 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT5_OFFSET 0x00f0 | ||
121 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT6_OFFSET 0x00f2 | ||
122 | #define OMAP4_CTRL_MODULE_PAD_SDMMC1_DAT7_OFFSET 0x00f4 | ||
123 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_CLKX_OFFSET 0x00f6 | ||
124 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_DR_OFFSET 0x00f8 | ||
125 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_DX_OFFSET 0x00fa | ||
126 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP2_FSX_OFFSET 0x00fc | ||
127 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_CLKX_OFFSET 0x00fe | ||
128 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_DR_OFFSET 0x0100 | ||
129 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_DX_OFFSET 0x0102 | ||
130 | #define OMAP4_CTRL_MODULE_PAD_ABE_MCBSP1_FSX_OFFSET 0x0104 | ||
131 | #define OMAP4_CTRL_MODULE_PAD_ABE_PDM_UL_DATA_OFFSET 0x0106 | ||
132 | #define OMAP4_CTRL_MODULE_PAD_ABE_PDM_DL_DATA_OFFSET 0x0108 | ||
133 | #define OMAP4_CTRL_MODULE_PAD_ABE_PDM_FRAME_OFFSET 0x010a | ||
134 | #define OMAP4_CTRL_MODULE_PAD_ABE_PDM_LB_CLK_OFFSET 0x010c | ||
135 | #define OMAP4_CTRL_MODULE_PAD_ABE_CLKS_OFFSET 0x010e | ||
136 | #define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_CLK1_OFFSET 0x0110 | ||
137 | #define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_DIN1_OFFSET 0x0112 | ||
138 | #define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_DIN2_OFFSET 0x0114 | ||
139 | #define OMAP4_CTRL_MODULE_PAD_ABE_DMIC_DIN3_OFFSET 0x0116 | ||
140 | #define OMAP4_CTRL_MODULE_PAD_UART2_CTS_OFFSET 0x0118 | ||
141 | #define OMAP4_CTRL_MODULE_PAD_UART2_RTS_OFFSET 0x011a | ||
142 | #define OMAP4_CTRL_MODULE_PAD_UART2_RX_OFFSET 0x011c | ||
143 | #define OMAP4_CTRL_MODULE_PAD_UART2_TX_OFFSET 0x011e | ||
144 | #define OMAP4_CTRL_MODULE_PAD_HDQ_SIO_OFFSET 0x0120 | ||
145 | #define OMAP4_CTRL_MODULE_PAD_I2C1_SCL_OFFSET 0x0122 | ||
146 | #define OMAP4_CTRL_MODULE_PAD_I2C1_SDA_OFFSET 0x0124 | ||
147 | #define OMAP4_CTRL_MODULE_PAD_I2C2_SCL_OFFSET 0x0126 | ||
148 | #define OMAP4_CTRL_MODULE_PAD_I2C2_SDA_OFFSET 0x0128 | ||
149 | #define OMAP4_CTRL_MODULE_PAD_I2C3_SCL_OFFSET 0x012a | ||
150 | #define OMAP4_CTRL_MODULE_PAD_I2C3_SDA_OFFSET 0x012c | ||
151 | #define OMAP4_CTRL_MODULE_PAD_I2C4_SCL_OFFSET 0x012e | ||
152 | #define OMAP4_CTRL_MODULE_PAD_I2C4_SDA_OFFSET 0x0130 | ||
153 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_CLK_OFFSET 0x0132 | ||
154 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_SOMI_OFFSET 0x0134 | ||
155 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_SIMO_OFFSET 0x0136 | ||
156 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS0_OFFSET 0x0138 | ||
157 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS1_OFFSET 0x013a | ||
158 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS2_OFFSET 0x013c | ||
159 | #define OMAP4_CTRL_MODULE_PAD_MCSPI1_CS3_OFFSET 0x013e | ||
160 | #define OMAP4_CTRL_MODULE_PAD_UART3_CTS_RCTX_OFFSET 0x0140 | ||
161 | #define OMAP4_CTRL_MODULE_PAD_UART3_RTS_SD_OFFSET 0x0142 | ||
162 | #define OMAP4_CTRL_MODULE_PAD_UART3_RX_IRRX_OFFSET 0x0144 | ||
163 | #define OMAP4_CTRL_MODULE_PAD_UART3_TX_IRTX_OFFSET 0x0146 | ||
164 | #define OMAP4_CTRL_MODULE_PAD_SDMMC5_CLK_OFFSET 0x0148 | ||
165 | #define OMAP4_CTRL_MODULE_PAD_SDMMC5_CMD_OFFSET 0x014a | ||
166 | #define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT0_OFFSET 0x014c | ||
167 | #define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT1_OFFSET 0x014e | ||
168 | #define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT2_OFFSET 0x0150 | ||
169 | #define OMAP4_CTRL_MODULE_PAD_SDMMC5_DAT3_OFFSET 0x0152 | ||
170 | #define OMAP4_CTRL_MODULE_PAD_MCSPI4_CLK_OFFSET 0x0154 | ||
171 | #define OMAP4_CTRL_MODULE_PAD_MCSPI4_SIMO_OFFSET 0x0156 | ||
172 | #define OMAP4_CTRL_MODULE_PAD_MCSPI4_SOMI_OFFSET 0x0158 | ||
173 | #define OMAP4_CTRL_MODULE_PAD_MCSPI4_CS0_OFFSET 0x015a | ||
174 | #define OMAP4_CTRL_MODULE_PAD_UART4_RX_OFFSET 0x015c | ||
175 | #define OMAP4_CTRL_MODULE_PAD_UART4_TX_OFFSET 0x015e | ||
176 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_CLK_OFFSET 0x0160 | ||
177 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_STP_OFFSET 0x0162 | ||
178 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DIR_OFFSET 0x0164 | ||
179 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_NXT_OFFSET 0x0166 | ||
180 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT0_OFFSET 0x0168 | ||
181 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT1_OFFSET 0x016a | ||
182 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT2_OFFSET 0x016c | ||
183 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT3_OFFSET 0x016e | ||
184 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT4_OFFSET 0x0170 | ||
185 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT5_OFFSET 0x0172 | ||
186 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT6_OFFSET 0x0174 | ||
187 | #define OMAP4_CTRL_MODULE_PAD_USBB2_ULPITLL_DAT7_OFFSET 0x0176 | ||
188 | #define OMAP4_CTRL_MODULE_PAD_USBB2_HSIC_DATA_OFFSET 0x0178 | ||
189 | #define OMAP4_CTRL_MODULE_PAD_USBB2_HSIC_STROBE_OFFSET 0x017a | ||
190 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_TX0_OFFSET 0x017c | ||
191 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_TY0_OFFSET 0x017e | ||
192 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_TX1_OFFSET 0x0180 | ||
193 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_TY1_OFFSET 0x0182 | ||
194 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_TX2_OFFSET 0x0184 | ||
195 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_TY2_OFFSET 0x0186 | ||
196 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_RX0_OFFSET 0x0188 | ||
197 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_RY0_OFFSET 0x018a | ||
198 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_RX1_OFFSET 0x018c | ||
199 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_RY1_OFFSET 0x018e | ||
200 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_RX2_OFFSET 0x0190 | ||
201 | #define OMAP4_CTRL_MODULE_PAD_UNIPRO_RY2_OFFSET 0x0192 | ||
202 | #define OMAP4_CTRL_MODULE_PAD_USBA0_OTG_CE_OFFSET 0x0194 | ||
203 | #define OMAP4_CTRL_MODULE_PAD_USBA0_OTG_DP_OFFSET 0x0196 | ||
204 | #define OMAP4_CTRL_MODULE_PAD_USBA0_OTG_DM_OFFSET 0x0198 | ||
205 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK1_OUT_OFFSET 0x019a | ||
206 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK2_OUT_OFFSET 0x019c | ||
207 | #define OMAP4_CTRL_MODULE_PAD_SYS_NIRQ1_OFFSET 0x019e | ||
208 | #define OMAP4_CTRL_MODULE_PAD_SYS_NIRQ2_OFFSET 0x01a0 | ||
209 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT0_OFFSET 0x01a2 | ||
210 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT1_OFFSET 0x01a4 | ||
211 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT2_OFFSET 0x01a6 | ||
212 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT3_OFFSET 0x01a8 | ||
213 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT4_OFFSET 0x01aa | ||
214 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT5_OFFSET 0x01ac | ||
215 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU0_OFFSET 0x01ae | ||
216 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU1_OFFSET 0x01b0 | ||
217 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU2_OFFSET 0x01b2 | ||
218 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU3_OFFSET 0x01b4 | ||
219 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU4_OFFSET 0x01b6 | ||
220 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU5_OFFSET 0x01b8 | ||
221 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU6_OFFSET 0x01ba | ||
222 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU7_OFFSET 0x01bc | ||
223 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU8_OFFSET 0x01be | ||
224 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU9_OFFSET 0x01c0 | ||
225 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU10_OFFSET 0x01c2 | ||
226 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU11_OFFSET 0x01c4 | ||
227 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU12_OFFSET 0x01c6 | ||
228 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU13_OFFSET 0x01c8 | ||
229 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU14_OFFSET 0x01ca | ||
230 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU15_OFFSET 0x01cc | ||
231 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU16_OFFSET 0x01ce | ||
232 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU17_OFFSET 0x01d0 | ||
233 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU18_OFFSET 0x01d2 | ||
234 | #define OMAP4_CTRL_MODULE_PAD_DPM_EMU19_OFFSET 0x01d4 | ||
235 | |||
236 | /* ES2.0 only */ | ||
237 | #define OMAP4_CTRL_MODULE_PAD_GPMC_WAIT2_OFFSET 0x008e | ||
238 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS4_OFFSET 0x0090 | ||
239 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS5_OFFSET 0x0092 | ||
240 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS6_OFFSET 0x0094 | ||
241 | #define OMAP4_CTRL_MODULE_PAD_GPMC_NCS7_OFFSET 0x0096 | ||
242 | |||
243 | #define OMAP4_CTRL_MODULE_PAD_KPD_COL3_OFFSET 0x017c | ||
244 | #define OMAP4_CTRL_MODULE_PAD_KPD_COL4_OFFSET 0x017e | ||
245 | #define OMAP4_CTRL_MODULE_PAD_KPD_COL5_OFFSET 0x0180 | ||
246 | #define OMAP4_CTRL_MODULE_PAD_KPD_COL0_OFFSET 0x0182 | ||
247 | #define OMAP4_CTRL_MODULE_PAD_KPD_COL1_OFFSET 0x0184 | ||
248 | #define OMAP4_CTRL_MODULE_PAD_KPD_COL2_OFFSET 0x0186 | ||
249 | #define OMAP4_CTRL_MODULE_PAD_KPD_ROW3_OFFSET 0x0188 | ||
250 | #define OMAP4_CTRL_MODULE_PAD_KPD_ROW4_OFFSET 0x018a | ||
251 | #define OMAP4_CTRL_MODULE_PAD_KPD_ROW5_OFFSET 0x018c | ||
252 | #define OMAP4_CTRL_MODULE_PAD_KPD_ROW0_OFFSET 0x018e | ||
253 | #define OMAP4_CTRL_MODULE_PAD_KPD_ROW1_OFFSET 0x0190 | ||
254 | #define OMAP4_CTRL_MODULE_PAD_KPD_ROW2_OFFSET 0x0192 | ||
255 | |||
256 | |||
257 | #define OMAP4_CTRL_MODULE_PAD_CORE_MUX_SIZE \ | ||
258 | (OMAP4_CTRL_MODULE_PAD_DPM_EMU19_OFFSET \ | ||
259 | - OMAP4_CTRL_MODULE_PAD_GPMC_AD0_OFFSET + 2) | ||
260 | |||
261 | /* ctrl_module_pad_wkup base address */ | ||
262 | #define OMAP4_CTRL_MODULE_PAD_WKUP_MUX_PBASE 0x4a31e000 | ||
263 | |||
264 | /* ctrl_module_pad_wkup registers offset */ | ||
265 | #define OMAP4_CTRL_MODULE_PAD_SIM_IO_OFFSET 0x0040 | ||
266 | #define OMAP4_CTRL_MODULE_PAD_SIM_CLK_OFFSET 0x0042 | ||
267 | #define OMAP4_CTRL_MODULE_PAD_SIM_RESET_OFFSET 0x0044 | ||
268 | #define OMAP4_CTRL_MODULE_PAD_SIM_CD_OFFSET 0x0046 | ||
269 | #define OMAP4_CTRL_MODULE_PAD_SIM_PWRCTRL_OFFSET 0x0048 | ||
270 | #define OMAP4_CTRL_MODULE_PAD_SR_SCL_OFFSET 0x004a | ||
271 | #define OMAP4_CTRL_MODULE_PAD_SR_SDA_OFFSET 0x004c | ||
272 | #define OMAP4_CTRL_MODULE_PAD_FREF_XTAL_IN_OFFSET 0x004e | ||
273 | #define OMAP4_CTRL_MODULE_PAD_FREF_SLICER_IN_OFFSET 0x0050 | ||
274 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK_IOREQ_OFFSET 0x0052 | ||
275 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK0_OUT_OFFSET 0x0054 | ||
276 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK3_REQ_OFFSET 0x0056 | ||
277 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK3_OUT_OFFSET 0x0058 | ||
278 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK4_REQ_OFFSET 0x005a | ||
279 | #define OMAP4_CTRL_MODULE_PAD_FREF_CLK4_OUT_OFFSET 0x005c | ||
280 | #define OMAP4_CTRL_MODULE_PAD_SYS_32K_OFFSET 0x005e | ||
281 | #define OMAP4_CTRL_MODULE_PAD_SYS_NRESPWRON_OFFSET 0x0060 | ||
282 | #define OMAP4_CTRL_MODULE_PAD_SYS_NRESWARM_OFFSET 0x0062 | ||
283 | #define OMAP4_CTRL_MODULE_PAD_SYS_PWR_REQ_OFFSET 0x0064 | ||
284 | #define OMAP4_CTRL_MODULE_PAD_SYS_PWRON_RESET_OUT_OFFSET 0x0066 | ||
285 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT6_OFFSET 0x0068 | ||
286 | #define OMAP4_CTRL_MODULE_PAD_SYS_BOOT7_OFFSET 0x006a | ||
287 | #define OMAP4_CTRL_MODULE_PAD_JTAG_NTRST_OFFSET 0x006c | ||
288 | #define OMAP4_CTRL_MODULE_PAD_JTAG_TCK_OFFSET 0x006e | ||
289 | #define OMAP4_CTRL_MODULE_PAD_JTAG_RTCK_OFFSET 0x0070 | ||
290 | #define OMAP4_CTRL_MODULE_PAD_JTAG_TMS_TMSC_OFFSET 0x0072 | ||
291 | #define OMAP4_CTRL_MODULE_PAD_JTAG_TDI_OFFSET 0x0074 | ||
292 | #define OMAP4_CTRL_MODULE_PAD_JTAG_TDO_OFFSET 0x0076 | ||
293 | |||
294 | #define OMAP4_CTRL_MODULE_PAD_WKUP_MUX_SIZE \ | ||
295 | (OMAP4_CTRL_MODULE_PAD_JTAG_TDO_OFFSET \ | ||
296 | - OMAP4_CTRL_MODULE_PAD_SIM_IO_OFFSET + 2) | ||
297 | |||
298 | #endif | ||
diff --git a/arch/arm/mach-omap2/omap-headsmp.S b/arch/arm/mach-omap2/omap-headsmp.S index 0ea09faf327b..75e92952c18e 100644 --- a/arch/arm/mach-omap2/omap-headsmp.S +++ b/arch/arm/mach-omap2/omap-headsmp.S | |||
@@ -20,8 +20,6 @@ | |||
20 | 20 | ||
21 | #include "omap44xx.h" | 21 | #include "omap44xx.h" |
22 | 22 | ||
23 | __CPUINIT | ||
24 | |||
25 | /* Physical address needed since MMU not enabled yet on secondary core */ | 23 | /* Physical address needed since MMU not enabled yet on secondary core */ |
26 | #define AUX_CORE_BOOT0_PA 0x48281800 | 24 | #define AUX_CORE_BOOT0_PA 0x48281800 |
27 | 25 | ||
@@ -49,7 +47,7 @@ END(omap5_secondary_startup) | |||
49 | * The primary core will update this flag using a hardware | 47 | * The primary core will update this flag using a hardware |
50 | * register AuxCoreBoot0. | 48 | * register AuxCoreBoot0. |
51 | */ | 49 | */ |
52 | ENTRY(omap_secondary_startup) | 50 | ENTRY(omap4_secondary_startup) |
53 | hold: ldr r12,=0x103 | 51 | hold: ldr r12,=0x103 |
54 | dsb | 52 | dsb |
55 | smc #0 @ read from AuxCoreBoot0 | 53 | smc #0 @ read from AuxCoreBoot0 |
@@ -64,9 +62,9 @@ hold: ldr r12,=0x103 | |||
64 | * should now contain the SVC stack for this core | 62 | * should now contain the SVC stack for this core |
65 | */ | 63 | */ |
66 | b secondary_startup | 64 | b secondary_startup |
67 | ENDPROC(omap_secondary_startup) | 65 | ENDPROC(omap4_secondary_startup) |
68 | 66 | ||
69 | ENTRY(omap_secondary_startup_4460) | 67 | ENTRY(omap4460_secondary_startup) |
70 | hold_2: ldr r12,=0x103 | 68 | hold_2: ldr r12,=0x103 |
71 | dsb | 69 | dsb |
72 | smc #0 @ read from AuxCoreBoot0 | 70 | smc #0 @ read from AuxCoreBoot0 |
@@ -101,4 +99,4 @@ hold_2: ldr r12,=0x103 | |||
101 | * should now contain the SVC stack for this core | 99 | * should now contain the SVC stack for this core |
102 | */ | 100 | */ |
103 | b secondary_startup | 101 | b secondary_startup |
104 | ENDPROC(omap_secondary_startup_4460) | 102 | ENDPROC(omap4460_secondary_startup) |
diff --git a/arch/arm/mach-omap2/omap-mpuss-lowpower.c b/arch/arm/mach-omap2/omap-mpuss-lowpower.c index e80327b6c81f..f991016e2a6a 100644 --- a/arch/arm/mach-omap2/omap-mpuss-lowpower.c +++ b/arch/arm/mach-omap2/omap-mpuss-lowpower.c | |||
@@ -71,10 +71,43 @@ struct omap4_cpu_pm_info { | |||
71 | void (*secondary_startup)(void); | 71 | void (*secondary_startup)(void); |
72 | }; | 72 | }; |
73 | 73 | ||
74 | /** | ||
75 | * struct cpu_pm_ops - CPU pm operations | ||
76 | * @finish_suspend: CPU suspend finisher function pointer | ||
77 | * @resume: CPU resume function pointer | ||
78 | * @scu_prepare: CPU Snoop Control program function pointer | ||
79 | * | ||
80 | * Structure holds functions pointer for CPU low power operations like | ||
81 | * suspend, resume and scu programming. | ||
82 | */ | ||
83 | struct cpu_pm_ops { | ||
84 | int (*finish_suspend)(unsigned long cpu_state); | ||
85 | void (*resume)(void); | ||
86 | void (*scu_prepare)(unsigned int cpu_id, unsigned int cpu_state); | ||
87 | }; | ||
88 | |||
74 | static DEFINE_PER_CPU(struct omap4_cpu_pm_info, omap4_pm_info); | 89 | static DEFINE_PER_CPU(struct omap4_cpu_pm_info, omap4_pm_info); |
75 | static struct powerdomain *mpuss_pd; | 90 | static struct powerdomain *mpuss_pd; |
76 | static void __iomem *sar_base; | 91 | static void __iomem *sar_base; |
77 | 92 | ||
93 | static int default_finish_suspend(unsigned long cpu_state) | ||
94 | { | ||
95 | omap_do_wfi(); | ||
96 | return 0; | ||
97 | } | ||
98 | |||
99 | static void dummy_cpu_resume(void) | ||
100 | {} | ||
101 | |||
102 | static void dummy_scu_prepare(unsigned int cpu_id, unsigned int cpu_state) | ||
103 | {} | ||
104 | |||
105 | struct cpu_pm_ops omap_pm_ops = { | ||
106 | .finish_suspend = default_finish_suspend, | ||
107 | .resume = dummy_cpu_resume, | ||
108 | .scu_prepare = dummy_scu_prepare, | ||
109 | }; | ||
110 | |||
78 | /* | 111 | /* |
79 | * Program the wakeup routine address for the CPU0 and CPU1 | 112 | * Program the wakeup routine address for the CPU0 and CPU1 |
80 | * used for OFF or DORMANT wakeup. | 113 | * used for OFF or DORMANT wakeup. |
@@ -158,11 +191,12 @@ static void save_l2x0_context(void) | |||
158 | { | 191 | { |
159 | u32 val; | 192 | u32 val; |
160 | void __iomem *l2x0_base = omap4_get_l2cache_base(); | 193 | void __iomem *l2x0_base = omap4_get_l2cache_base(); |
161 | 194 | if (l2x0_base) { | |
162 | val = __raw_readl(l2x0_base + L2X0_AUX_CTRL); | 195 | val = __raw_readl(l2x0_base + L2X0_AUX_CTRL); |
163 | __raw_writel(val, sar_base + L2X0_AUXCTRL_OFFSET); | 196 | __raw_writel(val, sar_base + L2X0_AUXCTRL_OFFSET); |
164 | val = __raw_readl(l2x0_base + L2X0_PREFETCH_CTRL); | 197 | val = __raw_readl(l2x0_base + L2X0_PREFETCH_CTRL); |
165 | __raw_writel(val, sar_base + L2X0_PREFETCH_CTRL_OFFSET); | 198 | __raw_writel(val, sar_base + L2X0_PREFETCH_CTRL_OFFSET); |
199 | } | ||
166 | } | 200 | } |
167 | #else | 201 | #else |
168 | static void save_l2x0_context(void) | 202 | static void save_l2x0_context(void) |
@@ -225,14 +259,17 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state) | |||
225 | 259 | ||
226 | cpu_clear_prev_logic_pwrst(cpu); | 260 | cpu_clear_prev_logic_pwrst(cpu); |
227 | pwrdm_set_next_pwrst(pm_info->pwrdm, power_state); | 261 | pwrdm_set_next_pwrst(pm_info->pwrdm, power_state); |
228 | set_cpu_wakeup_addr(cpu, virt_to_phys(omap4_cpu_resume)); | 262 | set_cpu_wakeup_addr(cpu, virt_to_phys(omap_pm_ops.resume)); |
229 | scu_pwrst_prepare(cpu, power_state); | 263 | omap_pm_ops.scu_prepare(cpu, power_state); |
230 | l2x0_pwrst_prepare(cpu, save_state); | 264 | l2x0_pwrst_prepare(cpu, save_state); |
231 | 265 | ||
232 | /* | 266 | /* |
233 | * Call low level function with targeted low power state. | 267 | * Call low level function with targeted low power state. |
234 | */ | 268 | */ |
235 | cpu_suspend(save_state, omap4_finish_suspend); | 269 | if (save_state) |
270 | cpu_suspend(save_state, omap_pm_ops.finish_suspend); | ||
271 | else | ||
272 | omap_pm_ops.finish_suspend(save_state); | ||
236 | 273 | ||
237 | /* | 274 | /* |
238 | * Restore the CPUx power state to ON otherwise CPUx | 275 | * Restore the CPUx power state to ON otherwise CPUx |
@@ -254,7 +291,7 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state) | |||
254 | * @cpu : CPU ID | 291 | * @cpu : CPU ID |
255 | * @power_state: CPU low power state. | 292 | * @power_state: CPU low power state. |
256 | */ | 293 | */ |
257 | int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state) | 294 | int omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state) |
258 | { | 295 | { |
259 | struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu); | 296 | struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu); |
260 | unsigned int cpu_state = 0; | 297 | unsigned int cpu_state = 0; |
@@ -268,14 +305,14 @@ int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state) | |||
268 | pwrdm_clear_all_prev_pwrst(pm_info->pwrdm); | 305 | pwrdm_clear_all_prev_pwrst(pm_info->pwrdm); |
269 | pwrdm_set_next_pwrst(pm_info->pwrdm, power_state); | 306 | pwrdm_set_next_pwrst(pm_info->pwrdm, power_state); |
270 | set_cpu_wakeup_addr(cpu, virt_to_phys(pm_info->secondary_startup)); | 307 | set_cpu_wakeup_addr(cpu, virt_to_phys(pm_info->secondary_startup)); |
271 | scu_pwrst_prepare(cpu, power_state); | 308 | omap_pm_ops.scu_prepare(cpu, power_state); |
272 | 309 | ||
273 | /* | 310 | /* |
274 | * CPU never retuns back if targeted power state is OFF mode. | 311 | * CPU never retuns back if targeted power state is OFF mode. |
275 | * CPU ONLINE follows normal CPU ONLINE ptah via | 312 | * CPU ONLINE follows normal CPU ONLINE ptah via |
276 | * omap_secondary_startup(). | 313 | * omap4_secondary_startup(). |
277 | */ | 314 | */ |
278 | omap4_finish_suspend(cpu_state); | 315 | omap_pm_ops.finish_suspend(cpu_state); |
279 | 316 | ||
280 | pwrdm_set_next_pwrst(pm_info->pwrdm, PWRDM_POWER_ON); | 317 | pwrdm_set_next_pwrst(pm_info->pwrdm, PWRDM_POWER_ON); |
281 | return 0; | 318 | return 0; |
@@ -319,9 +356,9 @@ int __init omap4_mpuss_init(void) | |||
319 | pm_info->wkup_sar_addr = sar_base + CPU1_WAKEUP_NS_PA_ADDR_OFFSET; | 356 | pm_info->wkup_sar_addr = sar_base + CPU1_WAKEUP_NS_PA_ADDR_OFFSET; |
320 | pm_info->l2x0_sar_addr = sar_base + L2X0_SAVE_OFFSET1; | 357 | pm_info->l2x0_sar_addr = sar_base + L2X0_SAVE_OFFSET1; |
321 | if (cpu_is_omap446x()) | 358 | if (cpu_is_omap446x()) |
322 | pm_info->secondary_startup = omap_secondary_startup_4460; | 359 | pm_info->secondary_startup = omap4460_secondary_startup; |
323 | else | 360 | else |
324 | pm_info->secondary_startup = omap_secondary_startup; | 361 | pm_info->secondary_startup = omap4_secondary_startup; |
325 | 362 | ||
326 | pm_info->pwrdm = pwrdm_lookup("cpu1_pwrdm"); | 363 | pm_info->pwrdm = pwrdm_lookup("cpu1_pwrdm"); |
327 | if (!pm_info->pwrdm) { | 364 | if (!pm_info->pwrdm) { |
@@ -352,6 +389,12 @@ int __init omap4_mpuss_init(void) | |||
352 | 389 | ||
353 | save_l2x0_context(); | 390 | save_l2x0_context(); |
354 | 391 | ||
392 | if (cpu_is_omap44xx()) { | ||
393 | omap_pm_ops.finish_suspend = omap4_finish_suspend; | ||
394 | omap_pm_ops.resume = omap4_cpu_resume; | ||
395 | omap_pm_ops.scu_prepare = scu_pwrst_prepare; | ||
396 | } | ||
397 | |||
355 | return 0; | 398 | return 0; |
356 | } | 399 | } |
357 | 400 | ||
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c index 2a551f997aea..8708b2a9da45 100644 --- a/arch/arm/mach-omap2/omap-smp.c +++ b/arch/arm/mach-omap2/omap-smp.c | |||
@@ -51,7 +51,7 @@ void __iomem *omap4_get_scu_base(void) | |||
51 | return scu_base; | 51 | return scu_base; |
52 | } | 52 | } |
53 | 53 | ||
54 | static void __cpuinit omap4_secondary_init(unsigned int cpu) | 54 | static void omap4_secondary_init(unsigned int cpu) |
55 | { | 55 | { |
56 | /* | 56 | /* |
57 | * Configure ACTRL and enable NS SMP bit access on CPU1 on HS device. | 57 | * Configure ACTRL and enable NS SMP bit access on CPU1 on HS device. |
@@ -72,7 +72,7 @@ static void __cpuinit omap4_secondary_init(unsigned int cpu) | |||
72 | spin_unlock(&boot_lock); | 72 | spin_unlock(&boot_lock); |
73 | } | 73 | } |
74 | 74 | ||
75 | static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct *idle) | 75 | static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle) |
76 | { | 76 | { |
77 | static struct clockdomain *cpu1_clkdm; | 77 | static struct clockdomain *cpu1_clkdm; |
78 | static bool booted; | 78 | static bool booted; |
@@ -87,7 +87,7 @@ static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct * | |||
87 | 87 | ||
88 | /* | 88 | /* |
89 | * Update the AuxCoreBoot0 with boot state for secondary core. | 89 | * Update the AuxCoreBoot0 with boot state for secondary core. |
90 | * omap_secondary_startup() routine will hold the secondary core till | 90 | * omap4_secondary_startup() routine will hold the secondary core till |
91 | * the AuxCoreBoot1 register is updated with cpu state | 91 | * the AuxCoreBoot1 register is updated with cpu state |
92 | * A barrier is added to ensure that write buffer is drained | 92 | * A barrier is added to ensure that write buffer is drained |
93 | */ | 93 | */ |
@@ -200,7 +200,7 @@ static void __init omap4_smp_init_cpus(void) | |||
200 | 200 | ||
201 | static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) | 201 | static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) |
202 | { | 202 | { |
203 | void *startup_addr = omap_secondary_startup; | 203 | void *startup_addr = omap4_secondary_startup; |
204 | void __iomem *base = omap_get_wakeupgen_base(); | 204 | void __iomem *base = omap_get_wakeupgen_base(); |
205 | 205 | ||
206 | /* | 206 | /* |
@@ -211,7 +211,7 @@ static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) | |||
211 | scu_enable(scu_base); | 211 | scu_enable(scu_base); |
212 | 212 | ||
213 | if (cpu_is_omap446x()) { | 213 | if (cpu_is_omap446x()) { |
214 | startup_addr = omap_secondary_startup_4460; | 214 | startup_addr = omap4460_secondary_startup; |
215 | pm44xx_errata |= PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD; | 215 | pm44xx_errata |= PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD; |
216 | } | 216 | } |
217 | 217 | ||
diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c index f8bb3b9b6a76..813c61558a5f 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c | |||
@@ -323,8 +323,8 @@ static void irq_save_secure_context(void) | |||
323 | #endif | 323 | #endif |
324 | 324 | ||
325 | #ifdef CONFIG_HOTPLUG_CPU | 325 | #ifdef CONFIG_HOTPLUG_CPU |
326 | static int __cpuinit irq_cpu_hotplug_notify(struct notifier_block *self, | 326 | static int irq_cpu_hotplug_notify(struct notifier_block *self, |
327 | unsigned long action, void *hcpu) | 327 | unsigned long action, void *hcpu) |
328 | { | 328 | { |
329 | unsigned int cpu = (unsigned int)hcpu; | 329 | unsigned int cpu = (unsigned int)hcpu; |
330 | 330 | ||
diff --git a/arch/arm/mach-omap2/omap2-restart.c b/arch/arm/mach-omap2/omap2-restart.c index 719b716a4494..68423e26399d 100644 --- a/arch/arm/mach-omap2/omap2-restart.c +++ b/arch/arm/mach-omap2/omap2-restart.c | |||
@@ -31,7 +31,7 @@ static struct clk *reset_virt_prcm_set_ck, *reset_sys_ck; | |||
31 | * Set the DPLL to bypass so that reboot completes successfully. No | 31 | * Set the DPLL to bypass so that reboot completes successfully. No |
32 | * return value. | 32 | * return value. |
33 | */ | 33 | */ |
34 | void omap2xxx_restart(char mode, const char *cmd) | 34 | void omap2xxx_restart(enum reboot_mode mode, const char *cmd) |
35 | { | 35 | { |
36 | u32 rate; | 36 | u32 rate; |
37 | 37 | ||
diff --git a/arch/arm/mach-omap2/omap3-restart.c b/arch/arm/mach-omap2/omap3-restart.c index 923c582189e5..5de2a0c2979d 100644 --- a/arch/arm/mach-omap2/omap3-restart.c +++ b/arch/arm/mach-omap2/omap3-restart.c | |||
@@ -12,6 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/reboot.h> | ||
15 | 16 | ||
16 | #include "iomap.h" | 17 | #include "iomap.h" |
17 | #include "common.h" | 18 | #include "common.h" |
@@ -28,7 +29,7 @@ | |||
28 | * Resets the SoC. For @cmd, see the 'reboot' syscall in | 29 | * Resets the SoC. For @cmd, see the 'reboot' syscall in |
29 | * kernel/sys.c. No return value. | 30 | * kernel/sys.c. No return value. |
30 | */ | 31 | */ |
31 | void omap3xxx_restart(char mode, const char *cmd) | 32 | void omap3xxx_restart(enum reboot_mode mode, const char *cmd) |
32 | { | 33 | { |
33 | omap3_ctrl_write_boot_mode((cmd ? (u8)*cmd : 0)); | 34 | omap3_ctrl_write_boot_mode((cmd ? (u8)*cmd : 0)); |
34 | omap3xxx_prm_dpll3_reset(); /* never returns */ | 35 | omap3xxx_prm_dpll3_reset(); /* never returns */ |
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index 13b27ffaf45e..57911430324e 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/export.h> | 23 | #include <linux/export.h> |
24 | #include <linux/irqchip/arm-gic.h> | 24 | #include <linux/irqchip/arm-gic.h> |
25 | #include <linux/of_address.h> | 25 | #include <linux/of_address.h> |
26 | #include <linux/reboot.h> | ||
26 | 27 | ||
27 | #include <asm/hardware/cache-l2x0.h> | 28 | #include <asm/hardware/cache-l2x0.h> |
28 | #include <asm/mach/map.h> | 29 | #include <asm/mach/map.h> |
@@ -339,19 +340,3 @@ int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers) | |||
339 | return 0; | 340 | return 0; |
340 | } | 341 | } |
341 | #endif | 342 | #endif |
342 | |||
343 | /** | ||
344 | * omap44xx_restart - trigger a software restart of the SoC | ||
345 | * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c | ||
346 | * @cmd: passed from the userspace program rebooting the system (if provided) | ||
347 | * | ||
348 | * Resets the SoC. For @cmd, see the 'reboot' syscall in | ||
349 | * kernel/sys.c. No return value. | ||
350 | */ | ||
351 | void omap44xx_restart(char mode, const char *cmd) | ||
352 | { | ||
353 | /* XXX Should save 'cmd' into scratchpad for use after reboot */ | ||
354 | omap4_prminst_global_warm_sw_reset(); /* never returns */ | ||
355 | while (1); | ||
356 | } | ||
357 | |||
diff --git a/arch/arm/mach-omap2/omap4-restart.c b/arch/arm/mach-omap2/omap4-restart.c new file mode 100644 index 000000000000..41dfd7da8170 --- /dev/null +++ b/arch/arm/mach-omap2/omap4-restart.c | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * omap4-restart.c - Common to OMAP4 and OMAP5 | ||
3 | * | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #include <linux/types.h> | ||
11 | #include <linux/reboot.h> | ||
12 | #include "prminst44xx.h" | ||
13 | |||
14 | /** | ||
15 | * omap44xx_restart - trigger a software restart of the SoC | ||
16 | * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c | ||
17 | * @cmd: passed from the userspace program rebooting the system (if provided) | ||
18 | * | ||
19 | * Resets the SoC. For @cmd, see the 'reboot' syscall in | ||
20 | * kernel/sys.c. No return value. | ||
21 | */ | ||
22 | void omap44xx_restart(enum reboot_mode mode, const char *cmd) | ||
23 | { | ||
24 | /* XXX Should save 'cmd' into scratchpad for use after reboot */ | ||
25 | omap4_prminst_global_warm_sw_reset(); /* never returns */ | ||
26 | while (1) | ||
27 | ; | ||
28 | } | ||
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c index e6d230700b2b..f99f68e1e85b 100644 --- a/arch/arm/mach-omap2/omap_device.c +++ b/arch/arm/mach-omap2/omap_device.c | |||
@@ -129,6 +129,7 @@ static int omap_device_build_from_dt(struct platform_device *pdev) | |||
129 | struct device_node *node = pdev->dev.of_node; | 129 | struct device_node *node = pdev->dev.of_node; |
130 | const char *oh_name; | 130 | const char *oh_name; |
131 | int oh_cnt, i, ret = 0; | 131 | int oh_cnt, i, ret = 0; |
132 | bool device_active = false; | ||
132 | 133 | ||
133 | oh_cnt = of_property_count_strings(node, "ti,hwmods"); | 134 | oh_cnt = of_property_count_strings(node, "ti,hwmods"); |
134 | if (oh_cnt <= 0) { | 135 | if (oh_cnt <= 0) { |
@@ -152,6 +153,8 @@ static int omap_device_build_from_dt(struct platform_device *pdev) | |||
152 | goto odbfd_exit1; | 153 | goto odbfd_exit1; |
153 | } | 154 | } |
154 | hwmods[i] = oh; | 155 | hwmods[i] = oh; |
156 | if (oh->flags & HWMOD_INIT_NO_IDLE) | ||
157 | device_active = true; | ||
155 | } | 158 | } |
156 | 159 | ||
157 | od = omap_device_alloc(pdev, hwmods, oh_cnt); | 160 | od = omap_device_alloc(pdev, hwmods, oh_cnt); |
@@ -170,11 +173,13 @@ static int omap_device_build_from_dt(struct platform_device *pdev) | |||
170 | r->name = dev_name(&pdev->dev); | 173 | r->name = dev_name(&pdev->dev); |
171 | } | 174 | } |
172 | 175 | ||
173 | if (of_get_property(node, "ti,no_idle_on_suspend", NULL)) | ||
174 | omap_device_disable_idle_on_suspend(pdev); | ||
175 | |||
176 | pdev->dev.pm_domain = &omap_device_pm_domain; | 176 | pdev->dev.pm_domain = &omap_device_pm_domain; |
177 | 177 | ||
178 | if (device_active) { | ||
179 | omap_device_enable(pdev); | ||
180 | pm_runtime_set_active(&pdev->dev); | ||
181 | } | ||
182 | |||
178 | odbfd_exit1: | 183 | odbfd_exit1: |
179 | kfree(hwmods); | 184 | kfree(hwmods); |
180 | odbfd_exit: | 185 | odbfd_exit: |
@@ -591,11 +596,6 @@ static int _od_runtime_suspend(struct device *dev) | |||
591 | return ret; | 596 | return ret; |
592 | } | 597 | } |
593 | 598 | ||
594 | static int _od_runtime_idle(struct device *dev) | ||
595 | { | ||
596 | return pm_generic_runtime_idle(dev); | ||
597 | } | ||
598 | |||
599 | static int _od_runtime_resume(struct device *dev) | 599 | static int _od_runtime_resume(struct device *dev) |
600 | { | 600 | { |
601 | struct platform_device *pdev = to_platform_device(dev); | 601 | struct platform_device *pdev = to_platform_device(dev); |
@@ -621,8 +621,7 @@ static int _od_suspend_noirq(struct device *dev) | |||
621 | 621 | ||
622 | if (!ret && !pm_runtime_status_suspended(dev)) { | 622 | if (!ret && !pm_runtime_status_suspended(dev)) { |
623 | if (pm_generic_runtime_suspend(dev) == 0) { | 623 | if (pm_generic_runtime_suspend(dev) == 0) { |
624 | if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND)) | 624 | omap_device_idle(pdev); |
625 | omap_device_idle(pdev); | ||
626 | od->flags |= OMAP_DEVICE_SUSPENDED; | 625 | od->flags |= OMAP_DEVICE_SUSPENDED; |
627 | } | 626 | } |
628 | } | 627 | } |
@@ -638,8 +637,7 @@ static int _od_resume_noirq(struct device *dev) | |||
638 | if ((od->flags & OMAP_DEVICE_SUSPENDED) && | 637 | if ((od->flags & OMAP_DEVICE_SUSPENDED) && |
639 | !pm_runtime_status_suspended(dev)) { | 638 | !pm_runtime_status_suspended(dev)) { |
640 | od->flags &= ~OMAP_DEVICE_SUSPENDED; | 639 | od->flags &= ~OMAP_DEVICE_SUSPENDED; |
641 | if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND)) | 640 | omap_device_enable(pdev); |
642 | omap_device_enable(pdev); | ||
643 | pm_generic_runtime_resume(dev); | 641 | pm_generic_runtime_resume(dev); |
644 | } | 642 | } |
645 | 643 | ||
@@ -653,7 +651,7 @@ static int _od_resume_noirq(struct device *dev) | |||
653 | struct dev_pm_domain omap_device_pm_domain = { | 651 | struct dev_pm_domain omap_device_pm_domain = { |
654 | .ops = { | 652 | .ops = { |
655 | SET_RUNTIME_PM_OPS(_od_runtime_suspend, _od_runtime_resume, | 653 | SET_RUNTIME_PM_OPS(_od_runtime_suspend, _od_runtime_resume, |
656 | _od_runtime_idle) | 654 | NULL) |
657 | USE_PLATFORM_PM_SLEEP_OPS | 655 | USE_PLATFORM_PM_SLEEP_OPS |
658 | .suspend_noirq = _od_suspend_noirq, | 656 | .suspend_noirq = _od_suspend_noirq, |
659 | .resume_noirq = _od_resume_noirq, | 657 | .resume_noirq = _od_resume_noirq, |
@@ -852,6 +850,7 @@ static int __init omap_device_late_idle(struct device *dev, void *data) | |||
852 | { | 850 | { |
853 | struct platform_device *pdev = to_platform_device(dev); | 851 | struct platform_device *pdev = to_platform_device(dev); |
854 | struct omap_device *od = to_omap_device(pdev); | 852 | struct omap_device *od = to_omap_device(pdev); |
853 | int i; | ||
855 | 854 | ||
856 | if (!od) | 855 | if (!od) |
857 | return 0; | 856 | return 0; |
@@ -860,6 +859,15 @@ static int __init omap_device_late_idle(struct device *dev, void *data) | |||
860 | * If omap_device state is enabled, but has no driver bound, | 859 | * If omap_device state is enabled, but has no driver bound, |
861 | * idle it. | 860 | * idle it. |
862 | */ | 861 | */ |
862 | |||
863 | /* | ||
864 | * Some devices (like memory controllers) are always kept | ||
865 | * enabled, and should not be idled even with no drivers. | ||
866 | */ | ||
867 | for (i = 0; i < od->hwmods_cnt; i++) | ||
868 | if (od->hwmods[i]->flags & HWMOD_INIT_NO_IDLE) | ||
869 | return 0; | ||
870 | |||
863 | if (od->_driver_status != BUS_NOTIFY_BOUND_DRIVER) { | 871 | if (od->_driver_status != BUS_NOTIFY_BOUND_DRIVER) { |
864 | if (od->_state == OMAP_DEVICE_STATE_ENABLED) { | 872 | if (od->_state == OMAP_DEVICE_STATE_ENABLED) { |
865 | dev_warn(dev, "%s: enabled but no driver. Idling\n", | 873 | dev_warn(dev, "%s: enabled but no driver. Idling\n", |
diff --git a/arch/arm/mach-omap2/omap_device.h b/arch/arm/mach-omap2/omap_device.h index 044c31d50e5b..17ca1aec2710 100644 --- a/arch/arm/mach-omap2/omap_device.h +++ b/arch/arm/mach-omap2/omap_device.h | |||
@@ -38,7 +38,6 @@ extern struct dev_pm_domain omap_device_pm_domain; | |||
38 | 38 | ||
39 | /* omap_device.flags values */ | 39 | /* omap_device.flags values */ |
40 | #define OMAP_DEVICE_SUSPENDED BIT(0) | 40 | #define OMAP_DEVICE_SUSPENDED BIT(0) |
41 | #define OMAP_DEVICE_NO_IDLE_ON_SUSPEND BIT(1) | ||
42 | 41 | ||
43 | /** | 42 | /** |
44 | * struct omap_device - omap_device wrapper for platform_devices | 43 | * struct omap_device - omap_device wrapper for platform_devices |
@@ -101,13 +100,4 @@ static inline struct omap_device *to_omap_device(struct platform_device *pdev) | |||
101 | { | 100 | { |
102 | return pdev ? pdev->archdata.od : NULL; | 101 | return pdev ? pdev->archdata.od : NULL; |
103 | } | 102 | } |
104 | |||
105 | static inline | ||
106 | void omap_device_disable_idle_on_suspend(struct platform_device *pdev) | ||
107 | { | ||
108 | struct omap_device *od = to_omap_device(pdev); | ||
109 | |||
110 | od->flags |= OMAP_DEVICE_NO_IDLE_ON_SUSPEND; | ||
111 | } | ||
112 | |||
113 | #endif | 103 | #endif |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 7341eff63f56..7f4db12b1459 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -2386,7 +2386,7 @@ static void __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data) | |||
2386 | 2386 | ||
2387 | np = of_dev_hwmod_lookup(of_find_node_by_name(NULL, "ocp"), oh); | 2387 | np = of_dev_hwmod_lookup(of_find_node_by_name(NULL, "ocp"), oh); |
2388 | if (np) | 2388 | if (np) |
2389 | va_start = of_iomap(np, 0); | 2389 | va_start = of_iomap(np, oh->mpu_rt_idx); |
2390 | } else { | 2390 | } else { |
2391 | va_start = ioremap(mem->pa_start, mem->pa_end - mem->pa_start); | 2391 | va_start = ioremap(mem->pa_start, mem->pa_end - mem->pa_start); |
2392 | } | 2392 | } |
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h index 0c898f58ac9b..e1482a9b3bc2 100644 --- a/arch/arm/mach-omap2/omap_hwmod.h +++ b/arch/arm/mach-omap2/omap_hwmod.h | |||
@@ -95,6 +95,54 @@ extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type3; | |||
95 | #define MODULEMODE_HWCTRL 1 | 95 | #define MODULEMODE_HWCTRL 1 |
96 | #define MODULEMODE_SWCTRL 2 | 96 | #define MODULEMODE_SWCTRL 2 |
97 | 97 | ||
98 | #define DEBUG_OMAP2UART1_FLAGS 0 | ||
99 | #define DEBUG_OMAP2UART2_FLAGS 0 | ||
100 | #define DEBUG_OMAP2UART3_FLAGS 0 | ||
101 | #define DEBUG_OMAP3UART3_FLAGS 0 | ||
102 | #define DEBUG_OMAP3UART4_FLAGS 0 | ||
103 | #define DEBUG_OMAP4UART3_FLAGS 0 | ||
104 | #define DEBUG_OMAP4UART4_FLAGS 0 | ||
105 | #define DEBUG_TI81XXUART1_FLAGS 0 | ||
106 | #define DEBUG_TI81XXUART2_FLAGS 0 | ||
107 | #define DEBUG_TI81XXUART3_FLAGS 0 | ||
108 | #define DEBUG_AM33XXUART1_FLAGS 0 | ||
109 | |||
110 | #define DEBUG_OMAPUART_FLAGS (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET) | ||
111 | |||
112 | #if defined(CONFIG_DEBUG_OMAP2UART1) | ||
113 | #undef DEBUG_OMAP2UART1_FLAGS | ||
114 | #define DEBUG_OMAP2UART1_FLAGS DEBUG_OMAPUART_FLAGS | ||
115 | #elif defined(CONFIG_DEBUG_OMAP2UART2) | ||
116 | #undef DEBUG_OMAP2UART2_FLAGS | ||
117 | #define DEBUG_OMAP2UART2_FLAGS DEBUG_OMAPUART_FLAGS | ||
118 | #elif defined(CONFIG_DEBUG_OMAP2UART3) | ||
119 | #undef DEBUG_OMAP2UART3_FLAGS | ||
120 | #define DEBUG_OMAP2UART3_FLAGS DEBUG_OMAPUART_FLAGS | ||
121 | #elif defined(CONFIG_DEBUG_OMAP3UART3) | ||
122 | #undef DEBUG_OMAP3UART3_FLAGS | ||
123 | #define DEBUG_OMAP3UART3_FLAGS DEBUG_OMAPUART_FLAGS | ||
124 | #elif defined(CONFIG_DEBUG_OMAP3UART4) | ||
125 | #undef DEBUG_OMAP3UART4_FLAGS | ||
126 | #define DEBUG_OMAP3UART4_FLAGS DEBUG_OMAPUART_FLAGS | ||
127 | #elif defined(CONFIG_DEBUG_OMAP4UART3) | ||
128 | #undef DEBUG_OMAP4UART3_FLAGS | ||
129 | #define DEBUG_OMAP4UART3_FLAGS DEBUG_OMAPUART_FLAGS | ||
130 | #elif defined(CONFIG_DEBUG_OMAP4UART4) | ||
131 | #undef DEBUG_OMAP4UART4_FLAGS | ||
132 | #define DEBUG_OMAP4UART4_FLAGS DEBUG_OMAPUART_FLAGS | ||
133 | #elif defined(CONFIG_DEBUG_TI81XXUART1) | ||
134 | #undef DEBUG_TI81XXUART1_FLAGS | ||
135 | #define DEBUG_TI81XXUART1_FLAGS DEBUG_OMAPUART_FLAGS | ||
136 | #elif defined(CONFIG_DEBUG_TI81XXUART2) | ||
137 | #undef DEBUG_TI81XXUART2_FLAGS | ||
138 | #define DEBUG_TI81XXUART2_FLAGS DEBUG_OMAPUART_FLAGS | ||
139 | #elif defined(CONFIG_DEBUG_TI81XXUART3) | ||
140 | #undef DEBUG_TI81XXUART3_FLAGS | ||
141 | #define DEBUG_TI81XXUART3_FLAGS DEBUG_OMAPUART_FLAGS | ||
142 | #elif defined(CONFIG_DEBUG_AM33XXUART1) | ||
143 | #undef DEBUG_AM33XXUART1_FLAGS | ||
144 | #define DEBUG_AM33XXUART1_FLAGS DEBUG_OMAPUART_FLAGS | ||
145 | #endif | ||
98 | 146 | ||
99 | /** | 147 | /** |
100 | * struct omap_hwmod_mux_info - hwmod specific mux configuration | 148 | * struct omap_hwmod_mux_info - hwmod specific mux configuration |
@@ -568,6 +616,7 @@ struct omap_hwmod_link { | |||
568 | * @voltdm: pointer to voltage domain (filled in at runtime) | 616 | * @voltdm: pointer to voltage domain (filled in at runtime) |
569 | * @dev_attr: arbitrary device attributes that can be passed to the driver | 617 | * @dev_attr: arbitrary device attributes that can be passed to the driver |
570 | * @_sysc_cache: internal-use hwmod flags | 618 | * @_sysc_cache: internal-use hwmod flags |
619 | * @mpu_rt_idx: index of device address space for register target (for DT boot) | ||
571 | * @_mpu_rt_va: cached register target start address (internal use) | 620 | * @_mpu_rt_va: cached register target start address (internal use) |
572 | * @_mpu_port: cached MPU register target slave (internal use) | 621 | * @_mpu_port: cached MPU register target slave (internal use) |
573 | * @opt_clks_cnt: number of @opt_clks | 622 | * @opt_clks_cnt: number of @opt_clks |
@@ -617,6 +666,7 @@ struct omap_hwmod { | |||
617 | struct list_head node; | 666 | struct list_head node; |
618 | struct omap_hwmod_ocp_if *_mpu_port; | 667 | struct omap_hwmod_ocp_if *_mpu_port; |
619 | u16 flags; | 668 | u16 flags; |
669 | u8 mpu_rt_idx; | ||
620 | u8 response_lat; | 670 | u8 response_lat; |
621 | u8 rst_lines_cnt; | 671 | u8 rst_lines_cnt; |
622 | u8 opt_clks_cnt; | 672 | u8 opt_clks_cnt; |
@@ -699,6 +749,7 @@ extern int omap2420_hwmod_init(void); | |||
699 | extern int omap2430_hwmod_init(void); | 749 | extern int omap2430_hwmod_init(void); |
700 | extern int omap3xxx_hwmod_init(void); | 750 | extern int omap3xxx_hwmod_init(void); |
701 | extern int omap44xx_hwmod_init(void); | 751 | extern int omap44xx_hwmod_init(void); |
752 | extern int omap54xx_hwmod_init(void); | ||
702 | extern int am33xx_hwmod_init(void); | 753 | extern int am33xx_hwmod_init(void); |
703 | 754 | ||
704 | extern int __init omap_hwmod_register_links(struct omap_hwmod_ocp_if **ois); | 755 | extern int __init omap_hwmod_register_links(struct omap_hwmod_ocp_if **ois); |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c index 5137cc84b504..d8b9d60f854f 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/i2c-omap.h> | 16 | #include <linux/i2c-omap.h> |
17 | #include <linux/platform_data/spi-omap2-mcspi.h> | 17 | #include <linux/platform_data/spi-omap2-mcspi.h> |
18 | #include <linux/omap-dma.h> | 18 | #include <linux/omap-dma.h> |
19 | #include <linux/platform_data/mailbox-omap.h> | ||
19 | #include <plat/dmtimer.h> | 20 | #include <plat/dmtimer.h> |
20 | 21 | ||
21 | #include "omap_hwmod.h" | 22 | #include "omap_hwmod.h" |
@@ -166,6 +167,18 @@ static struct omap_hwmod omap2420_dma_system_hwmod = { | |||
166 | }; | 167 | }; |
167 | 168 | ||
168 | /* mailbox */ | 169 | /* mailbox */ |
170 | static struct omap_mbox_dev_info omap2420_mailbox_info[] = { | ||
171 | { .name = "dsp", .tx_id = 0, .rx_id = 1, .irq_id = 0, .usr_id = 0 }, | ||
172 | { .name = "iva", .tx_id = 2, .rx_id = 3, .irq_id = 1, .usr_id = 3 }, | ||
173 | }; | ||
174 | |||
175 | static struct omap_mbox_pdata omap2420_mailbox_attrs = { | ||
176 | .num_users = 4, | ||
177 | .num_fifos = 6, | ||
178 | .info_cnt = ARRAY_SIZE(omap2420_mailbox_info), | ||
179 | .info = omap2420_mailbox_info, | ||
180 | }; | ||
181 | |||
169 | static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = { | 182 | static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = { |
170 | { .name = "dsp", .irq = 26 + OMAP_INTC_START, }, | 183 | { .name = "dsp", .irq = 26 + OMAP_INTC_START, }, |
171 | { .name = "iva", .irq = 34 + OMAP_INTC_START, }, | 184 | { .name = "iva", .irq = 34 + OMAP_INTC_START, }, |
@@ -186,6 +199,7 @@ static struct omap_hwmod omap2420_mailbox_hwmod = { | |||
186 | .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT, | 199 | .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT, |
187 | }, | 200 | }, |
188 | }, | 201 | }, |
202 | .dev_attr = &omap2420_mailbox_attrs, | ||
189 | }; | 203 | }; |
190 | 204 | ||
191 | /* | 205 | /* |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c index 4ce999ee3ee9..5b9083461dc5 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/platform_data/asoc-ti-mcbsp.h> | 17 | #include <linux/platform_data/asoc-ti-mcbsp.h> |
18 | #include <linux/platform_data/spi-omap2-mcspi.h> | 18 | #include <linux/platform_data/spi-omap2-mcspi.h> |
19 | #include <linux/omap-dma.h> | 19 | #include <linux/omap-dma.h> |
20 | #include <linux/platform_data/mailbox-omap.h> | ||
20 | #include <plat/dmtimer.h> | 21 | #include <plat/dmtimer.h> |
21 | 22 | ||
22 | #include "omap_hwmod.h" | 23 | #include "omap_hwmod.h" |
@@ -170,6 +171,17 @@ static struct omap_hwmod omap2430_dma_system_hwmod = { | |||
170 | }; | 171 | }; |
171 | 172 | ||
172 | /* mailbox */ | 173 | /* mailbox */ |
174 | static struct omap_mbox_dev_info omap2430_mailbox_info[] = { | ||
175 | { .name = "dsp", .tx_id = 0, .rx_id = 1 }, | ||
176 | }; | ||
177 | |||
178 | static struct omap_mbox_pdata omap2430_mailbox_attrs = { | ||
179 | .num_users = 4, | ||
180 | .num_fifos = 6, | ||
181 | .info_cnt = ARRAY_SIZE(omap2430_mailbox_info), | ||
182 | .info = omap2430_mailbox_info, | ||
183 | }; | ||
184 | |||
173 | static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = { | 185 | static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = { |
174 | { .irq = 26 + OMAP_INTC_START, }, | 186 | { .irq = 26 + OMAP_INTC_START, }, |
175 | { .irq = -1 }, | 187 | { .irq = -1 }, |
@@ -189,6 +201,7 @@ static struct omap_hwmod omap2430_mailbox_hwmod = { | |||
189 | .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT, | 201 | .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT, |
190 | }, | 202 | }, |
191 | }, | 203 | }, |
204 | .dev_attr = &omap2430_mailbox_attrs, | ||
192 | }; | 205 | }; |
193 | 206 | ||
194 | /* mcspi3 */ | 207 | /* mcspi3 */ |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c index 534974e08add..5da7a42a6d90 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include "hdq1w.h" | 17 | #include "hdq1w.h" |
18 | 18 | ||
19 | #include "omap_hwmod_common_data.h" | 19 | #include "omap_hwmod_common_data.h" |
20 | #include "dma.h" | ||
21 | 20 | ||
22 | /* UART */ | 21 | /* UART */ |
23 | 22 | ||
@@ -89,32 +88,32 @@ struct omap_hwmod_class omap2_venc_hwmod_class = { | |||
89 | 88 | ||
90 | /* Common DMA request line data */ | 89 | /* Common DMA request line data */ |
91 | struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[] = { | 90 | struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[] = { |
92 | { .name = "rx", .dma_req = OMAP24XX_DMA_UART1_RX, }, | 91 | { .name = "rx", .dma_req = 50, }, |
93 | { .name = "tx", .dma_req = OMAP24XX_DMA_UART1_TX, }, | 92 | { .name = "tx", .dma_req = 49, }, |
94 | { .dma_req = -1 } | 93 | { .dma_req = -1 } |
95 | }; | 94 | }; |
96 | 95 | ||
97 | struct omap_hwmod_dma_info omap2_uart2_sdma_reqs[] = { | 96 | struct omap_hwmod_dma_info omap2_uart2_sdma_reqs[] = { |
98 | { .name = "rx", .dma_req = OMAP24XX_DMA_UART2_RX, }, | 97 | { .name = "rx", .dma_req = 52, }, |
99 | { .name = "tx", .dma_req = OMAP24XX_DMA_UART2_TX, }, | 98 | { .name = "tx", .dma_req = 51, }, |
100 | { .dma_req = -1 } | 99 | { .dma_req = -1 } |
101 | }; | 100 | }; |
102 | 101 | ||
103 | struct omap_hwmod_dma_info omap2_uart3_sdma_reqs[] = { | 102 | struct omap_hwmod_dma_info omap2_uart3_sdma_reqs[] = { |
104 | { .name = "rx", .dma_req = OMAP24XX_DMA_UART3_RX, }, | 103 | { .name = "rx", .dma_req = 54, }, |
105 | { .name = "tx", .dma_req = OMAP24XX_DMA_UART3_TX, }, | 104 | { .name = "tx", .dma_req = 53, }, |
106 | { .dma_req = -1 } | 105 | { .dma_req = -1 } |
107 | }; | 106 | }; |
108 | 107 | ||
109 | struct omap_hwmod_dma_info omap2_i2c1_sdma_reqs[] = { | 108 | struct omap_hwmod_dma_info omap2_i2c1_sdma_reqs[] = { |
110 | { .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX }, | 109 | { .name = "tx", .dma_req = 27 }, |
111 | { .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX }, | 110 | { .name = "rx", .dma_req = 28 }, |
112 | { .dma_req = -1 } | 111 | { .dma_req = -1 } |
113 | }; | 112 | }; |
114 | 113 | ||
115 | struct omap_hwmod_dma_info omap2_i2c2_sdma_reqs[] = { | 114 | struct omap_hwmod_dma_info omap2_i2c2_sdma_reqs[] = { |
116 | { .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX }, | 115 | { .name = "tx", .dma_req = 29 }, |
117 | { .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX }, | 116 | { .name = "rx", .dma_req = 30 }, |
118 | { .dma_req = -1 } | 117 | { .dma_req = -1 } |
119 | }; | 118 | }; |
120 | 119 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c index d05fc7b54567..56cebb05509e 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | |||
@@ -512,7 +512,7 @@ struct omap_hwmod omap2xxx_uart1_hwmod = { | |||
512 | .mpu_irqs = omap2_uart1_mpu_irqs, | 512 | .mpu_irqs = omap2_uart1_mpu_irqs, |
513 | .sdma_reqs = omap2_uart1_sdma_reqs, | 513 | .sdma_reqs = omap2_uart1_sdma_reqs, |
514 | .main_clk = "uart1_fck", | 514 | .main_clk = "uart1_fck", |
515 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 515 | .flags = DEBUG_OMAP2UART1_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
516 | .prcm = { | 516 | .prcm = { |
517 | .omap2 = { | 517 | .omap2 = { |
518 | .module_offs = CORE_MOD, | 518 | .module_offs = CORE_MOD, |
@@ -532,7 +532,7 @@ struct omap_hwmod omap2xxx_uart2_hwmod = { | |||
532 | .mpu_irqs = omap2_uart2_mpu_irqs, | 532 | .mpu_irqs = omap2_uart2_mpu_irqs, |
533 | .sdma_reqs = omap2_uart2_sdma_reqs, | 533 | .sdma_reqs = omap2_uart2_sdma_reqs, |
534 | .main_clk = "uart2_fck", | 534 | .main_clk = "uart2_fck", |
535 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 535 | .flags = DEBUG_OMAP2UART2_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
536 | .prcm = { | 536 | .prcm = { |
537 | .omap2 = { | 537 | .omap2 = { |
538 | .module_offs = CORE_MOD, | 538 | .module_offs = CORE_MOD, |
@@ -552,7 +552,7 @@ struct omap_hwmod omap2xxx_uart3_hwmod = { | |||
552 | .mpu_irqs = omap2_uart3_mpu_irqs, | 552 | .mpu_irqs = omap2_uart3_mpu_irqs, |
553 | .sdma_reqs = omap2_uart3_sdma_reqs, | 553 | .sdma_reqs = omap2_uart3_sdma_reqs, |
554 | .main_clk = "uart3_fck", | 554 | .main_clk = "uart3_fck", |
555 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 555 | .flags = DEBUG_OMAP2UART3_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
556 | .prcm = { | 556 | .prcm = { |
557 | .omap2 = { | 557 | .omap2 = { |
558 | .module_offs = CORE_MOD, | 558 | .module_offs = CORE_MOD, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c index 69337af748cc..eb2f3b93b51c 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c | |||
@@ -35,29 +35,6 @@ | |||
35 | */ | 35 | */ |
36 | 36 | ||
37 | /* | 37 | /* |
38 | * 'emif_fw' class | ||
39 | * instance(s): emif_fw | ||
40 | */ | ||
41 | static struct omap_hwmod_class am33xx_emif_fw_hwmod_class = { | ||
42 | .name = "emif_fw", | ||
43 | }; | ||
44 | |||
45 | /* emif_fw */ | ||
46 | static struct omap_hwmod am33xx_emif_fw_hwmod = { | ||
47 | .name = "emif_fw", | ||
48 | .class = &am33xx_emif_fw_hwmod_class, | ||
49 | .clkdm_name = "l4fw_clkdm", | ||
50 | .main_clk = "l4fw_gclk", | ||
51 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | ||
52 | .prcm = { | ||
53 | .omap4 = { | ||
54 | .clkctrl_offs = AM33XX_CM_PER_EMIF_FW_CLKCTRL_OFFSET, | ||
55 | .modulemode = MODULEMODE_SWCTRL, | ||
56 | }, | ||
57 | }, | ||
58 | }; | ||
59 | |||
60 | /* | ||
61 | * 'emif' class | 38 | * 'emif' class |
62 | * instance(s): emif | 39 | * instance(s): emif |
63 | */ | 40 | */ |
@@ -70,18 +47,12 @@ static struct omap_hwmod_class am33xx_emif_hwmod_class = { | |||
70 | .sysc = &am33xx_emif_sysc, | 47 | .sysc = &am33xx_emif_sysc, |
71 | }; | 48 | }; |
72 | 49 | ||
73 | static struct omap_hwmod_irq_info am33xx_emif_irqs[] = { | ||
74 | { .name = "ddrerr0", .irq = 101 + OMAP_INTC_START, }, | ||
75 | { .irq = -1 }, | ||
76 | }; | ||
77 | |||
78 | /* emif */ | 50 | /* emif */ |
79 | static struct omap_hwmod am33xx_emif_hwmod = { | 51 | static struct omap_hwmod am33xx_emif_hwmod = { |
80 | .name = "emif", | 52 | .name = "emif", |
81 | .class = &am33xx_emif_hwmod_class, | 53 | .class = &am33xx_emif_hwmod_class, |
82 | .clkdm_name = "l3_clkdm", | 54 | .clkdm_name = "l3_clkdm", |
83 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | 55 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), |
84 | .mpu_irqs = am33xx_emif_irqs, | ||
85 | .main_clk = "dpll_ddr_m2_div2_ck", | 56 | .main_clk = "dpll_ddr_m2_div2_ck", |
86 | .prcm = { | 57 | .prcm = { |
87 | .omap4 = { | 58 | .omap4 = { |
@@ -99,19 +70,11 @@ static struct omap_hwmod_class am33xx_l3_hwmod_class = { | |||
99 | .name = "l3", | 70 | .name = "l3", |
100 | }; | 71 | }; |
101 | 72 | ||
102 | /* l3_main (l3_fast) */ | ||
103 | static struct omap_hwmod_irq_info am33xx_l3_main_irqs[] = { | ||
104 | { .name = "l3debug", .irq = 9 + OMAP_INTC_START, }, | ||
105 | { .name = "l3appint", .irq = 10 + OMAP_INTC_START, }, | ||
106 | { .irq = -1 }, | ||
107 | }; | ||
108 | |||
109 | static struct omap_hwmod am33xx_l3_main_hwmod = { | 73 | static struct omap_hwmod am33xx_l3_main_hwmod = { |
110 | .name = "l3_main", | 74 | .name = "l3_main", |
111 | .class = &am33xx_l3_hwmod_class, | 75 | .class = &am33xx_l3_hwmod_class, |
112 | .clkdm_name = "l3_clkdm", | 76 | .clkdm_name = "l3_clkdm", |
113 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | 77 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), |
114 | .mpu_irqs = am33xx_l3_main_irqs, | ||
115 | .main_clk = "l3_gclk", | 78 | .main_clk = "l3_gclk", |
116 | .prcm = { | 79 | .prcm = { |
117 | .omap4 = { | 80 | .omap4 = { |
@@ -196,20 +159,6 @@ static struct omap_hwmod am33xx_l4_wkup_hwmod = { | |||
196 | }, | 159 | }, |
197 | }; | 160 | }; |
198 | 161 | ||
199 | /* l4_fw */ | ||
200 | static struct omap_hwmod am33xx_l4_fw_hwmod = { | ||
201 | .name = "l4_fw", | ||
202 | .class = &am33xx_l4_hwmod_class, | ||
203 | .clkdm_name = "l4fw_clkdm", | ||
204 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | ||
205 | .prcm = { | ||
206 | .omap4 = { | ||
207 | .clkctrl_offs = AM33XX_CM_PER_L4FW_CLKCTRL_OFFSET, | ||
208 | .modulemode = MODULEMODE_SWCTRL, | ||
209 | }, | ||
210 | }, | ||
211 | }; | ||
212 | |||
213 | /* | 162 | /* |
214 | * 'mpu' class | 163 | * 'mpu' class |
215 | */ | 164 | */ |
@@ -217,21 +166,11 @@ static struct omap_hwmod_class am33xx_mpu_hwmod_class = { | |||
217 | .name = "mpu", | 166 | .name = "mpu", |
218 | }; | 167 | }; |
219 | 168 | ||
220 | /* mpu */ | ||
221 | static struct omap_hwmod_irq_info am33xx_mpu_irqs[] = { | ||
222 | { .name = "emuint", .irq = 0 + OMAP_INTC_START, }, | ||
223 | { .name = "commtx", .irq = 1 + OMAP_INTC_START, }, | ||
224 | { .name = "commrx", .irq = 2 + OMAP_INTC_START, }, | ||
225 | { .name = "bench", .irq = 3 + OMAP_INTC_START, }, | ||
226 | { .irq = -1 }, | ||
227 | }; | ||
228 | |||
229 | static struct omap_hwmod am33xx_mpu_hwmod = { | 169 | static struct omap_hwmod am33xx_mpu_hwmod = { |
230 | .name = "mpu", | 170 | .name = "mpu", |
231 | .class = &am33xx_mpu_hwmod_class, | 171 | .class = &am33xx_mpu_hwmod_class, |
232 | .clkdm_name = "mpu_clkdm", | 172 | .clkdm_name = "mpu_clkdm", |
233 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | 173 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), |
234 | .mpu_irqs = am33xx_mpu_irqs, | ||
235 | .main_clk = "dpll_mpu_m2_ck", | 174 | .main_clk = "dpll_mpu_m2_ck", |
236 | .prcm = { | 175 | .prcm = { |
237 | .omap4 = { | 176 | .omap4 = { |
@@ -253,11 +192,6 @@ static struct omap_hwmod_rst_info am33xx_wkup_m3_resets[] = { | |||
253 | { .name = "wkup_m3", .rst_shift = 3, .st_shift = 5 }, | 192 | { .name = "wkup_m3", .rst_shift = 3, .st_shift = 5 }, |
254 | }; | 193 | }; |
255 | 194 | ||
256 | static struct omap_hwmod_irq_info am33xx_wkup_m3_irqs[] = { | ||
257 | { .name = "txev", .irq = 78 + OMAP_INTC_START, }, | ||
258 | { .irq = -1 }, | ||
259 | }; | ||
260 | |||
261 | /* wkup_m3 */ | 195 | /* wkup_m3 */ |
262 | static struct omap_hwmod am33xx_wkup_m3_hwmod = { | 196 | static struct omap_hwmod am33xx_wkup_m3_hwmod = { |
263 | .name = "wkup_m3", | 197 | .name = "wkup_m3", |
@@ -265,7 +199,6 @@ static struct omap_hwmod am33xx_wkup_m3_hwmod = { | |||
265 | .clkdm_name = "l4_wkup_aon_clkdm", | 199 | .clkdm_name = "l4_wkup_aon_clkdm", |
266 | /* Keep hardreset asserted */ | 200 | /* Keep hardreset asserted */ |
267 | .flags = HWMOD_INIT_NO_RESET | HWMOD_NO_IDLEST, | 201 | .flags = HWMOD_INIT_NO_RESET | HWMOD_NO_IDLEST, |
268 | .mpu_irqs = am33xx_wkup_m3_irqs, | ||
269 | .main_clk = "dpll_core_m4_div2_ck", | 202 | .main_clk = "dpll_core_m4_div2_ck", |
270 | .prcm = { | 203 | .prcm = { |
271 | .omap4 = { | 204 | .omap4 = { |
@@ -291,25 +224,12 @@ static struct omap_hwmod_rst_info am33xx_pruss_resets[] = { | |||
291 | { .name = "pruss", .rst_shift = 1 }, | 224 | { .name = "pruss", .rst_shift = 1 }, |
292 | }; | 225 | }; |
293 | 226 | ||
294 | static struct omap_hwmod_irq_info am33xx_pruss_irqs[] = { | ||
295 | { .name = "evtout0", .irq = 20 + OMAP_INTC_START, }, | ||
296 | { .name = "evtout1", .irq = 21 + OMAP_INTC_START, }, | ||
297 | { .name = "evtout2", .irq = 22 + OMAP_INTC_START, }, | ||
298 | { .name = "evtout3", .irq = 23 + OMAP_INTC_START, }, | ||
299 | { .name = "evtout4", .irq = 24 + OMAP_INTC_START, }, | ||
300 | { .name = "evtout5", .irq = 25 + OMAP_INTC_START, }, | ||
301 | { .name = "evtout6", .irq = 26 + OMAP_INTC_START, }, | ||
302 | { .name = "evtout7", .irq = 27 + OMAP_INTC_START, }, | ||
303 | { .irq = -1 }, | ||
304 | }; | ||
305 | |||
306 | /* pru-icss */ | 227 | /* pru-icss */ |
307 | /* Pseudo hwmod for reset control purpose only */ | 228 | /* Pseudo hwmod for reset control purpose only */ |
308 | static struct omap_hwmod am33xx_pruss_hwmod = { | 229 | static struct omap_hwmod am33xx_pruss_hwmod = { |
309 | .name = "pruss", | 230 | .name = "pruss", |
310 | .class = &am33xx_pruss_hwmod_class, | 231 | .class = &am33xx_pruss_hwmod_class, |
311 | .clkdm_name = "pruss_ocp_clkdm", | 232 | .clkdm_name = "pruss_ocp_clkdm", |
312 | .mpu_irqs = am33xx_pruss_irqs, | ||
313 | .main_clk = "pruss_ocp_gclk", | 233 | .main_clk = "pruss_ocp_gclk", |
314 | .prcm = { | 234 | .prcm = { |
315 | .omap4 = { | 235 | .omap4 = { |
@@ -329,24 +249,19 @@ static struct omap_hwmod_class am33xx_gfx_hwmod_class = { | |||
329 | }; | 249 | }; |
330 | 250 | ||
331 | static struct omap_hwmod_rst_info am33xx_gfx_resets[] = { | 251 | static struct omap_hwmod_rst_info am33xx_gfx_resets[] = { |
332 | { .name = "gfx", .rst_shift = 0 }, | 252 | { .name = "gfx", .rst_shift = 0, .st_shift = 0}, |
333 | }; | ||
334 | |||
335 | static struct omap_hwmod_irq_info am33xx_gfx_irqs[] = { | ||
336 | { .name = "gfxint", .irq = 37 + OMAP_INTC_START, }, | ||
337 | { .irq = -1 }, | ||
338 | }; | 253 | }; |
339 | 254 | ||
340 | static struct omap_hwmod am33xx_gfx_hwmod = { | 255 | static struct omap_hwmod am33xx_gfx_hwmod = { |
341 | .name = "gfx", | 256 | .name = "gfx", |
342 | .class = &am33xx_gfx_hwmod_class, | 257 | .class = &am33xx_gfx_hwmod_class, |
343 | .clkdm_name = "gfx_l3_clkdm", | 258 | .clkdm_name = "gfx_l3_clkdm", |
344 | .mpu_irqs = am33xx_gfx_irqs, | ||
345 | .main_clk = "gfx_fck_div_ck", | 259 | .main_clk = "gfx_fck_div_ck", |
346 | .prcm = { | 260 | .prcm = { |
347 | .omap4 = { | 261 | .omap4 = { |
348 | .clkctrl_offs = AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET, | 262 | .clkctrl_offs = AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET, |
349 | .rstctrl_offs = AM33XX_RM_GFX_RSTCTRL_OFFSET, | 263 | .rstctrl_offs = AM33XX_RM_GFX_RSTCTRL_OFFSET, |
264 | .rstst_offs = AM33XX_RM_GFX_RSTST_OFFSET, | ||
350 | .modulemode = MODULEMODE_SWCTRL, | 265 | .modulemode = MODULEMODE_SWCTRL, |
351 | }, | 266 | }, |
352 | }, | 267 | }, |
@@ -387,16 +302,10 @@ static struct omap_hwmod_class am33xx_adc_tsc_hwmod_class = { | |||
387 | .sysc = &am33xx_adc_tsc_sysc, | 302 | .sysc = &am33xx_adc_tsc_sysc, |
388 | }; | 303 | }; |
389 | 304 | ||
390 | static struct omap_hwmod_irq_info am33xx_adc_tsc_irqs[] = { | ||
391 | { .irq = 16 + OMAP_INTC_START, }, | ||
392 | { .irq = -1 }, | ||
393 | }; | ||
394 | |||
395 | static struct omap_hwmod am33xx_adc_tsc_hwmod = { | 305 | static struct omap_hwmod am33xx_adc_tsc_hwmod = { |
396 | .name = "adc_tsc", | 306 | .name = "adc_tsc", |
397 | .class = &am33xx_adc_tsc_hwmod_class, | 307 | .class = &am33xx_adc_tsc_hwmod_class, |
398 | .clkdm_name = "l4_wkup_clkdm", | 308 | .clkdm_name = "l4_wkup_clkdm", |
399 | .mpu_irqs = am33xx_adc_tsc_irqs, | ||
400 | .main_clk = "adc_tsc_fck", | 309 | .main_clk = "adc_tsc_fck", |
401 | .prcm = { | 310 | .prcm = { |
402 | .omap4 = { | 311 | .omap4 = { |
@@ -515,23 +424,10 @@ static struct omap_hwmod_class am33xx_aes0_hwmod_class = { | |||
515 | .sysc = &am33xx_aes0_sysc, | 424 | .sysc = &am33xx_aes0_sysc, |
516 | }; | 425 | }; |
517 | 426 | ||
518 | static struct omap_hwmod_irq_info am33xx_aes0_irqs[] = { | ||
519 | { .irq = 103 + OMAP_INTC_START, }, | ||
520 | { .irq = -1 }, | ||
521 | }; | ||
522 | |||
523 | static struct omap_hwmod_dma_info am33xx_aes0_edma_reqs[] = { | ||
524 | { .name = "tx", .dma_req = 6, }, | ||
525 | { .name = "rx", .dma_req = 5, }, | ||
526 | { .dma_req = -1 } | ||
527 | }; | ||
528 | |||
529 | static struct omap_hwmod am33xx_aes0_hwmod = { | 427 | static struct omap_hwmod am33xx_aes0_hwmod = { |
530 | .name = "aes", | 428 | .name = "aes", |
531 | .class = &am33xx_aes0_hwmod_class, | 429 | .class = &am33xx_aes0_hwmod_class, |
532 | .clkdm_name = "l3_clkdm", | 430 | .clkdm_name = "l3_clkdm", |
533 | .mpu_irqs = am33xx_aes0_irqs, | ||
534 | .sdma_reqs = am33xx_aes0_edma_reqs, | ||
535 | .main_clk = "aes0_fck", | 431 | .main_clk = "aes0_fck", |
536 | .prcm = { | 432 | .prcm = { |
537 | .omap4 = { | 433 | .omap4 = { |
@@ -554,22 +450,10 @@ static struct omap_hwmod_class am33xx_sha0_hwmod_class = { | |||
554 | .sysc = &am33xx_sha0_sysc, | 450 | .sysc = &am33xx_sha0_sysc, |
555 | }; | 451 | }; |
556 | 452 | ||
557 | static struct omap_hwmod_irq_info am33xx_sha0_irqs[] = { | ||
558 | { .irq = 109 + OMAP_INTC_START, }, | ||
559 | { .irq = -1 }, | ||
560 | }; | ||
561 | |||
562 | static struct omap_hwmod_dma_info am33xx_sha0_edma_reqs[] = { | ||
563 | { .name = "rx", .dma_req = 36, }, | ||
564 | { .dma_req = -1 } | ||
565 | }; | ||
566 | |||
567 | static struct omap_hwmod am33xx_sha0_hwmod = { | 453 | static struct omap_hwmod am33xx_sha0_hwmod = { |
568 | .name = "sham", | 454 | .name = "sham", |
569 | .class = &am33xx_sha0_hwmod_class, | 455 | .class = &am33xx_sha0_hwmod_class, |
570 | .clkdm_name = "l3_clkdm", | 456 | .clkdm_name = "l3_clkdm", |
571 | .mpu_irqs = am33xx_sha0_irqs, | ||
572 | .sdma_reqs = am33xx_sha0_edma_reqs, | ||
573 | .main_clk = "l3_gclk", | 457 | .main_clk = "l3_gclk", |
574 | .prcm = { | 458 | .prcm = { |
575 | .omap4 = { | 459 | .omap4 = { |
@@ -604,16 +488,10 @@ static struct omap_hwmod_class am33xx_smartreflex_hwmod_class = { | |||
604 | }; | 488 | }; |
605 | 489 | ||
606 | /* smartreflex0 */ | 490 | /* smartreflex0 */ |
607 | static struct omap_hwmod_irq_info am33xx_smartreflex0_irqs[] = { | ||
608 | { .irq = 120 + OMAP_INTC_START, }, | ||
609 | { .irq = -1 }, | ||
610 | }; | ||
611 | |||
612 | static struct omap_hwmod am33xx_smartreflex0_hwmod = { | 491 | static struct omap_hwmod am33xx_smartreflex0_hwmod = { |
613 | .name = "smartreflex0", | 492 | .name = "smartreflex0", |
614 | .class = &am33xx_smartreflex_hwmod_class, | 493 | .class = &am33xx_smartreflex_hwmod_class, |
615 | .clkdm_name = "l4_wkup_clkdm", | 494 | .clkdm_name = "l4_wkup_clkdm", |
616 | .mpu_irqs = am33xx_smartreflex0_irqs, | ||
617 | .main_clk = "smartreflex0_fck", | 495 | .main_clk = "smartreflex0_fck", |
618 | .prcm = { | 496 | .prcm = { |
619 | .omap4 = { | 497 | .omap4 = { |
@@ -624,16 +502,10 @@ static struct omap_hwmod am33xx_smartreflex0_hwmod = { | |||
624 | }; | 502 | }; |
625 | 503 | ||
626 | /* smartreflex1 */ | 504 | /* smartreflex1 */ |
627 | static struct omap_hwmod_irq_info am33xx_smartreflex1_irqs[] = { | ||
628 | { .irq = 121 + OMAP_INTC_START, }, | ||
629 | { .irq = -1 }, | ||
630 | }; | ||
631 | |||
632 | static struct omap_hwmod am33xx_smartreflex1_hwmod = { | 505 | static struct omap_hwmod am33xx_smartreflex1_hwmod = { |
633 | .name = "smartreflex1", | 506 | .name = "smartreflex1", |
634 | .class = &am33xx_smartreflex_hwmod_class, | 507 | .class = &am33xx_smartreflex_hwmod_class, |
635 | .clkdm_name = "l4_wkup_clkdm", | 508 | .clkdm_name = "l4_wkup_clkdm", |
636 | .mpu_irqs = am33xx_smartreflex1_irqs, | ||
637 | .main_clk = "smartreflex1_fck", | 509 | .main_clk = "smartreflex1_fck", |
638 | .prcm = { | 510 | .prcm = { |
639 | .omap4 = { | 511 | .omap4 = { |
@@ -650,17 +522,11 @@ static struct omap_hwmod_class am33xx_control_hwmod_class = { | |||
650 | .name = "control", | 522 | .name = "control", |
651 | }; | 523 | }; |
652 | 524 | ||
653 | static struct omap_hwmod_irq_info am33xx_control_irqs[] = { | ||
654 | { .irq = 8 + OMAP_INTC_START, }, | ||
655 | { .irq = -1 }, | ||
656 | }; | ||
657 | |||
658 | static struct omap_hwmod am33xx_control_hwmod = { | 525 | static struct omap_hwmod am33xx_control_hwmod = { |
659 | .name = "control", | 526 | .name = "control", |
660 | .class = &am33xx_control_hwmod_class, | 527 | .class = &am33xx_control_hwmod_class, |
661 | .clkdm_name = "l4_wkup_clkdm", | 528 | .clkdm_name = "l4_wkup_clkdm", |
662 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | 529 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), |
663 | .mpu_irqs = am33xx_control_irqs, | ||
664 | .main_clk = "dpll_core_m4_div2_ck", | 530 | .main_clk = "dpll_core_m4_div2_ck", |
665 | .prcm = { | 531 | .prcm = { |
666 | .omap4 = { | 532 | .omap4 = { |
@@ -690,21 +556,13 @@ static struct omap_hwmod_class am33xx_cpgmac0_hwmod_class = { | |||
690 | .sysc = &am33xx_cpgmac_sysc, | 556 | .sysc = &am33xx_cpgmac_sysc, |
691 | }; | 557 | }; |
692 | 558 | ||
693 | static struct omap_hwmod_irq_info am33xx_cpgmac0_irqs[] = { | ||
694 | { .name = "c0_rx_thresh_pend", .irq = 40 + OMAP_INTC_START, }, | ||
695 | { .name = "c0_rx_pend", .irq = 41 + OMAP_INTC_START, }, | ||
696 | { .name = "c0_tx_pend", .irq = 42 + OMAP_INTC_START, }, | ||
697 | { .name = "c0_misc_pend", .irq = 43 + OMAP_INTC_START, }, | ||
698 | { .irq = -1 }, | ||
699 | }; | ||
700 | |||
701 | static struct omap_hwmod am33xx_cpgmac0_hwmod = { | 559 | static struct omap_hwmod am33xx_cpgmac0_hwmod = { |
702 | .name = "cpgmac0", | 560 | .name = "cpgmac0", |
703 | .class = &am33xx_cpgmac0_hwmod_class, | 561 | .class = &am33xx_cpgmac0_hwmod_class, |
704 | .clkdm_name = "cpsw_125mhz_clkdm", | 562 | .clkdm_name = "cpsw_125mhz_clkdm", |
705 | .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), | 563 | .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), |
706 | .mpu_irqs = am33xx_cpgmac0_irqs, | ||
707 | .main_clk = "cpsw_125mhz_gclk", | 564 | .main_clk = "cpsw_125mhz_gclk", |
565 | .mpu_rt_idx = 1, | ||
708 | .prcm = { | 566 | .prcm = { |
709 | .omap4 = { | 567 | .omap4 = { |
710 | .clkctrl_offs = AM33XX_CM_PER_CPGMAC0_CLKCTRL_OFFSET, | 568 | .clkctrl_offs = AM33XX_CM_PER_CPGMAC0_CLKCTRL_OFFSET, |
@@ -735,17 +593,10 @@ static struct omap_hwmod_class am33xx_dcan_hwmod_class = { | |||
735 | }; | 593 | }; |
736 | 594 | ||
737 | /* dcan0 */ | 595 | /* dcan0 */ |
738 | static struct omap_hwmod_irq_info am33xx_dcan0_irqs[] = { | ||
739 | { .name = "d_can_ms", .irq = 52 + OMAP_INTC_START, }, | ||
740 | { .name = "d_can_mo", .irq = 53 + OMAP_INTC_START, }, | ||
741 | { .irq = -1 }, | ||
742 | }; | ||
743 | |||
744 | static struct omap_hwmod am33xx_dcan0_hwmod = { | 596 | static struct omap_hwmod am33xx_dcan0_hwmod = { |
745 | .name = "d_can0", | 597 | .name = "d_can0", |
746 | .class = &am33xx_dcan_hwmod_class, | 598 | .class = &am33xx_dcan_hwmod_class, |
747 | .clkdm_name = "l4ls_clkdm", | 599 | .clkdm_name = "l4ls_clkdm", |
748 | .mpu_irqs = am33xx_dcan0_irqs, | ||
749 | .main_clk = "dcan0_fck", | 600 | .main_clk = "dcan0_fck", |
750 | .prcm = { | 601 | .prcm = { |
751 | .omap4 = { | 602 | .omap4 = { |
@@ -756,16 +607,10 @@ static struct omap_hwmod am33xx_dcan0_hwmod = { | |||
756 | }; | 607 | }; |
757 | 608 | ||
758 | /* dcan1 */ | 609 | /* dcan1 */ |
759 | static struct omap_hwmod_irq_info am33xx_dcan1_irqs[] = { | ||
760 | { .name = "d_can_ms", .irq = 55 + OMAP_INTC_START, }, | ||
761 | { .name = "d_can_mo", .irq = 56 + OMAP_INTC_START, }, | ||
762 | { .irq = -1 }, | ||
763 | }; | ||
764 | static struct omap_hwmod am33xx_dcan1_hwmod = { | 610 | static struct omap_hwmod am33xx_dcan1_hwmod = { |
765 | .name = "d_can1", | 611 | .name = "d_can1", |
766 | .class = &am33xx_dcan_hwmod_class, | 612 | .class = &am33xx_dcan_hwmod_class, |
767 | .clkdm_name = "l4ls_clkdm", | 613 | .clkdm_name = "l4ls_clkdm", |
768 | .mpu_irqs = am33xx_dcan1_irqs, | ||
769 | .main_clk = "dcan1_fck", | 614 | .main_clk = "dcan1_fck", |
770 | .prcm = { | 615 | .prcm = { |
771 | .omap4 = { | 616 | .omap4 = { |
@@ -792,16 +637,10 @@ static struct omap_hwmod_class am33xx_elm_hwmod_class = { | |||
792 | .sysc = &am33xx_elm_sysc, | 637 | .sysc = &am33xx_elm_sysc, |
793 | }; | 638 | }; |
794 | 639 | ||
795 | static struct omap_hwmod_irq_info am33xx_elm_irqs[] = { | ||
796 | { .irq = 4 + OMAP_INTC_START, }, | ||
797 | { .irq = -1 }, | ||
798 | }; | ||
799 | |||
800 | static struct omap_hwmod am33xx_elm_hwmod = { | 640 | static struct omap_hwmod am33xx_elm_hwmod = { |
801 | .name = "elm", | 641 | .name = "elm", |
802 | .class = &am33xx_elm_hwmod_class, | 642 | .class = &am33xx_elm_hwmod_class, |
803 | .clkdm_name = "l4ls_clkdm", | 643 | .clkdm_name = "l4ls_clkdm", |
804 | .mpu_irqs = am33xx_elm_irqs, | ||
805 | .main_clk = "l4ls_gclk", | 644 | .main_clk = "l4ls_gclk", |
806 | .prcm = { | 645 | .prcm = { |
807 | .omap4 = { | 646 | .omap4 = { |
@@ -854,45 +693,26 @@ static struct omap_hwmod am33xx_epwmss0_hwmod = { | |||
854 | }; | 693 | }; |
855 | 694 | ||
856 | /* ecap0 */ | 695 | /* ecap0 */ |
857 | static struct omap_hwmod_irq_info am33xx_ecap0_irqs[] = { | ||
858 | { .irq = 31 + OMAP_INTC_START, }, | ||
859 | { .irq = -1 }, | ||
860 | }; | ||
861 | |||
862 | static struct omap_hwmod am33xx_ecap0_hwmod = { | 696 | static struct omap_hwmod am33xx_ecap0_hwmod = { |
863 | .name = "ecap0", | 697 | .name = "ecap0", |
864 | .class = &am33xx_ecap_hwmod_class, | 698 | .class = &am33xx_ecap_hwmod_class, |
865 | .clkdm_name = "l4ls_clkdm", | 699 | .clkdm_name = "l4ls_clkdm", |
866 | .mpu_irqs = am33xx_ecap0_irqs, | ||
867 | .main_clk = "l4ls_gclk", | 700 | .main_clk = "l4ls_gclk", |
868 | }; | 701 | }; |
869 | 702 | ||
870 | /* eqep0 */ | 703 | /* eqep0 */ |
871 | static struct omap_hwmod_irq_info am33xx_eqep0_irqs[] = { | ||
872 | { .irq = 79 + OMAP_INTC_START, }, | ||
873 | { .irq = -1 }, | ||
874 | }; | ||
875 | |||
876 | static struct omap_hwmod am33xx_eqep0_hwmod = { | 704 | static struct omap_hwmod am33xx_eqep0_hwmod = { |
877 | .name = "eqep0", | 705 | .name = "eqep0", |
878 | .class = &am33xx_eqep_hwmod_class, | 706 | .class = &am33xx_eqep_hwmod_class, |
879 | .clkdm_name = "l4ls_clkdm", | 707 | .clkdm_name = "l4ls_clkdm", |
880 | .mpu_irqs = am33xx_eqep0_irqs, | ||
881 | .main_clk = "l4ls_gclk", | 708 | .main_clk = "l4ls_gclk", |
882 | }; | 709 | }; |
883 | 710 | ||
884 | /* ehrpwm0 */ | 711 | /* ehrpwm0 */ |
885 | static struct omap_hwmod_irq_info am33xx_ehrpwm0_irqs[] = { | ||
886 | { .name = "int", .irq = 86 + OMAP_INTC_START, }, | ||
887 | { .name = "tzint", .irq = 58 + OMAP_INTC_START, }, | ||
888 | { .irq = -1 }, | ||
889 | }; | ||
890 | |||
891 | static struct omap_hwmod am33xx_ehrpwm0_hwmod = { | 712 | static struct omap_hwmod am33xx_ehrpwm0_hwmod = { |
892 | .name = "ehrpwm0", | 713 | .name = "ehrpwm0", |
893 | .class = &am33xx_ehrpwm_hwmod_class, | 714 | .class = &am33xx_ehrpwm_hwmod_class, |
894 | .clkdm_name = "l4ls_clkdm", | 715 | .clkdm_name = "l4ls_clkdm", |
895 | .mpu_irqs = am33xx_ehrpwm0_irqs, | ||
896 | .main_clk = "l4ls_gclk", | 716 | .main_clk = "l4ls_gclk", |
897 | }; | 717 | }; |
898 | 718 | ||
@@ -911,45 +731,26 @@ static struct omap_hwmod am33xx_epwmss1_hwmod = { | |||
911 | }; | 731 | }; |
912 | 732 | ||
913 | /* ecap1 */ | 733 | /* ecap1 */ |
914 | static struct omap_hwmod_irq_info am33xx_ecap1_irqs[] = { | ||
915 | { .irq = 47 + OMAP_INTC_START, }, | ||
916 | { .irq = -1 }, | ||
917 | }; | ||
918 | |||
919 | static struct omap_hwmod am33xx_ecap1_hwmod = { | 734 | static struct omap_hwmod am33xx_ecap1_hwmod = { |
920 | .name = "ecap1", | 735 | .name = "ecap1", |
921 | .class = &am33xx_ecap_hwmod_class, | 736 | .class = &am33xx_ecap_hwmod_class, |
922 | .clkdm_name = "l4ls_clkdm", | 737 | .clkdm_name = "l4ls_clkdm", |
923 | .mpu_irqs = am33xx_ecap1_irqs, | ||
924 | .main_clk = "l4ls_gclk", | 738 | .main_clk = "l4ls_gclk", |
925 | }; | 739 | }; |
926 | 740 | ||
927 | /* eqep1 */ | 741 | /* eqep1 */ |
928 | static struct omap_hwmod_irq_info am33xx_eqep1_irqs[] = { | ||
929 | { .irq = 88 + OMAP_INTC_START, }, | ||
930 | { .irq = -1 }, | ||
931 | }; | ||
932 | |||
933 | static struct omap_hwmod am33xx_eqep1_hwmod = { | 742 | static struct omap_hwmod am33xx_eqep1_hwmod = { |
934 | .name = "eqep1", | 743 | .name = "eqep1", |
935 | .class = &am33xx_eqep_hwmod_class, | 744 | .class = &am33xx_eqep_hwmod_class, |
936 | .clkdm_name = "l4ls_clkdm", | 745 | .clkdm_name = "l4ls_clkdm", |
937 | .mpu_irqs = am33xx_eqep1_irqs, | ||
938 | .main_clk = "l4ls_gclk", | 746 | .main_clk = "l4ls_gclk", |
939 | }; | 747 | }; |
940 | 748 | ||
941 | /* ehrpwm1 */ | 749 | /* ehrpwm1 */ |
942 | static struct omap_hwmod_irq_info am33xx_ehrpwm1_irqs[] = { | ||
943 | { .name = "int", .irq = 87 + OMAP_INTC_START, }, | ||
944 | { .name = "tzint", .irq = 59 + OMAP_INTC_START, }, | ||
945 | { .irq = -1 }, | ||
946 | }; | ||
947 | |||
948 | static struct omap_hwmod am33xx_ehrpwm1_hwmod = { | 750 | static struct omap_hwmod am33xx_ehrpwm1_hwmod = { |
949 | .name = "ehrpwm1", | 751 | .name = "ehrpwm1", |
950 | .class = &am33xx_ehrpwm_hwmod_class, | 752 | .class = &am33xx_ehrpwm_hwmod_class, |
951 | .clkdm_name = "l4ls_clkdm", | 753 | .clkdm_name = "l4ls_clkdm", |
952 | .mpu_irqs = am33xx_ehrpwm1_irqs, | ||
953 | .main_clk = "l4ls_gclk", | 754 | .main_clk = "l4ls_gclk", |
954 | }; | 755 | }; |
955 | 756 | ||
@@ -968,45 +769,26 @@ static struct omap_hwmod am33xx_epwmss2_hwmod = { | |||
968 | }; | 769 | }; |
969 | 770 | ||
970 | /* ecap2 */ | 771 | /* ecap2 */ |
971 | static struct omap_hwmod_irq_info am33xx_ecap2_irqs[] = { | ||
972 | { .irq = 61 + OMAP_INTC_START, }, | ||
973 | { .irq = -1 }, | ||
974 | }; | ||
975 | |||
976 | static struct omap_hwmod am33xx_ecap2_hwmod = { | 772 | static struct omap_hwmod am33xx_ecap2_hwmod = { |
977 | .name = "ecap2", | 773 | .name = "ecap2", |
978 | .class = &am33xx_ecap_hwmod_class, | 774 | .class = &am33xx_ecap_hwmod_class, |
979 | .clkdm_name = "l4ls_clkdm", | 775 | .clkdm_name = "l4ls_clkdm", |
980 | .mpu_irqs = am33xx_ecap2_irqs, | ||
981 | .main_clk = "l4ls_gclk", | 776 | .main_clk = "l4ls_gclk", |
982 | }; | 777 | }; |
983 | 778 | ||
984 | /* eqep2 */ | 779 | /* eqep2 */ |
985 | static struct omap_hwmod_irq_info am33xx_eqep2_irqs[] = { | ||
986 | { .irq = 89 + OMAP_INTC_START, }, | ||
987 | { .irq = -1 }, | ||
988 | }; | ||
989 | |||
990 | static struct omap_hwmod am33xx_eqep2_hwmod = { | 780 | static struct omap_hwmod am33xx_eqep2_hwmod = { |
991 | .name = "eqep2", | 781 | .name = "eqep2", |
992 | .class = &am33xx_eqep_hwmod_class, | 782 | .class = &am33xx_eqep_hwmod_class, |
993 | .clkdm_name = "l4ls_clkdm", | 783 | .clkdm_name = "l4ls_clkdm", |
994 | .mpu_irqs = am33xx_eqep2_irqs, | ||
995 | .main_clk = "l4ls_gclk", | 784 | .main_clk = "l4ls_gclk", |
996 | }; | 785 | }; |
997 | 786 | ||
998 | /* ehrpwm2 */ | 787 | /* ehrpwm2 */ |
999 | static struct omap_hwmod_irq_info am33xx_ehrpwm2_irqs[] = { | ||
1000 | { .name = "int", .irq = 39 + OMAP_INTC_START, }, | ||
1001 | { .name = "tzint", .irq = 60 + OMAP_INTC_START, }, | ||
1002 | { .irq = -1 }, | ||
1003 | }; | ||
1004 | |||
1005 | static struct omap_hwmod am33xx_ehrpwm2_hwmod = { | 788 | static struct omap_hwmod am33xx_ehrpwm2_hwmod = { |
1006 | .name = "ehrpwm2", | 789 | .name = "ehrpwm2", |
1007 | .class = &am33xx_ehrpwm_hwmod_class, | 790 | .class = &am33xx_ehrpwm_hwmod_class, |
1008 | .clkdm_name = "l4ls_clkdm", | 791 | .clkdm_name = "l4ls_clkdm", |
1009 | .mpu_irqs = am33xx_ehrpwm2_irqs, | ||
1010 | .main_clk = "l4ls_gclk", | 792 | .main_clk = "l4ls_gclk", |
1011 | }; | 793 | }; |
1012 | 794 | ||
@@ -1041,17 +823,11 @@ static struct omap_hwmod_opt_clk gpio0_opt_clks[] = { | |||
1041 | { .role = "dbclk", .clk = "gpio0_dbclk" }, | 823 | { .role = "dbclk", .clk = "gpio0_dbclk" }, |
1042 | }; | 824 | }; |
1043 | 825 | ||
1044 | static struct omap_hwmod_irq_info am33xx_gpio0_irqs[] = { | ||
1045 | { .irq = 96 + OMAP_INTC_START, }, | ||
1046 | { .irq = -1 }, | ||
1047 | }; | ||
1048 | |||
1049 | static struct omap_hwmod am33xx_gpio0_hwmod = { | 826 | static struct omap_hwmod am33xx_gpio0_hwmod = { |
1050 | .name = "gpio1", | 827 | .name = "gpio1", |
1051 | .class = &am33xx_gpio_hwmod_class, | 828 | .class = &am33xx_gpio_hwmod_class, |
1052 | .clkdm_name = "l4_wkup_clkdm", | 829 | .clkdm_name = "l4_wkup_clkdm", |
1053 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 830 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1054 | .mpu_irqs = am33xx_gpio0_irqs, | ||
1055 | .main_clk = "dpll_core_m4_div2_ck", | 831 | .main_clk = "dpll_core_m4_div2_ck", |
1056 | .prcm = { | 832 | .prcm = { |
1057 | .omap4 = { | 833 | .omap4 = { |
@@ -1065,11 +841,6 @@ static struct omap_hwmod am33xx_gpio0_hwmod = { | |||
1065 | }; | 841 | }; |
1066 | 842 | ||
1067 | /* gpio1 */ | 843 | /* gpio1 */ |
1068 | static struct omap_hwmod_irq_info am33xx_gpio1_irqs[] = { | ||
1069 | { .irq = 98 + OMAP_INTC_START, }, | ||
1070 | { .irq = -1 }, | ||
1071 | }; | ||
1072 | |||
1073 | static struct omap_hwmod_opt_clk gpio1_opt_clks[] = { | 844 | static struct omap_hwmod_opt_clk gpio1_opt_clks[] = { |
1074 | { .role = "dbclk", .clk = "gpio1_dbclk" }, | 845 | { .role = "dbclk", .clk = "gpio1_dbclk" }, |
1075 | }; | 846 | }; |
@@ -1079,7 +850,6 @@ static struct omap_hwmod am33xx_gpio1_hwmod = { | |||
1079 | .class = &am33xx_gpio_hwmod_class, | 850 | .class = &am33xx_gpio_hwmod_class, |
1080 | .clkdm_name = "l4ls_clkdm", | 851 | .clkdm_name = "l4ls_clkdm", |
1081 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 852 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1082 | .mpu_irqs = am33xx_gpio1_irqs, | ||
1083 | .main_clk = "l4ls_gclk", | 853 | .main_clk = "l4ls_gclk", |
1084 | .prcm = { | 854 | .prcm = { |
1085 | .omap4 = { | 855 | .omap4 = { |
@@ -1093,11 +863,6 @@ static struct omap_hwmod am33xx_gpio1_hwmod = { | |||
1093 | }; | 863 | }; |
1094 | 864 | ||
1095 | /* gpio2 */ | 865 | /* gpio2 */ |
1096 | static struct omap_hwmod_irq_info am33xx_gpio2_irqs[] = { | ||
1097 | { .irq = 32 + OMAP_INTC_START, }, | ||
1098 | { .irq = -1 }, | ||
1099 | }; | ||
1100 | |||
1101 | static struct omap_hwmod_opt_clk gpio2_opt_clks[] = { | 866 | static struct omap_hwmod_opt_clk gpio2_opt_clks[] = { |
1102 | { .role = "dbclk", .clk = "gpio2_dbclk" }, | 867 | { .role = "dbclk", .clk = "gpio2_dbclk" }, |
1103 | }; | 868 | }; |
@@ -1107,7 +872,6 @@ static struct omap_hwmod am33xx_gpio2_hwmod = { | |||
1107 | .class = &am33xx_gpio_hwmod_class, | 872 | .class = &am33xx_gpio_hwmod_class, |
1108 | .clkdm_name = "l4ls_clkdm", | 873 | .clkdm_name = "l4ls_clkdm", |
1109 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 874 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1110 | .mpu_irqs = am33xx_gpio2_irqs, | ||
1111 | .main_clk = "l4ls_gclk", | 875 | .main_clk = "l4ls_gclk", |
1112 | .prcm = { | 876 | .prcm = { |
1113 | .omap4 = { | 877 | .omap4 = { |
@@ -1121,11 +885,6 @@ static struct omap_hwmod am33xx_gpio2_hwmod = { | |||
1121 | }; | 885 | }; |
1122 | 886 | ||
1123 | /* gpio3 */ | 887 | /* gpio3 */ |
1124 | static struct omap_hwmod_irq_info am33xx_gpio3_irqs[] = { | ||
1125 | { .irq = 62 + OMAP_INTC_START, }, | ||
1126 | { .irq = -1 }, | ||
1127 | }; | ||
1128 | |||
1129 | static struct omap_hwmod_opt_clk gpio3_opt_clks[] = { | 888 | static struct omap_hwmod_opt_clk gpio3_opt_clks[] = { |
1130 | { .role = "dbclk", .clk = "gpio3_dbclk" }, | 889 | { .role = "dbclk", .clk = "gpio3_dbclk" }, |
1131 | }; | 890 | }; |
@@ -1135,7 +894,6 @@ static struct omap_hwmod am33xx_gpio3_hwmod = { | |||
1135 | .class = &am33xx_gpio_hwmod_class, | 894 | .class = &am33xx_gpio_hwmod_class, |
1136 | .clkdm_name = "l4ls_clkdm", | 895 | .clkdm_name = "l4ls_clkdm", |
1137 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 896 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1138 | .mpu_irqs = am33xx_gpio3_irqs, | ||
1139 | .main_clk = "l4ls_gclk", | 897 | .main_clk = "l4ls_gclk", |
1140 | .prcm = { | 898 | .prcm = { |
1141 | .omap4 = { | 899 | .omap4 = { |
@@ -1164,17 +922,11 @@ static struct omap_hwmod_class am33xx_gpmc_hwmod_class = { | |||
1164 | .sysc = &gpmc_sysc, | 922 | .sysc = &gpmc_sysc, |
1165 | }; | 923 | }; |
1166 | 924 | ||
1167 | static struct omap_hwmod_irq_info am33xx_gpmc_irqs[] = { | ||
1168 | { .irq = 100 + OMAP_INTC_START, }, | ||
1169 | { .irq = -1 }, | ||
1170 | }; | ||
1171 | |||
1172 | static struct omap_hwmod am33xx_gpmc_hwmod = { | 925 | static struct omap_hwmod am33xx_gpmc_hwmod = { |
1173 | .name = "gpmc", | 926 | .name = "gpmc", |
1174 | .class = &am33xx_gpmc_hwmod_class, | 927 | .class = &am33xx_gpmc_hwmod_class, |
1175 | .clkdm_name = "l3s_clkdm", | 928 | .clkdm_name = "l3s_clkdm", |
1176 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), | 929 | .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), |
1177 | .mpu_irqs = am33xx_gpmc_irqs, | ||
1178 | .main_clk = "l3s_gclk", | 930 | .main_clk = "l3s_gclk", |
1179 | .prcm = { | 931 | .prcm = { |
1180 | .omap4 = { | 932 | .omap4 = { |
@@ -1208,23 +960,10 @@ static struct omap_i2c_dev_attr i2c_dev_attr = { | |||
1208 | }; | 960 | }; |
1209 | 961 | ||
1210 | /* i2c1 */ | 962 | /* i2c1 */ |
1211 | static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = { | ||
1212 | { .irq = 70 + OMAP_INTC_START, }, | ||
1213 | { .irq = -1 }, | ||
1214 | }; | ||
1215 | |||
1216 | static struct omap_hwmod_dma_info i2c1_edma_reqs[] = { | ||
1217 | { .name = "tx", .dma_req = 0, }, | ||
1218 | { .name = "rx", .dma_req = 0, }, | ||
1219 | { .dma_req = -1 } | ||
1220 | }; | ||
1221 | |||
1222 | static struct omap_hwmod am33xx_i2c1_hwmod = { | 963 | static struct omap_hwmod am33xx_i2c1_hwmod = { |
1223 | .name = "i2c1", | 964 | .name = "i2c1", |
1224 | .class = &i2c_class, | 965 | .class = &i2c_class, |
1225 | .clkdm_name = "l4_wkup_clkdm", | 966 | .clkdm_name = "l4_wkup_clkdm", |
1226 | .mpu_irqs = i2c1_mpu_irqs, | ||
1227 | .sdma_reqs = i2c1_edma_reqs, | ||
1228 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 967 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1229 | .main_clk = "dpll_per_m2_div4_wkupdm_ck", | 968 | .main_clk = "dpll_per_m2_div4_wkupdm_ck", |
1230 | .prcm = { | 969 | .prcm = { |
@@ -1237,23 +976,10 @@ static struct omap_hwmod am33xx_i2c1_hwmod = { | |||
1237 | }; | 976 | }; |
1238 | 977 | ||
1239 | /* i2c1 */ | 978 | /* i2c1 */ |
1240 | static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = { | ||
1241 | { .irq = 71 + OMAP_INTC_START, }, | ||
1242 | { .irq = -1 }, | ||
1243 | }; | ||
1244 | |||
1245 | static struct omap_hwmod_dma_info i2c2_edma_reqs[] = { | ||
1246 | { .name = "tx", .dma_req = 0, }, | ||
1247 | { .name = "rx", .dma_req = 0, }, | ||
1248 | { .dma_req = -1 } | ||
1249 | }; | ||
1250 | |||
1251 | static struct omap_hwmod am33xx_i2c2_hwmod = { | 979 | static struct omap_hwmod am33xx_i2c2_hwmod = { |
1252 | .name = "i2c2", | 980 | .name = "i2c2", |
1253 | .class = &i2c_class, | 981 | .class = &i2c_class, |
1254 | .clkdm_name = "l4ls_clkdm", | 982 | .clkdm_name = "l4ls_clkdm", |
1255 | .mpu_irqs = i2c2_mpu_irqs, | ||
1256 | .sdma_reqs = i2c2_edma_reqs, | ||
1257 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 983 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1258 | .main_clk = "dpll_per_m2_div4_ck", | 984 | .main_clk = "dpll_per_m2_div4_ck", |
1259 | .prcm = { | 985 | .prcm = { |
@@ -1266,23 +992,10 @@ static struct omap_hwmod am33xx_i2c2_hwmod = { | |||
1266 | }; | 992 | }; |
1267 | 993 | ||
1268 | /* i2c3 */ | 994 | /* i2c3 */ |
1269 | static struct omap_hwmod_dma_info i2c3_edma_reqs[] = { | ||
1270 | { .name = "tx", .dma_req = 0, }, | ||
1271 | { .name = "rx", .dma_req = 0, }, | ||
1272 | { .dma_req = -1 } | ||
1273 | }; | ||
1274 | |||
1275 | static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = { | ||
1276 | { .irq = 30 + OMAP_INTC_START, }, | ||
1277 | { .irq = -1 }, | ||
1278 | }; | ||
1279 | |||
1280 | static struct omap_hwmod am33xx_i2c3_hwmod = { | 995 | static struct omap_hwmod am33xx_i2c3_hwmod = { |
1281 | .name = "i2c3", | 996 | .name = "i2c3", |
1282 | .class = &i2c_class, | 997 | .class = &i2c_class, |
1283 | .clkdm_name = "l4ls_clkdm", | 998 | .clkdm_name = "l4ls_clkdm", |
1284 | .mpu_irqs = i2c3_mpu_irqs, | ||
1285 | .sdma_reqs = i2c3_edma_reqs, | ||
1286 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 999 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1287 | .main_clk = "dpll_per_m2_div4_ck", | 1000 | .main_clk = "dpll_per_m2_div4_ck", |
1288 | .prcm = { | 1001 | .prcm = { |
@@ -1309,16 +1022,10 @@ static struct omap_hwmod_class am33xx_lcdc_hwmod_class = { | |||
1309 | .sysc = &lcdc_sysc, | 1022 | .sysc = &lcdc_sysc, |
1310 | }; | 1023 | }; |
1311 | 1024 | ||
1312 | static struct omap_hwmod_irq_info am33xx_lcdc_irqs[] = { | ||
1313 | { .irq = 36 + OMAP_INTC_START, }, | ||
1314 | { .irq = -1 }, | ||
1315 | }; | ||
1316 | |||
1317 | static struct omap_hwmod am33xx_lcdc_hwmod = { | 1025 | static struct omap_hwmod am33xx_lcdc_hwmod = { |
1318 | .name = "lcdc", | 1026 | .name = "lcdc", |
1319 | .class = &am33xx_lcdc_hwmod_class, | 1027 | .class = &am33xx_lcdc_hwmod_class, |
1320 | .clkdm_name = "lcdc_clkdm", | 1028 | .clkdm_name = "lcdc_clkdm", |
1321 | .mpu_irqs = am33xx_lcdc_irqs, | ||
1322 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, | 1029 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, |
1323 | .main_clk = "lcd_gclk", | 1030 | .main_clk = "lcd_gclk", |
1324 | .prcm = { | 1031 | .prcm = { |
@@ -1348,16 +1055,10 @@ static struct omap_hwmod_class am33xx_mailbox_hwmod_class = { | |||
1348 | .sysc = &am33xx_mailbox_sysc, | 1055 | .sysc = &am33xx_mailbox_sysc, |
1349 | }; | 1056 | }; |
1350 | 1057 | ||
1351 | static struct omap_hwmod_irq_info am33xx_mailbox_irqs[] = { | ||
1352 | { .irq = 77 + OMAP_INTC_START, }, | ||
1353 | { .irq = -1 }, | ||
1354 | }; | ||
1355 | |||
1356 | static struct omap_hwmod am33xx_mailbox_hwmod = { | 1058 | static struct omap_hwmod am33xx_mailbox_hwmod = { |
1357 | .name = "mailbox", | 1059 | .name = "mailbox", |
1358 | .class = &am33xx_mailbox_hwmod_class, | 1060 | .class = &am33xx_mailbox_hwmod_class, |
1359 | .clkdm_name = "l4ls_clkdm", | 1061 | .clkdm_name = "l4ls_clkdm", |
1360 | .mpu_irqs = am33xx_mailbox_irqs, | ||
1361 | .main_clk = "l4ls_gclk", | 1062 | .main_clk = "l4ls_gclk", |
1362 | .prcm = { | 1063 | .prcm = { |
1363 | .omap4 = { | 1064 | .omap4 = { |
@@ -1384,24 +1085,10 @@ static struct omap_hwmod_class am33xx_mcasp_hwmod_class = { | |||
1384 | }; | 1085 | }; |
1385 | 1086 | ||
1386 | /* mcasp0 */ | 1087 | /* mcasp0 */ |
1387 | static struct omap_hwmod_irq_info am33xx_mcasp0_irqs[] = { | ||
1388 | { .name = "ax", .irq = 80 + OMAP_INTC_START, }, | ||
1389 | { .name = "ar", .irq = 81 + OMAP_INTC_START, }, | ||
1390 | { .irq = -1 }, | ||
1391 | }; | ||
1392 | |||
1393 | static struct omap_hwmod_dma_info am33xx_mcasp0_edma_reqs[] = { | ||
1394 | { .name = "tx", .dma_req = 8, }, | ||
1395 | { .name = "rx", .dma_req = 9, }, | ||
1396 | { .dma_req = -1 } | ||
1397 | }; | ||
1398 | |||
1399 | static struct omap_hwmod am33xx_mcasp0_hwmod = { | 1088 | static struct omap_hwmod am33xx_mcasp0_hwmod = { |
1400 | .name = "mcasp0", | 1089 | .name = "mcasp0", |
1401 | .class = &am33xx_mcasp_hwmod_class, | 1090 | .class = &am33xx_mcasp_hwmod_class, |
1402 | .clkdm_name = "l3s_clkdm", | 1091 | .clkdm_name = "l3s_clkdm", |
1403 | .mpu_irqs = am33xx_mcasp0_irqs, | ||
1404 | .sdma_reqs = am33xx_mcasp0_edma_reqs, | ||
1405 | .main_clk = "mcasp0_fck", | 1092 | .main_clk = "mcasp0_fck", |
1406 | .prcm = { | 1093 | .prcm = { |
1407 | .omap4 = { | 1094 | .omap4 = { |
@@ -1412,24 +1099,10 @@ static struct omap_hwmod am33xx_mcasp0_hwmod = { | |||
1412 | }; | 1099 | }; |
1413 | 1100 | ||
1414 | /* mcasp1 */ | 1101 | /* mcasp1 */ |
1415 | static struct omap_hwmod_irq_info am33xx_mcasp1_irqs[] = { | ||
1416 | { .name = "ax", .irq = 82 + OMAP_INTC_START, }, | ||
1417 | { .name = "ar", .irq = 83 + OMAP_INTC_START, }, | ||
1418 | { .irq = -1 }, | ||
1419 | }; | ||
1420 | |||
1421 | static struct omap_hwmod_dma_info am33xx_mcasp1_edma_reqs[] = { | ||
1422 | { .name = "tx", .dma_req = 10, }, | ||
1423 | { .name = "rx", .dma_req = 11, }, | ||
1424 | { .dma_req = -1 } | ||
1425 | }; | ||
1426 | |||
1427 | static struct omap_hwmod am33xx_mcasp1_hwmod = { | 1102 | static struct omap_hwmod am33xx_mcasp1_hwmod = { |
1428 | .name = "mcasp1", | 1103 | .name = "mcasp1", |
1429 | .class = &am33xx_mcasp_hwmod_class, | 1104 | .class = &am33xx_mcasp_hwmod_class, |
1430 | .clkdm_name = "l3s_clkdm", | 1105 | .clkdm_name = "l3s_clkdm", |
1431 | .mpu_irqs = am33xx_mcasp1_irqs, | ||
1432 | .sdma_reqs = am33xx_mcasp1_edma_reqs, | ||
1433 | .main_clk = "mcasp1_fck", | 1106 | .main_clk = "mcasp1_fck", |
1434 | .prcm = { | 1107 | .prcm = { |
1435 | .omap4 = { | 1108 | .omap4 = { |
@@ -1457,17 +1130,6 @@ static struct omap_hwmod_class am33xx_mmc_hwmod_class = { | |||
1457 | }; | 1130 | }; |
1458 | 1131 | ||
1459 | /* mmc0 */ | 1132 | /* mmc0 */ |
1460 | static struct omap_hwmod_irq_info am33xx_mmc0_irqs[] = { | ||
1461 | { .irq = 64 + OMAP_INTC_START, }, | ||
1462 | { .irq = -1 }, | ||
1463 | }; | ||
1464 | |||
1465 | static struct omap_hwmod_dma_info am33xx_mmc0_edma_reqs[] = { | ||
1466 | { .name = "tx", .dma_req = 24, }, | ||
1467 | { .name = "rx", .dma_req = 25, }, | ||
1468 | { .dma_req = -1 } | ||
1469 | }; | ||
1470 | |||
1471 | static struct omap_mmc_dev_attr am33xx_mmc0_dev_attr = { | 1133 | static struct omap_mmc_dev_attr am33xx_mmc0_dev_attr = { |
1472 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, | 1134 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, |
1473 | }; | 1135 | }; |
@@ -1476,8 +1138,6 @@ static struct omap_hwmod am33xx_mmc0_hwmod = { | |||
1476 | .name = "mmc1", | 1138 | .name = "mmc1", |
1477 | .class = &am33xx_mmc_hwmod_class, | 1139 | .class = &am33xx_mmc_hwmod_class, |
1478 | .clkdm_name = "l4ls_clkdm", | 1140 | .clkdm_name = "l4ls_clkdm", |
1479 | .mpu_irqs = am33xx_mmc0_irqs, | ||
1480 | .sdma_reqs = am33xx_mmc0_edma_reqs, | ||
1481 | .main_clk = "mmc_clk", | 1141 | .main_clk = "mmc_clk", |
1482 | .prcm = { | 1142 | .prcm = { |
1483 | .omap4 = { | 1143 | .omap4 = { |
@@ -1489,17 +1149,6 @@ static struct omap_hwmod am33xx_mmc0_hwmod = { | |||
1489 | }; | 1149 | }; |
1490 | 1150 | ||
1491 | /* mmc1 */ | 1151 | /* mmc1 */ |
1492 | static struct omap_hwmod_irq_info am33xx_mmc1_irqs[] = { | ||
1493 | { .irq = 28 + OMAP_INTC_START, }, | ||
1494 | { .irq = -1 }, | ||
1495 | }; | ||
1496 | |||
1497 | static struct omap_hwmod_dma_info am33xx_mmc1_edma_reqs[] = { | ||
1498 | { .name = "tx", .dma_req = 2, }, | ||
1499 | { .name = "rx", .dma_req = 3, }, | ||
1500 | { .dma_req = -1 } | ||
1501 | }; | ||
1502 | |||
1503 | static struct omap_mmc_dev_attr am33xx_mmc1_dev_attr = { | 1152 | static struct omap_mmc_dev_attr am33xx_mmc1_dev_attr = { |
1504 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, | 1153 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, |
1505 | }; | 1154 | }; |
@@ -1508,8 +1157,6 @@ static struct omap_hwmod am33xx_mmc1_hwmod = { | |||
1508 | .name = "mmc2", | 1157 | .name = "mmc2", |
1509 | .class = &am33xx_mmc_hwmod_class, | 1158 | .class = &am33xx_mmc_hwmod_class, |
1510 | .clkdm_name = "l4ls_clkdm", | 1159 | .clkdm_name = "l4ls_clkdm", |
1511 | .mpu_irqs = am33xx_mmc1_irqs, | ||
1512 | .sdma_reqs = am33xx_mmc1_edma_reqs, | ||
1513 | .main_clk = "mmc_clk", | 1160 | .main_clk = "mmc_clk", |
1514 | .prcm = { | 1161 | .prcm = { |
1515 | .omap4 = { | 1162 | .omap4 = { |
@@ -1521,17 +1168,6 @@ static struct omap_hwmod am33xx_mmc1_hwmod = { | |||
1521 | }; | 1168 | }; |
1522 | 1169 | ||
1523 | /* mmc2 */ | 1170 | /* mmc2 */ |
1524 | static struct omap_hwmod_irq_info am33xx_mmc2_irqs[] = { | ||
1525 | { .irq = 29 + OMAP_INTC_START, }, | ||
1526 | { .irq = -1 }, | ||
1527 | }; | ||
1528 | |||
1529 | static struct omap_hwmod_dma_info am33xx_mmc2_edma_reqs[] = { | ||
1530 | { .name = "tx", .dma_req = 64, }, | ||
1531 | { .name = "rx", .dma_req = 65, }, | ||
1532 | { .dma_req = -1 } | ||
1533 | }; | ||
1534 | |||
1535 | static struct omap_mmc_dev_attr am33xx_mmc2_dev_attr = { | 1171 | static struct omap_mmc_dev_attr am33xx_mmc2_dev_attr = { |
1536 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, | 1172 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, |
1537 | }; | 1173 | }; |
@@ -1539,8 +1175,6 @@ static struct omap_hwmod am33xx_mmc2_hwmod = { | |||
1539 | .name = "mmc3", | 1175 | .name = "mmc3", |
1540 | .class = &am33xx_mmc_hwmod_class, | 1176 | .class = &am33xx_mmc_hwmod_class, |
1541 | .clkdm_name = "l3s_clkdm", | 1177 | .clkdm_name = "l3s_clkdm", |
1542 | .mpu_irqs = am33xx_mmc2_irqs, | ||
1543 | .sdma_reqs = am33xx_mmc2_edma_reqs, | ||
1544 | .main_clk = "mmc_clk", | 1178 | .main_clk = "mmc_clk", |
1545 | .prcm = { | 1179 | .prcm = { |
1546 | .omap4 = { | 1180 | .omap4 = { |
@@ -1569,17 +1203,10 @@ static struct omap_hwmod_class am33xx_rtc_hwmod_class = { | |||
1569 | .sysc = &am33xx_rtc_sysc, | 1203 | .sysc = &am33xx_rtc_sysc, |
1570 | }; | 1204 | }; |
1571 | 1205 | ||
1572 | static struct omap_hwmod_irq_info am33xx_rtc_irqs[] = { | ||
1573 | { .name = "rtcint", .irq = 75 + OMAP_INTC_START, }, | ||
1574 | { .name = "rtcalarmint", .irq = 76 + OMAP_INTC_START, }, | ||
1575 | { .irq = -1 }, | ||
1576 | }; | ||
1577 | |||
1578 | static struct omap_hwmod am33xx_rtc_hwmod = { | 1206 | static struct omap_hwmod am33xx_rtc_hwmod = { |
1579 | .name = "rtc", | 1207 | .name = "rtc", |
1580 | .class = &am33xx_rtc_hwmod_class, | 1208 | .class = &am33xx_rtc_hwmod_class, |
1581 | .clkdm_name = "l4_rtc_clkdm", | 1209 | .clkdm_name = "l4_rtc_clkdm", |
1582 | .mpu_irqs = am33xx_rtc_irqs, | ||
1583 | .main_clk = "clk_32768_ck", | 1210 | .main_clk = "clk_32768_ck", |
1584 | .prcm = { | 1211 | .prcm = { |
1585 | .omap4 = { | 1212 | .omap4 = { |
@@ -1608,19 +1235,6 @@ static struct omap_hwmod_class am33xx_spi_hwmod_class = { | |||
1608 | }; | 1235 | }; |
1609 | 1236 | ||
1610 | /* spi0 */ | 1237 | /* spi0 */ |
1611 | static struct omap_hwmod_irq_info am33xx_spi0_irqs[] = { | ||
1612 | { .irq = 65 + OMAP_INTC_START, }, | ||
1613 | { .irq = -1 }, | ||
1614 | }; | ||
1615 | |||
1616 | static struct omap_hwmod_dma_info am33xx_mcspi0_edma_reqs[] = { | ||
1617 | { .name = "rx0", .dma_req = 17 }, | ||
1618 | { .name = "tx0", .dma_req = 16 }, | ||
1619 | { .name = "rx1", .dma_req = 19 }, | ||
1620 | { .name = "tx1", .dma_req = 18 }, | ||
1621 | { .dma_req = -1 } | ||
1622 | }; | ||
1623 | |||
1624 | static struct omap2_mcspi_dev_attr mcspi_attrib = { | 1238 | static struct omap2_mcspi_dev_attr mcspi_attrib = { |
1625 | .num_chipselect = 2, | 1239 | .num_chipselect = 2, |
1626 | }; | 1240 | }; |
@@ -1628,8 +1242,6 @@ static struct omap_hwmod am33xx_spi0_hwmod = { | |||
1628 | .name = "spi0", | 1242 | .name = "spi0", |
1629 | .class = &am33xx_spi_hwmod_class, | 1243 | .class = &am33xx_spi_hwmod_class, |
1630 | .clkdm_name = "l4ls_clkdm", | 1244 | .clkdm_name = "l4ls_clkdm", |
1631 | .mpu_irqs = am33xx_spi0_irqs, | ||
1632 | .sdma_reqs = am33xx_mcspi0_edma_reqs, | ||
1633 | .main_clk = "dpll_per_m2_div4_ck", | 1245 | .main_clk = "dpll_per_m2_div4_ck", |
1634 | .prcm = { | 1246 | .prcm = { |
1635 | .omap4 = { | 1247 | .omap4 = { |
@@ -1641,25 +1253,10 @@ static struct omap_hwmod am33xx_spi0_hwmod = { | |||
1641 | }; | 1253 | }; |
1642 | 1254 | ||
1643 | /* spi1 */ | 1255 | /* spi1 */ |
1644 | static struct omap_hwmod_irq_info am33xx_spi1_irqs[] = { | ||
1645 | { .irq = 125 + OMAP_INTC_START, }, | ||
1646 | { .irq = -1 }, | ||
1647 | }; | ||
1648 | |||
1649 | static struct omap_hwmod_dma_info am33xx_mcspi1_edma_reqs[] = { | ||
1650 | { .name = "rx0", .dma_req = 43 }, | ||
1651 | { .name = "tx0", .dma_req = 42 }, | ||
1652 | { .name = "rx1", .dma_req = 45 }, | ||
1653 | { .name = "tx1", .dma_req = 44 }, | ||
1654 | { .dma_req = -1 } | ||
1655 | }; | ||
1656 | |||
1657 | static struct omap_hwmod am33xx_spi1_hwmod = { | 1256 | static struct omap_hwmod am33xx_spi1_hwmod = { |
1658 | .name = "spi1", | 1257 | .name = "spi1", |
1659 | .class = &am33xx_spi_hwmod_class, | 1258 | .class = &am33xx_spi_hwmod_class, |
1660 | .clkdm_name = "l4ls_clkdm", | 1259 | .clkdm_name = "l4ls_clkdm", |
1661 | .mpu_irqs = am33xx_spi1_irqs, | ||
1662 | .sdma_reqs = am33xx_mcspi1_edma_reqs, | ||
1663 | .main_clk = "dpll_per_m2_div4_ck", | 1260 | .main_clk = "dpll_per_m2_div4_ck", |
1664 | .prcm = { | 1261 | .prcm = { |
1665 | .omap4 = { | 1262 | .omap4 = { |
@@ -1725,16 +1322,10 @@ static struct omap_hwmod_class am33xx_timer1ms_hwmod_class = { | |||
1725 | .sysc = &am33xx_timer1ms_sysc, | 1322 | .sysc = &am33xx_timer1ms_sysc, |
1726 | }; | 1323 | }; |
1727 | 1324 | ||
1728 | static struct omap_hwmod_irq_info am33xx_timer1_irqs[] = { | ||
1729 | { .irq = 67 + OMAP_INTC_START, }, | ||
1730 | { .irq = -1 }, | ||
1731 | }; | ||
1732 | |||
1733 | static struct omap_hwmod am33xx_timer1_hwmod = { | 1325 | static struct omap_hwmod am33xx_timer1_hwmod = { |
1734 | .name = "timer1", | 1326 | .name = "timer1", |
1735 | .class = &am33xx_timer1ms_hwmod_class, | 1327 | .class = &am33xx_timer1ms_hwmod_class, |
1736 | .clkdm_name = "l4_wkup_clkdm", | 1328 | .clkdm_name = "l4_wkup_clkdm", |
1737 | .mpu_irqs = am33xx_timer1_irqs, | ||
1738 | .main_clk = "timer1_fck", | 1329 | .main_clk = "timer1_fck", |
1739 | .prcm = { | 1330 | .prcm = { |
1740 | .omap4 = { | 1331 | .omap4 = { |
@@ -1744,16 +1335,10 @@ static struct omap_hwmod am33xx_timer1_hwmod = { | |||
1744 | }, | 1335 | }, |
1745 | }; | 1336 | }; |
1746 | 1337 | ||
1747 | static struct omap_hwmod_irq_info am33xx_timer2_irqs[] = { | ||
1748 | { .irq = 68 + OMAP_INTC_START, }, | ||
1749 | { .irq = -1 }, | ||
1750 | }; | ||
1751 | |||
1752 | static struct omap_hwmod am33xx_timer2_hwmod = { | 1338 | static struct omap_hwmod am33xx_timer2_hwmod = { |
1753 | .name = "timer2", | 1339 | .name = "timer2", |
1754 | .class = &am33xx_timer_hwmod_class, | 1340 | .class = &am33xx_timer_hwmod_class, |
1755 | .clkdm_name = "l4ls_clkdm", | 1341 | .clkdm_name = "l4ls_clkdm", |
1756 | .mpu_irqs = am33xx_timer2_irqs, | ||
1757 | .main_clk = "timer2_fck", | 1342 | .main_clk = "timer2_fck", |
1758 | .prcm = { | 1343 | .prcm = { |
1759 | .omap4 = { | 1344 | .omap4 = { |
@@ -1763,16 +1348,10 @@ static struct omap_hwmod am33xx_timer2_hwmod = { | |||
1763 | }, | 1348 | }, |
1764 | }; | 1349 | }; |
1765 | 1350 | ||
1766 | static struct omap_hwmod_irq_info am33xx_timer3_irqs[] = { | ||
1767 | { .irq = 69 + OMAP_INTC_START, }, | ||
1768 | { .irq = -1 }, | ||
1769 | }; | ||
1770 | |||
1771 | static struct omap_hwmod am33xx_timer3_hwmod = { | 1351 | static struct omap_hwmod am33xx_timer3_hwmod = { |
1772 | .name = "timer3", | 1352 | .name = "timer3", |
1773 | .class = &am33xx_timer_hwmod_class, | 1353 | .class = &am33xx_timer_hwmod_class, |
1774 | .clkdm_name = "l4ls_clkdm", | 1354 | .clkdm_name = "l4ls_clkdm", |
1775 | .mpu_irqs = am33xx_timer3_irqs, | ||
1776 | .main_clk = "timer3_fck", | 1355 | .main_clk = "timer3_fck", |
1777 | .prcm = { | 1356 | .prcm = { |
1778 | .omap4 = { | 1357 | .omap4 = { |
@@ -1782,16 +1361,10 @@ static struct omap_hwmod am33xx_timer3_hwmod = { | |||
1782 | }, | 1361 | }, |
1783 | }; | 1362 | }; |
1784 | 1363 | ||
1785 | static struct omap_hwmod_irq_info am33xx_timer4_irqs[] = { | ||
1786 | { .irq = 92 + OMAP_INTC_START, }, | ||
1787 | { .irq = -1 }, | ||
1788 | }; | ||
1789 | |||
1790 | static struct omap_hwmod am33xx_timer4_hwmod = { | 1364 | static struct omap_hwmod am33xx_timer4_hwmod = { |
1791 | .name = "timer4", | 1365 | .name = "timer4", |
1792 | .class = &am33xx_timer_hwmod_class, | 1366 | .class = &am33xx_timer_hwmod_class, |
1793 | .clkdm_name = "l4ls_clkdm", | 1367 | .clkdm_name = "l4ls_clkdm", |
1794 | .mpu_irqs = am33xx_timer4_irqs, | ||
1795 | .main_clk = "timer4_fck", | 1368 | .main_clk = "timer4_fck", |
1796 | .prcm = { | 1369 | .prcm = { |
1797 | .omap4 = { | 1370 | .omap4 = { |
@@ -1801,16 +1374,10 @@ static struct omap_hwmod am33xx_timer4_hwmod = { | |||
1801 | }, | 1374 | }, |
1802 | }; | 1375 | }; |
1803 | 1376 | ||
1804 | static struct omap_hwmod_irq_info am33xx_timer5_irqs[] = { | ||
1805 | { .irq = 93 + OMAP_INTC_START, }, | ||
1806 | { .irq = -1 }, | ||
1807 | }; | ||
1808 | |||
1809 | static struct omap_hwmod am33xx_timer5_hwmod = { | 1377 | static struct omap_hwmod am33xx_timer5_hwmod = { |
1810 | .name = "timer5", | 1378 | .name = "timer5", |
1811 | .class = &am33xx_timer_hwmod_class, | 1379 | .class = &am33xx_timer_hwmod_class, |
1812 | .clkdm_name = "l4ls_clkdm", | 1380 | .clkdm_name = "l4ls_clkdm", |
1813 | .mpu_irqs = am33xx_timer5_irqs, | ||
1814 | .main_clk = "timer5_fck", | 1381 | .main_clk = "timer5_fck", |
1815 | .prcm = { | 1382 | .prcm = { |
1816 | .omap4 = { | 1383 | .omap4 = { |
@@ -1820,16 +1387,10 @@ static struct omap_hwmod am33xx_timer5_hwmod = { | |||
1820 | }, | 1387 | }, |
1821 | }; | 1388 | }; |
1822 | 1389 | ||
1823 | static struct omap_hwmod_irq_info am33xx_timer6_irqs[] = { | ||
1824 | { .irq = 94 + OMAP_INTC_START, }, | ||
1825 | { .irq = -1 }, | ||
1826 | }; | ||
1827 | |||
1828 | static struct omap_hwmod am33xx_timer6_hwmod = { | 1390 | static struct omap_hwmod am33xx_timer6_hwmod = { |
1829 | .name = "timer6", | 1391 | .name = "timer6", |
1830 | .class = &am33xx_timer_hwmod_class, | 1392 | .class = &am33xx_timer_hwmod_class, |
1831 | .clkdm_name = "l4ls_clkdm", | 1393 | .clkdm_name = "l4ls_clkdm", |
1832 | .mpu_irqs = am33xx_timer6_irqs, | ||
1833 | .main_clk = "timer6_fck", | 1394 | .main_clk = "timer6_fck", |
1834 | .prcm = { | 1395 | .prcm = { |
1835 | .omap4 = { | 1396 | .omap4 = { |
@@ -1839,16 +1400,10 @@ static struct omap_hwmod am33xx_timer6_hwmod = { | |||
1839 | }, | 1400 | }, |
1840 | }; | 1401 | }; |
1841 | 1402 | ||
1842 | static struct omap_hwmod_irq_info am33xx_timer7_irqs[] = { | ||
1843 | { .irq = 95 + OMAP_INTC_START, }, | ||
1844 | { .irq = -1 }, | ||
1845 | }; | ||
1846 | |||
1847 | static struct omap_hwmod am33xx_timer7_hwmod = { | 1403 | static struct omap_hwmod am33xx_timer7_hwmod = { |
1848 | .name = "timer7", | 1404 | .name = "timer7", |
1849 | .class = &am33xx_timer_hwmod_class, | 1405 | .class = &am33xx_timer_hwmod_class, |
1850 | .clkdm_name = "l4ls_clkdm", | 1406 | .clkdm_name = "l4ls_clkdm", |
1851 | .mpu_irqs = am33xx_timer7_irqs, | ||
1852 | .main_clk = "timer7_fck", | 1407 | .main_clk = "timer7_fck", |
1853 | .prcm = { | 1408 | .prcm = { |
1854 | .omap4 = { | 1409 | .omap4 = { |
@@ -1863,18 +1418,10 @@ static struct omap_hwmod_class am33xx_tpcc_hwmod_class = { | |||
1863 | .name = "tpcc", | 1418 | .name = "tpcc", |
1864 | }; | 1419 | }; |
1865 | 1420 | ||
1866 | static struct omap_hwmod_irq_info am33xx_tpcc_irqs[] = { | ||
1867 | { .name = "edma0", .irq = 12 + OMAP_INTC_START, }, | ||
1868 | { .name = "edma0_mperr", .irq = 13 + OMAP_INTC_START, }, | ||
1869 | { .name = "edma0_err", .irq = 14 + OMAP_INTC_START, }, | ||
1870 | { .irq = -1 }, | ||
1871 | }; | ||
1872 | |||
1873 | static struct omap_hwmod am33xx_tpcc_hwmod = { | 1421 | static struct omap_hwmod am33xx_tpcc_hwmod = { |
1874 | .name = "tpcc", | 1422 | .name = "tpcc", |
1875 | .class = &am33xx_tpcc_hwmod_class, | 1423 | .class = &am33xx_tpcc_hwmod_class, |
1876 | .clkdm_name = "l3_clkdm", | 1424 | .clkdm_name = "l3_clkdm", |
1877 | .mpu_irqs = am33xx_tpcc_irqs, | ||
1878 | .main_clk = "l3_gclk", | 1425 | .main_clk = "l3_gclk", |
1879 | .prcm = { | 1426 | .prcm = { |
1880 | .omap4 = { | 1427 | .omap4 = { |
@@ -1900,16 +1447,10 @@ static struct omap_hwmod_class am33xx_tptc_hwmod_class = { | |||
1900 | }; | 1447 | }; |
1901 | 1448 | ||
1902 | /* tptc0 */ | 1449 | /* tptc0 */ |
1903 | static struct omap_hwmod_irq_info am33xx_tptc0_irqs[] = { | ||
1904 | { .irq = 112 + OMAP_INTC_START, }, | ||
1905 | { .irq = -1 }, | ||
1906 | }; | ||
1907 | |||
1908 | static struct omap_hwmod am33xx_tptc0_hwmod = { | 1450 | static struct omap_hwmod am33xx_tptc0_hwmod = { |
1909 | .name = "tptc0", | 1451 | .name = "tptc0", |
1910 | .class = &am33xx_tptc_hwmod_class, | 1452 | .class = &am33xx_tptc_hwmod_class, |
1911 | .clkdm_name = "l3_clkdm", | 1453 | .clkdm_name = "l3_clkdm", |
1912 | .mpu_irqs = am33xx_tptc0_irqs, | ||
1913 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, | 1454 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, |
1914 | .main_clk = "l3_gclk", | 1455 | .main_clk = "l3_gclk", |
1915 | .prcm = { | 1456 | .prcm = { |
@@ -1921,16 +1462,10 @@ static struct omap_hwmod am33xx_tptc0_hwmod = { | |||
1921 | }; | 1462 | }; |
1922 | 1463 | ||
1923 | /* tptc1 */ | 1464 | /* tptc1 */ |
1924 | static struct omap_hwmod_irq_info am33xx_tptc1_irqs[] = { | ||
1925 | { .irq = 113 + OMAP_INTC_START, }, | ||
1926 | { .irq = -1 }, | ||
1927 | }; | ||
1928 | |||
1929 | static struct omap_hwmod am33xx_tptc1_hwmod = { | 1465 | static struct omap_hwmod am33xx_tptc1_hwmod = { |
1930 | .name = "tptc1", | 1466 | .name = "tptc1", |
1931 | .class = &am33xx_tptc_hwmod_class, | 1467 | .class = &am33xx_tptc_hwmod_class, |
1932 | .clkdm_name = "l3_clkdm", | 1468 | .clkdm_name = "l3_clkdm", |
1933 | .mpu_irqs = am33xx_tptc1_irqs, | ||
1934 | .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), | 1469 | .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), |
1935 | .main_clk = "l3_gclk", | 1470 | .main_clk = "l3_gclk", |
1936 | .prcm = { | 1471 | .prcm = { |
@@ -1942,16 +1477,10 @@ static struct omap_hwmod am33xx_tptc1_hwmod = { | |||
1942 | }; | 1477 | }; |
1943 | 1478 | ||
1944 | /* tptc2 */ | 1479 | /* tptc2 */ |
1945 | static struct omap_hwmod_irq_info am33xx_tptc2_irqs[] = { | ||
1946 | { .irq = 114 + OMAP_INTC_START, }, | ||
1947 | { .irq = -1 }, | ||
1948 | }; | ||
1949 | |||
1950 | static struct omap_hwmod am33xx_tptc2_hwmod = { | 1480 | static struct omap_hwmod am33xx_tptc2_hwmod = { |
1951 | .name = "tptc2", | 1481 | .name = "tptc2", |
1952 | .class = &am33xx_tptc_hwmod_class, | 1482 | .class = &am33xx_tptc_hwmod_class, |
1953 | .clkdm_name = "l3_clkdm", | 1483 | .clkdm_name = "l3_clkdm", |
1954 | .mpu_irqs = am33xx_tptc2_irqs, | ||
1955 | .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), | 1484 | .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), |
1956 | .main_clk = "l3_gclk", | 1485 | .main_clk = "l3_gclk", |
1957 | .prcm = { | 1486 | .prcm = { |
@@ -1980,24 +1509,11 @@ static struct omap_hwmod_class uart_class = { | |||
1980 | }; | 1509 | }; |
1981 | 1510 | ||
1982 | /* uart1 */ | 1511 | /* uart1 */ |
1983 | static struct omap_hwmod_dma_info uart1_edma_reqs[] = { | ||
1984 | { .name = "tx", .dma_req = 26, }, | ||
1985 | { .name = "rx", .dma_req = 27, }, | ||
1986 | { .dma_req = -1 } | ||
1987 | }; | ||
1988 | |||
1989 | static struct omap_hwmod_irq_info am33xx_uart1_irqs[] = { | ||
1990 | { .irq = 72 + OMAP_INTC_START, }, | ||
1991 | { .irq = -1 }, | ||
1992 | }; | ||
1993 | |||
1994 | static struct omap_hwmod am33xx_uart1_hwmod = { | 1512 | static struct omap_hwmod am33xx_uart1_hwmod = { |
1995 | .name = "uart1", | 1513 | .name = "uart1", |
1996 | .class = &uart_class, | 1514 | .class = &uart_class, |
1997 | .clkdm_name = "l4_wkup_clkdm", | 1515 | .clkdm_name = "l4_wkup_clkdm", |
1998 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 1516 | .flags = DEBUG_AM33XXUART1_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
1999 | .mpu_irqs = am33xx_uart1_irqs, | ||
2000 | .sdma_reqs = uart1_edma_reqs, | ||
2001 | .main_clk = "dpll_per_m2_div4_wkupdm_ck", | 1517 | .main_clk = "dpll_per_m2_div4_wkupdm_ck", |
2002 | .prcm = { | 1518 | .prcm = { |
2003 | .omap4 = { | 1519 | .omap4 = { |
@@ -2007,25 +1523,11 @@ static struct omap_hwmod am33xx_uart1_hwmod = { | |||
2007 | }, | 1523 | }, |
2008 | }; | 1524 | }; |
2009 | 1525 | ||
2010 | /* uart2 */ | ||
2011 | static struct omap_hwmod_dma_info uart2_edma_reqs[] = { | ||
2012 | { .name = "tx", .dma_req = 28, }, | ||
2013 | { .name = "rx", .dma_req = 29, }, | ||
2014 | { .dma_req = -1 } | ||
2015 | }; | ||
2016 | |||
2017 | static struct omap_hwmod_irq_info am33xx_uart2_irqs[] = { | ||
2018 | { .irq = 73 + OMAP_INTC_START, }, | ||
2019 | { .irq = -1 }, | ||
2020 | }; | ||
2021 | |||
2022 | static struct omap_hwmod am33xx_uart2_hwmod = { | 1526 | static struct omap_hwmod am33xx_uart2_hwmod = { |
2023 | .name = "uart2", | 1527 | .name = "uart2", |
2024 | .class = &uart_class, | 1528 | .class = &uart_class, |
2025 | .clkdm_name = "l4ls_clkdm", | 1529 | .clkdm_name = "l4ls_clkdm", |
2026 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 1530 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
2027 | .mpu_irqs = am33xx_uart2_irqs, | ||
2028 | .sdma_reqs = uart2_edma_reqs, | ||
2029 | .main_clk = "dpll_per_m2_div4_ck", | 1531 | .main_clk = "dpll_per_m2_div4_ck", |
2030 | .prcm = { | 1532 | .prcm = { |
2031 | .omap4 = { | 1533 | .omap4 = { |
@@ -2036,24 +1538,11 @@ static struct omap_hwmod am33xx_uart2_hwmod = { | |||
2036 | }; | 1538 | }; |
2037 | 1539 | ||
2038 | /* uart3 */ | 1540 | /* uart3 */ |
2039 | static struct omap_hwmod_dma_info uart3_edma_reqs[] = { | ||
2040 | { .name = "tx", .dma_req = 30, }, | ||
2041 | { .name = "rx", .dma_req = 31, }, | ||
2042 | { .dma_req = -1 } | ||
2043 | }; | ||
2044 | |||
2045 | static struct omap_hwmod_irq_info am33xx_uart3_irqs[] = { | ||
2046 | { .irq = 74 + OMAP_INTC_START, }, | ||
2047 | { .irq = -1 }, | ||
2048 | }; | ||
2049 | |||
2050 | static struct omap_hwmod am33xx_uart3_hwmod = { | 1541 | static struct omap_hwmod am33xx_uart3_hwmod = { |
2051 | .name = "uart3", | 1542 | .name = "uart3", |
2052 | .class = &uart_class, | 1543 | .class = &uart_class, |
2053 | .clkdm_name = "l4ls_clkdm", | 1544 | .clkdm_name = "l4ls_clkdm", |
2054 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 1545 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
2055 | .mpu_irqs = am33xx_uart3_irqs, | ||
2056 | .sdma_reqs = uart3_edma_reqs, | ||
2057 | .main_clk = "dpll_per_m2_div4_ck", | 1546 | .main_clk = "dpll_per_m2_div4_ck", |
2058 | .prcm = { | 1547 | .prcm = { |
2059 | .omap4 = { | 1548 | .omap4 = { |
@@ -2063,18 +1552,11 @@ static struct omap_hwmod am33xx_uart3_hwmod = { | |||
2063 | }, | 1552 | }, |
2064 | }; | 1553 | }; |
2065 | 1554 | ||
2066 | static struct omap_hwmod_irq_info am33xx_uart4_irqs[] = { | ||
2067 | { .irq = 44 + OMAP_INTC_START, }, | ||
2068 | { .irq = -1 }, | ||
2069 | }; | ||
2070 | |||
2071 | static struct omap_hwmod am33xx_uart4_hwmod = { | 1555 | static struct omap_hwmod am33xx_uart4_hwmod = { |
2072 | .name = "uart4", | 1556 | .name = "uart4", |
2073 | .class = &uart_class, | 1557 | .class = &uart_class, |
2074 | .clkdm_name = "l4ls_clkdm", | 1558 | .clkdm_name = "l4ls_clkdm", |
2075 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 1559 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
2076 | .mpu_irqs = am33xx_uart4_irqs, | ||
2077 | .sdma_reqs = uart1_edma_reqs, | ||
2078 | .main_clk = "dpll_per_m2_div4_ck", | 1560 | .main_clk = "dpll_per_m2_div4_ck", |
2079 | .prcm = { | 1561 | .prcm = { |
2080 | .omap4 = { | 1562 | .omap4 = { |
@@ -2084,18 +1566,11 @@ static struct omap_hwmod am33xx_uart4_hwmod = { | |||
2084 | }, | 1566 | }, |
2085 | }; | 1567 | }; |
2086 | 1568 | ||
2087 | static struct omap_hwmod_irq_info am33xx_uart5_irqs[] = { | ||
2088 | { .irq = 45 + OMAP_INTC_START, }, | ||
2089 | { .irq = -1 }, | ||
2090 | }; | ||
2091 | |||
2092 | static struct omap_hwmod am33xx_uart5_hwmod = { | 1569 | static struct omap_hwmod am33xx_uart5_hwmod = { |
2093 | .name = "uart5", | 1570 | .name = "uart5", |
2094 | .class = &uart_class, | 1571 | .class = &uart_class, |
2095 | .clkdm_name = "l4ls_clkdm", | 1572 | .clkdm_name = "l4ls_clkdm", |
2096 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 1573 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
2097 | .mpu_irqs = am33xx_uart5_irqs, | ||
2098 | .sdma_reqs = uart1_edma_reqs, | ||
2099 | .main_clk = "dpll_per_m2_div4_ck", | 1574 | .main_clk = "dpll_per_m2_div4_ck", |
2100 | .prcm = { | 1575 | .prcm = { |
2101 | .omap4 = { | 1576 | .omap4 = { |
@@ -2105,18 +1580,11 @@ static struct omap_hwmod am33xx_uart5_hwmod = { | |||
2105 | }, | 1580 | }, |
2106 | }; | 1581 | }; |
2107 | 1582 | ||
2108 | static struct omap_hwmod_irq_info am33xx_uart6_irqs[] = { | ||
2109 | { .irq = 46 + OMAP_INTC_START, }, | ||
2110 | { .irq = -1 }, | ||
2111 | }; | ||
2112 | |||
2113 | static struct omap_hwmod am33xx_uart6_hwmod = { | 1583 | static struct omap_hwmod am33xx_uart6_hwmod = { |
2114 | .name = "uart6", | 1584 | .name = "uart6", |
2115 | .class = &uart_class, | 1585 | .class = &uart_class, |
2116 | .clkdm_name = "l4ls_clkdm", | 1586 | .clkdm_name = "l4ls_clkdm", |
2117 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 1587 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
2118 | .mpu_irqs = am33xx_uart6_irqs, | ||
2119 | .sdma_reqs = uart1_edma_reqs, | ||
2120 | .main_clk = "dpll_per_m2_div4_ck", | 1588 | .main_clk = "dpll_per_m2_div4_ck", |
2121 | .prcm = { | 1589 | .prcm = { |
2122 | .omap4 = { | 1590 | .omap4 = { |
@@ -2180,18 +1648,10 @@ static struct omap_hwmod_class am33xx_usbotg_class = { | |||
2180 | .sysc = &am33xx_usbhsotg_sysc, | 1648 | .sysc = &am33xx_usbhsotg_sysc, |
2181 | }; | 1649 | }; |
2182 | 1650 | ||
2183 | static struct omap_hwmod_irq_info am33xx_usbss_mpu_irqs[] = { | ||
2184 | { .name = "usbss-irq", .irq = 17 + OMAP_INTC_START, }, | ||
2185 | { .name = "musb0-irq", .irq = 18 + OMAP_INTC_START, }, | ||
2186 | { .name = "musb1-irq", .irq = 19 + OMAP_INTC_START, }, | ||
2187 | { .irq = -1, }, | ||
2188 | }; | ||
2189 | |||
2190 | static struct omap_hwmod am33xx_usbss_hwmod = { | 1651 | static struct omap_hwmod am33xx_usbss_hwmod = { |
2191 | .name = "usb_otg_hs", | 1652 | .name = "usb_otg_hs", |
2192 | .class = &am33xx_usbotg_class, | 1653 | .class = &am33xx_usbotg_class, |
2193 | .clkdm_name = "l3s_clkdm", | 1654 | .clkdm_name = "l3s_clkdm", |
2194 | .mpu_irqs = am33xx_usbss_mpu_irqs, | ||
2195 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, | 1655 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, |
2196 | .main_clk = "usbotg_fck", | 1656 | .main_clk = "usbotg_fck", |
2197 | .prcm = { | 1657 | .prcm = { |
@@ -2207,14 +1667,6 @@ static struct omap_hwmod am33xx_usbss_hwmod = { | |||
2207 | * Interfaces | 1667 | * Interfaces |
2208 | */ | 1668 | */ |
2209 | 1669 | ||
2210 | /* l4 fw -> emif fw */ | ||
2211 | static struct omap_hwmod_ocp_if am33xx_l4_fw__emif_fw = { | ||
2212 | .master = &am33xx_l4_fw_hwmod, | ||
2213 | .slave = &am33xx_emif_fw_hwmod, | ||
2214 | .clk = "l4fw_gclk", | ||
2215 | .user = OCP_USER_MPU, | ||
2216 | }; | ||
2217 | |||
2218 | static struct omap_hwmod_addr_space am33xx_emif_addrs[] = { | 1670 | static struct omap_hwmod_addr_space am33xx_emif_addrs[] = { |
2219 | { | 1671 | { |
2220 | .pa_start = 0x4c000000, | 1672 | .pa_start = 0x4c000000, |
@@ -2272,14 +1724,6 @@ static struct omap_hwmod_ocp_if am33xx_l3_s__l4_wkup = { | |||
2272 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1724 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2273 | }; | 1725 | }; |
2274 | 1726 | ||
2275 | /* l3 s -> l4 fw */ | ||
2276 | static struct omap_hwmod_ocp_if am33xx_l3_s__l4_fw = { | ||
2277 | .master = &am33xx_l3_s_hwmod, | ||
2278 | .slave = &am33xx_l4_fw_hwmod, | ||
2279 | .clk = "l3s_gclk", | ||
2280 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2281 | }; | ||
2282 | |||
2283 | /* l3 main -> l3 instr */ | 1727 | /* l3 main -> l3 instr */ |
2284 | static struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr = { | 1728 | static struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr = { |
2285 | .master = &am33xx_l3_main_hwmod, | 1729 | .master = &am33xx_l3_main_hwmod, |
@@ -2329,261 +1773,114 @@ static struct omap_hwmod_ocp_if am33xx_gfx__l3_main = { | |||
2329 | }; | 1773 | }; |
2330 | 1774 | ||
2331 | /* l4 wkup -> wkup m3 */ | 1775 | /* l4 wkup -> wkup m3 */ |
2332 | static struct omap_hwmod_addr_space am33xx_wkup_m3_addrs[] = { | ||
2333 | { | ||
2334 | .name = "umem", | ||
2335 | .pa_start = 0x44d00000, | ||
2336 | .pa_end = 0x44d00000 + SZ_16K - 1, | ||
2337 | .flags = ADDR_TYPE_RT | ||
2338 | }, | ||
2339 | { | ||
2340 | .name = "dmem", | ||
2341 | .pa_start = 0x44d80000, | ||
2342 | .pa_end = 0x44d80000 + SZ_8K - 1, | ||
2343 | .flags = ADDR_TYPE_RT | ||
2344 | }, | ||
2345 | { } | ||
2346 | }; | ||
2347 | |||
2348 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__wkup_m3 = { | 1776 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__wkup_m3 = { |
2349 | .master = &am33xx_l4_wkup_hwmod, | 1777 | .master = &am33xx_l4_wkup_hwmod, |
2350 | .slave = &am33xx_wkup_m3_hwmod, | 1778 | .slave = &am33xx_wkup_m3_hwmod, |
2351 | .clk = "dpll_core_m4_div2_ck", | 1779 | .clk = "dpll_core_m4_div2_ck", |
2352 | .addr = am33xx_wkup_m3_addrs, | ||
2353 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1780 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2354 | }; | 1781 | }; |
2355 | 1782 | ||
2356 | /* l4 hs -> pru-icss */ | 1783 | /* l4 hs -> pru-icss */ |
2357 | static struct omap_hwmod_addr_space am33xx_pruss_addrs[] = { | ||
2358 | { | ||
2359 | .pa_start = 0x4a300000, | ||
2360 | .pa_end = 0x4a300000 + SZ_512K - 1, | ||
2361 | .flags = ADDR_TYPE_RT | ||
2362 | }, | ||
2363 | { } | ||
2364 | }; | ||
2365 | |||
2366 | static struct omap_hwmod_ocp_if am33xx_l4_hs__pruss = { | 1784 | static struct omap_hwmod_ocp_if am33xx_l4_hs__pruss = { |
2367 | .master = &am33xx_l4_hs_hwmod, | 1785 | .master = &am33xx_l4_hs_hwmod, |
2368 | .slave = &am33xx_pruss_hwmod, | 1786 | .slave = &am33xx_pruss_hwmod, |
2369 | .clk = "dpll_core_m4_ck", | 1787 | .clk = "dpll_core_m4_ck", |
2370 | .addr = am33xx_pruss_addrs, | ||
2371 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1788 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2372 | }; | 1789 | }; |
2373 | 1790 | ||
2374 | /* l3 main -> gfx */ | 1791 | /* l3 main -> gfx */ |
2375 | static struct omap_hwmod_addr_space am33xx_gfx_addrs[] = { | ||
2376 | { | ||
2377 | .pa_start = 0x56000000, | ||
2378 | .pa_end = 0x56000000 + SZ_16M - 1, | ||
2379 | .flags = ADDR_TYPE_RT | ||
2380 | }, | ||
2381 | { } | ||
2382 | }; | ||
2383 | |||
2384 | static struct omap_hwmod_ocp_if am33xx_l3_main__gfx = { | 1792 | static struct omap_hwmod_ocp_if am33xx_l3_main__gfx = { |
2385 | .master = &am33xx_l3_main_hwmod, | 1793 | .master = &am33xx_l3_main_hwmod, |
2386 | .slave = &am33xx_gfx_hwmod, | 1794 | .slave = &am33xx_gfx_hwmod, |
2387 | .clk = "dpll_core_m4_ck", | 1795 | .clk = "dpll_core_m4_ck", |
2388 | .addr = am33xx_gfx_addrs, | ||
2389 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1796 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2390 | }; | 1797 | }; |
2391 | 1798 | ||
2392 | /* l4 wkup -> smartreflex0 */ | 1799 | /* l4 wkup -> smartreflex0 */ |
2393 | static struct omap_hwmod_addr_space am33xx_smartreflex0_addrs[] = { | ||
2394 | { | ||
2395 | .pa_start = 0x44e37000, | ||
2396 | .pa_end = 0x44e37000 + SZ_4K - 1, | ||
2397 | .flags = ADDR_TYPE_RT | ||
2398 | }, | ||
2399 | { } | ||
2400 | }; | ||
2401 | |||
2402 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex0 = { | 1800 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex0 = { |
2403 | .master = &am33xx_l4_wkup_hwmod, | 1801 | .master = &am33xx_l4_wkup_hwmod, |
2404 | .slave = &am33xx_smartreflex0_hwmod, | 1802 | .slave = &am33xx_smartreflex0_hwmod, |
2405 | .clk = "dpll_core_m4_div2_ck", | 1803 | .clk = "dpll_core_m4_div2_ck", |
2406 | .addr = am33xx_smartreflex0_addrs, | ||
2407 | .user = OCP_USER_MPU, | 1804 | .user = OCP_USER_MPU, |
2408 | }; | 1805 | }; |
2409 | 1806 | ||
2410 | /* l4 wkup -> smartreflex1 */ | 1807 | /* l4 wkup -> smartreflex1 */ |
2411 | static struct omap_hwmod_addr_space am33xx_smartreflex1_addrs[] = { | ||
2412 | { | ||
2413 | .pa_start = 0x44e39000, | ||
2414 | .pa_end = 0x44e39000 + SZ_4K - 1, | ||
2415 | .flags = ADDR_TYPE_RT | ||
2416 | }, | ||
2417 | { } | ||
2418 | }; | ||
2419 | |||
2420 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex1 = { | 1808 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex1 = { |
2421 | .master = &am33xx_l4_wkup_hwmod, | 1809 | .master = &am33xx_l4_wkup_hwmod, |
2422 | .slave = &am33xx_smartreflex1_hwmod, | 1810 | .slave = &am33xx_smartreflex1_hwmod, |
2423 | .clk = "dpll_core_m4_div2_ck", | 1811 | .clk = "dpll_core_m4_div2_ck", |
2424 | .addr = am33xx_smartreflex1_addrs, | ||
2425 | .user = OCP_USER_MPU, | 1812 | .user = OCP_USER_MPU, |
2426 | }; | 1813 | }; |
2427 | 1814 | ||
2428 | /* l4 wkup -> control */ | 1815 | /* l4 wkup -> control */ |
2429 | static struct omap_hwmod_addr_space am33xx_control_addrs[] = { | ||
2430 | { | ||
2431 | .pa_start = 0x44e10000, | ||
2432 | .pa_end = 0x44e10000 + SZ_8K - 1, | ||
2433 | .flags = ADDR_TYPE_RT | ||
2434 | }, | ||
2435 | { } | ||
2436 | }; | ||
2437 | |||
2438 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__control = { | 1816 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__control = { |
2439 | .master = &am33xx_l4_wkup_hwmod, | 1817 | .master = &am33xx_l4_wkup_hwmod, |
2440 | .slave = &am33xx_control_hwmod, | 1818 | .slave = &am33xx_control_hwmod, |
2441 | .clk = "dpll_core_m4_div2_ck", | 1819 | .clk = "dpll_core_m4_div2_ck", |
2442 | .addr = am33xx_control_addrs, | ||
2443 | .user = OCP_USER_MPU, | 1820 | .user = OCP_USER_MPU, |
2444 | }; | 1821 | }; |
2445 | 1822 | ||
2446 | /* l4 wkup -> rtc */ | 1823 | /* l4 wkup -> rtc */ |
2447 | static struct omap_hwmod_addr_space am33xx_rtc_addrs[] = { | ||
2448 | { | ||
2449 | .pa_start = 0x44e3e000, | ||
2450 | .pa_end = 0x44e3e000 + SZ_4K - 1, | ||
2451 | .flags = ADDR_TYPE_RT | ||
2452 | }, | ||
2453 | { } | ||
2454 | }; | ||
2455 | |||
2456 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc = { | 1824 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc = { |
2457 | .master = &am33xx_l4_wkup_hwmod, | 1825 | .master = &am33xx_l4_wkup_hwmod, |
2458 | .slave = &am33xx_rtc_hwmod, | 1826 | .slave = &am33xx_rtc_hwmod, |
2459 | .clk = "clkdiv32k_ick", | 1827 | .clk = "clkdiv32k_ick", |
2460 | .addr = am33xx_rtc_addrs, | ||
2461 | .user = OCP_USER_MPU, | 1828 | .user = OCP_USER_MPU, |
2462 | }; | 1829 | }; |
2463 | 1830 | ||
2464 | /* l4 per/ls -> DCAN0 */ | 1831 | /* l4 per/ls -> DCAN0 */ |
2465 | static struct omap_hwmod_addr_space am33xx_dcan0_addrs[] = { | ||
2466 | { | ||
2467 | .pa_start = 0x481CC000, | ||
2468 | .pa_end = 0x481CC000 + SZ_4K - 1, | ||
2469 | .flags = ADDR_TYPE_RT | ||
2470 | }, | ||
2471 | { } | ||
2472 | }; | ||
2473 | |||
2474 | static struct omap_hwmod_ocp_if am33xx_l4_per__dcan0 = { | 1832 | static struct omap_hwmod_ocp_if am33xx_l4_per__dcan0 = { |
2475 | .master = &am33xx_l4_ls_hwmod, | 1833 | .master = &am33xx_l4_ls_hwmod, |
2476 | .slave = &am33xx_dcan0_hwmod, | 1834 | .slave = &am33xx_dcan0_hwmod, |
2477 | .clk = "l4ls_gclk", | 1835 | .clk = "l4ls_gclk", |
2478 | .addr = am33xx_dcan0_addrs, | ||
2479 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1836 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2480 | }; | 1837 | }; |
2481 | 1838 | ||
2482 | /* l4 per/ls -> DCAN1 */ | 1839 | /* l4 per/ls -> DCAN1 */ |
2483 | static struct omap_hwmod_addr_space am33xx_dcan1_addrs[] = { | ||
2484 | { | ||
2485 | .pa_start = 0x481D0000, | ||
2486 | .pa_end = 0x481D0000 + SZ_4K - 1, | ||
2487 | .flags = ADDR_TYPE_RT | ||
2488 | }, | ||
2489 | { } | ||
2490 | }; | ||
2491 | |||
2492 | static struct omap_hwmod_ocp_if am33xx_l4_per__dcan1 = { | 1840 | static struct omap_hwmod_ocp_if am33xx_l4_per__dcan1 = { |
2493 | .master = &am33xx_l4_ls_hwmod, | 1841 | .master = &am33xx_l4_ls_hwmod, |
2494 | .slave = &am33xx_dcan1_hwmod, | 1842 | .slave = &am33xx_dcan1_hwmod, |
2495 | .clk = "l4ls_gclk", | 1843 | .clk = "l4ls_gclk", |
2496 | .addr = am33xx_dcan1_addrs, | ||
2497 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1844 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2498 | }; | 1845 | }; |
2499 | 1846 | ||
2500 | /* l4 per/ls -> GPIO2 */ | 1847 | /* l4 per/ls -> GPIO2 */ |
2501 | static struct omap_hwmod_addr_space am33xx_gpio1_addrs[] = { | ||
2502 | { | ||
2503 | .pa_start = 0x4804C000, | ||
2504 | .pa_end = 0x4804C000 + SZ_4K - 1, | ||
2505 | .flags = ADDR_TYPE_RT, | ||
2506 | }, | ||
2507 | { } | ||
2508 | }; | ||
2509 | |||
2510 | static struct omap_hwmod_ocp_if am33xx_l4_per__gpio1 = { | 1848 | static struct omap_hwmod_ocp_if am33xx_l4_per__gpio1 = { |
2511 | .master = &am33xx_l4_ls_hwmod, | 1849 | .master = &am33xx_l4_ls_hwmod, |
2512 | .slave = &am33xx_gpio1_hwmod, | 1850 | .slave = &am33xx_gpio1_hwmod, |
2513 | .clk = "l4ls_gclk", | 1851 | .clk = "l4ls_gclk", |
2514 | .addr = am33xx_gpio1_addrs, | ||
2515 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1852 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2516 | }; | 1853 | }; |
2517 | 1854 | ||
2518 | /* l4 per/ls -> gpio3 */ | 1855 | /* l4 per/ls -> gpio3 */ |
2519 | static struct omap_hwmod_addr_space am33xx_gpio2_addrs[] = { | ||
2520 | { | ||
2521 | .pa_start = 0x481AC000, | ||
2522 | .pa_end = 0x481AC000 + SZ_4K - 1, | ||
2523 | .flags = ADDR_TYPE_RT, | ||
2524 | }, | ||
2525 | { } | ||
2526 | }; | ||
2527 | |||
2528 | static struct omap_hwmod_ocp_if am33xx_l4_per__gpio2 = { | 1856 | static struct omap_hwmod_ocp_if am33xx_l4_per__gpio2 = { |
2529 | .master = &am33xx_l4_ls_hwmod, | 1857 | .master = &am33xx_l4_ls_hwmod, |
2530 | .slave = &am33xx_gpio2_hwmod, | 1858 | .slave = &am33xx_gpio2_hwmod, |
2531 | .clk = "l4ls_gclk", | 1859 | .clk = "l4ls_gclk", |
2532 | .addr = am33xx_gpio2_addrs, | ||
2533 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1860 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2534 | }; | 1861 | }; |
2535 | 1862 | ||
2536 | /* l4 per/ls -> gpio4 */ | 1863 | /* l4 per/ls -> gpio4 */ |
2537 | static struct omap_hwmod_addr_space am33xx_gpio3_addrs[] = { | ||
2538 | { | ||
2539 | .pa_start = 0x481AE000, | ||
2540 | .pa_end = 0x481AE000 + SZ_4K - 1, | ||
2541 | .flags = ADDR_TYPE_RT, | ||
2542 | }, | ||
2543 | { } | ||
2544 | }; | ||
2545 | |||
2546 | static struct omap_hwmod_ocp_if am33xx_l4_per__gpio3 = { | 1864 | static struct omap_hwmod_ocp_if am33xx_l4_per__gpio3 = { |
2547 | .master = &am33xx_l4_ls_hwmod, | 1865 | .master = &am33xx_l4_ls_hwmod, |
2548 | .slave = &am33xx_gpio3_hwmod, | 1866 | .slave = &am33xx_gpio3_hwmod, |
2549 | .clk = "l4ls_gclk", | 1867 | .clk = "l4ls_gclk", |
2550 | .addr = am33xx_gpio3_addrs, | ||
2551 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1868 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2552 | }; | 1869 | }; |
2553 | 1870 | ||
2554 | /* L4 WKUP -> I2C1 */ | 1871 | /* L4 WKUP -> I2C1 */ |
2555 | static struct omap_hwmod_addr_space am33xx_i2c1_addr_space[] = { | ||
2556 | { | ||
2557 | .pa_start = 0x44E0B000, | ||
2558 | .pa_end = 0x44E0B000 + SZ_4K - 1, | ||
2559 | .flags = ADDR_TYPE_RT, | ||
2560 | }, | ||
2561 | { } | ||
2562 | }; | ||
2563 | |||
2564 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__i2c1 = { | 1872 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__i2c1 = { |
2565 | .master = &am33xx_l4_wkup_hwmod, | 1873 | .master = &am33xx_l4_wkup_hwmod, |
2566 | .slave = &am33xx_i2c1_hwmod, | 1874 | .slave = &am33xx_i2c1_hwmod, |
2567 | .clk = "dpll_core_m4_div2_ck", | 1875 | .clk = "dpll_core_m4_div2_ck", |
2568 | .addr = am33xx_i2c1_addr_space, | ||
2569 | .user = OCP_USER_MPU, | 1876 | .user = OCP_USER_MPU, |
2570 | }; | 1877 | }; |
2571 | 1878 | ||
2572 | /* L4 WKUP -> GPIO1 */ | 1879 | /* L4 WKUP -> GPIO1 */ |
2573 | static struct omap_hwmod_addr_space am33xx_gpio0_addrs[] = { | ||
2574 | { | ||
2575 | .pa_start = 0x44E07000, | ||
2576 | .pa_end = 0x44E07000 + SZ_4K - 1, | ||
2577 | .flags = ADDR_TYPE_RT, | ||
2578 | }, | ||
2579 | { } | ||
2580 | }; | ||
2581 | |||
2582 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__gpio0 = { | 1880 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__gpio0 = { |
2583 | .master = &am33xx_l4_wkup_hwmod, | 1881 | .master = &am33xx_l4_wkup_hwmod, |
2584 | .slave = &am33xx_gpio0_hwmod, | 1882 | .slave = &am33xx_gpio0_hwmod, |
2585 | .clk = "dpll_core_m4_div2_ck", | 1883 | .clk = "dpll_core_m4_div2_ck", |
2586 | .addr = am33xx_gpio0_addrs, | ||
2587 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1884 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
2588 | }; | 1885 | }; |
2589 | 1886 | ||
@@ -2605,41 +1902,16 @@ static struct omap_hwmod_ocp_if am33xx_l4_wkup__adc_tsc = { | |||
2605 | .user = OCP_USER_MPU, | 1902 | .user = OCP_USER_MPU, |
2606 | }; | 1903 | }; |
2607 | 1904 | ||
2608 | static struct omap_hwmod_addr_space am33xx_cpgmac0_addr_space[] = { | ||
2609 | /* cpsw ss */ | ||
2610 | { | ||
2611 | .pa_start = 0x4a100000, | ||
2612 | .pa_end = 0x4a100000 + SZ_2K - 1, | ||
2613 | }, | ||
2614 | /* cpsw wr */ | ||
2615 | { | ||
2616 | .pa_start = 0x4a101200, | ||
2617 | .pa_end = 0x4a101200 + SZ_256 - 1, | ||
2618 | .flags = ADDR_TYPE_RT, | ||
2619 | }, | ||
2620 | { } | ||
2621 | }; | ||
2622 | |||
2623 | static struct omap_hwmod_ocp_if am33xx_l4_hs__cpgmac0 = { | 1905 | static struct omap_hwmod_ocp_if am33xx_l4_hs__cpgmac0 = { |
2624 | .master = &am33xx_l4_hs_hwmod, | 1906 | .master = &am33xx_l4_hs_hwmod, |
2625 | .slave = &am33xx_cpgmac0_hwmod, | 1907 | .slave = &am33xx_cpgmac0_hwmod, |
2626 | .clk = "cpsw_125mhz_gclk", | 1908 | .clk = "cpsw_125mhz_gclk", |
2627 | .addr = am33xx_cpgmac0_addr_space, | ||
2628 | .user = OCP_USER_MPU, | 1909 | .user = OCP_USER_MPU, |
2629 | }; | 1910 | }; |
2630 | 1911 | ||
2631 | static struct omap_hwmod_addr_space am33xx_mdio_addr_space[] = { | ||
2632 | { | ||
2633 | .pa_start = 0x4A101000, | ||
2634 | .pa_end = 0x4A101000 + SZ_256 - 1, | ||
2635 | }, | ||
2636 | { } | ||
2637 | }; | ||
2638 | |||
2639 | static struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio = { | 1912 | static struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio = { |
2640 | .master = &am33xx_cpgmac0_hwmod, | 1913 | .master = &am33xx_cpgmac0_hwmod, |
2641 | .slave = &am33xx_mdio_hwmod, | 1914 | .slave = &am33xx_mdio_hwmod, |
2642 | .addr = am33xx_mdio_addr_space, | ||
2643 | .user = OCP_USER_MPU, | 1915 | .user = OCP_USER_MPU, |
2644 | }; | 1916 | }; |
2645 | 1917 | ||
@@ -2677,51 +1949,24 @@ static struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss0 = { | |||
2677 | .user = OCP_USER_MPU, | 1949 | .user = OCP_USER_MPU, |
2678 | }; | 1950 | }; |
2679 | 1951 | ||
2680 | static struct omap_hwmod_addr_space am33xx_ecap0_addr_space[] = { | ||
2681 | { | ||
2682 | .pa_start = 0x48300100, | ||
2683 | .pa_end = 0x48300100 + SZ_128 - 1, | ||
2684 | }, | ||
2685 | { } | ||
2686 | }; | ||
2687 | |||
2688 | static struct omap_hwmod_ocp_if am33xx_epwmss0__ecap0 = { | 1952 | static struct omap_hwmod_ocp_if am33xx_epwmss0__ecap0 = { |
2689 | .master = &am33xx_epwmss0_hwmod, | 1953 | .master = &am33xx_epwmss0_hwmod, |
2690 | .slave = &am33xx_ecap0_hwmod, | 1954 | .slave = &am33xx_ecap0_hwmod, |
2691 | .clk = "l4ls_gclk", | 1955 | .clk = "l4ls_gclk", |
2692 | .addr = am33xx_ecap0_addr_space, | ||
2693 | .user = OCP_USER_MPU, | 1956 | .user = OCP_USER_MPU, |
2694 | }; | 1957 | }; |
2695 | 1958 | ||
2696 | static struct omap_hwmod_addr_space am33xx_eqep0_addr_space[] = { | ||
2697 | { | ||
2698 | .pa_start = 0x48300180, | ||
2699 | .pa_end = 0x48300180 + SZ_128 - 1, | ||
2700 | }, | ||
2701 | { } | ||
2702 | }; | ||
2703 | |||
2704 | static struct omap_hwmod_ocp_if am33xx_epwmss0__eqep0 = { | 1959 | static struct omap_hwmod_ocp_if am33xx_epwmss0__eqep0 = { |
2705 | .master = &am33xx_epwmss0_hwmod, | 1960 | .master = &am33xx_epwmss0_hwmod, |
2706 | .slave = &am33xx_eqep0_hwmod, | 1961 | .slave = &am33xx_eqep0_hwmod, |
2707 | .clk = "l4ls_gclk", | 1962 | .clk = "l4ls_gclk", |
2708 | .addr = am33xx_eqep0_addr_space, | ||
2709 | .user = OCP_USER_MPU, | 1963 | .user = OCP_USER_MPU, |
2710 | }; | 1964 | }; |
2711 | 1965 | ||
2712 | static struct omap_hwmod_addr_space am33xx_ehrpwm0_addr_space[] = { | ||
2713 | { | ||
2714 | .pa_start = 0x48300200, | ||
2715 | .pa_end = 0x48300200 + SZ_128 - 1, | ||
2716 | }, | ||
2717 | { } | ||
2718 | }; | ||
2719 | |||
2720 | static struct omap_hwmod_ocp_if am33xx_epwmss0__ehrpwm0 = { | 1966 | static struct omap_hwmod_ocp_if am33xx_epwmss0__ehrpwm0 = { |
2721 | .master = &am33xx_epwmss0_hwmod, | 1967 | .master = &am33xx_epwmss0_hwmod, |
2722 | .slave = &am33xx_ehrpwm0_hwmod, | 1968 | .slave = &am33xx_ehrpwm0_hwmod, |
2723 | .clk = "l4ls_gclk", | 1969 | .clk = "l4ls_gclk", |
2724 | .addr = am33xx_ehrpwm0_addr_space, | ||
2725 | .user = OCP_USER_MPU, | 1970 | .user = OCP_USER_MPU, |
2726 | }; | 1971 | }; |
2727 | 1972 | ||
@@ -2743,51 +1988,24 @@ static struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss1 = { | |||
2743 | .user = OCP_USER_MPU, | 1988 | .user = OCP_USER_MPU, |
2744 | }; | 1989 | }; |
2745 | 1990 | ||
2746 | static struct omap_hwmod_addr_space am33xx_ecap1_addr_space[] = { | ||
2747 | { | ||
2748 | .pa_start = 0x48302100, | ||
2749 | .pa_end = 0x48302100 + SZ_128 - 1, | ||
2750 | }, | ||
2751 | { } | ||
2752 | }; | ||
2753 | |||
2754 | static struct omap_hwmod_ocp_if am33xx_epwmss1__ecap1 = { | 1991 | static struct omap_hwmod_ocp_if am33xx_epwmss1__ecap1 = { |
2755 | .master = &am33xx_epwmss1_hwmod, | 1992 | .master = &am33xx_epwmss1_hwmod, |
2756 | .slave = &am33xx_ecap1_hwmod, | 1993 | .slave = &am33xx_ecap1_hwmod, |
2757 | .clk = "l4ls_gclk", | 1994 | .clk = "l4ls_gclk", |
2758 | .addr = am33xx_ecap1_addr_space, | ||
2759 | .user = OCP_USER_MPU, | 1995 | .user = OCP_USER_MPU, |
2760 | }; | 1996 | }; |
2761 | 1997 | ||
2762 | static struct omap_hwmod_addr_space am33xx_eqep1_addr_space[] = { | ||
2763 | { | ||
2764 | .pa_start = 0x48302180, | ||
2765 | .pa_end = 0x48302180 + SZ_128 - 1, | ||
2766 | }, | ||
2767 | { } | ||
2768 | }; | ||
2769 | |||
2770 | static struct omap_hwmod_ocp_if am33xx_epwmss1__eqep1 = { | 1998 | static struct omap_hwmod_ocp_if am33xx_epwmss1__eqep1 = { |
2771 | .master = &am33xx_epwmss1_hwmod, | 1999 | .master = &am33xx_epwmss1_hwmod, |
2772 | .slave = &am33xx_eqep1_hwmod, | 2000 | .slave = &am33xx_eqep1_hwmod, |
2773 | .clk = "l4ls_gclk", | 2001 | .clk = "l4ls_gclk", |
2774 | .addr = am33xx_eqep1_addr_space, | ||
2775 | .user = OCP_USER_MPU, | 2002 | .user = OCP_USER_MPU, |
2776 | }; | 2003 | }; |
2777 | 2004 | ||
2778 | static struct omap_hwmod_addr_space am33xx_ehrpwm1_addr_space[] = { | ||
2779 | { | ||
2780 | .pa_start = 0x48302200, | ||
2781 | .pa_end = 0x48302200 + SZ_128 - 1, | ||
2782 | }, | ||
2783 | { } | ||
2784 | }; | ||
2785 | |||
2786 | static struct omap_hwmod_ocp_if am33xx_epwmss1__ehrpwm1 = { | 2005 | static struct omap_hwmod_ocp_if am33xx_epwmss1__ehrpwm1 = { |
2787 | .master = &am33xx_epwmss1_hwmod, | 2006 | .master = &am33xx_epwmss1_hwmod, |
2788 | .slave = &am33xx_ehrpwm1_hwmod, | 2007 | .slave = &am33xx_ehrpwm1_hwmod, |
2789 | .clk = "l4ls_gclk", | 2008 | .clk = "l4ls_gclk", |
2790 | .addr = am33xx_ehrpwm1_addr_space, | ||
2791 | .user = OCP_USER_MPU, | 2009 | .user = OCP_USER_MPU, |
2792 | }; | 2010 | }; |
2793 | 2011 | ||
@@ -2808,51 +2026,24 @@ static struct omap_hwmod_ocp_if am33xx_l4_ls__epwmss2 = { | |||
2808 | .user = OCP_USER_MPU, | 2026 | .user = OCP_USER_MPU, |
2809 | }; | 2027 | }; |
2810 | 2028 | ||
2811 | static struct omap_hwmod_addr_space am33xx_ecap2_addr_space[] = { | ||
2812 | { | ||
2813 | .pa_start = 0x48304100, | ||
2814 | .pa_end = 0x48304100 + SZ_128 - 1, | ||
2815 | }, | ||
2816 | { } | ||
2817 | }; | ||
2818 | |||
2819 | static struct omap_hwmod_ocp_if am33xx_epwmss2__ecap2 = { | 2029 | static struct omap_hwmod_ocp_if am33xx_epwmss2__ecap2 = { |
2820 | .master = &am33xx_epwmss2_hwmod, | 2030 | .master = &am33xx_epwmss2_hwmod, |
2821 | .slave = &am33xx_ecap2_hwmod, | 2031 | .slave = &am33xx_ecap2_hwmod, |
2822 | .clk = "l4ls_gclk", | 2032 | .clk = "l4ls_gclk", |
2823 | .addr = am33xx_ecap2_addr_space, | ||
2824 | .user = OCP_USER_MPU, | 2033 | .user = OCP_USER_MPU, |
2825 | }; | 2034 | }; |
2826 | 2035 | ||
2827 | static struct omap_hwmod_addr_space am33xx_eqep2_addr_space[] = { | ||
2828 | { | ||
2829 | .pa_start = 0x48304180, | ||
2830 | .pa_end = 0x48304180 + SZ_128 - 1, | ||
2831 | }, | ||
2832 | { } | ||
2833 | }; | ||
2834 | |||
2835 | static struct omap_hwmod_ocp_if am33xx_epwmss2__eqep2 = { | 2036 | static struct omap_hwmod_ocp_if am33xx_epwmss2__eqep2 = { |
2836 | .master = &am33xx_epwmss2_hwmod, | 2037 | .master = &am33xx_epwmss2_hwmod, |
2837 | .slave = &am33xx_eqep2_hwmod, | 2038 | .slave = &am33xx_eqep2_hwmod, |
2838 | .clk = "l4ls_gclk", | 2039 | .clk = "l4ls_gclk", |
2839 | .addr = am33xx_eqep2_addr_space, | ||
2840 | .user = OCP_USER_MPU, | 2040 | .user = OCP_USER_MPU, |
2841 | }; | 2041 | }; |
2842 | 2042 | ||
2843 | static struct omap_hwmod_addr_space am33xx_ehrpwm2_addr_space[] = { | ||
2844 | { | ||
2845 | .pa_start = 0x48304200, | ||
2846 | .pa_end = 0x48304200 + SZ_128 - 1, | ||
2847 | }, | ||
2848 | { } | ||
2849 | }; | ||
2850 | |||
2851 | static struct omap_hwmod_ocp_if am33xx_epwmss2__ehrpwm2 = { | 2043 | static struct omap_hwmod_ocp_if am33xx_epwmss2__ehrpwm2 = { |
2852 | .master = &am33xx_epwmss2_hwmod, | 2044 | .master = &am33xx_epwmss2_hwmod, |
2853 | .slave = &am33xx_ehrpwm2_hwmod, | 2045 | .slave = &am33xx_ehrpwm2_hwmod, |
2854 | .clk = "l4ls_gclk", | 2046 | .clk = "l4ls_gclk", |
2855 | .addr = am33xx_ehrpwm2_addr_space, | ||
2856 | .user = OCP_USER_MPU, | 2047 | .user = OCP_USER_MPU, |
2857 | }; | 2048 | }; |
2858 | 2049 | ||
@@ -2875,37 +2066,17 @@ static struct omap_hwmod_ocp_if am33xx_l3_s__gpmc = { | |||
2875 | }; | 2066 | }; |
2876 | 2067 | ||
2877 | /* i2c2 */ | 2068 | /* i2c2 */ |
2878 | static struct omap_hwmod_addr_space am33xx_i2c2_addr_space[] = { | ||
2879 | { | ||
2880 | .pa_start = 0x4802A000, | ||
2881 | .pa_end = 0x4802A000 + SZ_4K - 1, | ||
2882 | .flags = ADDR_TYPE_RT, | ||
2883 | }, | ||
2884 | { } | ||
2885 | }; | ||
2886 | |||
2887 | static struct omap_hwmod_ocp_if am33xx_l4_per__i2c2 = { | 2069 | static struct omap_hwmod_ocp_if am33xx_l4_per__i2c2 = { |
2888 | .master = &am33xx_l4_ls_hwmod, | 2070 | .master = &am33xx_l4_ls_hwmod, |
2889 | .slave = &am33xx_i2c2_hwmod, | 2071 | .slave = &am33xx_i2c2_hwmod, |
2890 | .clk = "l4ls_gclk", | 2072 | .clk = "l4ls_gclk", |
2891 | .addr = am33xx_i2c2_addr_space, | ||
2892 | .user = OCP_USER_MPU, | 2073 | .user = OCP_USER_MPU, |
2893 | }; | 2074 | }; |
2894 | 2075 | ||
2895 | static struct omap_hwmod_addr_space am33xx_i2c3_addr_space[] = { | ||
2896 | { | ||
2897 | .pa_start = 0x4819C000, | ||
2898 | .pa_end = 0x4819C000 + SZ_4K - 1, | ||
2899 | .flags = ADDR_TYPE_RT | ||
2900 | }, | ||
2901 | { } | ||
2902 | }; | ||
2903 | |||
2904 | static struct omap_hwmod_ocp_if am33xx_l4_per__i2c3 = { | 2076 | static struct omap_hwmod_ocp_if am33xx_l4_per__i2c3 = { |
2905 | .master = &am33xx_l4_ls_hwmod, | 2077 | .master = &am33xx_l4_ls_hwmod, |
2906 | .slave = &am33xx_i2c3_hwmod, | 2078 | .slave = &am33xx_i2c3_hwmod, |
2907 | .clk = "l4ls_gclk", | 2079 | .clk = "l4ls_gclk", |
2908 | .addr = am33xx_i2c3_addr_space, | ||
2909 | .user = OCP_USER_MPU, | 2080 | .user = OCP_USER_MPU, |
2910 | }; | 2081 | }; |
2911 | 2082 | ||
@@ -2945,20 +2116,10 @@ static struct omap_hwmod_ocp_if am33xx_l4_per__mailbox = { | |||
2945 | }; | 2116 | }; |
2946 | 2117 | ||
2947 | /* l4 ls -> spinlock */ | 2118 | /* l4 ls -> spinlock */ |
2948 | static struct omap_hwmod_addr_space am33xx_spinlock_addrs[] = { | ||
2949 | { | ||
2950 | .pa_start = 0x480Ca000, | ||
2951 | .pa_end = 0x480Ca000 + SZ_4K - 1, | ||
2952 | .flags = ADDR_TYPE_RT | ||
2953 | }, | ||
2954 | { } | ||
2955 | }; | ||
2956 | |||
2957 | static struct omap_hwmod_ocp_if am33xx_l4_ls__spinlock = { | 2119 | static struct omap_hwmod_ocp_if am33xx_l4_ls__spinlock = { |
2958 | .master = &am33xx_l4_ls_hwmod, | 2120 | .master = &am33xx_l4_ls_hwmod, |
2959 | .slave = &am33xx_spinlock_hwmod, | 2121 | .slave = &am33xx_spinlock_hwmod, |
2960 | .clk = "l4ls_gclk", | 2122 | .clk = "l4ls_gclk", |
2961 | .addr = am33xx_spinlock_addrs, | ||
2962 | .user = OCP_USER_MPU, | 2123 | .user = OCP_USER_MPU, |
2963 | }; | 2124 | }; |
2964 | 2125 | ||
@@ -2980,24 +2141,6 @@ static struct omap_hwmod_ocp_if am33xx_l4_ls__mcasp0 = { | |||
2980 | .user = OCP_USER_MPU, | 2141 | .user = OCP_USER_MPU, |
2981 | }; | 2142 | }; |
2982 | 2143 | ||
2983 | /* l3 s -> mcasp0 data */ | ||
2984 | static struct omap_hwmod_addr_space am33xx_mcasp0_data_addr_space[] = { | ||
2985 | { | ||
2986 | .pa_start = 0x46000000, | ||
2987 | .pa_end = 0x46000000 + SZ_4M - 1, | ||
2988 | .flags = ADDR_TYPE_RT | ||
2989 | }, | ||
2990 | { } | ||
2991 | }; | ||
2992 | |||
2993 | static struct omap_hwmod_ocp_if am33xx_l3_s__mcasp0_data = { | ||
2994 | .master = &am33xx_l3_s_hwmod, | ||
2995 | .slave = &am33xx_mcasp0_hwmod, | ||
2996 | .clk = "l3s_gclk", | ||
2997 | .addr = am33xx_mcasp0_data_addr_space, | ||
2998 | .user = OCP_USER_SDMA, | ||
2999 | }; | ||
3000 | |||
3001 | /* l4 ls -> mcasp1 */ | 2144 | /* l4 ls -> mcasp1 */ |
3002 | static struct omap_hwmod_addr_space am33xx_mcasp1_addr_space[] = { | 2145 | static struct omap_hwmod_addr_space am33xx_mcasp1_addr_space[] = { |
3003 | { | 2146 | { |
@@ -3016,24 +2159,6 @@ static struct omap_hwmod_ocp_if am33xx_l4_ls__mcasp1 = { | |||
3016 | .user = OCP_USER_MPU, | 2159 | .user = OCP_USER_MPU, |
3017 | }; | 2160 | }; |
3018 | 2161 | ||
3019 | /* l3 s -> mcasp1 data */ | ||
3020 | static struct omap_hwmod_addr_space am33xx_mcasp1_data_addr_space[] = { | ||
3021 | { | ||
3022 | .pa_start = 0x46400000, | ||
3023 | .pa_end = 0x46400000 + SZ_4M - 1, | ||
3024 | .flags = ADDR_TYPE_RT | ||
3025 | }, | ||
3026 | { } | ||
3027 | }; | ||
3028 | |||
3029 | static struct omap_hwmod_ocp_if am33xx_l3_s__mcasp1_data = { | ||
3030 | .master = &am33xx_l3_s_hwmod, | ||
3031 | .slave = &am33xx_mcasp1_hwmod, | ||
3032 | .clk = "l3s_gclk", | ||
3033 | .addr = am33xx_mcasp1_data_addr_space, | ||
3034 | .user = OCP_USER_SDMA, | ||
3035 | }; | ||
3036 | |||
3037 | /* l4 ls -> mmc0 */ | 2162 | /* l4 ls -> mmc0 */ |
3038 | static struct omap_hwmod_addr_space am33xx_mmc0_addr_space[] = { | 2163 | static struct omap_hwmod_addr_space am33xx_mmc0_addr_space[] = { |
3039 | { | 2164 | { |
@@ -3089,182 +2214,82 @@ static struct omap_hwmod_ocp_if am33xx_l3_s__mmc2 = { | |||
3089 | }; | 2214 | }; |
3090 | 2215 | ||
3091 | /* l4 ls -> mcspi0 */ | 2216 | /* l4 ls -> mcspi0 */ |
3092 | static struct omap_hwmod_addr_space am33xx_mcspi0_addr_space[] = { | ||
3093 | { | ||
3094 | .pa_start = 0x48030000, | ||
3095 | .pa_end = 0x48030000 + SZ_1K - 1, | ||
3096 | .flags = ADDR_TYPE_RT, | ||
3097 | }, | ||
3098 | { } | ||
3099 | }; | ||
3100 | |||
3101 | static struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi0 = { | 2217 | static struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi0 = { |
3102 | .master = &am33xx_l4_ls_hwmod, | 2218 | .master = &am33xx_l4_ls_hwmod, |
3103 | .slave = &am33xx_spi0_hwmod, | 2219 | .slave = &am33xx_spi0_hwmod, |
3104 | .clk = "l4ls_gclk", | 2220 | .clk = "l4ls_gclk", |
3105 | .addr = am33xx_mcspi0_addr_space, | ||
3106 | .user = OCP_USER_MPU, | 2221 | .user = OCP_USER_MPU, |
3107 | }; | 2222 | }; |
3108 | 2223 | ||
3109 | /* l4 ls -> mcspi1 */ | 2224 | /* l4 ls -> mcspi1 */ |
3110 | static struct omap_hwmod_addr_space am33xx_mcspi1_addr_space[] = { | ||
3111 | { | ||
3112 | .pa_start = 0x481A0000, | ||
3113 | .pa_end = 0x481A0000 + SZ_1K - 1, | ||
3114 | .flags = ADDR_TYPE_RT, | ||
3115 | }, | ||
3116 | { } | ||
3117 | }; | ||
3118 | |||
3119 | static struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi1 = { | 2225 | static struct omap_hwmod_ocp_if am33xx_l4_ls__mcspi1 = { |
3120 | .master = &am33xx_l4_ls_hwmod, | 2226 | .master = &am33xx_l4_ls_hwmod, |
3121 | .slave = &am33xx_spi1_hwmod, | 2227 | .slave = &am33xx_spi1_hwmod, |
3122 | .clk = "l4ls_gclk", | 2228 | .clk = "l4ls_gclk", |
3123 | .addr = am33xx_mcspi1_addr_space, | ||
3124 | .user = OCP_USER_MPU, | 2229 | .user = OCP_USER_MPU, |
3125 | }; | 2230 | }; |
3126 | 2231 | ||
3127 | /* l4 wkup -> timer1 */ | 2232 | /* l4 wkup -> timer1 */ |
3128 | static struct omap_hwmod_addr_space am33xx_timer1_addr_space[] = { | ||
3129 | { | ||
3130 | .pa_start = 0x44E31000, | ||
3131 | .pa_end = 0x44E31000 + SZ_1K - 1, | ||
3132 | .flags = ADDR_TYPE_RT | ||
3133 | }, | ||
3134 | { } | ||
3135 | }; | ||
3136 | |||
3137 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__timer1 = { | 2233 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__timer1 = { |
3138 | .master = &am33xx_l4_wkup_hwmod, | 2234 | .master = &am33xx_l4_wkup_hwmod, |
3139 | .slave = &am33xx_timer1_hwmod, | 2235 | .slave = &am33xx_timer1_hwmod, |
3140 | .clk = "dpll_core_m4_div2_ck", | 2236 | .clk = "dpll_core_m4_div2_ck", |
3141 | .addr = am33xx_timer1_addr_space, | ||
3142 | .user = OCP_USER_MPU, | 2237 | .user = OCP_USER_MPU, |
3143 | }; | 2238 | }; |
3144 | 2239 | ||
3145 | /* l4 per -> timer2 */ | 2240 | /* l4 per -> timer2 */ |
3146 | static struct omap_hwmod_addr_space am33xx_timer2_addr_space[] = { | ||
3147 | { | ||
3148 | .pa_start = 0x48040000, | ||
3149 | .pa_end = 0x48040000 + SZ_1K - 1, | ||
3150 | .flags = ADDR_TYPE_RT | ||
3151 | }, | ||
3152 | { } | ||
3153 | }; | ||
3154 | |||
3155 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer2 = { | 2241 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer2 = { |
3156 | .master = &am33xx_l4_ls_hwmod, | 2242 | .master = &am33xx_l4_ls_hwmod, |
3157 | .slave = &am33xx_timer2_hwmod, | 2243 | .slave = &am33xx_timer2_hwmod, |
3158 | .clk = "l4ls_gclk", | 2244 | .clk = "l4ls_gclk", |
3159 | .addr = am33xx_timer2_addr_space, | ||
3160 | .user = OCP_USER_MPU, | 2245 | .user = OCP_USER_MPU, |
3161 | }; | 2246 | }; |
3162 | 2247 | ||
3163 | /* l4 per -> timer3 */ | 2248 | /* l4 per -> timer3 */ |
3164 | static struct omap_hwmod_addr_space am33xx_timer3_addr_space[] = { | ||
3165 | { | ||
3166 | .pa_start = 0x48042000, | ||
3167 | .pa_end = 0x48042000 + SZ_1K - 1, | ||
3168 | .flags = ADDR_TYPE_RT | ||
3169 | }, | ||
3170 | { } | ||
3171 | }; | ||
3172 | |||
3173 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer3 = { | 2249 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer3 = { |
3174 | .master = &am33xx_l4_ls_hwmod, | 2250 | .master = &am33xx_l4_ls_hwmod, |
3175 | .slave = &am33xx_timer3_hwmod, | 2251 | .slave = &am33xx_timer3_hwmod, |
3176 | .clk = "l4ls_gclk", | 2252 | .clk = "l4ls_gclk", |
3177 | .addr = am33xx_timer3_addr_space, | ||
3178 | .user = OCP_USER_MPU, | 2253 | .user = OCP_USER_MPU, |
3179 | }; | 2254 | }; |
3180 | 2255 | ||
3181 | /* l4 per -> timer4 */ | 2256 | /* l4 per -> timer4 */ |
3182 | static struct omap_hwmod_addr_space am33xx_timer4_addr_space[] = { | ||
3183 | { | ||
3184 | .pa_start = 0x48044000, | ||
3185 | .pa_end = 0x48044000 + SZ_1K - 1, | ||
3186 | .flags = ADDR_TYPE_RT | ||
3187 | }, | ||
3188 | { } | ||
3189 | }; | ||
3190 | |||
3191 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer4 = { | 2257 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer4 = { |
3192 | .master = &am33xx_l4_ls_hwmod, | 2258 | .master = &am33xx_l4_ls_hwmod, |
3193 | .slave = &am33xx_timer4_hwmod, | 2259 | .slave = &am33xx_timer4_hwmod, |
3194 | .clk = "l4ls_gclk", | 2260 | .clk = "l4ls_gclk", |
3195 | .addr = am33xx_timer4_addr_space, | ||
3196 | .user = OCP_USER_MPU, | 2261 | .user = OCP_USER_MPU, |
3197 | }; | 2262 | }; |
3198 | 2263 | ||
3199 | /* l4 per -> timer5 */ | 2264 | /* l4 per -> timer5 */ |
3200 | static struct omap_hwmod_addr_space am33xx_timer5_addr_space[] = { | ||
3201 | { | ||
3202 | .pa_start = 0x48046000, | ||
3203 | .pa_end = 0x48046000 + SZ_1K - 1, | ||
3204 | .flags = ADDR_TYPE_RT | ||
3205 | }, | ||
3206 | { } | ||
3207 | }; | ||
3208 | |||
3209 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer5 = { | 2265 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer5 = { |
3210 | .master = &am33xx_l4_ls_hwmod, | 2266 | .master = &am33xx_l4_ls_hwmod, |
3211 | .slave = &am33xx_timer5_hwmod, | 2267 | .slave = &am33xx_timer5_hwmod, |
3212 | .clk = "l4ls_gclk", | 2268 | .clk = "l4ls_gclk", |
3213 | .addr = am33xx_timer5_addr_space, | ||
3214 | .user = OCP_USER_MPU, | 2269 | .user = OCP_USER_MPU, |
3215 | }; | 2270 | }; |
3216 | 2271 | ||
3217 | /* l4 per -> timer6 */ | 2272 | /* l4 per -> timer6 */ |
3218 | static struct omap_hwmod_addr_space am33xx_timer6_addr_space[] = { | ||
3219 | { | ||
3220 | .pa_start = 0x48048000, | ||
3221 | .pa_end = 0x48048000 + SZ_1K - 1, | ||
3222 | .flags = ADDR_TYPE_RT | ||
3223 | }, | ||
3224 | { } | ||
3225 | }; | ||
3226 | |||
3227 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer6 = { | 2273 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer6 = { |
3228 | .master = &am33xx_l4_ls_hwmod, | 2274 | .master = &am33xx_l4_ls_hwmod, |
3229 | .slave = &am33xx_timer6_hwmod, | 2275 | .slave = &am33xx_timer6_hwmod, |
3230 | .clk = "l4ls_gclk", | 2276 | .clk = "l4ls_gclk", |
3231 | .addr = am33xx_timer6_addr_space, | ||
3232 | .user = OCP_USER_MPU, | 2277 | .user = OCP_USER_MPU, |
3233 | }; | 2278 | }; |
3234 | 2279 | ||
3235 | /* l4 per -> timer7 */ | 2280 | /* l4 per -> timer7 */ |
3236 | static struct omap_hwmod_addr_space am33xx_timer7_addr_space[] = { | ||
3237 | { | ||
3238 | .pa_start = 0x4804A000, | ||
3239 | .pa_end = 0x4804A000 + SZ_1K - 1, | ||
3240 | .flags = ADDR_TYPE_RT | ||
3241 | }, | ||
3242 | { } | ||
3243 | }; | ||
3244 | |||
3245 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer7 = { | 2281 | static struct omap_hwmod_ocp_if am33xx_l4_ls__timer7 = { |
3246 | .master = &am33xx_l4_ls_hwmod, | 2282 | .master = &am33xx_l4_ls_hwmod, |
3247 | .slave = &am33xx_timer7_hwmod, | 2283 | .slave = &am33xx_timer7_hwmod, |
3248 | .clk = "l4ls_gclk", | 2284 | .clk = "l4ls_gclk", |
3249 | .addr = am33xx_timer7_addr_space, | ||
3250 | .user = OCP_USER_MPU, | 2285 | .user = OCP_USER_MPU, |
3251 | }; | 2286 | }; |
3252 | 2287 | ||
3253 | /* l3 main -> tpcc */ | 2288 | /* l3 main -> tpcc */ |
3254 | static struct omap_hwmod_addr_space am33xx_tpcc_addr_space[] = { | ||
3255 | { | ||
3256 | .pa_start = 0x49000000, | ||
3257 | .pa_end = 0x49000000 + SZ_32K - 1, | ||
3258 | .flags = ADDR_TYPE_RT | ||
3259 | }, | ||
3260 | { } | ||
3261 | }; | ||
3262 | |||
3263 | static struct omap_hwmod_ocp_if am33xx_l3_main__tpcc = { | 2289 | static struct omap_hwmod_ocp_if am33xx_l3_main__tpcc = { |
3264 | .master = &am33xx_l3_main_hwmod, | 2290 | .master = &am33xx_l3_main_hwmod, |
3265 | .slave = &am33xx_tpcc_hwmod, | 2291 | .slave = &am33xx_tpcc_hwmod, |
3266 | .clk = "l3_gclk", | 2292 | .clk = "l3_gclk", |
3267 | .addr = am33xx_tpcc_addr_space, | ||
3268 | .user = OCP_USER_MPU, | 2293 | .user = OCP_USER_MPU, |
3269 | }; | 2294 | }; |
3270 | 2295 | ||
@@ -3323,160 +2348,67 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__tptc2 = { | |||
3323 | }; | 2348 | }; |
3324 | 2349 | ||
3325 | /* l4 wkup -> uart1 */ | 2350 | /* l4 wkup -> uart1 */ |
3326 | static struct omap_hwmod_addr_space am33xx_uart1_addr_space[] = { | ||
3327 | { | ||
3328 | .pa_start = 0x44E09000, | ||
3329 | .pa_end = 0x44E09000 + SZ_8K - 1, | ||
3330 | .flags = ADDR_TYPE_RT, | ||
3331 | }, | ||
3332 | { } | ||
3333 | }; | ||
3334 | |||
3335 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__uart1 = { | 2351 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__uart1 = { |
3336 | .master = &am33xx_l4_wkup_hwmod, | 2352 | .master = &am33xx_l4_wkup_hwmod, |
3337 | .slave = &am33xx_uart1_hwmod, | 2353 | .slave = &am33xx_uart1_hwmod, |
3338 | .clk = "dpll_core_m4_div2_ck", | 2354 | .clk = "dpll_core_m4_div2_ck", |
3339 | .addr = am33xx_uart1_addr_space, | ||
3340 | .user = OCP_USER_MPU, | 2355 | .user = OCP_USER_MPU, |
3341 | }; | 2356 | }; |
3342 | 2357 | ||
3343 | /* l4 ls -> uart2 */ | 2358 | /* l4 ls -> uart2 */ |
3344 | static struct omap_hwmod_addr_space am33xx_uart2_addr_space[] = { | ||
3345 | { | ||
3346 | .pa_start = 0x48022000, | ||
3347 | .pa_end = 0x48022000 + SZ_8K - 1, | ||
3348 | .flags = ADDR_TYPE_RT, | ||
3349 | }, | ||
3350 | { } | ||
3351 | }; | ||
3352 | |||
3353 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart2 = { | 2359 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart2 = { |
3354 | .master = &am33xx_l4_ls_hwmod, | 2360 | .master = &am33xx_l4_ls_hwmod, |
3355 | .slave = &am33xx_uart2_hwmod, | 2361 | .slave = &am33xx_uart2_hwmod, |
3356 | .clk = "l4ls_gclk", | 2362 | .clk = "l4ls_gclk", |
3357 | .addr = am33xx_uart2_addr_space, | ||
3358 | .user = OCP_USER_MPU, | 2363 | .user = OCP_USER_MPU, |
3359 | }; | 2364 | }; |
3360 | 2365 | ||
3361 | /* l4 ls -> uart3 */ | 2366 | /* l4 ls -> uart3 */ |
3362 | static struct omap_hwmod_addr_space am33xx_uart3_addr_space[] = { | ||
3363 | { | ||
3364 | .pa_start = 0x48024000, | ||
3365 | .pa_end = 0x48024000 + SZ_8K - 1, | ||
3366 | .flags = ADDR_TYPE_RT, | ||
3367 | }, | ||
3368 | { } | ||
3369 | }; | ||
3370 | |||
3371 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart3 = { | 2367 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart3 = { |
3372 | .master = &am33xx_l4_ls_hwmod, | 2368 | .master = &am33xx_l4_ls_hwmod, |
3373 | .slave = &am33xx_uart3_hwmod, | 2369 | .slave = &am33xx_uart3_hwmod, |
3374 | .clk = "l4ls_gclk", | 2370 | .clk = "l4ls_gclk", |
3375 | .addr = am33xx_uart3_addr_space, | ||
3376 | .user = OCP_USER_MPU, | 2371 | .user = OCP_USER_MPU, |
3377 | }; | 2372 | }; |
3378 | 2373 | ||
3379 | /* l4 ls -> uart4 */ | 2374 | /* l4 ls -> uart4 */ |
3380 | static struct omap_hwmod_addr_space am33xx_uart4_addr_space[] = { | ||
3381 | { | ||
3382 | .pa_start = 0x481A6000, | ||
3383 | .pa_end = 0x481A6000 + SZ_8K - 1, | ||
3384 | .flags = ADDR_TYPE_RT, | ||
3385 | }, | ||
3386 | { } | ||
3387 | }; | ||
3388 | |||
3389 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart4 = { | 2375 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart4 = { |
3390 | .master = &am33xx_l4_ls_hwmod, | 2376 | .master = &am33xx_l4_ls_hwmod, |
3391 | .slave = &am33xx_uart4_hwmod, | 2377 | .slave = &am33xx_uart4_hwmod, |
3392 | .clk = "l4ls_gclk", | 2378 | .clk = "l4ls_gclk", |
3393 | .addr = am33xx_uart4_addr_space, | ||
3394 | .user = OCP_USER_MPU, | 2379 | .user = OCP_USER_MPU, |
3395 | }; | 2380 | }; |
3396 | 2381 | ||
3397 | /* l4 ls -> uart5 */ | 2382 | /* l4 ls -> uart5 */ |
3398 | static struct omap_hwmod_addr_space am33xx_uart5_addr_space[] = { | ||
3399 | { | ||
3400 | .pa_start = 0x481A8000, | ||
3401 | .pa_end = 0x481A8000 + SZ_8K - 1, | ||
3402 | .flags = ADDR_TYPE_RT, | ||
3403 | }, | ||
3404 | { } | ||
3405 | }; | ||
3406 | |||
3407 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart5 = { | 2383 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart5 = { |
3408 | .master = &am33xx_l4_ls_hwmod, | 2384 | .master = &am33xx_l4_ls_hwmod, |
3409 | .slave = &am33xx_uart5_hwmod, | 2385 | .slave = &am33xx_uart5_hwmod, |
3410 | .clk = "l4ls_gclk", | 2386 | .clk = "l4ls_gclk", |
3411 | .addr = am33xx_uart5_addr_space, | ||
3412 | .user = OCP_USER_MPU, | 2387 | .user = OCP_USER_MPU, |
3413 | }; | 2388 | }; |
3414 | 2389 | ||
3415 | /* l4 ls -> uart6 */ | 2390 | /* l4 ls -> uart6 */ |
3416 | static struct omap_hwmod_addr_space am33xx_uart6_addr_space[] = { | ||
3417 | { | ||
3418 | .pa_start = 0x481aa000, | ||
3419 | .pa_end = 0x481aa000 + SZ_8K - 1, | ||
3420 | .flags = ADDR_TYPE_RT, | ||
3421 | }, | ||
3422 | { } | ||
3423 | }; | ||
3424 | |||
3425 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart6 = { | 2391 | static struct omap_hwmod_ocp_if am33xx_l4_ls__uart6 = { |
3426 | .master = &am33xx_l4_ls_hwmod, | 2392 | .master = &am33xx_l4_ls_hwmod, |
3427 | .slave = &am33xx_uart6_hwmod, | 2393 | .slave = &am33xx_uart6_hwmod, |
3428 | .clk = "l4ls_gclk", | 2394 | .clk = "l4ls_gclk", |
3429 | .addr = am33xx_uart6_addr_space, | ||
3430 | .user = OCP_USER_MPU, | 2395 | .user = OCP_USER_MPU, |
3431 | }; | 2396 | }; |
3432 | 2397 | ||
3433 | /* l4 wkup -> wd_timer1 */ | 2398 | /* l4 wkup -> wd_timer1 */ |
3434 | static struct omap_hwmod_addr_space am33xx_wd_timer1_addrs[] = { | ||
3435 | { | ||
3436 | .pa_start = 0x44e35000, | ||
3437 | .pa_end = 0x44e35000 + SZ_4K - 1, | ||
3438 | .flags = ADDR_TYPE_RT | ||
3439 | }, | ||
3440 | { } | ||
3441 | }; | ||
3442 | |||
3443 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__wd_timer1 = { | 2399 | static struct omap_hwmod_ocp_if am33xx_l4_wkup__wd_timer1 = { |
3444 | .master = &am33xx_l4_wkup_hwmod, | 2400 | .master = &am33xx_l4_wkup_hwmod, |
3445 | .slave = &am33xx_wd_timer1_hwmod, | 2401 | .slave = &am33xx_wd_timer1_hwmod, |
3446 | .clk = "dpll_core_m4_div2_ck", | 2402 | .clk = "dpll_core_m4_div2_ck", |
3447 | .addr = am33xx_wd_timer1_addrs, | ||
3448 | .user = OCP_USER_MPU, | 2403 | .user = OCP_USER_MPU, |
3449 | }; | 2404 | }; |
3450 | 2405 | ||
3451 | /* usbss */ | 2406 | /* usbss */ |
3452 | /* l3 s -> USBSS interface */ | 2407 | /* l3 s -> USBSS interface */ |
3453 | static struct omap_hwmod_addr_space am33xx_usbss_addr_space[] = { | ||
3454 | { | ||
3455 | .name = "usbss", | ||
3456 | .pa_start = 0x47400000, | ||
3457 | .pa_end = 0x47400000 + SZ_4K - 1, | ||
3458 | .flags = ADDR_TYPE_RT | ||
3459 | }, | ||
3460 | { | ||
3461 | .name = "musb0", | ||
3462 | .pa_start = 0x47401000, | ||
3463 | .pa_end = 0x47401000 + SZ_2K - 1, | ||
3464 | .flags = ADDR_TYPE_RT | ||
3465 | }, | ||
3466 | { | ||
3467 | .name = "musb1", | ||
3468 | .pa_start = 0x47401800, | ||
3469 | .pa_end = 0x47401800 + SZ_2K - 1, | ||
3470 | .flags = ADDR_TYPE_RT | ||
3471 | }, | ||
3472 | { } | ||
3473 | }; | ||
3474 | |||
3475 | static struct omap_hwmod_ocp_if am33xx_l3_s__usbss = { | 2408 | static struct omap_hwmod_ocp_if am33xx_l3_s__usbss = { |
3476 | .master = &am33xx_l3_s_hwmod, | 2409 | .master = &am33xx_l3_s_hwmod, |
3477 | .slave = &am33xx_usbss_hwmod, | 2410 | .slave = &am33xx_usbss_hwmod, |
3478 | .clk = "l3s_gclk", | 2411 | .clk = "l3s_gclk", |
3479 | .addr = am33xx_usbss_addr_space, | ||
3480 | .user = OCP_USER_MPU, | 2412 | .user = OCP_USER_MPU, |
3481 | .flags = OCPIF_SWSUP_IDLE, | 2413 | .flags = OCPIF_SWSUP_IDLE, |
3482 | }; | 2414 | }; |
@@ -3525,13 +2457,11 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__aes0 = { | |||
3525 | }; | 2457 | }; |
3526 | 2458 | ||
3527 | static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { | 2459 | static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { |
3528 | &am33xx_l4_fw__emif_fw, | ||
3529 | &am33xx_l3_main__emif, | 2460 | &am33xx_l3_main__emif, |
3530 | &am33xx_mpu__l3_main, | 2461 | &am33xx_mpu__l3_main, |
3531 | &am33xx_mpu__prcm, | 2462 | &am33xx_mpu__prcm, |
3532 | &am33xx_l3_s__l4_ls, | 2463 | &am33xx_l3_s__l4_ls, |
3533 | &am33xx_l3_s__l4_wkup, | 2464 | &am33xx_l3_s__l4_wkup, |
3534 | &am33xx_l3_s__l4_fw, | ||
3535 | &am33xx_l3_main__l4_hs, | 2465 | &am33xx_l3_main__l4_hs, |
3536 | &am33xx_l3_main__l3_s, | 2466 | &am33xx_l3_main__l3_s, |
3537 | &am33xx_l3_main__l3_instr, | 2467 | &am33xx_l3_main__l3_instr, |
@@ -3561,9 +2491,7 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { | |||
3561 | &am33xx_l4_per__i2c3, | 2491 | &am33xx_l4_per__i2c3, |
3562 | &am33xx_l4_per__mailbox, | 2492 | &am33xx_l4_per__mailbox, |
3563 | &am33xx_l4_ls__mcasp0, | 2493 | &am33xx_l4_ls__mcasp0, |
3564 | &am33xx_l3_s__mcasp0_data, | ||
3565 | &am33xx_l4_ls__mcasp1, | 2494 | &am33xx_l4_ls__mcasp1, |
3566 | &am33xx_l3_s__mcasp1_data, | ||
3567 | &am33xx_l4_ls__mmc0, | 2495 | &am33xx_l4_ls__mmc0, |
3568 | &am33xx_l4_ls__mmc1, | 2496 | &am33xx_l4_ls__mmc1, |
3569 | &am33xx_l3_s__mmc2, | 2497 | &am33xx_l3_s__mmc2, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 31c7126eb3bb..0c3a427da544 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/platform_data/asoc-ti-mcbsp.h> | 25 | #include <linux/platform_data/asoc-ti-mcbsp.h> |
26 | #include <linux/platform_data/spi-omap2-mcspi.h> | 26 | #include <linux/platform_data/spi-omap2-mcspi.h> |
27 | #include <linux/platform_data/iommu-omap.h> | 27 | #include <linux/platform_data/iommu-omap.h> |
28 | #include <linux/platform_data/mailbox-omap.h> | ||
28 | #include <plat/dmtimer.h> | 29 | #include <plat/dmtimer.h> |
29 | 30 | ||
30 | #include "am35xx.h" | 31 | #include "am35xx.h" |
@@ -35,7 +36,6 @@ | |||
35 | #include "prm-regbits-34xx.h" | 36 | #include "prm-regbits-34xx.h" |
36 | #include "cm-regbits-34xx.h" | 37 | #include "cm-regbits-34xx.h" |
37 | 38 | ||
38 | #include "dma.h" | ||
39 | #include "i2c.h" | 39 | #include "i2c.h" |
40 | #include "mmc.h" | 40 | #include "mmc.h" |
41 | #include "wd_timer.h" | 41 | #include "wd_timer.h" |
@@ -490,7 +490,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = { | |||
490 | .mpu_irqs = omap2_uart1_mpu_irqs, | 490 | .mpu_irqs = omap2_uart1_mpu_irqs, |
491 | .sdma_reqs = omap2_uart1_sdma_reqs, | 491 | .sdma_reqs = omap2_uart1_sdma_reqs, |
492 | .main_clk = "uart1_fck", | 492 | .main_clk = "uart1_fck", |
493 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 493 | .flags = DEBUG_TI81XXUART1_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
494 | .prcm = { | 494 | .prcm = { |
495 | .omap2 = { | 495 | .omap2 = { |
496 | .module_offs = CORE_MOD, | 496 | .module_offs = CORE_MOD, |
@@ -509,7 +509,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = { | |||
509 | .mpu_irqs = omap2_uart2_mpu_irqs, | 509 | .mpu_irqs = omap2_uart2_mpu_irqs, |
510 | .sdma_reqs = omap2_uart2_sdma_reqs, | 510 | .sdma_reqs = omap2_uart2_sdma_reqs, |
511 | .main_clk = "uart2_fck", | 511 | .main_clk = "uart2_fck", |
512 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 512 | .flags = DEBUG_TI81XXUART2_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
513 | .prcm = { | 513 | .prcm = { |
514 | .omap2 = { | 514 | .omap2 = { |
515 | .module_offs = CORE_MOD, | 515 | .module_offs = CORE_MOD, |
@@ -528,7 +528,8 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = { | |||
528 | .mpu_irqs = omap2_uart3_mpu_irqs, | 528 | .mpu_irqs = omap2_uart3_mpu_irqs, |
529 | .sdma_reqs = omap2_uart3_sdma_reqs, | 529 | .sdma_reqs = omap2_uart3_sdma_reqs, |
530 | .main_clk = "uart3_fck", | 530 | .main_clk = "uart3_fck", |
531 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 531 | .flags = DEBUG_OMAP3UART3_FLAGS | DEBUG_TI81XXUART3_FLAGS | |
532 | HWMOD_SWSUP_SIDLE_ACT, | ||
532 | .prcm = { | 533 | .prcm = { |
533 | .omap2 = { | 534 | .omap2 = { |
534 | .module_offs = OMAP3430_PER_MOD, | 535 | .module_offs = OMAP3430_PER_MOD, |
@@ -548,8 +549,8 @@ static struct omap_hwmod_irq_info uart4_mpu_irqs[] = { | |||
548 | }; | 549 | }; |
549 | 550 | ||
550 | static struct omap_hwmod_dma_info uart4_sdma_reqs[] = { | 551 | static struct omap_hwmod_dma_info uart4_sdma_reqs[] = { |
551 | { .name = "rx", .dma_req = OMAP36XX_DMA_UART4_RX, }, | 552 | { .name = "rx", .dma_req = 82, }, |
552 | { .name = "tx", .dma_req = OMAP36XX_DMA_UART4_TX, }, | 553 | { .name = "tx", .dma_req = 81, }, |
553 | { .dma_req = -1 } | 554 | { .dma_req = -1 } |
554 | }; | 555 | }; |
555 | 556 | ||
@@ -558,7 +559,7 @@ static struct omap_hwmod omap36xx_uart4_hwmod = { | |||
558 | .mpu_irqs = uart4_mpu_irqs, | 559 | .mpu_irqs = uart4_mpu_irqs, |
559 | .sdma_reqs = uart4_sdma_reqs, | 560 | .sdma_reqs = uart4_sdma_reqs, |
560 | .main_clk = "uart4_fck", | 561 | .main_clk = "uart4_fck", |
561 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 562 | .flags = DEBUG_OMAP3UART4_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
562 | .prcm = { | 563 | .prcm = { |
563 | .omap2 = { | 564 | .omap2 = { |
564 | .module_offs = OMAP3430_PER_MOD, | 565 | .module_offs = OMAP3430_PER_MOD, |
@@ -577,8 +578,8 @@ static struct omap_hwmod_irq_info am35xx_uart4_mpu_irqs[] = { | |||
577 | }; | 578 | }; |
578 | 579 | ||
579 | static struct omap_hwmod_dma_info am35xx_uart4_sdma_reqs[] = { | 580 | static struct omap_hwmod_dma_info am35xx_uart4_sdma_reqs[] = { |
580 | { .name = "rx", .dma_req = AM35XX_DMA_UART4_RX, }, | 581 | { .name = "rx", .dma_req = 55, }, |
581 | { .name = "tx", .dma_req = AM35XX_DMA_UART4_TX, }, | 582 | { .name = "tx", .dma_req = 54, }, |
582 | { .dma_req = -1 } | 583 | { .dma_req = -1 } |
583 | }; | 584 | }; |
584 | 585 | ||
@@ -857,8 +858,8 @@ static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = { | |||
857 | }; | 858 | }; |
858 | 859 | ||
859 | static struct omap_hwmod_dma_info i2c3_sdma_reqs[] = { | 860 | static struct omap_hwmod_dma_info i2c3_sdma_reqs[] = { |
860 | { .name = "tx", .dma_req = OMAP34XX_DMA_I2C3_TX }, | 861 | { .name = "tx", .dma_req = 25 }, |
861 | { .name = "rx", .dma_req = OMAP34XX_DMA_I2C3_RX }, | 862 | { .name = "rx", .dma_req = 26 }, |
862 | { .dma_req = -1 } | 863 | { .dma_req = -1 } |
863 | }; | 864 | }; |
864 | 865 | ||
@@ -1505,6 +1506,17 @@ static struct omap_hwmod_class omap3xxx_mailbox_hwmod_class = { | |||
1505 | .sysc = &omap3xxx_mailbox_sysc, | 1506 | .sysc = &omap3xxx_mailbox_sysc, |
1506 | }; | 1507 | }; |
1507 | 1508 | ||
1509 | static struct omap_mbox_dev_info omap3xxx_mailbox_info[] = { | ||
1510 | { .name = "dsp", .tx_id = 0, .rx_id = 1 }, | ||
1511 | }; | ||
1512 | |||
1513 | static struct omap_mbox_pdata omap3xxx_mailbox_attrs = { | ||
1514 | .num_users = 2, | ||
1515 | .num_fifos = 2, | ||
1516 | .info_cnt = ARRAY_SIZE(omap3xxx_mailbox_info), | ||
1517 | .info = omap3xxx_mailbox_info, | ||
1518 | }; | ||
1519 | |||
1508 | static struct omap_hwmod_irq_info omap3xxx_mailbox_irqs[] = { | 1520 | static struct omap_hwmod_irq_info omap3xxx_mailbox_irqs[] = { |
1509 | { .irq = 26 + OMAP_INTC_START, }, | 1521 | { .irq = 26 + OMAP_INTC_START, }, |
1510 | { .irq = -1 }, | 1522 | { .irq = -1 }, |
@@ -1524,6 +1536,7 @@ static struct omap_hwmod omap3xxx_mailbox_hwmod = { | |||
1524 | .idlest_idle_bit = OMAP3430_ST_MAILBOXES_SHIFT, | 1536 | .idlest_idle_bit = OMAP3430_ST_MAILBOXES_SHIFT, |
1525 | }, | 1537 | }, |
1526 | }, | 1538 | }, |
1539 | .dev_attr = &omap3xxx_mailbox_attrs, | ||
1527 | }; | 1540 | }; |
1528 | 1541 | ||
1529 | /* | 1542 | /* |
@@ -3581,7 +3594,7 @@ static struct omap_hwmod_irq_info omap3_sham_mpu_irqs[] = { | |||
3581 | }; | 3594 | }; |
3582 | 3595 | ||
3583 | static struct omap_hwmod_dma_info omap3_sham_sdma_reqs[] = { | 3596 | static struct omap_hwmod_dma_info omap3_sham_sdma_reqs[] = { |
3584 | { .name = "rx", .dma_req = OMAP34XX_DMA_SHA1MD5_RX, }, | 3597 | { .name = "rx", .dma_req = 69, }, |
3585 | { .dma_req = -1 } | 3598 | { .dma_req = -1 } |
3586 | }; | 3599 | }; |
3587 | 3600 | ||
@@ -3642,8 +3655,8 @@ static struct omap_hwmod_class omap3xxx_aes_class = { | |||
3642 | }; | 3655 | }; |
3643 | 3656 | ||
3644 | static struct omap_hwmod_dma_info omap3_aes_sdma_reqs[] = { | 3657 | static struct omap_hwmod_dma_info omap3_aes_sdma_reqs[] = { |
3645 | { .name = "tx", .dma_req = OMAP34XX_DMA_AES2_TX, }, | 3658 | { .name = "tx", .dma_req = 65, }, |
3646 | { .name = "rx", .dma_req = OMAP34XX_DMA_AES2_RX, }, | 3659 | { .name = "rx", .dma_req = 66, }, |
3647 | { .dma_req = -1 } | 3660 | { .dma_req = -1 } |
3648 | }; | 3661 | }; |
3649 | 3662 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 848b6dc67590..9c3b504477d7 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -12,6 +12,8 @@ | |||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | 12 | * with the public linux-omap@vger.kernel.org mailing list and the |
13 | * authors above to ensure that the autogeneration scripts are kept | 13 | * authors above to ensure that the autogeneration scripts are kept |
14 | * up-to-date with the file contents. | 14 | * up-to-date with the file contents. |
15 | * Note that this file is currently not in sync with autogeneration scripts. | ||
16 | * The above note to be removed, once it is synced up. | ||
15 | * | 17 | * |
16 | * This program is free software; you can redistribute it and/or modify | 18 | * This program is free software; you can redistribute it and/or modify |
17 | * it under the terms of the GNU General Public License version 2 as | 19 | * it under the terms of the GNU General Public License version 2 as |
@@ -21,7 +23,6 @@ | |||
21 | #include <linux/io.h> | 23 | #include <linux/io.h> |
22 | #include <linux/platform_data/gpio-omap.h> | 24 | #include <linux/platform_data/gpio-omap.h> |
23 | #include <linux/power/smartreflex.h> | 25 | #include <linux/power/smartreflex.h> |
24 | #include <linux/platform_data/omap_ocp2scp.h> | ||
25 | #include <linux/i2c-omap.h> | 26 | #include <linux/i2c-omap.h> |
26 | 27 | ||
27 | #include <linux/omap-dma.h> | 28 | #include <linux/omap-dma.h> |
@@ -52,27 +53,6 @@ | |||
52 | */ | 53 | */ |
53 | 54 | ||
54 | /* | 55 | /* |
55 | * 'c2c_target_fw' class | ||
56 | * instance(s): c2c_target_fw | ||
57 | */ | ||
58 | static struct omap_hwmod_class omap44xx_c2c_target_fw_hwmod_class = { | ||
59 | .name = "c2c_target_fw", | ||
60 | }; | ||
61 | |||
62 | /* c2c_target_fw */ | ||
63 | static struct omap_hwmod omap44xx_c2c_target_fw_hwmod = { | ||
64 | .name = "c2c_target_fw", | ||
65 | .class = &omap44xx_c2c_target_fw_hwmod_class, | ||
66 | .clkdm_name = "d2d_clkdm", | ||
67 | .prcm = { | ||
68 | .omap4 = { | ||
69 | .clkctrl_offs = OMAP4_CM_D2D_SAD2D_FW_CLKCTRL_OFFSET, | ||
70 | .context_offs = OMAP4_RM_D2D_SAD2D_FW_CONTEXT_OFFSET, | ||
71 | }, | ||
72 | }, | ||
73 | }; | ||
74 | |||
75 | /* | ||
76 | * 'dmm' class | 56 | * 'dmm' class |
77 | * instance(s): dmm | 57 | * instance(s): dmm |
78 | */ | 58 | */ |
@@ -81,16 +61,10 @@ static struct omap_hwmod_class omap44xx_dmm_hwmod_class = { | |||
81 | }; | 61 | }; |
82 | 62 | ||
83 | /* dmm */ | 63 | /* dmm */ |
84 | static struct omap_hwmod_irq_info omap44xx_dmm_irqs[] = { | ||
85 | { .irq = 113 + OMAP44XX_IRQ_GIC_START }, | ||
86 | { .irq = -1 } | ||
87 | }; | ||
88 | |||
89 | static struct omap_hwmod omap44xx_dmm_hwmod = { | 64 | static struct omap_hwmod omap44xx_dmm_hwmod = { |
90 | .name = "dmm", | 65 | .name = "dmm", |
91 | .class = &omap44xx_dmm_hwmod_class, | 66 | .class = &omap44xx_dmm_hwmod_class, |
92 | .clkdm_name = "l3_emif_clkdm", | 67 | .clkdm_name = "l3_emif_clkdm", |
93 | .mpu_irqs = omap44xx_dmm_irqs, | ||
94 | .prcm = { | 68 | .prcm = { |
95 | .omap4 = { | 69 | .omap4 = { |
96 | .clkctrl_offs = OMAP4_CM_MEMIF_DMM_CLKCTRL_OFFSET, | 70 | .clkctrl_offs = OMAP4_CM_MEMIF_DMM_CLKCTRL_OFFSET, |
@@ -100,27 +74,6 @@ static struct omap_hwmod omap44xx_dmm_hwmod = { | |||
100 | }; | 74 | }; |
101 | 75 | ||
102 | /* | 76 | /* |
103 | * 'emif_fw' class | ||
104 | * instance(s): emif_fw | ||
105 | */ | ||
106 | static struct omap_hwmod_class omap44xx_emif_fw_hwmod_class = { | ||
107 | .name = "emif_fw", | ||
108 | }; | ||
109 | |||
110 | /* emif_fw */ | ||
111 | static struct omap_hwmod omap44xx_emif_fw_hwmod = { | ||
112 | .name = "emif_fw", | ||
113 | .class = &omap44xx_emif_fw_hwmod_class, | ||
114 | .clkdm_name = "l3_emif_clkdm", | ||
115 | .prcm = { | ||
116 | .omap4 = { | ||
117 | .clkctrl_offs = OMAP4_CM_MEMIF_EMIF_FW_CLKCTRL_OFFSET, | ||
118 | .context_offs = OMAP4_RM_MEMIF_EMIF_FW_CONTEXT_OFFSET, | ||
119 | }, | ||
120 | }, | ||
121 | }; | ||
122 | |||
123 | /* | ||
124 | * 'l3' class | 77 | * 'l3' class |
125 | * instance(s): l3_instr, l3_main_1, l3_main_2, l3_main_3 | 78 | * instance(s): l3_instr, l3_main_1, l3_main_2, l3_main_3 |
126 | */ | 79 | */ |
@@ -143,17 +96,10 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = { | |||
143 | }; | 96 | }; |
144 | 97 | ||
145 | /* l3_main_1 */ | 98 | /* l3_main_1 */ |
146 | static struct omap_hwmod_irq_info omap44xx_l3_main_1_irqs[] = { | ||
147 | { .name = "dbg_err", .irq = 9 + OMAP44XX_IRQ_GIC_START }, | ||
148 | { .name = "app_err", .irq = 10 + OMAP44XX_IRQ_GIC_START }, | ||
149 | { .irq = -1 } | ||
150 | }; | ||
151 | |||
152 | static struct omap_hwmod omap44xx_l3_main_1_hwmod = { | 99 | static struct omap_hwmod omap44xx_l3_main_1_hwmod = { |
153 | .name = "l3_main_1", | 100 | .name = "l3_main_1", |
154 | .class = &omap44xx_l3_hwmod_class, | 101 | .class = &omap44xx_l3_hwmod_class, |
155 | .clkdm_name = "l3_1_clkdm", | 102 | .clkdm_name = "l3_1_clkdm", |
156 | .mpu_irqs = omap44xx_l3_main_1_irqs, | ||
157 | .prcm = { | 103 | .prcm = { |
158 | .omap4 = { | 104 | .omap4 = { |
159 | .clkctrl_offs = OMAP4_CM_L3_1_L3_1_CLKCTRL_OFFSET, | 105 | .clkctrl_offs = OMAP4_CM_L3_1_L3_1_CLKCTRL_OFFSET, |
@@ -326,29 +272,10 @@ static struct omap_hwmod_class omap44xx_aess_hwmod_class = { | |||
326 | }; | 272 | }; |
327 | 273 | ||
328 | /* aess */ | 274 | /* aess */ |
329 | static struct omap_hwmod_irq_info omap44xx_aess_irqs[] = { | ||
330 | { .irq = 99 + OMAP44XX_IRQ_GIC_START }, | ||
331 | { .irq = -1 } | ||
332 | }; | ||
333 | |||
334 | static struct omap_hwmod_dma_info omap44xx_aess_sdma_reqs[] = { | ||
335 | { .name = "fifo0", .dma_req = 100 + OMAP44XX_DMA_REQ_START }, | ||
336 | { .name = "fifo1", .dma_req = 101 + OMAP44XX_DMA_REQ_START }, | ||
337 | { .name = "fifo2", .dma_req = 102 + OMAP44XX_DMA_REQ_START }, | ||
338 | { .name = "fifo3", .dma_req = 103 + OMAP44XX_DMA_REQ_START }, | ||
339 | { .name = "fifo4", .dma_req = 104 + OMAP44XX_DMA_REQ_START }, | ||
340 | { .name = "fifo5", .dma_req = 105 + OMAP44XX_DMA_REQ_START }, | ||
341 | { .name = "fifo6", .dma_req = 106 + OMAP44XX_DMA_REQ_START }, | ||
342 | { .name = "fifo7", .dma_req = 107 + OMAP44XX_DMA_REQ_START }, | ||
343 | { .dma_req = -1 } | ||
344 | }; | ||
345 | |||
346 | static struct omap_hwmod omap44xx_aess_hwmod = { | 275 | static struct omap_hwmod omap44xx_aess_hwmod = { |
347 | .name = "aess", | 276 | .name = "aess", |
348 | .class = &omap44xx_aess_hwmod_class, | 277 | .class = &omap44xx_aess_hwmod_class, |
349 | .clkdm_name = "abe_clkdm", | 278 | .clkdm_name = "abe_clkdm", |
350 | .mpu_irqs = omap44xx_aess_irqs, | ||
351 | .sdma_reqs = omap44xx_aess_sdma_reqs, | ||
352 | .main_clk = "aess_fclk", | 279 | .main_clk = "aess_fclk", |
353 | .prcm = { | 280 | .prcm = { |
354 | .omap4 = { | 281 | .omap4 = { |
@@ -371,22 +298,10 @@ static struct omap_hwmod_class omap44xx_c2c_hwmod_class = { | |||
371 | }; | 298 | }; |
372 | 299 | ||
373 | /* c2c */ | 300 | /* c2c */ |
374 | static struct omap_hwmod_irq_info omap44xx_c2c_irqs[] = { | ||
375 | { .irq = 88 + OMAP44XX_IRQ_GIC_START }, | ||
376 | { .irq = -1 } | ||
377 | }; | ||
378 | |||
379 | static struct omap_hwmod_dma_info omap44xx_c2c_sdma_reqs[] = { | ||
380 | { .dma_req = 68 + OMAP44XX_DMA_REQ_START }, | ||
381 | { .dma_req = -1 } | ||
382 | }; | ||
383 | |||
384 | static struct omap_hwmod omap44xx_c2c_hwmod = { | 301 | static struct omap_hwmod omap44xx_c2c_hwmod = { |
385 | .name = "c2c", | 302 | .name = "c2c", |
386 | .class = &omap44xx_c2c_hwmod_class, | 303 | .class = &omap44xx_c2c_hwmod_class, |
387 | .clkdm_name = "d2d_clkdm", | 304 | .clkdm_name = "d2d_clkdm", |
388 | .mpu_irqs = omap44xx_c2c_irqs, | ||
389 | .sdma_reqs = omap44xx_c2c_sdma_reqs, | ||
390 | .prcm = { | 305 | .prcm = { |
391 | .omap4 = { | 306 | .omap4 = { |
392 | .clkctrl_offs = OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET, | 307 | .clkctrl_offs = OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET, |
@@ -449,16 +364,10 @@ static struct omap_hwmod_class omap44xx_ctrl_module_hwmod_class = { | |||
449 | }; | 364 | }; |
450 | 365 | ||
451 | /* ctrl_module_core */ | 366 | /* ctrl_module_core */ |
452 | static struct omap_hwmod_irq_info omap44xx_ctrl_module_core_irqs[] = { | ||
453 | { .irq = 8 + OMAP44XX_IRQ_GIC_START }, | ||
454 | { .irq = -1 } | ||
455 | }; | ||
456 | |||
457 | static struct omap_hwmod omap44xx_ctrl_module_core_hwmod = { | 367 | static struct omap_hwmod omap44xx_ctrl_module_core_hwmod = { |
458 | .name = "ctrl_module_core", | 368 | .name = "ctrl_module_core", |
459 | .class = &omap44xx_ctrl_module_hwmod_class, | 369 | .class = &omap44xx_ctrl_module_hwmod_class, |
460 | .clkdm_name = "l4_cfg_clkdm", | 370 | .clkdm_name = "l4_cfg_clkdm", |
461 | .mpu_irqs = omap44xx_ctrl_module_core_irqs, | ||
462 | .prcm = { | 371 | .prcm = { |
463 | .omap4 = { | 372 | .omap4 = { |
464 | .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, | 373 | .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, |
@@ -601,22 +510,10 @@ static struct omap_hwmod_class omap44xx_dmic_hwmod_class = { | |||
601 | }; | 510 | }; |
602 | 511 | ||
603 | /* dmic */ | 512 | /* dmic */ |
604 | static struct omap_hwmod_irq_info omap44xx_dmic_irqs[] = { | ||
605 | { .irq = 114 + OMAP44XX_IRQ_GIC_START }, | ||
606 | { .irq = -1 } | ||
607 | }; | ||
608 | |||
609 | static struct omap_hwmod_dma_info omap44xx_dmic_sdma_reqs[] = { | ||
610 | { .dma_req = 66 + OMAP44XX_DMA_REQ_START }, | ||
611 | { .dma_req = -1 } | ||
612 | }; | ||
613 | |||
614 | static struct omap_hwmod omap44xx_dmic_hwmod = { | 513 | static struct omap_hwmod omap44xx_dmic_hwmod = { |
615 | .name = "dmic", | 514 | .name = "dmic", |
616 | .class = &omap44xx_dmic_hwmod_class, | 515 | .class = &omap44xx_dmic_hwmod_class, |
617 | .clkdm_name = "abe_clkdm", | 516 | .clkdm_name = "abe_clkdm", |
618 | .mpu_irqs = omap44xx_dmic_irqs, | ||
619 | .sdma_reqs = omap44xx_dmic_sdma_reqs, | ||
620 | .main_clk = "func_dmic_abe_gfclk", | 517 | .main_clk = "func_dmic_abe_gfclk", |
621 | .prcm = { | 518 | .prcm = { |
622 | .omap4 = { | 519 | .omap4 = { |
@@ -637,11 +534,6 @@ static struct omap_hwmod_class omap44xx_dsp_hwmod_class = { | |||
637 | }; | 534 | }; |
638 | 535 | ||
639 | /* dsp */ | 536 | /* dsp */ |
640 | static struct omap_hwmod_irq_info omap44xx_dsp_irqs[] = { | ||
641 | { .irq = 28 + OMAP44XX_IRQ_GIC_START }, | ||
642 | { .irq = -1 } | ||
643 | }; | ||
644 | |||
645 | static struct omap_hwmod_rst_info omap44xx_dsp_resets[] = { | 537 | static struct omap_hwmod_rst_info omap44xx_dsp_resets[] = { |
646 | { .name = "dsp", .rst_shift = 0 }, | 538 | { .name = "dsp", .rst_shift = 0 }, |
647 | }; | 539 | }; |
@@ -650,7 +542,6 @@ static struct omap_hwmod omap44xx_dsp_hwmod = { | |||
650 | .name = "dsp", | 542 | .name = "dsp", |
651 | .class = &omap44xx_dsp_hwmod_class, | 543 | .class = &omap44xx_dsp_hwmod_class, |
652 | .clkdm_name = "tesla_clkdm", | 544 | .clkdm_name = "tesla_clkdm", |
653 | .mpu_irqs = omap44xx_dsp_irqs, | ||
654 | .rst_lines = omap44xx_dsp_resets, | 545 | .rst_lines = omap44xx_dsp_resets, |
655 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_dsp_resets), | 546 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_dsp_resets), |
656 | .main_clk = "dpll_iva_m4x2_ck", | 547 | .main_clk = "dpll_iva_m4x2_ck", |
@@ -992,16 +883,10 @@ static struct omap_hwmod_class omap44xx_elm_hwmod_class = { | |||
992 | }; | 883 | }; |
993 | 884 | ||
994 | /* elm */ | 885 | /* elm */ |
995 | static struct omap_hwmod_irq_info omap44xx_elm_irqs[] = { | ||
996 | { .irq = 4 + OMAP44XX_IRQ_GIC_START }, | ||
997 | { .irq = -1 } | ||
998 | }; | ||
999 | |||
1000 | static struct omap_hwmod omap44xx_elm_hwmod = { | 886 | static struct omap_hwmod omap44xx_elm_hwmod = { |
1001 | .name = "elm", | 887 | .name = "elm", |
1002 | .class = &omap44xx_elm_hwmod_class, | 888 | .class = &omap44xx_elm_hwmod_class, |
1003 | .clkdm_name = "l4_per_clkdm", | 889 | .clkdm_name = "l4_per_clkdm", |
1004 | .mpu_irqs = omap44xx_elm_irqs, | ||
1005 | .prcm = { | 890 | .prcm = { |
1006 | .omap4 = { | 891 | .omap4 = { |
1007 | .clkctrl_offs = OMAP4_CM_L4PER_ELM_CLKCTRL_OFFSET, | 892 | .clkctrl_offs = OMAP4_CM_L4PER_ELM_CLKCTRL_OFFSET, |
@@ -1025,17 +910,11 @@ static struct omap_hwmod_class omap44xx_emif_hwmod_class = { | |||
1025 | }; | 910 | }; |
1026 | 911 | ||
1027 | /* emif1 */ | 912 | /* emif1 */ |
1028 | static struct omap_hwmod_irq_info omap44xx_emif1_irqs[] = { | ||
1029 | { .irq = 110 + OMAP44XX_IRQ_GIC_START }, | ||
1030 | { .irq = -1 } | ||
1031 | }; | ||
1032 | |||
1033 | static struct omap_hwmod omap44xx_emif1_hwmod = { | 913 | static struct omap_hwmod omap44xx_emif1_hwmod = { |
1034 | .name = "emif1", | 914 | .name = "emif1", |
1035 | .class = &omap44xx_emif_hwmod_class, | 915 | .class = &omap44xx_emif_hwmod_class, |
1036 | .clkdm_name = "l3_emif_clkdm", | 916 | .clkdm_name = "l3_emif_clkdm", |
1037 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | 917 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, |
1038 | .mpu_irqs = omap44xx_emif1_irqs, | ||
1039 | .main_clk = "ddrphy_ck", | 918 | .main_clk = "ddrphy_ck", |
1040 | .prcm = { | 919 | .prcm = { |
1041 | .omap4 = { | 920 | .omap4 = { |
@@ -1047,17 +926,11 @@ static struct omap_hwmod omap44xx_emif1_hwmod = { | |||
1047 | }; | 926 | }; |
1048 | 927 | ||
1049 | /* emif2 */ | 928 | /* emif2 */ |
1050 | static struct omap_hwmod_irq_info omap44xx_emif2_irqs[] = { | ||
1051 | { .irq = 111 + OMAP44XX_IRQ_GIC_START }, | ||
1052 | { .irq = -1 } | ||
1053 | }; | ||
1054 | |||
1055 | static struct omap_hwmod omap44xx_emif2_hwmod = { | 929 | static struct omap_hwmod omap44xx_emif2_hwmod = { |
1056 | .name = "emif2", | 930 | .name = "emif2", |
1057 | .class = &omap44xx_emif_hwmod_class, | 931 | .class = &omap44xx_emif_hwmod_class, |
1058 | .clkdm_name = "l3_emif_clkdm", | 932 | .clkdm_name = "l3_emif_clkdm", |
1059 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | 933 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, |
1060 | .mpu_irqs = omap44xx_emif2_irqs, | ||
1061 | .main_clk = "ddrphy_ck", | 934 | .main_clk = "ddrphy_ck", |
1062 | .prcm = { | 935 | .prcm = { |
1063 | .omap4 = { | 936 | .omap4 = { |
@@ -1098,16 +971,10 @@ static struct omap_hwmod_class omap44xx_fdif_hwmod_class = { | |||
1098 | }; | 971 | }; |
1099 | 972 | ||
1100 | /* fdif */ | 973 | /* fdif */ |
1101 | static struct omap_hwmod_irq_info omap44xx_fdif_irqs[] = { | ||
1102 | { .irq = 69 + OMAP44XX_IRQ_GIC_START }, | ||
1103 | { .irq = -1 } | ||
1104 | }; | ||
1105 | |||
1106 | static struct omap_hwmod omap44xx_fdif_hwmod = { | 974 | static struct omap_hwmod omap44xx_fdif_hwmod = { |
1107 | .name = "fdif", | 975 | .name = "fdif", |
1108 | .class = &omap44xx_fdif_hwmod_class, | 976 | .class = &omap44xx_fdif_hwmod_class, |
1109 | .clkdm_name = "iss_clkdm", | 977 | .clkdm_name = "iss_clkdm", |
1110 | .mpu_irqs = omap44xx_fdif_irqs, | ||
1111 | .main_clk = "fdif_fck", | 978 | .main_clk = "fdif_fck", |
1112 | .prcm = { | 979 | .prcm = { |
1113 | .omap4 = { | 980 | .omap4 = { |
@@ -1148,11 +1015,6 @@ static struct omap_gpio_dev_attr gpio_dev_attr = { | |||
1148 | }; | 1015 | }; |
1149 | 1016 | ||
1150 | /* gpio1 */ | 1017 | /* gpio1 */ |
1151 | static struct omap_hwmod_irq_info omap44xx_gpio1_irqs[] = { | ||
1152 | { .irq = 29 + OMAP44XX_IRQ_GIC_START }, | ||
1153 | { .irq = -1 } | ||
1154 | }; | ||
1155 | |||
1156 | static struct omap_hwmod_opt_clk gpio1_opt_clks[] = { | 1018 | static struct omap_hwmod_opt_clk gpio1_opt_clks[] = { |
1157 | { .role = "dbclk", .clk = "gpio1_dbclk" }, | 1019 | { .role = "dbclk", .clk = "gpio1_dbclk" }, |
1158 | }; | 1020 | }; |
@@ -1161,7 +1023,6 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = { | |||
1161 | .name = "gpio1", | 1023 | .name = "gpio1", |
1162 | .class = &omap44xx_gpio_hwmod_class, | 1024 | .class = &omap44xx_gpio_hwmod_class, |
1163 | .clkdm_name = "l4_wkup_clkdm", | 1025 | .clkdm_name = "l4_wkup_clkdm", |
1164 | .mpu_irqs = omap44xx_gpio1_irqs, | ||
1165 | .main_clk = "l4_wkup_clk_mux_ck", | 1026 | .main_clk = "l4_wkup_clk_mux_ck", |
1166 | .prcm = { | 1027 | .prcm = { |
1167 | .omap4 = { | 1028 | .omap4 = { |
@@ -1176,11 +1037,6 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = { | |||
1176 | }; | 1037 | }; |
1177 | 1038 | ||
1178 | /* gpio2 */ | 1039 | /* gpio2 */ |
1179 | static struct omap_hwmod_irq_info omap44xx_gpio2_irqs[] = { | ||
1180 | { .irq = 30 + OMAP44XX_IRQ_GIC_START }, | ||
1181 | { .irq = -1 } | ||
1182 | }; | ||
1183 | |||
1184 | static struct omap_hwmod_opt_clk gpio2_opt_clks[] = { | 1040 | static struct omap_hwmod_opt_clk gpio2_opt_clks[] = { |
1185 | { .role = "dbclk", .clk = "gpio2_dbclk" }, | 1041 | { .role = "dbclk", .clk = "gpio2_dbclk" }, |
1186 | }; | 1042 | }; |
@@ -1190,7 +1046,6 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = { | |||
1190 | .class = &omap44xx_gpio_hwmod_class, | 1046 | .class = &omap44xx_gpio_hwmod_class, |
1191 | .clkdm_name = "l4_per_clkdm", | 1047 | .clkdm_name = "l4_per_clkdm", |
1192 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 1048 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1193 | .mpu_irqs = omap44xx_gpio2_irqs, | ||
1194 | .main_clk = "l4_div_ck", | 1049 | .main_clk = "l4_div_ck", |
1195 | .prcm = { | 1050 | .prcm = { |
1196 | .omap4 = { | 1051 | .omap4 = { |
@@ -1205,11 +1060,6 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = { | |||
1205 | }; | 1060 | }; |
1206 | 1061 | ||
1207 | /* gpio3 */ | 1062 | /* gpio3 */ |
1208 | static struct omap_hwmod_irq_info omap44xx_gpio3_irqs[] = { | ||
1209 | { .irq = 31 + OMAP44XX_IRQ_GIC_START }, | ||
1210 | { .irq = -1 } | ||
1211 | }; | ||
1212 | |||
1213 | static struct omap_hwmod_opt_clk gpio3_opt_clks[] = { | 1063 | static struct omap_hwmod_opt_clk gpio3_opt_clks[] = { |
1214 | { .role = "dbclk", .clk = "gpio3_dbclk" }, | 1064 | { .role = "dbclk", .clk = "gpio3_dbclk" }, |
1215 | }; | 1065 | }; |
@@ -1219,7 +1069,6 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = { | |||
1219 | .class = &omap44xx_gpio_hwmod_class, | 1069 | .class = &omap44xx_gpio_hwmod_class, |
1220 | .clkdm_name = "l4_per_clkdm", | 1070 | .clkdm_name = "l4_per_clkdm", |
1221 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 1071 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1222 | .mpu_irqs = omap44xx_gpio3_irqs, | ||
1223 | .main_clk = "l4_div_ck", | 1072 | .main_clk = "l4_div_ck", |
1224 | .prcm = { | 1073 | .prcm = { |
1225 | .omap4 = { | 1074 | .omap4 = { |
@@ -1234,11 +1083,6 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = { | |||
1234 | }; | 1083 | }; |
1235 | 1084 | ||
1236 | /* gpio4 */ | 1085 | /* gpio4 */ |
1237 | static struct omap_hwmod_irq_info omap44xx_gpio4_irqs[] = { | ||
1238 | { .irq = 32 + OMAP44XX_IRQ_GIC_START }, | ||
1239 | { .irq = -1 } | ||
1240 | }; | ||
1241 | |||
1242 | static struct omap_hwmod_opt_clk gpio4_opt_clks[] = { | 1086 | static struct omap_hwmod_opt_clk gpio4_opt_clks[] = { |
1243 | { .role = "dbclk", .clk = "gpio4_dbclk" }, | 1087 | { .role = "dbclk", .clk = "gpio4_dbclk" }, |
1244 | }; | 1088 | }; |
@@ -1248,7 +1092,6 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = { | |||
1248 | .class = &omap44xx_gpio_hwmod_class, | 1092 | .class = &omap44xx_gpio_hwmod_class, |
1249 | .clkdm_name = "l4_per_clkdm", | 1093 | .clkdm_name = "l4_per_clkdm", |
1250 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 1094 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1251 | .mpu_irqs = omap44xx_gpio4_irqs, | ||
1252 | .main_clk = "l4_div_ck", | 1095 | .main_clk = "l4_div_ck", |
1253 | .prcm = { | 1096 | .prcm = { |
1254 | .omap4 = { | 1097 | .omap4 = { |
@@ -1263,11 +1106,6 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = { | |||
1263 | }; | 1106 | }; |
1264 | 1107 | ||
1265 | /* gpio5 */ | 1108 | /* gpio5 */ |
1266 | static struct omap_hwmod_irq_info omap44xx_gpio5_irqs[] = { | ||
1267 | { .irq = 33 + OMAP44XX_IRQ_GIC_START }, | ||
1268 | { .irq = -1 } | ||
1269 | }; | ||
1270 | |||
1271 | static struct omap_hwmod_opt_clk gpio5_opt_clks[] = { | 1109 | static struct omap_hwmod_opt_clk gpio5_opt_clks[] = { |
1272 | { .role = "dbclk", .clk = "gpio5_dbclk" }, | 1110 | { .role = "dbclk", .clk = "gpio5_dbclk" }, |
1273 | }; | 1111 | }; |
@@ -1277,7 +1115,6 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = { | |||
1277 | .class = &omap44xx_gpio_hwmod_class, | 1115 | .class = &omap44xx_gpio_hwmod_class, |
1278 | .clkdm_name = "l4_per_clkdm", | 1116 | .clkdm_name = "l4_per_clkdm", |
1279 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 1117 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1280 | .mpu_irqs = omap44xx_gpio5_irqs, | ||
1281 | .main_clk = "l4_div_ck", | 1118 | .main_clk = "l4_div_ck", |
1282 | .prcm = { | 1119 | .prcm = { |
1283 | .omap4 = { | 1120 | .omap4 = { |
@@ -1292,11 +1129,6 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = { | |||
1292 | }; | 1129 | }; |
1293 | 1130 | ||
1294 | /* gpio6 */ | 1131 | /* gpio6 */ |
1295 | static struct omap_hwmod_irq_info omap44xx_gpio6_irqs[] = { | ||
1296 | { .irq = 34 + OMAP44XX_IRQ_GIC_START }, | ||
1297 | { .irq = -1 } | ||
1298 | }; | ||
1299 | |||
1300 | static struct omap_hwmod_opt_clk gpio6_opt_clks[] = { | 1132 | static struct omap_hwmod_opt_clk gpio6_opt_clks[] = { |
1301 | { .role = "dbclk", .clk = "gpio6_dbclk" }, | 1133 | { .role = "dbclk", .clk = "gpio6_dbclk" }, |
1302 | }; | 1134 | }; |
@@ -1306,7 +1138,6 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = { | |||
1306 | .class = &omap44xx_gpio_hwmod_class, | 1138 | .class = &omap44xx_gpio_hwmod_class, |
1307 | .clkdm_name = "l4_per_clkdm", | 1139 | .clkdm_name = "l4_per_clkdm", |
1308 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | 1140 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, |
1309 | .mpu_irqs = omap44xx_gpio6_irqs, | ||
1310 | .main_clk = "l4_div_ck", | 1141 | .main_clk = "l4_div_ck", |
1311 | .prcm = { | 1142 | .prcm = { |
1312 | .omap4 = { | 1143 | .omap4 = { |
@@ -1341,16 +1172,6 @@ static struct omap_hwmod_class omap44xx_gpmc_hwmod_class = { | |||
1341 | }; | 1172 | }; |
1342 | 1173 | ||
1343 | /* gpmc */ | 1174 | /* gpmc */ |
1344 | static struct omap_hwmod_irq_info omap44xx_gpmc_irqs[] = { | ||
1345 | { .irq = 20 + OMAP44XX_IRQ_GIC_START }, | ||
1346 | { .irq = -1 } | ||
1347 | }; | ||
1348 | |||
1349 | static struct omap_hwmod_dma_info omap44xx_gpmc_sdma_reqs[] = { | ||
1350 | { .dma_req = 3 + OMAP44XX_DMA_REQ_START }, | ||
1351 | { .dma_req = -1 } | ||
1352 | }; | ||
1353 | |||
1354 | static struct omap_hwmod omap44xx_gpmc_hwmod = { | 1175 | static struct omap_hwmod omap44xx_gpmc_hwmod = { |
1355 | .name = "gpmc", | 1176 | .name = "gpmc", |
1356 | .class = &omap44xx_gpmc_hwmod_class, | 1177 | .class = &omap44xx_gpmc_hwmod_class, |
@@ -1364,8 +1185,6 @@ static struct omap_hwmod omap44xx_gpmc_hwmod = { | |||
1364 | * HWMOD_INIT_NO_RESET should be removed ASAP. | 1185 | * HWMOD_INIT_NO_RESET should be removed ASAP. |
1365 | */ | 1186 | */ |
1366 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | 1187 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, |
1367 | .mpu_irqs = omap44xx_gpmc_irqs, | ||
1368 | .sdma_reqs = omap44xx_gpmc_sdma_reqs, | ||
1369 | .prcm = { | 1188 | .prcm = { |
1370 | .omap4 = { | 1189 | .omap4 = { |
1371 | .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET, | 1190 | .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET, |
@@ -1396,16 +1215,10 @@ static struct omap_hwmod_class omap44xx_gpu_hwmod_class = { | |||
1396 | }; | 1215 | }; |
1397 | 1216 | ||
1398 | /* gpu */ | 1217 | /* gpu */ |
1399 | static struct omap_hwmod_irq_info omap44xx_gpu_irqs[] = { | ||
1400 | { .irq = 21 + OMAP44XX_IRQ_GIC_START }, | ||
1401 | { .irq = -1 } | ||
1402 | }; | ||
1403 | |||
1404 | static struct omap_hwmod omap44xx_gpu_hwmod = { | 1218 | static struct omap_hwmod omap44xx_gpu_hwmod = { |
1405 | .name = "gpu", | 1219 | .name = "gpu", |
1406 | .class = &omap44xx_gpu_hwmod_class, | 1220 | .class = &omap44xx_gpu_hwmod_class, |
1407 | .clkdm_name = "l3_gfx_clkdm", | 1221 | .clkdm_name = "l3_gfx_clkdm", |
1408 | .mpu_irqs = omap44xx_gpu_irqs, | ||
1409 | .main_clk = "sgx_clk_mux", | 1222 | .main_clk = "sgx_clk_mux", |
1410 | .prcm = { | 1223 | .prcm = { |
1411 | .omap4 = { | 1224 | .omap4 = { |
@@ -1436,17 +1249,11 @@ static struct omap_hwmod_class omap44xx_hdq1w_hwmod_class = { | |||
1436 | }; | 1249 | }; |
1437 | 1250 | ||
1438 | /* hdq1w */ | 1251 | /* hdq1w */ |
1439 | static struct omap_hwmod_irq_info omap44xx_hdq1w_irqs[] = { | ||
1440 | { .irq = 58 + OMAP44XX_IRQ_GIC_START }, | ||
1441 | { .irq = -1 } | ||
1442 | }; | ||
1443 | |||
1444 | static struct omap_hwmod omap44xx_hdq1w_hwmod = { | 1252 | static struct omap_hwmod omap44xx_hdq1w_hwmod = { |
1445 | .name = "hdq1w", | 1253 | .name = "hdq1w", |
1446 | .class = &omap44xx_hdq1w_hwmod_class, | 1254 | .class = &omap44xx_hdq1w_hwmod_class, |
1447 | .clkdm_name = "l4_per_clkdm", | 1255 | .clkdm_name = "l4_per_clkdm", |
1448 | .flags = HWMOD_INIT_NO_RESET, /* XXX temporary */ | 1256 | .flags = HWMOD_INIT_NO_RESET, /* XXX temporary */ |
1449 | .mpu_irqs = omap44xx_hdq1w_irqs, | ||
1450 | .main_clk = "func_12m_fclk", | 1257 | .main_clk = "func_12m_fclk", |
1451 | .prcm = { | 1258 | .prcm = { |
1452 | .omap4 = { | 1259 | .omap4 = { |
@@ -1482,18 +1289,10 @@ static struct omap_hwmod_class omap44xx_hsi_hwmod_class = { | |||
1482 | }; | 1289 | }; |
1483 | 1290 | ||
1484 | /* hsi */ | 1291 | /* hsi */ |
1485 | static struct omap_hwmod_irq_info omap44xx_hsi_irqs[] = { | ||
1486 | { .name = "mpu_p1", .irq = 67 + OMAP44XX_IRQ_GIC_START }, | ||
1487 | { .name = "mpu_p2", .irq = 68 + OMAP44XX_IRQ_GIC_START }, | ||
1488 | { .name = "mpu_dma", .irq = 71 + OMAP44XX_IRQ_GIC_START }, | ||
1489 | { .irq = -1 } | ||
1490 | }; | ||
1491 | |||
1492 | static struct omap_hwmod omap44xx_hsi_hwmod = { | 1292 | static struct omap_hwmod omap44xx_hsi_hwmod = { |
1493 | .name = "hsi", | 1293 | .name = "hsi", |
1494 | .class = &omap44xx_hsi_hwmod_class, | 1294 | .class = &omap44xx_hsi_hwmod_class, |
1495 | .clkdm_name = "l3_init_clkdm", | 1295 | .clkdm_name = "l3_init_clkdm", |
1496 | .mpu_irqs = omap44xx_hsi_irqs, | ||
1497 | .main_clk = "hsi_fck", | 1296 | .main_clk = "hsi_fck", |
1498 | .prcm = { | 1297 | .prcm = { |
1499 | .omap4 = { | 1298 | .omap4 = { |
@@ -1533,24 +1332,11 @@ static struct omap_i2c_dev_attr i2c_dev_attr = { | |||
1533 | }; | 1332 | }; |
1534 | 1333 | ||
1535 | /* i2c1 */ | 1334 | /* i2c1 */ |
1536 | static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = { | ||
1537 | { .irq = 56 + OMAP44XX_IRQ_GIC_START }, | ||
1538 | { .irq = -1 } | ||
1539 | }; | ||
1540 | |||
1541 | static struct omap_hwmod_dma_info omap44xx_i2c1_sdma_reqs[] = { | ||
1542 | { .name = "tx", .dma_req = 26 + OMAP44XX_DMA_REQ_START }, | ||
1543 | { .name = "rx", .dma_req = 27 + OMAP44XX_DMA_REQ_START }, | ||
1544 | { .dma_req = -1 } | ||
1545 | }; | ||
1546 | |||
1547 | static struct omap_hwmod omap44xx_i2c1_hwmod = { | 1335 | static struct omap_hwmod omap44xx_i2c1_hwmod = { |
1548 | .name = "i2c1", | 1336 | .name = "i2c1", |
1549 | .class = &omap44xx_i2c_hwmod_class, | 1337 | .class = &omap44xx_i2c_hwmod_class, |
1550 | .clkdm_name = "l4_per_clkdm", | 1338 | .clkdm_name = "l4_per_clkdm", |
1551 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 1339 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1552 | .mpu_irqs = omap44xx_i2c1_irqs, | ||
1553 | .sdma_reqs = omap44xx_i2c1_sdma_reqs, | ||
1554 | .main_clk = "func_96m_fclk", | 1340 | .main_clk = "func_96m_fclk", |
1555 | .prcm = { | 1341 | .prcm = { |
1556 | .omap4 = { | 1342 | .omap4 = { |
@@ -1563,24 +1349,11 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = { | |||
1563 | }; | 1349 | }; |
1564 | 1350 | ||
1565 | /* i2c2 */ | 1351 | /* i2c2 */ |
1566 | static struct omap_hwmod_irq_info omap44xx_i2c2_irqs[] = { | ||
1567 | { .irq = 57 + OMAP44XX_IRQ_GIC_START }, | ||
1568 | { .irq = -1 } | ||
1569 | }; | ||
1570 | |||
1571 | static struct omap_hwmod_dma_info omap44xx_i2c2_sdma_reqs[] = { | ||
1572 | { .name = "tx", .dma_req = 28 + OMAP44XX_DMA_REQ_START }, | ||
1573 | { .name = "rx", .dma_req = 29 + OMAP44XX_DMA_REQ_START }, | ||
1574 | { .dma_req = -1 } | ||
1575 | }; | ||
1576 | |||
1577 | static struct omap_hwmod omap44xx_i2c2_hwmod = { | 1352 | static struct omap_hwmod omap44xx_i2c2_hwmod = { |
1578 | .name = "i2c2", | 1353 | .name = "i2c2", |
1579 | .class = &omap44xx_i2c_hwmod_class, | 1354 | .class = &omap44xx_i2c_hwmod_class, |
1580 | .clkdm_name = "l4_per_clkdm", | 1355 | .clkdm_name = "l4_per_clkdm", |
1581 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 1356 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1582 | .mpu_irqs = omap44xx_i2c2_irqs, | ||
1583 | .sdma_reqs = omap44xx_i2c2_sdma_reqs, | ||
1584 | .main_clk = "func_96m_fclk", | 1357 | .main_clk = "func_96m_fclk", |
1585 | .prcm = { | 1358 | .prcm = { |
1586 | .omap4 = { | 1359 | .omap4 = { |
@@ -1593,24 +1366,11 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = { | |||
1593 | }; | 1366 | }; |
1594 | 1367 | ||
1595 | /* i2c3 */ | 1368 | /* i2c3 */ |
1596 | static struct omap_hwmod_irq_info omap44xx_i2c3_irqs[] = { | ||
1597 | { .irq = 61 + OMAP44XX_IRQ_GIC_START }, | ||
1598 | { .irq = -1 } | ||
1599 | }; | ||
1600 | |||
1601 | static struct omap_hwmod_dma_info omap44xx_i2c3_sdma_reqs[] = { | ||
1602 | { .name = "tx", .dma_req = 24 + OMAP44XX_DMA_REQ_START }, | ||
1603 | { .name = "rx", .dma_req = 25 + OMAP44XX_DMA_REQ_START }, | ||
1604 | { .dma_req = -1 } | ||
1605 | }; | ||
1606 | |||
1607 | static struct omap_hwmod omap44xx_i2c3_hwmod = { | 1369 | static struct omap_hwmod omap44xx_i2c3_hwmod = { |
1608 | .name = "i2c3", | 1370 | .name = "i2c3", |
1609 | .class = &omap44xx_i2c_hwmod_class, | 1371 | .class = &omap44xx_i2c_hwmod_class, |
1610 | .clkdm_name = "l4_per_clkdm", | 1372 | .clkdm_name = "l4_per_clkdm", |
1611 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 1373 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1612 | .mpu_irqs = omap44xx_i2c3_irqs, | ||
1613 | .sdma_reqs = omap44xx_i2c3_sdma_reqs, | ||
1614 | .main_clk = "func_96m_fclk", | 1374 | .main_clk = "func_96m_fclk", |
1615 | .prcm = { | 1375 | .prcm = { |
1616 | .omap4 = { | 1376 | .omap4 = { |
@@ -1623,24 +1383,11 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = { | |||
1623 | }; | 1383 | }; |
1624 | 1384 | ||
1625 | /* i2c4 */ | 1385 | /* i2c4 */ |
1626 | static struct omap_hwmod_irq_info omap44xx_i2c4_irqs[] = { | ||
1627 | { .irq = 62 + OMAP44XX_IRQ_GIC_START }, | ||
1628 | { .irq = -1 } | ||
1629 | }; | ||
1630 | |||
1631 | static struct omap_hwmod_dma_info omap44xx_i2c4_sdma_reqs[] = { | ||
1632 | { .name = "tx", .dma_req = 123 + OMAP44XX_DMA_REQ_START }, | ||
1633 | { .name = "rx", .dma_req = 124 + OMAP44XX_DMA_REQ_START }, | ||
1634 | { .dma_req = -1 } | ||
1635 | }; | ||
1636 | |||
1637 | static struct omap_hwmod omap44xx_i2c4_hwmod = { | 1386 | static struct omap_hwmod omap44xx_i2c4_hwmod = { |
1638 | .name = "i2c4", | 1387 | .name = "i2c4", |
1639 | .class = &omap44xx_i2c_hwmod_class, | 1388 | .class = &omap44xx_i2c_hwmod_class, |
1640 | .clkdm_name = "l4_per_clkdm", | 1389 | .clkdm_name = "l4_per_clkdm", |
1641 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | 1390 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, |
1642 | .mpu_irqs = omap44xx_i2c4_irqs, | ||
1643 | .sdma_reqs = omap44xx_i2c4_sdma_reqs, | ||
1644 | .main_clk = "func_96m_fclk", | 1391 | .main_clk = "func_96m_fclk", |
1645 | .prcm = { | 1392 | .prcm = { |
1646 | .omap4 = { | 1393 | .omap4 = { |
@@ -1662,11 +1409,6 @@ static struct omap_hwmod_class omap44xx_ipu_hwmod_class = { | |||
1662 | }; | 1409 | }; |
1663 | 1410 | ||
1664 | /* ipu */ | 1411 | /* ipu */ |
1665 | static struct omap_hwmod_irq_info omap44xx_ipu_irqs[] = { | ||
1666 | { .irq = 100 + OMAP44XX_IRQ_GIC_START }, | ||
1667 | { .irq = -1 } | ||
1668 | }; | ||
1669 | |||
1670 | static struct omap_hwmod_rst_info omap44xx_ipu_resets[] = { | 1412 | static struct omap_hwmod_rst_info omap44xx_ipu_resets[] = { |
1671 | { .name = "cpu0", .rst_shift = 0 }, | 1413 | { .name = "cpu0", .rst_shift = 0 }, |
1672 | { .name = "cpu1", .rst_shift = 1 }, | 1414 | { .name = "cpu1", .rst_shift = 1 }, |
@@ -1676,7 +1418,6 @@ static struct omap_hwmod omap44xx_ipu_hwmod = { | |||
1676 | .name = "ipu", | 1418 | .name = "ipu", |
1677 | .class = &omap44xx_ipu_hwmod_class, | 1419 | .class = &omap44xx_ipu_hwmod_class, |
1678 | .clkdm_name = "ducati_clkdm", | 1420 | .clkdm_name = "ducati_clkdm", |
1679 | .mpu_irqs = omap44xx_ipu_irqs, | ||
1680 | .rst_lines = omap44xx_ipu_resets, | 1421 | .rst_lines = omap44xx_ipu_resets, |
1681 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_ipu_resets), | 1422 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_ipu_resets), |
1682 | .main_clk = "ducati_clk_mux_ck", | 1423 | .main_clk = "ducati_clk_mux_ck", |
@@ -1721,19 +1462,6 @@ static struct omap_hwmod_class omap44xx_iss_hwmod_class = { | |||
1721 | }; | 1462 | }; |
1722 | 1463 | ||
1723 | /* iss */ | 1464 | /* iss */ |
1724 | static struct omap_hwmod_irq_info omap44xx_iss_irqs[] = { | ||
1725 | { .irq = 24 + OMAP44XX_IRQ_GIC_START }, | ||
1726 | { .irq = -1 } | ||
1727 | }; | ||
1728 | |||
1729 | static struct omap_hwmod_dma_info omap44xx_iss_sdma_reqs[] = { | ||
1730 | { .name = "1", .dma_req = 8 + OMAP44XX_DMA_REQ_START }, | ||
1731 | { .name = "2", .dma_req = 9 + OMAP44XX_DMA_REQ_START }, | ||
1732 | { .name = "3", .dma_req = 11 + OMAP44XX_DMA_REQ_START }, | ||
1733 | { .name = "4", .dma_req = 12 + OMAP44XX_DMA_REQ_START }, | ||
1734 | { .dma_req = -1 } | ||
1735 | }; | ||
1736 | |||
1737 | static struct omap_hwmod_opt_clk iss_opt_clks[] = { | 1465 | static struct omap_hwmod_opt_clk iss_opt_clks[] = { |
1738 | { .role = "ctrlclk", .clk = "iss_ctrlclk" }, | 1466 | { .role = "ctrlclk", .clk = "iss_ctrlclk" }, |
1739 | }; | 1467 | }; |
@@ -1742,8 +1470,6 @@ static struct omap_hwmod omap44xx_iss_hwmod = { | |||
1742 | .name = "iss", | 1470 | .name = "iss", |
1743 | .class = &omap44xx_iss_hwmod_class, | 1471 | .class = &omap44xx_iss_hwmod_class, |
1744 | .clkdm_name = "iss_clkdm", | 1472 | .clkdm_name = "iss_clkdm", |
1745 | .mpu_irqs = omap44xx_iss_irqs, | ||
1746 | .sdma_reqs = omap44xx_iss_sdma_reqs, | ||
1747 | .main_clk = "ducati_clk_mux_ck", | 1473 | .main_clk = "ducati_clk_mux_ck", |
1748 | .prcm = { | 1474 | .prcm = { |
1749 | .omap4 = { | 1475 | .omap4 = { |
@@ -1766,13 +1492,6 @@ static struct omap_hwmod_class omap44xx_iva_hwmod_class = { | |||
1766 | }; | 1492 | }; |
1767 | 1493 | ||
1768 | /* iva */ | 1494 | /* iva */ |
1769 | static struct omap_hwmod_irq_info omap44xx_iva_irqs[] = { | ||
1770 | { .name = "sync_1", .irq = 103 + OMAP44XX_IRQ_GIC_START }, | ||
1771 | { .name = "sync_0", .irq = 104 + OMAP44XX_IRQ_GIC_START }, | ||
1772 | { .name = "mailbox_0", .irq = 107 + OMAP44XX_IRQ_GIC_START }, | ||
1773 | { .irq = -1 } | ||
1774 | }; | ||
1775 | |||
1776 | static struct omap_hwmod_rst_info omap44xx_iva_resets[] = { | 1495 | static struct omap_hwmod_rst_info omap44xx_iva_resets[] = { |
1777 | { .name = "seq0", .rst_shift = 0 }, | 1496 | { .name = "seq0", .rst_shift = 0 }, |
1778 | { .name = "seq1", .rst_shift = 1 }, | 1497 | { .name = "seq1", .rst_shift = 1 }, |
@@ -1783,7 +1502,6 @@ static struct omap_hwmod omap44xx_iva_hwmod = { | |||
1783 | .name = "iva", | 1502 | .name = "iva", |
1784 | .class = &omap44xx_iva_hwmod_class, | 1503 | .class = &omap44xx_iva_hwmod_class, |
1785 | .clkdm_name = "ivahd_clkdm", | 1504 | .clkdm_name = "ivahd_clkdm", |
1786 | .mpu_irqs = omap44xx_iva_irqs, | ||
1787 | .rst_lines = omap44xx_iva_resets, | 1505 | .rst_lines = omap44xx_iva_resets, |
1788 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_iva_resets), | 1506 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_iva_resets), |
1789 | .main_clk = "dpll_iva_m5x2_ck", | 1507 | .main_clk = "dpll_iva_m5x2_ck", |
@@ -1820,16 +1538,10 @@ static struct omap_hwmod_class omap44xx_kbd_hwmod_class = { | |||
1820 | }; | 1538 | }; |
1821 | 1539 | ||
1822 | /* kbd */ | 1540 | /* kbd */ |
1823 | static struct omap_hwmod_irq_info omap44xx_kbd_irqs[] = { | ||
1824 | { .irq = 120 + OMAP44XX_IRQ_GIC_START }, | ||
1825 | { .irq = -1 } | ||
1826 | }; | ||
1827 | |||
1828 | static struct omap_hwmod omap44xx_kbd_hwmod = { | 1541 | static struct omap_hwmod omap44xx_kbd_hwmod = { |
1829 | .name = "kbd", | 1542 | .name = "kbd", |
1830 | .class = &omap44xx_kbd_hwmod_class, | 1543 | .class = &omap44xx_kbd_hwmod_class, |
1831 | .clkdm_name = "l4_wkup_clkdm", | 1544 | .clkdm_name = "l4_wkup_clkdm", |
1832 | .mpu_irqs = omap44xx_kbd_irqs, | ||
1833 | .main_clk = "sys_32k_ck", | 1545 | .main_clk = "sys_32k_ck", |
1834 | .prcm = { | 1546 | .prcm = { |
1835 | .omap4 = { | 1547 | .omap4 = { |
@@ -1861,16 +1573,10 @@ static struct omap_hwmod_class omap44xx_mailbox_hwmod_class = { | |||
1861 | }; | 1573 | }; |
1862 | 1574 | ||
1863 | /* mailbox */ | 1575 | /* mailbox */ |
1864 | static struct omap_hwmod_irq_info omap44xx_mailbox_irqs[] = { | ||
1865 | { .irq = 26 + OMAP44XX_IRQ_GIC_START }, | ||
1866 | { .irq = -1 } | ||
1867 | }; | ||
1868 | |||
1869 | static struct omap_hwmod omap44xx_mailbox_hwmod = { | 1576 | static struct omap_hwmod omap44xx_mailbox_hwmod = { |
1870 | .name = "mailbox", | 1577 | .name = "mailbox", |
1871 | .class = &omap44xx_mailbox_hwmod_class, | 1578 | .class = &omap44xx_mailbox_hwmod_class, |
1872 | .clkdm_name = "l4_cfg_clkdm", | 1579 | .clkdm_name = "l4_cfg_clkdm", |
1873 | .mpu_irqs = omap44xx_mailbox_irqs, | ||
1874 | .prcm = { | 1580 | .prcm = { |
1875 | .omap4 = { | 1581 | .omap4 = { |
1876 | .clkctrl_offs = OMAP4_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET, | 1582 | .clkctrl_offs = OMAP4_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET, |
@@ -1903,24 +1609,10 @@ static struct omap_hwmod_class omap44xx_mcasp_hwmod_class = { | |||
1903 | }; | 1609 | }; |
1904 | 1610 | ||
1905 | /* mcasp */ | 1611 | /* mcasp */ |
1906 | static struct omap_hwmod_irq_info omap44xx_mcasp_irqs[] = { | ||
1907 | { .name = "arevt", .irq = 108 + OMAP44XX_IRQ_GIC_START }, | ||
1908 | { .name = "axevt", .irq = 109 + OMAP44XX_IRQ_GIC_START }, | ||
1909 | { .irq = -1 } | ||
1910 | }; | ||
1911 | |||
1912 | static struct omap_hwmod_dma_info omap44xx_mcasp_sdma_reqs[] = { | ||
1913 | { .name = "axevt", .dma_req = 7 + OMAP44XX_DMA_REQ_START }, | ||
1914 | { .name = "arevt", .dma_req = 10 + OMAP44XX_DMA_REQ_START }, | ||
1915 | { .dma_req = -1 } | ||
1916 | }; | ||
1917 | |||
1918 | static struct omap_hwmod omap44xx_mcasp_hwmod = { | 1612 | static struct omap_hwmod omap44xx_mcasp_hwmod = { |
1919 | .name = "mcasp", | 1613 | .name = "mcasp", |
1920 | .class = &omap44xx_mcasp_hwmod_class, | 1614 | .class = &omap44xx_mcasp_hwmod_class, |
1921 | .clkdm_name = "abe_clkdm", | 1615 | .clkdm_name = "abe_clkdm", |
1922 | .mpu_irqs = omap44xx_mcasp_irqs, | ||
1923 | .sdma_reqs = omap44xx_mcasp_sdma_reqs, | ||
1924 | .main_clk = "func_mcasp_abe_gfclk", | 1616 | .main_clk = "func_mcasp_abe_gfclk", |
1925 | .prcm = { | 1617 | .prcm = { |
1926 | .omap4 = { | 1618 | .omap4 = { |
@@ -1951,17 +1643,6 @@ static struct omap_hwmod_class omap44xx_mcbsp_hwmod_class = { | |||
1951 | }; | 1643 | }; |
1952 | 1644 | ||
1953 | /* mcbsp1 */ | 1645 | /* mcbsp1 */ |
1954 | static struct omap_hwmod_irq_info omap44xx_mcbsp1_irqs[] = { | ||
1955 | { .name = "common", .irq = 17 + OMAP44XX_IRQ_GIC_START }, | ||
1956 | { .irq = -1 } | ||
1957 | }; | ||
1958 | |||
1959 | static struct omap_hwmod_dma_info omap44xx_mcbsp1_sdma_reqs[] = { | ||
1960 | { .name = "tx", .dma_req = 32 + OMAP44XX_DMA_REQ_START }, | ||
1961 | { .name = "rx", .dma_req = 33 + OMAP44XX_DMA_REQ_START }, | ||
1962 | { .dma_req = -1 } | ||
1963 | }; | ||
1964 | |||
1965 | static struct omap_hwmod_opt_clk mcbsp1_opt_clks[] = { | 1646 | static struct omap_hwmod_opt_clk mcbsp1_opt_clks[] = { |
1966 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 1647 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
1967 | { .role = "prcm_fck", .clk = "mcbsp1_sync_mux_ck" }, | 1648 | { .role = "prcm_fck", .clk = "mcbsp1_sync_mux_ck" }, |
@@ -1971,8 +1652,6 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = { | |||
1971 | .name = "mcbsp1", | 1652 | .name = "mcbsp1", |
1972 | .class = &omap44xx_mcbsp_hwmod_class, | 1653 | .class = &omap44xx_mcbsp_hwmod_class, |
1973 | .clkdm_name = "abe_clkdm", | 1654 | .clkdm_name = "abe_clkdm", |
1974 | .mpu_irqs = omap44xx_mcbsp1_irqs, | ||
1975 | .sdma_reqs = omap44xx_mcbsp1_sdma_reqs, | ||
1976 | .main_clk = "func_mcbsp1_gfclk", | 1655 | .main_clk = "func_mcbsp1_gfclk", |
1977 | .prcm = { | 1656 | .prcm = { |
1978 | .omap4 = { | 1657 | .omap4 = { |
@@ -1986,17 +1665,6 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = { | |||
1986 | }; | 1665 | }; |
1987 | 1666 | ||
1988 | /* mcbsp2 */ | 1667 | /* mcbsp2 */ |
1989 | static struct omap_hwmod_irq_info omap44xx_mcbsp2_irqs[] = { | ||
1990 | { .name = "common", .irq = 22 + OMAP44XX_IRQ_GIC_START }, | ||
1991 | { .irq = -1 } | ||
1992 | }; | ||
1993 | |||
1994 | static struct omap_hwmod_dma_info omap44xx_mcbsp2_sdma_reqs[] = { | ||
1995 | { .name = "tx", .dma_req = 16 + OMAP44XX_DMA_REQ_START }, | ||
1996 | { .name = "rx", .dma_req = 17 + OMAP44XX_DMA_REQ_START }, | ||
1997 | { .dma_req = -1 } | ||
1998 | }; | ||
1999 | |||
2000 | static struct omap_hwmod_opt_clk mcbsp2_opt_clks[] = { | 1668 | static struct omap_hwmod_opt_clk mcbsp2_opt_clks[] = { |
2001 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 1669 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
2002 | { .role = "prcm_fck", .clk = "mcbsp2_sync_mux_ck" }, | 1670 | { .role = "prcm_fck", .clk = "mcbsp2_sync_mux_ck" }, |
@@ -2006,8 +1674,6 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = { | |||
2006 | .name = "mcbsp2", | 1674 | .name = "mcbsp2", |
2007 | .class = &omap44xx_mcbsp_hwmod_class, | 1675 | .class = &omap44xx_mcbsp_hwmod_class, |
2008 | .clkdm_name = "abe_clkdm", | 1676 | .clkdm_name = "abe_clkdm", |
2009 | .mpu_irqs = omap44xx_mcbsp2_irqs, | ||
2010 | .sdma_reqs = omap44xx_mcbsp2_sdma_reqs, | ||
2011 | .main_clk = "func_mcbsp2_gfclk", | 1677 | .main_clk = "func_mcbsp2_gfclk", |
2012 | .prcm = { | 1678 | .prcm = { |
2013 | .omap4 = { | 1679 | .omap4 = { |
@@ -2021,17 +1687,6 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = { | |||
2021 | }; | 1687 | }; |
2022 | 1688 | ||
2023 | /* mcbsp3 */ | 1689 | /* mcbsp3 */ |
2024 | static struct omap_hwmod_irq_info omap44xx_mcbsp3_irqs[] = { | ||
2025 | { .name = "common", .irq = 23 + OMAP44XX_IRQ_GIC_START }, | ||
2026 | { .irq = -1 } | ||
2027 | }; | ||
2028 | |||
2029 | static struct omap_hwmod_dma_info omap44xx_mcbsp3_sdma_reqs[] = { | ||
2030 | { .name = "tx", .dma_req = 18 + OMAP44XX_DMA_REQ_START }, | ||
2031 | { .name = "rx", .dma_req = 19 + OMAP44XX_DMA_REQ_START }, | ||
2032 | { .dma_req = -1 } | ||
2033 | }; | ||
2034 | |||
2035 | static struct omap_hwmod_opt_clk mcbsp3_opt_clks[] = { | 1690 | static struct omap_hwmod_opt_clk mcbsp3_opt_clks[] = { |
2036 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 1691 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
2037 | { .role = "prcm_fck", .clk = "mcbsp3_sync_mux_ck" }, | 1692 | { .role = "prcm_fck", .clk = "mcbsp3_sync_mux_ck" }, |
@@ -2041,8 +1696,6 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = { | |||
2041 | .name = "mcbsp3", | 1696 | .name = "mcbsp3", |
2042 | .class = &omap44xx_mcbsp_hwmod_class, | 1697 | .class = &omap44xx_mcbsp_hwmod_class, |
2043 | .clkdm_name = "abe_clkdm", | 1698 | .clkdm_name = "abe_clkdm", |
2044 | .mpu_irqs = omap44xx_mcbsp3_irqs, | ||
2045 | .sdma_reqs = omap44xx_mcbsp3_sdma_reqs, | ||
2046 | .main_clk = "func_mcbsp3_gfclk", | 1699 | .main_clk = "func_mcbsp3_gfclk", |
2047 | .prcm = { | 1700 | .prcm = { |
2048 | .omap4 = { | 1701 | .omap4 = { |
@@ -2056,17 +1709,6 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = { | |||
2056 | }; | 1709 | }; |
2057 | 1710 | ||
2058 | /* mcbsp4 */ | 1711 | /* mcbsp4 */ |
2059 | static struct omap_hwmod_irq_info omap44xx_mcbsp4_irqs[] = { | ||
2060 | { .name = "common", .irq = 16 + OMAP44XX_IRQ_GIC_START }, | ||
2061 | { .irq = -1 } | ||
2062 | }; | ||
2063 | |||
2064 | static struct omap_hwmod_dma_info omap44xx_mcbsp4_sdma_reqs[] = { | ||
2065 | { .name = "tx", .dma_req = 30 + OMAP44XX_DMA_REQ_START }, | ||
2066 | { .name = "rx", .dma_req = 31 + OMAP44XX_DMA_REQ_START }, | ||
2067 | { .dma_req = -1 } | ||
2068 | }; | ||
2069 | |||
2070 | static struct omap_hwmod_opt_clk mcbsp4_opt_clks[] = { | 1712 | static struct omap_hwmod_opt_clk mcbsp4_opt_clks[] = { |
2071 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 1713 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
2072 | { .role = "prcm_fck", .clk = "mcbsp4_sync_mux_ck" }, | 1714 | { .role = "prcm_fck", .clk = "mcbsp4_sync_mux_ck" }, |
@@ -2076,8 +1718,6 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = { | |||
2076 | .name = "mcbsp4", | 1718 | .name = "mcbsp4", |
2077 | .class = &omap44xx_mcbsp_hwmod_class, | 1719 | .class = &omap44xx_mcbsp_hwmod_class, |
2078 | .clkdm_name = "l4_per_clkdm", | 1720 | .clkdm_name = "l4_per_clkdm", |
2079 | .mpu_irqs = omap44xx_mcbsp4_irqs, | ||
2080 | .sdma_reqs = omap44xx_mcbsp4_sdma_reqs, | ||
2081 | .main_clk = "per_mcbsp4_gfclk", | 1721 | .main_clk = "per_mcbsp4_gfclk", |
2082 | .prcm = { | 1722 | .prcm = { |
2083 | .omap4 = { | 1723 | .omap4 = { |
@@ -2112,17 +1752,6 @@ static struct omap_hwmod_class omap44xx_mcpdm_hwmod_class = { | |||
2112 | }; | 1752 | }; |
2113 | 1753 | ||
2114 | /* mcpdm */ | 1754 | /* mcpdm */ |
2115 | static struct omap_hwmod_irq_info omap44xx_mcpdm_irqs[] = { | ||
2116 | { .irq = 112 + OMAP44XX_IRQ_GIC_START }, | ||
2117 | { .irq = -1 } | ||
2118 | }; | ||
2119 | |||
2120 | static struct omap_hwmod_dma_info omap44xx_mcpdm_sdma_reqs[] = { | ||
2121 | { .name = "up_link", .dma_req = 64 + OMAP44XX_DMA_REQ_START }, | ||
2122 | { .name = "dn_link", .dma_req = 65 + OMAP44XX_DMA_REQ_START }, | ||
2123 | { .dma_req = -1 } | ||
2124 | }; | ||
2125 | |||
2126 | static struct omap_hwmod omap44xx_mcpdm_hwmod = { | 1755 | static struct omap_hwmod omap44xx_mcpdm_hwmod = { |
2127 | .name = "mcpdm", | 1756 | .name = "mcpdm", |
2128 | .class = &omap44xx_mcpdm_hwmod_class, | 1757 | .class = &omap44xx_mcpdm_hwmod_class, |
@@ -2139,8 +1768,6 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = { | |||
2139 | * results 'slow motion' audio playback. | 1768 | * results 'slow motion' audio playback. |
2140 | */ | 1769 | */ |
2141 | .flags = HWMOD_EXT_OPT_MAIN_CLK | HWMOD_SWSUP_SIDLE, | 1770 | .flags = HWMOD_EXT_OPT_MAIN_CLK | HWMOD_SWSUP_SIDLE, |
2142 | .mpu_irqs = omap44xx_mcpdm_irqs, | ||
2143 | .sdma_reqs = omap44xx_mcpdm_sdma_reqs, | ||
2144 | .main_clk = "pad_clks_ck", | 1771 | .main_clk = "pad_clks_ck", |
2145 | .prcm = { | 1772 | .prcm = { |
2146 | .omap4 = { | 1773 | .omap4 = { |
@@ -2174,11 +1801,6 @@ static struct omap_hwmod_class omap44xx_mcspi_hwmod_class = { | |||
2174 | }; | 1801 | }; |
2175 | 1802 | ||
2176 | /* mcspi1 */ | 1803 | /* mcspi1 */ |
2177 | static struct omap_hwmod_irq_info omap44xx_mcspi1_irqs[] = { | ||
2178 | { .irq = 65 + OMAP44XX_IRQ_GIC_START }, | ||
2179 | { .irq = -1 } | ||
2180 | }; | ||
2181 | |||
2182 | static struct omap_hwmod_dma_info omap44xx_mcspi1_sdma_reqs[] = { | 1804 | static struct omap_hwmod_dma_info omap44xx_mcspi1_sdma_reqs[] = { |
2183 | { .name = "tx0", .dma_req = 34 + OMAP44XX_DMA_REQ_START }, | 1805 | { .name = "tx0", .dma_req = 34 + OMAP44XX_DMA_REQ_START }, |
2184 | { .name = "rx0", .dma_req = 35 + OMAP44XX_DMA_REQ_START }, | 1806 | { .name = "rx0", .dma_req = 35 + OMAP44XX_DMA_REQ_START }, |
@@ -2200,7 +1822,6 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = { | |||
2200 | .name = "mcspi1", | 1822 | .name = "mcspi1", |
2201 | .class = &omap44xx_mcspi_hwmod_class, | 1823 | .class = &omap44xx_mcspi_hwmod_class, |
2202 | .clkdm_name = "l4_per_clkdm", | 1824 | .clkdm_name = "l4_per_clkdm", |
2203 | .mpu_irqs = omap44xx_mcspi1_irqs, | ||
2204 | .sdma_reqs = omap44xx_mcspi1_sdma_reqs, | 1825 | .sdma_reqs = omap44xx_mcspi1_sdma_reqs, |
2205 | .main_clk = "func_48m_fclk", | 1826 | .main_clk = "func_48m_fclk", |
2206 | .prcm = { | 1827 | .prcm = { |
@@ -2214,11 +1835,6 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = { | |||
2214 | }; | 1835 | }; |
2215 | 1836 | ||
2216 | /* mcspi2 */ | 1837 | /* mcspi2 */ |
2217 | static struct omap_hwmod_irq_info omap44xx_mcspi2_irqs[] = { | ||
2218 | { .irq = 66 + OMAP44XX_IRQ_GIC_START }, | ||
2219 | { .irq = -1 } | ||
2220 | }; | ||
2221 | |||
2222 | static struct omap_hwmod_dma_info omap44xx_mcspi2_sdma_reqs[] = { | 1838 | static struct omap_hwmod_dma_info omap44xx_mcspi2_sdma_reqs[] = { |
2223 | { .name = "tx0", .dma_req = 42 + OMAP44XX_DMA_REQ_START }, | 1839 | { .name = "tx0", .dma_req = 42 + OMAP44XX_DMA_REQ_START }, |
2224 | { .name = "rx0", .dma_req = 43 + OMAP44XX_DMA_REQ_START }, | 1840 | { .name = "rx0", .dma_req = 43 + OMAP44XX_DMA_REQ_START }, |
@@ -2236,7 +1852,6 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = { | |||
2236 | .name = "mcspi2", | 1852 | .name = "mcspi2", |
2237 | .class = &omap44xx_mcspi_hwmod_class, | 1853 | .class = &omap44xx_mcspi_hwmod_class, |
2238 | .clkdm_name = "l4_per_clkdm", | 1854 | .clkdm_name = "l4_per_clkdm", |
2239 | .mpu_irqs = omap44xx_mcspi2_irqs, | ||
2240 | .sdma_reqs = omap44xx_mcspi2_sdma_reqs, | 1855 | .sdma_reqs = omap44xx_mcspi2_sdma_reqs, |
2241 | .main_clk = "func_48m_fclk", | 1856 | .main_clk = "func_48m_fclk", |
2242 | .prcm = { | 1857 | .prcm = { |
@@ -2250,11 +1865,6 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = { | |||
2250 | }; | 1865 | }; |
2251 | 1866 | ||
2252 | /* mcspi3 */ | 1867 | /* mcspi3 */ |
2253 | static struct omap_hwmod_irq_info omap44xx_mcspi3_irqs[] = { | ||
2254 | { .irq = 91 + OMAP44XX_IRQ_GIC_START }, | ||
2255 | { .irq = -1 } | ||
2256 | }; | ||
2257 | |||
2258 | static struct omap_hwmod_dma_info omap44xx_mcspi3_sdma_reqs[] = { | 1868 | static struct omap_hwmod_dma_info omap44xx_mcspi3_sdma_reqs[] = { |
2259 | { .name = "tx0", .dma_req = 14 + OMAP44XX_DMA_REQ_START }, | 1869 | { .name = "tx0", .dma_req = 14 + OMAP44XX_DMA_REQ_START }, |
2260 | { .name = "rx0", .dma_req = 15 + OMAP44XX_DMA_REQ_START }, | 1870 | { .name = "rx0", .dma_req = 15 + OMAP44XX_DMA_REQ_START }, |
@@ -2272,7 +1882,6 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = { | |||
2272 | .name = "mcspi3", | 1882 | .name = "mcspi3", |
2273 | .class = &omap44xx_mcspi_hwmod_class, | 1883 | .class = &omap44xx_mcspi_hwmod_class, |
2274 | .clkdm_name = "l4_per_clkdm", | 1884 | .clkdm_name = "l4_per_clkdm", |
2275 | .mpu_irqs = omap44xx_mcspi3_irqs, | ||
2276 | .sdma_reqs = omap44xx_mcspi3_sdma_reqs, | 1885 | .sdma_reqs = omap44xx_mcspi3_sdma_reqs, |
2277 | .main_clk = "func_48m_fclk", | 1886 | .main_clk = "func_48m_fclk", |
2278 | .prcm = { | 1887 | .prcm = { |
@@ -2286,11 +1895,6 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = { | |||
2286 | }; | 1895 | }; |
2287 | 1896 | ||
2288 | /* mcspi4 */ | 1897 | /* mcspi4 */ |
2289 | static struct omap_hwmod_irq_info omap44xx_mcspi4_irqs[] = { | ||
2290 | { .irq = 48 + OMAP44XX_IRQ_GIC_START }, | ||
2291 | { .irq = -1 } | ||
2292 | }; | ||
2293 | |||
2294 | static struct omap_hwmod_dma_info omap44xx_mcspi4_sdma_reqs[] = { | 1898 | static struct omap_hwmod_dma_info omap44xx_mcspi4_sdma_reqs[] = { |
2295 | { .name = "tx0", .dma_req = 69 + OMAP44XX_DMA_REQ_START }, | 1899 | { .name = "tx0", .dma_req = 69 + OMAP44XX_DMA_REQ_START }, |
2296 | { .name = "rx0", .dma_req = 70 + OMAP44XX_DMA_REQ_START }, | 1900 | { .name = "rx0", .dma_req = 70 + OMAP44XX_DMA_REQ_START }, |
@@ -2306,7 +1910,6 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = { | |||
2306 | .name = "mcspi4", | 1910 | .name = "mcspi4", |
2307 | .class = &omap44xx_mcspi_hwmod_class, | 1911 | .class = &omap44xx_mcspi_hwmod_class, |
2308 | .clkdm_name = "l4_per_clkdm", | 1912 | .clkdm_name = "l4_per_clkdm", |
2309 | .mpu_irqs = omap44xx_mcspi4_irqs, | ||
2310 | .sdma_reqs = omap44xx_mcspi4_sdma_reqs, | 1913 | .sdma_reqs = omap44xx_mcspi4_sdma_reqs, |
2311 | .main_clk = "func_48m_fclk", | 1914 | .main_clk = "func_48m_fclk", |
2312 | .prcm = { | 1915 | .prcm = { |
@@ -2342,11 +1945,6 @@ static struct omap_hwmod_class omap44xx_mmc_hwmod_class = { | |||
2342 | }; | 1945 | }; |
2343 | 1946 | ||
2344 | /* mmc1 */ | 1947 | /* mmc1 */ |
2345 | static struct omap_hwmod_irq_info omap44xx_mmc1_irqs[] = { | ||
2346 | { .irq = 83 + OMAP44XX_IRQ_GIC_START }, | ||
2347 | { .irq = -1 } | ||
2348 | }; | ||
2349 | |||
2350 | static struct omap_hwmod_dma_info omap44xx_mmc1_sdma_reqs[] = { | 1948 | static struct omap_hwmod_dma_info omap44xx_mmc1_sdma_reqs[] = { |
2351 | { .name = "tx", .dma_req = 60 + OMAP44XX_DMA_REQ_START }, | 1949 | { .name = "tx", .dma_req = 60 + OMAP44XX_DMA_REQ_START }, |
2352 | { .name = "rx", .dma_req = 61 + OMAP44XX_DMA_REQ_START }, | 1950 | { .name = "rx", .dma_req = 61 + OMAP44XX_DMA_REQ_START }, |
@@ -2362,7 +1960,6 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = { | |||
2362 | .name = "mmc1", | 1960 | .name = "mmc1", |
2363 | .class = &omap44xx_mmc_hwmod_class, | 1961 | .class = &omap44xx_mmc_hwmod_class, |
2364 | .clkdm_name = "l3_init_clkdm", | 1962 | .clkdm_name = "l3_init_clkdm", |
2365 | .mpu_irqs = omap44xx_mmc1_irqs, | ||
2366 | .sdma_reqs = omap44xx_mmc1_sdma_reqs, | 1963 | .sdma_reqs = omap44xx_mmc1_sdma_reqs, |
2367 | .main_clk = "hsmmc1_fclk", | 1964 | .main_clk = "hsmmc1_fclk", |
2368 | .prcm = { | 1965 | .prcm = { |
@@ -2376,11 +1973,6 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = { | |||
2376 | }; | 1973 | }; |
2377 | 1974 | ||
2378 | /* mmc2 */ | 1975 | /* mmc2 */ |
2379 | static struct omap_hwmod_irq_info omap44xx_mmc2_irqs[] = { | ||
2380 | { .irq = 86 + OMAP44XX_IRQ_GIC_START }, | ||
2381 | { .irq = -1 } | ||
2382 | }; | ||
2383 | |||
2384 | static struct omap_hwmod_dma_info omap44xx_mmc2_sdma_reqs[] = { | 1976 | static struct omap_hwmod_dma_info omap44xx_mmc2_sdma_reqs[] = { |
2385 | { .name = "tx", .dma_req = 46 + OMAP44XX_DMA_REQ_START }, | 1977 | { .name = "tx", .dma_req = 46 + OMAP44XX_DMA_REQ_START }, |
2386 | { .name = "rx", .dma_req = 47 + OMAP44XX_DMA_REQ_START }, | 1978 | { .name = "rx", .dma_req = 47 + OMAP44XX_DMA_REQ_START }, |
@@ -2391,7 +1983,6 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = { | |||
2391 | .name = "mmc2", | 1983 | .name = "mmc2", |
2392 | .class = &omap44xx_mmc_hwmod_class, | 1984 | .class = &omap44xx_mmc_hwmod_class, |
2393 | .clkdm_name = "l3_init_clkdm", | 1985 | .clkdm_name = "l3_init_clkdm", |
2394 | .mpu_irqs = omap44xx_mmc2_irqs, | ||
2395 | .sdma_reqs = omap44xx_mmc2_sdma_reqs, | 1986 | .sdma_reqs = omap44xx_mmc2_sdma_reqs, |
2396 | .main_clk = "hsmmc2_fclk", | 1987 | .main_clk = "hsmmc2_fclk", |
2397 | .prcm = { | 1988 | .prcm = { |
@@ -2404,11 +1995,6 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = { | |||
2404 | }; | 1995 | }; |
2405 | 1996 | ||
2406 | /* mmc3 */ | 1997 | /* mmc3 */ |
2407 | static struct omap_hwmod_irq_info omap44xx_mmc3_irqs[] = { | ||
2408 | { .irq = 94 + OMAP44XX_IRQ_GIC_START }, | ||
2409 | { .irq = -1 } | ||
2410 | }; | ||
2411 | |||
2412 | static struct omap_hwmod_dma_info omap44xx_mmc3_sdma_reqs[] = { | 1998 | static struct omap_hwmod_dma_info omap44xx_mmc3_sdma_reqs[] = { |
2413 | { .name = "tx", .dma_req = 76 + OMAP44XX_DMA_REQ_START }, | 1999 | { .name = "tx", .dma_req = 76 + OMAP44XX_DMA_REQ_START }, |
2414 | { .name = "rx", .dma_req = 77 + OMAP44XX_DMA_REQ_START }, | 2000 | { .name = "rx", .dma_req = 77 + OMAP44XX_DMA_REQ_START }, |
@@ -2419,7 +2005,6 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = { | |||
2419 | .name = "mmc3", | 2005 | .name = "mmc3", |
2420 | .class = &omap44xx_mmc_hwmod_class, | 2006 | .class = &omap44xx_mmc_hwmod_class, |
2421 | .clkdm_name = "l4_per_clkdm", | 2007 | .clkdm_name = "l4_per_clkdm", |
2422 | .mpu_irqs = omap44xx_mmc3_irqs, | ||
2423 | .sdma_reqs = omap44xx_mmc3_sdma_reqs, | 2008 | .sdma_reqs = omap44xx_mmc3_sdma_reqs, |
2424 | .main_clk = "func_48m_fclk", | 2009 | .main_clk = "func_48m_fclk", |
2425 | .prcm = { | 2010 | .prcm = { |
@@ -2432,11 +2017,6 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = { | |||
2432 | }; | 2017 | }; |
2433 | 2018 | ||
2434 | /* mmc4 */ | 2019 | /* mmc4 */ |
2435 | static struct omap_hwmod_irq_info omap44xx_mmc4_irqs[] = { | ||
2436 | { .irq = 96 + OMAP44XX_IRQ_GIC_START }, | ||
2437 | { .irq = -1 } | ||
2438 | }; | ||
2439 | |||
2440 | static struct omap_hwmod_dma_info omap44xx_mmc4_sdma_reqs[] = { | 2020 | static struct omap_hwmod_dma_info omap44xx_mmc4_sdma_reqs[] = { |
2441 | { .name = "tx", .dma_req = 56 + OMAP44XX_DMA_REQ_START }, | 2021 | { .name = "tx", .dma_req = 56 + OMAP44XX_DMA_REQ_START }, |
2442 | { .name = "rx", .dma_req = 57 + OMAP44XX_DMA_REQ_START }, | 2022 | { .name = "rx", .dma_req = 57 + OMAP44XX_DMA_REQ_START }, |
@@ -2447,7 +2027,6 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = { | |||
2447 | .name = "mmc4", | 2027 | .name = "mmc4", |
2448 | .class = &omap44xx_mmc_hwmod_class, | 2028 | .class = &omap44xx_mmc_hwmod_class, |
2449 | .clkdm_name = "l4_per_clkdm", | 2029 | .clkdm_name = "l4_per_clkdm", |
2450 | .mpu_irqs = omap44xx_mmc4_irqs, | ||
2451 | .sdma_reqs = omap44xx_mmc4_sdma_reqs, | 2030 | .sdma_reqs = omap44xx_mmc4_sdma_reqs, |
2452 | .main_clk = "func_48m_fclk", | 2031 | .main_clk = "func_48m_fclk", |
2453 | .prcm = { | 2032 | .prcm = { |
@@ -2460,11 +2039,6 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = { | |||
2460 | }; | 2039 | }; |
2461 | 2040 | ||
2462 | /* mmc5 */ | 2041 | /* mmc5 */ |
2463 | static struct omap_hwmod_irq_info omap44xx_mmc5_irqs[] = { | ||
2464 | { .irq = 59 + OMAP44XX_IRQ_GIC_START }, | ||
2465 | { .irq = -1 } | ||
2466 | }; | ||
2467 | |||
2468 | static struct omap_hwmod_dma_info omap44xx_mmc5_sdma_reqs[] = { | 2042 | static struct omap_hwmod_dma_info omap44xx_mmc5_sdma_reqs[] = { |
2469 | { .name = "tx", .dma_req = 58 + OMAP44XX_DMA_REQ_START }, | 2043 | { .name = "tx", .dma_req = 58 + OMAP44XX_DMA_REQ_START }, |
2470 | { .name = "rx", .dma_req = 59 + OMAP44XX_DMA_REQ_START }, | 2044 | { .name = "rx", .dma_req = 59 + OMAP44XX_DMA_REQ_START }, |
@@ -2475,7 +2049,6 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = { | |||
2475 | .name = "mmc5", | 2049 | .name = "mmc5", |
2476 | .class = &omap44xx_mmc_hwmod_class, | 2050 | .class = &omap44xx_mmc_hwmod_class, |
2477 | .clkdm_name = "l4_per_clkdm", | 2051 | .clkdm_name = "l4_per_clkdm", |
2478 | .mpu_irqs = omap44xx_mmc5_irqs, | ||
2479 | .sdma_reqs = omap44xx_mmc5_sdma_reqs, | 2052 | .sdma_reqs = omap44xx_mmc5_sdma_reqs, |
2480 | .main_clk = "func_48m_fclk", | 2053 | .main_clk = "func_48m_fclk", |
2481 | .prcm = { | 2054 | .prcm = { |
@@ -2517,11 +2090,6 @@ static struct omap_mmu_dev_attr mmu_ipu_dev_attr = { | |||
2517 | }; | 2090 | }; |
2518 | 2091 | ||
2519 | static struct omap_hwmod omap44xx_mmu_ipu_hwmod; | 2092 | static struct omap_hwmod omap44xx_mmu_ipu_hwmod; |
2520 | static struct omap_hwmod_irq_info omap44xx_mmu_ipu_irqs[] = { | ||
2521 | { .irq = 100 + OMAP44XX_IRQ_GIC_START, }, | ||
2522 | { .irq = -1 } | ||
2523 | }; | ||
2524 | |||
2525 | static struct omap_hwmod_rst_info omap44xx_mmu_ipu_resets[] = { | 2093 | static struct omap_hwmod_rst_info omap44xx_mmu_ipu_resets[] = { |
2526 | { .name = "mmu_cache", .rst_shift = 2 }, | 2094 | { .name = "mmu_cache", .rst_shift = 2 }, |
2527 | }; | 2095 | }; |
@@ -2548,7 +2116,6 @@ static struct omap_hwmod omap44xx_mmu_ipu_hwmod = { | |||
2548 | .name = "mmu_ipu", | 2116 | .name = "mmu_ipu", |
2549 | .class = &omap44xx_mmu_hwmod_class, | 2117 | .class = &omap44xx_mmu_hwmod_class, |
2550 | .clkdm_name = "ducati_clkdm", | 2118 | .clkdm_name = "ducati_clkdm", |
2551 | .mpu_irqs = omap44xx_mmu_ipu_irqs, | ||
2552 | .rst_lines = omap44xx_mmu_ipu_resets, | 2119 | .rst_lines = omap44xx_mmu_ipu_resets, |
2553 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_mmu_ipu_resets), | 2120 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_mmu_ipu_resets), |
2554 | .main_clk = "ducati_clk_mux_ck", | 2121 | .main_clk = "ducati_clk_mux_ck", |
@@ -2572,11 +2139,6 @@ static struct omap_mmu_dev_attr mmu_dsp_dev_attr = { | |||
2572 | }; | 2139 | }; |
2573 | 2140 | ||
2574 | static struct omap_hwmod omap44xx_mmu_dsp_hwmod; | 2141 | static struct omap_hwmod omap44xx_mmu_dsp_hwmod; |
2575 | static struct omap_hwmod_irq_info omap44xx_mmu_dsp_irqs[] = { | ||
2576 | { .irq = 28 + OMAP44XX_IRQ_GIC_START }, | ||
2577 | { .irq = -1 } | ||
2578 | }; | ||
2579 | |||
2580 | static struct omap_hwmod_rst_info omap44xx_mmu_dsp_resets[] = { | 2142 | static struct omap_hwmod_rst_info omap44xx_mmu_dsp_resets[] = { |
2581 | { .name = "mmu_cache", .rst_shift = 1 }, | 2143 | { .name = "mmu_cache", .rst_shift = 1 }, |
2582 | }; | 2144 | }; |
@@ -2603,7 +2165,6 @@ static struct omap_hwmod omap44xx_mmu_dsp_hwmod = { | |||
2603 | .name = "mmu_dsp", | 2165 | .name = "mmu_dsp", |
2604 | .class = &omap44xx_mmu_hwmod_class, | 2166 | .class = &omap44xx_mmu_hwmod_class, |
2605 | .clkdm_name = "tesla_clkdm", | 2167 | .clkdm_name = "tesla_clkdm", |
2606 | .mpu_irqs = omap44xx_mmu_dsp_irqs, | ||
2607 | .rst_lines = omap44xx_mmu_dsp_resets, | 2168 | .rst_lines = omap44xx_mmu_dsp_resets, |
2608 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_mmu_dsp_resets), | 2169 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_mmu_dsp_resets), |
2609 | .main_clk = "dpll_iva_m4x2_ck", | 2170 | .main_clk = "dpll_iva_m4x2_ck", |
@@ -2628,21 +2189,11 @@ static struct omap_hwmod_class omap44xx_mpu_hwmod_class = { | |||
2628 | }; | 2189 | }; |
2629 | 2190 | ||
2630 | /* mpu */ | 2191 | /* mpu */ |
2631 | static struct omap_hwmod_irq_info omap44xx_mpu_irqs[] = { | ||
2632 | { .name = "pmu0", .irq = 54 + OMAP44XX_IRQ_GIC_START }, | ||
2633 | { .name = "pmu1", .irq = 55 + OMAP44XX_IRQ_GIC_START }, | ||
2634 | { .name = "pl310", .irq = 0 + OMAP44XX_IRQ_GIC_START }, | ||
2635 | { .name = "cti0", .irq = 1 + OMAP44XX_IRQ_GIC_START }, | ||
2636 | { .name = "cti1", .irq = 2 + OMAP44XX_IRQ_GIC_START }, | ||
2637 | { .irq = -1 } | ||
2638 | }; | ||
2639 | |||
2640 | static struct omap_hwmod omap44xx_mpu_hwmod = { | 2192 | static struct omap_hwmod omap44xx_mpu_hwmod = { |
2641 | .name = "mpu", | 2193 | .name = "mpu", |
2642 | .class = &omap44xx_mpu_hwmod_class, | 2194 | .class = &omap44xx_mpu_hwmod_class, |
2643 | .clkdm_name = "mpuss_clkdm", | 2195 | .clkdm_name = "mpuss_clkdm", |
2644 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | 2196 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, |
2645 | .mpu_irqs = omap44xx_mpu_irqs, | ||
2646 | .main_clk = "dpll_mpu_m2_ck", | 2197 | .main_clk = "dpll_mpu_m2_ck", |
2647 | .prcm = { | 2198 | .prcm = { |
2648 | .omap4 = { | 2199 | .omap4 = { |
@@ -2695,25 +2246,6 @@ static struct omap_hwmod_class omap44xx_ocp2scp_hwmod_class = { | |||
2695 | .sysc = &omap44xx_ocp2scp_sysc, | 2246 | .sysc = &omap44xx_ocp2scp_sysc, |
2696 | }; | 2247 | }; |
2697 | 2248 | ||
2698 | /* ocp2scp dev_attr */ | ||
2699 | static struct resource omap44xx_usb_phy_and_pll_addrs[] = { | ||
2700 | { | ||
2701 | .name = "usb_phy", | ||
2702 | .start = 0x4a0ad080, | ||
2703 | .end = 0x4a0ae000, | ||
2704 | .flags = IORESOURCE_MEM, | ||
2705 | }, | ||
2706 | { } | ||
2707 | }; | ||
2708 | |||
2709 | static struct omap_ocp2scp_dev ocp2scp_dev_attr[] = { | ||
2710 | { | ||
2711 | .drv_name = "omap-usb2", | ||
2712 | .res = omap44xx_usb_phy_and_pll_addrs, | ||
2713 | }, | ||
2714 | { } | ||
2715 | }; | ||
2716 | |||
2717 | /* ocp2scp_usb_phy */ | 2249 | /* ocp2scp_usb_phy */ |
2718 | static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { | 2250 | static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { |
2719 | .name = "ocp2scp_usb_phy", | 2251 | .name = "ocp2scp_usb_phy", |
@@ -2737,7 +2269,6 @@ static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { | |||
2737 | .modulemode = MODULEMODE_HWCTRL, | 2269 | .modulemode = MODULEMODE_HWCTRL, |
2738 | }, | 2270 | }, |
2739 | }, | 2271 | }, |
2740 | .dev_attr = ocp2scp_dev_attr, | ||
2741 | }; | 2272 | }; |
2742 | 2273 | ||
2743 | /* | 2274 | /* |
@@ -2788,11 +2319,6 @@ static struct omap_hwmod omap44xx_cm_core_hwmod = { | |||
2788 | }; | 2319 | }; |
2789 | 2320 | ||
2790 | /* prm */ | 2321 | /* prm */ |
2791 | static struct omap_hwmod_irq_info omap44xx_prm_irqs[] = { | ||
2792 | { .irq = 11 + OMAP44XX_IRQ_GIC_START }, | ||
2793 | { .irq = -1 } | ||
2794 | }; | ||
2795 | |||
2796 | static struct omap_hwmod_rst_info omap44xx_prm_resets[] = { | 2322 | static struct omap_hwmod_rst_info omap44xx_prm_resets[] = { |
2797 | { .name = "rst_global_warm_sw", .rst_shift = 0 }, | 2323 | { .name = "rst_global_warm_sw", .rst_shift = 0 }, |
2798 | { .name = "rst_global_cold_sw", .rst_shift = 1 }, | 2324 | { .name = "rst_global_cold_sw", .rst_shift = 1 }, |
@@ -2801,7 +2327,6 @@ static struct omap_hwmod_rst_info omap44xx_prm_resets[] = { | |||
2801 | static struct omap_hwmod omap44xx_prm_hwmod = { | 2327 | static struct omap_hwmod omap44xx_prm_hwmod = { |
2802 | .name = "prm", | 2328 | .name = "prm", |
2803 | .class = &omap44xx_prcm_hwmod_class, | 2329 | .class = &omap44xx_prcm_hwmod_class, |
2804 | .mpu_irqs = omap44xx_prm_irqs, | ||
2805 | .rst_lines = omap44xx_prm_resets, | 2330 | .rst_lines = omap44xx_prm_resets, |
2806 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_prm_resets), | 2331 | .rst_lines_cnt = ARRAY_SIZE(omap44xx_prm_resets), |
2807 | }; | 2332 | }; |
@@ -2872,23 +2397,6 @@ static struct omap_hwmod_class omap44xx_slimbus_hwmod_class = { | |||
2872 | }; | 2397 | }; |
2873 | 2398 | ||
2874 | /* slimbus1 */ | 2399 | /* slimbus1 */ |
2875 | static struct omap_hwmod_irq_info omap44xx_slimbus1_irqs[] = { | ||
2876 | { .irq = 97 + OMAP44XX_IRQ_GIC_START }, | ||
2877 | { .irq = -1 } | ||
2878 | }; | ||
2879 | |||
2880 | static struct omap_hwmod_dma_info omap44xx_slimbus1_sdma_reqs[] = { | ||
2881 | { .name = "tx0", .dma_req = 84 + OMAP44XX_DMA_REQ_START }, | ||
2882 | { .name = "tx1", .dma_req = 85 + OMAP44XX_DMA_REQ_START }, | ||
2883 | { .name = "tx2", .dma_req = 86 + OMAP44XX_DMA_REQ_START }, | ||
2884 | { .name = "tx3", .dma_req = 87 + OMAP44XX_DMA_REQ_START }, | ||
2885 | { .name = "rx0", .dma_req = 88 + OMAP44XX_DMA_REQ_START }, | ||
2886 | { .name = "rx1", .dma_req = 89 + OMAP44XX_DMA_REQ_START }, | ||
2887 | { .name = "rx2", .dma_req = 90 + OMAP44XX_DMA_REQ_START }, | ||
2888 | { .name = "rx3", .dma_req = 91 + OMAP44XX_DMA_REQ_START }, | ||
2889 | { .dma_req = -1 } | ||
2890 | }; | ||
2891 | |||
2892 | static struct omap_hwmod_opt_clk slimbus1_opt_clks[] = { | 2400 | static struct omap_hwmod_opt_clk slimbus1_opt_clks[] = { |
2893 | { .role = "fclk_1", .clk = "slimbus1_fclk_1" }, | 2401 | { .role = "fclk_1", .clk = "slimbus1_fclk_1" }, |
2894 | { .role = "fclk_0", .clk = "slimbus1_fclk_0" }, | 2402 | { .role = "fclk_0", .clk = "slimbus1_fclk_0" }, |
@@ -2900,8 +2408,6 @@ static struct omap_hwmod omap44xx_slimbus1_hwmod = { | |||
2900 | .name = "slimbus1", | 2408 | .name = "slimbus1", |
2901 | .class = &omap44xx_slimbus_hwmod_class, | 2409 | .class = &omap44xx_slimbus_hwmod_class, |
2902 | .clkdm_name = "abe_clkdm", | 2410 | .clkdm_name = "abe_clkdm", |
2903 | .mpu_irqs = omap44xx_slimbus1_irqs, | ||
2904 | .sdma_reqs = omap44xx_slimbus1_sdma_reqs, | ||
2905 | .prcm = { | 2411 | .prcm = { |
2906 | .omap4 = { | 2412 | .omap4 = { |
2907 | .clkctrl_offs = OMAP4_CM1_ABE_SLIMBUS_CLKCTRL_OFFSET, | 2413 | .clkctrl_offs = OMAP4_CM1_ABE_SLIMBUS_CLKCTRL_OFFSET, |
@@ -2914,23 +2420,6 @@ static struct omap_hwmod omap44xx_slimbus1_hwmod = { | |||
2914 | }; | 2420 | }; |
2915 | 2421 | ||
2916 | /* slimbus2 */ | 2422 | /* slimbus2 */ |
2917 | static struct omap_hwmod_irq_info omap44xx_slimbus2_irqs[] = { | ||
2918 | { .irq = 98 + OMAP44XX_IRQ_GIC_START }, | ||
2919 | { .irq = -1 } | ||
2920 | }; | ||
2921 | |||
2922 | static struct omap_hwmod_dma_info omap44xx_slimbus2_sdma_reqs[] = { | ||
2923 | { .name = "tx0", .dma_req = 92 + OMAP44XX_DMA_REQ_START }, | ||
2924 | { .name = "tx1", .dma_req = 93 + OMAP44XX_DMA_REQ_START }, | ||
2925 | { .name = "tx2", .dma_req = 94 + OMAP44XX_DMA_REQ_START }, | ||
2926 | { .name = "tx3", .dma_req = 95 + OMAP44XX_DMA_REQ_START }, | ||
2927 | { .name = "rx0", .dma_req = 96 + OMAP44XX_DMA_REQ_START }, | ||
2928 | { .name = "rx1", .dma_req = 97 + OMAP44XX_DMA_REQ_START }, | ||
2929 | { .name = "rx2", .dma_req = 98 + OMAP44XX_DMA_REQ_START }, | ||
2930 | { .name = "rx3", .dma_req = 99 + OMAP44XX_DMA_REQ_START }, | ||
2931 | { .dma_req = -1 } | ||
2932 | }; | ||
2933 | |||
2934 | static struct omap_hwmod_opt_clk slimbus2_opt_clks[] = { | 2423 | static struct omap_hwmod_opt_clk slimbus2_opt_clks[] = { |
2935 | { .role = "fclk_1", .clk = "slimbus2_fclk_1" }, | 2424 | { .role = "fclk_1", .clk = "slimbus2_fclk_1" }, |
2936 | { .role = "fclk_0", .clk = "slimbus2_fclk_0" }, | 2425 | { .role = "fclk_0", .clk = "slimbus2_fclk_0" }, |
@@ -2941,8 +2430,6 @@ static struct omap_hwmod omap44xx_slimbus2_hwmod = { | |||
2941 | .name = "slimbus2", | 2430 | .name = "slimbus2", |
2942 | .class = &omap44xx_slimbus_hwmod_class, | 2431 | .class = &omap44xx_slimbus_hwmod_class, |
2943 | .clkdm_name = "l4_per_clkdm", | 2432 | .clkdm_name = "l4_per_clkdm", |
2944 | .mpu_irqs = omap44xx_slimbus2_irqs, | ||
2945 | .sdma_reqs = omap44xx_slimbus2_sdma_reqs, | ||
2946 | .prcm = { | 2433 | .prcm = { |
2947 | .omap4 = { | 2434 | .omap4 = { |
2948 | .clkctrl_offs = OMAP4_CM_L4PER_SLIMBUS2_CLKCTRL_OFFSET, | 2435 | .clkctrl_offs = OMAP4_CM_L4PER_SLIMBUS2_CLKCTRL_OFFSET, |
@@ -2985,16 +2472,10 @@ static struct omap_smartreflex_dev_attr smartreflex_core_dev_attr = { | |||
2985 | .sensor_voltdm_name = "core", | 2472 | .sensor_voltdm_name = "core", |
2986 | }; | 2473 | }; |
2987 | 2474 | ||
2988 | static struct omap_hwmod_irq_info omap44xx_smartreflex_core_irqs[] = { | ||
2989 | { .irq = 19 + OMAP44XX_IRQ_GIC_START }, | ||
2990 | { .irq = -1 } | ||
2991 | }; | ||
2992 | |||
2993 | static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { | 2475 | static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { |
2994 | .name = "smartreflex_core", | 2476 | .name = "smartreflex_core", |
2995 | .class = &omap44xx_smartreflex_hwmod_class, | 2477 | .class = &omap44xx_smartreflex_hwmod_class, |
2996 | .clkdm_name = "l4_ao_clkdm", | 2478 | .clkdm_name = "l4_ao_clkdm", |
2997 | .mpu_irqs = omap44xx_smartreflex_core_irqs, | ||
2998 | 2479 | ||
2999 | .main_clk = "smartreflex_core_fck", | 2480 | .main_clk = "smartreflex_core_fck", |
3000 | .prcm = { | 2481 | .prcm = { |
@@ -3012,16 +2493,10 @@ static struct omap_smartreflex_dev_attr smartreflex_iva_dev_attr = { | |||
3012 | .sensor_voltdm_name = "iva", | 2493 | .sensor_voltdm_name = "iva", |
3013 | }; | 2494 | }; |
3014 | 2495 | ||
3015 | static struct omap_hwmod_irq_info omap44xx_smartreflex_iva_irqs[] = { | ||
3016 | { .irq = 102 + OMAP44XX_IRQ_GIC_START }, | ||
3017 | { .irq = -1 } | ||
3018 | }; | ||
3019 | |||
3020 | static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { | 2496 | static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { |
3021 | .name = "smartreflex_iva", | 2497 | .name = "smartreflex_iva", |
3022 | .class = &omap44xx_smartreflex_hwmod_class, | 2498 | .class = &omap44xx_smartreflex_hwmod_class, |
3023 | .clkdm_name = "l4_ao_clkdm", | 2499 | .clkdm_name = "l4_ao_clkdm", |
3024 | .mpu_irqs = omap44xx_smartreflex_iva_irqs, | ||
3025 | .main_clk = "smartreflex_iva_fck", | 2500 | .main_clk = "smartreflex_iva_fck", |
3026 | .prcm = { | 2501 | .prcm = { |
3027 | .omap4 = { | 2502 | .omap4 = { |
@@ -3038,16 +2513,10 @@ static struct omap_smartreflex_dev_attr smartreflex_mpu_dev_attr = { | |||
3038 | .sensor_voltdm_name = "mpu", | 2513 | .sensor_voltdm_name = "mpu", |
3039 | }; | 2514 | }; |
3040 | 2515 | ||
3041 | static struct omap_hwmod_irq_info omap44xx_smartreflex_mpu_irqs[] = { | ||
3042 | { .irq = 18 + OMAP44XX_IRQ_GIC_START }, | ||
3043 | { .irq = -1 } | ||
3044 | }; | ||
3045 | |||
3046 | static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { | 2516 | static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { |
3047 | .name = "smartreflex_mpu", | 2517 | .name = "smartreflex_mpu", |
3048 | .class = &omap44xx_smartreflex_hwmod_class, | 2518 | .class = &omap44xx_smartreflex_hwmod_class, |
3049 | .clkdm_name = "l4_ao_clkdm", | 2519 | .clkdm_name = "l4_ao_clkdm", |
3050 | .mpu_irqs = omap44xx_smartreflex_mpu_irqs, | ||
3051 | .main_clk = "smartreflex_mpu_fck", | 2520 | .main_clk = "smartreflex_mpu_fck", |
3052 | .prcm = { | 2521 | .prcm = { |
3053 | .omap4 = { | 2522 | .omap4 = { |
@@ -3155,17 +2624,11 @@ static struct omap_timer_capability_dev_attr capability_dsp_pwm_dev_attr = { | |||
3155 | }; | 2624 | }; |
3156 | 2625 | ||
3157 | /* timer1 */ | 2626 | /* timer1 */ |
3158 | static struct omap_hwmod_irq_info omap44xx_timer1_irqs[] = { | ||
3159 | { .irq = 37 + OMAP44XX_IRQ_GIC_START }, | ||
3160 | { .irq = -1 } | ||
3161 | }; | ||
3162 | |||
3163 | static struct omap_hwmod omap44xx_timer1_hwmod = { | 2627 | static struct omap_hwmod omap44xx_timer1_hwmod = { |
3164 | .name = "timer1", | 2628 | .name = "timer1", |
3165 | .class = &omap44xx_timer_1ms_hwmod_class, | 2629 | .class = &omap44xx_timer_1ms_hwmod_class, |
3166 | .clkdm_name = "l4_wkup_clkdm", | 2630 | .clkdm_name = "l4_wkup_clkdm", |
3167 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, | 2631 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, |
3168 | .mpu_irqs = omap44xx_timer1_irqs, | ||
3169 | .main_clk = "dmt1_clk_mux", | 2632 | .main_clk = "dmt1_clk_mux", |
3170 | .prcm = { | 2633 | .prcm = { |
3171 | .omap4 = { | 2634 | .omap4 = { |
@@ -3178,17 +2641,11 @@ static struct omap_hwmod omap44xx_timer1_hwmod = { | |||
3178 | }; | 2641 | }; |
3179 | 2642 | ||
3180 | /* timer2 */ | 2643 | /* timer2 */ |
3181 | static struct omap_hwmod_irq_info omap44xx_timer2_irqs[] = { | ||
3182 | { .irq = 38 + OMAP44XX_IRQ_GIC_START }, | ||
3183 | { .irq = -1 } | ||
3184 | }; | ||
3185 | |||
3186 | static struct omap_hwmod omap44xx_timer2_hwmod = { | 2644 | static struct omap_hwmod omap44xx_timer2_hwmod = { |
3187 | .name = "timer2", | 2645 | .name = "timer2", |
3188 | .class = &omap44xx_timer_1ms_hwmod_class, | 2646 | .class = &omap44xx_timer_1ms_hwmod_class, |
3189 | .clkdm_name = "l4_per_clkdm", | 2647 | .clkdm_name = "l4_per_clkdm", |
3190 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, | 2648 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, |
3191 | .mpu_irqs = omap44xx_timer2_irqs, | ||
3192 | .main_clk = "cm2_dm2_mux", | 2649 | .main_clk = "cm2_dm2_mux", |
3193 | .prcm = { | 2650 | .prcm = { |
3194 | .omap4 = { | 2651 | .omap4 = { |
@@ -3200,16 +2657,10 @@ static struct omap_hwmod omap44xx_timer2_hwmod = { | |||
3200 | }; | 2657 | }; |
3201 | 2658 | ||
3202 | /* timer3 */ | 2659 | /* timer3 */ |
3203 | static struct omap_hwmod_irq_info omap44xx_timer3_irqs[] = { | ||
3204 | { .irq = 39 + OMAP44XX_IRQ_GIC_START }, | ||
3205 | { .irq = -1 } | ||
3206 | }; | ||
3207 | |||
3208 | static struct omap_hwmod omap44xx_timer3_hwmod = { | 2660 | static struct omap_hwmod omap44xx_timer3_hwmod = { |
3209 | .name = "timer3", | 2661 | .name = "timer3", |
3210 | .class = &omap44xx_timer_hwmod_class, | 2662 | .class = &omap44xx_timer_hwmod_class, |
3211 | .clkdm_name = "l4_per_clkdm", | 2663 | .clkdm_name = "l4_per_clkdm", |
3212 | .mpu_irqs = omap44xx_timer3_irqs, | ||
3213 | .main_clk = "cm2_dm3_mux", | 2664 | .main_clk = "cm2_dm3_mux", |
3214 | .prcm = { | 2665 | .prcm = { |
3215 | .omap4 = { | 2666 | .omap4 = { |
@@ -3221,16 +2672,10 @@ static struct omap_hwmod omap44xx_timer3_hwmod = { | |||
3221 | }; | 2672 | }; |
3222 | 2673 | ||
3223 | /* timer4 */ | 2674 | /* timer4 */ |
3224 | static struct omap_hwmod_irq_info omap44xx_timer4_irqs[] = { | ||
3225 | { .irq = 40 + OMAP44XX_IRQ_GIC_START }, | ||
3226 | { .irq = -1 } | ||
3227 | }; | ||
3228 | |||
3229 | static struct omap_hwmod omap44xx_timer4_hwmod = { | 2675 | static struct omap_hwmod omap44xx_timer4_hwmod = { |
3230 | .name = "timer4", | 2676 | .name = "timer4", |
3231 | .class = &omap44xx_timer_hwmod_class, | 2677 | .class = &omap44xx_timer_hwmod_class, |
3232 | .clkdm_name = "l4_per_clkdm", | 2678 | .clkdm_name = "l4_per_clkdm", |
3233 | .mpu_irqs = omap44xx_timer4_irqs, | ||
3234 | .main_clk = "cm2_dm4_mux", | 2679 | .main_clk = "cm2_dm4_mux", |
3235 | .prcm = { | 2680 | .prcm = { |
3236 | .omap4 = { | 2681 | .omap4 = { |
@@ -3242,16 +2687,10 @@ static struct omap_hwmod omap44xx_timer4_hwmod = { | |||
3242 | }; | 2687 | }; |
3243 | 2688 | ||
3244 | /* timer5 */ | 2689 | /* timer5 */ |
3245 | static struct omap_hwmod_irq_info omap44xx_timer5_irqs[] = { | ||
3246 | { .irq = 41 + OMAP44XX_IRQ_GIC_START }, | ||
3247 | { .irq = -1 } | ||
3248 | }; | ||
3249 | |||
3250 | static struct omap_hwmod omap44xx_timer5_hwmod = { | 2690 | static struct omap_hwmod omap44xx_timer5_hwmod = { |
3251 | .name = "timer5", | 2691 | .name = "timer5", |
3252 | .class = &omap44xx_timer_hwmod_class, | 2692 | .class = &omap44xx_timer_hwmod_class, |
3253 | .clkdm_name = "abe_clkdm", | 2693 | .clkdm_name = "abe_clkdm", |
3254 | .mpu_irqs = omap44xx_timer5_irqs, | ||
3255 | .main_clk = "timer5_sync_mux", | 2694 | .main_clk = "timer5_sync_mux", |
3256 | .prcm = { | 2695 | .prcm = { |
3257 | .omap4 = { | 2696 | .omap4 = { |
@@ -3264,16 +2703,10 @@ static struct omap_hwmod omap44xx_timer5_hwmod = { | |||
3264 | }; | 2703 | }; |
3265 | 2704 | ||
3266 | /* timer6 */ | 2705 | /* timer6 */ |
3267 | static struct omap_hwmod_irq_info omap44xx_timer6_irqs[] = { | ||
3268 | { .irq = 42 + OMAP44XX_IRQ_GIC_START }, | ||
3269 | { .irq = -1 } | ||
3270 | }; | ||
3271 | |||
3272 | static struct omap_hwmod omap44xx_timer6_hwmod = { | 2706 | static struct omap_hwmod omap44xx_timer6_hwmod = { |
3273 | .name = "timer6", | 2707 | .name = "timer6", |
3274 | .class = &omap44xx_timer_hwmod_class, | 2708 | .class = &omap44xx_timer_hwmod_class, |
3275 | .clkdm_name = "abe_clkdm", | 2709 | .clkdm_name = "abe_clkdm", |
3276 | .mpu_irqs = omap44xx_timer6_irqs, | ||
3277 | .main_clk = "timer6_sync_mux", | 2710 | .main_clk = "timer6_sync_mux", |
3278 | .prcm = { | 2711 | .prcm = { |
3279 | .omap4 = { | 2712 | .omap4 = { |
@@ -3286,16 +2719,10 @@ static struct omap_hwmod omap44xx_timer6_hwmod = { | |||
3286 | }; | 2719 | }; |
3287 | 2720 | ||
3288 | /* timer7 */ | 2721 | /* timer7 */ |
3289 | static struct omap_hwmod_irq_info omap44xx_timer7_irqs[] = { | ||
3290 | { .irq = 43 + OMAP44XX_IRQ_GIC_START }, | ||
3291 | { .irq = -1 } | ||
3292 | }; | ||
3293 | |||
3294 | static struct omap_hwmod omap44xx_timer7_hwmod = { | 2722 | static struct omap_hwmod omap44xx_timer7_hwmod = { |
3295 | .name = "timer7", | 2723 | .name = "timer7", |
3296 | .class = &omap44xx_timer_hwmod_class, | 2724 | .class = &omap44xx_timer_hwmod_class, |
3297 | .clkdm_name = "abe_clkdm", | 2725 | .clkdm_name = "abe_clkdm", |
3298 | .mpu_irqs = omap44xx_timer7_irqs, | ||
3299 | .main_clk = "timer7_sync_mux", | 2726 | .main_clk = "timer7_sync_mux", |
3300 | .prcm = { | 2727 | .prcm = { |
3301 | .omap4 = { | 2728 | .omap4 = { |
@@ -3308,16 +2735,10 @@ static struct omap_hwmod omap44xx_timer7_hwmod = { | |||
3308 | }; | 2735 | }; |
3309 | 2736 | ||
3310 | /* timer8 */ | 2737 | /* timer8 */ |
3311 | static struct omap_hwmod_irq_info omap44xx_timer8_irqs[] = { | ||
3312 | { .irq = 44 + OMAP44XX_IRQ_GIC_START }, | ||
3313 | { .irq = -1 } | ||
3314 | }; | ||
3315 | |||
3316 | static struct omap_hwmod omap44xx_timer8_hwmod = { | 2738 | static struct omap_hwmod omap44xx_timer8_hwmod = { |
3317 | .name = "timer8", | 2739 | .name = "timer8", |
3318 | .class = &omap44xx_timer_hwmod_class, | 2740 | .class = &omap44xx_timer_hwmod_class, |
3319 | .clkdm_name = "abe_clkdm", | 2741 | .clkdm_name = "abe_clkdm", |
3320 | .mpu_irqs = omap44xx_timer8_irqs, | ||
3321 | .main_clk = "timer8_sync_mux", | 2742 | .main_clk = "timer8_sync_mux", |
3322 | .prcm = { | 2743 | .prcm = { |
3323 | .omap4 = { | 2744 | .omap4 = { |
@@ -3330,16 +2751,10 @@ static struct omap_hwmod omap44xx_timer8_hwmod = { | |||
3330 | }; | 2751 | }; |
3331 | 2752 | ||
3332 | /* timer9 */ | 2753 | /* timer9 */ |
3333 | static struct omap_hwmod_irq_info omap44xx_timer9_irqs[] = { | ||
3334 | { .irq = 45 + OMAP44XX_IRQ_GIC_START }, | ||
3335 | { .irq = -1 } | ||
3336 | }; | ||
3337 | |||
3338 | static struct omap_hwmod omap44xx_timer9_hwmod = { | 2754 | static struct omap_hwmod omap44xx_timer9_hwmod = { |
3339 | .name = "timer9", | 2755 | .name = "timer9", |
3340 | .class = &omap44xx_timer_hwmod_class, | 2756 | .class = &omap44xx_timer_hwmod_class, |
3341 | .clkdm_name = "l4_per_clkdm", | 2757 | .clkdm_name = "l4_per_clkdm", |
3342 | .mpu_irqs = omap44xx_timer9_irqs, | ||
3343 | .main_clk = "cm2_dm9_mux", | 2758 | .main_clk = "cm2_dm9_mux", |
3344 | .prcm = { | 2759 | .prcm = { |
3345 | .omap4 = { | 2760 | .omap4 = { |
@@ -3352,17 +2767,11 @@ static struct omap_hwmod omap44xx_timer9_hwmod = { | |||
3352 | }; | 2767 | }; |
3353 | 2768 | ||
3354 | /* timer10 */ | 2769 | /* timer10 */ |
3355 | static struct omap_hwmod_irq_info omap44xx_timer10_irqs[] = { | ||
3356 | { .irq = 46 + OMAP44XX_IRQ_GIC_START }, | ||
3357 | { .irq = -1 } | ||
3358 | }; | ||
3359 | |||
3360 | static struct omap_hwmod omap44xx_timer10_hwmod = { | 2770 | static struct omap_hwmod omap44xx_timer10_hwmod = { |
3361 | .name = "timer10", | 2771 | .name = "timer10", |
3362 | .class = &omap44xx_timer_1ms_hwmod_class, | 2772 | .class = &omap44xx_timer_1ms_hwmod_class, |
3363 | .clkdm_name = "l4_per_clkdm", | 2773 | .clkdm_name = "l4_per_clkdm", |
3364 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, | 2774 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, |
3365 | .mpu_irqs = omap44xx_timer10_irqs, | ||
3366 | .main_clk = "cm2_dm10_mux", | 2775 | .main_clk = "cm2_dm10_mux", |
3367 | .prcm = { | 2776 | .prcm = { |
3368 | .omap4 = { | 2777 | .omap4 = { |
@@ -3375,16 +2784,10 @@ static struct omap_hwmod omap44xx_timer10_hwmod = { | |||
3375 | }; | 2784 | }; |
3376 | 2785 | ||
3377 | /* timer11 */ | 2786 | /* timer11 */ |
3378 | static struct omap_hwmod_irq_info omap44xx_timer11_irqs[] = { | ||
3379 | { .irq = 47 + OMAP44XX_IRQ_GIC_START }, | ||
3380 | { .irq = -1 } | ||
3381 | }; | ||
3382 | |||
3383 | static struct omap_hwmod omap44xx_timer11_hwmod = { | 2787 | static struct omap_hwmod omap44xx_timer11_hwmod = { |
3384 | .name = "timer11", | 2788 | .name = "timer11", |
3385 | .class = &omap44xx_timer_hwmod_class, | 2789 | .class = &omap44xx_timer_hwmod_class, |
3386 | .clkdm_name = "l4_per_clkdm", | 2790 | .clkdm_name = "l4_per_clkdm", |
3387 | .mpu_irqs = omap44xx_timer11_irqs, | ||
3388 | .main_clk = "cm2_dm11_mux", | 2791 | .main_clk = "cm2_dm11_mux", |
3389 | .prcm = { | 2792 | .prcm = { |
3390 | .omap4 = { | 2793 | .omap4 = { |
@@ -3419,24 +2822,11 @@ static struct omap_hwmod_class omap44xx_uart_hwmod_class = { | |||
3419 | }; | 2822 | }; |
3420 | 2823 | ||
3421 | /* uart1 */ | 2824 | /* uart1 */ |
3422 | static struct omap_hwmod_irq_info omap44xx_uart1_irqs[] = { | ||
3423 | { .irq = 72 + OMAP44XX_IRQ_GIC_START }, | ||
3424 | { .irq = -1 } | ||
3425 | }; | ||
3426 | |||
3427 | static struct omap_hwmod_dma_info omap44xx_uart1_sdma_reqs[] = { | ||
3428 | { .name = "tx", .dma_req = 48 + OMAP44XX_DMA_REQ_START }, | ||
3429 | { .name = "rx", .dma_req = 49 + OMAP44XX_DMA_REQ_START }, | ||
3430 | { .dma_req = -1 } | ||
3431 | }; | ||
3432 | |||
3433 | static struct omap_hwmod omap44xx_uart1_hwmod = { | 2825 | static struct omap_hwmod omap44xx_uart1_hwmod = { |
3434 | .name = "uart1", | 2826 | .name = "uart1", |
3435 | .class = &omap44xx_uart_hwmod_class, | 2827 | .class = &omap44xx_uart_hwmod_class, |
3436 | .clkdm_name = "l4_per_clkdm", | 2828 | .clkdm_name = "l4_per_clkdm", |
3437 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 2829 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
3438 | .mpu_irqs = omap44xx_uart1_irqs, | ||
3439 | .sdma_reqs = omap44xx_uart1_sdma_reqs, | ||
3440 | .main_clk = "func_48m_fclk", | 2830 | .main_clk = "func_48m_fclk", |
3441 | .prcm = { | 2831 | .prcm = { |
3442 | .omap4 = { | 2832 | .omap4 = { |
@@ -3448,24 +2838,11 @@ static struct omap_hwmod omap44xx_uart1_hwmod = { | |||
3448 | }; | 2838 | }; |
3449 | 2839 | ||
3450 | /* uart2 */ | 2840 | /* uart2 */ |
3451 | static struct omap_hwmod_irq_info omap44xx_uart2_irqs[] = { | ||
3452 | { .irq = 73 + OMAP44XX_IRQ_GIC_START }, | ||
3453 | { .irq = -1 } | ||
3454 | }; | ||
3455 | |||
3456 | static struct omap_hwmod_dma_info omap44xx_uart2_sdma_reqs[] = { | ||
3457 | { .name = "tx", .dma_req = 50 + OMAP44XX_DMA_REQ_START }, | ||
3458 | { .name = "rx", .dma_req = 51 + OMAP44XX_DMA_REQ_START }, | ||
3459 | { .dma_req = -1 } | ||
3460 | }; | ||
3461 | |||
3462 | static struct omap_hwmod omap44xx_uart2_hwmod = { | 2841 | static struct omap_hwmod omap44xx_uart2_hwmod = { |
3463 | .name = "uart2", | 2842 | .name = "uart2", |
3464 | .class = &omap44xx_uart_hwmod_class, | 2843 | .class = &omap44xx_uart_hwmod_class, |
3465 | .clkdm_name = "l4_per_clkdm", | 2844 | .clkdm_name = "l4_per_clkdm", |
3466 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 2845 | .flags = HWMOD_SWSUP_SIDLE_ACT, |
3467 | .mpu_irqs = omap44xx_uart2_irqs, | ||
3468 | .sdma_reqs = omap44xx_uart2_sdma_reqs, | ||
3469 | .main_clk = "func_48m_fclk", | 2846 | .main_clk = "func_48m_fclk", |
3470 | .prcm = { | 2847 | .prcm = { |
3471 | .omap4 = { | 2848 | .omap4 = { |
@@ -3477,25 +2854,11 @@ static struct omap_hwmod omap44xx_uart2_hwmod = { | |||
3477 | }; | 2854 | }; |
3478 | 2855 | ||
3479 | /* uart3 */ | 2856 | /* uart3 */ |
3480 | static struct omap_hwmod_irq_info omap44xx_uart3_irqs[] = { | ||
3481 | { .irq = 74 + OMAP44XX_IRQ_GIC_START }, | ||
3482 | { .irq = -1 } | ||
3483 | }; | ||
3484 | |||
3485 | static struct omap_hwmod_dma_info omap44xx_uart3_sdma_reqs[] = { | ||
3486 | { .name = "tx", .dma_req = 52 + OMAP44XX_DMA_REQ_START }, | ||
3487 | { .name = "rx", .dma_req = 53 + OMAP44XX_DMA_REQ_START }, | ||
3488 | { .dma_req = -1 } | ||
3489 | }; | ||
3490 | |||
3491 | static struct omap_hwmod omap44xx_uart3_hwmod = { | 2857 | static struct omap_hwmod omap44xx_uart3_hwmod = { |
3492 | .name = "uart3", | 2858 | .name = "uart3", |
3493 | .class = &omap44xx_uart_hwmod_class, | 2859 | .class = &omap44xx_uart_hwmod_class, |
3494 | .clkdm_name = "l4_per_clkdm", | 2860 | .clkdm_name = "l4_per_clkdm", |
3495 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET | | 2861 | .flags = DEBUG_OMAP4UART3_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
3496 | HWMOD_SWSUP_SIDLE_ACT, | ||
3497 | .mpu_irqs = omap44xx_uart3_irqs, | ||
3498 | .sdma_reqs = omap44xx_uart3_sdma_reqs, | ||
3499 | .main_clk = "func_48m_fclk", | 2862 | .main_clk = "func_48m_fclk", |
3500 | .prcm = { | 2863 | .prcm = { |
3501 | .omap4 = { | 2864 | .omap4 = { |
@@ -3507,24 +2870,11 @@ static struct omap_hwmod omap44xx_uart3_hwmod = { | |||
3507 | }; | 2870 | }; |
3508 | 2871 | ||
3509 | /* uart4 */ | 2872 | /* uart4 */ |
3510 | static struct omap_hwmod_irq_info omap44xx_uart4_irqs[] = { | ||
3511 | { .irq = 70 + OMAP44XX_IRQ_GIC_START }, | ||
3512 | { .irq = -1 } | ||
3513 | }; | ||
3514 | |||
3515 | static struct omap_hwmod_dma_info omap44xx_uart4_sdma_reqs[] = { | ||
3516 | { .name = "tx", .dma_req = 54 + OMAP44XX_DMA_REQ_START }, | ||
3517 | { .name = "rx", .dma_req = 55 + OMAP44XX_DMA_REQ_START }, | ||
3518 | { .dma_req = -1 } | ||
3519 | }; | ||
3520 | |||
3521 | static struct omap_hwmod omap44xx_uart4_hwmod = { | 2873 | static struct omap_hwmod omap44xx_uart4_hwmod = { |
3522 | .name = "uart4", | 2874 | .name = "uart4", |
3523 | .class = &omap44xx_uart_hwmod_class, | 2875 | .class = &omap44xx_uart_hwmod_class, |
3524 | .clkdm_name = "l4_per_clkdm", | 2876 | .clkdm_name = "l4_per_clkdm", |
3525 | .flags = HWMOD_SWSUP_SIDLE_ACT, | 2877 | .flags = DEBUG_OMAP4UART4_FLAGS | HWMOD_SWSUP_SIDLE_ACT, |
3526 | .mpu_irqs = omap44xx_uart4_irqs, | ||
3527 | .sdma_reqs = omap44xx_uart4_sdma_reqs, | ||
3528 | .main_clk = "func_48m_fclk", | 2878 | .main_clk = "func_48m_fclk", |
3529 | .prcm = { | 2879 | .prcm = { |
3530 | .omap4 = { | 2880 | .omap4 = { |
@@ -3563,17 +2913,10 @@ static struct omap_hwmod_class omap44xx_usb_host_fs_hwmod_class = { | |||
3563 | }; | 2913 | }; |
3564 | 2914 | ||
3565 | /* usb_host_fs */ | 2915 | /* usb_host_fs */ |
3566 | static struct omap_hwmod_irq_info omap44xx_usb_host_fs_irqs[] = { | ||
3567 | { .name = "std", .irq = 89 + OMAP44XX_IRQ_GIC_START }, | ||
3568 | { .name = "smi", .irq = 90 + OMAP44XX_IRQ_GIC_START }, | ||
3569 | { .irq = -1 } | ||
3570 | }; | ||
3571 | |||
3572 | static struct omap_hwmod omap44xx_usb_host_fs_hwmod = { | 2916 | static struct omap_hwmod omap44xx_usb_host_fs_hwmod = { |
3573 | .name = "usb_host_fs", | 2917 | .name = "usb_host_fs", |
3574 | .class = &omap44xx_usb_host_fs_hwmod_class, | 2918 | .class = &omap44xx_usb_host_fs_hwmod_class, |
3575 | .clkdm_name = "l3_init_clkdm", | 2919 | .clkdm_name = "l3_init_clkdm", |
3576 | .mpu_irqs = omap44xx_usb_host_fs_irqs, | ||
3577 | .main_clk = "usb_host_fs_fck", | 2920 | .main_clk = "usb_host_fs_fck", |
3578 | .prcm = { | 2921 | .prcm = { |
3579 | .omap4 = { | 2922 | .omap4 = { |
@@ -3607,12 +2950,6 @@ static struct omap_hwmod_class omap44xx_usb_host_hs_hwmod_class = { | |||
3607 | }; | 2950 | }; |
3608 | 2951 | ||
3609 | /* usb_host_hs */ | 2952 | /* usb_host_hs */ |
3610 | static struct omap_hwmod_irq_info omap44xx_usb_host_hs_irqs[] = { | ||
3611 | { .name = "ohci-irq", .irq = 76 + OMAP44XX_IRQ_GIC_START }, | ||
3612 | { .name = "ehci-irq", .irq = 77 + OMAP44XX_IRQ_GIC_START }, | ||
3613 | { .irq = -1 } | ||
3614 | }; | ||
3615 | |||
3616 | static struct omap_hwmod omap44xx_usb_host_hs_hwmod = { | 2953 | static struct omap_hwmod omap44xx_usb_host_hs_hwmod = { |
3617 | .name = "usb_host_hs", | 2954 | .name = "usb_host_hs", |
3618 | .class = &omap44xx_usb_host_hs_hwmod_class, | 2955 | .class = &omap44xx_usb_host_hs_hwmod_class, |
@@ -3625,7 +2962,6 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = { | |||
3625 | .modulemode = MODULEMODE_SWCTRL, | 2962 | .modulemode = MODULEMODE_SWCTRL, |
3626 | }, | 2963 | }, |
3627 | }, | 2964 | }, |
3628 | .mpu_irqs = omap44xx_usb_host_hs_irqs, | ||
3629 | 2965 | ||
3630 | /* | 2966 | /* |
3631 | * Errata: USBHOST Configured In Smart-Idle Can Lead To a Deadlock | 2967 | * Errata: USBHOST Configured In Smart-Idle Can Lead To a Deadlock |
@@ -3700,12 +3036,6 @@ static struct omap_hwmod_class omap44xx_usb_otg_hs_hwmod_class = { | |||
3700 | }; | 3036 | }; |
3701 | 3037 | ||
3702 | /* usb_otg_hs */ | 3038 | /* usb_otg_hs */ |
3703 | static struct omap_hwmod_irq_info omap44xx_usb_otg_hs_irqs[] = { | ||
3704 | { .name = "mc", .irq = 92 + OMAP44XX_IRQ_GIC_START }, | ||
3705 | { .name = "dma", .irq = 93 + OMAP44XX_IRQ_GIC_START }, | ||
3706 | { .irq = -1 } | ||
3707 | }; | ||
3708 | |||
3709 | static struct omap_hwmod_opt_clk usb_otg_hs_opt_clks[] = { | 3039 | static struct omap_hwmod_opt_clk usb_otg_hs_opt_clks[] = { |
3710 | { .role = "xclk", .clk = "usb_otg_hs_xclk" }, | 3040 | { .role = "xclk", .clk = "usb_otg_hs_xclk" }, |
3711 | }; | 3041 | }; |
@@ -3715,7 +3045,6 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = { | |||
3715 | .class = &omap44xx_usb_otg_hs_hwmod_class, | 3045 | .class = &omap44xx_usb_otg_hs_hwmod_class, |
3716 | .clkdm_name = "l3_init_clkdm", | 3046 | .clkdm_name = "l3_init_clkdm", |
3717 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, | 3047 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, |
3718 | .mpu_irqs = omap44xx_usb_otg_hs_irqs, | ||
3719 | .main_clk = "usb_otg_hs_ick", | 3048 | .main_clk = "usb_otg_hs_ick", |
3720 | .prcm = { | 3049 | .prcm = { |
3721 | .omap4 = { | 3050 | .omap4 = { |
@@ -3749,16 +3078,10 @@ static struct omap_hwmod_class omap44xx_usb_tll_hs_hwmod_class = { | |||
3749 | .sysc = &omap44xx_usb_tll_hs_sysc, | 3078 | .sysc = &omap44xx_usb_tll_hs_sysc, |
3750 | }; | 3079 | }; |
3751 | 3080 | ||
3752 | static struct omap_hwmod_irq_info omap44xx_usb_tll_hs_irqs[] = { | ||
3753 | { .name = "tll-irq", .irq = 78 + OMAP44XX_IRQ_GIC_START }, | ||
3754 | { .irq = -1 } | ||
3755 | }; | ||
3756 | |||
3757 | static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = { | 3081 | static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = { |
3758 | .name = "usb_tll_hs", | 3082 | .name = "usb_tll_hs", |
3759 | .class = &omap44xx_usb_tll_hs_hwmod_class, | 3083 | .class = &omap44xx_usb_tll_hs_hwmod_class, |
3760 | .clkdm_name = "l3_init_clkdm", | 3084 | .clkdm_name = "l3_init_clkdm", |
3761 | .mpu_irqs = omap44xx_usb_tll_hs_irqs, | ||
3762 | .main_clk = "usb_tll_hs_ick", | 3085 | .main_clk = "usb_tll_hs_ick", |
3763 | .prcm = { | 3086 | .prcm = { |
3764 | .omap4 = { | 3087 | .omap4 = { |
@@ -3794,16 +3117,10 @@ static struct omap_hwmod_class omap44xx_wd_timer_hwmod_class = { | |||
3794 | }; | 3117 | }; |
3795 | 3118 | ||
3796 | /* wd_timer2 */ | 3119 | /* wd_timer2 */ |
3797 | static struct omap_hwmod_irq_info omap44xx_wd_timer2_irqs[] = { | ||
3798 | { .irq = 80 + OMAP44XX_IRQ_GIC_START }, | ||
3799 | { .irq = -1 } | ||
3800 | }; | ||
3801 | |||
3802 | static struct omap_hwmod omap44xx_wd_timer2_hwmod = { | 3120 | static struct omap_hwmod omap44xx_wd_timer2_hwmod = { |
3803 | .name = "wd_timer2", | 3121 | .name = "wd_timer2", |
3804 | .class = &omap44xx_wd_timer_hwmod_class, | 3122 | .class = &omap44xx_wd_timer_hwmod_class, |
3805 | .clkdm_name = "l4_wkup_clkdm", | 3123 | .clkdm_name = "l4_wkup_clkdm", |
3806 | .mpu_irqs = omap44xx_wd_timer2_irqs, | ||
3807 | .main_clk = "sys_32k_ck", | 3124 | .main_clk = "sys_32k_ck", |
3808 | .prcm = { | 3125 | .prcm = { |
3809 | .omap4 = { | 3126 | .omap4 = { |
@@ -3815,16 +3132,10 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = { | |||
3815 | }; | 3132 | }; |
3816 | 3133 | ||
3817 | /* wd_timer3 */ | 3134 | /* wd_timer3 */ |
3818 | static struct omap_hwmod_irq_info omap44xx_wd_timer3_irqs[] = { | ||
3819 | { .irq = 36 + OMAP44XX_IRQ_GIC_START }, | ||
3820 | { .irq = -1 } | ||
3821 | }; | ||
3822 | |||
3823 | static struct omap_hwmod omap44xx_wd_timer3_hwmod = { | 3135 | static struct omap_hwmod omap44xx_wd_timer3_hwmod = { |
3824 | .name = "wd_timer3", | 3136 | .name = "wd_timer3", |
3825 | .class = &omap44xx_wd_timer_hwmod_class, | 3137 | .class = &omap44xx_wd_timer_hwmod_class, |
3826 | .clkdm_name = "abe_clkdm", | 3138 | .clkdm_name = "abe_clkdm", |
3827 | .mpu_irqs = omap44xx_wd_timer3_irqs, | ||
3828 | .main_clk = "sys_32k_ck", | 3139 | .main_clk = "sys_32k_ck", |
3829 | .prcm = { | 3140 | .prcm = { |
3830 | .omap4 = { | 3141 | .omap4 = { |
@@ -3840,32 +3151,6 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = { | |||
3840 | * interfaces | 3151 | * interfaces |
3841 | */ | 3152 | */ |
3842 | 3153 | ||
3843 | static struct omap_hwmod_addr_space omap44xx_c2c_target_fw_addrs[] = { | ||
3844 | { | ||
3845 | .pa_start = 0x4a204000, | ||
3846 | .pa_end = 0x4a2040ff, | ||
3847 | .flags = ADDR_TYPE_RT | ||
3848 | }, | ||
3849 | { } | ||
3850 | }; | ||
3851 | |||
3852 | /* c2c -> c2c_target_fw */ | ||
3853 | static struct omap_hwmod_ocp_if omap44xx_c2c__c2c_target_fw = { | ||
3854 | .master = &omap44xx_c2c_hwmod, | ||
3855 | .slave = &omap44xx_c2c_target_fw_hwmod, | ||
3856 | .clk = "div_core_ck", | ||
3857 | .addr = omap44xx_c2c_target_fw_addrs, | ||
3858 | .user = OCP_USER_MPU, | ||
3859 | }; | ||
3860 | |||
3861 | /* l4_cfg -> c2c_target_fw */ | ||
3862 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__c2c_target_fw = { | ||
3863 | .master = &omap44xx_l4_cfg_hwmod, | ||
3864 | .slave = &omap44xx_c2c_target_fw_hwmod, | ||
3865 | .clk = "l4_div_ck", | ||
3866 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3867 | }; | ||
3868 | |||
3869 | /* l3_main_1 -> dmm */ | 3154 | /* l3_main_1 -> dmm */ |
3870 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = { | 3155 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = { |
3871 | .master = &omap44xx_l3_main_1_hwmod, | 3156 | .master = &omap44xx_l3_main_1_hwmod, |
@@ -3874,55 +3159,11 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = { | |||
3874 | .user = OCP_USER_SDMA, | 3159 | .user = OCP_USER_SDMA, |
3875 | }; | 3160 | }; |
3876 | 3161 | ||
3877 | static struct omap_hwmod_addr_space omap44xx_dmm_addrs[] = { | ||
3878 | { | ||
3879 | .pa_start = 0x4e000000, | ||
3880 | .pa_end = 0x4e0007ff, | ||
3881 | .flags = ADDR_TYPE_RT | ||
3882 | }, | ||
3883 | { } | ||
3884 | }; | ||
3885 | |||
3886 | /* mpu -> dmm */ | 3162 | /* mpu -> dmm */ |
3887 | static struct omap_hwmod_ocp_if omap44xx_mpu__dmm = { | 3163 | static struct omap_hwmod_ocp_if omap44xx_mpu__dmm = { |
3888 | .master = &omap44xx_mpu_hwmod, | 3164 | .master = &omap44xx_mpu_hwmod, |
3889 | .slave = &omap44xx_dmm_hwmod, | 3165 | .slave = &omap44xx_dmm_hwmod, |
3890 | .clk = "l3_div_ck", | 3166 | .clk = "l3_div_ck", |
3891 | .addr = omap44xx_dmm_addrs, | ||
3892 | .user = OCP_USER_MPU, | ||
3893 | }; | ||
3894 | |||
3895 | /* c2c -> emif_fw */ | ||
3896 | static struct omap_hwmod_ocp_if omap44xx_c2c__emif_fw = { | ||
3897 | .master = &omap44xx_c2c_hwmod, | ||
3898 | .slave = &omap44xx_emif_fw_hwmod, | ||
3899 | .clk = "div_core_ck", | ||
3900 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3901 | }; | ||
3902 | |||
3903 | /* dmm -> emif_fw */ | ||
3904 | static struct omap_hwmod_ocp_if omap44xx_dmm__emif_fw = { | ||
3905 | .master = &omap44xx_dmm_hwmod, | ||
3906 | .slave = &omap44xx_emif_fw_hwmod, | ||
3907 | .clk = "l3_div_ck", | ||
3908 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3909 | }; | ||
3910 | |||
3911 | static struct omap_hwmod_addr_space omap44xx_emif_fw_addrs[] = { | ||
3912 | { | ||
3913 | .pa_start = 0x4a20c000, | ||
3914 | .pa_end = 0x4a20c0ff, | ||
3915 | .flags = ADDR_TYPE_RT | ||
3916 | }, | ||
3917 | { } | ||
3918 | }; | ||
3919 | |||
3920 | /* l4_cfg -> emif_fw */ | ||
3921 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__emif_fw = { | ||
3922 | .master = &omap44xx_l4_cfg_hwmod, | ||
3923 | .slave = &omap44xx_emif_fw_hwmod, | ||
3924 | .clk = "l4_div_ck", | ||
3925 | .addr = omap44xx_emif_fw_addrs, | ||
3926 | .user = OCP_USER_MPU, | 3167 | .user = OCP_USER_MPU, |
3927 | }; | 3168 | }; |
3928 | 3169 | ||
@@ -3998,32 +3239,14 @@ static struct omap_hwmod_ocp_if omap44xx_mmc2__l3_main_1 = { | |||
3998 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3239 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3999 | }; | 3240 | }; |
4000 | 3241 | ||
4001 | static struct omap_hwmod_addr_space omap44xx_l3_main_1_addrs[] = { | ||
4002 | { | ||
4003 | .pa_start = 0x44000000, | ||
4004 | .pa_end = 0x44000fff, | ||
4005 | .flags = ADDR_TYPE_RT | ||
4006 | }, | ||
4007 | { } | ||
4008 | }; | ||
4009 | |||
4010 | /* mpu -> l3_main_1 */ | 3242 | /* mpu -> l3_main_1 */ |
4011 | static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = { | 3243 | static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = { |
4012 | .master = &omap44xx_mpu_hwmod, | 3244 | .master = &omap44xx_mpu_hwmod, |
4013 | .slave = &omap44xx_l3_main_1_hwmod, | 3245 | .slave = &omap44xx_l3_main_1_hwmod, |
4014 | .clk = "l3_div_ck", | 3246 | .clk = "l3_div_ck", |
4015 | .addr = omap44xx_l3_main_1_addrs, | ||
4016 | .user = OCP_USER_MPU, | 3247 | .user = OCP_USER_MPU, |
4017 | }; | 3248 | }; |
4018 | 3249 | ||
4019 | /* c2c_target_fw -> l3_main_2 */ | ||
4020 | static struct omap_hwmod_ocp_if omap44xx_c2c_target_fw__l3_main_2 = { | ||
4021 | .master = &omap44xx_c2c_target_fw_hwmod, | ||
4022 | .slave = &omap44xx_l3_main_2_hwmod, | ||
4023 | .clk = "l3_div_ck", | ||
4024 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4025 | }; | ||
4026 | |||
4027 | /* debugss -> l3_main_2 */ | 3250 | /* debugss -> l3_main_2 */ |
4028 | static struct omap_hwmod_ocp_if omap44xx_debugss__l3_main_2 = { | 3251 | static struct omap_hwmod_ocp_if omap44xx_debugss__l3_main_2 = { |
4029 | .master = &omap44xx_debugss_hwmod, | 3252 | .master = &omap44xx_debugss_hwmod, |
@@ -4088,21 +3311,11 @@ static struct omap_hwmod_ocp_if omap44xx_iva__l3_main_2 = { | |||
4088 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3311 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4089 | }; | 3312 | }; |
4090 | 3313 | ||
4091 | static struct omap_hwmod_addr_space omap44xx_l3_main_2_addrs[] = { | ||
4092 | { | ||
4093 | .pa_start = 0x44800000, | ||
4094 | .pa_end = 0x44801fff, | ||
4095 | .flags = ADDR_TYPE_RT | ||
4096 | }, | ||
4097 | { } | ||
4098 | }; | ||
4099 | |||
4100 | /* l3_main_1 -> l3_main_2 */ | 3314 | /* l3_main_1 -> l3_main_2 */ |
4101 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_2 = { | 3315 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_2 = { |
4102 | .master = &omap44xx_l3_main_1_hwmod, | 3316 | .master = &omap44xx_l3_main_1_hwmod, |
4103 | .slave = &omap44xx_l3_main_2_hwmod, | 3317 | .slave = &omap44xx_l3_main_2_hwmod, |
4104 | .clk = "l3_div_ck", | 3318 | .clk = "l3_div_ck", |
4105 | .addr = omap44xx_l3_main_2_addrs, | ||
4106 | .user = OCP_USER_MPU, | 3319 | .user = OCP_USER_MPU, |
4107 | }; | 3320 | }; |
4108 | 3321 | ||
@@ -4138,21 +3351,11 @@ static struct omap_hwmod_ocp_if omap44xx_usb_otg_hs__l3_main_2 = { | |||
4138 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3351 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4139 | }; | 3352 | }; |
4140 | 3353 | ||
4141 | static struct omap_hwmod_addr_space omap44xx_l3_main_3_addrs[] = { | ||
4142 | { | ||
4143 | .pa_start = 0x45000000, | ||
4144 | .pa_end = 0x45000fff, | ||
4145 | .flags = ADDR_TYPE_RT | ||
4146 | }, | ||
4147 | { } | ||
4148 | }; | ||
4149 | |||
4150 | /* l3_main_1 -> l3_main_3 */ | 3354 | /* l3_main_1 -> l3_main_3 */ |
4151 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_3 = { | 3355 | static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_3 = { |
4152 | .master = &omap44xx_l3_main_1_hwmod, | 3356 | .master = &omap44xx_l3_main_1_hwmod, |
4153 | .slave = &omap44xx_l3_main_3_hwmod, | 3357 | .slave = &omap44xx_l3_main_3_hwmod, |
4154 | .clk = "l3_div_ck", | 3358 | .clk = "l3_div_ck", |
4155 | .addr = omap44xx_l3_main_3_addrs, | ||
4156 | .user = OCP_USER_MPU, | 3359 | .user = OCP_USER_MPU, |
4157 | }; | 3360 | }; |
4158 | 3361 | ||
@@ -4236,21 +3439,11 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__mpu_private = { | |||
4236 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3439 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4237 | }; | 3440 | }; |
4238 | 3441 | ||
4239 | static struct omap_hwmod_addr_space omap44xx_ocp_wp_noc_addrs[] = { | ||
4240 | { | ||
4241 | .pa_start = 0x4a102000, | ||
4242 | .pa_end = 0x4a10207f, | ||
4243 | .flags = ADDR_TYPE_RT | ||
4244 | }, | ||
4245 | { } | ||
4246 | }; | ||
4247 | |||
4248 | /* l4_cfg -> ocp_wp_noc */ | 3442 | /* l4_cfg -> ocp_wp_noc */ |
4249 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp_wp_noc = { | 3443 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp_wp_noc = { |
4250 | .master = &omap44xx_l4_cfg_hwmod, | 3444 | .master = &omap44xx_l4_cfg_hwmod, |
4251 | .slave = &omap44xx_ocp_wp_noc_hwmod, | 3445 | .slave = &omap44xx_ocp_wp_noc_hwmod, |
4252 | .clk = "l4_div_ck", | 3446 | .clk = "l4_div_ck", |
4253 | .addr = omap44xx_ocp_wp_noc_addrs, | ||
4254 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3447 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4255 | }; | 3448 | }; |
4256 | 3449 | ||
@@ -4340,21 +3533,11 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__c2c = { | |||
4340 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3533 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4341 | }; | 3534 | }; |
4342 | 3535 | ||
4343 | static struct omap_hwmod_addr_space omap44xx_counter_32k_addrs[] = { | ||
4344 | { | ||
4345 | .pa_start = 0x4a304000, | ||
4346 | .pa_end = 0x4a30401f, | ||
4347 | .flags = ADDR_TYPE_RT | ||
4348 | }, | ||
4349 | { } | ||
4350 | }; | ||
4351 | |||
4352 | /* l4_wkup -> counter_32k */ | 3536 | /* l4_wkup -> counter_32k */ |
4353 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = { | 3537 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = { |
4354 | .master = &omap44xx_l4_wkup_hwmod, | 3538 | .master = &omap44xx_l4_wkup_hwmod, |
4355 | .slave = &omap44xx_counter_32k_hwmod, | 3539 | .slave = &omap44xx_counter_32k_hwmod, |
4356 | .clk = "l4_wkup_clk_mux_ck", | 3540 | .clk = "l4_wkup_clk_mux_ck", |
4357 | .addr = omap44xx_counter_32k_addrs, | ||
4358 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3541 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4359 | }; | 3542 | }; |
4360 | 3543 | ||
@@ -4430,21 +3613,11 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__ctrl_module_pad_wkup = { | |||
4430 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3613 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4431 | }; | 3614 | }; |
4432 | 3615 | ||
4433 | static struct omap_hwmod_addr_space omap44xx_debugss_addrs[] = { | ||
4434 | { | ||
4435 | .pa_start = 0x54160000, | ||
4436 | .pa_end = 0x54167fff, | ||
4437 | .flags = ADDR_TYPE_RT | ||
4438 | }, | ||
4439 | { } | ||
4440 | }; | ||
4441 | |||
4442 | /* l3_instr -> debugss */ | 3616 | /* l3_instr -> debugss */ |
4443 | static struct omap_hwmod_ocp_if omap44xx_l3_instr__debugss = { | 3617 | static struct omap_hwmod_ocp_if omap44xx_l3_instr__debugss = { |
4444 | .master = &omap44xx_l3_instr_hwmod, | 3618 | .master = &omap44xx_l3_instr_hwmod, |
4445 | .slave = &omap44xx_debugss_hwmod, | 3619 | .slave = &omap44xx_debugss_hwmod, |
4446 | .clk = "l3_div_ck", | 3620 | .clk = "l3_div_ck", |
4447 | .addr = omap44xx_debugss_addrs, | ||
4448 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3621 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4449 | }; | 3622 | }; |
4450 | 3623 | ||
@@ -4466,41 +3639,19 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dma_system = { | |||
4466 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3639 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4467 | }; | 3640 | }; |
4468 | 3641 | ||
4469 | static struct omap_hwmod_addr_space omap44xx_dmic_addrs[] = { | ||
4470 | { | ||
4471 | .name = "mpu", | ||
4472 | .pa_start = 0x4012e000, | ||
4473 | .pa_end = 0x4012e07f, | ||
4474 | .flags = ADDR_TYPE_RT | ||
4475 | }, | ||
4476 | { } | ||
4477 | }; | ||
4478 | |||
4479 | /* l4_abe -> dmic */ | 3642 | /* l4_abe -> dmic */ |
4480 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic = { | 3643 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic = { |
4481 | .master = &omap44xx_l4_abe_hwmod, | 3644 | .master = &omap44xx_l4_abe_hwmod, |
4482 | .slave = &omap44xx_dmic_hwmod, | 3645 | .slave = &omap44xx_dmic_hwmod, |
4483 | .clk = "ocp_abe_iclk", | 3646 | .clk = "ocp_abe_iclk", |
4484 | .addr = omap44xx_dmic_addrs, | ||
4485 | .user = OCP_USER_MPU, | 3647 | .user = OCP_USER_MPU, |
4486 | }; | 3648 | }; |
4487 | 3649 | ||
4488 | static struct omap_hwmod_addr_space omap44xx_dmic_dma_addrs[] = { | ||
4489 | { | ||
4490 | .name = "dma", | ||
4491 | .pa_start = 0x4902e000, | ||
4492 | .pa_end = 0x4902e07f, | ||
4493 | .flags = ADDR_TYPE_RT | ||
4494 | }, | ||
4495 | { } | ||
4496 | }; | ||
4497 | |||
4498 | /* l4_abe -> dmic (dma) */ | 3650 | /* l4_abe -> dmic (dma) */ |
4499 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic_dma = { | 3651 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic_dma = { |
4500 | .master = &omap44xx_l4_abe_hwmod, | 3652 | .master = &omap44xx_l4_abe_hwmod, |
4501 | .slave = &omap44xx_dmic_hwmod, | 3653 | .slave = &omap44xx_dmic_hwmod, |
4502 | .clk = "ocp_abe_iclk", | 3654 | .clk = "ocp_abe_iclk", |
4503 | .addr = omap44xx_dmic_dma_addrs, | ||
4504 | .user = OCP_USER_SDMA, | 3655 | .user = OCP_USER_SDMA, |
4505 | }; | 3656 | }; |
4506 | 3657 | ||
@@ -4798,42 +3949,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__elm = { | |||
4798 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3949 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4799 | }; | 3950 | }; |
4800 | 3951 | ||
4801 | static struct omap_hwmod_addr_space omap44xx_emif1_addrs[] = { | ||
4802 | { | ||
4803 | .pa_start = 0x4c000000, | ||
4804 | .pa_end = 0x4c0000ff, | ||
4805 | .flags = ADDR_TYPE_RT | ||
4806 | }, | ||
4807 | { } | ||
4808 | }; | ||
4809 | |||
4810 | /* emif_fw -> emif1 */ | ||
4811 | static struct omap_hwmod_ocp_if omap44xx_emif_fw__emif1 = { | ||
4812 | .master = &omap44xx_emif_fw_hwmod, | ||
4813 | .slave = &omap44xx_emif1_hwmod, | ||
4814 | .clk = "l3_div_ck", | ||
4815 | .addr = omap44xx_emif1_addrs, | ||
4816 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4817 | }; | ||
4818 | |||
4819 | static struct omap_hwmod_addr_space omap44xx_emif2_addrs[] = { | ||
4820 | { | ||
4821 | .pa_start = 0x4d000000, | ||
4822 | .pa_end = 0x4d0000ff, | ||
4823 | .flags = ADDR_TYPE_RT | ||
4824 | }, | ||
4825 | { } | ||
4826 | }; | ||
4827 | |||
4828 | /* emif_fw -> emif2 */ | ||
4829 | static struct omap_hwmod_ocp_if omap44xx_emif_fw__emif2 = { | ||
4830 | .master = &omap44xx_emif_fw_hwmod, | ||
4831 | .slave = &omap44xx_emif2_hwmod, | ||
4832 | .clk = "l3_div_ck", | ||
4833 | .addr = omap44xx_emif2_addrs, | ||
4834 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4835 | }; | ||
4836 | |||
4837 | static struct omap_hwmod_addr_space omap44xx_fdif_addrs[] = { | 3952 | static struct omap_hwmod_addr_space omap44xx_fdif_addrs[] = { |
4838 | { | 3953 | { |
4839 | .pa_start = 0x4a10a000, | 3954 | .pa_start = 0x4a10a000, |
@@ -4852,129 +3967,59 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__fdif = { | |||
4852 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3967 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4853 | }; | 3968 | }; |
4854 | 3969 | ||
4855 | static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = { | ||
4856 | { | ||
4857 | .pa_start = 0x4a310000, | ||
4858 | .pa_end = 0x4a3101ff, | ||
4859 | .flags = ADDR_TYPE_RT | ||
4860 | }, | ||
4861 | { } | ||
4862 | }; | ||
4863 | |||
4864 | /* l4_wkup -> gpio1 */ | 3970 | /* l4_wkup -> gpio1 */ |
4865 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__gpio1 = { | 3971 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__gpio1 = { |
4866 | .master = &omap44xx_l4_wkup_hwmod, | 3972 | .master = &omap44xx_l4_wkup_hwmod, |
4867 | .slave = &omap44xx_gpio1_hwmod, | 3973 | .slave = &omap44xx_gpio1_hwmod, |
4868 | .clk = "l4_wkup_clk_mux_ck", | 3974 | .clk = "l4_wkup_clk_mux_ck", |
4869 | .addr = omap44xx_gpio1_addrs, | ||
4870 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3975 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4871 | }; | 3976 | }; |
4872 | 3977 | ||
4873 | static struct omap_hwmod_addr_space omap44xx_gpio2_addrs[] = { | ||
4874 | { | ||
4875 | .pa_start = 0x48055000, | ||
4876 | .pa_end = 0x480551ff, | ||
4877 | .flags = ADDR_TYPE_RT | ||
4878 | }, | ||
4879 | { } | ||
4880 | }; | ||
4881 | |||
4882 | /* l4_per -> gpio2 */ | 3978 | /* l4_per -> gpio2 */ |
4883 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio2 = { | 3979 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio2 = { |
4884 | .master = &omap44xx_l4_per_hwmod, | 3980 | .master = &omap44xx_l4_per_hwmod, |
4885 | .slave = &omap44xx_gpio2_hwmod, | 3981 | .slave = &omap44xx_gpio2_hwmod, |
4886 | .clk = "l4_div_ck", | 3982 | .clk = "l4_div_ck", |
4887 | .addr = omap44xx_gpio2_addrs, | ||
4888 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3983 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4889 | }; | 3984 | }; |
4890 | 3985 | ||
4891 | static struct omap_hwmod_addr_space omap44xx_gpio3_addrs[] = { | ||
4892 | { | ||
4893 | .pa_start = 0x48057000, | ||
4894 | .pa_end = 0x480571ff, | ||
4895 | .flags = ADDR_TYPE_RT | ||
4896 | }, | ||
4897 | { } | ||
4898 | }; | ||
4899 | |||
4900 | /* l4_per -> gpio3 */ | 3986 | /* l4_per -> gpio3 */ |
4901 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio3 = { | 3987 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio3 = { |
4902 | .master = &omap44xx_l4_per_hwmod, | 3988 | .master = &omap44xx_l4_per_hwmod, |
4903 | .slave = &omap44xx_gpio3_hwmod, | 3989 | .slave = &omap44xx_gpio3_hwmod, |
4904 | .clk = "l4_div_ck", | 3990 | .clk = "l4_div_ck", |
4905 | .addr = omap44xx_gpio3_addrs, | ||
4906 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3991 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4907 | }; | 3992 | }; |
4908 | 3993 | ||
4909 | static struct omap_hwmod_addr_space omap44xx_gpio4_addrs[] = { | ||
4910 | { | ||
4911 | .pa_start = 0x48059000, | ||
4912 | .pa_end = 0x480591ff, | ||
4913 | .flags = ADDR_TYPE_RT | ||
4914 | }, | ||
4915 | { } | ||
4916 | }; | ||
4917 | |||
4918 | /* l4_per -> gpio4 */ | 3994 | /* l4_per -> gpio4 */ |
4919 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio4 = { | 3995 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio4 = { |
4920 | .master = &omap44xx_l4_per_hwmod, | 3996 | .master = &omap44xx_l4_per_hwmod, |
4921 | .slave = &omap44xx_gpio4_hwmod, | 3997 | .slave = &omap44xx_gpio4_hwmod, |
4922 | .clk = "l4_div_ck", | 3998 | .clk = "l4_div_ck", |
4923 | .addr = omap44xx_gpio4_addrs, | ||
4924 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3999 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4925 | }; | 4000 | }; |
4926 | 4001 | ||
4927 | static struct omap_hwmod_addr_space omap44xx_gpio5_addrs[] = { | ||
4928 | { | ||
4929 | .pa_start = 0x4805b000, | ||
4930 | .pa_end = 0x4805b1ff, | ||
4931 | .flags = ADDR_TYPE_RT | ||
4932 | }, | ||
4933 | { } | ||
4934 | }; | ||
4935 | |||
4936 | /* l4_per -> gpio5 */ | 4002 | /* l4_per -> gpio5 */ |
4937 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio5 = { | 4003 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio5 = { |
4938 | .master = &omap44xx_l4_per_hwmod, | 4004 | .master = &omap44xx_l4_per_hwmod, |
4939 | .slave = &omap44xx_gpio5_hwmod, | 4005 | .slave = &omap44xx_gpio5_hwmod, |
4940 | .clk = "l4_div_ck", | 4006 | .clk = "l4_div_ck", |
4941 | .addr = omap44xx_gpio5_addrs, | ||
4942 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4007 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4943 | }; | 4008 | }; |
4944 | 4009 | ||
4945 | static struct omap_hwmod_addr_space omap44xx_gpio6_addrs[] = { | ||
4946 | { | ||
4947 | .pa_start = 0x4805d000, | ||
4948 | .pa_end = 0x4805d1ff, | ||
4949 | .flags = ADDR_TYPE_RT | ||
4950 | }, | ||
4951 | { } | ||
4952 | }; | ||
4953 | |||
4954 | /* l4_per -> gpio6 */ | 4010 | /* l4_per -> gpio6 */ |
4955 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio6 = { | 4011 | static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio6 = { |
4956 | .master = &omap44xx_l4_per_hwmod, | 4012 | .master = &omap44xx_l4_per_hwmod, |
4957 | .slave = &omap44xx_gpio6_hwmod, | 4013 | .slave = &omap44xx_gpio6_hwmod, |
4958 | .clk = "l4_div_ck", | 4014 | .clk = "l4_div_ck", |
4959 | .addr = omap44xx_gpio6_addrs, | ||
4960 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4015 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4961 | }; | 4016 | }; |
4962 | 4017 | ||
4963 | static struct omap_hwmod_addr_space omap44xx_gpmc_addrs[] = { | ||
4964 | { | ||
4965 | .pa_start = 0x50000000, | ||
4966 | .pa_end = 0x500003ff, | ||
4967 | .flags = ADDR_TYPE_RT | ||
4968 | }, | ||
4969 | { } | ||
4970 | }; | ||
4971 | |||
4972 | /* l3_main_2 -> gpmc */ | 4018 | /* l3_main_2 -> gpmc */ |
4973 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = { | 4019 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = { |
4974 | .master = &omap44xx_l3_main_2_hwmod, | 4020 | .master = &omap44xx_l3_main_2_hwmod, |
4975 | .slave = &omap44xx_gpmc_hwmod, | 4021 | .slave = &omap44xx_gpmc_hwmod, |
4976 | .clk = "l3_div_ck", | 4022 | .clk = "l3_div_ck", |
4977 | .addr = omap44xx_gpmc_addrs, | ||
4978 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4023 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
4979 | }; | 4024 | }; |
4980 | 4025 | ||
@@ -5032,75 +4077,35 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__hsi = { | |||
5032 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4077 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5033 | }; | 4078 | }; |
5034 | 4079 | ||
5035 | static struct omap_hwmod_addr_space omap44xx_i2c1_addrs[] = { | ||
5036 | { | ||
5037 | .pa_start = 0x48070000, | ||
5038 | .pa_end = 0x480700ff, | ||
5039 | .flags = ADDR_TYPE_RT | ||
5040 | }, | ||
5041 | { } | ||
5042 | }; | ||
5043 | |||
5044 | /* l4_per -> i2c1 */ | 4080 | /* l4_per -> i2c1 */ |
5045 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c1 = { | 4081 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c1 = { |
5046 | .master = &omap44xx_l4_per_hwmod, | 4082 | .master = &omap44xx_l4_per_hwmod, |
5047 | .slave = &omap44xx_i2c1_hwmod, | 4083 | .slave = &omap44xx_i2c1_hwmod, |
5048 | .clk = "l4_div_ck", | 4084 | .clk = "l4_div_ck", |
5049 | .addr = omap44xx_i2c1_addrs, | ||
5050 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4085 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5051 | }; | 4086 | }; |
5052 | 4087 | ||
5053 | static struct omap_hwmod_addr_space omap44xx_i2c2_addrs[] = { | ||
5054 | { | ||
5055 | .pa_start = 0x48072000, | ||
5056 | .pa_end = 0x480720ff, | ||
5057 | .flags = ADDR_TYPE_RT | ||
5058 | }, | ||
5059 | { } | ||
5060 | }; | ||
5061 | |||
5062 | /* l4_per -> i2c2 */ | 4088 | /* l4_per -> i2c2 */ |
5063 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c2 = { | 4089 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c2 = { |
5064 | .master = &omap44xx_l4_per_hwmod, | 4090 | .master = &omap44xx_l4_per_hwmod, |
5065 | .slave = &omap44xx_i2c2_hwmod, | 4091 | .slave = &omap44xx_i2c2_hwmod, |
5066 | .clk = "l4_div_ck", | 4092 | .clk = "l4_div_ck", |
5067 | .addr = omap44xx_i2c2_addrs, | ||
5068 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4093 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5069 | }; | 4094 | }; |
5070 | 4095 | ||
5071 | static struct omap_hwmod_addr_space omap44xx_i2c3_addrs[] = { | ||
5072 | { | ||
5073 | .pa_start = 0x48060000, | ||
5074 | .pa_end = 0x480600ff, | ||
5075 | .flags = ADDR_TYPE_RT | ||
5076 | }, | ||
5077 | { } | ||
5078 | }; | ||
5079 | |||
5080 | /* l4_per -> i2c3 */ | 4096 | /* l4_per -> i2c3 */ |
5081 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c3 = { | 4097 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c3 = { |
5082 | .master = &omap44xx_l4_per_hwmod, | 4098 | .master = &omap44xx_l4_per_hwmod, |
5083 | .slave = &omap44xx_i2c3_hwmod, | 4099 | .slave = &omap44xx_i2c3_hwmod, |
5084 | .clk = "l4_div_ck", | 4100 | .clk = "l4_div_ck", |
5085 | .addr = omap44xx_i2c3_addrs, | ||
5086 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4101 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5087 | }; | 4102 | }; |
5088 | 4103 | ||
5089 | static struct omap_hwmod_addr_space omap44xx_i2c4_addrs[] = { | ||
5090 | { | ||
5091 | .pa_start = 0x48350000, | ||
5092 | .pa_end = 0x483500ff, | ||
5093 | .flags = ADDR_TYPE_RT | ||
5094 | }, | ||
5095 | { } | ||
5096 | }; | ||
5097 | |||
5098 | /* l4_per -> i2c4 */ | 4104 | /* l4_per -> i2c4 */ |
5099 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c4 = { | 4105 | static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c4 = { |
5100 | .master = &omap44xx_l4_per_hwmod, | 4106 | .master = &omap44xx_l4_per_hwmod, |
5101 | .slave = &omap44xx_i2c4_hwmod, | 4107 | .slave = &omap44xx_i2c4_hwmod, |
5102 | .clk = "l4_div_ck", | 4108 | .clk = "l4_div_ck", |
5103 | .addr = omap44xx_i2c4_addrs, | ||
5104 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4109 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5105 | }; | 4110 | }; |
5106 | 4111 | ||
@@ -5138,39 +4143,19 @@ static struct omap_hwmod_ocp_if __maybe_unused omap44xx_iva__sl2if = { | |||
5138 | .user = OCP_USER_IVA, | 4143 | .user = OCP_USER_IVA, |
5139 | }; | 4144 | }; |
5140 | 4145 | ||
5141 | static struct omap_hwmod_addr_space omap44xx_iva_addrs[] = { | ||
5142 | { | ||
5143 | .pa_start = 0x5a000000, | ||
5144 | .pa_end = 0x5a07ffff, | ||
5145 | .flags = ADDR_TYPE_RT | ||
5146 | }, | ||
5147 | { } | ||
5148 | }; | ||
5149 | |||
5150 | /* l3_main_2 -> iva */ | 4146 | /* l3_main_2 -> iva */ |
5151 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iva = { | 4147 | static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iva = { |
5152 | .master = &omap44xx_l3_main_2_hwmod, | 4148 | .master = &omap44xx_l3_main_2_hwmod, |
5153 | .slave = &omap44xx_iva_hwmod, | 4149 | .slave = &omap44xx_iva_hwmod, |
5154 | .clk = "l3_div_ck", | 4150 | .clk = "l3_div_ck", |
5155 | .addr = omap44xx_iva_addrs, | ||
5156 | .user = OCP_USER_MPU, | 4151 | .user = OCP_USER_MPU, |
5157 | }; | 4152 | }; |
5158 | 4153 | ||
5159 | static struct omap_hwmod_addr_space omap44xx_kbd_addrs[] = { | ||
5160 | { | ||
5161 | .pa_start = 0x4a31c000, | ||
5162 | .pa_end = 0x4a31c07f, | ||
5163 | .flags = ADDR_TYPE_RT | ||
5164 | }, | ||
5165 | { } | ||
5166 | }; | ||
5167 | |||
5168 | /* l4_wkup -> kbd */ | 4154 | /* l4_wkup -> kbd */ |
5169 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__kbd = { | 4155 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__kbd = { |
5170 | .master = &omap44xx_l4_wkup_hwmod, | 4156 | .master = &omap44xx_l4_wkup_hwmod, |
5171 | .slave = &omap44xx_kbd_hwmod, | 4157 | .slave = &omap44xx_kbd_hwmod, |
5172 | .clk = "l4_wkup_clk_mux_ck", | 4158 | .clk = "l4_wkup_clk_mux_ck", |
5173 | .addr = omap44xx_kbd_addrs, | ||
5174 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4159 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5175 | }; | 4160 | }; |
5176 | 4161 | ||
@@ -5228,335 +4213,147 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcasp_dma = { | |||
5228 | .user = OCP_USER_SDMA, | 4213 | .user = OCP_USER_SDMA, |
5229 | }; | 4214 | }; |
5230 | 4215 | ||
5231 | static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = { | ||
5232 | { | ||
5233 | .name = "mpu", | ||
5234 | .pa_start = 0x40122000, | ||
5235 | .pa_end = 0x401220ff, | ||
5236 | .flags = ADDR_TYPE_RT | ||
5237 | }, | ||
5238 | { } | ||
5239 | }; | ||
5240 | |||
5241 | /* l4_abe -> mcbsp1 */ | 4216 | /* l4_abe -> mcbsp1 */ |
5242 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1 = { | 4217 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1 = { |
5243 | .master = &omap44xx_l4_abe_hwmod, | 4218 | .master = &omap44xx_l4_abe_hwmod, |
5244 | .slave = &omap44xx_mcbsp1_hwmod, | 4219 | .slave = &omap44xx_mcbsp1_hwmod, |
5245 | .clk = "ocp_abe_iclk", | 4220 | .clk = "ocp_abe_iclk", |
5246 | .addr = omap44xx_mcbsp1_addrs, | ||
5247 | .user = OCP_USER_MPU, | 4221 | .user = OCP_USER_MPU, |
5248 | }; | 4222 | }; |
5249 | 4223 | ||
5250 | static struct omap_hwmod_addr_space omap44xx_mcbsp1_dma_addrs[] = { | ||
5251 | { | ||
5252 | .name = "dma", | ||
5253 | .pa_start = 0x49022000, | ||
5254 | .pa_end = 0x490220ff, | ||
5255 | .flags = ADDR_TYPE_RT | ||
5256 | }, | ||
5257 | { } | ||
5258 | }; | ||
5259 | |||
5260 | /* l4_abe -> mcbsp1 (dma) */ | 4224 | /* l4_abe -> mcbsp1 (dma) */ |
5261 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1_dma = { | 4225 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1_dma = { |
5262 | .master = &omap44xx_l4_abe_hwmod, | 4226 | .master = &omap44xx_l4_abe_hwmod, |
5263 | .slave = &omap44xx_mcbsp1_hwmod, | 4227 | .slave = &omap44xx_mcbsp1_hwmod, |
5264 | .clk = "ocp_abe_iclk", | 4228 | .clk = "ocp_abe_iclk", |
5265 | .addr = omap44xx_mcbsp1_dma_addrs, | ||
5266 | .user = OCP_USER_SDMA, | 4229 | .user = OCP_USER_SDMA, |
5267 | }; | 4230 | }; |
5268 | 4231 | ||
5269 | static struct omap_hwmod_addr_space omap44xx_mcbsp2_addrs[] = { | ||
5270 | { | ||
5271 | .name = "mpu", | ||
5272 | .pa_start = 0x40124000, | ||
5273 | .pa_end = 0x401240ff, | ||
5274 | .flags = ADDR_TYPE_RT | ||
5275 | }, | ||
5276 | { } | ||
5277 | }; | ||
5278 | |||
5279 | /* l4_abe -> mcbsp2 */ | 4232 | /* l4_abe -> mcbsp2 */ |
5280 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2 = { | 4233 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2 = { |
5281 | .master = &omap44xx_l4_abe_hwmod, | 4234 | .master = &omap44xx_l4_abe_hwmod, |
5282 | .slave = &omap44xx_mcbsp2_hwmod, | 4235 | .slave = &omap44xx_mcbsp2_hwmod, |
5283 | .clk = "ocp_abe_iclk", | 4236 | .clk = "ocp_abe_iclk", |
5284 | .addr = omap44xx_mcbsp2_addrs, | ||
5285 | .user = OCP_USER_MPU, | 4237 | .user = OCP_USER_MPU, |
5286 | }; | 4238 | }; |
5287 | 4239 | ||
5288 | static struct omap_hwmod_addr_space omap44xx_mcbsp2_dma_addrs[] = { | ||
5289 | { | ||
5290 | .name = "dma", | ||
5291 | .pa_start = 0x49024000, | ||
5292 | .pa_end = 0x490240ff, | ||
5293 | .flags = ADDR_TYPE_RT | ||
5294 | }, | ||
5295 | { } | ||
5296 | }; | ||
5297 | |||
5298 | /* l4_abe -> mcbsp2 (dma) */ | 4240 | /* l4_abe -> mcbsp2 (dma) */ |
5299 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2_dma = { | 4241 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2_dma = { |
5300 | .master = &omap44xx_l4_abe_hwmod, | 4242 | .master = &omap44xx_l4_abe_hwmod, |
5301 | .slave = &omap44xx_mcbsp2_hwmod, | 4243 | .slave = &omap44xx_mcbsp2_hwmod, |
5302 | .clk = "ocp_abe_iclk", | 4244 | .clk = "ocp_abe_iclk", |
5303 | .addr = omap44xx_mcbsp2_dma_addrs, | ||
5304 | .user = OCP_USER_SDMA, | 4245 | .user = OCP_USER_SDMA, |
5305 | }; | 4246 | }; |
5306 | 4247 | ||
5307 | static struct omap_hwmod_addr_space omap44xx_mcbsp3_addrs[] = { | ||
5308 | { | ||
5309 | .name = "mpu", | ||
5310 | .pa_start = 0x40126000, | ||
5311 | .pa_end = 0x401260ff, | ||
5312 | .flags = ADDR_TYPE_RT | ||
5313 | }, | ||
5314 | { } | ||
5315 | }; | ||
5316 | |||
5317 | /* l4_abe -> mcbsp3 */ | 4248 | /* l4_abe -> mcbsp3 */ |
5318 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3 = { | 4249 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3 = { |
5319 | .master = &omap44xx_l4_abe_hwmod, | 4250 | .master = &omap44xx_l4_abe_hwmod, |
5320 | .slave = &omap44xx_mcbsp3_hwmod, | 4251 | .slave = &omap44xx_mcbsp3_hwmod, |
5321 | .clk = "ocp_abe_iclk", | 4252 | .clk = "ocp_abe_iclk", |
5322 | .addr = omap44xx_mcbsp3_addrs, | ||
5323 | .user = OCP_USER_MPU, | 4253 | .user = OCP_USER_MPU, |
5324 | }; | 4254 | }; |
5325 | 4255 | ||
5326 | static struct omap_hwmod_addr_space omap44xx_mcbsp3_dma_addrs[] = { | ||
5327 | { | ||
5328 | .name = "dma", | ||
5329 | .pa_start = 0x49026000, | ||
5330 | .pa_end = 0x490260ff, | ||
5331 | .flags = ADDR_TYPE_RT | ||
5332 | }, | ||
5333 | { } | ||
5334 | }; | ||
5335 | |||
5336 | /* l4_abe -> mcbsp3 (dma) */ | 4256 | /* l4_abe -> mcbsp3 (dma) */ |
5337 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3_dma = { | 4257 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3_dma = { |
5338 | .master = &omap44xx_l4_abe_hwmod, | 4258 | .master = &omap44xx_l4_abe_hwmod, |
5339 | .slave = &omap44xx_mcbsp3_hwmod, | 4259 | .slave = &omap44xx_mcbsp3_hwmod, |
5340 | .clk = "ocp_abe_iclk", | 4260 | .clk = "ocp_abe_iclk", |
5341 | .addr = omap44xx_mcbsp3_dma_addrs, | ||
5342 | .user = OCP_USER_SDMA, | 4261 | .user = OCP_USER_SDMA, |
5343 | }; | 4262 | }; |
5344 | 4263 | ||
5345 | static struct omap_hwmod_addr_space omap44xx_mcbsp4_addrs[] = { | ||
5346 | { | ||
5347 | .pa_start = 0x48096000, | ||
5348 | .pa_end = 0x480960ff, | ||
5349 | .flags = ADDR_TYPE_RT | ||
5350 | }, | ||
5351 | { } | ||
5352 | }; | ||
5353 | |||
5354 | /* l4_per -> mcbsp4 */ | 4264 | /* l4_per -> mcbsp4 */ |
5355 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcbsp4 = { | 4265 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcbsp4 = { |
5356 | .master = &omap44xx_l4_per_hwmod, | 4266 | .master = &omap44xx_l4_per_hwmod, |
5357 | .slave = &omap44xx_mcbsp4_hwmod, | 4267 | .slave = &omap44xx_mcbsp4_hwmod, |
5358 | .clk = "l4_div_ck", | 4268 | .clk = "l4_div_ck", |
5359 | .addr = omap44xx_mcbsp4_addrs, | ||
5360 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4269 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5361 | }; | 4270 | }; |
5362 | 4271 | ||
5363 | static struct omap_hwmod_addr_space omap44xx_mcpdm_addrs[] = { | ||
5364 | { | ||
5365 | .name = "mpu", | ||
5366 | .pa_start = 0x40132000, | ||
5367 | .pa_end = 0x4013207f, | ||
5368 | .flags = ADDR_TYPE_RT | ||
5369 | }, | ||
5370 | { } | ||
5371 | }; | ||
5372 | |||
5373 | /* l4_abe -> mcpdm */ | 4272 | /* l4_abe -> mcpdm */ |
5374 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm = { | 4273 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm = { |
5375 | .master = &omap44xx_l4_abe_hwmod, | 4274 | .master = &omap44xx_l4_abe_hwmod, |
5376 | .slave = &omap44xx_mcpdm_hwmod, | 4275 | .slave = &omap44xx_mcpdm_hwmod, |
5377 | .clk = "ocp_abe_iclk", | 4276 | .clk = "ocp_abe_iclk", |
5378 | .addr = omap44xx_mcpdm_addrs, | ||
5379 | .user = OCP_USER_MPU, | 4277 | .user = OCP_USER_MPU, |
5380 | }; | 4278 | }; |
5381 | 4279 | ||
5382 | static struct omap_hwmod_addr_space omap44xx_mcpdm_dma_addrs[] = { | ||
5383 | { | ||
5384 | .name = "dma", | ||
5385 | .pa_start = 0x49032000, | ||
5386 | .pa_end = 0x4903207f, | ||
5387 | .flags = ADDR_TYPE_RT | ||
5388 | }, | ||
5389 | { } | ||
5390 | }; | ||
5391 | |||
5392 | /* l4_abe -> mcpdm (dma) */ | 4280 | /* l4_abe -> mcpdm (dma) */ |
5393 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm_dma = { | 4281 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm_dma = { |
5394 | .master = &omap44xx_l4_abe_hwmod, | 4282 | .master = &omap44xx_l4_abe_hwmod, |
5395 | .slave = &omap44xx_mcpdm_hwmod, | 4283 | .slave = &omap44xx_mcpdm_hwmod, |
5396 | .clk = "ocp_abe_iclk", | 4284 | .clk = "ocp_abe_iclk", |
5397 | .addr = omap44xx_mcpdm_dma_addrs, | ||
5398 | .user = OCP_USER_SDMA, | 4285 | .user = OCP_USER_SDMA, |
5399 | }; | 4286 | }; |
5400 | 4287 | ||
5401 | static struct omap_hwmod_addr_space omap44xx_mcspi1_addrs[] = { | ||
5402 | { | ||
5403 | .pa_start = 0x48098000, | ||
5404 | .pa_end = 0x480981ff, | ||
5405 | .flags = ADDR_TYPE_RT | ||
5406 | }, | ||
5407 | { } | ||
5408 | }; | ||
5409 | |||
5410 | /* l4_per -> mcspi1 */ | 4288 | /* l4_per -> mcspi1 */ |
5411 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi1 = { | 4289 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi1 = { |
5412 | .master = &omap44xx_l4_per_hwmod, | 4290 | .master = &omap44xx_l4_per_hwmod, |
5413 | .slave = &omap44xx_mcspi1_hwmod, | 4291 | .slave = &omap44xx_mcspi1_hwmod, |
5414 | .clk = "l4_div_ck", | 4292 | .clk = "l4_div_ck", |
5415 | .addr = omap44xx_mcspi1_addrs, | ||
5416 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4293 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5417 | }; | 4294 | }; |
5418 | 4295 | ||
5419 | static struct omap_hwmod_addr_space omap44xx_mcspi2_addrs[] = { | ||
5420 | { | ||
5421 | .pa_start = 0x4809a000, | ||
5422 | .pa_end = 0x4809a1ff, | ||
5423 | .flags = ADDR_TYPE_RT | ||
5424 | }, | ||
5425 | { } | ||
5426 | }; | ||
5427 | |||
5428 | /* l4_per -> mcspi2 */ | 4296 | /* l4_per -> mcspi2 */ |
5429 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi2 = { | 4297 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi2 = { |
5430 | .master = &omap44xx_l4_per_hwmod, | 4298 | .master = &omap44xx_l4_per_hwmod, |
5431 | .slave = &omap44xx_mcspi2_hwmod, | 4299 | .slave = &omap44xx_mcspi2_hwmod, |
5432 | .clk = "l4_div_ck", | 4300 | .clk = "l4_div_ck", |
5433 | .addr = omap44xx_mcspi2_addrs, | ||
5434 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4301 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5435 | }; | 4302 | }; |
5436 | 4303 | ||
5437 | static struct omap_hwmod_addr_space omap44xx_mcspi3_addrs[] = { | ||
5438 | { | ||
5439 | .pa_start = 0x480b8000, | ||
5440 | .pa_end = 0x480b81ff, | ||
5441 | .flags = ADDR_TYPE_RT | ||
5442 | }, | ||
5443 | { } | ||
5444 | }; | ||
5445 | |||
5446 | /* l4_per -> mcspi3 */ | 4304 | /* l4_per -> mcspi3 */ |
5447 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi3 = { | 4305 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi3 = { |
5448 | .master = &omap44xx_l4_per_hwmod, | 4306 | .master = &omap44xx_l4_per_hwmod, |
5449 | .slave = &omap44xx_mcspi3_hwmod, | 4307 | .slave = &omap44xx_mcspi3_hwmod, |
5450 | .clk = "l4_div_ck", | 4308 | .clk = "l4_div_ck", |
5451 | .addr = omap44xx_mcspi3_addrs, | ||
5452 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4309 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5453 | }; | 4310 | }; |
5454 | 4311 | ||
5455 | static struct omap_hwmod_addr_space omap44xx_mcspi4_addrs[] = { | ||
5456 | { | ||
5457 | .pa_start = 0x480ba000, | ||
5458 | .pa_end = 0x480ba1ff, | ||
5459 | .flags = ADDR_TYPE_RT | ||
5460 | }, | ||
5461 | { } | ||
5462 | }; | ||
5463 | |||
5464 | /* l4_per -> mcspi4 */ | 4312 | /* l4_per -> mcspi4 */ |
5465 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi4 = { | 4313 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi4 = { |
5466 | .master = &omap44xx_l4_per_hwmod, | 4314 | .master = &omap44xx_l4_per_hwmod, |
5467 | .slave = &omap44xx_mcspi4_hwmod, | 4315 | .slave = &omap44xx_mcspi4_hwmod, |
5468 | .clk = "l4_div_ck", | 4316 | .clk = "l4_div_ck", |
5469 | .addr = omap44xx_mcspi4_addrs, | ||
5470 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4317 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5471 | }; | 4318 | }; |
5472 | 4319 | ||
5473 | static struct omap_hwmod_addr_space omap44xx_mmc1_addrs[] = { | ||
5474 | { | ||
5475 | .pa_start = 0x4809c000, | ||
5476 | .pa_end = 0x4809c3ff, | ||
5477 | .flags = ADDR_TYPE_RT | ||
5478 | }, | ||
5479 | { } | ||
5480 | }; | ||
5481 | |||
5482 | /* l4_per -> mmc1 */ | 4320 | /* l4_per -> mmc1 */ |
5483 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc1 = { | 4321 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc1 = { |
5484 | .master = &omap44xx_l4_per_hwmod, | 4322 | .master = &omap44xx_l4_per_hwmod, |
5485 | .slave = &omap44xx_mmc1_hwmod, | 4323 | .slave = &omap44xx_mmc1_hwmod, |
5486 | .clk = "l4_div_ck", | 4324 | .clk = "l4_div_ck", |
5487 | .addr = omap44xx_mmc1_addrs, | ||
5488 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4325 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5489 | }; | 4326 | }; |
5490 | 4327 | ||
5491 | static struct omap_hwmod_addr_space omap44xx_mmc2_addrs[] = { | ||
5492 | { | ||
5493 | .pa_start = 0x480b4000, | ||
5494 | .pa_end = 0x480b43ff, | ||
5495 | .flags = ADDR_TYPE_RT | ||
5496 | }, | ||
5497 | { } | ||
5498 | }; | ||
5499 | |||
5500 | /* l4_per -> mmc2 */ | 4328 | /* l4_per -> mmc2 */ |
5501 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc2 = { | 4329 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc2 = { |
5502 | .master = &omap44xx_l4_per_hwmod, | 4330 | .master = &omap44xx_l4_per_hwmod, |
5503 | .slave = &omap44xx_mmc2_hwmod, | 4331 | .slave = &omap44xx_mmc2_hwmod, |
5504 | .clk = "l4_div_ck", | 4332 | .clk = "l4_div_ck", |
5505 | .addr = omap44xx_mmc2_addrs, | ||
5506 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4333 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5507 | }; | 4334 | }; |
5508 | 4335 | ||
5509 | static struct omap_hwmod_addr_space omap44xx_mmc3_addrs[] = { | ||
5510 | { | ||
5511 | .pa_start = 0x480ad000, | ||
5512 | .pa_end = 0x480ad3ff, | ||
5513 | .flags = ADDR_TYPE_RT | ||
5514 | }, | ||
5515 | { } | ||
5516 | }; | ||
5517 | |||
5518 | /* l4_per -> mmc3 */ | 4336 | /* l4_per -> mmc3 */ |
5519 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc3 = { | 4337 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc3 = { |
5520 | .master = &omap44xx_l4_per_hwmod, | 4338 | .master = &omap44xx_l4_per_hwmod, |
5521 | .slave = &omap44xx_mmc3_hwmod, | 4339 | .slave = &omap44xx_mmc3_hwmod, |
5522 | .clk = "l4_div_ck", | 4340 | .clk = "l4_div_ck", |
5523 | .addr = omap44xx_mmc3_addrs, | ||
5524 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4341 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5525 | }; | 4342 | }; |
5526 | 4343 | ||
5527 | static struct omap_hwmod_addr_space omap44xx_mmc4_addrs[] = { | ||
5528 | { | ||
5529 | .pa_start = 0x480d1000, | ||
5530 | .pa_end = 0x480d13ff, | ||
5531 | .flags = ADDR_TYPE_RT | ||
5532 | }, | ||
5533 | { } | ||
5534 | }; | ||
5535 | |||
5536 | /* l4_per -> mmc4 */ | 4344 | /* l4_per -> mmc4 */ |
5537 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc4 = { | 4345 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc4 = { |
5538 | .master = &omap44xx_l4_per_hwmod, | 4346 | .master = &omap44xx_l4_per_hwmod, |
5539 | .slave = &omap44xx_mmc4_hwmod, | 4347 | .slave = &omap44xx_mmc4_hwmod, |
5540 | .clk = "l4_div_ck", | 4348 | .clk = "l4_div_ck", |
5541 | .addr = omap44xx_mmc4_addrs, | ||
5542 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4349 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5543 | }; | 4350 | }; |
5544 | 4351 | ||
5545 | static struct omap_hwmod_addr_space omap44xx_mmc5_addrs[] = { | ||
5546 | { | ||
5547 | .pa_start = 0x480d5000, | ||
5548 | .pa_end = 0x480d53ff, | ||
5549 | .flags = ADDR_TYPE_RT | ||
5550 | }, | ||
5551 | { } | ||
5552 | }; | ||
5553 | |||
5554 | /* l4_per -> mmc5 */ | 4352 | /* l4_per -> mmc5 */ |
5555 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc5 = { | 4353 | static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc5 = { |
5556 | .master = &omap44xx_l4_per_hwmod, | 4354 | .master = &omap44xx_l4_per_hwmod, |
5557 | .slave = &omap44xx_mmc5_hwmod, | 4355 | .slave = &omap44xx_mmc5_hwmod, |
5558 | .clk = "l4_div_ck", | 4356 | .clk = "l4_div_ck", |
5559 | .addr = omap44xx_mmc5_addrs, | ||
5560 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4357 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5561 | }; | 4358 | }; |
5562 | 4359 | ||
@@ -5568,111 +4365,51 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__ocmc_ram = { | |||
5568 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4365 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5569 | }; | 4366 | }; |
5570 | 4367 | ||
5571 | static struct omap_hwmod_addr_space omap44xx_ocp2scp_usb_phy_addrs[] = { | ||
5572 | { | ||
5573 | .pa_start = 0x4a0ad000, | ||
5574 | .pa_end = 0x4a0ad01f, | ||
5575 | .flags = ADDR_TYPE_RT | ||
5576 | }, | ||
5577 | { } | ||
5578 | }; | ||
5579 | |||
5580 | /* l4_cfg -> ocp2scp_usb_phy */ | 4368 | /* l4_cfg -> ocp2scp_usb_phy */ |
5581 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp2scp_usb_phy = { | 4369 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp2scp_usb_phy = { |
5582 | .master = &omap44xx_l4_cfg_hwmod, | 4370 | .master = &omap44xx_l4_cfg_hwmod, |
5583 | .slave = &omap44xx_ocp2scp_usb_phy_hwmod, | 4371 | .slave = &omap44xx_ocp2scp_usb_phy_hwmod, |
5584 | .clk = "l4_div_ck", | 4372 | .clk = "l4_div_ck", |
5585 | .addr = omap44xx_ocp2scp_usb_phy_addrs, | ||
5586 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4373 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5587 | }; | 4374 | }; |
5588 | 4375 | ||
5589 | static struct omap_hwmod_addr_space omap44xx_prcm_mpu_addrs[] = { | ||
5590 | { | ||
5591 | .pa_start = 0x48243000, | ||
5592 | .pa_end = 0x48243fff, | ||
5593 | .flags = ADDR_TYPE_RT | ||
5594 | }, | ||
5595 | { } | ||
5596 | }; | ||
5597 | |||
5598 | /* mpu_private -> prcm_mpu */ | 4376 | /* mpu_private -> prcm_mpu */ |
5599 | static struct omap_hwmod_ocp_if omap44xx_mpu_private__prcm_mpu = { | 4377 | static struct omap_hwmod_ocp_if omap44xx_mpu_private__prcm_mpu = { |
5600 | .master = &omap44xx_mpu_private_hwmod, | 4378 | .master = &omap44xx_mpu_private_hwmod, |
5601 | .slave = &omap44xx_prcm_mpu_hwmod, | 4379 | .slave = &omap44xx_prcm_mpu_hwmod, |
5602 | .clk = "l3_div_ck", | 4380 | .clk = "l3_div_ck", |
5603 | .addr = omap44xx_prcm_mpu_addrs, | ||
5604 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4381 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5605 | }; | 4382 | }; |
5606 | 4383 | ||
5607 | static struct omap_hwmod_addr_space omap44xx_cm_core_aon_addrs[] = { | ||
5608 | { | ||
5609 | .pa_start = 0x4a004000, | ||
5610 | .pa_end = 0x4a004fff, | ||
5611 | .flags = ADDR_TYPE_RT | ||
5612 | }, | ||
5613 | { } | ||
5614 | }; | ||
5615 | |||
5616 | /* l4_wkup -> cm_core_aon */ | 4384 | /* l4_wkup -> cm_core_aon */ |
5617 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__cm_core_aon = { | 4385 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__cm_core_aon = { |
5618 | .master = &omap44xx_l4_wkup_hwmod, | 4386 | .master = &omap44xx_l4_wkup_hwmod, |
5619 | .slave = &omap44xx_cm_core_aon_hwmod, | 4387 | .slave = &omap44xx_cm_core_aon_hwmod, |
5620 | .clk = "l4_wkup_clk_mux_ck", | 4388 | .clk = "l4_wkup_clk_mux_ck", |
5621 | .addr = omap44xx_cm_core_aon_addrs, | ||
5622 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4389 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5623 | }; | 4390 | }; |
5624 | 4391 | ||
5625 | static struct omap_hwmod_addr_space omap44xx_cm_core_addrs[] = { | ||
5626 | { | ||
5627 | .pa_start = 0x4a008000, | ||
5628 | .pa_end = 0x4a009fff, | ||
5629 | .flags = ADDR_TYPE_RT | ||
5630 | }, | ||
5631 | { } | ||
5632 | }; | ||
5633 | |||
5634 | /* l4_cfg -> cm_core */ | 4392 | /* l4_cfg -> cm_core */ |
5635 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__cm_core = { | 4393 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__cm_core = { |
5636 | .master = &omap44xx_l4_cfg_hwmod, | 4394 | .master = &omap44xx_l4_cfg_hwmod, |
5637 | .slave = &omap44xx_cm_core_hwmod, | 4395 | .slave = &omap44xx_cm_core_hwmod, |
5638 | .clk = "l4_div_ck", | 4396 | .clk = "l4_div_ck", |
5639 | .addr = omap44xx_cm_core_addrs, | ||
5640 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4397 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5641 | }; | 4398 | }; |
5642 | 4399 | ||
5643 | static struct omap_hwmod_addr_space omap44xx_prm_addrs[] = { | ||
5644 | { | ||
5645 | .pa_start = 0x4a306000, | ||
5646 | .pa_end = 0x4a307fff, | ||
5647 | .flags = ADDR_TYPE_RT | ||
5648 | }, | ||
5649 | { } | ||
5650 | }; | ||
5651 | |||
5652 | /* l4_wkup -> prm */ | 4400 | /* l4_wkup -> prm */ |
5653 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__prm = { | 4401 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__prm = { |
5654 | .master = &omap44xx_l4_wkup_hwmod, | 4402 | .master = &omap44xx_l4_wkup_hwmod, |
5655 | .slave = &omap44xx_prm_hwmod, | 4403 | .slave = &omap44xx_prm_hwmod, |
5656 | .clk = "l4_wkup_clk_mux_ck", | 4404 | .clk = "l4_wkup_clk_mux_ck", |
5657 | .addr = omap44xx_prm_addrs, | ||
5658 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4405 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5659 | }; | 4406 | }; |
5660 | 4407 | ||
5661 | static struct omap_hwmod_addr_space omap44xx_scrm_addrs[] = { | ||
5662 | { | ||
5663 | .pa_start = 0x4a30a000, | ||
5664 | .pa_end = 0x4a30a7ff, | ||
5665 | .flags = ADDR_TYPE_RT | ||
5666 | }, | ||
5667 | { } | ||
5668 | }; | ||
5669 | |||
5670 | /* l4_wkup -> scrm */ | 4408 | /* l4_wkup -> scrm */ |
5671 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__scrm = { | 4409 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__scrm = { |
5672 | .master = &omap44xx_l4_wkup_hwmod, | 4410 | .master = &omap44xx_l4_wkup_hwmod, |
5673 | .slave = &omap44xx_scrm_hwmod, | 4411 | .slave = &omap44xx_scrm_hwmod, |
5674 | .clk = "l4_wkup_clk_mux_ck", | 4412 | .clk = "l4_wkup_clk_mux_ck", |
5675 | .addr = omap44xx_scrm_addrs, | ||
5676 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4413 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5677 | }; | 4414 | }; |
5678 | 4415 | ||
@@ -5810,447 +4547,195 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__spinlock = { | |||
5810 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4547 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5811 | }; | 4548 | }; |
5812 | 4549 | ||
5813 | static struct omap_hwmod_addr_space omap44xx_timer1_addrs[] = { | ||
5814 | { | ||
5815 | .pa_start = 0x4a318000, | ||
5816 | .pa_end = 0x4a31807f, | ||
5817 | .flags = ADDR_TYPE_RT | ||
5818 | }, | ||
5819 | { } | ||
5820 | }; | ||
5821 | |||
5822 | /* l4_wkup -> timer1 */ | 4550 | /* l4_wkup -> timer1 */ |
5823 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__timer1 = { | 4551 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__timer1 = { |
5824 | .master = &omap44xx_l4_wkup_hwmod, | 4552 | .master = &omap44xx_l4_wkup_hwmod, |
5825 | .slave = &omap44xx_timer1_hwmod, | 4553 | .slave = &omap44xx_timer1_hwmod, |
5826 | .clk = "l4_wkup_clk_mux_ck", | 4554 | .clk = "l4_wkup_clk_mux_ck", |
5827 | .addr = omap44xx_timer1_addrs, | ||
5828 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4555 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5829 | }; | 4556 | }; |
5830 | 4557 | ||
5831 | static struct omap_hwmod_addr_space omap44xx_timer2_addrs[] = { | ||
5832 | { | ||
5833 | .pa_start = 0x48032000, | ||
5834 | .pa_end = 0x4803207f, | ||
5835 | .flags = ADDR_TYPE_RT | ||
5836 | }, | ||
5837 | { } | ||
5838 | }; | ||
5839 | |||
5840 | /* l4_per -> timer2 */ | 4558 | /* l4_per -> timer2 */ |
5841 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer2 = { | 4559 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer2 = { |
5842 | .master = &omap44xx_l4_per_hwmod, | 4560 | .master = &omap44xx_l4_per_hwmod, |
5843 | .slave = &omap44xx_timer2_hwmod, | 4561 | .slave = &omap44xx_timer2_hwmod, |
5844 | .clk = "l4_div_ck", | 4562 | .clk = "l4_div_ck", |
5845 | .addr = omap44xx_timer2_addrs, | ||
5846 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4563 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5847 | }; | 4564 | }; |
5848 | 4565 | ||
5849 | static struct omap_hwmod_addr_space omap44xx_timer3_addrs[] = { | ||
5850 | { | ||
5851 | .pa_start = 0x48034000, | ||
5852 | .pa_end = 0x4803407f, | ||
5853 | .flags = ADDR_TYPE_RT | ||
5854 | }, | ||
5855 | { } | ||
5856 | }; | ||
5857 | |||
5858 | /* l4_per -> timer3 */ | 4566 | /* l4_per -> timer3 */ |
5859 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer3 = { | 4567 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer3 = { |
5860 | .master = &omap44xx_l4_per_hwmod, | 4568 | .master = &omap44xx_l4_per_hwmod, |
5861 | .slave = &omap44xx_timer3_hwmod, | 4569 | .slave = &omap44xx_timer3_hwmod, |
5862 | .clk = "l4_div_ck", | 4570 | .clk = "l4_div_ck", |
5863 | .addr = omap44xx_timer3_addrs, | ||
5864 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4571 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5865 | }; | 4572 | }; |
5866 | 4573 | ||
5867 | static struct omap_hwmod_addr_space omap44xx_timer4_addrs[] = { | ||
5868 | { | ||
5869 | .pa_start = 0x48036000, | ||
5870 | .pa_end = 0x4803607f, | ||
5871 | .flags = ADDR_TYPE_RT | ||
5872 | }, | ||
5873 | { } | ||
5874 | }; | ||
5875 | |||
5876 | /* l4_per -> timer4 */ | 4574 | /* l4_per -> timer4 */ |
5877 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer4 = { | 4575 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer4 = { |
5878 | .master = &omap44xx_l4_per_hwmod, | 4576 | .master = &omap44xx_l4_per_hwmod, |
5879 | .slave = &omap44xx_timer4_hwmod, | 4577 | .slave = &omap44xx_timer4_hwmod, |
5880 | .clk = "l4_div_ck", | 4578 | .clk = "l4_div_ck", |
5881 | .addr = omap44xx_timer4_addrs, | ||
5882 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4579 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
5883 | }; | 4580 | }; |
5884 | 4581 | ||
5885 | static struct omap_hwmod_addr_space omap44xx_timer5_addrs[] = { | ||
5886 | { | ||
5887 | .pa_start = 0x40138000, | ||
5888 | .pa_end = 0x4013807f, | ||
5889 | .flags = ADDR_TYPE_RT | ||
5890 | }, | ||
5891 | { } | ||
5892 | }; | ||
5893 | |||
5894 | /* l4_abe -> timer5 */ | 4582 | /* l4_abe -> timer5 */ |
5895 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5 = { | 4583 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5 = { |
5896 | .master = &omap44xx_l4_abe_hwmod, | 4584 | .master = &omap44xx_l4_abe_hwmod, |
5897 | .slave = &omap44xx_timer5_hwmod, | 4585 | .slave = &omap44xx_timer5_hwmod, |
5898 | .clk = "ocp_abe_iclk", | 4586 | .clk = "ocp_abe_iclk", |
5899 | .addr = omap44xx_timer5_addrs, | ||
5900 | .user = OCP_USER_MPU, | 4587 | .user = OCP_USER_MPU, |
5901 | }; | 4588 | }; |
5902 | 4589 | ||
5903 | static struct omap_hwmod_addr_space omap44xx_timer5_dma_addrs[] = { | ||
5904 | { | ||
5905 | .pa_start = 0x49038000, | ||
5906 | .pa_end = 0x4903807f, | ||
5907 | .flags = ADDR_TYPE_RT | ||
5908 | }, | ||
5909 | { } | ||
5910 | }; | ||
5911 | |||
5912 | /* l4_abe -> timer5 (dma) */ | 4590 | /* l4_abe -> timer5 (dma) */ |
5913 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5_dma = { | 4591 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5_dma = { |
5914 | .master = &omap44xx_l4_abe_hwmod, | 4592 | .master = &omap44xx_l4_abe_hwmod, |
5915 | .slave = &omap44xx_timer5_hwmod, | 4593 | .slave = &omap44xx_timer5_hwmod, |
5916 | .clk = "ocp_abe_iclk", | 4594 | .clk = "ocp_abe_iclk", |
5917 | .addr = omap44xx_timer5_dma_addrs, | ||
5918 | .user = OCP_USER_SDMA, | 4595 | .user = OCP_USER_SDMA, |
5919 | }; | 4596 | }; |
5920 | 4597 | ||
5921 | static struct omap_hwmod_addr_space omap44xx_timer6_addrs[] = { | ||
5922 | { | ||
5923 | .pa_start = 0x4013a000, | ||
5924 | .pa_end = 0x4013a07f, | ||
5925 | .flags = ADDR_TYPE_RT | ||
5926 | }, | ||
5927 | { } | ||
5928 | }; | ||
5929 | |||
5930 | /* l4_abe -> timer6 */ | 4598 | /* l4_abe -> timer6 */ |
5931 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6 = { | 4599 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6 = { |
5932 | .master = &omap44xx_l4_abe_hwmod, | 4600 | .master = &omap44xx_l4_abe_hwmod, |
5933 | .slave = &omap44xx_timer6_hwmod, | 4601 | .slave = &omap44xx_timer6_hwmod, |
5934 | .clk = "ocp_abe_iclk", | 4602 | .clk = "ocp_abe_iclk", |
5935 | .addr = omap44xx_timer6_addrs, | ||
5936 | .user = OCP_USER_MPU, | 4603 | .user = OCP_USER_MPU, |
5937 | }; | 4604 | }; |
5938 | 4605 | ||
5939 | static struct omap_hwmod_addr_space omap44xx_timer6_dma_addrs[] = { | ||
5940 | { | ||
5941 | .pa_start = 0x4903a000, | ||
5942 | .pa_end = 0x4903a07f, | ||
5943 | .flags = ADDR_TYPE_RT | ||
5944 | }, | ||
5945 | { } | ||
5946 | }; | ||
5947 | |||
5948 | /* l4_abe -> timer6 (dma) */ | 4606 | /* l4_abe -> timer6 (dma) */ |
5949 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6_dma = { | 4607 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6_dma = { |
5950 | .master = &omap44xx_l4_abe_hwmod, | 4608 | .master = &omap44xx_l4_abe_hwmod, |
5951 | .slave = &omap44xx_timer6_hwmod, | 4609 | .slave = &omap44xx_timer6_hwmod, |
5952 | .clk = "ocp_abe_iclk", | 4610 | .clk = "ocp_abe_iclk", |
5953 | .addr = omap44xx_timer6_dma_addrs, | ||
5954 | .user = OCP_USER_SDMA, | 4611 | .user = OCP_USER_SDMA, |
5955 | }; | 4612 | }; |
5956 | 4613 | ||
5957 | static struct omap_hwmod_addr_space omap44xx_timer7_addrs[] = { | ||
5958 | { | ||
5959 | .pa_start = 0x4013c000, | ||
5960 | .pa_end = 0x4013c07f, | ||
5961 | .flags = ADDR_TYPE_RT | ||
5962 | }, | ||
5963 | { } | ||
5964 | }; | ||
5965 | |||
5966 | /* l4_abe -> timer7 */ | 4614 | /* l4_abe -> timer7 */ |
5967 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7 = { | 4615 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7 = { |
5968 | .master = &omap44xx_l4_abe_hwmod, | 4616 | .master = &omap44xx_l4_abe_hwmod, |
5969 | .slave = &omap44xx_timer7_hwmod, | 4617 | .slave = &omap44xx_timer7_hwmod, |
5970 | .clk = "ocp_abe_iclk", | 4618 | .clk = "ocp_abe_iclk", |
5971 | .addr = omap44xx_timer7_addrs, | ||
5972 | .user = OCP_USER_MPU, | 4619 | .user = OCP_USER_MPU, |
5973 | }; | 4620 | }; |
5974 | 4621 | ||
5975 | static struct omap_hwmod_addr_space omap44xx_timer7_dma_addrs[] = { | ||
5976 | { | ||
5977 | .pa_start = 0x4903c000, | ||
5978 | .pa_end = 0x4903c07f, | ||
5979 | .flags = ADDR_TYPE_RT | ||
5980 | }, | ||
5981 | { } | ||
5982 | }; | ||
5983 | |||
5984 | /* l4_abe -> timer7 (dma) */ | 4622 | /* l4_abe -> timer7 (dma) */ |
5985 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7_dma = { | 4623 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7_dma = { |
5986 | .master = &omap44xx_l4_abe_hwmod, | 4624 | .master = &omap44xx_l4_abe_hwmod, |
5987 | .slave = &omap44xx_timer7_hwmod, | 4625 | .slave = &omap44xx_timer7_hwmod, |
5988 | .clk = "ocp_abe_iclk", | 4626 | .clk = "ocp_abe_iclk", |
5989 | .addr = omap44xx_timer7_dma_addrs, | ||
5990 | .user = OCP_USER_SDMA, | 4627 | .user = OCP_USER_SDMA, |
5991 | }; | 4628 | }; |
5992 | 4629 | ||
5993 | static struct omap_hwmod_addr_space omap44xx_timer8_addrs[] = { | ||
5994 | { | ||
5995 | .pa_start = 0x4013e000, | ||
5996 | .pa_end = 0x4013e07f, | ||
5997 | .flags = ADDR_TYPE_RT | ||
5998 | }, | ||
5999 | { } | ||
6000 | }; | ||
6001 | |||
6002 | /* l4_abe -> timer8 */ | 4630 | /* l4_abe -> timer8 */ |
6003 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8 = { | 4631 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8 = { |
6004 | .master = &omap44xx_l4_abe_hwmod, | 4632 | .master = &omap44xx_l4_abe_hwmod, |
6005 | .slave = &omap44xx_timer8_hwmod, | 4633 | .slave = &omap44xx_timer8_hwmod, |
6006 | .clk = "ocp_abe_iclk", | 4634 | .clk = "ocp_abe_iclk", |
6007 | .addr = omap44xx_timer8_addrs, | ||
6008 | .user = OCP_USER_MPU, | 4635 | .user = OCP_USER_MPU, |
6009 | }; | 4636 | }; |
6010 | 4637 | ||
6011 | static struct omap_hwmod_addr_space omap44xx_timer8_dma_addrs[] = { | ||
6012 | { | ||
6013 | .pa_start = 0x4903e000, | ||
6014 | .pa_end = 0x4903e07f, | ||
6015 | .flags = ADDR_TYPE_RT | ||
6016 | }, | ||
6017 | { } | ||
6018 | }; | ||
6019 | |||
6020 | /* l4_abe -> timer8 (dma) */ | 4638 | /* l4_abe -> timer8 (dma) */ |
6021 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8_dma = { | 4639 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8_dma = { |
6022 | .master = &omap44xx_l4_abe_hwmod, | 4640 | .master = &omap44xx_l4_abe_hwmod, |
6023 | .slave = &omap44xx_timer8_hwmod, | 4641 | .slave = &omap44xx_timer8_hwmod, |
6024 | .clk = "ocp_abe_iclk", | 4642 | .clk = "ocp_abe_iclk", |
6025 | .addr = omap44xx_timer8_dma_addrs, | ||
6026 | .user = OCP_USER_SDMA, | 4643 | .user = OCP_USER_SDMA, |
6027 | }; | 4644 | }; |
6028 | 4645 | ||
6029 | static struct omap_hwmod_addr_space omap44xx_timer9_addrs[] = { | ||
6030 | { | ||
6031 | .pa_start = 0x4803e000, | ||
6032 | .pa_end = 0x4803e07f, | ||
6033 | .flags = ADDR_TYPE_RT | ||
6034 | }, | ||
6035 | { } | ||
6036 | }; | ||
6037 | |||
6038 | /* l4_per -> timer9 */ | 4646 | /* l4_per -> timer9 */ |
6039 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer9 = { | 4647 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer9 = { |
6040 | .master = &omap44xx_l4_per_hwmod, | 4648 | .master = &omap44xx_l4_per_hwmod, |
6041 | .slave = &omap44xx_timer9_hwmod, | 4649 | .slave = &omap44xx_timer9_hwmod, |
6042 | .clk = "l4_div_ck", | 4650 | .clk = "l4_div_ck", |
6043 | .addr = omap44xx_timer9_addrs, | ||
6044 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4651 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6045 | }; | 4652 | }; |
6046 | 4653 | ||
6047 | static struct omap_hwmod_addr_space omap44xx_timer10_addrs[] = { | ||
6048 | { | ||
6049 | .pa_start = 0x48086000, | ||
6050 | .pa_end = 0x4808607f, | ||
6051 | .flags = ADDR_TYPE_RT | ||
6052 | }, | ||
6053 | { } | ||
6054 | }; | ||
6055 | |||
6056 | /* l4_per -> timer10 */ | 4654 | /* l4_per -> timer10 */ |
6057 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer10 = { | 4655 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer10 = { |
6058 | .master = &omap44xx_l4_per_hwmod, | 4656 | .master = &omap44xx_l4_per_hwmod, |
6059 | .slave = &omap44xx_timer10_hwmod, | 4657 | .slave = &omap44xx_timer10_hwmod, |
6060 | .clk = "l4_div_ck", | 4658 | .clk = "l4_div_ck", |
6061 | .addr = omap44xx_timer10_addrs, | ||
6062 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4659 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6063 | }; | 4660 | }; |
6064 | 4661 | ||
6065 | static struct omap_hwmod_addr_space omap44xx_timer11_addrs[] = { | ||
6066 | { | ||
6067 | .pa_start = 0x48088000, | ||
6068 | .pa_end = 0x4808807f, | ||
6069 | .flags = ADDR_TYPE_RT | ||
6070 | }, | ||
6071 | { } | ||
6072 | }; | ||
6073 | |||
6074 | /* l4_per -> timer11 */ | 4662 | /* l4_per -> timer11 */ |
6075 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer11 = { | 4663 | static struct omap_hwmod_ocp_if omap44xx_l4_per__timer11 = { |
6076 | .master = &omap44xx_l4_per_hwmod, | 4664 | .master = &omap44xx_l4_per_hwmod, |
6077 | .slave = &omap44xx_timer11_hwmod, | 4665 | .slave = &omap44xx_timer11_hwmod, |
6078 | .clk = "l4_div_ck", | 4666 | .clk = "l4_div_ck", |
6079 | .addr = omap44xx_timer11_addrs, | ||
6080 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4667 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6081 | }; | 4668 | }; |
6082 | 4669 | ||
6083 | static struct omap_hwmod_addr_space omap44xx_uart1_addrs[] = { | ||
6084 | { | ||
6085 | .pa_start = 0x4806a000, | ||
6086 | .pa_end = 0x4806a0ff, | ||
6087 | .flags = ADDR_TYPE_RT | ||
6088 | }, | ||
6089 | { } | ||
6090 | }; | ||
6091 | |||
6092 | /* l4_per -> uart1 */ | 4670 | /* l4_per -> uart1 */ |
6093 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart1 = { | 4671 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart1 = { |
6094 | .master = &omap44xx_l4_per_hwmod, | 4672 | .master = &omap44xx_l4_per_hwmod, |
6095 | .slave = &omap44xx_uart1_hwmod, | 4673 | .slave = &omap44xx_uart1_hwmod, |
6096 | .clk = "l4_div_ck", | 4674 | .clk = "l4_div_ck", |
6097 | .addr = omap44xx_uart1_addrs, | ||
6098 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4675 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6099 | }; | 4676 | }; |
6100 | 4677 | ||
6101 | static struct omap_hwmod_addr_space omap44xx_uart2_addrs[] = { | ||
6102 | { | ||
6103 | .pa_start = 0x4806c000, | ||
6104 | .pa_end = 0x4806c0ff, | ||
6105 | .flags = ADDR_TYPE_RT | ||
6106 | }, | ||
6107 | { } | ||
6108 | }; | ||
6109 | |||
6110 | /* l4_per -> uart2 */ | 4678 | /* l4_per -> uart2 */ |
6111 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart2 = { | 4679 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart2 = { |
6112 | .master = &omap44xx_l4_per_hwmod, | 4680 | .master = &omap44xx_l4_per_hwmod, |
6113 | .slave = &omap44xx_uart2_hwmod, | 4681 | .slave = &omap44xx_uart2_hwmod, |
6114 | .clk = "l4_div_ck", | 4682 | .clk = "l4_div_ck", |
6115 | .addr = omap44xx_uart2_addrs, | ||
6116 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4683 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6117 | }; | 4684 | }; |
6118 | 4685 | ||
6119 | static struct omap_hwmod_addr_space omap44xx_uart3_addrs[] = { | ||
6120 | { | ||
6121 | .pa_start = 0x48020000, | ||
6122 | .pa_end = 0x480200ff, | ||
6123 | .flags = ADDR_TYPE_RT | ||
6124 | }, | ||
6125 | { } | ||
6126 | }; | ||
6127 | |||
6128 | /* l4_per -> uart3 */ | 4686 | /* l4_per -> uart3 */ |
6129 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart3 = { | 4687 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart3 = { |
6130 | .master = &omap44xx_l4_per_hwmod, | 4688 | .master = &omap44xx_l4_per_hwmod, |
6131 | .slave = &omap44xx_uart3_hwmod, | 4689 | .slave = &omap44xx_uart3_hwmod, |
6132 | .clk = "l4_div_ck", | 4690 | .clk = "l4_div_ck", |
6133 | .addr = omap44xx_uart3_addrs, | ||
6134 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4691 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6135 | }; | 4692 | }; |
6136 | 4693 | ||
6137 | static struct omap_hwmod_addr_space omap44xx_uart4_addrs[] = { | ||
6138 | { | ||
6139 | .pa_start = 0x4806e000, | ||
6140 | .pa_end = 0x4806e0ff, | ||
6141 | .flags = ADDR_TYPE_RT | ||
6142 | }, | ||
6143 | { } | ||
6144 | }; | ||
6145 | |||
6146 | /* l4_per -> uart4 */ | 4694 | /* l4_per -> uart4 */ |
6147 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart4 = { | 4695 | static struct omap_hwmod_ocp_if omap44xx_l4_per__uart4 = { |
6148 | .master = &omap44xx_l4_per_hwmod, | 4696 | .master = &omap44xx_l4_per_hwmod, |
6149 | .slave = &omap44xx_uart4_hwmod, | 4697 | .slave = &omap44xx_uart4_hwmod, |
6150 | .clk = "l4_div_ck", | 4698 | .clk = "l4_div_ck", |
6151 | .addr = omap44xx_uart4_addrs, | ||
6152 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4699 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6153 | }; | 4700 | }; |
6154 | 4701 | ||
6155 | static struct omap_hwmod_addr_space omap44xx_usb_host_fs_addrs[] = { | ||
6156 | { | ||
6157 | .pa_start = 0x4a0a9000, | ||
6158 | .pa_end = 0x4a0a93ff, | ||
6159 | .flags = ADDR_TYPE_RT | ||
6160 | }, | ||
6161 | { } | ||
6162 | }; | ||
6163 | |||
6164 | /* l4_cfg -> usb_host_fs */ | 4702 | /* l4_cfg -> usb_host_fs */ |
6165 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_cfg__usb_host_fs = { | 4703 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_cfg__usb_host_fs = { |
6166 | .master = &omap44xx_l4_cfg_hwmod, | 4704 | .master = &omap44xx_l4_cfg_hwmod, |
6167 | .slave = &omap44xx_usb_host_fs_hwmod, | 4705 | .slave = &omap44xx_usb_host_fs_hwmod, |
6168 | .clk = "l4_div_ck", | 4706 | .clk = "l4_div_ck", |
6169 | .addr = omap44xx_usb_host_fs_addrs, | ||
6170 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4707 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6171 | }; | 4708 | }; |
6172 | 4709 | ||
6173 | static struct omap_hwmod_addr_space omap44xx_usb_host_hs_addrs[] = { | ||
6174 | { | ||
6175 | .name = "uhh", | ||
6176 | .pa_start = 0x4a064000, | ||
6177 | .pa_end = 0x4a0647ff, | ||
6178 | .flags = ADDR_TYPE_RT | ||
6179 | }, | ||
6180 | { | ||
6181 | .name = "ohci", | ||
6182 | .pa_start = 0x4a064800, | ||
6183 | .pa_end = 0x4a064bff, | ||
6184 | }, | ||
6185 | { | ||
6186 | .name = "ehci", | ||
6187 | .pa_start = 0x4a064c00, | ||
6188 | .pa_end = 0x4a064fff, | ||
6189 | }, | ||
6190 | {} | ||
6191 | }; | ||
6192 | |||
6193 | /* l4_cfg -> usb_host_hs */ | 4710 | /* l4_cfg -> usb_host_hs */ |
6194 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = { | 4711 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = { |
6195 | .master = &omap44xx_l4_cfg_hwmod, | 4712 | .master = &omap44xx_l4_cfg_hwmod, |
6196 | .slave = &omap44xx_usb_host_hs_hwmod, | 4713 | .slave = &omap44xx_usb_host_hs_hwmod, |
6197 | .clk = "l4_div_ck", | 4714 | .clk = "l4_div_ck", |
6198 | .addr = omap44xx_usb_host_hs_addrs, | ||
6199 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4715 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6200 | }; | 4716 | }; |
6201 | 4717 | ||
6202 | static struct omap_hwmod_addr_space omap44xx_usb_otg_hs_addrs[] = { | ||
6203 | { | ||
6204 | .pa_start = 0x4a0ab000, | ||
6205 | .pa_end = 0x4a0ab7ff, | ||
6206 | .flags = ADDR_TYPE_RT | ||
6207 | }, | ||
6208 | { } | ||
6209 | }; | ||
6210 | |||
6211 | /* l4_cfg -> usb_otg_hs */ | 4718 | /* l4_cfg -> usb_otg_hs */ |
6212 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_otg_hs = { | 4719 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_otg_hs = { |
6213 | .master = &omap44xx_l4_cfg_hwmod, | 4720 | .master = &omap44xx_l4_cfg_hwmod, |
6214 | .slave = &omap44xx_usb_otg_hs_hwmod, | 4721 | .slave = &omap44xx_usb_otg_hs_hwmod, |
6215 | .clk = "l4_div_ck", | 4722 | .clk = "l4_div_ck", |
6216 | .addr = omap44xx_usb_otg_hs_addrs, | ||
6217 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4723 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6218 | }; | 4724 | }; |
6219 | 4725 | ||
6220 | static struct omap_hwmod_addr_space omap44xx_usb_tll_hs_addrs[] = { | ||
6221 | { | ||
6222 | .name = "tll", | ||
6223 | .pa_start = 0x4a062000, | ||
6224 | .pa_end = 0x4a063fff, | ||
6225 | .flags = ADDR_TYPE_RT | ||
6226 | }, | ||
6227 | {} | ||
6228 | }; | ||
6229 | |||
6230 | /* l4_cfg -> usb_tll_hs */ | 4726 | /* l4_cfg -> usb_tll_hs */ |
6231 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = { | 4727 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = { |
6232 | .master = &omap44xx_l4_cfg_hwmod, | 4728 | .master = &omap44xx_l4_cfg_hwmod, |
6233 | .slave = &omap44xx_usb_tll_hs_hwmod, | 4729 | .slave = &omap44xx_usb_tll_hs_hwmod, |
6234 | .clk = "l4_div_ck", | 4730 | .clk = "l4_div_ck", |
6235 | .addr = omap44xx_usb_tll_hs_addrs, | ||
6236 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4731 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6237 | }; | 4732 | }; |
6238 | 4733 | ||
6239 | static struct omap_hwmod_addr_space omap44xx_wd_timer2_addrs[] = { | ||
6240 | { | ||
6241 | .pa_start = 0x4a314000, | ||
6242 | .pa_end = 0x4a31407f, | ||
6243 | .flags = ADDR_TYPE_RT | ||
6244 | }, | ||
6245 | { } | ||
6246 | }; | ||
6247 | |||
6248 | /* l4_wkup -> wd_timer2 */ | 4734 | /* l4_wkup -> wd_timer2 */ |
6249 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__wd_timer2 = { | 4735 | static struct omap_hwmod_ocp_if omap44xx_l4_wkup__wd_timer2 = { |
6250 | .master = &omap44xx_l4_wkup_hwmod, | 4736 | .master = &omap44xx_l4_wkup_hwmod, |
6251 | .slave = &omap44xx_wd_timer2_hwmod, | 4737 | .slave = &omap44xx_wd_timer2_hwmod, |
6252 | .clk = "l4_wkup_clk_mux_ck", | 4738 | .clk = "l4_wkup_clk_mux_ck", |
6253 | .addr = omap44xx_wd_timer2_addrs, | ||
6254 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 4739 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
6255 | }; | 4740 | }; |
6256 | 4741 | ||
@@ -6290,14 +4775,25 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3_dma = { | |||
6290 | .user = OCP_USER_SDMA, | 4775 | .user = OCP_USER_SDMA, |
6291 | }; | 4776 | }; |
6292 | 4777 | ||
4778 | /* mpu -> emif1 */ | ||
4779 | static struct omap_hwmod_ocp_if omap44xx_mpu__emif1 = { | ||
4780 | .master = &omap44xx_mpu_hwmod, | ||
4781 | .slave = &omap44xx_emif1_hwmod, | ||
4782 | .clk = "l3_div_ck", | ||
4783 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4784 | }; | ||
4785 | |||
4786 | /* mpu -> emif2 */ | ||
4787 | static struct omap_hwmod_ocp_if omap44xx_mpu__emif2 = { | ||
4788 | .master = &omap44xx_mpu_hwmod, | ||
4789 | .slave = &omap44xx_emif2_hwmod, | ||
4790 | .clk = "l3_div_ck", | ||
4791 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
4792 | }; | ||
4793 | |||
6293 | static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | 4794 | static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { |
6294 | &omap44xx_c2c__c2c_target_fw, | ||
6295 | &omap44xx_l4_cfg__c2c_target_fw, | ||
6296 | &omap44xx_l3_main_1__dmm, | 4795 | &omap44xx_l3_main_1__dmm, |
6297 | &omap44xx_mpu__dmm, | 4796 | &omap44xx_mpu__dmm, |
6298 | &omap44xx_c2c__emif_fw, | ||
6299 | &omap44xx_dmm__emif_fw, | ||
6300 | &omap44xx_l4_cfg__emif_fw, | ||
6301 | &omap44xx_iva__l3_instr, | 4797 | &omap44xx_iva__l3_instr, |
6302 | &omap44xx_l3_main_3__l3_instr, | 4798 | &omap44xx_l3_main_3__l3_instr, |
6303 | &omap44xx_ocp_wp_noc__l3_instr, | 4799 | &omap44xx_ocp_wp_noc__l3_instr, |
@@ -6308,7 +4804,6 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
6308 | &omap44xx_mmc1__l3_main_1, | 4804 | &omap44xx_mmc1__l3_main_1, |
6309 | &omap44xx_mmc2__l3_main_1, | 4805 | &omap44xx_mmc2__l3_main_1, |
6310 | &omap44xx_mpu__l3_main_1, | 4806 | &omap44xx_mpu__l3_main_1, |
6311 | &omap44xx_c2c_target_fw__l3_main_2, | ||
6312 | &omap44xx_debugss__l3_main_2, | 4807 | &omap44xx_debugss__l3_main_2, |
6313 | &omap44xx_dma_system__l3_main_2, | 4808 | &omap44xx_dma_system__l3_main_2, |
6314 | &omap44xx_fdif__l3_main_2, | 4809 | &omap44xx_fdif__l3_main_2, |
@@ -6364,8 +4859,6 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
6364 | &omap44xx_l3_main_2__dss_venc, | 4859 | &omap44xx_l3_main_2__dss_venc, |
6365 | &omap44xx_l4_per__dss_venc, | 4860 | &omap44xx_l4_per__dss_venc, |
6366 | &omap44xx_l4_per__elm, | 4861 | &omap44xx_l4_per__elm, |
6367 | &omap44xx_emif_fw__emif1, | ||
6368 | &omap44xx_emif_fw__emif2, | ||
6369 | &omap44xx_l4_cfg__fdif, | 4862 | &omap44xx_l4_cfg__fdif, |
6370 | &omap44xx_l4_wkup__gpio1, | 4863 | &omap44xx_l4_wkup__gpio1, |
6371 | &omap44xx_l4_per__gpio2, | 4864 | &omap44xx_l4_per__gpio2, |
@@ -6450,6 +4943,8 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
6450 | &omap44xx_l4_wkup__wd_timer2, | 4943 | &omap44xx_l4_wkup__wd_timer2, |
6451 | &omap44xx_l4_abe__wd_timer3, | 4944 | &omap44xx_l4_abe__wd_timer3, |
6452 | &omap44xx_l4_abe__wd_timer3_dma, | 4945 | &omap44xx_l4_abe__wd_timer3_dma, |
4946 | &omap44xx_mpu__emif1, | ||
4947 | &omap44xx_mpu__emif2, | ||
6453 | NULL, | 4948 | NULL, |
6454 | }; | 4949 | }; |
6455 | 4950 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c new file mode 100644 index 000000000000..3c70f5c1860f --- /dev/null +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c | |||
@@ -0,0 +1,2151 @@ | |||
1 | /* | ||
2 | * Hardware modules present on the OMAP54xx chips | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley | ||
7 | * Benoit Cousson | ||
8 | * | ||
9 | * This file is automatically generated from the OMAP hardware databases. | ||
10 | * We respectfully ask that any modifications to this file be coordinated | ||
11 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
12 | * authors above to ensure that the autogeneration scripts are kept | ||
13 | * up-to-date with the file contents. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License version 2 as | ||
17 | * published by the Free Software Foundation. | ||
18 | */ | ||
19 | |||
20 | #include <linux/io.h> | ||
21 | #include <linux/platform_data/gpio-omap.h> | ||
22 | #include <linux/power/smartreflex.h> | ||
23 | #include <linux/i2c-omap.h> | ||
24 | |||
25 | #include <linux/omap-dma.h> | ||
26 | #include <linux/platform_data/spi-omap2-mcspi.h> | ||
27 | #include <linux/platform_data/asoc-ti-mcbsp.h> | ||
28 | #include <plat/dmtimer.h> | ||
29 | |||
30 | #include "omap_hwmod.h" | ||
31 | #include "omap_hwmod_common_data.h" | ||
32 | #include "cm1_54xx.h" | ||
33 | #include "cm2_54xx.h" | ||
34 | #include "prm54xx.h" | ||
35 | #include "prm-regbits-54xx.h" | ||
36 | #include "i2c.h" | ||
37 | #include "mmc.h" | ||
38 | #include "wd_timer.h" | ||
39 | |||
40 | /* Base offset for all OMAP5 interrupts external to MPUSS */ | ||
41 | #define OMAP54XX_IRQ_GIC_START 32 | ||
42 | |||
43 | /* Base offset for all OMAP5 dma requests */ | ||
44 | #define OMAP54XX_DMA_REQ_START 1 | ||
45 | |||
46 | |||
47 | /* | ||
48 | * IP blocks | ||
49 | */ | ||
50 | |||
51 | /* | ||
52 | * 'dmm' class | ||
53 | * instance(s): dmm | ||
54 | */ | ||
55 | static struct omap_hwmod_class omap54xx_dmm_hwmod_class = { | ||
56 | .name = "dmm", | ||
57 | }; | ||
58 | |||
59 | /* dmm */ | ||
60 | static struct omap_hwmod omap54xx_dmm_hwmod = { | ||
61 | .name = "dmm", | ||
62 | .class = &omap54xx_dmm_hwmod_class, | ||
63 | .clkdm_name = "emif_clkdm", | ||
64 | .prcm = { | ||
65 | .omap4 = { | ||
66 | .clkctrl_offs = OMAP54XX_CM_EMIF_DMM_CLKCTRL_OFFSET, | ||
67 | .context_offs = OMAP54XX_RM_EMIF_DMM_CONTEXT_OFFSET, | ||
68 | }, | ||
69 | }, | ||
70 | }; | ||
71 | |||
72 | /* | ||
73 | * 'l3' class | ||
74 | * instance(s): l3_instr, l3_main_1, l3_main_2, l3_main_3 | ||
75 | */ | ||
76 | static struct omap_hwmod_class omap54xx_l3_hwmod_class = { | ||
77 | .name = "l3", | ||
78 | }; | ||
79 | |||
80 | /* l3_instr */ | ||
81 | static struct omap_hwmod omap54xx_l3_instr_hwmod = { | ||
82 | .name = "l3_instr", | ||
83 | .class = &omap54xx_l3_hwmod_class, | ||
84 | .clkdm_name = "l3instr_clkdm", | ||
85 | .prcm = { | ||
86 | .omap4 = { | ||
87 | .clkctrl_offs = OMAP54XX_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET, | ||
88 | .context_offs = OMAP54XX_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET, | ||
89 | .modulemode = MODULEMODE_HWCTRL, | ||
90 | }, | ||
91 | }, | ||
92 | }; | ||
93 | |||
94 | /* l3_main_1 */ | ||
95 | static struct omap_hwmod omap54xx_l3_main_1_hwmod = { | ||
96 | .name = "l3_main_1", | ||
97 | .class = &omap54xx_l3_hwmod_class, | ||
98 | .clkdm_name = "l3main1_clkdm", | ||
99 | .prcm = { | ||
100 | .omap4 = { | ||
101 | .clkctrl_offs = OMAP54XX_CM_L3MAIN1_L3_MAIN_1_CLKCTRL_OFFSET, | ||
102 | .context_offs = OMAP54XX_RM_L3MAIN1_L3_MAIN_1_CONTEXT_OFFSET, | ||
103 | }, | ||
104 | }, | ||
105 | }; | ||
106 | |||
107 | /* l3_main_2 */ | ||
108 | static struct omap_hwmod omap54xx_l3_main_2_hwmod = { | ||
109 | .name = "l3_main_2", | ||
110 | .class = &omap54xx_l3_hwmod_class, | ||
111 | .clkdm_name = "l3main2_clkdm", | ||
112 | .prcm = { | ||
113 | .omap4 = { | ||
114 | .clkctrl_offs = OMAP54XX_CM_L3MAIN2_L3_MAIN_2_CLKCTRL_OFFSET, | ||
115 | .context_offs = OMAP54XX_RM_L3MAIN2_L3_MAIN_2_CONTEXT_OFFSET, | ||
116 | }, | ||
117 | }, | ||
118 | }; | ||
119 | |||
120 | /* l3_main_3 */ | ||
121 | static struct omap_hwmod omap54xx_l3_main_3_hwmod = { | ||
122 | .name = "l3_main_3", | ||
123 | .class = &omap54xx_l3_hwmod_class, | ||
124 | .clkdm_name = "l3instr_clkdm", | ||
125 | .prcm = { | ||
126 | .omap4 = { | ||
127 | .clkctrl_offs = OMAP54XX_CM_L3INSTR_L3_MAIN_3_CLKCTRL_OFFSET, | ||
128 | .context_offs = OMAP54XX_RM_L3INSTR_L3_MAIN_3_CONTEXT_OFFSET, | ||
129 | .modulemode = MODULEMODE_HWCTRL, | ||
130 | }, | ||
131 | }, | ||
132 | }; | ||
133 | |||
134 | /* | ||
135 | * 'l4' class | ||
136 | * instance(s): l4_abe, l4_cfg, l4_per, l4_wkup | ||
137 | */ | ||
138 | static struct omap_hwmod_class omap54xx_l4_hwmod_class = { | ||
139 | .name = "l4", | ||
140 | }; | ||
141 | |||
142 | /* l4_abe */ | ||
143 | static struct omap_hwmod omap54xx_l4_abe_hwmod = { | ||
144 | .name = "l4_abe", | ||
145 | .class = &omap54xx_l4_hwmod_class, | ||
146 | .clkdm_name = "abe_clkdm", | ||
147 | .prcm = { | ||
148 | .omap4 = { | ||
149 | .clkctrl_offs = OMAP54XX_CM_ABE_L4_ABE_CLKCTRL_OFFSET, | ||
150 | .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, | ||
151 | }, | ||
152 | }, | ||
153 | }; | ||
154 | |||
155 | /* l4_cfg */ | ||
156 | static struct omap_hwmod omap54xx_l4_cfg_hwmod = { | ||
157 | .name = "l4_cfg", | ||
158 | .class = &omap54xx_l4_hwmod_class, | ||
159 | .clkdm_name = "l4cfg_clkdm", | ||
160 | .prcm = { | ||
161 | .omap4 = { | ||
162 | .clkctrl_offs = OMAP54XX_CM_L4CFG_L4_CFG_CLKCTRL_OFFSET, | ||
163 | .context_offs = OMAP54XX_RM_L4CFG_L4_CFG_CONTEXT_OFFSET, | ||
164 | }, | ||
165 | }, | ||
166 | }; | ||
167 | |||
168 | /* l4_per */ | ||
169 | static struct omap_hwmod omap54xx_l4_per_hwmod = { | ||
170 | .name = "l4_per", | ||
171 | .class = &omap54xx_l4_hwmod_class, | ||
172 | .clkdm_name = "l4per_clkdm", | ||
173 | .prcm = { | ||
174 | .omap4 = { | ||
175 | .clkctrl_offs = OMAP54XX_CM_L4PER_L4_PER_CLKCTRL_OFFSET, | ||
176 | .context_offs = OMAP54XX_RM_L4PER_L4_PER_CONTEXT_OFFSET, | ||
177 | }, | ||
178 | }, | ||
179 | }; | ||
180 | |||
181 | /* l4_wkup */ | ||
182 | static struct omap_hwmod omap54xx_l4_wkup_hwmod = { | ||
183 | .name = "l4_wkup", | ||
184 | .class = &omap54xx_l4_hwmod_class, | ||
185 | .clkdm_name = "wkupaon_clkdm", | ||
186 | .prcm = { | ||
187 | .omap4 = { | ||
188 | .clkctrl_offs = OMAP54XX_CM_WKUPAON_L4_WKUP_CLKCTRL_OFFSET, | ||
189 | .context_offs = OMAP54XX_RM_WKUPAON_L4_WKUP_CONTEXT_OFFSET, | ||
190 | }, | ||
191 | }, | ||
192 | }; | ||
193 | |||
194 | /* | ||
195 | * 'mpu_bus' class | ||
196 | * instance(s): mpu_private | ||
197 | */ | ||
198 | static struct omap_hwmod_class omap54xx_mpu_bus_hwmod_class = { | ||
199 | .name = "mpu_bus", | ||
200 | }; | ||
201 | |||
202 | /* mpu_private */ | ||
203 | static struct omap_hwmod omap54xx_mpu_private_hwmod = { | ||
204 | .name = "mpu_private", | ||
205 | .class = &omap54xx_mpu_bus_hwmod_class, | ||
206 | .clkdm_name = "mpu_clkdm", | ||
207 | .prcm = { | ||
208 | .omap4 = { | ||
209 | .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, | ||
210 | }, | ||
211 | }, | ||
212 | }; | ||
213 | |||
214 | /* | ||
215 | * 'counter' class | ||
216 | * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock | ||
217 | */ | ||
218 | |||
219 | static struct omap_hwmod_class_sysconfig omap54xx_counter_sysc = { | ||
220 | .rev_offs = 0x0000, | ||
221 | .sysc_offs = 0x0010, | ||
222 | .sysc_flags = SYSC_HAS_SIDLEMODE, | ||
223 | .idlemodes = (SIDLE_FORCE | SIDLE_NO), | ||
224 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
225 | }; | ||
226 | |||
227 | static struct omap_hwmod_class omap54xx_counter_hwmod_class = { | ||
228 | .name = "counter", | ||
229 | .sysc = &omap54xx_counter_sysc, | ||
230 | }; | ||
231 | |||
232 | /* counter_32k */ | ||
233 | static struct omap_hwmod omap54xx_counter_32k_hwmod = { | ||
234 | .name = "counter_32k", | ||
235 | .class = &omap54xx_counter_hwmod_class, | ||
236 | .clkdm_name = "wkupaon_clkdm", | ||
237 | .flags = HWMOD_SWSUP_SIDLE, | ||
238 | .main_clk = "wkupaon_iclk_mux", | ||
239 | .prcm = { | ||
240 | .omap4 = { | ||
241 | .clkctrl_offs = OMAP54XX_CM_WKUPAON_COUNTER_32K_CLKCTRL_OFFSET, | ||
242 | .context_offs = OMAP54XX_RM_WKUPAON_COUNTER_32K_CONTEXT_OFFSET, | ||
243 | }, | ||
244 | }, | ||
245 | }; | ||
246 | |||
247 | /* | ||
248 | * 'dma' class | ||
249 | * dma controller for data exchange between memory to memory (i.e. internal or | ||
250 | * external memory) and gp peripherals to memory or memory to gp peripherals | ||
251 | */ | ||
252 | |||
253 | static struct omap_hwmod_class_sysconfig omap54xx_dma_sysc = { | ||
254 | .rev_offs = 0x0000, | ||
255 | .sysc_offs = 0x002c, | ||
256 | .syss_offs = 0x0028, | ||
257 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | | ||
258 | SYSC_HAS_EMUFREE | SYSC_HAS_MIDLEMODE | | ||
259 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | | ||
260 | SYSS_HAS_RESET_STATUS), | ||
261 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
262 | MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), | ||
263 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
264 | }; | ||
265 | |||
266 | static struct omap_hwmod_class omap54xx_dma_hwmod_class = { | ||
267 | .name = "dma", | ||
268 | .sysc = &omap54xx_dma_sysc, | ||
269 | }; | ||
270 | |||
271 | /* dma dev_attr */ | ||
272 | static struct omap_dma_dev_attr dma_dev_attr = { | ||
273 | .dev_caps = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY | | ||
274 | IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY, | ||
275 | .lch_count = 32, | ||
276 | }; | ||
277 | |||
278 | /* dma_system */ | ||
279 | static struct omap_hwmod_irq_info omap54xx_dma_system_irqs[] = { | ||
280 | { .name = "0", .irq = 12 + OMAP54XX_IRQ_GIC_START }, | ||
281 | { .name = "1", .irq = 13 + OMAP54XX_IRQ_GIC_START }, | ||
282 | { .name = "2", .irq = 14 + OMAP54XX_IRQ_GIC_START }, | ||
283 | { .name = "3", .irq = 15 + OMAP54XX_IRQ_GIC_START }, | ||
284 | { .irq = -1 } | ||
285 | }; | ||
286 | |||
287 | static struct omap_hwmod omap54xx_dma_system_hwmod = { | ||
288 | .name = "dma_system", | ||
289 | .class = &omap54xx_dma_hwmod_class, | ||
290 | .clkdm_name = "dma_clkdm", | ||
291 | .mpu_irqs = omap54xx_dma_system_irqs, | ||
292 | .main_clk = "l3_iclk_div", | ||
293 | .prcm = { | ||
294 | .omap4 = { | ||
295 | .clkctrl_offs = OMAP54XX_CM_DMA_DMA_SYSTEM_CLKCTRL_OFFSET, | ||
296 | .context_offs = OMAP54XX_RM_DMA_DMA_SYSTEM_CONTEXT_OFFSET, | ||
297 | }, | ||
298 | }, | ||
299 | .dev_attr = &dma_dev_attr, | ||
300 | }; | ||
301 | |||
302 | /* | ||
303 | * 'dmic' class | ||
304 | * digital microphone controller | ||
305 | */ | ||
306 | |||
307 | static struct omap_hwmod_class_sysconfig omap54xx_dmic_sysc = { | ||
308 | .rev_offs = 0x0000, | ||
309 | .sysc_offs = 0x0010, | ||
310 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | | ||
311 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
312 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
313 | SIDLE_SMART_WKUP), | ||
314 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
315 | }; | ||
316 | |||
317 | static struct omap_hwmod_class omap54xx_dmic_hwmod_class = { | ||
318 | .name = "dmic", | ||
319 | .sysc = &omap54xx_dmic_sysc, | ||
320 | }; | ||
321 | |||
322 | /* dmic */ | ||
323 | static struct omap_hwmod omap54xx_dmic_hwmod = { | ||
324 | .name = "dmic", | ||
325 | .class = &omap54xx_dmic_hwmod_class, | ||
326 | .clkdm_name = "abe_clkdm", | ||
327 | .main_clk = "dmic_gfclk", | ||
328 | .prcm = { | ||
329 | .omap4 = { | ||
330 | .clkctrl_offs = OMAP54XX_CM_ABE_DMIC_CLKCTRL_OFFSET, | ||
331 | .context_offs = OMAP54XX_RM_ABE_DMIC_CONTEXT_OFFSET, | ||
332 | .modulemode = MODULEMODE_SWCTRL, | ||
333 | }, | ||
334 | }, | ||
335 | }; | ||
336 | |||
337 | /* | ||
338 | * 'emif' class | ||
339 | * external memory interface no1 (wrapper) | ||
340 | */ | ||
341 | |||
342 | static struct omap_hwmod_class_sysconfig omap54xx_emif_sysc = { | ||
343 | .rev_offs = 0x0000, | ||
344 | }; | ||
345 | |||
346 | static struct omap_hwmod_class omap54xx_emif_hwmod_class = { | ||
347 | .name = "emif", | ||
348 | .sysc = &omap54xx_emif_sysc, | ||
349 | }; | ||
350 | |||
351 | /* emif1 */ | ||
352 | static struct omap_hwmod omap54xx_emif1_hwmod = { | ||
353 | .name = "emif1", | ||
354 | .class = &omap54xx_emif_hwmod_class, | ||
355 | .clkdm_name = "emif_clkdm", | ||
356 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | ||
357 | .main_clk = "dpll_core_h11x2_ck", | ||
358 | .prcm = { | ||
359 | .omap4 = { | ||
360 | .clkctrl_offs = OMAP54XX_CM_EMIF_EMIF1_CLKCTRL_OFFSET, | ||
361 | .context_offs = OMAP54XX_RM_EMIF_EMIF1_CONTEXT_OFFSET, | ||
362 | .modulemode = MODULEMODE_HWCTRL, | ||
363 | }, | ||
364 | }, | ||
365 | }; | ||
366 | |||
367 | /* emif2 */ | ||
368 | static struct omap_hwmod omap54xx_emif2_hwmod = { | ||
369 | .name = "emif2", | ||
370 | .class = &omap54xx_emif_hwmod_class, | ||
371 | .clkdm_name = "emif_clkdm", | ||
372 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | ||
373 | .main_clk = "dpll_core_h11x2_ck", | ||
374 | .prcm = { | ||
375 | .omap4 = { | ||
376 | .clkctrl_offs = OMAP54XX_CM_EMIF_EMIF2_CLKCTRL_OFFSET, | ||
377 | .context_offs = OMAP54XX_RM_EMIF_EMIF2_CONTEXT_OFFSET, | ||
378 | .modulemode = MODULEMODE_HWCTRL, | ||
379 | }, | ||
380 | }, | ||
381 | }; | ||
382 | |||
383 | /* | ||
384 | * 'gpio' class | ||
385 | * general purpose io module | ||
386 | */ | ||
387 | |||
388 | static struct omap_hwmod_class_sysconfig omap54xx_gpio_sysc = { | ||
389 | .rev_offs = 0x0000, | ||
390 | .sysc_offs = 0x0010, | ||
391 | .syss_offs = 0x0114, | ||
392 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP | | ||
393 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | | ||
394 | SYSS_HAS_RESET_STATUS), | ||
395 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
396 | SIDLE_SMART_WKUP), | ||
397 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
398 | }; | ||
399 | |||
400 | static struct omap_hwmod_class omap54xx_gpio_hwmod_class = { | ||
401 | .name = "gpio", | ||
402 | .sysc = &omap54xx_gpio_sysc, | ||
403 | .rev = 2, | ||
404 | }; | ||
405 | |||
406 | /* gpio dev_attr */ | ||
407 | static struct omap_gpio_dev_attr gpio_dev_attr = { | ||
408 | .bank_width = 32, | ||
409 | .dbck_flag = true, | ||
410 | }; | ||
411 | |||
412 | /* gpio1 */ | ||
413 | static struct omap_hwmod_opt_clk gpio1_opt_clks[] = { | ||
414 | { .role = "dbclk", .clk = "gpio1_dbclk" }, | ||
415 | }; | ||
416 | |||
417 | static struct omap_hwmod omap54xx_gpio1_hwmod = { | ||
418 | .name = "gpio1", | ||
419 | .class = &omap54xx_gpio_hwmod_class, | ||
420 | .clkdm_name = "wkupaon_clkdm", | ||
421 | .main_clk = "wkupaon_iclk_mux", | ||
422 | .prcm = { | ||
423 | .omap4 = { | ||
424 | .clkctrl_offs = OMAP54XX_CM_WKUPAON_GPIO1_CLKCTRL_OFFSET, | ||
425 | .context_offs = OMAP54XX_RM_WKUPAON_GPIO1_CONTEXT_OFFSET, | ||
426 | .modulemode = MODULEMODE_HWCTRL, | ||
427 | }, | ||
428 | }, | ||
429 | .opt_clks = gpio1_opt_clks, | ||
430 | .opt_clks_cnt = ARRAY_SIZE(gpio1_opt_clks), | ||
431 | .dev_attr = &gpio_dev_attr, | ||
432 | }; | ||
433 | |||
434 | /* gpio2 */ | ||
435 | static struct omap_hwmod_opt_clk gpio2_opt_clks[] = { | ||
436 | { .role = "dbclk", .clk = "gpio2_dbclk" }, | ||
437 | }; | ||
438 | |||
439 | static struct omap_hwmod omap54xx_gpio2_hwmod = { | ||
440 | .name = "gpio2", | ||
441 | .class = &omap54xx_gpio_hwmod_class, | ||
442 | .clkdm_name = "l4per_clkdm", | ||
443 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
444 | .main_clk = "l4_root_clk_div", | ||
445 | .prcm = { | ||
446 | .omap4 = { | ||
447 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO2_CLKCTRL_OFFSET, | ||
448 | .context_offs = OMAP54XX_RM_L4PER_GPIO2_CONTEXT_OFFSET, | ||
449 | .modulemode = MODULEMODE_HWCTRL, | ||
450 | }, | ||
451 | }, | ||
452 | .opt_clks = gpio2_opt_clks, | ||
453 | .opt_clks_cnt = ARRAY_SIZE(gpio2_opt_clks), | ||
454 | .dev_attr = &gpio_dev_attr, | ||
455 | }; | ||
456 | |||
457 | /* gpio3 */ | ||
458 | static struct omap_hwmod_opt_clk gpio3_opt_clks[] = { | ||
459 | { .role = "dbclk", .clk = "gpio3_dbclk" }, | ||
460 | }; | ||
461 | |||
462 | static struct omap_hwmod omap54xx_gpio3_hwmod = { | ||
463 | .name = "gpio3", | ||
464 | .class = &omap54xx_gpio_hwmod_class, | ||
465 | .clkdm_name = "l4per_clkdm", | ||
466 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
467 | .main_clk = "l4_root_clk_div", | ||
468 | .prcm = { | ||
469 | .omap4 = { | ||
470 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO3_CLKCTRL_OFFSET, | ||
471 | .context_offs = OMAP54XX_RM_L4PER_GPIO3_CONTEXT_OFFSET, | ||
472 | .modulemode = MODULEMODE_HWCTRL, | ||
473 | }, | ||
474 | }, | ||
475 | .opt_clks = gpio3_opt_clks, | ||
476 | .opt_clks_cnt = ARRAY_SIZE(gpio3_opt_clks), | ||
477 | .dev_attr = &gpio_dev_attr, | ||
478 | }; | ||
479 | |||
480 | /* gpio4 */ | ||
481 | static struct omap_hwmod_opt_clk gpio4_opt_clks[] = { | ||
482 | { .role = "dbclk", .clk = "gpio4_dbclk" }, | ||
483 | }; | ||
484 | |||
485 | static struct omap_hwmod omap54xx_gpio4_hwmod = { | ||
486 | .name = "gpio4", | ||
487 | .class = &omap54xx_gpio_hwmod_class, | ||
488 | .clkdm_name = "l4per_clkdm", | ||
489 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
490 | .main_clk = "l4_root_clk_div", | ||
491 | .prcm = { | ||
492 | .omap4 = { | ||
493 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO4_CLKCTRL_OFFSET, | ||
494 | .context_offs = OMAP54XX_RM_L4PER_GPIO4_CONTEXT_OFFSET, | ||
495 | .modulemode = MODULEMODE_HWCTRL, | ||
496 | }, | ||
497 | }, | ||
498 | .opt_clks = gpio4_opt_clks, | ||
499 | .opt_clks_cnt = ARRAY_SIZE(gpio4_opt_clks), | ||
500 | .dev_attr = &gpio_dev_attr, | ||
501 | }; | ||
502 | |||
503 | /* gpio5 */ | ||
504 | static struct omap_hwmod_opt_clk gpio5_opt_clks[] = { | ||
505 | { .role = "dbclk", .clk = "gpio5_dbclk" }, | ||
506 | }; | ||
507 | |||
508 | static struct omap_hwmod omap54xx_gpio5_hwmod = { | ||
509 | .name = "gpio5", | ||
510 | .class = &omap54xx_gpio_hwmod_class, | ||
511 | .clkdm_name = "l4per_clkdm", | ||
512 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
513 | .main_clk = "l4_root_clk_div", | ||
514 | .prcm = { | ||
515 | .omap4 = { | ||
516 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO5_CLKCTRL_OFFSET, | ||
517 | .context_offs = OMAP54XX_RM_L4PER_GPIO5_CONTEXT_OFFSET, | ||
518 | .modulemode = MODULEMODE_HWCTRL, | ||
519 | }, | ||
520 | }, | ||
521 | .opt_clks = gpio5_opt_clks, | ||
522 | .opt_clks_cnt = ARRAY_SIZE(gpio5_opt_clks), | ||
523 | .dev_attr = &gpio_dev_attr, | ||
524 | }; | ||
525 | |||
526 | /* gpio6 */ | ||
527 | static struct omap_hwmod_opt_clk gpio6_opt_clks[] = { | ||
528 | { .role = "dbclk", .clk = "gpio6_dbclk" }, | ||
529 | }; | ||
530 | |||
531 | static struct omap_hwmod omap54xx_gpio6_hwmod = { | ||
532 | .name = "gpio6", | ||
533 | .class = &omap54xx_gpio_hwmod_class, | ||
534 | .clkdm_name = "l4per_clkdm", | ||
535 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
536 | .main_clk = "l4_root_clk_div", | ||
537 | .prcm = { | ||
538 | .omap4 = { | ||
539 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO6_CLKCTRL_OFFSET, | ||
540 | .context_offs = OMAP54XX_RM_L4PER_GPIO6_CONTEXT_OFFSET, | ||
541 | .modulemode = MODULEMODE_HWCTRL, | ||
542 | }, | ||
543 | }, | ||
544 | .opt_clks = gpio6_opt_clks, | ||
545 | .opt_clks_cnt = ARRAY_SIZE(gpio6_opt_clks), | ||
546 | .dev_attr = &gpio_dev_attr, | ||
547 | }; | ||
548 | |||
549 | /* gpio7 */ | ||
550 | static struct omap_hwmod_opt_clk gpio7_opt_clks[] = { | ||
551 | { .role = "dbclk", .clk = "gpio7_dbclk" }, | ||
552 | }; | ||
553 | |||
554 | static struct omap_hwmod omap54xx_gpio7_hwmod = { | ||
555 | .name = "gpio7", | ||
556 | .class = &omap54xx_gpio_hwmod_class, | ||
557 | .clkdm_name = "l4per_clkdm", | ||
558 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
559 | .main_clk = "l4_root_clk_div", | ||
560 | .prcm = { | ||
561 | .omap4 = { | ||
562 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO7_CLKCTRL_OFFSET, | ||
563 | .context_offs = OMAP54XX_RM_L4PER_GPIO7_CONTEXT_OFFSET, | ||
564 | .modulemode = MODULEMODE_HWCTRL, | ||
565 | }, | ||
566 | }, | ||
567 | .opt_clks = gpio7_opt_clks, | ||
568 | .opt_clks_cnt = ARRAY_SIZE(gpio7_opt_clks), | ||
569 | .dev_attr = &gpio_dev_attr, | ||
570 | }; | ||
571 | |||
572 | /* gpio8 */ | ||
573 | static struct omap_hwmod_opt_clk gpio8_opt_clks[] = { | ||
574 | { .role = "dbclk", .clk = "gpio8_dbclk" }, | ||
575 | }; | ||
576 | |||
577 | static struct omap_hwmod omap54xx_gpio8_hwmod = { | ||
578 | .name = "gpio8", | ||
579 | .class = &omap54xx_gpio_hwmod_class, | ||
580 | .clkdm_name = "l4per_clkdm", | ||
581 | .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, | ||
582 | .main_clk = "l4_root_clk_div", | ||
583 | .prcm = { | ||
584 | .omap4 = { | ||
585 | .clkctrl_offs = OMAP54XX_CM_L4PER_GPIO8_CLKCTRL_OFFSET, | ||
586 | .context_offs = OMAP54XX_RM_L4PER_GPIO8_CONTEXT_OFFSET, | ||
587 | .modulemode = MODULEMODE_HWCTRL, | ||
588 | }, | ||
589 | }, | ||
590 | .opt_clks = gpio8_opt_clks, | ||
591 | .opt_clks_cnt = ARRAY_SIZE(gpio8_opt_clks), | ||
592 | .dev_attr = &gpio_dev_attr, | ||
593 | }; | ||
594 | |||
595 | /* | ||
596 | * 'i2c' class | ||
597 | * multimaster high-speed i2c controller | ||
598 | */ | ||
599 | |||
600 | static struct omap_hwmod_class_sysconfig omap54xx_i2c_sysc = { | ||
601 | .sysc_offs = 0x0010, | ||
602 | .syss_offs = 0x0090, | ||
603 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | | ||
604 | SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | | ||
605 | SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), | ||
606 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
607 | SIDLE_SMART_WKUP), | ||
608 | .clockact = CLOCKACT_TEST_ICLK, | ||
609 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
610 | }; | ||
611 | |||
612 | static struct omap_hwmod_class omap54xx_i2c_hwmod_class = { | ||
613 | .name = "i2c", | ||
614 | .sysc = &omap54xx_i2c_sysc, | ||
615 | .reset = &omap_i2c_reset, | ||
616 | .rev = OMAP_I2C_IP_VERSION_2, | ||
617 | }; | ||
618 | |||
619 | /* i2c dev_attr */ | ||
620 | static struct omap_i2c_dev_attr i2c_dev_attr = { | ||
621 | .flags = OMAP_I2C_FLAG_BUS_SHIFT_NONE, | ||
622 | }; | ||
623 | |||
624 | /* i2c1 */ | ||
625 | static struct omap_hwmod omap54xx_i2c1_hwmod = { | ||
626 | .name = "i2c1", | ||
627 | .class = &omap54xx_i2c_hwmod_class, | ||
628 | .clkdm_name = "l4per_clkdm", | ||
629 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | ||
630 | .main_clk = "func_96m_fclk", | ||
631 | .prcm = { | ||
632 | .omap4 = { | ||
633 | .clkctrl_offs = OMAP54XX_CM_L4PER_I2C1_CLKCTRL_OFFSET, | ||
634 | .context_offs = OMAP54XX_RM_L4PER_I2C1_CONTEXT_OFFSET, | ||
635 | .modulemode = MODULEMODE_SWCTRL, | ||
636 | }, | ||
637 | }, | ||
638 | .dev_attr = &i2c_dev_attr, | ||
639 | }; | ||
640 | |||
641 | /* i2c2 */ | ||
642 | static struct omap_hwmod omap54xx_i2c2_hwmod = { | ||
643 | .name = "i2c2", | ||
644 | .class = &omap54xx_i2c_hwmod_class, | ||
645 | .clkdm_name = "l4per_clkdm", | ||
646 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | ||
647 | .main_clk = "func_96m_fclk", | ||
648 | .prcm = { | ||
649 | .omap4 = { | ||
650 | .clkctrl_offs = OMAP54XX_CM_L4PER_I2C2_CLKCTRL_OFFSET, | ||
651 | .context_offs = OMAP54XX_RM_L4PER_I2C2_CONTEXT_OFFSET, | ||
652 | .modulemode = MODULEMODE_SWCTRL, | ||
653 | }, | ||
654 | }, | ||
655 | .dev_attr = &i2c_dev_attr, | ||
656 | }; | ||
657 | |||
658 | /* i2c3 */ | ||
659 | static struct omap_hwmod omap54xx_i2c3_hwmod = { | ||
660 | .name = "i2c3", | ||
661 | .class = &omap54xx_i2c_hwmod_class, | ||
662 | .clkdm_name = "l4per_clkdm", | ||
663 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | ||
664 | .main_clk = "func_96m_fclk", | ||
665 | .prcm = { | ||
666 | .omap4 = { | ||
667 | .clkctrl_offs = OMAP54XX_CM_L4PER_I2C3_CLKCTRL_OFFSET, | ||
668 | .context_offs = OMAP54XX_RM_L4PER_I2C3_CONTEXT_OFFSET, | ||
669 | .modulemode = MODULEMODE_SWCTRL, | ||
670 | }, | ||
671 | }, | ||
672 | .dev_attr = &i2c_dev_attr, | ||
673 | }; | ||
674 | |||
675 | /* i2c4 */ | ||
676 | static struct omap_hwmod omap54xx_i2c4_hwmod = { | ||
677 | .name = "i2c4", | ||
678 | .class = &omap54xx_i2c_hwmod_class, | ||
679 | .clkdm_name = "l4per_clkdm", | ||
680 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | ||
681 | .main_clk = "func_96m_fclk", | ||
682 | .prcm = { | ||
683 | .omap4 = { | ||
684 | .clkctrl_offs = OMAP54XX_CM_L4PER_I2C4_CLKCTRL_OFFSET, | ||
685 | .context_offs = OMAP54XX_RM_L4PER_I2C4_CONTEXT_OFFSET, | ||
686 | .modulemode = MODULEMODE_SWCTRL, | ||
687 | }, | ||
688 | }, | ||
689 | .dev_attr = &i2c_dev_attr, | ||
690 | }; | ||
691 | |||
692 | /* i2c5 */ | ||
693 | static struct omap_hwmod omap54xx_i2c5_hwmod = { | ||
694 | .name = "i2c5", | ||
695 | .class = &omap54xx_i2c_hwmod_class, | ||
696 | .clkdm_name = "l4per_clkdm", | ||
697 | .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT, | ||
698 | .main_clk = "func_96m_fclk", | ||
699 | .prcm = { | ||
700 | .omap4 = { | ||
701 | .clkctrl_offs = OMAP54XX_CM_L4PER_I2C5_CLKCTRL_OFFSET, | ||
702 | .context_offs = OMAP54XX_RM_L4PER_I2C5_CONTEXT_OFFSET, | ||
703 | .modulemode = MODULEMODE_SWCTRL, | ||
704 | }, | ||
705 | }, | ||
706 | .dev_attr = &i2c_dev_attr, | ||
707 | }; | ||
708 | |||
709 | /* | ||
710 | * 'kbd' class | ||
711 | * keyboard controller | ||
712 | */ | ||
713 | |||
714 | static struct omap_hwmod_class_sysconfig omap54xx_kbd_sysc = { | ||
715 | .rev_offs = 0x0000, | ||
716 | .sysc_offs = 0x0010, | ||
717 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SIDLEMODE | | ||
718 | SYSC_HAS_SOFTRESET), | ||
719 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), | ||
720 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
721 | }; | ||
722 | |||
723 | static struct omap_hwmod_class omap54xx_kbd_hwmod_class = { | ||
724 | .name = "kbd", | ||
725 | .sysc = &omap54xx_kbd_sysc, | ||
726 | }; | ||
727 | |||
728 | /* kbd */ | ||
729 | static struct omap_hwmod omap54xx_kbd_hwmod = { | ||
730 | .name = "kbd", | ||
731 | .class = &omap54xx_kbd_hwmod_class, | ||
732 | .clkdm_name = "wkupaon_clkdm", | ||
733 | .main_clk = "sys_32k_ck", | ||
734 | .prcm = { | ||
735 | .omap4 = { | ||
736 | .clkctrl_offs = OMAP54XX_CM_WKUPAON_KBD_CLKCTRL_OFFSET, | ||
737 | .context_offs = OMAP54XX_RM_WKUPAON_KBD_CONTEXT_OFFSET, | ||
738 | .modulemode = MODULEMODE_SWCTRL, | ||
739 | }, | ||
740 | }, | ||
741 | }; | ||
742 | |||
743 | /* | ||
744 | * 'mcbsp' class | ||
745 | * multi channel buffered serial port controller | ||
746 | */ | ||
747 | |||
748 | static struct omap_hwmod_class_sysconfig omap54xx_mcbsp_sysc = { | ||
749 | .sysc_offs = 0x008c, | ||
750 | .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_ENAWAKEUP | | ||
751 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
752 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), | ||
753 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
754 | }; | ||
755 | |||
756 | static struct omap_hwmod_class omap54xx_mcbsp_hwmod_class = { | ||
757 | .name = "mcbsp", | ||
758 | .sysc = &omap54xx_mcbsp_sysc, | ||
759 | .rev = MCBSP_CONFIG_TYPE4, | ||
760 | }; | ||
761 | |||
762 | /* mcbsp1 */ | ||
763 | static struct omap_hwmod_opt_clk mcbsp1_opt_clks[] = { | ||
764 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | ||
765 | { .role = "prcm_fck", .clk = "mcbsp1_sync_mux_ck" }, | ||
766 | }; | ||
767 | |||
768 | static struct omap_hwmod omap54xx_mcbsp1_hwmod = { | ||
769 | .name = "mcbsp1", | ||
770 | .class = &omap54xx_mcbsp_hwmod_class, | ||
771 | .clkdm_name = "abe_clkdm", | ||
772 | .main_clk = "mcbsp1_gfclk", | ||
773 | .prcm = { | ||
774 | .omap4 = { | ||
775 | .clkctrl_offs = OMAP54XX_CM_ABE_MCBSP1_CLKCTRL_OFFSET, | ||
776 | .context_offs = OMAP54XX_RM_ABE_MCBSP1_CONTEXT_OFFSET, | ||
777 | .modulemode = MODULEMODE_SWCTRL, | ||
778 | }, | ||
779 | }, | ||
780 | .opt_clks = mcbsp1_opt_clks, | ||
781 | .opt_clks_cnt = ARRAY_SIZE(mcbsp1_opt_clks), | ||
782 | }; | ||
783 | |||
784 | /* mcbsp2 */ | ||
785 | static struct omap_hwmod_opt_clk mcbsp2_opt_clks[] = { | ||
786 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | ||
787 | { .role = "prcm_fck", .clk = "mcbsp2_sync_mux_ck" }, | ||
788 | }; | ||
789 | |||
790 | static struct omap_hwmod omap54xx_mcbsp2_hwmod = { | ||
791 | .name = "mcbsp2", | ||
792 | .class = &omap54xx_mcbsp_hwmod_class, | ||
793 | .clkdm_name = "abe_clkdm", | ||
794 | .main_clk = "mcbsp2_gfclk", | ||
795 | .prcm = { | ||
796 | .omap4 = { | ||
797 | .clkctrl_offs = OMAP54XX_CM_ABE_MCBSP2_CLKCTRL_OFFSET, | ||
798 | .context_offs = OMAP54XX_RM_ABE_MCBSP2_CONTEXT_OFFSET, | ||
799 | .modulemode = MODULEMODE_SWCTRL, | ||
800 | }, | ||
801 | }, | ||
802 | .opt_clks = mcbsp2_opt_clks, | ||
803 | .opt_clks_cnt = ARRAY_SIZE(mcbsp2_opt_clks), | ||
804 | }; | ||
805 | |||
806 | /* mcbsp3 */ | ||
807 | static struct omap_hwmod_opt_clk mcbsp3_opt_clks[] = { | ||
808 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | ||
809 | { .role = "prcm_fck", .clk = "mcbsp3_sync_mux_ck" }, | ||
810 | }; | ||
811 | |||
812 | static struct omap_hwmod omap54xx_mcbsp3_hwmod = { | ||
813 | .name = "mcbsp3", | ||
814 | .class = &omap54xx_mcbsp_hwmod_class, | ||
815 | .clkdm_name = "abe_clkdm", | ||
816 | .main_clk = "mcbsp3_gfclk", | ||
817 | .prcm = { | ||
818 | .omap4 = { | ||
819 | .clkctrl_offs = OMAP54XX_CM_ABE_MCBSP3_CLKCTRL_OFFSET, | ||
820 | .context_offs = OMAP54XX_RM_ABE_MCBSP3_CONTEXT_OFFSET, | ||
821 | .modulemode = MODULEMODE_SWCTRL, | ||
822 | }, | ||
823 | }, | ||
824 | .opt_clks = mcbsp3_opt_clks, | ||
825 | .opt_clks_cnt = ARRAY_SIZE(mcbsp3_opt_clks), | ||
826 | }; | ||
827 | |||
828 | /* | ||
829 | * 'mcpdm' class | ||
830 | * multi channel pdm controller (proprietary interface with phoenix power | ||
831 | * ic) | ||
832 | */ | ||
833 | |||
834 | static struct omap_hwmod_class_sysconfig omap54xx_mcpdm_sysc = { | ||
835 | .rev_offs = 0x0000, | ||
836 | .sysc_offs = 0x0010, | ||
837 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | | ||
838 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
839 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
840 | SIDLE_SMART_WKUP), | ||
841 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
842 | }; | ||
843 | |||
844 | static struct omap_hwmod_class omap54xx_mcpdm_hwmod_class = { | ||
845 | .name = "mcpdm", | ||
846 | .sysc = &omap54xx_mcpdm_sysc, | ||
847 | }; | ||
848 | |||
849 | /* mcpdm */ | ||
850 | static struct omap_hwmod omap54xx_mcpdm_hwmod = { | ||
851 | .name = "mcpdm", | ||
852 | .class = &omap54xx_mcpdm_hwmod_class, | ||
853 | .clkdm_name = "abe_clkdm", | ||
854 | /* | ||
855 | * It's suspected that the McPDM requires an off-chip main | ||
856 | * functional clock, controlled via I2C. This IP block is | ||
857 | * currently reset very early during boot, before I2C is | ||
858 | * available, so it doesn't seem that we have any choice in | ||
859 | * the kernel other than to avoid resetting it. XXX This is | ||
860 | * really a hardware issue workaround: every IP block should | ||
861 | * be able to source its main functional clock from either | ||
862 | * on-chip or off-chip sources. McPDM seems to be the only | ||
863 | * current exception. | ||
864 | */ | ||
865 | |||
866 | .flags = HWMOD_EXT_OPT_MAIN_CLK, | ||
867 | .main_clk = "pad_clks_ck", | ||
868 | .prcm = { | ||
869 | .omap4 = { | ||
870 | .clkctrl_offs = OMAP54XX_CM_ABE_MCPDM_CLKCTRL_OFFSET, | ||
871 | .context_offs = OMAP54XX_RM_ABE_MCPDM_CONTEXT_OFFSET, | ||
872 | .modulemode = MODULEMODE_SWCTRL, | ||
873 | }, | ||
874 | }, | ||
875 | }; | ||
876 | |||
877 | /* | ||
878 | * 'mcspi' class | ||
879 | * multichannel serial port interface (mcspi) / master/slave synchronous serial | ||
880 | * bus | ||
881 | */ | ||
882 | |||
883 | static struct omap_hwmod_class_sysconfig omap54xx_mcspi_sysc = { | ||
884 | .rev_offs = 0x0000, | ||
885 | .sysc_offs = 0x0010, | ||
886 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | | ||
887 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
888 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
889 | SIDLE_SMART_WKUP), | ||
890 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
891 | }; | ||
892 | |||
893 | static struct omap_hwmod_class omap54xx_mcspi_hwmod_class = { | ||
894 | .name = "mcspi", | ||
895 | .sysc = &omap54xx_mcspi_sysc, | ||
896 | .rev = OMAP4_MCSPI_REV, | ||
897 | }; | ||
898 | |||
899 | /* mcspi1 */ | ||
900 | /* mcspi1 dev_attr */ | ||
901 | static struct omap2_mcspi_dev_attr mcspi1_dev_attr = { | ||
902 | .num_chipselect = 4, | ||
903 | }; | ||
904 | |||
905 | static struct omap_hwmod omap54xx_mcspi1_hwmod = { | ||
906 | .name = "mcspi1", | ||
907 | .class = &omap54xx_mcspi_hwmod_class, | ||
908 | .clkdm_name = "l4per_clkdm", | ||
909 | .main_clk = "func_48m_fclk", | ||
910 | .prcm = { | ||
911 | .omap4 = { | ||
912 | .clkctrl_offs = OMAP54XX_CM_L4PER_MCSPI1_CLKCTRL_OFFSET, | ||
913 | .context_offs = OMAP54XX_RM_L4PER_MCSPI1_CONTEXT_OFFSET, | ||
914 | .modulemode = MODULEMODE_SWCTRL, | ||
915 | }, | ||
916 | }, | ||
917 | .dev_attr = &mcspi1_dev_attr, | ||
918 | }; | ||
919 | |||
920 | /* mcspi2 */ | ||
921 | /* mcspi2 dev_attr */ | ||
922 | static struct omap2_mcspi_dev_attr mcspi2_dev_attr = { | ||
923 | .num_chipselect = 2, | ||
924 | }; | ||
925 | |||
926 | static struct omap_hwmod omap54xx_mcspi2_hwmod = { | ||
927 | .name = "mcspi2", | ||
928 | .class = &omap54xx_mcspi_hwmod_class, | ||
929 | .clkdm_name = "l4per_clkdm", | ||
930 | .main_clk = "func_48m_fclk", | ||
931 | .prcm = { | ||
932 | .omap4 = { | ||
933 | .clkctrl_offs = OMAP54XX_CM_L4PER_MCSPI2_CLKCTRL_OFFSET, | ||
934 | .context_offs = OMAP54XX_RM_L4PER_MCSPI2_CONTEXT_OFFSET, | ||
935 | .modulemode = MODULEMODE_SWCTRL, | ||
936 | }, | ||
937 | }, | ||
938 | .dev_attr = &mcspi2_dev_attr, | ||
939 | }; | ||
940 | |||
941 | /* mcspi3 */ | ||
942 | /* mcspi3 dev_attr */ | ||
943 | static struct omap2_mcspi_dev_attr mcspi3_dev_attr = { | ||
944 | .num_chipselect = 2, | ||
945 | }; | ||
946 | |||
947 | static struct omap_hwmod omap54xx_mcspi3_hwmod = { | ||
948 | .name = "mcspi3", | ||
949 | .class = &omap54xx_mcspi_hwmod_class, | ||
950 | .clkdm_name = "l4per_clkdm", | ||
951 | .main_clk = "func_48m_fclk", | ||
952 | .prcm = { | ||
953 | .omap4 = { | ||
954 | .clkctrl_offs = OMAP54XX_CM_L4PER_MCSPI3_CLKCTRL_OFFSET, | ||
955 | .context_offs = OMAP54XX_RM_L4PER_MCSPI3_CONTEXT_OFFSET, | ||
956 | .modulemode = MODULEMODE_SWCTRL, | ||
957 | }, | ||
958 | }, | ||
959 | .dev_attr = &mcspi3_dev_attr, | ||
960 | }; | ||
961 | |||
962 | /* mcspi4 */ | ||
963 | /* mcspi4 dev_attr */ | ||
964 | static struct omap2_mcspi_dev_attr mcspi4_dev_attr = { | ||
965 | .num_chipselect = 1, | ||
966 | }; | ||
967 | |||
968 | static struct omap_hwmod omap54xx_mcspi4_hwmod = { | ||
969 | .name = "mcspi4", | ||
970 | .class = &omap54xx_mcspi_hwmod_class, | ||
971 | .clkdm_name = "l4per_clkdm", | ||
972 | .main_clk = "func_48m_fclk", | ||
973 | .prcm = { | ||
974 | .omap4 = { | ||
975 | .clkctrl_offs = OMAP54XX_CM_L4PER_MCSPI4_CLKCTRL_OFFSET, | ||
976 | .context_offs = OMAP54XX_RM_L4PER_MCSPI4_CONTEXT_OFFSET, | ||
977 | .modulemode = MODULEMODE_SWCTRL, | ||
978 | }, | ||
979 | }, | ||
980 | .dev_attr = &mcspi4_dev_attr, | ||
981 | }; | ||
982 | |||
983 | /* | ||
984 | * 'mmc' class | ||
985 | * multimedia card high-speed/sd/sdio (mmc/sd/sdio) host controller | ||
986 | */ | ||
987 | |||
988 | static struct omap_hwmod_class_sysconfig omap54xx_mmc_sysc = { | ||
989 | .rev_offs = 0x0000, | ||
990 | .sysc_offs = 0x0010, | ||
991 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_MIDLEMODE | | ||
992 | SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE | | ||
993 | SYSC_HAS_SOFTRESET), | ||
994 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
995 | SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | | ||
996 | MSTANDBY_SMART | MSTANDBY_SMART_WKUP), | ||
997 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
998 | }; | ||
999 | |||
1000 | static struct omap_hwmod_class omap54xx_mmc_hwmod_class = { | ||
1001 | .name = "mmc", | ||
1002 | .sysc = &omap54xx_mmc_sysc, | ||
1003 | }; | ||
1004 | |||
1005 | /* mmc1 */ | ||
1006 | static struct omap_hwmod_opt_clk mmc1_opt_clks[] = { | ||
1007 | { .role = "32khz_clk", .clk = "mmc1_32khz_clk" }, | ||
1008 | }; | ||
1009 | |||
1010 | /* mmc1 dev_attr */ | ||
1011 | static struct omap_mmc_dev_attr mmc1_dev_attr = { | ||
1012 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, | ||
1013 | }; | ||
1014 | |||
1015 | static struct omap_hwmod omap54xx_mmc1_hwmod = { | ||
1016 | .name = "mmc1", | ||
1017 | .class = &omap54xx_mmc_hwmod_class, | ||
1018 | .clkdm_name = "l3init_clkdm", | ||
1019 | .main_clk = "mmc1_fclk", | ||
1020 | .prcm = { | ||
1021 | .omap4 = { | ||
1022 | .clkctrl_offs = OMAP54XX_CM_L3INIT_MMC1_CLKCTRL_OFFSET, | ||
1023 | .context_offs = OMAP54XX_RM_L3INIT_MMC1_CONTEXT_OFFSET, | ||
1024 | .modulemode = MODULEMODE_SWCTRL, | ||
1025 | }, | ||
1026 | }, | ||
1027 | .opt_clks = mmc1_opt_clks, | ||
1028 | .opt_clks_cnt = ARRAY_SIZE(mmc1_opt_clks), | ||
1029 | .dev_attr = &mmc1_dev_attr, | ||
1030 | }; | ||
1031 | |||
1032 | /* mmc2 */ | ||
1033 | static struct omap_hwmod omap54xx_mmc2_hwmod = { | ||
1034 | .name = "mmc2", | ||
1035 | .class = &omap54xx_mmc_hwmod_class, | ||
1036 | .clkdm_name = "l3init_clkdm", | ||
1037 | .main_clk = "mmc2_fclk", | ||
1038 | .prcm = { | ||
1039 | .omap4 = { | ||
1040 | .clkctrl_offs = OMAP54XX_CM_L3INIT_MMC2_CLKCTRL_OFFSET, | ||
1041 | .context_offs = OMAP54XX_RM_L3INIT_MMC2_CONTEXT_OFFSET, | ||
1042 | .modulemode = MODULEMODE_SWCTRL, | ||
1043 | }, | ||
1044 | }, | ||
1045 | }; | ||
1046 | |||
1047 | /* mmc3 */ | ||
1048 | static struct omap_hwmod omap54xx_mmc3_hwmod = { | ||
1049 | .name = "mmc3", | ||
1050 | .class = &omap54xx_mmc_hwmod_class, | ||
1051 | .clkdm_name = "l4per_clkdm", | ||
1052 | .main_clk = "func_48m_fclk", | ||
1053 | .prcm = { | ||
1054 | .omap4 = { | ||
1055 | .clkctrl_offs = OMAP54XX_CM_L4PER_MMC3_CLKCTRL_OFFSET, | ||
1056 | .context_offs = OMAP54XX_RM_L4PER_MMC3_CONTEXT_OFFSET, | ||
1057 | .modulemode = MODULEMODE_SWCTRL, | ||
1058 | }, | ||
1059 | }, | ||
1060 | }; | ||
1061 | |||
1062 | /* mmc4 */ | ||
1063 | static struct omap_hwmod omap54xx_mmc4_hwmod = { | ||
1064 | .name = "mmc4", | ||
1065 | .class = &omap54xx_mmc_hwmod_class, | ||
1066 | .clkdm_name = "l4per_clkdm", | ||
1067 | .main_clk = "func_48m_fclk", | ||
1068 | .prcm = { | ||
1069 | .omap4 = { | ||
1070 | .clkctrl_offs = OMAP54XX_CM_L4PER_MMC4_CLKCTRL_OFFSET, | ||
1071 | .context_offs = OMAP54XX_RM_L4PER_MMC4_CONTEXT_OFFSET, | ||
1072 | .modulemode = MODULEMODE_SWCTRL, | ||
1073 | }, | ||
1074 | }, | ||
1075 | }; | ||
1076 | |||
1077 | /* mmc5 */ | ||
1078 | static struct omap_hwmod omap54xx_mmc5_hwmod = { | ||
1079 | .name = "mmc5", | ||
1080 | .class = &omap54xx_mmc_hwmod_class, | ||
1081 | .clkdm_name = "l4per_clkdm", | ||
1082 | .main_clk = "func_96m_fclk", | ||
1083 | .prcm = { | ||
1084 | .omap4 = { | ||
1085 | .clkctrl_offs = OMAP54XX_CM_L4PER_MMC5_CLKCTRL_OFFSET, | ||
1086 | .context_offs = OMAP54XX_RM_L4PER_MMC5_CONTEXT_OFFSET, | ||
1087 | .modulemode = MODULEMODE_SWCTRL, | ||
1088 | }, | ||
1089 | }, | ||
1090 | }; | ||
1091 | |||
1092 | /* | ||
1093 | * 'mpu' class | ||
1094 | * mpu sub-system | ||
1095 | */ | ||
1096 | |||
1097 | static struct omap_hwmod_class omap54xx_mpu_hwmod_class = { | ||
1098 | .name = "mpu", | ||
1099 | }; | ||
1100 | |||
1101 | /* mpu */ | ||
1102 | static struct omap_hwmod omap54xx_mpu_hwmod = { | ||
1103 | .name = "mpu", | ||
1104 | .class = &omap54xx_mpu_hwmod_class, | ||
1105 | .clkdm_name = "mpu_clkdm", | ||
1106 | .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, | ||
1107 | .main_clk = "dpll_mpu_m2_ck", | ||
1108 | .prcm = { | ||
1109 | .omap4 = { | ||
1110 | .clkctrl_offs = OMAP54XX_CM_MPU_MPU_CLKCTRL_OFFSET, | ||
1111 | .context_offs = OMAP54XX_RM_MPU_MPU_CONTEXT_OFFSET, | ||
1112 | }, | ||
1113 | }, | ||
1114 | }; | ||
1115 | |||
1116 | /* | ||
1117 | * 'timer' class | ||
1118 | * general purpose timer module with accurate 1ms tick | ||
1119 | * This class contains several variants: ['timer_1ms', 'timer'] | ||
1120 | */ | ||
1121 | |||
1122 | static struct omap_hwmod_class_sysconfig omap54xx_timer_1ms_sysc = { | ||
1123 | .rev_offs = 0x0000, | ||
1124 | .sysc_offs = 0x0010, | ||
1125 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | | ||
1126 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
1127 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1128 | SIDLE_SMART_WKUP), | ||
1129 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1130 | .clockact = CLOCKACT_TEST_ICLK, | ||
1131 | }; | ||
1132 | |||
1133 | static struct omap_hwmod_class omap54xx_timer_1ms_hwmod_class = { | ||
1134 | .name = "timer", | ||
1135 | .sysc = &omap54xx_timer_1ms_sysc, | ||
1136 | }; | ||
1137 | |||
1138 | static struct omap_hwmod_class_sysconfig omap54xx_timer_sysc = { | ||
1139 | .rev_offs = 0x0000, | ||
1140 | .sysc_offs = 0x0010, | ||
1141 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_RESET_STATUS | | ||
1142 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET), | ||
1143 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1144 | SIDLE_SMART_WKUP), | ||
1145 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1146 | }; | ||
1147 | |||
1148 | static struct omap_hwmod_class omap54xx_timer_hwmod_class = { | ||
1149 | .name = "timer", | ||
1150 | .sysc = &omap54xx_timer_sysc, | ||
1151 | }; | ||
1152 | |||
1153 | /* timer1 */ | ||
1154 | static struct omap_hwmod omap54xx_timer1_hwmod = { | ||
1155 | .name = "timer1", | ||
1156 | .class = &omap54xx_timer_1ms_hwmod_class, | ||
1157 | .clkdm_name = "wkupaon_clkdm", | ||
1158 | .main_clk = "timer1_gfclk_mux", | ||
1159 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, | ||
1160 | .prcm = { | ||
1161 | .omap4 = { | ||
1162 | .clkctrl_offs = OMAP54XX_CM_WKUPAON_TIMER1_CLKCTRL_OFFSET, | ||
1163 | .context_offs = OMAP54XX_RM_WKUPAON_TIMER1_CONTEXT_OFFSET, | ||
1164 | .modulemode = MODULEMODE_SWCTRL, | ||
1165 | }, | ||
1166 | }, | ||
1167 | }; | ||
1168 | |||
1169 | /* timer2 */ | ||
1170 | static struct omap_hwmod omap54xx_timer2_hwmod = { | ||
1171 | .name = "timer2", | ||
1172 | .class = &omap54xx_timer_1ms_hwmod_class, | ||
1173 | .clkdm_name = "l4per_clkdm", | ||
1174 | .main_clk = "timer2_gfclk_mux", | ||
1175 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, | ||
1176 | .prcm = { | ||
1177 | .omap4 = { | ||
1178 | .clkctrl_offs = OMAP54XX_CM_L4PER_TIMER2_CLKCTRL_OFFSET, | ||
1179 | .context_offs = OMAP54XX_RM_L4PER_TIMER2_CONTEXT_OFFSET, | ||
1180 | .modulemode = MODULEMODE_SWCTRL, | ||
1181 | }, | ||
1182 | }, | ||
1183 | }; | ||
1184 | |||
1185 | /* timer3 */ | ||
1186 | static struct omap_hwmod omap54xx_timer3_hwmod = { | ||
1187 | .name = "timer3", | ||
1188 | .class = &omap54xx_timer_hwmod_class, | ||
1189 | .clkdm_name = "l4per_clkdm", | ||
1190 | .main_clk = "timer3_gfclk_mux", | ||
1191 | .prcm = { | ||
1192 | .omap4 = { | ||
1193 | .clkctrl_offs = OMAP54XX_CM_L4PER_TIMER3_CLKCTRL_OFFSET, | ||
1194 | .context_offs = OMAP54XX_RM_L4PER_TIMER3_CONTEXT_OFFSET, | ||
1195 | .modulemode = MODULEMODE_SWCTRL, | ||
1196 | }, | ||
1197 | }, | ||
1198 | }; | ||
1199 | |||
1200 | /* timer4 */ | ||
1201 | static struct omap_hwmod omap54xx_timer4_hwmod = { | ||
1202 | .name = "timer4", | ||
1203 | .class = &omap54xx_timer_hwmod_class, | ||
1204 | .clkdm_name = "l4per_clkdm", | ||
1205 | .main_clk = "timer4_gfclk_mux", | ||
1206 | .prcm = { | ||
1207 | .omap4 = { | ||
1208 | .clkctrl_offs = OMAP54XX_CM_L4PER_TIMER4_CLKCTRL_OFFSET, | ||
1209 | .context_offs = OMAP54XX_RM_L4PER_TIMER4_CONTEXT_OFFSET, | ||
1210 | .modulemode = MODULEMODE_SWCTRL, | ||
1211 | }, | ||
1212 | }, | ||
1213 | }; | ||
1214 | |||
1215 | /* timer5 */ | ||
1216 | static struct omap_hwmod omap54xx_timer5_hwmod = { | ||
1217 | .name = "timer5", | ||
1218 | .class = &omap54xx_timer_hwmod_class, | ||
1219 | .clkdm_name = "abe_clkdm", | ||
1220 | .main_clk = "timer5_gfclk_mux", | ||
1221 | .prcm = { | ||
1222 | .omap4 = { | ||
1223 | .clkctrl_offs = OMAP54XX_CM_ABE_TIMER5_CLKCTRL_OFFSET, | ||
1224 | .context_offs = OMAP54XX_RM_ABE_TIMER5_CONTEXT_OFFSET, | ||
1225 | .modulemode = MODULEMODE_SWCTRL, | ||
1226 | }, | ||
1227 | }, | ||
1228 | }; | ||
1229 | |||
1230 | /* timer6 */ | ||
1231 | static struct omap_hwmod omap54xx_timer6_hwmod = { | ||
1232 | .name = "timer6", | ||
1233 | .class = &omap54xx_timer_hwmod_class, | ||
1234 | .clkdm_name = "abe_clkdm", | ||
1235 | .main_clk = "timer6_gfclk_mux", | ||
1236 | .prcm = { | ||
1237 | .omap4 = { | ||
1238 | .clkctrl_offs = OMAP54XX_CM_ABE_TIMER6_CLKCTRL_OFFSET, | ||
1239 | .context_offs = OMAP54XX_RM_ABE_TIMER6_CONTEXT_OFFSET, | ||
1240 | .modulemode = MODULEMODE_SWCTRL, | ||
1241 | }, | ||
1242 | }, | ||
1243 | }; | ||
1244 | |||
1245 | /* timer7 */ | ||
1246 | static struct omap_hwmod omap54xx_timer7_hwmod = { | ||
1247 | .name = "timer7", | ||
1248 | .class = &omap54xx_timer_hwmod_class, | ||
1249 | .clkdm_name = "abe_clkdm", | ||
1250 | .main_clk = "timer7_gfclk_mux", | ||
1251 | .prcm = { | ||
1252 | .omap4 = { | ||
1253 | .clkctrl_offs = OMAP54XX_CM_ABE_TIMER7_CLKCTRL_OFFSET, | ||
1254 | .context_offs = OMAP54XX_RM_ABE_TIMER7_CONTEXT_OFFSET, | ||
1255 | .modulemode = MODULEMODE_SWCTRL, | ||
1256 | }, | ||
1257 | }, | ||
1258 | }; | ||
1259 | |||
1260 | /* timer8 */ | ||
1261 | static struct omap_hwmod omap54xx_timer8_hwmod = { | ||
1262 | .name = "timer8", | ||
1263 | .class = &omap54xx_timer_hwmod_class, | ||
1264 | .clkdm_name = "abe_clkdm", | ||
1265 | .main_clk = "timer8_gfclk_mux", | ||
1266 | .prcm = { | ||
1267 | .omap4 = { | ||
1268 | .clkctrl_offs = OMAP54XX_CM_ABE_TIMER8_CLKCTRL_OFFSET, | ||
1269 | .context_offs = OMAP54XX_RM_ABE_TIMER8_CONTEXT_OFFSET, | ||
1270 | .modulemode = MODULEMODE_SWCTRL, | ||
1271 | }, | ||
1272 | }, | ||
1273 | }; | ||
1274 | |||
1275 | /* timer9 */ | ||
1276 | static struct omap_hwmod omap54xx_timer9_hwmod = { | ||
1277 | .name = "timer9", | ||
1278 | .class = &omap54xx_timer_hwmod_class, | ||
1279 | .clkdm_name = "l4per_clkdm", | ||
1280 | .main_clk = "timer9_gfclk_mux", | ||
1281 | .prcm = { | ||
1282 | .omap4 = { | ||
1283 | .clkctrl_offs = OMAP54XX_CM_L4PER_TIMER9_CLKCTRL_OFFSET, | ||
1284 | .context_offs = OMAP54XX_RM_L4PER_TIMER9_CONTEXT_OFFSET, | ||
1285 | .modulemode = MODULEMODE_SWCTRL, | ||
1286 | }, | ||
1287 | }, | ||
1288 | }; | ||
1289 | |||
1290 | /* timer10 */ | ||
1291 | static struct omap_hwmod omap54xx_timer10_hwmod = { | ||
1292 | .name = "timer10", | ||
1293 | .class = &omap54xx_timer_1ms_hwmod_class, | ||
1294 | .clkdm_name = "l4per_clkdm", | ||
1295 | .main_clk = "timer10_gfclk_mux", | ||
1296 | .flags = HWMOD_SET_DEFAULT_CLOCKACT, | ||
1297 | .prcm = { | ||
1298 | .omap4 = { | ||
1299 | .clkctrl_offs = OMAP54XX_CM_L4PER_TIMER10_CLKCTRL_OFFSET, | ||
1300 | .context_offs = OMAP54XX_RM_L4PER_TIMER10_CONTEXT_OFFSET, | ||
1301 | .modulemode = MODULEMODE_SWCTRL, | ||
1302 | }, | ||
1303 | }, | ||
1304 | }; | ||
1305 | |||
1306 | /* timer11 */ | ||
1307 | static struct omap_hwmod omap54xx_timer11_hwmod = { | ||
1308 | .name = "timer11", | ||
1309 | .class = &omap54xx_timer_hwmod_class, | ||
1310 | .clkdm_name = "l4per_clkdm", | ||
1311 | .main_clk = "timer11_gfclk_mux", | ||
1312 | .prcm = { | ||
1313 | .omap4 = { | ||
1314 | .clkctrl_offs = OMAP54XX_CM_L4PER_TIMER11_CLKCTRL_OFFSET, | ||
1315 | .context_offs = OMAP54XX_RM_L4PER_TIMER11_CONTEXT_OFFSET, | ||
1316 | .modulemode = MODULEMODE_SWCTRL, | ||
1317 | }, | ||
1318 | }, | ||
1319 | }; | ||
1320 | |||
1321 | /* | ||
1322 | * 'uart' class | ||
1323 | * universal asynchronous receiver/transmitter (uart) | ||
1324 | */ | ||
1325 | |||
1326 | static struct omap_hwmod_class_sysconfig omap54xx_uart_sysc = { | ||
1327 | .rev_offs = 0x0050, | ||
1328 | .sysc_offs = 0x0054, | ||
1329 | .syss_offs = 0x0058, | ||
1330 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP | | ||
1331 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | | ||
1332 | SYSS_HAS_RESET_STATUS), | ||
1333 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1334 | SIDLE_SMART_WKUP), | ||
1335 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
1336 | }; | ||
1337 | |||
1338 | static struct omap_hwmod_class omap54xx_uart_hwmod_class = { | ||
1339 | .name = "uart", | ||
1340 | .sysc = &omap54xx_uart_sysc, | ||
1341 | }; | ||
1342 | |||
1343 | /* uart1 */ | ||
1344 | static struct omap_hwmod omap54xx_uart1_hwmod = { | ||
1345 | .name = "uart1", | ||
1346 | .class = &omap54xx_uart_hwmod_class, | ||
1347 | .clkdm_name = "l4per_clkdm", | ||
1348 | .main_clk = "func_48m_fclk", | ||
1349 | .prcm = { | ||
1350 | .omap4 = { | ||
1351 | .clkctrl_offs = OMAP54XX_CM_L4PER_UART1_CLKCTRL_OFFSET, | ||
1352 | .context_offs = OMAP54XX_RM_L4PER_UART1_CONTEXT_OFFSET, | ||
1353 | .modulemode = MODULEMODE_SWCTRL, | ||
1354 | }, | ||
1355 | }, | ||
1356 | }; | ||
1357 | |||
1358 | /* uart2 */ | ||
1359 | static struct omap_hwmod omap54xx_uart2_hwmod = { | ||
1360 | .name = "uart2", | ||
1361 | .class = &omap54xx_uart_hwmod_class, | ||
1362 | .clkdm_name = "l4per_clkdm", | ||
1363 | .main_clk = "func_48m_fclk", | ||
1364 | .prcm = { | ||
1365 | .omap4 = { | ||
1366 | .clkctrl_offs = OMAP54XX_CM_L4PER_UART2_CLKCTRL_OFFSET, | ||
1367 | .context_offs = OMAP54XX_RM_L4PER_UART2_CONTEXT_OFFSET, | ||
1368 | .modulemode = MODULEMODE_SWCTRL, | ||
1369 | }, | ||
1370 | }, | ||
1371 | }; | ||
1372 | |||
1373 | /* uart3 */ | ||
1374 | static struct omap_hwmod omap54xx_uart3_hwmod = { | ||
1375 | .name = "uart3", | ||
1376 | .class = &omap54xx_uart_hwmod_class, | ||
1377 | .clkdm_name = "l4per_clkdm", | ||
1378 | .flags = DEBUG_OMAP4UART3_FLAGS, | ||
1379 | .main_clk = "func_48m_fclk", | ||
1380 | .prcm = { | ||
1381 | .omap4 = { | ||
1382 | .clkctrl_offs = OMAP54XX_CM_L4PER_UART3_CLKCTRL_OFFSET, | ||
1383 | .context_offs = OMAP54XX_RM_L4PER_UART3_CONTEXT_OFFSET, | ||
1384 | .modulemode = MODULEMODE_SWCTRL, | ||
1385 | }, | ||
1386 | }, | ||
1387 | }; | ||
1388 | |||
1389 | /* uart4 */ | ||
1390 | static struct omap_hwmod omap54xx_uart4_hwmod = { | ||
1391 | .name = "uart4", | ||
1392 | .class = &omap54xx_uart_hwmod_class, | ||
1393 | .clkdm_name = "l4per_clkdm", | ||
1394 | .flags = DEBUG_OMAP4UART4_FLAGS, | ||
1395 | .main_clk = "func_48m_fclk", | ||
1396 | .prcm = { | ||
1397 | .omap4 = { | ||
1398 | .clkctrl_offs = OMAP54XX_CM_L4PER_UART4_CLKCTRL_OFFSET, | ||
1399 | .context_offs = OMAP54XX_RM_L4PER_UART4_CONTEXT_OFFSET, | ||
1400 | .modulemode = MODULEMODE_SWCTRL, | ||
1401 | }, | ||
1402 | }, | ||
1403 | }; | ||
1404 | |||
1405 | /* uart5 */ | ||
1406 | static struct omap_hwmod omap54xx_uart5_hwmod = { | ||
1407 | .name = "uart5", | ||
1408 | .class = &omap54xx_uart_hwmod_class, | ||
1409 | .clkdm_name = "l4per_clkdm", | ||
1410 | .main_clk = "func_48m_fclk", | ||
1411 | .prcm = { | ||
1412 | .omap4 = { | ||
1413 | .clkctrl_offs = OMAP54XX_CM_L4PER_UART5_CLKCTRL_OFFSET, | ||
1414 | .context_offs = OMAP54XX_RM_L4PER_UART5_CONTEXT_OFFSET, | ||
1415 | .modulemode = MODULEMODE_SWCTRL, | ||
1416 | }, | ||
1417 | }, | ||
1418 | }; | ||
1419 | |||
1420 | /* uart6 */ | ||
1421 | static struct omap_hwmod omap54xx_uart6_hwmod = { | ||
1422 | .name = "uart6", | ||
1423 | .class = &omap54xx_uart_hwmod_class, | ||
1424 | .clkdm_name = "l4per_clkdm", | ||
1425 | .main_clk = "func_48m_fclk", | ||
1426 | .prcm = { | ||
1427 | .omap4 = { | ||
1428 | .clkctrl_offs = OMAP54XX_CM_L4PER_UART6_CLKCTRL_OFFSET, | ||
1429 | .context_offs = OMAP54XX_RM_L4PER_UART6_CONTEXT_OFFSET, | ||
1430 | .modulemode = MODULEMODE_SWCTRL, | ||
1431 | }, | ||
1432 | }, | ||
1433 | }; | ||
1434 | |||
1435 | /* | ||
1436 | * 'usb_otg_ss' class | ||
1437 | * 2.0 super speed (usb_otg_ss) controller | ||
1438 | */ | ||
1439 | |||
1440 | static struct omap_hwmod_class_sysconfig omap54xx_usb_otg_ss_sysc = { | ||
1441 | .rev_offs = 0x0000, | ||
1442 | .sysc_offs = 0x0010, | ||
1443 | .sysc_flags = (SYSC_HAS_DMADISABLE | SYSC_HAS_MIDLEMODE | | ||
1444 | SYSC_HAS_SIDLEMODE), | ||
1445 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1446 | SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | | ||
1447 | MSTANDBY_SMART | MSTANDBY_SMART_WKUP), | ||
1448 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
1449 | }; | ||
1450 | |||
1451 | static struct omap_hwmod_class omap54xx_usb_otg_ss_hwmod_class = { | ||
1452 | .name = "usb_otg_ss", | ||
1453 | .sysc = &omap54xx_usb_otg_ss_sysc, | ||
1454 | }; | ||
1455 | |||
1456 | /* usb_otg_ss */ | ||
1457 | static struct omap_hwmod_opt_clk usb_otg_ss_opt_clks[] = { | ||
1458 | { .role = "refclk960m", .clk = "usb_otg_ss_refclk960m" }, | ||
1459 | }; | ||
1460 | |||
1461 | static struct omap_hwmod omap54xx_usb_otg_ss_hwmod = { | ||
1462 | .name = "usb_otg_ss", | ||
1463 | .class = &omap54xx_usb_otg_ss_hwmod_class, | ||
1464 | .clkdm_name = "l3init_clkdm", | ||
1465 | .flags = HWMOD_SWSUP_SIDLE, | ||
1466 | .main_clk = "dpll_core_h13x2_ck", | ||
1467 | .prcm = { | ||
1468 | .omap4 = { | ||
1469 | .clkctrl_offs = OMAP54XX_CM_L3INIT_USB_OTG_SS_CLKCTRL_OFFSET, | ||
1470 | .context_offs = OMAP54XX_RM_L3INIT_USB_OTG_SS_CONTEXT_OFFSET, | ||
1471 | .modulemode = MODULEMODE_HWCTRL, | ||
1472 | }, | ||
1473 | }, | ||
1474 | .opt_clks = usb_otg_ss_opt_clks, | ||
1475 | .opt_clks_cnt = ARRAY_SIZE(usb_otg_ss_opt_clks), | ||
1476 | }; | ||
1477 | |||
1478 | /* | ||
1479 | * 'wd_timer' class | ||
1480 | * 32-bit watchdog upward counter that generates a pulse on the reset pin on | ||
1481 | * overflow condition | ||
1482 | */ | ||
1483 | |||
1484 | static struct omap_hwmod_class_sysconfig omap54xx_wd_timer_sysc = { | ||
1485 | .rev_offs = 0x0000, | ||
1486 | .sysc_offs = 0x0010, | ||
1487 | .syss_offs = 0x0014, | ||
1488 | .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SIDLEMODE | | ||
1489 | SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), | ||
1490 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
1491 | SIDLE_SMART_WKUP), | ||
1492 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
1493 | }; | ||
1494 | |||
1495 | static struct omap_hwmod_class omap54xx_wd_timer_hwmod_class = { | ||
1496 | .name = "wd_timer", | ||
1497 | .sysc = &omap54xx_wd_timer_sysc, | ||
1498 | .pre_shutdown = &omap2_wd_timer_disable, | ||
1499 | }; | ||
1500 | |||
1501 | /* wd_timer2 */ | ||
1502 | static struct omap_hwmod omap54xx_wd_timer2_hwmod = { | ||
1503 | .name = "wd_timer2", | ||
1504 | .class = &omap54xx_wd_timer_hwmod_class, | ||
1505 | .clkdm_name = "wkupaon_clkdm", | ||
1506 | .main_clk = "sys_32k_ck", | ||
1507 | .prcm = { | ||
1508 | .omap4 = { | ||
1509 | .clkctrl_offs = OMAP54XX_CM_WKUPAON_WD_TIMER2_CLKCTRL_OFFSET, | ||
1510 | .context_offs = OMAP54XX_RM_WKUPAON_WD_TIMER2_CONTEXT_OFFSET, | ||
1511 | .modulemode = MODULEMODE_SWCTRL, | ||
1512 | }, | ||
1513 | }, | ||
1514 | }; | ||
1515 | |||
1516 | |||
1517 | /* | ||
1518 | * Interfaces | ||
1519 | */ | ||
1520 | |||
1521 | /* l3_main_1 -> dmm */ | ||
1522 | static struct omap_hwmod_ocp_if omap54xx_l3_main_1__dmm = { | ||
1523 | .master = &omap54xx_l3_main_1_hwmod, | ||
1524 | .slave = &omap54xx_dmm_hwmod, | ||
1525 | .clk = "l3_iclk_div", | ||
1526 | .user = OCP_USER_SDMA, | ||
1527 | }; | ||
1528 | |||
1529 | /* l3_main_3 -> l3_instr */ | ||
1530 | static struct omap_hwmod_ocp_if omap54xx_l3_main_3__l3_instr = { | ||
1531 | .master = &omap54xx_l3_main_3_hwmod, | ||
1532 | .slave = &omap54xx_l3_instr_hwmod, | ||
1533 | .clk = "l3_iclk_div", | ||
1534 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1535 | }; | ||
1536 | |||
1537 | /* l3_main_2 -> l3_main_1 */ | ||
1538 | static struct omap_hwmod_ocp_if omap54xx_l3_main_2__l3_main_1 = { | ||
1539 | .master = &omap54xx_l3_main_2_hwmod, | ||
1540 | .slave = &omap54xx_l3_main_1_hwmod, | ||
1541 | .clk = "l3_iclk_div", | ||
1542 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1543 | }; | ||
1544 | |||
1545 | /* l4_cfg -> l3_main_1 */ | ||
1546 | static struct omap_hwmod_ocp_if omap54xx_l4_cfg__l3_main_1 = { | ||
1547 | .master = &omap54xx_l4_cfg_hwmod, | ||
1548 | .slave = &omap54xx_l3_main_1_hwmod, | ||
1549 | .clk = "l3_iclk_div", | ||
1550 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1551 | }; | ||
1552 | |||
1553 | /* mpu -> l3_main_1 */ | ||
1554 | static struct omap_hwmod_ocp_if omap54xx_mpu__l3_main_1 = { | ||
1555 | .master = &omap54xx_mpu_hwmod, | ||
1556 | .slave = &omap54xx_l3_main_1_hwmod, | ||
1557 | .clk = "l3_iclk_div", | ||
1558 | .user = OCP_USER_MPU, | ||
1559 | }; | ||
1560 | |||
1561 | /* l3_main_1 -> l3_main_2 */ | ||
1562 | static struct omap_hwmod_ocp_if omap54xx_l3_main_1__l3_main_2 = { | ||
1563 | .master = &omap54xx_l3_main_1_hwmod, | ||
1564 | .slave = &omap54xx_l3_main_2_hwmod, | ||
1565 | .clk = "l3_iclk_div", | ||
1566 | .user = OCP_USER_MPU, | ||
1567 | }; | ||
1568 | |||
1569 | /* l4_cfg -> l3_main_2 */ | ||
1570 | static struct omap_hwmod_ocp_if omap54xx_l4_cfg__l3_main_2 = { | ||
1571 | .master = &omap54xx_l4_cfg_hwmod, | ||
1572 | .slave = &omap54xx_l3_main_2_hwmod, | ||
1573 | .clk = "l3_iclk_div", | ||
1574 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1575 | }; | ||
1576 | |||
1577 | /* l3_main_1 -> l3_main_3 */ | ||
1578 | static struct omap_hwmod_ocp_if omap54xx_l3_main_1__l3_main_3 = { | ||
1579 | .master = &omap54xx_l3_main_1_hwmod, | ||
1580 | .slave = &omap54xx_l3_main_3_hwmod, | ||
1581 | .clk = "l3_iclk_div", | ||
1582 | .user = OCP_USER_MPU, | ||
1583 | }; | ||
1584 | |||
1585 | /* l3_main_2 -> l3_main_3 */ | ||
1586 | static struct omap_hwmod_ocp_if omap54xx_l3_main_2__l3_main_3 = { | ||
1587 | .master = &omap54xx_l3_main_2_hwmod, | ||
1588 | .slave = &omap54xx_l3_main_3_hwmod, | ||
1589 | .clk = "l3_iclk_div", | ||
1590 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1591 | }; | ||
1592 | |||
1593 | /* l4_cfg -> l3_main_3 */ | ||
1594 | static struct omap_hwmod_ocp_if omap54xx_l4_cfg__l3_main_3 = { | ||
1595 | .master = &omap54xx_l4_cfg_hwmod, | ||
1596 | .slave = &omap54xx_l3_main_3_hwmod, | ||
1597 | .clk = "l3_iclk_div", | ||
1598 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1599 | }; | ||
1600 | |||
1601 | /* l3_main_1 -> l4_abe */ | ||
1602 | static struct omap_hwmod_ocp_if omap54xx_l3_main_1__l4_abe = { | ||
1603 | .master = &omap54xx_l3_main_1_hwmod, | ||
1604 | .slave = &omap54xx_l4_abe_hwmod, | ||
1605 | .clk = "abe_iclk", | ||
1606 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1607 | }; | ||
1608 | |||
1609 | /* mpu -> l4_abe */ | ||
1610 | static struct omap_hwmod_ocp_if omap54xx_mpu__l4_abe = { | ||
1611 | .master = &omap54xx_mpu_hwmod, | ||
1612 | .slave = &omap54xx_l4_abe_hwmod, | ||
1613 | .clk = "abe_iclk", | ||
1614 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1615 | }; | ||
1616 | |||
1617 | /* l3_main_1 -> l4_cfg */ | ||
1618 | static struct omap_hwmod_ocp_if omap54xx_l3_main_1__l4_cfg = { | ||
1619 | .master = &omap54xx_l3_main_1_hwmod, | ||
1620 | .slave = &omap54xx_l4_cfg_hwmod, | ||
1621 | .clk = "l4_root_clk_div", | ||
1622 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1623 | }; | ||
1624 | |||
1625 | /* l3_main_2 -> l4_per */ | ||
1626 | static struct omap_hwmod_ocp_if omap54xx_l3_main_2__l4_per = { | ||
1627 | .master = &omap54xx_l3_main_2_hwmod, | ||
1628 | .slave = &omap54xx_l4_per_hwmod, | ||
1629 | .clk = "l4_root_clk_div", | ||
1630 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1631 | }; | ||
1632 | |||
1633 | /* l3_main_1 -> l4_wkup */ | ||
1634 | static struct omap_hwmod_ocp_if omap54xx_l3_main_1__l4_wkup = { | ||
1635 | .master = &omap54xx_l3_main_1_hwmod, | ||
1636 | .slave = &omap54xx_l4_wkup_hwmod, | ||
1637 | .clk = "wkupaon_iclk_mux", | ||
1638 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1639 | }; | ||
1640 | |||
1641 | /* mpu -> mpu_private */ | ||
1642 | static struct omap_hwmod_ocp_if omap54xx_mpu__mpu_private = { | ||
1643 | .master = &omap54xx_mpu_hwmod, | ||
1644 | .slave = &omap54xx_mpu_private_hwmod, | ||
1645 | .clk = "l3_iclk_div", | ||
1646 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1647 | }; | ||
1648 | |||
1649 | /* l4_wkup -> counter_32k */ | ||
1650 | static struct omap_hwmod_ocp_if omap54xx_l4_wkup__counter_32k = { | ||
1651 | .master = &omap54xx_l4_wkup_hwmod, | ||
1652 | .slave = &omap54xx_counter_32k_hwmod, | ||
1653 | .clk = "wkupaon_iclk_mux", | ||
1654 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1655 | }; | ||
1656 | |||
1657 | static struct omap_hwmod_addr_space omap54xx_dma_system_addrs[] = { | ||
1658 | { | ||
1659 | .pa_start = 0x4a056000, | ||
1660 | .pa_end = 0x4a056fff, | ||
1661 | .flags = ADDR_TYPE_RT | ||
1662 | }, | ||
1663 | { } | ||
1664 | }; | ||
1665 | |||
1666 | /* l4_cfg -> dma_system */ | ||
1667 | static struct omap_hwmod_ocp_if omap54xx_l4_cfg__dma_system = { | ||
1668 | .master = &omap54xx_l4_cfg_hwmod, | ||
1669 | .slave = &omap54xx_dma_system_hwmod, | ||
1670 | .clk = "l4_root_clk_div", | ||
1671 | .addr = omap54xx_dma_system_addrs, | ||
1672 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1673 | }; | ||
1674 | |||
1675 | /* l4_abe -> dmic */ | ||
1676 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__dmic = { | ||
1677 | .master = &omap54xx_l4_abe_hwmod, | ||
1678 | .slave = &omap54xx_dmic_hwmod, | ||
1679 | .clk = "abe_iclk", | ||
1680 | .user = OCP_USER_MPU, | ||
1681 | }; | ||
1682 | |||
1683 | /* mpu -> emif1 */ | ||
1684 | static struct omap_hwmod_ocp_if omap54xx_mpu__emif1 = { | ||
1685 | .master = &omap54xx_mpu_hwmod, | ||
1686 | .slave = &omap54xx_emif1_hwmod, | ||
1687 | .clk = "dpll_core_h11x2_ck", | ||
1688 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1689 | }; | ||
1690 | |||
1691 | /* mpu -> emif2 */ | ||
1692 | static struct omap_hwmod_ocp_if omap54xx_mpu__emif2 = { | ||
1693 | .master = &omap54xx_mpu_hwmod, | ||
1694 | .slave = &omap54xx_emif2_hwmod, | ||
1695 | .clk = "dpll_core_h11x2_ck", | ||
1696 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1697 | }; | ||
1698 | |||
1699 | /* l4_wkup -> gpio1 */ | ||
1700 | static struct omap_hwmod_ocp_if omap54xx_l4_wkup__gpio1 = { | ||
1701 | .master = &omap54xx_l4_wkup_hwmod, | ||
1702 | .slave = &omap54xx_gpio1_hwmod, | ||
1703 | .clk = "wkupaon_iclk_mux", | ||
1704 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1705 | }; | ||
1706 | |||
1707 | /* l4_per -> gpio2 */ | ||
1708 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio2 = { | ||
1709 | .master = &omap54xx_l4_per_hwmod, | ||
1710 | .slave = &omap54xx_gpio2_hwmod, | ||
1711 | .clk = "l4_root_clk_div", | ||
1712 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1713 | }; | ||
1714 | |||
1715 | /* l4_per -> gpio3 */ | ||
1716 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio3 = { | ||
1717 | .master = &omap54xx_l4_per_hwmod, | ||
1718 | .slave = &omap54xx_gpio3_hwmod, | ||
1719 | .clk = "l4_root_clk_div", | ||
1720 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1721 | }; | ||
1722 | |||
1723 | /* l4_per -> gpio4 */ | ||
1724 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio4 = { | ||
1725 | .master = &omap54xx_l4_per_hwmod, | ||
1726 | .slave = &omap54xx_gpio4_hwmod, | ||
1727 | .clk = "l4_root_clk_div", | ||
1728 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1729 | }; | ||
1730 | |||
1731 | /* l4_per -> gpio5 */ | ||
1732 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio5 = { | ||
1733 | .master = &omap54xx_l4_per_hwmod, | ||
1734 | .slave = &omap54xx_gpio5_hwmod, | ||
1735 | .clk = "l4_root_clk_div", | ||
1736 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1737 | }; | ||
1738 | |||
1739 | /* l4_per -> gpio6 */ | ||
1740 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio6 = { | ||
1741 | .master = &omap54xx_l4_per_hwmod, | ||
1742 | .slave = &omap54xx_gpio6_hwmod, | ||
1743 | .clk = "l4_root_clk_div", | ||
1744 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1745 | }; | ||
1746 | |||
1747 | /* l4_per -> gpio7 */ | ||
1748 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio7 = { | ||
1749 | .master = &omap54xx_l4_per_hwmod, | ||
1750 | .slave = &omap54xx_gpio7_hwmod, | ||
1751 | .clk = "l4_root_clk_div", | ||
1752 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1753 | }; | ||
1754 | |||
1755 | /* l4_per -> gpio8 */ | ||
1756 | static struct omap_hwmod_ocp_if omap54xx_l4_per__gpio8 = { | ||
1757 | .master = &omap54xx_l4_per_hwmod, | ||
1758 | .slave = &omap54xx_gpio8_hwmod, | ||
1759 | .clk = "l4_root_clk_div", | ||
1760 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1761 | }; | ||
1762 | |||
1763 | /* l4_per -> i2c1 */ | ||
1764 | static struct omap_hwmod_ocp_if omap54xx_l4_per__i2c1 = { | ||
1765 | .master = &omap54xx_l4_per_hwmod, | ||
1766 | .slave = &omap54xx_i2c1_hwmod, | ||
1767 | .clk = "l4_root_clk_div", | ||
1768 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1769 | }; | ||
1770 | |||
1771 | /* l4_per -> i2c2 */ | ||
1772 | static struct omap_hwmod_ocp_if omap54xx_l4_per__i2c2 = { | ||
1773 | .master = &omap54xx_l4_per_hwmod, | ||
1774 | .slave = &omap54xx_i2c2_hwmod, | ||
1775 | .clk = "l4_root_clk_div", | ||
1776 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1777 | }; | ||
1778 | |||
1779 | /* l4_per -> i2c3 */ | ||
1780 | static struct omap_hwmod_ocp_if omap54xx_l4_per__i2c3 = { | ||
1781 | .master = &omap54xx_l4_per_hwmod, | ||
1782 | .slave = &omap54xx_i2c3_hwmod, | ||
1783 | .clk = "l4_root_clk_div", | ||
1784 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1785 | }; | ||
1786 | |||
1787 | /* l4_per -> i2c4 */ | ||
1788 | static struct omap_hwmod_ocp_if omap54xx_l4_per__i2c4 = { | ||
1789 | .master = &omap54xx_l4_per_hwmod, | ||
1790 | .slave = &omap54xx_i2c4_hwmod, | ||
1791 | .clk = "l4_root_clk_div", | ||
1792 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1793 | }; | ||
1794 | |||
1795 | /* l4_per -> i2c5 */ | ||
1796 | static struct omap_hwmod_ocp_if omap54xx_l4_per__i2c5 = { | ||
1797 | .master = &omap54xx_l4_per_hwmod, | ||
1798 | .slave = &omap54xx_i2c5_hwmod, | ||
1799 | .clk = "l4_root_clk_div", | ||
1800 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1801 | }; | ||
1802 | |||
1803 | /* l4_wkup -> kbd */ | ||
1804 | static struct omap_hwmod_ocp_if omap54xx_l4_wkup__kbd = { | ||
1805 | .master = &omap54xx_l4_wkup_hwmod, | ||
1806 | .slave = &omap54xx_kbd_hwmod, | ||
1807 | .clk = "wkupaon_iclk_mux", | ||
1808 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1809 | }; | ||
1810 | |||
1811 | /* l4_abe -> mcbsp1 */ | ||
1812 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__mcbsp1 = { | ||
1813 | .master = &omap54xx_l4_abe_hwmod, | ||
1814 | .slave = &omap54xx_mcbsp1_hwmod, | ||
1815 | .clk = "abe_iclk", | ||
1816 | .user = OCP_USER_MPU, | ||
1817 | }; | ||
1818 | |||
1819 | /* l4_abe -> mcbsp2 */ | ||
1820 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__mcbsp2 = { | ||
1821 | .master = &omap54xx_l4_abe_hwmod, | ||
1822 | .slave = &omap54xx_mcbsp2_hwmod, | ||
1823 | .clk = "abe_iclk", | ||
1824 | .user = OCP_USER_MPU, | ||
1825 | }; | ||
1826 | |||
1827 | /* l4_abe -> mcbsp3 */ | ||
1828 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__mcbsp3 = { | ||
1829 | .master = &omap54xx_l4_abe_hwmod, | ||
1830 | .slave = &omap54xx_mcbsp3_hwmod, | ||
1831 | .clk = "abe_iclk", | ||
1832 | .user = OCP_USER_MPU, | ||
1833 | }; | ||
1834 | |||
1835 | /* l4_abe -> mcpdm */ | ||
1836 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__mcpdm = { | ||
1837 | .master = &omap54xx_l4_abe_hwmod, | ||
1838 | .slave = &omap54xx_mcpdm_hwmod, | ||
1839 | .clk = "abe_iclk", | ||
1840 | .user = OCP_USER_MPU, | ||
1841 | }; | ||
1842 | |||
1843 | /* l4_per -> mcspi1 */ | ||
1844 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mcspi1 = { | ||
1845 | .master = &omap54xx_l4_per_hwmod, | ||
1846 | .slave = &omap54xx_mcspi1_hwmod, | ||
1847 | .clk = "l4_root_clk_div", | ||
1848 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1849 | }; | ||
1850 | |||
1851 | /* l4_per -> mcspi2 */ | ||
1852 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mcspi2 = { | ||
1853 | .master = &omap54xx_l4_per_hwmod, | ||
1854 | .slave = &omap54xx_mcspi2_hwmod, | ||
1855 | .clk = "l4_root_clk_div", | ||
1856 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1857 | }; | ||
1858 | |||
1859 | /* l4_per -> mcspi3 */ | ||
1860 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mcspi3 = { | ||
1861 | .master = &omap54xx_l4_per_hwmod, | ||
1862 | .slave = &omap54xx_mcspi3_hwmod, | ||
1863 | .clk = "l4_root_clk_div", | ||
1864 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1865 | }; | ||
1866 | |||
1867 | /* l4_per -> mcspi4 */ | ||
1868 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mcspi4 = { | ||
1869 | .master = &omap54xx_l4_per_hwmod, | ||
1870 | .slave = &omap54xx_mcspi4_hwmod, | ||
1871 | .clk = "l4_root_clk_div", | ||
1872 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1873 | }; | ||
1874 | |||
1875 | /* l4_per -> mmc1 */ | ||
1876 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mmc1 = { | ||
1877 | .master = &omap54xx_l4_per_hwmod, | ||
1878 | .slave = &omap54xx_mmc1_hwmod, | ||
1879 | .clk = "l3_iclk_div", | ||
1880 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1881 | }; | ||
1882 | |||
1883 | /* l4_per -> mmc2 */ | ||
1884 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mmc2 = { | ||
1885 | .master = &omap54xx_l4_per_hwmod, | ||
1886 | .slave = &omap54xx_mmc2_hwmod, | ||
1887 | .clk = "l3_iclk_div", | ||
1888 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1889 | }; | ||
1890 | |||
1891 | /* l4_per -> mmc3 */ | ||
1892 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mmc3 = { | ||
1893 | .master = &omap54xx_l4_per_hwmod, | ||
1894 | .slave = &omap54xx_mmc3_hwmod, | ||
1895 | .clk = "l4_root_clk_div", | ||
1896 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1897 | }; | ||
1898 | |||
1899 | /* l4_per -> mmc4 */ | ||
1900 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mmc4 = { | ||
1901 | .master = &omap54xx_l4_per_hwmod, | ||
1902 | .slave = &omap54xx_mmc4_hwmod, | ||
1903 | .clk = "l4_root_clk_div", | ||
1904 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1905 | }; | ||
1906 | |||
1907 | /* l4_per -> mmc5 */ | ||
1908 | static struct omap_hwmod_ocp_if omap54xx_l4_per__mmc5 = { | ||
1909 | .master = &omap54xx_l4_per_hwmod, | ||
1910 | .slave = &omap54xx_mmc5_hwmod, | ||
1911 | .clk = "l4_root_clk_div", | ||
1912 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1913 | }; | ||
1914 | |||
1915 | /* l4_cfg -> mpu */ | ||
1916 | static struct omap_hwmod_ocp_if omap54xx_l4_cfg__mpu = { | ||
1917 | .master = &omap54xx_l4_cfg_hwmod, | ||
1918 | .slave = &omap54xx_mpu_hwmod, | ||
1919 | .clk = "l4_root_clk_div", | ||
1920 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1921 | }; | ||
1922 | |||
1923 | /* l4_wkup -> timer1 */ | ||
1924 | static struct omap_hwmod_ocp_if omap54xx_l4_wkup__timer1 = { | ||
1925 | .master = &omap54xx_l4_wkup_hwmod, | ||
1926 | .slave = &omap54xx_timer1_hwmod, | ||
1927 | .clk = "wkupaon_iclk_mux", | ||
1928 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1929 | }; | ||
1930 | |||
1931 | /* l4_per -> timer2 */ | ||
1932 | static struct omap_hwmod_ocp_if omap54xx_l4_per__timer2 = { | ||
1933 | .master = &omap54xx_l4_per_hwmod, | ||
1934 | .slave = &omap54xx_timer2_hwmod, | ||
1935 | .clk = "l4_root_clk_div", | ||
1936 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1937 | }; | ||
1938 | |||
1939 | /* l4_per -> timer3 */ | ||
1940 | static struct omap_hwmod_ocp_if omap54xx_l4_per__timer3 = { | ||
1941 | .master = &omap54xx_l4_per_hwmod, | ||
1942 | .slave = &omap54xx_timer3_hwmod, | ||
1943 | .clk = "l4_root_clk_div", | ||
1944 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1945 | }; | ||
1946 | |||
1947 | /* l4_per -> timer4 */ | ||
1948 | static struct omap_hwmod_ocp_if omap54xx_l4_per__timer4 = { | ||
1949 | .master = &omap54xx_l4_per_hwmod, | ||
1950 | .slave = &omap54xx_timer4_hwmod, | ||
1951 | .clk = "l4_root_clk_div", | ||
1952 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1953 | }; | ||
1954 | |||
1955 | /* l4_abe -> timer5 */ | ||
1956 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__timer5 = { | ||
1957 | .master = &omap54xx_l4_abe_hwmod, | ||
1958 | .slave = &omap54xx_timer5_hwmod, | ||
1959 | .clk = "abe_iclk", | ||
1960 | .user = OCP_USER_MPU, | ||
1961 | }; | ||
1962 | |||
1963 | /* l4_abe -> timer6 */ | ||
1964 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__timer6 = { | ||
1965 | .master = &omap54xx_l4_abe_hwmod, | ||
1966 | .slave = &omap54xx_timer6_hwmod, | ||
1967 | .clk = "abe_iclk", | ||
1968 | .user = OCP_USER_MPU, | ||
1969 | }; | ||
1970 | |||
1971 | /* l4_abe -> timer7 */ | ||
1972 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__timer7 = { | ||
1973 | .master = &omap54xx_l4_abe_hwmod, | ||
1974 | .slave = &omap54xx_timer7_hwmod, | ||
1975 | .clk = "abe_iclk", | ||
1976 | .user = OCP_USER_MPU, | ||
1977 | }; | ||
1978 | |||
1979 | /* l4_abe -> timer8 */ | ||
1980 | static struct omap_hwmod_ocp_if omap54xx_l4_abe__timer8 = { | ||
1981 | .master = &omap54xx_l4_abe_hwmod, | ||
1982 | .slave = &omap54xx_timer8_hwmod, | ||
1983 | .clk = "abe_iclk", | ||
1984 | .user = OCP_USER_MPU, | ||
1985 | }; | ||
1986 | |||
1987 | /* l4_per -> timer9 */ | ||
1988 | static struct omap_hwmod_ocp_if omap54xx_l4_per__timer9 = { | ||
1989 | .master = &omap54xx_l4_per_hwmod, | ||
1990 | .slave = &omap54xx_timer9_hwmod, | ||
1991 | .clk = "l4_root_clk_div", | ||
1992 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
1993 | }; | ||
1994 | |||
1995 | /* l4_per -> timer10 */ | ||
1996 | static struct omap_hwmod_ocp_if omap54xx_l4_per__timer10 = { | ||
1997 | .master = &omap54xx_l4_per_hwmod, | ||
1998 | .slave = &omap54xx_timer10_hwmod, | ||
1999 | .clk = "l4_root_clk_div", | ||
2000 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2001 | }; | ||
2002 | |||
2003 | /* l4_per -> timer11 */ | ||
2004 | static struct omap_hwmod_ocp_if omap54xx_l4_per__timer11 = { | ||
2005 | .master = &omap54xx_l4_per_hwmod, | ||
2006 | .slave = &omap54xx_timer11_hwmod, | ||
2007 | .clk = "l4_root_clk_div", | ||
2008 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2009 | }; | ||
2010 | |||
2011 | /* l4_per -> uart1 */ | ||
2012 | static struct omap_hwmod_ocp_if omap54xx_l4_per__uart1 = { | ||
2013 | .master = &omap54xx_l4_per_hwmod, | ||
2014 | .slave = &omap54xx_uart1_hwmod, | ||
2015 | .clk = "l4_root_clk_div", | ||
2016 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2017 | }; | ||
2018 | |||
2019 | /* l4_per -> uart2 */ | ||
2020 | static struct omap_hwmod_ocp_if omap54xx_l4_per__uart2 = { | ||
2021 | .master = &omap54xx_l4_per_hwmod, | ||
2022 | .slave = &omap54xx_uart2_hwmod, | ||
2023 | .clk = "l4_root_clk_div", | ||
2024 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2025 | }; | ||
2026 | |||
2027 | /* l4_per -> uart3 */ | ||
2028 | static struct omap_hwmod_ocp_if omap54xx_l4_per__uart3 = { | ||
2029 | .master = &omap54xx_l4_per_hwmod, | ||
2030 | .slave = &omap54xx_uart3_hwmod, | ||
2031 | .clk = "l4_root_clk_div", | ||
2032 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2033 | }; | ||
2034 | |||
2035 | /* l4_per -> uart4 */ | ||
2036 | static struct omap_hwmod_ocp_if omap54xx_l4_per__uart4 = { | ||
2037 | .master = &omap54xx_l4_per_hwmod, | ||
2038 | .slave = &omap54xx_uart4_hwmod, | ||
2039 | .clk = "l4_root_clk_div", | ||
2040 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2041 | }; | ||
2042 | |||
2043 | /* l4_per -> uart5 */ | ||
2044 | static struct omap_hwmod_ocp_if omap54xx_l4_per__uart5 = { | ||
2045 | .master = &omap54xx_l4_per_hwmod, | ||
2046 | .slave = &omap54xx_uart5_hwmod, | ||
2047 | .clk = "l4_root_clk_div", | ||
2048 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2049 | }; | ||
2050 | |||
2051 | /* l4_per -> uart6 */ | ||
2052 | static struct omap_hwmod_ocp_if omap54xx_l4_per__uart6 = { | ||
2053 | .master = &omap54xx_l4_per_hwmod, | ||
2054 | .slave = &omap54xx_uart6_hwmod, | ||
2055 | .clk = "l4_root_clk_div", | ||
2056 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2057 | }; | ||
2058 | |||
2059 | /* l4_cfg -> usb_otg_ss */ | ||
2060 | static struct omap_hwmod_ocp_if omap54xx_l4_cfg__usb_otg_ss = { | ||
2061 | .master = &omap54xx_l4_cfg_hwmod, | ||
2062 | .slave = &omap54xx_usb_otg_ss_hwmod, | ||
2063 | .clk = "dpll_core_h13x2_ck", | ||
2064 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2065 | }; | ||
2066 | |||
2067 | /* l4_wkup -> wd_timer2 */ | ||
2068 | static struct omap_hwmod_ocp_if omap54xx_l4_wkup__wd_timer2 = { | ||
2069 | .master = &omap54xx_l4_wkup_hwmod, | ||
2070 | .slave = &omap54xx_wd_timer2_hwmod, | ||
2071 | .clk = "wkupaon_iclk_mux", | ||
2072 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
2073 | }; | ||
2074 | |||
2075 | static struct omap_hwmod_ocp_if *omap54xx_hwmod_ocp_ifs[] __initdata = { | ||
2076 | &omap54xx_l3_main_1__dmm, | ||
2077 | &omap54xx_l3_main_3__l3_instr, | ||
2078 | &omap54xx_l3_main_2__l3_main_1, | ||
2079 | &omap54xx_l4_cfg__l3_main_1, | ||
2080 | &omap54xx_mpu__l3_main_1, | ||
2081 | &omap54xx_l3_main_1__l3_main_2, | ||
2082 | &omap54xx_l4_cfg__l3_main_2, | ||
2083 | &omap54xx_l3_main_1__l3_main_3, | ||
2084 | &omap54xx_l3_main_2__l3_main_3, | ||
2085 | &omap54xx_l4_cfg__l3_main_3, | ||
2086 | &omap54xx_l3_main_1__l4_abe, | ||
2087 | &omap54xx_mpu__l4_abe, | ||
2088 | &omap54xx_l3_main_1__l4_cfg, | ||
2089 | &omap54xx_l3_main_2__l4_per, | ||
2090 | &omap54xx_l3_main_1__l4_wkup, | ||
2091 | &omap54xx_mpu__mpu_private, | ||
2092 | &omap54xx_l4_wkup__counter_32k, | ||
2093 | &omap54xx_l4_cfg__dma_system, | ||
2094 | &omap54xx_l4_abe__dmic, | ||
2095 | &omap54xx_mpu__emif1, | ||
2096 | &omap54xx_mpu__emif2, | ||
2097 | &omap54xx_l4_wkup__gpio1, | ||
2098 | &omap54xx_l4_per__gpio2, | ||
2099 | &omap54xx_l4_per__gpio3, | ||
2100 | &omap54xx_l4_per__gpio4, | ||
2101 | &omap54xx_l4_per__gpio5, | ||
2102 | &omap54xx_l4_per__gpio6, | ||
2103 | &omap54xx_l4_per__gpio7, | ||
2104 | &omap54xx_l4_per__gpio8, | ||
2105 | &omap54xx_l4_per__i2c1, | ||
2106 | &omap54xx_l4_per__i2c2, | ||
2107 | &omap54xx_l4_per__i2c3, | ||
2108 | &omap54xx_l4_per__i2c4, | ||
2109 | &omap54xx_l4_per__i2c5, | ||
2110 | &omap54xx_l4_wkup__kbd, | ||
2111 | &omap54xx_l4_abe__mcbsp1, | ||
2112 | &omap54xx_l4_abe__mcbsp2, | ||
2113 | &omap54xx_l4_abe__mcbsp3, | ||
2114 | &omap54xx_l4_abe__mcpdm, | ||
2115 | &omap54xx_l4_per__mcspi1, | ||
2116 | &omap54xx_l4_per__mcspi2, | ||
2117 | &omap54xx_l4_per__mcspi3, | ||
2118 | &omap54xx_l4_per__mcspi4, | ||
2119 | &omap54xx_l4_per__mmc1, | ||
2120 | &omap54xx_l4_per__mmc2, | ||
2121 | &omap54xx_l4_per__mmc3, | ||
2122 | &omap54xx_l4_per__mmc4, | ||
2123 | &omap54xx_l4_per__mmc5, | ||
2124 | &omap54xx_l4_cfg__mpu, | ||
2125 | &omap54xx_l4_wkup__timer1, | ||
2126 | &omap54xx_l4_per__timer2, | ||
2127 | &omap54xx_l4_per__timer3, | ||
2128 | &omap54xx_l4_per__timer4, | ||
2129 | &omap54xx_l4_abe__timer5, | ||
2130 | &omap54xx_l4_abe__timer6, | ||
2131 | &omap54xx_l4_abe__timer7, | ||
2132 | &omap54xx_l4_abe__timer8, | ||
2133 | &omap54xx_l4_per__timer9, | ||
2134 | &omap54xx_l4_per__timer10, | ||
2135 | &omap54xx_l4_per__timer11, | ||
2136 | &omap54xx_l4_per__uart1, | ||
2137 | &omap54xx_l4_per__uart2, | ||
2138 | &omap54xx_l4_per__uart3, | ||
2139 | &omap54xx_l4_per__uart4, | ||
2140 | &omap54xx_l4_per__uart5, | ||
2141 | &omap54xx_l4_per__uart6, | ||
2142 | &omap54xx_l4_cfg__usb_otg_ss, | ||
2143 | &omap54xx_l4_wkup__wd_timer2, | ||
2144 | NULL, | ||
2145 | }; | ||
2146 | |||
2147 | int __init omap54xx_hwmod_init(void) | ||
2148 | { | ||
2149 | omap_hwmod_init(); | ||
2150 | return omap_hwmod_register_links(omap54xx_hwmod_ocp_ifs); | ||
2151 | } | ||
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index a251f87fa2a2..82f0698933d8 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * OMAP4 Power Management Routines | 2 | * OMAP4+ Power Management Routines |
3 | * | 3 | * |
4 | * Copyright (C) 2010-2011 Texas Instruments, Inc. | 4 | * Copyright (C) 2010-2013 Texas Instruments, Inc. |
5 | * Rajendra Nayak <rnayak@ti.com> | 5 | * Rajendra Nayak <rnayak@ti.com> |
6 | * Santosh Shilimkar <santosh.shilimkar@ti.com> | 6 | * Santosh Shilimkar <santosh.shilimkar@ti.com> |
7 | * | 7 | * |
@@ -135,16 +135,16 @@ static void omap_default_idle(void) | |||
135 | } | 135 | } |
136 | 136 | ||
137 | /** | 137 | /** |
138 | * omap4_pm_init - Init routine for OMAP4 PM | 138 | * omap4_init_static_deps - Add OMAP4 static dependencies |
139 | * | 139 | * |
140 | * Initializes all powerdomain and clockdomain target states | 140 | * Add needed static clockdomain dependencies on OMAP4 devices. |
141 | * and all PRCM settings. | 141 | * Return: 0 on success or 'err' on failures |
142 | */ | 142 | */ |
143 | int __init omap4_pm_init(void) | 143 | static inline int omap4_init_static_deps(void) |
144 | { | 144 | { |
145 | int ret; | ||
146 | struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm; | 145 | struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm; |
147 | struct clockdomain *ducati_clkdm, *l3_2_clkdm; | 146 | struct clockdomain *ducati_clkdm, *l3_2_clkdm; |
147 | int ret = 0; | ||
148 | 148 | ||
149 | if (omap_rev() == OMAP4430_REV_ES1_0) { | 149 | if (omap_rev() == OMAP4430_REV_ES1_0) { |
150 | WARN(1, "Power Management not supported on OMAP4430 ES1.0\n"); | 150 | WARN(1, "Power Management not supported on OMAP4430 ES1.0\n"); |
@@ -163,7 +163,7 @@ int __init omap4_pm_init(void) | |||
163 | ret = pwrdm_for_each(pwrdms_setup, NULL); | 163 | ret = pwrdm_for_each(pwrdms_setup, NULL); |
164 | if (ret) { | 164 | if (ret) { |
165 | pr_err("Failed to setup powerdomains\n"); | 165 | pr_err("Failed to setup powerdomains\n"); |
166 | goto err2; | 166 | return ret; |
167 | } | 167 | } |
168 | 168 | ||
169 | /* | 169 | /* |
@@ -171,6 +171,10 @@ int __init omap4_pm_init(void) | |||
171 | * MPUSS -> L4_PER/L3_* and DUCATI -> L3_* doesn't work as | 171 | * MPUSS -> L4_PER/L3_* and DUCATI -> L3_* doesn't work as |
172 | * expected. The hardware recommendation is to enable static | 172 | * expected. The hardware recommendation is to enable static |
173 | * dependencies for these to avoid system lock ups or random crashes. | 173 | * dependencies for these to avoid system lock ups or random crashes. |
174 | * The L4 wakeup depedency is added to workaround the OCP sync hardware | ||
175 | * BUG with 32K synctimer which lead to incorrect timer value read | ||
176 | * from the 32K counter. The BUG applies for GPTIMER1 and WDT2 which | ||
177 | * are part of L4 wakeup clockdomain. | ||
174 | */ | 178 | */ |
175 | mpuss_clkdm = clkdm_lookup("mpuss_clkdm"); | 179 | mpuss_clkdm = clkdm_lookup("mpuss_clkdm"); |
176 | emif_clkdm = clkdm_lookup("l3_emif_clkdm"); | 180 | emif_clkdm = clkdm_lookup("l3_emif_clkdm"); |
@@ -179,7 +183,7 @@ int __init omap4_pm_init(void) | |||
179 | ducati_clkdm = clkdm_lookup("ducati_clkdm"); | 183 | ducati_clkdm = clkdm_lookup("ducati_clkdm"); |
180 | if ((!mpuss_clkdm) || (!emif_clkdm) || (!l3_1_clkdm) || | 184 | if ((!mpuss_clkdm) || (!emif_clkdm) || (!l3_1_clkdm) || |
181 | (!l3_2_clkdm) || (!ducati_clkdm)) | 185 | (!l3_2_clkdm) || (!ducati_clkdm)) |
182 | goto err2; | 186 | return -EINVAL; |
183 | 187 | ||
184 | ret = clkdm_add_wkdep(mpuss_clkdm, emif_clkdm); | 188 | ret = clkdm_add_wkdep(mpuss_clkdm, emif_clkdm); |
185 | ret |= clkdm_add_wkdep(mpuss_clkdm, l3_1_clkdm); | 189 | ret |= clkdm_add_wkdep(mpuss_clkdm, l3_1_clkdm); |
@@ -188,9 +192,42 @@ int __init omap4_pm_init(void) | |||
188 | ret |= clkdm_add_wkdep(ducati_clkdm, l3_2_clkdm); | 192 | ret |= clkdm_add_wkdep(ducati_clkdm, l3_2_clkdm); |
189 | if (ret) { | 193 | if (ret) { |
190 | pr_err("Failed to add MPUSS -> L3/EMIF/L4PER, DUCATI -> L3 wakeup dependency\n"); | 194 | pr_err("Failed to add MPUSS -> L3/EMIF/L4PER, DUCATI -> L3 wakeup dependency\n"); |
195 | return -EINVAL; | ||
196 | } | ||
197 | |||
198 | return ret; | ||
199 | } | ||
200 | |||
201 | /** | ||
202 | * omap4_pm_init - Init routine for OMAP4+ devices | ||
203 | * | ||
204 | * Initializes all powerdomain and clockdomain target states | ||
205 | * and all PRCM settings. | ||
206 | * Return: Returns the error code returned by called functions. | ||
207 | */ | ||
208 | int __init omap4_pm_init(void) | ||
209 | { | ||
210 | int ret = 0; | ||
211 | |||
212 | if (omap_rev() == OMAP4430_REV_ES1_0) { | ||
213 | WARN(1, "Power Management not supported on OMAP4430 ES1.0\n"); | ||
214 | return -ENODEV; | ||
215 | } | ||
216 | |||
217 | pr_info("Power Management for TI OMAP4+ devices.\n"); | ||
218 | |||
219 | ret = pwrdm_for_each(pwrdms_setup, NULL); | ||
220 | if (ret) { | ||
221 | pr_err("Failed to setup powerdomains.\n"); | ||
191 | goto err2; | 222 | goto err2; |
192 | } | 223 | } |
193 | 224 | ||
225 | if (cpu_is_omap44xx()) { | ||
226 | ret = omap4_init_static_deps(); | ||
227 | if (ret) | ||
228 | goto err2; | ||
229 | } | ||
230 | |||
194 | ret = omap4_mpuss_init(); | 231 | ret = omap4_mpuss_init(); |
195 | if (ret) { | 232 | if (ret) { |
196 | pr_err("Failed to initialise OMAP4 MPUSS\n"); | 233 | pr_err("Failed to initialise OMAP4 MPUSS\n"); |
@@ -206,7 +243,8 @@ int __init omap4_pm_init(void) | |||
206 | /* Overwrite the default cpu_do_idle() */ | 243 | /* Overwrite the default cpu_do_idle() */ |
207 | arm_pm_idle = omap_default_idle; | 244 | arm_pm_idle = omap_default_idle; |
208 | 245 | ||
209 | omap4_idle_init(); | 246 | if (cpu_is_omap44xx()) |
247 | omap4_idle_init(); | ||
210 | 248 | ||
211 | err2: | 249 | err2: |
212 | return ret; | 250 | return ret; |
diff --git a/arch/arm/mach-omap2/pmu.c b/arch/arm/mach-omap2/pmu.c index 9ace8eae7ee8..33c8846b4193 100644 --- a/arch/arm/mach-omap2/pmu.c +++ b/arch/arm/mach-omap2/pmu.c | |||
@@ -54,10 +54,7 @@ static int __init omap2_init_pmu(unsigned oh_num, char *oh_names[]) | |||
54 | WARN(IS_ERR(omap_pmu_dev), "Can't build omap_device for %s.\n", | 54 | WARN(IS_ERR(omap_pmu_dev), "Can't build omap_device for %s.\n", |
55 | dev_name); | 55 | dev_name); |
56 | 56 | ||
57 | if (IS_ERR(omap_pmu_dev)) | 57 | return PTR_RET(omap_pmu_dev); |
58 | return PTR_ERR(omap_pmu_dev); | ||
59 | |||
60 | return 0; | ||
61 | } | 58 | } |
62 | 59 | ||
63 | static int __init omap_init_pmu(void) | 60 | static int __init omap_init_pmu(void) |
diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 86babd740d41..e233dfcbc186 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c | |||
@@ -102,6 +102,10 @@ static int _pwrdm_register(struct powerdomain *pwrdm) | |||
102 | if (_pwrdm_lookup(pwrdm->name)) | 102 | if (_pwrdm_lookup(pwrdm->name)) |
103 | return -EEXIST; | 103 | return -EEXIST; |
104 | 104 | ||
105 | if (arch_pwrdm && arch_pwrdm->pwrdm_has_voltdm) | ||
106 | if (!arch_pwrdm->pwrdm_has_voltdm()) | ||
107 | goto skip_voltdm; | ||
108 | |||
105 | voltdm = voltdm_lookup(pwrdm->voltdm.name); | 109 | voltdm = voltdm_lookup(pwrdm->voltdm.name); |
106 | if (!voltdm) { | 110 | if (!voltdm) { |
107 | pr_err("powerdomain: %s: voltagedomain %s does not exist\n", | 111 | pr_err("powerdomain: %s: voltagedomain %s does not exist\n", |
@@ -111,6 +115,7 @@ static int _pwrdm_register(struct powerdomain *pwrdm) | |||
111 | pwrdm->voltdm.ptr = voltdm; | 115 | pwrdm->voltdm.ptr = voltdm; |
112 | INIT_LIST_HEAD(&pwrdm->voltdm_node); | 116 | INIT_LIST_HEAD(&pwrdm->voltdm_node); |
113 | voltdm_add_pwrdm(voltdm, pwrdm); | 117 | voltdm_add_pwrdm(voltdm, pwrdm); |
118 | skip_voltdm: | ||
114 | spin_lock_init(&pwrdm->_lock); | 119 | spin_lock_init(&pwrdm->_lock); |
115 | 120 | ||
116 | list_add(&pwrdm->node, &pwrdm_list); | 121 | list_add(&pwrdm->node, &pwrdm_list); |
diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h index 140c36074fed..e4d7bd6f94b8 100644 --- a/arch/arm/mach-omap2/powerdomain.h +++ b/arch/arm/mach-omap2/powerdomain.h | |||
@@ -166,6 +166,7 @@ struct powerdomain { | |||
166 | * @pwrdm_disable_hdwr_sar: Disable Hardware Save-Restore feature for a pd | 166 | * @pwrdm_disable_hdwr_sar: Disable Hardware Save-Restore feature for a pd |
167 | * @pwrdm_set_lowpwrstchange: Enable pd transitions from a shallow to deep sleep | 167 | * @pwrdm_set_lowpwrstchange: Enable pd transitions from a shallow to deep sleep |
168 | * @pwrdm_wait_transition: Wait for a pd state transition to complete | 168 | * @pwrdm_wait_transition: Wait for a pd state transition to complete |
169 | * @pwrdm_has_voltdm: Check if a voltdm association is needed | ||
169 | * | 170 | * |
170 | * Regarding @pwrdm_set_lowpwrstchange: On the OMAP2 and 3-family | 171 | * Regarding @pwrdm_set_lowpwrstchange: On the OMAP2 and 3-family |
171 | * chips, a powerdomain's power state is not allowed to directly | 172 | * chips, a powerdomain's power state is not allowed to directly |
@@ -196,6 +197,7 @@ struct pwrdm_ops { | |||
196 | int (*pwrdm_disable_hdwr_sar)(struct powerdomain *pwrdm); | 197 | int (*pwrdm_disable_hdwr_sar)(struct powerdomain *pwrdm); |
197 | int (*pwrdm_set_lowpwrstchange)(struct powerdomain *pwrdm); | 198 | int (*pwrdm_set_lowpwrstchange)(struct powerdomain *pwrdm); |
198 | int (*pwrdm_wait_transition)(struct powerdomain *pwrdm); | 199 | int (*pwrdm_wait_transition)(struct powerdomain *pwrdm); |
200 | int (*pwrdm_has_voltdm)(void); | ||
199 | }; | 201 | }; |
200 | 202 | ||
201 | int pwrdm_register_platform_funcs(struct pwrdm_ops *custom_funcs); | 203 | int pwrdm_register_platform_funcs(struct pwrdm_ops *custom_funcs); |
@@ -253,6 +255,7 @@ extern void omap243x_powerdomains_init(void); | |||
253 | extern void omap3xxx_powerdomains_init(void); | 255 | extern void omap3xxx_powerdomains_init(void); |
254 | extern void am33xx_powerdomains_init(void); | 256 | extern void am33xx_powerdomains_init(void); |
255 | extern void omap44xx_powerdomains_init(void); | 257 | extern void omap44xx_powerdomains_init(void); |
258 | extern void omap54xx_powerdomains_init(void); | ||
256 | 259 | ||
257 | extern struct pwrdm_ops omap2_pwrdm_operations; | 260 | extern struct pwrdm_ops omap2_pwrdm_operations; |
258 | extern struct pwrdm_ops omap3_pwrdm_operations; | 261 | extern struct pwrdm_ops omap3_pwrdm_operations; |
diff --git a/arch/arm/mach-omap2/powerdomains3xxx_data.c b/arch/arm/mach-omap2/powerdomains3xxx_data.c index f0e14e9efe5a..e2d4bd804523 100644 --- a/arch/arm/mach-omap2/powerdomains3xxx_data.c +++ b/arch/arm/mach-omap2/powerdomains3xxx_data.c | |||
@@ -336,6 +336,54 @@ static struct powerdomain dpll5_pwrdm = { | |||
336 | .voltdm = { .name = "core" }, | 336 | .voltdm = { .name = "core" }, |
337 | }; | 337 | }; |
338 | 338 | ||
339 | static struct powerdomain device_81xx_pwrdm = { | ||
340 | .name = "device_pwrdm", | ||
341 | .prcm_offs = TI81XX_PRM_DEVICE_MOD, | ||
342 | .voltdm = { .name = "core" }, | ||
343 | }; | ||
344 | |||
345 | static struct powerdomain active_816x_pwrdm = { | ||
346 | .name = "active_pwrdm", | ||
347 | .prcm_offs = TI816X_PRM_ACTIVE_MOD, | ||
348 | .pwrsts = PWRSTS_OFF_ON, | ||
349 | .voltdm = { .name = "core" }, | ||
350 | }; | ||
351 | |||
352 | static struct powerdomain default_816x_pwrdm = { | ||
353 | .name = "default_pwrdm", | ||
354 | .prcm_offs = TI81XX_PRM_DEFAULT_MOD, | ||
355 | .pwrsts = PWRSTS_OFF_ON, | ||
356 | .voltdm = { .name = "core" }, | ||
357 | }; | ||
358 | |||
359 | static struct powerdomain ivahd0_816x_pwrdm = { | ||
360 | .name = "ivahd0_pwrdm", | ||
361 | .prcm_offs = TI816X_PRM_IVAHD0_MOD, | ||
362 | .pwrsts = PWRSTS_OFF_ON, | ||
363 | .voltdm = { .name = "mpu_iva" }, | ||
364 | }; | ||
365 | |||
366 | static struct powerdomain ivahd1_816x_pwrdm = { | ||
367 | .name = "ivahd1_pwrdm", | ||
368 | .prcm_offs = TI816X_PRM_IVAHD1_MOD, | ||
369 | .pwrsts = PWRSTS_OFF_ON, | ||
370 | .voltdm = { .name = "mpu_iva" }, | ||
371 | }; | ||
372 | |||
373 | static struct powerdomain ivahd2_816x_pwrdm = { | ||
374 | .name = "ivahd2_pwrdm", | ||
375 | .prcm_offs = TI816X_PRM_IVAHD2_MOD, | ||
376 | .pwrsts = PWRSTS_OFF_ON, | ||
377 | .voltdm = { .name = "mpu_iva" }, | ||
378 | }; | ||
379 | |||
380 | static struct powerdomain sgx_816x_pwrdm = { | ||
381 | .name = "sgx_pwrdm", | ||
382 | .prcm_offs = TI816X_PRM_SGX_MOD, | ||
383 | .pwrsts = PWRSTS_OFF_ON, | ||
384 | .voltdm = { .name = "core" }, | ||
385 | }; | ||
386 | |||
339 | /* As powerdomains are added or removed above, this list must also be changed */ | 387 | /* As powerdomains are added or removed above, this list must also be changed */ |
340 | static struct powerdomain *powerdomains_omap3430_common[] __initdata = { | 388 | static struct powerdomain *powerdomains_omap3430_common[] __initdata = { |
341 | &wkup_omap2_pwrdm, | 389 | &wkup_omap2_pwrdm, |
@@ -393,6 +441,17 @@ static struct powerdomain *powerdomains_am35x[] __initdata = { | |||
393 | NULL | 441 | NULL |
394 | }; | 442 | }; |
395 | 443 | ||
444 | static struct powerdomain *powerdomains_ti81xx[] __initdata = { | ||
445 | &device_81xx_pwrdm, | ||
446 | &active_816x_pwrdm, | ||
447 | &default_816x_pwrdm, | ||
448 | &ivahd0_816x_pwrdm, | ||
449 | &ivahd1_816x_pwrdm, | ||
450 | &ivahd2_816x_pwrdm, | ||
451 | &sgx_816x_pwrdm, | ||
452 | NULL | ||
453 | }; | ||
454 | |||
396 | void __init omap3xxx_powerdomains_init(void) | 455 | void __init omap3xxx_powerdomains_init(void) |
397 | { | 456 | { |
398 | unsigned int rev; | 457 | unsigned int rev; |
@@ -406,6 +465,9 @@ void __init omap3xxx_powerdomains_init(void) | |||
406 | 465 | ||
407 | if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) { | 466 | if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) { |
408 | pwrdm_register_pwrdms(powerdomains_am35x); | 467 | pwrdm_register_pwrdms(powerdomains_am35x); |
468 | } else if (rev == TI8168_REV_ES1_0 || rev == TI8168_REV_ES1_1 | ||
469 | || rev == TI8168_REV_ES2_0 || rev == TI8168_REV_ES2_1) { | ||
470 | pwrdm_register_pwrdms(powerdomains_ti81xx); | ||
409 | } else { | 471 | } else { |
410 | pwrdm_register_pwrdms(powerdomains_omap3430_common); | 472 | pwrdm_register_pwrdms(powerdomains_omap3430_common); |
411 | 473 | ||
diff --git a/arch/arm/mach-omap2/powerdomains54xx_data.c b/arch/arm/mach-omap2/powerdomains54xx_data.c new file mode 100644 index 000000000000..81f8a7cc26ee --- /dev/null +++ b/arch/arm/mach-omap2/powerdomains54xx_data.c | |||
@@ -0,0 +1,331 @@ | |||
1 | /* | ||
2 | * OMAP54XX Power domains framework | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments, Inc. | ||
5 | * | ||
6 | * Abhijit Pagare (abhijitpagare@ti.com) | ||
7 | * Benoit Cousson (b-cousson@ti.com) | ||
8 | * Paul Walmsley (paul@pwsan.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/init.h> | ||
23 | |||
24 | #include "powerdomain.h" | ||
25 | |||
26 | #include "prcm-common.h" | ||
27 | #include "prcm44xx.h" | ||
28 | #include "prm-regbits-54xx.h" | ||
29 | #include "prm54xx.h" | ||
30 | #include "prcm_mpu54xx.h" | ||
31 | |||
32 | /* core_54xx_pwrdm: CORE power domain */ | ||
33 | static struct powerdomain core_54xx_pwrdm = { | ||
34 | .name = "core_pwrdm", | ||
35 | .voltdm = { .name = "core" }, | ||
36 | .prcm_offs = OMAP54XX_PRM_CORE_INST, | ||
37 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
38 | .pwrsts = PWRSTS_RET_ON, | ||
39 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | ||
40 | .banks = 5, | ||
41 | .pwrsts_mem_ret = { | ||
42 | [0] = PWRSTS_OFF_RET, /* core_nret_bank */ | ||
43 | [1] = PWRSTS_OFF_RET, /* core_ocmram */ | ||
44 | [2] = PWRSTS_OFF_RET, /* core_other_bank */ | ||
45 | [3] = PWRSTS_OFF_RET, /* ipu_l2ram */ | ||
46 | [4] = PWRSTS_OFF_RET, /* ipu_unicache */ | ||
47 | }, | ||
48 | .pwrsts_mem_on = { | ||
49 | [0] = PWRSTS_OFF_RET, /* core_nret_bank */ | ||
50 | [1] = PWRSTS_OFF_RET, /* core_ocmram */ | ||
51 | [2] = PWRSTS_OFF_RET, /* core_other_bank */ | ||
52 | [3] = PWRSTS_OFF_RET, /* ipu_l2ram */ | ||
53 | [4] = PWRSTS_OFF_RET, /* ipu_unicache */ | ||
54 | }, | ||
55 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
56 | }; | ||
57 | |||
58 | /* abe_54xx_pwrdm: Audio back end power domain */ | ||
59 | static struct powerdomain abe_54xx_pwrdm = { | ||
60 | .name = "abe_pwrdm", | ||
61 | .voltdm = { .name = "core" }, | ||
62 | .prcm_offs = OMAP54XX_PRM_ABE_INST, | ||
63 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
64 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
65 | .pwrsts_logic_ret = PWRSTS_OFF, | ||
66 | .banks = 2, | ||
67 | .pwrsts_mem_ret = { | ||
68 | [0] = PWRSTS_OFF_RET, /* aessmem */ | ||
69 | [1] = PWRSTS_OFF_RET, /* periphmem */ | ||
70 | }, | ||
71 | .pwrsts_mem_on = { | ||
72 | [0] = PWRSTS_OFF_RET, /* aessmem */ | ||
73 | [1] = PWRSTS_OFF_RET, /* periphmem */ | ||
74 | }, | ||
75 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
76 | }; | ||
77 | |||
78 | /* coreaon_54xx_pwrdm: Always ON logic that sits in VDD_CORE voltage domain */ | ||
79 | static struct powerdomain coreaon_54xx_pwrdm = { | ||
80 | .name = "coreaon_pwrdm", | ||
81 | .voltdm = { .name = "core" }, | ||
82 | .prcm_offs = OMAP54XX_PRM_COREAON_INST, | ||
83 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
84 | .pwrsts = PWRSTS_ON, | ||
85 | }; | ||
86 | |||
87 | /* dss_54xx_pwrdm: Display subsystem power domain */ | ||
88 | static struct powerdomain dss_54xx_pwrdm = { | ||
89 | .name = "dss_pwrdm", | ||
90 | .voltdm = { .name = "core" }, | ||
91 | .prcm_offs = OMAP54XX_PRM_DSS_INST, | ||
92 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
93 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
94 | .pwrsts_logic_ret = PWRSTS_OFF, | ||
95 | .banks = 1, | ||
96 | .pwrsts_mem_ret = { | ||
97 | [0] = PWRSTS_OFF_RET, /* dss_mem */ | ||
98 | }, | ||
99 | .pwrsts_mem_on = { | ||
100 | [0] = PWRSTS_OFF_RET, /* dss_mem */ | ||
101 | }, | ||
102 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
103 | }; | ||
104 | |||
105 | /* cpu0_54xx_pwrdm: MPU0 processor and Neon coprocessor power domain */ | ||
106 | static struct powerdomain cpu0_54xx_pwrdm = { | ||
107 | .name = "cpu0_pwrdm", | ||
108 | .voltdm = { .name = "mpu" }, | ||
109 | .prcm_offs = OMAP54XX_PRCM_MPU_PRM_C0_INST, | ||
110 | .prcm_partition = OMAP54XX_PRCM_MPU_PARTITION, | ||
111 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
112 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | ||
113 | .banks = 1, | ||
114 | .pwrsts_mem_ret = { | ||
115 | [0] = PWRSTS_OFF_RET, /* cpu0_l1 */ | ||
116 | }, | ||
117 | .pwrsts_mem_on = { | ||
118 | [0] = PWRSTS_ON, /* cpu0_l1 */ | ||
119 | }, | ||
120 | }; | ||
121 | |||
122 | /* cpu1_54xx_pwrdm: MPU1 processor and Neon coprocessor power domain */ | ||
123 | static struct powerdomain cpu1_54xx_pwrdm = { | ||
124 | .name = "cpu1_pwrdm", | ||
125 | .voltdm = { .name = "mpu" }, | ||
126 | .prcm_offs = OMAP54XX_PRCM_MPU_PRM_C1_INST, | ||
127 | .prcm_partition = OMAP54XX_PRCM_MPU_PARTITION, | ||
128 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
129 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | ||
130 | .banks = 1, | ||
131 | .pwrsts_mem_ret = { | ||
132 | [0] = PWRSTS_OFF_RET, /* cpu1_l1 */ | ||
133 | }, | ||
134 | .pwrsts_mem_on = { | ||
135 | [0] = PWRSTS_ON, /* cpu1_l1 */ | ||
136 | }, | ||
137 | }; | ||
138 | |||
139 | /* emu_54xx_pwrdm: Emulation power domain */ | ||
140 | static struct powerdomain emu_54xx_pwrdm = { | ||
141 | .name = "emu_pwrdm", | ||
142 | .voltdm = { .name = "wkup" }, | ||
143 | .prcm_offs = OMAP54XX_PRM_EMU_INST, | ||
144 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
145 | .pwrsts = PWRSTS_OFF_ON, | ||
146 | .banks = 1, | ||
147 | .pwrsts_mem_ret = { | ||
148 | [0] = PWRSTS_OFF_RET, /* emu_bank */ | ||
149 | }, | ||
150 | .pwrsts_mem_on = { | ||
151 | [0] = PWRSTS_OFF_RET, /* emu_bank */ | ||
152 | }, | ||
153 | }; | ||
154 | |||
155 | /* mpu_54xx_pwrdm: Modena processor and the Neon coprocessor power domain */ | ||
156 | static struct powerdomain mpu_54xx_pwrdm = { | ||
157 | .name = "mpu_pwrdm", | ||
158 | .voltdm = { .name = "mpu" }, | ||
159 | .prcm_offs = OMAP54XX_PRM_MPU_INST, | ||
160 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
161 | .pwrsts = PWRSTS_RET_ON, | ||
162 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | ||
163 | .banks = 2, | ||
164 | .pwrsts_mem_ret = { | ||
165 | [0] = PWRSTS_OFF_RET, /* mpu_l2 */ | ||
166 | [1] = PWRSTS_RET, /* mpu_ram */ | ||
167 | }, | ||
168 | .pwrsts_mem_on = { | ||
169 | [0] = PWRSTS_OFF_RET, /* mpu_l2 */ | ||
170 | [1] = PWRSTS_OFF_RET, /* mpu_ram */ | ||
171 | }, | ||
172 | }; | ||
173 | |||
174 | /* custefuse_54xx_pwrdm: Customer efuse controller power domain */ | ||
175 | static struct powerdomain custefuse_54xx_pwrdm = { | ||
176 | .name = "custefuse_pwrdm", | ||
177 | .voltdm = { .name = "core" }, | ||
178 | .prcm_offs = OMAP54XX_PRM_CUSTEFUSE_INST, | ||
179 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
180 | .pwrsts = PWRSTS_OFF_ON, | ||
181 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
182 | }; | ||
183 | |||
184 | /* dsp_54xx_pwrdm: Tesla processor power domain */ | ||
185 | static struct powerdomain dsp_54xx_pwrdm = { | ||
186 | .name = "dsp_pwrdm", | ||
187 | .voltdm = { .name = "mm" }, | ||
188 | .prcm_offs = OMAP54XX_PRM_DSP_INST, | ||
189 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
190 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
191 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | ||
192 | .banks = 3, | ||
193 | .pwrsts_mem_ret = { | ||
194 | [0] = PWRSTS_OFF_RET, /* dsp_edma */ | ||
195 | [1] = PWRSTS_OFF_RET, /* dsp_l1 */ | ||
196 | [2] = PWRSTS_OFF_RET, /* dsp_l2 */ | ||
197 | }, | ||
198 | .pwrsts_mem_on = { | ||
199 | [0] = PWRSTS_OFF_RET, /* dsp_edma */ | ||
200 | [1] = PWRSTS_OFF_RET, /* dsp_l1 */ | ||
201 | [2] = PWRSTS_OFF_RET, /* dsp_l2 */ | ||
202 | }, | ||
203 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
204 | }; | ||
205 | |||
206 | /* cam_54xx_pwrdm: Camera subsystem power domain */ | ||
207 | static struct powerdomain cam_54xx_pwrdm = { | ||
208 | .name = "cam_pwrdm", | ||
209 | .voltdm = { .name = "core" }, | ||
210 | .prcm_offs = OMAP54XX_PRM_CAM_INST, | ||
211 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
212 | .pwrsts = PWRSTS_OFF_ON, | ||
213 | .banks = 1, | ||
214 | .pwrsts_mem_ret = { | ||
215 | [0] = PWRSTS_OFF_RET, /* cam_mem */ | ||
216 | }, | ||
217 | .pwrsts_mem_on = { | ||
218 | [0] = PWRSTS_OFF_RET, /* cam_mem */ | ||
219 | }, | ||
220 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
221 | }; | ||
222 | |||
223 | /* l3init_54xx_pwrdm: L3 initators pheripherals power domain */ | ||
224 | static struct powerdomain l3init_54xx_pwrdm = { | ||
225 | .name = "l3init_pwrdm", | ||
226 | .voltdm = { .name = "core" }, | ||
227 | .prcm_offs = OMAP54XX_PRM_L3INIT_INST, | ||
228 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
229 | .pwrsts = PWRSTS_RET_ON, | ||
230 | .pwrsts_logic_ret = PWRSTS_OFF_RET, | ||
231 | .banks = 2, | ||
232 | .pwrsts_mem_ret = { | ||
233 | [0] = PWRSTS_OFF_RET, /* l3init_bank1 */ | ||
234 | [1] = PWRSTS_OFF_RET, /* l3init_bank2 */ | ||
235 | }, | ||
236 | .pwrsts_mem_on = { | ||
237 | [0] = PWRSTS_OFF_RET, /* l3init_bank1 */ | ||
238 | [1] = PWRSTS_OFF_RET, /* l3init_bank2 */ | ||
239 | }, | ||
240 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
241 | }; | ||
242 | |||
243 | /* gpu_54xx_pwrdm: 3D accelerator power domain */ | ||
244 | static struct powerdomain gpu_54xx_pwrdm = { | ||
245 | .name = "gpu_pwrdm", | ||
246 | .voltdm = { .name = "mm" }, | ||
247 | .prcm_offs = OMAP54XX_PRM_GPU_INST, | ||
248 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
249 | .pwrsts = PWRSTS_OFF_ON, | ||
250 | .banks = 1, | ||
251 | .pwrsts_mem_ret = { | ||
252 | [0] = PWRSTS_OFF_RET, /* gpu_mem */ | ||
253 | }, | ||
254 | .pwrsts_mem_on = { | ||
255 | [0] = PWRSTS_OFF_RET, /* gpu_mem */ | ||
256 | }, | ||
257 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
258 | }; | ||
259 | |||
260 | /* wkupaon_54xx_pwrdm: Wake-up power domain */ | ||
261 | static struct powerdomain wkupaon_54xx_pwrdm = { | ||
262 | .name = "wkupaon_pwrdm", | ||
263 | .voltdm = { .name = "wkup" }, | ||
264 | .prcm_offs = OMAP54XX_PRM_WKUPAON_INST, | ||
265 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
266 | .pwrsts = PWRSTS_ON, | ||
267 | .banks = 1, | ||
268 | .pwrsts_mem_ret = { | ||
269 | }, | ||
270 | .pwrsts_mem_on = { | ||
271 | [0] = PWRSTS_ON, /* wkup_bank */ | ||
272 | }, | ||
273 | }; | ||
274 | |||
275 | /* iva_54xx_pwrdm: IVA-HD power domain */ | ||
276 | static struct powerdomain iva_54xx_pwrdm = { | ||
277 | .name = "iva_pwrdm", | ||
278 | .voltdm = { .name = "mm" }, | ||
279 | .prcm_offs = OMAP54XX_PRM_IVA_INST, | ||
280 | .prcm_partition = OMAP54XX_PRM_PARTITION, | ||
281 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
282 | .pwrsts_logic_ret = PWRSTS_OFF, | ||
283 | .banks = 4, | ||
284 | .pwrsts_mem_ret = { | ||
285 | [0] = PWRSTS_OFF_RET, /* hwa_mem */ | ||
286 | [1] = PWRSTS_OFF_RET, /* sl2_mem */ | ||
287 | [2] = PWRSTS_OFF_RET, /* tcm1_mem */ | ||
288 | [3] = PWRSTS_OFF_RET, /* tcm2_mem */ | ||
289 | }, | ||
290 | .pwrsts_mem_on = { | ||
291 | [0] = PWRSTS_OFF_RET, /* hwa_mem */ | ||
292 | [1] = PWRSTS_OFF_RET, /* sl2_mem */ | ||
293 | [2] = PWRSTS_OFF_RET, /* tcm1_mem */ | ||
294 | [3] = PWRSTS_OFF_RET, /* tcm2_mem */ | ||
295 | }, | ||
296 | .flags = PWRDM_HAS_LOWPOWERSTATECHANGE, | ||
297 | }; | ||
298 | |||
299 | /* | ||
300 | * The following power domains are not under SW control | ||
301 | * | ||
302 | * mpuaon | ||
303 | * mmaon | ||
304 | */ | ||
305 | |||
306 | /* As powerdomains are added or removed above, this list must also be changed */ | ||
307 | static struct powerdomain *powerdomains_omap54xx[] __initdata = { | ||
308 | &core_54xx_pwrdm, | ||
309 | &abe_54xx_pwrdm, | ||
310 | &coreaon_54xx_pwrdm, | ||
311 | &dss_54xx_pwrdm, | ||
312 | &cpu0_54xx_pwrdm, | ||
313 | &cpu1_54xx_pwrdm, | ||
314 | &emu_54xx_pwrdm, | ||
315 | &mpu_54xx_pwrdm, | ||
316 | &custefuse_54xx_pwrdm, | ||
317 | &dsp_54xx_pwrdm, | ||
318 | &cam_54xx_pwrdm, | ||
319 | &l3init_54xx_pwrdm, | ||
320 | &gpu_54xx_pwrdm, | ||
321 | &wkupaon_54xx_pwrdm, | ||
322 | &iva_54xx_pwrdm, | ||
323 | NULL | ||
324 | }; | ||
325 | |||
326 | void __init omap54xx_powerdomains_init(void) | ||
327 | { | ||
328 | pwrdm_register_platform_funcs(&omap4_pwrdm_operations); | ||
329 | pwrdm_register_pwrdms(powerdomains_omap54xx); | ||
330 | pwrdm_complete_init(); | ||
331 | } | ||
diff --git a/arch/arm/mach-omap2/prcm-common.h b/arch/arm/mach-omap2/prcm-common.h index c7d355fafd24..ff1ac4a82a04 100644 --- a/arch/arm/mach-omap2/prcm-common.h +++ b/arch/arm/mach-omap2/prcm-common.h | |||
@@ -48,6 +48,17 @@ | |||
48 | #define OMAP3430_NEON_MOD 0xb00 | 48 | #define OMAP3430_NEON_MOD 0xb00 |
49 | #define OMAP3430ES2_USBHOST_MOD 0xc00 | 49 | #define OMAP3430ES2_USBHOST_MOD 0xc00 |
50 | 50 | ||
51 | /* | ||
52 | * TI81XX PRM module offsets | ||
53 | */ | ||
54 | #define TI81XX_PRM_DEVICE_MOD 0x0000 | ||
55 | #define TI816X_PRM_ACTIVE_MOD 0x0a00 | ||
56 | #define TI81XX_PRM_DEFAULT_MOD 0x0b00 | ||
57 | #define TI816X_PRM_IVAHD0_MOD 0x0c00 | ||
58 | #define TI816X_PRM_IVAHD1_MOD 0x0d00 | ||
59 | #define TI816X_PRM_IVAHD2_MOD 0x0e00 | ||
60 | #define TI816X_PRM_SGX_MOD 0x0f00 | ||
61 | |||
51 | /* 24XX register bits shared between CM & PRM registers */ | 62 | /* 24XX register bits shared between CM & PRM registers */ |
52 | 63 | ||
53 | /* CM_FCLKEN1_CORE, CM_ICLKEN1_CORE, PM_WKEN1_CORE shared bits */ | 64 | /* CM_FCLKEN1_CORE, CM_ICLKEN1_CORE, PM_WKEN1_CORE shared bits */ |
diff --git a/arch/arm/mach-omap2/prcm44xx.h b/arch/arm/mach-omap2/prcm44xx.h index 7334ffb9d2c1..f429cdd5a118 100644 --- a/arch/arm/mach-omap2/prcm44xx.h +++ b/arch/arm/mach-omap2/prcm44xx.h | |||
@@ -32,6 +32,12 @@ | |||
32 | #define OMAP4430_SCRM_PARTITION 4 | 32 | #define OMAP4430_SCRM_PARTITION 4 |
33 | #define OMAP4430_PRCM_MPU_PARTITION 5 | 33 | #define OMAP4430_PRCM_MPU_PARTITION 5 |
34 | 34 | ||
35 | #define OMAP54XX_PRM_PARTITION 1 | ||
36 | #define OMAP54XX_CM_CORE_AON_PARTITION 2 | ||
37 | #define OMAP54XX_CM_CORE_PARTITION 3 | ||
38 | #define OMAP54XX_SCRM_PARTITION 4 | ||
39 | #define OMAP54XX_PRCM_MPU_PARTITION 5 | ||
40 | |||
35 | /* | 41 | /* |
36 | * OMAP4_MAX_PRCM_PARTITIONS: set to the highest value of the PRCM partition | 42 | * OMAP4_MAX_PRCM_PARTITIONS: set to the highest value of the PRCM partition |
37 | * IDs, plus one | 43 | * IDs, plus one |
diff --git a/arch/arm/mach-omap2/prcm_mpu44xx.h b/arch/arm/mach-omap2/prcm_mpu44xx.h index 884af7bb4afd..059bd4f49035 100644 --- a/arch/arm/mach-omap2/prcm_mpu44xx.h +++ b/arch/arm/mach-omap2/prcm_mpu44xx.h | |||
@@ -25,12 +25,9 @@ | |||
25 | #ifndef __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H | 25 | #ifndef __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H |
26 | #define __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H | 26 | #define __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H |
27 | 27 | ||
28 | #include "prcm_mpu_44xx_54xx.h" | ||
28 | #include "common.h" | 29 | #include "common.h" |
29 | 30 | ||
30 | # ifndef __ASSEMBLER__ | ||
31 | extern void __iomem *prcm_mpu_base; | ||
32 | # endif | ||
33 | |||
34 | #define OMAP4430_PRCM_MPU_BASE 0x48243000 | 31 | #define OMAP4430_PRCM_MPU_BASE 0x48243000 |
35 | 32 | ||
36 | #define OMAP44XX_PRCM_MPU_REGADDR(inst, reg) \ | 33 | #define OMAP44XX_PRCM_MPU_REGADDR(inst, reg) \ |
@@ -98,13 +95,4 @@ extern void __iomem *prcm_mpu_base; | |||
98 | #define OMAP4_CM_CPU1_CLKSTCTRL_OFFSET 0x0018 | 95 | #define OMAP4_CM_CPU1_CLKSTCTRL_OFFSET 0x0018 |
99 | #define OMAP4430_CM_CPU1_CLKSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0018) | 96 | #define OMAP4430_CM_CPU1_CLKSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0018) |
100 | 97 | ||
101 | /* Function prototypes */ | ||
102 | # ifndef __ASSEMBLER__ | ||
103 | extern u32 omap4_prcm_mpu_read_inst_reg(s16 inst, u16 idx); | ||
104 | extern void omap4_prcm_mpu_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
105 | extern u32 omap4_prcm_mpu_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, | ||
106 | s16 idx); | ||
107 | extern void __init omap2_set_globals_prcm_mpu(void __iomem *prcm_mpu); | ||
108 | # endif | ||
109 | |||
110 | #endif | 98 | #endif |
diff --git a/arch/arm/mach-omap2/prcm_mpu54xx.h b/arch/arm/mach-omap2/prcm_mpu54xx.h new file mode 100644 index 000000000000..bc2ce3288315 --- /dev/null +++ b/arch/arm/mach-omap2/prcm_mpu54xx.h | |||
@@ -0,0 +1,87 @@ | |||
1 | /* | ||
2 | * OMAP54xx PRCM MPU instance offset macros | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley (paul@pwsan.com) | ||
7 | * Rajendra Nayak (rnayak@ti.com) | ||
8 | * Benoit Cousson (b-cousson@ti.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #ifndef __ARCH_ARM_MACH_OMAP2_PRCM_MPU54XX_H | ||
22 | #define __ARCH_ARM_MACH_OMAP2_PRCM_MPU54XX_H | ||
23 | |||
24 | #include "prcm_mpu_44xx_54xx.h" | ||
25 | #include "common.h" | ||
26 | |||
27 | #define OMAP54XX_PRCM_MPU_BASE 0x48243000 | ||
28 | |||
29 | #define OMAP54XX_PRCM_MPU_REGADDR(inst, reg) \ | ||
30 | OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE + (inst) + (reg)) | ||
31 | |||
32 | /* PRCM_MPU instances */ | ||
33 | #define OMAP54XX_PRCM_MPU_OCP_SOCKET_INST 0x0000 | ||
34 | #define OMAP54XX_PRCM_MPU_DEVICE_INST 0x0200 | ||
35 | #define OMAP54XX_PRCM_MPU_PRM_C0_INST 0x0400 | ||
36 | #define OMAP54XX_PRCM_MPU_CM_C0_INST 0x0600 | ||
37 | #define OMAP54XX_PRCM_MPU_PRM_C1_INST 0x0800 | ||
38 | #define OMAP54XX_PRCM_MPU_CM_C1_INST 0x0a00 | ||
39 | |||
40 | /* PRCM_MPU clockdomain register offsets (from instance start) */ | ||
41 | #define OMAP54XX_PRCM_MPU_CM_C0_CPU0_CDOFFS 0x0000 | ||
42 | #define OMAP54XX_PRCM_MPU_CM_C1_CPU1_CDOFFS 0x0000 | ||
43 | |||
44 | |||
45 | /* | ||
46 | * PRCM_MPU | ||
47 | * | ||
48 | * The PRCM_MPU is a local PRCM inside the MPU subsystem. For the PRCM (global) | ||
49 | * point of view the PRCM_MPU is a single entity. It shares the same | ||
50 | * programming model as the global PRCM and thus can be assimilate as two new | ||
51 | * MOD inside the PRCM | ||
52 | */ | ||
53 | |||
54 | /* PRCM_MPU.PRCM_MPU_OCP_SOCKET register offsets */ | ||
55 | #define OMAP54XX_REVISION_PRCM_MPU_OFFSET 0x0000 | ||
56 | |||
57 | /* PRCM_MPU.PRCM_MPU_DEVICE register offsets */ | ||
58 | #define OMAP54XX_PRCM_MPU_PRM_RSTST_OFFSET 0x0000 | ||
59 | #define OMAP54XX_PRCM_MPU_PRM_PSCON_COUNT_OFFSET 0x0004 | ||
60 | #define OMAP54XX_PRM_FRAC_INCREMENTER_NUMERATOR_OFFSET 0x0010 | ||
61 | #define OMAP54XX_PRM_FRAC_INCREMENTER_DENUMERATOR_RELOAD_OFFSET 0x0014 | ||
62 | |||
63 | /* PRCM_MPU.PRCM_MPU_PRM_C0 register offsets */ | ||
64 | #define OMAP54XX_PM_CPU0_PWRSTCTRL_OFFSET 0x0000 | ||
65 | #define OMAP54XX_PM_CPU0_PWRSTST_OFFSET 0x0004 | ||
66 | #define OMAP54XX_RM_CPU0_CPU0_RSTCTRL_OFFSET 0x0010 | ||
67 | #define OMAP54XX_RM_CPU0_CPU0_RSTST_OFFSET 0x0014 | ||
68 | #define OMAP54XX_RM_CPU0_CPU0_CONTEXT_OFFSET 0x0024 | ||
69 | |||
70 | /* PRCM_MPU.PRCM_MPU_CM_C0 register offsets */ | ||
71 | #define OMAP54XX_CM_CPU0_CLKSTCTRL_OFFSET 0x0000 | ||
72 | #define OMAP54XX_CM_CPU0_CPU0_CLKCTRL_OFFSET 0x0020 | ||
73 | #define OMAP54XX_CM_CPU0_CPU0_CLKCTRL OMAP54XX_PRCM_MPU_REGADDR(OMAP54XX_PRCM_MPU_CM_C0_INST, 0x0020) | ||
74 | |||
75 | /* PRCM_MPU.PRCM_MPU_PRM_C1 register offsets */ | ||
76 | #define OMAP54XX_PM_CPU1_PWRSTCTRL_OFFSET 0x0000 | ||
77 | #define OMAP54XX_PM_CPU1_PWRSTST_OFFSET 0x0004 | ||
78 | #define OMAP54XX_RM_CPU1_CPU1_RSTCTRL_OFFSET 0x0010 | ||
79 | #define OMAP54XX_RM_CPU1_CPU1_RSTST_OFFSET 0x0014 | ||
80 | #define OMAP54XX_RM_CPU1_CPU1_CONTEXT_OFFSET 0x0024 | ||
81 | |||
82 | /* PRCM_MPU.PRCM_MPU_CM_C1 register offsets */ | ||
83 | #define OMAP54XX_CM_CPU1_CLKSTCTRL_OFFSET 0x0000 | ||
84 | #define OMAP54XX_CM_CPU1_CPU1_CLKCTRL_OFFSET 0x0020 | ||
85 | #define OMAP54XX_CM_CPU1_CPU1_CLKCTRL OMAP54XX_PRCM_MPU_REGADDR(OMAP54XX_PRCM_MPU_CM_C1_INST, 0x0020) | ||
86 | |||
87 | #endif | ||
diff --git a/arch/arm/mach-omap2/prcm_mpu_44xx_54xx.h b/arch/arm/mach-omap2/prcm_mpu_44xx_54xx.h new file mode 100644 index 000000000000..ca149e70bed0 --- /dev/null +++ b/arch/arm/mach-omap2/prcm_mpu_44xx_54xx.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * OMAP44xx and OMAP54xx PRCM MPU function prototypes | ||
3 | * | ||
4 | * Copyright (C) 2010, 2013 Texas Instruments, Inc. | ||
5 | * Copyright (C) 2010 Nokia Corporation | ||
6 | * | ||
7 | * Paul Walmsley (paul@pwsan.com) | ||
8 | * Rajendra Nayak (rnayak@ti.com) | ||
9 | * Benoit Cousson (b-cousson@ti.com) | ||
10 | * | ||
11 | * This file is automatically generated from the OMAP hardware databases. | ||
12 | * We respectfully ask that any modifications to this file be coordinated | ||
13 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
14 | * authors above to ensure that the autogeneration scripts are kept | ||
15 | * up-to-date with the file contents. | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | ||
18 | * it under the terms of the GNU General Public License version 2 as | ||
19 | * published by the Free Software Foundation. | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #ifndef __ARCH_ARM_MACH_OMAP2_PRCM_MPU_44XX_54XX_H | ||
24 | #define __ARCH_ARM_MACH_OMAP2_PRCM_MPU_44XX_54XX_H | ||
25 | |||
26 | #ifndef __ASSEMBLER__ | ||
27 | extern void __iomem *prcm_mpu_base; | ||
28 | |||
29 | extern u32 omap4_prcm_mpu_read_inst_reg(s16 inst, u16 idx); | ||
30 | extern void omap4_prcm_mpu_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
31 | extern u32 omap4_prcm_mpu_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, | ||
32 | s16 idx); | ||
33 | extern void __init omap2_set_globals_prcm_mpu(void __iomem *prcm_mpu); | ||
34 | #endif | ||
35 | |||
36 | #endif | ||
diff --git a/arch/arm/mach-omap2/prm-regbits-54xx.h b/arch/arm/mach-omap2/prm-regbits-54xx.h new file mode 100644 index 000000000000..be31b21aa9c6 --- /dev/null +++ b/arch/arm/mach-omap2/prm-regbits-54xx.h | |||
@@ -0,0 +1,2701 @@ | |||
1 | /* | ||
2 | * OMAP54xx Power Management register bits | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley (paul@pwsan.com) | ||
7 | * Rajendra Nayak (rnayak@ti.com) | ||
8 | * Benoit Cousson (b-cousson@ti.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #ifndef __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_54XX_H | ||
22 | #define __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_54XX_H | ||
23 | |||
24 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
25 | #define OMAP54XX_ABBOFF_ACT_SHIFT 1 | ||
26 | #define OMAP54XX_ABBOFF_ACT_WIDTH 0x1 | ||
27 | #define OMAP54XX_ABBOFF_ACT_MASK (1 << 1) | ||
28 | |||
29 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
30 | #define OMAP54XX_ABBOFF_SLEEP_SHIFT 2 | ||
31 | #define OMAP54XX_ABBOFF_SLEEP_WIDTH 0x1 | ||
32 | #define OMAP54XX_ABBOFF_SLEEP_MASK (1 << 2) | ||
33 | |||
34 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
35 | #define OMAP54XX_ABB_MM_DONE_EN_SHIFT 31 | ||
36 | #define OMAP54XX_ABB_MM_DONE_EN_WIDTH 0x1 | ||
37 | #define OMAP54XX_ABB_MM_DONE_EN_MASK (1 << 31) | ||
38 | |||
39 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
40 | #define OMAP54XX_ABB_MM_DONE_ST_SHIFT 31 | ||
41 | #define OMAP54XX_ABB_MM_DONE_ST_WIDTH 0x1 | ||
42 | #define OMAP54XX_ABB_MM_DONE_ST_MASK (1 << 31) | ||
43 | |||
44 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
45 | #define OMAP54XX_ABB_MPU_DONE_EN_SHIFT 7 | ||
46 | #define OMAP54XX_ABB_MPU_DONE_EN_WIDTH 0x1 | ||
47 | #define OMAP54XX_ABB_MPU_DONE_EN_MASK (1 << 7) | ||
48 | |||
49 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
50 | #define OMAP54XX_ABB_MPU_DONE_ST_SHIFT 7 | ||
51 | #define OMAP54XX_ABB_MPU_DONE_ST_WIDTH 0x1 | ||
52 | #define OMAP54XX_ABB_MPU_DONE_ST_MASK (1 << 7) | ||
53 | |||
54 | /* Used by PRM_ABBLDO_MM_SETUP, PRM_ABBLDO_MPU_SETUP */ | ||
55 | #define OMAP54XX_ACTIVE_FBB_SEL_SHIFT 2 | ||
56 | #define OMAP54XX_ACTIVE_FBB_SEL_WIDTH 0x1 | ||
57 | #define OMAP54XX_ACTIVE_FBB_SEL_MASK (1 << 2) | ||
58 | |||
59 | /* Used by PM_ABE_PWRSTCTRL */ | ||
60 | #define OMAP54XX_AESSMEM_ONSTATE_SHIFT 16 | ||
61 | #define OMAP54XX_AESSMEM_ONSTATE_WIDTH 0x2 | ||
62 | #define OMAP54XX_AESSMEM_ONSTATE_MASK (0x3 << 16) | ||
63 | |||
64 | /* Used by PM_ABE_PWRSTCTRL */ | ||
65 | #define OMAP54XX_AESSMEM_RETSTATE_SHIFT 8 | ||
66 | #define OMAP54XX_AESSMEM_RETSTATE_WIDTH 0x1 | ||
67 | #define OMAP54XX_AESSMEM_RETSTATE_MASK (1 << 8) | ||
68 | |||
69 | /* Used by PM_ABE_PWRSTST */ | ||
70 | #define OMAP54XX_AESSMEM_STATEST_SHIFT 4 | ||
71 | #define OMAP54XX_AESSMEM_STATEST_WIDTH 0x2 | ||
72 | #define OMAP54XX_AESSMEM_STATEST_MASK (0x3 << 4) | ||
73 | |||
74 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
75 | #define OMAP54XX_AIPOFF_SHIFT 8 | ||
76 | #define OMAP54XX_AIPOFF_WIDTH 0x1 | ||
77 | #define OMAP54XX_AIPOFF_MASK (1 << 8) | ||
78 | |||
79 | /* Used by PRM_VOLTCTRL */ | ||
80 | #define OMAP54XX_AUTO_CTRL_VDD_CORE_L_SHIFT 0 | ||
81 | #define OMAP54XX_AUTO_CTRL_VDD_CORE_L_WIDTH 0x2 | ||
82 | #define OMAP54XX_AUTO_CTRL_VDD_CORE_L_MASK (0x3 << 0) | ||
83 | |||
84 | /* Used by PRM_VOLTCTRL */ | ||
85 | #define OMAP54XX_AUTO_CTRL_VDD_MM_L_SHIFT 4 | ||
86 | #define OMAP54XX_AUTO_CTRL_VDD_MM_L_WIDTH 0x2 | ||
87 | #define OMAP54XX_AUTO_CTRL_VDD_MM_L_MASK (0x3 << 4) | ||
88 | |||
89 | /* Used by PRM_VOLTCTRL */ | ||
90 | #define OMAP54XX_AUTO_CTRL_VDD_MPU_L_SHIFT 2 | ||
91 | #define OMAP54XX_AUTO_CTRL_VDD_MPU_L_WIDTH 0x2 | ||
92 | #define OMAP54XX_AUTO_CTRL_VDD_MPU_L_MASK (0x3 << 2) | ||
93 | |||
94 | /* Used by PRM_VC_BYPASS_ERRST */ | ||
95 | #define OMAP54XX_BYPS_RA_ERR_SHIFT 1 | ||
96 | #define OMAP54XX_BYPS_RA_ERR_WIDTH 0x1 | ||
97 | #define OMAP54XX_BYPS_RA_ERR_MASK (1 << 1) | ||
98 | |||
99 | /* Used by PRM_VC_BYPASS_ERRST */ | ||
100 | #define OMAP54XX_BYPS_SA_ERR_SHIFT 0 | ||
101 | #define OMAP54XX_BYPS_SA_ERR_WIDTH 0x1 | ||
102 | #define OMAP54XX_BYPS_SA_ERR_MASK (1 << 0) | ||
103 | |||
104 | /* Used by PRM_VC_BYPASS_ERRST */ | ||
105 | #define OMAP54XX_BYPS_TIMEOUT_ERR_SHIFT 2 | ||
106 | #define OMAP54XX_BYPS_TIMEOUT_ERR_WIDTH 0x1 | ||
107 | #define OMAP54XX_BYPS_TIMEOUT_ERR_MASK (1 << 2) | ||
108 | |||
109 | /* Used by PRM_RSTST */ | ||
110 | #define OMAP54XX_C2C_RST_SHIFT 10 | ||
111 | #define OMAP54XX_C2C_RST_WIDTH 0x1 | ||
112 | #define OMAP54XX_C2C_RST_MASK (1 << 10) | ||
113 | |||
114 | /* Used by PM_CAM_PWRSTCTRL */ | ||
115 | #define OMAP54XX_CAM_MEM_ONSTATE_SHIFT 16 | ||
116 | #define OMAP54XX_CAM_MEM_ONSTATE_WIDTH 0x2 | ||
117 | #define OMAP54XX_CAM_MEM_ONSTATE_MASK (0x3 << 16) | ||
118 | |||
119 | /* Used by PM_CAM_PWRSTST */ | ||
120 | #define OMAP54XX_CAM_MEM_STATEST_SHIFT 4 | ||
121 | #define OMAP54XX_CAM_MEM_STATEST_WIDTH 0x2 | ||
122 | #define OMAP54XX_CAM_MEM_STATEST_MASK (0x3 << 4) | ||
123 | |||
124 | /* Used by PRM_CLKREQCTRL */ | ||
125 | #define OMAP54XX_CLKREQ_COND_SHIFT 0 | ||
126 | #define OMAP54XX_CLKREQ_COND_WIDTH 0x3 | ||
127 | #define OMAP54XX_CLKREQ_COND_MASK (0x7 << 0) | ||
128 | |||
129 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
130 | #define OMAP54XX_CMDRA_VDD_CORE_L_SHIFT 16 | ||
131 | #define OMAP54XX_CMDRA_VDD_CORE_L_WIDTH 0x8 | ||
132 | #define OMAP54XX_CMDRA_VDD_CORE_L_MASK (0xff << 16) | ||
133 | |||
134 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
135 | #define OMAP54XX_CMDRA_VDD_MM_L_SHIFT 16 | ||
136 | #define OMAP54XX_CMDRA_VDD_MM_L_WIDTH 0x8 | ||
137 | #define OMAP54XX_CMDRA_VDD_MM_L_MASK (0xff << 16) | ||
138 | |||
139 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
140 | #define OMAP54XX_CMDRA_VDD_MPU_L_SHIFT 16 | ||
141 | #define OMAP54XX_CMDRA_VDD_MPU_L_WIDTH 0x8 | ||
142 | #define OMAP54XX_CMDRA_VDD_MPU_L_MASK (0xff << 16) | ||
143 | |||
144 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
145 | #define OMAP54XX_CMD_VDD_CORE_L_SHIFT 28 | ||
146 | #define OMAP54XX_CMD_VDD_CORE_L_WIDTH 0x1 | ||
147 | #define OMAP54XX_CMD_VDD_CORE_L_MASK (1 << 28) | ||
148 | |||
149 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
150 | #define OMAP54XX_CMD_VDD_MM_L_SHIFT 28 | ||
151 | #define OMAP54XX_CMD_VDD_MM_L_WIDTH 0x1 | ||
152 | #define OMAP54XX_CMD_VDD_MM_L_MASK (1 << 28) | ||
153 | |||
154 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
155 | #define OMAP54XX_CMD_VDD_MPU_L_SHIFT 28 | ||
156 | #define OMAP54XX_CMD_VDD_MPU_L_WIDTH 0x1 | ||
157 | #define OMAP54XX_CMD_VDD_MPU_L_MASK (1 << 28) | ||
158 | |||
159 | /* Used by PM_CORE_PWRSTCTRL */ | ||
160 | #define OMAP54XX_CORE_OCMRAM_ONSTATE_SHIFT 18 | ||
161 | #define OMAP54XX_CORE_OCMRAM_ONSTATE_WIDTH 0x2 | ||
162 | #define OMAP54XX_CORE_OCMRAM_ONSTATE_MASK (0x3 << 18) | ||
163 | |||
164 | /* Used by PM_CORE_PWRSTCTRL */ | ||
165 | #define OMAP54XX_CORE_OCMRAM_RETSTATE_SHIFT 9 | ||
166 | #define OMAP54XX_CORE_OCMRAM_RETSTATE_WIDTH 0x1 | ||
167 | #define OMAP54XX_CORE_OCMRAM_RETSTATE_MASK (1 << 9) | ||
168 | |||
169 | /* Used by PM_CORE_PWRSTST */ | ||
170 | #define OMAP54XX_CORE_OCMRAM_STATEST_SHIFT 6 | ||
171 | #define OMAP54XX_CORE_OCMRAM_STATEST_WIDTH 0x2 | ||
172 | #define OMAP54XX_CORE_OCMRAM_STATEST_MASK (0x3 << 6) | ||
173 | |||
174 | /* Used by PM_CORE_PWRSTCTRL */ | ||
175 | #define OMAP54XX_CORE_OTHER_BANK_ONSTATE_SHIFT 16 | ||
176 | #define OMAP54XX_CORE_OTHER_BANK_ONSTATE_WIDTH 0x2 | ||
177 | #define OMAP54XX_CORE_OTHER_BANK_ONSTATE_MASK (0x3 << 16) | ||
178 | |||
179 | /* Used by PM_CORE_PWRSTCTRL */ | ||
180 | #define OMAP54XX_CORE_OTHER_BANK_RETSTATE_SHIFT 8 | ||
181 | #define OMAP54XX_CORE_OTHER_BANK_RETSTATE_WIDTH 0x1 | ||
182 | #define OMAP54XX_CORE_OTHER_BANK_RETSTATE_MASK (1 << 8) | ||
183 | |||
184 | /* Used by PM_CORE_PWRSTST */ | ||
185 | #define OMAP54XX_CORE_OTHER_BANK_STATEST_SHIFT 4 | ||
186 | #define OMAP54XX_CORE_OTHER_BANK_STATEST_WIDTH 0x2 | ||
187 | #define OMAP54XX_CORE_OTHER_BANK_STATEST_MASK (0x3 << 4) | ||
188 | |||
189 | /* Used by REVISION_PRM */ | ||
190 | #define OMAP54XX_CUSTOM_SHIFT 6 | ||
191 | #define OMAP54XX_CUSTOM_WIDTH 0x2 | ||
192 | #define OMAP54XX_CUSTOM_MASK (0x3 << 6) | ||
193 | |||
194 | /* Used by PRM_VC_VAL_BYPASS */ | ||
195 | #define OMAP54XX_DATA_SHIFT 16 | ||
196 | #define OMAP54XX_DATA_WIDTH 0x8 | ||
197 | #define OMAP54XX_DATA_MASK (0xff << 16) | ||
198 | |||
199 | /* Used by PRM_DEBUG_CORE_RET_TRANS */ | ||
200 | #define OMAP54XX_PRM_DEBUG_OUT_SHIFT 0 | ||
201 | #define OMAP54XX_PRM_DEBUG_OUT_WIDTH 0x1c | ||
202 | #define OMAP54XX_PRM_DEBUG_OUT_MASK (0xfffffff << 0) | ||
203 | |||
204 | /* Renamed from DEBUG_OUT Used by PRM_DEBUG_MM_RET_TRANS */ | ||
205 | #define OMAP54XX_DEBUG_OUT_0_9_SHIFT 0 | ||
206 | #define OMAP54XX_DEBUG_OUT_0_9_WIDTH 0xa | ||
207 | #define OMAP54XX_DEBUG_OUT_0_9_MASK (0x3ff << 0) | ||
208 | |||
209 | /* Renamed from DEBUG_OUT Used by PRM_DEBUG_MPU_RET_TRANS */ | ||
210 | #define OMAP54XX_DEBUG_OUT_0_6_SHIFT 0 | ||
211 | #define OMAP54XX_DEBUG_OUT_0_6_WIDTH 0x7 | ||
212 | #define OMAP54XX_DEBUG_OUT_0_6_MASK (0x7f << 0) | ||
213 | |||
214 | /* Renamed from DEBUG_OUT Used by PRM_DEBUG_OFF_TRANS */ | ||
215 | #define OMAP54XX_DEBUG_OUT_0_31_SHIFT 0 | ||
216 | #define OMAP54XX_DEBUG_OUT_0_31_WIDTH 0x20 | ||
217 | #define OMAP54XX_DEBUG_OUT_0_31_MASK (0xffffffff << 0) | ||
218 | |||
219 | /* Renamed from DEBUG_OUT Used by PRM_DEBUG_WKUPAON_FD_TRANS */ | ||
220 | #define OMAP54XX_DEBUG_OUT_0_11_SHIFT 0 | ||
221 | #define OMAP54XX_DEBUG_OUT_0_11_WIDTH 0xc | ||
222 | #define OMAP54XX_DEBUG_OUT_0_11_MASK (0xfff << 0) | ||
223 | |||
224 | /* Used by PRM_DEVICE_OFF_CTRL */ | ||
225 | #define OMAP54XX_DEVICE_OFF_ENABLE_SHIFT 0 | ||
226 | #define OMAP54XX_DEVICE_OFF_ENABLE_WIDTH 0x1 | ||
227 | #define OMAP54XX_DEVICE_OFF_ENABLE_MASK (1 << 0) | ||
228 | |||
229 | /* Used by PRM_VC_CFG_I2C_MODE */ | ||
230 | #define OMAP54XX_DFILTEREN_SHIFT 6 | ||
231 | #define OMAP54XX_DFILTEREN_WIDTH 0x1 | ||
232 | #define OMAP54XX_DFILTEREN_MASK (1 << 6) | ||
233 | |||
234 | /* Used by PRM_IRQENABLE_DSP, PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
235 | #define OMAP54XX_DPLL_ABE_RECAL_EN_SHIFT 4 | ||
236 | #define OMAP54XX_DPLL_ABE_RECAL_EN_WIDTH 0x1 | ||
237 | #define OMAP54XX_DPLL_ABE_RECAL_EN_MASK (1 << 4) | ||
238 | |||
239 | /* Used by PRM_IRQSTATUS_DSP, PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
240 | #define OMAP54XX_DPLL_ABE_RECAL_ST_SHIFT 4 | ||
241 | #define OMAP54XX_DPLL_ABE_RECAL_ST_WIDTH 0x1 | ||
242 | #define OMAP54XX_DPLL_ABE_RECAL_ST_MASK (1 << 4) | ||
243 | |||
244 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
245 | #define OMAP54XX_DPLL_CORE_RECAL_EN_SHIFT 0 | ||
246 | #define OMAP54XX_DPLL_CORE_RECAL_EN_WIDTH 0x1 | ||
247 | #define OMAP54XX_DPLL_CORE_RECAL_EN_MASK (1 << 0) | ||
248 | |||
249 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
250 | #define OMAP54XX_DPLL_CORE_RECAL_ST_SHIFT 0 | ||
251 | #define OMAP54XX_DPLL_CORE_RECAL_ST_WIDTH 0x1 | ||
252 | #define OMAP54XX_DPLL_CORE_RECAL_ST_MASK (1 << 0) | ||
253 | |||
254 | /* Used by PRM_IRQENABLE_DSP, PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
255 | #define OMAP54XX_DPLL_IVA_RECAL_EN_SHIFT 2 | ||
256 | #define OMAP54XX_DPLL_IVA_RECAL_EN_WIDTH 0x1 | ||
257 | #define OMAP54XX_DPLL_IVA_RECAL_EN_MASK (1 << 2) | ||
258 | |||
259 | /* Used by PRM_IRQSTATUS_DSP, PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
260 | #define OMAP54XX_DPLL_IVA_RECAL_ST_SHIFT 2 | ||
261 | #define OMAP54XX_DPLL_IVA_RECAL_ST_WIDTH 0x1 | ||
262 | #define OMAP54XX_DPLL_IVA_RECAL_ST_MASK (1 << 2) | ||
263 | |||
264 | /* Used by PRM_IRQENABLE_MPU */ | ||
265 | #define OMAP54XX_DPLL_MPU_RECAL_EN_SHIFT 1 | ||
266 | #define OMAP54XX_DPLL_MPU_RECAL_EN_WIDTH 0x1 | ||
267 | #define OMAP54XX_DPLL_MPU_RECAL_EN_MASK (1 << 1) | ||
268 | |||
269 | /* Used by PRM_IRQSTATUS_MPU */ | ||
270 | #define OMAP54XX_DPLL_MPU_RECAL_ST_SHIFT 1 | ||
271 | #define OMAP54XX_DPLL_MPU_RECAL_ST_WIDTH 0x1 | ||
272 | #define OMAP54XX_DPLL_MPU_RECAL_ST_MASK (1 << 1) | ||
273 | |||
274 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
275 | #define OMAP54XX_DPLL_PER_RECAL_EN_SHIFT 3 | ||
276 | #define OMAP54XX_DPLL_PER_RECAL_EN_WIDTH 0x1 | ||
277 | #define OMAP54XX_DPLL_PER_RECAL_EN_MASK (1 << 3) | ||
278 | |||
279 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
280 | #define OMAP54XX_DPLL_PER_RECAL_ST_SHIFT 3 | ||
281 | #define OMAP54XX_DPLL_PER_RECAL_ST_WIDTH 0x1 | ||
282 | #define OMAP54XX_DPLL_PER_RECAL_ST_MASK (1 << 3) | ||
283 | |||
284 | /* Used by PM_DSP_PWRSTCTRL */ | ||
285 | #define OMAP54XX_DSP_EDMA_ONSTATE_SHIFT 20 | ||
286 | #define OMAP54XX_DSP_EDMA_ONSTATE_WIDTH 0x2 | ||
287 | #define OMAP54XX_DSP_EDMA_ONSTATE_MASK (0x3 << 20) | ||
288 | |||
289 | /* Used by PM_DSP_PWRSTCTRL */ | ||
290 | #define OMAP54XX_DSP_EDMA_RETSTATE_SHIFT 10 | ||
291 | #define OMAP54XX_DSP_EDMA_RETSTATE_WIDTH 0x1 | ||
292 | #define OMAP54XX_DSP_EDMA_RETSTATE_MASK (1 << 10) | ||
293 | |||
294 | /* Used by PM_DSP_PWRSTST */ | ||
295 | #define OMAP54XX_DSP_EDMA_STATEST_SHIFT 8 | ||
296 | #define OMAP54XX_DSP_EDMA_STATEST_WIDTH 0x2 | ||
297 | #define OMAP54XX_DSP_EDMA_STATEST_MASK (0x3 << 8) | ||
298 | |||
299 | /* Used by PM_DSP_PWRSTCTRL */ | ||
300 | #define OMAP54XX_DSP_L1_ONSTATE_SHIFT 16 | ||
301 | #define OMAP54XX_DSP_L1_ONSTATE_WIDTH 0x2 | ||
302 | #define OMAP54XX_DSP_L1_ONSTATE_MASK (0x3 << 16) | ||
303 | |||
304 | /* Used by PM_DSP_PWRSTCTRL */ | ||
305 | #define OMAP54XX_DSP_L1_RETSTATE_SHIFT 8 | ||
306 | #define OMAP54XX_DSP_L1_RETSTATE_WIDTH 0x1 | ||
307 | #define OMAP54XX_DSP_L1_RETSTATE_MASK (1 << 8) | ||
308 | |||
309 | /* Used by PM_DSP_PWRSTST */ | ||
310 | #define OMAP54XX_DSP_L1_STATEST_SHIFT 4 | ||
311 | #define OMAP54XX_DSP_L1_STATEST_WIDTH 0x2 | ||
312 | #define OMAP54XX_DSP_L1_STATEST_MASK (0x3 << 4) | ||
313 | |||
314 | /* Used by PM_DSP_PWRSTCTRL */ | ||
315 | #define OMAP54XX_DSP_L2_ONSTATE_SHIFT 18 | ||
316 | #define OMAP54XX_DSP_L2_ONSTATE_WIDTH 0x2 | ||
317 | #define OMAP54XX_DSP_L2_ONSTATE_MASK (0x3 << 18) | ||
318 | |||
319 | /* Used by PM_DSP_PWRSTCTRL */ | ||
320 | #define OMAP54XX_DSP_L2_RETSTATE_SHIFT 9 | ||
321 | #define OMAP54XX_DSP_L2_RETSTATE_WIDTH 0x1 | ||
322 | #define OMAP54XX_DSP_L2_RETSTATE_MASK (1 << 9) | ||
323 | |||
324 | /* Used by PM_DSP_PWRSTST */ | ||
325 | #define OMAP54XX_DSP_L2_STATEST_SHIFT 6 | ||
326 | #define OMAP54XX_DSP_L2_STATEST_WIDTH 0x2 | ||
327 | #define OMAP54XX_DSP_L2_STATEST_MASK (0x3 << 6) | ||
328 | |||
329 | /* Used by PM_DSS_PWRSTCTRL */ | ||
330 | #define OMAP54XX_DSS_MEM_ONSTATE_SHIFT 16 | ||
331 | #define OMAP54XX_DSS_MEM_ONSTATE_WIDTH 0x2 | ||
332 | #define OMAP54XX_DSS_MEM_ONSTATE_MASK (0x3 << 16) | ||
333 | |||
334 | /* Used by PM_DSS_PWRSTCTRL */ | ||
335 | #define OMAP54XX_DSS_MEM_RETSTATE_SHIFT 8 | ||
336 | #define OMAP54XX_DSS_MEM_RETSTATE_WIDTH 0x1 | ||
337 | #define OMAP54XX_DSS_MEM_RETSTATE_MASK (1 << 8) | ||
338 | |||
339 | /* Used by PM_DSS_PWRSTST */ | ||
340 | #define OMAP54XX_DSS_MEM_STATEST_SHIFT 4 | ||
341 | #define OMAP54XX_DSS_MEM_STATEST_WIDTH 0x2 | ||
342 | #define OMAP54XX_DSS_MEM_STATEST_MASK (0x3 << 4) | ||
343 | |||
344 | /* Used by PRM_DEVICE_OFF_CTRL */ | ||
345 | #define OMAP54XX_EMIF1_OFFWKUP_DISABLE_SHIFT 8 | ||
346 | #define OMAP54XX_EMIF1_OFFWKUP_DISABLE_WIDTH 0x1 | ||
347 | #define OMAP54XX_EMIF1_OFFWKUP_DISABLE_MASK (1 << 8) | ||
348 | |||
349 | /* Used by PRM_DEVICE_OFF_CTRL */ | ||
350 | #define OMAP54XX_EMIF2_OFFWKUP_DISABLE_SHIFT 9 | ||
351 | #define OMAP54XX_EMIF2_OFFWKUP_DISABLE_WIDTH 0x1 | ||
352 | #define OMAP54XX_EMIF2_OFFWKUP_DISABLE_MASK (1 << 9) | ||
353 | |||
354 | /* Used by PM_EMU_PWRSTCTRL */ | ||
355 | #define OMAP54XX_EMU_BANK_ONSTATE_SHIFT 16 | ||
356 | #define OMAP54XX_EMU_BANK_ONSTATE_WIDTH 0x2 | ||
357 | #define OMAP54XX_EMU_BANK_ONSTATE_MASK (0x3 << 16) | ||
358 | |||
359 | /* Used by PM_EMU_PWRSTST */ | ||
360 | #define OMAP54XX_EMU_BANK_STATEST_SHIFT 4 | ||
361 | #define OMAP54XX_EMU_BANK_STATEST_WIDTH 0x2 | ||
362 | #define OMAP54XX_EMU_BANK_STATEST_MASK (0x3 << 4) | ||
363 | |||
364 | /* | ||
365 | * Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP, | ||
366 | * PRM_SRAM_WKUP_SETUP | ||
367 | */ | ||
368 | #define OMAP54XX_ENABLE_RTA_SHIFT 0 | ||
369 | #define OMAP54XX_ENABLE_RTA_WIDTH 0x1 | ||
370 | #define OMAP54XX_ENABLE_RTA_MASK (1 << 0) | ||
371 | |||
372 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
373 | #define OMAP54XX_ENFUNC1_SHIFT 3 | ||
374 | #define OMAP54XX_ENFUNC1_WIDTH 0x1 | ||
375 | #define OMAP54XX_ENFUNC1_MASK (1 << 3) | ||
376 | |||
377 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
378 | #define OMAP54XX_ENFUNC2_SHIFT 4 | ||
379 | #define OMAP54XX_ENFUNC2_WIDTH 0x1 | ||
380 | #define OMAP54XX_ENFUNC2_MASK (1 << 4) | ||
381 | |||
382 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
383 | #define OMAP54XX_ENFUNC3_SHIFT 5 | ||
384 | #define OMAP54XX_ENFUNC3_WIDTH 0x1 | ||
385 | #define OMAP54XX_ENFUNC3_MASK (1 << 5) | ||
386 | |||
387 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
388 | #define OMAP54XX_ENFUNC4_SHIFT 6 | ||
389 | #define OMAP54XX_ENFUNC4_WIDTH 0x1 | ||
390 | #define OMAP54XX_ENFUNC4_MASK (1 << 6) | ||
391 | |||
392 | /* Used by PRM_SLDO_CORE_SETUP, PRM_SLDO_MM_SETUP, PRM_SLDO_MPU_SETUP */ | ||
393 | #define OMAP54XX_ENFUNC5_SHIFT 7 | ||
394 | #define OMAP54XX_ENFUNC5_WIDTH 0x1 | ||
395 | #define OMAP54XX_ENFUNC5_MASK (1 << 7) | ||
396 | |||
397 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
398 | #define OMAP54XX_ERRORGAIN_SHIFT 16 | ||
399 | #define OMAP54XX_ERRORGAIN_WIDTH 0x8 | ||
400 | #define OMAP54XX_ERRORGAIN_MASK (0xff << 16) | ||
401 | |||
402 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
403 | #define OMAP54XX_ERROROFFSET_SHIFT 24 | ||
404 | #define OMAP54XX_ERROROFFSET_WIDTH 0x8 | ||
405 | #define OMAP54XX_ERROROFFSET_MASK (0xff << 24) | ||
406 | |||
407 | /* Used by PRM_RSTST */ | ||
408 | #define OMAP54XX_EXTERNAL_WARM_RST_SHIFT 5 | ||
409 | #define OMAP54XX_EXTERNAL_WARM_RST_WIDTH 0x1 | ||
410 | #define OMAP54XX_EXTERNAL_WARM_RST_MASK (1 << 5) | ||
411 | |||
412 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
413 | #define OMAP54XX_FORCEUPDATE_SHIFT 1 | ||
414 | #define OMAP54XX_FORCEUPDATE_WIDTH 0x1 | ||
415 | #define OMAP54XX_FORCEUPDATE_MASK (1 << 1) | ||
416 | |||
417 | /* Used by PRM_VP_CORE_VOLTAGE, PRM_VP_MM_VOLTAGE, PRM_VP_MPU_VOLTAGE */ | ||
418 | #define OMAP54XX_FORCEUPDATEWAIT_SHIFT 8 | ||
419 | #define OMAP54XX_FORCEUPDATEWAIT_WIDTH 0x18 | ||
420 | #define OMAP54XX_FORCEUPDATEWAIT_MASK (0xffffff << 8) | ||
421 | |||
422 | /* Used by PRM_IRQENABLE_DSP, PRM_IRQENABLE_IPU */ | ||
423 | #define OMAP54XX_FORCEWKUP_EN_SHIFT 10 | ||
424 | #define OMAP54XX_FORCEWKUP_EN_WIDTH 0x1 | ||
425 | #define OMAP54XX_FORCEWKUP_EN_MASK (1 << 10) | ||
426 | |||
427 | /* Used by PRM_IRQSTATUS_DSP, PRM_IRQSTATUS_IPU */ | ||
428 | #define OMAP54XX_FORCEWKUP_ST_SHIFT 10 | ||
429 | #define OMAP54XX_FORCEWKUP_ST_WIDTH 0x1 | ||
430 | #define OMAP54XX_FORCEWKUP_ST_MASK (1 << 10) | ||
431 | |||
432 | /* Used by REVISION_PRM */ | ||
433 | #define OMAP54XX_FUNC_SHIFT 16 | ||
434 | #define OMAP54XX_FUNC_WIDTH 0xc | ||
435 | #define OMAP54XX_FUNC_MASK (0xfff << 16) | ||
436 | |||
437 | /* Used by PRM_RSTST */ | ||
438 | #define OMAP54XX_GLOBAL_COLD_RST_SHIFT 0 | ||
439 | #define OMAP54XX_GLOBAL_COLD_RST_WIDTH 0x1 | ||
440 | #define OMAP54XX_GLOBAL_COLD_RST_MASK (1 << 0) | ||
441 | |||
442 | /* Used by PRM_RSTST */ | ||
443 | #define OMAP54XX_GLOBAL_WARM_SW_RST_SHIFT 1 | ||
444 | #define OMAP54XX_GLOBAL_WARM_SW_RST_WIDTH 0x1 | ||
445 | #define OMAP54XX_GLOBAL_WARM_SW_RST_MASK (1 << 1) | ||
446 | |||
447 | /* Used by PRM_IO_PMCTRL */ | ||
448 | #define OMAP54XX_GLOBAL_WUEN_SHIFT 16 | ||
449 | #define OMAP54XX_GLOBAL_WUEN_WIDTH 0x1 | ||
450 | #define OMAP54XX_GLOBAL_WUEN_MASK (1 << 16) | ||
451 | |||
452 | /* Used by PM_GPU_PWRSTCTRL */ | ||
453 | #define OMAP54XX_GPU_MEM_ONSTATE_SHIFT 16 | ||
454 | #define OMAP54XX_GPU_MEM_ONSTATE_WIDTH 0x2 | ||
455 | #define OMAP54XX_GPU_MEM_ONSTATE_MASK (0x3 << 16) | ||
456 | |||
457 | /* Used by PM_GPU_PWRSTST */ | ||
458 | #define OMAP54XX_GPU_MEM_STATEST_SHIFT 4 | ||
459 | #define OMAP54XX_GPU_MEM_STATEST_WIDTH 0x2 | ||
460 | #define OMAP54XX_GPU_MEM_STATEST_MASK (0x3 << 4) | ||
461 | |||
462 | /* Used by PRM_VC_CFG_I2C_MODE */ | ||
463 | #define OMAP54XX_HSMCODE_SHIFT 0 | ||
464 | #define OMAP54XX_HSMCODE_WIDTH 0x3 | ||
465 | #define OMAP54XX_HSMCODE_MASK (0x7 << 0) | ||
466 | |||
467 | /* Used by PRM_VC_CFG_I2C_MODE */ | ||
468 | #define OMAP54XX_HSMODEEN_SHIFT 3 | ||
469 | #define OMAP54XX_HSMODEEN_WIDTH 0x1 | ||
470 | #define OMAP54XX_HSMODEEN_MASK (1 << 3) | ||
471 | |||
472 | /* Used by PRM_VC_CFG_I2C_CLK */ | ||
473 | #define OMAP54XX_HSSCLH_SHIFT 16 | ||
474 | #define OMAP54XX_HSSCLH_WIDTH 0x8 | ||
475 | #define OMAP54XX_HSSCLH_MASK (0xff << 16) | ||
476 | |||
477 | /* Used by PRM_VC_CFG_I2C_CLK */ | ||
478 | #define OMAP54XX_HSSCLL_SHIFT 24 | ||
479 | #define OMAP54XX_HSSCLL_WIDTH 0x8 | ||
480 | #define OMAP54XX_HSSCLL_MASK (0xff << 24) | ||
481 | |||
482 | /* Used by PM_IVA_PWRSTCTRL */ | ||
483 | #define OMAP54XX_HWA_MEM_ONSTATE_SHIFT 16 | ||
484 | #define OMAP54XX_HWA_MEM_ONSTATE_WIDTH 0x2 | ||
485 | #define OMAP54XX_HWA_MEM_ONSTATE_MASK (0x3 << 16) | ||
486 | |||
487 | /* Used by PM_IVA_PWRSTCTRL */ | ||
488 | #define OMAP54XX_HWA_MEM_RETSTATE_SHIFT 8 | ||
489 | #define OMAP54XX_HWA_MEM_RETSTATE_WIDTH 0x1 | ||
490 | #define OMAP54XX_HWA_MEM_RETSTATE_MASK (1 << 8) | ||
491 | |||
492 | /* Used by PM_IVA_PWRSTST */ | ||
493 | #define OMAP54XX_HWA_MEM_STATEST_SHIFT 4 | ||
494 | #define OMAP54XX_HWA_MEM_STATEST_WIDTH 0x2 | ||
495 | #define OMAP54XX_HWA_MEM_STATEST_MASK (0x3 << 4) | ||
496 | |||
497 | /* Used by PRM_RSTST */ | ||
498 | #define OMAP54XX_ICEPICK_RST_SHIFT 9 | ||
499 | #define OMAP54XX_ICEPICK_RST_WIDTH 0x1 | ||
500 | #define OMAP54XX_ICEPICK_RST_MASK (1 << 9) | ||
501 | |||
502 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
503 | #define OMAP54XX_INITVDD_SHIFT 2 | ||
504 | #define OMAP54XX_INITVDD_WIDTH 0x1 | ||
505 | #define OMAP54XX_INITVDD_MASK (1 << 2) | ||
506 | |||
507 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
508 | #define OMAP54XX_INITVOLTAGE_SHIFT 8 | ||
509 | #define OMAP54XX_INITVOLTAGE_WIDTH 0x8 | ||
510 | #define OMAP54XX_INITVOLTAGE_MASK (0xff << 8) | ||
511 | |||
512 | /* | ||
513 | * Used by PM_ABE_PWRSTST, PM_CAM_PWRSTST, PM_CORE_PWRSTST, | ||
514 | * PM_CUSTEFUSE_PWRSTST, PM_DSP_PWRSTST, PM_DSS_PWRSTST, PM_EMU_PWRSTST, | ||
515 | * PM_GPU_PWRSTST, PM_IVA_PWRSTST, PM_L3INIT_PWRSTST, PM_MPU_PWRSTST, | ||
516 | * PRM_VOLTST_MM, PRM_VOLTST_MPU | ||
517 | */ | ||
518 | #define OMAP54XX_INTRANSITION_SHIFT 20 | ||
519 | #define OMAP54XX_INTRANSITION_WIDTH 0x1 | ||
520 | #define OMAP54XX_INTRANSITION_MASK (1 << 20) | ||
521 | |||
522 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
523 | #define OMAP54XX_IO_EN_SHIFT 9 | ||
524 | #define OMAP54XX_IO_EN_WIDTH 0x1 | ||
525 | #define OMAP54XX_IO_EN_MASK (1 << 9) | ||
526 | |||
527 | /* Used by PRM_IO_PMCTRL */ | ||
528 | #define OMAP54XX_IO_ON_STATUS_SHIFT 5 | ||
529 | #define OMAP54XX_IO_ON_STATUS_WIDTH 0x1 | ||
530 | #define OMAP54XX_IO_ON_STATUS_MASK (1 << 5) | ||
531 | |||
532 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
533 | #define OMAP54XX_IO_ST_SHIFT 9 | ||
534 | #define OMAP54XX_IO_ST_WIDTH 0x1 | ||
535 | #define OMAP54XX_IO_ST_MASK (1 << 9) | ||
536 | |||
537 | /* Used by PM_CORE_PWRSTCTRL */ | ||
538 | #define OMAP54XX_IPU_L2RAM_ONSTATE_SHIFT 20 | ||
539 | #define OMAP54XX_IPU_L2RAM_ONSTATE_WIDTH 0x2 | ||
540 | #define OMAP54XX_IPU_L2RAM_ONSTATE_MASK (0x3 << 20) | ||
541 | |||
542 | /* Used by PM_CORE_PWRSTCTRL */ | ||
543 | #define OMAP54XX_IPU_L2RAM_RETSTATE_SHIFT 10 | ||
544 | #define OMAP54XX_IPU_L2RAM_RETSTATE_WIDTH 0x1 | ||
545 | #define OMAP54XX_IPU_L2RAM_RETSTATE_MASK (1 << 10) | ||
546 | |||
547 | /* Used by PM_CORE_PWRSTST */ | ||
548 | #define OMAP54XX_IPU_L2RAM_STATEST_SHIFT 8 | ||
549 | #define OMAP54XX_IPU_L2RAM_STATEST_WIDTH 0x2 | ||
550 | #define OMAP54XX_IPU_L2RAM_STATEST_MASK (0x3 << 8) | ||
551 | |||
552 | /* Used by PM_CORE_PWRSTCTRL */ | ||
553 | #define OMAP54XX_IPU_UNICACHE_ONSTATE_SHIFT 22 | ||
554 | #define OMAP54XX_IPU_UNICACHE_ONSTATE_WIDTH 0x2 | ||
555 | #define OMAP54XX_IPU_UNICACHE_ONSTATE_MASK (0x3 << 22) | ||
556 | |||
557 | /* Used by PM_CORE_PWRSTCTRL */ | ||
558 | #define OMAP54XX_IPU_UNICACHE_RETSTATE_SHIFT 11 | ||
559 | #define OMAP54XX_IPU_UNICACHE_RETSTATE_WIDTH 0x1 | ||
560 | #define OMAP54XX_IPU_UNICACHE_RETSTATE_MASK (1 << 11) | ||
561 | |||
562 | /* Used by PM_CORE_PWRSTST */ | ||
563 | #define OMAP54XX_IPU_UNICACHE_STATEST_SHIFT 10 | ||
564 | #define OMAP54XX_IPU_UNICACHE_STATEST_WIDTH 0x2 | ||
565 | #define OMAP54XX_IPU_UNICACHE_STATEST_MASK (0x3 << 10) | ||
566 | |||
567 | /* Used by PRM_IO_PMCTRL */ | ||
568 | #define OMAP54XX_ISOCLK_OVERRIDE_SHIFT 0 | ||
569 | #define OMAP54XX_ISOCLK_OVERRIDE_WIDTH 0x1 | ||
570 | #define OMAP54XX_ISOCLK_OVERRIDE_MASK (1 << 0) | ||
571 | |||
572 | /* Used by PRM_IO_PMCTRL */ | ||
573 | #define OMAP54XX_ISOCLK_STATUS_SHIFT 1 | ||
574 | #define OMAP54XX_ISOCLK_STATUS_WIDTH 0x1 | ||
575 | #define OMAP54XX_ISOCLK_STATUS_MASK (1 << 1) | ||
576 | |||
577 | /* Used by PRM_IO_PMCTRL */ | ||
578 | #define OMAP54XX_ISOOVR_EXTEND_SHIFT 4 | ||
579 | #define OMAP54XX_ISOOVR_EXTEND_WIDTH 0x1 | ||
580 | #define OMAP54XX_ISOOVR_EXTEND_MASK (1 << 4) | ||
581 | |||
582 | /* Used by PRM_IO_COUNT */ | ||
583 | #define OMAP54XX_ISO_2_ON_TIME_SHIFT 0 | ||
584 | #define OMAP54XX_ISO_2_ON_TIME_WIDTH 0x8 | ||
585 | #define OMAP54XX_ISO_2_ON_TIME_MASK (0xff << 0) | ||
586 | |||
587 | /* Used by PM_L3INIT_PWRSTCTRL */ | ||
588 | #define OMAP54XX_L3INIT_BANK1_ONSTATE_SHIFT 16 | ||
589 | #define OMAP54XX_L3INIT_BANK1_ONSTATE_WIDTH 0x2 | ||
590 | #define OMAP54XX_L3INIT_BANK1_ONSTATE_MASK (0x3 << 16) | ||
591 | |||
592 | /* Used by PM_L3INIT_PWRSTCTRL */ | ||
593 | #define OMAP54XX_L3INIT_BANK1_RETSTATE_SHIFT 8 | ||
594 | #define OMAP54XX_L3INIT_BANK1_RETSTATE_WIDTH 0x1 | ||
595 | #define OMAP54XX_L3INIT_BANK1_RETSTATE_MASK (1 << 8) | ||
596 | |||
597 | /* Used by PM_L3INIT_PWRSTST */ | ||
598 | #define OMAP54XX_L3INIT_BANK1_STATEST_SHIFT 4 | ||
599 | #define OMAP54XX_L3INIT_BANK1_STATEST_WIDTH 0x2 | ||
600 | #define OMAP54XX_L3INIT_BANK1_STATEST_MASK (0x3 << 4) | ||
601 | |||
602 | /* Used by PM_L3INIT_PWRSTCTRL */ | ||
603 | #define OMAP54XX_L3INIT_BANK2_ONSTATE_SHIFT 18 | ||
604 | #define OMAP54XX_L3INIT_BANK2_ONSTATE_WIDTH 0x2 | ||
605 | #define OMAP54XX_L3INIT_BANK2_ONSTATE_MASK (0x3 << 18) | ||
606 | |||
607 | /* Used by PM_L3INIT_PWRSTCTRL */ | ||
608 | #define OMAP54XX_L3INIT_BANK2_RETSTATE_SHIFT 9 | ||
609 | #define OMAP54XX_L3INIT_BANK2_RETSTATE_WIDTH 0x1 | ||
610 | #define OMAP54XX_L3INIT_BANK2_RETSTATE_MASK (1 << 9) | ||
611 | |||
612 | /* Used by PM_L3INIT_PWRSTST */ | ||
613 | #define OMAP54XX_L3INIT_BANK2_STATEST_SHIFT 6 | ||
614 | #define OMAP54XX_L3INIT_BANK2_STATEST_WIDTH 0x2 | ||
615 | #define OMAP54XX_L3INIT_BANK2_STATEST_MASK (0x3 << 6) | ||
616 | |||
617 | /* | ||
618 | * Used by PM_ABE_PWRSTST, PM_CAM_PWRSTST, PM_CORE_PWRSTST, | ||
619 | * PM_CUSTEFUSE_PWRSTST, PM_DSP_PWRSTST, PM_DSS_PWRSTST, PM_EMU_PWRSTST, | ||
620 | * PM_GPU_PWRSTST, PM_IVA_PWRSTST, PM_L3INIT_PWRSTST, PM_MPU_PWRSTST | ||
621 | */ | ||
622 | #define OMAP54XX_LASTPOWERSTATEENTERED_SHIFT 24 | ||
623 | #define OMAP54XX_LASTPOWERSTATEENTERED_WIDTH 0x2 | ||
624 | #define OMAP54XX_LASTPOWERSTATEENTERED_MASK (0x3 << 24) | ||
625 | |||
626 | /* Used by PRM_RSTST */ | ||
627 | #define OMAP54XX_LLI_RST_SHIFT 14 | ||
628 | #define OMAP54XX_LLI_RST_WIDTH 0x1 | ||
629 | #define OMAP54XX_LLI_RST_MASK (1 << 14) | ||
630 | |||
631 | /* | ||
632 | * Used by PM_ABE_PWRSTCTRL, PM_CORE_PWRSTCTRL, PM_DSP_PWRSTCTRL, | ||
633 | * PM_DSS_PWRSTCTRL, PM_IVA_PWRSTCTRL, PM_L3INIT_PWRSTCTRL, PM_MPU_PWRSTCTRL | ||
634 | */ | ||
635 | #define OMAP54XX_LOGICRETSTATE_SHIFT 2 | ||
636 | #define OMAP54XX_LOGICRETSTATE_WIDTH 0x1 | ||
637 | #define OMAP54XX_LOGICRETSTATE_MASK (1 << 2) | ||
638 | |||
639 | /* | ||
640 | * Used by PM_ABE_PWRSTST, PM_CAM_PWRSTST, PM_CORE_PWRSTST, | ||
641 | * PM_CUSTEFUSE_PWRSTST, PM_DSP_PWRSTST, PM_DSS_PWRSTST, PM_EMU_PWRSTST, | ||
642 | * PM_GPU_PWRSTST, PM_IVA_PWRSTST, PM_L3INIT_PWRSTST, PM_MPU_PWRSTST | ||
643 | */ | ||
644 | #define OMAP54XX_LOGICSTATEST_SHIFT 2 | ||
645 | #define OMAP54XX_LOGICSTATEST_WIDTH 0x1 | ||
646 | #define OMAP54XX_LOGICSTATEST_MASK (1 << 2) | ||
647 | |||
648 | /* | ||
649 | * Used by RM_ABE_AESS_CONTEXT, RM_ABE_DMIC_CONTEXT, RM_ABE_MCASP_CONTEXT, | ||
650 | * RM_ABE_MCBSP1_CONTEXT, RM_ABE_MCBSP2_CONTEXT, RM_ABE_MCBSP3_CONTEXT, | ||
651 | * RM_ABE_MCPDM_CONTEXT, RM_ABE_SLIMBUS1_CONTEXT, RM_ABE_TIMER5_CONTEXT, | ||
652 | * RM_ABE_TIMER6_CONTEXT, RM_ABE_TIMER7_CONTEXT, RM_ABE_TIMER8_CONTEXT, | ||
653 | * RM_ABE_WD_TIMER3_CONTEXT, RM_C2C_C2C_CONTEXT, RM_C2C_C2C_OCP_FW_CONTEXT, | ||
654 | * RM_CAM_CAL_CONTEXT, RM_CAM_FDIF_CONTEXT, RM_CAM_ISS_CONTEXT, | ||
655 | * RM_COREAON_SMARTREFLEX_CORE_CONTEXT, RM_COREAON_SMARTREFLEX_MM_CONTEXT, | ||
656 | * RM_COREAON_SMARTREFLEX_MPU_CONTEXT, RM_CUSTEFUSE_EFUSE_CTRL_CUST_CONTEXT, | ||
657 | * RM_DSP_DSP_CONTEXT, RM_DSS_BB2D_CONTEXT, RM_DSS_DSS_CONTEXT, | ||
658 | * RM_EMIF_DMM_CONTEXT, RM_EMIF_EMIF1_CONTEXT, RM_EMIF_EMIF2_CONTEXT, | ||
659 | * RM_EMIF_EMIF_DLL_CONTEXT, RM_EMIF_EMIF_OCP_FW_CONTEXT, | ||
660 | * RM_EMU_DEBUGSS_CONTEXT, RM_GPU_GPU_CONTEXT, RM_IPU_IPU_CONTEXT, | ||
661 | * RM_IVA_IVA_CONTEXT, RM_IVA_SL2_CONTEXT, RM_L3INIT_IEEE1500_2_OCP_CONTEXT, | ||
662 | * RM_L3INIT_OCP2SCP1_CONTEXT, RM_L3INIT_OCP2SCP3_CONTEXT, | ||
663 | * RM_L3INIT_SATA_CONTEXT, RM_L3INIT_UNIPRO2_CONTEXT, | ||
664 | * RM_L3INSTR_L3_INSTR_CONTEXT, RM_L3INSTR_L3_MAIN_3_CONTEXT, | ||
665 | * RM_L3INSTR_OCP_WP_NOC_CONTEXT, RM_L3MAIN1_L3_MAIN_1_CONTEXT, | ||
666 | * RM_L3MAIN2_L3_MAIN_2_CONTEXT, RM_L3MAIN2_OCMC_RAM_CONTEXT, | ||
667 | * RM_L4CFG_L4_CFG_CONTEXT, RM_L4CFG_OCP2SCP2_CONTEXT, | ||
668 | * RM_L4CFG_SAR_ROM_CONTEXT, RM_L4PER_ELM_CONTEXT, RM_L4PER_HDQ1W_CONTEXT, | ||
669 | * RM_L4PER_I2C2_CONTEXT, RM_L4PER_I2C3_CONTEXT, RM_L4PER_I2C4_CONTEXT, | ||
670 | * RM_L4PER_I2C5_CONTEXT, RM_L4PER_L4_PER_CONTEXT, RM_L4PER_MCSPI1_CONTEXT, | ||
671 | * RM_L4PER_MCSPI2_CONTEXT, RM_L4PER_MCSPI3_CONTEXT, RM_L4PER_MCSPI4_CONTEXT, | ||
672 | * RM_L4PER_MMC3_CONTEXT, RM_L4PER_MMC4_CONTEXT, RM_L4PER_MMC5_CONTEXT, | ||
673 | * RM_L4PER_TIMER10_CONTEXT, RM_L4PER_TIMER11_CONTEXT, RM_L4PER_TIMER2_CONTEXT, | ||
674 | * RM_L4PER_TIMER3_CONTEXT, RM_L4PER_TIMER4_CONTEXT, RM_L4PER_TIMER9_CONTEXT, | ||
675 | * RM_L4SEC_FPKA_CONTEXT, RM_MIPIEXT_LLI_CONTEXT, | ||
676 | * RM_MIPIEXT_LLI_OCP_FW_CONTEXT, RM_MIPIEXT_MPHY_CONTEXT, RM_MPU_MPU_CONTEXT, | ||
677 | * RM_WKUPAON_COUNTER_32K_CONTEXT, RM_WKUPAON_GPIO1_CONTEXT, | ||
678 | * RM_WKUPAON_KBD_CONTEXT, RM_WKUPAON_L4_WKUP_CONTEXT, | ||
679 | * RM_WKUPAON_SAR_RAM_CONTEXT, RM_WKUPAON_TIMER12_CONTEXT, | ||
680 | * RM_WKUPAON_TIMER1_CONTEXT, RM_WKUPAON_WD_TIMER1_CONTEXT, | ||
681 | * RM_WKUPAON_WD_TIMER2_CONTEXT | ||
682 | */ | ||
683 | #define OMAP54XX_LOSTCONTEXT_DFF_SHIFT 0 | ||
684 | #define OMAP54XX_LOSTCONTEXT_DFF_WIDTH 0x1 | ||
685 | #define OMAP54XX_LOSTCONTEXT_DFF_MASK (1 << 0) | ||
686 | |||
687 | /* | ||
688 | * Used by RM_C2C_C2C_CONTEXT, RM_C2C_C2C_OCP_FW_CONTEXT, | ||
689 | * RM_C2C_MODEM_ICR_CONTEXT, RM_DMA_DMA_SYSTEM_CONTEXT, RM_DSP_DSP_CONTEXT, | ||
690 | * RM_DSS_DSS_CONTEXT, RM_EMIF_DMM_CONTEXT, RM_EMIF_EMIF1_CONTEXT, | ||
691 | * RM_EMIF_EMIF2_CONTEXT, RM_EMIF_EMIF_OCP_FW_CONTEXT, RM_IPU_IPU_CONTEXT, | ||
692 | * RM_L3INIT_HSI_CONTEXT, RM_L3INIT_MMC1_CONTEXT, RM_L3INIT_MMC2_CONTEXT, | ||
693 | * RM_L3INIT_USB_HOST_HS_CONTEXT, RM_L3INIT_USB_OTG_SS_CONTEXT, | ||
694 | * RM_L3INIT_USB_TLL_HS_CONTEXT, RM_L3INSTR_L3_MAIN_3_CONTEXT, | ||
695 | * RM_L3INSTR_OCP_WP_NOC_CONTEXT, RM_L3MAIN1_L3_MAIN_1_CONTEXT, | ||
696 | * RM_L3MAIN2_GPMC_CONTEXT, RM_L3MAIN2_L3_MAIN_2_CONTEXT, | ||
697 | * RM_L4CFG_L4_CFG_CONTEXT, RM_L4CFG_MAILBOX_CONTEXT, | ||
698 | * RM_L4CFG_SPINLOCK_CONTEXT, RM_L4PER_GPIO2_CONTEXT, RM_L4PER_GPIO3_CONTEXT, | ||
699 | * RM_L4PER_GPIO4_CONTEXT, RM_L4PER_GPIO5_CONTEXT, RM_L4PER_GPIO6_CONTEXT, | ||
700 | * RM_L4PER_GPIO7_CONTEXT, RM_L4PER_GPIO8_CONTEXT, RM_L4PER_I2C1_CONTEXT, | ||
701 | * RM_L4PER_L4_PER_CONTEXT, RM_L4PER_UART1_CONTEXT, RM_L4PER_UART2_CONTEXT, | ||
702 | * RM_L4PER_UART3_CONTEXT, RM_L4PER_UART4_CONTEXT, RM_L4PER_UART5_CONTEXT, | ||
703 | * RM_L4PER_UART6_CONTEXT, RM_L4SEC_AES1_CONTEXT, RM_L4SEC_AES2_CONTEXT, | ||
704 | * RM_L4SEC_DES3DES_CONTEXT, RM_L4SEC_DMA_CRYPTO_CONTEXT, RM_L4SEC_RNG_CONTEXT, | ||
705 | * RM_L4SEC_SHA2MD5_CONTEXT, RM_MIPIEXT_LLI_CONTEXT, | ||
706 | * RM_MIPIEXT_LLI_OCP_FW_CONTEXT, RM_MIPIEXT_MPHY_CONTEXT, RM_MPU_MPU_CONTEXT | ||
707 | */ | ||
708 | #define OMAP54XX_LOSTCONTEXT_RFF_SHIFT 1 | ||
709 | #define OMAP54XX_LOSTCONTEXT_RFF_WIDTH 0x1 | ||
710 | #define OMAP54XX_LOSTCONTEXT_RFF_MASK (1 << 1) | ||
711 | |||
712 | /* Used by RM_ABE_AESS_CONTEXT */ | ||
713 | #define OMAP54XX_LOSTMEM_AESSMEM_SHIFT 8 | ||
714 | #define OMAP54XX_LOSTMEM_AESSMEM_WIDTH 0x1 | ||
715 | #define OMAP54XX_LOSTMEM_AESSMEM_MASK (1 << 8) | ||
716 | |||
717 | /* Used by RM_CAM_CAL_CONTEXT */ | ||
718 | #define OMAP54XX_LOSTMEM_CAL_MEM_SHIFT 8 | ||
719 | #define OMAP54XX_LOSTMEM_CAL_MEM_WIDTH 0x1 | ||
720 | #define OMAP54XX_LOSTMEM_CAL_MEM_MASK (1 << 8) | ||
721 | |||
722 | /* Used by RM_CAM_FDIF_CONTEXT, RM_CAM_ISS_CONTEXT */ | ||
723 | #define OMAP54XX_LOSTMEM_CAM_MEM_SHIFT 8 | ||
724 | #define OMAP54XX_LOSTMEM_CAM_MEM_WIDTH 0x1 | ||
725 | #define OMAP54XX_LOSTMEM_CAM_MEM_MASK (1 << 8) | ||
726 | |||
727 | /* Used by RM_EMIF_DMM_CONTEXT */ | ||
728 | #define OMAP54XX_LOSTMEM_CORE_NRET_BANK_SHIFT 9 | ||
729 | #define OMAP54XX_LOSTMEM_CORE_NRET_BANK_WIDTH 0x1 | ||
730 | #define OMAP54XX_LOSTMEM_CORE_NRET_BANK_MASK (1 << 9) | ||
731 | |||
732 | /* Renamed from LOSTMEM_CORE_NRET_BANK Used by RM_L3INSTR_OCP_WP_NOC_CONTEXT */ | ||
733 | #define OMAP54XX_LOSTMEM_CORE_NRET_BANK_8_8_SHIFT 8 | ||
734 | #define OMAP54XX_LOSTMEM_CORE_NRET_BANK_8_8_WIDTH 0x1 | ||
735 | #define OMAP54XX_LOSTMEM_CORE_NRET_BANK_8_8_MASK (1 << 8) | ||
736 | |||
737 | /* Used by RM_L3MAIN2_OCMC_RAM_CONTEXT */ | ||
738 | #define OMAP54XX_LOSTMEM_CORE_OCMRAM_SHIFT 8 | ||
739 | #define OMAP54XX_LOSTMEM_CORE_OCMRAM_WIDTH 0x1 | ||
740 | #define OMAP54XX_LOSTMEM_CORE_OCMRAM_MASK (1 << 8) | ||
741 | |||
742 | /* Used by RM_DMA_DMA_SYSTEM_CONTEXT, RM_EMIF_DMM_CONTEXT */ | ||
743 | #define OMAP54XX_LOSTMEM_CORE_OTHER_BANK_SHIFT 8 | ||
744 | #define OMAP54XX_LOSTMEM_CORE_OTHER_BANK_WIDTH 0x1 | ||
745 | #define OMAP54XX_LOSTMEM_CORE_OTHER_BANK_MASK (1 << 8) | ||
746 | |||
747 | /* Used by RM_DSP_DSP_CONTEXT */ | ||
748 | #define OMAP54XX_LOSTMEM_DSP_EDMA_SHIFT 10 | ||
749 | #define OMAP54XX_LOSTMEM_DSP_EDMA_WIDTH 0x1 | ||
750 | #define OMAP54XX_LOSTMEM_DSP_EDMA_MASK (1 << 10) | ||
751 | |||
752 | /* Used by RM_DSP_DSP_CONTEXT */ | ||
753 | #define OMAP54XX_LOSTMEM_DSP_L1_SHIFT 8 | ||
754 | #define OMAP54XX_LOSTMEM_DSP_L1_WIDTH 0x1 | ||
755 | #define OMAP54XX_LOSTMEM_DSP_L1_MASK (1 << 8) | ||
756 | |||
757 | /* Used by RM_DSP_DSP_CONTEXT */ | ||
758 | #define OMAP54XX_LOSTMEM_DSP_L2_SHIFT 9 | ||
759 | #define OMAP54XX_LOSTMEM_DSP_L2_WIDTH 0x1 | ||
760 | #define OMAP54XX_LOSTMEM_DSP_L2_MASK (1 << 9) | ||
761 | |||
762 | /* Used by RM_DSS_BB2D_CONTEXT, RM_DSS_DSS_CONTEXT */ | ||
763 | #define OMAP54XX_LOSTMEM_DSS_MEM_SHIFT 8 | ||
764 | #define OMAP54XX_LOSTMEM_DSS_MEM_WIDTH 0x1 | ||
765 | #define OMAP54XX_LOSTMEM_DSS_MEM_MASK (1 << 8) | ||
766 | |||
767 | /* Used by RM_EMU_DEBUGSS_CONTEXT */ | ||
768 | #define OMAP54XX_LOSTMEM_EMU_BANK_SHIFT 8 | ||
769 | #define OMAP54XX_LOSTMEM_EMU_BANK_WIDTH 0x1 | ||
770 | #define OMAP54XX_LOSTMEM_EMU_BANK_MASK (1 << 8) | ||
771 | |||
772 | /* Used by RM_GPU_GPU_CONTEXT */ | ||
773 | #define OMAP54XX_LOSTMEM_GPU_MEM_SHIFT 8 | ||
774 | #define OMAP54XX_LOSTMEM_GPU_MEM_WIDTH 0x1 | ||
775 | #define OMAP54XX_LOSTMEM_GPU_MEM_MASK (1 << 8) | ||
776 | |||
777 | /* Used by RM_IVA_IVA_CONTEXT */ | ||
778 | #define OMAP54XX_LOSTMEM_HWA_MEM_SHIFT 10 | ||
779 | #define OMAP54XX_LOSTMEM_HWA_MEM_WIDTH 0x1 | ||
780 | #define OMAP54XX_LOSTMEM_HWA_MEM_MASK (1 << 10) | ||
781 | |||
782 | /* Used by RM_IPU_IPU_CONTEXT */ | ||
783 | #define OMAP54XX_LOSTMEM_IPU_L2RAM_SHIFT 9 | ||
784 | #define OMAP54XX_LOSTMEM_IPU_L2RAM_WIDTH 0x1 | ||
785 | #define OMAP54XX_LOSTMEM_IPU_L2RAM_MASK (1 << 9) | ||
786 | |||
787 | /* Used by RM_IPU_IPU_CONTEXT */ | ||
788 | #define OMAP54XX_LOSTMEM_IPU_UNICACHE_SHIFT 8 | ||
789 | #define OMAP54XX_LOSTMEM_IPU_UNICACHE_WIDTH 0x1 | ||
790 | #define OMAP54XX_LOSTMEM_IPU_UNICACHE_MASK (1 << 8) | ||
791 | |||
792 | /* | ||
793 | * Used by RM_L3INIT_HSI_CONTEXT, RM_L3INIT_MMC1_CONTEXT, | ||
794 | * RM_L3INIT_MMC2_CONTEXT, RM_L3INIT_SATA_CONTEXT, RM_L3INIT_UNIPRO2_CONTEXT, | ||
795 | * RM_L3INIT_USB_OTG_SS_CONTEXT | ||
796 | */ | ||
797 | #define OMAP54XX_LOSTMEM_L3INIT_BANK1_SHIFT 8 | ||
798 | #define OMAP54XX_LOSTMEM_L3INIT_BANK1_WIDTH 0x1 | ||
799 | #define OMAP54XX_LOSTMEM_L3INIT_BANK1_MASK (1 << 8) | ||
800 | |||
801 | /* Used by RM_MPU_MPU_CONTEXT */ | ||
802 | #define OMAP54XX_LOSTMEM_MPU_L2_SHIFT 9 | ||
803 | #define OMAP54XX_LOSTMEM_MPU_L2_WIDTH 0x1 | ||
804 | #define OMAP54XX_LOSTMEM_MPU_L2_MASK (1 << 9) | ||
805 | |||
806 | /* Used by RM_MPU_MPU_CONTEXT */ | ||
807 | #define OMAP54XX_LOSTMEM_MPU_RAM_SHIFT 10 | ||
808 | #define OMAP54XX_LOSTMEM_MPU_RAM_WIDTH 0x1 | ||
809 | #define OMAP54XX_LOSTMEM_MPU_RAM_MASK (1 << 10) | ||
810 | |||
811 | /* | ||
812 | * Used by RM_L4PER_MMC3_CONTEXT, RM_L4PER_MMC4_CONTEXT, RM_L4PER_MMC5_CONTEXT, | ||
813 | * RM_L4SEC_FPKA_CONTEXT | ||
814 | */ | ||
815 | #define OMAP54XX_LOSTMEM_NONRETAINED_BANK_SHIFT 8 | ||
816 | #define OMAP54XX_LOSTMEM_NONRETAINED_BANK_WIDTH 0x1 | ||
817 | #define OMAP54XX_LOSTMEM_NONRETAINED_BANK_MASK (1 << 8) | ||
818 | |||
819 | /* | ||
820 | * Used by RM_ABE_DMIC_CONTEXT, RM_ABE_MCBSP1_CONTEXT, RM_ABE_MCBSP2_CONTEXT, | ||
821 | * RM_ABE_MCBSP3_CONTEXT, RM_ABE_MCPDM_CONTEXT, RM_ABE_SLIMBUS1_CONTEXT | ||
822 | */ | ||
823 | #define OMAP54XX_LOSTMEM_PERIHPMEM_SHIFT 8 | ||
824 | #define OMAP54XX_LOSTMEM_PERIHPMEM_WIDTH 0x1 | ||
825 | #define OMAP54XX_LOSTMEM_PERIHPMEM_MASK (1 << 8) | ||
826 | |||
827 | /* | ||
828 | * Used by RM_L4PER_UART1_CONTEXT, RM_L4PER_UART2_CONTEXT, | ||
829 | * RM_L4PER_UART3_CONTEXT, RM_L4PER_UART4_CONTEXT, RM_L4PER_UART5_CONTEXT, | ||
830 | * RM_L4PER_UART6_CONTEXT, RM_L4SEC_DMA_CRYPTO_CONTEXT | ||
831 | */ | ||
832 | #define OMAP54XX_LOSTMEM_RETAINED_BANK_SHIFT 8 | ||
833 | #define OMAP54XX_LOSTMEM_RETAINED_BANK_WIDTH 0x1 | ||
834 | #define OMAP54XX_LOSTMEM_RETAINED_BANK_MASK (1 << 8) | ||
835 | |||
836 | /* Used by RM_IVA_SL2_CONTEXT */ | ||
837 | #define OMAP54XX_LOSTMEM_SL2_MEM_SHIFT 8 | ||
838 | #define OMAP54XX_LOSTMEM_SL2_MEM_WIDTH 0x1 | ||
839 | #define OMAP54XX_LOSTMEM_SL2_MEM_MASK (1 << 8) | ||
840 | |||
841 | /* Used by RM_IVA_IVA_CONTEXT */ | ||
842 | #define OMAP54XX_LOSTMEM_TCM1_MEM_SHIFT 8 | ||
843 | #define OMAP54XX_LOSTMEM_TCM1_MEM_WIDTH 0x1 | ||
844 | #define OMAP54XX_LOSTMEM_TCM1_MEM_MASK (1 << 8) | ||
845 | |||
846 | /* Used by RM_IVA_IVA_CONTEXT */ | ||
847 | #define OMAP54XX_LOSTMEM_TCM2_MEM_SHIFT 9 | ||
848 | #define OMAP54XX_LOSTMEM_TCM2_MEM_WIDTH 0x1 | ||
849 | #define OMAP54XX_LOSTMEM_TCM2_MEM_MASK (1 << 9) | ||
850 | |||
851 | /* Used by RM_WKUPAON_SAR_RAM_CONTEXT */ | ||
852 | #define OMAP54XX_LOSTMEM_WKUP_BANK_SHIFT 8 | ||
853 | #define OMAP54XX_LOSTMEM_WKUP_BANK_WIDTH 0x1 | ||
854 | #define OMAP54XX_LOSTMEM_WKUP_BANK_MASK (1 << 8) | ||
855 | |||
856 | /* | ||
857 | * Used by PM_ABE_PWRSTCTRL, PM_CAM_PWRSTCTRL, PM_CORE_PWRSTCTRL, | ||
858 | * PM_CUSTEFUSE_PWRSTCTRL, PM_DSP_PWRSTCTRL, PM_DSS_PWRSTCTRL, | ||
859 | * PM_GPU_PWRSTCTRL, PM_IVA_PWRSTCTRL, PM_L3INIT_PWRSTCTRL, PM_MPU_PWRSTCTRL | ||
860 | */ | ||
861 | #define OMAP54XX_LOWPOWERSTATECHANGE_SHIFT 4 | ||
862 | #define OMAP54XX_LOWPOWERSTATECHANGE_WIDTH 0x1 | ||
863 | #define OMAP54XX_LOWPOWERSTATECHANGE_MASK (1 << 4) | ||
864 | |||
865 | /* Used by PRM_DEBUG_TRANS_CFG */ | ||
866 | #define OMAP54XX_MODE_SHIFT 0 | ||
867 | #define OMAP54XX_MODE_WIDTH 0x2 | ||
868 | #define OMAP54XX_MODE_MASK (0x3 << 0) | ||
869 | |||
870 | /* Used by PRM_MODEM_IF_CTRL */ | ||
871 | #define OMAP54XX_MODEM_SHUTDOWN_IRQ_SHIFT 9 | ||
872 | #define OMAP54XX_MODEM_SHUTDOWN_IRQ_WIDTH 0x1 | ||
873 | #define OMAP54XX_MODEM_SHUTDOWN_IRQ_MASK (1 << 9) | ||
874 | |||
875 | /* Used by PRM_MODEM_IF_CTRL */ | ||
876 | #define OMAP54XX_MODEM_WAKE_IRQ_SHIFT 8 | ||
877 | #define OMAP54XX_MODEM_WAKE_IRQ_WIDTH 0x1 | ||
878 | #define OMAP54XX_MODEM_WAKE_IRQ_MASK (1 << 8) | ||
879 | |||
880 | /* Used by PM_MPU_PWRSTCTRL */ | ||
881 | #define OMAP54XX_MPU_L2_ONSTATE_SHIFT 18 | ||
882 | #define OMAP54XX_MPU_L2_ONSTATE_WIDTH 0x2 | ||
883 | #define OMAP54XX_MPU_L2_ONSTATE_MASK (0x3 << 18) | ||
884 | |||
885 | /* Used by PM_MPU_PWRSTCTRL */ | ||
886 | #define OMAP54XX_MPU_L2_RETSTATE_SHIFT 9 | ||
887 | #define OMAP54XX_MPU_L2_RETSTATE_WIDTH 0x1 | ||
888 | #define OMAP54XX_MPU_L2_RETSTATE_MASK (1 << 9) | ||
889 | |||
890 | /* Used by PM_MPU_PWRSTST */ | ||
891 | #define OMAP54XX_MPU_L2_STATEST_SHIFT 6 | ||
892 | #define OMAP54XX_MPU_L2_STATEST_WIDTH 0x2 | ||
893 | #define OMAP54XX_MPU_L2_STATEST_MASK (0x3 << 6) | ||
894 | |||
895 | /* Used by PM_MPU_PWRSTCTRL */ | ||
896 | #define OMAP54XX_MPU_RAM_ONSTATE_SHIFT 20 | ||
897 | #define OMAP54XX_MPU_RAM_ONSTATE_WIDTH 0x2 | ||
898 | #define OMAP54XX_MPU_RAM_ONSTATE_MASK (0x3 << 20) | ||
899 | |||
900 | /* Used by PM_MPU_PWRSTCTRL */ | ||
901 | #define OMAP54XX_MPU_RAM_RETSTATE_SHIFT 10 | ||
902 | #define OMAP54XX_MPU_RAM_RETSTATE_WIDTH 0x1 | ||
903 | #define OMAP54XX_MPU_RAM_RETSTATE_MASK (1 << 10) | ||
904 | |||
905 | /* Used by PM_MPU_PWRSTST */ | ||
906 | #define OMAP54XX_MPU_RAM_STATEST_SHIFT 8 | ||
907 | #define OMAP54XX_MPU_RAM_STATEST_WIDTH 0x2 | ||
908 | #define OMAP54XX_MPU_RAM_STATEST_MASK (0x3 << 8) | ||
909 | |||
910 | /* Used by PRM_RSTST */ | ||
911 | #define OMAP54XX_MPU_SECURITY_VIOL_RST_SHIFT 2 | ||
912 | #define OMAP54XX_MPU_SECURITY_VIOL_RST_WIDTH 0x1 | ||
913 | #define OMAP54XX_MPU_SECURITY_VIOL_RST_MASK (1 << 2) | ||
914 | |||
915 | /* Used by PRM_RSTST */ | ||
916 | #define OMAP54XX_MPU_WDT_RST_SHIFT 3 | ||
917 | #define OMAP54XX_MPU_WDT_RST_WIDTH 0x1 | ||
918 | #define OMAP54XX_MPU_WDT_RST_MASK (1 << 3) | ||
919 | |||
920 | /* Used by PRM_ABBLDO_MM_SETUP, PRM_ABBLDO_MPU_SETUP */ | ||
921 | #define OMAP54XX_NOCAP_SHIFT 4 | ||
922 | #define OMAP54XX_NOCAP_WIDTH 0x1 | ||
923 | #define OMAP54XX_NOCAP_MASK (1 << 4) | ||
924 | |||
925 | /* Used by PM_CORE_PWRSTCTRL */ | ||
926 | #define OMAP54XX_OCP_NRET_BANK_ONSTATE_SHIFT 24 | ||
927 | #define OMAP54XX_OCP_NRET_BANK_ONSTATE_WIDTH 0x2 | ||
928 | #define OMAP54XX_OCP_NRET_BANK_ONSTATE_MASK (0x3 << 24) | ||
929 | |||
930 | /* Used by PM_CORE_PWRSTCTRL */ | ||
931 | #define OMAP54XX_OCP_NRET_BANK_RETSTATE_SHIFT 12 | ||
932 | #define OMAP54XX_OCP_NRET_BANK_RETSTATE_WIDTH 0x1 | ||
933 | #define OMAP54XX_OCP_NRET_BANK_RETSTATE_MASK (1 << 12) | ||
934 | |||
935 | /* Used by PM_CORE_PWRSTST */ | ||
936 | #define OMAP54XX_OCP_NRET_BANK_STATEST_SHIFT 12 | ||
937 | #define OMAP54XX_OCP_NRET_BANK_STATEST_WIDTH 0x2 | ||
938 | #define OMAP54XX_OCP_NRET_BANK_STATEST_MASK (0x3 << 12) | ||
939 | |||
940 | /* | ||
941 | * Used by PRM_VC_VAL_CMD_VDD_CORE_L, PRM_VC_VAL_CMD_VDD_MM_L, | ||
942 | * PRM_VC_VAL_CMD_VDD_MPU_L | ||
943 | */ | ||
944 | #define OMAP54XX_OFF_SHIFT 0 | ||
945 | #define OMAP54XX_OFF_WIDTH 0x8 | ||
946 | #define OMAP54XX_OFF_MASK (0xff << 0) | ||
947 | |||
948 | /* | ||
949 | * Used by PRM_VC_VAL_CMD_VDD_CORE_L, PRM_VC_VAL_CMD_VDD_MM_L, | ||
950 | * PRM_VC_VAL_CMD_VDD_MPU_L | ||
951 | */ | ||
952 | #define OMAP54XX_ON_SHIFT 24 | ||
953 | #define OMAP54XX_ON_WIDTH 0x8 | ||
954 | #define OMAP54XX_ON_MASK (0xff << 24) | ||
955 | |||
956 | /* | ||
957 | * Used by PRM_VC_VAL_CMD_VDD_CORE_L, PRM_VC_VAL_CMD_VDD_MM_L, | ||
958 | * PRM_VC_VAL_CMD_VDD_MPU_L | ||
959 | */ | ||
960 | #define OMAP54XX_ONLP_SHIFT 16 | ||
961 | #define OMAP54XX_ONLP_WIDTH 0x8 | ||
962 | #define OMAP54XX_ONLP_MASK (0xff << 16) | ||
963 | |||
964 | /* Used by PRM_ABBLDO_MM_CTRL, PRM_ABBLDO_MPU_CTRL */ | ||
965 | #define OMAP54XX_OPP_CHANGE_SHIFT 2 | ||
966 | #define OMAP54XX_OPP_CHANGE_WIDTH 0x1 | ||
967 | #define OMAP54XX_OPP_CHANGE_MASK (1 << 2) | ||
968 | |||
969 | /* Used by PRM_VC_VAL_BYPASS */ | ||
970 | #define OMAP54XX_OPP_CHANGE_EMIF_LVL_SHIFT 25 | ||
971 | #define OMAP54XX_OPP_CHANGE_EMIF_LVL_WIDTH 0x1 | ||
972 | #define OMAP54XX_OPP_CHANGE_EMIF_LVL_MASK (1 << 25) | ||
973 | |||
974 | /* Used by PRM_ABBLDO_MM_CTRL, PRM_ABBLDO_MPU_CTRL */ | ||
975 | #define OMAP54XX_OPP_SEL_SHIFT 0 | ||
976 | #define OMAP54XX_OPP_SEL_WIDTH 0x2 | ||
977 | #define OMAP54XX_OPP_SEL_MASK (0x3 << 0) | ||
978 | |||
979 | /* Used by PRM_DEBUG_OUT */ | ||
980 | #define OMAP54XX_OUTPUT_SHIFT 0 | ||
981 | #define OMAP54XX_OUTPUT_WIDTH 0x20 | ||
982 | #define OMAP54XX_OUTPUT_MASK (0xffffffff << 0) | ||
983 | |||
984 | /* Used by PRM_SRAM_COUNT */ | ||
985 | #define OMAP54XX_PCHARGECNT_VALUE_SHIFT 0 | ||
986 | #define OMAP54XX_PCHARGECNT_VALUE_WIDTH 0x6 | ||
987 | #define OMAP54XX_PCHARGECNT_VALUE_MASK (0x3f << 0) | ||
988 | |||
989 | /* Used by PRM_PSCON_COUNT */ | ||
990 | #define OMAP54XX_PCHARGE_TIME_SHIFT 0 | ||
991 | #define OMAP54XX_PCHARGE_TIME_WIDTH 0x8 | ||
992 | #define OMAP54XX_PCHARGE_TIME_MASK (0xff << 0) | ||
993 | |||
994 | /* Used by PM_ABE_PWRSTCTRL */ | ||
995 | #define OMAP54XX_PERIPHMEM_ONSTATE_SHIFT 20 | ||
996 | #define OMAP54XX_PERIPHMEM_ONSTATE_WIDTH 0x2 | ||
997 | #define OMAP54XX_PERIPHMEM_ONSTATE_MASK (0x3 << 20) | ||
998 | |||
999 | /* Used by PM_ABE_PWRSTCTRL */ | ||
1000 | #define OMAP54XX_PERIPHMEM_RETSTATE_SHIFT 10 | ||
1001 | #define OMAP54XX_PERIPHMEM_RETSTATE_WIDTH 0x1 | ||
1002 | #define OMAP54XX_PERIPHMEM_RETSTATE_MASK (1 << 10) | ||
1003 | |||
1004 | /* Used by PM_ABE_PWRSTST */ | ||
1005 | #define OMAP54XX_PERIPHMEM_STATEST_SHIFT 8 | ||
1006 | #define OMAP54XX_PERIPHMEM_STATEST_WIDTH 0x2 | ||
1007 | #define OMAP54XX_PERIPHMEM_STATEST_MASK (0x3 << 8) | ||
1008 | |||
1009 | /* Used by PRM_PHASE1_CNDP */ | ||
1010 | #define OMAP54XX_PHASE1_CNDP_SHIFT 0 | ||
1011 | #define OMAP54XX_PHASE1_CNDP_WIDTH 0x20 | ||
1012 | #define OMAP54XX_PHASE1_CNDP_MASK (0xffffffff << 0) | ||
1013 | |||
1014 | /* Used by PRM_PHASE2A_CNDP */ | ||
1015 | #define OMAP54XX_PHASE2A_CNDP_SHIFT 0 | ||
1016 | #define OMAP54XX_PHASE2A_CNDP_WIDTH 0x20 | ||
1017 | #define OMAP54XX_PHASE2A_CNDP_MASK (0xffffffff << 0) | ||
1018 | |||
1019 | /* Used by PRM_PHASE2B_CNDP */ | ||
1020 | #define OMAP54XX_PHASE2B_CNDP_SHIFT 0 | ||
1021 | #define OMAP54XX_PHASE2B_CNDP_WIDTH 0x20 | ||
1022 | #define OMAP54XX_PHASE2B_CNDP_MASK (0xffffffff << 0) | ||
1023 | |||
1024 | /* Used by PRM_PSCON_COUNT */ | ||
1025 | #define OMAP54XX_PONOUT_2_PGOODIN_TIME_SHIFT 8 | ||
1026 | #define OMAP54XX_PONOUT_2_PGOODIN_TIME_WIDTH 0x8 | ||
1027 | #define OMAP54XX_PONOUT_2_PGOODIN_TIME_MASK (0xff << 8) | ||
1028 | |||
1029 | /* | ||
1030 | * Used by PM_ABE_PWRSTCTRL, PM_CAM_PWRSTCTRL, PM_CORE_PWRSTCTRL, | ||
1031 | * PM_CUSTEFUSE_PWRSTCTRL, PM_DSP_PWRSTCTRL, PM_DSS_PWRSTCTRL, | ||
1032 | * PM_EMU_PWRSTCTRL, PM_GPU_PWRSTCTRL, PM_IVA_PWRSTCTRL, PM_L3INIT_PWRSTCTRL, | ||
1033 | * PM_MPU_PWRSTCTRL | ||
1034 | */ | ||
1035 | #define OMAP54XX_POWERSTATE_SHIFT 0 | ||
1036 | #define OMAP54XX_POWERSTATE_WIDTH 0x2 | ||
1037 | #define OMAP54XX_POWERSTATE_MASK (0x3 << 0) | ||
1038 | |||
1039 | /* | ||
1040 | * Used by PM_ABE_PWRSTST, PM_CAM_PWRSTST, PM_CORE_PWRSTST, | ||
1041 | * PM_CUSTEFUSE_PWRSTST, PM_DSP_PWRSTST, PM_DSS_PWRSTST, PM_EMU_PWRSTST, | ||
1042 | * PM_GPU_PWRSTST, PM_IVA_PWRSTST, PM_L3INIT_PWRSTST, PM_MPU_PWRSTST | ||
1043 | */ | ||
1044 | #define OMAP54XX_POWERSTATEST_SHIFT 0 | ||
1045 | #define OMAP54XX_POWERSTATEST_WIDTH 0x2 | ||
1046 | #define OMAP54XX_POWERSTATEST_MASK (0x3 << 0) | ||
1047 | |||
1048 | /* Used by PRM_PWRREQCTRL */ | ||
1049 | #define OMAP54XX_PWRREQ_COND_SHIFT 0 | ||
1050 | #define OMAP54XX_PWRREQ_COND_WIDTH 0x2 | ||
1051 | #define OMAP54XX_PWRREQ_COND_MASK (0x3 << 0) | ||
1052 | |||
1053 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
1054 | #define OMAP54XX_RACEN_VDD_CORE_L_SHIFT 27 | ||
1055 | #define OMAP54XX_RACEN_VDD_CORE_L_WIDTH 0x1 | ||
1056 | #define OMAP54XX_RACEN_VDD_CORE_L_MASK (1 << 27) | ||
1057 | |||
1058 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
1059 | #define OMAP54XX_RACEN_VDD_MM_L_SHIFT 27 | ||
1060 | #define OMAP54XX_RACEN_VDD_MM_L_WIDTH 0x1 | ||
1061 | #define OMAP54XX_RACEN_VDD_MM_L_MASK (1 << 27) | ||
1062 | |||
1063 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
1064 | #define OMAP54XX_RACEN_VDD_MPU_L_SHIFT 27 | ||
1065 | #define OMAP54XX_RACEN_VDD_MPU_L_WIDTH 0x1 | ||
1066 | #define OMAP54XX_RACEN_VDD_MPU_L_MASK (1 << 27) | ||
1067 | |||
1068 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
1069 | #define OMAP54XX_RAC_VDD_CORE_L_SHIFT 26 | ||
1070 | #define OMAP54XX_RAC_VDD_CORE_L_WIDTH 0x1 | ||
1071 | #define OMAP54XX_RAC_VDD_CORE_L_MASK (1 << 26) | ||
1072 | |||
1073 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
1074 | #define OMAP54XX_RAC_VDD_MM_L_SHIFT 26 | ||
1075 | #define OMAP54XX_RAC_VDD_MM_L_WIDTH 0x1 | ||
1076 | #define OMAP54XX_RAC_VDD_MM_L_MASK (1 << 26) | ||
1077 | |||
1078 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
1079 | #define OMAP54XX_RAC_VDD_MPU_L_SHIFT 26 | ||
1080 | #define OMAP54XX_RAC_VDD_MPU_L_WIDTH 0x1 | ||
1081 | #define OMAP54XX_RAC_VDD_MPU_L_MASK (1 << 26) | ||
1082 | |||
1083 | /* | ||
1084 | * Used by PRM_VOLTSETUP_CORE_OFF, PRM_VOLTSETUP_CORE_RET_SLEEP, | ||
1085 | * PRM_VOLTSETUP_MM_OFF, PRM_VOLTSETUP_MM_RET_SLEEP, PRM_VOLTSETUP_MPU_OFF, | ||
1086 | * PRM_VOLTSETUP_MPU_RET_SLEEP | ||
1087 | */ | ||
1088 | #define OMAP54XX_RAMP_DOWN_COUNT_SHIFT 16 | ||
1089 | #define OMAP54XX_RAMP_DOWN_COUNT_WIDTH 0x6 | ||
1090 | #define OMAP54XX_RAMP_DOWN_COUNT_MASK (0x3f << 16) | ||
1091 | |||
1092 | /* | ||
1093 | * Used by PRM_VOLTSETUP_CORE_OFF, PRM_VOLTSETUP_CORE_RET_SLEEP, | ||
1094 | * PRM_VOLTSETUP_MM_OFF, PRM_VOLTSETUP_MM_RET_SLEEP, PRM_VOLTSETUP_MPU_OFF, | ||
1095 | * PRM_VOLTSETUP_MPU_RET_SLEEP | ||
1096 | */ | ||
1097 | #define OMAP54XX_RAMP_DOWN_PRESCAL_SHIFT 24 | ||
1098 | #define OMAP54XX_RAMP_DOWN_PRESCAL_WIDTH 0x2 | ||
1099 | #define OMAP54XX_RAMP_DOWN_PRESCAL_MASK (0x3 << 24) | ||
1100 | |||
1101 | /* | ||
1102 | * Used by PRM_VOLTSETUP_CORE_OFF, PRM_VOLTSETUP_CORE_RET_SLEEP, | ||
1103 | * PRM_VOLTSETUP_MM_OFF, PRM_VOLTSETUP_MM_RET_SLEEP, PRM_VOLTSETUP_MPU_OFF, | ||
1104 | * PRM_VOLTSETUP_MPU_RET_SLEEP | ||
1105 | */ | ||
1106 | #define OMAP54XX_RAMP_UP_COUNT_SHIFT 0 | ||
1107 | #define OMAP54XX_RAMP_UP_COUNT_WIDTH 0x6 | ||
1108 | #define OMAP54XX_RAMP_UP_COUNT_MASK (0x3f << 0) | ||
1109 | |||
1110 | /* | ||
1111 | * Used by PRM_VOLTSETUP_CORE_OFF, PRM_VOLTSETUP_CORE_RET_SLEEP, | ||
1112 | * PRM_VOLTSETUP_MM_OFF, PRM_VOLTSETUP_MM_RET_SLEEP, PRM_VOLTSETUP_MPU_OFF, | ||
1113 | * PRM_VOLTSETUP_MPU_RET_SLEEP | ||
1114 | */ | ||
1115 | #define OMAP54XX_RAMP_UP_PRESCAL_SHIFT 8 | ||
1116 | #define OMAP54XX_RAMP_UP_PRESCAL_WIDTH 0x2 | ||
1117 | #define OMAP54XX_RAMP_UP_PRESCAL_MASK (0x3 << 8) | ||
1118 | |||
1119 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
1120 | #define OMAP54XX_RAV_VDD_CORE_L_SHIFT 25 | ||
1121 | #define OMAP54XX_RAV_VDD_CORE_L_WIDTH 0x1 | ||
1122 | #define OMAP54XX_RAV_VDD_CORE_L_MASK (1 << 25) | ||
1123 | |||
1124 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
1125 | #define OMAP54XX_RAV_VDD_MM_L_SHIFT 25 | ||
1126 | #define OMAP54XX_RAV_VDD_MM_L_WIDTH 0x1 | ||
1127 | #define OMAP54XX_RAV_VDD_MM_L_MASK (1 << 25) | ||
1128 | |||
1129 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
1130 | #define OMAP54XX_RAV_VDD_MPU_L_SHIFT 25 | ||
1131 | #define OMAP54XX_RAV_VDD_MPU_L_WIDTH 0x1 | ||
1132 | #define OMAP54XX_RAV_VDD_MPU_L_MASK (1 << 25) | ||
1133 | |||
1134 | /* Used by PRM_VC_VAL_BYPASS */ | ||
1135 | #define OMAP54XX_REGADDR_SHIFT 8 | ||
1136 | #define OMAP54XX_REGADDR_WIDTH 0x8 | ||
1137 | #define OMAP54XX_REGADDR_MASK (0xff << 8) | ||
1138 | |||
1139 | /* | ||
1140 | * Used by PRM_VC_VAL_CMD_VDD_CORE_L, PRM_VC_VAL_CMD_VDD_MM_L, | ||
1141 | * PRM_VC_VAL_CMD_VDD_MPU_L | ||
1142 | */ | ||
1143 | #define OMAP54XX_RET_SHIFT 8 | ||
1144 | #define OMAP54XX_RET_WIDTH 0x8 | ||
1145 | #define OMAP54XX_RET_MASK (0xff << 8) | ||
1146 | |||
1147 | /* Used by PRM_SLDO_CORE_CTRL, PRM_SLDO_MM_CTRL, PRM_SLDO_MPU_CTRL */ | ||
1148 | #define OMAP54XX_RETMODE_ENABLE_SHIFT 0 | ||
1149 | #define OMAP54XX_RETMODE_ENABLE_WIDTH 0x1 | ||
1150 | #define OMAP54XX_RETMODE_ENABLE_MASK (1 << 0) | ||
1151 | |||
1152 | /* Used by PRM_RSTTIME */ | ||
1153 | #define OMAP54XX_RSTTIME1_SHIFT 0 | ||
1154 | #define OMAP54XX_RSTTIME1_WIDTH 0xa | ||
1155 | #define OMAP54XX_RSTTIME1_MASK (0x3ff << 0) | ||
1156 | |||
1157 | /* Used by PRM_RSTTIME */ | ||
1158 | #define OMAP54XX_RSTTIME2_SHIFT 10 | ||
1159 | #define OMAP54XX_RSTTIME2_WIDTH 0x5 | ||
1160 | #define OMAP54XX_RSTTIME2_MASK (0x1f << 10) | ||
1161 | |||
1162 | /* Used by RM_IPU_RSTCTRL, RM_IPU_RSTST */ | ||
1163 | #define OMAP54XX_RST_CPU0_SHIFT 0 | ||
1164 | #define OMAP54XX_RST_CPU0_WIDTH 0x1 | ||
1165 | #define OMAP54XX_RST_CPU0_MASK (1 << 0) | ||
1166 | |||
1167 | /* Used by RM_IPU_RSTCTRL, RM_IPU_RSTST */ | ||
1168 | #define OMAP54XX_RST_CPU1_SHIFT 1 | ||
1169 | #define OMAP54XX_RST_CPU1_WIDTH 0x1 | ||
1170 | #define OMAP54XX_RST_CPU1_MASK (1 << 1) | ||
1171 | |||
1172 | /* Used by RM_DSP_RSTCTRL, RM_DSP_RSTST */ | ||
1173 | #define OMAP54XX_RST_DSP_SHIFT 0 | ||
1174 | #define OMAP54XX_RST_DSP_WIDTH 0x1 | ||
1175 | #define OMAP54XX_RST_DSP_MASK (1 << 0) | ||
1176 | |||
1177 | /* Used by RM_DSP_RSTST */ | ||
1178 | #define OMAP54XX_RST_DSP_EMU_SHIFT 2 | ||
1179 | #define OMAP54XX_RST_DSP_EMU_WIDTH 0x1 | ||
1180 | #define OMAP54XX_RST_DSP_EMU_MASK (1 << 2) | ||
1181 | |||
1182 | /* Used by RM_DSP_RSTST */ | ||
1183 | #define OMAP54XX_RST_DSP_EMU_REQ_SHIFT 3 | ||
1184 | #define OMAP54XX_RST_DSP_EMU_REQ_WIDTH 0x1 | ||
1185 | #define OMAP54XX_RST_DSP_EMU_REQ_MASK (1 << 3) | ||
1186 | |||
1187 | /* Used by RM_DSP_RSTCTRL, RM_DSP_RSTST */ | ||
1188 | #define OMAP54XX_RST_DSP_MMU_CACHE_SHIFT 1 | ||
1189 | #define OMAP54XX_RST_DSP_MMU_CACHE_WIDTH 0x1 | ||
1190 | #define OMAP54XX_RST_DSP_MMU_CACHE_MASK (1 << 1) | ||
1191 | |||
1192 | /* Used by RM_IPU_RSTST */ | ||
1193 | #define OMAP54XX_RST_EMULATION_CPU0_SHIFT 3 | ||
1194 | #define OMAP54XX_RST_EMULATION_CPU0_WIDTH 0x1 | ||
1195 | #define OMAP54XX_RST_EMULATION_CPU0_MASK (1 << 3) | ||
1196 | |||
1197 | /* Used by RM_IPU_RSTST */ | ||
1198 | #define OMAP54XX_RST_EMULATION_CPU1_SHIFT 4 | ||
1199 | #define OMAP54XX_RST_EMULATION_CPU1_WIDTH 0x1 | ||
1200 | #define OMAP54XX_RST_EMULATION_CPU1_MASK (1 << 4) | ||
1201 | |||
1202 | /* Used by RM_IVA_RSTST */ | ||
1203 | #define OMAP54XX_RST_EMULATION_SEQ1_SHIFT 3 | ||
1204 | #define OMAP54XX_RST_EMULATION_SEQ1_WIDTH 0x1 | ||
1205 | #define OMAP54XX_RST_EMULATION_SEQ1_MASK (1 << 3) | ||
1206 | |||
1207 | /* Used by RM_IVA_RSTST */ | ||
1208 | #define OMAP54XX_RST_EMULATION_SEQ2_SHIFT 4 | ||
1209 | #define OMAP54XX_RST_EMULATION_SEQ2_WIDTH 0x1 | ||
1210 | #define OMAP54XX_RST_EMULATION_SEQ2_MASK (1 << 4) | ||
1211 | |||
1212 | /* Used by PRM_RSTCTRL */ | ||
1213 | #define OMAP54XX_RST_GLOBAL_COLD_SW_SHIFT 1 | ||
1214 | #define OMAP54XX_RST_GLOBAL_COLD_SW_WIDTH 0x1 | ||
1215 | #define OMAP54XX_RST_GLOBAL_COLD_SW_MASK (1 << 1) | ||
1216 | |||
1217 | /* Used by PRM_RSTCTRL */ | ||
1218 | #define OMAP54XX_RST_GLOBAL_WARM_SW_SHIFT 0 | ||
1219 | #define OMAP54XX_RST_GLOBAL_WARM_SW_WIDTH 0x1 | ||
1220 | #define OMAP54XX_RST_GLOBAL_WARM_SW_MASK (1 << 0) | ||
1221 | |||
1222 | /* Used by RM_IPU_RSTST */ | ||
1223 | #define OMAP54XX_RST_ICECRUSHER_CPU0_SHIFT 5 | ||
1224 | #define OMAP54XX_RST_ICECRUSHER_CPU0_WIDTH 0x1 | ||
1225 | #define OMAP54XX_RST_ICECRUSHER_CPU0_MASK (1 << 5) | ||
1226 | |||
1227 | /* Used by RM_IPU_RSTST */ | ||
1228 | #define OMAP54XX_RST_ICECRUSHER_CPU1_SHIFT 6 | ||
1229 | #define OMAP54XX_RST_ICECRUSHER_CPU1_WIDTH 0x1 | ||
1230 | #define OMAP54XX_RST_ICECRUSHER_CPU1_MASK (1 << 6) | ||
1231 | |||
1232 | /* Used by RM_IVA_RSTST */ | ||
1233 | #define OMAP54XX_RST_ICECRUSHER_SEQ1_SHIFT 5 | ||
1234 | #define OMAP54XX_RST_ICECRUSHER_SEQ1_WIDTH 0x1 | ||
1235 | #define OMAP54XX_RST_ICECRUSHER_SEQ1_MASK (1 << 5) | ||
1236 | |||
1237 | /* Used by RM_IVA_RSTST */ | ||
1238 | #define OMAP54XX_RST_ICECRUSHER_SEQ2_SHIFT 6 | ||
1239 | #define OMAP54XX_RST_ICECRUSHER_SEQ2_WIDTH 0x1 | ||
1240 | #define OMAP54XX_RST_ICECRUSHER_SEQ2_MASK (1 << 6) | ||
1241 | |||
1242 | /* Used by RM_IPU_RSTCTRL, RM_IPU_RSTST */ | ||
1243 | #define OMAP54XX_RST_IPU_MMU_CACHE_SHIFT 2 | ||
1244 | #define OMAP54XX_RST_IPU_MMU_CACHE_WIDTH 0x1 | ||
1245 | #define OMAP54XX_RST_IPU_MMU_CACHE_MASK (1 << 2) | ||
1246 | |||
1247 | /* Used by RM_IVA_RSTCTRL, RM_IVA_RSTST */ | ||
1248 | #define OMAP54XX_RST_LOGIC_SHIFT 2 | ||
1249 | #define OMAP54XX_RST_LOGIC_WIDTH 0x1 | ||
1250 | #define OMAP54XX_RST_LOGIC_MASK (1 << 2) | ||
1251 | |||
1252 | /* Used by RM_IVA_RSTCTRL, RM_IVA_RSTST */ | ||
1253 | #define OMAP54XX_RST_SEQ1_SHIFT 0 | ||
1254 | #define OMAP54XX_RST_SEQ1_WIDTH 0x1 | ||
1255 | #define OMAP54XX_RST_SEQ1_MASK (1 << 0) | ||
1256 | |||
1257 | /* Used by RM_IVA_RSTCTRL, RM_IVA_RSTST */ | ||
1258 | #define OMAP54XX_RST_SEQ2_SHIFT 1 | ||
1259 | #define OMAP54XX_RST_SEQ2_WIDTH 0x1 | ||
1260 | #define OMAP54XX_RST_SEQ2_MASK (1 << 1) | ||
1261 | |||
1262 | /* Used by REVISION_PRM */ | ||
1263 | #define OMAP54XX_R_RTL_SHIFT 11 | ||
1264 | #define OMAP54XX_R_RTL_WIDTH 0x5 | ||
1265 | #define OMAP54XX_R_RTL_MASK (0x1f << 11) | ||
1266 | |||
1267 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
1268 | #define OMAP54XX_SA_VDD_CORE_L_SHIFT 0 | ||
1269 | #define OMAP54XX_SA_VDD_CORE_L_WIDTH 0x7 | ||
1270 | #define OMAP54XX_SA_VDD_CORE_L_MASK (0x7f << 0) | ||
1271 | |||
1272 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
1273 | #define OMAP54XX_SA_VDD_MM_L_SHIFT 0 | ||
1274 | #define OMAP54XX_SA_VDD_MM_L_WIDTH 0x7 | ||
1275 | #define OMAP54XX_SA_VDD_MM_L_MASK (0x7f << 0) | ||
1276 | |||
1277 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
1278 | #define OMAP54XX_SA_VDD_MPU_L_SHIFT 0 | ||
1279 | #define OMAP54XX_SA_VDD_MPU_L_WIDTH 0x7 | ||
1280 | #define OMAP54XX_SA_VDD_MPU_L_MASK (0x7f << 0) | ||
1281 | |||
1282 | /* Used by REVISION_PRM */ | ||
1283 | #define OMAP54XX_SCHEME_SHIFT 30 | ||
1284 | #define OMAP54XX_SCHEME_WIDTH 0x2 | ||
1285 | #define OMAP54XX_SCHEME_MASK (0x3 << 30) | ||
1286 | |||
1287 | /* Used by PRM_VC_CFG_I2C_CLK */ | ||
1288 | #define OMAP54XX_SCLH_SHIFT 0 | ||
1289 | #define OMAP54XX_SCLH_WIDTH 0x8 | ||
1290 | #define OMAP54XX_SCLH_MASK (0xff << 0) | ||
1291 | |||
1292 | /* Used by PRM_VC_CFG_I2C_CLK */ | ||
1293 | #define OMAP54XX_SCLL_SHIFT 8 | ||
1294 | #define OMAP54XX_SCLL_WIDTH 0x8 | ||
1295 | #define OMAP54XX_SCLL_MASK (0xff << 8) | ||
1296 | |||
1297 | /* Used by PRM_RSTST */ | ||
1298 | #define OMAP54XX_SECURE_WDT_RST_SHIFT 4 | ||
1299 | #define OMAP54XX_SECURE_WDT_RST_WIDTH 0x1 | ||
1300 | #define OMAP54XX_SECURE_WDT_RST_MASK (1 << 4) | ||
1301 | |||
1302 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
1303 | #define OMAP54XX_SEL_SA_VDD_CORE_L_SHIFT 24 | ||
1304 | #define OMAP54XX_SEL_SA_VDD_CORE_L_WIDTH 0x1 | ||
1305 | #define OMAP54XX_SEL_SA_VDD_CORE_L_MASK (1 << 24) | ||
1306 | |||
1307 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
1308 | #define OMAP54XX_SEL_SA_VDD_MM_L_SHIFT 24 | ||
1309 | #define OMAP54XX_SEL_SA_VDD_MM_L_WIDTH 0x1 | ||
1310 | #define OMAP54XX_SEL_SA_VDD_MM_L_MASK (1 << 24) | ||
1311 | |||
1312 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
1313 | #define OMAP54XX_SEL_SA_VDD_MPU_L_SHIFT 24 | ||
1314 | #define OMAP54XX_SEL_SA_VDD_MPU_L_WIDTH 0x1 | ||
1315 | #define OMAP54XX_SEL_SA_VDD_MPU_L_MASK (1 << 24) | ||
1316 | |||
1317 | /* Used by PM_IVA_PWRSTCTRL */ | ||
1318 | #define OMAP54XX_SL2_MEM_ONSTATE_SHIFT 18 | ||
1319 | #define OMAP54XX_SL2_MEM_ONSTATE_WIDTH 0x2 | ||
1320 | #define OMAP54XX_SL2_MEM_ONSTATE_MASK (0x3 << 18) | ||
1321 | |||
1322 | /* Used by PM_IVA_PWRSTCTRL */ | ||
1323 | #define OMAP54XX_SL2_MEM_RETSTATE_SHIFT 9 | ||
1324 | #define OMAP54XX_SL2_MEM_RETSTATE_WIDTH 0x1 | ||
1325 | #define OMAP54XX_SL2_MEM_RETSTATE_MASK (1 << 9) | ||
1326 | |||
1327 | /* Used by PM_IVA_PWRSTST */ | ||
1328 | #define OMAP54XX_SL2_MEM_STATEST_SHIFT 6 | ||
1329 | #define OMAP54XX_SL2_MEM_STATEST_WIDTH 0x2 | ||
1330 | #define OMAP54XX_SL2_MEM_STATEST_MASK (0x3 << 6) | ||
1331 | |||
1332 | /* Used by PRM_VC_VAL_BYPASS */ | ||
1333 | #define OMAP54XX_SLAVEADDR_SHIFT 0 | ||
1334 | #define OMAP54XX_SLAVEADDR_WIDTH 0x7 | ||
1335 | #define OMAP54XX_SLAVEADDR_MASK (0x7f << 0) | ||
1336 | |||
1337 | /* Used by PRM_SRAM_COUNT */ | ||
1338 | #define OMAP54XX_SLPCNT_VALUE_SHIFT 16 | ||
1339 | #define OMAP54XX_SLPCNT_VALUE_WIDTH 0x8 | ||
1340 | #define OMAP54XX_SLPCNT_VALUE_MASK (0xff << 16) | ||
1341 | |||
1342 | /* Used by PRM_VP_CORE_VSTEPMAX, PRM_VP_MM_VSTEPMAX, PRM_VP_MPU_VSTEPMAX */ | ||
1343 | #define OMAP54XX_SMPSWAITTIMEMAX_SHIFT 8 | ||
1344 | #define OMAP54XX_SMPSWAITTIMEMAX_WIDTH 0x10 | ||
1345 | #define OMAP54XX_SMPSWAITTIMEMAX_MASK (0xffff << 8) | ||
1346 | |||
1347 | /* Used by PRM_VP_CORE_VSTEPMIN, PRM_VP_MM_VSTEPMIN, PRM_VP_MPU_VSTEPMIN */ | ||
1348 | #define OMAP54XX_SMPSWAITTIMEMIN_SHIFT 8 | ||
1349 | #define OMAP54XX_SMPSWAITTIMEMIN_WIDTH 0x10 | ||
1350 | #define OMAP54XX_SMPSWAITTIMEMIN_MASK (0xffff << 8) | ||
1351 | |||
1352 | /* Used by PRM_VC_CORE_ERRST */ | ||
1353 | #define OMAP54XX_SMPS_RA_ERR_CORE_SHIFT 1 | ||
1354 | #define OMAP54XX_SMPS_RA_ERR_CORE_WIDTH 0x1 | ||
1355 | #define OMAP54XX_SMPS_RA_ERR_CORE_MASK (1 << 1) | ||
1356 | |||
1357 | /* Used by PRM_VC_MM_ERRST */ | ||
1358 | #define OMAP54XX_SMPS_RA_ERR_MM_SHIFT 1 | ||
1359 | #define OMAP54XX_SMPS_RA_ERR_MM_WIDTH 0x1 | ||
1360 | #define OMAP54XX_SMPS_RA_ERR_MM_MASK (1 << 1) | ||
1361 | |||
1362 | /* Used by PRM_VC_MPU_ERRST */ | ||
1363 | #define OMAP54XX_SMPS_RA_ERR_MPU_SHIFT 1 | ||
1364 | #define OMAP54XX_SMPS_RA_ERR_MPU_WIDTH 0x1 | ||
1365 | #define OMAP54XX_SMPS_RA_ERR_MPU_MASK (1 << 1) | ||
1366 | |||
1367 | /* Used by PRM_VC_CORE_ERRST */ | ||
1368 | #define OMAP54XX_SMPS_SA_ERR_CORE_SHIFT 0 | ||
1369 | #define OMAP54XX_SMPS_SA_ERR_CORE_WIDTH 0x1 | ||
1370 | #define OMAP54XX_SMPS_SA_ERR_CORE_MASK (1 << 0) | ||
1371 | |||
1372 | /* Used by PRM_VC_MM_ERRST */ | ||
1373 | #define OMAP54XX_SMPS_SA_ERR_MM_SHIFT 0 | ||
1374 | #define OMAP54XX_SMPS_SA_ERR_MM_WIDTH 0x1 | ||
1375 | #define OMAP54XX_SMPS_SA_ERR_MM_MASK (1 << 0) | ||
1376 | |||
1377 | /* Used by PRM_VC_MPU_ERRST */ | ||
1378 | #define OMAP54XX_SMPS_SA_ERR_MPU_SHIFT 0 | ||
1379 | #define OMAP54XX_SMPS_SA_ERR_MPU_WIDTH 0x1 | ||
1380 | #define OMAP54XX_SMPS_SA_ERR_MPU_MASK (1 << 0) | ||
1381 | |||
1382 | /* Used by PRM_VC_CORE_ERRST */ | ||
1383 | #define OMAP54XX_SMPS_TIMEOUT_ERR_CORE_SHIFT 2 | ||
1384 | #define OMAP54XX_SMPS_TIMEOUT_ERR_CORE_WIDTH 0x1 | ||
1385 | #define OMAP54XX_SMPS_TIMEOUT_ERR_CORE_MASK (1 << 2) | ||
1386 | |||
1387 | /* Used by PRM_VC_MM_ERRST */ | ||
1388 | #define OMAP54XX_SMPS_TIMEOUT_ERR_MM_SHIFT 2 | ||
1389 | #define OMAP54XX_SMPS_TIMEOUT_ERR_MM_WIDTH 0x1 | ||
1390 | #define OMAP54XX_SMPS_TIMEOUT_ERR_MM_MASK (1 << 2) | ||
1391 | |||
1392 | /* Used by PRM_VC_MPU_ERRST */ | ||
1393 | #define OMAP54XX_SMPS_TIMEOUT_ERR_MPU_SHIFT 2 | ||
1394 | #define OMAP54XX_SMPS_TIMEOUT_ERR_MPU_WIDTH 0x1 | ||
1395 | #define OMAP54XX_SMPS_TIMEOUT_ERR_MPU_MASK (1 << 2) | ||
1396 | |||
1397 | /* Used by PRM_ABBLDO_MM_SETUP, PRM_ABBLDO_MPU_SETUP */ | ||
1398 | #define OMAP54XX_SR2EN_SHIFT 0 | ||
1399 | #define OMAP54XX_SR2EN_WIDTH 0x1 | ||
1400 | #define OMAP54XX_SR2EN_MASK (1 << 0) | ||
1401 | |||
1402 | /* Used by PRM_ABBLDO_MM_CTRL, PRM_ABBLDO_MPU_CTRL */ | ||
1403 | #define OMAP54XX_SR2_IN_TRANSITION_SHIFT 6 | ||
1404 | #define OMAP54XX_SR2_IN_TRANSITION_WIDTH 0x1 | ||
1405 | #define OMAP54XX_SR2_IN_TRANSITION_MASK (1 << 6) | ||
1406 | |||
1407 | /* Used by PRM_ABBLDO_MM_CTRL, PRM_ABBLDO_MPU_CTRL */ | ||
1408 | #define OMAP54XX_SR2_STATUS_SHIFT 3 | ||
1409 | #define OMAP54XX_SR2_STATUS_WIDTH 0x2 | ||
1410 | #define OMAP54XX_SR2_STATUS_MASK (0x3 << 3) | ||
1411 | |||
1412 | /* Used by PRM_ABBLDO_MM_SETUP, PRM_ABBLDO_MPU_SETUP */ | ||
1413 | #define OMAP54XX_SR2_WTCNT_VALUE_SHIFT 8 | ||
1414 | #define OMAP54XX_SR2_WTCNT_VALUE_WIDTH 0x8 | ||
1415 | #define OMAP54XX_SR2_WTCNT_VALUE_MASK (0xff << 8) | ||
1416 | |||
1417 | /* Used by PRM_SLDO_CORE_CTRL, PRM_SLDO_MM_CTRL, PRM_SLDO_MPU_CTRL */ | ||
1418 | #define OMAP54XX_SRAMLDO_STATUS_SHIFT 8 | ||
1419 | #define OMAP54XX_SRAMLDO_STATUS_WIDTH 0x1 | ||
1420 | #define OMAP54XX_SRAMLDO_STATUS_MASK (1 << 8) | ||
1421 | |||
1422 | /* Used by PRM_SLDO_CORE_CTRL, PRM_SLDO_MM_CTRL, PRM_SLDO_MPU_CTRL */ | ||
1423 | #define OMAP54XX_SRAM_IN_TRANSITION_SHIFT 9 | ||
1424 | #define OMAP54XX_SRAM_IN_TRANSITION_WIDTH 0x1 | ||
1425 | #define OMAP54XX_SRAM_IN_TRANSITION_MASK (1 << 9) | ||
1426 | |||
1427 | /* Used by PRM_VC_CFG_I2C_MODE */ | ||
1428 | #define OMAP54XX_SRMODEEN_SHIFT 4 | ||
1429 | #define OMAP54XX_SRMODEEN_WIDTH 0x1 | ||
1430 | #define OMAP54XX_SRMODEEN_MASK (1 << 4) | ||
1431 | |||
1432 | /* Used by PRM_VOLTSETUP_WARMRESET */ | ||
1433 | #define OMAP54XX_STABLE_COUNT_SHIFT 0 | ||
1434 | #define OMAP54XX_STABLE_COUNT_WIDTH 0x6 | ||
1435 | #define OMAP54XX_STABLE_COUNT_MASK (0x3f << 0) | ||
1436 | |||
1437 | /* Used by PRM_VOLTSETUP_WARMRESET */ | ||
1438 | #define OMAP54XX_STABLE_PRESCAL_SHIFT 8 | ||
1439 | #define OMAP54XX_STABLE_PRESCAL_WIDTH 0x2 | ||
1440 | #define OMAP54XX_STABLE_PRESCAL_MASK (0x3 << 8) | ||
1441 | |||
1442 | /* Used by PRM_BANDGAP_SETUP */ | ||
1443 | #define OMAP54XX_STARTUP_COUNT_SHIFT 0 | ||
1444 | #define OMAP54XX_STARTUP_COUNT_WIDTH 0x8 | ||
1445 | #define OMAP54XX_STARTUP_COUNT_MASK (0xff << 0) | ||
1446 | |||
1447 | /* Renamed from STARTUP_COUNT Used by PRM_SRAM_COUNT */ | ||
1448 | #define OMAP54XX_STARTUP_COUNT_24_31_SHIFT 24 | ||
1449 | #define OMAP54XX_STARTUP_COUNT_24_31_WIDTH 0x8 | ||
1450 | #define OMAP54XX_STARTUP_COUNT_24_31_MASK (0xff << 24) | ||
1451 | |||
1452 | /* Used by PM_IVA_PWRSTCTRL */ | ||
1453 | #define OMAP54XX_TCM1_MEM_ONSTATE_SHIFT 20 | ||
1454 | #define OMAP54XX_TCM1_MEM_ONSTATE_WIDTH 0x2 | ||
1455 | #define OMAP54XX_TCM1_MEM_ONSTATE_MASK (0x3 << 20) | ||
1456 | |||
1457 | /* Used by PM_IVA_PWRSTCTRL */ | ||
1458 | #define OMAP54XX_TCM1_MEM_RETSTATE_SHIFT 10 | ||
1459 | #define OMAP54XX_TCM1_MEM_RETSTATE_WIDTH 0x1 | ||
1460 | #define OMAP54XX_TCM1_MEM_RETSTATE_MASK (1 << 10) | ||
1461 | |||
1462 | /* Used by PM_IVA_PWRSTST */ | ||
1463 | #define OMAP54XX_TCM1_MEM_STATEST_SHIFT 8 | ||
1464 | #define OMAP54XX_TCM1_MEM_STATEST_WIDTH 0x2 | ||
1465 | #define OMAP54XX_TCM1_MEM_STATEST_MASK (0x3 << 8) | ||
1466 | |||
1467 | /* Used by PM_IVA_PWRSTCTRL */ | ||
1468 | #define OMAP54XX_TCM2_MEM_ONSTATE_SHIFT 22 | ||
1469 | #define OMAP54XX_TCM2_MEM_ONSTATE_WIDTH 0x2 | ||
1470 | #define OMAP54XX_TCM2_MEM_ONSTATE_MASK (0x3 << 22) | ||
1471 | |||
1472 | /* Used by PM_IVA_PWRSTCTRL */ | ||
1473 | #define OMAP54XX_TCM2_MEM_RETSTATE_SHIFT 11 | ||
1474 | #define OMAP54XX_TCM2_MEM_RETSTATE_WIDTH 0x1 | ||
1475 | #define OMAP54XX_TCM2_MEM_RETSTATE_MASK (1 << 11) | ||
1476 | |||
1477 | /* Used by PM_IVA_PWRSTST */ | ||
1478 | #define OMAP54XX_TCM2_MEM_STATEST_SHIFT 10 | ||
1479 | #define OMAP54XX_TCM2_MEM_STATEST_WIDTH 0x2 | ||
1480 | #define OMAP54XX_TCM2_MEM_STATEST_MASK (0x3 << 10) | ||
1481 | |||
1482 | /* Used by PRM_VP_CORE_VLIMITTO, PRM_VP_MM_VLIMITTO, PRM_VP_MPU_VLIMITTO */ | ||
1483 | #define OMAP54XX_TIMEOUT_SHIFT 0 | ||
1484 | #define OMAP54XX_TIMEOUT_WIDTH 0x10 | ||
1485 | #define OMAP54XX_TIMEOUT_MASK (0xffff << 0) | ||
1486 | |||
1487 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
1488 | #define OMAP54XX_TIMEOUTEN_SHIFT 3 | ||
1489 | #define OMAP54XX_TIMEOUTEN_WIDTH 0x1 | ||
1490 | #define OMAP54XX_TIMEOUTEN_MASK (1 << 3) | ||
1491 | |||
1492 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1493 | #define OMAP54XX_TRANSITION_EN_SHIFT 8 | ||
1494 | #define OMAP54XX_TRANSITION_EN_WIDTH 0x1 | ||
1495 | #define OMAP54XX_TRANSITION_EN_MASK (1 << 8) | ||
1496 | |||
1497 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1498 | #define OMAP54XX_TRANSITION_ST_SHIFT 8 | ||
1499 | #define OMAP54XX_TRANSITION_ST_WIDTH 0x1 | ||
1500 | #define OMAP54XX_TRANSITION_ST_MASK (1 << 8) | ||
1501 | |||
1502 | /* Used by PRM_DEBUG_TRANS_CFG */ | ||
1503 | #define OMAP54XX_TRIGGER_CLEAR_SHIFT 2 | ||
1504 | #define OMAP54XX_TRIGGER_CLEAR_WIDTH 0x1 | ||
1505 | #define OMAP54XX_TRIGGER_CLEAR_MASK (1 << 2) | ||
1506 | |||
1507 | /* Used by PRM_RSTST */ | ||
1508 | #define OMAP54XX_TSHUT_CORE_RST_SHIFT 13 | ||
1509 | #define OMAP54XX_TSHUT_CORE_RST_WIDTH 0x1 | ||
1510 | #define OMAP54XX_TSHUT_CORE_RST_MASK (1 << 13) | ||
1511 | |||
1512 | /* Used by PRM_RSTST */ | ||
1513 | #define OMAP54XX_TSHUT_MM_RST_SHIFT 12 | ||
1514 | #define OMAP54XX_TSHUT_MM_RST_WIDTH 0x1 | ||
1515 | #define OMAP54XX_TSHUT_MM_RST_MASK (1 << 12) | ||
1516 | |||
1517 | /* Used by PRM_RSTST */ | ||
1518 | #define OMAP54XX_TSHUT_MPU_RST_SHIFT 11 | ||
1519 | #define OMAP54XX_TSHUT_MPU_RST_WIDTH 0x1 | ||
1520 | #define OMAP54XX_TSHUT_MPU_RST_MASK (1 << 11) | ||
1521 | |||
1522 | /* Used by PRM_VC_VAL_BYPASS */ | ||
1523 | #define OMAP54XX_VALID_SHIFT 24 | ||
1524 | #define OMAP54XX_VALID_WIDTH 0x1 | ||
1525 | #define OMAP54XX_VALID_MASK (1 << 24) | ||
1526 | |||
1527 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1528 | #define OMAP54XX_VC_BYPASSACK_EN_SHIFT 14 | ||
1529 | #define OMAP54XX_VC_BYPASSACK_EN_WIDTH 0x1 | ||
1530 | #define OMAP54XX_VC_BYPASSACK_EN_MASK (1 << 14) | ||
1531 | |||
1532 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1533 | #define OMAP54XX_VC_BYPASSACK_ST_SHIFT 14 | ||
1534 | #define OMAP54XX_VC_BYPASSACK_ST_WIDTH 0x1 | ||
1535 | #define OMAP54XX_VC_BYPASSACK_ST_MASK (1 << 14) | ||
1536 | |||
1537 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1538 | #define OMAP54XX_VC_CORE_VPACK_EN_SHIFT 22 | ||
1539 | #define OMAP54XX_VC_CORE_VPACK_EN_WIDTH 0x1 | ||
1540 | #define OMAP54XX_VC_CORE_VPACK_EN_MASK (1 << 22) | ||
1541 | |||
1542 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1543 | #define OMAP54XX_VC_CORE_VPACK_ST_SHIFT 22 | ||
1544 | #define OMAP54XX_VC_CORE_VPACK_ST_WIDTH 0x1 | ||
1545 | #define OMAP54XX_VC_CORE_VPACK_ST_MASK (1 << 22) | ||
1546 | |||
1547 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1548 | #define OMAP54XX_VC_MM_VPACK_EN_SHIFT 30 | ||
1549 | #define OMAP54XX_VC_MM_VPACK_EN_WIDTH 0x1 | ||
1550 | #define OMAP54XX_VC_MM_VPACK_EN_MASK (1 << 30) | ||
1551 | |||
1552 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1553 | #define OMAP54XX_VC_MM_VPACK_ST_SHIFT 30 | ||
1554 | #define OMAP54XX_VC_MM_VPACK_ST_WIDTH 0x1 | ||
1555 | #define OMAP54XX_VC_MM_VPACK_ST_MASK (1 << 30) | ||
1556 | |||
1557 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1558 | #define OMAP54XX_VC_MPU_VPACK_EN_SHIFT 6 | ||
1559 | #define OMAP54XX_VC_MPU_VPACK_EN_WIDTH 0x1 | ||
1560 | #define OMAP54XX_VC_MPU_VPACK_EN_MASK (1 << 6) | ||
1561 | |||
1562 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1563 | #define OMAP54XX_VC_MPU_VPACK_ST_SHIFT 6 | ||
1564 | #define OMAP54XX_VC_MPU_VPACK_ST_WIDTH 0x1 | ||
1565 | #define OMAP54XX_VC_MPU_VPACK_ST_MASK (1 << 6) | ||
1566 | |||
1567 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1568 | #define OMAP54XX_VC_RAERR_EN_SHIFT 12 | ||
1569 | #define OMAP54XX_VC_RAERR_EN_WIDTH 0x1 | ||
1570 | #define OMAP54XX_VC_RAERR_EN_MASK (1 << 12) | ||
1571 | |||
1572 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1573 | #define OMAP54XX_VC_RAERR_ST_SHIFT 12 | ||
1574 | #define OMAP54XX_VC_RAERR_ST_WIDTH 0x1 | ||
1575 | #define OMAP54XX_VC_RAERR_ST_MASK (1 << 12) | ||
1576 | |||
1577 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1578 | #define OMAP54XX_VC_SAERR_EN_SHIFT 11 | ||
1579 | #define OMAP54XX_VC_SAERR_EN_WIDTH 0x1 | ||
1580 | #define OMAP54XX_VC_SAERR_EN_MASK (1 << 11) | ||
1581 | |||
1582 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1583 | #define OMAP54XX_VC_SAERR_ST_SHIFT 11 | ||
1584 | #define OMAP54XX_VC_SAERR_ST_WIDTH 0x1 | ||
1585 | #define OMAP54XX_VC_SAERR_ST_MASK (1 << 11) | ||
1586 | |||
1587 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1588 | #define OMAP54XX_VC_TOERR_EN_SHIFT 13 | ||
1589 | #define OMAP54XX_VC_TOERR_EN_WIDTH 0x1 | ||
1590 | #define OMAP54XX_VC_TOERR_EN_MASK (1 << 13) | ||
1591 | |||
1592 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1593 | #define OMAP54XX_VC_TOERR_ST_SHIFT 13 | ||
1594 | #define OMAP54XX_VC_TOERR_ST_WIDTH 0x1 | ||
1595 | #define OMAP54XX_VC_TOERR_ST_MASK (1 << 13) | ||
1596 | |||
1597 | /* Used by PRM_VP_CORE_VLIMITTO, PRM_VP_MM_VLIMITTO, PRM_VP_MPU_VLIMITTO */ | ||
1598 | #define OMAP54XX_VDDMAX_SHIFT 24 | ||
1599 | #define OMAP54XX_VDDMAX_WIDTH 0x8 | ||
1600 | #define OMAP54XX_VDDMAX_MASK (0xff << 24) | ||
1601 | |||
1602 | /* Used by PRM_VP_CORE_VLIMITTO, PRM_VP_MM_VLIMITTO, PRM_VP_MPU_VLIMITTO */ | ||
1603 | #define OMAP54XX_VDDMIN_SHIFT 16 | ||
1604 | #define OMAP54XX_VDDMIN_WIDTH 0x8 | ||
1605 | #define OMAP54XX_VDDMIN_MASK (0xff << 16) | ||
1606 | |||
1607 | /* Used by PRM_VOLTCTRL */ | ||
1608 | #define OMAP54XX_VDD_CORE_I2C_DISABLE_SHIFT 12 | ||
1609 | #define OMAP54XX_VDD_CORE_I2C_DISABLE_WIDTH 0x1 | ||
1610 | #define OMAP54XX_VDD_CORE_I2C_DISABLE_MASK (1 << 12) | ||
1611 | |||
1612 | /* Used by PRM_RSTST */ | ||
1613 | #define OMAP54XX_VDD_CORE_VOLT_MGR_RST_SHIFT 8 | ||
1614 | #define OMAP54XX_VDD_CORE_VOLT_MGR_RST_WIDTH 0x1 | ||
1615 | #define OMAP54XX_VDD_CORE_VOLT_MGR_RST_MASK (1 << 8) | ||
1616 | |||
1617 | /* Used by PRM_VOLTCTRL */ | ||
1618 | #define OMAP54XX_VDD_MM_I2C_DISABLE_SHIFT 14 | ||
1619 | #define OMAP54XX_VDD_MM_I2C_DISABLE_WIDTH 0x1 | ||
1620 | #define OMAP54XX_VDD_MM_I2C_DISABLE_MASK (1 << 14) | ||
1621 | |||
1622 | /* Used by PRM_VOLTCTRL */ | ||
1623 | #define OMAP54XX_VDD_MM_PRESENCE_SHIFT 9 | ||
1624 | #define OMAP54XX_VDD_MM_PRESENCE_WIDTH 0x1 | ||
1625 | #define OMAP54XX_VDD_MM_PRESENCE_MASK (1 << 9) | ||
1626 | |||
1627 | /* Used by PRM_RSTST */ | ||
1628 | #define OMAP54XX_VDD_MM_VOLT_MGR_RST_SHIFT 7 | ||
1629 | #define OMAP54XX_VDD_MM_VOLT_MGR_RST_WIDTH 0x1 | ||
1630 | #define OMAP54XX_VDD_MM_VOLT_MGR_RST_MASK (1 << 7) | ||
1631 | |||
1632 | /* Used by PRM_VOLTCTRL */ | ||
1633 | #define OMAP54XX_VDD_MPU_I2C_DISABLE_SHIFT 13 | ||
1634 | #define OMAP54XX_VDD_MPU_I2C_DISABLE_WIDTH 0x1 | ||
1635 | #define OMAP54XX_VDD_MPU_I2C_DISABLE_MASK (1 << 13) | ||
1636 | |||
1637 | /* Used by PRM_VOLTCTRL */ | ||
1638 | #define OMAP54XX_VDD_MPU_PRESENCE_SHIFT 8 | ||
1639 | #define OMAP54XX_VDD_MPU_PRESENCE_WIDTH 0x1 | ||
1640 | #define OMAP54XX_VDD_MPU_PRESENCE_MASK (1 << 8) | ||
1641 | |||
1642 | /* Used by PRM_RSTST */ | ||
1643 | #define OMAP54XX_VDD_MPU_VOLT_MGR_RST_SHIFT 6 | ||
1644 | #define OMAP54XX_VDD_MPU_VOLT_MGR_RST_WIDTH 0x1 | ||
1645 | #define OMAP54XX_VDD_MPU_VOLT_MGR_RST_MASK (1 << 6) | ||
1646 | |||
1647 | /* Used by PRM_VC_CORE_ERRST */ | ||
1648 | #define OMAP54XX_VFSM_RA_ERR_CORE_SHIFT 4 | ||
1649 | #define OMAP54XX_VFSM_RA_ERR_CORE_WIDTH 0x1 | ||
1650 | #define OMAP54XX_VFSM_RA_ERR_CORE_MASK (1 << 4) | ||
1651 | |||
1652 | /* Used by PRM_VC_MM_ERRST */ | ||
1653 | #define OMAP54XX_VFSM_RA_ERR_MM_SHIFT 4 | ||
1654 | #define OMAP54XX_VFSM_RA_ERR_MM_WIDTH 0x1 | ||
1655 | #define OMAP54XX_VFSM_RA_ERR_MM_MASK (1 << 4) | ||
1656 | |||
1657 | /* Used by PRM_VC_MPU_ERRST */ | ||
1658 | #define OMAP54XX_VFSM_RA_ERR_MPU_SHIFT 4 | ||
1659 | #define OMAP54XX_VFSM_RA_ERR_MPU_WIDTH 0x1 | ||
1660 | #define OMAP54XX_VFSM_RA_ERR_MPU_MASK (1 << 4) | ||
1661 | |||
1662 | /* Used by PRM_VC_CORE_ERRST */ | ||
1663 | #define OMAP54XX_VFSM_SA_ERR_CORE_SHIFT 3 | ||
1664 | #define OMAP54XX_VFSM_SA_ERR_CORE_WIDTH 0x1 | ||
1665 | #define OMAP54XX_VFSM_SA_ERR_CORE_MASK (1 << 3) | ||
1666 | |||
1667 | /* Used by PRM_VC_MM_ERRST */ | ||
1668 | #define OMAP54XX_VFSM_SA_ERR_MM_SHIFT 3 | ||
1669 | #define OMAP54XX_VFSM_SA_ERR_MM_WIDTH 0x1 | ||
1670 | #define OMAP54XX_VFSM_SA_ERR_MM_MASK (1 << 3) | ||
1671 | |||
1672 | /* Used by PRM_VC_MPU_ERRST */ | ||
1673 | #define OMAP54XX_VFSM_SA_ERR_MPU_SHIFT 3 | ||
1674 | #define OMAP54XX_VFSM_SA_ERR_MPU_WIDTH 0x1 | ||
1675 | #define OMAP54XX_VFSM_SA_ERR_MPU_MASK (1 << 3) | ||
1676 | |||
1677 | /* Used by PRM_VC_CORE_ERRST */ | ||
1678 | #define OMAP54XX_VFSM_TIMEOUT_ERR_CORE_SHIFT 5 | ||
1679 | #define OMAP54XX_VFSM_TIMEOUT_ERR_CORE_WIDTH 0x1 | ||
1680 | #define OMAP54XX_VFSM_TIMEOUT_ERR_CORE_MASK (1 << 5) | ||
1681 | |||
1682 | /* Used by PRM_VC_MM_ERRST */ | ||
1683 | #define OMAP54XX_VFSM_TIMEOUT_ERR_MM_SHIFT 5 | ||
1684 | #define OMAP54XX_VFSM_TIMEOUT_ERR_MM_WIDTH 0x1 | ||
1685 | #define OMAP54XX_VFSM_TIMEOUT_ERR_MM_MASK (1 << 5) | ||
1686 | |||
1687 | /* Used by PRM_VC_MPU_ERRST */ | ||
1688 | #define OMAP54XX_VFSM_TIMEOUT_ERR_MPU_SHIFT 5 | ||
1689 | #define OMAP54XX_VFSM_TIMEOUT_ERR_MPU_WIDTH 0x1 | ||
1690 | #define OMAP54XX_VFSM_TIMEOUT_ERR_MPU_MASK (1 << 5) | ||
1691 | |||
1692 | /* Used by PRM_VC_SMPS_CORE_CONFIG */ | ||
1693 | #define OMAP54XX_VOLRA_VDD_CORE_L_SHIFT 8 | ||
1694 | #define OMAP54XX_VOLRA_VDD_CORE_L_WIDTH 0x8 | ||
1695 | #define OMAP54XX_VOLRA_VDD_CORE_L_MASK (0xff << 8) | ||
1696 | |||
1697 | /* Used by PRM_VC_SMPS_MM_CONFIG */ | ||
1698 | #define OMAP54XX_VOLRA_VDD_MM_L_SHIFT 8 | ||
1699 | #define OMAP54XX_VOLRA_VDD_MM_L_WIDTH 0x8 | ||
1700 | #define OMAP54XX_VOLRA_VDD_MM_L_MASK (0xff << 8) | ||
1701 | |||
1702 | /* Used by PRM_VC_SMPS_MPU_CONFIG */ | ||
1703 | #define OMAP54XX_VOLRA_VDD_MPU_L_SHIFT 8 | ||
1704 | #define OMAP54XX_VOLRA_VDD_MPU_L_WIDTH 0x8 | ||
1705 | #define OMAP54XX_VOLRA_VDD_MPU_L_MASK (0xff << 8) | ||
1706 | |||
1707 | /* Used by PRM_VOLTST_MM, PRM_VOLTST_MPU */ | ||
1708 | #define OMAP54XX_VOLTSTATEST_SHIFT 0 | ||
1709 | #define OMAP54XX_VOLTSTATEST_WIDTH 0x2 | ||
1710 | #define OMAP54XX_VOLTSTATEST_MASK (0x3 << 0) | ||
1711 | |||
1712 | /* Used by PRM_VP_CORE_CONFIG, PRM_VP_MM_CONFIG, PRM_VP_MPU_CONFIG */ | ||
1713 | #define OMAP54XX_VPENABLE_SHIFT 0 | ||
1714 | #define OMAP54XX_VPENABLE_WIDTH 0x1 | ||
1715 | #define OMAP54XX_VPENABLE_MASK (1 << 0) | ||
1716 | |||
1717 | /* Used by PRM_VP_CORE_STATUS, PRM_VP_MM_STATUS, PRM_VP_MPU_STATUS */ | ||
1718 | #define OMAP54XX_VPINIDLE_SHIFT 0 | ||
1719 | #define OMAP54XX_VPINIDLE_WIDTH 0x1 | ||
1720 | #define OMAP54XX_VPINIDLE_MASK (1 << 0) | ||
1721 | |||
1722 | /* Used by PRM_VP_CORE_VOLTAGE, PRM_VP_MM_VOLTAGE, PRM_VP_MPU_VOLTAGE */ | ||
1723 | #define OMAP54XX_VPVOLTAGE_SHIFT 0 | ||
1724 | #define OMAP54XX_VPVOLTAGE_WIDTH 0x8 | ||
1725 | #define OMAP54XX_VPVOLTAGE_MASK (0xff << 0) | ||
1726 | |||
1727 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1728 | #define OMAP54XX_VP_CORE_EQVALUE_EN_SHIFT 20 | ||
1729 | #define OMAP54XX_VP_CORE_EQVALUE_EN_WIDTH 0x1 | ||
1730 | #define OMAP54XX_VP_CORE_EQVALUE_EN_MASK (1 << 20) | ||
1731 | |||
1732 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1733 | #define OMAP54XX_VP_CORE_EQVALUE_ST_SHIFT 20 | ||
1734 | #define OMAP54XX_VP_CORE_EQVALUE_ST_WIDTH 0x1 | ||
1735 | #define OMAP54XX_VP_CORE_EQVALUE_ST_MASK (1 << 20) | ||
1736 | |||
1737 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1738 | #define OMAP54XX_VP_CORE_MAXVDD_EN_SHIFT 18 | ||
1739 | #define OMAP54XX_VP_CORE_MAXVDD_EN_WIDTH 0x1 | ||
1740 | #define OMAP54XX_VP_CORE_MAXVDD_EN_MASK (1 << 18) | ||
1741 | |||
1742 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1743 | #define OMAP54XX_VP_CORE_MAXVDD_ST_SHIFT 18 | ||
1744 | #define OMAP54XX_VP_CORE_MAXVDD_ST_WIDTH 0x1 | ||
1745 | #define OMAP54XX_VP_CORE_MAXVDD_ST_MASK (1 << 18) | ||
1746 | |||
1747 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1748 | #define OMAP54XX_VP_CORE_MINVDD_EN_SHIFT 17 | ||
1749 | #define OMAP54XX_VP_CORE_MINVDD_EN_WIDTH 0x1 | ||
1750 | #define OMAP54XX_VP_CORE_MINVDD_EN_MASK (1 << 17) | ||
1751 | |||
1752 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1753 | #define OMAP54XX_VP_CORE_MINVDD_ST_SHIFT 17 | ||
1754 | #define OMAP54XX_VP_CORE_MINVDD_ST_WIDTH 0x1 | ||
1755 | #define OMAP54XX_VP_CORE_MINVDD_ST_MASK (1 << 17) | ||
1756 | |||
1757 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1758 | #define OMAP54XX_VP_CORE_NOSMPSACK_EN_SHIFT 19 | ||
1759 | #define OMAP54XX_VP_CORE_NOSMPSACK_EN_WIDTH 0x1 | ||
1760 | #define OMAP54XX_VP_CORE_NOSMPSACK_EN_MASK (1 << 19) | ||
1761 | |||
1762 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1763 | #define OMAP54XX_VP_CORE_NOSMPSACK_ST_SHIFT 19 | ||
1764 | #define OMAP54XX_VP_CORE_NOSMPSACK_ST_WIDTH 0x1 | ||
1765 | #define OMAP54XX_VP_CORE_NOSMPSACK_ST_MASK (1 << 19) | ||
1766 | |||
1767 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1768 | #define OMAP54XX_VP_CORE_OPPCHANGEDONE_EN_SHIFT 16 | ||
1769 | #define OMAP54XX_VP_CORE_OPPCHANGEDONE_EN_WIDTH 0x1 | ||
1770 | #define OMAP54XX_VP_CORE_OPPCHANGEDONE_EN_MASK (1 << 16) | ||
1771 | |||
1772 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1773 | #define OMAP54XX_VP_CORE_OPPCHANGEDONE_ST_SHIFT 16 | ||
1774 | #define OMAP54XX_VP_CORE_OPPCHANGEDONE_ST_WIDTH 0x1 | ||
1775 | #define OMAP54XX_VP_CORE_OPPCHANGEDONE_ST_MASK (1 << 16) | ||
1776 | |||
1777 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1778 | #define OMAP54XX_VP_CORE_TRANXDONE_EN_SHIFT 21 | ||
1779 | #define OMAP54XX_VP_CORE_TRANXDONE_EN_WIDTH 0x1 | ||
1780 | #define OMAP54XX_VP_CORE_TRANXDONE_EN_MASK (1 << 21) | ||
1781 | |||
1782 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1783 | #define OMAP54XX_VP_CORE_TRANXDONE_ST_SHIFT 21 | ||
1784 | #define OMAP54XX_VP_CORE_TRANXDONE_ST_WIDTH 0x1 | ||
1785 | #define OMAP54XX_VP_CORE_TRANXDONE_ST_MASK (1 << 21) | ||
1786 | |||
1787 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1788 | #define OMAP54XX_VP_MM_EQVALUE_EN_SHIFT 28 | ||
1789 | #define OMAP54XX_VP_MM_EQVALUE_EN_WIDTH 0x1 | ||
1790 | #define OMAP54XX_VP_MM_EQVALUE_EN_MASK (1 << 28) | ||
1791 | |||
1792 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1793 | #define OMAP54XX_VP_MM_EQVALUE_ST_SHIFT 28 | ||
1794 | #define OMAP54XX_VP_MM_EQVALUE_ST_WIDTH 0x1 | ||
1795 | #define OMAP54XX_VP_MM_EQVALUE_ST_MASK (1 << 28) | ||
1796 | |||
1797 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1798 | #define OMAP54XX_VP_MM_MAXVDD_EN_SHIFT 26 | ||
1799 | #define OMAP54XX_VP_MM_MAXVDD_EN_WIDTH 0x1 | ||
1800 | #define OMAP54XX_VP_MM_MAXVDD_EN_MASK (1 << 26) | ||
1801 | |||
1802 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1803 | #define OMAP54XX_VP_MM_MAXVDD_ST_SHIFT 26 | ||
1804 | #define OMAP54XX_VP_MM_MAXVDD_ST_WIDTH 0x1 | ||
1805 | #define OMAP54XX_VP_MM_MAXVDD_ST_MASK (1 << 26) | ||
1806 | |||
1807 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1808 | #define OMAP54XX_VP_MM_MINVDD_EN_SHIFT 25 | ||
1809 | #define OMAP54XX_VP_MM_MINVDD_EN_WIDTH 0x1 | ||
1810 | #define OMAP54XX_VP_MM_MINVDD_EN_MASK (1 << 25) | ||
1811 | |||
1812 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1813 | #define OMAP54XX_VP_MM_MINVDD_ST_SHIFT 25 | ||
1814 | #define OMAP54XX_VP_MM_MINVDD_ST_WIDTH 0x1 | ||
1815 | #define OMAP54XX_VP_MM_MINVDD_ST_MASK (1 << 25) | ||
1816 | |||
1817 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1818 | #define OMAP54XX_VP_MM_NOSMPSACK_EN_SHIFT 27 | ||
1819 | #define OMAP54XX_VP_MM_NOSMPSACK_EN_WIDTH 0x1 | ||
1820 | #define OMAP54XX_VP_MM_NOSMPSACK_EN_MASK (1 << 27) | ||
1821 | |||
1822 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1823 | #define OMAP54XX_VP_MM_NOSMPSACK_ST_SHIFT 27 | ||
1824 | #define OMAP54XX_VP_MM_NOSMPSACK_ST_WIDTH 0x1 | ||
1825 | #define OMAP54XX_VP_MM_NOSMPSACK_ST_MASK (1 << 27) | ||
1826 | |||
1827 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1828 | #define OMAP54XX_VP_MM_OPPCHANGEDONE_EN_SHIFT 24 | ||
1829 | #define OMAP54XX_VP_MM_OPPCHANGEDONE_EN_WIDTH 0x1 | ||
1830 | #define OMAP54XX_VP_MM_OPPCHANGEDONE_EN_MASK (1 << 24) | ||
1831 | |||
1832 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1833 | #define OMAP54XX_VP_MM_OPPCHANGEDONE_ST_SHIFT 24 | ||
1834 | #define OMAP54XX_VP_MM_OPPCHANGEDONE_ST_WIDTH 0x1 | ||
1835 | #define OMAP54XX_VP_MM_OPPCHANGEDONE_ST_MASK (1 << 24) | ||
1836 | |||
1837 | /* Used by PRM_IRQENABLE_IPU, PRM_IRQENABLE_MPU */ | ||
1838 | #define OMAP54XX_VP_MM_TRANXDONE_EN_SHIFT 29 | ||
1839 | #define OMAP54XX_VP_MM_TRANXDONE_EN_WIDTH 0x1 | ||
1840 | #define OMAP54XX_VP_MM_TRANXDONE_EN_MASK (1 << 29) | ||
1841 | |||
1842 | /* Used by PRM_IRQSTATUS_IPU, PRM_IRQSTATUS_MPU */ | ||
1843 | #define OMAP54XX_VP_MM_TRANXDONE_ST_SHIFT 29 | ||
1844 | #define OMAP54XX_VP_MM_TRANXDONE_ST_WIDTH 0x1 | ||
1845 | #define OMAP54XX_VP_MM_TRANXDONE_ST_MASK (1 << 29) | ||
1846 | |||
1847 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1848 | #define OMAP54XX_VP_MPU_EQVALUE_EN_SHIFT 4 | ||
1849 | #define OMAP54XX_VP_MPU_EQVALUE_EN_WIDTH 0x1 | ||
1850 | #define OMAP54XX_VP_MPU_EQVALUE_EN_MASK (1 << 4) | ||
1851 | |||
1852 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1853 | #define OMAP54XX_VP_MPU_EQVALUE_ST_SHIFT 4 | ||
1854 | #define OMAP54XX_VP_MPU_EQVALUE_ST_WIDTH 0x1 | ||
1855 | #define OMAP54XX_VP_MPU_EQVALUE_ST_MASK (1 << 4) | ||
1856 | |||
1857 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1858 | #define OMAP54XX_VP_MPU_MAXVDD_EN_SHIFT 2 | ||
1859 | #define OMAP54XX_VP_MPU_MAXVDD_EN_WIDTH 0x1 | ||
1860 | #define OMAP54XX_VP_MPU_MAXVDD_EN_MASK (1 << 2) | ||
1861 | |||
1862 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1863 | #define OMAP54XX_VP_MPU_MAXVDD_ST_SHIFT 2 | ||
1864 | #define OMAP54XX_VP_MPU_MAXVDD_ST_WIDTH 0x1 | ||
1865 | #define OMAP54XX_VP_MPU_MAXVDD_ST_MASK (1 << 2) | ||
1866 | |||
1867 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1868 | #define OMAP54XX_VP_MPU_MINVDD_EN_SHIFT 1 | ||
1869 | #define OMAP54XX_VP_MPU_MINVDD_EN_WIDTH 0x1 | ||
1870 | #define OMAP54XX_VP_MPU_MINVDD_EN_MASK (1 << 1) | ||
1871 | |||
1872 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1873 | #define OMAP54XX_VP_MPU_MINVDD_ST_SHIFT 1 | ||
1874 | #define OMAP54XX_VP_MPU_MINVDD_ST_WIDTH 0x1 | ||
1875 | #define OMAP54XX_VP_MPU_MINVDD_ST_MASK (1 << 1) | ||
1876 | |||
1877 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1878 | #define OMAP54XX_VP_MPU_NOSMPSACK_EN_SHIFT 3 | ||
1879 | #define OMAP54XX_VP_MPU_NOSMPSACK_EN_WIDTH 0x1 | ||
1880 | #define OMAP54XX_VP_MPU_NOSMPSACK_EN_MASK (1 << 3) | ||
1881 | |||
1882 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1883 | #define OMAP54XX_VP_MPU_NOSMPSACK_ST_SHIFT 3 | ||
1884 | #define OMAP54XX_VP_MPU_NOSMPSACK_ST_WIDTH 0x1 | ||
1885 | #define OMAP54XX_VP_MPU_NOSMPSACK_ST_MASK (1 << 3) | ||
1886 | |||
1887 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1888 | #define OMAP54XX_VP_MPU_OPPCHANGEDONE_EN_SHIFT 0 | ||
1889 | #define OMAP54XX_VP_MPU_OPPCHANGEDONE_EN_WIDTH 0x1 | ||
1890 | #define OMAP54XX_VP_MPU_OPPCHANGEDONE_EN_MASK (1 << 0) | ||
1891 | |||
1892 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1893 | #define OMAP54XX_VP_MPU_OPPCHANGEDONE_ST_SHIFT 0 | ||
1894 | #define OMAP54XX_VP_MPU_OPPCHANGEDONE_ST_WIDTH 0x1 | ||
1895 | #define OMAP54XX_VP_MPU_OPPCHANGEDONE_ST_MASK (1 << 0) | ||
1896 | |||
1897 | /* Used by PRM_IRQENABLE_MPU_2 */ | ||
1898 | #define OMAP54XX_VP_MPU_TRANXDONE_EN_SHIFT 5 | ||
1899 | #define OMAP54XX_VP_MPU_TRANXDONE_EN_WIDTH 0x1 | ||
1900 | #define OMAP54XX_VP_MPU_TRANXDONE_EN_MASK (1 << 5) | ||
1901 | |||
1902 | /* Used by PRM_IRQSTATUS_MPU_2 */ | ||
1903 | #define OMAP54XX_VP_MPU_TRANXDONE_ST_SHIFT 5 | ||
1904 | #define OMAP54XX_VP_MPU_TRANXDONE_ST_WIDTH 0x1 | ||
1905 | #define OMAP54XX_VP_MPU_TRANXDONE_ST_MASK (1 << 5) | ||
1906 | |||
1907 | /* Used by PRM_SRAM_COUNT */ | ||
1908 | #define OMAP54XX_VSETUPCNT_VALUE_SHIFT 8 | ||
1909 | #define OMAP54XX_VSETUPCNT_VALUE_WIDTH 0x8 | ||
1910 | #define OMAP54XX_VSETUPCNT_VALUE_MASK (0xff << 8) | ||
1911 | |||
1912 | /* Used by PRM_VP_CORE_VSTEPMAX, PRM_VP_MM_VSTEPMAX, PRM_VP_MPU_VSTEPMAX */ | ||
1913 | #define OMAP54XX_VSTEPMAX_SHIFT 0 | ||
1914 | #define OMAP54XX_VSTEPMAX_WIDTH 0x8 | ||
1915 | #define OMAP54XX_VSTEPMAX_MASK (0xff << 0) | ||
1916 | |||
1917 | /* Used by PRM_VP_CORE_VSTEPMIN, PRM_VP_MM_VSTEPMIN, PRM_VP_MPU_VSTEPMIN */ | ||
1918 | #define OMAP54XX_VSTEPMIN_SHIFT 0 | ||
1919 | #define OMAP54XX_VSTEPMIN_WIDTH 0x8 | ||
1920 | #define OMAP54XX_VSTEPMIN_MASK (0xff << 0) | ||
1921 | |||
1922 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1923 | #define OMAP54XX_WKUPDEP_DISPC_DSP_SHIFT 2 | ||
1924 | #define OMAP54XX_WKUPDEP_DISPC_DSP_WIDTH 0x1 | ||
1925 | #define OMAP54XX_WKUPDEP_DISPC_DSP_MASK (1 << 2) | ||
1926 | |||
1927 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1928 | #define OMAP54XX_WKUPDEP_DISPC_IPU_SHIFT 1 | ||
1929 | #define OMAP54XX_WKUPDEP_DISPC_IPU_WIDTH 0x1 | ||
1930 | #define OMAP54XX_WKUPDEP_DISPC_IPU_MASK (1 << 1) | ||
1931 | |||
1932 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1933 | #define OMAP54XX_WKUPDEP_DISPC_MPU_SHIFT 0 | ||
1934 | #define OMAP54XX_WKUPDEP_DISPC_MPU_WIDTH 0x1 | ||
1935 | #define OMAP54XX_WKUPDEP_DISPC_MPU_MASK (1 << 0) | ||
1936 | |||
1937 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1938 | #define OMAP54XX_WKUPDEP_DISPC_SDMA_SHIFT 3 | ||
1939 | #define OMAP54XX_WKUPDEP_DISPC_SDMA_WIDTH 0x1 | ||
1940 | #define OMAP54XX_WKUPDEP_DISPC_SDMA_MASK (1 << 3) | ||
1941 | |||
1942 | /* Used by PM_ABE_DMIC_WKDEP */ | ||
1943 | #define OMAP54XX_WKUPDEP_DMIC_DMA_DSP_SHIFT 6 | ||
1944 | #define OMAP54XX_WKUPDEP_DMIC_DMA_DSP_WIDTH 0x1 | ||
1945 | #define OMAP54XX_WKUPDEP_DMIC_DMA_DSP_MASK (1 << 6) | ||
1946 | |||
1947 | /* Used by PM_ABE_DMIC_WKDEP */ | ||
1948 | #define OMAP54XX_WKUPDEP_DMIC_DMA_SDMA_SHIFT 7 | ||
1949 | #define OMAP54XX_WKUPDEP_DMIC_DMA_SDMA_WIDTH 0x1 | ||
1950 | #define OMAP54XX_WKUPDEP_DMIC_DMA_SDMA_MASK (1 << 7) | ||
1951 | |||
1952 | /* Used by PM_ABE_DMIC_WKDEP */ | ||
1953 | #define OMAP54XX_WKUPDEP_DMIC_IRQ_DSP_SHIFT 2 | ||
1954 | #define OMAP54XX_WKUPDEP_DMIC_IRQ_DSP_WIDTH 0x1 | ||
1955 | #define OMAP54XX_WKUPDEP_DMIC_IRQ_DSP_MASK (1 << 2) | ||
1956 | |||
1957 | /* Used by PM_ABE_DMIC_WKDEP */ | ||
1958 | #define OMAP54XX_WKUPDEP_DMIC_IRQ_MPU_SHIFT 0 | ||
1959 | #define OMAP54XX_WKUPDEP_DMIC_IRQ_MPU_WIDTH 0x1 | ||
1960 | #define OMAP54XX_WKUPDEP_DMIC_IRQ_MPU_MASK (1 << 0) | ||
1961 | |||
1962 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1963 | #define OMAP54XX_WKUPDEP_DSI1_A_DSP_SHIFT 6 | ||
1964 | #define OMAP54XX_WKUPDEP_DSI1_A_DSP_WIDTH 0x1 | ||
1965 | #define OMAP54XX_WKUPDEP_DSI1_A_DSP_MASK (1 << 6) | ||
1966 | |||
1967 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1968 | #define OMAP54XX_WKUPDEP_DSI1_A_IPU_SHIFT 5 | ||
1969 | #define OMAP54XX_WKUPDEP_DSI1_A_IPU_WIDTH 0x1 | ||
1970 | #define OMAP54XX_WKUPDEP_DSI1_A_IPU_MASK (1 << 5) | ||
1971 | |||
1972 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1973 | #define OMAP54XX_WKUPDEP_DSI1_A_MPU_SHIFT 4 | ||
1974 | #define OMAP54XX_WKUPDEP_DSI1_A_MPU_WIDTH 0x1 | ||
1975 | #define OMAP54XX_WKUPDEP_DSI1_A_MPU_MASK (1 << 4) | ||
1976 | |||
1977 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1978 | #define OMAP54XX_WKUPDEP_DSI1_A_SDMA_SHIFT 7 | ||
1979 | #define OMAP54XX_WKUPDEP_DSI1_A_SDMA_WIDTH 0x1 | ||
1980 | #define OMAP54XX_WKUPDEP_DSI1_A_SDMA_MASK (1 << 7) | ||
1981 | |||
1982 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1983 | #define OMAP54XX_WKUPDEP_DSI1_B_DSP_SHIFT 10 | ||
1984 | #define OMAP54XX_WKUPDEP_DSI1_B_DSP_WIDTH 0x1 | ||
1985 | #define OMAP54XX_WKUPDEP_DSI1_B_DSP_MASK (1 << 10) | ||
1986 | |||
1987 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1988 | #define OMAP54XX_WKUPDEP_DSI1_B_IPU_SHIFT 9 | ||
1989 | #define OMAP54XX_WKUPDEP_DSI1_B_IPU_WIDTH 0x1 | ||
1990 | #define OMAP54XX_WKUPDEP_DSI1_B_IPU_MASK (1 << 9) | ||
1991 | |||
1992 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1993 | #define OMAP54XX_WKUPDEP_DSI1_B_MPU_SHIFT 8 | ||
1994 | #define OMAP54XX_WKUPDEP_DSI1_B_MPU_WIDTH 0x1 | ||
1995 | #define OMAP54XX_WKUPDEP_DSI1_B_MPU_MASK (1 << 8) | ||
1996 | |||
1997 | /* Used by PM_DSS_DSS_WKDEP */ | ||
1998 | #define OMAP54XX_WKUPDEP_DSI1_B_SDMA_SHIFT 11 | ||
1999 | #define OMAP54XX_WKUPDEP_DSI1_B_SDMA_WIDTH 0x1 | ||
2000 | #define OMAP54XX_WKUPDEP_DSI1_B_SDMA_MASK (1 << 11) | ||
2001 | |||
2002 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2003 | #define OMAP54XX_WKUPDEP_DSI1_C_DSP_SHIFT 17 | ||
2004 | #define OMAP54XX_WKUPDEP_DSI1_C_DSP_WIDTH 0x1 | ||
2005 | #define OMAP54XX_WKUPDEP_DSI1_C_DSP_MASK (1 << 17) | ||
2006 | |||
2007 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2008 | #define OMAP54XX_WKUPDEP_DSI1_C_IPU_SHIFT 16 | ||
2009 | #define OMAP54XX_WKUPDEP_DSI1_C_IPU_WIDTH 0x1 | ||
2010 | #define OMAP54XX_WKUPDEP_DSI1_C_IPU_MASK (1 << 16) | ||
2011 | |||
2012 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2013 | #define OMAP54XX_WKUPDEP_DSI1_C_MPU_SHIFT 15 | ||
2014 | #define OMAP54XX_WKUPDEP_DSI1_C_MPU_WIDTH 0x1 | ||
2015 | #define OMAP54XX_WKUPDEP_DSI1_C_MPU_MASK (1 << 15) | ||
2016 | |||
2017 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2018 | #define OMAP54XX_WKUPDEP_DSI1_C_SDMA_SHIFT 18 | ||
2019 | #define OMAP54XX_WKUPDEP_DSI1_C_SDMA_WIDTH 0x1 | ||
2020 | #define OMAP54XX_WKUPDEP_DSI1_C_SDMA_MASK (1 << 18) | ||
2021 | |||
2022 | /* Used by PM_WKUPAON_GPIO1_WKDEP */ | ||
2023 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ1_IPU_SHIFT 1 | ||
2024 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ1_IPU_WIDTH 0x1 | ||
2025 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ1_IPU_MASK (1 << 1) | ||
2026 | |||
2027 | /* Used by PM_WKUPAON_GPIO1_WKDEP */ | ||
2028 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ1_MPU_SHIFT 0 | ||
2029 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ1_MPU_WIDTH 0x1 | ||
2030 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ1_MPU_MASK (1 << 0) | ||
2031 | |||
2032 | /* Used by PM_WKUPAON_GPIO1_WKDEP */ | ||
2033 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ2_DSP_SHIFT 6 | ||
2034 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ2_DSP_WIDTH 0x1 | ||
2035 | #define OMAP54XX_WKUPDEP_GPIO1_IRQ2_DSP_MASK (1 << 6) | ||
2036 | |||
2037 | /* Used by PM_L4PER_GPIO2_WKDEP */ | ||
2038 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ1_IPU_SHIFT 1 | ||
2039 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ1_IPU_WIDTH 0x1 | ||
2040 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ1_IPU_MASK (1 << 1) | ||
2041 | |||
2042 | /* Used by PM_L4PER_GPIO2_WKDEP */ | ||
2043 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ1_MPU_SHIFT 0 | ||
2044 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ1_MPU_WIDTH 0x1 | ||
2045 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ1_MPU_MASK (1 << 0) | ||
2046 | |||
2047 | /* Used by PM_L4PER_GPIO2_WKDEP */ | ||
2048 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ2_DSP_SHIFT 6 | ||
2049 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ2_DSP_WIDTH 0x1 | ||
2050 | #define OMAP54XX_WKUPDEP_GPIO2_IRQ2_DSP_MASK (1 << 6) | ||
2051 | |||
2052 | /* Used by PM_L4PER_GPIO3_WKDEP */ | ||
2053 | #define OMAP54XX_WKUPDEP_GPIO3_IRQ1_MPU_SHIFT 0 | ||
2054 | #define OMAP54XX_WKUPDEP_GPIO3_IRQ1_MPU_WIDTH 0x1 | ||
2055 | #define OMAP54XX_WKUPDEP_GPIO3_IRQ1_MPU_MASK (1 << 0) | ||
2056 | |||
2057 | /* Used by PM_L4PER_GPIO3_WKDEP */ | ||
2058 | #define OMAP54XX_WKUPDEP_GPIO3_IRQ2_DSP_SHIFT 6 | ||
2059 | #define OMAP54XX_WKUPDEP_GPIO3_IRQ2_DSP_WIDTH 0x1 | ||
2060 | #define OMAP54XX_WKUPDEP_GPIO3_IRQ2_DSP_MASK (1 << 6) | ||
2061 | |||
2062 | /* Used by PM_L4PER_GPIO4_WKDEP */ | ||
2063 | #define OMAP54XX_WKUPDEP_GPIO4_IRQ1_MPU_SHIFT 0 | ||
2064 | #define OMAP54XX_WKUPDEP_GPIO4_IRQ1_MPU_WIDTH 0x1 | ||
2065 | #define OMAP54XX_WKUPDEP_GPIO4_IRQ1_MPU_MASK (1 << 0) | ||
2066 | |||
2067 | /* Used by PM_L4PER_GPIO4_WKDEP */ | ||
2068 | #define OMAP54XX_WKUPDEP_GPIO4_IRQ2_DSP_SHIFT 6 | ||
2069 | #define OMAP54XX_WKUPDEP_GPIO4_IRQ2_DSP_WIDTH 0x1 | ||
2070 | #define OMAP54XX_WKUPDEP_GPIO4_IRQ2_DSP_MASK (1 << 6) | ||
2071 | |||
2072 | /* Used by PM_L4PER_GPIO5_WKDEP */ | ||
2073 | #define OMAP54XX_WKUPDEP_GPIO5_IRQ1_MPU_SHIFT 0 | ||
2074 | #define OMAP54XX_WKUPDEP_GPIO5_IRQ1_MPU_WIDTH 0x1 | ||
2075 | #define OMAP54XX_WKUPDEP_GPIO5_IRQ1_MPU_MASK (1 << 0) | ||
2076 | |||
2077 | /* Used by PM_L4PER_GPIO5_WKDEP */ | ||
2078 | #define OMAP54XX_WKUPDEP_GPIO5_IRQ2_DSP_SHIFT 6 | ||
2079 | #define OMAP54XX_WKUPDEP_GPIO5_IRQ2_DSP_WIDTH 0x1 | ||
2080 | #define OMAP54XX_WKUPDEP_GPIO5_IRQ2_DSP_MASK (1 << 6) | ||
2081 | |||
2082 | /* Used by PM_L4PER_GPIO6_WKDEP */ | ||
2083 | #define OMAP54XX_WKUPDEP_GPIO6_IRQ1_MPU_SHIFT 0 | ||
2084 | #define OMAP54XX_WKUPDEP_GPIO6_IRQ1_MPU_WIDTH 0x1 | ||
2085 | #define OMAP54XX_WKUPDEP_GPIO6_IRQ1_MPU_MASK (1 << 0) | ||
2086 | |||
2087 | /* Used by PM_L4PER_GPIO6_WKDEP */ | ||
2088 | #define OMAP54XX_WKUPDEP_GPIO6_IRQ2_DSP_SHIFT 6 | ||
2089 | #define OMAP54XX_WKUPDEP_GPIO6_IRQ2_DSP_WIDTH 0x1 | ||
2090 | #define OMAP54XX_WKUPDEP_GPIO6_IRQ2_DSP_MASK (1 << 6) | ||
2091 | |||
2092 | /* Used by PM_L4PER_GPIO7_WKDEP */ | ||
2093 | #define OMAP54XX_WKUPDEP_GPIO7_IRQ1_MPU_SHIFT 0 | ||
2094 | #define OMAP54XX_WKUPDEP_GPIO7_IRQ1_MPU_WIDTH 0x1 | ||
2095 | #define OMAP54XX_WKUPDEP_GPIO7_IRQ1_MPU_MASK (1 << 0) | ||
2096 | |||
2097 | /* Used by PM_L4PER_GPIO8_WKDEP */ | ||
2098 | #define OMAP54XX_WKUPDEP_GPIO8_IRQ1_MPU_SHIFT 0 | ||
2099 | #define OMAP54XX_WKUPDEP_GPIO8_IRQ1_MPU_WIDTH 0x1 | ||
2100 | #define OMAP54XX_WKUPDEP_GPIO8_IRQ1_MPU_MASK (1 << 0) | ||
2101 | |||
2102 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2103 | #define OMAP54XX_WKUPDEP_HDMIDMA_SDMA_SHIFT 19 | ||
2104 | #define OMAP54XX_WKUPDEP_HDMIDMA_SDMA_WIDTH 0x1 | ||
2105 | #define OMAP54XX_WKUPDEP_HDMIDMA_SDMA_MASK (1 << 19) | ||
2106 | |||
2107 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2108 | #define OMAP54XX_WKUPDEP_HDMIIRQ_DSP_SHIFT 14 | ||
2109 | #define OMAP54XX_WKUPDEP_HDMIIRQ_DSP_WIDTH 0x1 | ||
2110 | #define OMAP54XX_WKUPDEP_HDMIIRQ_DSP_MASK (1 << 14) | ||
2111 | |||
2112 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2113 | #define OMAP54XX_WKUPDEP_HDMIIRQ_IPU_SHIFT 13 | ||
2114 | #define OMAP54XX_WKUPDEP_HDMIIRQ_IPU_WIDTH 0x1 | ||
2115 | #define OMAP54XX_WKUPDEP_HDMIIRQ_IPU_MASK (1 << 13) | ||
2116 | |||
2117 | /* Used by PM_DSS_DSS_WKDEP */ | ||
2118 | #define OMAP54XX_WKUPDEP_HDMIIRQ_MPU_SHIFT 12 | ||
2119 | #define OMAP54XX_WKUPDEP_HDMIIRQ_MPU_WIDTH 0x1 | ||
2120 | #define OMAP54XX_WKUPDEP_HDMIIRQ_MPU_MASK (1 << 12) | ||
2121 | |||
2122 | /* Used by PM_L3INIT_HSI_WKDEP */ | ||
2123 | #define OMAP54XX_WKUPDEP_HSI_DSP_DSP_SHIFT 6 | ||
2124 | #define OMAP54XX_WKUPDEP_HSI_DSP_DSP_WIDTH 0x1 | ||
2125 | #define OMAP54XX_WKUPDEP_HSI_DSP_DSP_MASK (1 << 6) | ||
2126 | |||
2127 | /* Used by PM_L3INIT_HSI_WKDEP */ | ||
2128 | #define OMAP54XX_WKUPDEP_HSI_MCU_IPU_SHIFT 1 | ||
2129 | #define OMAP54XX_WKUPDEP_HSI_MCU_IPU_WIDTH 0x1 | ||
2130 | #define OMAP54XX_WKUPDEP_HSI_MCU_IPU_MASK (1 << 1) | ||
2131 | |||
2132 | /* Used by PM_L3INIT_HSI_WKDEP */ | ||
2133 | #define OMAP54XX_WKUPDEP_HSI_MCU_MPU_SHIFT 0 | ||
2134 | #define OMAP54XX_WKUPDEP_HSI_MCU_MPU_WIDTH 0x1 | ||
2135 | #define OMAP54XX_WKUPDEP_HSI_MCU_MPU_MASK (1 << 0) | ||
2136 | |||
2137 | /* Used by PM_L4PER_I2C1_WKDEP */ | ||
2138 | #define OMAP54XX_WKUPDEP_I2C1_DMA_SDMA_SHIFT 7 | ||
2139 | #define OMAP54XX_WKUPDEP_I2C1_DMA_SDMA_WIDTH 0x1 | ||
2140 | #define OMAP54XX_WKUPDEP_I2C1_DMA_SDMA_MASK (1 << 7) | ||
2141 | |||
2142 | /* Used by PM_L4PER_I2C1_WKDEP */ | ||
2143 | #define OMAP54XX_WKUPDEP_I2C1_IRQ_IPU_SHIFT 1 | ||
2144 | #define OMAP54XX_WKUPDEP_I2C1_IRQ_IPU_WIDTH 0x1 | ||
2145 | #define OMAP54XX_WKUPDEP_I2C1_IRQ_IPU_MASK (1 << 1) | ||
2146 | |||
2147 | /* Used by PM_L4PER_I2C1_WKDEP */ | ||
2148 | #define OMAP54XX_WKUPDEP_I2C1_IRQ_MPU_SHIFT 0 | ||
2149 | #define OMAP54XX_WKUPDEP_I2C1_IRQ_MPU_WIDTH 0x1 | ||
2150 | #define OMAP54XX_WKUPDEP_I2C1_IRQ_MPU_MASK (1 << 0) | ||
2151 | |||
2152 | /* Used by PM_L4PER_I2C2_WKDEP */ | ||
2153 | #define OMAP54XX_WKUPDEP_I2C2_DMA_SDMA_SHIFT 7 | ||
2154 | #define OMAP54XX_WKUPDEP_I2C2_DMA_SDMA_WIDTH 0x1 | ||
2155 | #define OMAP54XX_WKUPDEP_I2C2_DMA_SDMA_MASK (1 << 7) | ||
2156 | |||
2157 | /* Used by PM_L4PER_I2C2_WKDEP */ | ||
2158 | #define OMAP54XX_WKUPDEP_I2C2_IRQ_IPU_SHIFT 1 | ||
2159 | #define OMAP54XX_WKUPDEP_I2C2_IRQ_IPU_WIDTH 0x1 | ||
2160 | #define OMAP54XX_WKUPDEP_I2C2_IRQ_IPU_MASK (1 << 1) | ||
2161 | |||
2162 | /* Used by PM_L4PER_I2C2_WKDEP */ | ||
2163 | #define OMAP54XX_WKUPDEP_I2C2_IRQ_MPU_SHIFT 0 | ||
2164 | #define OMAP54XX_WKUPDEP_I2C2_IRQ_MPU_WIDTH 0x1 | ||
2165 | #define OMAP54XX_WKUPDEP_I2C2_IRQ_MPU_MASK (1 << 0) | ||
2166 | |||
2167 | /* Used by PM_L4PER_I2C3_WKDEP */ | ||
2168 | #define OMAP54XX_WKUPDEP_I2C3_DMA_SDMA_SHIFT 7 | ||
2169 | #define OMAP54XX_WKUPDEP_I2C3_DMA_SDMA_WIDTH 0x1 | ||
2170 | #define OMAP54XX_WKUPDEP_I2C3_DMA_SDMA_MASK (1 << 7) | ||
2171 | |||
2172 | /* Used by PM_L4PER_I2C3_WKDEP */ | ||
2173 | #define OMAP54XX_WKUPDEP_I2C3_IRQ_IPU_SHIFT 1 | ||
2174 | #define OMAP54XX_WKUPDEP_I2C3_IRQ_IPU_WIDTH 0x1 | ||
2175 | #define OMAP54XX_WKUPDEP_I2C3_IRQ_IPU_MASK (1 << 1) | ||
2176 | |||
2177 | /* Used by PM_L4PER_I2C3_WKDEP */ | ||
2178 | #define OMAP54XX_WKUPDEP_I2C3_IRQ_MPU_SHIFT 0 | ||
2179 | #define OMAP54XX_WKUPDEP_I2C3_IRQ_MPU_WIDTH 0x1 | ||
2180 | #define OMAP54XX_WKUPDEP_I2C3_IRQ_MPU_MASK (1 << 0) | ||
2181 | |||
2182 | /* Used by PM_L4PER_I2C4_WKDEP */ | ||
2183 | #define OMAP54XX_WKUPDEP_I2C4_DMA_SDMA_SHIFT 7 | ||
2184 | #define OMAP54XX_WKUPDEP_I2C4_DMA_SDMA_WIDTH 0x1 | ||
2185 | #define OMAP54XX_WKUPDEP_I2C4_DMA_SDMA_MASK (1 << 7) | ||
2186 | |||
2187 | /* Used by PM_L4PER_I2C4_WKDEP */ | ||
2188 | #define OMAP54XX_WKUPDEP_I2C4_IRQ_IPU_SHIFT 1 | ||
2189 | #define OMAP54XX_WKUPDEP_I2C4_IRQ_IPU_WIDTH 0x1 | ||
2190 | #define OMAP54XX_WKUPDEP_I2C4_IRQ_IPU_MASK (1 << 1) | ||
2191 | |||
2192 | /* Used by PM_L4PER_I2C4_WKDEP */ | ||
2193 | #define OMAP54XX_WKUPDEP_I2C4_IRQ_MPU_SHIFT 0 | ||
2194 | #define OMAP54XX_WKUPDEP_I2C4_IRQ_MPU_WIDTH 0x1 | ||
2195 | #define OMAP54XX_WKUPDEP_I2C4_IRQ_MPU_MASK (1 << 0) | ||
2196 | |||
2197 | /* Used by PM_L4PER_I2C5_WKDEP */ | ||
2198 | #define OMAP54XX_WKUPDEP_I2C5_IRQ_MPU_SHIFT 0 | ||
2199 | #define OMAP54XX_WKUPDEP_I2C5_IRQ_MPU_WIDTH 0x1 | ||
2200 | #define OMAP54XX_WKUPDEP_I2C5_IRQ_MPU_MASK (1 << 0) | ||
2201 | |||
2202 | /* Used by PM_WKUPAON_KBD_WKDEP */ | ||
2203 | #define OMAP54XX_WKUPDEP_KBD_MPU_SHIFT 0 | ||
2204 | #define OMAP54XX_WKUPDEP_KBD_MPU_WIDTH 0x1 | ||
2205 | #define OMAP54XX_WKUPDEP_KBD_MPU_MASK (1 << 0) | ||
2206 | |||
2207 | /* Used by PM_ABE_MCASP_WKDEP */ | ||
2208 | #define OMAP54XX_WKUPDEP_MCASP_DMA_DSP_SHIFT 6 | ||
2209 | #define OMAP54XX_WKUPDEP_MCASP_DMA_DSP_WIDTH 0x1 | ||
2210 | #define OMAP54XX_WKUPDEP_MCASP_DMA_DSP_MASK (1 << 6) | ||
2211 | |||
2212 | /* Used by PM_ABE_MCASP_WKDEP */ | ||
2213 | #define OMAP54XX_WKUPDEP_MCASP_DMA_SDMA_SHIFT 7 | ||
2214 | #define OMAP54XX_WKUPDEP_MCASP_DMA_SDMA_WIDTH 0x1 | ||
2215 | #define OMAP54XX_WKUPDEP_MCASP_DMA_SDMA_MASK (1 << 7) | ||
2216 | |||
2217 | /* Used by PM_ABE_MCASP_WKDEP */ | ||
2218 | #define OMAP54XX_WKUPDEP_MCASP_IRQ_DSP_SHIFT 2 | ||
2219 | #define OMAP54XX_WKUPDEP_MCASP_IRQ_DSP_WIDTH 0x1 | ||
2220 | #define OMAP54XX_WKUPDEP_MCASP_IRQ_DSP_MASK (1 << 2) | ||
2221 | |||
2222 | /* Used by PM_ABE_MCASP_WKDEP */ | ||
2223 | #define OMAP54XX_WKUPDEP_MCASP_IRQ_MPU_SHIFT 0 | ||
2224 | #define OMAP54XX_WKUPDEP_MCASP_IRQ_MPU_WIDTH 0x1 | ||
2225 | #define OMAP54XX_WKUPDEP_MCASP_IRQ_MPU_MASK (1 << 0) | ||
2226 | |||
2227 | /* Used by PM_ABE_MCBSP1_WKDEP */ | ||
2228 | #define OMAP54XX_WKUPDEP_MCBSP1_DSP_SHIFT 2 | ||
2229 | #define OMAP54XX_WKUPDEP_MCBSP1_DSP_WIDTH 0x1 | ||
2230 | #define OMAP54XX_WKUPDEP_MCBSP1_DSP_MASK (1 << 2) | ||
2231 | |||
2232 | /* Used by PM_ABE_MCBSP1_WKDEP */ | ||
2233 | #define OMAP54XX_WKUPDEP_MCBSP1_MPU_SHIFT 0 | ||
2234 | #define OMAP54XX_WKUPDEP_MCBSP1_MPU_WIDTH 0x1 | ||
2235 | #define OMAP54XX_WKUPDEP_MCBSP1_MPU_MASK (1 << 0) | ||
2236 | |||
2237 | /* Used by PM_ABE_MCBSP1_WKDEP */ | ||
2238 | #define OMAP54XX_WKUPDEP_MCBSP1_SDMA_SHIFT 3 | ||
2239 | #define OMAP54XX_WKUPDEP_MCBSP1_SDMA_WIDTH 0x1 | ||
2240 | #define OMAP54XX_WKUPDEP_MCBSP1_SDMA_MASK (1 << 3) | ||
2241 | |||
2242 | /* Used by PM_ABE_MCBSP2_WKDEP */ | ||
2243 | #define OMAP54XX_WKUPDEP_MCBSP2_DSP_SHIFT 2 | ||
2244 | #define OMAP54XX_WKUPDEP_MCBSP2_DSP_WIDTH 0x1 | ||
2245 | #define OMAP54XX_WKUPDEP_MCBSP2_DSP_MASK (1 << 2) | ||
2246 | |||
2247 | /* Used by PM_ABE_MCBSP2_WKDEP */ | ||
2248 | #define OMAP54XX_WKUPDEP_MCBSP2_MPU_SHIFT 0 | ||
2249 | #define OMAP54XX_WKUPDEP_MCBSP2_MPU_WIDTH 0x1 | ||
2250 | #define OMAP54XX_WKUPDEP_MCBSP2_MPU_MASK (1 << 0) | ||
2251 | |||
2252 | /* Used by PM_ABE_MCBSP2_WKDEP */ | ||
2253 | #define OMAP54XX_WKUPDEP_MCBSP2_SDMA_SHIFT 3 | ||
2254 | #define OMAP54XX_WKUPDEP_MCBSP2_SDMA_WIDTH 0x1 | ||
2255 | #define OMAP54XX_WKUPDEP_MCBSP2_SDMA_MASK (1 << 3) | ||
2256 | |||
2257 | /* Used by PM_ABE_MCBSP3_WKDEP */ | ||
2258 | #define OMAP54XX_WKUPDEP_MCBSP3_DSP_SHIFT 2 | ||
2259 | #define OMAP54XX_WKUPDEP_MCBSP3_DSP_WIDTH 0x1 | ||
2260 | #define OMAP54XX_WKUPDEP_MCBSP3_DSP_MASK (1 << 2) | ||
2261 | |||
2262 | /* Used by PM_ABE_MCBSP3_WKDEP */ | ||
2263 | #define OMAP54XX_WKUPDEP_MCBSP3_MPU_SHIFT 0 | ||
2264 | #define OMAP54XX_WKUPDEP_MCBSP3_MPU_WIDTH 0x1 | ||
2265 | #define OMAP54XX_WKUPDEP_MCBSP3_MPU_MASK (1 << 0) | ||
2266 | |||
2267 | /* Used by PM_ABE_MCBSP3_WKDEP */ | ||
2268 | #define OMAP54XX_WKUPDEP_MCBSP3_SDMA_SHIFT 3 | ||
2269 | #define OMAP54XX_WKUPDEP_MCBSP3_SDMA_WIDTH 0x1 | ||
2270 | #define OMAP54XX_WKUPDEP_MCBSP3_SDMA_MASK (1 << 3) | ||
2271 | |||
2272 | /* Used by PM_ABE_MCPDM_WKDEP */ | ||
2273 | #define OMAP54XX_WKUPDEP_MCPDM_DMA_DSP_SHIFT 6 | ||
2274 | #define OMAP54XX_WKUPDEP_MCPDM_DMA_DSP_WIDTH 0x1 | ||
2275 | #define OMAP54XX_WKUPDEP_MCPDM_DMA_DSP_MASK (1 << 6) | ||
2276 | |||
2277 | /* Used by PM_ABE_MCPDM_WKDEP */ | ||
2278 | #define OMAP54XX_WKUPDEP_MCPDM_DMA_SDMA_SHIFT 7 | ||
2279 | #define OMAP54XX_WKUPDEP_MCPDM_DMA_SDMA_WIDTH 0x1 | ||
2280 | #define OMAP54XX_WKUPDEP_MCPDM_DMA_SDMA_MASK (1 << 7) | ||
2281 | |||
2282 | /* Used by PM_ABE_MCPDM_WKDEP */ | ||
2283 | #define OMAP54XX_WKUPDEP_MCPDM_IRQ_DSP_SHIFT 2 | ||
2284 | #define OMAP54XX_WKUPDEP_MCPDM_IRQ_DSP_WIDTH 0x1 | ||
2285 | #define OMAP54XX_WKUPDEP_MCPDM_IRQ_DSP_MASK (1 << 2) | ||
2286 | |||
2287 | /* Used by PM_ABE_MCPDM_WKDEP */ | ||
2288 | #define OMAP54XX_WKUPDEP_MCPDM_IRQ_MPU_SHIFT 0 | ||
2289 | #define OMAP54XX_WKUPDEP_MCPDM_IRQ_MPU_WIDTH 0x1 | ||
2290 | #define OMAP54XX_WKUPDEP_MCPDM_IRQ_MPU_MASK (1 << 0) | ||
2291 | |||
2292 | /* Used by PM_L4PER_MCSPI1_WKDEP */ | ||
2293 | #define OMAP54XX_WKUPDEP_MCSPI1_DSP_SHIFT 2 | ||
2294 | #define OMAP54XX_WKUPDEP_MCSPI1_DSP_WIDTH 0x1 | ||
2295 | #define OMAP54XX_WKUPDEP_MCSPI1_DSP_MASK (1 << 2) | ||
2296 | |||
2297 | /* Used by PM_L4PER_MCSPI1_WKDEP */ | ||
2298 | #define OMAP54XX_WKUPDEP_MCSPI1_IPU_SHIFT 1 | ||
2299 | #define OMAP54XX_WKUPDEP_MCSPI1_IPU_WIDTH 0x1 | ||
2300 | #define OMAP54XX_WKUPDEP_MCSPI1_IPU_MASK (1 << 1) | ||
2301 | |||
2302 | /* Used by PM_L4PER_MCSPI1_WKDEP */ | ||
2303 | #define OMAP54XX_WKUPDEP_MCSPI1_MPU_SHIFT 0 | ||
2304 | #define OMAP54XX_WKUPDEP_MCSPI1_MPU_WIDTH 0x1 | ||
2305 | #define OMAP54XX_WKUPDEP_MCSPI1_MPU_MASK (1 << 0) | ||
2306 | |||
2307 | /* Used by PM_L4PER_MCSPI1_WKDEP */ | ||
2308 | #define OMAP54XX_WKUPDEP_MCSPI1_SDMA_SHIFT 3 | ||
2309 | #define OMAP54XX_WKUPDEP_MCSPI1_SDMA_WIDTH 0x1 | ||
2310 | #define OMAP54XX_WKUPDEP_MCSPI1_SDMA_MASK (1 << 3) | ||
2311 | |||
2312 | /* Used by PM_L4PER_MCSPI2_WKDEP */ | ||
2313 | #define OMAP54XX_WKUPDEP_MCSPI2_IPU_SHIFT 1 | ||
2314 | #define OMAP54XX_WKUPDEP_MCSPI2_IPU_WIDTH 0x1 | ||
2315 | #define OMAP54XX_WKUPDEP_MCSPI2_IPU_MASK (1 << 1) | ||
2316 | |||
2317 | /* Used by PM_L4PER_MCSPI2_WKDEP */ | ||
2318 | #define OMAP54XX_WKUPDEP_MCSPI2_MPU_SHIFT 0 | ||
2319 | #define OMAP54XX_WKUPDEP_MCSPI2_MPU_WIDTH 0x1 | ||
2320 | #define OMAP54XX_WKUPDEP_MCSPI2_MPU_MASK (1 << 0) | ||
2321 | |||
2322 | /* Used by PM_L4PER_MCSPI2_WKDEP */ | ||
2323 | #define OMAP54XX_WKUPDEP_MCSPI2_SDMA_SHIFT 3 | ||
2324 | #define OMAP54XX_WKUPDEP_MCSPI2_SDMA_WIDTH 0x1 | ||
2325 | #define OMAP54XX_WKUPDEP_MCSPI2_SDMA_MASK (1 << 3) | ||
2326 | |||
2327 | /* Used by PM_L4PER_MCSPI3_WKDEP */ | ||
2328 | #define OMAP54XX_WKUPDEP_MCSPI3_MPU_SHIFT 0 | ||
2329 | #define OMAP54XX_WKUPDEP_MCSPI3_MPU_WIDTH 0x1 | ||
2330 | #define OMAP54XX_WKUPDEP_MCSPI3_MPU_MASK (1 << 0) | ||
2331 | |||
2332 | /* Used by PM_L4PER_MCSPI3_WKDEP */ | ||
2333 | #define OMAP54XX_WKUPDEP_MCSPI3_SDMA_SHIFT 3 | ||
2334 | #define OMAP54XX_WKUPDEP_MCSPI3_SDMA_WIDTH 0x1 | ||
2335 | #define OMAP54XX_WKUPDEP_MCSPI3_SDMA_MASK (1 << 3) | ||
2336 | |||
2337 | /* Used by PM_L4PER_MCSPI4_WKDEP */ | ||
2338 | #define OMAP54XX_WKUPDEP_MCSPI4_MPU_SHIFT 0 | ||
2339 | #define OMAP54XX_WKUPDEP_MCSPI4_MPU_WIDTH 0x1 | ||
2340 | #define OMAP54XX_WKUPDEP_MCSPI4_MPU_MASK (1 << 0) | ||
2341 | |||
2342 | /* Used by PM_L4PER_MCSPI4_WKDEP */ | ||
2343 | #define OMAP54XX_WKUPDEP_MCSPI4_SDMA_SHIFT 3 | ||
2344 | #define OMAP54XX_WKUPDEP_MCSPI4_SDMA_WIDTH 0x1 | ||
2345 | #define OMAP54XX_WKUPDEP_MCSPI4_SDMA_MASK (1 << 3) | ||
2346 | |||
2347 | /* Used by PM_L3INIT_MMC1_WKDEP */ | ||
2348 | #define OMAP54XX_WKUPDEP_MMC1_DSP_SHIFT 2 | ||
2349 | #define OMAP54XX_WKUPDEP_MMC1_DSP_WIDTH 0x1 | ||
2350 | #define OMAP54XX_WKUPDEP_MMC1_DSP_MASK (1 << 2) | ||
2351 | |||
2352 | /* Used by PM_L3INIT_MMC1_WKDEP */ | ||
2353 | #define OMAP54XX_WKUPDEP_MMC1_IPU_SHIFT 1 | ||
2354 | #define OMAP54XX_WKUPDEP_MMC1_IPU_WIDTH 0x1 | ||
2355 | #define OMAP54XX_WKUPDEP_MMC1_IPU_MASK (1 << 1) | ||
2356 | |||
2357 | /* Used by PM_L3INIT_MMC1_WKDEP */ | ||
2358 | #define OMAP54XX_WKUPDEP_MMC1_MPU_SHIFT 0 | ||
2359 | #define OMAP54XX_WKUPDEP_MMC1_MPU_WIDTH 0x1 | ||
2360 | #define OMAP54XX_WKUPDEP_MMC1_MPU_MASK (1 << 0) | ||
2361 | |||
2362 | /* Used by PM_L3INIT_MMC1_WKDEP */ | ||
2363 | #define OMAP54XX_WKUPDEP_MMC1_SDMA_SHIFT 3 | ||
2364 | #define OMAP54XX_WKUPDEP_MMC1_SDMA_WIDTH 0x1 | ||
2365 | #define OMAP54XX_WKUPDEP_MMC1_SDMA_MASK (1 << 3) | ||
2366 | |||
2367 | /* Used by PM_L3INIT_MMC2_WKDEP */ | ||
2368 | #define OMAP54XX_WKUPDEP_MMC2_DSP_SHIFT 2 | ||
2369 | #define OMAP54XX_WKUPDEP_MMC2_DSP_WIDTH 0x1 | ||
2370 | #define OMAP54XX_WKUPDEP_MMC2_DSP_MASK (1 << 2) | ||
2371 | |||
2372 | /* Used by PM_L3INIT_MMC2_WKDEP */ | ||
2373 | #define OMAP54XX_WKUPDEP_MMC2_IPU_SHIFT 1 | ||
2374 | #define OMAP54XX_WKUPDEP_MMC2_IPU_WIDTH 0x1 | ||
2375 | #define OMAP54XX_WKUPDEP_MMC2_IPU_MASK (1 << 1) | ||
2376 | |||
2377 | /* Used by PM_L3INIT_MMC2_WKDEP */ | ||
2378 | #define OMAP54XX_WKUPDEP_MMC2_MPU_SHIFT 0 | ||
2379 | #define OMAP54XX_WKUPDEP_MMC2_MPU_WIDTH 0x1 | ||
2380 | #define OMAP54XX_WKUPDEP_MMC2_MPU_MASK (1 << 0) | ||
2381 | |||
2382 | /* Used by PM_L3INIT_MMC2_WKDEP */ | ||
2383 | #define OMAP54XX_WKUPDEP_MMC2_SDMA_SHIFT 3 | ||
2384 | #define OMAP54XX_WKUPDEP_MMC2_SDMA_WIDTH 0x1 | ||
2385 | #define OMAP54XX_WKUPDEP_MMC2_SDMA_MASK (1 << 3) | ||
2386 | |||
2387 | /* Used by PM_L4PER_MMC3_WKDEP */ | ||
2388 | #define OMAP54XX_WKUPDEP_MMC3_IPU_SHIFT 1 | ||
2389 | #define OMAP54XX_WKUPDEP_MMC3_IPU_WIDTH 0x1 | ||
2390 | #define OMAP54XX_WKUPDEP_MMC3_IPU_MASK (1 << 1) | ||
2391 | |||
2392 | /* Used by PM_L4PER_MMC3_WKDEP */ | ||
2393 | #define OMAP54XX_WKUPDEP_MMC3_MPU_SHIFT 0 | ||
2394 | #define OMAP54XX_WKUPDEP_MMC3_MPU_WIDTH 0x1 | ||
2395 | #define OMAP54XX_WKUPDEP_MMC3_MPU_MASK (1 << 0) | ||
2396 | |||
2397 | /* Used by PM_L4PER_MMC3_WKDEP */ | ||
2398 | #define OMAP54XX_WKUPDEP_MMC3_SDMA_SHIFT 3 | ||
2399 | #define OMAP54XX_WKUPDEP_MMC3_SDMA_WIDTH 0x1 | ||
2400 | #define OMAP54XX_WKUPDEP_MMC3_SDMA_MASK (1 << 3) | ||
2401 | |||
2402 | /* Used by PM_L4PER_MMC4_WKDEP */ | ||
2403 | #define OMAP54XX_WKUPDEP_MMC4_MPU_SHIFT 0 | ||
2404 | #define OMAP54XX_WKUPDEP_MMC4_MPU_WIDTH 0x1 | ||
2405 | #define OMAP54XX_WKUPDEP_MMC4_MPU_MASK (1 << 0) | ||
2406 | |||
2407 | /* Used by PM_L4PER_MMC4_WKDEP */ | ||
2408 | #define OMAP54XX_WKUPDEP_MMC4_SDMA_SHIFT 3 | ||
2409 | #define OMAP54XX_WKUPDEP_MMC4_SDMA_WIDTH 0x1 | ||
2410 | #define OMAP54XX_WKUPDEP_MMC4_SDMA_MASK (1 << 3) | ||
2411 | |||
2412 | /* Used by PM_L4PER_MMC5_WKDEP */ | ||
2413 | #define OMAP54XX_WKUPDEP_MMC5_MPU_SHIFT 0 | ||
2414 | #define OMAP54XX_WKUPDEP_MMC5_MPU_WIDTH 0x1 | ||
2415 | #define OMAP54XX_WKUPDEP_MMC5_MPU_MASK (1 << 0) | ||
2416 | |||
2417 | /* Used by PM_L4PER_MMC5_WKDEP */ | ||
2418 | #define OMAP54XX_WKUPDEP_MMC5_SDMA_SHIFT 3 | ||
2419 | #define OMAP54XX_WKUPDEP_MMC5_SDMA_WIDTH 0x1 | ||
2420 | #define OMAP54XX_WKUPDEP_MMC5_SDMA_MASK (1 << 3) | ||
2421 | |||
2422 | /* Used by PM_L3INIT_SATA_WKDEP */ | ||
2423 | #define OMAP54XX_WKUPDEP_SATA_MPU_SHIFT 0 | ||
2424 | #define OMAP54XX_WKUPDEP_SATA_MPU_WIDTH 0x1 | ||
2425 | #define OMAP54XX_WKUPDEP_SATA_MPU_MASK (1 << 0) | ||
2426 | |||
2427 | /* Used by PM_ABE_SLIMBUS1_WKDEP */ | ||
2428 | #define OMAP54XX_WKUPDEP_SLIMBUS1_DMA_DSP_SHIFT 6 | ||
2429 | #define OMAP54XX_WKUPDEP_SLIMBUS1_DMA_DSP_WIDTH 0x1 | ||
2430 | #define OMAP54XX_WKUPDEP_SLIMBUS1_DMA_DSP_MASK (1 << 6) | ||
2431 | |||
2432 | /* Used by PM_ABE_SLIMBUS1_WKDEP */ | ||
2433 | #define OMAP54XX_WKUPDEP_SLIMBUS1_DMA_SDMA_SHIFT 7 | ||
2434 | #define OMAP54XX_WKUPDEP_SLIMBUS1_DMA_SDMA_WIDTH 0x1 | ||
2435 | #define OMAP54XX_WKUPDEP_SLIMBUS1_DMA_SDMA_MASK (1 << 7) | ||
2436 | |||
2437 | /* Used by PM_ABE_SLIMBUS1_WKDEP */ | ||
2438 | #define OMAP54XX_WKUPDEP_SLIMBUS1_IRQ_DSP_SHIFT 2 | ||
2439 | #define OMAP54XX_WKUPDEP_SLIMBUS1_IRQ_DSP_WIDTH 0x1 | ||
2440 | #define OMAP54XX_WKUPDEP_SLIMBUS1_IRQ_DSP_MASK (1 << 2) | ||
2441 | |||
2442 | /* Used by PM_ABE_SLIMBUS1_WKDEP */ | ||
2443 | #define OMAP54XX_WKUPDEP_SLIMBUS1_IRQ_MPU_SHIFT 0 | ||
2444 | #define OMAP54XX_WKUPDEP_SLIMBUS1_IRQ_MPU_WIDTH 0x1 | ||
2445 | #define OMAP54XX_WKUPDEP_SLIMBUS1_IRQ_MPU_MASK (1 << 0) | ||
2446 | |||
2447 | /* Used by PM_COREAON_SMARTREFLEX_CORE_WKDEP */ | ||
2448 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_CORE_IPU_SHIFT 1 | ||
2449 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_CORE_IPU_WIDTH 0x1 | ||
2450 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_CORE_IPU_MASK (1 << 1) | ||
2451 | |||
2452 | /* Used by PM_COREAON_SMARTREFLEX_CORE_WKDEP */ | ||
2453 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_CORE_MPU_SHIFT 0 | ||
2454 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_CORE_MPU_WIDTH 0x1 | ||
2455 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_CORE_MPU_MASK (1 << 0) | ||
2456 | |||
2457 | /* Used by PM_COREAON_SMARTREFLEX_MM_WKDEP */ | ||
2458 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_MM_MPU_SHIFT 0 | ||
2459 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_MM_MPU_WIDTH 0x1 | ||
2460 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_MM_MPU_MASK (1 << 0) | ||
2461 | |||
2462 | /* Used by PM_COREAON_SMARTREFLEX_MPU_WKDEP */ | ||
2463 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_MPU_MPU_SHIFT 0 | ||
2464 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_MPU_MPU_WIDTH 0x1 | ||
2465 | #define OMAP54XX_WKUPDEP_SMARTREFLEX_MPU_MPU_MASK (1 << 0) | ||
2466 | |||
2467 | /* Used by PM_L4PER_TIMER10_WKDEP */ | ||
2468 | #define OMAP54XX_WKUPDEP_TIMER10_MPU_SHIFT 0 | ||
2469 | #define OMAP54XX_WKUPDEP_TIMER10_MPU_WIDTH 0x1 | ||
2470 | #define OMAP54XX_WKUPDEP_TIMER10_MPU_MASK (1 << 0) | ||
2471 | |||
2472 | /* Used by PM_L4PER_TIMER11_WKDEP */ | ||
2473 | #define OMAP54XX_WKUPDEP_TIMER11_IPU_SHIFT 1 | ||
2474 | #define OMAP54XX_WKUPDEP_TIMER11_IPU_WIDTH 0x1 | ||
2475 | #define OMAP54XX_WKUPDEP_TIMER11_IPU_MASK (1 << 1) | ||
2476 | |||
2477 | /* Used by PM_L4PER_TIMER11_WKDEP */ | ||
2478 | #define OMAP54XX_WKUPDEP_TIMER11_MPU_SHIFT 0 | ||
2479 | #define OMAP54XX_WKUPDEP_TIMER11_MPU_WIDTH 0x1 | ||
2480 | #define OMAP54XX_WKUPDEP_TIMER11_MPU_MASK (1 << 0) | ||
2481 | |||
2482 | /* Used by PM_WKUPAON_TIMER12_WKDEP */ | ||
2483 | #define OMAP54XX_WKUPDEP_TIMER12_MPU_SHIFT 0 | ||
2484 | #define OMAP54XX_WKUPDEP_TIMER12_MPU_WIDTH 0x1 | ||
2485 | #define OMAP54XX_WKUPDEP_TIMER12_MPU_MASK (1 << 0) | ||
2486 | |||
2487 | /* Used by PM_WKUPAON_TIMER1_WKDEP */ | ||
2488 | #define OMAP54XX_WKUPDEP_TIMER1_MPU_SHIFT 0 | ||
2489 | #define OMAP54XX_WKUPDEP_TIMER1_MPU_WIDTH 0x1 | ||
2490 | #define OMAP54XX_WKUPDEP_TIMER1_MPU_MASK (1 << 0) | ||
2491 | |||
2492 | /* Used by PM_L4PER_TIMER2_WKDEP */ | ||
2493 | #define OMAP54XX_WKUPDEP_TIMER2_MPU_SHIFT 0 | ||
2494 | #define OMAP54XX_WKUPDEP_TIMER2_MPU_WIDTH 0x1 | ||
2495 | #define OMAP54XX_WKUPDEP_TIMER2_MPU_MASK (1 << 0) | ||
2496 | |||
2497 | /* Used by PM_L4PER_TIMER3_WKDEP */ | ||
2498 | #define OMAP54XX_WKUPDEP_TIMER3_IPU_SHIFT 1 | ||
2499 | #define OMAP54XX_WKUPDEP_TIMER3_IPU_WIDTH 0x1 | ||
2500 | #define OMAP54XX_WKUPDEP_TIMER3_IPU_MASK (1 << 1) | ||
2501 | |||
2502 | /* Used by PM_L4PER_TIMER3_WKDEP */ | ||
2503 | #define OMAP54XX_WKUPDEP_TIMER3_MPU_SHIFT 0 | ||
2504 | #define OMAP54XX_WKUPDEP_TIMER3_MPU_WIDTH 0x1 | ||
2505 | #define OMAP54XX_WKUPDEP_TIMER3_MPU_MASK (1 << 0) | ||
2506 | |||
2507 | /* Used by PM_L4PER_TIMER4_WKDEP */ | ||
2508 | #define OMAP54XX_WKUPDEP_TIMER4_IPU_SHIFT 1 | ||
2509 | #define OMAP54XX_WKUPDEP_TIMER4_IPU_WIDTH 0x1 | ||
2510 | #define OMAP54XX_WKUPDEP_TIMER4_IPU_MASK (1 << 1) | ||
2511 | |||
2512 | /* Used by PM_L4PER_TIMER4_WKDEP */ | ||
2513 | #define OMAP54XX_WKUPDEP_TIMER4_MPU_SHIFT 0 | ||
2514 | #define OMAP54XX_WKUPDEP_TIMER4_MPU_WIDTH 0x1 | ||
2515 | #define OMAP54XX_WKUPDEP_TIMER4_MPU_MASK (1 << 0) | ||
2516 | |||
2517 | /* Used by PM_ABE_TIMER5_WKDEP */ | ||
2518 | #define OMAP54XX_WKUPDEP_TIMER5_DSP_SHIFT 2 | ||
2519 | #define OMAP54XX_WKUPDEP_TIMER5_DSP_WIDTH 0x1 | ||
2520 | #define OMAP54XX_WKUPDEP_TIMER5_DSP_MASK (1 << 2) | ||
2521 | |||
2522 | /* Used by PM_ABE_TIMER5_WKDEP */ | ||
2523 | #define OMAP54XX_WKUPDEP_TIMER5_MPU_SHIFT 0 | ||
2524 | #define OMAP54XX_WKUPDEP_TIMER5_MPU_WIDTH 0x1 | ||
2525 | #define OMAP54XX_WKUPDEP_TIMER5_MPU_MASK (1 << 0) | ||
2526 | |||
2527 | /* Used by PM_ABE_TIMER6_WKDEP */ | ||
2528 | #define OMAP54XX_WKUPDEP_TIMER6_DSP_SHIFT 2 | ||
2529 | #define OMAP54XX_WKUPDEP_TIMER6_DSP_WIDTH 0x1 | ||
2530 | #define OMAP54XX_WKUPDEP_TIMER6_DSP_MASK (1 << 2) | ||
2531 | |||
2532 | /* Used by PM_ABE_TIMER6_WKDEP */ | ||
2533 | #define OMAP54XX_WKUPDEP_TIMER6_MPU_SHIFT 0 | ||
2534 | #define OMAP54XX_WKUPDEP_TIMER6_MPU_WIDTH 0x1 | ||
2535 | #define OMAP54XX_WKUPDEP_TIMER6_MPU_MASK (1 << 0) | ||
2536 | |||
2537 | /* Used by PM_ABE_TIMER7_WKDEP */ | ||
2538 | #define OMAP54XX_WKUPDEP_TIMER7_DSP_SHIFT 2 | ||
2539 | #define OMAP54XX_WKUPDEP_TIMER7_DSP_WIDTH 0x1 | ||
2540 | #define OMAP54XX_WKUPDEP_TIMER7_DSP_MASK (1 << 2) | ||
2541 | |||
2542 | /* Used by PM_ABE_TIMER7_WKDEP */ | ||
2543 | #define OMAP54XX_WKUPDEP_TIMER7_MPU_SHIFT 0 | ||
2544 | #define OMAP54XX_WKUPDEP_TIMER7_MPU_WIDTH 0x1 | ||
2545 | #define OMAP54XX_WKUPDEP_TIMER7_MPU_MASK (1 << 0) | ||
2546 | |||
2547 | /* Used by PM_ABE_TIMER8_WKDEP */ | ||
2548 | #define OMAP54XX_WKUPDEP_TIMER8_DSP_SHIFT 2 | ||
2549 | #define OMAP54XX_WKUPDEP_TIMER8_DSP_WIDTH 0x1 | ||
2550 | #define OMAP54XX_WKUPDEP_TIMER8_DSP_MASK (1 << 2) | ||
2551 | |||
2552 | /* Used by PM_ABE_TIMER8_WKDEP */ | ||
2553 | #define OMAP54XX_WKUPDEP_TIMER8_MPU_SHIFT 0 | ||
2554 | #define OMAP54XX_WKUPDEP_TIMER8_MPU_WIDTH 0x1 | ||
2555 | #define OMAP54XX_WKUPDEP_TIMER8_MPU_MASK (1 << 0) | ||
2556 | |||
2557 | /* Used by PM_L4PER_TIMER9_WKDEP */ | ||
2558 | #define OMAP54XX_WKUPDEP_TIMER9_IPU_SHIFT 1 | ||
2559 | #define OMAP54XX_WKUPDEP_TIMER9_IPU_WIDTH 0x1 | ||
2560 | #define OMAP54XX_WKUPDEP_TIMER9_IPU_MASK (1 << 1) | ||
2561 | |||
2562 | /* Used by PM_L4PER_TIMER9_WKDEP */ | ||
2563 | #define OMAP54XX_WKUPDEP_TIMER9_MPU_SHIFT 0 | ||
2564 | #define OMAP54XX_WKUPDEP_TIMER9_MPU_WIDTH 0x1 | ||
2565 | #define OMAP54XX_WKUPDEP_TIMER9_MPU_MASK (1 << 0) | ||
2566 | |||
2567 | /* Used by PM_L4PER_UART1_WKDEP */ | ||
2568 | #define OMAP54XX_WKUPDEP_UART1_MPU_SHIFT 0 | ||
2569 | #define OMAP54XX_WKUPDEP_UART1_MPU_WIDTH 0x1 | ||
2570 | #define OMAP54XX_WKUPDEP_UART1_MPU_MASK (1 << 0) | ||
2571 | |||
2572 | /* Used by PM_L4PER_UART1_WKDEP */ | ||
2573 | #define OMAP54XX_WKUPDEP_UART1_SDMA_SHIFT 3 | ||
2574 | #define OMAP54XX_WKUPDEP_UART1_SDMA_WIDTH 0x1 | ||
2575 | #define OMAP54XX_WKUPDEP_UART1_SDMA_MASK (1 << 3) | ||
2576 | |||
2577 | /* Used by PM_L4PER_UART2_WKDEP */ | ||
2578 | #define OMAP54XX_WKUPDEP_UART2_MPU_SHIFT 0 | ||
2579 | #define OMAP54XX_WKUPDEP_UART2_MPU_WIDTH 0x1 | ||
2580 | #define OMAP54XX_WKUPDEP_UART2_MPU_MASK (1 << 0) | ||
2581 | |||
2582 | /* Used by PM_L4PER_UART2_WKDEP */ | ||
2583 | #define OMAP54XX_WKUPDEP_UART2_SDMA_SHIFT 3 | ||
2584 | #define OMAP54XX_WKUPDEP_UART2_SDMA_WIDTH 0x1 | ||
2585 | #define OMAP54XX_WKUPDEP_UART2_SDMA_MASK (1 << 3) | ||
2586 | |||
2587 | /* Used by PM_L4PER_UART3_WKDEP */ | ||
2588 | #define OMAP54XX_WKUPDEP_UART3_DSP_SHIFT 2 | ||
2589 | #define OMAP54XX_WKUPDEP_UART3_DSP_WIDTH 0x1 | ||
2590 | #define OMAP54XX_WKUPDEP_UART3_DSP_MASK (1 << 2) | ||
2591 | |||
2592 | /* Used by PM_L4PER_UART3_WKDEP */ | ||
2593 | #define OMAP54XX_WKUPDEP_UART3_IPU_SHIFT 1 | ||
2594 | #define OMAP54XX_WKUPDEP_UART3_IPU_WIDTH 0x1 | ||
2595 | #define OMAP54XX_WKUPDEP_UART3_IPU_MASK (1 << 1) | ||
2596 | |||
2597 | /* Used by PM_L4PER_UART3_WKDEP */ | ||
2598 | #define OMAP54XX_WKUPDEP_UART3_MPU_SHIFT 0 | ||
2599 | #define OMAP54XX_WKUPDEP_UART3_MPU_WIDTH 0x1 | ||
2600 | #define OMAP54XX_WKUPDEP_UART3_MPU_MASK (1 << 0) | ||
2601 | |||
2602 | /* Used by PM_L4PER_UART3_WKDEP */ | ||
2603 | #define OMAP54XX_WKUPDEP_UART3_SDMA_SHIFT 3 | ||
2604 | #define OMAP54XX_WKUPDEP_UART3_SDMA_WIDTH 0x1 | ||
2605 | #define OMAP54XX_WKUPDEP_UART3_SDMA_MASK (1 << 3) | ||
2606 | |||
2607 | /* Used by PM_L4PER_UART4_WKDEP */ | ||
2608 | #define OMAP54XX_WKUPDEP_UART4_MPU_SHIFT 0 | ||
2609 | #define OMAP54XX_WKUPDEP_UART4_MPU_WIDTH 0x1 | ||
2610 | #define OMAP54XX_WKUPDEP_UART4_MPU_MASK (1 << 0) | ||
2611 | |||
2612 | /* Used by PM_L4PER_UART4_WKDEP */ | ||
2613 | #define OMAP54XX_WKUPDEP_UART4_SDMA_SHIFT 3 | ||
2614 | #define OMAP54XX_WKUPDEP_UART4_SDMA_WIDTH 0x1 | ||
2615 | #define OMAP54XX_WKUPDEP_UART4_SDMA_MASK (1 << 3) | ||
2616 | |||
2617 | /* Used by PM_L4PER_UART5_WKDEP */ | ||
2618 | #define OMAP54XX_WKUPDEP_UART5_MPU_SHIFT 0 | ||
2619 | #define OMAP54XX_WKUPDEP_UART5_MPU_WIDTH 0x1 | ||
2620 | #define OMAP54XX_WKUPDEP_UART5_MPU_MASK (1 << 0) | ||
2621 | |||
2622 | /* Used by PM_L4PER_UART5_WKDEP */ | ||
2623 | #define OMAP54XX_WKUPDEP_UART5_SDMA_SHIFT 3 | ||
2624 | #define OMAP54XX_WKUPDEP_UART5_SDMA_WIDTH 0x1 | ||
2625 | #define OMAP54XX_WKUPDEP_UART5_SDMA_MASK (1 << 3) | ||
2626 | |||
2627 | /* Used by PM_L4PER_UART6_WKDEP */ | ||
2628 | #define OMAP54XX_WKUPDEP_UART6_MPU_SHIFT 0 | ||
2629 | #define OMAP54XX_WKUPDEP_UART6_MPU_WIDTH 0x1 | ||
2630 | #define OMAP54XX_WKUPDEP_UART6_MPU_MASK (1 << 0) | ||
2631 | |||
2632 | /* Used by PM_L4PER_UART6_WKDEP */ | ||
2633 | #define OMAP54XX_WKUPDEP_UART6_SDMA_SHIFT 3 | ||
2634 | #define OMAP54XX_WKUPDEP_UART6_SDMA_WIDTH 0x1 | ||
2635 | #define OMAP54XX_WKUPDEP_UART6_SDMA_MASK (1 << 3) | ||
2636 | |||
2637 | /* Used by PM_L3INIT_UNIPRO2_WKDEP */ | ||
2638 | #define OMAP54XX_WKUPDEP_UNIPRO2_MPU_SHIFT 0 | ||
2639 | #define OMAP54XX_WKUPDEP_UNIPRO2_MPU_WIDTH 0x1 | ||
2640 | #define OMAP54XX_WKUPDEP_UNIPRO2_MPU_MASK (1 << 0) | ||
2641 | |||
2642 | /* Used by PM_L3INIT_USB_HOST_HS_WKDEP */ | ||
2643 | #define OMAP54XX_WKUPDEP_USB_HOST_HS_IPU_SHIFT 1 | ||
2644 | #define OMAP54XX_WKUPDEP_USB_HOST_HS_IPU_WIDTH 0x1 | ||
2645 | #define OMAP54XX_WKUPDEP_USB_HOST_HS_IPU_MASK (1 << 1) | ||
2646 | |||
2647 | /* Used by PM_L3INIT_USB_HOST_HS_WKDEP */ | ||
2648 | #define OMAP54XX_WKUPDEP_USB_HOST_HS_MPU_SHIFT 0 | ||
2649 | #define OMAP54XX_WKUPDEP_USB_HOST_HS_MPU_WIDTH 0x1 | ||
2650 | #define OMAP54XX_WKUPDEP_USB_HOST_HS_MPU_MASK (1 << 0) | ||
2651 | |||
2652 | /* Used by PM_L3INIT_USB_OTG_SS_WKDEP */ | ||
2653 | #define OMAP54XX_WKUPDEP_USB_OTG_SS_IPU_SHIFT 1 | ||
2654 | #define OMAP54XX_WKUPDEP_USB_OTG_SS_IPU_WIDTH 0x1 | ||
2655 | #define OMAP54XX_WKUPDEP_USB_OTG_SS_IPU_MASK (1 << 1) | ||
2656 | |||
2657 | /* Used by PM_L3INIT_USB_OTG_SS_WKDEP */ | ||
2658 | #define OMAP54XX_WKUPDEP_USB_OTG_SS_MPU_SHIFT 0 | ||
2659 | #define OMAP54XX_WKUPDEP_USB_OTG_SS_MPU_WIDTH 0x1 | ||
2660 | #define OMAP54XX_WKUPDEP_USB_OTG_SS_MPU_MASK (1 << 0) | ||
2661 | |||
2662 | /* Used by PM_L3INIT_USB_TLL_HS_WKDEP */ | ||
2663 | #define OMAP54XX_WKUPDEP_USB_TLL_HS_IPU_SHIFT 1 | ||
2664 | #define OMAP54XX_WKUPDEP_USB_TLL_HS_IPU_WIDTH 0x1 | ||
2665 | #define OMAP54XX_WKUPDEP_USB_TLL_HS_IPU_MASK (1 << 1) | ||
2666 | |||
2667 | /* Used by PM_L3INIT_USB_TLL_HS_WKDEP */ | ||
2668 | #define OMAP54XX_WKUPDEP_USB_TLL_HS_MPU_SHIFT 0 | ||
2669 | #define OMAP54XX_WKUPDEP_USB_TLL_HS_MPU_WIDTH 0x1 | ||
2670 | #define OMAP54XX_WKUPDEP_USB_TLL_HS_MPU_MASK (1 << 0) | ||
2671 | |||
2672 | /* Used by PM_WKUPAON_WD_TIMER2_WKDEP */ | ||
2673 | #define OMAP54XX_WKUPDEP_WD_TIMER2_MPU_SHIFT 0 | ||
2674 | #define OMAP54XX_WKUPDEP_WD_TIMER2_MPU_WIDTH 0x1 | ||
2675 | #define OMAP54XX_WKUPDEP_WD_TIMER2_MPU_MASK (1 << 0) | ||
2676 | |||
2677 | /* Used by PM_ABE_WD_TIMER3_WKDEP */ | ||
2678 | #define OMAP54XX_WKUPDEP_WD_TIMER3_MPU_SHIFT 0 | ||
2679 | #define OMAP54XX_WKUPDEP_WD_TIMER3_MPU_WIDTH 0x1 | ||
2680 | #define OMAP54XX_WKUPDEP_WD_TIMER3_MPU_MASK (1 << 0) | ||
2681 | |||
2682 | /* Used by PRM_IO_PMCTRL */ | ||
2683 | #define OMAP54XX_WUCLK_CTRL_SHIFT 8 | ||
2684 | #define OMAP54XX_WUCLK_CTRL_WIDTH 0x1 | ||
2685 | #define OMAP54XX_WUCLK_CTRL_MASK (1 << 8) | ||
2686 | |||
2687 | /* Used by PRM_IO_PMCTRL */ | ||
2688 | #define OMAP54XX_WUCLK_STATUS_SHIFT 9 | ||
2689 | #define OMAP54XX_WUCLK_STATUS_WIDTH 0x1 | ||
2690 | #define OMAP54XX_WUCLK_STATUS_MASK (1 << 9) | ||
2691 | |||
2692 | /* Used by REVISION_PRM */ | ||
2693 | #define OMAP54XX_X_MAJOR_SHIFT 8 | ||
2694 | #define OMAP54XX_X_MAJOR_WIDTH 0x3 | ||
2695 | #define OMAP54XX_X_MAJOR_MASK (0x7 << 8) | ||
2696 | |||
2697 | /* Used by REVISION_PRM */ | ||
2698 | #define OMAP54XX_Y_MINOR_SHIFT 0 | ||
2699 | #define OMAP54XX_Y_MINOR_WIDTH 0x6 | ||
2700 | #define OMAP54XX_Y_MINOR_MASK (0x3f << 0) | ||
2701 | #endif | ||
diff --git a/arch/arm/mach-omap2/prm33xx.c b/arch/arm/mach-omap2/prm33xx.c index 44c0d7216aa7..720440737744 100644 --- a/arch/arm/mach-omap2/prm33xx.c +++ b/arch/arm/mach-omap2/prm33xx.c | |||
@@ -320,6 +320,12 @@ static int am33xx_pwrdm_wait_transition(struct powerdomain *pwrdm) | |||
320 | return 0; | 320 | return 0; |
321 | } | 321 | } |
322 | 322 | ||
323 | static int am33xx_check_vcvp(void) | ||
324 | { | ||
325 | /* No VC/VP on am33xx devices */ | ||
326 | return 0; | ||
327 | } | ||
328 | |||
323 | struct pwrdm_ops am33xx_pwrdm_operations = { | 329 | struct pwrdm_ops am33xx_pwrdm_operations = { |
324 | .pwrdm_set_next_pwrst = am33xx_pwrdm_set_next_pwrst, | 330 | .pwrdm_set_next_pwrst = am33xx_pwrdm_set_next_pwrst, |
325 | .pwrdm_read_next_pwrst = am33xx_pwrdm_read_next_pwrst, | 331 | .pwrdm_read_next_pwrst = am33xx_pwrdm_read_next_pwrst, |
@@ -335,4 +341,5 @@ struct pwrdm_ops am33xx_pwrdm_operations = { | |||
335 | .pwrdm_set_mem_onst = am33xx_pwrdm_set_mem_onst, | 341 | .pwrdm_set_mem_onst = am33xx_pwrdm_set_mem_onst, |
336 | .pwrdm_set_mem_retst = am33xx_pwrdm_set_mem_retst, | 342 | .pwrdm_set_mem_retst = am33xx_pwrdm_set_mem_retst, |
337 | .pwrdm_wait_transition = am33xx_pwrdm_wait_transition, | 343 | .pwrdm_wait_transition = am33xx_pwrdm_wait_transition, |
344 | .pwrdm_has_voltdm = am33xx_check_vcvp, | ||
338 | }; | 345 | }; |
diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h index 8ee1fbdec561..7db2422faa16 100644 --- a/arch/arm/mach-omap2/prm44xx.h +++ b/arch/arm/mach-omap2/prm44xx.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_H | 25 | #ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_H |
26 | #define __ARCH_ARM_MACH_OMAP2_PRM44XX_H | 26 | #define __ARCH_ARM_MACH_OMAP2_PRM44XX_H |
27 | 27 | ||
28 | #include "prm44xx_54xx.h" | ||
28 | #include "prcm-common.h" | 29 | #include "prcm-common.h" |
29 | #include "prm.h" | 30 | #include "prm.h" |
30 | 31 | ||
@@ -744,36 +745,4 @@ | |||
744 | #define OMAP4_PRM_VC_ERRST_OFFSET 0x00f8 | 745 | #define OMAP4_PRM_VC_ERRST_OFFSET 0x00f8 |
745 | #define OMAP4430_PRM_VC_ERRST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f8) | 746 | #define OMAP4430_PRM_VC_ERRST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f8) |
746 | 747 | ||
747 | /* Function prototypes */ | ||
748 | # ifndef __ASSEMBLER__ | ||
749 | |||
750 | extern u32 omap4_prm_read_inst_reg(s16 inst, u16 idx); | ||
751 | extern void omap4_prm_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
752 | extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx); | ||
753 | |||
754 | /* OMAP4-specific VP functions */ | ||
755 | u32 omap4_prm_vp_check_txdone(u8 vp_id); | ||
756 | void omap4_prm_vp_clear_txdone(u8 vp_id); | ||
757 | |||
758 | /* | ||
759 | * OMAP4 access functions for voltage controller (VC) and | ||
760 | * voltage proccessor (VP) in the PRM. | ||
761 | */ | ||
762 | extern u32 omap4_prm_vcvp_read(u8 offset); | ||
763 | extern void omap4_prm_vcvp_write(u32 val, u8 offset); | ||
764 | extern u32 omap4_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset); | ||
765 | |||
766 | extern void omap44xx_prm_reconfigure_io_chain(void); | ||
767 | |||
768 | /* PRM interrupt-related functions */ | ||
769 | extern void omap44xx_prm_read_pending_irqs(unsigned long *events); | ||
770 | extern void omap44xx_prm_ocp_barrier(void); | ||
771 | extern void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask); | ||
772 | extern void omap44xx_prm_restore_irqen(u32 *saved_mask); | ||
773 | |||
774 | extern int __init omap44xx_prm_init(void); | ||
775 | extern u32 omap44xx_prm_get_reset_sources(void); | ||
776 | |||
777 | # endif | ||
778 | |||
779 | #endif | 748 | #endif |
diff --git a/arch/arm/mach-omap2/prm44xx_54xx.h b/arch/arm/mach-omap2/prm44xx_54xx.h new file mode 100644 index 000000000000..7cd22abb8f15 --- /dev/null +++ b/arch/arm/mach-omap2/prm44xx_54xx.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * OMAP44xx and 54xx PRM common functions | ||
3 | * | ||
4 | * Copyright (C) 2009-2013 Texas Instruments, Inc. | ||
5 | * Copyright (C) 2009-2010 Nokia Corporation | ||
6 | * | ||
7 | * Paul Walmsley (paul@pwsan.com) | ||
8 | * Rajendra Nayak (rnayak@ti.com) | ||
9 | * Benoit Cousson (b-cousson@ti.com) | ||
10 | * | ||
11 | * This file is automatically generated from the OMAP hardware databases. | ||
12 | * We respectfully ask that any modifications to this file be coordinated | ||
13 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
14 | * authors above to ensure that the autogeneration scripts are kept | ||
15 | * up-to-date with the file contents. | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | ||
18 | * it under the terms of the GNU General Public License version 2 as | ||
19 | * published by the Free Software Foundation. | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H | ||
24 | #define __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H | ||
25 | |||
26 | /* Function prototypes */ | ||
27 | #ifndef __ASSEMBLER__ | ||
28 | |||
29 | extern u32 omap4_prm_read_inst_reg(s16 inst, u16 idx); | ||
30 | extern void omap4_prm_write_inst_reg(u32 val, s16 inst, u16 idx); | ||
31 | extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx); | ||
32 | |||
33 | /* OMAP4/OMAP5-specific VP functions */ | ||
34 | u32 omap4_prm_vp_check_txdone(u8 vp_id); | ||
35 | void omap4_prm_vp_clear_txdone(u8 vp_id); | ||
36 | |||
37 | /* | ||
38 | * OMAP4/OMAP5 access functions for voltage controller (VC) and | ||
39 | * voltage proccessor (VP) in the PRM. | ||
40 | */ | ||
41 | extern u32 omap4_prm_vcvp_read(u8 offset); | ||
42 | extern void omap4_prm_vcvp_write(u32 val, u8 offset); | ||
43 | extern u32 omap4_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset); | ||
44 | |||
45 | extern void omap44xx_prm_reconfigure_io_chain(void); | ||
46 | |||
47 | /* PRM interrupt-related functions */ | ||
48 | extern void omap44xx_prm_read_pending_irqs(unsigned long *events); | ||
49 | extern void omap44xx_prm_ocp_barrier(void); | ||
50 | extern void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask); | ||
51 | extern void omap44xx_prm_restore_irqen(u32 *saved_mask); | ||
52 | |||
53 | extern int __init omap44xx_prm_init(void); | ||
54 | extern u32 omap44xx_prm_get_reset_sources(void); | ||
55 | |||
56 | #endif | ||
57 | |||
58 | #endif | ||
diff --git a/arch/arm/mach-omap2/prm54xx.h b/arch/arm/mach-omap2/prm54xx.h new file mode 100644 index 000000000000..e4411010309c --- /dev/null +++ b/arch/arm/mach-omap2/prm54xx.h | |||
@@ -0,0 +1,421 @@ | |||
1 | /* | ||
2 | * OMAP54xx PRM instance offset macros | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Paul Walmsley (paul@pwsan.com) | ||
7 | * Rajendra Nayak (rnayak@ti.com) | ||
8 | * Benoit Cousson (b-cousson@ti.com) | ||
9 | * | ||
10 | * This file is automatically generated from the OMAP hardware databases. | ||
11 | * We respectfully ask that any modifications to this file be coordinated | ||
12 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
13 | * authors above to ensure that the autogeneration scripts are kept | ||
14 | * up-to-date with the file contents. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #ifndef __ARCH_ARM_MACH_OMAP2_PRM54XX_H | ||
22 | #define __ARCH_ARM_MACH_OMAP2_PRM54XX_H | ||
23 | |||
24 | #include "prm44xx_54xx.h" | ||
25 | #include "prcm-common.h" | ||
26 | #include "prm.h" | ||
27 | |||
28 | #define OMAP54XX_PRM_BASE 0x4ae06000 | ||
29 | |||
30 | #define OMAP54XX_PRM_REGADDR(inst, reg) \ | ||
31 | OMAP2_L4_IO_ADDRESS(OMAP54XX_PRM_BASE + (inst) + (reg)) | ||
32 | |||
33 | |||
34 | /* PRM instances */ | ||
35 | #define OMAP54XX_PRM_OCP_SOCKET_INST 0x0000 | ||
36 | #define OMAP54XX_PRM_CKGEN_INST 0x0100 | ||
37 | #define OMAP54XX_PRM_MPU_INST 0x0300 | ||
38 | #define OMAP54XX_PRM_DSP_INST 0x0400 | ||
39 | #define OMAP54XX_PRM_ABE_INST 0x0500 | ||
40 | #define OMAP54XX_PRM_COREAON_INST 0x0600 | ||
41 | #define OMAP54XX_PRM_CORE_INST 0x0700 | ||
42 | #define OMAP54XX_PRM_IVA_INST 0x1200 | ||
43 | #define OMAP54XX_PRM_CAM_INST 0x1300 | ||
44 | #define OMAP54XX_PRM_DSS_INST 0x1400 | ||
45 | #define OMAP54XX_PRM_GPU_INST 0x1500 | ||
46 | #define OMAP54XX_PRM_L3INIT_INST 0x1600 | ||
47 | #define OMAP54XX_PRM_CUSTEFUSE_INST 0x1700 | ||
48 | #define OMAP54XX_PRM_WKUPAON_INST 0x1800 | ||
49 | #define OMAP54XX_PRM_WKUPAON_CM_INST 0x1900 | ||
50 | #define OMAP54XX_PRM_EMU_INST 0x1a00 | ||
51 | #define OMAP54XX_PRM_EMU_CM_INST 0x1b00 | ||
52 | #define OMAP54XX_PRM_DEVICE_INST 0x1c00 | ||
53 | #define OMAP54XX_PRM_INSTR_INST 0x1f00 | ||
54 | |||
55 | /* PRM clockdomain register offsets (from instance start) */ | ||
56 | #define OMAP54XX_PRM_WKUPAON_CM_WKUPAON_CDOFFS 0x0000 | ||
57 | #define OMAP54XX_PRM_EMU_CM_EMU_CDOFFS 0x0000 | ||
58 | |||
59 | /* PRM */ | ||
60 | |||
61 | /* PRM.OCP_SOCKET_PRM register offsets */ | ||
62 | #define OMAP54XX_REVISION_PRM_OFFSET 0x0000 | ||
63 | #define OMAP54XX_PRM_IRQSTATUS_MPU_OFFSET 0x0010 | ||
64 | #define OMAP54XX_PRM_IRQSTATUS_MPU_2_OFFSET 0x0014 | ||
65 | #define OMAP54XX_PRM_IRQENABLE_MPU_OFFSET 0x0018 | ||
66 | #define OMAP54XX_PRM_IRQENABLE_MPU_2_OFFSET 0x001c | ||
67 | #define OMAP54XX_PRM_IRQSTATUS_IPU_OFFSET 0x0020 | ||
68 | #define OMAP54XX_PRM_IRQENABLE_IPU_OFFSET 0x0028 | ||
69 | #define OMAP54XX_PRM_IRQSTATUS_DSP_OFFSET 0x0030 | ||
70 | #define OMAP54XX_PRM_IRQENABLE_DSP_OFFSET 0x0038 | ||
71 | #define OMAP54XX_CM_PRM_PROFILING_CLKCTRL_OFFSET 0x0040 | ||
72 | #define OMAP54XX_CM_PRM_PROFILING_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_OCP_SOCKET_INST, 0x0040) | ||
73 | #define OMAP54XX_PRM_DEBUG_OUT_OFFSET 0x0084 | ||
74 | #define OMAP54XX_PRM_DEBUG_TRANS_CFG_OFFSET 0x0090 | ||
75 | #define OMAP54XX_PRM_DEBUG_OFF_TRANS_OFFSET 0x0094 | ||
76 | #define OMAP54XX_PRM_DEBUG_CORE_RET_TRANS_OFFSET 0x0098 | ||
77 | #define OMAP54XX_PRM_DEBUG_MPU_RET_TRANS_OFFSET 0x009c | ||
78 | #define OMAP54XX_PRM_DEBUG_MM_RET_TRANS_OFFSET 0x00a0 | ||
79 | #define OMAP54XX_PRM_DEBUG_WKUPAON_FD_TRANS_OFFSET 0x00a4 | ||
80 | |||
81 | /* PRM.CKGEN_PRM register offsets */ | ||
82 | #define OMAP54XX_CM_CLKSEL_ABE_DSS_SYS_OFFSET 0x0000 | ||
83 | #define OMAP54XX_CM_CLKSEL_ABE_DSS_SYS OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x0000) | ||
84 | #define OMAP54XX_CM_CLKSEL_WKUPAON_OFFSET 0x0008 | ||
85 | #define OMAP54XX_CM_CLKSEL_WKUPAON OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x0008) | ||
86 | #define OMAP54XX_CM_CLKSEL_ABE_PLL_REF_OFFSET 0x000c | ||
87 | #define OMAP54XX_CM_CLKSEL_ABE_PLL_REF OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x000c) | ||
88 | #define OMAP54XX_CM_CLKSEL_SYS_OFFSET 0x0010 | ||
89 | #define OMAP54XX_CM_CLKSEL_SYS OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x0010) | ||
90 | |||
91 | /* PRM.MPU_PRM register offsets */ | ||
92 | #define OMAP54XX_PM_MPU_PWRSTCTRL_OFFSET 0x0000 | ||
93 | #define OMAP54XX_PM_MPU_PWRSTST_OFFSET 0x0004 | ||
94 | #define OMAP54XX_RM_MPU_MPU_CONTEXT_OFFSET 0x0024 | ||
95 | |||
96 | /* PRM.DSP_PRM register offsets */ | ||
97 | #define OMAP54XX_PM_DSP_PWRSTCTRL_OFFSET 0x0000 | ||
98 | #define OMAP54XX_PM_DSP_PWRSTST_OFFSET 0x0004 | ||
99 | #define OMAP54XX_RM_DSP_RSTCTRL_OFFSET 0x0010 | ||
100 | #define OMAP54XX_RM_DSP_RSTST_OFFSET 0x0014 | ||
101 | #define OMAP54XX_RM_DSP_DSP_CONTEXT_OFFSET 0x0024 | ||
102 | |||
103 | /* PRM.ABE_PRM register offsets */ | ||
104 | #define OMAP54XX_PM_ABE_PWRSTCTRL_OFFSET 0x0000 | ||
105 | #define OMAP54XX_PM_ABE_PWRSTST_OFFSET 0x0004 | ||
106 | #define OMAP54XX_RM_ABE_AESS_CONTEXT_OFFSET 0x002c | ||
107 | #define OMAP54XX_PM_ABE_MCPDM_WKDEP_OFFSET 0x0030 | ||
108 | #define OMAP54XX_RM_ABE_MCPDM_CONTEXT_OFFSET 0x0034 | ||
109 | #define OMAP54XX_PM_ABE_DMIC_WKDEP_OFFSET 0x0038 | ||
110 | #define OMAP54XX_RM_ABE_DMIC_CONTEXT_OFFSET 0x003c | ||
111 | #define OMAP54XX_PM_ABE_MCASP_WKDEP_OFFSET 0x0040 | ||
112 | #define OMAP54XX_RM_ABE_MCASP_CONTEXT_OFFSET 0x0044 | ||
113 | #define OMAP54XX_PM_ABE_MCBSP1_WKDEP_OFFSET 0x0048 | ||
114 | #define OMAP54XX_RM_ABE_MCBSP1_CONTEXT_OFFSET 0x004c | ||
115 | #define OMAP54XX_PM_ABE_MCBSP2_WKDEP_OFFSET 0x0050 | ||
116 | #define OMAP54XX_RM_ABE_MCBSP2_CONTEXT_OFFSET 0x0054 | ||
117 | #define OMAP54XX_PM_ABE_MCBSP3_WKDEP_OFFSET 0x0058 | ||
118 | #define OMAP54XX_RM_ABE_MCBSP3_CONTEXT_OFFSET 0x005c | ||
119 | #define OMAP54XX_PM_ABE_SLIMBUS1_WKDEP_OFFSET 0x0060 | ||
120 | #define OMAP54XX_RM_ABE_SLIMBUS1_CONTEXT_OFFSET 0x0064 | ||
121 | #define OMAP54XX_PM_ABE_TIMER5_WKDEP_OFFSET 0x0068 | ||
122 | #define OMAP54XX_RM_ABE_TIMER5_CONTEXT_OFFSET 0x006c | ||
123 | #define OMAP54XX_PM_ABE_TIMER6_WKDEP_OFFSET 0x0070 | ||
124 | #define OMAP54XX_RM_ABE_TIMER6_CONTEXT_OFFSET 0x0074 | ||
125 | #define OMAP54XX_PM_ABE_TIMER7_WKDEP_OFFSET 0x0078 | ||
126 | #define OMAP54XX_RM_ABE_TIMER7_CONTEXT_OFFSET 0x007c | ||
127 | #define OMAP54XX_PM_ABE_TIMER8_WKDEP_OFFSET 0x0080 | ||
128 | #define OMAP54XX_RM_ABE_TIMER8_CONTEXT_OFFSET 0x0084 | ||
129 | #define OMAP54XX_PM_ABE_WD_TIMER3_WKDEP_OFFSET 0x0088 | ||
130 | #define OMAP54XX_RM_ABE_WD_TIMER3_CONTEXT_OFFSET 0x008c | ||
131 | |||
132 | /* PRM.COREAON_PRM register offsets */ | ||
133 | #define OMAP54XX_PM_COREAON_SMARTREFLEX_MPU_WKDEP_OFFSET 0x0028 | ||
134 | #define OMAP54XX_RM_COREAON_SMARTREFLEX_MPU_CONTEXT_OFFSET 0x002c | ||
135 | #define OMAP54XX_PM_COREAON_SMARTREFLEX_MM_WKDEP_OFFSET 0x0030 | ||
136 | #define OMAP54XX_RM_COREAON_SMARTREFLEX_MM_CONTEXT_OFFSET 0x0034 | ||
137 | #define OMAP54XX_PM_COREAON_SMARTREFLEX_CORE_WKDEP_OFFSET 0x0038 | ||
138 | #define OMAP54XX_RM_COREAON_SMARTREFLEX_CORE_CONTEXT_OFFSET 0x003c | ||
139 | |||
140 | /* PRM.CORE_PRM register offsets */ | ||
141 | #define OMAP54XX_PM_CORE_PWRSTCTRL_OFFSET 0x0000 | ||
142 | #define OMAP54XX_PM_CORE_PWRSTST_OFFSET 0x0004 | ||
143 | #define OMAP54XX_RM_L3MAIN1_L3_MAIN_1_CONTEXT_OFFSET 0x0024 | ||
144 | #define OMAP54XX_RM_L3MAIN2_L3_MAIN_2_CONTEXT_OFFSET 0x0124 | ||
145 | #define OMAP54XX_RM_L3MAIN2_GPMC_CONTEXT_OFFSET 0x012c | ||
146 | #define OMAP54XX_RM_L3MAIN2_OCMC_RAM_CONTEXT_OFFSET 0x0134 | ||
147 | #define OMAP54XX_RM_IPU_RSTCTRL_OFFSET 0x0210 | ||
148 | #define OMAP54XX_RM_IPU_RSTST_OFFSET 0x0214 | ||
149 | #define OMAP54XX_RM_IPU_IPU_CONTEXT_OFFSET 0x0224 | ||
150 | #define OMAP54XX_RM_DMA_DMA_SYSTEM_CONTEXT_OFFSET 0x0324 | ||
151 | #define OMAP54XX_RM_EMIF_DMM_CONTEXT_OFFSET 0x0424 | ||
152 | #define OMAP54XX_RM_EMIF_EMIF_OCP_FW_CONTEXT_OFFSET 0x042c | ||
153 | #define OMAP54XX_RM_EMIF_EMIF1_CONTEXT_OFFSET 0x0434 | ||
154 | #define OMAP54XX_RM_EMIF_EMIF2_CONTEXT_OFFSET 0x043c | ||
155 | #define OMAP54XX_RM_EMIF_EMIF_DLL_CONTEXT_OFFSET 0x0444 | ||
156 | #define OMAP54XX_RM_C2C_C2C_CONTEXT_OFFSET 0x0524 | ||
157 | #define OMAP54XX_RM_C2C_MODEM_ICR_CONTEXT_OFFSET 0x052c | ||
158 | #define OMAP54XX_RM_C2C_C2C_OCP_FW_CONTEXT_OFFSET 0x0534 | ||
159 | #define OMAP54XX_RM_L4CFG_L4_CFG_CONTEXT_OFFSET 0x0624 | ||
160 | #define OMAP54XX_RM_L4CFG_SPINLOCK_CONTEXT_OFFSET 0x062c | ||
161 | #define OMAP54XX_RM_L4CFG_MAILBOX_CONTEXT_OFFSET 0x0634 | ||
162 | #define OMAP54XX_RM_L4CFG_SAR_ROM_CONTEXT_OFFSET 0x063c | ||
163 | #define OMAP54XX_RM_L4CFG_OCP2SCP2_CONTEXT_OFFSET 0x0644 | ||
164 | #define OMAP54XX_RM_L3INSTR_L3_MAIN_3_CONTEXT_OFFSET 0x0724 | ||
165 | #define OMAP54XX_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET 0x072c | ||
166 | #define OMAP54XX_RM_L3INSTR_OCP_WP_NOC_CONTEXT_OFFSET 0x0744 | ||
167 | #define OMAP54XX_RM_MIPIEXT_LLI_CONTEXT_OFFSET 0x0824 | ||
168 | #define OMAP54XX_RM_MIPIEXT_LLI_OCP_FW_CONTEXT_OFFSET 0x082c | ||
169 | #define OMAP54XX_RM_MIPIEXT_MPHY_CONTEXT_OFFSET 0x0834 | ||
170 | #define OMAP54XX_PM_L4PER_TIMER10_WKDEP_OFFSET 0x0928 | ||
171 | #define OMAP54XX_RM_L4PER_TIMER10_CONTEXT_OFFSET 0x092c | ||
172 | #define OMAP54XX_PM_L4PER_TIMER11_WKDEP_OFFSET 0x0930 | ||
173 | #define OMAP54XX_RM_L4PER_TIMER11_CONTEXT_OFFSET 0x0934 | ||
174 | #define OMAP54XX_PM_L4PER_TIMER2_WKDEP_OFFSET 0x0938 | ||
175 | #define OMAP54XX_RM_L4PER_TIMER2_CONTEXT_OFFSET 0x093c | ||
176 | #define OMAP54XX_PM_L4PER_TIMER3_WKDEP_OFFSET 0x0940 | ||
177 | #define OMAP54XX_RM_L4PER_TIMER3_CONTEXT_OFFSET 0x0944 | ||
178 | #define OMAP54XX_PM_L4PER_TIMER4_WKDEP_OFFSET 0x0948 | ||
179 | #define OMAP54XX_RM_L4PER_TIMER4_CONTEXT_OFFSET 0x094c | ||
180 | #define OMAP54XX_PM_L4PER_TIMER9_WKDEP_OFFSET 0x0950 | ||
181 | #define OMAP54XX_RM_L4PER_TIMER9_CONTEXT_OFFSET 0x0954 | ||
182 | #define OMAP54XX_RM_L4PER_ELM_CONTEXT_OFFSET 0x095c | ||
183 | #define OMAP54XX_PM_L4PER_GPIO2_WKDEP_OFFSET 0x0960 | ||
184 | #define OMAP54XX_RM_L4PER_GPIO2_CONTEXT_OFFSET 0x0964 | ||
185 | #define OMAP54XX_PM_L4PER_GPIO3_WKDEP_OFFSET 0x0968 | ||
186 | #define OMAP54XX_RM_L4PER_GPIO3_CONTEXT_OFFSET 0x096c | ||
187 | #define OMAP54XX_PM_L4PER_GPIO4_WKDEP_OFFSET 0x0970 | ||
188 | #define OMAP54XX_RM_L4PER_GPIO4_CONTEXT_OFFSET 0x0974 | ||
189 | #define OMAP54XX_PM_L4PER_GPIO5_WKDEP_OFFSET 0x0978 | ||
190 | #define OMAP54XX_RM_L4PER_GPIO5_CONTEXT_OFFSET 0x097c | ||
191 | #define OMAP54XX_PM_L4PER_GPIO6_WKDEP_OFFSET 0x0980 | ||
192 | #define OMAP54XX_RM_L4PER_GPIO6_CONTEXT_OFFSET 0x0984 | ||
193 | #define OMAP54XX_RM_L4PER_HDQ1W_CONTEXT_OFFSET 0x098c | ||
194 | #define OMAP54XX_PM_L4PER_I2C1_WKDEP_OFFSET 0x09a0 | ||
195 | #define OMAP54XX_RM_L4PER_I2C1_CONTEXT_OFFSET 0x09a4 | ||
196 | #define OMAP54XX_PM_L4PER_I2C2_WKDEP_OFFSET 0x09a8 | ||
197 | #define OMAP54XX_RM_L4PER_I2C2_CONTEXT_OFFSET 0x09ac | ||
198 | #define OMAP54XX_PM_L4PER_I2C3_WKDEP_OFFSET 0x09b0 | ||
199 | #define OMAP54XX_RM_L4PER_I2C3_CONTEXT_OFFSET 0x09b4 | ||
200 | #define OMAP54XX_PM_L4PER_I2C4_WKDEP_OFFSET 0x09b8 | ||
201 | #define OMAP54XX_RM_L4PER_I2C4_CONTEXT_OFFSET 0x09bc | ||
202 | #define OMAP54XX_RM_L4PER_L4_PER_CONTEXT_OFFSET 0x09c0 | ||
203 | #define OMAP54XX_PM_L4PER_MCSPI1_WKDEP_OFFSET 0x09f0 | ||
204 | #define OMAP54XX_RM_L4PER_MCSPI1_CONTEXT_OFFSET 0x09f4 | ||
205 | #define OMAP54XX_PM_L4PER_MCSPI2_WKDEP_OFFSET 0x09f8 | ||
206 | #define OMAP54XX_RM_L4PER_MCSPI2_CONTEXT_OFFSET 0x09fc | ||
207 | #define OMAP54XX_PM_L4PER_MCSPI3_WKDEP_OFFSET 0x0a00 | ||
208 | #define OMAP54XX_RM_L4PER_MCSPI3_CONTEXT_OFFSET 0x0a04 | ||
209 | #define OMAP54XX_PM_L4PER_MCSPI4_WKDEP_OFFSET 0x0a08 | ||
210 | #define OMAP54XX_RM_L4PER_MCSPI4_CONTEXT_OFFSET 0x0a0c | ||
211 | #define OMAP54XX_PM_L4PER_GPIO7_WKDEP_OFFSET 0x0a10 | ||
212 | #define OMAP54XX_RM_L4PER_GPIO7_CONTEXT_OFFSET 0x0a14 | ||
213 | #define OMAP54XX_PM_L4PER_GPIO8_WKDEP_OFFSET 0x0a18 | ||
214 | #define OMAP54XX_RM_L4PER_GPIO8_CONTEXT_OFFSET 0x0a1c | ||
215 | #define OMAP54XX_PM_L4PER_MMC3_WKDEP_OFFSET 0x0a20 | ||
216 | #define OMAP54XX_RM_L4PER_MMC3_CONTEXT_OFFSET 0x0a24 | ||
217 | #define OMAP54XX_PM_L4PER_MMC4_WKDEP_OFFSET 0x0a28 | ||
218 | #define OMAP54XX_RM_L4PER_MMC4_CONTEXT_OFFSET 0x0a2c | ||
219 | #define OMAP54XX_PM_L4PER_UART1_WKDEP_OFFSET 0x0a40 | ||
220 | #define OMAP54XX_RM_L4PER_UART1_CONTEXT_OFFSET 0x0a44 | ||
221 | #define OMAP54XX_PM_L4PER_UART2_WKDEP_OFFSET 0x0a48 | ||
222 | #define OMAP54XX_RM_L4PER_UART2_CONTEXT_OFFSET 0x0a4c | ||
223 | #define OMAP54XX_PM_L4PER_UART3_WKDEP_OFFSET 0x0a50 | ||
224 | #define OMAP54XX_RM_L4PER_UART3_CONTEXT_OFFSET 0x0a54 | ||
225 | #define OMAP54XX_RM_L4PER_UART4_CONTEXT_OFFSET 0x0a58 | ||
226 | #define OMAP54XX_PM_L4PER_UART4_WKDEP_OFFSET 0x0a5c | ||
227 | #define OMAP54XX_PM_L4PER_MMC5_WKDEP_OFFSET 0x0a60 | ||
228 | #define OMAP54XX_RM_L4PER_MMC5_CONTEXT_OFFSET 0x0a64 | ||
229 | #define OMAP54XX_PM_L4PER_I2C5_WKDEP_OFFSET 0x0a68 | ||
230 | #define OMAP54XX_RM_L4PER_I2C5_CONTEXT_OFFSET 0x0a6c | ||
231 | #define OMAP54XX_PM_L4PER_UART5_WKDEP_OFFSET 0x0a70 | ||
232 | #define OMAP54XX_RM_L4PER_UART5_CONTEXT_OFFSET 0x0a74 | ||
233 | #define OMAP54XX_PM_L4PER_UART6_WKDEP_OFFSET 0x0a78 | ||
234 | #define OMAP54XX_RM_L4PER_UART6_CONTEXT_OFFSET 0x0a7c | ||
235 | #define OMAP54XX_RM_L4SEC_AES1_CONTEXT_OFFSET 0x0aa4 | ||
236 | #define OMAP54XX_RM_L4SEC_AES2_CONTEXT_OFFSET 0x0aac | ||
237 | #define OMAP54XX_RM_L4SEC_DES3DES_CONTEXT_OFFSET 0x0ab4 | ||
238 | #define OMAP54XX_RM_L4SEC_FPKA_CONTEXT_OFFSET 0x0abc | ||
239 | #define OMAP54XX_RM_L4SEC_RNG_CONTEXT_OFFSET 0x0ac4 | ||
240 | #define OMAP54XX_RM_L4SEC_SHA2MD5_CONTEXT_OFFSET 0x0acc | ||
241 | #define OMAP54XX_RM_L4SEC_DMA_CRYPTO_CONTEXT_OFFSET 0x0adc | ||
242 | |||
243 | /* PRM.IVA_PRM register offsets */ | ||
244 | #define OMAP54XX_PM_IVA_PWRSTCTRL_OFFSET 0x0000 | ||
245 | #define OMAP54XX_PM_IVA_PWRSTST_OFFSET 0x0004 | ||
246 | #define OMAP54XX_RM_IVA_RSTCTRL_OFFSET 0x0010 | ||
247 | #define OMAP54XX_RM_IVA_RSTST_OFFSET 0x0014 | ||
248 | #define OMAP54XX_RM_IVA_IVA_CONTEXT_OFFSET 0x0024 | ||
249 | #define OMAP54XX_RM_IVA_SL2_CONTEXT_OFFSET 0x002c | ||
250 | |||
251 | /* PRM.CAM_PRM register offsets */ | ||
252 | #define OMAP54XX_PM_CAM_PWRSTCTRL_OFFSET 0x0000 | ||
253 | #define OMAP54XX_PM_CAM_PWRSTST_OFFSET 0x0004 | ||
254 | #define OMAP54XX_RM_CAM_ISS_CONTEXT_OFFSET 0x0024 | ||
255 | #define OMAP54XX_RM_CAM_FDIF_CONTEXT_OFFSET 0x002c | ||
256 | #define OMAP54XX_RM_CAM_CAL_CONTEXT_OFFSET 0x0034 | ||
257 | |||
258 | /* PRM.DSS_PRM register offsets */ | ||
259 | #define OMAP54XX_PM_DSS_PWRSTCTRL_OFFSET 0x0000 | ||
260 | #define OMAP54XX_PM_DSS_PWRSTST_OFFSET 0x0004 | ||
261 | #define OMAP54XX_PM_DSS_DSS_WKDEP_OFFSET 0x0020 | ||
262 | #define OMAP54XX_RM_DSS_DSS_CONTEXT_OFFSET 0x0024 | ||
263 | #define OMAP54XX_RM_DSS_BB2D_CONTEXT_OFFSET 0x0034 | ||
264 | |||
265 | /* PRM.GPU_PRM register offsets */ | ||
266 | #define OMAP54XX_PM_GPU_PWRSTCTRL_OFFSET 0x0000 | ||
267 | #define OMAP54XX_PM_GPU_PWRSTST_OFFSET 0x0004 | ||
268 | #define OMAP54XX_RM_GPU_GPU_CONTEXT_OFFSET 0x0024 | ||
269 | |||
270 | /* PRM.L3INIT_PRM register offsets */ | ||
271 | #define OMAP54XX_PM_L3INIT_PWRSTCTRL_OFFSET 0x0000 | ||
272 | #define OMAP54XX_PM_L3INIT_PWRSTST_OFFSET 0x0004 | ||
273 | #define OMAP54XX_PM_L3INIT_MMC1_WKDEP_OFFSET 0x0028 | ||
274 | #define OMAP54XX_RM_L3INIT_MMC1_CONTEXT_OFFSET 0x002c | ||
275 | #define OMAP54XX_PM_L3INIT_MMC2_WKDEP_OFFSET 0x0030 | ||
276 | #define OMAP54XX_RM_L3INIT_MMC2_CONTEXT_OFFSET 0x0034 | ||
277 | #define OMAP54XX_PM_L3INIT_HSI_WKDEP_OFFSET 0x0038 | ||
278 | #define OMAP54XX_RM_L3INIT_HSI_CONTEXT_OFFSET 0x003c | ||
279 | #define OMAP54XX_PM_L3INIT_UNIPRO2_WKDEP_OFFSET 0x0040 | ||
280 | #define OMAP54XX_RM_L3INIT_UNIPRO2_CONTEXT_OFFSET 0x0044 | ||
281 | #define OMAP54XX_PM_L3INIT_USB_HOST_HS_WKDEP_OFFSET 0x0058 | ||
282 | #define OMAP54XX_RM_L3INIT_USB_HOST_HS_CONTEXT_OFFSET 0x005c | ||
283 | #define OMAP54XX_PM_L3INIT_USB_TLL_HS_WKDEP_OFFSET 0x0068 | ||
284 | #define OMAP54XX_RM_L3INIT_USB_TLL_HS_CONTEXT_OFFSET 0x006c | ||
285 | #define OMAP54XX_RM_L3INIT_IEEE1500_2_OCP_CONTEXT_OFFSET 0x007c | ||
286 | #define OMAP54XX_PM_L3INIT_SATA_WKDEP_OFFSET 0x0088 | ||
287 | #define OMAP54XX_RM_L3INIT_SATA_CONTEXT_OFFSET 0x008c | ||
288 | #define OMAP54XX_RM_L3INIT_OCP2SCP1_CONTEXT_OFFSET 0x00e4 | ||
289 | #define OMAP54XX_RM_L3INIT_OCP2SCP3_CONTEXT_OFFSET 0x00ec | ||
290 | #define OMAP54XX_PM_L3INIT_USB_OTG_SS_WKDEP_OFFSET 0x00f0 | ||
291 | #define OMAP54XX_RM_L3INIT_USB_OTG_SS_CONTEXT_OFFSET 0x00f4 | ||
292 | |||
293 | /* PRM.CUSTEFUSE_PRM register offsets */ | ||
294 | #define OMAP54XX_PM_CUSTEFUSE_PWRSTCTRL_OFFSET 0x0000 | ||
295 | #define OMAP54XX_PM_CUSTEFUSE_PWRSTST_OFFSET 0x0004 | ||
296 | #define OMAP54XX_RM_CUSTEFUSE_EFUSE_CTRL_CUST_CONTEXT_OFFSET 0x0024 | ||
297 | |||
298 | /* PRM.WKUPAON_PRM register offsets */ | ||
299 | #define OMAP54XX_RM_WKUPAON_L4_WKUP_CONTEXT_OFFSET 0x0024 | ||
300 | #define OMAP54XX_RM_WKUPAON_WD_TIMER1_CONTEXT_OFFSET 0x002c | ||
301 | #define OMAP54XX_PM_WKUPAON_WD_TIMER2_WKDEP_OFFSET 0x0030 | ||
302 | #define OMAP54XX_RM_WKUPAON_WD_TIMER2_CONTEXT_OFFSET 0x0034 | ||
303 | #define OMAP54XX_PM_WKUPAON_GPIO1_WKDEP_OFFSET 0x0038 | ||
304 | #define OMAP54XX_RM_WKUPAON_GPIO1_CONTEXT_OFFSET 0x003c | ||
305 | #define OMAP54XX_PM_WKUPAON_TIMER1_WKDEP_OFFSET 0x0040 | ||
306 | #define OMAP54XX_RM_WKUPAON_TIMER1_CONTEXT_OFFSET 0x0044 | ||
307 | #define OMAP54XX_PM_WKUPAON_TIMER12_WKDEP_OFFSET 0x0048 | ||
308 | #define OMAP54XX_RM_WKUPAON_TIMER12_CONTEXT_OFFSET 0x004c | ||
309 | #define OMAP54XX_RM_WKUPAON_COUNTER_32K_CONTEXT_OFFSET 0x0054 | ||
310 | #define OMAP54XX_RM_WKUPAON_SAR_RAM_CONTEXT_OFFSET 0x0064 | ||
311 | #define OMAP54XX_PM_WKUPAON_KBD_WKDEP_OFFSET 0x0078 | ||
312 | #define OMAP54XX_RM_WKUPAON_KBD_CONTEXT_OFFSET 0x007c | ||
313 | |||
314 | /* PRM.WKUPAON_CM register offsets */ | ||
315 | #define OMAP54XX_CM_WKUPAON_CLKSTCTRL_OFFSET 0x0000 | ||
316 | #define OMAP54XX_CM_WKUPAON_L4_WKUP_CLKCTRL_OFFSET 0x0020 | ||
317 | #define OMAP54XX_CM_WKUPAON_L4_WKUP_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0020) | ||
318 | #define OMAP54XX_CM_WKUPAON_WD_TIMER1_CLKCTRL_OFFSET 0x0028 | ||
319 | #define OMAP54XX_CM_WKUPAON_WD_TIMER1_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0028) | ||
320 | #define OMAP54XX_CM_WKUPAON_WD_TIMER2_CLKCTRL_OFFSET 0x0030 | ||
321 | #define OMAP54XX_CM_WKUPAON_WD_TIMER2_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0030) | ||
322 | #define OMAP54XX_CM_WKUPAON_GPIO1_CLKCTRL_OFFSET 0x0038 | ||
323 | #define OMAP54XX_CM_WKUPAON_GPIO1_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0038) | ||
324 | #define OMAP54XX_CM_WKUPAON_TIMER1_CLKCTRL_OFFSET 0x0040 | ||
325 | #define OMAP54XX_CM_WKUPAON_TIMER1_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0040) | ||
326 | #define OMAP54XX_CM_WKUPAON_TIMER12_CLKCTRL_OFFSET 0x0048 | ||
327 | #define OMAP54XX_CM_WKUPAON_TIMER12_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0048) | ||
328 | #define OMAP54XX_CM_WKUPAON_COUNTER_32K_CLKCTRL_OFFSET 0x0050 | ||
329 | #define OMAP54XX_CM_WKUPAON_COUNTER_32K_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0050) | ||
330 | #define OMAP54XX_CM_WKUPAON_SAR_RAM_CLKCTRL_OFFSET 0x0060 | ||
331 | #define OMAP54XX_CM_WKUPAON_SAR_RAM_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0060) | ||
332 | #define OMAP54XX_CM_WKUPAON_KBD_CLKCTRL_OFFSET 0x0078 | ||
333 | #define OMAP54XX_CM_WKUPAON_KBD_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0078) | ||
334 | #define OMAP54XX_CM_WKUPAON_SCRM_CLKCTRL_OFFSET 0x0090 | ||
335 | #define OMAP54XX_CM_WKUPAON_SCRM_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0090) | ||
336 | #define OMAP54XX_CM_WKUPAON_IO_SRCOMP_CLKCTRL_OFFSET 0x0098 | ||
337 | #define OMAP54XX_CM_WKUPAON_IO_SRCOMP_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0098) | ||
338 | |||
339 | /* PRM.EMU_PRM register offsets */ | ||
340 | #define OMAP54XX_PM_EMU_PWRSTCTRL_OFFSET 0x0000 | ||
341 | #define OMAP54XX_PM_EMU_PWRSTST_OFFSET 0x0004 | ||
342 | #define OMAP54XX_RM_EMU_DEBUGSS_CONTEXT_OFFSET 0x0024 | ||
343 | |||
344 | /* PRM.EMU_CM register offsets */ | ||
345 | #define OMAP54XX_CM_EMU_CLKSTCTRL_OFFSET 0x0000 | ||
346 | #define OMAP54XX_CM_EMU_DYNAMICDEP_OFFSET 0x0008 | ||
347 | #define OMAP54XX_CM_EMU_DEBUGSS_CLKCTRL_OFFSET 0x0020 | ||
348 | #define OMAP54XX_CM_EMU_DEBUGSS_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_EMU_CM_INST, 0x0020) | ||
349 | #define OMAP54XX_CM_EMU_MPU_EMU_DBG_CLKCTRL_OFFSET 0x0028 | ||
350 | #define OMAP54XX_CM_EMU_MPU_EMU_DBG_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_EMU_CM_INST, 0x0028) | ||
351 | |||
352 | /* PRM.DEVICE_PRM register offsets */ | ||
353 | #define OMAP54XX_PRM_RSTCTRL_OFFSET 0x0000 | ||
354 | #define OMAP54XX_PRM_RSTST_OFFSET 0x0004 | ||
355 | #define OMAP54XX_PRM_RSTTIME_OFFSET 0x0008 | ||
356 | #define OMAP54XX_PRM_CLKREQCTRL_OFFSET 0x000c | ||
357 | #define OMAP54XX_PRM_VOLTCTRL_OFFSET 0x0010 | ||
358 | #define OMAP54XX_PRM_PWRREQCTRL_OFFSET 0x0014 | ||
359 | #define OMAP54XX_PRM_PSCON_COUNT_OFFSET 0x0018 | ||
360 | #define OMAP54XX_PRM_IO_COUNT_OFFSET 0x001c | ||
361 | #define OMAP54XX_PRM_IO_PMCTRL_OFFSET 0x0020 | ||
362 | #define OMAP54XX_PRM_VOLTSETUP_WARMRESET_OFFSET 0x0024 | ||
363 | #define OMAP54XX_PRM_VOLTSETUP_CORE_OFF_OFFSET 0x0028 | ||
364 | #define OMAP54XX_PRM_VOLTSETUP_MPU_OFF_OFFSET 0x002c | ||
365 | #define OMAP54XX_PRM_VOLTSETUP_MM_OFF_OFFSET 0x0030 | ||
366 | #define OMAP54XX_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET 0x0034 | ||
367 | #define OMAP54XX_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET 0x0038 | ||
368 | #define OMAP54XX_PRM_VOLTSETUP_MM_RET_SLEEP_OFFSET 0x003c | ||
369 | #define OMAP54XX_PRM_VP_CORE_CONFIG_OFFSET 0x0040 | ||
370 | #define OMAP54XX_PRM_VP_CORE_STATUS_OFFSET 0x0044 | ||
371 | #define OMAP54XX_PRM_VP_CORE_VLIMITTO_OFFSET 0x0048 | ||
372 | #define OMAP54XX_PRM_VP_CORE_VOLTAGE_OFFSET 0x004c | ||
373 | #define OMAP54XX_PRM_VP_CORE_VSTEPMAX_OFFSET 0x0050 | ||
374 | #define OMAP54XX_PRM_VP_CORE_VSTEPMIN_OFFSET 0x0054 | ||
375 | #define OMAP54XX_PRM_VP_MPU_CONFIG_OFFSET 0x0058 | ||
376 | #define OMAP54XX_PRM_VP_MPU_STATUS_OFFSET 0x005c | ||
377 | #define OMAP54XX_PRM_VP_MPU_VLIMITTO_OFFSET 0x0060 | ||
378 | #define OMAP54XX_PRM_VP_MPU_VOLTAGE_OFFSET 0x0064 | ||
379 | #define OMAP54XX_PRM_VP_MPU_VSTEPMAX_OFFSET 0x0068 | ||
380 | #define OMAP54XX_PRM_VP_MPU_VSTEPMIN_OFFSET 0x006c | ||
381 | #define OMAP54XX_PRM_VP_MM_CONFIG_OFFSET 0x0070 | ||
382 | #define OMAP54XX_PRM_VP_MM_STATUS_OFFSET 0x0074 | ||
383 | #define OMAP54XX_PRM_VP_MM_VLIMITTO_OFFSET 0x0078 | ||
384 | #define OMAP54XX_PRM_VP_MM_VOLTAGE_OFFSET 0x007c | ||
385 | #define OMAP54XX_PRM_VP_MM_VSTEPMAX_OFFSET 0x0080 | ||
386 | #define OMAP54XX_PRM_VP_MM_VSTEPMIN_OFFSET 0x0084 | ||
387 | #define OMAP54XX_PRM_VC_SMPS_CORE_CONFIG_OFFSET 0x0088 | ||
388 | #define OMAP54XX_PRM_VC_SMPS_MM_CONFIG_OFFSET 0x008c | ||
389 | #define OMAP54XX_PRM_VC_SMPS_MPU_CONFIG_OFFSET 0x0090 | ||
390 | #define OMAP54XX_PRM_VC_VAL_CMD_VDD_CORE_L_OFFSET 0x0094 | ||
391 | #define OMAP54XX_PRM_VC_VAL_CMD_VDD_MM_L_OFFSET 0x0098 | ||
392 | #define OMAP54XX_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET 0x009c | ||
393 | #define OMAP54XX_PRM_VC_VAL_BYPASS_OFFSET 0x00a0 | ||
394 | #define OMAP54XX_PRM_VC_CORE_ERRST_OFFSET 0x00a4 | ||
395 | #define OMAP54XX_PRM_VC_MM_ERRST_OFFSET 0x00a8 | ||
396 | #define OMAP54XX_PRM_VC_MPU_ERRST_OFFSET 0x00ac | ||
397 | #define OMAP54XX_PRM_VC_BYPASS_ERRST_OFFSET 0x00b0 | ||
398 | #define OMAP54XX_PRM_VC_CFG_I2C_MODE_OFFSET 0x00b4 | ||
399 | #define OMAP54XX_PRM_VC_CFG_I2C_CLK_OFFSET 0x00b8 | ||
400 | #define OMAP54XX_PRM_SRAM_COUNT_OFFSET 0x00bc | ||
401 | #define OMAP54XX_PRM_SRAM_WKUP_SETUP_OFFSET 0x00c0 | ||
402 | #define OMAP54XX_PRM_SLDO_CORE_SETUP_OFFSET 0x00c4 | ||
403 | #define OMAP54XX_PRM_SLDO_CORE_CTRL_OFFSET 0x00c8 | ||
404 | #define OMAP54XX_PRM_SLDO_MPU_SETUP_OFFSET 0x00cc | ||
405 | #define OMAP54XX_PRM_SLDO_MPU_CTRL_OFFSET 0x00d0 | ||
406 | #define OMAP54XX_PRM_SLDO_MM_SETUP_OFFSET 0x00d4 | ||
407 | #define OMAP54XX_PRM_SLDO_MM_CTRL_OFFSET 0x00d8 | ||
408 | #define OMAP54XX_PRM_ABBLDO_MPU_SETUP_OFFSET 0x00dc | ||
409 | #define OMAP54XX_PRM_ABBLDO_MPU_CTRL_OFFSET 0x00e0 | ||
410 | #define OMAP54XX_PRM_ABBLDO_MM_SETUP_OFFSET 0x00e4 | ||
411 | #define OMAP54XX_PRM_ABBLDO_MM_CTRL_OFFSET 0x00e8 | ||
412 | #define OMAP54XX_PRM_BANDGAP_SETUP_OFFSET 0x00ec | ||
413 | #define OMAP54XX_PRM_DEVICE_OFF_CTRL_OFFSET 0x00f0 | ||
414 | #define OMAP54XX_PRM_PHASE1_CNDP_OFFSET 0x00f4 | ||
415 | #define OMAP54XX_PRM_PHASE2A_CNDP_OFFSET 0x00f8 | ||
416 | #define OMAP54XX_PRM_PHASE2B_CNDP_OFFSET 0x00fc | ||
417 | #define OMAP54XX_PRM_MODEM_IF_CTRL_OFFSET 0x0100 | ||
418 | #define OMAP54XX_PRM_VOLTST_MPU_OFFSET 0x0110 | ||
419 | #define OMAP54XX_PRM_VOLTST_MM_OFFSET 0x0114 | ||
420 | |||
421 | #endif | ||
diff --git a/arch/arm/mach-omap2/scrm54xx.h b/arch/arm/mach-omap2/scrm54xx.h new file mode 100644 index 000000000000..57e86c8f8239 --- /dev/null +++ b/arch/arm/mach-omap2/scrm54xx.h | |||
@@ -0,0 +1,231 @@ | |||
1 | /* | ||
2 | * OMAP54XX SCRM registers and bitfields | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
5 | * | ||
6 | * Benoit Cousson (b-cousson@ti.com) | ||
7 | * | ||
8 | * This file is automatically generated from the OMAP hardware databases. | ||
9 | * We respectfully ask that any modifications to this file be coordinated | ||
10 | * with the public linux-omap@vger.kernel.org mailing list and the | ||
11 | * authors above to ensure that the autogeneration scripts are kept | ||
12 | * up-to-date with the file contents. | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ARCH_ARM_MACH_OMAP2_SCRM_54XX_H | ||
20 | #define __ARCH_ARM_MACH_OMAP2_SCRM_54XX_H | ||
21 | |||
22 | #define OMAP5_SCRM_BASE 0x4ae0a000 | ||
23 | |||
24 | #define OMAP54XX_SCRM_REGADDR(reg) \ | ||
25 | OMAP2_L4_IO_ADDRESS(OMAP5_SCRM_BASE + (reg)) | ||
26 | |||
27 | /* SCRM */ | ||
28 | |||
29 | /* SCRM.SCRM register offsets */ | ||
30 | #define OMAP5_SCRM_REVISION_SCRM_OFFSET 0x0000 | ||
31 | #define OMAP5_SCRM_REVISION_SCRM OMAP54XX_SCRM_REGADDR(0x0000) | ||
32 | #define OMAP5_SCRM_CLKSETUPTIME_OFFSET 0x0100 | ||
33 | #define OMAP5_SCRM_CLKSETUPTIME OMAP54XX_SCRM_REGADDR(0x0100) | ||
34 | #define OMAP5_SCRM_PMICSETUPTIME_OFFSET 0x0104 | ||
35 | #define OMAP5_SCRM_PMICSETUPTIME OMAP54XX_SCRM_REGADDR(0x0104) | ||
36 | #define OMAP5_SCRM_ALTCLKSRC_OFFSET 0x0110 | ||
37 | #define OMAP5_SCRM_ALTCLKSRC OMAP54XX_SCRM_REGADDR(0x0110) | ||
38 | #define OMAP5_SCRM_MODEMCLKM_OFFSET 0x0118 | ||
39 | #define OMAP5_SCRM_MODEMCLKM OMAP54XX_SCRM_REGADDR(0x0118) | ||
40 | #define OMAP5_SCRM_D2DCLKM_OFFSET 0x011c | ||
41 | #define OMAP5_SCRM_D2DCLKM OMAP54XX_SCRM_REGADDR(0x011c) | ||
42 | #define OMAP5_SCRM_EXTCLKREQ_OFFSET 0x0200 | ||
43 | #define OMAP5_SCRM_EXTCLKREQ OMAP54XX_SCRM_REGADDR(0x0200) | ||
44 | #define OMAP5_SCRM_ACCCLKREQ_OFFSET 0x0204 | ||
45 | #define OMAP5_SCRM_ACCCLKREQ OMAP54XX_SCRM_REGADDR(0x0204) | ||
46 | #define OMAP5_SCRM_PWRREQ_OFFSET 0x0208 | ||
47 | #define OMAP5_SCRM_PWRREQ OMAP54XX_SCRM_REGADDR(0x0208) | ||
48 | #define OMAP5_SCRM_AUXCLKREQ0_OFFSET 0x0210 | ||
49 | #define OMAP5_SCRM_AUXCLKREQ0 OMAP54XX_SCRM_REGADDR(0x0210) | ||
50 | #define OMAP5_SCRM_AUXCLKREQ1_OFFSET 0x0214 | ||
51 | #define OMAP5_SCRM_AUXCLKREQ1 OMAP54XX_SCRM_REGADDR(0x0214) | ||
52 | #define OMAP5_SCRM_AUXCLKREQ2_OFFSET 0x0218 | ||
53 | #define OMAP5_SCRM_AUXCLKREQ2 OMAP54XX_SCRM_REGADDR(0x0218) | ||
54 | #define OMAP5_SCRM_AUXCLKREQ3_OFFSET 0x021c | ||
55 | #define OMAP5_SCRM_AUXCLKREQ3 OMAP54XX_SCRM_REGADDR(0x021c) | ||
56 | #define OMAP5_SCRM_AUXCLKREQ4_OFFSET 0x0220 | ||
57 | #define OMAP5_SCRM_AUXCLKREQ4 OMAP54XX_SCRM_REGADDR(0x0220) | ||
58 | #define OMAP5_SCRM_AUXCLKREQ5_OFFSET 0x0224 | ||
59 | #define OMAP5_SCRM_AUXCLKREQ5 OMAP54XX_SCRM_REGADDR(0x0224) | ||
60 | #define OMAP5_SCRM_D2DCLKREQ_OFFSET 0x0234 | ||
61 | #define OMAP5_SCRM_D2DCLKREQ OMAP54XX_SCRM_REGADDR(0x0234) | ||
62 | #define OMAP5_SCRM_AUXCLK0_OFFSET 0x0310 | ||
63 | #define OMAP5_SCRM_AUXCLK0 OMAP54XX_SCRM_REGADDR(0x0310) | ||
64 | #define OMAP5_SCRM_AUXCLK1_OFFSET 0x0314 | ||
65 | #define OMAP5_SCRM_AUXCLK1 OMAP54XX_SCRM_REGADDR(0x0314) | ||
66 | #define OMAP5_SCRM_AUXCLK2_OFFSET 0x0318 | ||
67 | #define OMAP5_SCRM_AUXCLK2 OMAP54XX_SCRM_REGADDR(0x0318) | ||
68 | #define OMAP5_SCRM_AUXCLK3_OFFSET 0x031c | ||
69 | #define OMAP5_SCRM_AUXCLK3 OMAP54XX_SCRM_REGADDR(0x031c) | ||
70 | #define OMAP5_SCRM_AUXCLK4_OFFSET 0x0320 | ||
71 | #define OMAP5_SCRM_AUXCLK4 OMAP54XX_SCRM_REGADDR(0x0320) | ||
72 | #define OMAP5_SCRM_AUXCLK5_OFFSET 0x0324 | ||
73 | #define OMAP5_SCRM_AUXCLK5 OMAP54XX_SCRM_REGADDR(0x0324) | ||
74 | #define OMAP5_SCRM_RSTTIME_OFFSET 0x0400 | ||
75 | #define OMAP5_SCRM_RSTTIME OMAP54XX_SCRM_REGADDR(0x0400) | ||
76 | #define OMAP5_SCRM_MODEMRSTCTRL_OFFSET 0x0418 | ||
77 | #define OMAP5_SCRM_MODEMRSTCTRL OMAP54XX_SCRM_REGADDR(0x0418) | ||
78 | #define OMAP5_SCRM_D2DRSTCTRL_OFFSET 0x041c | ||
79 | #define OMAP5_SCRM_D2DRSTCTRL OMAP54XX_SCRM_REGADDR(0x041c) | ||
80 | #define OMAP5_SCRM_EXTPWRONRSTCTRL_OFFSET 0x0420 | ||
81 | #define OMAP5_SCRM_EXTPWRONRSTCTRL OMAP54XX_SCRM_REGADDR(0x0420) | ||
82 | #define OMAP5_SCRM_EXTWARMRSTST_OFFSET 0x0510 | ||
83 | #define OMAP5_SCRM_EXTWARMRSTST OMAP54XX_SCRM_REGADDR(0x0510) | ||
84 | #define OMAP5_SCRM_APEWARMRSTST_OFFSET 0x0514 | ||
85 | #define OMAP5_SCRM_APEWARMRSTST OMAP54XX_SCRM_REGADDR(0x0514) | ||
86 | #define OMAP5_SCRM_MODEMWARMRSTST_OFFSET 0x0518 | ||
87 | #define OMAP5_SCRM_MODEMWARMRSTST OMAP54XX_SCRM_REGADDR(0x0518) | ||
88 | #define OMAP5_SCRM_D2DWARMRSTST_OFFSET 0x051c | ||
89 | #define OMAP5_SCRM_D2DWARMRSTST OMAP54XX_SCRM_REGADDR(0x051c) | ||
90 | |||
91 | /* | ||
92 | * Used by AUXCLKREQ0, AUXCLKREQ1, AUXCLKREQ2, AUXCLKREQ3, AUXCLKREQ4, | ||
93 | * AUXCLKREQ5, D2DCLKREQ | ||
94 | */ | ||
95 | #define OMAP5_ACCURACY_SHIFT 1 | ||
96 | #define OMAP5_ACCURACY_WIDTH 0x1 | ||
97 | #define OMAP5_ACCURACY_MASK (1 << 1) | ||
98 | |||
99 | /* Used by APEWARMRSTST */ | ||
100 | #define OMAP5_APEWARMRSTST_SHIFT 1 | ||
101 | #define OMAP5_APEWARMRSTST_WIDTH 0x1 | ||
102 | #define OMAP5_APEWARMRSTST_MASK (1 << 1) | ||
103 | |||
104 | /* Used by AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5 */ | ||
105 | #define OMAP5_CLKDIV_SHIFT 16 | ||
106 | #define OMAP5_CLKDIV_WIDTH 0x4 | ||
107 | #define OMAP5_CLKDIV_MASK (0xf << 16) | ||
108 | |||
109 | /* Used by D2DCLKM, MODEMCLKM */ | ||
110 | #define OMAP5_CLK_32KHZ_SHIFT 0 | ||
111 | #define OMAP5_CLK_32KHZ_WIDTH 0x1 | ||
112 | #define OMAP5_CLK_32KHZ_MASK (1 << 0) | ||
113 | |||
114 | /* Used by D2DRSTCTRL, MODEMRSTCTRL */ | ||
115 | #define OMAP5_COLDRST_SHIFT 0 | ||
116 | #define OMAP5_COLDRST_WIDTH 0x1 | ||
117 | #define OMAP5_COLDRST_MASK (1 << 0) | ||
118 | |||
119 | /* Used by D2DWARMRSTST */ | ||
120 | #define OMAP5_D2DWARMRSTST_SHIFT 3 | ||
121 | #define OMAP5_D2DWARMRSTST_WIDTH 0x1 | ||
122 | #define OMAP5_D2DWARMRSTST_MASK (1 << 3) | ||
123 | |||
124 | /* Used by AUXCLK0 */ | ||
125 | #define OMAP5_DISABLECLK_SHIFT 9 | ||
126 | #define OMAP5_DISABLECLK_WIDTH 0x1 | ||
127 | #define OMAP5_DISABLECLK_MASK (1 << 9) | ||
128 | |||
129 | /* Used by CLKSETUPTIME */ | ||
130 | #define OMAP5_DOWNTIME_SHIFT 16 | ||
131 | #define OMAP5_DOWNTIME_WIDTH 0x6 | ||
132 | #define OMAP5_DOWNTIME_MASK (0x3f << 16) | ||
133 | |||
134 | /* Used by AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5 */ | ||
135 | #define OMAP5_ENABLE_SHIFT 8 | ||
136 | #define OMAP5_ENABLE_WIDTH 0x1 | ||
137 | #define OMAP5_ENABLE_MASK (1 << 8) | ||
138 | |||
139 | /* Renamed from ENABLE Used by EXTPWRONRSTCTRL */ | ||
140 | #define OMAP5_ENABLE_0_0_SHIFT 0 | ||
141 | #define OMAP5_ENABLE_0_0_WIDTH 0x1 | ||
142 | #define OMAP5_ENABLE_0_0_MASK (1 << 0) | ||
143 | |||
144 | /* Used by ALTCLKSRC */ | ||
145 | #define OMAP5_ENABLE_EXT_SHIFT 3 | ||
146 | #define OMAP5_ENABLE_EXT_WIDTH 0x1 | ||
147 | #define OMAP5_ENABLE_EXT_MASK (1 << 3) | ||
148 | |||
149 | /* Used by ALTCLKSRC */ | ||
150 | #define OMAP5_ENABLE_INT_SHIFT 2 | ||
151 | #define OMAP5_ENABLE_INT_WIDTH 0x1 | ||
152 | #define OMAP5_ENABLE_INT_MASK (1 << 2) | ||
153 | |||
154 | /* Used by EXTWARMRSTST */ | ||
155 | #define OMAP5_EXTWARMRSTST_SHIFT 0 | ||
156 | #define OMAP5_EXTWARMRSTST_WIDTH 0x1 | ||
157 | #define OMAP5_EXTWARMRSTST_MASK (1 << 0) | ||
158 | |||
159 | /* | ||
160 | * Used by AUXCLKREQ0, AUXCLKREQ1, AUXCLKREQ2, AUXCLKREQ3, AUXCLKREQ4, | ||
161 | * AUXCLKREQ5 | ||
162 | */ | ||
163 | #define OMAP5_MAPPING_SHIFT 2 | ||
164 | #define OMAP5_MAPPING_WIDTH 0x3 | ||
165 | #define OMAP5_MAPPING_MASK (0x7 << 2) | ||
166 | |||
167 | /* Used by ALTCLKSRC */ | ||
168 | #define OMAP5_MODE_SHIFT 0 | ||
169 | #define OMAP5_MODE_WIDTH 0x2 | ||
170 | #define OMAP5_MODE_MASK (0x3 << 0) | ||
171 | |||
172 | /* Used by MODEMWARMRSTST */ | ||
173 | #define OMAP5_MODEMWARMRSTST_SHIFT 2 | ||
174 | #define OMAP5_MODEMWARMRSTST_WIDTH 0x1 | ||
175 | #define OMAP5_MODEMWARMRSTST_MASK (1 << 2) | ||
176 | |||
177 | /* | ||
178 | * Used by ACCCLKREQ, AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5, | ||
179 | * AUXCLKREQ0, AUXCLKREQ1, AUXCLKREQ2, AUXCLKREQ3, AUXCLKREQ4, AUXCLKREQ5, | ||
180 | * D2DCLKREQ, EXTCLKREQ, PWRREQ | ||
181 | */ | ||
182 | #define OMAP5_POLARITY_SHIFT 0 | ||
183 | #define OMAP5_POLARITY_WIDTH 0x1 | ||
184 | #define OMAP5_POLARITY_MASK (1 << 0) | ||
185 | |||
186 | /* Used by EXTPWRONRSTCTRL */ | ||
187 | #define OMAP5_PWRONRST_SHIFT 1 | ||
188 | #define OMAP5_PWRONRST_WIDTH 0x1 | ||
189 | #define OMAP5_PWRONRST_MASK (1 << 1) | ||
190 | |||
191 | /* Used by REVISION_SCRM */ | ||
192 | #define OMAP5_REV_SHIFT 0 | ||
193 | #define OMAP5_REV_WIDTH 0x8 | ||
194 | #define OMAP5_REV_MASK (0xff << 0) | ||
195 | |||
196 | /* Used by RSTTIME */ | ||
197 | #define OMAP5_RSTTIME_SHIFT 0 | ||
198 | #define OMAP5_RSTTIME_WIDTH 0x4 | ||
199 | #define OMAP5_RSTTIME_MASK (0xf << 0) | ||
200 | |||
201 | /* Used by CLKSETUPTIME */ | ||
202 | #define OMAP5_SETUPTIME_SHIFT 0 | ||
203 | #define OMAP5_SETUPTIME_WIDTH 0xc | ||
204 | #define OMAP5_SETUPTIME_MASK (0xfff << 0) | ||
205 | |||
206 | /* Used by PMICSETUPTIME */ | ||
207 | #define OMAP5_SLEEPTIME_SHIFT 0 | ||
208 | #define OMAP5_SLEEPTIME_WIDTH 0x6 | ||
209 | #define OMAP5_SLEEPTIME_MASK (0x3f << 0) | ||
210 | |||
211 | /* Used by AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5 */ | ||
212 | #define OMAP5_SRCSELECT_SHIFT 1 | ||
213 | #define OMAP5_SRCSELECT_WIDTH 0x2 | ||
214 | #define OMAP5_SRCSELECT_MASK (0x3 << 1) | ||
215 | |||
216 | /* Used by D2DCLKM */ | ||
217 | #define OMAP5_SYSCLK_SHIFT 1 | ||
218 | #define OMAP5_SYSCLK_WIDTH 0x1 | ||
219 | #define OMAP5_SYSCLK_MASK (1 << 1) | ||
220 | |||
221 | /* Used by PMICSETUPTIME */ | ||
222 | #define OMAP5_WAKEUPTIME_SHIFT 16 | ||
223 | #define OMAP5_WAKEUPTIME_WIDTH 0x6 | ||
224 | #define OMAP5_WAKEUPTIME_MASK (0x3f << 16) | ||
225 | |||
226 | /* Used by D2DRSTCTRL, MODEMRSTCTRL */ | ||
227 | #define OMAP5_WARMRST_SHIFT 1 | ||
228 | #define OMAP5_WARMRST_WIDTH 0x1 | ||
229 | #define OMAP5_WARMRST_MASK (1 << 1) | ||
230 | |||
231 | #endif | ||
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index f6601563aa69..a388f8c1bcb3 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -63,7 +63,6 @@ struct omap_uart_state { | |||
63 | static LIST_HEAD(uart_list); | 63 | static LIST_HEAD(uart_list); |
64 | static u8 num_uarts; | 64 | static u8 num_uarts; |
65 | static u8 console_uart_id = -1; | 65 | static u8 console_uart_id = -1; |
66 | static u8 no_console_suspend; | ||
67 | static u8 uart_debug; | 66 | static u8 uart_debug; |
68 | 67 | ||
69 | #define DEFAULT_RXDMA_POLLRATE 1 /* RX DMA polling rate (us) */ | 68 | #define DEFAULT_RXDMA_POLLRATE 1 /* RX DMA polling rate (us) */ |
@@ -176,6 +175,9 @@ static char *cmdline_find_option(char *str) | |||
176 | 175 | ||
177 | static int __init omap_serial_early_init(void) | 176 | static int __init omap_serial_early_init(void) |
178 | { | 177 | { |
178 | if (of_have_populated_dt()) | ||
179 | return -ENODEV; | ||
180 | |||
179 | do { | 181 | do { |
180 | char oh_name[MAX_UART_HWMOD_NAME_LEN]; | 182 | char oh_name[MAX_UART_HWMOD_NAME_LEN]; |
181 | struct omap_hwmod *oh; | 183 | struct omap_hwmod *oh; |
@@ -206,20 +208,6 @@ static int __init omap_serial_early_init(void) | |||
206 | pr_info("%s used as console in debug mode: uart%d clocks will not be gated", | 208 | pr_info("%s used as console in debug mode: uart%d clocks will not be gated", |
207 | uart_name, uart->num); | 209 | uart_name, uart->num); |
208 | } | 210 | } |
209 | |||
210 | if (cmdline_find_option("no_console_suspend")) | ||
211 | no_console_suspend = true; | ||
212 | |||
213 | /* | ||
214 | * omap-uart can be used for earlyprintk logs | ||
215 | * So if omap-uart is used as console then prevent | ||
216 | * uart reset and idle to get logs from omap-uart | ||
217 | * until uart console driver is available to take | ||
218 | * care for console messages. | ||
219 | * Idling or resetting omap-uart while printing logs | ||
220 | * early boot logs can stall the boot-up. | ||
221 | */ | ||
222 | oh->flags |= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET; | ||
223 | } | 211 | } |
224 | } while (1); | 212 | } while (1); |
225 | 213 | ||
@@ -292,9 +280,6 @@ void __init omap_serial_init_port(struct omap_board_data *bdata, | |||
292 | return; | 280 | return; |
293 | } | 281 | } |
294 | 282 | ||
295 | if ((console_uart_id == bdata->id) && no_console_suspend) | ||
296 | omap_device_disable_idle_on_suspend(pdev); | ||
297 | |||
298 | oh->mux = omap_hwmod_mux_init(bdata->pads, bdata->pads_cnt); | 283 | oh->mux = omap_hwmod_mux_init(bdata->pads, bdata->pads_cnt); |
299 | 284 | ||
300 | if (console_uart_id == bdata->id) { | 285 | if (console_uart_id == bdata->id) { |
diff --git a/arch/arm/mach-omap2/sleep44xx.S b/arch/arm/mach-omap2/sleep44xx.S index 88ff83a0942e..9086ce03ae12 100644 --- a/arch/arm/mach-omap2/sleep44xx.S +++ b/arch/arm/mach-omap2/sleep44xx.S | |||
@@ -34,6 +34,8 @@ ppa_zero_params: | |||
34 | ppa_por_params: | 34 | ppa_por_params: |
35 | .word 1, 0 | 35 | .word 1, 0 |
36 | 36 | ||
37 | #ifdef CONFIG_ARCH_OMAP4 | ||
38 | |||
37 | /* | 39 | /* |
38 | * ============================= | 40 | * ============================= |
39 | * == CPU suspend finisher == | 41 | * == CPU suspend finisher == |
@@ -326,7 +328,9 @@ skip_l2en: | |||
326 | 328 | ||
327 | b cpu_resume @ Jump to generic resume | 329 | b cpu_resume @ Jump to generic resume |
328 | ENDPROC(omap4_cpu_resume) | 330 | ENDPROC(omap4_cpu_resume) |
329 | #endif | 331 | #endif /* CONFIG_ARCH_OMAP4 */ |
332 | |||
333 | #endif /* defined(CONFIG_SMP) && defined(CONFIG_PM) */ | ||
330 | 334 | ||
331 | #ifndef CONFIG_OMAP4_ERRATA_I688 | 335 | #ifndef CONFIG_OMAP4_ERRATA_I688 |
332 | ENTRY(omap_bus_sync) | 336 | ENTRY(omap_bus_sync) |
diff --git a/arch/arm/mach-omap2/smartreflex-class3.c b/arch/arm/mach-omap2/smartreflex-class3.c index aee3c8940a30..7a42e1960c3b 100644 --- a/arch/arm/mach-omap2/smartreflex-class3.c +++ b/arch/arm/mach-omap2/smartreflex-class3.c | |||
@@ -26,14 +26,14 @@ static int sr_class3_enable(struct omap_sr *sr) | |||
26 | } | 26 | } |
27 | 27 | ||
28 | omap_vp_enable(sr->voltdm); | 28 | omap_vp_enable(sr->voltdm); |
29 | return sr_enable(sr->voltdm, volt); | 29 | return sr_enable(sr, volt); |
30 | } | 30 | } |
31 | 31 | ||
32 | static int sr_class3_disable(struct omap_sr *sr, int is_volt_reset) | 32 | static int sr_class3_disable(struct omap_sr *sr, int is_volt_reset) |
33 | { | 33 | { |
34 | sr_disable_errgen(sr->voltdm); | 34 | sr_disable_errgen(sr); |
35 | omap_vp_disable(sr->voltdm); | 35 | omap_vp_disable(sr->voltdm); |
36 | sr_disable(sr->voltdm); | 36 | sr_disable(sr); |
37 | if (is_volt_reset) | 37 | if (is_volt_reset) |
38 | voltdm_reset(sr->voltdm); | 38 | voltdm_reset(sr->voltdm); |
39 | 39 | ||
@@ -42,7 +42,7 @@ static int sr_class3_disable(struct omap_sr *sr, int is_volt_reset) | |||
42 | 42 | ||
43 | static int sr_class3_configure(struct omap_sr *sr) | 43 | static int sr_class3_configure(struct omap_sr *sr) |
44 | { | 44 | { |
45 | return sr_configure_errgen(sr->voltdm); | 45 | return sr_configure_errgen(sr); |
46 | } | 46 | } |
47 | 47 | ||
48 | /* SR class3 structure */ | 48 | /* SR class3 structure */ |
diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h index 197cc16870d9..8c616e436bc7 100644 --- a/arch/arm/mach-omap2/soc.h +++ b/arch/arm/mach-omap2/soc.h | |||
@@ -96,6 +96,15 @@ | |||
96 | # endif | 96 | # endif |
97 | #endif | 97 | #endif |
98 | 98 | ||
99 | #ifdef CONFIG_SOC_AM43XX | ||
100 | # ifdef OMAP_NAME | ||
101 | # undef MULTI_OMAP2 | ||
102 | # define MULTI_OMAP2 | ||
103 | # else | ||
104 | # define OMAP_NAME am43xx | ||
105 | # endif | ||
106 | #endif | ||
107 | |||
99 | /* | 108 | /* |
100 | * Omap device type i.e. EMU/HS/TST/GP/BAD | 109 | * Omap device type i.e. EMU/HS/TST/GP/BAD |
101 | */ | 110 | */ |
@@ -187,6 +196,7 @@ IS_OMAP_CLASS(44xx, 0x44) | |||
187 | IS_AM_CLASS(35xx, 0x35) | 196 | IS_AM_CLASS(35xx, 0x35) |
188 | IS_OMAP_CLASS(54xx, 0x54) | 197 | IS_OMAP_CLASS(54xx, 0x54) |
189 | IS_AM_CLASS(33xx, 0x33) | 198 | IS_AM_CLASS(33xx, 0x33) |
199 | IS_AM_CLASS(43xx, 0x43) | ||
190 | 200 | ||
191 | IS_TI_CLASS(81xx, 0x81) | 201 | IS_TI_CLASS(81xx, 0x81) |
192 | 202 | ||
@@ -202,6 +212,7 @@ IS_OMAP_SUBCLASS(543x, 0x543) | |||
202 | IS_TI_SUBCLASS(816x, 0x816) | 212 | IS_TI_SUBCLASS(816x, 0x816) |
203 | IS_TI_SUBCLASS(814x, 0x814) | 213 | IS_TI_SUBCLASS(814x, 0x814) |
204 | IS_AM_SUBCLASS(335x, 0x335) | 214 | IS_AM_SUBCLASS(335x, 0x335) |
215 | IS_AM_SUBCLASS(437x, 0x437) | ||
205 | 216 | ||
206 | #define cpu_is_omap24xx() 0 | 217 | #define cpu_is_omap24xx() 0 |
207 | #define cpu_is_omap242x() 0 | 218 | #define cpu_is_omap242x() 0 |
@@ -214,6 +225,8 @@ IS_AM_SUBCLASS(335x, 0x335) | |||
214 | #define soc_is_am35xx() 0 | 225 | #define soc_is_am35xx() 0 |
215 | #define soc_is_am33xx() 0 | 226 | #define soc_is_am33xx() 0 |
216 | #define soc_is_am335x() 0 | 227 | #define soc_is_am335x() 0 |
228 | #define soc_is_am43xx() 0 | ||
229 | #define soc_is_am437x() 0 | ||
217 | #define cpu_is_omap44xx() 0 | 230 | #define cpu_is_omap44xx() 0 |
218 | #define cpu_is_omap443x() 0 | 231 | #define cpu_is_omap443x() 0 |
219 | #define cpu_is_omap446x() 0 | 232 | #define cpu_is_omap446x() 0 |
@@ -341,6 +354,13 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
341 | # define soc_is_am335x() is_am335x() | 354 | # define soc_is_am335x() is_am335x() |
342 | #endif | 355 | #endif |
343 | 356 | ||
357 | #ifdef CONFIG_SOC_AM43XX | ||
358 | # undef soc_is_am43xx | ||
359 | # undef soc_is_am437x | ||
360 | # define soc_is_am43xx() is_am43xx() | ||
361 | # define soc_is_am437x() is_am437x() | ||
362 | #endif | ||
363 | |||
344 | # if defined(CONFIG_ARCH_OMAP4) | 364 | # if defined(CONFIG_ARCH_OMAP4) |
345 | # undef cpu_is_omap44xx | 365 | # undef cpu_is_omap44xx |
346 | # undef cpu_is_omap443x | 366 | # undef cpu_is_omap443x |
@@ -383,6 +403,8 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
383 | #define TI816X_CLASS 0x81600034 | 403 | #define TI816X_CLASS 0x81600034 |
384 | #define TI8168_REV_ES1_0 TI816X_CLASS | 404 | #define TI8168_REV_ES1_0 TI816X_CLASS |
385 | #define TI8168_REV_ES1_1 (TI816X_CLASS | (0x1 << 8)) | 405 | #define TI8168_REV_ES1_1 (TI816X_CLASS | (0x1 << 8)) |
406 | #define TI8168_REV_ES2_0 (TI816X_CLASS | (0x2 << 8)) | ||
407 | #define TI8168_REV_ES2_1 (TI816X_CLASS | (0x3 << 8)) | ||
386 | 408 | ||
387 | #define TI814X_CLASS 0x81400034 | 409 | #define TI814X_CLASS 0x81400034 |
388 | #define TI8148_REV_ES1_0 TI814X_CLASS | 410 | #define TI8148_REV_ES1_0 TI814X_CLASS |
@@ -398,6 +420,9 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
398 | #define AM335X_REV_ES2_0 (AM335X_CLASS | (0x1 << 8)) | 420 | #define AM335X_REV_ES2_0 (AM335X_CLASS | (0x1 << 8)) |
399 | #define AM335X_REV_ES2_1 (AM335X_CLASS | (0x2 << 8)) | 421 | #define AM335X_REV_ES2_1 (AM335X_CLASS | (0x2 << 8)) |
400 | 422 | ||
423 | #define AM437X_CLASS 0x43700000 | ||
424 | #define AM437X_REV_ES1_0 AM437X_CLASS | ||
425 | |||
401 | #define OMAP443X_CLASS 0x44300044 | 426 | #define OMAP443X_CLASS 0x44300044 |
402 | #define OMAP4430_REV_ES1_0 (OMAP443X_CLASS | (0x10 << 8)) | 427 | #define OMAP4430_REV_ES1_0 (OMAP443X_CLASS | (0x10 << 8)) |
403 | #define OMAP4430_REV_ES2_0 (OMAP443X_CLASS | (0x20 << 8)) | 428 | #define OMAP4430_REV_ES2_0 (OMAP443X_CLASS | (0x20 << 8)) |
@@ -424,6 +449,7 @@ void omap4xxx_check_revision(void); | |||
424 | void omap5xxx_check_revision(void); | 449 | void omap5xxx_check_revision(void); |
425 | void omap3xxx_check_features(void); | 450 | void omap3xxx_check_features(void); |
426 | void ti81xx_check_features(void); | 451 | void ti81xx_check_features(void); |
452 | void am33xx_check_features(void); | ||
427 | void omap4xxx_check_features(void); | 453 | void omap4xxx_check_features(void); |
428 | 454 | ||
429 | /* | 455 | /* |
diff --git a/arch/arm/mach-omap2/sram.c b/arch/arm/mach-omap2/sram.c index 0ff0f068bea8..4bd096836235 100644 --- a/arch/arm/mach-omap2/sram.c +++ b/arch/arm/mach-omap2/sram.c | |||
@@ -119,6 +119,9 @@ static void __init omap_detect_sram(void) | |||
119 | if (soc_is_am33xx()) { | 119 | if (soc_is_am33xx()) { |
120 | omap_sram_start = AM33XX_SRAM_PA; | 120 | omap_sram_start = AM33XX_SRAM_PA; |
121 | omap_sram_size = 0x10000; /* 64K */ | 121 | omap_sram_size = 0x10000; /* 64K */ |
122 | } else if (soc_is_am43xx()) { | ||
123 | omap_sram_start = AM33XX_SRAM_PA; | ||
124 | omap_sram_size = SZ_256K; | ||
122 | } else if (cpu_is_omap34xx()) { | 125 | } else if (cpu_is_omap34xx()) { |
123 | omap_sram_start = OMAP3_SRAM_PA; | 126 | omap_sram_start = OMAP3_SRAM_PA; |
124 | omap_sram_size = 0x10000; /* 64K */ | 127 | omap_sram_size = 0x10000; /* 64K */ |
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index f8b23b8040d9..b37e1fcbad56 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -41,10 +41,10 @@ | |||
41 | #include <linux/of_irq.h> | 41 | #include <linux/of_irq.h> |
42 | #include <linux/platform_device.h> | 42 | #include <linux/platform_device.h> |
43 | #include <linux/platform_data/dmtimer-omap.h> | 43 | #include <linux/platform_data/dmtimer-omap.h> |
44 | #include <linux/sched_clock.h> | ||
44 | 45 | ||
45 | #include <asm/mach/time.h> | 46 | #include <asm/mach/time.h> |
46 | #include <asm/smp_twd.h> | 47 | #include <asm/smp_twd.h> |
47 | #include <asm/sched_clock.h> | ||
48 | 48 | ||
49 | #include "omap_hwmod.h" | 49 | #include "omap_hwmod.h" |
50 | #include "omap_device.h" | 50 | #include "omap_device.h" |
@@ -220,7 +220,7 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer, | |||
220 | int posted) | 220 | int posted) |
221 | { | 221 | { |
222 | char name[10]; /* 10 = sizeof("gptXX_Xck0") */ | 222 | char name[10]; /* 10 = sizeof("gptXX_Xck0") */ |
223 | const char *oh_name; | 223 | const char *oh_name = NULL; |
224 | struct device_node *np; | 224 | struct device_node *np; |
225 | struct omap_hwmod *oh; | 225 | struct omap_hwmod *oh; |
226 | struct resource irq, mem; | 226 | struct resource irq, mem; |
@@ -582,7 +582,7 @@ OMAP_SYS_32K_TIMER_INIT(2, 1, "timer_32k_ck", "ti,timer-alwon", | |||
582 | 2, "timer_sys_ck", NULL); | 582 | 2, "timer_sys_ck", NULL); |
583 | #endif /* CONFIG_ARCH_OMAP2 */ | 583 | #endif /* CONFIG_ARCH_OMAP2 */ |
584 | 584 | ||
585 | #ifdef CONFIG_ARCH_OMAP3 | 585 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM43XX) |
586 | OMAP_SYS_32K_TIMER_INIT(3, 1, "timer_32k_ck", "ti,timer-alwon", | 586 | OMAP_SYS_32K_TIMER_INIT(3, 1, "timer_32k_ck", "ti,timer-alwon", |
587 | 2, "timer_sys_ck", NULL); | 587 | 2, "timer_sys_ck", NULL); |
588 | OMAP_SYS_32K_TIMER_INIT(3_secure, 12, "secure_32k_fck", "ti,timer-secure", | 588 | OMAP_SYS_32K_TIMER_INIT(3_secure, 12, "secure_32k_fck", "ti,timer-secure", |
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 51e138cc5398..c05898fbd634 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c | |||
@@ -140,6 +140,7 @@ static struct regulator_init_data omap3_vdac_idata = { | |||
140 | 140 | ||
141 | static struct regulator_consumer_supply omap3_vpll2_supplies[] = { | 141 | static struct regulator_consumer_supply omap3_vpll2_supplies[] = { |
142 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), | 142 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"), |
143 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"), | ||
143 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), | 144 | REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), |
144 | }; | 145 | }; |
145 | 146 | ||
diff --git a/arch/arm/mach-omap2/usb-host.c b/arch/arm/mach-omap2/usb-host.c index aa27d7f5cbb7..2eb19d4d0aa1 100644 --- a/arch/arm/mach-omap2/usb-host.c +++ b/arch/arm/mach-omap2/usb-host.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/io.h> | 28 | #include <linux/io.h> |
29 | #include <linux/gpio.h> | 29 | #include <linux/gpio.h> |
30 | #include <linux/usb/phy.h> | 30 | #include <linux/usb/phy.h> |
31 | #include <linux/usb/nop-usb-xceiv.h> | ||
31 | 32 | ||
32 | #include "soc.h" | 33 | #include "soc.h" |
33 | #include "omap_device.h" | 34 | #include "omap_device.h" |
@@ -188,125 +189,6 @@ static void __init setup_ehci_io_mux(const enum usbhs_omap_port_mode *port_mode) | |||
188 | return; | 189 | return; |
189 | } | 190 | } |
190 | 191 | ||
191 | static | ||
192 | void __init setup_4430ehci_io_mux(const enum usbhs_omap_port_mode *port_mode) | ||
193 | { | ||
194 | switch (port_mode[0]) { | ||
195 | case OMAP_EHCI_PORT_MODE_PHY: | ||
196 | omap_mux_init_signal("usbb1_ulpiphy_stp", | ||
197 | OMAP_PIN_OUTPUT); | ||
198 | omap_mux_init_signal("usbb1_ulpiphy_clk", | ||
199 | OMAP_PIN_INPUT_PULLDOWN); | ||
200 | omap_mux_init_signal("usbb1_ulpiphy_dir", | ||
201 | OMAP_PIN_INPUT_PULLDOWN); | ||
202 | omap_mux_init_signal("usbb1_ulpiphy_nxt", | ||
203 | OMAP_PIN_INPUT_PULLDOWN); | ||
204 | omap_mux_init_signal("usbb1_ulpiphy_dat0", | ||
205 | OMAP_PIN_INPUT_PULLDOWN); | ||
206 | omap_mux_init_signal("usbb1_ulpiphy_dat1", | ||
207 | OMAP_PIN_INPUT_PULLDOWN); | ||
208 | omap_mux_init_signal("usbb1_ulpiphy_dat2", | ||
209 | OMAP_PIN_INPUT_PULLDOWN); | ||
210 | omap_mux_init_signal("usbb1_ulpiphy_dat3", | ||
211 | OMAP_PIN_INPUT_PULLDOWN); | ||
212 | omap_mux_init_signal("usbb1_ulpiphy_dat4", | ||
213 | OMAP_PIN_INPUT_PULLDOWN); | ||
214 | omap_mux_init_signal("usbb1_ulpiphy_dat5", | ||
215 | OMAP_PIN_INPUT_PULLDOWN); | ||
216 | omap_mux_init_signal("usbb1_ulpiphy_dat6", | ||
217 | OMAP_PIN_INPUT_PULLDOWN); | ||
218 | omap_mux_init_signal("usbb1_ulpiphy_dat7", | ||
219 | OMAP_PIN_INPUT_PULLDOWN); | ||
220 | break; | ||
221 | case OMAP_EHCI_PORT_MODE_TLL: | ||
222 | omap_mux_init_signal("usbb1_ulpitll_stp", | ||
223 | OMAP_PIN_INPUT_PULLUP); | ||
224 | omap_mux_init_signal("usbb1_ulpitll_clk", | ||
225 | OMAP_PIN_INPUT_PULLDOWN); | ||
226 | omap_mux_init_signal("usbb1_ulpitll_dir", | ||
227 | OMAP_PIN_INPUT_PULLDOWN); | ||
228 | omap_mux_init_signal("usbb1_ulpitll_nxt", | ||
229 | OMAP_PIN_INPUT_PULLDOWN); | ||
230 | omap_mux_init_signal("usbb1_ulpitll_dat0", | ||
231 | OMAP_PIN_INPUT_PULLDOWN); | ||
232 | omap_mux_init_signal("usbb1_ulpitll_dat1", | ||
233 | OMAP_PIN_INPUT_PULLDOWN); | ||
234 | omap_mux_init_signal("usbb1_ulpitll_dat2", | ||
235 | OMAP_PIN_INPUT_PULLDOWN); | ||
236 | omap_mux_init_signal("usbb1_ulpitll_dat3", | ||
237 | OMAP_PIN_INPUT_PULLDOWN); | ||
238 | omap_mux_init_signal("usbb1_ulpitll_dat4", | ||
239 | OMAP_PIN_INPUT_PULLDOWN); | ||
240 | omap_mux_init_signal("usbb1_ulpitll_dat5", | ||
241 | OMAP_PIN_INPUT_PULLDOWN); | ||
242 | omap_mux_init_signal("usbb1_ulpitll_dat6", | ||
243 | OMAP_PIN_INPUT_PULLDOWN); | ||
244 | omap_mux_init_signal("usbb1_ulpitll_dat7", | ||
245 | OMAP_PIN_INPUT_PULLDOWN); | ||
246 | break; | ||
247 | case OMAP_USBHS_PORT_MODE_UNUSED: | ||
248 | default: | ||
249 | break; | ||
250 | } | ||
251 | switch (port_mode[1]) { | ||
252 | case OMAP_EHCI_PORT_MODE_PHY: | ||
253 | omap_mux_init_signal("usbb2_ulpiphy_stp", | ||
254 | OMAP_PIN_OUTPUT); | ||
255 | omap_mux_init_signal("usbb2_ulpiphy_clk", | ||
256 | OMAP_PIN_INPUT_PULLDOWN); | ||
257 | omap_mux_init_signal("usbb2_ulpiphy_dir", | ||
258 | OMAP_PIN_INPUT_PULLDOWN); | ||
259 | omap_mux_init_signal("usbb2_ulpiphy_nxt", | ||
260 | OMAP_PIN_INPUT_PULLDOWN); | ||
261 | omap_mux_init_signal("usbb2_ulpiphy_dat0", | ||
262 | OMAP_PIN_INPUT_PULLDOWN); | ||
263 | omap_mux_init_signal("usbb2_ulpiphy_dat1", | ||
264 | OMAP_PIN_INPUT_PULLDOWN); | ||
265 | omap_mux_init_signal("usbb2_ulpiphy_dat2", | ||
266 | OMAP_PIN_INPUT_PULLDOWN); | ||
267 | omap_mux_init_signal("usbb2_ulpiphy_dat3", | ||
268 | OMAP_PIN_INPUT_PULLDOWN); | ||
269 | omap_mux_init_signal("usbb2_ulpiphy_dat4", | ||
270 | OMAP_PIN_INPUT_PULLDOWN); | ||
271 | omap_mux_init_signal("usbb2_ulpiphy_dat5", | ||
272 | OMAP_PIN_INPUT_PULLDOWN); | ||
273 | omap_mux_init_signal("usbb2_ulpiphy_dat6", | ||
274 | OMAP_PIN_INPUT_PULLDOWN); | ||
275 | omap_mux_init_signal("usbb2_ulpiphy_dat7", | ||
276 | OMAP_PIN_INPUT_PULLDOWN); | ||
277 | break; | ||
278 | case OMAP_EHCI_PORT_MODE_TLL: | ||
279 | omap_mux_init_signal("usbb2_ulpitll_stp", | ||
280 | OMAP_PIN_INPUT_PULLUP); | ||
281 | omap_mux_init_signal("usbb2_ulpitll_clk", | ||
282 | OMAP_PIN_INPUT_PULLDOWN); | ||
283 | omap_mux_init_signal("usbb2_ulpitll_dir", | ||
284 | OMAP_PIN_INPUT_PULLDOWN); | ||
285 | omap_mux_init_signal("usbb2_ulpitll_nxt", | ||
286 | OMAP_PIN_INPUT_PULLDOWN); | ||
287 | omap_mux_init_signal("usbb2_ulpitll_dat0", | ||
288 | OMAP_PIN_INPUT_PULLDOWN); | ||
289 | omap_mux_init_signal("usbb2_ulpitll_dat1", | ||
290 | OMAP_PIN_INPUT_PULLDOWN); | ||
291 | omap_mux_init_signal("usbb2_ulpitll_dat2", | ||
292 | OMAP_PIN_INPUT_PULLDOWN); | ||
293 | omap_mux_init_signal("usbb2_ulpitll_dat3", | ||
294 | OMAP_PIN_INPUT_PULLDOWN); | ||
295 | omap_mux_init_signal("usbb2_ulpitll_dat4", | ||
296 | OMAP_PIN_INPUT_PULLDOWN); | ||
297 | omap_mux_init_signal("usbb2_ulpitll_dat5", | ||
298 | OMAP_PIN_INPUT_PULLDOWN); | ||
299 | omap_mux_init_signal("usbb2_ulpitll_dat6", | ||
300 | OMAP_PIN_INPUT_PULLDOWN); | ||
301 | omap_mux_init_signal("usbb2_ulpitll_dat7", | ||
302 | OMAP_PIN_INPUT_PULLDOWN); | ||
303 | break; | ||
304 | case OMAP_USBHS_PORT_MODE_UNUSED: | ||
305 | default: | ||
306 | break; | ||
307 | } | ||
308 | } | ||
309 | |||
310 | static void __init setup_ohci_io_mux(const enum usbhs_omap_port_mode *port_mode) | 192 | static void __init setup_ohci_io_mux(const enum usbhs_omap_port_mode *port_mode) |
311 | { | 193 | { |
312 | switch (port_mode[0]) { | 194 | switch (port_mode[0]) { |
@@ -404,78 +286,6 @@ static void __init setup_ohci_io_mux(const enum usbhs_omap_port_mode *port_mode) | |||
404 | } | 286 | } |
405 | } | 287 | } |
406 | 288 | ||
407 | static | ||
408 | void __init setup_4430ohci_io_mux(const enum usbhs_omap_port_mode *port_mode) | ||
409 | { | ||
410 | switch (port_mode[0]) { | ||
411 | case OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0: | ||
412 | case OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM: | ||
413 | case OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0: | ||
414 | case OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM: | ||
415 | omap_mux_init_signal("usbb1_mm_rxdp", | ||
416 | OMAP_PIN_INPUT_PULLDOWN); | ||
417 | omap_mux_init_signal("usbb1_mm_rxdm", | ||
418 | OMAP_PIN_INPUT_PULLDOWN); | ||
419 | |||
420 | case OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM: | ||
421 | case OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM: | ||
422 | omap_mux_init_signal("usbb1_mm_rxrcv", | ||
423 | OMAP_PIN_INPUT_PULLDOWN); | ||
424 | |||
425 | case OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0: | ||
426 | case OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0: | ||
427 | omap_mux_init_signal("usbb1_mm_txen", | ||
428 | OMAP_PIN_INPUT_PULLDOWN); | ||
429 | |||
430 | |||
431 | case OMAP_OHCI_PORT_MODE_TLL_2PIN_DATSE0: | ||
432 | case OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM: | ||
433 | omap_mux_init_signal("usbb1_mm_txdat", | ||
434 | OMAP_PIN_INPUT_PULLDOWN); | ||
435 | omap_mux_init_signal("usbb1_mm_txse0", | ||
436 | OMAP_PIN_INPUT_PULLDOWN); | ||
437 | break; | ||
438 | |||
439 | case OMAP_USBHS_PORT_MODE_UNUSED: | ||
440 | default: | ||
441 | break; | ||
442 | } | ||
443 | |||
444 | switch (port_mode[1]) { | ||
445 | case OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0: | ||
446 | case OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM: | ||
447 | case OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0: | ||
448 | case OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM: | ||
449 | omap_mux_init_signal("usbb2_mm_rxdp", | ||
450 | OMAP_PIN_INPUT_PULLDOWN); | ||
451 | omap_mux_init_signal("usbb2_mm_rxdm", | ||
452 | OMAP_PIN_INPUT_PULLDOWN); | ||
453 | |||
454 | case OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM: | ||
455 | case OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM: | ||
456 | omap_mux_init_signal("usbb2_mm_rxrcv", | ||
457 | OMAP_PIN_INPUT_PULLDOWN); | ||
458 | |||
459 | case OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0: | ||
460 | case OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0: | ||
461 | omap_mux_init_signal("usbb2_mm_txen", | ||
462 | OMAP_PIN_INPUT_PULLDOWN); | ||
463 | |||
464 | |||
465 | case OMAP_OHCI_PORT_MODE_TLL_2PIN_DATSE0: | ||
466 | case OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM: | ||
467 | omap_mux_init_signal("usbb2_mm_txdat", | ||
468 | OMAP_PIN_INPUT_PULLDOWN); | ||
469 | omap_mux_init_signal("usbb2_mm_txse0", | ||
470 | OMAP_PIN_INPUT_PULLDOWN); | ||
471 | break; | ||
472 | |||
473 | case OMAP_USBHS_PORT_MODE_UNUSED: | ||
474 | default: | ||
475 | break; | ||
476 | } | ||
477 | } | ||
478 | |||
479 | void __init usbhs_init(struct usbhs_omap_platform_data *pdata) | 289 | void __init usbhs_init(struct usbhs_omap_platform_data *pdata) |
480 | { | 290 | { |
481 | struct omap_hwmod *uhh_hwm, *tll_hwm; | 291 | struct omap_hwmod *uhh_hwm, *tll_hwm; |
@@ -489,9 +299,6 @@ void __init usbhs_init(struct usbhs_omap_platform_data *pdata) | |||
489 | if (omap_rev() <= OMAP3430_REV_ES2_1) | 299 | if (omap_rev() <= OMAP3430_REV_ES2_1) |
490 | pdata->single_ulpi_bypass = true; | 300 | pdata->single_ulpi_bypass = true; |
491 | 301 | ||
492 | } else if (cpu_is_omap44xx()) { | ||
493 | setup_4430ehci_io_mux(pdata->port_mode); | ||
494 | setup_4430ohci_io_mux(pdata->port_mode); | ||
495 | } | 302 | } |
496 | 303 | ||
497 | uhh_hwm = omap_hwmod_lookup(USBHS_UHH_HWMODNAME); | 304 | uhh_hwm = omap_hwmod_lookup(USBHS_UHH_HWMODNAME); |
@@ -560,7 +367,8 @@ static int usbhs_add_regulator(char *name, char *dev_id, char *dev_supply, | |||
560 | struct regulator_init_data *reg_data; | 367 | struct regulator_init_data *reg_data; |
561 | struct fixed_voltage_config *config; | 368 | struct fixed_voltage_config *config; |
562 | struct platform_device *pdev; | 369 | struct platform_device *pdev; |
563 | int ret; | 370 | struct platform_device_info pdevinfo; |
371 | int ret = -ENOMEM; | ||
564 | 372 | ||
565 | supplies = kzalloc(sizeof(*supplies), GFP_KERNEL); | 373 | supplies = kzalloc(sizeof(*supplies), GFP_KERNEL); |
566 | if (!supplies) | 374 | if (!supplies) |
@@ -571,7 +379,7 @@ static int usbhs_add_regulator(char *name, char *dev_id, char *dev_supply, | |||
571 | 379 | ||
572 | reg_data = kzalloc(sizeof(*reg_data), GFP_KERNEL); | 380 | reg_data = kzalloc(sizeof(*reg_data), GFP_KERNEL); |
573 | if (!reg_data) | 381 | if (!reg_data) |
574 | return -ENOMEM; | 382 | goto err_data; |
575 | 383 | ||
576 | reg_data->constraints.valid_ops_mask = REGULATOR_CHANGE_STATUS; | 384 | reg_data->constraints.valid_ops_mask = REGULATOR_CHANGE_STATUS; |
577 | reg_data->consumer_supplies = supplies; | 385 | reg_data->consumer_supplies = supplies; |
@@ -580,39 +388,53 @@ static int usbhs_add_regulator(char *name, char *dev_id, char *dev_supply, | |||
580 | config = kmemdup(&hsusb_reg_config, sizeof(hsusb_reg_config), | 388 | config = kmemdup(&hsusb_reg_config, sizeof(hsusb_reg_config), |
581 | GFP_KERNEL); | 389 | GFP_KERNEL); |
582 | if (!config) | 390 | if (!config) |
583 | return -ENOMEM; | 391 | goto err_config; |
392 | |||
393 | config->supply_name = kstrdup(name, GFP_KERNEL); | ||
394 | if (!config->supply_name) | ||
395 | goto err_supplyname; | ||
584 | 396 | ||
585 | config->supply_name = name; | ||
586 | config->gpio = gpio; | 397 | config->gpio = gpio; |
587 | config->enable_high = polarity; | 398 | config->enable_high = polarity; |
588 | config->init_data = reg_data; | 399 | config->init_data = reg_data; |
589 | 400 | ||
590 | /* create a regulator device */ | 401 | /* create a regulator device */ |
591 | pdev = kzalloc(sizeof(*pdev), GFP_KERNEL); | 402 | memset(&pdevinfo, 0, sizeof(pdevinfo)); |
592 | if (!pdev) | 403 | pdevinfo.name = reg_name; |
593 | return -ENOMEM; | 404 | pdevinfo.id = PLATFORM_DEVID_AUTO; |
405 | pdevinfo.data = config; | ||
406 | pdevinfo.size_data = sizeof(*config); | ||
594 | 407 | ||
595 | pdev->id = PLATFORM_DEVID_AUTO; | 408 | pdev = platform_device_register_full(&pdevinfo); |
596 | pdev->name = reg_name; | 409 | if (IS_ERR(pdev)) { |
597 | pdev->dev.platform_data = config; | 410 | ret = PTR_ERR(pdev); |
411 | pr_err("%s: Failed registering regulator %s for %s : %d\n", | ||
412 | __func__, name, dev_id, ret); | ||
413 | goto err_register; | ||
414 | } | ||
598 | 415 | ||
599 | ret = platform_device_register(pdev); | 416 | return 0; |
600 | if (ret) | ||
601 | pr_err("%s: Failed registering regulator %s for %s\n", | ||
602 | __func__, name, dev_id); | ||
603 | 417 | ||
418 | err_register: | ||
419 | kfree(config->supply_name); | ||
420 | err_supplyname: | ||
421 | kfree(config); | ||
422 | err_config: | ||
423 | kfree(reg_data); | ||
424 | err_data: | ||
425 | kfree(supplies); | ||
604 | return ret; | 426 | return ret; |
605 | } | 427 | } |
606 | 428 | ||
429 | #define MAX_STR 20 | ||
430 | |||
607 | int usbhs_init_phys(struct usbhs_phy_data *phy, int num_phys) | 431 | int usbhs_init_phys(struct usbhs_phy_data *phy, int num_phys) |
608 | { | 432 | { |
609 | char *rail_name; | 433 | char rail_name[MAX_STR]; |
610 | int i, len; | 434 | int i; |
611 | struct platform_device *pdev; | 435 | struct platform_device *pdev; |
612 | char *phy_id; | 436 | char *phy_id; |
613 | 437 | struct platform_device_info pdevinfo; | |
614 | /* the phy_id will be something like "nop_usb_xceiv.1" */ | ||
615 | len = strlen(nop_name) + 3; /* 3 -> ".1" and NULL terminator */ | ||
616 | 438 | ||
617 | for (i = 0; i < num_phys; i++) { | 439 | for (i = 0; i < num_phys; i++) { |
618 | 440 | ||
@@ -627,25 +449,26 @@ int usbhs_init_phys(struct usbhs_phy_data *phy, int num_phys) | |||
627 | !gpio_is_valid(phy->vcc_gpio)) | 449 | !gpio_is_valid(phy->vcc_gpio)) |
628 | continue; | 450 | continue; |
629 | 451 | ||
630 | /* create a NOP PHY device */ | 452 | phy_id = kmalloc(MAX_STR, GFP_KERNEL); |
631 | pdev = kzalloc(sizeof(*pdev), GFP_KERNEL); | 453 | if (!phy_id) { |
632 | if (!pdev) | 454 | pr_err("%s: kmalloc() failed\n", __func__); |
633 | return -ENOMEM; | 455 | return -ENOMEM; |
456 | } | ||
634 | 457 | ||
635 | pdev->id = phy->port; | 458 | /* create a NOP PHY device */ |
636 | pdev->name = nop_name; | 459 | memset(&pdevinfo, 0, sizeof(pdevinfo)); |
637 | pdev->dev.platform_data = phy->platform_data; | 460 | pdevinfo.name = nop_name; |
638 | 461 | pdevinfo.id = phy->port; | |
639 | phy_id = kmalloc(len, GFP_KERNEL); | 462 | pdevinfo.data = phy->platform_data; |
640 | if (!phy_id) | 463 | pdevinfo.size_data = sizeof(struct nop_usb_xceiv_platform_data); |
641 | return -ENOMEM; | 464 | |
642 | 465 | scnprintf(phy_id, MAX_STR, "nop_usb_xceiv.%d", | |
643 | scnprintf(phy_id, len, "nop_usb_xceiv.%d\n", | 466 | phy->port); |
644 | pdev->id); | 467 | pdev = platform_device_register_full(&pdevinfo); |
645 | 468 | if (IS_ERR(pdev)) { | |
646 | if (platform_device_register(pdev)) { | 469 | pr_err("%s: Failed to register device %s : %ld\n", |
647 | pr_err("%s: Failed to register device %s\n", | 470 | __func__, phy_id, PTR_ERR(pdev)); |
648 | __func__, phy_id); | 471 | kfree(phy_id); |
649 | continue; | 472 | continue; |
650 | } | 473 | } |
651 | 474 | ||
@@ -653,26 +476,15 @@ int usbhs_init_phys(struct usbhs_phy_data *phy, int num_phys) | |||
653 | 476 | ||
654 | /* Do we need RESET regulator ? */ | 477 | /* Do we need RESET regulator ? */ |
655 | if (gpio_is_valid(phy->reset_gpio)) { | 478 | if (gpio_is_valid(phy->reset_gpio)) { |
656 | 479 | scnprintf(rail_name, MAX_STR, | |
657 | rail_name = kmalloc(13, GFP_KERNEL); | 480 | "hsusb%d_reset", phy->port); |
658 | if (!rail_name) | ||
659 | return -ENOMEM; | ||
660 | |||
661 | scnprintf(rail_name, 13, "hsusb%d_reset", phy->port); | ||
662 | |||
663 | usbhs_add_regulator(rail_name, phy_id, "reset", | 481 | usbhs_add_regulator(rail_name, phy_id, "reset", |
664 | phy->reset_gpio, 1); | 482 | phy->reset_gpio, 1); |
665 | } | 483 | } |
666 | 484 | ||
667 | /* Do we need VCC regulator ? */ | 485 | /* Do we need VCC regulator ? */ |
668 | if (gpio_is_valid(phy->vcc_gpio)) { | 486 | if (gpio_is_valid(phy->vcc_gpio)) { |
669 | 487 | scnprintf(rail_name, MAX_STR, "hsusb%d_vcc", phy->port); | |
670 | rail_name = kmalloc(13, GFP_KERNEL); | ||
671 | if (!rail_name) | ||
672 | return -ENOMEM; | ||
673 | |||
674 | scnprintf(rail_name, 13, "hsusb%d_vcc", phy->port); | ||
675 | |||
676 | usbhs_add_regulator(rail_name, phy_id, "vcc", | 488 | usbhs_add_regulator(rail_name, phy_id, "vcc", |
677 | phy->vcc_gpio, phy->vcc_polarity); | 489 | phy->vcc_gpio, phy->vcc_polarity); |
678 | } | 490 | } |
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c index 3242a554ad6b..8c4de2708cf2 100644 --- a/arch/arm/mach-omap2/usb-musb.c +++ b/arch/arm/mach-omap2/usb-musb.c | |||
@@ -85,9 +85,6 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data) | |||
85 | musb_plat.mode = board_data->mode; | 85 | musb_plat.mode = board_data->mode; |
86 | musb_plat.extvbus = board_data->extvbus; | 86 | musb_plat.extvbus = board_data->extvbus; |
87 | 87 | ||
88 | if (cpu_is_omap44xx()) | ||
89 | musb_plat.has_mailbox = true; | ||
90 | |||
91 | if (soc_is_am35xx()) { | 88 | if (soc_is_am35xx()) { |
92 | oh_name = "am35x_otg_hs"; | 89 | oh_name = "am35x_otg_hs"; |
93 | name = "musb-am35x"; | 90 | name = "musb-am35x"; |
diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h index a0ce4f10ff13..f7f2879b31b0 100644 --- a/arch/arm/mach-omap2/voltage.h +++ b/arch/arm/mach-omap2/voltage.h | |||
@@ -169,8 +169,8 @@ int omap_voltage_late_init(void); | |||
169 | 169 | ||
170 | extern void omap2xxx_voltagedomains_init(void); | 170 | extern void omap2xxx_voltagedomains_init(void); |
171 | extern void omap3xxx_voltagedomains_init(void); | 171 | extern void omap3xxx_voltagedomains_init(void); |
172 | extern void am33xx_voltagedomains_init(void); | ||
173 | extern void omap44xx_voltagedomains_init(void); | 172 | extern void omap44xx_voltagedomains_init(void); |
173 | extern void omap54xx_voltagedomains_init(void); | ||
174 | 174 | ||
175 | struct voltagedomain *voltdm_lookup(const char *name); | 175 | struct voltagedomain *voltdm_lookup(const char *name); |
176 | void voltdm_init(struct voltagedomain **voltdm_list); | 176 | void voltdm_init(struct voltagedomain **voltdm_list); |
diff --git a/arch/arm/mach-omap2/voltagedomains33xx_data.c b/arch/arm/mach-omap2/voltagedomains33xx_data.c deleted file mode 100644 index 965458dc0cb9..000000000000 --- a/arch/arm/mach-omap2/voltagedomains33xx_data.c +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * AM33XX voltage domain data | ||
3 | * | ||
4 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as | ||
8 | * published by the Free Software Foundation version 2. | ||
9 | * | ||
10 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
11 | * kind, whether express or implied; without even the implied warranty | ||
12 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | */ | ||
15 | |||
16 | #include <linux/kernel.h> | ||
17 | #include <linux/init.h> | ||
18 | |||
19 | #include "voltage.h" | ||
20 | |||
21 | static struct voltagedomain am33xx_voltdm_mpu = { | ||
22 | .name = "mpu", | ||
23 | }; | ||
24 | |||
25 | static struct voltagedomain am33xx_voltdm_core = { | ||
26 | .name = "core", | ||
27 | }; | ||
28 | |||
29 | static struct voltagedomain am33xx_voltdm_rtc = { | ||
30 | .name = "rtc", | ||
31 | }; | ||
32 | |||
33 | static struct voltagedomain *voltagedomains_am33xx[] __initdata = { | ||
34 | &am33xx_voltdm_mpu, | ||
35 | &am33xx_voltdm_core, | ||
36 | &am33xx_voltdm_rtc, | ||
37 | NULL, | ||
38 | }; | ||
39 | |||
40 | void __init am33xx_voltagedomains_init(void) | ||
41 | { | ||
42 | voltdm_init(voltagedomains_am33xx); | ||
43 | } | ||
diff --git a/arch/arm/mach-omap2/voltagedomains54xx_data.c b/arch/arm/mach-omap2/voltagedomains54xx_data.c new file mode 100644 index 000000000000..33d22b87252d --- /dev/null +++ b/arch/arm/mach-omap2/voltagedomains54xx_data.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /* | ||
2 | * OMAP5 Voltage Management Routines | ||
3 | * | ||
4 | * Based on voltagedomains44xx_data.c | ||
5 | * | ||
6 | * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com | ||
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 | */ | ||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/err.h> | ||
14 | #include <linux/init.h> | ||
15 | |||
16 | #include "common.h" | ||
17 | |||
18 | #include "prm54xx.h" | ||
19 | #include "voltage.h" | ||
20 | #include "omap_opp_data.h" | ||
21 | #include "vc.h" | ||
22 | #include "vp.h" | ||
23 | |||
24 | static const struct omap_vfsm_instance omap5_vdd_mpu_vfsm = { | ||
25 | .voltsetup_reg = OMAP54XX_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET, | ||
26 | }; | ||
27 | |||
28 | static const struct omap_vfsm_instance omap5_vdd_mm_vfsm = { | ||
29 | .voltsetup_reg = OMAP54XX_PRM_VOLTSETUP_MM_RET_SLEEP_OFFSET, | ||
30 | }; | ||
31 | |||
32 | static const struct omap_vfsm_instance omap5_vdd_core_vfsm = { | ||
33 | .voltsetup_reg = OMAP54XX_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET, | ||
34 | }; | ||
35 | |||
36 | static struct voltagedomain omap5_voltdm_mpu = { | ||
37 | .name = "mpu", | ||
38 | .scalable = true, | ||
39 | .read = omap4_prm_vcvp_read, | ||
40 | .write = omap4_prm_vcvp_write, | ||
41 | .rmw = omap4_prm_vcvp_rmw, | ||
42 | .vc = &omap4_vc_mpu, | ||
43 | .vfsm = &omap5_vdd_mpu_vfsm, | ||
44 | .vp = &omap4_vp_mpu, | ||
45 | }; | ||
46 | |||
47 | static struct voltagedomain omap5_voltdm_mm = { | ||
48 | .name = "mm", | ||
49 | .scalable = true, | ||
50 | .read = omap4_prm_vcvp_read, | ||
51 | .write = omap4_prm_vcvp_write, | ||
52 | .rmw = omap4_prm_vcvp_rmw, | ||
53 | .vc = &omap4_vc_iva, | ||
54 | .vfsm = &omap5_vdd_mm_vfsm, | ||
55 | .vp = &omap4_vp_iva, | ||
56 | }; | ||
57 | |||
58 | static struct voltagedomain omap5_voltdm_core = { | ||
59 | .name = "core", | ||
60 | .scalable = true, | ||
61 | .read = omap4_prm_vcvp_read, | ||
62 | .write = omap4_prm_vcvp_write, | ||
63 | .rmw = omap4_prm_vcvp_rmw, | ||
64 | .vc = &omap4_vc_core, | ||
65 | .vfsm = &omap5_vdd_core_vfsm, | ||
66 | .vp = &omap4_vp_core, | ||
67 | }; | ||
68 | |||
69 | static struct voltagedomain omap5_voltdm_wkup = { | ||
70 | .name = "wkup", | ||
71 | }; | ||
72 | |||
73 | static struct voltagedomain *voltagedomains_omap5[] __initdata = { | ||
74 | &omap5_voltdm_mpu, | ||
75 | &omap5_voltdm_mm, | ||
76 | &omap5_voltdm_core, | ||
77 | &omap5_voltdm_wkup, | ||
78 | NULL, | ||
79 | }; | ||
80 | |||
81 | static const char *sys_clk_name __initdata = "sys_clkin"; | ||
82 | |||
83 | void __init omap54xx_voltagedomains_init(void) | ||
84 | { | ||
85 | struct voltagedomain *voltdm; | ||
86 | int i; | ||
87 | |||
88 | for (i = 0; voltdm = voltagedomains_omap5[i], voltdm; i++) | ||
89 | voltdm->sys_clk.name = sys_clk_name; | ||
90 | |||
91 | voltdm_init(voltagedomains_omap5); | ||
92 | }; | ||